summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1631
-rw-r--r--INSTALL.windows9
-rw-r--r--Makefile.am23
-rw-r--r--Makefile.in321
-rw-r--r--NEWS23
-rw-r--r--README2
-rw-r--r--aclocal.m420
-rwxr-xr-xautogen.sh23
-rwxr-xr-xbuild-aux/config.guess62
-rwxr-xr-xbuild-aux/config.rpath2
-rwxr-xr-xbuild-aux/config.sub232
-rw-r--r--build-aux/git-log-fix3
-rwxr-xr-xbuild-aux/gitlog-to-changelog516
-rwxr-xr-xbuild-aux/run-test2
-rw-r--r--config.h.in996
-rwxr-xr-xconfigure27638
-rw-r--r--configure.ac18
-rw-r--r--debian/changelog14
-rw-r--r--debian/copyright12
-rw-r--r--debian/files1
-rw-r--r--debian/libunistring5.symbols51
-rw-r--r--debian/libunistring5.symbols.hurd-i386720
-rw-r--r--debian/patches/0100-float-endian-detection.patch63
-rw-r--r--debian/patches/series1
-rw-r--r--doc/Makefile.am8
-rw-r--r--doc/Makefile.in300
-rw-r--r--doc/libunistring.info691
-rw-r--r--doc/libunistring.texi51
-rw-r--r--doc/libunistring_1.html14
-rw-r--r--doc/libunistring_10.html105
-rw-r--r--doc/libunistring_11.html82
-rw-r--r--doc/libunistring_12.html50
-rw-r--r--doc/libunistring_13.html136
-rw-r--r--doc/libunistring_14.html199
-rw-r--r--doc/libunistring_15.html20
-rw-r--r--doc/libunistring_16.html74
-rw-r--r--doc/libunistring_17.html22
-rw-r--r--doc/libunistring_18.html27
-rw-r--r--doc/libunistring_19.html20
-rw-r--r--doc/libunistring_2.html31
-rw-r--r--doc/libunistring_20.html50
-rw-r--r--doc/libunistring_21.html786
-rw-r--r--doc/libunistring_22.html648
-rw-r--r--doc/libunistring_23.html190
-rw-r--r--doc/libunistring_3.html8
-rw-r--r--doc/libunistring_4.html224
-rw-r--r--doc/libunistring_5.html60
-rw-r--r--doc/libunistring_6.html126
-rw-r--r--doc/libunistring_7.html16
-rw-r--r--doc/libunistring_8.html1173
-rw-r--r--doc/libunistring_9.html38
-rw-r--r--doc/libunistring_abt.html10
-rw-r--r--doc/libunistring_fot.html72
-rw-r--r--doc/libunistring_toc.html90
-rw-r--r--doc/stamp-vti8
-rw-r--r--doc/unicase.texi7
-rw-r--r--doc/unictype.texi63
-rw-r--r--doc/unigbrk.texi15
-rw-r--r--doc/unistdio.texi2
-rw-r--r--doc/unistr.texi11
-rw-r--r--doc/version.texi8
-rw-r--r--doc/wchar_t.texi7
-rw-r--r--gnulib-local/Makefile.in292
-rw-r--r--gnulib-local/lib/unicase.in.h.diff8
-rw-r--r--gnulib-local/lib/unictype.in.h.diff9
-rw-r--r--gnulib-local/lib/uninorm.in.h.diff5
-rw-r--r--gnulib-m4/00gnulib.m412
-rw-r--r--gnulib-m4/__inline.m422
-rw-r--r--gnulib-m4/absolute-header.m46
-rw-r--r--gnulib-m4/alloca.m42
-rw-r--r--gnulib-m4/arpa_inet_h.m42
-rw-r--r--gnulib-m4/assert_h.m430
-rw-r--r--gnulib-m4/btowc.m484
-rw-r--r--gnulib-m4/builtin-expect.m42
-rw-r--r--gnulib-m4/c-bool.m42
-rw-r--r--gnulib-m4/c32rtomb.m488
-rw-r--r--gnulib-m4/calloc.m420
-rw-r--r--gnulib-m4/close.m46
-rw-r--r--gnulib-m4/codeset.m42
-rw-r--r--gnulib-m4/ctype_h.m42
-rw-r--r--gnulib-m4/double-slash-root.m42
-rw-r--r--gnulib-m4/dup2.m46
-rw-r--r--gnulib-m4/eealloc.m42
-rw-r--r--gnulib-m4/environ.m42
-rw-r--r--gnulib-m4/errno_h.m42
-rw-r--r--gnulib-m4/error.m413
-rw-r--r--gnulib-m4/error_h.m4124
-rw-r--r--gnulib-m4/exponentd.m46
-rw-r--r--gnulib-m4/exponentf.m46
-rw-r--r--gnulib-m4/exponentl.m411
-rw-r--r--gnulib-m4/extensions.m413
-rw-r--r--gnulib-m4/extern-inline.m46
-rw-r--r--gnulib-m4/fcntl-o.m410
-rw-r--r--gnulib-m4/fcntl.m42
-rw-r--r--gnulib-m4/fcntl_h.m42
-rw-r--r--gnulib-m4/fdopen.m48
-rw-r--r--gnulib-m4/flexmember.m42
-rw-r--r--gnulib-m4/float_h.m412
-rw-r--r--gnulib-m4/fpieee.m42
-rw-r--r--gnulib-m4/free.m42
-rw-r--r--gnulib-m4/frexp.m421
-rw-r--r--gnulib-m4/frexpl.m414
-rw-r--r--gnulib-m4/fseterr.m49
-rw-r--r--gnulib-m4/fstat.m48
-rw-r--r--gnulib-m4/ftruncate.m411
-rw-r--r--gnulib-m4/getcwd.m415
-rw-r--r--gnulib-m4/getdtablesize.m42
-rw-r--r--gnulib-m4/getpagesize.m46
-rw-r--r--gnulib-m4/getprogname.m423
-rw-r--r--gnulib-m4/gettimeofday.m46
-rw-r--r--gnulib-m4/gnulib-cache.m416
-rw-r--r--gnulib-m4/gnulib-common.m4712
-rw-r--r--gnulib-m4/gnulib-comp.m41244
-rw-r--r--gnulib-m4/host-cpu-c-abi.m4245
-rw-r--r--gnulib-m4/iconv.m416
-rw-r--r--gnulib-m4/iconv_h.m42
-rw-r--r--gnulib-m4/iconv_open.m47
-rw-r--r--gnulib-m4/include_next.m412
-rw-r--r--gnulib-m4/inet_pton.m48
-rw-r--r--gnulib-m4/inline.m42
-rw-r--r--gnulib-m4/intl-thread-locale.m439
-rw-r--r--gnulib-m4/intlmacosx.m418
-rw-r--r--gnulib-m4/intmax_t.m42
-rw-r--r--gnulib-m4/inttypes.m48
-rw-r--r--gnulib-m4/inttypes_h.m42
-rw-r--r--gnulib-m4/ioctl.m42
-rw-r--r--gnulib-m4/isblank.m42
-rw-r--r--gnulib-m4/isnand.m411
-rw-r--r--gnulib-m4/isnanf.m417
-rw-r--r--gnulib-m4/isnanl.m419
-rw-r--r--gnulib-m4/iswblank.m412
-rw-r--r--gnulib-m4/iswdigit.m419
-rw-r--r--gnulib-m4/iswpunct.m448
-rw-r--r--gnulib-m4/iswxdigit.m416
-rw-r--r--gnulib-m4/langinfo_h.m42
-rw-r--r--gnulib-m4/largefile.m4351
-rw-r--r--gnulib-m4/lcmessage.m42
-rw-r--r--gnulib-m4/ldexpl.m420
-rw-r--r--gnulib-m4/lib-ld.m414
-rw-r--r--gnulib-m4/lib-link.m434
-rw-r--r--gnulib-m4/lib-prefix.m429
-rw-r--r--gnulib-m4/libunistring-base.m455
-rw-r--r--gnulib-m4/limits-h.m425
-rw-r--r--gnulib-m4/localcharset.m42
-rw-r--r--gnulib-m4/locale-ar.m414
-rw-r--r--gnulib-m4/locale-fr.m4139
-rw-r--r--gnulib-m4/locale-ja.m414
-rw-r--r--gnulib-m4/locale-tr.m414
-rw-r--r--gnulib-m4/locale-zh.m414
-rw-r--r--gnulib-m4/locale_h.m410
-rw-r--r--gnulib-m4/localename.m428
-rw-r--r--gnulib-m4/lock.m42
-rw-r--r--gnulib-m4/lstat.m411
-rw-r--r--gnulib-m4/malloc.m413
-rw-r--r--gnulib-m4/malloca.m42
-rw-r--r--gnulib-m4/math_h.m419
-rw-r--r--gnulib-m4/mbchar.m42
-rw-r--r--gnulib-m4/mbiter.m42
-rw-r--r--gnulib-m4/mbrtoc32.m4266
-rw-r--r--gnulib-m4/mbrtowc.m4122
-rw-r--r--gnulib-m4/mbsinit.m46
-rw-r--r--gnulib-m4/mbstate_t.m42
-rw-r--r--gnulib-m4/mbtowc.m49
-rw-r--r--gnulib-m4/memchr.m416
-rw-r--r--gnulib-m4/minmax.m42
-rw-r--r--gnulib-m4/mmap-anon.m42
-rw-r--r--gnulib-m4/mode_t.m42
-rw-r--r--gnulib-m4/msvc-inval.m42
-rw-r--r--gnulib-m4/msvc-nothrow.m42
-rw-r--r--gnulib-m4/multiarch.m42
-rw-r--r--gnulib-m4/musl.m48
-rw-r--r--gnulib-m4/nan-mips.m489
-rw-r--r--gnulib-m4/nanosleep.m435
-rw-r--r--gnulib-m4/netinet_in_h.m42
-rw-r--r--gnulib-m4/nocrash.m42
-rw-r--r--gnulib-m4/off_t.m42
-rw-r--r--gnulib-m4/open-cloexec.m42
-rw-r--r--gnulib-m4/open-slash.m42
-rw-r--r--gnulib-m4/open.m46
-rw-r--r--gnulib-m4/pathmax.m42
-rw-r--r--gnulib-m4/perror.m423
-rw-r--r--gnulib-m4/pipe.m42
-rw-r--r--gnulib-m4/printf-frexp.m42
-rw-r--r--gnulib-m4/printf-frexpl.m42
-rw-r--r--gnulib-m4/printf.m4928
-rw-r--r--gnulib-m4/pselect.m46
-rw-r--r--gnulib-m4/pthread-thread.m46
-rw-r--r--gnulib-m4/pthread_h.m46
-rw-r--r--gnulib-m4/pthread_rwlock_rdlock.m442
-rw-r--r--gnulib-m4/pthread_sigmask.m436
-rw-r--r--gnulib-m4/putenv.m420
-rw-r--r--gnulib-m4/raise.m42
-rw-r--r--gnulib-m4/random.m479
-rw-r--r--gnulib-m4/random_r.m443
-rw-r--r--gnulib-m4/realloc.m411
-rw-r--r--gnulib-m4/reallocarray.m49
-rw-r--r--gnulib-m4/relocatable-lib.m46
-rw-r--r--gnulib-m4/sched_h.m42
-rw-r--r--gnulib-m4/sched_yield.m46
-rw-r--r--gnulib-m4/select.m415
-rw-r--r--gnulib-m4/semaphore.m48
-rw-r--r--gnulib-m4/setenv.m419
-rw-r--r--gnulib-m4/setlocale.m415
-rw-r--r--gnulib-m4/setlocale_null.m445
-rw-r--r--gnulib-m4/signal_h.m42
-rw-r--r--gnulib-m4/signalblocking.m42
-rw-r--r--gnulib-m4/signbit.m446
-rw-r--r--gnulib-m4/size_max.m42
-rw-r--r--gnulib-m4/sleep.m422
-rw-r--r--gnulib-m4/snan.m414
-rw-r--r--gnulib-m4/socketlib.m418
-rw-r--r--gnulib-m4/sockets.m42
-rw-r--r--gnulib-m4/socklen.m42
-rw-r--r--gnulib-m4/sockpfaf.m42
-rw-r--r--gnulib-m4/ssize_t.m430
-rw-r--r--gnulib-m4/stat-time.m42
-rw-r--r--gnulib-m4/stat.m414
-rw-r--r--gnulib-m4/stdalign.m4190
-rw-r--r--gnulib-m4/stddef_h.m428
-rw-r--r--gnulib-m4/stdint.m417
-rw-r--r--gnulib-m4/stdint_h.m42
-rw-r--r--gnulib-m4/stdio_h.m438
-rw-r--r--gnulib-m4/stdlib_h.m471
-rw-r--r--gnulib-m4/strerror.m432
-rw-r--r--gnulib-m4/strerror_r.m412
-rw-r--r--gnulib-m4/string_h.m413
-rw-r--r--gnulib-m4/strncat.m418
-rw-r--r--gnulib-m4/strstr.m42
-rw-r--r--gnulib-m4/symlink.m46
-rw-r--r--gnulib-m4/sys_ioctl_h.m42
-rw-r--r--gnulib-m4/sys_select_h.m42
-rw-r--r--gnulib-m4/sys_socket_h.m42
-rw-r--r--gnulib-m4/sys_stat_h.m42
-rw-r--r--gnulib-m4/sys_time_h.m42
-rw-r--r--gnulib-m4/sys_types_h.m42
-rw-r--r--gnulib-m4/sys_uio_h.m42
-rw-r--r--gnulib-m4/thread.m410
-rw-r--r--gnulib-m4/threadlib.m464
-rw-r--r--gnulib-m4/time.m455
-rw-r--r--gnulib-m4/time_h.m437
-rw-r--r--gnulib-m4/uchar_h.m4249
-rw-r--r--gnulib-m4/unicase_h.m443
-rw-r--r--gnulib-m4/unictype_h.m4176
-rw-r--r--gnulib-m4/unimetadata_h.m442
-rw-r--r--gnulib-m4/uninorm_h.m445
-rw-r--r--gnulib-m4/unistd_h.m410
-rw-r--r--gnulib-m4/usleep.m422
-rw-r--r--gnulib-m4/vasnprintf.m4206
-rw-r--r--gnulib-m4/visibility.m412
-rw-r--r--gnulib-m4/warn-on-use.m48
-rw-r--r--gnulib-m4/wchar_h.m419
-rw-r--r--gnulib-m4/wchar_t.m42
-rw-r--r--gnulib-m4/wcrtomb.m422
-rw-r--r--gnulib-m4/wctob.m46
-rw-r--r--gnulib-m4/wctomb.m42
-rw-r--r--gnulib-m4/wctype_h.m48
-rw-r--r--gnulib-m4/wcwidth.m422
-rw-r--r--gnulib-m4/wint_t.m42
-rw-r--r--gnulib-m4/xalloc.m42
-rw-r--r--gnulib-m4/xsize.m42
-rw-r--r--gnulib-m4/year2038.m4132
-rw-r--r--gnulib-m4/yield.m46
-rw-r--r--gnulib-m4/zzgnulib.m42
-rw-r--r--lib/Makefile.am8
-rw-r--r--lib/Makefile.gnulib737
-rw-r--r--lib/Makefile.in3914
-rw-r--r--lib/_Noreturn.h7
-rw-r--r--lib/alloca.in.h2
-rw-r--r--lib/amemxfrm.c2
-rw-r--r--lib/amemxfrm.h2
-rw-r--r--lib/arg-nonnull.h2
-rw-r--r--lib/array-mergesort.h2
-rw-r--r--lib/assert.in.h2
-rw-r--r--lib/attribute.h21
-rw-r--r--lib/c++defs.h8
-rw-r--r--lib/c-ctype.c2
-rw-r--r--lib/c-ctype.h6
-rw-r--r--lib/c-strcase.h7
-rw-r--r--lib/c-strcasecmp.c2
-rw-r--r--lib/c-strcaseeq.h2
-rw-r--r--lib/c-strncasecmp.c2
-rw-r--r--lib/c32is-impl.h105
-rw-r--r--lib/c32isalnum.c26
-rw-r--r--lib/c32isalpha.c26
-rw-r--r--lib/c32isblank.c26
-rw-r--r--lib/c32iscntrl.c26
-rw-r--r--lib/c32isdigit.c26
-rw-r--r--lib/c32isgraph.c26
-rw-r--r--lib/c32islower.c26
-rw-r--r--lib/c32isprint.c26
-rw-r--r--lib/c32ispunct.c26
-rw-r--r--lib/c32isspace.c26
-rw-r--r--lib/c32isupper.c26
-rw-r--r--lib/c32isxdigit.c26
-rw-r--r--lib/c32to-impl.h92
-rw-r--r--lib/c32tolower.c26
-rw-r--r--lib/c32width.c102
-rwxr-xr-xlib/declared.sh2
-rw-r--r--lib/errno.in.h2
-rw-r--r--lib/flexmember.h20
-rw-r--r--lib/float+.h2
-rw-r--r--lib/float.c2
-rw-r--r--lib/float.in.h2
-rw-r--r--lib/fpucw.h2
-rw-r--r--lib/free.c2
-rw-r--r--lib/frexp.c2
-rw-r--r--lib/frexpl.c2
-rw-r--r--lib/fseterr.c2
-rw-r--r--lib/fseterr.h7
-rw-r--r--lib/glthread/lock.c2
-rw-r--r--lib/glthread/lock.h10
-rw-r--r--lib/glthread/threadlib.c2
-rw-r--r--lib/hard-locale.c16
-rw-r--r--lib/hard-locale.h6
-rw-r--r--lib/iconv.c2
-rw-r--r--lib/iconv.in.h7
-rw-r--r--lib/iconv_close.c2
-rw-r--r--lib/iconv_open-aix.gperf2
-rw-r--r--lib/iconv_open-aix.h70
-rw-r--r--lib/iconv_open-hpux.gperf2
-rw-r--r--lib/iconv_open-hpux.h94
-rw-r--r--lib/iconv_open-irix.gperf2
-rw-r--r--lib/iconv_open-irix.h44
-rw-r--r--lib/iconv_open-osf.gperf2
-rw-r--r--lib/iconv_open-osf.h82
-rw-r--r--lib/iconv_open-solaris.gperf2
-rw-r--r--lib/iconv_open-solaris.h37
-rw-r--r--lib/iconv_open-zos.gperf2
-rw-r--r--lib/iconv_open-zos.h109
-rw-r--r--lib/iconv_open.c2
-rw-r--r--lib/iconveh.h2
-rw-r--r--lib/idx.h2
-rw-r--r--lib/intprops-internal.h7
-rw-r--r--lib/inttypes.in.h41
-rw-r--r--lib/isnan.c7
-rw-r--r--lib/isnand-nolibm.h7
-rw-r--r--lib/isnand.c2
-rw-r--r--lib/isnanf-nolibm.h7
-rw-r--r--lib/isnanf.c2
-rw-r--r--lib/isnanl-nolibm.h7
-rw-r--r--lib/isnanl.c2
-rw-r--r--lib/iswblank.c2
-rw-r--r--lib/iswdigit.c2
-rw-r--r--lib/iswpunct.c33
-rw-r--r--lib/iswxdigit.c2
-rw-r--r--lib/itold.c2
-rw-r--r--lib/langinfo.in.h9
-rw-r--r--lib/lc-charset-dispatch.c2
-rw-r--r--lib/lc-charset-dispatch.h2
-rw-r--r--lib/libunistring.sym15
-rw-r--r--lib/limits.in.h36
-rw-r--r--lib/localcharset.c4
-rw-r--r--lib/localcharset.h6
-rw-r--r--lib/locale.in.h37
-rw-r--r--lib/localename-table.c2
-rw-r--r--lib/localename-table.h2
-rw-r--r--lib/localename-unsafe.c3466
-rw-r--r--lib/localename.c3415
-rw-r--r--lib/localename.h20
-rw-r--r--lib/malloc.c2
-rw-r--r--lib/malloca.c41
-rw-r--r--lib/malloca.h35
-rw-r--r--lib/math.c4
-rw-r--r--lib/math.in.h166
-rw-r--r--lib/mbchar.c16
-rw-r--r--lib/mbchar.h165
-rw-r--r--lib/mbiter.h217
-rw-r--r--lib/mbiterf.c (renamed from lib/mbiter.c)6
-rw-r--r--lib/mbiterf.h204
-rw-r--r--lib/mbrtoc32.c288
-rw-r--r--lib/mbrtowc-impl-utf8.h2
-rw-r--r--lib/mbrtowc-impl.h2
-rw-r--r--lib/mbrtowc.c8
-rw-r--r--lib/mbsinit.c4
-rw-r--r--lib/mbsnlen.c27
-rw-r--r--lib/mbszero.c23
-rw-r--r--lib/mbtowc-lock.c19
-rw-r--r--lib/mbtowc-lock.h6
-rw-r--r--lib/memchr.c2
-rw-r--r--lib/memchr.valgrind2
-rw-r--r--lib/memcmp2.c2
-rw-r--r--lib/memcmp2.h7
-rw-r--r--lib/minmax.h7
-rw-r--r--lib/printf-args.c125
-rw-r--r--lib/printf-args.h61
-rw-r--r--lib/printf-frexp.c2
-rw-r--r--lib/printf-frexp.h2
-rw-r--r--lib/printf-frexpl.c2
-rw-r--r--lib/printf-frexpl.h2
-rw-r--r--lib/printf-parse.c502
-rw-r--r--lib/printf-parse.h10
-rw-r--r--lib/relocatable.c2
-rw-r--r--lib/relocatable.h34
-rw-r--r--lib/relocatable.valgrind2
-rw-r--r--lib/setlocale-lock.c19
-rw-r--r--lib/setlocale_null-unlocked.c149
-rw-r--r--lib/setlocale_null.c176
-rw-r--r--lib/setlocale_null.h30
-rw-r--r--lib/signbitd.c2
-rw-r--r--lib/signbitf.c2
-rw-r--r--lib/signbitl.c2
-rw-r--r--lib/size_max.h7
-rw-r--r--lib/stdckdint.in.h2
-rw-r--r--lib/stddef.in.h78
-rw-r--r--lib/stdint.in.h4
-rw-r--r--lib/stdio-impl.h10
-rw-r--r--lib/stdlib.in.h374
-rw-r--r--lib/str-kmp.h161
-rw-r--r--lib/str-two-way.h2
-rw-r--r--lib/streq.h2
-rw-r--r--lib/striconveh.c29
-rw-r--r--lib/striconveh.h7
-rw-r--r--lib/striconveha.c51
-rw-r--r--lib/striconveha.h7
-rw-r--r--lib/string.in.h222
-rw-r--r--lib/strncat.c2
-rw-r--r--lib/strstr.c2
-rw-r--r--lib/struniq.h119
-rw-r--r--lib/sys_types.in.h9
-rw-r--r--lib/thread-optim.h7
-rw-r--r--lib/uchar.in.h910
-rw-r--r--lib/unicase.in.h38
-rw-r--r--lib/unicase/cased.c2
-rw-r--r--lib/unicase/cased.h4
-rw-r--r--lib/unicase/casefold.h2
-rw-r--r--lib/unicase/caseprop.h2
-rw-r--r--lib/unicase/context.h2
-rw-r--r--lib/unicase/empty-prefix-context.c2
-rw-r--r--lib/unicase/empty-suffix-context.c2
-rw-r--r--lib/unicase/ignorable.c2
-rw-r--r--lib/unicase/ignorable.h4
-rw-r--r--lib/unicase/invariant.h2
-rw-r--r--lib/unicase/locale-language.c2
-rw-r--r--lib/unicase/locale-languages.gperf2
-rw-r--r--lib/unicase/locale-languages.h4
-rw-r--r--lib/unicase/simple-mapping.h26
-rw-r--r--lib/unicase/special-casing-table.gperf4
-rw-r--r--lib/unicase/special-casing.c2
-rw-r--r--lib/unicase/special-casing.in.h2
-rw-r--r--lib/unicase/tocasefold.c2
-rw-r--r--lib/unicase/tocasefold.h4
-rw-r--r--lib/unicase/tolower.c26
-rw-r--r--lib/unicase/tolower.h28
-rw-r--r--lib/unicase/totitle.c2
-rw-r--r--lib/unicase/totitle.h4
-rw-r--r--lib/unicase/toupper.c26
-rw-r--r--lib/unicase/toupper.h28
-rw-r--r--lib/unicase/u-casecmp.h2
-rw-r--r--lib/unicase/u-casecoll.h2
-rw-r--r--lib/unicase/u-casefold.h2
-rw-r--r--lib/unicase/u-casemap.h2
-rw-r--r--lib/unicase/u-casexfrm.h2
-rw-r--r--lib/unicase/u-ct-casefold.h2
-rw-r--r--lib/unicase/u-ct-totitle.h2
-rw-r--r--lib/unicase/u-is-cased.h2
-rw-r--r--lib/unicase/u-is-invariant.h2
-rw-r--r--lib/unicase/u-prefix-context.h2
-rw-r--r--lib/unicase/u-suffix-context.h2
-rw-r--r--lib/unicase/u-totitle.h2
-rw-r--r--lib/unicase/u16-casecmp.c2
-rw-r--r--lib/unicase/u16-casecoll.c2
-rw-r--r--lib/unicase/u16-casefold.c2
-rw-r--r--lib/unicase/u16-casemap.c2
-rw-r--r--lib/unicase/u16-casexfrm.c2
-rw-r--r--lib/unicase/u16-ct-casefold.c2
-rw-r--r--lib/unicase/u16-ct-tolower.c2
-rw-r--r--lib/unicase/u16-ct-totitle.c2
-rw-r--r--lib/unicase/u16-ct-toupper.c2
-rw-r--r--lib/unicase/u16-is-cased.c2
-rw-r--r--lib/unicase/u16-is-casefolded.c2
-rw-r--r--lib/unicase/u16-is-invariant.c2
-rw-r--r--lib/unicase/u16-is-lowercase.c2
-rw-r--r--lib/unicase/u16-is-titlecase.c2
-rw-r--r--lib/unicase/u16-is-uppercase.c2
-rw-r--r--lib/unicase/u16-prefix-context.c2
-rw-r--r--lib/unicase/u16-suffix-context.c2
-rw-r--r--lib/unicase/u16-tolower.c2
-rw-r--r--lib/unicase/u16-totitle.c2
-rw-r--r--lib/unicase/u16-toupper.c2
-rw-r--r--lib/unicase/u32-casecmp.c2
-rw-r--r--lib/unicase/u32-casecoll.c2
-rw-r--r--lib/unicase/u32-casefold.c2
-rw-r--r--lib/unicase/u32-casemap.c2
-rw-r--r--lib/unicase/u32-casexfrm.c2
-rw-r--r--lib/unicase/u32-ct-casefold.c2
-rw-r--r--lib/unicase/u32-ct-tolower.c2
-rw-r--r--lib/unicase/u32-ct-totitle.c2
-rw-r--r--lib/unicase/u32-ct-toupper.c2
-rw-r--r--lib/unicase/u32-is-cased.c2
-rw-r--r--lib/unicase/u32-is-casefolded.c2
-rw-r--r--lib/unicase/u32-is-invariant.c2
-rw-r--r--lib/unicase/u32-is-lowercase.c2
-rw-r--r--lib/unicase/u32-is-titlecase.c2
-rw-r--r--lib/unicase/u32-is-uppercase.c2
-rw-r--r--lib/unicase/u32-prefix-context.c2
-rw-r--r--lib/unicase/u32-suffix-context.c2
-rw-r--r--lib/unicase/u32-tolower.c2
-rw-r--r--lib/unicase/u32-totitle.c2
-rw-r--r--lib/unicase/u32-toupper.c2
-rw-r--r--lib/unicase/u8-casecmp.c2
-rw-r--r--lib/unicase/u8-casecoll.c2
-rw-r--r--lib/unicase/u8-casefold.c2
-rw-r--r--lib/unicase/u8-casemap.c2
-rw-r--r--lib/unicase/u8-casexfrm.c2
-rw-r--r--lib/unicase/u8-ct-casefold.c2
-rw-r--r--lib/unicase/u8-ct-tolower.c2
-rw-r--r--lib/unicase/u8-ct-totitle.c2
-rw-r--r--lib/unicase/u8-ct-toupper.c2
-rw-r--r--lib/unicase/u8-is-cased.c2
-rw-r--r--lib/unicase/u8-is-casefolded.c2
-rw-r--r--lib/unicase/u8-is-invariant.c2
-rw-r--r--lib/unicase/u8-is-lowercase.c2
-rw-r--r--lib/unicase/u8-is-titlecase.c2
-rw-r--r--lib/unicase/u8-is-uppercase.c2
-rw-r--r--lib/unicase/u8-prefix-context.c2
-rw-r--r--lib/unicase/u8-suffix-context.c2
-rw-r--r--lib/unicase/u8-tolower.c2
-rw-r--r--lib/unicase/u8-totitle.c2
-rw-r--r--lib/unicase/u8-toupper.c2
-rw-r--r--lib/unicase/ulc-casecmp.c2
-rw-r--r--lib/unicase/ulc-casecoll.c2
-rw-r--r--lib/unicase/ulc-casexfrm.c2
-rw-r--r--lib/unicase/unicasemap.h2
-rw-r--r--lib/uniconv.in.h2
-rw-r--r--lib/uniconv/u-conv-from-enc.h2
-rw-r--r--lib/uniconv/u-conv-to-enc.h2
-rw-r--r--lib/uniconv/u-strconv-from-enc.h2
-rw-r--r--lib/uniconv/u-strconv-to-enc.h2
-rw-r--r--lib/uniconv/u16-conv-from-enc.c5
-rw-r--r--lib/uniconv/u16-conv-to-enc.c5
-rw-r--r--lib/uniconv/u16-strconv-from-enc.c2
-rw-r--r--lib/uniconv/u16-strconv-from-locale.c2
-rw-r--r--lib/uniconv/u16-strconv-to-enc.c5
-rw-r--r--lib/uniconv/u16-strconv-to-locale.c2
-rw-r--r--lib/uniconv/u32-conv-from-enc.c4
-rw-r--r--lib/uniconv/u32-conv-to-enc.c4
-rw-r--r--lib/uniconv/u32-strconv-from-enc.c2
-rw-r--r--lib/uniconv/u32-strconv-from-locale.c2
-rw-r--r--lib/uniconv/u32-strconv-to-enc.c4
-rw-r--r--lib/uniconv/u32-strconv-to-locale.c2
-rw-r--r--lib/uniconv/u8-conv-from-enc.c2
-rw-r--r--lib/uniconv/u8-conv-to-enc.c2
-rw-r--r--lib/uniconv/u8-strconv-from-enc.c2
-rw-r--r--lib/uniconv/u8-strconv-from-locale.c2
-rw-r--r--lib/uniconv/u8-strconv-to-enc.c2
-rw-r--r--lib/uniconv/u8-strconv-to-locale.c2
-rw-r--r--lib/unictype.in.h319
-rw-r--r--lib/unictype/bidi_byname.c2
-rw-r--r--lib/unictype/bidi_byname.gperf2
-rw-r--r--lib/unictype/bidi_byname.h142
-rw-r--r--lib/unictype/bidi_longname.c2
-rw-r--r--lib/unictype/bidi_name.c2
-rw-r--r--lib/unictype/bidi_of.c2
-rw-r--r--lib/unictype/bidi_of.h8
-rw-r--r--lib/unictype/bidi_test.c2
-rw-r--r--lib/unictype/bitmap.h2
-rw-r--r--lib/unictype/block_test.c2
-rw-r--r--lib/unictype/blocks.c2
-rw-r--r--lib/unictype/blocks.h7
-rw-r--r--lib/unictype/categ_C.c2
-rw-r--r--lib/unictype/categ_C.h28
-rw-r--r--lib/unictype/categ_Cc.c2
-rw-r--r--lib/unictype/categ_Cc.h4
-rw-r--r--lib/unictype/categ_Cf.c2
-rw-r--r--lib/unictype/categ_Cf.h4
-rw-r--r--lib/unictype/categ_Cn.c2
-rw-r--r--lib/unictype/categ_Cn.h30
-rw-r--r--lib/unictype/categ_Co.c2
-rw-r--r--lib/unictype/categ_Co.h4
-rw-r--r--lib/unictype/categ_Cs.c2
-rw-r--r--lib/unictype/categ_Cs.h4
-rw-r--r--lib/unictype/categ_L.c2
-rw-r--r--lib/unictype/categ_L.h22
-rw-r--r--lib/unictype/categ_LC.c2
-rw-r--r--lib/unictype/categ_LC.h4
-rw-r--r--lib/unictype/categ_Ll.c2
-rw-r--r--lib/unictype/categ_Ll.h4
-rw-r--r--lib/unictype/categ_Lm.c2
-rw-r--r--lib/unictype/categ_Lm.h4
-rw-r--r--lib/unictype/categ_Lo.c2
-rw-r--r--lib/unictype/categ_Lo.h22
-rw-r--r--lib/unictype/categ_Lt.c2
-rw-r--r--lib/unictype/categ_Lt.h4
-rw-r--r--lib/unictype/categ_Lu.c2
-rw-r--r--lib/unictype/categ_Lu.h4
-rw-r--r--lib/unictype/categ_M.c2
-rw-r--r--lib/unictype/categ_M.h4
-rw-r--r--lib/unictype/categ_Mc.c2
-rw-r--r--lib/unictype/categ_Mc.h4
-rw-r--r--lib/unictype/categ_Me.c2
-rw-r--r--lib/unictype/categ_Me.h4
-rw-r--r--lib/unictype/categ_Mn.c2
-rw-r--r--lib/unictype/categ_Mn.h4
-rw-r--r--lib/unictype/categ_N.c2
-rw-r--r--lib/unictype/categ_N.h4
-rw-r--r--lib/unictype/categ_Nd.c2
-rw-r--r--lib/unictype/categ_Nd.h4
-rw-r--r--lib/unictype/categ_Nl.c2
-rw-r--r--lib/unictype/categ_Nl.h4
-rw-r--r--lib/unictype/categ_No.c2
-rw-r--r--lib/unictype/categ_No.h4
-rw-r--r--lib/unictype/categ_P.c2
-rw-r--r--lib/unictype/categ_P.h4
-rw-r--r--lib/unictype/categ_Pc.c2
-rw-r--r--lib/unictype/categ_Pc.h4
-rw-r--r--lib/unictype/categ_Pd.c2
-rw-r--r--lib/unictype/categ_Pd.h4
-rw-r--r--lib/unictype/categ_Pe.c2
-rw-r--r--lib/unictype/categ_Pe.h4
-rw-r--r--lib/unictype/categ_Pf.c2
-rw-r--r--lib/unictype/categ_Pf.h4
-rw-r--r--lib/unictype/categ_Pi.c2
-rw-r--r--lib/unictype/categ_Pi.h4
-rw-r--r--lib/unictype/categ_Po.c2
-rw-r--r--lib/unictype/categ_Po.h4
-rw-r--r--lib/unictype/categ_Ps.c2
-rw-r--r--lib/unictype/categ_Ps.h4
-rw-r--r--lib/unictype/categ_S.c2
-rw-r--r--lib/unictype/categ_S.h8
-rw-r--r--lib/unictype/categ_Sc.c2
-rw-r--r--lib/unictype/categ_Sc.h4
-rw-r--r--lib/unictype/categ_Sk.c2
-rw-r--r--lib/unictype/categ_Sk.h4
-rw-r--r--lib/unictype/categ_Sm.c2
-rw-r--r--lib/unictype/categ_Sm.h4
-rw-r--r--lib/unictype/categ_So.c2
-rw-r--r--lib/unictype/categ_So.h8
-rw-r--r--lib/unictype/categ_Z.c2
-rw-r--r--lib/unictype/categ_Z.h4
-rw-r--r--lib/unictype/categ_Zl.c2
-rw-r--r--lib/unictype/categ_Zl.h4
-rw-r--r--lib/unictype/categ_Zp.c2
-rw-r--r--lib/unictype/categ_Zp.h4
-rw-r--r--lib/unictype/categ_Zs.c2
-rw-r--r--lib/unictype/categ_Zs.h4
-rw-r--r--lib/unictype/categ_and.c2
-rw-r--r--lib/unictype/categ_and_not.c2
-rw-r--r--lib/unictype/categ_byname.c2
-rw-r--r--lib/unictype/categ_byname.gperf2
-rw-r--r--lib/unictype/categ_byname.h210
-rw-r--r--lib/unictype/categ_longname.c2
-rw-r--r--lib/unictype/categ_name.c2
-rw-r--r--lib/unictype/categ_none.c4
-rw-r--r--lib/unictype/categ_of.c2
-rw-r--r--lib/unictype/categ_of.h27
-rw-r--r--lib/unictype/categ_or.c2
-rw-r--r--lib/unictype/categ_test.c2
-rw-r--r--lib/unictype/combiningclass.c2
-rw-r--r--lib/unictype/combiningclass.h4
-rw-r--r--lib/unictype/combiningclass_byname.c2
-rw-r--r--lib/unictype/combiningclass_byname.gperf2
-rw-r--r--lib/unictype/combiningclass_byname.h110
-rw-r--r--lib/unictype/combiningclass_longname.c2
-rw-r--r--lib/unictype/combiningclass_name.c2
-rw-r--r--lib/unictype/ctype_alnum.c26
-rw-r--r--lib/unictype/ctype_alnum.h46
-rw-r--r--lib/unictype/ctype_alpha.c26
-rw-r--r--lib/unictype/ctype_alpha.h46
-rw-r--r--lib/unictype/ctype_blank.c26
-rw-r--r--lib/unictype/ctype_blank.h28
-rw-r--r--lib/unictype/ctype_cntrl.c26
-rw-r--r--lib/unictype/ctype_cntrl.h28
-rw-r--r--lib/unictype/ctype_digit.c26
-rw-r--r--lib/unictype/ctype_digit.h28
-rw-r--r--lib/unictype/ctype_graph.c26
-rw-r--r--lib/unictype/ctype_graph.h54
-rw-r--r--lib/unictype/ctype_lower.c26
-rw-r--r--lib/unictype/ctype_lower.h28
-rw-r--r--lib/unictype/ctype_print.c26
-rw-r--r--lib/unictype/ctype_print.h54
-rw-r--r--lib/unictype/ctype_punct.c26
-rw-r--r--lib/unictype/ctype_punct.h32
-rw-r--r--lib/unictype/ctype_space.c26
-rw-r--r--lib/unictype/ctype_space.h28
-rw-r--r--lib/unictype/ctype_upper.c26
-rw-r--r--lib/unictype/ctype_upper.h28
-rw-r--r--lib/unictype/ctype_xdigit.c26
-rw-r--r--lib/unictype/ctype_xdigit.h28
-rw-r--r--lib/unictype/decdigit.c2
-rw-r--r--lib/unictype/decdigit.h4
-rw-r--r--lib/unictype/digit.c2
-rw-r--r--lib/unictype/digit.h4
-rw-r--r--lib/unictype/identsyntaxmap.h2
-rw-r--r--lib/unictype/incb_byname.c72
-rw-r--r--lib/unictype/incb_byname.gperf40
-rw-r--r--lib/unictype/incb_byname.h176
-rw-r--r--lib/unictype/incb_name.c45
-rw-r--r--lib/unictype/incb_name.h29
-rw-r--r--lib/unictype/incb_of.c56
-rw-r--r--lib/unictype/incb_of.h226
-rw-r--r--lib/unictype/joininggroup_byname.c2
-rw-r--r--lib/unictype/joininggroup_byname.gperf2
-rw-r--r--lib/unictype/joininggroup_byname.h324
-rw-r--r--lib/unictype/joininggroup_name.c2
-rw-r--r--lib/unictype/joininggroup_name.h2
-rw-r--r--lib/unictype/joininggroup_of.c2
-rw-r--r--lib/unictype/joininggroup_of.h4
-rw-r--r--lib/unictype/joiningtype_byname.c2
-rw-r--r--lib/unictype/joiningtype_byname.gperf2
-rw-r--r--lib/unictype/joiningtype_byname.h38
-rw-r--r--lib/unictype/joiningtype_longname.c2
-rw-r--r--lib/unictype/joiningtype_name.c2
-rw-r--r--lib/unictype/joiningtype_of.c2
-rw-r--r--lib/unictype/joiningtype_of.h4
-rw-r--r--lib/unictype/mirror.c2
-rw-r--r--lib/unictype/mirror.h162
-rw-r--r--lib/unictype/numeric.c2
-rw-r--r--lib/unictype/numeric.h4
-rw-r--r--lib/unictype/pr_alphabetic.c2
-rw-r--r--lib/unictype/pr_alphabetic.h22
-rw-r--r--lib/unictype/pr_ascii_hex_digit.c2
-rw-r--r--lib/unictype/pr_ascii_hex_digit.h4
-rw-r--r--lib/unictype/pr_bidi_arabic_digit.c2
-rw-r--r--lib/unictype/pr_bidi_arabic_digit.h4
-rw-r--r--lib/unictype/pr_bidi_arabic_right_to_left.c2
-rw-r--r--lib/unictype/pr_bidi_arabic_right_to_left.h4
-rw-r--r--lib/unictype/pr_bidi_block_separator.c2
-rw-r--r--lib/unictype/pr_bidi_block_separator.h4
-rw-r--r--lib/unictype/pr_bidi_boundary_neutral.c2
-rw-r--r--lib/unictype/pr_bidi_boundary_neutral.h4
-rw-r--r--lib/unictype/pr_bidi_common_separator.c2
-rw-r--r--lib/unictype/pr_bidi_common_separator.h4
-rw-r--r--lib/unictype/pr_bidi_control.c2
-rw-r--r--lib/unictype/pr_bidi_control.h4
-rw-r--r--lib/unictype/pr_bidi_embedding_or_override.c2
-rw-r--r--lib/unictype/pr_bidi_embedding_or_override.h4
-rw-r--r--lib/unictype/pr_bidi_eur_num_separator.c2
-rw-r--r--lib/unictype/pr_bidi_eur_num_separator.h4
-rw-r--r--lib/unictype/pr_bidi_eur_num_terminator.c2
-rw-r--r--lib/unictype/pr_bidi_eur_num_terminator.h4
-rw-r--r--lib/unictype/pr_bidi_european_digit.c2
-rw-r--r--lib/unictype/pr_bidi_european_digit.h4
-rw-r--r--lib/unictype/pr_bidi_hebrew_right_to_left.c2
-rw-r--r--lib/unictype/pr_bidi_hebrew_right_to_left.h4
-rw-r--r--lib/unictype/pr_bidi_left_to_right.c2
-rw-r--r--lib/unictype/pr_bidi_left_to_right.h8
-rw-r--r--lib/unictype/pr_bidi_non_spacing_mark.c2
-rw-r--r--lib/unictype/pr_bidi_non_spacing_mark.h4
-rw-r--r--lib/unictype/pr_bidi_other_neutral.c2
-rw-r--r--lib/unictype/pr_bidi_other_neutral.h8
-rw-r--r--lib/unictype/pr_bidi_pdf.c2
-rw-r--r--lib/unictype/pr_bidi_pdf.h4
-rw-r--r--lib/unictype/pr_bidi_segment_separator.c2
-rw-r--r--lib/unictype/pr_bidi_segment_separator.h4
-rw-r--r--lib/unictype/pr_bidi_whitespace.c2
-rw-r--r--lib/unictype/pr_bidi_whitespace.h4
-rw-r--r--lib/unictype/pr_byname.c14
-rw-r--r--lib/unictype/pr_byname.gperf13
-rw-r--r--lib/unictype/pr_byname.h1565
-rw-r--r--lib/unictype/pr_case_ignorable.c2
-rw-r--r--lib/unictype/pr_case_ignorable.h4
-rw-r--r--lib/unictype/pr_cased.c2
-rw-r--r--lib/unictype/pr_cased.h4
-rw-r--r--lib/unictype/pr_changes_when_casefolded.c2
-rw-r--r--lib/unictype/pr_changes_when_casefolded.h4
-rw-r--r--lib/unictype/pr_changes_when_casemapped.c2
-rw-r--r--lib/unictype/pr_changes_when_casemapped.h4
-rw-r--r--lib/unictype/pr_changes_when_lowercased.c2
-rw-r--r--lib/unictype/pr_changes_when_lowercased.h4
-rw-r--r--lib/unictype/pr_changes_when_titlecased.c2
-rw-r--r--lib/unictype/pr_changes_when_titlecased.h4
-rw-r--r--lib/unictype/pr_changes_when_uppercased.c2
-rw-r--r--lib/unictype/pr_changes_when_uppercased.h4
-rw-r--r--lib/unictype/pr_combining.c2
-rw-r--r--lib/unictype/pr_combining.h4
-rw-r--r--lib/unictype/pr_composite.c2
-rw-r--r--lib/unictype/pr_composite.h4
-rw-r--r--lib/unictype/pr_currency_symbol.c2
-rw-r--r--lib/unictype/pr_currency_symbol.h4
-rw-r--r--lib/unictype/pr_dash.c2
-rw-r--r--lib/unictype/pr_dash.h4
-rw-r--r--lib/unictype/pr_decimal_digit.c2
-rw-r--r--lib/unictype/pr_decimal_digit.h4
-rw-r--r--lib/unictype/pr_default_ignorable_code_point.c2
-rw-r--r--lib/unictype/pr_default_ignorable_code_point.h4
-rw-r--r--lib/unictype/pr_deprecated.c2
-rw-r--r--lib/unictype/pr_deprecated.h4
-rw-r--r--lib/unictype/pr_diacritic.c2
-rw-r--r--lib/unictype/pr_diacritic.h4
-rw-r--r--lib/unictype/pr_emoji.c2
-rw-r--r--lib/unictype/pr_emoji.h4
-rw-r--r--lib/unictype/pr_emoji_component.c2
-rw-r--r--lib/unictype/pr_emoji_component.h4
-rw-r--r--lib/unictype/pr_emoji_modifier.c2
-rw-r--r--lib/unictype/pr_emoji_modifier.h4
-rw-r--r--lib/unictype/pr_emoji_modifier_base.c2
-rw-r--r--lib/unictype/pr_emoji_modifier_base.h4
-rw-r--r--lib/unictype/pr_emoji_presentation.c2
-rw-r--r--lib/unictype/pr_emoji_presentation.h4
-rw-r--r--lib/unictype/pr_extended_pictographic.c2
-rw-r--r--lib/unictype/pr_extended_pictographic.h4
-rw-r--r--lib/unictype/pr_extender.c2
-rw-r--r--lib/unictype/pr_extender.h4
-rw-r--r--lib/unictype/pr_format_control.c2
-rw-r--r--lib/unictype/pr_format_control.h4
-rw-r--r--lib/unictype/pr_grapheme_base.c2
-rw-r--r--lib/unictype/pr_grapheme_base.h26
-rw-r--r--lib/unictype/pr_grapheme_extend.c2
-rw-r--r--lib/unictype/pr_grapheme_extend.h4
-rw-r--r--lib/unictype/pr_grapheme_link.c2
-rw-r--r--lib/unictype/pr_grapheme_link.h4
-rw-r--r--lib/unictype/pr_hex_digit.c2
-rw-r--r--lib/unictype/pr_hex_digit.h4
-rw-r--r--lib/unictype/pr_hyphen.c2
-rw-r--r--lib/unictype/pr_hyphen.h4
-rw-r--r--lib/unictype/pr_id_compat_math_continue.c43
-rw-r--r--lib/unictype/pr_id_compat_math_continue.h323
-rw-r--r--lib/unictype/pr_id_compat_math_start.c43
-rw-r--r--lib/unictype/pr_id_compat_math_start.h315
-rw-r--r--lib/unictype/pr_id_continue.c2
-rw-r--r--lib/unictype/pr_id_continue.h30
-rw-r--r--lib/unictype/pr_id_start.c2
-rw-r--r--lib/unictype/pr_id_start.h22
-rw-r--r--lib/unictype/pr_ideographic.c2
-rw-r--r--lib/unictype/pr_ideographic.h22
-rw-r--r--lib/unictype/pr_ids_binary_operator.c2
-rw-r--r--lib/unictype/pr_ids_binary_operator.h14
-rw-r--r--lib/unictype/pr_ids_trinary_operator.c2
-rw-r--r--lib/unictype/pr_ids_trinary_operator.h4
-rw-r--r--lib/unictype/pr_ids_unary_operator.c38
-rw-r--r--lib/unictype/pr_ignorable_control.c2
-rw-r--r--lib/unictype/pr_ignorable_control.h4
-rw-r--r--lib/unictype/pr_iso_control.c2
-rw-r--r--lib/unictype/pr_iso_control.h4
-rw-r--r--lib/unictype/pr_join_control.c2
-rw-r--r--lib/unictype/pr_join_control.h4
-rw-r--r--lib/unictype/pr_left_of_pair.c2
-rw-r--r--lib/unictype/pr_left_of_pair.h4
-rw-r--r--lib/unictype/pr_line_separator.c2
-rw-r--r--lib/unictype/pr_line_separator.h4
-rw-r--r--lib/unictype/pr_logical_order_exception.c2
-rw-r--r--lib/unictype/pr_logical_order_exception.h4
-rw-r--r--lib/unictype/pr_lowercase.c2
-rw-r--r--lib/unictype/pr_lowercase.h4
-rw-r--r--lib/unictype/pr_math.c2
-rw-r--r--lib/unictype/pr_math.h4
-rw-r--r--lib/unictype/pr_non_break.c2
-rw-r--r--lib/unictype/pr_non_break.h4
-rw-r--r--lib/unictype/pr_not_a_character.c2
-rw-r--r--lib/unictype/pr_not_a_character.h4
-rw-r--r--lib/unictype/pr_numeric.c2
-rw-r--r--lib/unictype/pr_numeric.h4
-rw-r--r--lib/unictype/pr_other_alphabetic.c2
-rw-r--r--lib/unictype/pr_other_alphabetic.h4
-rw-r--r--lib/unictype/pr_other_default_ignorable_code_point.c2
-rw-r--r--lib/unictype/pr_other_default_ignorable_code_point.h4
-rw-r--r--lib/unictype/pr_other_grapheme_extend.c2
-rw-r--r--lib/unictype/pr_other_grapheme_extend.h4
-rw-r--r--lib/unictype/pr_other_id_continue.c2
-rw-r--r--lib/unictype/pr_other_id_continue.h26
-rw-r--r--lib/unictype/pr_other_id_start.c2
-rw-r--r--lib/unictype/pr_other_id_start.h4
-rw-r--r--lib/unictype/pr_other_lowercase.c2
-rw-r--r--lib/unictype/pr_other_lowercase.h4
-rw-r--r--lib/unictype/pr_other_math.c2
-rw-r--r--lib/unictype/pr_other_math.h4
-rw-r--r--lib/unictype/pr_other_uppercase.c2
-rw-r--r--lib/unictype/pr_other_uppercase.h4
-rw-r--r--lib/unictype/pr_paired_punctuation.c2
-rw-r--r--lib/unictype/pr_paired_punctuation.h4
-rw-r--r--lib/unictype/pr_paragraph_separator.c2
-rw-r--r--lib/unictype/pr_paragraph_separator.h4
-rw-r--r--lib/unictype/pr_pattern_syntax.c2
-rw-r--r--lib/unictype/pr_pattern_syntax.h4
-rw-r--r--lib/unictype/pr_pattern_white_space.c2
-rw-r--r--lib/unictype/pr_pattern_white_space.h4
-rw-r--r--lib/unictype/pr_prepended_concatenation_mark.c43
-rw-r--r--lib/unictype/pr_prepended_concatenation_mark.h319
-rw-r--r--lib/unictype/pr_private_use.c2
-rw-r--r--lib/unictype/pr_private_use.h4
-rw-r--r--lib/unictype/pr_punctuation.c2
-rw-r--r--lib/unictype/pr_punctuation.h4
-rw-r--r--lib/unictype/pr_quotation_mark.c2
-rw-r--r--lib/unictype/pr_quotation_mark.h4
-rw-r--r--lib/unictype/pr_radical.c2
-rw-r--r--lib/unictype/pr_radical.h4
-rw-r--r--lib/unictype/pr_regional_indicator.c2
-rw-r--r--lib/unictype/pr_sentence_terminal.c2
-rw-r--r--lib/unictype/pr_sentence_terminal.h6
-rw-r--r--lib/unictype/pr_soft_dotted.c2
-rw-r--r--lib/unictype/pr_soft_dotted.h4
-rw-r--r--lib/unictype/pr_space.c2
-rw-r--r--lib/unictype/pr_space.h4
-rw-r--r--lib/unictype/pr_terminal_punctuation.c2
-rw-r--r--lib/unictype/pr_terminal_punctuation.h4
-rw-r--r--lib/unictype/pr_test.c2
-rw-r--r--lib/unictype/pr_titlecase.c2
-rw-r--r--lib/unictype/pr_titlecase.h4
-rw-r--r--lib/unictype/pr_unassigned_code_value.c2
-rw-r--r--lib/unictype/pr_unassigned_code_value.h28
-rw-r--r--lib/unictype/pr_unified_ideograph.c2
-rw-r--r--lib/unictype/pr_unified_ideograph.h20
-rw-r--r--lib/unictype/pr_uppercase.c2
-rw-r--r--lib/unictype/pr_uppercase.h4
-rw-r--r--lib/unictype/pr_variation_selector.c2
-rw-r--r--lib/unictype/pr_variation_selector.h4
-rw-r--r--lib/unictype/pr_white_space.c2
-rw-r--r--lib/unictype/pr_white_space.h4
-rw-r--r--lib/unictype/pr_xid_continue.c2
-rw-r--r--lib/unictype/pr_xid_continue.h30
-rw-r--r--lib/unictype/pr_xid_start.c2
-rw-r--r--lib/unictype/pr_xid_start.h22
-rw-r--r--lib/unictype/pr_zero_width.c2
-rw-r--r--lib/unictype/pr_zero_width.h4
-rw-r--r--lib/unictype/scripts.c2
-rw-r--r--lib/unictype/scripts.h41
-rw-r--r--lib/unictype/scripts_byname.gperf4
-rw-r--r--lib/unictype/sy_c_ident.c2
-rw-r--r--lib/unictype/sy_c_ident.h4
-rw-r--r--lib/unictype/sy_c_whitespace.c2
-rw-r--r--lib/unictype/sy_java_ident.c2
-rw-r--r--lib/unictype/sy_java_ident.h20
-rw-r--r--lib/unictype/sy_java_whitespace.c2
-rw-r--r--lib/unigbrk.in.h13
-rw-r--r--lib/unigbrk/gbrkprop.h4
-rw-r--r--lib/unigbrk/u-grapheme-breaks.h33
-rw-r--r--lib/unigbrk/u16-grapheme-breaks.c2
-rw-r--r--lib/unigbrk/u16-grapheme-next.c2
-rw-r--r--lib/unigbrk/u16-grapheme-prev.c2
-rw-r--r--lib/unigbrk/u32-grapheme-breaks.c2
-rw-r--r--lib/unigbrk/u32-grapheme-next.c2
-rw-r--r--lib/unigbrk/u32-grapheme-prev.c2
-rw-r--r--lib/unigbrk/u8-grapheme-breaks.c2
-rw-r--r--lib/unigbrk/u8-grapheme-next.c2
-rw-r--r--lib/unigbrk/u8-grapheme-prev.c2
-rw-r--r--lib/unigbrk/uc-gbrk-prop.c2
-rw-r--r--lib/unigbrk/uc-grapheme-breaks.c2
-rw-r--r--lib/unigbrk/uc-is-grapheme-break.c2
-rw-r--r--lib/unigbrk/ulc-grapheme-breaks.c2
-rw-r--r--lib/unilbrk.in.h2
-rw-r--r--lib/unilbrk/internal.h2
-rw-r--r--lib/unilbrk/lbrkprop1.h4
-rw-r--r--lib/unilbrk/lbrkprop2.h236
-rw-r--r--lib/unilbrk/lbrktables.c81
-rw-r--r--lib/unilbrk/lbrktables.h71
-rw-r--r--lib/unilbrk/u16-possible-linebreaks.c67
-rw-r--r--lib/unilbrk/u16-width-linebreaks.c9
-rw-r--r--lib/unilbrk/u32-possible-linebreaks.c66
-rw-r--r--lib/unilbrk/u32-width-linebreaks.c9
-rw-r--r--lib/unilbrk/u8-possible-linebreaks.c67
-rw-r--r--lib/unilbrk/u8-width-linebreaks.c9
-rw-r--r--lib/unilbrk/ulc-common.c2
-rw-r--r--lib/unilbrk/ulc-common.h2
-rw-r--r--lib/unilbrk/ulc-possible-linebreaks.c9
-rw-r--r--lib/unilbrk/ulc-width-linebreaks.c9
-rw-r--r--lib/unimetadata.in.h39
-rw-r--r--lib/unimetadata/u-version.c33
-rw-r--r--lib/uniname.in.h2
-rwxr-xr-xlib/uniname/gen-uninames.lisp4
-rw-r--r--lib/uniname/uniname.c13
-rw-r--r--lib/uniname/uninames.h100842
-rw-r--r--lib/uninorm.in.h19
-rw-r--r--lib/uninorm/canonical-decomposition.c2
-rw-r--r--lib/uninorm/compat-decomposition.c2
-rw-r--r--lib/uninorm/composition-table.gperf4
-rw-r--r--lib/uninorm/composition.c2
-rw-r--r--lib/uninorm/decompose-internal.c2
-rw-r--r--lib/uninorm/decompose-internal.h2
-rw-r--r--lib/uninorm/decomposing-form.c2
-rw-r--r--lib/uninorm/decomposition-table.c2
-rw-r--r--lib/uninorm/decomposition-table.h2
-rw-r--r--lib/uninorm/decomposition-table1.h4
-rw-r--r--lib/uninorm/decomposition-table2.h4
-rw-r--r--lib/uninorm/decomposition.c2
-rw-r--r--lib/uninorm/nfc.c2
-rw-r--r--lib/uninorm/nfd.c2
-rw-r--r--lib/uninorm/nfkc.c2
-rw-r--r--lib/uninorm/nfkd.c2
-rw-r--r--lib/uninorm/normalize-internal.h2
-rw-r--r--lib/uninorm/u-normalize-internal.h2
-rw-r--r--lib/uninorm/u-normcmp.h2
-rw-r--r--lib/uninorm/u-normcoll.h2
-rw-r--r--lib/uninorm/u-normxfrm.h2
-rw-r--r--lib/uninorm/u16-normalize.c2
-rw-r--r--lib/uninorm/u16-normcmp.c2
-rw-r--r--lib/uninorm/u16-normcoll.c2
-rw-r--r--lib/uninorm/u16-normxfrm.c2
-rw-r--r--lib/uninorm/u32-normalize.c2
-rw-r--r--lib/uninorm/u32-normcmp.c2
-rw-r--r--lib/uninorm/u32-normcoll.c2
-rw-r--r--lib/uninorm/u32-normxfrm.c2
-rw-r--r--lib/uninorm/u8-normalize.c2
-rw-r--r--lib/uninorm/u8-normcmp.c2
-rw-r--r--lib/uninorm/u8-normcoll.c2
-rw-r--r--lib/uninorm/u8-normxfrm.c2
-rw-r--r--lib/uninorm/uninorm-filter.c2
-rw-r--r--lib/unistd.c4
-rw-r--r--lib/unistd.in.h140
-rw-r--r--lib/unistdio.in.h2
-rw-r--r--lib/unistdio/u-asnprintf.h2
-rw-r--r--lib/unistdio/u-asprintf.h2
-rw-r--r--lib/unistdio/u-printf-args.c2
-rw-r--r--lib/unistdio/u-printf-args.h2
-rw-r--r--lib/unistdio/u-printf-parse.h2
-rw-r--r--lib/unistdio/u-snprintf.h2
-rw-r--r--lib/unistdio/u-sprintf.h2
-rw-r--r--lib/unistdio/u-vasprintf.h2
-rw-r--r--lib/unistdio/u-vsnprintf.h2
-rw-r--r--lib/unistdio/u-vsprintf.h2
-rw-r--r--lib/unistdio/u16-asnprintf.c2
-rw-r--r--lib/unistdio/u16-asprintf.c2
-rw-r--r--lib/unistdio/u16-printf-parse.c2
-rw-r--r--lib/unistdio/u16-snprintf.c2
-rw-r--r--lib/unistdio/u16-sprintf.c2
-rw-r--r--lib/unistdio/u16-u16-asnprintf.c2
-rw-r--r--lib/unistdio/u16-u16-asprintf.c2
-rw-r--r--lib/unistdio/u16-u16-snprintf.c2
-rw-r--r--lib/unistdio/u16-u16-sprintf.c2
-rw-r--r--lib/unistdio/u16-u16-vasnprintf.c3
-rw-r--r--lib/unistdio/u16-u16-vasprintf.c2
-rw-r--r--lib/unistdio/u16-u16-vsnprintf.c2
-rw-r--r--lib/unistdio/u16-u16-vsprintf.c2
-rw-r--r--lib/unistdio/u16-vasnprintf.c3
-rw-r--r--lib/unistdio/u16-vasprintf.c2
-rw-r--r--lib/unistdio/u16-vsnprintf.c2
-rw-r--r--lib/unistdio/u16-vsprintf.c2
-rw-r--r--lib/unistdio/u32-asnprintf.c2
-rw-r--r--lib/unistdio/u32-asprintf.c2
-rw-r--r--lib/unistdio/u32-printf-parse.c2
-rw-r--r--lib/unistdio/u32-snprintf.c2
-rw-r--r--lib/unistdio/u32-sprintf.c2
-rw-r--r--lib/unistdio/u32-u32-asnprintf.c2
-rw-r--r--lib/unistdio/u32-u32-asprintf.c2
-rw-r--r--lib/unistdio/u32-u32-snprintf.c2
-rw-r--r--lib/unistdio/u32-u32-sprintf.c2
-rw-r--r--lib/unistdio/u32-u32-vasnprintf.c3
-rw-r--r--lib/unistdio/u32-u32-vasprintf.c2
-rw-r--r--lib/unistdio/u32-u32-vsnprintf.c2
-rw-r--r--lib/unistdio/u32-u32-vsprintf.c2
-rw-r--r--lib/unistdio/u32-vasnprintf.c3
-rw-r--r--lib/unistdio/u32-vasprintf.c2
-rw-r--r--lib/unistdio/u32-vsnprintf.c2
-rw-r--r--lib/unistdio/u32-vsprintf.c2
-rw-r--r--lib/unistdio/u8-asnprintf.c2
-rw-r--r--lib/unistdio/u8-asprintf.c2
-rw-r--r--lib/unistdio/u8-printf-parse.c2
-rw-r--r--lib/unistdio/u8-snprintf.c2
-rw-r--r--lib/unistdio/u8-sprintf.c2
-rw-r--r--lib/unistdio/u8-u8-asnprintf.c2
-rw-r--r--lib/unistdio/u8-u8-asprintf.c2
-rw-r--r--lib/unistdio/u8-u8-snprintf.c2
-rw-r--r--lib/unistdio/u8-u8-sprintf.c2
-rw-r--r--lib/unistdio/u8-u8-vasnprintf.c3
-rw-r--r--lib/unistdio/u8-u8-vasprintf.c2
-rw-r--r--lib/unistdio/u8-u8-vsnprintf.c2
-rw-r--r--lib/unistdio/u8-u8-vsprintf.c2
-rw-r--r--lib/unistdio/u8-vasnprintf.c3
-rw-r--r--lib/unistdio/u8-vasprintf.c2
-rw-r--r--lib/unistdio/u8-vsnprintf.c2
-rw-r--r--lib/unistdio/u8-vsprintf.c2
-rw-r--r--lib/unistdio/ulc-asnprintf.c2
-rw-r--r--lib/unistdio/ulc-asprintf.c2
-rw-r--r--lib/unistdio/ulc-fprintf.c2
-rw-r--r--lib/unistdio/ulc-printf-parse.c2
-rw-r--r--lib/unistdio/ulc-snprintf.c2
-rw-r--r--lib/unistdio/ulc-sprintf.c2
-rw-r--r--lib/unistdio/ulc-vasnprintf.c2
-rw-r--r--lib/unistdio/ulc-vasprintf.c2
-rw-r--r--lib/unistdio/ulc-vfprintf.c2
-rw-r--r--lib/unistdio/ulc-vsnprintf.c2
-rw-r--r--lib/unistdio/ulc-vsprintf.c2
-rw-r--r--lib/unistr.in.h11
-rw-r--r--lib/unistr/u-cmp2.h2
-rw-r--r--lib/unistr/u-cpy-alloc.h2
-rw-r--r--lib/unistr/u-cpy.h2
-rw-r--r--lib/unistr/u-endswith.h2
-rw-r--r--lib/unistr/u-move.h2
-rw-r--r--lib/unistr/u-pcpy.h22
-rw-r--r--lib/unistr/u-set.h2
-rw-r--r--lib/unistr/u-startswith.h2
-rw-r--r--lib/unistr/u-stpcpy.h2
-rw-r--r--lib/unistr/u-stpncpy.h2
-rw-r--r--lib/unistr/u-strcat.h26
-rw-r--r--lib/unistr/u-strcoll.h2
-rw-r--r--lib/unistr/u-strcpy.h2
-rw-r--r--lib/unistr/u-strcspn.h2
-rw-r--r--lib/unistr/u-strdup.h2
-rw-r--r--lib/unistr/u-strlen.h26
-rw-r--r--lib/unistr/u-strncat.h2
-rw-r--r--lib/unistr/u-strncpy.h2
-rw-r--r--lib/unistr/u-strnlen.h2
-rw-r--r--lib/unistr/u-strpbrk.h2
-rw-r--r--lib/unistr/u-strspn.h2
-rw-r--r--lib/unistr/u-strstr.h139
-rw-r--r--lib/unistr/u-strtok.h2
-rw-r--r--lib/unistr/u16-check.c2
-rw-r--r--lib/unistr/u16-chr.c2
-rw-r--r--lib/unistr/u16-cmp.c2
-rw-r--r--lib/unistr/u16-cmp2.c2
-rw-r--r--lib/unistr/u16-cpy-alloc.c2
-rw-r--r--lib/unistr/u16-cpy.c2
-rw-r--r--lib/unistr/u16-endswith.c2
-rw-r--r--lib/unistr/u16-mblen.c2
-rw-r--r--lib/unistr/u16-mbsnlen.c2
-rw-r--r--lib/unistr/u16-mbtouc-aux.c2
-rw-r--r--lib/unistr/u16-mbtouc-unsafe-aux.c2
-rw-r--r--lib/unistr/u16-mbtouc-unsafe.c2
-rw-r--r--lib/unistr/u16-mbtouc.c2
-rw-r--r--lib/unistr/u16-mbtoucr.c2
-rw-r--r--lib/unistr/u16-move.c2
-rw-r--r--lib/unistr/u16-next.c2
-rw-r--r--lib/unistr/u16-pcpy.c34
-rw-r--r--lib/unistr/u16-prev.c2
-rw-r--r--lib/unistr/u16-set.c2
-rw-r--r--lib/unistr/u16-startswith.c2
-rw-r--r--lib/unistr/u16-stpcpy.c2
-rw-r--r--lib/unistr/u16-stpncpy.c2
-rw-r--r--lib/unistr/u16-strcat.c2
-rw-r--r--lib/unistr/u16-strchr.c2
-rw-r--r--lib/unistr/u16-strcmp.c2
-rw-r--r--lib/unistr/u16-strcoll.c2
-rw-r--r--lib/unistr/u16-strcpy.c2
-rw-r--r--lib/unistr/u16-strcspn.c2
-rw-r--r--lib/unistr/u16-strdup.c2
-rw-r--r--lib/unistr/u16-strlen.c2
-rw-r--r--lib/unistr/u16-strmblen.c2
-rw-r--r--lib/unistr/u16-strmbtouc.c2
-rw-r--r--lib/unistr/u16-strncat.c2
-rw-r--r--lib/unistr/u16-strncmp.c2
-rw-r--r--lib/unistr/u16-strncpy.c2
-rw-r--r--lib/unistr/u16-strnlen.c2
-rw-r--r--lib/unistr/u16-strpbrk.c2
-rw-r--r--lib/unistr/u16-strrchr.c2
-rw-r--r--lib/unistr/u16-strspn.c2
-rw-r--r--lib/unistr/u16-strstr.c20
-rw-r--r--lib/unistr/u16-strtok.c2
-rw-r--r--lib/unistr/u16-to-u32.c2
-rw-r--r--lib/unistr/u16-to-u8.c2
-rw-r--r--lib/unistr/u16-uctomb-aux.c2
-rw-r--r--lib/unistr/u16-uctomb.c2
-rw-r--r--lib/unistr/u32-check.c2
-rw-r--r--lib/unistr/u32-chr.c26
-rw-r--r--lib/unistr/u32-cmp.c2
-rw-r--r--lib/unistr/u32-cmp2.c2
-rw-r--r--lib/unistr/u32-cpy-alloc.c2
-rw-r--r--lib/unistr/u32-cpy.c2
-rw-r--r--lib/unistr/u32-endswith.c2
-rw-r--r--lib/unistr/u32-mblen.c2
-rw-r--r--lib/unistr/u32-mbsnlen.c2
-rw-r--r--lib/unistr/u32-mbtouc-unsafe.c2
-rw-r--r--lib/unistr/u32-mbtouc.c2
-rw-r--r--lib/unistr/u32-mbtoucr.c2
-rw-r--r--lib/unistr/u32-move.c2
-rw-r--r--lib/unistr/u32-next.c2
-rw-r--r--lib/unistr/u32-pcpy.c26
-rw-r--r--lib/unistr/u32-prev.c2
-rw-r--r--lib/unistr/u32-set.c2
-rw-r--r--lib/unistr/u32-startswith.c2
-rw-r--r--lib/unistr/u32-stpcpy.c2
-rw-r--r--lib/unistr/u32-stpncpy.c2
-rw-r--r--lib/unistr/u32-strcat.c26
-rw-r--r--lib/unistr/u32-strchr.c2
-rw-r--r--lib/unistr/u32-strcmp.c2
-rw-r--r--lib/unistr/u32-strcoll.c2
-rw-r--r--lib/unistr/u32-strcpy.c2
-rw-r--r--lib/unistr/u32-strcspn.c2
-rw-r--r--lib/unistr/u32-strdup.c2
-rw-r--r--lib/unistr/u32-strlen.c26
-rw-r--r--lib/unistr/u32-strmblen.c2
-rw-r--r--lib/unistr/u32-strmbtouc.c2
-rw-r--r--lib/unistr/u32-strncat.c2
-rw-r--r--lib/unistr/u32-strncmp.c2
-rw-r--r--lib/unistr/u32-strncpy.c2
-rw-r--r--lib/unistr/u32-strnlen.c2
-rw-r--r--lib/unistr/u32-strpbrk.c2
-rw-r--r--lib/unistr/u32-strrchr.c2
-rw-r--r--lib/unistr/u32-strspn.c2
-rw-r--r--lib/unistr/u32-strstr.c17
-rw-r--r--lib/unistr/u32-strtok.c2
-rw-r--r--lib/unistr/u32-to-u16.c2
-rw-r--r--lib/unistr/u32-to-u8.c2
-rw-r--r--lib/unistr/u32-uctomb.c2
-rw-r--r--lib/unistr/u8-check.c6
-rw-r--r--lib/unistr/u8-chr.c2
-rw-r--r--lib/unistr/u8-cmp.c2
-rw-r--r--lib/unistr/u8-cmp2.c2
-rw-r--r--lib/unistr/u8-cpy-alloc.c2
-rw-r--r--lib/unistr/u8-cpy.c2
-rw-r--r--lib/unistr/u8-endswith.c2
-rw-r--r--lib/unistr/u8-mblen.c6
-rw-r--r--lib/unistr/u8-mbsnlen.c2
-rw-r--r--lib/unistr/u8-mbtouc-aux.c108
-rw-r--r--lib/unistr/u8-mbtouc-unsafe-aux.c2
-rw-r--r--lib/unistr/u8-mbtouc-unsafe.c2
-rw-r--r--lib/unistr/u8-mbtouc.c108
-rw-r--r--lib/unistr/u8-mbtoucr.c6
-rw-r--r--lib/unistr/u8-move.c2
-rw-r--r--lib/unistr/u8-next.c2
-rw-r--r--lib/unistr/u8-pcpy.c34
-rw-r--r--lib/unistr/u8-prev.c6
-rw-r--r--lib/unistr/u8-set.c2
-rw-r--r--lib/unistr/u8-startswith.c2
-rw-r--r--lib/unistr/u8-stpcpy.c2
-rw-r--r--lib/unistr/u8-stpncpy.c2
-rw-r--r--lib/unistr/u8-strcat.c2
-rw-r--r--lib/unistr/u8-strchr.c2
-rw-r--r--lib/unistr/u8-strcmp.c2
-rw-r--r--lib/unistr/u8-strcoll.c2
-rw-r--r--lib/unistr/u8-strcpy.c2
-rw-r--r--lib/unistr/u8-strcspn.c2
-rw-r--r--lib/unistr/u8-strdup.c2
-rw-r--r--lib/unistr/u8-strlen.c2
-rw-r--r--lib/unistr/u8-strmblen.c6
-rw-r--r--lib/unistr/u8-strmbtouc.c6
-rw-r--r--lib/unistr/u8-strncat.c2
-rw-r--r--lib/unistr/u8-strncmp.c2
-rw-r--r--lib/unistr/u8-strncpy.c2
-rw-r--r--lib/unistr/u8-strnlen.c2
-rw-r--r--lib/unistr/u8-strpbrk.c2
-rw-r--r--lib/unistr/u8-strrchr.c2
-rw-r--r--lib/unistr/u8-strspn.c2
-rw-r--r--lib/unistr/u8-strstr.c33
-rw-r--r--lib/unistr/u8-strtok.c2
-rw-r--r--lib/unistr/u8-to-u16.c2
-rw-r--r--lib/unistr/u8-to-u32.c2
-rw-r--r--lib/unistr/u8-uctomb-aux.c2
-rw-r--r--lib/unistr/u8-uctomb.c2
-rw-r--r--lib/unistring/cdefs.h40
-rw-r--r--lib/unistring/inline.h8
-rw-r--r--lib/unistring/version.in.h5
-rw-r--r--lib/unitypes.in.h2
-rw-r--r--lib/uniwbrk.in.h2
-rw-r--r--lib/uniwbrk/u-wordbreaks.h2
-rw-r--r--lib/uniwbrk/u16-wordbreaks.c2
-rw-r--r--lib/uniwbrk/u32-wordbreaks.c2
-rw-r--r--lib/uniwbrk/u8-wordbreaks.c2
-rw-r--r--lib/uniwbrk/ulc-wordbreaks.c2
-rw-r--r--lib/uniwbrk/wbrkprop.h20
-rw-r--r--lib/uniwbrk/wbrktable.c2
-rw-r--r--lib/uniwbrk/wbrktable.h2
-rw-r--r--lib/uniwbrk/wordbreak-property.c2
-rw-r--r--lib/uniwidth.in.h2
-rw-r--r--lib/uniwidth/cjk.h2
-rw-r--r--lib/uniwidth/u16-strwidth.c2
-rw-r--r--lib/uniwidth/u16-width.c2
-rw-r--r--lib/uniwidth/u32-strwidth.c2
-rw-r--r--lib/uniwidth/u32-width.c2
-rw-r--r--lib/uniwidth/u8-strwidth.c2
-rw-r--r--lib/uniwidth/u8-width.c2
-rw-r--r--lib/uniwidth/width.c2
-rw-r--r--lib/uniwidth/width0.h42
-rw-r--r--lib/uniwidth/width2.h28
-rw-r--r--lib/vasnprintf.c1667
-rw-r--r--lib/verify.h77
-rw-r--r--lib/warn-on-use.h6
-rw-r--r--lib/wchar.in.h385
-rw-r--r--lib/wcs-two-way.h302
-rw-r--r--lib/wcsstr-impl.h56
-rw-r--r--lib/wctype-h.c4
-rw-r--r--lib/wctype.in.h93
-rw-r--r--lib/wcwidth.c2
-rw-r--r--lib/windows-initguard.h2
-rw-r--r--lib/windows-mutex.c2
-rw-r--r--lib/windows-mutex.h2
-rw-r--r--lib/windows-once.c2
-rw-r--r--lib/windows-once.h2
-rw-r--r--lib/windows-recmutex.c2
-rw-r--r--lib/windows-recmutex.h2
-rw-r--r--lib/windows-rwlock.c2
-rw-r--r--lib/windows-rwlock.h2
-rw-r--r--lib/xalloc-oversized.h13
-rw-r--r--lib/xsize.c2
-rw-r--r--lib/xsize.h10
-rw-r--r--m4/libtool.m415
-rw-r--r--tests/Makefile.gnulib751
-rw-r--r--tests/Makefile.in2879
-rw-r--r--tests/_Noreturn.h7
-rw-r--r--tests/accept.c2
-rw-r--r--tests/arg-nonnull.h2
-rw-r--r--tests/arpa_inet.in.h7
-rw-r--r--tests/atomic-int-gnulib.h3
-rw-r--r--tests/basename-lgpl.c2
-rw-r--r--tests/basename-lgpl.h7
-rw-r--r--tests/binary-io.c2
-rw-r--r--tests/binary-io.h10
-rw-r--r--tests/bind.c2
-rw-r--r--tests/btoc32.c68
-rw-r--r--tests/btowc.c10
-rw-r--r--tests/c++defs.h8
-rw-r--r--tests/c32rtomb.c132
-rw-r--r--tests/c32tob.c70
-rw-r--r--tests/calloc.c2
-rw-r--r--tests/cdefs.h715
-rw-r--r--tests/cloexec.c2
-rw-r--r--tests/cloexec.h2
-rw-r--r--tests/close.c2
-rw-r--r--tests/connect.c2
-rw-r--r--tests/ctype.in.h7
-rw-r--r--tests/dup2.c2
-rw-r--r--tests/error.c7
-rw-r--r--tests/error.h66
-rw-r--r--tests/error.in.h216
-rw-r--r--tests/exitfail.c2
-rw-r--r--tests/exitfail.h2
-rw-r--r--tests/fcntl.c2
-rw-r--r--tests/fcntl.in.h7
-rw-r--r--tests/fd-hook.c2
-rw-r--r--tests/fd-hook.h2
-rw-r--r--tests/fdopen.c2
-rw-r--r--tests/filename.h2
-rw-r--r--tests/fstat.c2
-rw-r--r--tests/ftruncate.c2
-rw-r--r--tests/getcwd-lgpl.c8
-rw-r--r--tests/getdtablesize.c2
-rw-r--r--tests/getpagesize.c2
-rw-r--r--tests/getprogname.c24
-rw-r--r--tests/getprogname.h20
-rw-r--r--tests/gettext.h2
-rw-r--r--tests/gettimeofday.c16
-rw-r--r--tests/glthread/thread.c10
-rw-r--r--tests/glthread/thread.h12
-rw-r--r--tests/glthread/yield.h2
-rw-r--r--tests/ialloc.c2
-rw-r--r--tests/ialloc.h68
-rw-r--r--tests/iconvsupport.c2
-rw-r--r--tests/ignore-value.h2
-rw-r--r--tests/inet_pton.c2
-rw-r--r--tests/infinity.h2
-rw-r--r--tests/init.sh23
-rw-r--r--tests/intprops-internal.h7
-rw-r--r--tests/intprops.h2
-rw-r--r--tests/ioctl.c2
-rw-r--r--tests/isblank.c2
-rw-r--r--tests/libc-config.h204
-rw-r--r--tests/listen.c2
-rw-r--r--tests/locale.c2
-rw-r--r--tests/lstat.c2
-rw-r--r--tests/macros.h2
-rw-r--r--tests/malloc.c2
-rw-r--r--tests/mbtowc-impl.h4
-rw-r--r--tests/mbtowc.c2
-rw-r--r--tests/minus-zero.h2
-rw-r--r--tests/msvc-inval.c2
-rw-r--r--tests/msvc-inval.h7
-rw-r--r--tests/msvc-nothrow.c2
-rw-r--r--tests/msvc-nothrow.h7
-rw-r--r--tests/nan.h38
-rw-r--r--tests/nanosleep.c5
-rw-r--r--tests/nap.h2
-rw-r--r--tests/netinet_in.in.h2
-rw-r--r--tests/open.c8
-rw-r--r--tests/pathmax.h7
-rw-r--r--tests/perror.c2
-rw-r--r--tests/pipe.c2
-rw-r--r--tests/pselect.c14
-rw-r--r--tests/pthread-thread.c2
-rw-r--r--tests/pthread.in.h24
-rw-r--r--tests/pthread_sigmask.c2
-rw-r--r--tests/putenv.c2
-rw-r--r--tests/raise.c2
-rw-r--r--tests/random.c317
-rw-r--r--tests/random_r.c430
-rw-r--r--tests/randomd.c2
-rw-r--r--tests/randoml.c2
-rw-r--r--tests/realloc.c2
-rw-r--r--tests/reallocarray.c2
-rw-r--r--tests/same-inode.c3
-rw-r--r--tests/same-inode.h86
-rw-r--r--tests/sched.in.h14
-rw-r--r--tests/sched_yield.c2
-rw-r--r--tests/select.c9
-rw-r--r--tests/setenv.c8
-rw-r--r--tests/setlocale.c4
-rw-r--r--tests/setsockopt.c2
-rw-r--r--tests/signal.in.h7
-rw-r--r--tests/signature.h2
-rw-r--r--tests/signed-nan.h88
-rw-r--r--tests/signed-snan.h142
-rw-r--r--tests/sigprocmask.c2
-rw-r--r--tests/sleep.c2
-rw-r--r--tests/snan.h276
-rw-r--r--tests/socket.c2
-rw-r--r--tests/sockets.c2
-rw-r--r--tests/sockets.h7
-rw-r--r--tests/stat-time.c2
-rw-r--r--tests/stat-time.h60
-rw-r--r--tests/stat-w32.c2
-rw-r--r--tests/stat-w32.h2
-rw-r--r--tests/stat.c2
-rw-r--r--tests/stdalign.in.h133
-rw-r--r--tests/stdio-read.c2
-rw-r--r--tests/stdio-write.c2
-rw-r--r--tests/stdio.in.h156
-rw-r--r--tests/strerror-override.c2
-rw-r--r--tests/strerror-override.h7
-rw-r--r--tests/strerror.c2
-rw-r--r--tests/strerror_r.c2
-rw-r--r--tests/symlink.c2
-rw-r--r--tests/sys_ioctl.in.h9
-rw-r--r--tests/sys_select.in.h14
-rw-r--r--tests/sys_socket.c4
-rw-r--r--tests/sys_socket.in.h15
-rw-r--r--tests/sys_stat.in.h50
-rw-r--r--tests/sys_time.in.h14
-rw-r--r--tests/sys_uio.in.h2
-rw-r--r--tests/test-accept.c2
-rw-r--r--tests/test-alignasof.c (renamed from tests/test-stdalign.c)5
-rw-r--r--tests/test-alloca-opt.c2
-rw-r--r--tests/test-arpa_inet.c2
-rw-r--r--tests/test-array-mergesort.c2
-rw-r--r--tests/test-assert.c3
-rw-r--r--tests/test-binary-io.c4
-rwxr-xr-xtests/test-binary-io.sh2
-rw-r--r--tests/test-bind.c2
-rwxr-xr-xtests/test-btoc32-1.sh9
-rwxr-xr-xtests/test-btoc32-2.sh (renamed from tests/test-mbrtowc1.sh)2
-rwxr-xr-xtests/test-btoc32-3.sh (renamed from tests/test-mbrtowc2.sh)2
-rw-r--r--tests/test-btoc32.c94
-rwxr-xr-xtests/test-btowc-1.sh9
-rwxr-xr-xtests/test-btowc-2.sh (renamed from tests/test-btowc1.sh)2
-rwxr-xr-xtests/test-btowc-3.sh (renamed from tests/test-btowc2.sh)2
-rw-r--r--tests/test-btowc.c32
-rw-r--r--tests/test-c-ctype.c2
-rw-r--r--tests/test-c-strcasecmp.c2
-rw-r--r--tests/test-c-strncasecmp.c2
-rw-r--r--tests/test-c32isalnum.c261
-rwxr-xr-xtests/test-c32isalnum.sh42
-rw-r--r--tests/test-c32isalpha.c259
-rwxr-xr-xtests/test-c32isalpha.sh42
-rw-r--r--tests/test-c32isblank.c205
-rwxr-xr-xtests/test-c32isblank.sh42
-rw-r--r--tests/test-c32iscntrl.c212
-rwxr-xr-xtests/test-c32iscntrl.sh42
-rw-r--r--tests/test-c32isdigit.c236
-rwxr-xr-xtests/test-c32isdigit.sh42
-rw-r--r--tests/test-c32isgraph.c247
-rwxr-xr-xtests/test-c32isgraph.sh42
-rw-r--r--tests/test-c32islower.c354
-rwxr-xr-xtests/test-c32islower.sh42
-rw-r--r--tests/test-c32isprint.c250
-rwxr-xr-xtests/test-c32isprint.sh42
-rw-r--r--tests/test-c32ispunct.c330
-rwxr-xr-xtests/test-c32ispunct.sh42
-rw-r--r--tests/test-c32isspace.c198
-rwxr-xr-xtests/test-c32isspace.sh42
-rw-r--r--tests/test-c32isupper.c340
-rwxr-xr-xtests/test-c32isupper.sh42
-rw-r--r--tests/test-c32isxdigit.c262
-rwxr-xr-xtests/test-c32isxdigit.sh42
-rwxr-xr-xtests/test-c32rtomb-w32-2.sh4
-rwxr-xr-xtests/test-c32rtomb-w32-3.sh4
-rwxr-xr-xtests/test-c32rtomb-w32-4.sh4
-rwxr-xr-xtests/test-c32rtomb-w32-5.sh4
-rwxr-xr-xtests/test-c32rtomb-w32-6.sh4
-rwxr-xr-xtests/test-c32rtomb-w32-7.sh4
-rwxr-xr-xtests/test-c32rtomb-w32-8.sh4
-rw-r--r--tests/test-c32rtomb-w32.c349
-rw-r--r--tests/test-c32rtomb.c174
-rwxr-xr-xtests/test-c32rtomb.sh42
-rw-r--r--tests/test-c32tolower.c440
-rwxr-xr-xtests/test-c32tolower.sh45
-rw-r--r--tests/test-c32width.c104
-rw-r--r--tests/test-calloc-gnu.c4
-rw-r--r--tests/test-cloexec.c10
-rw-r--r--tests/test-close.c2
-rw-r--r--tests/test-connect.c2
-rw-r--r--tests/test-ctype.c2
-rw-r--r--tests/test-dup2.c16
-rw-r--r--tests/test-environ.c2
-rw-r--r--tests/test-errno.c2
-rw-r--r--tests/test-error.c89
-rwxr-xr-xtests/test-error.sh36
-rw-r--r--tests/test-fcntl-h.c2
-rw-r--r--tests/test-fcntl.c18
-rw-r--r--tests/test-fdopen.c9
-rw-r--r--tests/test-fgetc.c6
-rw-r--r--tests/test-float.c72
-rw-r--r--tests/test-fputc.c6
-rw-r--r--tests/test-fread.c6
-rw-r--r--tests/test-free.c2
-rw-r--r--tests/test-frexp.c2
-rw-r--r--tests/test-frexp.h2
-rw-r--r--tests/test-frexpl.c2
-rw-r--r--tests/test-fseterr.c2
-rw-r--r--tests/test-fstat.c4
-rw-r--r--tests/test-ftruncate.c4
-rw-r--r--tests/test-fwrite.c6
-rw-r--r--tests/test-getcwd-lgpl.c4
-rw-r--r--tests/test-getdtablesize.c9
-rw-r--r--tests/test-getprogname.c5
-rw-r--r--tests/test-gettimeofday.c51
-rw-r--r--tests/test-hard-locale.c20
-rw-r--r--tests/test-iconv-h.c2
-rw-r--r--tests/test-iconv.c2
-rw-r--r--tests/test-ignore-value.c2
-rw-r--r--tests/test-inet_pton.c2
-rwxr-xr-xtests/test-init.sh2
-rw-r--r--tests/test-intprops.c4
-rw-r--r--tests/test-inttypes.c4
-rw-r--r--tests/test-ioctl.c2
-rw-r--r--tests/test-isblank.c4
-rw-r--r--tests/test-isnand-nolibm.c2
-rw-r--r--tests/test-isnand.h22
-rw-r--r--tests/test-isnanf-nolibm.c2
-rw-r--r--tests/test-isnanf.h24
-rw-r--r--tests/test-isnanl-nolibm.c2
-rw-r--r--tests/test-isnanl.h52
-rw-r--r--tests/test-iswblank.c7
-rw-r--r--tests/test-iswdigit.c2
-rw-r--r--tests/test-iswpunct.c153
-rwxr-xr-xtests/test-iswpunct.sh7
-rw-r--r--tests/test-iswxdigit.c2
-rw-r--r--tests/test-langinfo.c2
-rw-r--r--tests/test-largefile.c51
-rw-r--r--tests/test-limits-h.c21
-rw-r--r--tests/test-listen.c7
-rw-r--r--tests/test-localcharset.c2
-rw-r--r--tests/test-locale.c2
-rw-r--r--tests/test-localename.c82
-rw-r--r--tests/test-lock.c24
-rw-r--r--tests/test-lstat.c2
-rw-r--r--tests/test-lstat.h8
-rw-r--r--tests/test-malloc-gnu.c4
-rw-r--r--tests/test-malloca.c2
-rw-r--r--tests/test-math.c10
-rwxr-xr-xtests/test-mbrtoc32-1.sh9
-rwxr-xr-xtests/test-mbrtoc32-2.sh15
-rwxr-xr-xtests/test-mbrtoc32-3.sh15
-rwxr-xr-xtests/test-mbrtoc32-4.sh15
-rwxr-xr-xtests/test-mbrtoc32-5.sh15
-rwxr-xr-xtests/test-mbrtoc32-w32-2.sh4
-rwxr-xr-xtests/test-mbrtoc32-w32-3.sh4
-rwxr-xr-xtests/test-mbrtoc32-w32-4.sh4
-rwxr-xr-xtests/test-mbrtoc32-w32-5.sh4
-rwxr-xr-xtests/test-mbrtoc32-w32-6.sh4
-rwxr-xr-xtests/test-mbrtoc32-w32-7.sh4
-rwxr-xr-xtests/test-mbrtoc32-w32-8.sh4
-rw-r--r--tests/test-mbrtoc32-w32.c750
-rw-r--r--tests/test-mbrtoc32.c441
-rwxr-xr-xtests/test-mbrtowc-1.sh9
-rwxr-xr-xtests/test-mbrtowc-2.sh15
-rwxr-xr-xtests/test-mbrtowc-3.sh15
-rwxr-xr-xtests/test-mbrtowc-4.sh (renamed from tests/test-mbrtowc3.sh)2
-rwxr-xr-xtests/test-mbrtowc-5.sh (renamed from tests/test-mbrtowc4.sh)2
-rwxr-xr-xtests/test-mbrtowc-w32-1.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-2.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-3.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-4.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-5.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-6.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-7.sh4
-rwxr-xr-xtests/test-mbrtowc-w32-8.sh4
-rw-r--r--tests/test-mbrtowc-w32.c242
-rw-r--r--tests/test-mbrtowc.c80
-rwxr-xr-xtests/test-mbrtowc5.sh6
-rw-r--r--tests/test-mbsinit.c2
-rw-r--r--tests/test-memchr.c2
-rw-r--r--tests/test-nanosleep.c2
-rw-r--r--tests/test-netinet_in.c2
-rw-r--r--tests/test-once.c2
-rw-r--r--tests/test-open.c2
-rw-r--r--tests/test-open.h7
-rw-r--r--tests/test-pathmax.c2
-rw-r--r--tests/test-perror.c2
-rw-r--r--tests/test-perror2.c7
-rw-r--r--tests/test-pipe.c2
-rw-r--r--tests/test-printf-frexp.c2
-rw-r--r--tests/test-printf-frexpl.c2
-rw-r--r--tests/test-pselect.c3
-rw-r--r--tests/test-pthread-thread.c4
-rw-r--r--tests/test-pthread.c2
-rw-r--r--tests/test-pthread_sigmask1.c11
-rw-r--r--tests/test-pthread_sigmask2.c8
-rw-r--r--tests/test-raise.c10
-rw-r--r--tests/test-random-mt.c169
-rw-r--r--tests/test-random.c49
-rw-r--r--tests/test-random_r.c68
-rw-r--r--tests/test-realloc-gnu.c4
-rw-r--r--tests/test-reallocarray.c2
-rw-r--r--tests/test-rwlock1.c8
-rw-r--r--tests/test-sched.c2
-rw-r--r--tests/test-select-fd.c2
-rwxr-xr-xtests/test-select-in.sh2
-rwxr-xr-xtests/test-select-out.sh2
-rw-r--r--tests/test-select-stdin.c2
-rw-r--r--tests/test-select.c3
-rw-r--r--tests/test-select.h8
-rw-r--r--tests/test-setenv.c2
-rw-r--r--tests/test-setlocale1.c2
-rw-r--r--tests/test-setlocale2.c2
-rw-r--r--tests/test-setlocale_null-mt-all.c4
-rw-r--r--tests/test-setlocale_null-mt-one.c2
-rw-r--r--tests/test-setlocale_null-unlocked.c35
-rw-r--r--tests/test-setlocale_null.c4
-rw-r--r--tests/test-setsockopt.c2
-rw-r--r--tests/test-signal-h.c2
-rw-r--r--tests/test-signbit.c88
-rw-r--r--tests/test-sigprocmask.c17
-rw-r--r--tests/test-sleep.c2
-rw-r--r--tests/test-sockets.c2
-rw-r--r--tests/test-stat-time.c2
-rw-r--r--tests/test-stat.c2
-rw-r--r--tests/test-stat.h8
-rw-r--r--tests/test-stdbool.c4
-rw-r--r--tests/test-stdckdint.c2
-rw-r--r--tests/test-stddef.c40
-rw-r--r--tests/test-stdint.c20
-rw-r--r--tests/test-stdio.c54
-rw-r--r--tests/test-stdlib.c15
-rw-r--r--tests/test-strerror.c2
-rw-r--r--tests/test-strerror_r.c2
-rw-r--r--tests/test-striconveh.c38
-rw-r--r--tests/test-striconveha.c12
-rw-r--r--tests/test-string.c2
-rw-r--r--tests/test-strncat.c2
-rw-r--r--tests/test-strstr.c10
-rw-r--r--tests/test-symlink.c2
-rw-r--r--tests/test-symlink.h2
-rw-r--r--tests/test-sys_ioctl.c2
-rw-r--r--tests/test-sys_select.c22
-rw-r--r--tests/test-sys_socket.c6
-rw-r--r--tests/test-sys_stat.c2
-rw-r--r--tests/test-sys_time.c2
-rw-r--r--tests/test-sys_types.c2
-rw-r--r--tests/test-sys_uio.c2
-rw-r--r--tests/test-sys_wait.h2
-rw-r--r--tests/test-thread_create.c4
-rw-r--r--tests/test-thread_self.c2
-rw-r--r--tests/test-time-h.c43
-rw-r--r--tests/test-time.c38
-rw-r--r--tests/test-uchar.c57
-rw-r--r--tests/test-unistd.c2
-rw-r--r--tests/test-unsetenv.c5
-rw-r--r--tests/test-usleep.c2
-rw-r--r--tests/test-verify-try.c2
-rw-r--r--tests/test-verify.c2
-rw-r--r--tests/test-wchar.c2
-rwxr-xr-xtests/test-wcrtomb-w32-1.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-2.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-3.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-4.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-5.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-6.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-7.sh4
-rwxr-xr-xtests/test-wcrtomb-w32-8.sh4
-rw-r--r--tests/test-wcrtomb-w32.c42
-rw-r--r--tests/test-wcrtomb.c16
-rwxr-xr-xtests/test-wcrtomb.sh16
-rw-r--r--tests/test-wctype-h.c43
-rw-r--r--tests/test-wcwidth.c2
-rw-r--r--tests/test-xalloc-die.c4
-rwxr-xr-xtests/test-xalloc-die.sh2
-rw-r--r--tests/time.c41
-rw-r--r--tests/time.in.h143
-rw-r--r--tests/unicase/test-casecmp.h2
-rw-r--r--tests/unicase/test-cased.c2
-rw-r--r--tests/unicase/test-ignorable.c2
-rw-r--r--tests/unicase/test-is-cased.h2
-rw-r--r--tests/unicase/test-is-casefolded.h2
-rw-r--r--tests/unicase/test-is-lowercase.h2
-rw-r--r--tests/unicase/test-is-titlecase.h2
-rw-r--r--tests/unicase/test-is-uppercase.h2
-rw-r--r--tests/unicase/test-locale-language.c2
-rw-r--r--tests/unicase/test-mapping-part1.h2
-rw-r--r--tests/unicase/test-mapping-part2.h2
-rw-r--r--tests/unicase/test-predicate-part1.h2
-rw-r--r--tests/unicase/test-predicate-part2.h2
-rw-r--r--tests/unicase/test-u16-casecmp.c2
-rw-r--r--tests/unicase/test-u16-casecoll.c2
-rw-r--r--tests/unicase/test-u16-casefold.c2
-rw-r--r--tests/unicase/test-u16-is-cased.c2
-rw-r--r--tests/unicase/test-u16-is-casefolded.c2
-rw-r--r--tests/unicase/test-u16-is-lowercase.c2
-rw-r--r--tests/unicase/test-u16-is-titlecase.c2
-rw-r--r--tests/unicase/test-u16-is-uppercase.c2
-rw-r--r--tests/unicase/test-u16-tolower.c2
-rw-r--r--tests/unicase/test-u16-totitle.c2
-rw-r--r--tests/unicase/test-u16-toupper.c2
-rw-r--r--tests/unicase/test-u32-casecmp.c2
-rw-r--r--tests/unicase/test-u32-casecoll.c2
-rw-r--r--tests/unicase/test-u32-casefold.c2
-rw-r--r--tests/unicase/test-u32-is-cased.c2
-rw-r--r--tests/unicase/test-u32-is-casefolded.c2
-rw-r--r--tests/unicase/test-u32-is-lowercase.c2
-rw-r--r--tests/unicase/test-u32-is-titlecase.c2
-rw-r--r--tests/unicase/test-u32-is-uppercase.c2
-rw-r--r--tests/unicase/test-u32-tolower.c2
-rw-r--r--tests/unicase/test-u32-totitle.c2
-rw-r--r--tests/unicase/test-u32-toupper.c2
-rw-r--r--tests/unicase/test-u8-casecmp.c2
-rw-r--r--tests/unicase/test-u8-casecoll.c2
-rw-r--r--tests/unicase/test-u8-casefold.c2
-rw-r--r--tests/unicase/test-u8-is-cased.c2
-rw-r--r--tests/unicase/test-u8-is-casefolded.c2
-rw-r--r--tests/unicase/test-u8-is-lowercase.c2
-rw-r--r--tests/unicase/test-u8-is-titlecase.c2
-rw-r--r--tests/unicase/test-u8-is-uppercase.c2
-rw-r--r--tests/unicase/test-u8-tolower.c2
-rw-r--r--tests/unicase/test-u8-totitle.c2
-rw-r--r--tests/unicase/test-u8-toupper.c2
-rw-r--r--tests/unicase/test-uc_tolower.c4
-rw-r--r--tests/unicase/test-uc_totitle.c4
-rw-r--r--tests/unicase/test-uc_toupper.c4
-rw-r--r--tests/unicase/test-ulc-casecmp.c2
-rw-r--r--tests/unicase/test-ulc-casecoll.c2
-rw-r--r--tests/uniconv/test-u16-conv-from-enc.c5
-rw-r--r--tests/uniconv/test-u16-conv-to-enc.c2
-rw-r--r--tests/uniconv/test-u16-strconv-from-enc.c5
-rw-r--r--tests/uniconv/test-u16-strconv-to-enc.c2
-rw-r--r--tests/uniconv/test-u32-conv-from-enc.c5
-rw-r--r--tests/uniconv/test-u32-conv-to-enc.c2
-rw-r--r--tests/uniconv/test-u32-strconv-from-enc.c5
-rw-r--r--tests/uniconv/test-u32-strconv-to-enc.c2
-rw-r--r--tests/uniconv/test-u8-conv-from-enc.c5
-rw-r--r--tests/uniconv/test-u8-conv-to-enc.c2
-rw-r--r--tests/uniconv/test-u8-strconv-from-enc.c5
-rw-r--r--tests/uniconv/test-u8-strconv-to-enc.c2
-rw-r--r--tests/unictype/test-bidi_byname.c2
-rw-r--r--tests/unictype/test-bidi_longname.c2
-rw-r--r--tests/unictype/test-bidi_name.c2
-rw-r--r--tests/unictype/test-bidi_of.c2
-rw-r--r--tests/unictype/test-bidi_test.c2
-rw-r--r--tests/unictype/test-block_list.c2
-rw-r--r--tests/unictype/test-block_of.c2
-rw-r--r--tests/unictype/test-block_test.c2
-rw-r--r--tests/unictype/test-categ_C.c8
-rw-r--r--tests/unictype/test-categ_Cc.c2
-rw-r--r--tests/unictype/test-categ_Cf.c2
-rw-r--r--tests/unictype/test-categ_Cn.c8
-rw-r--r--tests/unictype/test-categ_Co.c2
-rw-r--r--tests/unictype/test-categ_Cs.c2
-rw-r--r--tests/unictype/test-categ_L.c3
-rw-r--r--tests/unictype/test-categ_LC.c2
-rw-r--r--tests/unictype/test-categ_Ll.c2
-rw-r--r--tests/unictype/test-categ_Lm.c2
-rw-r--r--tests/unictype/test-categ_Lo.c3
-rw-r--r--tests/unictype/test-categ_Lt.c2
-rw-r--r--tests/unictype/test-categ_Lu.c2
-rw-r--r--tests/unictype/test-categ_M.c2
-rw-r--r--tests/unictype/test-categ_Mc.c2
-rw-r--r--tests/unictype/test-categ_Me.c2
-rw-r--r--tests/unictype/test-categ_Mn.c2
-rw-r--r--tests/unictype/test-categ_N.c2
-rw-r--r--tests/unictype/test-categ_Nd.c2
-rw-r--r--tests/unictype/test-categ_Nl.c2
-rw-r--r--tests/unictype/test-categ_No.c2
-rw-r--r--tests/unictype/test-categ_P.c2
-rw-r--r--tests/unictype/test-categ_Pc.c2
-rw-r--r--tests/unictype/test-categ_Pd.c2
-rw-r--r--tests/unictype/test-categ_Pe.c2
-rw-r--r--tests/unictype/test-categ_Pf.c2
-rw-r--r--tests/unictype/test-categ_Pi.c2
-rw-r--r--tests/unictype/test-categ_Po.c2
-rw-r--r--tests/unictype/test-categ_Ps.c2
-rw-r--r--tests/unictype/test-categ_S.c5
-rw-r--r--tests/unictype/test-categ_Sc.c2
-rw-r--r--tests/unictype/test-categ_Sk.c2
-rw-r--r--tests/unictype/test-categ_Sm.c2
-rw-r--r--tests/unictype/test-categ_So.c5
-rw-r--r--tests/unictype/test-categ_Z.c2
-rw-r--r--tests/unictype/test-categ_Zl.c2
-rw-r--r--tests/unictype/test-categ_Zp.c2
-rw-r--r--tests/unictype/test-categ_Zs.c2
-rw-r--r--tests/unictype/test-categ_and.c2
-rw-r--r--tests/unictype/test-categ_and_not.c41
-rw-r--r--tests/unictype/test-categ_byname.c14
-rw-r--r--tests/unictype/test-categ_longname.c2
-rw-r--r--tests/unictype/test-categ_name.c2
-rw-r--r--tests/unictype/test-categ_none.c2
-rw-r--r--tests/unictype/test-categ_of.c2
-rw-r--r--tests/unictype/test-categ_or.c2
-rw-r--r--tests/unictype/test-categ_test_withtable.c2
-rw-r--r--tests/unictype/test-combiningclass.c2
-rw-r--r--tests/unictype/test-combiningclass_byname.c2
-rw-r--r--tests/unictype/test-combiningclass_longname.c2
-rw-r--r--tests/unictype/test-combiningclass_name.c2
-rw-r--r--tests/unictype/test-ctype_alnum.c3
-rw-r--r--tests/unictype/test-ctype_alpha.c3
-rw-r--r--tests/unictype/test-ctype_blank.c2
-rw-r--r--tests/unictype/test-ctype_cntrl.c2
-rw-r--r--tests/unictype/test-ctype_digit.c2
-rw-r--r--tests/unictype/test-ctype_graph.c7
-rw-r--r--tests/unictype/test-ctype_lower.c2
-rw-r--r--tests/unictype/test-ctype_print.c8
-rw-r--r--tests/unictype/test-ctype_punct.c5
-rw-r--r--tests/unictype/test-ctype_space.c2
-rw-r--r--tests/unictype/test-ctype_upper.c2
-rw-r--r--tests/unictype/test-ctype_xdigit.c2
-rw-r--r--tests/unictype/test-decdigit.c2
-rw-r--r--tests/unictype/test-decdigit.h4
-rw-r--r--tests/unictype/test-digit.c2
-rw-r--r--tests/unictype/test-digit.h4
-rw-r--r--tests/unictype/test-incb_byname.c43
-rw-r--r--tests/unictype/test-incb_name.c37
-rw-r--r--tests/unictype/test-incb_of.c52
-rw-r--r--tests/unictype/test-incb_of.h1149
-rw-r--r--tests/unictype/test-joininggroup_byname.c2
-rw-r--r--tests/unictype/test-joininggroup_name.c2
-rw-r--r--tests/unictype/test-joininggroup_of.c2
-rw-r--r--tests/unictype/test-joininggroup_of.h4
-rw-r--r--tests/unictype/test-joiningtype_byname.c2
-rw-r--r--tests/unictype/test-joiningtype_longname.c2
-rw-r--r--tests/unictype/test-joiningtype_name.c2
-rw-r--r--tests/unictype/test-joiningtype_of.c2
-rw-r--r--tests/unictype/test-joiningtype_of.h4
-rw-r--r--tests/unictype/test-mirror.c2
-rw-r--r--tests/unictype/test-numeric.c2
-rw-r--r--tests/unictype/test-numeric.h4
-rw-r--r--tests/unictype/test-pr_alphabetic.c3
-rw-r--r--tests/unictype/test-pr_ascii_hex_digit.c2
-rw-r--r--tests/unictype/test-pr_bidi_arabic_digit.c2
-rw-r--r--tests/unictype/test-pr_bidi_arabic_right_to_left.c2
-rw-r--r--tests/unictype/test-pr_bidi_block_separator.c2
-rw-r--r--tests/unictype/test-pr_bidi_boundary_neutral.c2
-rw-r--r--tests/unictype/test-pr_bidi_common_separator.c2
-rw-r--r--tests/unictype/test-pr_bidi_control.c2
-rw-r--r--tests/unictype/test-pr_bidi_embedding_or_override.c2
-rw-r--r--tests/unictype/test-pr_bidi_eur_num_separator.c2
-rw-r--r--tests/unictype/test-pr_bidi_eur_num_terminator.c2
-rw-r--r--tests/unictype/test-pr_bidi_european_digit.c2
-rw-r--r--tests/unictype/test-pr_bidi_hebrew_right_to_left.c2
-rw-r--r--tests/unictype/test-pr_bidi_left_to_right.c6
-rw-r--r--tests/unictype/test-pr_bidi_non_spacing_mark.c2
-rw-r--r--tests/unictype/test-pr_bidi_other_neutral.c5
-rw-r--r--tests/unictype/test-pr_bidi_pdf.c2
-rw-r--r--tests/unictype/test-pr_bidi_segment_separator.c2
-rw-r--r--tests/unictype/test-pr_bidi_whitespace.c2
-rw-r--r--tests/unictype/test-pr_byname.c2
-rw-r--r--tests/unictype/test-pr_case_ignorable.c2
-rw-r--r--tests/unictype/test-pr_cased.c2
-rw-r--r--tests/unictype/test-pr_changes_when_casefolded.c2
-rw-r--r--tests/unictype/test-pr_changes_when_casemapped.c2
-rw-r--r--tests/unictype/test-pr_changes_when_lowercased.c2
-rw-r--r--tests/unictype/test-pr_changes_when_titlecased.c2
-rw-r--r--tests/unictype/test-pr_changes_when_uppercased.c2
-rw-r--r--tests/unictype/test-pr_combining.c2
-rw-r--r--tests/unictype/test-pr_composite.c2
-rw-r--r--tests/unictype/test-pr_currency_symbol.c2
-rw-r--r--tests/unictype/test-pr_dash.c2
-rw-r--r--tests/unictype/test-pr_decimal_digit.c2
-rw-r--r--tests/unictype/test-pr_default_ignorable_code_point.c2
-rw-r--r--tests/unictype/test-pr_deprecated.c2
-rw-r--r--tests/unictype/test-pr_diacritic.c2
-rw-r--r--tests/unictype/test-pr_emoji.c2
-rw-r--r--tests/unictype/test-pr_emoji_component.c2
-rw-r--r--tests/unictype/test-pr_emoji_modifier.c2
-rw-r--r--tests/unictype/test-pr_emoji_modifier_base.c2
-rw-r--r--tests/unictype/test-pr_emoji_presentation.c2
-rw-r--r--tests/unictype/test-pr_extended_pictographic.c2
-rw-r--r--tests/unictype/test-pr_extender.c2
-rw-r--r--tests/unictype/test-pr_format_control.c2
-rw-r--r--tests/unictype/test-pr_grapheme_base.c8
-rw-r--r--tests/unictype/test-pr_grapheme_extend.c2
-rw-r--r--tests/unictype/test-pr_grapheme_link.c2
-rw-r--r--tests/unictype/test-pr_hex_digit.c2
-rw-r--r--tests/unictype/test-pr_hyphen.c2
-rw-r--r--tests/unictype/test-pr_id_compat_math_continue.c40
-rw-r--r--tests/unictype/test-pr_id_compat_math_start.c35
-rw-r--r--tests/unictype/test-pr_id_continue.c9
-rw-r--r--tests/unictype/test-pr_id_start.c3
-rw-r--r--tests/unictype/test-pr_ideographic.c3
-rw-r--r--tests/unictype/test-pr_ids_binary_operator.c5
-rw-r--r--tests/unictype/test-pr_ids_trinary_operator.c2
-rw-r--r--tests/unictype/test-pr_ids_unary_operator.c23
-rw-r--r--tests/unictype/test-pr_ignorable_control.c2
-rw-r--r--tests/unictype/test-pr_iso_control.c2
-rw-r--r--tests/unictype/test-pr_join_control.c2
-rw-r--r--tests/unictype/test-pr_left_of_pair.c2
-rw-r--r--tests/unictype/test-pr_line_separator.c2
-rw-r--r--tests/unictype/test-pr_logical_order_exception.c2
-rw-r--r--tests/unictype/test-pr_lowercase.c2
-rw-r--r--tests/unictype/test-pr_math.c2
-rw-r--r--tests/unictype/test-pr_non_break.c2
-rw-r--r--tests/unictype/test-pr_not_a_character.c2
-rw-r--r--tests/unictype/test-pr_numeric.c2
-rw-r--r--tests/unictype/test-pr_other_alphabetic.c2
-rw-r--r--tests/unictype/test-pr_other_default_ignorable_code_point.c2
-rw-r--r--tests/unictype/test-pr_other_grapheme_extend.c2
-rw-r--r--tests/unictype/test-pr_other_id_continue.c7
-rw-r--r--tests/unictype/test-pr_other_id_start.c2
-rw-r--r--tests/unictype/test-pr_other_lowercase.c2
-rw-r--r--tests/unictype/test-pr_other_math.c2
-rw-r--r--tests/unictype/test-pr_other_uppercase.c2
-rw-r--r--tests/unictype/test-pr_paired_punctuation.c2
-rw-r--r--tests/unictype/test-pr_paragraph_separator.c2
-rw-r--r--tests/unictype/test-pr_pattern_syntax.c2
-rw-r--r--tests/unictype/test-pr_pattern_white_space.c2
-rw-r--r--tests/unictype/test-pr_prepended_concatenation_mark.c29
-rw-r--r--tests/unictype/test-pr_private_use.c2
-rw-r--r--tests/unictype/test-pr_punctuation.c2
-rw-r--r--tests/unictype/test-pr_quotation_mark.c2
-rw-r--r--tests/unictype/test-pr_radical.c2
-rw-r--r--tests/unictype/test-pr_regional_indicator.c2
-rw-r--r--tests/unictype/test-pr_sentence_terminal.c3
-rw-r--r--tests/unictype/test-pr_soft_dotted.c2
-rw-r--r--tests/unictype/test-pr_space.c2
-rw-r--r--tests/unictype/test-pr_terminal_punctuation.c2
-rw-r--r--tests/unictype/test-pr_test.c2
-rw-r--r--tests/unictype/test-pr_titlecase.c2
-rw-r--r--tests/unictype/test-pr_unassigned_code_value.c8
-rw-r--r--tests/unictype/test-pr_unified_ideograph.c3
-rw-r--r--tests/unictype/test-pr_uppercase.c2
-rw-r--r--tests/unictype/test-pr_variation_selector.c2
-rw-r--r--tests/unictype/test-pr_white_space.c2
-rw-r--r--tests/unictype/test-pr_xid_continue.c9
-rw-r--r--tests/unictype/test-pr_xid_start.c3
-rw-r--r--tests/unictype/test-pr_zero_width.c2
-rw-r--r--tests/unictype/test-predicate-part1.h2
-rw-r--r--tests/unictype/test-predicate-part2.h2
-rw-r--r--tests/unictype/test-scripts.c2
-rw-r--r--tests/unictype/test-sy_c_ident.c2
-rw-r--r--tests/unictype/test-sy_c_whitespace.c2
-rw-r--r--tests/unictype/test-sy_java_ident.c2
-rw-r--r--tests/unictype/test-sy_java_whitespace.c2
-rw-r--r--tests/unigbrk/GraphemeBreakTest.txt767
-rw-r--r--tests/unigbrk/test-u16-grapheme-breaks.c9
-rw-r--r--tests/unigbrk/test-u16-grapheme-next.c5
-rw-r--r--tests/unigbrk/test-u16-grapheme-prev.c5
-rw-r--r--tests/unigbrk/test-u32-grapheme-breaks.c9
-rw-r--r--tests/unigbrk/test-u32-grapheme-next.c5
-rw-r--r--tests/unigbrk/test-u32-grapheme-prev.c5
-rw-r--r--tests/unigbrk/test-u8-grapheme-breaks.c5
-rw-r--r--tests/unigbrk/test-u8-grapheme-next.c5
-rw-r--r--tests/unigbrk/test-u8-grapheme-prev.c5
-rw-r--r--tests/unigbrk/test-uc-gbrk-prop.c2
-rw-r--r--tests/unigbrk/test-uc-gbrk-prop.h2
-rw-r--r--tests/unigbrk/test-uc-grapheme-breaks.c11
-rw-r--r--tests/unigbrk/test-uc-is-grapheme-break.c33
-rw-r--r--tests/unigbrk/test-ulc-grapheme-breaks.c5
-rw-r--r--tests/unilbrk/test-u16-possible-linebreaks.c6
-rw-r--r--tests/unilbrk/test-u16-width-linebreaks.c6
-rw-r--r--tests/unilbrk/test-u32-possible-linebreaks.c6
-rw-r--r--tests/unilbrk/test-u32-width-linebreaks.c6
-rw-r--r--tests/unilbrk/test-u8-possible-linebreaks.c6
-rw-r--r--tests/unilbrk/test-u8-width-linebreaks.c6
-rw-r--r--tests/unilbrk/test-ulc-possible-linebreaks.c6
-rw-r--r--tests/unilbrk/test-ulc-width-linebreaks.c6
-rw-r--r--tests/unimetadata/test-u-version.c39
-rw-r--r--tests/uniname/HangulSyllableNames.txt4
-rw-r--r--tests/uniname/NameAliases.txt46
-rw-r--r--tests/uniname/UnicodeData.txt47
-rw-r--r--tests/uniname/test-uninames.c2
-rw-r--r--tests/uninorm/NormalizationTest.txt46
-rw-r--r--tests/uninorm/test-canonical-decomposition.c2
-rw-r--r--tests/uninorm/test-compat-decomposition.c2
-rw-r--r--tests/uninorm/test-composition.c2
-rw-r--r--tests/uninorm/test-decomposing-form.c2
-rw-r--r--tests/uninorm/test-decomposition.c2
-rw-r--r--tests/uninorm/test-nfc.c2
-rw-r--r--tests/uninorm/test-nfd.c2
-rw-r--r--tests/uninorm/test-nfkc.c2
-rw-r--r--tests/uninorm/test-nfkd.c2
-rw-r--r--tests/uninorm/test-u16-nfc.c2
-rw-r--r--tests/uninorm/test-u16-nfd.c2
-rw-r--r--tests/uninorm/test-u16-nfkc.c2
-rw-r--r--tests/uninorm/test-u16-nfkd.c2
-rw-r--r--tests/uninorm/test-u16-normcmp.c2
-rw-r--r--tests/uninorm/test-u16-normcmp.h2
-rw-r--r--tests/uninorm/test-u16-normcoll.c2
-rw-r--r--tests/uninorm/test-u32-nfc-big.c2
-rw-r--r--tests/uninorm/test-u32-nfc.c2
-rw-r--r--tests/uninorm/test-u32-nfd-big.c2
-rw-r--r--tests/uninorm/test-u32-nfd.c2
-rw-r--r--tests/uninorm/test-u32-nfkc-big.c2
-rw-r--r--tests/uninorm/test-u32-nfkc.c2
-rw-r--r--tests/uninorm/test-u32-nfkd-big.c2
-rw-r--r--tests/uninorm/test-u32-nfkd.c2
-rw-r--r--tests/uninorm/test-u32-normalize-big.c2
-rw-r--r--tests/uninorm/test-u32-normalize-big.h2
-rw-r--r--tests/uninorm/test-u32-normcmp.c2
-rw-r--r--tests/uninorm/test-u32-normcmp.h2
-rw-r--r--tests/uninorm/test-u32-normcoll.c2
-rw-r--r--tests/uninorm/test-u8-nfc.c2
-rw-r--r--tests/uninorm/test-u8-nfd.c2
-rw-r--r--tests/uninorm/test-u8-nfkc.c2
-rw-r--r--tests/uninorm/test-u8-nfkd.c2
-rw-r--r--tests/uninorm/test-u8-normcmp.c2
-rw-r--r--tests/uninorm/test-u8-normcmp.h2
-rw-r--r--tests/uninorm/test-u8-normcoll.c2
-rw-r--r--tests/uninorm/test-uninorm-filter-nfc.c2
-rw-r--r--tests/unistdio/test-u16-asnprintf1.c2
-rw-r--r--tests/unistdio/test-u16-asnprintf1.h2
-rw-r--r--tests/unistdio/test-u16-printf1.h372
-rw-r--r--tests/unistdio/test-u16-vasnprintf1.c2
-rw-r--r--tests/unistdio/test-u16-vasnprintf2.c2
-rw-r--r--tests/unistdio/test-u16-vasnprintf3.c2
-rw-r--r--tests/unistdio/test-u16-vasprintf1.c2
-rw-r--r--tests/unistdio/test-u16-vsnprintf1.c2
-rw-r--r--tests/unistdio/test-u16-vsprintf1.c2
-rw-r--r--tests/unistdio/test-u32-asnprintf1.c2
-rw-r--r--tests/unistdio/test-u32-asnprintf1.h2
-rw-r--r--tests/unistdio/test-u32-printf1.h372
-rw-r--r--tests/unistdio/test-u32-vasnprintf1.c2
-rw-r--r--tests/unistdio/test-u32-vasnprintf2.c2
-rw-r--r--tests/unistdio/test-u32-vasnprintf3.c2
-rw-r--r--tests/unistdio/test-u32-vasprintf1.c2
-rw-r--r--tests/unistdio/test-u32-vsnprintf1.c2
-rw-r--r--tests/unistdio/test-u32-vsprintf1.c2
-rw-r--r--tests/unistdio/test-u8-asnprintf1.c2
-rw-r--r--tests/unistdio/test-u8-asnprintf1.h2
-rw-r--r--tests/unistdio/test-u8-printf1.h292
-rw-r--r--tests/unistdio/test-u8-vasnprintf1.c2
-rw-r--r--tests/unistdio/test-u8-vasnprintf2.c2
-rw-r--r--tests/unistdio/test-u8-vasnprintf3.c2
-rw-r--r--tests/unistdio/test-u8-vasprintf1.c2
-rw-r--r--tests/unistdio/test-u8-vsnprintf1.c2
-rw-r--r--tests/unistdio/test-u8-vsprintf1.c2
-rw-r--r--tests/unistdio/test-ulc-asnprintf1.c2
-rw-r--r--tests/unistdio/test-ulc-asnprintf1.h2
-rw-r--r--tests/unistdio/test-ulc-printf1.h206
-rw-r--r--tests/unistdio/test-ulc-vasnprintf1.c2
-rw-r--r--tests/unistdio/test-ulc-vasnprintf2.c2
-rw-r--r--tests/unistdio/test-ulc-vasnprintf3.c2
-rw-r--r--tests/unistdio/test-ulc-vasprintf1.c2
-rw-r--r--tests/unistdio/test-ulc-vsnprintf1.c2
-rw-r--r--tests/unistdio/test-ulc-vsprintf1.c2
-rw-r--r--tests/unistr/test-chr.h19
-rw-r--r--tests/unistr/test-cmp.h2
-rw-r--r--tests/unistr/test-cmp2.h2
-rw-r--r--tests/unistr/test-cpy-alloc.h2
-rw-r--r--tests/unistr/test-cpy.h2
-rw-r--r--tests/unistr/test-move.h2
-rw-r--r--tests/unistr/test-pcpy.h44
-rw-r--r--tests/unistr/test-set.h2
-rw-r--r--tests/unistr/test-stpcpy.h2
-rw-r--r--tests/unistr/test-stpncpy.h2
-rw-r--r--tests/unistr/test-strcat.h2
-rw-r--r--tests/unistr/test-strchr.h7
-rw-r--r--tests/unistr/test-strcmp.h2
-rw-r--r--tests/unistr/test-strcpy.h2
-rw-r--r--tests/unistr/test-strdup.h2
-rw-r--r--tests/unistr/test-strncat.h2
-rw-r--r--tests/unistr/test-strncmp.h2
-rw-r--r--tests/unistr/test-strncpy.h2
-rw-r--r--tests/unistr/test-strnlen.h2
-rw-r--r--tests/unistr/test-u-strstr.h40
-rw-r--r--tests/unistr/test-u-strtok.h12
-rw-r--r--tests/unistr/test-u16-check.c2
-rw-r--r--tests/unistr/test-u16-chr.c2
-rw-r--r--tests/unistr/test-u16-cmp.c2
-rw-r--r--tests/unistr/test-u16-cmp2.c2
-rw-r--r--tests/unistr/test-u16-cpy-alloc.c2
-rw-r--r--tests/unistr/test-u16-cpy.c2
-rw-r--r--tests/unistr/test-u16-mblen.c2
-rw-r--r--tests/unistr/test-u16-mbsnlen.c2
-rw-r--r--tests/unistr/test-u16-mbtouc-unsafe.c2
-rw-r--r--tests/unistr/test-u16-mbtouc.c2
-rw-r--r--tests/unistr/test-u16-mbtouc.h2
-rw-r--r--tests/unistr/test-u16-mbtoucr.c2
-rw-r--r--tests/unistr/test-u16-move.c2
-rw-r--r--tests/unistr/test-u16-next.c2
-rw-r--r--tests/unistr/test-u16-pcpy.c28
-rw-r--r--tests/unistr/test-u16-prev.c2
-rw-r--r--tests/unistr/test-u16-set.c2
-rw-r--r--tests/unistr/test-u16-stpcpy.c2
-rw-r--r--tests/unistr/test-u16-stpncpy.c2
-rw-r--r--tests/unistr/test-u16-strcat.c2
-rw-r--r--tests/unistr/test-u16-strchr.c2
-rw-r--r--tests/unistr/test-u16-strcmp.c2
-rw-r--r--tests/unistr/test-u16-strcmp.h2
-rw-r--r--tests/unistr/test-u16-strcoll.c2
-rw-r--r--tests/unistr/test-u16-strcpy.c2
-rw-r--r--tests/unistr/test-u16-strdup.c2
-rw-r--r--tests/unistr/test-u16-strlen.c2
-rw-r--r--tests/unistr/test-u16-strmblen.c2
-rw-r--r--tests/unistr/test-u16-strmbtouc.c2
-rw-r--r--tests/unistr/test-u16-strncat.c2
-rw-r--r--tests/unistr/test-u16-strncmp.c2
-rw-r--r--tests/unistr/test-u16-strncpy.c2
-rw-r--r--tests/unistr/test-u16-strnlen.c2
-rw-r--r--tests/unistr/test-u16-strstr.c3
-rw-r--r--tests/unistr/test-u16-strtok.c2
-rw-r--r--tests/unistr/test-u16-to-u32.c2
-rw-r--r--tests/unistr/test-u16-to-u8.c2
-rw-r--r--tests/unistr/test-u16-uctomb.c2
-rw-r--r--tests/unistr/test-u32-check.c2
-rw-r--r--tests/unistr/test-u32-chr.c2
-rw-r--r--tests/unistr/test-u32-cmp.c2
-rw-r--r--tests/unistr/test-u32-cmp2.c2
-rw-r--r--tests/unistr/test-u32-cpy-alloc.c2
-rw-r--r--tests/unistr/test-u32-cpy.c2
-rw-r--r--tests/unistr/test-u32-mblen.c2
-rw-r--r--tests/unistr/test-u32-mbsnlen.c2
-rw-r--r--tests/unistr/test-u32-mbtouc-unsafe.c2
-rw-r--r--tests/unistr/test-u32-mbtouc.c2
-rw-r--r--tests/unistr/test-u32-mbtouc.h2
-rw-r--r--tests/unistr/test-u32-mbtoucr.c2
-rw-r--r--tests/unistr/test-u32-move.c2
-rw-r--r--tests/unistr/test-u32-next.c2
-rw-r--r--tests/unistr/test-u32-pcpy.c28
-rw-r--r--tests/unistr/test-u32-prev.c2
-rw-r--r--tests/unistr/test-u32-set.c2
-rw-r--r--tests/unistr/test-u32-stpcpy.c2
-rw-r--r--tests/unistr/test-u32-stpncpy.c2
-rw-r--r--tests/unistr/test-u32-strcat.c2
-rw-r--r--tests/unistr/test-u32-strchr.c2
-rw-r--r--tests/unistr/test-u32-strcmp.c2
-rw-r--r--tests/unistr/test-u32-strcmp.h2
-rw-r--r--tests/unistr/test-u32-strcoll.c2
-rw-r--r--tests/unistr/test-u32-strcpy.c2
-rw-r--r--tests/unistr/test-u32-strdup.c2
-rw-r--r--tests/unistr/test-u32-strlen.c2
-rw-r--r--tests/unistr/test-u32-strmblen.c2
-rw-r--r--tests/unistr/test-u32-strmbtouc.c2
-rw-r--r--tests/unistr/test-u32-strncat.c2
-rw-r--r--tests/unistr/test-u32-strncmp.c2
-rw-r--r--tests/unistr/test-u32-strncpy.c2
-rw-r--r--tests/unistr/test-u32-strnlen.c2
-rw-r--r--tests/unistr/test-u32-strstr.c3
-rw-r--r--tests/unistr/test-u32-strtok.c2
-rw-r--r--tests/unistr/test-u32-to-u16.c2
-rw-r--r--tests/unistr/test-u32-to-u8.c2
-rw-r--r--tests/unistr/test-u32-uctomb.c2
-rw-r--r--tests/unistr/test-u8-check.c2
-rw-r--r--tests/unistr/test-u8-chr.c2
-rw-r--r--tests/unistr/test-u8-cmp.c2
-rw-r--r--tests/unistr/test-u8-cmp2.c2
-rw-r--r--tests/unistr/test-u8-cpy-alloc.c2
-rw-r--r--tests/unistr/test-u8-cpy.c2
-rw-r--r--tests/unistr/test-u8-mblen.c2
-rw-r--r--tests/unistr/test-u8-mbsnlen.c32
-rw-r--r--tests/unistr/test-u8-mbtouc-unsafe.c2
-rw-r--r--tests/unistr/test-u8-mbtouc.c85
-rw-r--r--tests/unistr/test-u8-mbtouc.h2
-rw-r--r--tests/unistr/test-u8-mbtoucr.c2
-rw-r--r--tests/unistr/test-u8-move.c2
-rw-r--r--tests/unistr/test-u8-next.c2
-rw-r--r--tests/unistr/test-u8-pcpy.c28
-rw-r--r--tests/unistr/test-u8-prev.c2
-rw-r--r--tests/unistr/test-u8-set.c2
-rw-r--r--tests/unistr/test-u8-stpcpy.c2
-rw-r--r--tests/unistr/test-u8-stpncpy.c2
-rw-r--r--tests/unistr/test-u8-strcat.c2
-rw-r--r--tests/unistr/test-u8-strchr.c2
-rw-r--r--tests/unistr/test-u8-strcmp.c2
-rw-r--r--tests/unistr/test-u8-strcmp.h2
-rw-r--r--tests/unistr/test-u8-strcoll.c2
-rw-r--r--tests/unistr/test-u8-strcpy.c2
-rw-r--r--tests/unistr/test-u8-strdup.c2
-rw-r--r--tests/unistr/test-u8-strlen.c2
-rw-r--r--tests/unistr/test-u8-strmblen.c2
-rw-r--r--tests/unistr/test-u8-strmbtouc.c2
-rw-r--r--tests/unistr/test-u8-strncat.c2
-rw-r--r--tests/unistr/test-u8-strncmp.c2
-rw-r--r--tests/unistr/test-u8-strncpy.c2
-rw-r--r--tests/unistr/test-u8-strnlen.c2
-rw-r--r--tests/unistr/test-u8-strstr.c3
-rw-r--r--tests/unistr/test-u8-strtok.c2
-rw-r--r--tests/unistr/test-u8-to-u16.c2
-rw-r--r--tests/unistr/test-u8-to-u32.c2
-rw-r--r--tests/unistr/test-u8-uctomb.c2
-rw-r--r--tests/uniwbrk/WordBreakTest.txt51
-rw-r--r--tests/uniwbrk/test-u16-wordbreaks.c2
-rw-r--r--tests/uniwbrk/test-u32-wordbreaks.c2
-rw-r--r--tests/uniwbrk/test-u8-wordbreaks.c2
-rw-r--r--tests/uniwbrk/test-uc-wordbreaks.c2
-rw-r--r--tests/uniwbrk/test-ulc-wordbreaks.c2
-rw-r--r--tests/uniwidth/test-u16-strwidth.c2
-rw-r--r--tests/uniwidth/test-u16-width.c2
-rw-r--r--tests/uniwidth/test-u32-strwidth.c2
-rw-r--r--tests/uniwidth/test-u32-width.c2
-rw-r--r--tests/uniwidth/test-u8-strwidth.c2
-rw-r--r--tests/uniwidth/test-u8-width.c2
-rw-r--r--tests/uniwidth/test-uc_width.c2
-rw-r--r--tests/uniwidth/test-uc_width2.c2
-rwxr-xr-xtests/uniwidth/test-uc_width2.sh30
-rw-r--r--tests/unsetenv.c2
-rw-r--r--tests/usleep.c2
-rw-r--r--tests/verify.h77
-rw-r--r--tests/w32sock.h2
-rw-r--r--tests/warn-on-use.h6
-rw-r--r--tests/wcrtomb.c4
-rw-r--r--tests/wctob.c2
-rw-r--r--tests/wctomb-impl.h4
-rw-r--r--tests/wctomb.c2
-rw-r--r--tests/windows-thread.c2
-rw-r--r--tests/windows-thread.h7
-rw-r--r--tests/windows-tls.c2
-rw-r--r--tests/windows-tls.h2
-rw-r--r--tests/xalloc-die.c4
-rw-r--r--tests/xalloc.h14
-rw-r--r--tests/xmalloc.c2
-rw-r--r--tests/zerosize-ptr.h2
-rw-r--r--version.sh6
-rw-r--r--woe32dll/export.h14
-rw-r--r--woe32dll/unistring-exports.c12
2176 files changed, 114866 insertions, 83221 deletions
diff --git a/ChangeLog b/ChangeLog
index 0da0b8c9..22f6e0ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,1582 +1,149 @@
-2022-09-18 Bruno Haible <bruno@clisp.org>
+2024-02-24 Bruno Haible <bruno@clisp.org>
- stdbool.mini.h: Improvements for MSVC 14 and Sun C++.
- Applies gnulib changes
- 2022-09-04 Bruno Haible <bruno@clisp.org>
- * stdbool.in.h (_Bool, bool, false, true): In C++ mode with
- MSVC 14, don't define these as macros.
- 2022-09-18 Bruno Haible <bruno@clisp.org>
- * stdbool.in.h (true): Redefine if it does not evaluate to 1 in
- the preprocessor.
-
-2022-07-18 Bruno Haible <bruno@clisp.org>
-
- Move gnulib-tool invocation back from autopull.sh to autogen.sh.
- * autogen.sh: Revert last change. Improve comments.
- * autopull.sh: Only call 'gitsub.sh pull'.
- * m4/init-package-version.m4: Revert last change.
-
-2022-07-17 Bruno Haible <bruno@clisp.org>
-
- Split autogen.sh into autopull.sh and autogen.sh.
- * autopull.sh: New file, based on autogen.sh.
- * autogen.sh: Remove code that was moved to autopull.sh. Remove
- --skip-gnulib option.
- * HACKING: Mention autopull.sh.
- * m4/init-package-version.m4: Update comment.
-
-2022-05-22 Bruno Haible <bruno@clisp.org>
-
- Add GNU Project notice.
- * JOIN-GNU: New file. Inspired by a suggestion from José E. Marchesi
- on the gnu-prog-discuss mailing list.
- * README: Refer to it.
- * Makefile.am (EXTRA_DIST): Add it.
-
-2022-05-15 Bruno Haible <bruno@clisp.org>
-
- Upgrade to libtool 2.4.7.
- * m4/libtool.m4: Update from libtool-2.4.7, with modifications.
- 2017-10-21 Bruno Haible <bruno@clisp.org>
- Fix -export-symbols and -export-symbols-regex support on
- Solaris 11.3.
- * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust symcode for
- Solaris.
- 2009-04-23 Bruno Haible <bruno@clisp.org>
- Fix recognition of "nm" command.
- * m4/libtool.m4 (LT_PATH_NM): Try "nm" program also when
- compiling for mingw in a cygwin environment.
- 2008-04-06 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
- CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
- to ${CONFIG_SHELL}.
- * m4/ltoptions.m4: Likewise.
- * m4/ltsugar.m4: Likewise.
- * m4/ltversion.m4: Likewise.
- * m4/lt~obsolete.m4: Likewise.
- * build-aux/ltmain.sh: Likewise.
-
-2022-01-05 Bruno Haible <bruno@clisp.org>
-
- doc: Document a new feature (already in version 1.0).
- * doc/uniconv.texi (uniconv.h): Document
- iconveh_question_replacement_character.
-
-2022-01-04 Bruno Haible <bruno@clisp.org>
-
- Prepare for 1.0 release.
+ Prepare for 1.2 release.
* version.sh: Bump version number, date, gnulib version.
* README: Update version.
- * NEWS: Update version.
- * lib/Makefile.am (LTV_*): Update to 4:0:2 (determined with help from
+ * lib/Makefile.am (LTV_*): Update to 6:0:1 (determined with help from
gnulib's libtool-next-version).
- * doc/libunistring.texi: Bump copyright year.
-
-2022-01-04 Bruno Haible <bruno@clisp.org>
-
- build: Update Windows DLL exports.
- * woe32dll/unistring-exports.c: Add new UC_PROPERTY_* variables.
-
-2021-12-31 Bruno Haible <bruno@clisp.org>
-
- doc: Update for Unicode 14.0.0.
- * doc/unictype.texi (Joining group): Document UC_JOINING_GROUP_THIN_YEH,
- UC_JOINING_GROUP_VERTICAL_TAIL.
- NEWS: Mention the update.
-
-2021-12-30 Bruno Haible <bruno@clisp.org>
-
- doc: Update for Unicode 11.0.0.
- * doc/unictype.texi (Joining group): Document
- UC_JOINING_GROUP_HANIFI_ROHINGYA_*.
-
-2021-12-30 Bruno Haible <bruno@clisp.org>
-
- doc: Document properties for Emojis.
- * doc/unictype.texi (Properties as objects): Document UC_PROPERTY_EMOJI,
- UC_PROPERTY_EMOJI_PRESENTATION, UC_PROPERTY_EMOJI_MODIFIER,
- UC_PROPERTY_EMOJI_MODIFIER_BASE, UC_PROPERTY_EMOJI_COMPONENT,
- UC_PROPERTY_EXTENDED_PICTOGRAPHIC.
- (Properties as functions): Document uc_is_property_emoji,
- uc_is_property_emoji_presentation, uc_is_property_emoji_modifier,
- uc_is_property_emoji_modifier_base, uc_is_property_emoji_component,
- uc_is_property_extended_pictographic.
- * NEWS: Mention the new properties.
-
-2021-12-29 Bruno Haible <bruno@clisp.org>
-
- doc: Update for new behaviour of line breaking functions.
- * doc/unilbrk.texi (unilbrk.h): Document UC_BREAK_CR_BEFORE_LF. Mention
- that this value can occur in the array returned by
- u*_possible_linebreaks and u*_width_linebreaks.
- * NEWS: Mention the change.
-
-2021-12-26 Bruno Haible <bruno@clisp.org>
-
- doc: Update for Unicode 10.0.0.
- * doc/unictype.texi (Joining group): Document
- UC_JOINING_GROUP_MALAYALAM_*.
- (Properties as objects): Document UC_PROPERTY_REGIONAL_INDICATOR.
- (Properties as functions): Document uc_is_property_regional_indicator.
-2021-12-26 Bruno Haible <bruno@clisp.org>
+2024-02-24 Bruno Haible <bruno@clisp.org>
- doc: Update for Unicode 9.0.0.
- * doc/unictype.texi (Joining group): Document
- UC_JOINING_GROUP_AFRICAN_*.
-
-2021-12-26 Bruno Haible <bruno@clisp.org>
-
- doc: Update for Unicode 7.0.0.
- * doc/unictype.texi (Joining group): Document
- UC_JOINING_GROUP_STRAIGHT_WAW, UC_JOINING_GROUP_MANICHAEAN_*.
-
-2021-12-26 Bruno Haible <bruno@clisp.org>
-
- doc: Update for Unicode 6.3.0.
- * doc/unictype.texi (Bidi class): Document UC_BIDI_LRI, UC_BIDI_RLI,
- UC_BIDI_FSI, UC_BIDI_PDI.
-
-2021-12-26 Bruno Haible <bruno@clisp.org>
-
- doc: Update for Unicode 6.1.0.
- * doc/unictype.texi (Joining group): Document
- UC_JOINING_GROUP_ROHINGYA_YEH.
-
-2021-12-16 Bruno Haible <bruno@clisp.org>
-
- doc: Clarify u{8,16,32}_grapheme_prev behaviour.
- Reported by Vincent Westenberg <vincent.westenberg@posteo.de> in
- <https://lists.gnu.org/archive/html/bug-libunistring/2021-12/msg00001.html>.
- * doc/unigbrk.texi (Grapheme cluster breaks in a string): Clarify that
- the u{8,16,32}_grapheme_prev functions, like u{8,16,32}_prev, work only
- on well-formed Unicode strings.
-
-2021-12-07 Bruno Haible <bruno@clisp.org>
-
- Clarify rationale for gl_INIT_PACKAGE.
- * m4/init-package-version.m4: Add more comments.
-
-2021-12-07 Bruno Haible <bruno@clisp.org>
-
- Fix some license headers.
- Reported by Dylan Aïssi <daissi@debian.org> at
- <https://savannah.gnu.org/bugs/?61459>.
- * lib/version.c: Change license header to LGPLv3+ or GPLv2+.
- * lib/unistring-notinline.h: Likewise.
- * lib/unistring/cdefs.h: Likewise.
- * lib/unistring/inline.h: Likewise.
- * lib/unistring/version.in.h: Likewise.
- * lib/unistring/woe32dll.in.h: Likewise.
-
-2021-08-07 Bruno Haible <bruno@clisp.org>
-
- Make gl_INIT_PACKAGE work with Automake >= 1.16.4.
- Reported and analyzed by Nicole Mazzuca <mazzucan@outlook.com> in
- <https://lists.gnu.org/archive/html/bug-libunistring/2021-08/msg00002.html>.
- * m4/init-package-version.m4 (gl_INIT_PACKAGE): Use a new macro
- gl_INIT_EMPTY.
- (gl_INIT_DUMMY): Expand to empty in two steps, via a new macro
- gl_INIT_DUMMY2.
-
-2021-07-25 Bruno Haible <bruno@clisp.org>
-
- u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
- * doc/unistr.texi (Creating Unicode strings): Update prototypes of
- u8_uctomb, u16_uctomb, u32_uctomb to match the change in gnulib on
- 2020-09-05.
-
-2021-05-30 Bruno Haible <bruno@clisp.org>
-
- Change license to LGPLv3+ or GPLv2+.
- * README (Copyright): Adjust section.
- * doc/libunistring.texi (Licenses): Change accordingly.
- * NEWS: Mention the change.
-
-2021-04-06 Bruno Haible <bruno@clisp.org>
-
- build: Fix the set of exported symbols on Alpine Linux.
- * build-aux/join-v-1: New file.
+ Generate the ChangeLog from the git history.
+ * autogen.sh (GNULIB_MODULES): Add gitlog-to-changelog.
+ * build-aux/git-log-fix: New file, from GNU coreutils.
* Makefile.am (EXTRA_DIST): Add it.
- * lib/Makefile.am (config.h): Use it instead of 'join -v 1'.
-
-2021-02-28 Bruno Haible <bruno@clisp.org>
-
- Update DEPENDENCIES.
- * DEPENDENCIES: List the normal dependencies of a package with an
- Autoconf-generated configure file. Update info regarding libiconv.
-
-2021-01-31 Bruno Haible <bruno@clisp.org>
-
- Switch to autoconf-2.71.
- * autogen.sh: Update comments.
-
-2020-12-09 Bruno Haible <bruno@clisp.org>
+ (dist-hook, gen-ChangeLog): New rules.
+ * ChangeLog.0: New file, moved here from ChangeLog, with a few added entries
+ for 2023.
+ * ChangeLog: New empty file.
+ * .gitattributes: Remove file.
- Allow use of autoconf-2.70.
- * autogen.sh: Update comments.
+2024-02-24 Bruno Haible <bruno@clisp.org>
-2020-11-21 Bruno Haible <bruno@clisp.org>
+ Update NEWS.
+ * NEWS: Mention the uN_strstr improvement, done in gnulib on 2023-04-02.
- build: Fix export of symbols in 64-bit mode on Windows.
- Reported by kenjiuno <h8mastre@gmail.com> in
- <https://savannah.gnu.org/bugs/?59491>.
- * woe32dll/export.h (IMP): Correct definition in 64-bit mode.
+2024-02-23 Bruno Haible <bruno@clisp.org>
-2020-09-06 Bruno Haible <bruno@clisp.org>
+ Improve doc.
+ Reported by Pádraig Brady <P@draigBrady.com>
+ in <https://lists.gnu.org/archive/html/bug-libunistring/2019-02/msg00000.html>.
- build: Add support for clang on Windows.
- * m4/woe32-dll.m4 (gl_WOE32_DLL): Set gl_cv_ld_autoimport to 'no' on
- MSVC and MSVC/clang.
+ * doc/unistr.texi (Comparing NUL terminated Unicode strings): Clarify that
+ uN_strcmp ignores locale collation rules.
+ * doc/unicase.texi: Fix typos.
+ (Case insensitive comparison): Clarify that uN_casecmp ignores locale collation
+ rules.
-2020-08-30 Bruno Haible <bruno@clisp.org>
+2024-02-23 Bruno Haible <bruno@clisp.org>
- build: Update after gnulib changed.
- * configure.ac (AC_PREREQ): Bump minimum Autoconf version to 2.64.
+ Improve doc.
+ Reported by Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
+ in <https://lists.gnu.org/archive/html/bug-libunistring/2016-11/msg00000.html>.
-2020-05-07 Daiki Ueno <ueno@gnu.org>
+ * doc/libunistring.texi (Conventions): Explain the (resultbuf, lengthp) return
+ value convention from the user's point of view.
- build: Update after gnulib changed
- In the latest Gnulib, the definition of _GL_UNUSED_PARAMETER is
- expanded at configure time of the consumer project. Let's include
- only the fallback definition in <unistring/cdefs.h>.
- Suggested by Dmitry Baryshkov <dbaryshkov@gmail.com> in:
- <https://lists.gnu.org/archive/html/bug-libunistring/2020-05/msg00001.html>.
- * lib/Makefile.am (unistring/cdefs.h): Don't generate the file.
- * lib/unistring/cdefs.h: Include the expanded form instead of ...
- * lib/unistring/cdefs.in.h: ... this.
- * gnulib-m4/.gitignore, gnulib-m4/gnulib-cache.m4, lib/.gitignore,
- tests/.gitignore: Updated.
+2024-02-23 Bruno Haible <bruno@clisp.org>
-2019-12-23 Bruno Haible <bruno@clisp.org>
+ Clarify documentation of uc_mirror_char, part 2.
+ * doc/unictype.texi (Mirrored character): Explain which characters
+ are affected.
- doc: Update description of locale_charset.
- * doc/uniconv.texi (uniconv.h): Fix reference to config.charset, which
- was removed on 2018-05-19.
+2024-02-23 Bruno Haible <bruno@clisp.org>
-2019-12-22 Bruno Haible <bruno@clisp.org>
-
- build: Don't erase the .sym file if 'sed' is not GNU sed.
- * lib/Makefile.am (libunistring.sym): Test the exit status of the
- declared.sh command. Preserve the existing libunistring.sym if it
- failed.
-
-2019-12-22 Bruno Haible <bruno@clisp.org>
-
- build: Update after gnulib changed.
- * lib/Makefile.am (libunistring.sym): Don't rename the
- gl_get_setlocale_null_lock function.
- * NEWS: Document the fixed multithread-safety bugs:
- 2019-12-18 Bruno Haible <bruno@clisp.org>
- hard-locale: Make multithread-safe.
- This fix impacts mbrtowc on Cygwin and Haiku.
- 2019-12-17 Bruno Haible <bruno@clisp.org>
- localcharset: Fix multithread-safety bug on Windows and OS/2.
-
-2019-12-22 Bruno Haible <bruno@clisp.org>
-
- build: Fix spurious error message in 'doc'.
- * doc/Makefile.am (RM): New variable.
-
-2019-12-19 Bruno Haible <bruno@clisp.org>
-
- build: Remove generated lib/uni*.h files from the tarball.
- * lib/Makefile.am (nodist_include_HEADERS): New variable.
- (nobase_include_HEADERS): Remove the headers files listed in
- nodist_include_HEADERS.
-
-2019-09-01 Bruno Haible <bruno@clisp.org>
-
- build: Explain how to avoid skipped tests.
- * HACKING: Explain which locales to install, to avoid skipped tests.
-
-2019-09-01 Bruno Haible <bruno@clisp.org>
-
- build: Add support for shallow-cloning of subdirectories.
- * gitsub.sh (func_usage): Document allowed git options with 'git pull'.
- (func_pull): Accept GIT_OPTIONS argument.
- (pull): Parse git options before complaining about too many arguments.
- Pass the git options to func_pull.
-
-2019-08-18 Bruno Haible <bruno@clisp.org>
-
- build: Don't use an obsolete libtool macro.
- * m4/exported.m4 (gt_GLOBAL_SYMBOL_PIPE): Require
- _LT_CMD_GLOBAL_SYMBOLS, not AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE.
-
-2019-06-30 Bruno Haible <bruno@clisp.org>
-
- build: Fix build errors with MSVC.
- * lib/exported.sh.in: Remove one level of eval.
- * lib/Makefile.am (config.h): Redirect compiler output to stderr.
- Remove symbols that contain an '@'.
-
-2019-05-11 Bruno Haible <bruno@clisp.org>
-
- Update bug reporting instructions.
- * README: Tell users to report bugs in the bug tracker or by email.
- * doc/libunistring.texi (Reporting problems): Likewise.
-
-2019-04-01 Bruno Haible <bruno@clisp.org>
-
- build: Separate git operations from build operations.
- * gitsub.sh: New file, from gnulib.
- * .gitmodules: New file.
- * autogen.sh: Remove all git operations. Look at GNULIB_SRCDIR
- environment variable. Ignore the GNULIB_TOOL environment variable.
- * HACKING: Explain when to use gitsub.sh.
-
-2019-03-13 Bruno Haible <bruno@clisp.org>
-
- build: Update Windows support.
- * lib/libunistring.rc: Update.
-
-2019-02-13 Bruno Haible <bruno@clisp.org>
-
- doc: Assume that the texinfo sources are in the source dir.
- * doc/Makefile.am (stamp-vti, libunistring.html, libunistring_toc.html):
- Lookup libunistring.texi in $(srcdir).
-
-2019-02-13 Bruno Haible <bruno@clisp.org>
-
- doc: Fix hyperlinks to table of contents in HTML doc.
- Reported by Akim Demaille <akim.demaille@gmail.com>.
- * doc/Makefile.am (libunistring_toc.html): Replace references to
- libunistring.html with references to libunistring_toc.html.
-
-2019-02-13 Bruno Haible <bruno@clisp.org>
-
- doc: Make function declarations easier to read.
- * doc/uni*.texi: Inside the argument list of function declarations, use
- no-break spaces instead of spaces, except directly after a comma.
- * doc/libunistring.texi: Bump copyright year.
-
-2019-02-13 Bruno Haible <bruno@clisp.org>
-
- build: Put the .sym file in the source directory.
- * lib/Makefile.am (libunistring.sym): Generate in the source directory.
- (config.h): Update rule.
-
-2019-02-13 Bruno Haible <bruno@clisp.org>
-
- doc: Simplify the title page.
- * doc/libunistring.texi (titlepage): Remove redundant subtitle.
-
-2019-02-10 Bruno Haible <bruno@clisp.org>
-
- Update licenses.
- * doc/fdl.texi: Update from gnulib.
- * doc/gpl.texi: Likewise.
- * doc/lgpl.texi: Likewise.
-
-2019-02-10 Bruno Haible <bruno@clisp.org>
-
- Use a newer texinfo.tex.
- * autogen.sh (TEXINFO_VERSION): Bump to 6.5.
- Fetch texinfo.tex from the texinfo git repository instead of the
- obsolete texinfo CVS repository.
-
-2019-02-04 Bruno Haible <bruno@clisp.org>
-
- Remove left-over empty directories in 'make distclean'.
- * lib/Makefile.am (DISTCLEANDIRS, DISTCLEANDIRS_NOT_IN_SRCDIR): New
- variables.
- (distclean-local): New target.
- * tests/Makefile.am (distclean-local): New target.
-
-2019-02-04 Bruno Haible <bruno@clisp.org>
-
- Move run-test to gnulib.
- * autogen.sh: Copy build-aux/run-test from gnulib.
- * build-aux/run-test: Remove file.
-
-2019-02-03 Bruno Haible <bruno@clisp.org>
-
- Move declared.sh to gnulib.
- * autogen.sh: Copy lib/declared.sh from gnulib.
- * lib/declared.sh: Remove file.
-
-2019-01-28 Bruno Haible <bruno@clisp.org>
-
- Accommodate a shell that is not in /bin/sh.
- * autogen.sh: Patch build-aux/test-driver with a patch from gnulib.
-
-2018-10-23 Bruno Haible <bruno@clisp.org>
-
- Support for per-thread locales on systems with HAVE_NAMELESS_LOCALES.
- This allows 'uc_locale_language' to return the right locale name for
- locales created by newlocale() or duplocale() on such systems, if and
- only if the 'newlocale', 'duplocale' overrides from gnulib are used.
- * lib/Makefile.am (config.h): Don't hide symbols that start with
- 'libintl_locale'.
-
-2018-09-17 Bruno Haible <bruno@clisp.org>
-
- Remove the 'fixaclocal' auxiliary script.
- * autogen.sh: Don't invoke fixaclocal.
- * Makefile.am (ACLOCAL): Remove override.
- (EXTRA_DIST): Remove build-aux/fixaclocal.
- * build-aux/fixaclocal: Remove file.
-
-2018-05-17 Bruno Haible <bruno@clisp.org>
-
- Prepare for 0.9.10 release.
- * version.sh: Bump version number, date, gnulib version.
- * README: Update version.
+ Clarify documentation of uc_mirror_char.
+ Reported by Daurnimator <quae@daurnimator.com>
+ at <https://lists.gnu.org/archive/html/bug-libunistring/2016-11/msg00004.html>.
-2018-05-17 Bruno Haible <bruno@clisp.org>
+ * doc/unictype.texi (Mirrored character): Explain the surprising
+ behaviour.
- doc: Fix @menu structure (regression from 2017-12-10).
- * doc/libunistring.texi (Introduction): Fix @menu.
+2024-02-23 Bruno Haible <bruno@clisp.org>
-2018-05-17 Bruno Haible <bruno@clisp.org>
-
- Allow use of automake-1.16.
- * autogen.sh: Update comments.
-
-2018-04-07 Bruno Haible <bruno@clisp.org>
-
- Implement the documented functions u*_casing_*_context.
- Reported by Genki Sky <sky@genki.is>.
- * autogen.sh (GNULIB_MODULES): Add unicase/u*-prefix-context,
- unicase/u*-suffix-context.
- * lib/unicase/.gitignore: Update.
- * gnulib-m4/gnulib-cache.m4: Updated by gnulib-tool.
+ Document that in format strings, the %n directive is no longer supported.
+ * doc/unistdio.texi: Mention that %n is not supported.
* NEWS: Mention the change.
-2018-03-27 Bruno Haible <bruno@clisp.org>
-
- Doc tweaks.
- * README: Don't recommend to use --prefix=/usr/local, as it produces
- problems with GCC (since GCC's treatment of /usr/local/include and
- /usr/local/lib is inconsistent by default).
-
-2011-01-29 Bruno Haible <bruno@clisp.org>
-
- * m4/woe32-dll.m4: Add a comment.
-
-2018-02-28 Daiki Ueno <ueno@gnu.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
-
-2018-02-02 Bruno Haible <bruno@clisp.org>
+2024-02-21 Bruno Haible <bruno@clisp.org>
Update after gnulib changed.
- * NEWS: Mention the multithread-safety fix from gnulib module 'malloca'.
-
-2018-01-27 Bruno Haible <bruno@clisp.org>
-
- Rename some file.
- * INSTALL.windows: Renamed from README.windows.
- * Makefile.am (EXTRA_DIST): Update.
- * doc/libunistring.texi (Installation): Likewise.
-
-2017-12-10 Bruno Haible <bruno@clisp.org>
-
- Documentation updates.
- Mostly based on feedback by Richard Stallman <rms@gnu.org>.
- * doc/wchar_t.texi: New file, extracted from doc/libunistring.texi.
- * doc/Makefile.am (libunistring_TEXINFOS): Add it.
- * doc/libunistring.texi: Move "The wchar_t mess" section to an appendix.
- * doc/unitypes.texi: Explain difference between uint32_t and ucs4_t.
- * doc/unistr.texi (Elementary string functions,
- Elementary string functions on NUL terminated strings): Add subsection
- structure.
- * doc/unictype.texi (Object oriented API): Explain each general category
- once only.
- * doc/unistdio.texi, doc/uninorm.texi, doc/unicase.texi: Small changes.
-
-2017-11-30 Daiki Ueno <ueno@gnu.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * NEWS: Mention 0.9.8 changes.
- * lib/Makefile.am (LTV_CURRENT, LTV_AGE): Bump for
- uc_grapheme_breaks.
-
-2017-11-27 Daiki Ueno <ueno@gnu.org>
-
- uniwbrk: Define new word break property values
- * doc/uniwbrk.texi (Word break property): Document WBP_RI, WBP_DQ,
- WBP_SQ, WBP_HL, WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
-
-2017-11-27 Daiki Ueno <ueno@gnu.org>
-
- unigbrk: Import new module unigbrk/uc-grapheme-breaks
- * autogen.sh (GNULIB_MODULES): Pull unigbrk/uc-grapheme-breaks.
- * doc/unigbrk.texi (Grapheme cluster breaks in a string): Mention
- the limitations of *_grapheme_next and *_grapheme_prev functions
- and suggest *_grapheme_breaks instead.
- (Grapheme cluster break property): Document newly added
- properties; mention the limitations of uc_is_grapheme_break and
- suggest to use uc_grapheme_breaks instead.
-
-2017-11-18 Bruno Haible <bruno@clisp.org>
-
- Clarify the effect of uc_canonical_decomposition.
- Prompted by a report by DaeHyun Sung <sungdh86@gmail.com>.
- * doc/uninorm.texi (Decomposition of characters): Clarify.
- * doc/libunistring.texi: Bump copyright year.
-
-2017-10-21 Bruno Haible <bruno@clisp.org>
-
- Upgrade to newer libtool.
- * m4/libtool.m4: Update from libtool-2.4.6, with modifications.
- 2017-10-21 Bruno Haible <bruno@clisp.org>
- Fix -export-symbols and -export-symbols-regex support on
- Solaris 11.3.
- * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust symcode for
- Solaris.
- 2009-04-23 Bruno Haible <bruno@clisp.org>
- Fix recognition of "nm" command.
- * m4/libtool.m4 (LT_PATH_NM): Try "nm" program also when
- compiling for mingw in a cygwin environment.
- 2008-04-06 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
- CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
- to ${CONFIG_SHELL}.
- * m4/ltoptions.m4: Likewise.
- * m4/ltsugar.m4: Likewise.
- * m4/ltversion.m4: Likewise.
- * m4/lt~obsolete.m4: Likewise.
- * build-aux/ltmain.sh: Likewise.
-
-2017-07-15 Bruno Haible <bruno@clisp.org>
- Get rid of autom4te.cache directory (left over from autoconf, automake).
- * autogen.sh: Remove autom4te.cache directory.
+2024-02-21 Bruno Haible <bruno@clisp.org>
-2017-06-20 Bruno Haible <bruno@clisp.org>
+ Autogenerate the implementation of _libunistring_unicode_version.
+ * autogen.sh (GNULIB_MODULES): Add unimetadata/base, unimetadata/u-version.
+ * lib/Makefile.am (nodist_include_HEADERS): Add unimetadata.h.
+ (HEADERS_WITH_EXTERNS): Add unimetadata.h.
+ * lib/unistring/version.in.h: Include unimetadata.h.
+ (_libunistring_unicode_version): Remove declaration.
+ * lib/version.c: Undo last change.
+ * woe32dll/unistring-exports.c: Update comments.
- Avoid collision between the generated <unistring/stdbool.h> and the
- platform's original <stdbool.h>.
- Reported by Dennis Clarke <dclarke@blastwave.org> in
- <https://lists.gnu.org/archive/html/bug-gettext/2017-06/msg00022.html>.
- * lib/stdbool.mini.h: Update from stdbool.in.h from current gnulib. Use
- compiler dependent conditionals to determine whether <stdbool.h> should
- be included.
+2024-02-12 Bruno Haible <bruno@clisp.org>
-2017-01-10 Bruno Haible <bruno@clisp.org>
+ New property Prepended_Concatenation_Mark.
+ * doc/unictype.texi (Properties as objects): Document
+ UC_PROPERTY_PREPENDED_CONCATENATION_MARK.
+ (Properties as functions): Document uc_is_property_prepended_concatenation_mark.
+ * NEWS: Mention them.
- Modernize URLs.
- * README: Prefer https over http or ftp URLs.
- * DEPENDENCIES: Likewise.
+2024-01-31 Bruno Haible <bruno@clisp.org>
-2016-12-26 Bruno Haible <bruno@clisp.org>
+ New properties ID_Compat_Math_Continue ID_Compat_Math_Start IDS_Unary_Operator.
+ * doc/unictype.texi (Properties as objects): Document
+ UC_PROPERTY_ID_COMPAT_MATH_START, UC_PROPERTY_ID_COMPAT_MATH_CONTINUE,
+ UC_PROPERTY_IDS_UNARY_OPERATOR.
+ (Properties as functions): Document uc_is_property_id_compat_math_start,
+ uc_is_property_id_compat_math_continue, uc_is_property_ids_unary_operator.
+ * NEWS: Mention them.
- Clarify which version of texinfo.tex is used.
- * autogen.sh (TEXINFO_VERSION): New variable.
+2024-01-30 Bruno Haible <bruno@clisp.org>
-2016-12-10 Bruno Haible <bruno@clisp.org>
+ Update .gitignore.
- Make the generated <unistring/stdint.h> work for GCC >= 4.5
- when GCC is not the system's default compiler.
- * lib/Makefile.am (unistring/stdint.h): When the compiler is
- GCC >= 4.5, include its <stdint.h> file.
- Reported by Marcin Cieślak and analyzed by Krzysztof Malinowski
- at <https://savannah.gnu.org/bugs/?45783>.
+2024-01-30 Bruno Haible <bruno@clisp.org>
-2016-12-02 Daiki Ueno <ueno@gnu.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * NEWS: Mention 0.9.7 changes.
-
-2016-12-02 Bruno Haible <bruno@clisp.org>
-
- Change license to LGPLv3+ or GPLv2.
- * README (Copyright): Rewrite section.
- * doc/libunistring.texi (Licenses): Change accordingly.
- * autogen.sh: Pass option --lgpl=3orGPLv2 to gnulib-tool.
- Reported by Nikos Mavrogiannopoulos.
+ Update to Unicode 15.1.0.
+ * autogen.sh (GNULIB_MODULES): Add unictype/incb-all.
* gnulib-m4/gnulib-cache.m4: Regenerated.
+ * lib/version.c (_libunistring_unicode_version): Bump.
+ * doc/unictype.texi (Other attributes): New section.
+ * doc/unigbrk.texi (Grapheme cluster breaks in a string): Give some details
+ about when the functions have limitations.
+ * NEWS: Mention the change.
-2016-12-02 Bruno Haible <bruno@clisp.org>
-
- Allow use of automake-1.15.
- * autogen.sh: Update comments. Make sure to get new versions of files
- brought in by automake.
-
-2016-11-23 Bruno Haible <bruno@clisp.org>
-
- Update installation instructions for Windows.
- * README.windows: Assume a 64-bit Windows. Explain both 32-bit and
- 64-bit builds. Add instructions for the MS Visual C/C++ tool chain.
- Revamp instructions for Cygwin.
-
-2016-11-23 Bruno Haible <bruno@clisp.org>
-
- Drop the nickname "woe32".
- * README.windows: Renamed from README.woe32.
- * doc/libunistring.texi (Installation): Update.
- * Makefile.am (EXTRA_DIST): Update.
-
-2015-06-25 Daiki Ueno <ueno@gnu.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * NEWS: Mention 0.9.6 changes.
-
-2015-02-16 Daiki Ueno <ueno@gnu.org>
-
- * Version 0.9.5 released.
-
-2015-02-16 Daiki Ueno <ueno@gnu.org>
-
- * doc/uniname.texi (uniname.h): Document that
- unicode_name_character now also looks for aliases.
-
-2015-02-16 Daiki Ueno <ueno@gnu.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * NEWS: Mention 0.9.5 changes.
-
-2014-09-01 Daiki Ueno <ueno@gnu.org>
-
- * Version 0.9.4 released.
-
-2014-09-01 Daiki Ueno <ueno@gnu.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
-
-2014-09-01 Daiki Ueno <ueno@gnu.org>
-
- * configure.ac (AM_INIT_AUTOMAKE): Add dist-xz, so that xz-compressed
- .tar.xz tarballs will be distributed alongside .tar.gz ones.
-
-2014-08-08 Daiki Ueno <ueno@gnu.org>
-
- Replace deprecated $(mkdir_p) usage.
- Problem report and trivial fix by Nitin A Kamble in:
- https://lists.gnu.org/archive/html/bug-libunistring/2012-07/msg00000.html
- * doc/Makefile.am (installdirs-dvi, installdirs-ps)
- (installdirs-pdf, install-html-monolithic, install-html-split)
- (installdirs-html, dist-html-monolithic, dist-html-split): Use
- $(MKDIR_P) instead of deprecated $(mkdir_p).
-
-2014-08-08 Daiki Ueno <ueno@gnu.org>
-
- Fix parallel make race when generating unistring/cdefs.h.
- Trivial fix by Richard Purdie in:
- http://lists.openembedded.org/pipermail/openembedded-core/2012-April/059850.html
- * lib/Makefile.am (unistring/cdefs.h): Add $(UNUSED_PARAMETER_H)
- to prerequisites.
- Reported by Ludovic Courtès.
-
-2013-01-19 Bruno Haible <bruno@clisp.org>
-
- Fix license headers to be LGPL.
- * lib/stdbool.mini.h: Change license to LGPLv3+.
- * woe32dll/export.h: Likewise.
- * woe32dll/unistring-exports.c: Likewise.
- Reported by Ryan Schmidt.
-
-2012-04-29 Bruno Haible <bruno@clisp.org>
-
- Allow use of autoconf-2.69 and automake-1.12.
- * autogen.sh: Update comments.
-
-2012-01-15 Bruno Haible <bruno@clisp.org>
-
- Support for MSVC 9.
- * woe32dll/export.h (VARIABLE): Define to empty if not using GCC.
-
-2011-01-28 Bruno Haible <bruno@clisp.org>
-
- Add a comment.
- * woe32dll/export.h: Add a reference to the woe32dll writeup.
-
-2011-10-18 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Update from libtool-2.4.2, with modifications.
- 2009-04-23 Bruno Haible <bruno@clisp.org>
- Fix recognition of "nm" command.
- * m4/libtool.m4 (LT_PATH_NM): Try "nm" program also when
- compiling for mingw in a cygwin environment.
- 2008-04-06 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
- CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
- to ${CONFIG_SHELL}.
- * m4/ltoptions.m4: Likewise.
- * m4/ltversion.m4: Likewise.
- * build-aux/ltmain.sh: Likewise.
-
-2011-03-29 Bruno Haible <bruno@clisp.org>
-
- Add grapheme cluster break functions.
- * autogen.sh (GNULIB_MODULES): Add unigbrk/*.
- * gnulib-local/lib/unigbrk.in.h.diff: New file.
- * gnulib-local/Makefile.am (EXTRA_DIST): Add lib/unigbrk.in.h.diff.
- * lib/Makefile.am (nobase_include_HEADERS, HEADERS_WITH_EXTERNS): Add
- unigbrk.h.
- * doc/Makefile.am (libunistring_TEXINFOS): Move unigbrk.texi before
- uniwbrk.texi.
- * doc/libunistring.texi: Move chapter unigbrk.h before chapter
- uniwbrk.h.
- * doc/unigbrk.texi (unigbrk.h): Add more index entries. Enhance the
- explanation of what a grapheme cluster is.
- (Grapheme cluster break property): Add missing quotes. Avoid imperative
- form.
- * doc/uniwbrk.texi (uniwbrk.h): Add more index entries.
- * AUTHORS: List Ben Pfaff.
- * README: Mention the new include file unigbrk.h.
- * NEWS: Likewise.
-
-2011-03-28 Ben Pfaff <blp@cs.stanford.edu>
-
- Document grapheme cluster break functions.
- * doc/Makefile.am (libunistring_TEXINFOS): Add unigbrk.texi.
- * doc/libunistring.texi: Include unigbrk.texi and refer to it from
- the text and tables of content.
- * doc/unigbrk.texi: New file.
-
-2011-03-26 Bruno Haible <bruno@clisp.org>
-
- Allow omitting spaces in property names.
- * doc/unictype.texi (Properties as objects): Add details about how
- uc_property_byname works.
-
-2011-03-26 Bruno Haible <bruno@clisp.org>
-
- Allow omitting spaces in joining group names.
- * doc/unictype.texi (Joining group): Add details about how
- uc_joining_group_byname works.
-
-2011-03-26 Bruno Haible <bruno@clisp.org>
-
- Support long names of joining types.
- * doc/unictype.texi (Joining type): Document
- uc_joining_type_long_name. Mention that uc_joining_type_byname
- recognizes long names.
-
-2011-03-26 Bruno Haible <bruno@clisp.org>
-
- Support long names of bidi classes.
- * doc/unictype.texi (Bidi class): Document
- uc_bidi_class_long_name. Mention that uc_bidi_class_byname recognizes
- long names.
-
-2011-03-26 Bruno Haible <bruno@clisp.org>
-
- Update after gnulib changed.
- * autogen.sh (GNULIB_MODULES): Use unictype/bidiclass-all instead of
- unictype/bidicategory-all.
-
-2011-03-26 Bruno Haible <bruno@clisp.org>
-
- Support names and long names of canonical combining classes.
- * autogen.sh (GNULIB_MODULES): Use unictype/combining-class-all instead
- of unictype/combining-class.
- * doc/unictype.texi (Canonical combining class): Mention UC_CCC_ATA.
- Document the functions uc_combining_class_name,
- uc_combining_class_long_name, uc_combining_class_byname.
-
-2011-03-25 Bruno Haible <bruno@clisp.org>
-
- Support long names of general category values.
- * doc/unictype.texi (Object oriented API): Document
- uc_general_category_long_name. Mention that uc_general_category_byname
- recognizes long names.
-
-2011-03-25 Bruno Haible <bruno@clisp.org>
-
- Add support for general category group LC.
- * doc/unictype.texi (Object oriented API): Mention UC_CATEGORY_LC,
- UC_CASED_LETTER.
- (Bit mask API): Mention UC_CATEGORY_MASK_LC.
-
-2011-03-22 Bruno Haible <bruno@clisp.org>
-
- Use term "bidi class" instead of "bidirectional category".
- * doc/libunistring.texi: Update menu.
- * doc/unictype.texi (Bidi class): Renamed from Bidirectional category.
- Mention the new function names.
-
-2011-03-21 Bruno Haible <bruno@clisp.org>
-
- Add support for Arabic shaping properties.
- * autogen.sh (GNULIB_MODULES): Add unictype/joiningtype-all,
- unictype/joininggroup-all.
- * doc/libunistring.texi: Update menu.
- * doc/unictype.texi (Arabic shaping): New section.
-
-2011-01-09 Bruno Haible <bruno@clisp.org>
-
- Update to Unicode 6.0.0.
-
-2011-01-09 Bruno Haible <bruno@clisp.org>
-
- Update to Unicode 5.2.0.
- * doc/unictype.texi: Mention the 7 new character properties.
-
-2011-01-09 Bruno Haible <bruno@clisp.org>
-
- Bump copyright year.
- * lib/libunistring.rc: Add year 2011.
-
-2010-12-07 Bruno Haible <bruno@clisp.org>
-
- Effects of renaming u8_strcmp on Solaris platforms.
- * lib/Makefile.am (LTV_*): Bump to 2:0:0.
-
-2010-11-27 Bruno Haible <bruno@clisp.org>
-
- Export also undocumented symbols.
- * lib/Makefile.am (libunistring.sym): Don't remove _UC* symbols.
-
-2010-11-13 Bruno Haible <bruno@clisp.org>
-
- Improve documentation.
- * doc/unistr.texi (Elementary string checks): Add an index entry.
- (Elementary string functions on NUL terminated strings): Enhance doc
- about uN_prev.
- Reported by Ben Pfaff <blp@cs.stanford.edu>.
-
-2010-10-04 Bruno Haible <bruno@clisp.org>
-
- Update after gnulib changed.
- * lib/Makefile.am (libunistring_la_LDFLAGS): Remove 'no-undefined' and
- dependencies.
-
-2010-09-26 Bruno Haible <bruno@clisp.org>
-
- Fix exported symbol list in VPATH builds after 2010-05-16 change.
- * lib/Makefile.am (libunistring.sym): Find header files in the right
- directory.
-
-2010-09-23 Bruno Haible <bruno@clisp.org>
-
- Update after gnulib changed.
- * lib/Makefile.am (MOSTLYCLEANDIRS): New variable.
-
-2010-09-23 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Update from libtool-2.4, with modifications.
- 2009-04-23 Bruno Haible <bruno@clisp.org>
- Fix recognition of "nm" command.
- * m4/libtool.m4 (LT_PATH_NM): Try "nm" program also when
- compiling for mingw in a cygwin environment.
- 2008-04-06 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
- CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
- to ${CONFIG_SHELL}.
- * m4/ltversion.m4: Update from libtool-2.4.
- * build-aux/ltmain.sh: Likewise.
-
-2010-09-14 Bruno Haible <bruno@clisp.org>
-
- Update after gnulib changed.
- * autogen.sh: Update creation of lib/unistr.in.h.
-
-2010-09-04 Bruno Haible <bruno@clisp.org>
-
- Simplify use of gnulib-tool now that gnulib-tool --import works better.
- * autogen.sh: Don't remove gnulib-cache.m4 before running gnulib-tool.
-
-2010-06-04 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Update from libtool-2.2.8, with modifications.
- 2009-04-23 Bruno Haible <bruno@clisp.org>
- Fix recognition of "nm" command.
- * m4/libtool.m4 (LT_PATH_NM): Try "nm" program also when
- compiling for mingw in a cygwin environment.
- 2008-04-06 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
- CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
- to ${CONFIG_SHELL}.
- * m4/ltoptions.m4: Update from libtool-2.2.8.
- * m4/ltversion.m4: Likewise.
- * m4/lt~obsolete.m4: Likewise.
- * build-aux/ltmain.sh: Likewise.
-
-2010-06-01 Bruno Haible <bruno@clisp.org>
-
- Avoid possible bad interaction with Solaris 2.5.1 <pthread.h>.
- * lib/stdint.mini.h (_UINT64_T): Don't define.
- Reported by Ben Pfaff <blp@cs.stanford.edu>.
-
-2010-05-16 Bruno Haible <bruno@clisp.org>
+2024-01-30 Bruno Haible <bruno@clisp.org>
Update after gnulib changed.
- * gnulib-local/lib/unicase.in.h.diff: Renamed from
- gnulib-local/lib/unicase.h.diff.
- * gnulib-local/lib/uniconv.in.h.diff: Renamed from
- gnulib-local/lib/uniconv.h.diff.
- * gnulib-local/lib/unictype.in.h.diff: Renamed from
- gnulib-local/lib/unictype.h.diff.
- * gnulib-local/lib/unilbrk.in.h.diff: Renamed from
- gnulib-local/lib/unilbrk.h.diff.
- * gnulib-local/lib/uninorm.in.h.diff: Renamed from
- gnulib-local/lib/uninorm.h.diff.
- * gnulib-local/lib/unistr.in.h.diff: Renamed from
- gnulib-local/lib/unistr.h.diff.
- * gnulib-local/lib/unitypes.in.h.diff: Renamed from
- gnulib-local/lib/unitypes.h.diff.
- * gnulib-local/lib/uniwidth.in.h.diff: Renamed from
- gnulib-local/lib/uniwidth.h.diff.
- * gnulib-local/Makefile.am (EXTRA_DIST): Update.
- * gnulib-local/modules/unictype/category-none-tests.diff: Update.
- * autogen.sh: Update.
-
-2010-05-14 Bruno Haible <bruno@clisp.org>
-
- Publicize also the subminor version number.
- * lib/unistring/version.in.h (_LIBUNISTRING_VERSION,
- _libunistring_version): Include also the subminor version.
- * configure.ac (HEXVERSION): Likewise.
-
-2010-05-02 Bruno Haible <bruno@clisp.org>
-
- * Version 0.9.3 released.
-
-2010-05-02 Bruno Haible <bruno@clisp.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * lib/Makefile.am (LTV_*): Update to 1:2:1.
-
-2010-05-02 Bruno Haible <bruno@clisp.org>
-
- * gnulib-m4/gnulib-cache.m4: Updated by gnulib-tool.
-
-2010-03-30 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Update for Cygwin 1.7.x.
-
-2010-03-29 Bruno Haible <bruno@clisp.org>
-
- Undo last change, not needed any more.
- * configure.ac: Remove LT_LANG([C++]) invocation.
-
-2010-03-12 Bruno Haible <bruno@clisp.org>
-
- Fix libtool failure with gnulib C++ tests.
- * configure.ac: Add LT_LANG([C++]) invocation.
- Reported by Ludovic Courtès <ludo@gnu.org>.
-
-2010-01-10 Bruno Haible <bruno@clisp.org>
-
- * doc/unistr.texi (Elementary string functions on NUL terminated
- strings): Change description of u*_stpncpy return value to be
- consistent with stpncpy in glibc.
-
-2010-01-01 Bruno Haible <bruno@clisp.org>
-
- * Version 0.9.2.1 released.
-
-2010-01-01 Bruno Haible <bruno@clisp.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * doc/libunistring.texi: Update copyright year.
- * lib/libunistring.rc: Likewise.
-
-2009-12-26 Bruno Haible <bruno@clisp.org>
-
- * Version 0.9.2 released.
-
-2009-12-26 Bruno Haible <bruno@clisp.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
- * lib/Makefile.am (LTV_*): Update to 1:1:1.
- * NEWS: Mention what changed.
-
-2009-12-26 Bruno Haible <bruno@clisp.org>
-
- * lib/libunistring.rc: Update.
-
-2009-12-26 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.am (EXTRA_DIST): Add unistring/cdefs.in.h.
-
-2009-12-24 Bruno Haible <bruno@clisp.org>
-
- Update after gnulib added module 'unused-parameter'.
- * gnulib-local/lib/unistr.h.diff: Replace the #include of
- "unused-parameter.h".
- * lib/unistring/cdefs.in.h: Renamed from lib/unistring/cdefs.h. Replace
- the _UNUSED_PARAMETER_ with a placeholder for _GL_UNUSED_PARAMETER.
- * lib/Makefile.am (unistring/cdefs.h): New rule.
- (BUILT_SOURCES, MOSTLYCLEANFILES, CLEANFILES): Augment.
-
-2009-12-12 Bruno Haible <bruno@clisp.org>
-
- * lib/libunistring.rc: Untabify.
- * woe32dll/export.h: Likewise.
-
-2009-12-09 Bruno Haible <bruno@clisp.org>
-
- Ensure _UNUSED_PARAMETER_ is defined in the public header files.
- * lib/unistring/cdefs.h: New file, based on gnulib/m4/gnulib-common.m4.
- * lib/Makefile.am (nobase_nodist_include_HEADERS): Add it.
- * gnulib-local/lib/unistr.h.diff: Include unistring/cdefs.h.
- Reported by Mike Gran <spk121@yahoo.com>.
-
-2009-09-01 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Put the -mno-cygwin option into CC and CXX.
- Recommended by Paolo Bonzini and Eric Blake.
-
-2009-08-17 Bruno Haible <bruno@clisp.org>
-
- * Version 0.9.1.1 released.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * version.sh: Bump version number and date.
- * README: Update version.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * doc/Makefile.am (dist-html-split): Depend on libunistring_toc.html.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- Fix build error when a non-GNU C compiler or Solaris is used.
- * lib/Makefile.am (unistring/stdbool.h): Depend on stdbool.mini.h.
- (EXTRA_DIST): Add stdbool.mini.h.
-
-2009-06-30 Bruno Haible <bruno@clisp.org>
-
- * Version 0.9.1 released.
-
-2009-06-30 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/unistring-exports.c: Add unicase_empty_prefix_context,
- unicase_empty_suffix_context.
-
-2009-06-30 Bruno Haible <bruno@clisp.org>
-
- * version.sh: Bump date.
- * lib/Makefile.am (LTV_*): Update to 1:0:1.
- * README: Update version.
-
-2009-06-30 Bruno Haible <bruno@clisp.org>
-
- * doc/unicase.texi (Case mappings of substrings): Add an example.
-
-2009-06-29 Bruno Haible <bruno@clisp.org>
-
- New functions for case mapping of substrings.
- * autogen.sh (GNULIB_MODULES): Add unicase/* modules relating to
- context sensitive case mapping. Preprocess also unicase.h.
- * doc/unicase.texi (Case mappings of substrings): New section.
- (Case insensitive comparison): Mention u*_ct_casefold functions.
- * doc/libunistring.texi: Update menu.
- Reported by Paolo Bonzini.
-
-2009-06-11 Thien-Thi Nguyen <ttn@gnuvola.org>
-
- * doc/libunistring.texi (Autoconf macro): Small fixes.
-
-2009-05-31 Bruno Haible <bruno@clisp.org>
-
- * doc/Makefile.am: Use dist-hook instead of old distdir hack.
- * configure.ac (doc/Makefile.am): Don't invoke FIX_MAKEFILE_DISTRIB.
- * m4/fixautomake.m4: Remove file.
-
-2009-05-30 Bruno Haible <bruno@clisp.org>
-
- Generate a compiler independent <unistring/stdint.h>.
- * lib/Makefile.am (unistring/stdint.h): Produce a file that relies
- on more #ifs.
- Reported by David Byron <dbyron@dbyron.com>.
-
-2009-05-30 Bruno Haible <bruno@clisp.org>
-
- Generate a compiler independent <unistring/stdbool.h>.
- * lib/stdbool.mini.h: New file, a reduced version of gnulib's
- lib/stdbool.in.h.
- * lib/Makefile.am (unistring/stdbool.h): Produce a file that relies
- on #ifs.
- Reported by David Byron <dbyron@dbyron.com>.
-
-2009-05-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (AM_INIT_AUTOMAKE): Add 'silent-rules' option.
-
-2009-05-23 Bruno Haible <bruno@clisp.org>
-
- * m4/init-package-version.m4: New file, from GNU gettext..
- * configure.ac: Invoke gl_INIT_PACKAGE. Use the preferred form of
- AM_INIT_AUTOMAKE.
-
-2009-05-21 Bruno Haible <bruno@clisp.org>
-
- Colored "make check" output.
- * tests/Makefile.am (AUTOMAKE_OPTIONS): Add 1.11 and color-tests.
- * autogen.sh: Update comment.
-
-2009-05-21 Bruno Haible <bruno@clisp.org>
-
- Add support for automake 1.11.
- * m4/fixautomake.m4: Update from GNU gettext.
- * autogen.sh: Update comment.
-
-2009-05-10 Bruno Haible <bruno@clisp.org>
-
- * doc/unictype.texi (Mirrored character): Fix typo.
- Reported by David Byron <dbyron@dbyron.com>.
-
-2009-05-10 Bruno Haible <bruno@clisp.org>
-
- * doc/unicase.texi (Case mappings of characters,
- Case mappings of strings): Explain what title case is.
- Reported by Paolo Bonzini.
-
-2009-05-06 Bruno Haible <bruno@clisp.org>
-
- * doc/libunistring.texi (texnl): Define using a trick by Karl Berry.
- Add braces to all its uses.
- * doc/unictype.texi: Likewise.
- * doc/uniwbrk.texi: Likewise.
-
-2009-05-03 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.am (config.h): Echo the commands that are being
- executed.
- Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
-
-2009-05-03 Bruno Haible <bruno@clisp.org>
-
- * HACKING (Building): Mention also the configure option
- --disable-static.
-
-2009-05-03 Bruno Haible <bruno@clisp.org>
-
- New configure option --disable-namespacing.
- * configure.ac: New option --disable-namespacing.
- (NAMESPACING): New substituted variable.
- * lib/Makefile.am (config.h): Don't alias any symbols if NAMESPACING is
- set to empty.
- * HACKING: New section "Building".
-
-2009-05-01 Bruno Haible <bruno@clisp.org>
-
- * doc/libunistring.texi: Enable the table of contents also in TeX mode.
-
-2009-05-01 Bruno Haible <bruno@clisp.org>
-
- Avoid "overfull hboxes" in the TeXed documentation.
- * doc/libunistring.texi (texnl): New macro.
- (Unicode, Autoconf macro): Use it.
- * doc/unictype.texi (Canonical combining class,
- Bidirectional category): Likewise.
- * doc/uniwbrk.texi (Word break property): Likewise.
- Reported by Ralf Wildenhues.
-
-2009-05-01 Bruno Haible <bruno@clisp.org>
-
- * lib/exported.sh.in: Fix quoting of argument reference.
-
-2009-05-01 Bruno Haible <bruno@clisp.org>
-
- * version.sh (GNULIB_GIT_COMMIT): New variable.
- * HACKING: Clarify which version of gnulib to use.
- Reported by Paolo Bonzini.
-
-2009-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
-
- * doc/libunistring.texi: Fix typos.
- * doc/unistr.texi: Likewise.
- * doc/uniname.texi: Likewise.
- * doc/unictype.texi: Likewise.
- * doc/uninorm.texi: Likewise.
-
-2009-04-28 Bruno Haible <bruno@clisp.org>
-
- Make VPATH builds work off a git checkout.
- * lib/Makefile.am (config.h): Look for libunistring.sym first in the
- current directory.
- Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
-
-2009-04-28 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
-
- Fix typos.
- * doc/uniconv.texi (uniconv.h): Fix typo.
- * doc/unictype.texi (Properties): Fix typo.
-
-2009-04-28 Bruno Haible <bruno@clisp.org>
-
- Doc tweaks.
- * doc/libunistring.texi: Fix typo.
- * doc/unistr.texi (u*_cmp2): Clarify what memcmp2 is.
- * doc/uninorm.texi (u*_normxfrm): Fix description of return value.
- * doc/unicase.texi (u*_casexfrm): Likewise.
- Reported by Paolo Bonzini.
-
-2009-04-26 Bruno Haible <bruno@clisp.org>
-
- * Version 0.9 released.
-
-2009-04-26 Bruno Haible <bruno@clisp.org>
-
- * version.sh: Bump date.
-
-2009-04-26 Bruno Haible <bruno@clisp.org>
-
- * doc/libunistring.texi: Initialize 'am' index.
- (Using the library): New chapter.
-
-2009-04-26 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: New file, from GNU gettext.
- * Makefile.am (EXTRA_DIST): Add it.
-
-2009-04-26 Bruno Haible <bruno@clisp.org>
-
- * doc/uniconv.texi: Update for changed calling conventions of
- u*_conv_from_encoding and u*_conv_to_encoding functions.
-
-2009-04-24 Bruno Haible <bruno@clisp.org>
-
- Make VPATH builds on Cygwin work.
- * lib/Makefile.am (AM_CPPFLAGS): Add the essential -I options.
-
-2009-04-24 Bruno Haible <bruno@clisp.org>
-
- * gnulib-m4/gnulib-cache.m4: Updated by gnulib-tool.
-
-2009-04-24 Bruno Haible <bruno@clisp.org>
-
- Make the installed package relocatable.
- * autogen.sh (GNULIB_MODULES): Add relocatable-lib-lgpl.
- * lib/Makefile.am (AM_CPPFLAGS): Add DEPENDS_ON_LIBICONV definition.
-
-2009-04-23 Bruno Haible <bruno@clisp.org>
-
- Fix recognition of "nm" command.
- * m4/libtool.m4 (LT_PATH_NM): Try "nm" program also when compiling for
- mingw in a cygwin environment.
-
-2009-04-23 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Fix recognition of 'link' command.
- 2009-01-26 Peter Rosin <peda@lysator.liu.se>
- Don't settle for any dumpbin/link program as name lister.
- * m4/libtool.m4 (LT_PATH_NM): When locating dumpbin or
- link -dump, check if they appear to really be capable of name
- listing, in order to eliminate e.g. link from coreutils. This
- makes the name lister decision fall back on nm as the default
- if no acceptable candidate is found, which mainly happens on
- (arguably broken) cross compiles.
-
-2008-04-21 Bruno Haible <bruno@clisp.org>
-
- Add version metainformation in Windows resource format.
- * configure.ac: Invoke LT_LANG for Windows Resources.
- (WOE32): New conditional.
- * lib/libunistring.rc: New file.
- * lib/Makefile.am (EXTRA_DIST): Add it.
- (WOE32_LIBADD): New variable.
- (libunistring.res.lo): New rule.
- (libunistring_la_LIBADD, libunistring_la_DEPENDENCIES): Add
- WOE32_LIBADD.
- (config.h): Don't compile *.res.c files.
- * build-aux/windres-options: New file, from GNU gettext.
- * Makefile.am (EXTRA_DIST): Add it.
-
-2008-04-21 Bruno Haible <bruno@clisp.org>
-
- Add version metainformation.
- * configure.ac (AC_CONFIG_SRCDIR): Use lib/unistring/version.in.h.
- (HEXVERSION): New variable, computed from VERSION.
- (AC_CONFIG_FILES): Add lib/unistring/version.h.
- * lib/unistring/version.in.h: New file.
- * lib/version.c: New file.
- * lib/Makefile.am (libunistring_la_SOURCES): Add version.c.
- (nobase_nodist_include_HEADERS): Add unistring/version.h.
- (HEADERS_WITH_EXTERNS): Add unistring/version.in.h.
- * woe32dll/unistring-exports.c: Add _libunistring_version.
-
-2008-04-19 Bruno Haible <bruno@clisp.org>
-
- Avoid compilation errors in tests/uninorm/test-nf*.c.
- * configure.ac (WOE32DLL): Define also as a C macro.
-
-2008-04-19 Bruno Haible <bruno@clisp.org>
-
- Avoid a compilation error of tests/unictype/test-categ_none.c.
- * gnulib-local/modules/unictype/category-none-tests.diff: New file.
- * gnulib-local/Makefile.am (EXTRA_DIST): Add it.
-
-2008-04-19 Bruno Haible <bruno@clisp.org>
-
- Don't commit files brought in by autogen.sh.
- * build-aux/config.guess: Remove from git repository.
- * build-aux/config.sub: Likewise.
-
-2008-04-19 Bruno Haible <bruno@clisp.org>
-
- Add support for building as shared library on Cygwin and mingw.
- * autogen.sh: Insert LIBUNISTRING_DLL_VARIABLE tokens into
- lib/unictype.h and lib/uninorm.h.
- * gnulib-local/lib/unictype.h.diff: Add an include of
- <unistring/woe32dll.h>.
- * gnulib-local/lib/uninorm.h.diff: New file.
- * gnulib-local/Makefile.am (EXTRA_DIST): Add it.
- * lib/unistring/woe32dll.in.h: New file.
- * woe32dll/unistring-exports.c: New file.
- * woe32dll/export.h: New file, from GNU gettext.
- * Makefile.am (EXTRA_DIST): Add it.
- * configure.ac (WOE32DLL): New conditional.
- (DLL_VARIABLE): New substituted variable.
- (AC_CONFIG_FILES): Add lib/unistring/woe32dll.h.
- * lib/Makefile.am (nobase_nodist_include_HEADERS): Add
- unistring/woe32dll.h.
- (libunistring_la_SOURCES) [WOE32DLL]: Add unistring-exports.c.
- (libunistring_la_LDFLAGS) [WOE32DLL]: Add --export-all-symbols linker
- flag.
- (config.h): Remove unused macro DLL_VARIABLE.
-
-2008-04-19 Bruno Haible <bruno@clisp.org>
-
- Don't use unreliable linker options on native Windows.
- * m4/woe32-dll.m4: New file, from GNU gettext.
- * configure.ac: Invoke gl_WOE32_DLL.
-
-2008-04-11 Bruno Haible <bruno@clisp.org>
-
- Limit the exported symbols through a config.h trick.
- * m4/exported.m4: New file, from GNU gettext.
- * lib/exported.sh.in: New file, from GNU gettext.
- * configure.ac: Invoke gt_GLOBAL_SYMBOL_PIPE.
- (AC_CONFIG_FILES): Add lib/exported.sh.
- * lib/declared.sh: New file, borrowing from GNU gettext's moopp.
- * lib/Makefile.am (HEADERS_WITH_EXTERNS): New variable.
- (libunistring.sym, config.h): New rules.
- (MOSTLYCLEANFILES, MAINTAINERCLEANFILES): Update accordingly.
- (EXTRA_DIST): Add libunistring.sym, declared.sh.
- * tests/Makefile.am (DEFAULT_INCLUDES): New variable.
- * HACKING: Require GNU sed.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- Install all auxiliary include files in a subdirectory.
- * lib/unistring/inline.h: Renamed from lib/unistring-inline.h.
- * configure.ac: Invoke AC_PROG_MKDIR_P.
- * lib/Makefile.am (nobase_include_HEADERS): Renamed from
- include_HEADERS. Change unistring-inline.h to unistring/inline.h.
- (nobase_nodist_include_HEADERS): Renamed from nodist_include_HEADERS.
- Change unistring-*.h to unistring/*.h.
- (unistring/stdbool.h): Renamed from unistring-stdbool.h. Ensure target
- directory exists.
- (unistring/stdint.h): Renamed from unistring-stdint.h. Ensure target
- directory exists.
- (unistring/localcharset.h): Renamed from unistring-localcharset.h.
- Ensure target directory exists.
- (unistring/iconveh.h): Renamed from unistring-iconveh.h Ensure target
- directory exists.
- (BUILT_SOURCES, MOSTLYCLEANFILES, CLEANFILES): Update.
- (CLEANDIRS, CLEANDIRS_NOT_IN_SRCDIR): New variables.
- (clean-local): New rule.
- * gnulib-local/lib/unicase.h.diff: Update include statements.
- * gnulib-local/lib/uniconv.h.diff: Likewise.
- * gnulib-local/lib/unictype.h.diff: Likewise.
- * gnulib-local/lib/unilbrk.h.diff: Likewise.
- * gnulib-local/lib/unistr.h.diff: Likewise.
- * gnulib-local/lib/unitypes.h.diff: Likewise.
- * gnulib-local/lib/uniwidth.h.diff: Likewise.
- * lib/unistring-notinline.h: Likewise.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- * doc/uniconv.h: Document the 'enum iconv_ilseq_handler' type.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- * doc/uniwbrk.texi (Word break property): Remove extra white space.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- Provide an installable iconveh.h replacement.
- * gnulib-local/lib/uniconv.h.diff: Include unistring-iconveh.h instead
- of iconveh.h. Don't include striconveha.h.
- * lib/Makefile.am (nodist_include_HEADERS): Add unistring-iconveh.h.
- (unistring-iconveh.h): New rule.
- (BUILT_SOURCES, MOSTLYCLEANFILES, CLEANFILES): Update accordingly.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- Provide an installable localcharset.h replacement.
- * gnulib-local/lib/uniconv.h.diff: New file.
- * gnulib-local/lib/unilbrk.h.diff: New file.
- * gnulib-local/lib/uniwidth.h.diff: New file.
- * gnulib-local/Makefile.am (EXTRA_DIST): Add them.
- * lib/Makefile.am (nodist_include_HEADERS): Add unistring-localcharset.h.
- (unistring-localcharset.h): New rule.
- (BUILT_SOURCES, MOSTLYCLEANFILES, CLEANFILES): Update accordingly.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- * INSTALL (Multiple Architectures): Recommend to use
- --disable-dependency-tracking.
- Suggested by Peter O'Gorman <peter@pogma.com>.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- Replace HAVE_INLINE in installed include files.
- * lib/unistring-inline.h: New file.
- * lib/unistring-notinline.h: New file.
- * autogen.sh: Postprocess unistr.h.
- * gnulib-local/lib/unistr.h.diff: Also include unistring-inline.h.
- * lib/Makefile.am (include_HEADERS): Add unistring-inline.h.
- (noinst_HEADERS): New variable.
- (AM_CPPFLAGS): Define IN_LIBUNISTRING.
-
-2008-04-10 Bruno Haible <bruno@clisp.org>
-
- Provide installable <stdbool.h>, <stdint.h> replacements.
- * autogen.sh: Pass --local-dir option to gnulib-tool.
- * configure.ac (AC_CONFIG_FILES): Add gnulib-local/Makefile.
- * Makefile.am (SUBDIRS): Add gnulib-local.
- * gnulib-local/Makefile.am: New file.
- * gnulib-local/lib/unitypes.h.diff: New file.
- * gnulib-local/lib/unistr.h.diff: New file.
- * gnulib-local/lib/unictype.h.diff: New file.
- * gnulib-local/lib/unicase.h.diff: New file.
- * lib/stdint.mini.h: New file, a reduced version of gnulib's
- lib/stdint.in.h.
- * lib/Makefile.am (nodist_include_HEADERS): New variable.
- (unistring-stdbool.h, unistring-stdint.h): New rules.
- (BUILT_SOURCES, MOSTLYCLEANFILES, CLEANFILES): Update accordingly.
- (EXTRA_DIST): Add stdint.mini.h.
-
-2008-04-09 Bruno Haible <bruno@clisp.org>
-
- Build and install documentation.
- * autogen.sh: Fetch a recent copy of texinfo.tex.
- * configure.ac (TEXI2DVI, DVIPS, PERL): New substituted variables.
- (AC_CONFIG_FILES): Add doc/Makefile.
- * m4/fixautomake.m4: New file, from GNU gettext.
- * Makefile.am (SUBDIRS): Add doc.
- (EXTRA_DIST): Add build-aux/texi2html.
- * doc/Makefile.am: New file.
- * doc/libunistring.texi: Set document encoding to UTF-8.
- (arrow): Add a fallback definition for texi2html.
-
- Put the table of contents at the beginning, not at the end.
- * build-aux/texi2html (INLINE_CONTENTS): Set to 1.
- (THISVERSION): Append an 'a'.
-
- * build-aux/texi2html: New file, from texinfo-1.78.
-
-2008-04-06 Bruno Haible <bruno@clisp.org>
-
- Add support for checking with valgrind.
- * build-aux/run-test: New file.
- * Makefile.am (EXTRA_DIST): Add it.
- * tests/Makefile.am (CHECKER, CHECKER_END_OF_COMMENTS): New variables.
- (TESTS_ENVIRONMENT): Add a run-test invocation.
- * HACKING: Mention how to use valgrind.
-
-2008-04-06 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (EXTRA_DIST): Add version.sh, DEPENDENCIES, HACKING,
- autogen.sh, build-aux/fixaclocal.
- * version.sh: New file.
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- Allow building as a shared library on AIX.
- * lib/Makefile.am (libunistring_la_LDFLAGS): Add -no-undefined flag
- and INTL_MACOSX_LIBS (for MacOS X).
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- Use libtool versioning.
- * lib/Makefile.am (LTV_CURRENT, LTV_REVISION, LTV_AGE): New variables.
- (libunistring_la_LDFLAGS): Pass -version-info option.
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- * gnulib-m4/gnulib-cache.m4: New file, generated by gnulib-tool.
-
- * autogen.sh: New file.
- * configure.ac: New file.
- * build-aux/fixaclocal: New file, from GNU gettext.
- * Makefile.am: New file.
- * lib/Makefile.am: New file.
- * tests/Makefile.am: New file.
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- * INSTALL: Renamed from INSTALL.generic. Add section about
- prerequisites,
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- * doc/*.texi: Add index entries.
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- * doc/unistr.texi (Elementary string functions): Document
- u{8,16,32}_cmp2.
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
-
- * doc/libunistring.texi (func, posixfunc): New macros.
- Use them where appropriate.
- * doc/unistr.texi: Likewise.
-
-2008-04-05 Bruno Haible <bruno@clisp.org>
- * doc/libunistring.texi: Complete the detailmenu.
+2024-01-30 Bruno Haible <bruno@clisp.org>
-2008-04-05 Bruno Haible <bruno@clisp.org>
+ doc: Improve documentation about meta-information.
+ * doc/libunistring.texi (Include files): Fix documentation of
+ _LIBUNISTRING_VERSION and _libunistring_version (incorrect since 2010-05-14).
+ Add documentation of _libunistring_unicode_version.
+ * NEWS: Mention _libunistring_unicode_version.
- * doc/libunistring.texi: New file.
- * doc/unitypes.texi: New file, based on gnulib/lib/unitypes.h.
- * doc/unistr.texi: New file, based on gnulib/lib/unistr.h.
- * doc/uniconv.texi: New file, based on gnulib/lib/uniconv.h.
- * doc/unistdio.texi: New file, based on gnulib/lib/unistdio.h.
- * doc/uniname.texi: New file, based on gnulib/lib/uniname.h.
- * doc/unictype.texi: New file, based on gnulib/lib/unictype.h.
- * doc/uniwidth.texi: New file, based on gnulib/lib/uniwidth.h.
- * doc/uniwbrk.texi: New file, based on gnulib/lib/uniwbrk.h.
- * doc/unilbrk.texi: New file, based on gnulib/lib/unilbrk.h.
- * doc/uninorm.texi: New file, based on gnulib/lib/uninorm.h.
- * doc/unicase.texi: New file, based on gnulib/lib/unicase.h.
- * doc/uniregex.texi: New file.
- * doc/gpl.texi: New file, from gnulib.
- * doc/lgpl.texi: New file, from gnulib.
- * doc/fdl.texi: New file, from gnulib.
+2024-01-29 Bruno Haible <bruno@clisp.org>
-2008-03-14 Bruno Haible <bruno@clisp.org>
+ Add meta-information about the Unicode version.
+ Suggested by Roger Crew <wrog@wrog.net> in
+ <https://lists.gnu.org/archive/html/bug-libunistring/2023-08/msg00000.html>.
- * INSTALL.generic: New file, from gnulib/doc/INSTALL.UTF-8 with an
- added paragraph mentioning --with-libiconv-prefix.
+ * lib/unistring/version.in.h (_libunistring_unicode_version): New declaration.
+ * lib/version.c (_libunistring_unicode_version): New variable.
+ * woe32dll/unistring-exports.c: Export it.
- * COPYING.LIB: New file, from gnulib/doc/COPYING.LESSERv3.
- * COPYING: New file, from gnulib/doc/COPYINGv3.
+2023-09-18 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4: New file, from libtool-2.2.6, with modifications:
- 2008-04-06 Bruno Haible <bruno@clisp.org>
- * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
- CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
- to ${CONFIG_SHELL}.
- * m4/ltoptions.m4: New file, from libtool-2.2.6.
- * m4/ltsugar.m4: Likewise.
- * m4/ltversion.m4: Likewise.
- * m4/lt~obsolete.m4: Likewise.
- * build-aux/ltmain.sh: New file, from libtool-2.2.6, with
- modifications.
- 2008-09-28 Bruno Haible <bruno@clisp.org>
- * build-aux/ltmain.sh (func_emit_cwrapperexe_src): On mingw,
- preprocess the argument vector through prepare_spawn.
+ Fix shared library support on Android.
+ Patch from <https://savannah.gnu.org/patch/index.php?10393>.
- * build-aux/config.guess: New file, from gnulib, version 2009-02-03.
- * build-aux/config.sub: Likewise.
+ * m4/libtool.m4: On Android, fix library_names_spec and
+ hardcode_libdir_flag_spec.
- * README: New file.
- * AUTHORS: New file.
- * DEPENDENCIES: New file.
- * BUGS: New file.
- * HACKING: New file.
- * THANKS: New file.
- * NEWS: New file.
+2023-09-16 Bruno Haible <bruno@clisp.org>
+ Fix a misnomer.
+ * woe32dll/export.h: Update comment.
diff --git a/INSTALL.windows b/INSTALL.windows
index 2d2e1443..2edfb0a4 100644
--- a/INSTALL.windows
+++ b/INSTALL.windows
@@ -8,7 +8,7 @@ There are three ways to create binaries of this package for Microsoft Windows:
===============================================================================
1) Native binaries, built using the mingw tool chain.
- I recommend to use the Cygwin environment as the development environment
+ I recommend to use the Cygwin environment as the development environment (*)
and mingw only as the target (runtime, deployment) environment.
For this, you need to install
* Cygwin (from https://cygwin.com/),
@@ -53,6 +53,13 @@ There are three ways to create binaries of this package for Microsoft Windows:
make install
+ (*) Note: The MSYS2 environment as a development environment is *not*
+ supported. This environment contains an ignoble and ignominious hack:
+ In a program invocation, the program *by default* receives different
+ arguments than the ones that the caller has passed. See
+ <https://www.msys2.org/wiki/Porting/#filesystem-namespaces>.
+ All program invocations in this environment are therefore unreliable.
+
===============================================================================
2) Native binaries, built using the MS Visual C/C++ tool chain.
diff --git a/Makefile.am b/Makefile.am
index 8c052759..6083de7a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -24,7 +24,8 @@ SUBDIRS = doc gnulib-local lib tests
EXTRA_DIST = \
version.sh BUGS DEPENDENCIES HACKING JOIN-GNU \
autogen.sh \
- build-aux/join-v-1 build-aux/texi2html build-aux/run-test
+ build-aux/join-v-1 build-aux/texi2html build-aux/run-test \
+ build-aux/git-log-fix
# Allow users to use "gnulib-tool --update".
@@ -39,3 +40,23 @@ EXTRA_DIST += woe32dll/export.h
# Windows support.
EXTRA_DIST += INSTALL.windows build-aux/windres-options
+
+
+# Generate ChangeLog during "make dist".
+
+dist-hook: gen-ChangeLog
+
+gen_start_date = 2023-09-10
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+ $(AM_V_GEN)if test -d .git; then \
+ log_fix="$(srcdir)/build-aux/git-log-fix"; \
+ test -e "$$log_fix" \
+ && amend_git_log="--amend=$$log_fix" \
+ || amend_git_log=; \
+ $(top_srcdir)/build-aux/gitlog-to-changelog \
+ $$amend_git_log --no-cluster --since=$(gen_start_date) -- . \
+ > "$(distdir)/ChangeLog-t" \
+ && rm -f "$(distdir)/ChangeLog" \
+ && mv "$(distdir)/ChangeLog-t" "$(distdir)/ChangeLog"; \
+ fi
diff --git a/Makefile.in b/Makefile.in
index d7fec133..f9adf556 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -90,6 +90,7 @@ host_triplet = @host@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib-m4/__inline.m4 \
$(top_srcdir)/gnulib-m4/absolute-header.m4 \
$(top_srcdir)/gnulib-m4/alloca.m4 \
$(top_srcdir)/gnulib-m4/arpa_inet_h.m4 \
@@ -97,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/builtin-expect.m4 \
$(top_srcdir)/gnulib-m4/c-bool.m4 \
+ $(top_srcdir)/gnulib-m4/c32rtomb.m4 \
$(top_srcdir)/gnulib-m4/calloc.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/codeset.m4 \
@@ -107,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/environ.m4 \
$(top_srcdir)/gnulib-m4/errno_h.m4 \
$(top_srcdir)/gnulib-m4/error.m4 \
+ $(top_srcdir)/gnulib-m4/error_h.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
$(top_srcdir)/gnulib-m4/exponentf.m4 \
$(top_srcdir)/gnulib-m4/exponentl.m4 \
@@ -151,6 +154,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/iswdigit.m4 \
+ $(top_srcdir)/gnulib-m4/iswpunct.m4 \
$(top_srcdir)/gnulib-m4/iswxdigit.m4 \
$(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
@@ -176,6 +180,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/math_h.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
+ $(top_srcdir)/gnulib-m4/mbrtoc32.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
$(top_srcdir)/gnulib-m4/mbsinit.m4 \
$(top_srcdir)/gnulib-m4/mbstate_t.m4 \
@@ -188,6 +193,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib-m4/multiarch.m4 \
$(top_srcdir)/gnulib-m4/musl.m4 \
+ $(top_srcdir)/gnulib-m4/nan-mips.m4 \
$(top_srcdir)/gnulib-m4/nanosleep.m4 \
$(top_srcdir)/gnulib-m4/netinet_in_h.m4 \
$(top_srcdir)/gnulib-m4/nocrash.m4 \
@@ -208,6 +214,8 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/pthread_sigmask.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/raise.m4 \
+ $(top_srcdir)/gnulib-m4/random.m4 \
+ $(top_srcdir)/gnulib-m4/random_r.m4 \
$(top_srcdir)/gnulib-m4/realloc.m4 \
$(top_srcdir)/gnulib-m4/reallocarray.m4 \
$(top_srcdir)/gnulib-m4/relocatable-lib.m4 \
@@ -223,6 +231,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/size_max.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
+ $(top_srcdir)/gnulib-m4/snan.m4 \
$(top_srcdir)/gnulib-m4/socketlib.m4 \
$(top_srcdir)/gnulib-m4/sockets.m4 \
$(top_srcdir)/gnulib-m4/socklen.m4 \
@@ -251,7 +260,13 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/sys_uio_h.m4 \
$(top_srcdir)/gnulib-m4/thread.m4 \
$(top_srcdir)/gnulib-m4/threadlib.m4 \
+ $(top_srcdir)/gnulib-m4/time.m4 \
$(top_srcdir)/gnulib-m4/time_h.m4 \
+ $(top_srcdir)/gnulib-m4/uchar_h.m4 \
+ $(top_srcdir)/gnulib-m4/unicase_h.m4 \
+ $(top_srcdir)/gnulib-m4/unictype_h.m4 \
+ $(top_srcdir)/gnulib-m4/unimetadata_h.m4 \
+ $(top_srcdir)/gnulib-m4/uninorm_h.m4 \
$(top_srcdir)/gnulib-m4/unistd_h.m4 \
$(top_srcdir)/gnulib-m4/usleep.m4 \
$(top_srcdir)/gnulib-m4/vasnprintf.m4 \
@@ -267,7 +282,6 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/wint_t.m4 \
$(top_srcdir)/gnulib-m4/xalloc.m4 \
$(top_srcdir)/gnulib-m4/xsize.m4 \
- $(top_srcdir)/gnulib-m4/year2038.m4 \
$(top_srcdir)/gnulib-m4/yield.m4 \
$(top_srcdir)/gnulib-m4/zzgnulib.m4 \
$(top_srcdir)/m4/exported.m4 \
@@ -428,6 +442,8 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -469,7 +485,33 @@ GL_GNULIB_ATANF = @GL_GNULIB_ATANF@
GL_GNULIB_ATANL = @GL_GNULIB_ATANL@
GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
GL_GNULIB_BIND = @GL_GNULIB_BIND@
+GL_GNULIB_BTOC32 = @GL_GNULIB_BTOC32@
GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@
+GL_GNULIB_C32ISALNUM = @GL_GNULIB_C32ISALNUM@
+GL_GNULIB_C32ISALPHA = @GL_GNULIB_C32ISALPHA@
+GL_GNULIB_C32ISBLANK = @GL_GNULIB_C32ISBLANK@
+GL_GNULIB_C32ISCNTRL = @GL_GNULIB_C32ISCNTRL@
+GL_GNULIB_C32ISDIGIT = @GL_GNULIB_C32ISDIGIT@
+GL_GNULIB_C32ISGRAPH = @GL_GNULIB_C32ISGRAPH@
+GL_GNULIB_C32ISLOWER = @GL_GNULIB_C32ISLOWER@
+GL_GNULIB_C32ISPRINT = @GL_GNULIB_C32ISPRINT@
+GL_GNULIB_C32ISPUNCT = @GL_GNULIB_C32ISPUNCT@
+GL_GNULIB_C32ISSPACE = @GL_GNULIB_C32ISSPACE@
+GL_GNULIB_C32ISUPPER = @GL_GNULIB_C32ISUPPER@
+GL_GNULIB_C32ISXDIGIT = @GL_GNULIB_C32ISXDIGIT@
+GL_GNULIB_C32RTOMB = @GL_GNULIB_C32RTOMB@
+GL_GNULIB_C32SNRTOMBS = @GL_GNULIB_C32SNRTOMBS@
+GL_GNULIB_C32SRTOMBS = @GL_GNULIB_C32SRTOMBS@
+GL_GNULIB_C32STOMBS = @GL_GNULIB_C32STOMBS@
+GL_GNULIB_C32SWIDTH = @GL_GNULIB_C32SWIDTH@
+GL_GNULIB_C32TOB = @GL_GNULIB_C32TOB@
+GL_GNULIB_C32TOLOWER = @GL_GNULIB_C32TOLOWER@
+GL_GNULIB_C32TOUPPER = @GL_GNULIB_C32TOUPPER@
+GL_GNULIB_C32WIDTH = @GL_GNULIB_C32WIDTH@
+GL_GNULIB_C32_APPLY_MAPPING = @GL_GNULIB_C32_APPLY_MAPPING@
+GL_GNULIB_C32_APPLY_TYPE_TEST = @GL_GNULIB_C32_APPLY_TYPE_TEST@
+GL_GNULIB_C32_GET_MAPPING = @GL_GNULIB_C32_GET_MAPPING@
+GL_GNULIB_C32_GET_TYPE_TEST = @GL_GNULIB_C32_GET_TYPE_TEST@
GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
@@ -582,6 +624,7 @@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@
GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@
GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
@@ -613,16 +656,18 @@ GL_GNULIB_ISNANL = @GL_GNULIB_ISNANL@
GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@
GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@
GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@
+GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@
GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@
GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LDEXP = @GL_GNULIB_LDEXP@
GL_GNULIB_LDEXPF = @GL_GNULIB_LDEXPF@
GL_GNULIB_LDEXPL = @GL_GNULIB_LDEXPL@
GL_GNULIB_LINK = @GL_GNULIB_LINK@
GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@
GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@
-GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@
+GL_GNULIB_LOCALENAME_UNSAFE = @GL_GNULIB_LOCALENAME_UNSAFE@
GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
GL_GNULIB_LOG = @GL_GNULIB_LOG@
GL_GNULIB_LOG10 = @GL_GNULIB_LOG10@
@@ -644,6 +689,8 @@ GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@
+GL_GNULIB_MBRTOC16 = @GL_GNULIB_MBRTOC16@
+GL_GNULIB_MBRTOC32 = @GL_GNULIB_MBRTOC32@
GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@
GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
@@ -653,15 +700,20 @@ GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@
GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSNRTOC32S = @GL_GNULIB_MBSNRTOC32S@
GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@
GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSRTOC32S = @GL_GNULIB_MBSRTOC32S@
GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@
GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOC32S = @GL_GNULIB_MBSTOC32S@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -714,6 +766,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
@@ -767,6 +820,7 @@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
GL_GNULIB_RAISE = @GL_GNULIB_RAISE@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
@@ -841,6 +895,7 @@ GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOF = @GL_GNULIB_STRTOF@
GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@
GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
@@ -856,12 +911,16 @@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
GL_GNULIB_TANF = @GL_GNULIB_TANF@
GL_GNULIB_TANHF = @GL_GNULIB_TANHF@
GL_GNULIB_TANL = @GL_GNULIB_TANL@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TOTALORDER = @GL_GNULIB_TOTALORDER@
+GL_GNULIB_TOTALORDERF = @GL_GNULIB_TOTALORDERF@
+GL_GNULIB_TOTALORDERL = @GL_GNULIB_TOTALORDERL@
GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNC = @GL_GNULIB_TRUNC@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
@@ -869,6 +928,148 @@ GL_GNULIB_TRUNCF = @GL_GNULIB_TRUNCF@
GL_GNULIB_TRUNCL = @GL_GNULIB_TRUNCL@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@
+GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE = @GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFD_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE@
GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
@@ -920,6 +1121,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@
GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@
GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@
+GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@
GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@
GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@
GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@
@@ -928,9 +1130,12 @@ GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@
GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@
GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_CHAR16_T = @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+GNULIBHEADERS_OVERRIDE_CHAR32_T = @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+GNULIBHEADERS_OVERRIDE_CHAR8_T = @GNULIBHEADERS_OVERRIDE_CHAR8_T@
GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ACCEPT4 = @HAVE_ACCEPT4@
HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
@@ -944,6 +1149,7 @@ HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C32RTOMB = @HAVE_C32RTOMB@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CBRT = @HAVE_CBRT@
@@ -993,6 +1199,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
@@ -1009,6 +1216,8 @@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
@@ -1043,6 +1252,9 @@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPF = @HAVE_EXPF@
@@ -1081,6 +1293,7 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GETUMASK = @HAVE_GETUMASK@
@@ -1092,6 +1305,8 @@ HAVE_HYPOTL = @HAVE_HYPOTL@
HAVE_ILOGB = @HAVE_ILOGB@
HAVE_ILOGBF = @HAVE_ILOGBF@
HAVE_ILOGBL = @HAVE_ILOGBL@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
@@ -1124,6 +1339,8 @@ HAVE_LOGL = @HAVE_LOGL@
HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOC16 = @HAVE_MBRTOC16@
+HAVE_MBRTOC32 = @HAVE_MBRTOC32@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
@@ -1131,6 +1348,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -1271,6 +1489,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOF = @HAVE_STRTOF@
HAVE_STRTOL = @HAVE_STRTOL@
HAVE_STRTOLD = @HAVE_STRTOLD@
HAVE_STRTOLL = @HAVE_STRTOLL@
@@ -1303,8 +1522,13 @@ HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TOTALORDER = @HAVE_TOTALORDER@
+HAVE_TOTALORDERF = @HAVE_TOTALORDERF@
+HAVE_TOTALORDERL = @HAVE_TOTALORDERL@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UCHAR_H = @HAVE_UCHAR_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_USLEEP = @HAVE_USLEEP@
@@ -1352,6 +1576,7 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
@@ -1369,6 +1594,10 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -1388,6 +1617,7 @@ LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNIGBRK_H = @LIBUNISTRING_UNIGBRK_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
+LIBUNISTRING_UNIMETADATA_H = @LIBUNISTRING_UNIMETADATA_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@
LIBUNISTRING_UNISTDIO_H = @LIBUNISTRING_UNISTDIO_H@
@@ -1424,8 +1654,10 @@ LTLIBTHREAD = @LTLIBTHREAD@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MBRTOWC_LIB = @MBRTOWC_LIB@
MKDIR_P = @MKDIR_P@
NAMESPACING = @NAMESPACING@
+NANOSLEEP_LIB = @NANOSLEEP_LIB@
NETINET_IN_H = @NETINET_IN_H@
NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
NEXT_ASSERT_H = @NEXT_ASSERT_H@
@@ -1433,6 +1665,7 @@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
@@ -1458,11 +1691,13 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_UCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
@@ -1488,6 +1723,7 @@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UCHAR_H = @NEXT_UCHAR_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
@@ -1510,6 +1746,7 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTHREAD_SIGMASK_LIB = @PTHREAD_SIGMASK_LIB@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RC = @RC@
@@ -1521,6 +1758,7 @@ REPLACE_ASINF = @REPLACE_ASINF@
REPLACE_ATAN2F = @REPLACE_ATAN2F@
REPLACE_ATANF = @REPLACE_ATANF@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_C32RTOMB = @REPLACE_C32RTOMB@
REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
@@ -1540,7 +1778,10 @@ REPLACE_CTIME = @REPLACE_CTIME@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
REPLACE_EXECL = @REPLACE_EXECL@
REPLACE_EXECLE = @REPLACE_EXECLE@
REPLACE_EXECLP = @REPLACE_EXECLP@
@@ -1557,10 +1798,12 @@ REPLACE_EXPM1F = @REPLACE_EXPM1F@
REPLACE_EXPM1L = @REPLACE_EXPM1L@
REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FFSLL = @REPLACE_FFSLL@
@@ -1595,12 +1838,16 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETPASS = @REPLACE_GETPASS@
REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
@@ -1613,6 +1860,8 @@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_ILOGB = @REPLACE_ILOGB@
REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ILOGBL = @REPLACE_ILOGBL@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
REPLACE_INET_PTON = @REPLACE_INET_PTON@
REPLACE_INITSTATE = @REPLACE_INITSTATE@
@@ -1624,9 +1873,11 @@ REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@
+REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@
REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXP = @REPLACE_LDEXP@
REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
@@ -1653,19 +1904,27 @@ REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOC16 = @REPLACE_MBRTOC16@
+REPLACE_MBRTOC32 = @REPLACE_MBRTOC32@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MEMSET_EXPLICIT = @REPLACE_MEMSET_EXPLICIT@
REPLACE_MKDIR = @REPLACE_MKDIR@
REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_MODF = @REPLACE_MODF@
@@ -1680,8 +1939,10 @@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PSELECT = @REPLACE_PSELECT@
@@ -1743,6 +2004,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_QSORT_R = @REPLACE_QSORT_R@
REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RAND = @REPLACE_RAND@
REPLACE_RANDOM = @REPLACE_RANDOM@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
@@ -1766,6 +2028,7 @@ REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SETSTATE = @REPLACE_SETSTATE@
REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
@@ -1780,6 +2043,7 @@ REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -1794,6 +2058,7 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOF = @REPLACE_STRTOF@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_STRTOL = @REPLACE_STRTOL@
@@ -1804,12 +2069,19 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@
REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TANF = @REPLACE_TANF@
REPLACE_TANHF = @REPLACE_TANHF@
+REPLACE_TIME = @REPLACE_TIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TIMESPEC_GETRES = @REPLACE_TIMESPEC_GETRES@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOTALORDER = @REPLACE_TOTALORDER@
+REPLACE_TOTALORDERF = @REPLACE_TOTALORDERF@
+REPLACE_TOTALORDERL = @REPLACE_TOTALORDERL@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -1829,21 +2101,33 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
REPLACE_WCSTOK = @REPLACE_WCSTOK@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCTRANS = @REPLACE_WCTRANS@
+REPLACE_WCTYPE = @REPLACE_WCTYPE@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SCHED_YIELD_LIB = @SCHED_YIELD_LIB@
SED = @SED@
+SELECT_LIB = @SELECT_LIB@
+SETLOCALE_LIB = @SETLOCALE_LIB@
+SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDALIGN_H = @STDALIGN_H@
+SMALL_WCHAR_T = @SMALL_WCHAR_T@
STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
@@ -1940,8 +2224,9 @@ SUBDIRS = doc gnulib-local lib tests
# Windows support.
EXTRA_DIST = version.sh BUGS DEPENDENCIES HACKING JOIN-GNU autogen.sh \
build-aux/join-v-1 build-aux/texi2html build-aux/run-test \
- gnulib-m4/gnulib-cache.m4 woe32dll/export.h INSTALL.windows \
- build-aux/windres-options
+ build-aux/git-log-fix gnulib-m4/gnulib-cache.m4 \
+ woe32dll/export.h INSTALL.windows build-aux/windres-options
+gen_start_date = 2023-09-10
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -2173,6 +2458,9 @@ distdir-am: $(DISTFILES)
|| exit 1; \
fi; \
done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
@@ -2419,8 +2707,8 @@ uninstall-am:
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
- dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
- dist-xz dist-zip dist-zstd distcheck distclean \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
+ dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
@@ -2436,6 +2724,23 @@ uninstall-am:
.PRECIOUS: Makefile
+# Generate ChangeLog during "make dist".
+
+dist-hook: gen-ChangeLog
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+ $(AM_V_GEN)if test -d .git; then \
+ log_fix="$(srcdir)/build-aux/git-log-fix"; \
+ test -e "$$log_fix" \
+ && amend_git_log="--amend=$$log_fix" \
+ || amend_git_log=; \
+ $(top_srcdir)/build-aux/gitlog-to-changelog \
+ $$amend_git_log --no-cluster --since=$(gen_start_date) -- . \
+ > "$(distdir)/ChangeLog-t" \
+ && rm -f "$(distdir)/ChangeLog" \
+ && mv "$(distdir)/ChangeLog-t" "$(distdir)/ChangeLog"; \
+ fi
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/NEWS b/NEWS
index d3fc3b9e..9cf213be 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,26 @@
+New in 1.2:
+* The data tables and algorithms have been updated to Unicode version 15.1.0.
+* New functions u8_pcpy, u16_pcpy, u32_pcpy, similar to mempcpy.
+* New functions uc_indic_conjunct_break_name, uc_indic_conjunct_break_byname,
+ uc_indic_conjunct_break.
+* New functions
+ uc_is_property_prepended_concatenation_mark,
+ uc_is_property_id_compat_math_start, uc_is_property_id_compat_math_continue,
+ uc_is_property_ids_unary_operator
+ and new constants
+ UC_PROPERTY_PREPENDED_CONCATENATION_MARK,
+ UC_PROPERTY_ID_COMPAT_MATH_START, UC_PROPERTY_ID_COMPAT_MATH_CONTINUE,
+ UC_PROPERTY_IDS_UNARY_OPERATOR.
+* New constant _libunistring_unicode_version.
+* The UTF-8 decoder functions, especially u8_mbtouc, are now more Unicode
+ Standard compliant.
+* The *printf functions no longer support the %n directive, for security
+ reasons.
+* Fixed a bug in the *printf functions: In the %U, %lU, %llU directives, a
+ negative width given as an argument did not trigger left-justification.
+* The functions u16_strstr and u32_strstr now operate in worst-case linear
+ time.
+
New in 1.1:
* The data tables and algorithms have been updated to Unicode version 15.0.0.
diff --git a/README b/README
index 997efbb6..ef2e1c04 100644
--- a/README
+++ b/README
@@ -69,7 +69,7 @@ The documentation is under another license; see in the documentation.
Download
--------
- https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.gz
+ https://ftp.gnu.org/gnu/libunistring/libunistring-1.2.tar.gz
Homepage
--------
diff --git a/aclocal.m4 b/aclocal.m4
index 436cc98d..5dd7ee54 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -14,8 +14,8 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
-[m4_warning([this file was generated for autoconf 2.71.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
+[m4_warning([this file was generated for autoconf 2.72.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
@@ -1186,6 +1186,7 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([gnulib-m4/00gnulib.m4])
+m4_include([gnulib-m4/__inline.m4])
m4_include([gnulib-m4/absolute-header.m4])
m4_include([gnulib-m4/alloca.m4])
m4_include([gnulib-m4/arpa_inet_h.m4])
@@ -1193,6 +1194,7 @@ m4_include([gnulib-m4/assert_h.m4])
m4_include([gnulib-m4/btowc.m4])
m4_include([gnulib-m4/builtin-expect.m4])
m4_include([gnulib-m4/c-bool.m4])
+m4_include([gnulib-m4/c32rtomb.m4])
m4_include([gnulib-m4/calloc.m4])
m4_include([gnulib-m4/close.m4])
m4_include([gnulib-m4/codeset.m4])
@@ -1203,6 +1205,7 @@ m4_include([gnulib-m4/eealloc.m4])
m4_include([gnulib-m4/environ.m4])
m4_include([gnulib-m4/errno_h.m4])
m4_include([gnulib-m4/error.m4])
+m4_include([gnulib-m4/error_h.m4])
m4_include([gnulib-m4/exponentd.m4])
m4_include([gnulib-m4/exponentf.m4])
m4_include([gnulib-m4/exponentl.m4])
@@ -1247,6 +1250,7 @@ m4_include([gnulib-m4/isnanf.m4])
m4_include([gnulib-m4/isnanl.m4])
m4_include([gnulib-m4/iswblank.m4])
m4_include([gnulib-m4/iswdigit.m4])
+m4_include([gnulib-m4/iswpunct.m4])
m4_include([gnulib-m4/iswxdigit.m4])
m4_include([gnulib-m4/langinfo_h.m4])
m4_include([gnulib-m4/largefile.m4])
@@ -1272,6 +1276,7 @@ m4_include([gnulib-m4/malloca.m4])
m4_include([gnulib-m4/math_h.m4])
m4_include([gnulib-m4/mbchar.m4])
m4_include([gnulib-m4/mbiter.m4])
+m4_include([gnulib-m4/mbrtoc32.m4])
m4_include([gnulib-m4/mbrtowc.m4])
m4_include([gnulib-m4/mbsinit.m4])
m4_include([gnulib-m4/mbstate_t.m4])
@@ -1284,6 +1289,7 @@ m4_include([gnulib-m4/msvc-inval.m4])
m4_include([gnulib-m4/msvc-nothrow.m4])
m4_include([gnulib-m4/multiarch.m4])
m4_include([gnulib-m4/musl.m4])
+m4_include([gnulib-m4/nan-mips.m4])
m4_include([gnulib-m4/nanosleep.m4])
m4_include([gnulib-m4/netinet_in_h.m4])
m4_include([gnulib-m4/nocrash.m4])
@@ -1304,6 +1310,8 @@ m4_include([gnulib-m4/pthread_rwlock_rdlock.m4])
m4_include([gnulib-m4/pthread_sigmask.m4])
m4_include([gnulib-m4/putenv.m4])
m4_include([gnulib-m4/raise.m4])
+m4_include([gnulib-m4/random.m4])
+m4_include([gnulib-m4/random_r.m4])
m4_include([gnulib-m4/realloc.m4])
m4_include([gnulib-m4/reallocarray.m4])
m4_include([gnulib-m4/relocatable-lib.m4])
@@ -1319,6 +1327,7 @@ m4_include([gnulib-m4/signalblocking.m4])
m4_include([gnulib-m4/signbit.m4])
m4_include([gnulib-m4/size_max.m4])
m4_include([gnulib-m4/sleep.m4])
+m4_include([gnulib-m4/snan.m4])
m4_include([gnulib-m4/socketlib.m4])
m4_include([gnulib-m4/sockets.m4])
m4_include([gnulib-m4/socklen.m4])
@@ -1347,7 +1356,13 @@ m4_include([gnulib-m4/sys_types_h.m4])
m4_include([gnulib-m4/sys_uio_h.m4])
m4_include([gnulib-m4/thread.m4])
m4_include([gnulib-m4/threadlib.m4])
+m4_include([gnulib-m4/time.m4])
m4_include([gnulib-m4/time_h.m4])
+m4_include([gnulib-m4/uchar_h.m4])
+m4_include([gnulib-m4/unicase_h.m4])
+m4_include([gnulib-m4/unictype_h.m4])
+m4_include([gnulib-m4/unimetadata_h.m4])
+m4_include([gnulib-m4/uninorm_h.m4])
m4_include([gnulib-m4/unistd_h.m4])
m4_include([gnulib-m4/usleep.m4])
m4_include([gnulib-m4/vasnprintf.m4])
@@ -1363,7 +1378,6 @@ m4_include([gnulib-m4/wcwidth.m4])
m4_include([gnulib-m4/wint_t.m4])
m4_include([gnulib-m4/xalloc.m4])
m4_include([gnulib-m4/xsize.m4])
-m4_include([gnulib-m4/year2038.m4])
m4_include([gnulib-m4/yield.m4])
m4_include([gnulib-m4/zzgnulib.m4])
m4_include([m4/exported.m4])
diff --git a/autogen.sh b/autogen.sh
index 3e89ebe4..5a8d43aa 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -8,7 +8,7 @@
# It also requires
# - the gperf program.
-# Copyright (C) 2003-2022 Free Software Foundation, Inc.
+# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -80,6 +80,7 @@ if test $skip_gnulib = false; then
exit 1
}
GNULIB_MODULES='
+ gitlog-to-changelog
unitypes
unistr/base
unistr/u8-check
@@ -96,6 +97,7 @@ if test $skip_gnulib = false; then
unistr/u8-mbtouc-unsafe
unistr/u8-move
unistr/u8-next
+ unistr/u8-pcpy
unistr/u8-prev
unistr/u8-set
unistr/u8-startswith
@@ -137,6 +139,7 @@ if test $skip_gnulib = false; then
unistr/u16-mbtouc-unsafe
unistr/u16-move
unistr/u16-next
+ unistr/u16-pcpy
unistr/u16-prev
unistr/u16-set
unistr/u16-startswith
@@ -178,6 +181,7 @@ if test $skip_gnulib = false; then
unistr/u32-mbtouc-unsafe
unistr/u32-move
unistr/u32-next
+ unistr/u32-pcpy
unistr/u32-prev
unistr/u32-set
unistr/u32-startswith
@@ -304,6 +308,7 @@ if test $skip_gnulib = false; then
unictype/ctype-xdigit
unictype/decimal-digit
unictype/digit
+ unictype/incb-all
unictype/joininggroup-all
unictype/joiningtype-all
unictype/mirror
@@ -351,6 +356,8 @@ if test $skip_gnulib = false; then
unilbrk/u32-width-linebreaks
unilbrk/ulc-possible-linebreaks
unilbrk/ulc-width-linebreaks
+ unimetadata/base
+ unimetadata/u-version
uninorm/base
uninorm/canonical-decomposition
uninorm/composition
@@ -448,20 +455,6 @@ if test $skip_gnulib = false; then
< lib/unistr.in.h \
> lib/unistr.in.h.tmp \
&& mv lib/unistr.in.h.tmp lib/unistr.in.h
- # Change lib/unictype.h, lib/uninorm.h, lib/unicase.h for shared libraries on Woe32 systems.
- sed -e 's/extern const uc_general_category_t UC_/extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_/' \
- -e 's/extern const uc_property_t UC_/extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_/' \
- < lib/unictype.in.h \
- > lib/unictype.in.h.tmp \
- && mv lib/unictype.in.h.tmp lib/unictype.in.h
- sed -e 's/extern const struct unicode_normalization_form /extern LIBUNISTRING_DLL_VARIABLE const struct unicode_normalization_form /' \
- < lib/uninorm.in.h \
- > lib/uninorm.in.h.tmp \
- && mv lib/uninorm.in.h.tmp lib/uninorm.in.h
- sed -e 's/extern const casing_/extern LIBUNISTRING_DLL_VARIABLE const casing_/' \
- < lib/unicase.in.h \
- > lib/unicase.in.h.tmp \
- && mv lib/unicase.in.h.tmp lib/unicase.in.h
$GNULIB_TOOL --copy-file build-aux/ar-lib; chmod a+x build-aux/ar-lib
$GNULIB_TOOL --copy-file build-aux/config.guess; chmod a+x build-aux/config.guess
$GNULIB_TOOL --copy-file build-aux/config.sub; chmod a+x build-aux/config.sub
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 980b0208..f6d217a4 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2022 Free Software Foundation, Inc.
+# Copyright 1992-2024 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2022-09-17'
+timestamp='2024-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of the system '$me' is run on.
Options:
-h, --help print this help, then exit
@@ -60,13 +60,13 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
@@ -102,8 +102,8 @@ GUESS=
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
+# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
+# use 'HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
@@ -155,6 +155,9 @@ Linux|GNU|GNU/*)
set_cc_for_build
cat <<-EOF > "$dummy.c"
+ #if defined(__ANDROID__)
+ LIBC=android
+ #else
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
@@ -162,6 +165,8 @@ Linux|GNU|GNU/*)
LIBC=dietlibc
#elif defined(__GLIBC__)
LIBC=gnu
+ #elif defined(__LLVM_LIBC__)
+ LIBC=llvm
#else
#include <stdarg.h>
/* First heuristic to detect musl libc. */
@@ -169,6 +174,7 @@ Linux|GNU|GNU/*)
LIBC=musl
#endif
#endif
+ #endif
EOF
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
eval "$cc_set_libc"
@@ -459,7 +465,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
UNAME_RELEASE=`uname -v`
;;
esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
+ # Japanese Language versions have a version number like '4.1.3-JL'.
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
GUESS=sparc-sun-sunos$SUN_REL
;;
@@ -904,7 +910,7 @@ EOF
fi
;;
*:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ UNAME_PROCESSOR=`uname -p`
case $UNAME_PROCESSOR in
amd64)
UNAME_PROCESSOR=x86_64 ;;
@@ -976,7 +982,27 @@ EOF
GUESS=$UNAME_MACHINE-unknown-minix
;;
aarch64:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ set_cc_for_build
+ CPU=$UNAME_MACHINE
+ LIBCABI=$LIBC
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ ABI=64
+ sed 's/^ //' << EOF > "$dummy.c"
+ #ifdef __ARM_EABI__
+ #ifdef __ARM_PCS_VFP
+ ABI=eabihf
+ #else
+ ABI=eabi
+ #endif
+ #endif
+EOF
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+ eval "$cc_set_abi"
+ case $ABI in
+ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
+ esac
+ fi
+ GUESS=$CPU-unknown-linux-$LIBCABI
;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
@@ -1042,6 +1068,15 @@ EOF
k1om:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
+ kvx:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ kvx:cos:*:*)
+ GUESS=$UNAME_MACHINE-unknown-cos
+ ;;
+ kvx:mbr:*:*)
+ GUESS=$UNAME_MACHINE-unknown-mbr
+ ;;
loongarch32:Linux:*:* | loongarch64:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
@@ -1197,7 +1232,7 @@ EOF
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
;;
i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
+ # If we were able to find 'uname', then EMX Unix compatibility
# is probably installed.
GUESS=$UNAME_MACHINE-pc-os2-emx
;;
@@ -1338,7 +1373,7 @@ EOF
GUESS=ns32k-sni-sysv
fi
;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
GUESS=i586-unisys-sysv4
;;
@@ -1560,6 +1595,9 @@ EOF
*:Unleashed:*:*)
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
;;
+ *:Ironclad:*:*)
+ GUESS=$UNAME_MACHINE-unknown-ironclad
+ ;;
esac
# Do we have a guess based on uname results?
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index 1e1ab679..3893ddd8 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -2,7 +2,7 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2022 Free Software Foundation, Inc.
+# Copyright 1996-2024 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
diff --git a/build-aux/config.sub b/build-aux/config.sub
index baf1512b..2c6a07ab 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2022 Free Software Foundation, Inc.
+# Copyright 1992-2024 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2022-09-17'
+timestamp='2024-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -76,13 +76,13 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
@@ -130,7 +130,7 @@ IFS=$saved_IFS
# Separate into logical components for further validation
case $1 in
*-*-*-*-*)
- echo Invalid configuration \`"$1"\': more than four components >&2
+ echo "Invalid configuration '$1': more than four components" >&2
exit 1
;;
*-*-*-*)
@@ -145,7 +145,8 @@ case $1 in
nto-qnx* | linux-* | uclinux-uclibc* \
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
- | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
+ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
+ | windows-* )
basic_machine=$field1
basic_os=$maybe_os
;;
@@ -943,7 +944,7 @@ $basic_machine
EOF
IFS=$saved_IFS
;;
- # We use `pc' rather than `unknown'
+ # We use 'pc' rather than 'unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
@@ -1075,7 +1076,7 @@ case $cpu-$vendor in
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=i586
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
cpu=i686
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
@@ -1180,7 +1181,7 @@ case $cpu-$vendor in
case $cpu in
1750a | 580 \
| a29k \
- | aarch64 | aarch64_be \
+ | aarch64 | aarch64_be | aarch64c | arm64ec \
| abacus \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
@@ -1199,12 +1200,14 @@ case $cpu-$vendor in
| d10v | d30v | dlx | dsp16xx \
| e2k | elxsi | epiphany \
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+ | javascript \
| h8300 | h8500 \
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
+ | kvx \
| le32 | le64 \
| lm32 \
| loongarch32 | loongarch64 \
@@ -1213,36 +1216,13 @@ case $cpu-$vendor in
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
| m88110 | m88k | maxq | mb | mcore | mep | metag \
| microblaze | microblazeel \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64eb | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa32r3 | mipsisa32r3el \
- | mipsisa32r5 | mipsisa32r5el \
- | mipsisa32r6 | mipsisa32r6el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64r3 | mipsisa64r3el \
- | mipsisa64r5 | mipsisa64r5el \
- | mipsisa64r6 | mipsisa64r6el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipsr5900 | mipsr5900el \
- | mipstx39 | mipstx39el \
+ | mips* \
| mmix \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
+ | nanomips* \
| nds32 | nds32le | nds32be \
| nfp \
| nios | nios2 | nios2eb | nios2el \
@@ -1274,6 +1254,7 @@ case $cpu-$vendor in
| ubicom32 \
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
| vax \
+ | vc4 \
| visium \
| w65 \
| wasm32 | wasm64 \
@@ -1285,7 +1266,7 @@ case $cpu-$vendor in
;;
*)
- echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
exit 1
;;
esac
@@ -1306,11 +1287,12 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if test x$basic_os != x
+if test x"$basic_os" != x
then
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
# set os.
+obj=
case $basic_os in
gnu/linux*)
kernel=linux
@@ -1510,10 +1492,16 @@ case $os in
os=eabi
;;
*)
- os=elf
+ os=
+ obj=elf
;;
esac
;;
+ aout* | coff* | elf* | pe*)
+ # These are machine code file formats, not OSes
+ obj=$os
+ os=
+ ;;
*)
# No normalization, but not necessarily accepted, that comes below.
;;
@@ -1532,12 +1520,15 @@ else
# system, and we'll never get to this point.
kernel=
+obj=
case $cpu-$vendor in
score-*)
- os=elf
+ os=
+ obj=elf
;;
spu-*)
- os=elf
+ os=
+ obj=elf
;;
*-acorn)
os=riscix1.2
@@ -1547,28 +1538,35 @@ case $cpu-$vendor in
os=gnu
;;
arm*-semi)
- os=aout
+ os=
+ obj=aout
;;
c4x-* | tic4x-*)
- os=coff
+ os=
+ obj=coff
;;
c8051-*)
- os=elf
+ os=
+ obj=elf
;;
clipper-intergraph)
os=clix
;;
hexagon-*)
- os=elf
+ os=
+ obj=elf
;;
tic54x-*)
- os=coff
+ os=
+ obj=coff
;;
tic55x-*)
- os=coff
+ os=
+ obj=coff
;;
tic6x-*)
- os=coff
+ os=
+ obj=coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1590,19 +1588,24 @@ case $cpu-$vendor in
os=sunos3
;;
m68*-cisco)
- os=aout
+ os=
+ obj=aout
;;
mep-*)
- os=elf
+ os=
+ obj=elf
;;
mips*-cisco)
- os=elf
+ os=
+ obj=elf
;;
- mips*-*)
- os=elf
+ mips*-*|nanomips*-*)
+ os=
+ obj=elf
;;
or32-*)
- os=coff
+ os=
+ obj=coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=sysv3
@@ -1611,7 +1614,8 @@ case $cpu-$vendor in
os=sunos4.1.1
;;
pru-*)
- os=elf
+ os=
+ obj=elf
;;
*-be)
os=beos
@@ -1692,10 +1696,12 @@ case $cpu-$vendor in
os=uxpv
;;
*-rom68k)
- os=coff
+ os=
+ obj=coff
;;
*-*bug)
- os=coff
+ os=
+ obj=coff
;;
*-apple)
os=macos
@@ -1713,10 +1719,11 @@ esac
fi
-# Now, validate our (potentially fixed-up) OS.
+# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
+
case $os in
# Sometimes we do "kernel-libc", so those need to count as OSes.
- musl* | newlib* | relibc* | uclibc*)
+ llvm* | musl* | newlib* | relibc* | uclibc*)
;;
# Likewise for "kernel-abi"
eabi* | gnueabi*)
@@ -1724,6 +1731,9 @@ case $os in
# VxWorks passes extra cpu info in the 4th filed.
simlinux | simwindows | spe)
;;
+ # See `case $cpu-$os` validation below
+ ghcjs)
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
@@ -1732,7 +1742,7 @@ case $os in
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
| hiux* | abug | nacl* | netware* | windows* \
- | os9* | macos* | osx* | ios* \
+ | os9* | macos* | osx* | ios* | tvos* | watchos* \
| mpw* | magic* | mmixware* | mon960* | lnews* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* | twizzler* \
@@ -1741,11 +1751,11 @@ case $os in
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+ | bosx* | nextstep* | cxux* | oabi* \
+ | ptx* | ecoff* | winnt* | domain* | vsta* \
| udi* | lites* | ieee* | go32* | aux* | hcos* \
| chorusrdb* | cegcc* | glidix* | serenity* \
- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+ | cygwin* | msys* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | mint* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
| interix* | uwin* | mks* | rhapsody* | darwin* \
@@ -1758,62 +1768,116 @@ case $os in
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
- | fiwix* | mlibc* )
+ | fiwix* | mlibc* | cos* | mbr* | ironclad* )
;;
# This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
;;
+ # This refers to builds using the UEFI calling convention
+ # (which depends on the architecture) and PE file format.
+ # Note that this is both a different calling convention and
+ # different file format than that of GNU-EFI
+ # (x86_64-w64-mingw32).
+ uefi)
+ ;;
none)
;;
- kernel* )
+ kernel* | msvc* )
# Restricted further below
;;
+ '')
+ if test x"$obj" = x
+ then
+ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
+ fi
+ ;;
*)
- echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
+ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
+ exit 1
+ ;;
+esac
+
+case $obj in
+ aout* | coff* | elf* | pe*)
+ ;;
+ '')
+ # empty is fine
+ ;;
+ *)
+ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we handle the constraint that a (synthetic) cpu and os are
+# valid only in combination with each other and nowhere else.
+case $cpu-$os in
+ # The "javascript-unknown-ghcjs" triple is used by GHC; we
+ # accept it here in order to tolerate that, but reject any
+ # variations.
+ javascript-ghcjs)
+ ;;
+ javascript-* | *-ghcjs)
+ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
exit 1
;;
esac
# As a final step for OS-related things, validate the OS-kernel combination
# (given a valid OS), if there is a kernel.
-case $kernel-$os in
- linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
- | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* )
+case $kernel-$os-$obj in
+ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
+ | linux-mlibc*- | linux-musl*- | linux-newlib*- \
+ | linux-relibc*- | linux-uclibc*- )
;;
- uclinux-uclibc* )
+ uclinux-uclibc*- )
;;
- managarm-mlibc* | managarm-kernel* )
+ managarm-mlibc*- | managarm-kernel*- )
;;
- -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
+ windows*-msvc*-)
+ ;;
+ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
+ | -uclibc*- )
# These are just libc implementations, not actual OSes, and thus
# require a kernel.
- echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
+ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
exit 1
;;
- -kernel* )
- echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
+ -kernel*- )
+ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
exit 1
;;
- *-kernel* )
- echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
+ *-kernel*- )
+ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
exit 1
;;
- kfreebsd*-gnu* | kopensolaris*-gnu*)
+ *-msvc*- )
+ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
+ exit 1
;;
- vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+ kfreebsd*-gnu*- | kopensolaris*-gnu*-)
;;
- nto-qnx*)
+ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
;;
- os2-emx)
+ nto-qnx*-)
+ ;;
+ os2-emx-)
+ ;;
+ *-eabi*- | *-gnueabi*-)
;;
- *-eabi* | *-gnueabi*)
+ none--*)
+ # None (no kernel, i.e. freestanding / bare metal),
+ # can be paired with an machine code file format
;;
- -*)
+ -*-)
# Blank kernel with real OS is always fine.
;;
- *-*)
- echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
+ --*)
+ # Blank kernel and OS with real machine code file format is always fine.
+ ;;
+ *-*-*)
+ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
exit 1
;;
esac
@@ -1896,7 +1960,7 @@ case $vendor in
;;
esac
-echo "$cpu-$vendor-${kernel:+$kernel-}$os"
+echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
exit
# Local variables:
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
new file mode 100644
index 00000000..af702fe6
--- /dev/null
+++ b/build-aux/git-log-fix
@@ -0,0 +1,3 @@
+# This file is expected to be used via gitlog-to-changelog's --amend=FILE
+# option. It specifies what changes to make to each given SHA1's commit
+# log and metadata, using Perl-eval'able expressions.
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
new file mode 100755
index 00000000..16a9405a
--- /dev/null
+++ b/build-aux/gitlog-to-changelog
@@ -0,0 +1,516 @@
+#!/bin/sh
+#! -*-perl-*-
+
+# Convert git log output to ChangeLog format.
+
+# Copyright (C) 2008-2024 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+# Written by Jim Meyering
+
+# This is a prologue that allows running a perl script as an executable
+# on systems that are compliant to a POSIX version before POSIX:2017.
+# On such systems, the usual invocation of an executable through execlp()
+# or execvp() fails with ENOEXEC if it is a script that does not start
+# with a #! line. The script interpreter mentioned in the #! line has
+# to be /bin/sh, because on GuixSD systems that is the only program that
+# has a fixed file name. The second line is essential for perl and is
+# also useful for editing this file in Emacs. The next two lines below
+# are valid code in both sh and perl. When executed by sh, they re-execute
+# the script through the perl program found in $PATH. The '-x' option
+# is essential as well; without it, perl would re-execute the script
+# through /bin/sh. When executed by perl, the next two lines are a no-op.
+eval 'exec perl -wSx "$0" "$@"'
+ if 0;
+
+my $VERSION = '2023-06-24 21:59'; # UTC
+# The definition above must lie within the first 8 lines in order
+# for the Emacs time-stamp write hook (at end) to update it.
+# If you change this file with Emacs, please let the write hook
+# do its job. Otherwise, update this string manually.
+
+use strict;
+use warnings;
+use Getopt::Long;
+use POSIX qw(strftime);
+
+(my $ME = $0) =~ s|.*/||;
+
+# use File::Coda; # https://meyering.net/code/Coda/
+END {
+ defined fileno STDOUT or return;
+ close STDOUT and return;
+ warn "$ME: failed to close standard output: $!\n";
+ $? ||= 1;
+}
+
+sub usage ($)
+{
+ my ($exit_code) = @_;
+ my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
+ if ($exit_code != 0)
+ {
+ print $STREAM "Try '$ME --help' for more information.\n";
+ }
+ else
+ {
+ print $STREAM <<EOF;
+Usage: $ME [OPTIONS] [ARGS]
+
+Convert git log output to ChangeLog format. If present, any ARGS
+are passed to "git log". To avoid ARGS being parsed as options to
+$ME, they may be preceded by '--'.
+
+OPTIONS:
+
+ --amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
+ makes a change to SHA1's commit log text or metadata.
+ --append-dot append a dot to the first line of each commit message if
+ there is no other punctuation or blank at the end.
+ --no-cluster never cluster commit messages under the same date/author
+ header; the default is to cluster adjacent commit messages
+ if their headers are the same and neither commit message
+ contains multiple paragraphs.
+ --srcdir=DIR the root of the source tree, from which the .git/
+ directory can be derived.
+ --since=DATE convert only the logs since DATE;
+ the default is to convert all log entries.
+ --until=DATE convert only the logs older than DATE.
+ --ignore-matching=PAT ignore commit messages whose first lines match PAT.
+ --ignore-line=PAT ignore lines of commit messages that match PAT.
+ --format=FMT set format string for commit subject and body;
+ see 'man git-log' for the list of format metacharacters;
+ the default is '%s%n%b%n'
+ --strip-tab remove one additional leading TAB from commit message lines.
+ --strip-cherry-pick remove data inserted by "git cherry-pick";
+ this includes the "cherry picked from commit ..." line,
+ and the possible final "Conflicts:" paragraph.
+ --help display this help and exit
+ --version output version information and exit
+
+EXAMPLE:
+
+ $ME --since=2008-01-01 > ChangeLog
+ $ME -- -n 5 foo > last-5-commits-to-branch-foo
+
+SPECIAL SYNTAX:
+
+The following types of strings are interpreted specially when they appear
+at the beginning of a log message line. They are not copied to the output.
+
+ Copyright-paperwork-exempt: Yes
+ Append the "(tiny change)" notation to the usual "date name email"
+ ChangeLog header to mark a change that does not require a copyright
+ assignment.
+ Co-authored-by: Joe User <user\@example.com>
+ List the specified name and email address on a second
+ ChangeLog header, denoting a co-author.
+ Signed-off-by: Joe User <user\@example.com>
+ These lines are simply elided.
+
+In a FILE specified via --amend, comment lines (starting with "#") are ignored.
+FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
+a line) referring to a commit in the current project, and CODE refers to one
+or more consecutive lines of Perl code. Pairs must be separated by one or
+more blank line.
+
+Here is sample input for use with --amend=FILE, from coreutils:
+
+3a169f4c5d9159283548178668d2fae6fced3030
+# fix typo in title:
+s/all tile types/all file types/
+
+1379ed974f1fa39b12e2ffab18b3f7a607082202
+# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
+# Change the author to be Paul. Note the escaped "@":
+s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
+
+EOF
+ }
+ exit $exit_code;
+}
+
+# If the string $S is a well-behaved file name, simply return it.
+# If it contains white space, quotes, etc., quote it, and return the new string.
+sub shell_quote($)
+{
+ my ($s) = @_;
+ if ($s =~ m![^\w+/.,-]!)
+ {
+ # Convert each single quote to '\''
+ $s =~ s/\'/\'\\\'\'/g;
+ # Then single quote the string.
+ $s = "'$s'";
+ }
+ return $s;
+}
+
+sub quoted_cmd(@)
+{
+ return join (' ', map {shell_quote $_} @_);
+}
+
+# Parse file F.
+# Comment lines (starting with "#") are ignored.
+# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
+# (alone on a line) referring to a commit in the current project, and
+# CODE refers to one or more consecutive lines of Perl code.
+# Pairs must be separated by one or more blank line.
+sub parse_amend_file($)
+{
+ my ($f) = @_;
+
+ open F, '<', $f
+ or die "$ME: $f: failed to open for reading: $!\n";
+
+ my $fail;
+ my $h = {};
+ my $in_code = 0;
+ my $sha;
+ while (defined (my $line = <F>))
+ {
+ $line =~ /^\#/
+ and next;
+ chomp $line;
+ $line eq ''
+ and $in_code = 0, next;
+
+ if (!$in_code)
+ {
+ $line =~ /^([[:xdigit:]]{40})$/
+ or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
+ $fail = 1, next;
+ $sha = lc $1;
+ $in_code = 1;
+ exists $h->{$sha}
+ and (warn "$ME: $f:$.: duplicate SHA1\n"),
+ $fail = 1, next;
+ }
+ else
+ {
+ $h->{$sha} ||= '';
+ $h->{$sha} .= "$line\n";
+ }
+ }
+ close F;
+
+ $fail
+ and exit 1;
+
+ return $h;
+}
+
+# git_dir_option $SRCDIR
+#
+# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
+# is undef). Return as a list (0 or 1 element).
+sub git_dir_option($)
+{
+ my ($srcdir) = @_;
+ my @res = ();
+ if (defined $srcdir)
+ {
+ my $qdir = shell_quote $srcdir;
+ my $cmd = "cd $qdir && git rev-parse --show-toplevel";
+ my $qcmd = shell_quote $cmd;
+ my $git_dir = qx($cmd);
+ defined $git_dir
+ or die "$ME: cannot run $qcmd: $!\n";
+ $? == 0
+ or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
+ chomp $git_dir;
+ push @res, "--git-dir=$git_dir/.git";
+ }
+ @res;
+}
+
+{
+ my $since_date;
+ my $until_date;
+ my $format_string = '%s%n%b%n';
+ my $amend_file;
+ my $append_dot = 0;
+ my $cluster = 1;
+ my $ignore_matching;
+ my $ignore_line;
+ my $strip_tab = 0;
+ my $strip_cherry_pick = 0;
+ my $srcdir;
+ GetOptions
+ (
+ help => sub { usage 0 },
+ version => sub { print "$ME version $VERSION\n"; exit },
+ 'since=s' => \$since_date,
+ 'until=s' => \$until_date,
+ 'format=s' => \$format_string,
+ 'amend=s' => \$amend_file,
+ 'append-dot' => \$append_dot,
+ 'cluster!' => \$cluster,
+ 'ignore-matching=s' => \$ignore_matching,
+ 'ignore-line=s' => \$ignore_line,
+ 'strip-tab' => \$strip_tab,
+ 'strip-cherry-pick' => \$strip_cherry_pick,
+ 'srcdir=s' => \$srcdir,
+ ) or usage 1;
+
+ defined $since_date
+ and unshift @ARGV, "--since=$since_date";
+ defined $until_date
+ and unshift @ARGV, "--until=$until_date";
+
+ # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
+ # that makes a correction in the log or attribution of that commit.
+ my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
+
+ my @cmd = ('git',
+ git_dir_option $srcdir,
+ qw(log --log-size),
+ '--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
+ open PIPE, '-|', @cmd
+ or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
+ . "(Is your Git too old? Version 1.5.1 or later is required.)\n");
+
+ my $prev_multi_paragraph;
+ my $prev_date_line = '';
+ my @prev_coauthors = ();
+ my @skipshas = ();
+ while (1)
+ {
+ defined (my $in = <PIPE>)
+ or last;
+ $in =~ /^log size (\d+)$/
+ or die "$ME:$.: Invalid line (expected log size):\n$in";
+ my $log_nbytes = $1;
+
+ my $log;
+ my $n_read = read PIPE, $log, $log_nbytes;
+ $n_read == $log_nbytes
+ or die "$ME:$.: unexpected EOF\n";
+
+ # Extract leading hash.
+ my ($sha, $rest) = split ':', $log, 2;
+ defined $sha
+ or die "$ME:$.: malformed log entry\n";
+ $sha =~ /^[[:xdigit:]]{40}$/
+ or die "$ME:$.: invalid SHA1: $sha\n";
+
+ my $skipflag = 0;
+ if (@skipshas)
+ {
+ foreach(@skipshas)
+ {
+ if ($sha =~ /^$_/)
+ {
+ $skipflag = $_;
+ last;
+ }
+ }
+ }
+
+ # If this commit's log requires any transformation, do it now.
+ my $code = $amend_code->{$sha};
+ if (defined $code)
+ {
+ eval 'use Safe';
+ my $s = new Safe;
+ # Put the unpreprocessed entry into "$_".
+ $_ = $rest;
+
+ # Let $code operate on it, safely.
+ my $r = $s->reval("$code")
+ or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
+
+ # Note that we've used this entry.
+ delete $amend_code->{$sha};
+
+ # Update $rest upon success.
+ $rest = $_;
+ }
+
+ # Remove lines inserted by "git cherry-pick".
+ if ($strip_cherry_pick)
+ {
+ $rest =~ s/^\s*Conflicts:\n.*//sm;
+ $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
+ }
+
+ my @line = split /[ \t]*\n/, $rest;
+ my $author_line = shift @line;
+ defined $author_line
+ or die "$ME:$.: unexpected EOF\n";
+ $author_line =~ /^(\d+) (.*>)$/
+ or die "$ME:$.: Invalid line "
+ . "(expected date/author/email):\n$author_line\n";
+
+ # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
+ # '(tiny change)' annotation.
+ my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line)
+ ? ' (tiny change)' : '');
+
+ my $date_line = sprintf "%s %s$tiny\n",
+ strftime ("%Y-%m-%d", localtime ($1)), $2;
+
+ my @coauthors = grep /^Co-authored-by:.*$/, @line;
+ # Omit meta-data lines we've already interpreted.
+ @line = grep !/^(?:Signed-off-by:[ ].*>$
+ |Co-authored-by:[ ]
+ |Copyright-paperwork-exempt:[ ]
+ |Tiny-change:[ ]
+ )/x, @line;
+
+ # Remove leading and trailing blank lines.
+ if (@line)
+ {
+ while ($line[0] =~ /^\s*$/) { shift @line; }
+ while ($line[$#line] =~ /^\s*$/) { pop @line; }
+ }
+
+ # Handle Emacs gitmerge.el "skipped" commits.
+ # Yes, this should be controlled by an option. So sue me.
+ if ( grep /^(; )?Merge from /, @line )
+ {
+ my $found = 0;
+ foreach (@line)
+ {
+ if (grep /^The following commit.*skipped:$/, $_)
+ {
+ $found = 1;
+ ## Reset at each merge to reduce chance of false matches.
+ @skipshas = ();
+ next;
+ }
+ if ($found && $_ =~ /^([[:xdigit:]]{7,}) [^ ]/)
+ {
+ push ( @skipshas, $1 );
+ }
+ }
+ }
+
+ # Ignore commits that match the --ignore-matching pattern, if specified.
+ if (defined $ignore_matching && @line && $line[0] =~ /$ignore_matching/)
+ {
+ $skipflag = 1;
+ }
+ elsif ($skipflag)
+ {
+ ## Perhaps only warn if a pattern matches more than once?
+ warn "$ME: warning: skipping $sha due to $skipflag\n";
+ }
+
+ if (! $skipflag)
+ {
+ if (defined $ignore_line && @line)
+ {
+ @line = grep ! /$ignore_line/, @line;
+ while ($line[$#line] =~ /^\s*$/) { pop @line; }
+ }
+
+ # Record whether there are two or more paragraphs.
+ my $multi_paragraph = grep /^\s*$/, @line;
+
+ # Format 'Co-authored-by: A U Thor <email@example.com>' lines in
+ # standard multi-author ChangeLog format.
+ for (@coauthors)
+ {
+ s/^Co-authored-by:\s*/\t /;
+ s/\s*</ </;
+
+ /<.*?@.*\..*>/
+ or warn "$ME: warning: missing email address for "
+ . substr ($_, 5) . "\n";
+ }
+
+ # If clustering of commit messages has been disabled, if this header
+ # would be different from the previous date/name/etc. header,
+ # or if this or the previous entry consists of two or more paragraphs,
+ # then print the header.
+ if ( ! $cluster
+ || $date_line ne $prev_date_line
+ || "@coauthors" ne "@prev_coauthors"
+ || $multi_paragraph
+ || $prev_multi_paragraph)
+ {
+ $prev_date_line eq ''
+ or print "\n";
+ print $date_line;
+ @coauthors
+ and print join ("\n", @coauthors), "\n";
+ }
+ $prev_date_line = $date_line;
+ @prev_coauthors = @coauthors;
+ $prev_multi_paragraph = $multi_paragraph;
+
+ # If there were any lines
+ if (@line == 0)
+ {
+ warn "$ME: warning: empty commit message:\n"
+ . " commit $sha\n $date_line\n";
+ }
+ else
+ {
+ if ($append_dot)
+ {
+ # If the first line of the message has enough room, then
+ if (length $line[0] < 72)
+ {
+ # append a dot if there is no other punctuation or blank
+ # at the end.
+ $line[0] =~ /[[:punct:]\s]$/
+ or $line[0] .= '.';
+ }
+ }
+
+ # Remove one additional leading TAB from each line.
+ $strip_tab
+ and map { s/^\t// } @line;
+
+ # Prefix each non-empty line with a TAB.
+ @line = map { length $_ ? "\t$_" : '' } @line;
+
+ print "\n", join ("\n", @line), "\n";
+ }
+ }
+
+ defined ($in = <PIPE>)
+ or last;
+ $in ne "\n"
+ and die "$ME:$.: unexpected line:\n$in";
+ }
+
+ close PIPE
+ or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
+ # FIXME-someday: include $PROCESS_STATUS in the diagnostic
+
+ # Complain about any unused entry in the --amend=F specified file.
+ my $fail = 0;
+ foreach my $sha (keys %$amend_code)
+ {
+ warn "$ME:$amend_file: unused entry: $sha\n";
+ $fail = 1;
+ }
+
+ exit $fail;
+}
+
+# Local Variables:
+# mode: perl
+# indent-tabs-mode: nil
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-line-limit: 50
+# time-stamp-start: "my $VERSION = '"
+# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "'; # UTC"
+# End:
diff --git a/build-aux/run-test b/build-aux/run-test
index 58e9cc6d..56d4a3a4 100755
--- a/build-aux/run-test
+++ b/build-aux/run-test
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/config.h.in b/config.h.in
index 50d5306e..61d44652 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,8 +1,15 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+/* Witness that <config.h> has been included. */
+#define _GL_CONFIG_H_INCLUDED 1
+
+
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
+/* Define if no multithread safety and no multithreading is desired. */
+#undef AVOID_ANY_THREADS
+
/* Define to the number of bits in type 'ptrdiff_t'. */
#undef BITSIZEOF_PTRDIFF_T
@@ -18,6 +25,9 @@
/* Define to the number of bits in type 'wint_t'. */
#undef BITSIZEOF_WINT_T
+/* Define if the c32rtomb function has an incorrect return value. */
+#undef C32RTOMB_RETVAL_BUG
+
/* Define if you wish *printf() functions that have a safe handling of
non-IEEE-754 'long double' values. */
#undef CHECK_PRINTF_SAFE
@@ -113,9 +123,60 @@
/* Define to 1 when the gnulib module bind should be tested. */
#undef GNULIB_TEST_BIND
+/* Define to 1 when the gnulib module btoc32 should be tested. */
+#undef GNULIB_TEST_BTOC32
+
/* Define to 1 when the gnulib module btowc should be tested. */
#undef GNULIB_TEST_BTOWC
+/* Define to 1 when the gnulib module c32isalnum should be tested. */
+#undef GNULIB_TEST_C32ISALNUM
+
+/* Define to 1 when the gnulib module c32isalpha should be tested. */
+#undef GNULIB_TEST_C32ISALPHA
+
+/* Define to 1 when the gnulib module c32isblank should be tested. */
+#undef GNULIB_TEST_C32ISBLANK
+
+/* Define to 1 when the gnulib module c32iscntrl should be tested. */
+#undef GNULIB_TEST_C32ISCNTRL
+
+/* Define to 1 when the gnulib module c32isdigit should be tested. */
+#undef GNULIB_TEST_C32ISDIGIT
+
+/* Define to 1 when the gnulib module c32isgraph should be tested. */
+#undef GNULIB_TEST_C32ISGRAPH
+
+/* Define to 1 when the gnulib module c32islower should be tested. */
+#undef GNULIB_TEST_C32ISLOWER
+
+/* Define to 1 when the gnulib module c32isprint should be tested. */
+#undef GNULIB_TEST_C32ISPRINT
+
+/* Define to 1 when the gnulib module c32ispunct should be tested. */
+#undef GNULIB_TEST_C32ISPUNCT
+
+/* Define to 1 when the gnulib module c32isspace should be tested. */
+#undef GNULIB_TEST_C32ISSPACE
+
+/* Define to 1 when the gnulib module c32isupper should be tested. */
+#undef GNULIB_TEST_C32ISUPPER
+
+/* Define to 1 when the gnulib module c32isxdigit should be tested. */
+#undef GNULIB_TEST_C32ISXDIGIT
+
+/* Define to 1 when the gnulib module c32rtomb should be tested. */
+#undef GNULIB_TEST_C32RTOMB
+
+/* Define to 1 when the gnulib module c32tob should be tested. */
+#undef GNULIB_TEST_C32TOB
+
+/* Define to 1 when the gnulib module c32tolower should be tested. */
+#undef GNULIB_TEST_C32TOLOWER
+
+/* Define to 1 when the gnulib module c32width should be tested. */
+#undef GNULIB_TEST_C32WIDTH
+
/* Define to 1 when the gnulib module calloc-gnu should be tested. */
#undef GNULIB_TEST_CALLOC_GNU
@@ -197,6 +258,9 @@
/* Define to 1 when the gnulib module getpagesize should be tested. */
#undef GNULIB_TEST_GETPAGESIZE
+/* Define to 1 when the gnulib module getprogname should be tested. */
+#undef GNULIB_TEST_GETPROGNAME
+
/* Define to 1 when the gnulib module gettimeofday should be tested. */
#undef GNULIB_TEST_GETTIMEOFDAY
@@ -209,14 +273,17 @@
/* Define to 1 when the gnulib module iswdigit should be tested. */
#undef GNULIB_TEST_ISWDIGIT
+/* Define to 1 when the gnulib module iswpunct should be tested. */
+#undef GNULIB_TEST_ISWPUNCT
+
/* Define to 1 when the gnulib module iswxdigit should be tested. */
#undef GNULIB_TEST_ISWXDIGIT
/* Define to 1 when the gnulib module listen should be tested. */
#undef GNULIB_TEST_LISTEN
-/* Define to 1 when the gnulib module localename should be tested. */
-#undef GNULIB_TEST_LOCALENAME
+/* Define to 1 when the gnulib module localename-unsafe should be tested. */
+#undef GNULIB_TEST_LOCALENAME_UNSAFE
/* Define to 1 when the gnulib module lstat should be tested. */
#undef GNULIB_TEST_LSTAT
@@ -227,6 +294,9 @@
/* Define to 1 when the gnulib module malloc-posix should be tested. */
#undef GNULIB_TEST_MALLOC_POSIX
+/* Define to 1 when the gnulib module mbrtoc32 should be tested. */
+#undef GNULIB_TEST_MBRTOC32
+
/* Define to 1 when the gnulib module mbrtowc should be tested. */
#undef GNULIB_TEST_MBRTOWC
@@ -236,6 +306,9 @@
/* Define to 1 when the gnulib module mbsnlen should be tested. */
#undef GNULIB_TEST_MBSNLEN
+/* Define to 1 when the gnulib module mbszero should be tested. */
+#undef GNULIB_TEST_MBSZERO
+
/* Define to 1 when the gnulib module mbtowc should be tested. */
#undef GNULIB_TEST_MBTOWC
@@ -281,6 +354,12 @@
/* Define to 1 when the gnulib module raise should be tested. */
#undef GNULIB_TEST_RAISE
+/* Define to 1 when the gnulib module random should be tested. */
+#undef GNULIB_TEST_RANDOM
+
+/* Define to 1 when the gnulib module random_r should be tested. */
+#undef GNULIB_TEST_RANDOM_R
+
/* Define to 1 when the gnulib module reallocarray should be tested. */
#undef GNULIB_TEST_REALLOCARRAY
@@ -341,6 +420,9 @@
/* Define to 1 when the gnulib module symlink should be tested. */
#undef GNULIB_TEST_SYMLINK
+/* Define to 1 when the gnulib module time should be tested. */
+#undef GNULIB_TEST_TIME
+
/* Define to 1 when the gnulib module uninorm/u16-normalize should be tested.
*/
#undef GNULIB_TEST_UNINORM_U16_NORMALIZE
@@ -493,6 +575,10 @@
whether the gnulib module xalloc-die shall be considered present. */
#undef GNULIB_XALLOC_DIE
+/* Define if the __locale_t type contains the name of the LC_MESSAGES
+ category. */
+#undef HAVE_AIX72_LOCALES
+
/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
may be supplied by this distribution. */
#undef HAVE_ALLOCA
@@ -506,7 +592,7 @@
/* Define to 1 if you have the <bp-sym.h> header file. */
#undef HAVE_BP_SYM_H
-/* Define to 1 if you have the `btowc' function. */
+/* Define to 1 if you have the 'btowc' function. */
#undef HAVE_BTOWC
/* Define to 1 if nanosleep mishandles large arguments. */
@@ -550,115 +636,131 @@
/* Define to 1 if C supports variable-length arrays. */
#undef HAVE_C_VARARRAYS
-/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'alarm', and to 0 if you don't.
*/
#undef HAVE_DECL_ALARM
-/* Define to 1 if you have the declaration of `copysign', and to 0 if you
+/* Define to 1 if you have the declaration of 'copysign', and to 0 if you
don't. */
#undef HAVE_DECL_COPYSIGN
-/* Define to 1 if you have the declaration of `copysignf', and to 0 if you
+/* Define to 1 if you have the declaration of 'copysignf', and to 0 if you
don't. */
#undef HAVE_DECL_COPYSIGNF
-/* Define to 1 if you have the declaration of `copysignl', and to 0 if you
+/* Define to 1 if you have the declaration of 'copysignl', and to 0 if you
don't. */
#undef HAVE_DECL_COPYSIGNL
-/* Define to 1 if you have the declaration of `ecvt', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'ecvt', and to 0 if you don't.
*/
#undef HAVE_DECL_ECVT
-/* Define to 1 if you have the declaration of `execvpe', and to 0 if you
+/* Define to 1 if you have the declaration of 'execvpe', and to 0 if you
don't. */
#undef HAVE_DECL_EXECVPE
-/* Define to 1 if you have the declaration of `fcloseall', and to 0 if you
+/* Define to 1 if you have the declaration of 'fcloseall', and to 0 if you
don't. */
#undef HAVE_DECL_FCLOSEALL
-/* Define to 1 if you have the declaration of `fcvt', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'fcvt', and to 0 if you don't.
*/
#undef HAVE_DECL_FCVT
-/* Define to 1 if you have the declaration of `gcvt', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'gcvt', and to 0 if you don't.
*/
#undef HAVE_DECL_GCVT
-/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
+/* Define to 1 if you have the declaration of 'getdtablesize', and to 0 if you
don't. */
#undef HAVE_DECL_GETDTABLESIZE
-/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you
+/* Define to 1 if you have the declaration of 'getw', and to 0 if you don't.
+ */
+#undef HAVE_DECL_GETW
+
+/* Define to 1 if you have the declaration of 'inet_pton', and to 0 if you
don't. */
#undef HAVE_DECL_INET_PTON
-/* Define to 1 if you have the declaration of `iswblank', and to 0 if you
+/* Define to 1 if you have the declaration of 'initstate', and to 0 if you
+ don't. */
+#undef HAVE_DECL_INITSTATE
+
+/* Define to 1 if you have the declaration of 'iswblank', and to 0 if you
don't. */
#undef HAVE_DECL_ISWBLANK
-/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you
+/* Define to 1 if you have the declaration of 'mbrtowc', and to 0 if you
don't. */
#undef HAVE_DECL_MBRTOWC
-/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you
+/* Define to 1 if you have the declaration of 'mbsinit', and to 0 if you
don't. */
#undef HAVE_DECL_MBSINIT
-/* Define to 1 if you have the declaration of `program_invocation_name', and
+/* Define to 1 if you have the declaration of 'program_invocation_name', and
to 0 if you don't. */
#undef HAVE_DECL_PROGRAM_INVOCATION_NAME
-/* Define to 1 if you have the declaration of `program_invocation_short_name',
+/* Define to 1 if you have the declaration of 'program_invocation_short_name',
and to 0 if you don't. */
#undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
-/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'putw', and to 0 if you don't.
+ */
+#undef HAVE_DECL_PUTW
+
+/* Define to 1 if you have the declaration of 'setenv', and to 0 if you don't.
*/
#undef HAVE_DECL_SETENV
-/* Define to 1 if you have the declaration of `sleep', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'setstate', and to 0 if you
+ don't. */
+#undef HAVE_DECL_SETSTATE
+
+/* Define to 1 if you have the declaration of 'sleep', and to 0 if you don't.
*/
#undef HAVE_DECL_SLEEP
-/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+/* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR_R
-/* Define to 1 if you have the declaration of `towlower', and to 0 if you
+/* Define to 1 if you have the declaration of 'towlower', and to 0 if you
don't. */
#undef HAVE_DECL_TOWLOWER
-/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you
+/* Define to 1 if you have the declaration of 'unsetenv', and to 0 if you
don't. */
#undef HAVE_DECL_UNSETENV
-/* Define to 1 if you have the declaration of `wcrtomb', and to 0 if you
+/* Define to 1 if you have the declaration of 'wcrtomb', and to 0 if you
don't. */
#undef HAVE_DECL_WCRTOMB
-/* Define to 1 if you have the declaration of `wcsdup', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'wcsdup', and to 0 if you don't.
*/
#undef HAVE_DECL_WCSDUP
-/* Define to 1 if you have the declaration of `wctob', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'wctob', and to 0 if you don't.
*/
#undef HAVE_DECL_WCTOB
-/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you
+/* Define to 1 if you have the declaration of 'wcwidth', and to 0 if you
don't. */
#undef HAVE_DECL_WCWIDTH
-/* Define to 1 if you have the declaration of `_putenv', and to 0 if you
+/* Define to 1 if you have the declaration of '_putenv', and to 0 if you
don't. */
#undef HAVE_DECL__PUTENV
-/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
+/* Define to 1 if you have the declaration of '_snprintf', and to 0 if you
don't. */
#undef HAVE_DECL__SNPRINTF
-/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't.
+/* Define to 1 if you have the declaration of '__argv', and to 0 if you don't.
*/
#undef HAVE_DECL___ARGV
@@ -671,11 +773,17 @@
/* Define if you have the declaration of environ. */
#undef HAVE_ENVIRON_DECL
+/* Define to 1 if you have the `error' function. */
+#undef HAVE_ERROR
+
+/* Define to 1 if you have the <error.h> header file. */
+#undef HAVE_ERROR_H
+
/* Define if the locale_t type contains insufficient information, as on
OpenBSD. */
#undef HAVE_FAKE_LOCALES
-/* Define to 1 if you have the `fcntl' function. */
+/* Define to 1 if you have the 'fcntl' function. */
#undef HAVE_FCNTL
/* Define to 1 if you have the <features.h> header file. */
@@ -696,22 +804,22 @@
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
-/* Define to 1 if you have the `getdtablesize' function. */
+/* Define to 1 if you have the 'getdtablesize' function. */
#undef HAVE_GETDTABLESIZE
-/* Define to 1 if you have the `getexecname' function. */
+/* Define to 1 if you have the 'getexecname' function. */
#undef HAVE_GETEXECNAME
-/* Define to 1 if you have the `getlocalename_l' function. */
+/* Define to 1 if you have the 'getlocalename_l' function. */
#undef HAVE_GETLOCALENAME_L
/* Define to 1 if you have the `getprogname' function. */
#undef HAVE_GETPROGNAME
-/* Define to 1 if you have the `gettimeofday' function. */
+/* Define to 1 if you have the 'gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
-/* Define if the uselocale exists, may be safely called, and returns
+/* Define if the uselocale function exists, may be safely called, and returns
sufficient information. */
#undef HAVE_GOOD_USELOCALE
@@ -721,9 +829,12 @@
/* Define to 1 if you have the <iconv.h> header file. */
#undef HAVE_ICONV_H
-/* Define to 1 if you have the `inet_pton' function. */
+/* Define to 1 if you have the 'inet_pton' function. */
#undef HAVE_INET_PTON
+/* Define to 1 if you have the `initstate' function. */
+#undef HAVE_INITSTATE
+
/* Define to 1 if the compiler supports one of the keywords 'inline',
'__inline__', '__inline' and effectively inlines functions marked as such.
*/
@@ -739,7 +850,7 @@
declares uintmax_t. */
#undef HAVE_INTTYPES_H_WITH_UINTMAX
-/* Define to 1 if you have the `ioctl' function. */
+/* Define to 1 if you have the 'ioctl' function. */
#undef HAVE_IOCTL
/* Define to 1 if <sys/socket.h> defines AF_INET. */
@@ -748,7 +859,7 @@
/* Define to 1 if <sys/socket.h> defines AF_INET6. */
#undef HAVE_IPV6
-/* Define to 1 if you have the `isblank' function. */
+/* Define to 1 if you have the 'isblank' function. */
#undef HAVE_ISBLANK
/* Define if the isnan(double) function is available in libc. */
@@ -763,7 +874,7 @@
/* Define to 1 if you have the `iswblank' function. */
#undef HAVE_ISWBLANK
-/* Define to 1 if you have the `iswcntrl' function. */
+/* Define to 1 if you have the 'iswcntrl' function. */
#undef HAVE_ISWCNTRL
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
@@ -787,7 +898,7 @@
/* Define to 1 if the system has the type 'long long int'. */
#undef HAVE_LONG_LONG_INT
-/* Define to 1 if you have the `lstat' function. */
+/* Define to 1 if you have the 'lstat' function. */
#undef HAVE_LSTAT
/* Define if malloc, realloc, and calloc set errno on allocation failure. */
@@ -800,10 +911,10 @@
/* Define to 1 if you have the <math.h> header file. */
#undef HAVE_MATH_H
-/* Define to 1 if you have the `mbrtowc' function. */
+/* Define to 1 if you have the 'mbrtowc' function. */
#undef HAVE_MBRTOWC
-/* Define to 1 if you have the `mbsinit' function. */
+/* Define to 1 if you have the 'mbsinit' function. */
#undef HAVE_MBSINIT
/* Define to 1 if <wchar.h> declares mbstate_t. */
@@ -821,7 +932,7 @@
/* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
#undef HAVE_MINMAX_IN_SYS_PARAM_H
-/* Define to 1 if you have the `mprotect' function. */
+/* Define to 1 if you have the 'mprotect' function. */
#undef HAVE_MPROTECT
/* Define to 1 on MSVC platforms that have the "invalid parameter handler"
@@ -847,10 +958,10 @@
/* Define to 1 if you have the <OS.h> header file. */
#undef HAVE_OS_H
-/* Define to 1 if you have the `pipe' function. */
+/* Define to 1 if you have the 'pipe' function. */
#undef HAVE_PIPE
-/* Define to 1 if you have the `pselect' function. */
+/* Define to 1 if you have the 'pselect' function. */
#undef HAVE_PSELECT
/* Define if you have the <pthread.h> header and the POSIX threads API. */
@@ -875,22 +986,28 @@
/* Define to 1 if the pthread_sigmask function can be used (despite bugs). */
#undef HAVE_PTHREAD_SIGMASK
-/* Define to 1 if the system has the type `pthread_spinlock_t'. */
+/* Define to 1 if the system has the type 'pthread_spinlock_t'. */
#undef HAVE_PTHREAD_SPINLOCK_T
-/* Define to 1 if the system has the type `pthread_t'. */
+/* Define to 1 if the system has the type 'pthread_t'. */
#undef HAVE_PTHREAD_T
-/* Define to 1 if you have the `raise' function. */
+/* Define to 1 if you have the 'raise' function. */
#undef HAVE_RAISE
+/* Define to 1 if you have the <random.h> header file. */
+#undef HAVE_RANDOM_H
+
+/* Define to 1 if you have the 'random_r' function. */
+#undef HAVE_RANDOM_R
+
/* Define to 1 if you have the `reallocarray' function. */
#undef HAVE_REALLOCARRAY
/* Define to 1 if 'long double' and 'double' have the same representation. */
#undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
-/* Define to 1 if the system has the type `sa_family_t'. */
+/* Define to 1 if the system has the type 'sa_family_t'. */
#undef HAVE_SA_FAMILY_T
/* Define to 1 if you have the <sched.h> header file. */
@@ -905,13 +1022,16 @@
/* Define to 1 if you have the <semaphore.h> header file. */
#undef HAVE_SEMAPHORE_H
-/* Define to 1 if you have the `setdtablesize' function. */
+/* Define to 1 if you have the 'setdtablesize' function. */
#undef HAVE_SETDTABLESIZE
-/* Define to 1 if you have the `setenv' function. */
+/* Define to 1 if you have the 'setenv' function. */
#undef HAVE_SETENV
-/* Define to 1 if you have the `shutdown' function. */
+/* Define to 1 if you have the `setstate' function. */
+#undef HAVE_SETSTATE
+
+/* Define to 1 if you have the 'shutdown' function. */
#undef HAVE_SHUTDOWN
/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
@@ -923,13 +1043,13 @@
/* Define to 1 if 'wint_t' is a signed integer type. */
#undef HAVE_SIGNED_WINT_T
-/* Define to 1 if the system has the type `sigset_t'. */
+/* Define to 1 if the system has the type 'sigset_t'. */
#undef HAVE_SIGSET_T
-/* Define to 1 if you have the `sleep' function. */
+/* Define to 1 if you have the 'sleep' function. */
#undef HAVE_SLEEP
-/* Define to 1 if you have the `snprintf' function. */
+/* Define to 1 if you have the 'snprintf' function. */
#undef HAVE_SNPRINTF
/* Define if the return value of the snprintf function is the number of of
@@ -944,9 +1064,6 @@
/* Define if the locale_t type is as on Solaris 11.4. */
#undef HAVE_SOLARIS114_LOCALES
-/* Define to 1 if you have the <stdalign.h> header file. */
-#undef HAVE_STDALIGN_H
-
/* Define to 1 if you have the <stdbool.h> header file. */
#undef HAVE_STDBOOL_H
@@ -969,7 +1086,7 @@
/* Define to 1 if you have the `stpcpy' function. */
#undef HAVE_STPCPY
-/* Define to 1 if you have the `strdup' function. */
+/* Define to 1 if you have the 'strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror_r' function. */
@@ -981,37 +1098,40 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
-/* Define to 1 if you have the `strnlen' function. */
+/* Define to 1 if you have the 'strnlen' function. */
#undef HAVE_STRNLEN
-/* Define to 1 if the system has the type `struct sockaddr_storage'. */
+/* Define to 1 if the system has the type 'struct random_data'. */
+#undef HAVE_STRUCT_RANDOM_DATA
+
+/* Define to 1 if the system has the type 'struct sockaddr_storage'. */
#undef HAVE_STRUCT_SOCKADDR_STORAGE
-/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
+/* Define to 1 if 'ss_family' is a member of 'struct sockaddr_storage'. */
#undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
-/* Define to 1 if `st_atimensec' is a member of `struct stat'. */
+/* Define to 1 if 'st_atimensec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIMENSEC
-/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
+/* Define to 1 if 'st_atimespec.tv_nsec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
-/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
+/* Define to 1 if 'st_atim.st__tim.tv_nsec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
-/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
+/* Define to 1 if 'st_atim.tv_nsec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
-/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */
+/* Define to 1 if 'st_birthtimensec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
-/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
+/* Define to 1 if 'st_birthtimespec.tv_nsec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
-/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
+/* Define to 1 if 'st_birthtim.tv_nsec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
-/* Define to 1 if you have the `symlink' function. */
+/* Define to 1 if you have the 'symlink' function. */
#undef HAVE_SYMLINK
/* Define to 1 if you have the <sys/bitypes.h> header file. */
@@ -1062,16 +1182,19 @@
/* Define to 1 if you have the <threads.h> header file. */
#undef HAVE_THREADS_H
-/* Define to 1 if you have the `towlower' function. */
+/* Define to 1 if you have the 'towlower' function. */
#undef HAVE_TOWLOWER
/* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH
+/* Define to 1 if you have the <uchar.h> header file. */
+#undef HAVE_UCHAR_H
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define to 1 if you have the `unsetenv' function. */
+/* Define to 1 if you have the 'unsetenv' function. */
#undef HAVE_UNSETENV
/* Define to 1 if the system has the type 'unsigned long long int'. */
@@ -1080,7 +1203,7 @@
/* Define to 1 if you have the `uselocale' function. */
#undef HAVE_USELOCALE
-/* Define to 1 if you have the `usleep' function. */
+/* Define to 1 if you have the 'usleep' function. */
#undef HAVE_USLEEP
/* Define if you have a global __progname variable */
@@ -1096,22 +1219,19 @@
/* Define if you have the 'wchar_t' type. */
#undef HAVE_WCHAR_T
-/* Define to 1 if you have the `wcrtomb' function. */
+/* Define to 1 if you have the 'wcrtomb' function. */
#undef HAVE_WCRTOMB
-/* Define to 1 if you have the `wcslen' function. */
+/* Define to 1 if you have the 'wcslen' function. */
#undef HAVE_WCSLEN
-/* Define to 1 if you have the `wcsnlen' function. */
-#undef HAVE_WCSNLEN
-
-/* Define to 1 if you have the `wctob' function. */
+/* Define to 1 if you have the 'wctob' function. */
#undef HAVE_WCTOB
/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
-/* Define to 1 if you have the `wcwidth' function. */
+/* Define to 1 if you have the 'wcwidth' function. */
#undef HAVE_WCWIDTH
/* Define to 1 if the compiler and linker support weak declarations of
@@ -1124,6 +1244,9 @@
/* Define if you have the 'wint_t' type. */
#undef HAVE_WINT_T
+/* Define if the mbrtoc32 function basically works. */
+#undef HAVE_WORKING_MBRTOC32
+
/* Define to 1 if O_NOATIME works. */
#undef HAVE_WORKING_O_NOATIME
@@ -1139,10 +1262,10 @@
/* Define to 1 if you have the <xlocale.h> header file. */
#undef HAVE_XLOCALE_H
-/* Define to 1 if you have the `_chsize' function. */
+/* Define to 1 if you have the '_chsize' function. */
#undef HAVE__CHSIZE
-/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
+/* Define to 1 if you have the '_set_invalid_parameter_handler' function. */
#undef HAVE__SET_INVALID_PARAMETER_HANDLER
/* Define to 1 if the compiler supports __builtin_expect,
@@ -1217,7 +1340,8 @@
# define _GL_EXTERN_INLINE_STDHEADER_BUG
#endif
#if ((__GNUC__ \
- ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ && !defined __PCC__) \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !defined __PGI \
@@ -1227,6 +1351,7 @@
# define _GL_EXTERN_INLINE extern inline
# define _GL_EXTERN_INLINE_IN_USE
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+ && !defined __PCC__ \
&& !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
@@ -1266,7 +1391,10 @@
# define _GL_INLINE_HEADER_END
#endif
-/* Define to 1 if you have the `__xpg_strerror_r' function. */
+/* Define to 1 if the compiler supports the keyword '__inline'. */
+#undef HAVE___INLINE
+
+/* Define to 1 if you have the '__xpg_strerror_r' function. */
#undef HAVE___XPG_STRERROR_R
/* Define as const if the declaration of iconv() needs const. */
@@ -1309,6 +1437,14 @@
/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
#undef MAP_ANONYMOUS
+/* Define if the mbrtoc32 function does not return (size_t) -2 for empty
+ input. */
+#undef MBRTOC32_EMPTY_INPUT_BUG
+
+/* Define if the mbrtoc32 function may signal encoding errors in the C locale.
+ */
+#undef MBRTOC32_IN_C_LOCALE_MAYBE_EILSEQ
+
/* Define if the mbrtowc function does not return (size_t) -2 for empty input.
*/
#undef MBRTOWC_EMPTY_INPUT_BUG
@@ -1339,6 +1475,18 @@
#endif
+/* Define to 1 if the encoding of NaN 'double's is as in IEEE 754-2008 §
+ 6.2.1. */
+#undef MIPS_NAN2008_DOUBLE
+
+/* Define to 1 if the encoding of NaN 'float's is as in IEEE 754-2008 §
+ 6.2.1. */
+#undef MIPS_NAN2008_FLOAT
+
+/* Define to 1 if the encoding of NaN 'long double's is as in IEEE 754-2008 §
+ 6.2.1. */
+#undef MIPS_NAN2008_LONG_DOUBLE
+
/* Define to 1 on musl libc. */
#undef MUSL_LIBC
@@ -1346,10 +1494,18 @@
'A' directives. */
#undef NEED_PRINTF_DIRECTIVE_A
+/* Define if the vasnprintf implementation needs special code for the 'b'
+ directive. */
+#undef NEED_PRINTF_DIRECTIVE_B
+
/* Define if the vasnprintf implementation needs special code for the 'F'
directive. */
#undef NEED_PRINTF_DIRECTIVE_F
+/* Define if the vasnprintf implementation needs special code for the 'lc'
+ directive. */
+#undef NEED_PRINTF_DIRECTIVE_LC
+
/* Define if the vasnprintf implementation needs special code for the 'ls'
directive. */
#undef NEED_PRINTF_DIRECTIVE_LS
@@ -1362,6 +1518,10 @@
out-of-memory conditions. */
#undef NEED_PRINTF_ENOMEM
+/* Define if the vasnprintf implementation needs special code for the # flag
+ with a zero precision and a zero value in the 'x' and 'X' directives. */
+#undef NEED_PRINTF_FLAG_ALT_PRECISION_ZERO
+
/* Define if the vasnprintf implementation needs special code for the ' flag.
*/
#undef NEED_PRINTF_FLAG_GROUPING
@@ -1479,10 +1639,10 @@
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* Define to 1 if the 'S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
-/* Define to 1 if all of the C90 standard headers exist (not just the ones
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS
@@ -1512,7 +1672,7 @@
weak. */
#undef USE_POSIX_THREADS_WEAK
-/* Enable extensions on AIX 3, Interix. */
+/* Enable extensions on AIX, Interix, z/OS. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
@@ -1573,11 +1733,15 @@
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# undef __STDC_WANT_IEC_60559_DFP_EXT__
#endif
+/* Enable extensions specified by C23 Annex F. */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# undef __STDC_WANT_IEC_60559_EXT__
+#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
#endif
-/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
#endif
@@ -1626,7 +1790,7 @@
'wint_t'. */
#undef WINT_T_SUFFIX
-/* Define when --enable-shared is used on mingw or Cygwin. */
+/* Define when --enable-shared is used on Windows. */
#undef WOE32DLL
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
@@ -1656,7 +1820,7 @@
/* Define to enable the declarations of ISO C 11 types and functions. */
#undef _ISOC11_SOURCE
-/* Define for large files, on AIX-style hosts. */
+/* Define to 1 on platforms where this makes off_t a 64-bit type. */
#undef _LARGE_FILES
/* Define to 1 on Solaris. */
@@ -1675,6 +1839,11 @@
AIX system header files and several gnulib header files use precisely
this syntax with 'extern'. */
# define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+ && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+ /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+ that rare LLVM bug, though you may get many false-alarm warnings. */
+# define _Noreturn
# elif ((!defined __cplusplus || defined __clang__) \
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|| (!defined __STRICT_ANSI__ \
@@ -1697,13 +1866,13 @@
functions. */
#undef _POSIX_PII_SOCKET
-/* Number of bits in a timestamp, on hosts where this is settable. */
+/* Number of bits in time_t, on hosts where this is settable. */
#undef _TIME_BITS
/* For standard stat data types on VMS. */
#undef _USE_STD_STAT
-/* For 64-bit time_t on 32-bit mingw. */
+/* Define to 1 on platforms where this makes time_t a 64-bit type. */
#undef __MINGW_USE_VC2005_COMPAT
/* Define to 1 if the system <stdint.h> predates C++11. */
@@ -1744,54 +1913,74 @@
/* Attributes. */
-#if (defined __has_attribute \
- && (!defined __clang_minor__ \
- || (defined __apple_build_version__ \
- ? 6000000 <= __apple_build_version__ \
- : 3 < __clang_major__ + (5 <= __clang_minor__))))
-# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
-#else
-# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
-# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
-# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
-# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
-# define _GL_ATTR_diagnose_if 0
-# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
-# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
-# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
-# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
-# ifdef _ICC
-# define _GL_ATTR_may_alias 0
+/* Define _GL_HAS_ATTRIBUTE only once, because on FreeBSD, with gcc < 5, if
+ <config.h> gets included once again after <sys/cdefs.h>, __has_attribute(x)
+ expands to 0 always, and redefining _GL_HAS_ATTRIBUTE would turn off all
+ attributes. */
+#ifndef _GL_HAS_ATTRIBUTE
+# if (defined __has_attribute \
+ && (!defined __clang_minor__ \
+ || (defined __apple_build_version__ \
+ ? 7000000 <= __apple_build_version__ \
+ : 5 <= __clang_major__)))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
# else
-# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
-# endif
-# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
-# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
-# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
-# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
-# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
-# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
-# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
-# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
-#endif
-
-#ifdef __has_c_attribute
-# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
- && _GL_GNUC_PREREQ (4, 6))
-# pragma GCC diagnostic ignored "-Wpedantic"
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+# define _GL_ATTR_may_alias 0
+# else
+# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
# endif
-# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
+#endif
+
+/* Use __has_c_attribute if available. However, do not use with
+ pre-C23 GCC, which can issue false positives if -Wpedantic. */
+#if (defined __has_c_attribute \
+ && ! (_GL_GNUC_PREREQ (4, 6) \
+ && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710))
+# define _GL_HAVE___HAS_C_ATTRIBUTE 1
#else
-# define _GL_HAS_C_ATTRIBUTE(attr) 0
+# define _GL_HAVE___HAS_C_ATTRIBUTE 0
#endif
+/* Define if, in a function declaration, the attributes in bracket syntax
+ [[...]] must come before the attributes in __attribute__((...)) syntax.
+ If this is defined, it is best to avoid the bracket syntax, so that the
+ various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any
+ order. */
+#ifdef __cplusplus
+# if defined __clang__
+# define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#else
+# if defined __GNUC__ && !defined __clang__
+# define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#endif
/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
is the size of the returned memory block.
@@ -1799,29 +1988,35 @@
by the Nth argument of the function is the size of the returned memory block.
*/
/* Applies to: function, pointer to function, function types. */
-#if _GL_HAS_ATTRIBUTE (alloc_size)
-# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
-#else
-# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+#ifndef _GL_ATTRIBUTE_ALLOC_SIZE
+# if _GL_HAS_ATTRIBUTE (alloc_size)
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+# else
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+# endif
#endif
/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
function and report an error if it cannot do so. */
/* Applies to: function. */
-#if _GL_HAS_ATTRIBUTE (always_inline)
-# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
-#else
-# define _GL_ATTRIBUTE_ALWAYS_INLINE
+#ifndef _GL_ATTRIBUTE_ALWAYS_INLINE
+# if _GL_HAS_ATTRIBUTE (always_inline)
+# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
+# else
+# define _GL_ATTRIBUTE_ALWAYS_INLINE
+# endif
#endif
/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
in stack traces when debugging. The compiler should omit the function from
stack traces. */
/* Applies to: function. */
-#if _GL_HAS_ATTRIBUTE (artificial)
-# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
-#else
-# define _GL_ATTRIBUTE_ARTIFICIAL
+#ifndef _GL_ATTRIBUTE_ARTIFICIAL
+# if _GL_HAS_ATTRIBUTE (artificial)
+# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
+# else
+# define _GL_ATTRIBUTE_ARTIFICIAL
+# endif
#endif
/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */
@@ -1829,14 +2024,16 @@
/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
<https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */
-#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
-# ifndef __SUNPRO_C
-# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+#ifndef _GL_ATTRIBUTE_COLD
+# if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
+# ifndef __SUNPRO_C
+# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+# else
+# define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+# endif
# else
-# define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+# define _GL_ATTRIBUTE_COLD
# endif
-#else
-# define _GL_ATTRIBUTE_COLD
#endif
/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
@@ -1846,10 +2043,12 @@
forever, and does not call longjmp.
(This attribute is stricter than _GL_ATTRIBUTE_PURE.) */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (const)
-# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
-#else
-# define _GL_ATTRIBUTE_CONST
+#ifndef _GL_ATTRIBUTE_CONST
+# if _GL_HAS_ATTRIBUTE (const)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+# else
+# define _GL_ATTRIBUTE_CONST
+# endif
#endif
/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
@@ -1858,16 +2057,25 @@
_GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
can be freed via 'free'; it can be used only after declaring 'free'. */
/* Applies to: functions. Cannot be used on inline functions. */
-#if _GL_GNUC_PREREQ (11, 0)
-# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
-#else
-# define _GL_ATTRIBUTE_DEALLOC(f, i)
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if _GL_GNUC_PREREQ (11, 0)
+# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+# define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
#endif
/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
to use this earlier definition, since <stdlib.h> may not have been included
yet. */
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
-# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
#endif
/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
@@ -1878,12 +2086,20 @@
- enumeration, enumeration item,
- typedef,
in C++ also: namespace, class, template specialization. */
-#if _GL_HAS_C_ATTRIBUTE (deprecated)
-# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
-#elif _GL_HAS_ATTRIBUTE (deprecated)
-# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
-#else
-# define _GL_ATTRIBUTE_DEPRECATED
+#ifndef _GL_ATTRIBUTE_DEPRECATED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__deprecated__)
+# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+# endif
+# endif
+# endif
+# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated)
+# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+# endif
+# ifndef _GL_ATTRIBUTE_DEPRECATED
+# define _GL_ATTRIBUTE_DEPRECATED
+# endif
#endif
/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
@@ -1891,24 +2107,28 @@
_GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
the function call is not optimized away. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (error)
-# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
-# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
-#elif _GL_HAS_ATTRIBUTE (diagnose_if)
-# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
-# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
-#else
-# define _GL_ATTRIBUTE_ERROR(msg)
-# define _GL_ATTRIBUTE_WARNING(msg)
+#if !(defined _GL_ATTRIBUTE_ERROR && defined _GL_ATTRIBUTE_WARNING)
+# if _GL_HAS_ATTRIBUTE (error)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
+# elif _GL_HAS_ATTRIBUTE (diagnose_if)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+# else
+# define _GL_ATTRIBUTE_ERROR(msg)
+# define _GL_ATTRIBUTE_WARNING(msg)
+# endif
#endif
/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
visible to debuggers etc., even with '-fwhole-program'. */
/* Applies to: functions, variables. */
-#if _GL_HAS_ATTRIBUTE (externally_visible)
-# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
-#else
-# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+#ifndef _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# if _GL_HAS_ATTRIBUTE (externally_visible)
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
+# else
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# endif
#endif
/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
@@ -1916,12 +2136,18 @@
'default' label. The compiler should not warn in this case. */
/* Applies to: Empty statement (;), inside a 'switch' statement. */
/* Always expands to something. */
-#if _GL_HAS_C_ATTRIBUTE (fallthrough)
-# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
-#elif _GL_HAS_ATTRIBUTE (fallthrough)
-# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
-#else
-# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+#ifndef _GL_ATTRIBUTE_FALLTHROUGH
+# if _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__fallthrough__)
+# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
+# endif
+# endif
+# if !defined _GL_ATTRIBUTE_FALLTHROUGH && _GL_HAS_ATTRIBUTE (fallthrough)
+# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+# ifndef _GL_ATTRIBUTE_FALLTHROUGH
+# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+# endif
#endif
/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
@@ -1935,10 +2161,12 @@
If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
are suitable for the format string. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (format)
-# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
-#else
-# define _GL_ATTRIBUTE_FORMAT(spec)
+#ifndef _GL_ATTRIBUTE_FORMAT
+# if _GL_HAS_ATTRIBUTE (format)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+# else
+# define _GL_ATTRIBUTE_FORMAT(spec)
+# endif
#endif
/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
@@ -1946,19 +2174,23 @@
exception handling. This declaration lets the compiler optimize that unit
more aggressively. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (leaf)
-# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
-#else
-# define _GL_ATTRIBUTE_LEAF
+#ifndef _GL_ATTRIBUTE_LEAF
+# if _GL_HAS_ATTRIBUTE (leaf)
+# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
+# else
+# define _GL_ATTRIBUTE_LEAF
+# endif
#endif
/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
allocated memory. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (malloc)
-# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-#else
-# define _GL_ATTRIBUTE_MALLOC
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if _GL_HAS_ATTRIBUTE (malloc)
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+# define _GL_ATTRIBUTE_MALLOC
+# endif
#endif
/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
@@ -1966,10 +2198,12 @@
strict aliasing optimization. */
/* Applies to: types. */
/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */
-#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
-# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
-#else
-# define _GL_ATTRIBUTE_MAY_ALIAS
+#ifndef _GL_ATTRIBUTE_MAY_ALIAS
+# if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
+# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
+# else
+# define _GL_ATTRIBUTE_MAY_ALIAS
+# endif
#endif
/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
@@ -1981,13 +2215,26 @@
- enumeration, enumeration item,
- typedef,
in C++ also: class. */
-/* In C++ and C2x, this is spelled [[__maybe_unused__]].
+/* In C++ and C23, this is spelled [[__maybe_unused__]].
GCC's syntax is __attribute__ ((__unused__)).
- clang supports both syntaxes. */
-#if _GL_HAS_C_ATTRIBUTE (maybe_unused)
-# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
-#else
-# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+ clang supports both syntaxes. Except that with clang ≥ 6, < 10, in C++ mode,
+ __has_c_attribute (__maybe_unused__) yields true but the use of
+ [[__maybe_unused__]] nevertheless produces a warning. */
+#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
+# if !defined __apple_build_version__ && __clang_major__ >= 10
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# elif _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__maybe_unused__)
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# endif
+# endif
+# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+# endif
#endif
/* Alternative spelling of this macro, for convenience and for
compatibility with glibc/include/libc-symbols.h. */
@@ -1999,21 +2246,40 @@
discard the return value. The compiler may warn if the caller does not use
the return value, unless the caller uses something like ignore_value. */
/* Applies to: function, enumeration, class. */
-#if _GL_HAS_C_ATTRIBUTE (nodiscard)
-# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
-#elif _GL_HAS_ATTRIBUTE (warn_unused_result)
-# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
-#else
-# define _GL_ATTRIBUTE_NODISCARD
+#ifndef _GL_ATTRIBUTE_NODISCARD
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
+ /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces
+ a warning.
+ The 1000 below means a yet unknown threshold. When clang++ version X
+ starts supporting [[__nodiscard__]] without warning about it, you can
+ replace the 1000 with X. */
+# if __clang_major__ >= 1000
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# endif
+# elif _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__nodiscard__)
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# endif
+# endif
+# endif
+# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result)
+# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
+# endif
+# ifndef _GL_ATTRIBUTE_NODISCARD
+# define _GL_ATTRIBUTE_NODISCARD
+# endif
#endif
/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
function. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (noinline)
-# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
-#else
-# define _GL_ATTRIBUTE_NOINLINE
+#ifndef _GL_ATTRIBUTE_NOINLINE
+# if _GL_HAS_ATTRIBUTE (noinline)
+# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
+# else
+# define _GL_ATTRIBUTE_NOINLINE
+# endif
#endif
/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
@@ -2021,20 +2287,24 @@
_GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
null. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (nonnull)
-# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
-#else
-# define _GL_ATTRIBUTE_NONNULL(args)
+#ifndef _GL_ATTRIBUTE_NONNULL
+# if _GL_HAS_ATTRIBUTE (nonnull)
+# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
+# else
+# define _GL_ATTRIBUTE_NONNULL(args)
+# endif
#endif
/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
not meant to be NUL-terminated. */
/* Applies to: struct/union members and variables that are arrays of element
type '[[un]signed] char'. */
-#if _GL_HAS_ATTRIBUTE (nonstring)
-# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
-#else
-# define _GL_ATTRIBUTE_NONSTRING
+#ifndef _GL_ATTRIBUTE_NONSTRING
+# if _GL_HAS_ATTRIBUTE (nonstring)
+# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+# else
+# define _GL_ATTRIBUTE_NONSTRING
+# endif
#endif
/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */
@@ -2042,10 +2312,26 @@
/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
*/
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
-# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
-#else
-# define _GL_ATTRIBUTE_NOTHROW
+/* After a function's parameter list, this attribute must come first, before
+ other attributes. */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if _GL_HAS_ATTRIBUTE (nothrow)
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
#endif
/* _GL_ATTRIBUTE_PACKED declares:
@@ -2054,10 +2340,12 @@
minimizing the memory required. */
/* Applies to: struct members, struct, union,
in C++ also: class. */
-#if _GL_HAS_ATTRIBUTE (packed)
-# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
-#else
-# define _GL_ATTRIBUTE_PACKED
+#ifndef _GL_ATTRIBUTE_PACKED
+# if _GL_HAS_ATTRIBUTE (packed)
+# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
+# else
+# define _GL_ATTRIBUTE_PACKED
+# endif
#endif
/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
@@ -2067,19 +2355,23 @@
observable state, and always returns exactly once.
(This attribute is looser than _GL_ATTRIBUTE_CONST.) */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (pure)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE
+#ifndef _GL_ATTRIBUTE_PURE
+# if _GL_HAS_ATTRIBUTE (pure)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+# define _GL_ATTRIBUTE_PURE
+# endif
#endif
/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
a non-NULL pointer. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (returns_nonnull)
-# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
-#else
-# define _GL_ATTRIBUTE_RETURNS_NONNULL
+#ifndef _GL_ATTRIBUTE_RETURNS_NONNULL
+# if _GL_HAS_ATTRIBUTE (returns_nonnull)
+# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
+# else
+# define _GL_ATTRIBUTE_RETURNS_NONNULL
+# endif
#endif
/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
@@ -2087,17 +2379,21 @@
_GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
_GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (sentinel)
-# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
-#else
-# define _GL_ATTRIBUTE_SENTINEL(pos)
+#ifndef _GL_ATTRIBUTE_SENTINEL
+# if _GL_HAS_ATTRIBUTE (sentinel)
+# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
+# else
+# define _GL_ATTRIBUTE_SENTINEL(pos)
+# endif
#endif
/* A helper macro. Don't use it directly. */
-#if _GL_HAS_ATTRIBUTE (unused)
-# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#else
-# define _GL_ATTRIBUTE_UNUSED
+#ifndef _GL_ATTRIBUTE_UNUSED
+# if _GL_HAS_ATTRIBUTE (unused)
+# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+# define _GL_ATTRIBUTE_UNUSED
+# endif
#endif
@@ -2107,17 +2403,31 @@
/* Applies to: label (both in C and C++). */
/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
syntax. But clang does. */
-#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
-# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+#ifndef _GL_UNUSED_LABEL
+# if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
+# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+# else
+# define _GL_UNUSED_LABEL
+# endif
+#endif
+
+
+/* In C++, there is the concept of "language linkage", that encompasses
+ name mangling and function calling conventions.
+ The following macros start and end a block of "C" linkage. */
+#ifdef __cplusplus
+# define _GL_BEGIN_C_LINKAGE extern "C" {
+# define _GL_END_C_LINKAGE }
#else
-# define _GL_UNUSED_LABEL
+# define _GL_BEGIN_C_LINKAGE
+# define _GL_END_C_LINKAGE
#endif
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define as 'int' if <sys/types.h> doesn't define. */
#undef gid_t
-/* Define to `__inline__' or `__inline' if that's what the C compiler
+/* Define to '__inline__' or '__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
@@ -2155,7 +2465,7 @@
#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
-/* Define to `int' if <sys/types.h> does not define. */
+/* Define to 'int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to the type of st_nlink in struct stat, or a supertype. */
@@ -2183,7 +2493,7 @@
# define __restrict__
#endif
-/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* Define as 'unsigned int' if <stddef.h> doesn't define. */
#undef size_t
/* type to use in place of socklen_t if not defined */
@@ -2192,7 +2502,7 @@
/* Define as a signed type of the same size as size_t. */
#undef ssize_t
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define as 'int' if <sys/types.h> doesn't define. */
#undef uid_t
@@ -2214,64 +2524,121 @@
/* Define to an unsigned 32-bit type if <sys/types.h> lacks this type. */
#undef useconds_t
-#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof
-# if HAVE_STDALIGN_H
+#if !defined HAVE_C_ALIGNASOF \
+ && !(defined __cplusplus && 201103 <= __cplusplus) \
+ && !defined alignof
+# if defined HAVE_STDALIGN_H
# include <stdalign.h>
-# else
- /* Substitute. Keep consistent with gnulib/lib/stdalign.in.h. */
-# ifndef _GL_STDALIGN_H
-# define _GL_STDALIGN_H
-# undef _Alignas
-# undef _Alignof
-# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
- || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
- && !defined __clang__) \
- || (defined __clang__ && __clang_major__ < 8))
-# ifdef __cplusplus
-# if (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignof(type) alignof (type)
+# endif
+
+/* ISO C23 alignas and alignof for platforms that lack it.
+
+ References:
+ ISO C23 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf>)
+ sections 6.5.3.4, 6.7.5, 7.15.
+ C++11 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
+ section 18.10. */
+
+/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
+ requirement of a structure member (i.e., slot or field) that is of
+ type TYPE, as an integer constant expression.
+
+ This differs from GCC's and clang's __alignof__ operator, which can
+ yield a better-performing alignment for an object of that type. For
+ example, on x86 with GCC and on Linux/x86 with clang,
+ __alignof__ (double) and __alignof__ (long long) are 8, whereas
+ alignof (double) and alignof (long long) are 4 unless the option
+ '-malign-double' is used.
+
+ The result cannot be used as a value for an 'enum' constant, if you
+ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
+
+/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
+ clang versions < 8.0.0 have the same bug. */
+# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+ || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
+ && !defined __clang__) \
+ || (defined __clang__ && __clang_major__ < 8))
+# undef/**/_Alignof
+# ifdef __cplusplus
+# if (201103 <= __cplusplus || defined _MSC_VER)
+# define _Alignof(type) alignof (type)
+# else
+ template <class __t> struct __alignof_helper { char __a; __t __b; };
+# if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__
+# define _Alignof(type) __builtin_offsetof (__alignof_helper<type>, __b)
# else
- template <class __t> struct __alignof_helper { char __a; __t __b; };
# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
-# define _GL_STDALIGN_NEEDS_STDDEF 1
# endif
+# define _GL_STDALIGN_NEEDS_STDDEF 1
+# endif
+# else
+# if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__
+# define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b)
# else
# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
# define _GL_STDALIGN_NEEDS_STDDEF 1
# endif
# endif
-# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
-# define alignof _Alignof
-# endif
-# define __alignof_is_defined 1
-# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
-# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignas(a) alignas (a)
-# elif (!defined __attribute__ \
- && ((defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__ && !defined __ibmxl__) \
- || (4 <= __clang_major__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-# elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
-# endif
-# endif
-# if ((defined _Alignas \
- && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \
- || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# define alignas _Alignas
-# endif
-# if (defined alignas \
- || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)))
-# define __alignas_is_defined 1
-# endif
-# if _GL_STDALIGN_NEEDS_STDDEF
-# include <stddef.h>
-# endif
-# endif /* _GL_STDALIGN_H */
+# endif
+# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
+# undef/**/alignof
+# define alignof _Alignof
+# endif
+
+/* alignas (A), also known as _Alignas (A), aligns a variable or type
+ to the alignment A, where A is an integer constant expression. For
+ example:
+
+ int alignas (8) foo;
+ struct s { int a; int alignas (8) bar; };
+
+ aligns the address of FOO and the offset of BAR to be multiples of 8.
+
+ A should be a power of two that is at least the type's alignment
+ and at most the implementation's alignment limit. This limit is
+ 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
+ to MSVC through at least version 10.0, A should be an integer
+ constant, as MSVC does not support expressions such as 1 << 3.
+ To be portable to Sun C 5.11, do not align auto variables to
+ anything stricter than their default alignment.
+
+ The following C23 requirements are not supported here:
+
+ - If A is zero, alignas has no effect.
+ - alignas can be used multiple times; the strictest one wins.
+ - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
+
+ */
+# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
+# define _Alignas(a) alignas (a)
+# elif (!defined __attribute__ \
+ && ((defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__ && !defined __ibmxl__) \
+ || (4 <= __clang_major__) \
+ || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+ || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+# elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
+# endif
+# endif
+# if !defined HAVE_STDALIGN_H
+# if ((defined _Alignas \
+ && !(defined __cplusplus \
+ && (201103 <= __cplusplus || defined _MSC_VER))) \
+ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
+# define alignas _Alignas
+# endif
+# endif
+
+# if defined _GL_STDALIGN_NEEDS_STDDEF
+# include <stddef.h>
# endif
#endif
@@ -2298,4 +2665,13 @@
&& __GNUG__ < 6 && __clang_major__ < 6)))
#include <assert.h>
#undef/**/assert
+ #ifdef __sgi
+ #undef/**/__ASSERT_H__
+ #endif
+ /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
+ We need it also to be invocable with a single argument. */
+ #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+ #undef/**/static_assert
+ #define static_assert _Static_assert
+ #endif
#endif
diff --git a/configure b/configure
index 2b28f257..5f268804 100755
--- a/configure
+++ b/configure
@@ -1,9 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71.
+# Generated by GNU Autoconf 2.72.
#
#
-# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
# Inc.
#
#
@@ -15,7 +15,6 @@
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
@@ -24,12 +23,13 @@ then :
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
-else $as_nop
- case `(set -o) 2>/dev/null` in #(
+else case e in #(
+ e) case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
+esac ;;
esac
fi
@@ -101,7 +101,7 @@ IFS=$as_save_IFS
;;
esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
+# We did not find ourselves, most probably we were run as 'sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
@@ -131,15 +131,14 @@ case $- in # ((((
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
+# out after a failed 'exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="as_nop=:
-if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+ as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
@@ -147,12 +146,13 @@ then :
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
-else \$as_nop
- case \`(set -o) 2>/dev/null\` in #(
+else case e in #(
+ e) case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
+esac ;;
esac
fi
"
@@ -170,8 +170,9 @@ as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" )
then :
-else \$as_nop
- exitcode=1; echo positional parameters were not saved.
+else case e in #(
+ e) exitcode=1; echo positional parameters were not saved. ;;
+esac
fi
test x\$exitcode = x0 || exit 1
blah=\$(echo \$(echo blah))
@@ -193,14 +194,15 @@ test \$(( 1 + 1 )) = 2 || exit 1
if (eval "$as_required") 2>/dev/null
then :
as_have_required=yes
-else $as_nop
- as_have_required=no
+else case e in #(
+ e) as_have_required=no ;;
+esac
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
then :
-else $as_nop
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+else case e in #(
+ e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
@@ -233,12 +235,13 @@ IFS=$as_save_IFS
if $as_found
then :
-else $as_nop
- if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+else case e in #(
+ e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$SHELL as_have_required=yes
-fi
+fi ;;
+esac
fi
@@ -260,7 +263,7 @@ case $- in # ((((
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
+# out after a failed 'exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
@@ -279,7 +282,8 @@ $0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
fi
exit 1
-fi
+fi ;;
+esac
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
@@ -318,14 +322,6 @@ as_fn_exit ()
as_fn_set_status $1
exit $1
} # as_fn_exit
-# as_fn_nop
-# ---------
-# Do nothing but, unlike ":", preserve the value of $?.
-as_fn_nop ()
-{
- return $?
-}
-as_nop=as_fn_nop
# as_fn_mkdir_p
# -------------
@@ -394,11 +390,12 @@ then :
{
eval $1+=\$2
}'
-else $as_nop
- as_fn_append ()
+else case e in #(
+ e) as_fn_append ()
{
eval $1=\$$1\$2
- }
+ } ;;
+esac
fi # as_fn_append
# as_fn_arith ARG...
@@ -412,21 +409,14 @@ then :
{
as_val=$(( $* ))
}'
-else $as_nop
- as_fn_arith ()
+else case e in #(
+ e) as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
- }
+ } ;;
+esac
fi # as_fn_arith
-# as_fn_nop
-# ---------
-# Do nothing but, unlike ":", preserve the value of $?.
-as_fn_nop ()
-{
- return $?
-}
-as_nop=as_fn_nop
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
@@ -500,6 +490,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
/[$]LINENO/=
' <$as_myself |
sed '
+ t clear
+ :clear
s/[$]LINENO.*/&-/
t lineno
b
@@ -548,7 +540,6 @@ esac
as_echo='printf %s\n'
as_echo_n='printf %s'
-
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
@@ -560,9 +551,9 @@ if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
+ # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.
+ # In both cases, we have to default to 'cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
@@ -587,10 +578,12 @@ as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated
# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+as_tr_sh="eval sed '$as_sed_sh'" # deprecated
SHELL=${CONFIG_SHELL-/bin/sh}
@@ -657,9 +650,10 @@ ac_includes_default="\
ac_header_c_list=
gl_use_threads_default=
-gl_use_winpthreads_default=
+gl_use_winpthreads_default=no
ac_config_libobj_dir=tests
ac_func_c_list=
+enable_year2038=no
ac_subst_vars='gltests_LIBOBJDEPS
gltests_LTLIBOBJS
gltests_LIBOBJS
@@ -705,6 +699,8 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
TIME_H_DEFINES_STRUCT_TIMESPEC
NEXT_AS_FIRST_DIRECTIVE_TIME_H
NEXT_TIME_H
+GL_COND_OBJ_TIME_FALSE
+GL_COND_OBJ_TIME_TRUE
HAVE_SYS_UIO_H
NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H
NEXT_SYS_UIO_H
@@ -723,9 +719,6 @@ GL_COND_OBJ_STDIO_READ_FALSE
GL_COND_OBJ_STDIO_READ_TRUE
NEXT_AS_FIRST_DIRECTIVE_STDIO_H
NEXT_STDIO_H
-GL_GENERATE_STDALIGN_H_FALSE
-GL_GENERATE_STDALIGN_H_TRUE
-STDALIGN_H
GL_COND_OBJ_STAT_FALSE
GL_COND_OBJ_STAT_TRUE
GL_COND_OBJ_SOCKET_FALSE
@@ -741,11 +734,13 @@ GL_COND_OBJ_SETSOCKOPT_TRUE
GL_COND_OBJ_SETLOCALE_FALSE
GL_COND_OBJ_SETLOCALE_TRUE
LIB_SETLOCALE
+SETLOCALE_LIB
GL_COND_OBJ_SETENV_FALSE
GL_COND_OBJ_SETENV_TRUE
GL_COND_OBJ_SELECT_FALSE
GL_COND_OBJ_SELECT_TRUE
LIB_SELECT
+SELECT_LIB
LIBSOCKET
GL_COND_OBJ_SCHED_YIELD_FALSE
GL_COND_OBJ_SCHED_YIELD_TRUE
@@ -759,6 +754,10 @@ REPLACE_SCHED_YIELD
HAVE_SCHED_YIELD
GL_COND_OBJ_REALLOCARRAY_FALSE
GL_COND_OBJ_REALLOCARRAY_TRUE
+GL_COND_OBJ_RANDOM_R_FALSE
+GL_COND_OBJ_RANDOM_R_TRUE
+GL_COND_OBJ_RANDOM_FALSE
+GL_COND_OBJ_RANDOM_TRUE
GL_COND_OBJ_RAISE_FALSE
GL_COND_OBJ_RAISE_TRUE
GL_COND_OBJ_PUTENV_FALSE
@@ -771,6 +770,7 @@ GL_GNULIB_PTHREAD_SIGMASK
GL_COND_OBJ_PTHREAD_SIGMASK_FALSE
GL_COND_OBJ_PTHREAD_SIGMASK_TRUE
LIB_PTHREAD_SIGMASK
+PTHREAD_SIGMASK_LIB
REPLACE_RAISE
REPLACE_PTHREAD_SIGMASK
HAVE_SIGHANDLER_T
@@ -933,6 +933,7 @@ GL_GNULIB_TIME_R
GL_GNULIB_TIMESPEC_GETRES
GL_GNULIB_TIMESPEC_GET
GL_GNULIB_TIMEGM
+GL_GNULIB_TIME
GL_GNULIB_STRPTIME
GL_GNULIB_STRFTIME
GL_GNULIB_NANOSLEEP
@@ -942,15 +943,18 @@ GL_GNULIB_CTIME
GL_COND_OBJ_NANOSLEEP_FALSE
GL_COND_OBJ_NANOSLEEP_TRUE
LIB_NANOSLEEP
-REPLACE_LOCALTIME
-REPLACE_GMTIME
-GNULIB_GETTIMEOFDAY
+NANOSLEEP_LIB
REPLACE_TZSET
+REPLACE_TIMESPEC_GETRES
+REPLACE_TIMESPEC_GET
REPLACE_TIMEGM
+REPLACE_TIME
REPLACE_STRFTIME
REPLACE_NANOSLEEP
REPLACE_MKTIME
REPLACE_LOCALTIME_R
+REPLACE_LOCALTIME
+REPLACE_GMTIME
REPLACE_CTIME
HAVE_TIMEZONE_T
HAVE_TIMESPEC_GETRES
@@ -990,6 +994,8 @@ HAVE_STRUCT_TIMEVAL
HAVE_GETTIMEOFDAY
LTLIBINTL
LIBINTL
+GL_COND_OBJ_GETPROGNAME_FALSE
+GL_COND_OBJ_GETPROGNAME_TRUE
GL_COND_OBJ_GETPAGESIZE_FALSE
GL_COND_OBJ_GETPAGESIZE_TRUE
GL_COND_OBJ_GETDTABLESIZE_FALSE
@@ -1154,7 +1160,9 @@ HAVE_FSEEKO
HAVE_DPRINTF
HAVE_DECL_VSNPRINTF
HAVE_DECL_SNPRINTF
+HAVE_DECL_PUTW
HAVE_DECL_OBSTACK_PRINTF
+HAVE_DECL_GETW
HAVE_DECL_GETLINE
HAVE_DECL_GETDELIM
HAVE_DECL_FTELLO
@@ -1180,6 +1188,13 @@ HAVE_OPENAT
HAVE_FCNTL
GL_COND_OBJ_ERROR_FALSE
GL_COND_OBJ_ERROR_TRUE
+REPLACE_ERROR_AT_LINE
+REPLACE_ERROR
+HAVE_ERROR_AT_LINE
+HAVE_ERROR
+HAVE_ERROR_H
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H
+NEXT_ERROR_H
GL_COND_OBJ_DUP2_FALSE
GL_COND_OBJ_DUP2_TRUE
GL_GNULIB_ISBLANK
@@ -1191,6 +1206,8 @@ GL_COND_OBJ_CONNECT_TRUE
GL_COND_OBJ_CLOSE_FALSE
GL_COND_OBJ_CLOSE_TRUE
HAVE_MSVC_INVALID_PARAMETER_HANDLER
+GL_COND_OBJ_C32RTOMB_FALSE
+GL_COND_OBJ_C32RTOMB_TRUE
LOCALE_TR_UTF8
GL_COND_OBJ_BTOWC_FALSE
GL_COND_OBJ_BTOWC_TRUE
@@ -1330,6 +1347,8 @@ LIBUNISTRING_COMPILE_UNISTR_U8_SET_FALSE
LIBUNISTRING_COMPILE_UNISTR_U8_SET_TRUE
LIBUNISTRING_COMPILE_UNISTR_U8_PREV_FALSE
LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE
LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_FALSE
LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE
LIBUNISTRING_COMPILE_UNISTR_U8_MOVE_FALSE
@@ -1412,6 +1431,8 @@ LIBUNISTRING_COMPILE_UNISTR_U32_SET_FALSE
LIBUNISTRING_COMPILE_UNISTR_U32_SET_TRUE
LIBUNISTRING_COMPILE_UNISTR_U32_PREV_FALSE
LIBUNISTRING_COMPILE_UNISTR_U32_PREV_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE
LIBUNISTRING_COMPILE_UNISTR_U32_NEXT_FALSE
LIBUNISTRING_COMPILE_UNISTR_U32_NEXT_TRUE
LIBUNISTRING_COMPILE_UNISTR_U32_MOVE_FALSE
@@ -1494,6 +1515,8 @@ LIBUNISTRING_COMPILE_UNISTR_U16_SET_FALSE
LIBUNISTRING_COMPILE_UNISTR_U16_SET_TRUE
LIBUNISTRING_COMPILE_UNISTR_U16_PREV_FALSE
LIBUNISTRING_COMPILE_UNISTR_U16_PREV_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE
LIBUNISTRING_COMPILE_UNISTR_U16_NEXT_FALSE
LIBUNISTRING_COMPILE_UNISTR_U16_NEXT_TRUE
LIBUNISTRING_COMPILE_UNISTR_U16_MOVE_FALSE
@@ -1740,12 +1763,14 @@ REPLACE_TRUNCATE
REPLACE_SYMLINKAT
REPLACE_SYMLINK
REPLACE_SLEEP
+REPLACE_SETHOSTNAME
REPLACE_RMDIR
REPLACE_READLINKAT
REPLACE_READLINK
REPLACE_READ
REPLACE_PWRITE
REPLACE_PREAD
+REPLACE_PIPE2
REPLACE_LSEEK
REPLACE_LINKAT
REPLACE_LINK
@@ -1756,11 +1781,14 @@ REPLACE_GETPASS
REPLACE_GETPAGESIZE
REPLACE_GETGROUPS
REPLACE_GETLOGIN_R
+REPLACE_GETENTROPY
REPLACE_GETDTABLESIZE
REPLACE_GETDOMAINNAME
REPLACE_GETCWD
REPLACE_FTRUNCATE
+REPLACE_FDATASYNC
REPLACE_FCHOWNAT
+REPLACE_FCHDIR
REPLACE_FACCESSAT
REPLACE_EXECVPE
REPLACE_EXECVP
@@ -1769,6 +1797,7 @@ REPLACE_EXECV
REPLACE_EXECLP
REPLACE_EXECLE
REPLACE_EXECL
+REPLACE_DUP3
REPLACE_DUP2
REPLACE_DUP
REPLACE_COPY_FILE_RANGE
@@ -1865,10 +1894,18 @@ LIBUNISTRING_COMPILE_UNINORM_COMPOSITION_FALSE
LIBUNISTRING_COMPILE_UNINORM_COMPOSITION_TRUE
LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_FALSE
LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE
LIBUNISTRING_UNINORM_H
LIBUNISTRING_COMPILE_UNINAME_UNINAME_FALSE
LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE
LIBUNISTRING_UNINAME_H
+LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_FALSE
+LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE
+GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE
+LIBUNISTRING_UNIMETADATA_H
LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_FALSE
LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE
LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS_FALSE
@@ -1961,6 +1998,8 @@ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_FALSE
@@ -2007,6 +2046,8 @@ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_FALSE
@@ -2017,6 +2058,10 @@ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_FALSE
@@ -2131,6 +2176,12 @@ LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_NAME_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_NAME_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_DIGIT_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_DIGIT_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT_FALSE
@@ -2173,8 +2224,6 @@ LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE
-LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE
-LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_FALSE
@@ -2275,6 +2324,141 @@ LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_LONGNAME_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_LONGNAME_TRUE
LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_BYNAME_FALSE
LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_BYNAME_TRUE
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE
LIBUNISTRING_UNICTYPE_H
LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE_FALSE
LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE_TRUE
@@ -2439,7 +2623,10 @@ LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT_FALSE
LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT_TRUE
LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT_FALSE
LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT_TRUE
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE
LIBUNISTRING_UNICASE_H
+HAVE_UNISTRING_WOE32DLL_H
WINDOWS_STAT_INODES
WINDOWS_64_BIT_OFF_T
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H
@@ -2467,6 +2654,7 @@ RELOCATABLE
GL_COND_OBJ_MEMCHR_FALSE
GL_COND_OBJ_MEMCHR_TRUE
UNDEFINE_STRTOK_R
+REPLACE_STRVERSCMP
REPLACE_STRSIGNAL
REPLACE_STRERRORNAME_NP
REPLACE_STRERROR_R
@@ -2480,6 +2668,9 @@ REPLACE_STRNCAT
REPLACE_STRDUP
REPLACE_STRCHRNUL
REPLACE_STPNCPY
+REPLACE_STPCPY
+REPLACE_MEMSET_EXPLICIT
+REPLACE_MEMPCPY
REPLACE_MEMMEM
REPLACE_MEMCHR
REPLACE_FFSLL
@@ -2501,6 +2692,7 @@ HAVE_STPNCPY
HAVE_STPCPY
HAVE_RAWMEMCHR
HAVE_DECL_MEMRCHR
+HAVE_MEMSET_EXPLICIT
HAVE_MEMPCPY
HAVE_DECL_MEMMEM
HAVE_FFSLL
@@ -2543,6 +2735,7 @@ GL_GNULIB_STRCHRNUL
GL_GNULIB_STPNCPY
GL_GNULIB_STPCPY
GL_GNULIB_RAWMEMCHR
+GL_GNULIB_MEMSET_EXPLICIT
GL_GNULIB_MEMRCHR
GL_GNULIB_MEMPCPY
GL_GNULIB_MEMMEM
@@ -2553,6 +2746,7 @@ GL_GNULIB_EXPLICIT_BZERO
GL_COND_OBJ_MBSINIT_FALSE
GL_COND_OBJ_MBSINIT_TRUE
GL_GNULIB_MDA_WCSDUP
+GL_GNULIB_WGETCWD
GL_GNULIB_WCSFTIME
GL_GNULIB_WCSWIDTH
GL_GNULIB_WCSTOK
@@ -2591,71 +2785,18 @@ GL_GNULIB_MBSNRTOWCS
GL_GNULIB_MBSRTOWCS
GL_GNULIB_MBRLEN
GL_GNULIB_MBRTOWC
+GL_GNULIB_MBSZERO
GL_GNULIB_MBSINIT
GL_GNULIB_WCTOB
GL_GNULIB_BTOWC
-HAVE_VISIBILITY
-CFLAG_VISIBILITY
GL_COND_OBJ_MBRTOWC_FALSE
GL_COND_OBJ_MBRTOWC_TRUE
LIB_MBRTOWC
-REPLACE_WCSTOK
-REPLACE_WCSFTIME
-REPLACE_WCSWIDTH
-REPLACE_WCWIDTH
-REPLACE_WCSNRTOMBS
-REPLACE_WCSRTOMBS
-REPLACE_WCRTOMB
-REPLACE_MBSNRTOWCS
-REPLACE_MBSRTOWCS
-REPLACE_MBRLEN
-REPLACE_MBRTOWC
-REPLACE_MBSINIT
-REPLACE_WCTOB
-REPLACE_BTOWC
-REPLACE_MBSTATE_T
-HAVE_DECL_WCWIDTH
-HAVE_DECL_WCSDUP
-HAVE_DECL_WCTOB
-HAVE_WCSFTIME
-HAVE_WCSWIDTH
-HAVE_WCSTOK
-HAVE_WCSSTR
-HAVE_WCSPBRK
-HAVE_WCSSPN
-HAVE_WCSCSPN
-HAVE_WCSRCHR
-HAVE_WCSCHR
-HAVE_WCSDUP
-HAVE_WCSXFRM
-HAVE_WCSCOLL
-HAVE_WCSNCASECMP
-HAVE_WCSCASECMP
-HAVE_WCSNCMP
-HAVE_WCSCMP
-HAVE_WCSNCAT
-HAVE_WCSCAT
-HAVE_WCPNCPY
-HAVE_WCSNCPY
-HAVE_WCPCPY
-HAVE_WCSCPY
-HAVE_WCSNLEN
-HAVE_WCSLEN
-HAVE_WMEMSET
-HAVE_WMEMPCPY
-HAVE_WMEMMOVE
-HAVE_WMEMCPY
-HAVE_WMEMCMP
-HAVE_WMEMCHR
-HAVE_WCSNRTOMBS
-HAVE_WCSRTOMBS
-HAVE_WCRTOMB
-HAVE_MBSNRTOWCS
-HAVE_MBSRTOWCS
-HAVE_MBRLEN
-HAVE_MBRTOWC
-HAVE_MBSINIT
-HAVE_BTOWC
+MBRTOWC_LIB
+HAVE_VISIBILITY
+CFLAG_VISIBILITY
+GL_COND_OBJ_MBRTOC32_FALSE
+GL_COND_OBJ_MBRTOC32_TRUE
NEXT_AS_FIRST_DIRECTIVE_MATH_H
NEXT_MATH_H
LTLIBMULTITHREAD
@@ -2663,8 +2804,10 @@ LIBMULTITHREAD
LTLIBTHREAD
LIBTHREAD
LIBSTDTHREAD
+GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE
+GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE
INTL_MACOSX_LIBS
-GL_GNULIB_LOCALENAME
+GL_GNULIB_LOCALENAME_UNSAFE
GL_GNULIB_DUPLOCALE
GL_GNULIB_SETLOCALE_NULL
GL_GNULIB_SETLOCALE
@@ -2704,17 +2847,16 @@ REPLACE_NL_LANGINFO
HAVE_NL_LANGINFO
GL_COND_OBJ_ISWXDIGIT_FALSE
GL_COND_OBJ_ISWXDIGIT_TRUE
+GL_COND_OBJ_ISWPUNCT_FALSE
+GL_COND_OBJ_ISWPUNCT_TRUE
GL_COND_OBJ_ISWDIGIT_FALSE
GL_COND_OBJ_ISWDIGIT_TRUE
-LOCALE_ZH_CN
-LOCALE_FR_UTF8
-LOCALE_JA
-LOCALE_FR
GL_GNULIB_TOWCTRANS
GL_GNULIB_WCTRANS
GL_GNULIB_ISWCTYPE
GL_GNULIB_WCTYPE
GL_GNULIB_ISWXDIGIT
+GL_GNULIB_ISWPUNCT
GL_GNULIB_ISWDIGIT
GL_GNULIB_ISWBLANK
GL_COND_OBJ_ISWBLANK_FALSE
@@ -2727,7 +2869,10 @@ NEXT_WCTYPE_H
HAVE_CRTDEFS_H
HAVE_WINT_T
HAVE_ISWCNTRL
+REPLACE_WCTYPE
+REPLACE_WCTRANS
REPLACE_ISWXDIGIT
+REPLACE_ISWPUNCT
REPLACE_ISWDIGIT
REPLACE_ISWBLANK
HAVE_WCTRANS_T
@@ -2746,6 +2891,10 @@ INT64_MAX_EQ_LONG_MAX
INT32_MAX_LT_INTMAX_MAX
REPLACE_STRTOUMAX
REPLACE_STRTOIMAX
+REPLACE_IMAXDIV
+REPLACE_IMAXABS
+HAVE_IMAXDIV
+HAVE_IMAXABS
HAVE_IMAXDIV_T
HAVE_DECL_STRTOUMAX
HAVE_DECL_STRTOIMAX
@@ -2763,7 +2912,6 @@ HAVE_SIGNED_WINT_T
HAVE_SIGNED_WCHAR_T
HAVE_SIGNED_SIG_ATOMIC_T
BITSIZEOF_WINT_T
-BITSIZEOF_WCHAR_T
BITSIZEOF_SIG_ATOMIC_T
BITSIZEOF_SIZE_T
BITSIZEOF_PTRDIFF_T
@@ -2794,8 +2942,11 @@ ICONV_CONST
LTLIBICONV
LIBICONV
LIB_HARD_LOCALE
+HARD_LOCALE_LIB
LIB_SETLOCALE_NULL
+SETLOCALE_NULL_LIB
LIB_SCHED_YIELD
+SCHED_YIELD_LIB
LIBPMULTITHREAD
LIBPTHREAD
GL_COND_OBJ_FSETERR_FALSE
@@ -2810,6 +2961,9 @@ GL_GNULIB_MDA_J0
GL_GNULIB_TRUNCL
GL_GNULIB_TRUNCF
GL_GNULIB_TRUNC
+GL_GNULIB_TOTALORDERL
+GL_GNULIB_TOTALORDERF
+GL_GNULIB_TOTALORDER
GL_GNULIB_TANHF
GL_GNULIB_TANL
GL_GNULIB_TANF
@@ -2849,6 +3003,7 @@ GL_GNULIB_LOGF
GL_GNULIB_LOG
GL_GNULIB_LDEXPL
GL_GNULIB_LDEXPF
+GL_GNULIB_LDEXP
GL_GNULIB_ISNANL
GL_GNULIB_ISNAND
GL_GNULIB_ISNANF
@@ -2905,6 +3060,9 @@ GL_GNULIB_ACOSF
REPLACE_TRUNCL
REPLACE_TRUNCF
REPLACE_TRUNC
+REPLACE_TOTALORDERL
+REPLACE_TOTALORDERF
+REPLACE_TOTALORDER
REPLACE_TANHF
REPLACE_TANF
REPLACE_SQRTL
@@ -2940,6 +3098,7 @@ REPLACE_LOGL
REPLACE_LOGF
REPLACE_LOG
REPLACE_LDEXPL
+REPLACE_LDEXP
REPLACE_ISNAN
REPLACE_ISINF
REPLACE_ISFINITE
@@ -3017,6 +3176,9 @@ HAVE_DECL_CBRTF
HAVE_DECL_ATANL
HAVE_DECL_ASINL
HAVE_DECL_ACOSL
+HAVE_TOTALORDERL
+HAVE_TOTALORDERF
+HAVE_TOTALORDER
HAVE_TANHF
HAVE_TANL
HAVE_TANF
@@ -3091,6 +3253,7 @@ GL_GNULIB_STRTOUL
GL_GNULIB_STRTOLL
GL_GNULIB_STRTOLD
GL_GNULIB_STRTOL
+GL_GNULIB_STRTOF
GL_GNULIB_STRTOD
GL_GNULIB_SETENV
GL_GNULIB_SECURE_GETENV
@@ -3101,6 +3264,7 @@ GL_GNULIB_REALLOC_GNU
GL_GNULIB_REALLOCARRAY
GL_GNULIB_RANDOM_R
GL_GNULIB_RANDOM
+GL_GNULIB_RAND
GL_GNULIB_QSORT_R
GL_GNULIB_PUTENV
GL_GNULIB_PTSNAME_R
@@ -3113,10 +3277,12 @@ GL_GNULIB_MKOSTEMPS
GL_GNULIB_MKOSTEMP
GL_GNULIB_MKDTEMP
GL_GNULIB_MBTOWC
+GL_GNULIB_MBSTOWCS
GL_GNULIB_MALLOC_POSIX
GL_GNULIB_MALLOC_GNU
GL_GNULIB_GRANTPT
GL_GNULIB_GETSUBOPT
+GL_GNULIB_GETPROGNAME
GL_GNULIB_GETLOADAVG
GL_GNULIB_FREE_POSIX
GL_GNULIB_CANONICALIZE_FILE_NAME
@@ -3134,6 +3300,7 @@ REPLACE_STRTOUL
REPLACE_STRTOLL
REPLACE_STRTOLD
REPLACE_STRTOL
+REPLACE_STRTOF
REPLACE_STRTOD
REPLACE_SETSTATE
REPLACE_SETENV
@@ -3143,21 +3310,31 @@ REPLACE_REALLOC_FOR_REALLOC_POSIX
REPLACE_REALLOC_FOR_REALLOC_GNU
REPLACE_RANDOM_R
REPLACE_RANDOM
+REPLACE_RAND
REPLACE_QSORT_R
REPLACE_PUTENV
REPLACE_PTSNAME_R
REPLACE_PTSNAME
+REPLACE_POSIX_OPENPT
REPLACE_POSIX_MEMALIGN
REPLACE_MKSTEMP
+REPLACE_MKOSTEMPS
+REPLACE_MKOSTEMP
REPLACE_MBTOWC
+REPLACE_MBSTOWCS
+REPLACE_MB_CUR_MAX
REPLACE_MALLOC_FOR_MALLOC_POSIX
REPLACE_MALLOC_FOR_MALLOC_GNU
REPLACE_INITSTATE
+REPLACE_GETSUBOPT
+REPLACE_GETPROGNAME
+REPLACE_GETLOADAVG
REPLACE_FREE
REPLACE_CANONICALIZE_FILE_NAME
REPLACE_CALLOC_FOR_CALLOC_POSIX
REPLACE_CALLOC_FOR_CALLOC_GNU
REPLACE_ALIGNED_ALLOC
+REPLACE__EXIT
HAVE_DECL_UNSETENV
HAVE_UNLOCKPT
HAVE_SYS_LOADAVG_H
@@ -3167,6 +3344,7 @@ HAVE_STRTOUL
HAVE_STRTOLL
HAVE_STRTOLD
HAVE_STRTOL
+HAVE_STRTOF
HAVE_STRTOD
HAVE_DECL_SETSTATE
HAVE_SETSTATE
@@ -3194,6 +3372,8 @@ HAVE_DECL_INITSTATE
HAVE_INITSTATE
HAVE_GRANTPT
HAVE_GETSUBOPT
+HAVE_GETPROGNAME
+HAVE_DECL_PROGRAM_INVOCATION_NAME
HAVE_DECL_GETLOADAVG
HAVE_DECL_GCVT
HAVE_DECL_FCVT
@@ -3223,6 +3403,124 @@ EMULTIHOP_VALUE
EMULTIHOP_HIDDEN
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H
NEXT_ERRNO_H
+GL_GNULIB_MBSTOC32S
+GL_GNULIB_MBSRTOC32S
+GL_GNULIB_MBSNRTOC32S
+GL_GNULIB_MBRTOC32
+GL_GNULIB_MBRTOC16
+GL_GNULIB_C32_GET_TYPE_TEST
+GL_GNULIB_C32_GET_MAPPING
+GL_GNULIB_C32_APPLY_TYPE_TEST
+GL_GNULIB_C32_APPLY_MAPPING
+GL_GNULIB_C32TOB
+GL_GNULIB_C32SWIDTH
+GL_GNULIB_C32STOMBS
+GL_GNULIB_C32SRTOMBS
+GL_GNULIB_C32SNRTOMBS
+GL_GNULIB_C32RTOMB
+GL_GNULIB_C32WIDTH
+GL_GNULIB_C32TOUPPER
+GL_GNULIB_C32TOLOWER
+GL_GNULIB_C32ISXDIGIT
+GL_GNULIB_C32ISUPPER
+GL_GNULIB_C32ISSPACE
+GL_GNULIB_C32ISPUNCT
+GL_GNULIB_C32ISPRINT
+GL_GNULIB_C32ISLOWER
+GL_GNULIB_C32ISGRAPH
+GL_GNULIB_C32ISDIGIT
+GL_GNULIB_C32ISCNTRL
+GL_GNULIB_C32ISBLANK
+GL_GNULIB_C32ISALPHA
+GL_GNULIB_C32ISALNUM
+GL_GNULIB_BTOC32
+HAVE_WORKING_MBRTOC32
+LOCALE_FR
+LOCALE_ZH_CN
+LC_MONETARY_IMPLEMENTED
+LC_TIME_IMPLEMENTED
+LC_NUMERIC_IMPLEMENTED
+LC_COLLATE_IMPLEMENTED
+LOCALE_FR_UTF8
+LOCALE_JA
+REPLACE_WMEMPCPY
+REPLACE_WMEMCMP
+REPLACE_WCSTOK
+REPLACE_WCSSTR
+REPLACE_WCSNCMP
+REPLACE_WCSCMP
+REPLACE_WCSFTIME
+REPLACE_WCSWIDTH
+REPLACE_WCWIDTH
+REPLACE_WCSNRTOMBS
+REPLACE_WCSRTOMBS
+REPLACE_WCRTOMB
+REPLACE_MBSNRTOWCS
+REPLACE_MBSRTOWCS
+REPLACE_MBRLEN
+REPLACE_MBRTOWC
+REPLACE_MBSINIT
+REPLACE_WCTOB
+REPLACE_BTOWC
+REPLACE_MBSTATE_T
+HAVE_DECL_WCWIDTH
+HAVE_DECL_WCSDUP
+HAVE_DECL_WCTOB
+HAVE_WCSFTIME
+HAVE_WCSWIDTH
+HAVE_WCSTOK
+HAVE_WCSSTR
+HAVE_WCSPBRK
+HAVE_WCSSPN
+HAVE_WCSCSPN
+HAVE_WCSRCHR
+HAVE_WCSCHR
+HAVE_WCSDUP
+HAVE_WCSXFRM
+HAVE_WCSCOLL
+HAVE_WCSNCASECMP
+HAVE_WCSCASECMP
+HAVE_WCSNCMP
+HAVE_WCSCMP
+HAVE_WCSNCAT
+HAVE_WCSCAT
+HAVE_WCPNCPY
+HAVE_WCSNCPY
+HAVE_WCPCPY
+HAVE_WCSCPY
+HAVE_WCSNLEN
+HAVE_WCSLEN
+HAVE_WMEMSET
+HAVE_WMEMPCPY
+HAVE_WMEMMOVE
+HAVE_WMEMCPY
+HAVE_WMEMCMP
+HAVE_WMEMCHR
+HAVE_WCSNRTOMBS
+HAVE_WCSRTOMBS
+HAVE_WCRTOMB
+HAVE_MBSNRTOWCS
+HAVE_MBSRTOWCS
+HAVE_MBRLEN
+HAVE_MBRTOWC
+HAVE_MBSINIT
+HAVE_BTOWC
+SMALL_WCHAR_T
+BITSIZEOF_WCHAR_T
+CXX_HAS_CHAR8_TYPE
+CXX_HAS_UCHAR_TYPES
+GNULIBHEADERS_OVERRIDE_CHAR32_T
+GNULIBHEADERS_OVERRIDE_CHAR16_T
+GNULIBHEADERS_OVERRIDE_CHAR8_T
+HAVE_UCHAR_H
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H
+NEXT_UCHAR_H
+REPLACE_MBRTOC32
+REPLACE_MBRTOC16
+REPLACE_C32RTOMB
+HAVE_MBRTOC32
+HAVE_MBRTOC16
+HAVE_C32RTOMB
GL_GENERATE_ASSERT_H_FALSE
GL_GENERATE_ASSERT_H_TRUE
ASSERT_H
@@ -3257,6 +3555,8 @@ ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
+EGREP
+GREP
SED
LIBTOOL
OBJDUMP
@@ -3265,8 +3565,6 @@ AS
RANLIB
ARFLAGS
AR
-EGREP
-GREP
host_os
host_vendor
host_cpu
@@ -3368,7 +3666,6 @@ enable_option_checking
enable_silent_rules
enable_dependency_tracking
enable_largefile
-enable_year2038
enable_threads
enable_shared
enable_static
@@ -3383,6 +3680,7 @@ enable_rpath
with_libiconv_prefix
enable_relocatable
enable_namespacing
+enable_year2038
'
ac_precious_vars='build_alias
host_alias
@@ -3502,7 +3800,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: \`$ac_useropt'"
+ as_fn_error $? "invalid feature name: '$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -3528,7 +3826,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: \`$ac_useropt'"
+ as_fn_error $? "invalid feature name: '$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -3741,7 +4039,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: \`$ac_useropt'"
+ as_fn_error $? "invalid package name: '$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -3757,7 +4055,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: \`$ac_useropt'"
+ as_fn_error $? "invalid package name: '$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -3787,8 +4085,8 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
+ -*) as_fn_error $? "unrecognized option: '$ac_option'
+Try '$0 --help' for more information"
;;
*=*)
@@ -3796,7 +4094,7 @@ Try \`$0 --help' for more information"
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ as_fn_error $? "invalid variable name: '$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
@@ -3846,7 +4144,7 @@ do
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
-# There might be people who depend on the old broken behavior: `$host'
+# There might be people who depend on the old broken behavior: '$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
@@ -3914,7 +4212,7 @@ if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
@@ -3942,7 +4240,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+'configure' configures this package to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -3956,11 +4254,11 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
+ -q, --quiet, --silent do not print 'checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
+ -C, --config-cache alias for '--cache-file=config.cache'
-n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
+ --srcdir=DIR find the sources in DIR [configure dir or '..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -3968,10 +4266,10 @@ Installation directories:
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
+By default, 'make install' will install all the files in
+'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than '$ac_default_prefix' using '--prefix',
+for instance '--prefix=\$HOME'.
For better control, use the options below.
@@ -4026,7 +4324,6 @@ Optional Features:
--disable-dependency-tracking
speeds up one-time build
--disable-largefile omit support for large files
- --disable-year2038 omit support for timestamps past the year 2038
--enable-threads={isoc|posix|isoc+posix|windows}
specify multithreading API
--disable-threads build without multithread safety
@@ -4041,6 +4338,7 @@ Optional Features:
--enable-relocatable install a package that can be moved in the file
system
--disable-namespacing build a library that exports undesired symbols
+ --enable-year2038 support timestamps after 2038
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -4069,7 +4367,7 @@ Some influential environment variables:
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
-Use these variables to override the choices made by `configure' or to help
+Use these variables to override the choices made by 'configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.
@@ -4137,9 +4435,9 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.71
+generated by GNU Autoconf 2.72
-Copyright (C) 2021 Free Software Foundation, Inc.
+Copyright (C) 2023 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -4178,11 +4476,12 @@ printf "%s\n" "$ac_try_echo"; } >&5
} && test -s conftest.$ac_objext
then :
ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_retval=1
+ ac_retval=1 ;;
+esac
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
@@ -4216,11 +4515,12 @@ printf "%s\n" "$ac_try_echo"; } >&5
}
then :
ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_retval=1
+ ac_retval=1 ;;
+esac
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
@@ -4239,8 +4539,8 @@ printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
@@ -4248,10 +4548,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
-else $as_nop
- eval "$3=no"
+else case e in #(
+ e) eval "$3=no" ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -4291,11 +4593,12 @@ printf "%s\n" "$ac_try_echo"; } >&5
}
then :
ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_retval=1
+ ac_retval=1 ;;
+esac
fi
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
@@ -4318,15 +4621,15 @@ printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
For example, HP-UX 11i <limits.h> declares gettimeofday. */
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below. */
+ which can conflict with char $2 (void); below. */
#include <limits.h>
#undef $2
@@ -4337,7 +4640,7 @@ else $as_nop
#ifdef __cplusplus
extern "C"
#endif
-char $2 ();
+char $2 (void);
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
@@ -4356,11 +4659,13 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$3=yes"
-else $as_nop
- eval "$3=no"
+else case e in #(
+ e) eval "$3=no" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -4381,8 +4686,8 @@ printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- eval "$3=no"
+else case e in #(
+ e) eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
@@ -4412,12 +4717,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
-else $as_nop
- eval "$3=yes"
+else case e in #(
+ e) eval "$3=yes" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -4456,12 +4763,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
test $ac_status = 0; }; }
then :
ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: program exited with status $ac_status" >&5
+else case e in #(
+ e) printf "%s\n" "$as_me: program exited with status $ac_status" >&5
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_retval=$ac_status
+ ac_retval=$ac_status ;;
+esac
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
@@ -4514,18 +4822,19 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_hi=$ac_mid; break
-else $as_nop
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+else case e in #(
+ e) as_fn_arith $ac_mid + 1 && ac_lo=$as_val
if test $ac_lo -le $ac_mid; then
ac_lo= ac_hi=
break
fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
@@ -4560,20 +4869,23 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_lo=$ac_mid; break
-else $as_nop
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+else case e in #(
+ e) as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
if test $ac_mid -le $ac_hi; then
ac_lo= ac_hi=
break
fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
-else $as_nop
- ac_lo= ac_hi=
+else case e in #(
+ e) ac_lo= ac_hi= ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Binary search between lo and hi bounds.
@@ -4596,8 +4908,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_hi=$ac_mid
-else $as_nop
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+else case e in #(
+ e) as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
@@ -4645,8 +4958,9 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else $as_nop
- ac_retval=1
+else case e in #(
+ e) ac_retval=1 ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -4664,7 +4978,7 @@ rm -f conftest.val
# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
ac_fn_check_decl ()
{
- ac_save_ac_compile="$ac_compile"
+ ac_saved_ac_compile="$ac_compile"
if test -n "$ac_compile_for_check_decl"; then
ac_compile="$ac_compile_for_check_decl"
fi
@@ -4675,8 +4989,8 @@ printf %s "checking whether $as_decl_name is declared... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+else case e in #(
+ e) as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
eval ac_save_FLAGS=\$$6
as_fn_append $6 " $5"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4700,18 +5014,20 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
-else $as_nop
- eval "$3=no"
+else case e in #(
+ e) eval "$3=no" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
eval $6=\$ac_save_FLAGS
-
+ ;;
+esac
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- ac_compile="$ac_save_ac_compile"
+ ac_compile="$ac_saved_ac_compile"
} # ac_fn_check_decl
@@ -4727,8 +5043,8 @@ printf %s "checking for $2.$3... " >&6; }
if eval test \${$4+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$5
int
@@ -4744,8 +5060,8 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$4=yes"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$5
int
@@ -4761,12 +5077,15 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$4=yes"
-else $as_nop
- eval "$4=no"
+else case e in #(
+ e) eval "$4=no" ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
eval ac_res=\$$4
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -4799,7 +5118,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.71. Invocation command line was
+generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -5045,10 +5364,10 @@ esac
printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
- || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
+See 'config.log' for more details" "$LINENO" 5; }
fi
done
@@ -5084,9 +5403,7 @@ struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
struct buf { int x; };
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
+static char *e (char **p, int i)
{
return p[i];
}
@@ -5100,6 +5417,21 @@ static char *f (char * (*g) (char **, int), char **p, ...)
return s;
}
+/* C89 style stringification. */
+#define noexpand_stringify(a) #a
+const char *stringified = noexpand_stringify(arbitrary+token=sequence);
+
+/* C89 style token pasting. Exercises some of the corner cases that
+ e.g. old MSVC gets wrong, but not very hard. */
+#define noexpand_concat(a,b) a##b
+#define expand_concat(a,b) noexpand_concat(a,b)
+extern int vA;
+extern int vbee;
+#define aye A
+#define bee B
+int *pvA = &expand_concat(v,aye);
+int *pvbee = &noexpand_concat(v,bee);
+
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not \xHH hex character constants.
These do not provoke an error unfortunately, instead are silently treated
@@ -5127,16 +5459,19 @@ ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
# Test code for whether the C compiler supports C99 (global declarations)
ac_c_conftest_c99_globals='
-// Does the compiler advertise C99 conformance?
+/* Does the compiler advertise C99 conformance? */
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
# error "Compiler does not advertise C99 conformance"
#endif
+// See if C++-style comments work.
+
#include <stdbool.h>
extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);
+extern void free (void *);
// Check varargs macros. These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
@@ -5186,7 +5521,6 @@ typedef const char *ccp;
static inline int
test_restrict (ccp restrict text)
{
- // See if C++-style comments work.
// Iterate through items via the restricted pointer.
// Also check for declarations in for loops.
for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
@@ -5252,6 +5586,8 @@ ac_c_conftest_c99_main='
ia->datasize = 10;
for (int i = 0; i < ia->datasize; ++i)
ia->data[i] = i * 1.234;
+ // Work around memory leak warnings.
+ free (ia);
// Check named initializers.
struct named_init ni = {
@@ -5273,7 +5609,7 @@ ac_c_conftest_c99_main='
# Test code for whether the C compiler supports C11 (global declarations)
ac_c_conftest_c11_globals='
-// Does the compiler advertise C11 conformance?
+/* Does the compiler advertise C11 conformance? */
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
# error "Compiler does not advertise C11 conformance"
#endif
@@ -5388,23 +5724,18 @@ as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
-as_fn_append ac_func_c_list " __fseterr HAVE___FSETERR"
+as_fn_append ac_header_c_list " uchar.h uchar_h HAVE_UCHAR_H"
+as_fn_append ac_func_c_list " mbsinit HAVE_MBSINIT"
+as_fn_append ac_func_c_list " mbrtowc HAVE_MBRTOWC"
as_fn_append ac_header_c_list " threads.h threads_h HAVE_THREADS_H"
as_fn_append ac_header_c_list " iconv.h iconv_h HAVE_ICONV_H"
as_fn_append ac_header_c_list " limits.h limits_h HAVE_LIMITS_H"
as_fn_append ac_func_c_list " iswcntrl HAVE_ISWCNTRL"
as_fn_append ac_header_c_list " crtdefs.h crtdefs_h HAVE_CRTDEFS_H"
as_fn_append ac_header_c_list " wctype.h wctype_h HAVE_WCTYPE_H"
-as_fn_append ac_func_c_list " iswblank HAVE_ISWBLANK"
as_fn_append ac_header_c_list " langinfo.h langinfo_h HAVE_LANGINFO_H"
as_fn_append ac_header_c_list " xlocale.h xlocale_h HAVE_XLOCALE_H"
-as_fn_append ac_func_c_list " uselocale HAVE_USELOCALE"
-as_fn_append ac_func_c_list " newlocale HAVE_NEWLOCALE"
-as_fn_append ac_func_c_list " duplocale HAVE_DUPLOCALE"
-as_fn_append ac_func_c_list " freelocale HAVE_FREELOCALE"
as_fn_append ac_header_c_list " math.h math_h HAVE_MATH_H"
-as_fn_append ac_func_c_list " mbsinit HAVE_MBSINIT"
-as_fn_append ac_func_c_list " mbrtowc HAVE_MBRTOWC"
as_fn_append ac_header_c_list " sys/mman.h sys_mman_h HAVE_SYS_MMAN_H"
as_fn_append ac_func_c_list " mprotect HAVE_MPROTECT"
gl_printf_safe=yes
@@ -5412,18 +5743,16 @@ as_fn_append ac_header_c_list " stdbool.h stdbool_h HAVE_STDBOOL_H"
as_fn_append ac_header_c_list " stdckdint.h stdckdint_h HAVE_STDCKDINT_H"
as_fn_append ac_header_c_list " features.h features_h HAVE_FEATURES_H"
as_fn_append ac_func_c_list " snprintf HAVE_SNPRINTF"
-as_fn_append ac_func_c_list " stpcpy HAVE_STPCPY"
as_fn_append ac_func_c_list " strdup HAVE_STRDUP"
as_fn_append ac_func_c_list " wcwidth HAVE_WCWIDTH"
as_fn_append ac_header_c_list " sys/socket.h sys_socket_h HAVE_SYS_SOCKET_H"
as_fn_append ac_header_c_list " arpa/inet.h arpa_inet_h HAVE_ARPA_INET_H"
as_fn_append ac_func_c_list " btowc HAVE_BTOWC"
as_fn_append ac_func_c_list " _set_invalid_parameter_handler HAVE__SET_INVALID_PARAMETER_HANDLER"
+as_fn_append ac_header_c_list " error.h error_h HAVE_ERROR_H"
as_fn_append ac_func_c_list " fcntl HAVE_FCNTL"
as_fn_append ac_func_c_list " symlink HAVE_SYMLINK"
-as_fn_append ac_func_c_list " ftruncate HAVE_FTRUNCATE"
as_fn_append ac_func_c_list " getdtablesize HAVE_GETDTABLESIZE"
-as_fn_append ac_func_c_list " getprogname HAVE_GETPROGNAME"
as_fn_append ac_func_c_list " getexecname HAVE_GETEXECNAME"
as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H"
as_fn_append ac_func_c_list " gettimeofday HAVE_GETTIMEOFDAY"
@@ -5433,7 +5762,6 @@ as_fn_append ac_func_c_list " isblank HAVE_ISBLANK"
as_fn_append ac_header_c_list " semaphore.h semaphore_h HAVE_SEMAPHORE_H"
as_fn_append ac_func_c_list " lstat HAVE_LSTAT"
as_fn_append ac_header_c_list " sys/param.h sys_param_h HAVE_SYS_PARAM_H"
-as_fn_append ac_func_c_list " strerror_r HAVE_STRERROR_R"
as_fn_append ac_func_c_list " __xpg_strerror_r HAVE___XPG_STRERROR_R"
as_fn_append ac_func_c_list " pipe HAVE_PIPE"
as_fn_append ac_header_c_list " sys/select.h sys_select_h HAVE_SYS_SELECT_H"
@@ -5444,8 +5772,6 @@ as_fn_append ac_func_c_list " pthread_sigmask HAVE_PTHREAD_SIGMASK"
as_fn_append ac_header_c_list " sys/cdefs.h sys_cdefs_h HAVE_SYS_CDEFS_H"
as_fn_append ac_func_c_list " setenv HAVE_SETENV"
as_fn_append ac_func_c_list " sleep HAVE_SLEEP"
-as_fn_append ac_header_c_list " stdalign.h stdalign_h HAVE_STDALIGN_H"
-as_fn_append ac_func_c_list " catgets HAVE_CATGETS"
as_fn_append ac_header_c_list " sys/ioctl.h sys_ioctl_h HAVE_SYS_IOCTL_H"
as_fn_append ac_func_c_list " shutdown HAVE_SHUTDOWN"
as_fn_append ac_header_c_list " sys/uio.h sys_uio_h HAVE_SYS_UIO_H"
@@ -5531,8 +5857,9 @@ IFS=$as_save_IFS
if $as_found
then :
-else $as_nop
- as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
+else case e in #(
+ e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;;
+esac
fi
@@ -5560,12 +5887,12 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
@@ -5574,18 +5901,18 @@ printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5
+printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5
+printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
@@ -5601,11 +5928,11 @@ printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi
done
if $ac_cache_corrupted; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+ as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file'
and start over" "$LINENO" 5
fi
## -------------------- ##
@@ -5651,8 +5978,8 @@ if test -z "$INSTALL"; then
if test ${ac_cv_path_install+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+else case e in #(
+ e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
@@ -5706,7 +6033,8 @@ esac
IFS=$as_save_IFS
rm -rf conftest.one conftest.two conftest.dir
-
+ ;;
+esac
fi
if test ${ac_cv_path_install+y}; then
INSTALL=$ac_cv_path_install
@@ -5802,7 +6130,7 @@ test "$program_prefix" != NONE &&
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
+# By default was 's,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
@@ -5845,8 +6173,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_STRIP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$STRIP"; then
+else case e in #(
+ e) if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5868,7 +6196,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
@@ -5890,8 +6219,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_STRIP"; then
+else case e in #(
+ e) if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -5913,7 +6242,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
@@ -5949,8 +6279,8 @@ if test -z "$MKDIR_P"; then
if test ${ac_cv_path_mkdir+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+else case e in #(
+ e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
IFS=$as_save_IFS
@@ -5964,7 +6294,7 @@ do
as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir ('*'coreutils) '* | \
- 'BusyBox '* | \
+ *'BusyBox '* | \
'mkdir (fileutils) '4.1*)
ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
break 3;;
@@ -5973,18 +6303,17 @@ do
done
done
IFS=$as_save_IFS
-
+ ;;
+esac
fi
test -d ./--version && rmdir ./--version
if test ${ac_cv_path_mkdir+y}; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
+ # As a last resort, use plain mkdir -p,
+ # in the hope it doesn't have the bugs of ancient mkdir.
+ MKDIR_P='mkdir -p'
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
@@ -5999,8 +6328,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AWK"; then
+else case e in #(
+ e) if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6022,7 +6351,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
@@ -6044,8 +6374,8 @@ ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat >conftest.make <<\_ACEOF
+else case e in #(
+ e) cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
@@ -6057,7 +6387,8 @@ case `${MAKE-make} -f conftest.make 2>/dev/null` in
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
-rm -f conftest.make
+rm -f conftest.make ;;
+esac
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -6095,8 +6426,8 @@ printf %s "checking whether $am_make supports nested variables... " >&6; }
if test ${am_cv_make_support_nested_variables+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if printf "%s\n" 'TRUE=$(BAR$(V))
+else case e in #(
+ e) if printf "%s\n" 'TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
@@ -6106,7 +6437,8 @@ am__doit:
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
-fi
+fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
@@ -6269,6 +6601,8 @@ am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"'
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6282,8 +6616,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
+else case e in #(
+ e) if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6305,7 +6639,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
@@ -6327,8 +6662,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_CC"; then
+else case e in #(
+ e) if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6350,7 +6685,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
@@ -6385,8 +6721,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
+else case e in #(
+ e) if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6408,7 +6744,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
@@ -6430,8 +6767,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
+else case e in #(
+ e) if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
@@ -6470,7 +6807,8 @@ if test $ac_prog_rejected = yes; then
ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
-fi
+fi ;;
+esac
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
@@ -6494,8 +6832,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
+else case e in #(
+ e) if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6517,7 +6855,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
@@ -6543,8 +6882,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_CC"; then
+else case e in #(
+ e) if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6566,7 +6905,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
@@ -6604,8 +6944,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
+else case e in #(
+ e) if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6627,7 +6967,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
@@ -6649,8 +6990,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_CC"; then
+else case e in #(
+ e) if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -6672,7 +7013,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
@@ -6701,10 +7043,10 @@ fi
fi
-test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
+See 'config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -6776,8 +7118,8 @@ printf "%s\n" "$ac_try_echo"; } >&5
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+ # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'.
+# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
@@ -6797,7 +7139,7 @@ do
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
+ # safe: cross compilers may not add the suffix if given an '-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
@@ -6808,8 +7150,9 @@ do
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
-else $as_nop
- ac_file=''
+else case e in #(
+ e) ac_file='' ;;
+esac
fi
if test -z "$ac_file"
then :
@@ -6818,13 +7161,14 @@ printf "%s\n" "no" >&6; }
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
+See 'config.log' for more details" "$LINENO" 5; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; } ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
printf %s "checking for C compiler default output file name... " >&6; }
@@ -6848,10 +7192,10 @@ printf "%s\n" "$ac_try_echo"; } >&5
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
+ # If both 'conftest.exe' and 'conftest' are 'present' (well, observable)
+# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will
+# work properly (i.e., refer to 'conftest.exe'), while it won't with
+# 'rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
@@ -6861,11 +7205,12 @@ for ac_file in conftest.exe conftest conftest.*; do
* ) break;;
esac
done
-else $as_nop
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+else case e in #(
+ e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
+See 'config.log' for more details" "$LINENO" 5; } ;;
+esac
fi
rm -f conftest conftest$ac_cv_exeext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -6881,6 +7226,8 @@ int
main (void)
{
FILE *f = fopen ("conftest.out", "w");
+ if (!f)
+ return 1;
return ferror (f) || fclose (f) != 0;
;
@@ -6920,26 +7267,27 @@ printf "%s\n" "$ac_try_echo"; } >&5
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error 77 "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
+If you meant to cross compile, use '--host'.
+See 'config.log' for more details" "$LINENO" 5; }
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
printf "%s\n" "$cross_compiling" >&6; }
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+rm -f conftest.$ac_ext conftest$ac_cv_exeext \
+ conftest.o conftest.obj conftest.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
if test ${ac_cv_objext+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -6971,16 +7319,18 @@ then :
break;;
esac
done
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
+See 'config.log' for more details" "$LINENO" 5; } ;;
+esac
fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
+rm -f conftest.$ac_cv_objext conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
printf "%s\n" "$ac_cv_objext" >&6; }
@@ -6991,8 +7341,8 @@ printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -7009,12 +7359,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
-else $as_nop
- ac_compiler_gnu=no
+else case e in #(
+ e) ac_compiler_gnu=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
@@ -7032,8 +7384,8 @@ printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_save_c_werror_flag=$ac_c_werror_flag
+else case e in #(
+ e) ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
@@ -7051,8 +7403,8 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
-else $as_nop
- CFLAGS=""
+else case e in #(
+ e) CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7067,8 +7419,8 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
-else $as_nop
- ac_c_werror_flag=$ac_save_c_werror_flag
+else case e in #(
+ e) ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7085,12 +7437,15 @@ if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
+ ac_c_werror_flag=$ac_save_c_werror_flag ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
@@ -7117,8 +7472,8 @@ printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_prog_cc_c11=no
+else case e in #(
+ e) ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7135,25 +7490,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
-CC=$ac_save_CC
+CC=$ac_save_CC ;;
+esac
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
-else $as_nop
- if test "x$ac_cv_prog_cc_c11" = x
+else case e in #(
+ e) if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
- CC="$CC $ac_cv_prog_cc_c11"
+ CC="$CC $ac_cv_prog_cc_c11" ;;
+esac
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
- ac_prog_cc_stdc=c11
+ ac_prog_cc_stdc=c11 ;;
+esac
fi
fi
if test x$ac_prog_cc_stdc = xno
@@ -7163,8 +7521,8 @@ printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_prog_cc_c99=no
+else case e in #(
+ e) ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7181,25 +7539,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
-CC=$ac_save_CC
+CC=$ac_save_CC ;;
+esac
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
-else $as_nop
- if test "x$ac_cv_prog_cc_c99" = x
+else case e in #(
+ e) if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
- CC="$CC $ac_cv_prog_cc_c99"
+ CC="$CC $ac_cv_prog_cc_c99" ;;
+esac
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
- ac_prog_cc_stdc=c99
+ ac_prog_cc_stdc=c99 ;;
+esac
fi
fi
if test x$ac_prog_cc_stdc = xno
@@ -7209,8 +7570,8 @@ printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_prog_cc_c89=no
+else case e in #(
+ e) ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7227,25 +7588,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
-CC=$ac_save_CC
+CC=$ac_save_CC ;;
+esac
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
-else $as_nop
- if test "x$ac_cv_prog_cc_c89" = x
+else case e in #(
+ e) if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
- CC="$CC $ac_cv_prog_cc_c89"
+ CC="$CC $ac_cv_prog_cc_c89" ;;
+esac
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
- ac_prog_cc_stdc=c89
+ ac_prog_cc_stdc=c89 ;;
+esac
fi
fi
@@ -7266,8 +7630,8 @@ printf %s "checking whether $CC understands -c and -o together... " >&6; }
if test ${am_cv_prog_cc_c_o+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -7297,7 +7661,8 @@ _ACEOF
fi
done
rm -f core conftest*
- unset am_i
+ unset am_i ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
@@ -7322,8 +7687,8 @@ printf %s "checking whether the compiler is clang... " >&6; }
if test ${gl_cv_compiler_clang+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __clang__
@@ -7342,11 +7707,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_compiler_clang=no
-else $as_nop
- gl_cv_compiler_clang=yes
+else case e in #(
+ e) gl_cv_compiler_clang=yes ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5
printf "%s\n" "$gl_cv_compiler_clang" >&6; }
@@ -7357,9 +7724,9 @@ printf %s "checking for compiler option needed when checking for declarations...
if test ${gl_cv_compiler_check_decl_option+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test $gl_cv_compiler_clang = yes; then
- save_ac_compile="$ac_compile"
+else case e in #(
+ e) if test $gl_cv_compiler_clang = yes; then
+ saved_ac_compile="$ac_compile"
ac_compile="$ac_compile -Werror=implicit-function-declaration"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7375,15 +7742,17 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'
-else $as_nop
- gl_cv_compiler_check_decl_option=none
+else case e in #(
+ e) gl_cv_compiler_check_decl_option=none ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_compile="$save_ac_compile"
+ ac_compile="$saved_ac_compile"
else
gl_cv_compiler_check_decl_option=none
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5
printf "%s\n" "$gl_cv_compiler_check_decl_option" >&6; }
@@ -7465,8 +7834,8 @@ printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CC_dependencies_compiler_type+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+else case e in #(
+ e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
@@ -7570,7 +7939,8 @@ else $as_nop
else
am_cv_CC_dependencies_compiler_type=none
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
@@ -7602,8 +7972,8 @@ if test -z "$CPP"; then
if test ${ac_cv_prog_CPP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- # Double quotes because $CC needs to be expanded
+else case e in #(
+ e) # Double quotes because $CC needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
do
ac_preproc_ok=false
@@ -7621,9 +7991,10 @@ _ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
-else $as_nop
- # Broken: fails on valid input.
-continue
+else case e in #(
+ e) # Broken: fails on valid input.
+continue ;;
+esac
fi
rm -f conftest.err conftest.i conftest.$ac_ext
@@ -7637,15 +8008,16 @@ if ac_fn_c_try_cpp "$LINENO"
then :
# Broken: success on invalid input.
continue
-else $as_nop
- # Passes both tests.
+else case e in #(
+ e) # Passes both tests.
ac_preproc_ok=:
-break
+break ;;
+esac
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok
then :
@@ -7654,7 +8026,8 @@ fi
done
ac_cv_prog_CPP=$CPP
-
+ ;;
+esac
fi
CPP=$ac_cv_prog_CPP
else
@@ -7677,9 +8050,10 @@ _ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
-else $as_nop
- # Broken: fails on valid input.
-continue
+else case e in #(
+ e) # Broken: fails on valid input.
+continue ;;
+esac
fi
rm -f conftest.err conftest.i conftest.$ac_ext
@@ -7693,24 +8067,26 @@ if ac_fn_c_try_cpp "$LINENO"
then :
# Broken: success on invalid input.
continue
-else $as_nop
- # Passes both tests.
+else case e in #(
+ e) # Passes both tests.
ac_preproc_ok=:
-break
+break ;;
+esac
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok
then :
-else $as_nop
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+else case e in #(
+ e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
+See 'config.log' for more details" "$LINENO" 5; } ;;
+esac
fi
ac_ext=c
@@ -7734,15 +8110,16 @@ printf %s "checking build system type... " >&6; }
if test ${ac_cv_build+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_build_alias=$build_alias
+else case e in #(
+ e) ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
test "x$ac_build_alias" = x &&
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
printf "%s\n" "$ac_cv_build" >&6; }
@@ -7769,14 +8146,15 @@ printf %s "checking host system type... " >&6; }
if test ${ac_cv_host+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "x$host_alias" = x; then
+else case e in #(
+ e) if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
printf "%s\n" "$ac_cv_host" >&6; }
@@ -7841,8 +8219,8 @@ printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
if test ${ac_cv_safe_to_define___extensions__+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
# define __EXTENSIONS__ 1
@@ -7858,10 +8236,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_safe_to_define___extensions__=yes
-else $as_nop
- ac_cv_safe_to_define___extensions__=no
+else case e in #(
+ e) ac_cv_safe_to_define___extensions__=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
@@ -7871,8 +8251,8 @@ printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
if test ${ac_cv_should_define__xopen_source+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_should_define__xopen_source=no
+else case e in #(
+ e) ac_cv_should_define__xopen_source=no
if test $ac_cv_header_wchar_h = yes
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7891,8 +8271,8 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _XOPEN_SOURCE 500
@@ -7910,10 +8290,12 @@ if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_should_define__xopen_source=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
+fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
@@ -7938,6 +8320,8 @@ printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h
+
printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
@@ -7957,8 +8341,9 @@ then :
printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
-else $as_nop
- MINIX=
+else case e in #(
+ e) MINIX= ;;
+esac
fi
if test $ac_cv_safe_to_define___extensions__ = yes
then :
@@ -7984,14 +8369,14 @@ printf "%s\n" "#define _ISOC11_SOURCE 1" >>confdefs.h
esac
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-printf %s "checking for grep that handles long lines and -e... " >&6; }
-if test ${ac_cv_path_GREP+y}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5
+printf %s "checking for egrep -e... " >&6; }
+if test ${ac_cv_path_EGREP_TRADITIONAL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -z "$GREP"; then
- ac_path_GREP_found=false
+else case e in #(
+ e) if test -z "$EGREP_TRADITIONAL"; then
+ ac_path_EGREP_TRADITIONAL_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
@@ -8005,13 +8390,14 @@ do
for ac_prog in grep ggrep
do
for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
+ ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue
+# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found.
+ # Check for GNU $ac_path_EGREP_TRADITIONAL
+case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #(
*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+ ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -8020,14 +8406,14 @@ case `"$ac_path_GREP" --version 2>&1` in
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- printf "%s\n" 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl"
+ "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then
# Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
+ ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL"
+ ac_path_EGREP_TRADITIONAL_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
@@ -8035,35 +8421,24 @@ case `"$ac_path_GREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
- $ac_path_GREP_found && break 3
+ $ac_path_EGREP_TRADITIONAL_found && break 3
done
done
done
IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then
+ :
fi
else
- ac_cv_path_GREP=$GREP
+ ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL
fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-printf "%s\n" "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-printf %s "checking for egrep... " >&6; }
-if test ${ac_cv_path_EGREP+y}
+ if test "$ac_cv_path_EGREP_TRADITIONAL"
then :
- printf %s "(cached) " >&6
-else $as_nop
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
+ ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E"
+else case e in #(
+ e) if test -z "$EGREP_TRADITIONAL"; then
+ ac_path_EGREP_TRADITIONAL_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
@@ -8077,13 +8452,14 @@ do
for ac_prog in egrep
do
for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
+ ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue
+# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found.
+ # Check for GNU $ac_path_EGREP_TRADITIONAL
+case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #(
*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+ ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -8092,14 +8468,14 @@ case `"$ac_path_EGREP" --version 2>&1` in
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- printf "%s\n" 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl"
+ "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then
# Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
+ ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL"
+ ac_path_EGREP_TRADITIONAL_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
@@ -8107,24 +8483,25 @@ case `"$ac_path_EGREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
- $ac_path_EGREP_found && break 3
+ $ac_path_EGREP_TRADITIONAL_found && break 3
done
done
done
IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
+ if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
- ac_cv_path_EGREP=$EGREP
+ ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL
fi
-
- fi
+ ;;
+esac
+fi ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-printf "%s\n" "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5
+printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; }
+ EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL
@@ -8134,8 +8511,8 @@ printf %s "checking for Minix Amsterdam compiler... " >&6; }
if test ${gl_cv_c_amsterdam_compiler+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -8145,15 +8522,17 @@ Amsterdam
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Amsterdam" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Amsterdam" >/dev/null 2>&1
then :
gl_cv_c_amsterdam_compiler=yes
-else $as_nop
- gl_cv_c_amsterdam_compiler=no
+else case e in #(
+ e) gl_cv_c_amsterdam_compiler=no ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
printf "%s\n" "$gl_cv_c_amsterdam_compiler" >&6; }
@@ -8177,8 +8556,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AR+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AR"; then
+else case e in #(
+ e) if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -8200,7 +8579,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
@@ -8222,8 +8602,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_AR+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_AR"; then
+else case e in #(
+ e) if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -8245,7 +8625,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
@@ -8289,8 +8670,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RANLIB+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$RANLIB"; then
+else case e in #(
+ e) if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -8312,7 +8693,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
@@ -8334,8 +8716,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RANLIB+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_RANLIB"; then
+else case e in #(
+ e) if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -8357,7 +8739,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
@@ -8416,95 +8799,39 @@ fi
;;
esac
-
-
- case "$host_os" in
- mingw*)
-
-printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h
-
- ;;
- esac
-
# Check whether --enable-largefile was given.
if test ${enable_largefile+y}
then :
enableval=$enable_largefile;
fi
-
-if test "$enable_largefile" != no
+if test "$enable_largefile,$enable_year2038" != no,no
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-printf %s "checking for special C compiler options needed for large files... " >&6; }
-if test ${ac_cv_sys_largefile_CC+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5
+printf %s "checking for $CC option to enable large file support... " >&6; }
+if test ${ac_cv_sys_largefile_opts+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"
-then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"
+else case e in #(
+ e) ac_save_CC="$CC"
+ ac_opt_found=no
+ for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do
+ if test x"$ac_opt" != x"none needed"
then :
- ac_cv_sys_largefile_CC=' -n32'; break
+ CC="$ac_save_CC $ac_opt"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test ${ac_cv_sys_file_offset_bits+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
+#ifndef FTYPE
+# define FTYPE off_t
+#endif
+ /* Check that FTYPE can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_FTYPE to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
+#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31))
+ int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721
+ && LARGE_FTYPE % 2147483647 == 1)
? 1 : -1];
int
main (void)
@@ -8516,171 +8843,89 @@ main (void)
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#undef _FILE_OFFSET_BITS
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+ if test x"$ac_opt" = x"none needed"
then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
-;;
-esac
-rm -rf conftest*
- case $ac_cv_sys_file_offset_bits in #(
- unknown) :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test ${ac_cv_sys_large_files+y}
+ # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
+ CC="$CC -DFTYPE=ino_t"
+ if ac_fn_c_try_compile "$LINENO"
then :
- printf %s "(cached) " >&6
-else $as_nop
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main (void)
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+else case e in #(
+ e) CC="$CC -D_FILE_OFFSET_BITS=64"
+ if ac_fn_c_try_compile "$LINENO"
then :
- ac_cv_sys_large_files=no; break
+ ac_opt='-D_FILE_OFFSET_BITS=64'
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#undef _LARGE_FILES
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_sys_large_files=1; break
+rm -f core conftest.err conftest.$ac_objext conftest.beam ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
+rm -f core conftest.err conftest.$ac_objext conftest.beam
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-printf "%s\n" "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
-;;
+ ac_cv_sys_largefile_opts=$ac_opt
+ ac_opt_found=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ test $ac_opt_found = no || break
+ done
+ CC="$ac_save_CC"
+
+
+ if test $ac_opt_found != yes; then
+ case $host_os in #(
+ mingw* | windows*) :
+ ac_cv_sys_largefile_opts="supported through gnulib"
+ ac_opt_found=yes
+ ;; #(
+ *) :
+ ;;
esac
-rm -rf conftest* ;; #(
- 64) :
+ fi
- # Check whether --enable-year2038 was given.
-if test ${enable_year2038+y}
-then :
- enableval=$enable_year2038;
+ test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;;
+esac
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_opts" >&5
+printf "%s\n" "$ac_cv_sys_largefile_opts" >&6; }
- if test "$enable_year2038" != no
-then :
+ac_have_largefile=yes
+case $ac_cv_sys_largefile_opts in #(
+ "none needed") :
+ ;; #(
+ "supported through gnulib") :
+ ;; #(
+ "support not detected") :
+ ac_have_largefile=no ;; #(
+ "-D_FILE_OFFSET_BITS=64") :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for time_t past the year 2038" >&5
-printf %s "checking for time_t past the year 2038... " >&6; }
-if test ${gl_cv_type_time_t_y2038+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h
+ ;; #(
+ "-D_LARGE_FILES=1") :
- #include <time.h>
- /* Check that time_t can represent 2**32 - 1 correctly. */
- #define LARGE_TIME_T \\
- ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
- int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
- && LARGE_TIME_T % 65537 == 0)
- ? 1 : -1];
+printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h
+ ;; #(
+ "-n32") :
+ CC="$CC -n32" ;; #(
+ *) :
+ as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;;
+esac
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if test "$enable_year2038" != no
then :
- gl_cv_type_time_t_y2038=yes
-else $as_nop
- gl_cv_type_time_t_y2038=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_time_t_y2038" >&5
-printf "%s\n" "$gl_cv_type_time_t_y2038" >&6; }
- if test "$gl_cv_type_time_t_y2038" = no; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit time_t with _TIME_BITS=64" >&5
-printf %s "checking for 64-bit time_t with _TIME_BITS=64... " >&6; }
-if test ${gl_cv_type_time_t_bits_macro+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5
+printf %s "checking for $CC option for timestamps after 2038... " >&6; }
+if test ${ac_cv_sys_year2038_opts+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) ac_save_CPPFLAGS="$CPPFLAGS"
+ ac_opt_found=no
+ for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do
+ if test x"$ac_opt" != x"none needed"
+then :
+ CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"
+fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#define _TIME_BITS 64
- #define _FILE_OFFSET_BITS 64
#include <time.h>
/* Check that time_t can represent 2**32 - 1 correctly. */
@@ -8690,73 +8935,57 @@ else $as_nop
&& LARGE_TIME_T % 65537 == 0)
? 1 : -1];
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
- gl_cv_type_time_t_bits_macro=yes
-else $as_nop
- gl_cv_type_time_t_bits_macro=no
+ ac_cv_sys_year2038_opts="$ac_opt"
+ ac_opt_found=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ test $ac_opt_found = no || break
+ done
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected" ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_time_t_bits_macro" >&5
-printf "%s\n" "$gl_cv_type_time_t_bits_macro" >&6; }
- if test "$gl_cv_type_time_t_bits_macro" = yes; then
-
-printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h
-
-
-printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5
+printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; }
- gl_cv_type_time_t_y2038=yes
- fi
- fi
- if test $gl_cv_type_time_t_y2038 = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef _USE_32BIT_TIME_T
- int ok;
- #else
- error fail
- #endif
+ac_have_year2038=yes
+case $ac_cv_sys_year2038_opts in #(
+ "none needed") :
+ ;; #(
+ "support not detected") :
+ ac_have_year2038=no ;; #(
+ "-D_TIME_BITS=64") :
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The 'time_t' type stops working after January 2038.
- Remove _USE_32BIT_TIME_T from the compiler flags.
-See \`config.log' for more details" "$LINENO" 5; }
-else $as_nop
- # If not cross-compiling and says we should check,
- # and 'touch' works with a large timestamp, then evidently wider time_t
- # is desired and supported, so fail and ask the builder to fix the
- # problem. Otherwise, just warn the builder.
-
- if test "$gl_warned_about_y2038" != yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The 'time_t' type stops working after January 2038,
- and this package needs a wider 'time_t' type
- if there is any way to access timestamps after that.
- Configure with 'CC=\"${CC} -m64\"' perhaps?" >&5
-printf "%s\n" "$as_me: WARNING: The 'time_t' type stops working after January 2038,
- and this package needs a wider 'time_t' type
- if there is any way to access timestamps after that.
- Configure with 'CC=\"${CC} -m64\"' perhaps?" >&2;}
- gl_warned_about_y2038=yes
- fi
+printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h
+ ;; #(
+ "-D__MINGW_USE_VC2005_COMPAT") :
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
-fi
+printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h
;; #(
+ "-U_USE_32_BIT_TIME_T"*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It
+will stop working after mid-January 2038. Remove
+_USE_32BIT_TIME_T from the compiler flags.
+See 'config.log' for more details" "$LINENO" 5; } ;; #(
*) :
- ;;
+ as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;;
esac
+
fi
+fi
@@ -8767,8 +8996,8 @@ fi
if test ${enable_threads+y}
then :
enableval=$enable_threads; gl_use_threads=$enableval
-else $as_nop
- if test -n "$gl_use_threads_default"; then
+else case e in #(
+ e) if test -n "$gl_use_threads_default"; then
gl_use_threads="$gl_use_threads_default"
else
case "$host_os" in
@@ -8779,7 +9008,7 @@ else $as_nop
*) gl_use_threads=yes ;;
esac
;;
- mingw*)
+ mingw* | windows*)
case "$gl_use_winpthreads_default" in
yes) gl_use_threads=posix ;;
no) gl_use_threads=windows ;;
@@ -8789,7 +9018,8 @@ else $as_nop
*) gl_use_threads=yes ;;
esac
fi
-
+ ;;
+esac
fi
if test "$gl_use_threads" = yes \
@@ -8832,6 +9062,8 @@ fi
# Code from module absolute-header:
# Code from module accept:
# Code from module accept-tests:
+ # Code from module alignasof:
+ # Code from module alignasof-tests:
# Code from module alloca:
# Code from module alloca-opt:
# Code from module alloca-opt-tests:
@@ -8848,6 +9080,8 @@ fi
# Code from module binary-io-tests:
# Code from module bind:
# Code from module bind-tests:
+ # Code from module btoc32:
+ # Code from module btoc32-tests:
# Code from module btowc:
# Code from module btowc-tests:
# Code from module builtin-expect:
@@ -8856,6 +9090,37 @@ fi
# Code from module c-strcase:
# Code from module c-strcase-tests:
# Code from module c-strcaseeq:
+ # Code from module c32isalnum:
+ # Code from module c32isalnum-tests:
+ # Code from module c32isalpha:
+ # Code from module c32isalpha-tests:
+ # Code from module c32isblank:
+ # Code from module c32isblank-tests:
+ # Code from module c32iscntrl:
+ # Code from module c32iscntrl-tests:
+ # Code from module c32isdigit:
+ # Code from module c32isdigit-tests:
+ # Code from module c32isgraph:
+ # Code from module c32isgraph-tests:
+ # Code from module c32islower:
+ # Code from module c32islower-tests:
+ # Code from module c32isprint:
+ # Code from module c32isprint-tests:
+ # Code from module c32ispunct:
+ # Code from module c32ispunct-tests:
+ # Code from module c32isspace:
+ # Code from module c32isspace-tests:
+ # Code from module c32isupper:
+ # Code from module c32isupper-tests:
+ # Code from module c32isxdigit:
+ # Code from module c32isxdigit-tests:
+ # Code from module c32rtomb:
+ # Code from module c32rtomb-tests:
+ # Code from module c32tob:
+ # Code from module c32tolower:
+ # Code from module c32tolower-tests:
+ # Code from module c32width:
+ # Code from module c32width-tests:
# Code from module c99:
# Code from module calloc-gnu:
# Code from module calloc-gnu-tests:
@@ -8876,6 +9141,8 @@ fi
# Code from module errno:
# Code from module errno-tests:
# Code from module error:
+ # Code from module error-h:
+ # Code from module error-tests:
# Code from module exitfail:
# Code from module extensions:
# Code from module extern-inline:
@@ -8920,6 +9187,7 @@ fi
# Code from module gettext-h:
# Code from module gettimeofday:
# Code from module gettimeofday-tests:
+ # Code from module gitlog-to-changelog:
# Code from module gperf:
# Code from module hard-locale:
# Code from module hard-locale-tests:
@@ -8956,13 +9224,16 @@ fi
# Code from module iswblank-tests:
# Code from module iswdigit:
# Code from module iswdigit-tests:
+ # Code from module iswpunct:
+ # Code from module iswpunct-tests:
# Code from module iswxdigit:
# Code from module iswxdigit-tests:
# Code from module langinfo:
# Code from module langinfo-tests:
# Code from module largefile:
-
+ # Code from module largefile-tests:
+ # Code from module libc-config:
# Code from module limits-h:
# Code from module limits-h-tests:
# Code from module listen:
@@ -8973,6 +9244,8 @@ fi
# Code from module locale-tests:
# Code from module localename:
# Code from module localename-tests:
+ # Code from module localename-unsafe:
+ # Code from module localename-unsafe-limited:
# Code from module lock:
# Code from module lock-tests:
# Code from module lstat:
@@ -8985,12 +9258,15 @@ fi
# Code from module math:
# Code from module math-tests:
# Code from module mbchar:
- # Code from module mbiter:
+ # Code from module mbiterf:
+ # Code from module mbrtoc32:
+ # Code from module mbrtoc32-tests:
# Code from module mbrtowc:
# Code from module mbrtowc-tests:
# Code from module mbsinit:
# Code from module mbsinit-tests:
# Code from module mbsnlen:
+ # Code from module mbszero:
# Code from module mbtowc:
# Code from module memchr:
# Code from module memchr-tests:
@@ -8999,6 +9275,7 @@ fi
# Code from module msvc-inval:
# Code from module msvc-nothrow:
# Code from module multiarch:
+ # Code from module nan:
# Code from module nanosleep:
# Code from module nanosleep-tests:
# Code from module netinet_in:
@@ -9052,6 +9329,10 @@ fi
# Code from module putenv:
# Code from module raise:
# Code from module raise-tests:
+ # Code from module random:
+ # Code from module random-tests:
+ # Code from module random_r:
+ # Code from module random_r-tests:
# Code from module realloc-gnu:
# Code from module realloc-gnu-tests:
# Code from module realloc-posix:
@@ -9069,6 +9350,8 @@ fi
# Code from module setlocale:
# Code from module setlocale-null:
# Code from module setlocale-null-tests:
+ # Code from module setlocale-null-unlocked:
+ # Code from module setlocale-null-unlocked-tests:
# Code from module setlocale-tests:
# Code from module setsockopt:
# Code from module setsockopt-tests:
@@ -9076,11 +9359,14 @@ fi
# Code from module signal-h-tests:
# Code from module signbit:
# Code from module signbit-tests:
+ # Code from module signed-nan:
+ # Code from module signed-snan:
# Code from module sigprocmask:
# Code from module sigprocmask-tests:
# Code from module size_max:
# Code from module sleep:
# Code from module sleep-tests:
+ # Code from module snan:
# Code from module snippet/_Noreturn:
# Code from module snippet/arg-nonnull:
# Code from module snippet/c++defs:
@@ -9096,8 +9382,6 @@ fi
# Code from module stat-time:
# Code from module stat-time-tests:
# Code from module std-gnu11:
- # Code from module stdalign:
- # Code from module stdalign-tests:
# Code from module stdbool:
# Code from module stdbool-tests:
# Code from module stdckdint:
@@ -9107,6 +9391,11 @@ fi
# Code from module stdint:
# Code from module stdint-tests:
# Code from module stdio:
+
+
+ printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
+
+
# Code from module stdio-tests:
# Code from module stdlib:
# Code from module stdlib-tests:
@@ -9153,7 +9442,11 @@ fi
# Code from module time:
+ # Code from module time-h:
+ # Code from module time-h-tests:
# Code from module time-tests:
+ # Code from module uchar:
+ # Code from module uchar-tests:
# Code from module unicase/base:
# Code from module unicase/cased:
# Code from module unicase/cased-tests:
@@ -9452,6 +9745,13 @@ fi
# Code from module unictype/decimal-digit-tests:
# Code from module unictype/digit:
# Code from module unictype/digit-tests:
+ # Code from module unictype/incb-all:
+ # Code from module unictype/incb-byname:
+ # Code from module unictype/incb-byname-tests:
+ # Code from module unictype/incb-name:
+ # Code from module unictype/incb-name-tests:
+ # Code from module unictype/incb-of:
+ # Code from module unictype/incb-of-tests:
# Code from module unictype/joininggroup-all:
# Code from module unictype/joininggroup-byname:
# Code from module unictype/joininggroup-byname-tests:
@@ -9569,6 +9869,10 @@ fi
# Code from module unictype/property-hex-digit-tests:
# Code from module unictype/property-hyphen:
# Code from module unictype/property-hyphen-tests:
+ # Code from module unictype/property-id-compat-math-continue:
+ # Code from module unictype/property-id-compat-math-continue-tests:
+ # Code from module unictype/property-id-compat-math-start:
+ # Code from module unictype/property-id-compat-math-start-tests:
# Code from module unictype/property-id-continue:
# Code from module unictype/property-id-continue-tests:
# Code from module unictype/property-id-start:
@@ -9579,6 +9883,8 @@ fi
# Code from module unictype/property-ids-binary-operator-tests:
# Code from module unictype/property-ids-trinary-operator:
# Code from module unictype/property-ids-trinary-operator-tests:
+ # Code from module unictype/property-ids-unary-operator:
+ # Code from module unictype/property-ids-unary-operator-tests:
# Code from module unictype/property-ignorable-control:
# Code from module unictype/property-ignorable-control-tests:
# Code from module unictype/property-iso-control:
@@ -9625,6 +9931,8 @@ fi
# Code from module unictype/property-pattern-syntax-tests:
# Code from module unictype/property-pattern-white-space:
# Code from module unictype/property-pattern-white-space-tests:
+ # Code from module unictype/property-prepended-concatenation-mark:
+ # Code from module unictype/property-prepended-concatenation-mark-tests:
# Code from module unictype/property-private-use:
# Code from module unictype/property-private-use-tests:
# Code from module unictype/property-punctuation:
@@ -9720,6 +10028,9 @@ fi
# Code from module unilbrk/ulc-possible-linebreaks-tests:
# Code from module unilbrk/ulc-width-linebreaks:
# Code from module unilbrk/ulc-width-linebreaks-tests:
+ # Code from module unimetadata/base:
+ # Code from module unimetadata/u-version:
+ # Code from module unimetadata/u-version-tests:
# Code from module uniname/base:
# Code from module uniname/uniname:
# Code from module uniname/uniname-tests:
@@ -9878,6 +10189,8 @@ fi
# Code from module unistr/u16-move-tests:
# Code from module unistr/u16-next:
# Code from module unistr/u16-next-tests:
+ # Code from module unistr/u16-pcpy:
+ # Code from module unistr/u16-pcpy-tests:
# Code from module unistr/u16-prev:
# Code from module unistr/u16-prev-tests:
# Code from module unistr/u16-set:
@@ -9954,6 +10267,8 @@ fi
# Code from module unistr/u32-move-tests:
# Code from module unistr/u32-next:
# Code from module unistr/u32-next-tests:
+ # Code from module unistr/u32-pcpy:
+ # Code from module unistr/u32-pcpy-tests:
# Code from module unistr/u32-prev:
# Code from module unistr/u32-prev-tests:
# Code from module unistr/u32-set:
@@ -10030,6 +10345,8 @@ fi
# Code from module unistr/u8-move-tests:
# Code from module unistr/u8-next:
# Code from module unistr/u8-next-tests:
+ # Code from module unistr/u8-pcpy:
+ # Code from module unistr/u8-pcpy-tests:
# Code from module unistr/u8-prev:
# Code from module unistr/u8-prev-tests:
# Code from module unistr/u8-set:
@@ -10151,8 +10468,8 @@ printf %s "checking for auto-import of symbols... " >&6; }
if test ${gl_cv_ld_autoimport+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _MSC_VER
@@ -10161,26 +10478,29 @@ else $as_nop
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_ld_autoimport=no
-else $as_nop
- gl_save_LDFLAGS="$LDFLAGS"
+else case e in #(
+ e) gl_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,--disable-auto-import"
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_ld_autoimport=yes
-else $as_nop
- gl_cv_ld_autoimport=no
+else case e in #(
+ e) gl_cv_ld_autoimport=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
LDFLAGS="$gl_save_LDFLAGS"
-
+ ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_autoimport" >&5
printf "%s\n" "$gl_cv_ld_autoimport" >&6; }
@@ -10291,8 +10611,8 @@ printf %s "checking for a sed that does not truncate output... " >&6; }
if test ${ac_cv_path_SED+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+else case e in #(
+ e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
done
@@ -10317,9 +10637,10 @@ do
as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
+case `"$ac_path_SED" --version 2>&1` in #(
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -10354,7 +10675,8 @@ IFS=$as_save_IFS
else
ac_cv_path_SED=$SED
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
printf "%s\n" "$ac_cv_path_SED" >&6; }
@@ -10374,13 +10696,161 @@ Xsed="$SED -e 1s/^X//"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+printf %s "checking for grep that handles long lines and -e... " >&6; }
+if test ${ac_cv_path_GREP+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in grep ggrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in #(
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+#(
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+printf "%s\n" "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
+if test ${ac_cv_path_EGREP+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in egrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in #(
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+#(
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+ EGREP_TRADITIONAL=$EGREP
+ ac_cv_path_EGREP_TRADITIONAL=$EGREP
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
printf %s "checking for fgrep... " >&6; }
if test ${ac_cv_path_FGREP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+else case e in #(
+ e) if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
then ac_cv_path_FGREP="$GREP -F"
else
if test -z "$FGREP"; then
@@ -10402,9 +10872,10 @@ do
as_fn_executable_p "$ac_path_FGREP" || continue
# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
+case `"$ac_path_FGREP" --version 2>&1` in #(
*GNU*)
ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -10440,7 +10911,8 @@ else
ac_cv_path_FGREP=$FGREP
fi
- fi
+ fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
printf "%s\n" "$ac_cv_path_FGREP" >&6; }
@@ -10471,8 +10943,9 @@ test -z "$GREP" && GREP=grep
if test ${with_gnu_ld+y}
then :
withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else $as_nop
- with_gnu_ld=no
+else case e in #(
+ e) with_gnu_ld=no ;;
+esac
fi
ac_prog=ld
@@ -10517,8 +10990,8 @@ fi
if test ${lt_cv_path_LD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -z "$LD"; then
+else case e in #(
+ e) if test -z "$LD"; then
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
IFS=$lt_save_ifs
@@ -10541,7 +11014,8 @@ else $as_nop
IFS=$lt_save_ifs
else
lt_cv_path_LD=$LD # Let the user override the test with a path.
-fi
+fi ;;
+esac
fi
LD=$lt_cv_path_LD
@@ -10558,8 +11032,8 @@ printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
if test ${lt_cv_prog_gnu_ld+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
+else case e in #(
+ e) # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes
@@ -10567,6 +11041,7 @@ case `$LD -v 2>&1 </dev/null` in
*)
lt_cv_prog_gnu_ld=no
;;
+esac ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
@@ -10586,8 +11061,8 @@ printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if test ${lt_cv_path_NM+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$NM"; then
+else case e in #(
+ e) if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM=$NM
else
@@ -10637,7 +11112,8 @@ else
IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
-fi
+fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
printf "%s\n" "$lt_cv_path_NM" >&6; }
@@ -10658,8 +11134,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DUMPBIN+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$DUMPBIN"; then
+else case e in #(
+ e) if test -n "$DUMPBIN"; then
ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -10681,7 +11157,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
@@ -10707,8 +11184,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_DUMPBIN"; then
+else case e in #(
+ e) if test -n "$ac_ct_DUMPBIN"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -10730,7 +11207,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
@@ -10784,8 +11262,8 @@ printf %s "checking the name lister ($NM) interface... " >&6; }
if test ${lt_cv_nm_interface+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_nm_interface="BSD nm"
+else case e in #(
+ e) lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
@@ -10798,7 +11276,8 @@ else $as_nop
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
fi
- rm -f conftest*
+ rm -f conftest* ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
printf "%s\n" "$lt_cv_nm_interface" >&6; }
@@ -10820,8 +11299,8 @@ printf %s "checking the maximum length of command line arguments... " >&6; }
if test ${lt_cv_sys_max_cmd_len+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- i=0
+else case e in #(
+ e) i=0
teststring=ABCD
case $build_os in
@@ -10943,7 +11422,8 @@ else $as_nop
fi
;;
esac
-
+ ;;
+esac
fi
if test -n "$lt_cv_sys_max_cmd_len"; then
@@ -11000,8 +11480,8 @@ printf %s "checking how to convert $build file names to $host format... " >&6; }
if test ${lt_cv_to_host_file_cmd+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case $host in
+else case e in #(
+ e) case $host in
*-*-mingw* )
case $build in
*-*-mingw* ) # actually msys
@@ -11032,7 +11512,8 @@ else $as_nop
lt_cv_to_host_file_cmd=func_convert_file_noop
;;
esac
-
+ ;;
+esac
fi
to_host_file_cmd=$lt_cv_to_host_file_cmd
@@ -11048,8 +11529,8 @@ printf %s "checking how to convert $build file names to toolchain format... " >&
if test ${lt_cv_to_tool_file_cmd+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- #assume ordinary cross tools, or native build.
+else case e in #(
+ e) #assume ordinary cross tools, or native build.
lt_cv_to_tool_file_cmd=func_convert_file_noop
case $host in
*-*-mingw* )
@@ -11060,7 +11541,8 @@ case $host in
esac
;;
esac
-
+ ;;
+esac
fi
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
@@ -11076,8 +11558,9 @@ printf %s "checking for $LD option to reload object files... " >&6; }
if test ${lt_cv_ld_reload_flag+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_ld_reload_flag='-r'
+else case e in #(
+ e) lt_cv_ld_reload_flag='-r' ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
printf "%s\n" "$lt_cv_ld_reload_flag" >&6; }
@@ -11118,8 +11601,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_FILECMD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$FILECMD"; then
+else case e in #(
+ e) if test -n "$FILECMD"; then
ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11141,7 +11624,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
FILECMD=$ac_cv_prog_FILECMD
if test -n "$FILECMD"; then
@@ -11163,8 +11647,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_FILECMD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_FILECMD"; then
+else case e in #(
+ e) if test -n "$ac_ct_FILECMD"; then
ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11186,7 +11670,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD
if test -n "$ac_ct_FILECMD"; then
@@ -11226,8 +11711,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_OBJDUMP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$OBJDUMP"; then
+else case e in #(
+ e) if test -n "$OBJDUMP"; then
ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11249,7 +11734,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
@@ -11271,8 +11757,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_OBJDUMP"; then
+else case e in #(
+ e) if test -n "$ac_ct_OBJDUMP"; then
ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11294,7 +11780,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
@@ -11332,8 +11819,8 @@ printf %s "checking how to recognize dependent libraries... " >&6; }
if test ${lt_cv_deplibs_check_method+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_file_magic_cmd='$MAGIC_CMD'
+else case e in #(
+ e) lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
@@ -11526,7 +12013,8 @@ os2*)
lt_cv_deplibs_check_method=pass_all
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
printf "%s\n" "$lt_cv_deplibs_check_method" >&6; }
@@ -11578,8 +12066,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DLLTOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$DLLTOOL"; then
+else case e in #(
+ e) if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11601,7 +12089,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
@@ -11623,8 +12112,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_DLLTOOL"; then
+else case e in #(
+ e) if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11646,7 +12135,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
@@ -11685,8 +12175,8 @@ printf %s "checking how to associate runtime and link libraries... " >&6; }
if test ${lt_cv_sharedlib_from_linklib_cmd+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_sharedlib_from_linklib_cmd='unknown'
+else case e in #(
+ e) lt_cv_sharedlib_from_linklib_cmd='unknown'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
@@ -11706,7 +12196,8 @@ cygwin* | mingw* | pw32* | cegcc*)
lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
@@ -11729,8 +12220,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AR+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AR"; then
+else case e in #(
+ e) if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11752,7 +12243,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
@@ -11778,8 +12270,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_AR+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_AR"; then
+else case e in #(
+ e) if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11801,7 +12293,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
@@ -11863,8 +12356,8 @@ printf %s "checking for archiver @FILE support... " >&6; }
if test ${lt_cv_ar_at_file+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_ar_at_file=no
+else case e in #(
+ e) lt_cv_ar_at_file=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -11901,7 +12394,8 @@ then :
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
printf "%s\n" "$lt_cv_ar_at_file" >&6; }
@@ -11926,8 +12420,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_STRIP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$STRIP"; then
+else case e in #(
+ e) if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11949,7 +12443,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
@@ -11971,8 +12466,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_STRIP"; then
+else case e in #(
+ e) if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -11994,7 +12489,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
@@ -12035,8 +12531,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RANLIB+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$RANLIB"; then
+else case e in #(
+ e) if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -12058,7 +12554,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
@@ -12080,8 +12577,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RANLIB+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_RANLIB"; then
+else case e in #(
+ e) if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -12103,7 +12600,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
@@ -12214,8 +12712,8 @@ printf %s "checking command to parse $NM output from $compiler object... " >&6;
if test ${lt_cv_sys_global_symbol_pipe+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
# These are sane defaults that work on at least a few old systems.
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
@@ -12470,7 +12968,8 @@ _LT_EOF
lt_cv_sys_global_symbol_pipe=
fi
done
-
+ ;;
+esac
fi
if test -z "$lt_cv_sys_global_symbol_pipe"; then
@@ -12534,8 +13033,9 @@ printf %s "checking for sysroot... " >&6; }
if test ${with_sysroot+y}
then :
withval=$with_sysroot;
-else $as_nop
- with_sysroot=no
+else case e in #(
+ e) with_sysroot=no ;;
+esac
fi
@@ -12570,8 +13070,8 @@ printf %s "checking for a working dd... " >&6; }
if test ${ac_cv_path_lt_DD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- printf 0123456789abcdef0123456789abcdef >conftest.i
+else case e in #(
+ e) printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
: ${lt_DD:=$DD}
if test -z "$lt_DD"; then
@@ -12607,7 +13107,8 @@ else
ac_cv_path_lt_DD=$lt_DD
fi
-rm -f conftest.i conftest2.i conftest.out
+rm -f conftest.i conftest2.i conftest.out ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
printf "%s\n" "$ac_cv_path_lt_DD" >&6; }
@@ -12618,8 +13119,8 @@ printf %s "checking how to truncate binary pipes... " >&6; }
if test ${lt_cv_truncate_bin+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- printf 0123456789abcdef0123456789abcdef >conftest.i
+else case e in #(
+ e) printf 0123456789abcdef0123456789abcdef >conftest.i
cat conftest.i conftest.i >conftest2.i
lt_cv_truncate_bin=
if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
@@ -12627,7 +13128,8 @@ if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; the
&& lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
fi
rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
printf "%s\n" "$lt_cv_truncate_bin" >&6; }
@@ -12758,7 +13260,7 @@ mips64*-*linux*)
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly. Note that the listed cases only cover the
# situations where additional linker options are needed (such as when
@@ -12777,7 +13279,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
- x86_64-*linux*)
+ x86_64-*linux*|x86_64-gnu*)
case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
@@ -12806,7 +13308,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_x86_64_fbsd"
;;
- x86_64-*linux*)
+ x86_64-*linux*|x86_64-gnu*)
LD="${LD-ld} -m elf_x86_64"
;;
powerpcle-*linux*)
@@ -12837,8 +13339,8 @@ printf %s "checking whether the C compiler needs -belf... " >&6; }
if test ${lt_cv_cc_needs_belf+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_ext=c
+else case e in #(
+ e) ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -12858,8 +13360,9 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
lt_cv_cc_needs_belf=yes
-else $as_nop
- lt_cv_cc_needs_belf=no
+else case e in #(
+ e) lt_cv_cc_needs_belf=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
@@ -12868,7 +13371,8 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
@@ -12926,8 +13430,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_MANIFEST_TOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$MANIFEST_TOOL"; then
+else case e in #(
+ e) if test -n "$MANIFEST_TOOL"; then
ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -12949,7 +13453,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
if test -n "$MANIFEST_TOOL"; then
@@ -12971,8 +13476,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_MANIFEST_TOOL"; then
+else case e in #(
+ e) if test -n "$ac_ct_MANIFEST_TOOL"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -12994,7 +13499,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
if test -n "$ac_ct_MANIFEST_TOOL"; then
@@ -13026,15 +13532,16 @@ printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
if test ${lt_cv_path_mainfest_tool+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_path_mainfest_tool=no
+else case e in #(
+ e) lt_cv_path_mainfest_tool=no
echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
$MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
cat conftest.err >&5
if $GREP 'Manifest Tool' conftest.out > /dev/null; then
lt_cv_path_mainfest_tool=yes
fi
- rm -f conftest*
+ rm -f conftest* ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; }
@@ -13057,8 +13564,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DSYMUTIL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$DSYMUTIL"; then
+else case e in #(
+ e) if test -n "$DSYMUTIL"; then
ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13080,7 +13587,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
DSYMUTIL=$ac_cv_prog_DSYMUTIL
if test -n "$DSYMUTIL"; then
@@ -13102,8 +13610,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DSYMUTIL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_DSYMUTIL"; then
+else case e in #(
+ e) if test -n "$ac_ct_DSYMUTIL"; then
ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13125,7 +13633,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
if test -n "$ac_ct_DSYMUTIL"; then
@@ -13159,8 +13668,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_NMEDIT+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$NMEDIT"; then
+else case e in #(
+ e) if test -n "$NMEDIT"; then
ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13182,7 +13691,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
NMEDIT=$ac_cv_prog_NMEDIT
if test -n "$NMEDIT"; then
@@ -13204,8 +13714,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_NMEDIT+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_NMEDIT"; then
+else case e in #(
+ e) if test -n "$ac_ct_NMEDIT"; then
ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13227,7 +13737,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
if test -n "$ac_ct_NMEDIT"; then
@@ -13261,8 +13772,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_LIPO+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$LIPO"; then
+else case e in #(
+ e) if test -n "$LIPO"; then
ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13284,7 +13795,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
LIPO=$ac_cv_prog_LIPO
if test -n "$LIPO"; then
@@ -13306,8 +13818,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_LIPO+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_LIPO"; then
+else case e in #(
+ e) if test -n "$ac_ct_LIPO"; then
ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13329,7 +13841,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
if test -n "$ac_ct_LIPO"; then
@@ -13363,8 +13876,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_OTOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$OTOOL"; then
+else case e in #(
+ e) if test -n "$OTOOL"; then
ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13386,7 +13899,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
OTOOL=$ac_cv_prog_OTOOL
if test -n "$OTOOL"; then
@@ -13408,8 +13922,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_OTOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_OTOOL"; then
+else case e in #(
+ e) if test -n "$ac_ct_OTOOL"; then
ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13431,7 +13945,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
if test -n "$ac_ct_OTOOL"; then
@@ -13465,8 +13980,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_OTOOL64+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$OTOOL64"; then
+else case e in #(
+ e) if test -n "$OTOOL64"; then
ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13488,7 +14003,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
OTOOL64=$ac_cv_prog_OTOOL64
if test -n "$OTOOL64"; then
@@ -13510,8 +14026,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_OTOOL64+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_OTOOL64"; then
+else case e in #(
+ e) if test -n "$ac_ct_OTOOL64"; then
ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13533,7 +14049,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
if test -n "$ac_ct_OTOOL64"; then
@@ -13590,8 +14107,8 @@ printf %s "checking for -single_module linker flag... " >&6; }
if test ${lt_cv_apple_cc_single_mod+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_apple_cc_single_mod=no
+else case e in #(
+ e) lt_cv_apple_cc_single_mod=no
if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
@@ -13617,7 +14134,8 @@ else $as_nop
fi
rm -rf libconftest.dylib*
rm -f conftest.*
- fi
+ fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; }
@@ -13627,8 +14145,8 @@ printf %s "checking for -exported_symbols_list linker flag... " >&6; }
if test ${lt_cv_ld_exported_symbols_list+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_ld_exported_symbols_list=no
+else case e in #(
+ e) lt_cv_ld_exported_symbols_list=no
save_LDFLAGS=$LDFLAGS
echo "_main" > conftest.sym
LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
@@ -13646,13 +14164,15 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
lt_cv_ld_exported_symbols_list=yes
-else $as_nop
- lt_cv_ld_exported_symbols_list=no
+else case e in #(
+ e) lt_cv_ld_exported_symbols_list=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; }
@@ -13662,8 +14182,8 @@ printf %s "checking for -force_load linker flag... " >&6; }
if test ${lt_cv_ld_force_load+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_ld_force_load=no
+else case e in #(
+ e) lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
int forced_loaded() { return 2;}
_LT_EOF
@@ -13688,7 +14208,8 @@ _LT_EOF
fi
rm -f conftest.err libconftest.a conftest conftest.c
rm -rf conftest.dSYM
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
printf "%s\n" "$lt_cv_ld_force_load" >&6; }
@@ -13782,8 +14303,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AS+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AS"; then
+else case e in #(
+ e) if test -n "$AS"; then
ac_cv_prog_AS="$AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13805,7 +14326,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
AS=$ac_cv_prog_AS
if test -n "$AS"; then
@@ -13827,8 +14349,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_AS+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_AS"; then
+else case e in #(
+ e) if test -n "$ac_ct_AS"; then
ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13850,7 +14372,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_AS=$ac_cv_prog_ac_ct_AS
if test -n "$ac_ct_AS"; then
@@ -13884,8 +14407,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DLLTOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$DLLTOOL"; then
+else case e in #(
+ e) if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13907,7 +14430,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
@@ -13929,8 +14453,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_DLLTOOL"; then
+else case e in #(
+ e) if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13952,7 +14476,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
@@ -13986,8 +14511,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_OBJDUMP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$OBJDUMP"; then
+else case e in #(
+ e) if test -n "$OBJDUMP"; then
ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14009,7 +14534,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
@@ -14031,8 +14557,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_OBJDUMP"; then
+else case e in #(
+ e) if test -n "$ac_ct_OBJDUMP"; then
ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -14054,7 +14580,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
@@ -14127,8 +14654,9 @@ then :
IFS=$lt_save_ifs
;;
esac
-else $as_nop
- enable_shared=yes
+else case e in #(
+ e) enable_shared=yes ;;
+esac
fi
@@ -14159,8 +14687,9 @@ then :
IFS=$lt_save_ifs
;;
esac
-else $as_nop
- enable_static=yes
+else case e in #(
+ e) enable_static=yes ;;
+esac
fi
@@ -14191,8 +14720,9 @@ then :
IFS=$lt_save_ifs
;;
esac
-else $as_nop
- pic_mode=default
+else case e in #(
+ e) pic_mode=default ;;
+esac
fi
@@ -14222,8 +14752,9 @@ then :
IFS=$lt_save_ifs
;;
esac
-else $as_nop
- enable_fast_install=yes
+else case e in #(
+ e) enable_fast_install=yes ;;
+esac
fi
@@ -14250,15 +14781,17 @@ then :
;;
esac
lt_cv_with_aix_soname=$with_aix_soname
-else $as_nop
- if test ${lt_cv_with_aix_soname+y}
+else case e in #(
+ e) if test ${lt_cv_with_aix_soname+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_with_aix_soname=aix
+else case e in #(
+ e) lt_cv_with_aix_soname=aix ;;
+esac
fi
- with_aix_soname=$lt_cv_with_aix_soname
+ with_aix_soname=$lt_cv_with_aix_soname ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
@@ -14349,8 +14882,8 @@ printf %s "checking for objdir... " >&6; }
if test ${lt_cv_objdir+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- rm -f .libs 2>/dev/null
+else case e in #(
+ e) rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
lt_cv_objdir=.libs
@@ -14358,7 +14891,8 @@ else
# MS-DOS does not allow filenames that begin with a dot.
lt_cv_objdir=_libs
fi
-rmdir .libs 2>/dev/null
+rmdir .libs 2>/dev/null ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
printf "%s\n" "$lt_cv_objdir" >&6; }
@@ -14419,8 +14953,8 @@ printf %s "checking for ${ac_tool_prefix}file... " >&6; }
if test ${lt_cv_path_MAGIC_CMD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case $MAGIC_CMD in
+else case e in #(
+ e) case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
@@ -14463,6 +14997,7 @@ _LT_EOF
IFS=$lt_save_ifs
MAGIC_CMD=$lt_save_MAGIC_CMD
;;
+esac ;;
esac
fi
@@ -14486,8 +15021,8 @@ printf %s "checking for file... " >&6; }
if test ${lt_cv_path_MAGIC_CMD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case $MAGIC_CMD in
+else case e in #(
+ e) case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
@@ -14530,6 +15065,7 @@ _LT_EOF
IFS=$lt_save_ifs
MAGIC_CMD=$lt_save_MAGIC_CMD
;;
+esac ;;
esac
fi
@@ -14629,8 +15165,8 @@ printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test ${lt_cv_prog_compiler_rtti_exceptions+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler_rtti_exceptions=no
+else case e in #(
+ e) lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
@@ -14658,7 +15194,8 @@ else $as_nop
fi
fi
$RM conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
@@ -15023,8 +15560,9 @@ printf %s "checking for $compiler option to produce PIC... " >&6; }
if test ${lt_cv_prog_compiler_pic+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+else case e in #(
+ e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; }
@@ -15039,8 +15577,8 @@ printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6;
if test ${lt_cv_prog_compiler_pic_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler_pic_works=no
+else case e in #(
+ e) lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
@@ -15068,7 +15606,8 @@ else $as_nop
fi
fi
$RM conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; }
@@ -15104,8 +15643,8 @@ printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6;
if test ${lt_cv_prog_compiler_static_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler_static_works=no
+else case e in #(
+ e) lt_cv_prog_compiler_static_works=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -15126,7 +15665,8 @@ else $as_nop
fi
$RM -r conftest*
LDFLAGS=$save_LDFLAGS
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; }
@@ -15148,8 +15688,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test ${lt_cv_prog_compiler_c_o+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler_c_o=no
+else case e in #(
+ e) lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
@@ -15189,7 +15729,8 @@ else $as_nop
cd ..
$RM -r conftest
$RM conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
@@ -15204,8 +15745,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test ${lt_cv_prog_compiler_c_o+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler_c_o=no
+else case e in #(
+ e) lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
@@ -15245,7 +15786,8 @@ else $as_nop
cd ..
$RM -r conftest
$RM conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
@@ -15840,8 +16382,8 @@ else
if test ${lt_cv_aix_libpath_+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -15873,7 +16415,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=/usr/lib:/lib
fi
-
+ ;;
+esac
fi
aix_libpath=$lt_cv_aix_libpath_
@@ -15895,8 +16438,8 @@ else
if test ${lt_cv_aix_libpath_+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -15928,7 +16471,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
if test -z "$lt_cv_aix_libpath_"; then
lt_cv_aix_libpath_=/usr/lib:/lib
fi
-
+ ;;
+esac
fi
aix_libpath=$lt_cv_aix_libpath_
@@ -16179,8 +16723,8 @@ printf %s "checking if $CC understands -b... " >&6; }
if test ${lt_cv_prog_compiler__b+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_prog_compiler__b=no
+else case e in #(
+ e) lt_cv_prog_compiler__b=no
save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -b"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -16201,7 +16745,8 @@ else $as_nop
fi
$RM -r conftest*
LDFLAGS=$save_LDFLAGS
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
printf "%s\n" "$lt_cv_prog_compiler__b" >&6; }
@@ -16249,8 +16794,8 @@ printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&
if test ${lt_cv_irix_exported_symbol+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- save_LDFLAGS=$LDFLAGS
+else case e in #(
+ e) save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -16259,12 +16804,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
lt_cv_irix_exported_symbol=yes
-else $as_nop
- lt_cv_irix_exported_symbol=no
+else case e in #(
+ e) lt_cv_irix_exported_symbol=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
+ LDFLAGS=$save_LDFLAGS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
@@ -16590,8 +17137,8 @@ printf %s "checking whether -lc should be explicitly linked in... " >&6; }
if test ${lt_cv_archive_cmds_need_lc+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- $RM conftest*
+else case e in #(
+ e) $RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -16627,7 +17174,8 @@ else $as_nop
cat conftest.err 1>&5
fi
$RM conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; }
@@ -17323,7 +17871,7 @@ linux*android*)
version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
- library_names_spec='$libname$release$shared_ext'
+ library_names_spec='$libname$release$shared_ext $libname$shared_ext'
soname_spec='$libname$release$shared_ext'
finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
@@ -17335,8 +17883,9 @@ linux*android*)
hardcode_into_libs=yes
dynamic_linker='Android linker'
- # Don't embed -rpath directories since the linker doesn't support them.
- hardcode_libdir_flag_spec='-L$libdir'
+ # -rpath works at least for libraries that are not overridden by
+ # libraries installed in system locations.
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
;;
# This must be glibc/ELF.
@@ -17354,8 +17903,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
if test ${lt_cv_shlibpath_overrides_runpath+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- lt_cv_shlibpath_overrides_runpath=no
+else case e in #(
+ e) lt_cv_shlibpath_overrides_runpath=no
save_LDFLAGS=$LDFLAGS
save_libdir=$libdir
eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
@@ -17382,7 +17931,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$save_LDFLAGS
libdir=$save_libdir
-
+ ;;
+esac
fi
shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
@@ -17807,16 +18357,22 @@ printf %s "checking for dlopen in -ldl... " >&6; }
if test ${ac_cv_lib_dl_dlopen+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dlopen ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen (void);
int
main (void)
{
@@ -17828,24 +18384,27 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_dl_dlopen=yes
-else $as_nop
- ac_cv_lib_dl_dlopen=no
+else case e in #(
+ e) ac_cv_lib_dl_dlopen=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes
then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else $as_nop
-
+else case e in #(
+ e)
lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
-
+ ;;
+esac
fi
;;
@@ -17863,22 +18422,28 @@ fi
if test "x$ac_cv_func_shl_load" = xyes
then :
lt_cv_dlopen=shl_load
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
printf %s "checking for shl_load in -ldld... " >&6; }
if test ${ac_cv_lib_dld_shl_load+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char shl_load ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load (void);
int
main (void)
{
@@ -17890,39 +18455,47 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_dld_shl_load=yes
-else $as_nop
- ac_cv_lib_dld_shl_load=no
+else case e in #(
+ e) ac_cv_lib_dld_shl_load=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; }
if test "x$ac_cv_lib_dld_shl_load" = xyes
then :
lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
-else $as_nop
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+else case e in #(
+ e) ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
if test "x$ac_cv_func_dlopen" = xyes
then :
lt_cv_dlopen=dlopen
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
printf %s "checking for dlopen in -ldl... " >&6; }
if test ${ac_cv_lib_dl_dlopen+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dlopen ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen (void);
int
main (void)
{
@@ -17934,34 +18507,42 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_dl_dlopen=yes
-else $as_nop
- ac_cv_lib_dl_dlopen=no
+else case e in #(
+ e) ac_cv_lib_dl_dlopen=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes
then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
printf %s "checking for dlopen in -lsvld... " >&6; }
if test ${ac_cv_lib_svld_dlopen+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dlopen ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen (void);
int
main (void)
{
@@ -17973,34 +18554,42 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_svld_dlopen=yes
-else $as_nop
- ac_cv_lib_svld_dlopen=no
+else case e in #(
+ e) ac_cv_lib_svld_dlopen=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; }
if test "x$ac_cv_lib_svld_dlopen" = xyes
then :
lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
printf %s "checking for dld_link in -ldld... " >&6; }
if test ${ac_cv_lib_dld_dld_link+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char dld_link ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link (void);
int
main (void)
{
@@ -18012,12 +18601,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_dld_dld_link=yes
-else $as_nop
- ac_cv_lib_dld_dld_link=no
+else case e in #(
+ e) ac_cv_lib_dld_dld_link=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; }
@@ -18026,19 +18617,24 @@ then :
lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
;;
@@ -18066,8 +18662,8 @@ printf %s "checking whether a program can dlopen itself... " >&6; }
if test ${lt_cv_dlopen_self+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test yes = "$cross_compiling"; then :
+else case e in #(
+ e) if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -18161,7 +18757,8 @@ _LT_EOF
fi
rm -fr conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
printf "%s\n" "$lt_cv_dlopen_self" >&6; }
@@ -18173,8 +18770,8 @@ printf %s "checking whether a statically linked program can dlopen itself... " >
if test ${lt_cv_dlopen_self_static+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test yes = "$cross_compiling"; then :
+else case e in #(
+ e) if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -18268,7 +18865,8 @@ _LT_EOF
fi
rm -fr conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
printf "%s\n" "$lt_cv_dlopen_self_static" >&6; }
@@ -18443,8 +19041,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$RC"; then
+else case e in #(
+ e) if test -n "$RC"; then
ac_cv_prog_RC="$RC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -18466,7 +19064,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
RC=$ac_cv_prog_RC
if test -n "$RC"; then
@@ -18488,8 +19087,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_RC"; then
+else case e in #(
+ e) if test -n "$ac_ct_RC"; then
ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -18511,7 +19110,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
ac_ct_RC=$ac_cv_prog_ac_ct_RC
if test -n "$ac_ct_RC"; then
@@ -18617,7 +19217,7 @@ CFLAGS=$lt_save_CFLAGS
case "$host_os" in
- mingw* | cygwin*) is_woe32=yes ;;
+ mingw* | windows* | cygwin*) is_woe32=yes ;;
*) is_woe32=no ;;
esac
if test $is_woe32 = yes; then
@@ -18639,6 +19239,8 @@ fi
+
+
# Check whether --enable-cross-guesses was given.
if test ${enable_cross_guesses+y}
then :
@@ -18648,8 +19250,9 @@ printf "%s\n" "$as_me: WARNING: invalid argument supplied to --enable-cross-gues
enableval=conservative
fi
gl_cross_guesses="$enableval"
-else $as_nop
- gl_cross_guesses=conservative
+else case e in #(
+ e) gl_cross_guesses=conservative ;;
+esac
fi
if test $gl_cross_guesses = risky; then
@@ -18667,10 +19270,11 @@ ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
if test "x$ac_cv_type_size_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define size_t unsigned int" >>confdefs.h
-
+ ;;
+esac
fi
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
@@ -18680,8 +19284,8 @@ printf %s "checking for working alloca.h... " >&6; }
if test ${ac_cv_working_alloca_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <alloca.h>
int
@@ -18696,11 +19300,13 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_working_alloca_h=yes
-else $as_nop
- ac_cv_working_alloca_h=no
+else case e in #(
+ e) ac_cv_working_alloca_h=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
printf "%s\n" "$ac_cv_working_alloca_h" >&6; }
@@ -18715,10 +19321,10 @@ printf %s "checking for alloca... " >&6; }
if test ${ac_cv_func_alloca_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test $ac_cv_working_alloca_h = yes; then
- ac_cv_func_alloca_works=yes
-else
+else case e in #(
+ e) ac_cv_func_alloca_works=$ac_cv_working_alloca_h
+if test "$ac_cv_func_alloca_works" != yes
+then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -18749,15 +19355,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_func_alloca_works=yes
-else $as_nop
- ac_cv_func_alloca_works=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
+fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
printf "%s\n" "$ac_cv_func_alloca_works" >&6; }
-fi
if test $ac_cv_func_alloca_works = yes; then
@@ -18783,12 +19388,12 @@ printf %s "checking stack direction for C alloca... " >&6; }
if test ${ac_cv_c_stack_direction+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
ac_cv_c_stack_direction=0
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
@@ -18811,13 +19416,16 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_c_stack_direction=1
-else $as_nop
- ac_cv_c_stack_direction=-1
+else case e in #(
+ e) ac_cv_c_stack_direction=-1 ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
printf "%s\n" "$ac_cv_c_stack_direction" >&6; }
@@ -18831,8 +19439,8 @@ printf %s "checking for C/C++ restrict keyword... " >&6; }
if test ${ac_cv_c_restrict+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_c_restrict=no
+else case e in #(
+ e) ac_cv_c_restrict=no
# Put '__restrict__' first, to avoid problems with glibc and non-GCC; see:
# https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html
# Put 'restrict' last, because C++ lacks it.
@@ -18863,7 +19471,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
test "$ac_cv_c_restrict" != no && break
done
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
printf "%s\n" "$ac_cv_c_restrict" >&6; }
@@ -18883,8 +19492,8 @@ printf %s "checking whether the preprocessor supports include_next... " >&6; }
if test ${gl_cv_have_include_next+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- rm -rf conftestd1a conftestd1b conftestd2
+else case e in #(
+ e) rm -rf conftestd1a conftestd1b conftestd2
mkdir conftestd1a conftestd1b conftestd2
cat <<EOF > conftestd1a/conftest.h
#define DEFINED_IN_CONFTESTD1
@@ -18911,8 +19520,8 @@ EOF
#endif
#define DEFINED_IN_CONFTESTD2
EOF
- gl_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
+ gl_saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$gl_saved_CPPFLAGS -Iconftestd1b -Iconftestd2"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <conftest.h>
@@ -18920,8 +19529,8 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_have_include_next=yes
-else $as_nop
- CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
+else case e in #(
+ e) CPPFLAGS="$gl_saved_CPPFLAGS -Iconftestd1a -Iconftestd2"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <conftest.h>
@@ -18929,16 +19538,19 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_have_include_next=buggy
-else $as_nop
- gl_cv_have_include_next=no
+else case e in #(
+ e) gl_cv_have_include_next=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CPPFLAGS="$gl_save_CPPFLAGS"
+ CPPFLAGS="$gl_saved_CPPFLAGS"
rm -rf conftestd1a conftestd1b conftestd2
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
printf "%s\n" "$gl_cv_have_include_next" >&6; }
@@ -18967,8 +19579,8 @@ printf %s "checking whether source code line length is unlimited... " >&6; }
if test ${gl_cv_source_line_length_unlimited+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __TANDEM
@@ -18977,15 +19589,17 @@ choke me
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "choke me" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "choke me" >/dev/null 2>&1
then :
gl_cv_source_line_length_unlimited=no
-else $as_nop
- gl_cv_source_line_length_unlimited=yes
+else case e in #(
+ e) gl_cv_source_line_length_unlimited=yes ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_source_line_length_unlimited" >&5
printf "%s\n" "$gl_cv_source_line_length_unlimited" >&6; }
@@ -18997,14 +19611,1730 @@ printf "%s\n" "$gl_cv_source_line_length_unlimited" >&6; }
+ HAVE_C32RTOMB=1;
+ HAVE_MBRTOC16=1;
+ HAVE_MBRTOC32=1;
+ REPLACE_C32RTOMB=0;
+ REPLACE_MBRTOC16=0;
+ REPLACE_MBRTOC32=0;
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether char8_t is correctly defined" >&5
+printf %s "checking whether char8_t is correctly defined... " >&6; }
+if test ${gl_cv_type_char8_t_works+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ int verify[(char8_t)(-1) >= 0 && sizeof (char8_t) == sizeof (unsigned char) ? 1 : -1];
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gl_cv_type_char8_t_works=yes
+else case e in #(
+ e) gl_cv_type_char8_t_works=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_char8_t_works" >&5
+printf "%s\n" "$gl_cv_type_char8_t_works" >&6; }
+ if test $gl_cv_type_char8_t_works = no; then
+ GNULIBHEADERS_OVERRIDE_CHAR8_T=1
+ else
+ GNULIBHEADERS_OVERRIDE_CHAR8_T=0
+ fi
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether char16_t is correctly defined" >&5
+printf %s "checking whether char16_t is correctly defined... " >&6; }
+if test ${gl_cv_type_char16_t_works+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ /* For simplicity, assume that uint16_least_t is equivalent to
+ 'unsigned short'. */
+ int verify[(char16_t)(-1) >= 0 && sizeof (char16_t) == sizeof (unsigned short) ? 1 : -1];
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gl_cv_type_char16_t_works=yes
+else case e in #(
+ e) gl_cv_type_char16_t_works=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_char16_t_works" >&5
+printf "%s\n" "$gl_cv_type_char16_t_works" >&6; }
+ if test $gl_cv_type_char16_t_works = no; then
+ GNULIBHEADERS_OVERRIDE_CHAR16_T=1
+ else
+ GNULIBHEADERS_OVERRIDE_CHAR16_T=0
+ fi
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether char32_t is correctly defined" >&5
+printf %s "checking whether char32_t is correctly defined... " >&6; }
+if test ${gl_cv_type_char32_t_works+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ /* For simplicity, assume that uint32_least_t is equivalent to
+ 'unsigned int'. */
+ int verify[(char32_t)(-1) >= 0 && sizeof (char32_t) == sizeof (unsigned int) ? 1 : -1];
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gl_cv_type_char32_t_works=yes
+else case e in #(
+ e) gl_cv_type_char32_t_works=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_char32_t_works" >&5
+printf "%s\n" "$gl_cv_type_char32_t_works" >&6; }
+ if test $gl_cv_type_char32_t_works = no; then
+ GNULIBHEADERS_OVERRIDE_CHAR32_T=1
+ else
+ GNULIBHEADERS_OVERRIDE_CHAR32_T=0
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_uchar_h='<'uchar.h'>'
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <uchar.h>" >&5
+printf %s "checking absolute name of <uchar.h>... " >&6; }
+if test ${gl_cv_next_uchar_h+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test $ac_cv_header_uchar_h = yes; then
+
+
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <uchar.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw* | windows*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'uchar.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_uchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_uchar_h
+ gl_cv_next_uchar_h='"'$gl_header'"'
+ else
+ gl_cv_next_uchar_h='<'uchar.h'>'
+ fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_uchar_h" >&5
+printf "%s\n" "$gl_cv_next_uchar_h" >&6; }
+ fi
+ NEXT_UCHAR_H=$gl_cv_next_uchar_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'uchar.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_uchar_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_UCHAR_H=$gl_next_as_first_directive
+
+
+
+
+ if test $ac_cv_header_uchar_h = yes; then
+ HAVE_UCHAR_H=1
+ else
+ HAVE_UCHAR_H=0
+ fi
+
+
+
+
+
+
+
+ CXX_HAS_UCHAR_TYPES=0
+ if test $HAVE_UCHAR_H = 0; then
+ if test "$CXX" != no; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler predefines the <uchar.h> types" >&5
+printf %s "checking whether the C++ compiler predefines the <uchar.h> types... " >&6; }
+if test ${gl_cv_cxx_has_uchar_types+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat > conftest.cpp <<\EOF
+#include <stddef.h>
+char16_t a;
+char32_t b;
+EOF
+ gl_command="$CXX $CXXFLAGS $CPPFLAGS -c conftest.cpp"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5
+ (eval $gl_command) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ gl_cv_cxx_has_uchar_types=yes
+ else
+ gl_cv_cxx_has_uchar_types=no
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_has_uchar_types" >&5
+printf "%s\n" "$gl_cv_cxx_has_uchar_types" >&6; }
+ if test $gl_cv_cxx_has_uchar_types = yes; then
+ CXX_HAS_UCHAR_TYPES=1
+ fi
+ fi
+ fi
+
+ CXX_HAS_CHAR8_TYPE=0
+ if test $HAVE_UCHAR_H = 0; then
+ if test "$CXX" != no; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler predefines the char8_t types" >&5
+printf %s "checking whether the C++ compiler predefines the char8_t types... " >&6; }
+if test ${gl_cv_cxx_has_char8_type+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat > conftest.cpp <<\EOF
+#include <stddef.h>
+char8_t a;
+EOF
+ gl_command="$CXX $CXXFLAGS $CPPFLAGS -c conftest.cpp"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5
+ (eval $gl_command) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ gl_cv_cxx_has_char8_type=yes
+ else
+ gl_cv_cxx_has_char8_type=no
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_has_char8_type" >&5
+printf "%s\n" "$gl_cv_cxx_has_char8_type" >&6; }
+ if test $gl_cv_cxx_has_char8_type = yes; then
+ CXX_HAS_CHAR8_TYPE=1
+ fi
+ fi
+ fi
+
+
+
+
+ for gltype in wchar_t ; do
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+printf %s "checking for bit size of $gltype... " >&6; }
+if eval test \${gl_cv_bitsizeof_${gltype}+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <wchar.h>
+ #endif
+
+#include <limits.h>"
+then :
+
+else case e in #(
+ e) result=unknown ;;
+esac
+fi
+
+ eval gl_cv_bitsizeof_${gltype}=\$result
+ ;;
+esac
+fi
+eval ac_res=\$gl_cv_bitsizeof_${gltype}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+ eval result=\$gl_cv_bitsizeof_${gltype}
+ if test $result = unknown; then
+ result=0
+ fi
+ GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ printf "%s\n" "#define BITSIZEOF_${GLTYPE} $result" >>confdefs.h
+
+ eval BITSIZEOF_${GLTYPE}=\$result
+ done
+
+
+ if test $BITSIZEOF_WCHAR_T -lt 32; then
+ SMALL_WCHAR_T=1
+ else
+ SMALL_WCHAR_T=0
+ fi
+
+
+
+
+
+
+
+ HAVE_BTOWC=1;
+ HAVE_MBSINIT=1;
+ HAVE_MBRTOWC=1;
+ HAVE_MBRLEN=1;
+ HAVE_MBSRTOWCS=1;
+ HAVE_MBSNRTOWCS=1;
+ HAVE_WCRTOMB=1;
+ HAVE_WCSRTOMBS=1;
+ HAVE_WCSNRTOMBS=1;
+ HAVE_WMEMCHR=1;
+ HAVE_WMEMCMP=1;
+ HAVE_WMEMCPY=1;
+ HAVE_WMEMMOVE=1;
+ HAVE_WMEMPCPY=1;
+ HAVE_WMEMSET=1;
+ HAVE_WCSLEN=1;
+ HAVE_WCSNLEN=1;
+ HAVE_WCSCPY=1;
+ HAVE_WCPCPY=1;
+ HAVE_WCSNCPY=1;
+ HAVE_WCPNCPY=1;
+ HAVE_WCSCAT=1;
+ HAVE_WCSNCAT=1;
+ HAVE_WCSCMP=1;
+ HAVE_WCSNCMP=1;
+ HAVE_WCSCASECMP=1;
+ HAVE_WCSNCASECMP=1;
+ HAVE_WCSCOLL=1;
+ HAVE_WCSXFRM=1;
+ HAVE_WCSDUP=1;
+ HAVE_WCSCHR=1;
+ HAVE_WCSRCHR=1;
+ HAVE_WCSCSPN=1;
+ HAVE_WCSSPN=1;
+ HAVE_WCSPBRK=1;
+ HAVE_WCSSTR=1;
+ HAVE_WCSTOK=1;
+ HAVE_WCSWIDTH=1;
+ HAVE_WCSFTIME=1;
+ HAVE_DECL_WCTOB=1;
+ HAVE_DECL_WCSDUP=1;
+ HAVE_DECL_WCWIDTH=1;
+ REPLACE_MBSTATE_T=0;
+ REPLACE_BTOWC=0;
+ REPLACE_WCTOB=0;
+ REPLACE_MBSINIT=0;
+ REPLACE_MBRTOWC=0;
+ REPLACE_MBRLEN=0;
+ REPLACE_MBSRTOWCS=0;
+ REPLACE_MBSNRTOWCS=0;
+ REPLACE_WCRTOMB=0;
+ REPLACE_WCSRTOMBS=0;
+ REPLACE_WCSNRTOMBS=0;
+ REPLACE_WCWIDTH=0;
+ REPLACE_WCSWIDTH=0;
+ REPLACE_WCSFTIME=0;
+ REPLACE_WCSCMP=0;
+ REPLACE_WCSNCMP=0;
+ REPLACE_WCSSTR=0;
+ REPLACE_WCSTOK=0;
+ REPLACE_WMEMCMP=0;
+ REPLACE_WMEMPCPY=0;
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
+printf %s "checking for mbstate_t... " >&6; }
+if test ${ac_cv_type_mbstate_t+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+ #include <wchar.h>
+int
+main (void)
+{
+mbstate_t x; return sizeof x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_type_mbstate_t=yes
+else case e in #(
+ e) ac_cv_type_mbstate_t=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5
+printf "%s\n" "$ac_cv_type_mbstate_t" >&6; }
+ if test $ac_cv_type_mbstate_t = yes; then
+
+printf "%s\n" "#define HAVE_MBSTATE_T 1" >>confdefs.h
+
+ else
+
+printf "%s\n" "#define mbstate_t int" >>confdefs.h
+
+ fi
+
+ac_func=
+for ac_item in $ac_func_c_list
+do
+ if test $ac_func; then
+ ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func
+ if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then
+ echo "#define $ac_item 1" >> confdefs.h
+ fi
+ ac_func=
+ else
+ ac_func=$ac_item
+ fi
+done
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+printf %s "checking for nl_langinfo and CODESET... " >&6; }
+if test ${am_cv_langinfo_codeset+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+int
+main (void)
+{
+char* cs = nl_langinfo(CODESET); return !cs;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ am_cv_langinfo_codeset=yes
+else case e in #(
+ e) am_cv_langinfo_codeset=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
+printf "%s\n" "$am_cv_langinfo_codeset" >&6; }
+ if test $am_cv_langinfo_codeset = yes; then
+
+printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
+
+ fi
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+printf %s "checking for a traditional japanese locale... " >&6; }
+if test ${gt_cv_locale_ja+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
+{
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if defined __BEOS__ || defined __HAIKU__
+ return 1;
+#else
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
+ on Cygwin 1.5.x. */
+ if (MB_CUR_MAX == 1)
+ return 1;
+ /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+ This excludes the UTF-8 encoding (except on MirBSD). */
+ {
+ const char *p;
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+ for (p = buf; *p != '\0'; p++)
+ if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+ return 1;
+ }
+ return 0;
+#endif
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Note that on native Windows, the Japanese locale is
+ # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+ # cannot use it here.
+ gt_cv_locale_ja=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the AIX locale name.
+ if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.EUC-JP
+ else
+ # Test for the HP-UX, OSF/1, NetBSD locale name.
+ if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.eucJP
+ else
+ # Test for the IRIX, FreeBSD locale name.
+ if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.EUC
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja
+ else
+ # Special test for NetBSD 1.6.
+ if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
+ gt_cv_locale_ja=ja_JP.eucJP
+ else
+ # None found.
+ gt_cv_locale_ja=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+printf "%s\n" "$gt_cv_locale_ja" >&6; }
+ LOCALE_JA=$gt_cv_locale_ja
+ case $LOCALE_JA in #(
+ '' | *[[:space:]\"\$\'*[]*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_JA\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_JA\"; assuming \"none\"" >&2;}
+ LOCALE_JA=none;;
+ esac
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
+if test ${gt_cv_locale_fr_utf8+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ case "$host_os" in
+ *-musl* | midipix*)
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ ;;
+ *)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if !(defined __BEOS__ || defined __HAIKU__)
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail. */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
+ two bytes long, with UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 4
+ || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
+ return 1;
+#endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
+ return 0;
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Test for the hypothetical native Windows locale name.
+ if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=French_France.65001
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ;;
+ esac
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
+ LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ case $LOCALE_FR_UTF8 in #(
+ '' | *[[:space:]\"\$\'*[]*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_FR_UTF8\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_FR_UTF8\"; assuming \"none\"" >&2;}
+ LOCALE_FR_UTF8=none;;
+ esac
+
+
+ case "$host_os" in
+ *-musl* | midipix*)
+ LC_COLLATE_IMPLEMENTED=false
+ LC_NUMERIC_IMPLEMENTED=false
+ LC_TIME_IMPLEMENTED=false
+ LC_MONETARY_IMPLEMENTED=false
+ ;;
+ *)
+ LC_COLLATE_IMPLEMENTED=true
+ LC_NUMERIC_IMPLEMENTED=true
+ LC_TIME_IMPLEMENTED=true
+ LC_MONETARY_IMPLEMENTED=true
+ ;;
+ esac
+
+
+
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
+if test ${gt_cv_locale_zh_CN+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <stdlib.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
+{
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if defined __BEOS__ || defined __HAIKU__
+ return 1;
+#else
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+ This excludes the UTF-8 encoding (except on MirBSD). */
+ {
+ const char *p;
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+ for (p = buf; *p != '\0'; p++)
+ if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+ return 1;
+ }
+ /* Check whether a typical GB18030 multibyte sequence is recognized as a
+ single wide character. This excludes the GB2312 and GBK encodings. */
+ if (mblen ("\203\062\332\066", 5) != 4)
+ return 1;
+ return 0;
+#endif
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Test for the hypothetical native Windows locale name.
+ if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=Chinese_China.54936
+ else
+ # None found.
+ gt_cv_locale_zh_CN=none
+ fi
+ ;;
+ solaris2.8)
+ # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
+ # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
+ # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
+ gt_cv_locale_zh_CN=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the locale name without encoding suffix.
+ if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=zh_CN
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=zh_CN.GB18030
+ else
+ # None found.
+ gt_cv_locale_zh_CN=none
+ fi
+ fi
+ ;;
+ esac
+ else
+ # If there was a link error, due to mblen(), the system is so old that
+ # it certainly doesn't have a chinese locale.
+ gt_cv_locale_zh_CN=none
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
+ LOCALE_ZH_CN=$gt_cv_locale_zh_CN
+ case $LOCALE_ZH_CN in #(
+ '' | *[[:space:]\"\$\'*[]*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_ZH_CN\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_ZH_CN\"; assuming \"none\"" >&2;}
+ LOCALE_ZH_CN=none;;
+ esac
+
+
+
+
+
+
+
+
+
+ if case "$host_os" in
+ mingw* | windows*) true ;;
+ *) test $ac_cv_func_mbsinit = yes ;;
+ esac \
+ && test $ac_cv_func_mbrtowc = yes; then
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
+printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
+if test ${gl_cv_func_mbrtowc_incomplete_state+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ case "$host_os" in
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ esac
+ if test $LOCALE_JA != none; then
+ if test "$cross_compiling" = yes
+then :
+ :
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ {
+ const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
+ mbstate_t state;
+ wchar_t wc;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
+ if (mbsinit (&state))
+ return 2;
+ }
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_mbrtowc_incomplete_state=yes
+else case e in #(
+ e) gl_cv_func_mbrtowc_incomplete_state=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ else
+ if test $LOCALE_FR_UTF8 != none; then
+ if test "$cross_compiling" = yes
+then :
+ :
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ {
+ const char input[] = "B\303\274\303\237er"; /* "Büßer" */
+ mbstate_t state;
+ wchar_t wc;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
+ if (mbsinit (&state))
+ return 2;
+ }
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_mbrtowc_incomplete_state=yes
+else case e in #(
+ e) gl_cv_func_mbrtowc_incomplete_state=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ fi
+ fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
+printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
+if test ${gl_cv_func_mbrtowc_sanitycheck+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ case "$host_os" in
+ # Guess no on Solaris 8.
+ solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
+ esac
+ if test $LOCALE_ZH_CN != none; then
+ if test "$cross_compiling" = yes
+then :
+ :
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+ /* This fails on Solaris 8:
+ mbrtowc returns 2, and sets wc to 0x00F0.
+ mbtowc returns 4 (correct) and sets wc to 0x5EDC. */
+ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ {
+ char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
+ mbstate_t state;
+ wchar_t wc;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, input + 3, 6, &state) != 4
+ && mbtowc (&wc, input + 3, 6) == 4)
+ return 2;
+ }
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_mbrtowc_sanitycheck=yes
+else case e in #(
+ e) gl_cv_func_mbrtowc_sanitycheck=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
+
+ REPLACE_MBSTATE_T=0
+ case "$gl_cv_func_mbrtowc_incomplete_state" in
+ *yes) ;;
+ *) REPLACE_MBSTATE_T=1 ;;
+ esac
+ case "$gl_cv_func_mbrtowc_sanitycheck" in
+ *yes) ;;
+ *) REPLACE_MBSTATE_T=1 ;;
+ esac
+ else
+ REPLACE_MBSTATE_T=1
+ fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
+printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
+if test ${ac_cv_c_undeclared_builtin_options+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_save_CFLAGS=$CFLAGS
+ ac_cv_c_undeclared_builtin_options='cannot detect'
+ for ac_arg in '' -fno-builtin; do
+ CFLAGS="$ac_save_CFLAGS $ac_arg"
+ # This test program should *not* compile successfully.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+(void) strchr;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else case e in #(
+ e) # This test program should compile successfully.
+ # No library function is consistently available on
+ # freestanding implementations, so test against a dummy
+ # declaration. Include always-available headers on the
+ # off chance that they somehow elicit warnings.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <float.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stddef.h>
+extern void ac_decl (int, char *);
+
+int
+main (void)
+{
+(void) ac_decl (0, (char *) 0);
+ (void) ac_decl;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ if test x"$ac_arg" = x
+then :
+ ac_cv_c_undeclared_builtin_options='none needed'
+else case e in #(
+ e) ac_cv_c_undeclared_builtin_options=$ac_arg ;;
+esac
+fi
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ done
+ CFLAGS=$ac_save_CFLAGS
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
+printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
+ case $ac_cv_c_undeclared_builtin_options in #(
+ 'cannot detect') :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "cannot make $CC report undeclared builtins
+See 'config.log' for more details" "$LINENO" 5; } ;; #(
+ 'none needed') :
+ ac_c_undeclared_builtin_options='' ;; #(
+ *) :
+ ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
+esac
+
+
+ ac_fn_check_decl "$LINENO" "mbrtoc32" "ac_cv_have_decl_mbrtoc32" "#ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_mbrtoc32" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_mbrtoc32 = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbrtoc32" >&5
+printf %s "checking for mbrtoc32... " >&6; }
+if test ${gl_cv_func_mbrtoc32+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+
+int
+main (void)
+{
+char32_t c;
+ return mbrtoc32 (&c, "", 1, NULL) == 0;
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ gl_cv_func_mbrtoc32=yes
+else case e in #(
+ e) gl_cv_func_mbrtoc32=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtoc32" >&5
+printf "%s\n" "$gl_cv_func_mbrtoc32" >&6; }
+ else
+ gl_cv_func_mbrtoc32=no
+ fi
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
+if test ${gt_cv_locale_fr+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if defined __BEOS__ || defined __HAIKU__
+ return 1;
+#else
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+ one byte long. This excludes the UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+# endif
+ return 0;
+#endif
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Test for the native Windows locale name.
+ if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=French_France.1252
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO-8859-1
+ else
+ # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
+ if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO8859-1
+ else
+ # Test for the HP-UX locale name.
+ if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.iso88591
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
+ LOCALE_FR=$gt_cv_locale_fr
+ case $LOCALE_FR in #(
+ '' | *[[:space:]\"\$\'*[]*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_FR\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_FR\"; assuming \"none\"" >&2;}
+ LOCALE_FR=none;;
+ esac
+
+
+
+
+
+
+
+
+ if test $GNULIBHEADERS_OVERRIDE_CHAR32_T = 1 || test $gl_cv_func_mbrtoc32 = no; then
+ HAVE_WORKING_MBRTOC32=0
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtoc32 works as well as mbrtowc" >&5
+printf %s "checking whether mbrtoc32 works as well as mbrtowc... " >&6; }
+if test ${gl_cv_func_mbrtoc32_sanitycheck+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ case "$host_os" in
+ # Guess no on FreeBSD, Solaris, native Windows.
+ freebsd* | midnightbsd* | solaris* | mingw* | windows*)
+ gl_cv_func_mbrtoc32_sanitycheck="guessing no"
+ ;;
+ # Guess yes otherwise.
+ *)
+ gl_cv_func_mbrtoc32_sanitycheck="guessing yes"
+ ;;
+ esac
+ if test $LOCALE_FR != none || test $LOCALE_ZH_CN != none; then
+ if test "$cross_compiling" = yes
+then :
+ :
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+#ifdef __HAIKU__
+ #include <stdint.h>
+#endif
+#include <uchar.h>
+int main ()
+{
+ int result = 0;
+ /* This fails on native Windows:
+ mbrtoc32 returns (size_t)-1.
+ mbrtowc returns 1 (correct). */
+ if (strcmp ("$LOCALE_FR", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+ {
+ mbstate_t state;
+ wchar_t wc = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, "\374", 1, &state) == 1)
+ {
+ char32_t c32 = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtoc32 (&c32, "\374", 1, &state) != 1)
+ result |= 1;
+ }
+ }
+ /* This fails on FreeBSD 13.0 and Solaris 11.4:
+ mbrtoc32 returns (size_t)-2 or (size_t)-1.
+ mbrtowc returns 4 (correct). */
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ {
+ mbstate_t state;
+ wchar_t wc = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, "\224\071\375\067", 4, &state) == 4)
+ {
+ char32_t c32 = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtoc32 (&c32, "\224\071\375\067", 4, &state) != 4)
+ result |= 2;
+ }
+ }
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_mbrtoc32_sanitycheck=yes
+else case e in #(
+ e) gl_cv_func_mbrtoc32_sanitycheck=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtoc32_sanitycheck" >&5
+printf "%s\n" "$gl_cv_func_mbrtoc32_sanitycheck" >&6; }
+ case "$gl_cv_func_mbrtoc32_sanitycheck" in
+ *yes)
+ HAVE_WORKING_MBRTOC32=1
+
+printf "%s\n" "#define HAVE_WORKING_MBRTOC32 1" >>confdefs.h
+
+ ;;
+ *) HAVE_WORKING_MBRTOC32=0 ;;
+ esac
+ fi
+
+
+
+
+ GL_GNULIB_BTOC32=0
+
+
+
+ GL_GNULIB_C32ISALNUM=0
+
+
+
+ GL_GNULIB_C32ISALPHA=0
+
+
+
+ GL_GNULIB_C32ISBLANK=0
+
+
+
+ GL_GNULIB_C32ISCNTRL=0
+
+
+
+ GL_GNULIB_C32ISDIGIT=0
+
+
+
+ GL_GNULIB_C32ISGRAPH=0
+
+
+
+ GL_GNULIB_C32ISLOWER=0
+
+
+
+ GL_GNULIB_C32ISPRINT=0
+
+
+
+ GL_GNULIB_C32ISPUNCT=0
+
+
+
+ GL_GNULIB_C32ISSPACE=0
+
+
+
+ GL_GNULIB_C32ISUPPER=0
+
+
+
+ GL_GNULIB_C32ISXDIGIT=0
+
+
+
+ GL_GNULIB_C32TOLOWER=0
+
+
+
+ GL_GNULIB_C32TOUPPER=0
+
+
+
+ GL_GNULIB_C32WIDTH=0
+
+
+
+ GL_GNULIB_C32RTOMB=0
+
+
+
+ GL_GNULIB_C32SNRTOMBS=0
+
+
+
+ GL_GNULIB_C32SRTOMBS=0
+
+
+
+ GL_GNULIB_C32STOMBS=0
+
+
+
+ GL_GNULIB_C32SWIDTH=0
+
+
+
+ GL_GNULIB_C32TOB=0
+
+
+
+ GL_GNULIB_C32_APPLY_MAPPING=0
+
+
+
+ GL_GNULIB_C32_APPLY_TYPE_TEST=0
+
+
+
+ GL_GNULIB_C32_GET_MAPPING=0
+
+
+
+ GL_GNULIB_C32_GET_TYPE_TEST=0
+
+
+
+ GL_GNULIB_MBRTOC16=0
+
+
+
+ GL_GNULIB_MBRTOC32=0
+
+
+
+ GL_GNULIB_MBSNRTOC32S=0
+
+
+
+ GL_GNULIB_MBSRTOC32S=0
+
+
+
+ GL_GNULIB_MBSTOC32S=0
+
+
+
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
printf %s "checking for complete errno.h... " >&6; }
if test ${gl_cv_header_errno_h_complete+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19063,15 +21393,17 @@ booboo
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "booboo" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "booboo" >/dev/null 2>&1
then :
gl_cv_header_errno_h_complete=no
-else $as_nop
- gl_cv_header_errno_h_complete=yes
+else case e in #(
+ e) gl_cv_header_errno_h_complete=yes ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
printf "%s\n" "$gl_cv_header_errno_h_complete" >&6; }
@@ -19094,8 +21426,8 @@ printf %s "checking absolute name of <errno.h>... " >&6; }
if test ${gl_cv_next_errno_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -19108,7 +21440,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -19131,7 +21463,8 @@ _ACEOF
gl_header=$gl_cv_absolute_errno_h
gl_cv_next_errno_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
printf "%s\n" "$gl_cv_next_errno_h" >&6; }
@@ -19159,8 +21492,8 @@ printf %s "checking for EMULTIHOP value... " >&6; }
if test ${gl_cv_header_errno_h_EMULTIHOP+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19171,11 +21504,12 @@ yes
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
then :
gl_cv_header_errno_h_EMULTIHOP=yes
-else $as_nop
- gl_cv_header_errno_h_EMULTIHOP=no
+else case e in #(
+ e) gl_cv_header_errno_h_EMULTIHOP=no ;;
+esac
fi
rm -rf conftest*
@@ -19191,7 +21525,7 @@ yes
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
then :
gl_cv_header_errno_h_EMULTIHOP=hidden
fi
@@ -19211,7 +21545,8 @@ fi
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
printf "%s\n" "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
@@ -19234,8 +21569,8 @@ printf %s "checking for ENOLINK value... " >&6; }
if test ${gl_cv_header_errno_h_ENOLINK+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19246,11 +21581,12 @@ yes
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
then :
gl_cv_header_errno_h_ENOLINK=yes
-else $as_nop
- gl_cv_header_errno_h_ENOLINK=no
+else case e in #(
+ e) gl_cv_header_errno_h_ENOLINK=no ;;
+esac
fi
rm -rf conftest*
@@ -19266,7 +21602,7 @@ yes
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
then :
gl_cv_header_errno_h_ENOLINK=hidden
fi
@@ -19286,7 +21622,8 @@ fi
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
printf "%s\n" "$gl_cv_header_errno_h_ENOLINK" >&6; }
@@ -19309,8 +21646,8 @@ printf %s "checking for EOVERFLOW value... " >&6; }
if test ${gl_cv_header_errno_h_EOVERFLOW+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19321,11 +21658,12 @@ yes
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
then :
gl_cv_header_errno_h_EOVERFLOW=yes
-else $as_nop
- gl_cv_header_errno_h_EOVERFLOW=no
+else case e in #(
+ e) gl_cv_header_errno_h_EOVERFLOW=no ;;
+esac
fi
rm -rf conftest*
@@ -19341,7 +21679,7 @@ yes
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
then :
gl_cv_header_errno_h_EOVERFLOW=hidden
fi
@@ -19361,7 +21699,8 @@ fi
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
printf "%s\n" "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
@@ -19384,8 +21723,8 @@ printf %s "checking whether ctype.h defines __header_inline... " >&6; }
if test ${gl_cv_have___header_inline+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ctype.h>
#ifndef __header_inline
@@ -19396,10 +21735,12 @@ _ACEOF
if ac_fn_c_try_cpp "$LINENO"
then :
gl_cv_have___header_inline=yes
-else $as_nop
- gl_cv_have___header_inline=no
+else case e in #(
+ e) gl_cv_have___header_inline=no ;;
+esac
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have___header_inline" >&5
printf "%s\n" "$gl_cv_have___header_inline" >&6; }
@@ -19420,6 +21761,8 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
HAVE_DECL_FCVT=1;
HAVE_DECL_GCVT=1;
HAVE_DECL_GETLOADAVG=1;
+ HAVE_DECL_PROGRAM_INVOCATION_NAME=1;
+ HAVE_GETPROGNAME=1;
HAVE_GETSUBOPT=1;
HAVE_GRANTPT=1;
HAVE_INITSTATE=1;
@@ -19447,6 +21790,7 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
HAVE_SETSTATE=1;
HAVE_DECL_SETSTATE=1;
HAVE_STRTOD=1;
+ HAVE_STRTOF=1;
HAVE_STRTOL=1;
HAVE_STRTOLD=1;
HAVE_STRTOLL=1;
@@ -19456,21 +21800,31 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
HAVE_SYS_LOADAVG_H=0;
HAVE_UNLOCKPT=1;
HAVE_DECL_UNSETENV=1;
+ REPLACE__EXIT=0;
REPLACE_ALIGNED_ALLOC=0;
REPLACE_CALLOC_FOR_CALLOC_GNU=0;
REPLACE_CALLOC_FOR_CALLOC_POSIX=0;
REPLACE_CANONICALIZE_FILE_NAME=0;
REPLACE_FREE=0;
+ REPLACE_GETLOADAVG=0;
+ REPLACE_GETPROGNAME=0;
+ REPLACE_GETSUBOPT=0;
REPLACE_INITSTATE=0;
REPLACE_MALLOC_FOR_MALLOC_GNU=0;
REPLACE_MALLOC_FOR_MALLOC_POSIX=0;
+ REPLACE_MB_CUR_MAX=0;
+ REPLACE_MBSTOWCS=0;
REPLACE_MBTOWC=0;
+ REPLACE_MKOSTEMP=0;
+ REPLACE_MKOSTEMPS=0;
REPLACE_MKSTEMP=0;
REPLACE_POSIX_MEMALIGN=0;
+ REPLACE_POSIX_OPENPT=0;
REPLACE_PTSNAME=0;
REPLACE_PTSNAME_R=0;
REPLACE_PUTENV=0;
REPLACE_QSORT_R=0;
+ REPLACE_RAND=0;
REPLACE_RANDOM=0;
REPLACE_RANDOM_R=0;
REPLACE_REALLOC_FOR_REALLOC_GNU=0;
@@ -19480,6 +21834,7 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
REPLACE_SETENV=0;
REPLACE_SETSTATE=0;
REPLACE_STRTOD=0;
+ REPLACE_STRTOF=0;
REPLACE_STRTOL=0;
REPLACE_STRTOLD=0;
REPLACE_STRTOLL=0;
@@ -19522,6 +21877,10 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
+ GL_GNULIB_GETPROGNAME=0
+
+
+
GL_GNULIB_GETSUBOPT=0
@@ -19538,6 +21897,10 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
+ GL_GNULIB_MBSTOWCS=0
+
+
+
GL_GNULIB_MBTOWC=0
@@ -19586,6 +21949,10 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
+ GL_GNULIB_RAND=0
+
+
+
GL_GNULIB_RANDOM=0
@@ -19626,6 +21993,10 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
+ GL_GNULIB_STRTOF=0
+
+
+
GL_GNULIB_STRTOL=0
@@ -19743,6 +22114,9 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
HAVE_TANF=1;
HAVE_TANL=1;
HAVE_TANHF=1;
+ HAVE_TOTALORDER=1;
+ HAVE_TOTALORDERF=1;
+ HAVE_TOTALORDERL=1;
HAVE_DECL_ACOSL=1;
HAVE_DECL_ASINL=1;
HAVE_DECL_ATANL=1;
@@ -19820,6 +22194,7 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
REPLACE_ISFINITE=0;
REPLACE_ISINF=0;
REPLACE_ISNAN=0;
+ REPLACE_LDEXP=0;
REPLACE_LDEXPL=0;
REPLACE_LOG=0;
REPLACE_LOGF=0;
@@ -19855,6 +22230,9 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
REPLACE_SQRTL=0;
REPLACE_TANF=0;
REPLACE_TANHF=0;
+ REPLACE_TOTALORDER=0;
+ REPLACE_TOTALORDERF=0;
+ REPLACE_TOTALORDERL=0;
REPLACE_TRUNC=0;
REPLACE_TRUNCF=0;
REPLACE_TRUNCL=0;
@@ -19865,8 +22243,8 @@ printf %s "checking whether frexp() can be used without linking with libm... " >
if test ${gl_cv_func_frexp_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -19882,102 +22260,25 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_frexp_no_libm=yes
-else $as_nop
- gl_cv_func_frexp_no_libm=no
+else case e in #(
+ e) gl_cv_func_frexp_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_no_libm" >&5
printf "%s\n" "$gl_cv_func_frexp_no_libm" >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
-printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
-if test ${ac_cv_c_undeclared_builtin_options+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_save_CFLAGS=$CFLAGS
- ac_cv_c_undeclared_builtin_options='cannot detect'
- for ac_arg in '' -fno-builtin; do
- CFLAGS="$ac_save_CFLAGS $ac_arg"
- # This test program should *not* compile successfully.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-(void) strchr;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
-else $as_nop
- # This test program should compile successfully.
- # No library function is consistently available on
- # freestanding implementations, so test against a dummy
- # declaration. Include always-available headers on the
- # off chance that they somehow elicit warnings.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <float.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <stddef.h>
-extern void ac_decl (int, char *);
-
-int
-main (void)
-{
-(void) ac_decl (0, (char *) 0);
- (void) ac_decl;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- if test x"$ac_arg" = x
-then :
- ac_cv_c_undeclared_builtin_options='none needed'
-else $as_nop
- ac_cv_c_undeclared_builtin_options=$ac_arg
-fi
- break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- done
- CFLAGS=$ac_save_CFLAGS
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
-printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
- case $ac_cv_c_undeclared_builtin_options in #(
- 'cannot detect') :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot make $CC report undeclared builtins
-See \`config.log' for more details" "$LINENO" 5; } ;; #(
- 'none needed') :
- ac_c_undeclared_builtin_options='' ;; #(
- *) :
- ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
-esac
-
ac_fn_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_alarm" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_ALARM $ac_have_decl" >>confdefs.h
@@ -20195,6 +22496,10 @@ printf "%s\n" "#define HAVE_DECL_ALARM $ac_have_decl" >>confdefs.h
+ GL_GNULIB_LDEXP=0
+
+
+
GL_GNULIB_LDEXPF=0
@@ -20351,6 +22656,18 @@ printf "%s\n" "#define HAVE_DECL_ALARM $ac_have_decl" >>confdefs.h
+ GL_GNULIB_TOTALORDER=0
+
+
+
+ GL_GNULIB_TOTALORDERF=0
+
+
+
+ GL_GNULIB_TOTALORDERL=0
+
+
+
GL_GNULIB_TRUNC=0
@@ -20393,8 +22710,8 @@ printf %s "checking whether long double and double are the same... " >&6; }
if test ${gl_cv_long_double_equals_double+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
int
@@ -20413,11 +22730,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_long_double_equals_double=yes
-else $as_nop
- gl_cv_long_double_equals_double=no
+else case e in #(
+ e) gl_cv_long_double_equals_double=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_long_double_equals_double" >&5
printf "%s\n" "$gl_cv_long_double_equals_double" >&6; }
@@ -20431,19 +22750,6 @@ printf "%s\n" "#define HAVE_SAME_LONG_DOUBLE_AS_DOUBLE 1" >>confdefs.h
fi
-ac_func=
-for ac_item in $ac_func_c_list
-do
- if test $ac_func; then
- ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func
- if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then
- echo "#define $ac_item 1" >> confdefs.h
- fi
- ac_func=
- else
- ac_func=$ac_item
- fi
-done
@@ -20458,8 +22764,9 @@ done
if test "x$ac_cv_header_pthread_h" = xyes
then :
gl_have_pthread_h=yes
-else $as_nop
- gl_have_pthread_h=no
+else case e in #(
+ e) gl_have_pthread_h=no ;;
+esac
fi
if test "$gl_have_pthread_h" = yes; then
@@ -20473,7 +22780,7 @@ fi
# If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
# needs -pthread for some reason. See:
# https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
- save_LIBS=$LIBS
+ saved_LIBS="$LIBS"
for gl_pthread in '' '-pthread'; do
LIBS="$LIBS $gl_pthread"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20499,11 +22806,11 @@ then :
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS=$save_LIBS
+ LIBS="$saved_LIBS"
test $gl_pthread_api = yes && break
done
- echo "$as_me:20505: gl_pthread_api=$gl_pthread_api" >&5
- echo "$as_me:20506: LIBPTHREAD=$LIBPTHREAD" >&5
+ echo "$as_me:22812: gl_pthread_api=$gl_pthread_api" >&5
+ echo "$as_me:22813: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
@@ -20521,7 +22828,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky user" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
then :
gl_pthread_in_glibc=yes
fi
@@ -20529,7 +22836,7 @@ rm -rf conftest*
;;
esac
- echo "$as_me:20532: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+ echo "$as_me:22839: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
@@ -20541,16 +22848,22 @@ printf %s "checking for pthread_kill in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -20562,12 +22875,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_kill=yes
-else $as_nop
- ac_cv_lib_pthread_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_pthread_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; }
@@ -20584,13 +22899,69 @@ then :
# On Solaris 10 or newer, this test is no longer needed, because
# libc contains the fully functional pthread functions.
case "$host_os" in
- solaris | solaris2.1-9 | solaris2.1-9.* | hpux*)
+ solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
esac
fi
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lthr" >&5
+printf %s "checking for pthread_kill in -lthr... " >&6; }
+if test ${ac_cv_lib_thr_pthread_kill+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
+LIBS="-lthr $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
+int
+main (void)
+{
+return pthread_kill ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_thr_pthread_kill=yes
+else case e in #(
+ e) ac_cv_lib_thr_pthread_kill=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_thr_pthread_kill" >&5
+printf "%s\n" "$ac_cv_lib_thr_pthread_kill" >&6; }
+if test "x$ac_cv_lib_thr_pthread_kill" = xyes
+then :
+ if test $gl_pthread_in_glibc = yes; then
+ LIBPMULTITHREAD=
+ else
+ LIBPMULTITHREAD=-lthr
+ fi
+
+fi
+
+ ;;
+esac
fi
elif test $gl_pthread_api != yes; then
@@ -20600,16 +22971,22 @@ printf %s "checking for pthread_kill in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -20621,12 +22998,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_kill=yes
-else $as_nop
- ac_cv_lib_pthread_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_pthread_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; }
@@ -20644,16 +23023,22 @@ printf %s "checking for pthread_kill in -lc_r... " >&6; }
if test ${ac_cv_lib_c_r_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lc_r $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -20665,12 +23050,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_c_r_pthread_kill=yes
-else $as_nop
- ac_cv_lib_c_r_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_c_r_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; }
@@ -20683,7 +23070,7 @@ fi
fi
fi
- echo "$as_me:20686: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+ echo "$as_me:23073: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -20710,24 +23097,30 @@ sched_yield ();
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
- LIB_SCHED_YIELD=
+ SCHED_YIELD_LIB=
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
printf %s "checking for sched_yield in -lrt... " >&6; }
if test ${ac_cv_lib_rt_sched_yield+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lrt $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char sched_yield ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield (void);
int
main (void)
{
@@ -20739,34 +23132,42 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_rt_sched_yield=yes
-else $as_nop
- ac_cv_lib_rt_sched_yield=no
+else case e in #(
+ e) ac_cv_lib_rt_sched_yield=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; }
if test "x$ac_cv_lib_rt_sched_yield" = xyes
then :
- LIB_SCHED_YIELD=-lrt
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
+ SCHED_YIELD_LIB=-lrt
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
printf %s "checking for sched_yield in -lposix4... " >&6; }
if test ${ac_cv_lib_posix4_sched_yield+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lposix4 $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char sched_yield ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield (void);
int
main (void)
{
@@ -20778,27 +23179,33 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_posix4_sched_yield=yes
-else $as_nop
- ac_cv_lib_posix4_sched_yield=no
+else case e in #(
+ e) ac_cv_lib_posix4_sched_yield=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; }
if test "x$ac_cv_lib_posix4_sched_yield" = xyes
then :
- LIB_SCHED_YIELD=-lposix4
+ SCHED_YIELD_LIB=-lposix4
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
+ LIB_SCHED_YIELD="$SCHED_YIELD_LIB"
+
gl_pthreadlib_body_done=done
fi
@@ -20815,24 +23222,49 @@ printf %s "checking whether setlocale (LC_ALL, NULL) is multithread-safe... " >&
if test ${gl_cv_func_setlocale_null_all_mtsafe+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
- # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin.
- *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*)
+else case e in #(
+ e) case "$host_os" in
+ # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku.
+ *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*)
gl_cv_func_setlocale_null_all_mtsafe=no ;;
+ # Guess no on Cygwin < 3.4.6.
+ cygwin*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6)
+ Lucky user
+ #endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
+then :
+ gl_cv_func_setlocale_null_all_mtsafe=yes
+else case e in #(
+ e) gl_cv_func_setlocale_null_all_mtsafe=no ;;
+esac
+fi
+rm -rf conftest*
+
+ ;;
# Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows.
- *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*)
+ *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*)
gl_cv_func_setlocale_null_all_mtsafe=yes ;;
# If we don't know, obey --enable-cross-guesses.
*)
gl_cv_func_setlocale_null_all_mtsafe="$gl_cross_guess_normal" ;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_all_mtsafe" >&5
printf "%s\n" "$gl_cv_func_setlocale_null_all_mtsafe" >&6; }
case "$host_os" in
- mingw*) ;;
+ mingw* | windows*) ;;
*)
if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then
gl_cv_func_setlocale_null_all_mtsafe="trivially yes"
@@ -20852,24 +23284,25 @@ printf %s "checking whether setlocale (category, NULL) is multithread-safe... "
if test ${gl_cv_func_setlocale_null_one_mtsafe+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
+else case e in #(
+ e) case "$host_os" in
# Guess no on OpenBSD, AIX.
openbsd* | aix*)
gl_cv_func_setlocale_null_one_mtsafe=no ;;
# Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows.
- *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*)
+ *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*)
gl_cv_func_setlocale_null_one_mtsafe=yes ;;
# If we don't know, obey --enable-cross-guesses.
*)
gl_cv_func_setlocale_null_one_mtsafe="$gl_cross_guess_normal" ;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_one_mtsafe" >&5
printf "%s\n" "$gl_cv_func_setlocale_null_one_mtsafe" >&6; }
case "$host_os" in
- mingw*) ;;
+ mingw* | windows*) ;;
*)
if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then
gl_cv_func_setlocale_null_one_mtsafe="trivially yes"
@@ -20886,7 +23319,9 @@ printf "%s\n" "#define SETLOCALE_NULL_ONE_MTSAFE $SETLOCALE_NULL_ONE_MTSAFE" >>c
if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then
case "$host_os" in
- mingw*) LIB_SETLOCALE_NULL= ;;
+ mingw* | windows*)
+ SETLOCALE_NULL_LIB=
+ ;;
*)
@@ -20895,10 +23330,10 @@ printf %s "checking whether imported symbols can be declared weak... " >&6; }
if test ${gl_cv_have_weak+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
- cygwin*)
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) case "$host_os" in
+ cygwin* | mingw* | windows*)
+ gl_cv_have_weak="guessing no"
;;
*)
gl_cv_have_weak=no
@@ -20931,17 +23366,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Extensible Linking Format" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1
then :
gl_cv_have_weak="guessing yes"
-else $as_nop
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) gl_cv_have_weak="guessing no" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -20954,11 +23390,13 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_have_weak=yes
-else $as_nop
- gl_cv_have_weak=no
+else case e in #(
+ e) gl_cv_have_weak=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
@@ -20988,7 +23426,8 @@ EOF
esac
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5
printf "%s\n" "$gl_cv_have_weak" >&6; }
@@ -21001,15 +23440,17 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h
esac
case "$gl_cv_have_weak" in
- *yes) LIB_SETLOCALE_NULL= ;;
- *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;;
+ *yes) SETLOCALE_NULL_LIB= ;;
+ *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;;
esac
;;
esac
else
- LIB_SETLOCALE_NULL=
+ SETLOCALE_NULL_LIB=
fi
+ LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB"
+
if test "X$prefix" = "XNONE"; then
@@ -21022,10 +23463,10 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h
else
acl_final_exec_prefix="$exec_prefix"
fi
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
+ prefix="$acl_saved_prefix"
@@ -21033,8 +23474,9 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h
if test ${with_gnu_ld+y}
then :
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else $as_nop
- with_gnu_ld=no
+else case e in #(
+ e) with_gnu_ld=no ;;
+esac
fi
# Prepare PATH_SEPARATOR.
@@ -21070,14 +23512,14 @@ else
if test ${acl_cv_path_LD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
acl_cv_path_LD= # Final result of this test
ac_prog=ld # Program to search in $PATH
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
case $host in
- *-*-mingw*)
+ *-*-mingw* | windows*)
# gcc leaves a trailing carriage return which upsets mingw
acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
@@ -21107,9 +23549,9 @@ else $as_nop
fi
if test -n "$ac_prog"; then
# Search for $ac_prog in $PATH.
- acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ acl_saved_IFS="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$acl_save_ifs"
+ IFS="$acl_saved_IFS"
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
acl_cv_path_LD="$ac_dir/$ac_prog"
@@ -21126,7 +23568,7 @@ else $as_nop
esac
fi
done
- IFS="$acl_save_ifs"
+ IFS="$acl_saved_IFS"
fi
case $host in
*-*-aix*)
@@ -21164,19 +23606,21 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
-else $as_nop
- # The compiler produces 32-bit code. Add option '-m elf32_sparc'
+else case e in #(
+ e) # The compiler produces 32-bit code. Add option '-m elf32_sparc'
# so that the linker groks 32-bit object files.
case "$acl_cv_path_LD " in
*" -m elf32_sparc "*) ;;
*) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
esac
-
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
;;
esac
-
+ ;;
+esac
fi
LD="$acl_cv_path_LD"
@@ -21194,8 +23638,8 @@ printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
if test ${acl_cv_prog_gnu_ld+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
+else case e in #(
+ e) # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
acl_cv_prog_gnu_ld=yes
@@ -21203,6 +23647,7 @@ case `$LD -v 2>&1 </dev/null` in
*)
acl_cv_prog_gnu_ld=no
;;
+esac ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
@@ -21218,14 +23663,15 @@ printf %s "checking for shared library run path origin... " >&6; }
if test ${acl_cv_rpath+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
. ./conftest.sh
rm -f ./conftest.sh
acl_cv_rpath=done
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
printf "%s\n" "$acl_cv_rpath" >&6; }
@@ -21242,8 +23688,9 @@ printf "%s\n" "$acl_cv_rpath" >&6; }
if test ${enable_rpath+y}
then :
enableval=$enable_rpath; :
-else $as_nop
- enable_rpath=yes
+else case e in #(
+ e) enable_rpath=yes ;;
+esac
fi
@@ -21254,263 +23701,67 @@ printf %s "checking 32-bit host C ABI... " >&6; }
if test ${gl_cv_host_cpu_c_abi_32bit+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$gl_cv_host_cpu_c_abi"; then
- case "$gl_cv_host_cpu_c_abi" in
- i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
- gl_cv_host_cpu_c_abi_32bit=yes ;;
- x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
- gl_cv_host_cpu_c_abi_32bit=no ;;
- *)
- gl_cv_host_cpu_c_abi_32bit=unknown ;;
- esac
- else
- case "$host_cpu" in
-
- # CPUs that only support a 32-bit ABI.
- arc \
- | bfin \
- | cris* \
- | csky \
- | epiphany \
- | ft32 \
- | h8300 \
- | m68k \
- | microblaze | microblazeel \
- | nds32 | nds32le | nds32be \
- | nios2 | nios2eb | nios2el \
- | or1k* \
- | or32 \
- | sh | sh1234 | sh1234elb \
- | tic6x \
- | xtensa* )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- # CPUs that only support a 64-bit ABI.
- alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
- | mmix )
- gl_cv_host_cpu_c_abi_32bit=no
- ;;
-
- i[34567]86 )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- x86_64 )
- # On x86_64 systems, the C compiler may be generating code in one of
- # these ABIs:
- # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
- # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
- # with native Windows (mingw, MSVC).
- # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
- # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if (defined __x86_64__ || defined __amd64__ \
- || defined _M_X64 || defined _M_AMD64) \
- && !(defined __ILP32__ || defined _ILP32)
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- arm* | aarch64 )
- # Assume arm with EABI.
- # On arm64 systems, the C compiler may be generating code in one of
- # these ABIs:
- # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
- # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
- # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
- # On hppa, the C compiler may be generating 32-bit code or 64-bit
- # code. In the latter case, it defines _LP64 and __LP64__.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __LP64__
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- ia64* )
- # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
- # 32-bit code. In the latter case, it defines _ILP32.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef _ILP32
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=yes
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- mips* )
- # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
- # at 32.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- powerpc* )
- # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
- # No need to distinguish them here; the caller may distinguish
- # them based on the OS.
- # On powerpc64 systems, the C compiler may still be generating
- # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
- # be generating 64-bit code.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined __powerpc64__ || defined __LP64__
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- rs6000 )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- riscv32 | riscv64 )
- # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
- # Size of 'long' and 'void *':
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined __LP64__
- int ok;
- #else
- error fail
- #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- s390* )
- # On s390x, the C compiler may be generating 64-bit (= s390x) code
- # or 31-bit (= s390) code.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined __LP64__ || defined __s390x__
- int ok;
- #else
- error fail
- #endif
+else case e in #(
+ e) case "$host_cpu" in
+
+ # CPUs that only support a 32-bit ABI.
+ arc \
+ | bfin \
+ | cris* \
+ | csky \
+ | epiphany \
+ | ft32 \
+ | h8300 \
+ | m68k \
+ | microblaze | microblazeel \
+ | nds32 | nds32le | nds32be \
+ | nios2 | nios2eb | nios2el \
+ | or1k* \
+ | or32 \
+ | sh | sh1234 | sh1234elb \
+ | tic6x \
+ | xtensa* )
+ gl_cv_host_cpu_c_abi_32bit=yes
+ ;;
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
+ # CPUs that only support a 64-bit ABI.
+ alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+ | mmix )
+ gl_cv_host_cpu_c_abi_32bit=no
+ ;;
- sparc | sparc64 )
- # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
- # C compiler still generates 32-bit code.
+ *)
+ if test -n "$gl_cv_host_cpu_c_abi"; then
+ case "$gl_cv_host_cpu_c_abi" in
+ i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+ gl_cv_host_cpu_c_abi_32bit=yes ;;
+ x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+ gl_cv_host_cpu_c_abi_32bit=no ;;
+ *)
+ gl_cv_host_cpu_c_abi_32bit=unknown ;;
+ esac
+ else
+ gl_cv_host_cpu_c_abi_32bit=unknown
+ fi
+ if test $gl_cv_host_cpu_c_abi_32bit = unknown; then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#if defined __sparcv9 || defined __arch64__
- int ok;
- #else
- error fail
- #endif
+int test_pointer_size[sizeof (void *) - 5];
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_host_cpu_c_abi_32bit=no
-else $as_nop
- gl_cv_host_cpu_c_abi_32bit=yes
+else case e in #(
+ e) gl_cv_host_cpu_c_abi_32bit=yes ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ;;
-
- *)
- gl_cv_host_cpu_c_abi_32bit=unknown
- ;;
- esac
- fi
-
+ fi
+ ;;
+ esac
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5
printf "%s\n" "$gl_cv_host_cpu_c_abi_32bit" >&6; }
@@ -21526,8 +23777,8 @@ printf %s "checking for ELF binary format... " >&6; }
if test ${gl_cv_elf+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined __ELF__ || (defined __linux__ && defined __EDG__)
Extensible Linking Format
@@ -21535,15 +23786,17 @@ else $as_nop
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Extensible Linking Format" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1
then :
gl_cv_elf=yes
-else $as_nop
- gl_cv_elf=no
+else case e in #(
+ e) gl_cv_elf=no ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5
printf "%s\n" "$gl_cv_elf" >&6; }
@@ -21602,8 +23855,8 @@ printf %s "checking for the common suffixes of directories in the library search
if test ${acl_cv_libdirstems+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- acl_libdirstem=lib
+else case e in #(
+ e) acl_libdirstem=lib
acl_libdirstem2=
acl_libdirstem3=
case "$host_os" in
@@ -21616,6 +23869,13 @@ else $as_nop
esac
fi
;;
+ netbsd*)
+ if test $HOST_CPU_C_ABI_32BIT != no; then
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparc ;;
+ esac
+ fi
+ ;;
*)
searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \
| sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
@@ -21632,7 +23892,7 @@ else $as_nop
fi
fi
if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
+ acl_saved_IFS="${IFS= }"; IFS=":"
for searchdir in $searchpath; do
if test -d "$searchdir"; then
case "$searchdir" in
@@ -21649,7 +23909,7 @@ else $as_nop
esac
fi
done
- IFS="$acl_save_IFS"
+ IFS="$acl_saved_IFS"
if test $HOST_CPU_C_ABI_32BIT = yes; then
# 32-bit ABI.
acl_libdirstem3=
@@ -21664,7 +23924,8 @@ else $as_nop
test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem"
acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3"
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5
printf "%s\n" "$acl_cv_libdirstems" >&6; }
@@ -21684,9 +23945,9 @@ printf "%s\n" "$acl_cv_libdirstems" >&6; }
use_additional=yes
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval additional_includedir=\"$includedir\"
@@ -21694,8 +23955,8 @@ printf "%s\n" "$acl_cv_libdirstems" >&6; }
eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
# Check whether --with-libiconv-prefix was given.
@@ -21707,9 +23968,9 @@ then :
else
if test "X$withval" = "X"; then
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval additional_includedir=\"$includedir\"
@@ -21717,8 +23978,8 @@ then :
eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
else
additional_includedir="$withval/include"
@@ -21830,13 +24091,13 @@ fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIBICONV; do
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
case "$x" in
-L*)
@@ -21924,13 +24185,13 @@ fi
haveit=
for x in $LDFLAGS $LIBICONV; do
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
if test "X$x" = "X-L$found_dir"; then
haveit=yes
@@ -21992,13 +24253,13 @@ fi
if test -z "$haveit"; then
for x in $CPPFLAGS $INCICONV; do
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
if test "X$x" = "X-I$additional_includedir"; then
haveit=yes
@@ -22014,12 +24275,12 @@ fi
fi
fi
if test -n "$found_la"; then
- save_libdir="$libdir"
+ saved_libdir="$libdir"
case "$found_la" in
*/* | *\\*) . "$found_la" ;;
*) . "./$found_la" ;;
esac
- libdir="$save_libdir"
+ libdir="$saved_libdir"
for dep in $dependency_libs; do
case "$dep" in
-L*)
@@ -22041,13 +24302,13 @@ fi
haveit=
for x in $LDFLAGS $LIBICONV; do
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
if test "X$x" = "X-L$dependency_libdir"; then
haveit=yes
@@ -22062,13 +24323,13 @@ fi
haveit=
for x in $LDFLAGS $LTLIBICONV; do
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
if test "X$x" = "X-L$dependency_libdir"; then
haveit=yes
@@ -22142,17 +24403,17 @@ fi
for found_dir in $rpathdirs; do
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
- acl_save_libdir="$libdir"
+ acl_saved_libdir="$libdir"
libdir="$alldirs"
eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
+ libdir="$acl_saved_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
else
for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
+ acl_saved_libdir="$libdir"
libdir="$found_dir"
eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
+ libdir="$acl_saved_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
done
fi
@@ -22185,19 +24446,19 @@ fi
- am_save_CPPFLAGS="$CPPFLAGS"
+ gl_saved_CPPFLAGS="$CPPFLAGS"
for element in $INCICONV; do
haveit=
for x in $CPPFLAGS; do
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
if test "X$x" = "X$element"; then
haveit=yes
@@ -22215,8 +24476,8 @@ printf %s "checking for iconv... " >&6; }
if test ${am_cv_func_iconv+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22242,7 +24503,7 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
+ gl_saved_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -22267,9 +24528,10 @@ then :
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
+ LIBS="$gl_saved_LIBS"
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
printf "%s\n" "$am_cv_func_iconv" >&6; }
@@ -22279,9 +24541,9 @@ printf %s "checking for working iconv... " >&6; }
if test ${am_cv_func_iconv_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- am_save_LIBS="$LIBS"
+else case e in #(
+ e)
+ gl_saved_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
fi
@@ -22293,8 +24555,8 @@ then :
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
*) am_cv_func_iconv_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <iconv.h>
@@ -22423,13 +24685,15 @@ then :
am_cv_func_iconv_works=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
test "$am_cv_func_iconv_works" = no || break
done
- LIBS="$am_save_LIBS"
-
+ LIBS="$gl_saved_LIBS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
printf "%s\n" "$am_cv_func_iconv_works" >&6; }
@@ -22451,7 +24715,7 @@ printf %s "checking how to link with libiconv... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
printf "%s\n" "$LIBICONV" >&6; }
else
- CPPFLAGS="$am_save_CPPFLAGS"
+ CPPFLAGS="$gl_saved_CPPFLAGS"
LIBICONV=
LTLIBICONV=
fi
@@ -22464,8 +24728,8 @@ printf %s "checking whether iconv is compatible with its POSIX signature... " >&
if test ${gl_cv_iconv_nonconst+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -22487,11 +24751,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_iconv_nonconst=yes
-else $as_nop
- gl_cv_iconv_nonconst=no
+else case e in #(
+ e) gl_cv_iconv_nonconst=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_iconv_nonconst" >&5
printf "%s\n" "$gl_cv_iconv_nonconst" >&6; }
@@ -22553,8 +24819,8 @@ printf %s "checking absolute name of <iconv.h>... " >&6; }
if test ${gl_cv_next_iconv_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_iconv_h = yes; then
@@ -22570,7 +24836,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -22596,7 +24862,8 @@ _ACEOF
gl_cv_next_iconv_h='<'iconv.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
printf "%s\n" "$gl_cv_next_iconv_h" >&6; }
@@ -22627,8 +24894,8 @@ printf %s "checking for inline... " >&6; }
if test ${ac_cv_c_inline+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_c_inline=no
+else case e in #(
+ e) ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -22646,7 +24913,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
test "$ac_cv_c_inline" != no && break
done
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
printf "%s\n" "$ac_cv_c_inline" >&6; }
@@ -22685,8 +24953,8 @@ printf %s "checking absolute name of <limits.h>... " >&6; }
if test ${gl_cv_next_limits_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_limits_h = yes; then
@@ -22702,7 +24970,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -22728,7 +24996,8 @@ _ACEOF
gl_cv_next_limits_h='<'limits.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5
printf "%s\n" "$gl_cv_next_limits_h" >&6; }
@@ -22753,8 +25022,8 @@ printf %s "checking whether limits.h has WORD_BIT, BOOL_WIDTH etc.... " >&6; }
if test ${gl_cv_header_limits_width+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
#define __STDC_WANT_IEC_60559_BFP_EXT__ 1
@@ -22764,6 +25033,8 @@ else $as_nop
int wb = WORD_BIT;
int ullw = ULLONG_WIDTH;
int bw = BOOL_WIDTH;
+ int bm = BOOL_MAX;
+ int mblm = MB_LEN_MAX;
int
main (void)
@@ -22776,18 +25047,48 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_limits_width=yes
-else $as_nop
- gl_cv_header_limits_width=no
+else case e in #(
+ e) gl_cv_header_limits_width=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5
printf "%s\n" "$gl_cv_header_limits_width" >&6; }
- if test "$gl_cv_header_limits_width" = yes; then
- GL_GENERATE_LIMITS_H=false
- else
- GL_GENERATE_LIMITS_H=true
- fi
+ GL_GENERATE_LIMITS_H=true
+ if test "$gl_cv_header_limits_width" = yes
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has SSIZE_MAX" >&5
+printf %s "checking whether limits.h has SSIZE_MAX... " >&6; }
+if test ${gl_cv_header_limits_ssize_max+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ #ifndef SSIZE_MAX
+ #error "SSIZE_MAX is not defined"
+ #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gl_cv_header_limits_ssize_max=yes
+else case e in #(
+ e) gl_cv_header_limits_ssize_max=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_ssize_max" >&5
+printf "%s\n" "$gl_cv_header_limits_ssize_max" >&6; }
+ if test "$gl_cv_header_limits_ssize_max" = yes; then
+ GL_GENERATE_LIMITS_H=false
+ fi
+fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
@@ -22795,8 +25096,8 @@ printf %s "checking for wint_t... " >&6; }
if test ${gt_cv_c_wint_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
wint_t foo = (wchar_t)'\0';
@@ -22811,10 +25112,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gt_cv_c_wint_t=yes
-else $as_nop
- gt_cv_c_wint_t=no
+else case e in #(
+ e) gt_cv_c_wint_t=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
printf "%s\n" "$gt_cv_c_wint_t" >&6; }
@@ -22828,8 +25131,8 @@ printf %s "checking whether wint_t is large enough... " >&6; }
if test ${gl_cv_type_wint_t_large_enough+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
@@ -22845,10 +25148,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_type_wint_t_large_enough=yes
-else $as_nop
- gl_cv_type_wint_t_large_enough=no
+else case e in #(
+ e) gl_cv_type_wint_t_large_enough=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_large_enough" >&5
printf "%s\n" "$gl_cv_type_wint_t_large_enough" >&6; }
@@ -22868,8 +25173,8 @@ printf %s "checking whether the compiler produces multi-arch binaries... " >&6;
if test ${gl_cv_c_multiarch+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_cv_c_multiarch=no
+else case e in #(
+ e) gl_cv_c_multiarch=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __APPLE_CC__
@@ -22904,7 +25209,8 @@ then :
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_multiarch" >&5
printf "%s\n" "$gl_cv_c_multiarch" >&6; }
@@ -22968,8 +25274,8 @@ printf %s "checking absolute name of <stdint.h>... " >&6; }
if test ${gl_cv_next_stdint_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_stdint_h = yes; then
@@ -22985,7 +25291,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -23011,7 +25317,8 @@ _ACEOF
gl_cv_next_stdint_h='<'stdint.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
printf "%s\n" "$gl_cv_next_stdint_h" >&6; }
@@ -23043,8 +25350,8 @@ printf %s "checking whether stdint.h conforms to C99... " >&6; }
if test ${gl_cv_header_working_stdint_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_cv_header_working_stdint_h=no
+else case e in #(
+ e) gl_cv_header_working_stdint_h=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -23139,7 +25446,10 @@ intmax_t i = INTMAX_MAX;
uintmax_t j = UINTMAX_MAX;
/* Check that SIZE_MAX has the correct type, if possible. */
-#if 201112 <= __STDC_VERSION__
+/* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it. */
+#if 201112 <= __STDC_VERSION__ \
+ && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \
+ || defined __clang__)
int k = _Generic (SIZE_MAX, size_t: 0);
#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \
|| (0x5110 <= __SUNPRO_C && !__STDC__))
@@ -23220,14 +25530,14 @@ then :
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on native Windows.
- mingw*) gl_cv_header_working_stdint_h="guessing yes" ;;
- # In general, assume it works.
- *) gl_cv_header_working_stdint_h="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;;
+ # In general, assume it works.
+ *) gl_cv_header_working_stdint_h="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -23305,13 +25615,15 @@ then :
gl_cv_header_working_stdint_h=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
printf "%s\n" "$gl_cv_header_working_stdint_h" >&6; }
@@ -23329,8 +25641,8 @@ printf %s "checking whether stdint.h works without ISO C predefines... " >&6; }
if test ${gl_cv_header_stdint_without_STDC_macros+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_cv_header_stdint_without_STDC_macros=no
+else case e in #(
+ e) gl_cv_header_stdint_without_STDC_macros=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -23362,7 +25674,8 @@ then :
gl_cv_header_stdint_without_STDC_macros=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_without_STDC_macros" >&5
printf "%s\n" "$gl_cv_header_stdint_without_STDC_macros" >&6; }
@@ -23380,8 +25693,8 @@ printf %s "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; }
if test ${gl_cv_header_stdint_width+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_cv_header_stdint_width=no
+else case e in #(
+ e) gl_cv_header_stdint_width=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -23412,7 +25725,8 @@ if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_stdint_width=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5
printf "%s\n" "$gl_cv_header_stdint_width" >&6; }
@@ -23451,8 +25765,8 @@ printf %s "checking for bit size of $gltype... " >&6; }
if eval test \${gl_cv_bitsizeof_${gltype}+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
+else case e in #(
+ e) if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
#include <stddef.h>
#include <signal.h>
#if HAVE_WCHAR_H
@@ -23462,12 +25776,14 @@ else $as_nop
#include <limits.h>"
then :
-else $as_nop
- result=unknown
+else case e in #(
+ e) result=unknown ;;
+esac
fi
eval gl_cv_bitsizeof_${gltype}=\$result
-
+ ;;
+esac
fi
eval ac_res=\$gl_cv_bitsizeof_${gltype}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -23492,8 +25808,8 @@ printf %s "checking for bit size of $gltype... " >&6; }
if eval test \${gl_cv_bitsizeof_${gltype}+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
+else case e in #(
+ e) if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
#include <stddef.h>
#include <signal.h>
#if HAVE_WCHAR_H
@@ -23503,12 +25819,14 @@ else $as_nop
#include <limits.h>"
then :
-else $as_nop
- result=unknown
+else case e in #(
+ e) result=unknown ;;
+esac
fi
eval gl_cv_bitsizeof_${gltype}=\$result
-
+ ;;
+esac
fi
eval ac_res=\$gl_cv_bitsizeof_${gltype}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -23532,8 +25850,8 @@ printf %s "checking whether $gltype is signed... " >&6; }
if eval test \${gl_cv_type_${gltype}_signed+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
@@ -23554,12 +25872,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
result=yes
-else $as_nop
- result=no
+else case e in #(
+ e) result=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
eval gl_cv_type_${gltype}_signed=\$result
-
+ ;;
+esac
fi
eval ac_res=\$gl_cv_type_${gltype}_signed
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -23587,8 +25907,8 @@ printf %s "checking for $gltype integer literal suffix... " >&6; }
if eval test \${gl_cv_type_${gltype}_suffix+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- eval gl_cv_type_${gltype}_suffix=no
+else case e in #(
+ e) eval gl_cv_type_${gltype}_suffix=no
eval result=\$gl_cv_type_${gltype}_signed
if test "$result" = yes; then
glsufu=
@@ -23632,7 +25952,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
eval result=\$gl_cv_type_${gltype}_suffix
test "$result" != no && break
- done
+ done ;;
+esac
fi
eval ac_res=\$gl_cv_type_${gltype}_suffix
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -23655,8 +25976,8 @@ printf %s "checking for $gltype integer literal suffix... " >&6; }
if eval test \${gl_cv_type_${gltype}_suffix+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- eval gl_cv_type_${gltype}_suffix=no
+else case e in #(
+ e) eval gl_cv_type_${gltype}_suffix=no
eval result=\$gl_cv_type_${gltype}_signed
if test "$result" = yes; then
glsufu=
@@ -23700,7 +26021,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
eval result=\$gl_cv_type_${gltype}_suffix
test "$result" != no && break
- done
+ done ;;
+esac
fi
eval ac_res=\$gl_cv_type_${gltype}_suffix
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -23737,6 +26059,10 @@ printf "%s\n" "$ac_res" >&6; }
HAVE_DECL_STRTOIMAX=1;
HAVE_DECL_STRTOUMAX=1;
HAVE_IMAXDIV_T=1;
+ HAVE_IMAXABS=1;
+ HAVE_IMAXDIV=1;
+ REPLACE_IMAXABS=0;
+ REPLACE_IMAXDIV=0;
REPLACE_STRTOIMAX=0;
REPLACE_STRTOUMAX=0;
INT32_MAX_LT_INTMAX_MAX=1;
@@ -23767,8 +26093,8 @@ printf %s "checking absolute name of <inttypes.h>... " >&6; }
if test ${gl_cv_next_inttypes_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_inttypes_h = yes; then
@@ -23784,7 +26110,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -23810,7 +26136,8 @@ _ACEOF
gl_cv_next_inttypes_h='<'inttypes.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5
printf "%s\n" "$gl_cv_next_inttypes_h" >&6; }
@@ -23862,8 +26189,8 @@ printf %s "checking where to find the exponent in a 'double'... " >&6; }
if test ${gl_cv_cc_double_expbit0+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -23876,17 +26203,17 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "mixed_endianness" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "mixed_endianness" >/dev/null 2>&1
then :
gl_cv_cc_double_expbit0="unknown"
-else $as_nop
-
+else case e in #(
+ e)
:
if test ${ac_cv_c_bigendian+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_c_bigendian=unknown
+else case e in #(
+ e) ac_cv_c_bigendian=unknown
# See if we're dealing with a universal compiler.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -23932,8 +26259,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
int
main (void)
{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \\
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \\
&& LITTLE_ENDIAN)
bogus endian macros
#endif
@@ -23964,8 +26291,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
+else case e in #(
+ e) ac_cv_c_bigendian=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
@@ -24009,8 +26337,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
+else case e in #(
+ e) ac_cv_c_bigendian=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
@@ -24037,22 +26366,23 @@ unsigned short int ascii_mm[] =
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
- extern int foo;
-
-int
-main (void)
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
+ int
+ main (int argc, char **argv)
+ {
+ /* Intimidate the compiler so that it does not
+ optimize the arrays away. */
+ char *p = argv[0];
+ ascii_mm[1] = *p++; ebcdic_mm[1] = *p++;
+ ascii_ii[1] = *p++; ebcdic_ii[1] = *p++;
+ return use_ascii (argc) == use_ebcdic (*p);
+ }
_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if ac_fn_c_try_link "$LINENO"
then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then
ac_cv_c_bigendian=yes
fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
@@ -24061,9 +26391,10 @@ then :
fi
fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
@@ -24086,14 +26417,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_c_bigendian=no
-else $as_nop
- ac_cv_c_bigendian=yes
+else case e in #(
+ e) ac_cv_c_bigendian=yes ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- fi
+ fi ;;
+esac
fi
:
case $ac_cv_c_bigendian in #(
@@ -24110,13 +26444,14 @@ printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
gl_cv_cc_double_expbit0="unknown" ;;
esac
-
+ ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -24186,15 +26521,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_cc_double_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_double_expbit0="unknown"
+else case e in #(
+ e) gl_cv_cc_double_expbit0="unknown" ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.out
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
printf "%s\n" "$gl_cv_cc_double_expbit0" >&6; }
@@ -24217,13 +26555,13 @@ printf %s "checking where to find the exponent in a 'float'... " >&6; }
if test ${gl_cv_cc_float_expbit0+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
gl_cv_cc_float_expbit0="word 0 bit 23"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -24294,15 +26632,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_cc_float_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_float_expbit0="unknown"
+else case e in #(
+ e) gl_cv_cc_float_expbit0="unknown" ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.out
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
printf "%s\n" "$gl_cv_cc_float_expbit0" >&6; }
@@ -24325,8 +26666,8 @@ printf %s "checking whether byte ordering is bigendian... " >&6; }
if test ${ac_cv_c_bigendian+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_c_bigendian=unknown
+else case e in #(
+ e) ac_cv_c_bigendian=unknown
# See if we're dealing with a universal compiler.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -24372,8 +26713,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
int
main (void)
{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \\
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \\
&& LITTLE_ENDIAN)
bogus endian macros
#endif
@@ -24404,8 +26745,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
+else case e in #(
+ e) ac_cv_c_bigendian=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
@@ -24449,8 +26791,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
+else case e in #(
+ e) ac_cv_c_bigendian=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
@@ -24477,22 +26820,23 @@ unsigned short int ascii_mm[] =
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
- extern int foo;
-
-int
-main (void)
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
+ int
+ main (int argc, char **argv)
+ {
+ /* Intimidate the compiler so that it does not
+ optimize the arrays away. */
+ char *p = argv[0];
+ ascii_mm[1] = *p++; ebcdic_mm[1] = *p++;
+ ascii_ii[1] = *p++; ebcdic_ii[1] = *p++;
+ return use_ascii (argc) == use_ebcdic (*p);
+ }
_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if ac_fn_c_try_link "$LINENO"
then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then
ac_cv_c_bigendian=yes
fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
@@ -24501,9 +26845,10 @@ then :
fi
fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
@@ -24526,14 +26871,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_c_bigendian=no
-else $as_nop
- ac_cv_c_bigendian=yes
+else case e in #(
+ e) ac_cv_c_bigendian=yes ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- fi
+ fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
printf "%s\n" "$ac_cv_c_bigendian" >&6; }
@@ -24555,12 +26903,164 @@ printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+printf %s "checking where to find the exponent in a 'long double'... " >&6; }
+if test ${gl_cv_cc_long_double_expbit0+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test "$cross_compiling" = yes
+then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+ case "$host_os" in
+ mingw* | windows*)
+ # On native Windows (little-endian), we know the result
+ # in two cases: mingw, MSVC.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __MINGW32__
+ Known
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
+then :
+ gl_cv_cc_long_double_expbit0="word 2 bit 0"
+fi
+rm -rf conftest*
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _MSC_VER
+ Known
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
+then :
+ gl_cv_cc_long_double_expbit0="word 1 bit 20"
+fi
+rm -rf conftest*
+
+ ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double *x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = *x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ static long double samples[5] = { 0.25L, 0.5L, 1.0L, 2.0L, 4.0L };
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ for (j = 0; j < 5; j++)
+ add_to_ored_words (&samples[j]);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else case e in #(
+ e) gl_cv_cc_long_double_expbit0="unknown" ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ rm -f conftest.out
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+printf "%s\n" "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+printf "%s\n" "#define LDBL_EXPBIT0_WORD $word" >>confdefs.h
+
+
+printf "%s\n" "#define LDBL_EXPBIT0_BIT $bit" >>confdefs.h
+
+ ;;
+ esac
+
+
HAVE_ISWBLANK=1;
HAVE_WCTYPE_T=1;
HAVE_WCTRANS_T=1;
REPLACE_ISWBLANK=0;
REPLACE_ISWDIGIT=0;
+ REPLACE_ISWPUNCT=0;
REPLACE_ISWXDIGIT=0;
+ REPLACE_WCTRANS=0;
+ REPLACE_WCTYPE=0;
@@ -24613,8 +27113,8 @@ printf %s "checking absolute name of <wctype.h>... " >&6; }
if test ${gl_cv_next_wctype_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_wctype_h = yes; then
@@ -24630,7 +27130,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -24656,7 +27156,8 @@ _ACEOF
gl_cv_next_wctype_h='<'wctype.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5
printf "%s\n" "$gl_cv_next_wctype_h" >&6; }
@@ -24682,8 +27183,8 @@ printf %s "checking whether iswcntrl works... " >&6; }
if test ${gl_cv_func_iswcntrl_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -24703,13 +27204,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_iswcntrl_works="guessing yes"
-else $as_nop
- gl_cv_func_iswcntrl_works="guessing no"
+else case e in #(
+ e) gl_cv_func_iswcntrl_works="guessing no" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
@@ -24720,14 +27222,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_iswcntrl_works=yes
-else $as_nop
- gl_cv_func_iswcntrl_works=no
+else case e in #(
+ e) gl_cv_func_iswcntrl_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5
printf "%s\n" "$gl_cv_func_iswcntrl_works" >&6; }
@@ -24774,8 +27279,9 @@ fi
if test "x$ac_cv_have_decl_towlower" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_TOWLOWER $ac_have_decl" >>confdefs.h
@@ -24797,8 +27303,8 @@ printf %s "checking for wctype_t... " >&6; }
if test ${gl_cv_type_wctype_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
#if HAVE_WCTYPE_H
@@ -24817,11 +27323,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_type_wctype_t=yes
-else $as_nop
- gl_cv_type_wctype_t=no
+else case e in #(
+ e) gl_cv_type_wctype_t=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5
printf "%s\n" "$gl_cv_type_wctype_t" >&6; }
@@ -24834,8 +27342,8 @@ printf %s "checking for wctrans_t... " >&6; }
if test ${gl_cv_type_wctrans_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
#include <wctype.h>
@@ -24852,11 +27360,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_type_wctrans_t=yes
-else $as_nop
- gl_cv_type_wctrans_t=no
+else case e in #(
+ e) gl_cv_type_wctrans_t=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5
printf "%s\n" "$gl_cv_type_wctrans_t" >&6; }
@@ -24870,7 +27380,6 @@ printf "%s\n" "$gl_cv_type_wctrans_t" >&6; }
-
GL_GNULIB_ISWBLANK=0
@@ -24879,6 +27388,10 @@ printf "%s\n" "$gl_cv_type_wctrans_t" >&6; }
+ GL_GNULIB_ISWPUNCT=0
+
+
+
GL_GNULIB_ISWXDIGIT=0
@@ -24900,606 +27413,6 @@ printf "%s\n" "$gl_cv_type_wctrans_t" >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-printf %s "checking for nl_langinfo and CODESET... " >&6; }
-if test ${am_cv_langinfo_codeset+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <langinfo.h>
-int
-main (void)
-{
-char* cs = nl_langinfo(CODESET); return !cs;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- am_cv_langinfo_codeset=yes
-else $as_nop
- am_cv_langinfo_codeset=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
-printf "%s\n" "$am_cv_langinfo_codeset" >&6; }
- if test $am_cv_langinfo_codeset = yes; then
-
-printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
-
- fi
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
-
-
HAVE_NL_LANGINFO=1;
REPLACE_NL_LANGINFO=0;
@@ -25526,8 +27439,8 @@ printf %s "checking absolute name of <langinfo.h>... " >&6; }
if test ${gl_cv_next_langinfo_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_langinfo_h = yes; then
@@ -25543,7 +27456,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -25569,7 +27482,8 @@ _ACEOF
gl_cv_next_langinfo_h='<'langinfo.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
printf "%s\n" "$gl_cv_next_langinfo_h" >&6; }
@@ -25602,8 +27516,8 @@ printf %s "checking whether langinfo.h defines CODESET... " >&6; }
if test ${gl_cv_header_langinfo_codeset+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int a = CODESET;
@@ -25619,11 +27533,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_langinfo_codeset=yes
-else $as_nop
- gl_cv_header_langinfo_codeset=no
+else case e in #(
+ e) gl_cv_header_langinfo_codeset=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
printf "%s\n" "$gl_cv_header_langinfo_codeset" >&6; }
@@ -25635,8 +27551,8 @@ printf %s "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
if test ${gl_cv_header_langinfo_t_fmt_ampm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int a = T_FMT_AMPM;
@@ -25652,11 +27568,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_langinfo_t_fmt_ampm=yes
-else $as_nop
- gl_cv_header_langinfo_t_fmt_ampm=no
+else case e in #(
+ e) gl_cv_header_langinfo_t_fmt_ampm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
printf "%s\n" "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
@@ -25668,8 +27586,8 @@ printf %s "checking whether langinfo.h defines ALTMON_1... " >&6; }
if test ${gl_cv_header_langinfo_altmon+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int a = ALTMON_1;
@@ -25685,11 +27603,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_langinfo_altmon=yes
-else $as_nop
- gl_cv_header_langinfo_altmon=no
+else case e in #(
+ e) gl_cv_header_langinfo_altmon=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_altmon" >&5
printf "%s\n" "$gl_cv_header_langinfo_altmon" >&6; }
@@ -25701,8 +27621,8 @@ printf %s "checking whether langinfo.h defines ERA... " >&6; }
if test ${gl_cv_header_langinfo_era+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int a = ERA;
@@ -25718,11 +27638,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_langinfo_era=yes
-else $as_nop
- gl_cv_header_langinfo_era=no
+else case e in #(
+ e) gl_cv_header_langinfo_era=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
printf "%s\n" "$gl_cv_header_langinfo_era" >&6; }
@@ -25734,8 +27656,8 @@ printf %s "checking whether langinfo.h defines YESEXPR... " >&6; }
if test ${gl_cv_header_langinfo_yesexpr+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int a = YESEXPR;
@@ -25751,11 +27673,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_langinfo_yesexpr=yes
-else $as_nop
- gl_cv_header_langinfo_yesexpr=no
+else case e in #(
+ e) gl_cv_header_langinfo_yesexpr=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
printf "%s\n" "$gl_cv_header_langinfo_yesexpr" >&6; }
@@ -25805,8 +27729,8 @@ printf %s "checking for wchar_t... " >&6; }
if test ${gt_cv_c_wchar_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
wchar_t foo = (wchar_t)'\0';
@@ -25821,10 +27745,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gt_cv_c_wchar_t=yes
-else $as_nop
- gt_cv_c_wchar_t=no
+else case e in #(
+ e) gt_cv_c_wchar_t=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
printf "%s\n" "$gt_cv_c_wchar_t" >&6; }
@@ -25847,10 +27773,17 @@ printf %s "checking for good max_align_t... " >&6; }
if test ${gl_cv_type_max_align_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stddef.h>
+/* On FreeBSD 12.0/x86, max_align_t defined by <stddef.h> has
+ the correct alignment with the default (wrong) definition of
+ _Alignof, but a wrong alignment as soon as we activate an
+ ISO C compliant _Alignof definition. */
+ #if ((defined __GNUC__ && 4 <= __GNUC__) || defined __clang__) && !defined __cplusplus
+ #define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b)
+ #endif
+ #include <stddef.h>
unsigned int s = sizeof (max_align_t);
#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__
int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
@@ -25875,11 +27808,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_type_max_align_t=yes
-else $as_nop
- gl_cv_type_max_align_t=no
+else case e in #(
+ e) gl_cv_type_max_align_t=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_max_align_t" >&5
printf "%s\n" "$gl_cv_type_max_align_t" >&6; }
@@ -25898,8 +27833,8 @@ printf %s "checking whether NULL can be used in arbitrary expressions... " >&6;
if test ${gl_cv_decl_null_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
int test[2 * (sizeof NULL == sizeof (void *)) -1];
@@ -25915,10 +27850,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_decl_null_works=yes
-else $as_nop
- gl_cv_decl_null_works=no
+else case e in #(
+ e) gl_cv_decl_null_works=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
printf "%s\n" "$gl_cv_decl_null_works" >&6; }
@@ -25927,6 +27864,43 @@ printf "%s\n" "$gl_cv_decl_null_works" >&6; }
GL_GENERATE_STDDEF_H=true
fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for unreachable" >&5
+printf %s "checking for unreachable... " >&6; }
+if test ${gl_cv_func_unreachable+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+
+int
+main (void)
+{
+unreachable ();
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ gl_cv_func_unreachable=yes
+else case e in #(
+ e) gl_cv_func_unreachable=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unreachable" >&5
+printf "%s\n" "$gl_cv_func_unreachable" >&6; }
+ if test $gl_cv_func_unreachable = no; then
+ GL_GENERATE_STDDEF_H=true
+ fi
+
if $GL_GENERATE_STDDEF_H; then
@@ -25944,8 +27918,8 @@ printf %s "checking absolute name of <stddef.h>... " >&6; }
if test ${gl_cv_next_stddef_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -25958,7 +27932,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -25981,7 +27955,8 @@ _ACEOF
gl_header=$gl_cv_absolute_stddef_h
gl_cv_next_stddef_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
printf "%s\n" "$gl_cv_next_stddef_h" >&6; }
@@ -26011,8 +27986,8 @@ printf %s "checking whether locale.h defines locale_t... " >&6; }
if test ${gl_cv_header_locale_has_locale_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
locale_t x;
@@ -26027,11 +28002,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_locale_has_locale_t=yes
-else $as_nop
- gl_cv_header_locale_has_locale_t=no
+else case e in #(
+ e) gl_cv_header_locale_has_locale_t=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
printf "%s\n" "$gl_cv_header_locale_has_locale_t" >&6; }
@@ -26079,8 +28056,8 @@ printf %s "checking whether locale.h conforms to POSIX:2001... " >&6; }
if test ${gl_cv_header_locale_h_posix2001+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
int x = LC_MESSAGES;
@@ -26096,10 +28073,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_locale_h_posix2001=yes
-else $as_nop
- gl_cv_header_locale_h_posix2001=no
+else case e in #(
+ e) gl_cv_header_locale_h_posix2001=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
printf "%s\n" "$gl_cv_header_locale_h_posix2001" >&6; }
@@ -26109,8 +28088,8 @@ printf %s "checking whether struct lconv is properly defined... " >&6; }
if test ${gl_cv_sys_struct_lconv_ok+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
struct lconv l;
@@ -26127,17 +28106,21 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_lconv_ok=yes
-else $as_nop
- gl_cv_sys_struct_lconv_ok=no
+else case e in #(
+ e) gl_cv_sys_struct_lconv_ok=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5
printf "%s\n" "$gl_cv_sys_struct_lconv_ok" >&6; }
if test $gl_cv_sys_struct_lconv_ok = no; then
case "$host_os" in
- mingw*)
+ windows*-msvc*)
+ ;;
+ mingw* | windows*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -26147,11 +28130,12 @@ printf "%s\n" "$gl_cv_sys_struct_lconv_ok" >&6; }
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Special" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Special" >/dev/null 2>&1
then :
-else $as_nop
- REPLACE_STRUCT_LCONV=1
+else case e in #(
+ e) REPLACE_STRUCT_LCONV=1 ;;
+esac
fi
rm -rf conftest*
@@ -26176,8 +28160,8 @@ printf %s "checking absolute name of <locale.h>... " >&6; }
if test ${gl_cv_next_locale_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26190,7 +28174,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -26213,7 +28197,8 @@ _ACEOF
gl_header=$gl_cv_absolute_locale_h
gl_cv_next_locale_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
printf "%s\n" "$gl_cv_next_locale_h" >&6; }
@@ -26255,7 +28240,7 @@ printf "%s\n" "$gl_cv_next_locale_h" >&6; }
- GL_GNULIB_LOCALENAME=0
+ GL_GNULIB_LOCALENAME_UNSAFE=0
@@ -26265,8 +28250,8 @@ printf %s "checking for LC_MESSAGES... " >&6; }
if test ${gt_cv_val_LC_MESSAGES+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
int
@@ -26280,11 +28265,13 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gt_cv_val_LC_MESSAGES=yes
-else $as_nop
- gt_cv_val_LC_MESSAGES=no
+else case e in #(
+ e) gt_cv_val_LC_MESSAGES=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5
printf "%s\n" "$gt_cv_val_LC_MESSAGES" >&6; }
@@ -26305,6 +28292,73 @@ printf "%s\n" "#define HAVE_LC_MESSAGES 1" >>confdefs.h
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uselocale" >&5
+printf %s "checking for uselocale... " >&6; }
+if test ${gl_cv_onwards_func_uselocale+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "uselocale" "ac_cv_have_decl_uselocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_uselocale" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_uselocale = yes; then
+ ac_fn_c_check_func "$LINENO" "uselocale" "ac_cv_func_uselocale"
+if test "x$ac_cv_func_uselocale" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_uselocale = yes; then
+ gl_cv_onwards_func_uselocale=yes
+ else
+ gl_cv_onwards_func_uselocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_uselocale='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "uselocale" "ac_cv_func_uselocale"
+if test "x$ac_cv_func_uselocale" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_uselocale=$ac_cv_func_uselocale
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_uselocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_uselocale" >&6; }
+
+ case "$gl_cv_onwards_func_uselocale" in
+ future*) ac_cv_func_uselocale=no ;;
+ *) ac_cv_func_uselocale=$gl_cv_onwards_func_uselocale ;;
+ esac
+ if test $ac_cv_func_uselocale = yes; then
+
+printf "%s\n" "#define HAVE_USELOCALE 1" >>confdefs.h
+
+ fi
+
+
if test $ac_cv_func_uselocale = yes; then
@@ -26313,8 +28367,8 @@ printf %s "checking whether uselocale works... " >&6; }
if test ${gt_cv_func_uselocale_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
# Guess no on AIX and z/OS, yes otherwise.
case "$host_os" in
@@ -26322,8 +28376,8 @@ then :
*) gt_cv_func_uselocale_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -26341,14 +28395,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gt_cv_func_uselocale_works=yes
-else $as_nop
- gt_cv_func_uselocale_works=no
+else case e in #(
+ e) gt_cv_func_uselocale_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_uselocale_works" >&5
printf "%s\n" "$gt_cv_func_uselocale_works" >&6; }
@@ -26368,7 +28425,7 @@ printf "%s\n" "#define HAVE_WORKING_USELOCALE 1" >>confdefs.h
esac
- case "$gt_cv_func_uselocale_works" in
+ case "$gt_cv_func_uselocale_works" in
*yes)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fake locale system (OpenBSD)" >&5
@@ -26376,16 +28433,16 @@ printf %s "checking for fake locale system (OpenBSD)... " >&6; }
if test ${gt_cv_locale_fake+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
openbsd*) gt_cv_locale_fake="guessing yes" ;;
*) gt_cv_locale_fake="guessing no" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -26405,14 +28462,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gt_cv_locale_fake=yes
-else $as_nop
- gt_cv_locale_fake=no
+else case e in #(
+ e) gt_cv_locale_fake=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fake" >&5
printf "%s\n" "$gt_cv_locale_fake" >&6; }
@@ -26431,15 +28491,15 @@ printf "%s\n" "#define HAVE_FAKE_LOCALES 1" >>confdefs.h
;;
esac
- case "$gt_cv_func_uselocale_works" in
+ case "$gt_cv_func_uselocale_works" in
*yes)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solaris 11.4 locale system" >&5
printf %s "checking for Solaris 11.4 locale system... " >&6; }
if test ${gt_cv_locale_solaris114+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
+else case e in #(
+ e) case "$host_os" in
solaris*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -26459,14 +28519,16 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gt_cv_locale_solaris114=yes
-else $as_nop
- gt_cv_locale_solaris114=no
+else case e in #(
+ e) gt_cv_locale_solaris114=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
;;
*) gt_cv_locale_solaris114=no ;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_solaris114" >&5
printf "%s\n" "$gt_cv_locale_solaris114" >&6; }
@@ -26491,17 +28553,57 @@ fi
;;
esac
- gt_nameless_locales=no
+ gt_nameless_locales=no
case "$host_os" in
aix*)
gt_nameless_locales=yes
printf "%s\n" "#define HAVE_NAMELESS_LOCALES 1" >>confdefs.h
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AIX locales with LC_MESSAGES name" >&5
+printf %s "checking for AIX locales with LC_MESSAGES name... " >&6; }
+if test ${gt_cv_locale_aix72+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <locale.h>
+ /* Include <sys/localedef.h>, which defines __locale_t. */
+ #include <stdlib.h>
+ locale_t x;
+
+int
+main (void)
+{
+return ((__locale_t) x)->locale_name[0];
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gt_cv_locale_aix72=yes
+else case e in #(
+ e) gt_cv_locale_aix72=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_aix72" >&5
+printf "%s\n" "$gt_cv_locale_aix72" >&6; }
+ if test $gt_cv_locale_aix72 = yes; then
+
+printf "%s\n" "#define HAVE_AIX72_LOCALES 1" >>confdefs.h
+
+ fi
;;
esac
- if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then
+ if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then
gt_good_uselocale=yes
printf "%s\n" "#define HAVE_GOOD_USELOCALE 1" >>confdefs.h
@@ -26510,7 +28612,7 @@ printf "%s\n" "#define HAVE_GOOD_USELOCALE 1" >>confdefs.h
gt_good_uselocale=no
fi
- if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then
+ if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then
gt_localename_enhances_locale_funcs=yes
LOCALENAME_ENHANCE_LOCALE_FUNCS=1
@@ -26526,8 +28628,8 @@ printf %s "checking for CFPreferencesCopyAppValue... " >&6; }
if test ${gt_cv_func_CFPreferencesCopyAppValue+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gt_save_LIBS="$LIBS"
+else case e in #(
+ e) gt_saved_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -26543,12 +28645,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gt_cv_func_CFPreferencesCopyAppValue=yes
-else $as_nop
- gt_cv_func_CFPreferencesCopyAppValue=no
+else case e in #(
+ e) gt_cv_func_CFPreferencesCopyAppValue=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$gt_save_LIBS"
+ LIBS="$gt_saved_LIBS" ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
@@ -26562,8 +28666,8 @@ printf %s "checking for CFLocaleCopyPreferredLanguages... " >&6; }
if test ${gt_cv_func_CFLocaleCopyPreferredLanguages+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gt_save_LIBS="$LIBS"
+else case e in #(
+ e) gt_saved_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -26579,12 +28683,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gt_cv_func_CFLocaleCopyPreferredLanguages=yes
-else $as_nop
- gt_cv_func_CFLocaleCopyPreferredLanguages=no
+else case e in #(
+ e) gt_cv_func_CFLocaleCopyPreferredLanguages=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$gt_save_LIBS"
+ LIBS="$gt_saved_LIBS" ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5
printf "%s\n" "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; }
@@ -26596,12 +28702,19 @@ printf "%s\n" "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
INTL_MACOSX_LIBS=
if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
|| test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices"
fi
+ case "$host_os" in
+ *-musl* | midipix*)
+
+printf "%s\n" "#define MUSL_LIBC 1" >>confdefs.h
+
+ ;;
+ esac
@@ -26618,10 +28731,10 @@ printf %s "checking whether imported symbols can be declared weak... " >&6; }
if test ${gl_cv_have_weak+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
- cygwin*)
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) case "$host_os" in
+ cygwin* | mingw* | windows*)
+ gl_cv_have_weak="guessing no"
;;
*)
gl_cv_have_weak=no
@@ -26654,17 +28767,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Extensible Linking Format" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1
then :
gl_cv_have_weak="guessing yes"
-else $as_nop
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) gl_cv_have_weak="guessing no" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -26677,11 +28791,13 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_have_weak=yes
-else $as_nop
- gl_cv_have_weak=no
+else case e in #(
+ e) gl_cv_have_weak=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
@@ -26711,7 +28827,8 @@ EOF
esac
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5
printf "%s\n" "$gl_cv_have_weak" >&6; }
@@ -26746,8 +28863,9 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h
if test "x$ac_cv_header_pthread_h" = xyes
then :
gl_have_pthread_h=yes
-else $as_nop
- gl_have_pthread_h=no
+else case e in #(
+ e) gl_have_pthread_h=no ;;
+esac
fi
if test "$gl_have_pthread_h" = yes; then
@@ -26761,7 +28879,7 @@ fi
# If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
# needs -pthread for some reason. See:
# https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
- save_LIBS=$LIBS
+ saved_LIBS="$LIBS"
for gl_pthread in '' '-pthread'; do
LIBS="$LIBS $gl_pthread"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26787,11 +28905,11 @@ then :
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS=$save_LIBS
+ LIBS="$saved_LIBS"
test $gl_pthread_api = yes && break
done
- echo "$as_me:26793: gl_pthread_api=$gl_pthread_api" >&5
- echo "$as_me:26794: LIBPTHREAD=$LIBPTHREAD" >&5
+ echo "$as_me:28911: gl_pthread_api=$gl_pthread_api" >&5
+ echo "$as_me:28912: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
@@ -26809,7 +28927,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky user" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
then :
gl_pthread_in_glibc=yes
fi
@@ -26817,7 +28935,7 @@ rm -rf conftest*
;;
esac
- echo "$as_me:26820: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+ echo "$as_me:28938: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
@@ -26829,16 +28947,22 @@ printf %s "checking for pthread_kill in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -26850,12 +28974,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_kill=yes
-else $as_nop
- ac_cv_lib_pthread_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_pthread_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; }
@@ -26872,13 +28998,69 @@ then :
# On Solaris 10 or newer, this test is no longer needed, because
# libc contains the fully functional pthread functions.
case "$host_os" in
- solaris | solaris2.1-9 | solaris2.1-9.* | hpux*)
+ solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
esac
fi
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lthr" >&5
+printf %s "checking for pthread_kill in -lthr... " >&6; }
+if test ${ac_cv_lib_thr_pthread_kill+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
+LIBS="-lthr $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
+int
+main (void)
+{
+return pthread_kill ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_thr_pthread_kill=yes
+else case e in #(
+ e) ac_cv_lib_thr_pthread_kill=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_thr_pthread_kill" >&5
+printf "%s\n" "$ac_cv_lib_thr_pthread_kill" >&6; }
+if test "x$ac_cv_lib_thr_pthread_kill" = xyes
+then :
+ if test $gl_pthread_in_glibc = yes; then
+ LIBPMULTITHREAD=
+ else
+ LIBPMULTITHREAD=-lthr
+ fi
+
+fi
+
+ ;;
+esac
fi
elif test $gl_pthread_api != yes; then
@@ -26888,16 +29070,22 @@ printf %s "checking for pthread_kill in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -26909,12 +29097,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_kill=yes
-else $as_nop
- ac_cv_lib_pthread_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_pthread_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; }
@@ -26932,16 +29122,22 @@ printf %s "checking for pthread_kill in -lc_r... " >&6; }
if test ${ac_cv_lib_c_r_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lc_r $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -26953,12 +29149,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_c_r_pthread_kill=yes
-else $as_nop
- ac_cv_lib_c_r_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_c_r_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; }
@@ -26971,7 +29169,7 @@ fi
fi
fi
- echo "$as_me:26974: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+ echo "$as_me:29172: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -26998,24 +29196,30 @@ sched_yield ();
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
- LIB_SCHED_YIELD=
+ SCHED_YIELD_LIB=
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
printf %s "checking for sched_yield in -lrt... " >&6; }
if test ${ac_cv_lib_rt_sched_yield+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lrt $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char sched_yield ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield (void);
int
main (void)
{
@@ -27027,34 +29231,42 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_rt_sched_yield=yes
-else $as_nop
- ac_cv_lib_rt_sched_yield=no
+else case e in #(
+ e) ac_cv_lib_rt_sched_yield=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; }
if test "x$ac_cv_lib_rt_sched_yield" = xyes
then :
- LIB_SCHED_YIELD=-lrt
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
+ SCHED_YIELD_LIB=-lrt
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
printf %s "checking for sched_yield in -lposix4... " >&6; }
if test ${ac_cv_lib_posix4_sched_yield+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lposix4 $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char sched_yield ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield (void);
int
main (void)
{
@@ -27066,27 +29278,33 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_posix4_sched_yield=yes
-else $as_nop
- ac_cv_lib_posix4_sched_yield=no
+else case e in #(
+ e) ac_cv_lib_posix4_sched_yield=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; }
if test "x$ac_cv_lib_posix4_sched_yield" = xyes
then :
- LIB_SCHED_YIELD=-lposix4
+ SCHED_YIELD_LIB=-lposix4
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
+ LIB_SCHED_YIELD="$SCHED_YIELD_LIB"
+
gl_pthreadlib_body_done=done
fi
@@ -27139,7 +29357,7 @@ printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
case "$host_os" in
- mingw*)
+ mingw* | windows*)
LIBSTDTHREAD=
;;
*)
@@ -27155,8 +29373,9 @@ printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
if test "x$ac_cv_header_pthread_h" = xyes
then :
gl_have_pthread_h=yes
-else $as_nop
- gl_have_pthread_h=no
+else case e in #(
+ e) gl_have_pthread_h=no ;;
+esac
fi
if test "$gl_have_pthread_h" = yes; then
@@ -27170,7 +29389,7 @@ fi
# If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
# needs -pthread for some reason. See:
# https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
- save_LIBS=$LIBS
+ saved_LIBS="$LIBS"
for gl_pthread in '' '-pthread'; do
LIBS="$LIBS $gl_pthread"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27196,11 +29415,11 @@ then :
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS=$save_LIBS
+ LIBS="$saved_LIBS"
test $gl_pthread_api = yes && break
done
- echo "$as_me:27202: gl_pthread_api=$gl_pthread_api" >&5
- echo "$as_me:27203: LIBPTHREAD=$LIBPTHREAD" >&5
+ echo "$as_me:29421: gl_pthread_api=$gl_pthread_api" >&5
+ echo "$as_me:29422: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
@@ -27218,7 +29437,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky user" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
then :
gl_pthread_in_glibc=yes
fi
@@ -27226,7 +29445,7 @@ rm -rf conftest*
;;
esac
- echo "$as_me:27229: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+ echo "$as_me:29448: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
@@ -27238,16 +29457,22 @@ printf %s "checking for pthread_kill in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -27259,12 +29484,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_kill=yes
-else $as_nop
- ac_cv_lib_pthread_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_pthread_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; }
@@ -27281,13 +29508,69 @@ then :
# On Solaris 10 or newer, this test is no longer needed, because
# libc contains the fully functional pthread functions.
case "$host_os" in
- solaris | solaris2.1-9 | solaris2.1-9.* | hpux*)
+ solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
esac
fi
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lthr" >&5
+printf %s "checking for pthread_kill in -lthr... " >&6; }
+if test ${ac_cv_lib_thr_pthread_kill+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
+LIBS="-lthr $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
+int
+main (void)
+{
+return pthread_kill ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_thr_pthread_kill=yes
+else case e in #(
+ e) ac_cv_lib_thr_pthread_kill=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_thr_pthread_kill" >&5
+printf "%s\n" "$ac_cv_lib_thr_pthread_kill" >&6; }
+if test "x$ac_cv_lib_thr_pthread_kill" = xyes
+then :
+ if test $gl_pthread_in_glibc = yes; then
+ LIBPMULTITHREAD=
+ else
+ LIBPMULTITHREAD=-lthr
+ fi
+
+fi
+
+ ;;
+esac
fi
elif test $gl_pthread_api != yes; then
@@ -27297,16 +29580,22 @@ printf %s "checking for pthread_kill in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -27318,12 +29607,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_pthread_pthread_kill=yes
-else $as_nop
- ac_cv_lib_pthread_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_pthread_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_kill" >&6; }
@@ -27341,16 +29632,22 @@ printf %s "checking for pthread_kill in -lc_r... " >&6; }
if test ${ac_cv_lib_c_r_pthread_kill+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lc_r $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char pthread_kill ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill (void);
int
main (void)
{
@@ -27362,12 +29659,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_c_r_pthread_kill=yes
-else $as_nop
- ac_cv_lib_c_r_pthread_kill=no
+else case e in #(
+ e) ac_cv_lib_c_r_pthread_kill=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5
printf "%s\n" "$ac_cv_lib_c_r_pthread_kill" >&6; }
@@ -27380,7 +29679,7 @@ fi
fi
fi
- echo "$as_me:27383: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+ echo "$as_me:29682: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -27407,24 +29706,30 @@ sched_yield ();
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
- LIB_SCHED_YIELD=
+ SCHED_YIELD_LIB=
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
printf %s "checking for sched_yield in -lrt... " >&6; }
if test ${ac_cv_lib_rt_sched_yield+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lrt $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char sched_yield ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield (void);
int
main (void)
{
@@ -27436,34 +29741,42 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_rt_sched_yield=yes
-else $as_nop
- ac_cv_lib_rt_sched_yield=no
+else case e in #(
+ e) ac_cv_lib_rt_sched_yield=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; }
if test "x$ac_cv_lib_rt_sched_yield" = xyes
then :
- LIB_SCHED_YIELD=-lrt
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
+ SCHED_YIELD_LIB=-lrt
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
printf %s "checking for sched_yield in -lposix4... " >&6; }
if test ${ac_cv_lib_posix4_sched_yield+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lposix4 $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char sched_yield ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield (void);
int
main (void)
{
@@ -27475,39 +29788,107 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_posix4_sched_yield=yes
-else $as_nop
- ac_cv_lib_posix4_sched_yield=no
+else case e in #(
+ e) ac_cv_lib_posix4_sched_yield=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; }
if test "x$ac_cv_lib_posix4_sched_yield" = xyes
then :
- LIB_SCHED_YIELD=-lposix4
+ SCHED_YIELD_LIB=-lposix4
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
+ LIB_SCHED_YIELD="$SCHED_YIELD_LIB"
+
gl_pthreadlib_body_done=done
fi
if test $ac_cv_header_threads_h = yes; then
- ac_fn_c_check_func "$LINENO" "thrd_create" "ac_cv_func_thrd_create"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thrd_create" >&5
+printf %s "checking for thrd_create... " >&6; }
+if test ${gl_cv_onwards_func_thrd_create+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "thrd_create" "ac_cv_have_decl_thrd_create" "#include <threads.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_thrd_create" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_thrd_create = yes; then
+ ac_fn_c_check_func "$LINENO" "thrd_create" "ac_cv_func_thrd_create"
if test "x$ac_cv_func_thrd_create" = xyes
then :
- printf "%s\n" "#define HAVE_THRD_CREATE 1" >>confdefs.h
fi
+ if test $ac_cv_func_thrd_create = yes; then
+ gl_cv_onwards_func_thrd_create=yes
+ else
+ gl_cv_onwards_func_thrd_create='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_thrd_create='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "thrd_create" "ac_cv_func_thrd_create"
+if test "x$ac_cv_func_thrd_create" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_thrd_create=$ac_cv_func_thrd_create
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_thrd_create" >&5
+printf "%s\n" "$gl_cv_onwards_func_thrd_create" >&6; }
+
+ case "$gl_cv_onwards_func_thrd_create" in
+ future*) ac_cv_func_thrd_create=no ;;
+ *) ac_cv_func_thrd_create=$gl_cv_onwards_func_thrd_create ;;
+ esac
+ if test $ac_cv_func_thrd_create = yes; then
+
+printf "%s\n" "#define HAVE_THRD_CREATE 1" >>confdefs.h
+
+ fi
+
+
if test $ac_cv_func_thrd_create = yes; then
LIBSTDTHREAD=
else
@@ -27516,16 +29897,22 @@ printf %s "checking for thrd_create in -lstdthreads... " >&6; }
if test ${ac_cv_lib_stdthreads_thrd_create+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
LIBS="-lstdthreads $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char thrd_create ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char thrd_create (void);
int
main (void)
{
@@ -27537,12 +29924,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_stdthreads_thrd_create=yes
-else $as_nop
- ac_cv_lib_stdthreads_thrd_create=no
+else case e in #(
+ e) ac_cv_lib_stdthreads_thrd_create=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_stdthreads_thrd_create" >&5
printf "%s\n" "$ac_cv_lib_stdthreads_thrd_create" >&6; }
@@ -27551,15 +29940,16 @@ then :
LIBSTDTHREAD='-lstdthreads -lpthread'
-else $as_nop
-
+else case e in #(
+ e)
LIBSTDTHREAD="$LIBPMULTITHREAD"
-
+ ;;
+esac
fi
fi
else
- LIBSTDTHREAD="$LIBPMULTITHREAD $LIB_SCHED_YIELD"
+ LIBSTDTHREAD="$LIBPMULTITHREAD $SCHED_YIELD_LIB"
fi
;;
esac
@@ -27584,7 +29974,7 @@ printf "%s\n" "#define USE_ISOC_THREADS 1" >>confdefs.h
case "$gl_use_threads" in
yes | windows | win32) # The 'win32' is for backward compatibility.
if { case "$host_os" in
- mingw*) true;;
+ mingw* | windows*) true;;
*) false;;
esac
}; then
@@ -27596,6 +29986,10 @@ printf "%s\n" "#define USE_WINDOWS_THREADS 1" >>confdefs.h
;;
esac
fi
+ else
+
+printf "%s\n" "#define AVOID_ANY_THREADS 1" >>confdefs.h
+
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5
printf %s "checking for multithread API to use... " >&6; }
@@ -27616,8 +30010,8 @@ printf %s "checking whether malloc is ptrdiff_t safe... " >&6; }
if test ${gl_cv_malloc_ptrdiff+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdint.h>
@@ -27651,11 +30045,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_malloc_ptrdiff=yes
-else $as_nop
- gl_cv_malloc_ptrdiff=no
+else case e in #(
+ e) gl_cv_malloc_ptrdiff=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_malloc_ptrdiff" >&5
printf "%s\n" "$gl_cv_malloc_ptrdiff" >&6; }
@@ -27672,10 +30068,10 @@ printf %s "checking whether malloc, realloc, calloc set errno on failure... " >&
if test ${gl_cv_func_malloc_posix+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_cv_func_malloc_posix=no ;;
irix* | solaris*)
@@ -27683,7 +30079,8 @@ else $as_nop
*)
gl_cv_func_malloc_posix=yes ;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5
printf "%s\n" "$gl_cv_func_malloc_posix" >&6; }
@@ -27707,21 +30104,21 @@ printf %s "checking whether malloc (0) returns nonnull... " >&6; }
if test ${ac_cv_func_malloc_0_nonnull+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on platforms where we know the result.
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | msys* )
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
ac_cv_func_malloc_0_nonnull="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -27729,7 +30126,8 @@ int
main (void)
{
void *p = malloc (0);
- int result = !p;
+ void * volatile vp = p;
+ int result = !vp;
free (p);
return result;
;
@@ -27740,14 +30138,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_func_malloc_0_nonnull=yes
-else $as_nop
- ac_cv_func_malloc_0_nonnull=no
+else case e in #(
+ e) ac_cv_func_malloc_0_nonnull=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; }
@@ -27782,8 +30183,8 @@ printf %s "checking absolute name of <math.h>... " >&6; }
if test ${gl_cv_next_math_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_math_h = yes; then
@@ -27799,7 +30200,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -27825,7 +30226,8 @@ _ACEOF
gl_cv_next_math_h='<'math.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_math_h" >&5
printf "%s\n" "$gl_cv_next_math_h" >&6; }
@@ -27850,8 +30252,8 @@ printf %s "checking whether NAN macro works... " >&6; }
if test ${gl_cv_header_math_nan_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
int
@@ -27872,10 +30274,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_math_nan_works=yes
-else $as_nop
- gl_cv_header_math_nan_works=no
+else case e in #(
+ e) gl_cv_header_math_nan_works=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_nan_works" >&5
printf "%s\n" "$gl_cv_header_math_nan_works" >&6; }
@@ -27887,8 +30291,8 @@ printf %s "checking whether HUGE_VAL works... " >&6; }
if test ${gl_cv_header_math_huge_val_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
int
@@ -27904,10 +30308,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_math_huge_val_works=yes
-else $as_nop
- gl_cv_header_math_huge_val_works=no
+else case e in #(
+ e) gl_cv_header_math_huge_val_works=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_huge_val_works" >&5
printf "%s\n" "$gl_cv_header_math_huge_val_works" >&6; }
@@ -27921,107 +30327,6 @@ printf "%s\n" "$gl_cv_header_math_huge_val_works" >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
-printf %s "checking for mbstate_t... " >&6; }
-if test ${ac_cv_type_mbstate_t+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
- #include <wchar.h>
-int
-main (void)
-{
-mbstate_t x; return sizeof x;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_type_mbstate_t=yes
-else $as_nop
- ac_cv_type_mbstate_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5
-printf "%s\n" "$ac_cv_type_mbstate_t" >&6; }
- if test $ac_cv_type_mbstate_t = yes; then
-
-printf "%s\n" "#define HAVE_MBSTATE_T 1" >>confdefs.h
-
- else
-
-printf "%s\n" "#define mbstate_t int" >>confdefs.h
-
- fi
-
-
- HAVE_BTOWC=1;
- HAVE_MBSINIT=1;
- HAVE_MBRTOWC=1;
- HAVE_MBRLEN=1;
- HAVE_MBSRTOWCS=1;
- HAVE_MBSNRTOWCS=1;
- HAVE_WCRTOMB=1;
- HAVE_WCSRTOMBS=1;
- HAVE_WCSNRTOMBS=1;
- HAVE_WMEMCHR=1;
- HAVE_WMEMCMP=1;
- HAVE_WMEMCPY=1;
- HAVE_WMEMMOVE=1;
- HAVE_WMEMPCPY=1;
- HAVE_WMEMSET=1;
- HAVE_WCSLEN=1;
- HAVE_WCSNLEN=1;
- HAVE_WCSCPY=1;
- HAVE_WCPCPY=1;
- HAVE_WCSNCPY=1;
- HAVE_WCPNCPY=1;
- HAVE_WCSCAT=1;
- HAVE_WCSNCAT=1;
- HAVE_WCSCMP=1;
- HAVE_WCSNCMP=1;
- HAVE_WCSCASECMP=1;
- HAVE_WCSNCASECMP=1;
- HAVE_WCSCOLL=1;
- HAVE_WCSXFRM=1;
- HAVE_WCSDUP=1;
- HAVE_WCSCHR=1;
- HAVE_WCSRCHR=1;
- HAVE_WCSCSPN=1;
- HAVE_WCSSPN=1;
- HAVE_WCSPBRK=1;
- HAVE_WCSSTR=1;
- HAVE_WCSTOK=1;
- HAVE_WCSWIDTH=1;
- HAVE_WCSFTIME=1;
- HAVE_DECL_WCTOB=1;
- HAVE_DECL_WCSDUP=1;
- HAVE_DECL_WCWIDTH=1;
- REPLACE_MBSTATE_T=0;
- REPLACE_BTOWC=0;
- REPLACE_WCTOB=0;
- REPLACE_MBSINIT=0;
- REPLACE_MBRTOWC=0;
- REPLACE_MBRLEN=0;
- REPLACE_MBSRTOWCS=0;
- REPLACE_MBSNRTOWCS=0;
- REPLACE_WCRTOMB=0;
- REPLACE_WCSRTOMBS=0;
- REPLACE_WCSNRTOMBS=0;
- REPLACE_WCWIDTH=0;
- REPLACE_WCSWIDTH=0;
- REPLACE_WCSFTIME=0;
- REPLACE_WCSTOK=0;
-
-
-
-
-
GL_GNULIB_BTOWC=0
@@ -28034,6 +30339,10 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
+ GL_GNULIB_MBSZERO=0
+
+
+
GL_GNULIB_MBRTOWC=0
@@ -28186,6 +30495,10 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
+ GL_GNULIB_WGETCWD=0
+
+
+
GL_GNULIB_MDA_WCSDUP=1
@@ -28220,6 +30533,10 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
+ GL_GNULIB_MEMSET_EXPLICIT=0
+
+
+
GL_GNULIB_RAWMEMCHR=0
@@ -28371,6 +30688,7 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
HAVE_FFSLL=1;
HAVE_DECL_MEMMEM=1;
HAVE_MEMPCPY=1;
+ HAVE_MEMSET_EXPLICIT=1;
HAVE_DECL_MEMRCHR=1;
HAVE_RAWMEMCHR=1;
HAVE_STPCPY=1;
@@ -28392,6 +30710,9 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
REPLACE_FFSLL=0;
REPLACE_MEMCHR=0;
REPLACE_MEMMEM=0;
+ REPLACE_MEMPCPY=0;
+ REPLACE_MEMSET_EXPLICIT=0;
+ REPLACE_STPCPY=0;
REPLACE_STPNCPY=0;
REPLACE_STRCHRNUL=0;
REPLACE_STRDUP=0;
@@ -28405,6 +30726,7 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
REPLACE_STRERROR_R=0;
REPLACE_STRERRORNAME_NP=0;
REPLACE_STRSIGNAL=0;
+ REPLACE_STRVERSCMP=0;
UNDEFINE_STRTOK_R=0;
@@ -28417,8 +30739,9 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h
if test "x$ac_cv_func_mmap" = xyes
then :
gl_have_mmap=yes
-else $as_nop
- gl_have_mmap=no
+else case e in #(
+ e) gl_have_mmap=no ;;
+esac
fi
@@ -28437,7 +30760,7 @@ printf %s "checking for MAP_ANONYMOUS... " >&6; }
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "I cannot identify this map" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "I cannot identify this map" >/dev/null 2>&1
then :
gl_have_mmap_anonymous=yes
fi
@@ -28454,7 +30777,7 @@ rm -rf conftest*
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "I cannot identify this map" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "I cannot identify this map" >/dev/null 2>&1
then :
printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
@@ -28496,20 +30819,20 @@ printf %s "checking whether memchr works... " >&6; }
if test ${gl_cv_func_memchr_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess no on Android.
- linux*-android*) gl_cv_func_memchr_works="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_memchr_works="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_memchr_works="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_memchr_works="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
@@ -28580,14 +30903,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_memchr_works=yes
-else $as_nop
- gl_cv_func_memchr_works=no
+else case e in #(
+ e) gl_cv_func_memchr_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5
printf "%s\n" "$gl_cv_func_memchr_works" >&6; }
@@ -28605,8 +30931,8 @@ printf %s "checking whether <limits.h> defines MIN and MAX... " >&6; }
if test ${gl_cv_minmax_in_limits_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <limits.h>
int x = MIN (42, 17);
@@ -28621,10 +30947,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_minmax_in_limits_h=yes
-else $as_nop
- gl_cv_minmax_in_limits_h=no
+else case e in #(
+ e) gl_cv_minmax_in_limits_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5
printf "%s\n" "$gl_cv_minmax_in_limits_h" >&6; }
@@ -28644,8 +30972,8 @@ printf %s "checking whether <sys/param.h> defines MIN and MAX... " >&6; }
if test ${gl_cv_minmax_in_sys_param_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/param.h>
int x = MIN (42, 17);
@@ -28660,10 +30988,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_minmax_in_sys_param_h=yes
-else $as_nop
- gl_cv_minmax_in_sys_param_h=no
+else case e in #(
+ e) gl_cv_minmax_in_sys_param_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5
printf "%s\n" "$gl_cv_minmax_in_sys_param_h" >&6; }
@@ -28688,8 +31018,9 @@ then :
RELOCATABLE=no
fi
-else $as_nop
- RELOCATABLE=no
+else case e in #(
+ e) RELOCATABLE=no ;;
+esac
fi
@@ -28720,8 +31051,9 @@ ac_fn_check_decl "$LINENO" "ecvt" "ac_cv_have_decl_ecvt" "$ac_includes_default"
if test "x$ac_cv_have_decl_ecvt" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_ECVT $ac_have_decl" >>confdefs.h
@@ -28729,8 +31061,9 @@ ac_fn_check_decl "$LINENO" "fcvt" "ac_cv_have_decl_fcvt" "$ac_includes_default"
if test "x$ac_cv_have_decl_fcvt" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_FCVT $ac_have_decl" >>confdefs.h
@@ -28738,8 +31071,9 @@ ac_fn_check_decl "$LINENO" "gcvt" "ac_cv_have_decl_gcvt" "$ac_includes_default"
if test "x$ac_cv_have_decl_gcvt" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_GCVT $ac_have_decl" >>confdefs.h
@@ -28761,8 +31095,8 @@ printf %s "checking absolute name of <stdlib.h>... " >&6; }
if test ${gl_cv_next_stdlib_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28775,7 +31109,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -28798,7 +31132,8 @@ _ACEOF
gl_header=$gl_cv_absolute_stdlib_h
gl_cv_next_stdlib_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
printf "%s\n" "$gl_cv_next_stdlib_h" >&6; }
@@ -28825,6 +31160,65 @@ printf "%s\n" "$gl_cv_next_stdlib_h" >&6; }
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether MB_CUR_MAX is correct" >&5
+printf %s "checking whether MB_CUR_MAX is correct... " >&6; }
+if test ${gl_cv_macro_MB_CUR_MAX_good+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ case "$host_os" in
+ # Guess no on Solaris.
+ solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;;
+ esac
+ if test $LOCALE_FR_UTF8 != none; then
+ if test "$cross_compiling" = yes
+then :
+ :
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <stdlib.h>
+int main ()
+{
+ int result = 0;
+ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ {
+ if (MB_CUR_MAX < 4)
+ result |= 1;
+ }
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_macro_MB_CUR_MAX_good=yes
+else case e in #(
+ e) gl_cv_macro_MB_CUR_MAX_good=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_MB_CUR_MAX_good" >&5
+printf "%s\n" "$gl_cv_macro_MB_CUR_MAX_good" >&6; }
+ case "$gl_cv_macro_MB_CUR_MAX_good" in
+ *yes) ;;
+ *) REPLACE_MB_CUR_MAX=1 ;;
+ esac
+
+
if test $ac_cv_have_decl_ecvt = no; then
HAVE_DECL_ECVT=0
fi
@@ -28855,8 +31249,8 @@ printf %s "checking absolute name of <string.h>... " >&6; }
if test ${gl_cv_next_string_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28869,7 +31263,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -28892,7 +31286,8 @@ _ACEOF
gl_header=$gl_cv_absolute_string_h
gl_cv_next_string_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
printf "%s\n" "$gl_cv_next_string_h" >&6; }
@@ -28986,21 +31381,21 @@ printf %s "checking whether strncat works... " >&6; }
if test ${gl_cv_func_strncat_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess no on Solaris.
- solaris*) gl_cv_func_strncat_works="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_strncat_works="guessing yes" ;;
- # Guess yes otherwise.
- *) gl_cv_func_strncat_works="guessing yes" ;;
+ # Guess no on Solaris.
+ solaris*) gl_cv_func_strncat_works="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_strncat_works="guessing yes" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_strncat_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
@@ -29077,14 +31472,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strncat_works=yes
-else $as_nop
- gl_cv_func_strncat_works=no
+else case e in #(
+ e) gl_cv_func_strncat_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strncat_works" >&5
printf "%s\n" "$gl_cv_func_strncat_works" >&6; }
@@ -29104,8 +31502,8 @@ printf %s "checking whether strstr works... " >&6; }
if test ${gl_cv_func_strstr_works_always+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -29128,17 +31526,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky user" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
then :
gl_cv_func_strstr_works_always="guessing yes"
-else $as_nop
- gl_cv_func_strstr_works_always="$gl_cross_guess_normal"
+else case e in #(
+ e) gl_cv_func_strstr_works_always="$gl_cross_guess_normal" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h> /* for __GNU_LIBRARY__, strstr */
@@ -29164,14 +31563,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strstr_works_always=yes
-else $as_nop
- gl_cv_func_strstr_works_always=no
+else case e in #(
+ e) gl_cv_func_strstr_works_always=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strstr_works_always" >&5
printf "%s\n" "$gl_cv_func_strstr_works_always" >&6; }
@@ -29191,8 +31593,8 @@ printf "%s\n" "$gl_cv_func_strstr_works_always" >&6; }
if test "x$ac_cv_type_pid_t" = xyes
then :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined _WIN64 && !defined __CYGWIN__
@@ -29211,14 +31613,16 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_pid_type='int'
-else $as_nop
- ac_pid_type='__int64'
+else case e in #(
+ e) ac_pid_type='__int64' ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h
-
+ ;;
+esac
fi
@@ -29226,23 +31630,24 @@ ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
if test "x$ac_cv_type_mode_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define mode_t int" >>confdefs.h
-
+ ;;
+esac
fi
case "$host_os" in
- mingw*)
+ mingw* | windows*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5
printf %s "checking for 64-bit off_t... " >&6; }
if test ${gl_cv_type_off_t_64+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
@@ -29258,11 +31663,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_type_off_t_64=yes
-else $as_nop
- gl_cv_type_off_t_64=no
+else case e in #(
+ e) gl_cv_type_off_t_64=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5
printf "%s\n" "$gl_cv_type_off_t_64" >&6; }
@@ -29276,8 +31683,8 @@ printf %s "checking for 64-bit st_size... " >&6; }
if test ${gl_cv_member_st_size_64+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
struct stat buf;
@@ -29294,11 +31701,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_member_st_size_64=yes
-else $as_nop
- gl_cv_member_st_size_64=no
+else case e in #(
+ e) gl_cv_member_st_size_64=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_member_st_size_64" >&5
printf "%s\n" "$gl_cv_member_st_size_64" >&6; }
@@ -29343,8 +31752,8 @@ printf %s "checking absolute name of <sys/types.h>... " >&6; }
if test ${gl_cv_next_sys_types_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -29357,7 +31766,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -29380,7 +31789,8 @@ _ACEOF
gl_header=$gl_cv_absolute_sys_types_h
gl_cv_next_sys_types_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
printf "%s\n" "$gl_cv_next_sys_types_h" >&6; }
@@ -29442,6 +31852,606 @@ q
LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
fi
+ HAVE_UNISTRING_WOE32DLL_H=1
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_UNINORM_NFD_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNINORM_NFC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
+ GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE='LIBUNISTRING_DLL_VARIABLE'
+
+
+
HAVE_CHOWN=1;
HAVE_COPY_FILE_RANGE=1;
@@ -29497,6 +32507,7 @@ q
REPLACE_COPY_FILE_RANGE=0;
REPLACE_DUP=0;
REPLACE_DUP2=0;
+ REPLACE_DUP3=0;
REPLACE_EXECL=0;
REPLACE_EXECLE=0;
REPLACE_EXECLP=0;
@@ -29505,11 +32516,14 @@ q
REPLACE_EXECVP=0;
REPLACE_EXECVPE=0;
REPLACE_FACCESSAT=0;
+ REPLACE_FCHDIR=0;
REPLACE_FCHOWNAT=0;
+ REPLACE_FDATASYNC=0;
REPLACE_FTRUNCATE=0;
REPLACE_GETCWD=0;
REPLACE_GETDOMAINNAME=0;
REPLACE_GETDTABLESIZE=0;
+ REPLACE_GETENTROPY=0;
REPLACE_GETLOGIN_R=0;
REPLACE_GETGROUPS=0;
REPLACE_GETPAGESIZE=0;
@@ -29520,12 +32534,14 @@ q
REPLACE_LINK=0;
REPLACE_LINKAT=0;
REPLACE_LSEEK=0;
+ REPLACE_PIPE2=0;
REPLACE_PREAD=0;
REPLACE_PWRITE=0;
REPLACE_READ=0;
REPLACE_READLINK=0;
REPLACE_READLINKAT=0;
REPLACE_RMDIR=0;
+ REPLACE_SETHOSTNAME=0;
REPLACE_SLEEP=0;
REPLACE_SYMLINK=0;
REPLACE_SYMLINKAT=0;
@@ -29544,8 +32560,9 @@ ac_fn_check_decl "$LINENO" "execvpe" "ac_cv_have_decl_execvpe" "$ac_includes_def
if test "x$ac_cv_have_decl_execvpe" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_EXECVPE $ac_have_decl" >>confdefs.h
@@ -29569,8 +32586,8 @@ printf %s "checking absolute name of <unistd.h>... " >&6; }
if test ${gl_cv_next_unistd_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_unistd_h = yes; then
@@ -29586,7 +32603,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -29612,7 +32629,8 @@ _ACEOF
gl_cv_next_unistd_h='<'unistd.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
printf "%s\n" "$gl_cv_next_unistd_h" >&6; }
@@ -30007,8 +33025,8 @@ printf %s "checking for inttypes.h... " >&6; }
if test ${gl_cv_header_inttypes_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
@@ -30025,10 +33043,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_inttypes_h=yes
-else $as_nop
- gl_cv_header_inttypes_h=no
+else case e in #(
+ e) gl_cv_header_inttypes_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5
printf "%s\n" "$gl_cv_header_inttypes_h" >&6; }
@@ -30044,8 +33064,8 @@ printf %s "checking for stdint.h... " >&6; }
if test ${gl_cv_header_stdint_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <stdint.h>
@@ -30060,10 +33080,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_stdint_h=yes
-else $as_nop
- gl_cv_header_stdint_h=no
+else case e in #(
+ e) gl_cv_header_stdint_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5
printf "%s\n" "$gl_cv_header_stdint_h" >&6; }
@@ -30081,8 +33103,8 @@ printf %s "checking for intmax_t... " >&6; }
if test ${gt_cv_c_intmax_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
@@ -30105,10 +33127,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gt_cv_c_intmax_t=yes
-else $as_nop
- gt_cv_c_intmax_t=no
+else case e in #(
+ e) gt_cv_c_intmax_t=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5
printf "%s\n" "$gt_cv_c_intmax_t" >&6; }
@@ -30134,15 +33158,15 @@ printf %s "checking whether snprintf returns a byte count as in C99... " >&6; }
if test ${gl_cv_func_snprintf_retval_c99+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_snprintf_retval_c99="guessing yes";;
# Guess yes on FreeBSD >= 5.
freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
@@ -30169,7 +33193,8 @@ then :
# Guess yes on Android.
linux*-android*) gl_cv_func_snprintf_retval_c99="guessing yes";;
# Guess yes on MSVC, no on mingw.
- mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ windows*-msvc*) gl_cv_func_snprintf_retval_c99="guessing yes" ;;
+ mingw* | windows*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _MSC_VER
@@ -30178,11 +33203,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_snprintf_retval_c99="guessing yes"
-else $as_nop
- gl_cv_func_snprintf_retval_c99="guessing no"
+else case e in #(
+ e) gl_cv_func_snprintf_retval_c99="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -30191,8 +33217,8 @@ rm -rf conftest*
*) gl_cv_func_snprintf_retval_c99="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -30227,14 +33253,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_snprintf_retval_c99=yes
-else $as_nop
- gl_cv_func_snprintf_retval_c99=no
+else case e in #(
+ e) gl_cv_func_snprintf_retval_c99=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5
printf "%s\n" "$gl_cv_func_snprintf_retval_c99" >&6; }
@@ -30247,8 +33276,8 @@ printf %s "checking whether snprintf truncates the result as in C99... " >&6; }
if test ${gl_cv_func_snprintf_truncation_c99+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -30256,7 +33285,7 @@ then :
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
# Guess yes on FreeBSD >= 5.
freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
@@ -30292,13 +33321,13 @@ then :
# Guess yes on Android.
linux*-android*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
# Guess no on native Windows.
- mingw*) gl_cv_func_snprintf_truncation_c99="guessing no";;
+ mingw* | windows*) gl_cv_func_snprintf_truncation_c99="guessing no";;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_snprintf_truncation_c99="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -30330,14 +33359,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_snprintf_truncation_c99=yes
-else $as_nop
- gl_cv_func_snprintf_truncation_c99=no
+else case e in #(
+ e) gl_cv_func_snprintf_truncation_c99=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_truncation_c99" >&5
printf "%s\n" "$gl_cv_func_snprintf_truncation_c99" >&6; }
@@ -30346,6 +33378,16 @@ printf "%s\n" "$gl_cv_func_snprintf_truncation_c99" >&6; }
+ ac_fn_c_check_func "$LINENO" "wcslen" "ac_cv_func_wcslen"
+if test "x$ac_cv_func_wcslen" = xyes
+then :
+ printf "%s\n" "#define HAVE_WCSLEN 1" >>confdefs.h
+
+fi
+
+
+
+
ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf"
if test "x$ac_cv_func_snprintf" = xyes
then :
@@ -30358,24 +33400,6 @@ then :
printf "%s\n" "#define HAVE_STRNLEN 1" >>confdefs.h
fi
-ac_fn_c_check_func "$LINENO" "wcslen" "ac_cv_func_wcslen"
-if test "x$ac_cv_func_wcslen" = xyes
-then :
- printf "%s\n" "#define HAVE_WCSLEN 1" >>confdefs.h
-
-fi
-ac_fn_c_check_func "$LINENO" "wcsnlen" "ac_cv_func_wcsnlen"
-if test "x$ac_cv_func_wcsnlen" = xyes
-then :
- printf "%s\n" "#define HAVE_WCSNLEN 1" >>confdefs.h
-
-fi
-ac_fn_c_check_func "$LINENO" "mbrtowc" "ac_cv_func_mbrtowc"
-if test "x$ac_cv_func_mbrtowc" = xyes
-then :
- printf "%s\n" "#define HAVE_MBRTOWC 1" >>confdefs.h
-
-fi
ac_fn_c_check_func "$LINENO" "wcrtomb" "ac_cv_func_wcrtomb"
if test "x$ac_cv_func_wcrtomb" = xyes
then :
@@ -30388,13 +33412,13 @@ fi
if test "x$ac_cv_have_decl__snprintf" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL__SNPRINTF $ac_have_decl" >>confdefs.h
-
case "$gl_cv_func_snprintf_retval_c99" in
*yes)
@@ -30413,22 +33437,24 @@ printf "%s\n" "#define HAVE_SNPRINTF_TRUNCATION_C99 1" >>confdefs.h
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports 'long double' arguments" >&5
printf %s "checking whether printf supports 'long double' arguments... " >&6; }
if test ${gl_cv_func_printf_long_double+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess no on BeOS.
- beos*) gl_cv_func_printf_long_double="guessing no";;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_long_double="guessing yes";;
- # Guess yes on MSVC, no on mingw.
- mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ # Guess no on BeOS.
+ beos*) gl_cv_func_printf_long_double="guessing no";;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_printf_long_double="guessing yes";;
+ # Guess yes on MSVC, no on mingw.
+ windows*-msvc*) gl_cv_func_printf_long_double="guessing yes" ;;
+ mingw* | windows*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _MSC_VER
@@ -30437,20 +33463,21 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_printf_long_double="guessing yes"
-else $as_nop
- gl_cv_func_printf_long_double="guessing no"
+else case e in #(
+ e) gl_cv_func_printf_long_double="guessing no" ;;
+esac
fi
rm -rf conftest*
- ;;
- *) gl_cv_func_printf_long_double="guessing yes";;
+ ;;
+ *) gl_cv_func_printf_long_double="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -30477,14 +33504,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_long_double=yes
-else $as_nop
- gl_cv_func_printf_long_double=no
+else case e in #(
+ e) gl_cv_func_printf_long_double=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_long_double" >&5
printf "%s\n" "$gl_cv_func_printf_long_double" >&6; }
@@ -30508,8 +33538,8 @@ printf %s "checking whether printf supports infinite 'double' arguments... " >&6
if test ${gl_cv_func_printf_infinite+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -30517,7 +33547,7 @@ then :
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_infinite="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_infinite="guessing yes";;
# Guess yes on FreeBSD >= 6.
freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
@@ -30540,7 +33570,8 @@ then :
# Guess no on Android.
linux*-android*) gl_cv_func_printf_infinite="guessing no";;
# Guess yes on MSVC, no on mingw.
- mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ windows*-msvc*) gl_cv_func_printf_infinite="guessing yes" ;;
+ mingw* | windows*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _MSC_VER
@@ -30549,11 +33580,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_printf_infinite="guessing yes"
-else $as_nop
- gl_cv_func_printf_infinite="guessing no"
+else case e in #(
+ e) gl_cv_func_printf_infinite="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -30562,8 +33594,8 @@ rm -rf conftest*
*) gl_cv_func_printf_infinite="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -30636,14 +33668,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_infinite=yes
-else $as_nop
- gl_cv_func_printf_infinite=no
+else case e in #(
+ e) gl_cv_func_printf_infinite=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_infinite" >&5
printf "%s\n" "$gl_cv_func_printf_infinite" >&6; }
@@ -30665,8 +33700,8 @@ printf %s "checking whether printf supports infinite 'long double' arguments...
if test ${gl_cv_func_printf_infinite_long_double+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_cpu" in
@@ -30677,7 +33712,7 @@ then :
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_infinite_long_double="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_infinite_long_double="guessing yes";;
# Guess yes on FreeBSD >= 6.
freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
@@ -30691,7 +33726,8 @@ then :
# Guess no on Android.
linux*-android*) gl_cv_func_printf_infinite_long_double="guessing no";;
# Guess yes on MSVC, no on mingw.
- mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ windows*-msvc*) gl_cv_func_printf_infinite_long_double="guessing yes" ;;
+ mingw* | windows*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _MSC_VER
@@ -30700,11 +33736,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_printf_infinite_long_double="guessing yes"
-else $as_nop
- gl_cv_func_printf_infinite_long_double="guessing no"
+else case e in #(
+ e) gl_cv_func_printf_infinite_long_double="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -30715,8 +33752,8 @@ rm -rf conftest*
;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -30984,14 +34021,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_infinite_long_double=yes
-else $as_nop
- gl_cv_func_printf_infinite_long_double=no
+else case e in #(
+ e) gl_cv_func_printf_infinite_long_double=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_infinite_long_double" >&5
printf "%s\n" "$gl_cv_func_printf_infinite_long_double" >&6; }
@@ -31008,8 +34048,8 @@ printf %s "checking whether printf supports the 'a' and 'A' directives... " >&6;
if test ${gl_cv_func_printf_directive_a+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -31028,27 +34068,28 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "BZ2908" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "BZ2908" >/dev/null 2>&1
then :
gl_cv_func_printf_directive_a="guessing yes"
-else $as_nop
- gl_cv_func_printf_directive_a="guessing no"
+else case e in #(
+ e) gl_cv_func_printf_directive_a="guessing no" ;;
+esac
fi
rm -rf conftest*
;;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_directive_a="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_directive_a="guessing yes";;
# Guess no on Android.
linux*-android*) gl_cv_func_printf_directive_a="guessing no";;
# Guess no on native Windows.
- mingw*) gl_cv_func_printf_directive_a="guessing no";;
+ mingw* | windows*) gl_cv_func_printf_directive_a="guessing no";;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_printf_directive_a="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31110,27 +34151,111 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_directive_a=yes
-else $as_nop
- gl_cv_func_printf_directive_a=no
+else case e in #(
+ e) gl_cv_func_printf_directive_a=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_a" >&5
printf "%s\n" "$gl_cv_func_printf_directive_a" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'b' directive" >&5
+printf %s "checking whether printf supports the 'b' directive... " >&6; }
+if test ${gl_cv_func_printf_directive_b+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test "$cross_compiling" = yes
+then :
+
+ case "$host_os" in
+ # Guess yes on glibc >= 2.35 systems.
+ *-gnu* | gnu*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 35) || (__GLIBC__ > 2)
+ Lucky user
+ #endif
+ #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Lucky" >/dev/null 2>&1
+then :
+ gl_cv_func_printf_directive_uppercase_b="guessing yes"
+else case e in #(
+ e) gl_cv_func_printf_directive_uppercase_b="guessing no" ;;
+esac
+fi
+rm -rf conftest*
+
+ ;;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_printf_directive_b="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_directive_b="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_directive_b="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_printf_directive_b="$gl_cross_guess_normal";;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+ int result = 0;
+ if (sprintf (buf, "%b %d", 12345, 33, 44, 55) < 0
+ || strcmp (buf, "11000000111001 33") != 0)
+ result |= 1;
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_printf_directive_b=yes
+else case e in #(
+ e) gl_cv_func_printf_directive_b=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_b" >&5
+printf "%s\n" "$gl_cv_func_printf_directive_b" >&6; }
+
+
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'F' directive" >&5
printf %s "checking whether printf supports the 'F' directive... " >&6; }
if test ${gl_cv_func_printf_directive_f+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -31138,7 +34263,7 @@ then :
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_directive_f="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_directive_f="guessing yes";;
# Guess yes on FreeBSD >= 6.
freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
@@ -31155,7 +34280,8 @@ then :
# Guess no on Android.
linux*-android*) gl_cv_func_printf_directive_f="guessing no";;
# Guess yes on MSVC, no on mingw.
- mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ windows*-msvc*) gl_cv_func_printf_directive_f="guessing yes" ;;
+ mingw* | windows*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef _MSC_VER
@@ -31164,11 +34290,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_printf_directive_f="guessing yes"
-else $as_nop
- gl_cv_func_printf_directive_f="guessing no"
+else case e in #(
+ e) gl_cv_func_printf_directive_f="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -31177,8 +34304,8 @@ rm -rf conftest*
*) gl_cv_func_printf_directive_f="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31204,14 +34331,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_directive_f=yes
-else $as_nop
- gl_cv_func_printf_directive_f=no
+else case e in #(
+ e) gl_cv_func_printf_directive_f=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_f" >&5
printf "%s\n" "$gl_cv_func_printf_directive_f" >&6; }
@@ -31223,28 +34353,28 @@ printf %s "checking whether printf supports the 'ls' directive... " >&6; }
if test ${gl_cv_func_printf_directive_ls+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on OpenBSD >= 6.0.
- openbsd[1-5].*) gl_cv_func_printf_directive_ls="guessing no";;
- openbsd*) gl_cv_func_printf_directive_ls="guessing yes";;
- irix*) gl_cv_func_printf_directive_ls="guessing no";;
- solaris*) gl_cv_func_printf_directive_ls="guessing no";;
- cygwin*) gl_cv_func_printf_directive_ls="guessing no";;
- beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_directive_ls="guessing no";;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_printf_directive_ls="guessing yes";;
- *) gl_cv_func_printf_directive_ls="guessing yes";;
+ # Guess yes on OpenBSD >= 6.0.
+ openbsd[1-5].*) gl_cv_func_printf_directive_ls="guessing no";;
+ openbsd*) gl_cv_func_printf_directive_ls="guessing yes";;
+ irix*) gl_cv_func_printf_directive_ls="guessing no";;
+ solaris*) gl_cv_func_printf_directive_ls="guessing no";;
+ cygwin*) gl_cv_func_printf_directive_ls="guessing no";;
+ beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_directive_ls="guessing no";;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_printf_directive_ls="guessing yes";;
+ *) gl_cv_func_printf_directive_ls="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31294,42 +34424,103 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_directive_ls=yes
-else $as_nop
- gl_cv_func_printf_directive_ls=no
+else case e in #(
+ e) gl_cv_func_printf_directive_ls=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_ls" >&5
printf "%s\n" "$gl_cv_func_printf_directive_ls" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'lc' directive correctly" >&5
+printf %s "checking whether printf supports the 'lc' directive correctly... " >&6; }
+if test ${gl_cv_func_printf_directive_lc+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test "$cross_compiling" = yes
+then :
+
+ case "$host_os" in
+ # Guess no on musl libc.
+ *-musl* | midipix*) gl_cv_func_printf_directive_lc="guessing no";;
+ # Guess yes otherwise.
+ *) gl_cv_func_printf_directive_lc="guessing yes";;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <wchar.h>
+#include <string.h>
+int main ()
+{
+ int result = 0;
+ char buf[100];
+ /* This test fails on musl libc 1.2.4. */
+ {
+ buf[0] = '\0';
+ if (sprintf (buf, "%lc%lc%lc", (wint_t) 'a', (wint_t) 0, (wint_t) 'z') < 0
+ || memcmp (buf, "a\0z", 4) != 0)
+ result |= 1;
+ }
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_printf_directive_lc=yes
+else case e in #(
+ e) gl_cv_func_printf_directive_lc=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_lc" >&5
+printf "%s\n" "$gl_cv_func_printf_directive_lc" >&6; }
+
+
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports the grouping flag" >&5
printf %s "checking whether printf supports the grouping flag... " >&6; }
if test ${gl_cv_func_printf_flag_grouping+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- cygwin*) gl_cv_func_printf_flag_grouping="guessing no";;
- netbsd*) gl_cv_func_printf_flag_grouping="guessing no";;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_flag_grouping="guessing no";;
- # Guess no on native Windows.
- mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";;
- *) gl_cv_func_printf_flag_grouping="guessing yes";;
+ cygwin*) gl_cv_func_printf_flag_grouping="guessing no";;
+ netbsd*) gl_cv_func_printf_flag_grouping="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_flag_grouping="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows* | pw*) gl_cv_func_printf_flag_grouping="guessing no";;
+ *) gl_cv_func_printf_flag_grouping="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31346,14 +34537,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_flag_grouping=yes
-else $as_nop
- gl_cv_func_printf_flag_grouping=no
+else case e in #(
+ e) gl_cv_func_printf_flag_grouping=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_grouping" >&5
printf "%s\n" "$gl_cv_func_printf_flag_grouping" >&6; }
@@ -31365,26 +34559,26 @@ printf %s "checking whether printf supports the left-adjust flag correctly... "
if test ${gl_cv_func_printf_flag_leftadjust+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on HP-UX 11.
- hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
- # Guess no on HP-UX 10 and older.
- hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
- # Guess yes otherwise.
- *) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess yes on HP-UX 11.
+ hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess no on HP-UX 10 and older.
+ hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess yes otherwise.
+ *) gl_cv_func_printf_flag_leftadjust="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31402,14 +34596,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_flag_leftadjust=yes
-else $as_nop
- gl_cv_func_printf_flag_leftadjust=no
+else case e in #(
+ e) gl_cv_func_printf_flag_leftadjust=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_leftadjust" >&5
printf "%s\n" "$gl_cv_func_printf_flag_leftadjust" >&6; }
@@ -31421,28 +34618,28 @@ printf %s "checking whether printf supports the zero flag correctly... " >&6; }
if test ${gl_cv_func_printf_flag_zero+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_flag_zero="guessing yes";;
- # Guess yes on BeOS.
- beos*) gl_cv_func_printf_flag_zero="guessing yes";;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_flag_zero="guessing no";;
- # Guess no on native Windows.
- mingw*) gl_cv_func_printf_flag_zero="guessing no";;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_printf_flag_zero="guessing yes";;
+ # Guess yes on BeOS.
+ beos*) gl_cv_func_printf_flag_zero="guessing yes";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_flag_zero="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_flag_zero="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31461,42 +34658,99 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_flag_zero=yes
-else $as_nop
- gl_cv_func_printf_flag_zero=no
+else case e in #(
+ e) gl_cv_func_printf_flag_zero=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_zero" >&5
printf "%s\n" "$gl_cv_func_printf_flag_zero" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports the alternative flag with a zero precision" >&5
+printf %s "checking whether printf supports the alternative flag with a zero precision... " >&6; }
+if test ${gl_cv_func_printf_flag_alt_precision_zero+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test "$cross_compiling" = yes
+then :
+
+ case "$host_os" in
+ # Guess no only on macOS 10..12 systems.
+ darwin[0-9] | darwin[0-9].* | \
+ darwin1[0-9] | darwin1[0-9].* | \
+ darwin2[0-1] | darwin2[0-1].*)
+ gl_cv_func_printf_flag_alt_precision_zero="guessing no" ;;
+ darwin*) gl_cv_func_printf_flag_alt_precision_zero="guessing yes" ;;
+ *) gl_cv_func_printf_flag_alt_precision_zero="guessing yes" ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdio.h>
+static char buf[10];
+int main ()
+{
+ int result = 0;
+ if (sprintf (buf, "%#.0x %d", 0, 33, 44) > 0 + 3)
+ result |= 1;
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_printf_flag_alt_precision_zero=yes
+else case e in #(
+ e) gl_cv_func_printf_flag_alt_precision_zero=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_alt_precision_zero" >&5
+printf "%s\n" "$gl_cv_func_printf_flag_alt_precision_zero" >&6; }
+
+
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports large precisions" >&5
printf %s "checking whether printf supports large precisions... " >&6; }
if test ${gl_cv_func_printf_precision+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess no only on Solaris, native Windows, and BeOS systems.
- solaris*) gl_cv_func_printf_precision="guessing no" ;;
- mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
- beos*) gl_cv_func_printf_precision="guessing no" ;;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_precision="guessing yes" ;;
- *) gl_cv_func_printf_precision="guessing yes" ;;
+ solaris*) gl_cv_func_printf_precision="guessing no" ;;
+ mingw* | windows* | pw*) gl_cv_func_printf_precision="guessing no" ;;
+ beos*) gl_cv_func_printf_precision="guessing no" ;;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_printf_precision="guessing yes" ;;
+ *) gl_cv_func_printf_precision="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -31525,14 +34779,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_printf_precision=yes
-else $as_nop
- gl_cv_func_printf_precision=no
+else case e in #(
+ e) gl_cv_func_printf_precision=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_precision" >&5
printf "%s\n" "$gl_cv_func_printf_precision" >&6; }
@@ -31545,8 +34802,8 @@ printf %s "checking whether printf survives out-of-memory conditions... " >&6; }
if test ${gl_cv_func_printf_enomem+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
gl_cv_func_printf_enomem="guessing no"
if test "$cross_compiling" = no; then
if test $APPLE_UNIVERSAL_BUILD = 0; then
@@ -31765,7 +35022,8 @@ _ACEOF
*) gl_cv_func_printf_enomem="$gl_cross_guess_normal";;
esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_enomem" >&5
printf "%s\n" "$gl_cv_func_printf_enomem" >&6; }
@@ -31773,14 +35031,13 @@ printf "%s\n" "$gl_cv_func_printf_enomem" >&6; }
-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
printf %s "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
if test ${gl_cv_header_wchar_h_correct_inline+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_cv_header_wchar_h_correct_inline=yes
+else case e in #(
+ e) gl_cv_header_wchar_h_correct_inline=yes
case "$host_os" in
*-gnu* | gnu*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -31793,8 +35050,8 @@ else $as_nop
int main () { return zero(); }
_ACEOF
- save_ac_compile="$ac_compile"
- ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
+ saved_ac_compile="$ac_compile"
+ ac_compile=`echo "$saved_ac_compile" | sed s/conftest/conftest1/`
if echo '#include "conftest.c"' >conftest1.c \
&& { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -31810,7 +35067,7 @@ _ACEOF
int zero (void) { return 0; }
_ACEOF
- ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
+ ac_compile=`echo "$saved_ac_compile" | sed s/conftest/conftest2/`
if echo '#include "conftest.c"' >conftest2.c \
&& { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -31824,11 +35081,12 @@ _ACEOF
fi
fi
fi
- ac_compile="$save_ac_compile"
+ ac_compile="$saved_ac_compile"
rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
printf "%s\n" "$gl_cv_header_wchar_h_correct_inline" >&6; }
@@ -31864,8 +35122,8 @@ printf %s "checking absolute name of <wchar.h>... " >&6; }
if test ${gl_cv_next_wchar_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_wchar_h = yes; then
@@ -31881,7 +35139,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -31907,7 +35165,8 @@ _ACEOF
gl_cv_next_wchar_h='<'wchar.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
printf "%s\n" "$gl_cv_next_wchar_h" >&6; }
@@ -31958,8 +35217,9 @@ printf "%s\n" "$gl_cv_next_wchar_h" >&6; }
if test "x$ac_cv_have_decl_wcsdup" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_WCSDUP $ac_have_decl" >>confdefs.h
@@ -31975,8 +35235,8 @@ printf %s "checking for C compiler option to allow warnings... " >&6; }
if test ${gl_cv_cc_wallow+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- rm -f conftest*
+else case e in #(
+ e) rm -f conftest*
echo 'int dummy;' > conftest.c
{ ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -31996,7 +35256,8 @@ else $as_nop
gl_cv_cc_wallow=none
fi
rm -f conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5
printf "%s\n" "$gl_cv_cc_wallow" >&6; }
@@ -32013,8 +35274,8 @@ printf %s "checking for C++ compiler option to allow warnings... " >&6; }
if test ${gl_cv_cxx_wallow+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- rm -f conftest*
+else case e in #(
+ e) rm -f conftest*
echo 'int dummy;' > conftest.cc
{ ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -32034,7 +35295,8 @@ else $as_nop
gl_cv_cxx_wallow=none
fi
rm -f conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5
printf "%s\n" "$gl_cv_cxx_wallow" >&6; }
@@ -32090,8 +35352,8 @@ printf %s "checking whether <sys/socket.h> is self-contained... " >&6; }
if test ${gl_cv_header_sys_socket_h_selfcontained+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/socket.h>
@@ -32106,11 +35368,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_sys_socket_h_selfcontained=yes
-else $as_nop
- gl_cv_header_sys_socket_h_selfcontained=no
+else case e in #(
+ e) gl_cv_header_sys_socket_h_selfcontained=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5
printf "%s\n" "$gl_cv_header_sys_socket_h_selfcontained" >&6; }
@@ -32128,8 +35392,8 @@ printf %s "checking whether <sys/socket.h> defines the SHUT_* macros... " >&6; }
if test ${gl_cv_header_sys_socket_h_shut+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/socket.h>
@@ -32144,11 +35408,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_sys_socket_h_shut=yes
-else $as_nop
- gl_cv_header_sys_socket_h_shut=no
+else case e in #(
+ e) gl_cv_header_sys_socket_h_shut=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5
printf "%s\n" "$gl_cv_header_sys_socket_h_shut" >&6; }
@@ -32177,8 +35443,8 @@ printf %s "checking absolute name of <sys/socket.h>... " >&6; }
if test ${gl_cv_next_sys_socket_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_sys_socket_h = yes; then
@@ -32194,7 +35460,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -32220,7 +35486,8 @@ _ACEOF
gl_cv_next_sys_socket_h='<'sys/socket.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5
printf "%s\n" "$gl_cv_next_sys_socket_h" >&6; }
@@ -32322,8 +35589,9 @@ then :
printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1" >>confdefs.h
-else $as_nop
- HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0
+else case e in #(
+ e) HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 ;;
+esac
fi
fi
@@ -32456,8 +35724,8 @@ printf %s "checking absolute name of <arpa/inet.h>... " >&6; }
if test ${gl_cv_next_arpa_inet_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_arpa_inet_h = yes; then
@@ -32473,7 +35741,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -32499,7 +35767,8 @@ _ACEOF
gl_cv_next_arpa_inet_h='<'arpa/inet.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5
printf "%s\n" "$gl_cv_next_arpa_inet_h" >&6; }
@@ -32553,6 +35822,145 @@ printf "%s\n" "$gl_cv_next_arpa_inet_h" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
+printf %s "checking for a turkish Unicode locale... " >&6; }
+if test ${gt_cv_locale_tr_utf8+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#include <wctype.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. But BeOS does not
+ implement the Turkish upper-/lowercase mappings. Therefore, let this
+ program return 1 on BeOS. */
+ /* Check whether the given locale name is recognized by the system. */
+#if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail. */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether in the abbreviation of the eighth month, the second
+ character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
+ two bytes long, with UTF-8 encoding. */
+ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 4
+ || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
+ return 1;
+ /* Check whether the upper-/lowercase mappings are as expected for
+ Turkish. */
+ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
+ || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
+ return 1;
+ return 0;
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Test for the hypothetical native Windows locale name.
+ if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=Turkish_Turkey.65001
+ else
+ # None found.
+ gt_cv_locale_tr_utf8=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr_TR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr_TR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_tr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
+ else
+ gt_cv_locale_tr_utf8=none
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_tr_utf8" >&6; }
+ LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
+ case $LOCALE_TR_UTF8 in #(
+ '' | *[[:space:]\"\$\'*[]*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_TR_UTF8\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_TR_UTF8\"; assuming \"none\"" >&2;}
+ LOCALE_TR_UTF8=none;;
+ esac
+
+
+
+
+
if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
REPLACE_CALLOC_FOR_CALLOC_POSIX=1
fi
@@ -32571,6 +35979,43 @@ printf "%s\n" "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
+
+
+
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_CLOSE=1
+ fi
+
+
+
+
+
+
+ if test $ac_cv_header_sys_socket_h != yes; then
+ ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h
+
+fi
+
+ fi
+ if test "$ac_cv_header_winsock2_h" = yes; then
+ HAVE_WINSOCK2_H=1
+ UNISTD_H_HAVE_WINSOCK2_H=1
+ SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+ else
+ HAVE_WINSOCK2_H=0
+ fi
+
+
+ if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+ REPLACE_CLOSE=1
+ fi
+
+
+
+
HAVE_ISBLANK=1;
@@ -32592,8 +36037,8 @@ printf %s "checking absolute name of <ctype.h>... " >&6; }
if test ${gl_cv_next_ctype_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -32606,7 +36051,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -32629,7 +36074,8 @@ _ACEOF
gl_header=$gl_cv_absolute_ctype_h
gl_cv_next_ctype_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_ctype_h" >&5
printf "%s\n" "$gl_cv_next_ctype_h" >&6; }
@@ -32671,8 +36117,8 @@ printf %s "checking if environ is properly declared... " >&6; }
if test ${gt_cv_var_environ_declaration+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if HAVE_UNISTD_H
#include <unistd.h>
@@ -32693,10 +36139,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gt_cv_var_environ_declaration=no
-else $as_nop
- gt_cv_var_environ_declaration=yes
+else case e in #(
+ e) gt_cv_var_environ_declaration=yes ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
printf "%s\n" "$gt_cv_var_environ_declaration" >&6; }
@@ -32711,12 +36159,336 @@ printf "%s\n" "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
HAVE_DECL_ENVIRON=0
fi
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_error_h='<'error.h'>'
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <error.h>" >&5
+printf %s "checking absolute name of <error.h>... " >&6; }
+if test ${gl_cv_next_error_h+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test $ac_cv_header_error_h = yes; then
+
+
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <error.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw* | windows*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'error.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_error_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_error_h
+ gl_cv_next_error_h='"'$gl_header'"'
+ else
+ gl_cv_next_error_h='<'error.h'>'
+ fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_error_h" >&5
+printf "%s\n" "$gl_cv_next_error_h" >&6; }
+ fi
+ NEXT_ERROR_H=$gl_cv_next_error_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'error.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_error_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_ERROR_H=$gl_next_as_first_directive
+
+
+
+
+ if test $ac_cv_header_error_h = yes; then
+ HAVE_ERROR_H=1
+ else
+ HAVE_ERROR_H=0
+ fi
+
+
+ REPLACE_ERROR=0
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error" >&5
+printf %s "checking for error... " >&6; }
+if test ${gl_cv_onwards_func_error+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "error" "ac_cv_have_decl_error" "#include <error.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_error" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_error = yes; then
+ ac_fn_c_check_func "$LINENO" "error" "ac_cv_func_error"
+if test "x$ac_cv_func_error" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_error = yes; then
+ gl_cv_onwards_func_error=yes
+ else
+ gl_cv_onwards_func_error='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_error='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "error" "ac_cv_func_error"
+if test "x$ac_cv_func_error" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_error=$ac_cv_func_error
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_error" >&5
+printf "%s\n" "$gl_cv_onwards_func_error" >&6; }
+
+ case "$gl_cv_onwards_func_error" in
+ future*) ac_cv_func_error=no ;;
+ *) ac_cv_func_error=$gl_cv_onwards_func_error ;;
+ esac
+ if test $ac_cv_func_error = yes; then
+
+printf "%s\n" "#define HAVE_ERROR 1" >>confdefs.h
+
+ fi
+
+
+ if test $ac_cv_func_error = yes; then
+ HAVE_ERROR=1
+ else
+ HAVE_ERROR=0
+ case "$gl_cv_onwards_func_error" in
+ future*) REPLACE_ERROR=1 ;;
+ esac
+ fi
+
+ ac_fn_check_decl "$LINENO" "error_at_line" "ac_cv_have_decl_error_at_line" "#include <error.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_error_at_line" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_error_at_line = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+printf %s "checking for error_at_line... " >&6; }
+if test ${ac_cv_lib_error_at_line+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <error.h>
+int
+main (void)
+{
+error_at_line (0, 0, "", 0, "an error occurred");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_error_at_line=yes
+else case e in #(
+ e) ac_cv_lib_error_at_line=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+printf "%s\n" "$ac_cv_lib_error_at_line" >&6; }
+ else
+ ac_cv_lib_error_at_line=no
+ fi
+ if test $ac_cv_lib_error_at_line = yes; then
+ HAVE_ERROR_AT_LINE=1
+ else
+ HAVE_ERROR_AT_LINE=0
+ fi
+ REPLACE_ERROR_AT_LINE=0
+
+ if test $ac_cv_func_error = yes && test $ac_cv_lib_error_at_line = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working error function" >&5
+printf %s "checking for working error function... " >&6; }
+if test ${gl_cv_func_working_error+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test $cross_compiling != yes; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <error.h>
+ static void print_no_progname (void) {}
+
+int
+main (void)
+{
+
+ error_print_progname = print_no_progname;
+ error (0, 0, "foo");
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ rm -f conftest.out
+ if test -s conftest$ac_exeext \
+ && ./conftest$ac_exeext 2> conftest.out; then
+ if grep ' ' conftest.out >/dev/null; then
+ gl_cv_func_working_error=no
+ else
+ gl_cv_func_working_error=yes
+ fi
+ else
+ gl_cv_func_working_error=no
+ fi
+ rm -f conftest.out
+
+else case e in #(
+ e) gl_cv_func_working_error=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <error.h>
+
+int
+main (void)
+{
+
+ error (0, 0, "foo");
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_working_error="guessing yes" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_working_error="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_working_error="$gl_cross_guess_normal" ;;
+ esac
+
+else case e in #(
+ e) gl_cv_func_working_error=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_error" >&5
+printf "%s\n" "$gl_cv_func_working_error" >&6; }
+ case "$gl_cv_func_working_error" in
+ *no)
+ REPLACE_ERROR=1
+ REPLACE_ERROR_AT_LINE=1
+ ;;
+ esac
+ fi
+
+ if test $HAVE_ERROR = 0 || test $REPLACE_ERROR = 1 \
+ || test $HAVE_ERROR_AT_LINE = 0 || test $REPLACE_ERROR_AT_LINE = 1; then
+ COMPILE_ERROR_C=1
+ else
+ COMPILE_ERROR_C=0
+ fi
+
+
+
+
+
+
ac_fn_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_strerror_r" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_STRERROR_R $ac_have_decl" >>confdefs.h
@@ -32735,8 +36507,8 @@ printf %s "checking whether strerror_r returns char *... " >&6; }
if test ${ac_cv_func_strerror_r_char_p+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
ac_cv_func_strerror_r_char_p=no
if test $ac_cv_have_decl_strerror_r = yes; then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -32762,7 +36534,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
printf "%s\n" "$ac_cv_func_strerror_r_char_p" >&6; }
@@ -32822,17 +36595,17 @@ printf %s "checking for working fcntl.h... " >&6; }
if test ${gl_cv_header_working_fcntl_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess 'no' on native Windows.
- mingw*) gl_cv_header_working_fcntl_h='no' ;;
- *) gl_cv_header_working_fcntl_h=cross-compiling ;;
+ # Guess 'no' on native Windows.
+ mingw* | windows*) gl_cv_header_working_fcntl_h='no' ;;
+ *) gl_cv_header_working_fcntl_h=cross-compiling ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/stat.h>
@@ -32934,19 +36707,22 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_header_working_fcntl_h=yes
-else $as_nop
- case $? in #(
+else case e in #(
+ e) case $? in #(
4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
*) gl_cv_header_working_fcntl_h='no';;
- esac
+ esac ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5
printf "%s\n" "$gl_cv_header_working_fcntl_h" >&6; }
@@ -32986,8 +36762,8 @@ printf %s "checking absolute name of <fcntl.h>... " >&6; }
if test ${gl_cv_next_fcntl_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -33000,7 +36776,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -33023,7 +36799,8 @@ _ACEOF
gl_header=$gl_cv_absolute_fcntl_h
gl_cv_next_fcntl_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
printf "%s\n" "$gl_cv_next_fcntl_h" >&6; }
@@ -33058,7 +36835,9 @@ printf "%s\n" "$gl_cv_next_fcntl_h" >&6; }
HAVE_DECL_FTELLO=1;
HAVE_DECL_GETDELIM=1;
HAVE_DECL_GETLINE=1;
+ HAVE_DECL_GETW=1;
HAVE_DECL_OBSTACK_PRINTF=1;
+ HAVE_DECL_PUTW=1;
HAVE_DECL_SNPRINTF=1;
HAVE_DECL_VSNPRINTF=1;
HAVE_DPRINTF=1;
@@ -33377,8 +37156,8 @@ printf %s "checking whether stat file-mode macros are broken... " >&6; }
if test ${ac_cv_header_stat_broken+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/stat.h>
@@ -33403,10 +37182,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_header_stat_broken=no
-else $as_nop
- ac_cv_header_stat_broken=yes
+else case e in #(
+ e) ac_cv_header_stat_broken=yes ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
printf "%s\n" "$ac_cv_header_stat_broken" >&6; }
@@ -33438,8 +37219,8 @@ printf %s "checking absolute name of <sys/stat.h>... " >&6; }
if test ${gl_cv_next_sys_stat_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_sys_stat_h = yes; then
@@ -33455,7 +37236,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -33481,7 +37262,8 @@ _ACEOF
gl_cv_next_sys_stat_h='<'sys/stat.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; }
@@ -33519,10 +37301,11 @@ printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; }
if test "x$ac_cv_type_nlink_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define nlink_t int" >>confdefs.h
-
+ ;;
+esac
fi
@@ -33535,7 +37318,7 @@ fi
case "$host_os" in
- mingw*)
+ mingw* | windows*)
ac_fn_c_check_header_compile "$LINENO" "sdkddkver.h" "ac_cv_header_sdkddkver_h" "$ac_includes_default"
if test "x$ac_cv_header_sdkddkver_h" = xyes
then :
@@ -33634,28 +37417,29 @@ fi
-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
printf %s "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
if test ${gl_cv_func_getcwd_null+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";;
# Guess yes on musl systems.
*-musl*) gl_cv_func_getcwd_null="guessing yes";;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_getcwd_null="guessing yes";;
# Guess yes on Cygwin.
cygwin*) gl_cv_func_getcwd_null="guessing yes";;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_getcwd_null="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
# include <stdlib.h>
@@ -33668,10 +37452,6 @@ else $as_nop
$gl_mda_defines
-# ifndef getcwd
- char *getcwd ();
-# endif
-
int
main (void)
{
@@ -33703,13 +37483,16 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_getcwd_null=yes
-else $as_nop
- gl_cv_func_getcwd_null=no
+else case e in #(
+ e) gl_cv_func_getcwd_null=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5
printf "%s\n" "$gl_cv_func_getcwd_null" >&6; }
@@ -33720,8 +37503,8 @@ printf %s "checking for getcwd with POSIX signature... " >&6; }
if test ${gl_cv_func_getcwd_posix_signature+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
@@ -33745,11 +37528,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_getcwd_posix_signature=yes
-else $as_nop
- gl_cv_func_getcwd_posix_signature=no
+else case e in #(
+ e) gl_cv_func_getcwd_posix_signature=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5
printf "%s\n" "$gl_cv_func_getcwd_posix_signature" >&6; }
@@ -33759,14 +37544,14 @@ ac_fn_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_
if test "x$ac_cv_have_decl_getdtablesize" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_GETDTABLESIZE $ac_have_decl" >>confdefs.h
-
HAVE_GETTIMEOFDAY=1;
HAVE_STRUCT_TIMEVAL=1;
HAVE_SYS_TIME_H=1;
@@ -33795,8 +37580,8 @@ printf %s "checking absolute name of <sys/time.h>... " >&6; }
if test ${gl_cv_next_sys_time_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_sys_time_h = yes; then
@@ -33812,7 +37597,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -33838,7 +37623,8 @@ _ACEOF
gl_cv_next_sys_time_h='<'sys/time.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5
printf "%s\n" "$gl_cv_next_sys_time_h" >&6; }
@@ -33889,8 +37675,8 @@ printf %s "checking for struct timeval... " >&6; }
if test ${gl_cv_sys_struct_timeval+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if HAVE_SYS_TIME_H
#include <sys/time.h>
@@ -33911,11 +37697,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_timeval=yes
-else $as_nop
- gl_cv_sys_struct_timeval=no
+else case e in #(
+ e) gl_cv_sys_struct_timeval=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5
printf "%s\n" "$gl_cv_sys_struct_timeval" >&6; }
@@ -33927,8 +37715,8 @@ printf %s "checking for wide-enough struct timeval.tv_sec member... " >&6; }
if test ${gl_cv_sys_struct_timeval_tv_sec+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if HAVE_SYS_TIME_H
#include <sys/time.h>
@@ -33953,11 +37741,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_timeval_tv_sec=yes
-else $as_nop
- gl_cv_sys_struct_timeval_tv_sec=no
+else case e in #(
+ e) gl_cv_sys_struct_timeval_tv_sec=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5
printf "%s\n" "$gl_cv_sys_struct_timeval_tv_sec" >&6; }
@@ -33979,14 +37769,6 @@ printf "%s\n" "$gl_cv_sys_struct_timeval_tv_sec" >&6; }
- case "$host_os" in
- *-musl*)
-printf "%s\n" "#define MUSL_LIBC 1" >>confdefs.h
- ;;
- esac
-
-
-
@@ -33996,8 +37778,8 @@ printf %s "checking for IPv4 sockets... " >&6; }
if test ${gl_cv_socket_ipv4+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#ifdef HAVE_SYS_SOCKET_H
@@ -34021,10 +37803,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_socket_ipv4=yes
-else $as_nop
- gl_cv_socket_ipv4=no
+else case e in #(
+ e) gl_cv_socket_ipv4=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5
printf "%s\n" "$gl_cv_socket_ipv4" >&6; }
@@ -34039,8 +37823,8 @@ printf %s "checking for IPv6 sockets... " >&6; }
if test ${gl_cv_socket_ipv6+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#ifdef HAVE_SYS_SOCKET_H
@@ -34067,10 +37851,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_socket_ipv6=yes
-else $as_nop
- gl_cv_socket_ipv6=no
+else case e in #(
+ e) gl_cv_socket_ipv6=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5
printf "%s\n" "$gl_cv_socket_ipv6" >&6; }
@@ -34104,8 +37890,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
PRIPTR_PREFIX='"l"'
-else $as_nop
- PRIPTR_PREFIX='"ll"'
+else case e in #(
+ e) PRIPTR_PREFIX='"ll"' ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
else
@@ -34145,8 +37932,8 @@ printf %s "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
if test ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Work also in C++ mode. */
#define __STDC_LIMIT_MACROS 1
@@ -34176,10 +37963,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
-else $as_nop
- gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
+else case e in #(
+ e) gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
printf "%s\n" "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
@@ -34197,8 +37986,8 @@ printf %s "checking whether INT64_MAX == LONG_MAX... " >&6; }
if test ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Work also in C++ mode. */
#define __STDC_LIMIT_MACROS 1
@@ -34228,10 +38017,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
-else $as_nop
- gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
+else case e in #(
+ e) gl_cv_test_INT64_MAX_EQ_LONG_MAX=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
printf "%s\n" "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
@@ -34251,8 +38042,8 @@ printf %s "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
if test ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Work also in C++ mode. */
#define __STDC_LIMIT_MACROS 1
@@ -34282,10 +38073,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
-else $as_nop
- gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
+else case e in #(
+ e) gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
printf "%s\n" "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
@@ -34303,8 +38096,8 @@ printf %s "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
if test ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Work also in C++ mode. */
#define __STDC_LIMIT_MACROS 1
@@ -34334,10 +38127,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
-else $as_nop
- gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
+else case e in #(
+ e) gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
printf "%s\n" "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
@@ -34368,8 +38163,8 @@ printf %s "checking for library needed for semaphore functions... " >&6; }
if test ${gl_cv_semaphore_lib+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- save_LIBS="$LIBS"
+else case e in #(
+ e) saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -34385,8 +38180,8 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_semaphore_lib=none
-else $as_nop
- LIBS="$LIBS -lrt"
+else case e in #(
+ e) LIBS="$LIBS -lrt"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <semaphore.h>
@@ -34401,17 +38196,20 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_semaphore_lib='-lrt'
-else $as_nop
- gl_cv_semaphore_lib=none
+else case e in #(
+ e) gl_cv_semaphore_lib=none ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$save_LIBS"
-
+ LIBS="$saved_LIBS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_semaphore_lib" >&5
printf "%s\n" "$gl_cv_semaphore_lib" >&6; }
@@ -34429,8 +38227,8 @@ printf %s "checking whether lstat correctly handles trailing slash... " >&6; }
if test ${gl_cv_func_lstat_dereferences_slashed_symlink+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- rm -f conftest.sym conftest.file
+else case e in #(
+ e) rm -f conftest.sym conftest.file
echo >conftest.file
if test "$cross_compiling" = yes
then :
@@ -34438,10 +38236,13 @@ then :
linux-* | linux)
# Guess yes on Linux systems.
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+ midipix*)
+ # Guess yes on systems that emulate the Linux system calls.
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
*-gnu* | gnu*)
# Guess yes on glibc systems.
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
- mingw*)
+ mingw* | windows*)
# Guess no on native Windows.
gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
*)
@@ -34449,8 +38250,8 @@ then :
gl_cv_func_lstat_dereferences_slashed_symlink="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
@@ -34471,15 +38272,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_lstat_dereferences_slashed_symlink=yes
-else $as_nop
- gl_cv_func_lstat_dereferences_slashed_symlink=no
+else case e in #(
+ e) gl_cv_func_lstat_dereferences_slashed_symlink=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.sym conftest.file
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5
printf "%s\n" "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; }
@@ -34502,17 +38306,18 @@ printf "%s\n" "#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1" >>confdefs.h
HAVE_TIMESPEC_GET=1;
HAVE_TIMESPEC_GETRES=1;
HAVE_TIMEZONE_T=0;
- REPLACE_CTIME=GNULIB_PORTCHECK;
- REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
- REPLACE_MKTIME=GNULIB_PORTCHECK;
- REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
- REPLACE_STRFTIME=GNULIB_PORTCHECK;
- REPLACE_TIMEGM=GNULIB_PORTCHECK;
- REPLACE_TZSET=GNULIB_PORTCHECK;
-
- : ${GNULIB_GETTIMEOFDAY=0};
- REPLACE_GMTIME=0;
+ REPLACE_CTIME=0;
+ REPLACE_GMTIME=0;
REPLACE_LOCALTIME=0;
+ REPLACE_LOCALTIME_R=0;
+ REPLACE_MKTIME=0;
+ REPLACE_NANOSLEEP=0;
+ REPLACE_STRFTIME=0;
+ REPLACE_TIME=0;
+ REPLACE_TIMEGM=0;
+ REPLACE_TIMESPEC_GET=0;
+ REPLACE_TIMESPEC_GETRES=0;
+ REPLACE_TZSET=0;
@@ -34540,6 +38345,10 @@ printf "%s\n" "#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1" >>confdefs.h
+ GL_GNULIB_TIME=0
+
+
+
GL_GNULIB_TIMEGM=0
@@ -34574,8 +38383,8 @@ printf %s "checking for O_CLOEXEC... " >&6; }
if test ${gl_cv_macro_O_CLOEXEC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <fcntl.h>
#ifndef O_CLOEXEC
@@ -34593,10 +38402,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_macro_O_CLOEXEC=yes
-else $as_nop
- gl_cv_macro_O_CLOEXEC=no
+else case e in #(
+ e) gl_cv_macro_O_CLOEXEC=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_O_CLOEXEC" >&5
printf "%s\n" "$gl_cv_macro_O_CLOEXEC" >&6; }
@@ -34608,8 +38419,8 @@ printf %s "checking for promoted mode_t type... " >&6; }
if test ${gl_cv_promoted_mode_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
@@ -34624,11 +38435,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_promoted_mode_t='int'
-else $as_nop
- gl_cv_promoted_mode_t='mode_t'
+else case e in #(
+ e) gl_cv_promoted_mode_t='mode_t' ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
printf "%s\n" "$gl_cv_promoted_mode_t" >&6; }
@@ -34644,22 +38457,22 @@ printf %s "checking whether strerror(0) succeeds... " >&6; }
if test ${gl_cv_func_strerror_0_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_strerror_0_works="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_strerror_0_works="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_strerror_0_works="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
#include <errno.h>
@@ -34683,14 +38496,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strerror_0_works=yes
-else $as_nop
- gl_cv_func_strerror_0_works=no
+else case e in #(
+ e) gl_cv_func_strerror_0_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5
printf "%s\n" "$gl_cv_func_strerror_0_works" >&6; }
@@ -34714,6 +38530,73 @@ printf "%s\n" "#define REPLACE_STRERROR_0 1" >>confdefs.h
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for strerror_r" >&5
+printf %s "checking for strerror_r... " >&6; }
+if test ${gl_cv_onwards_func_strerror_r+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "#include <string.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_strerror_r" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_strerror_r = yes; then
+ ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
+if test "x$ac_cv_func_strerror_r" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_strerror_r = yes; then
+ gl_cv_onwards_func_strerror_r=yes
+ else
+ gl_cv_onwards_func_strerror_r='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_strerror_r='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
+if test "x$ac_cv_func_strerror_r" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_strerror_r=$ac_cv_func_strerror_r
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_strerror_r" >&5
+printf "%s\n" "$gl_cv_onwards_func_strerror_r" >&6; }
+
+ case "$gl_cv_onwards_func_strerror_r" in
+ future*) ac_cv_func_strerror_r=no ;;
+ *) ac_cv_func_strerror_r=$gl_cv_onwards_func_strerror_r ;;
+ esac
+ if test $ac_cv_func_strerror_r = yes; then
+
+printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h
+
+ fi
+
+
if test $ac_cv_func_strerror_r = yes; then
if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5
@@ -34721,8 +38604,8 @@ printf %s "checking for strerror_r with POSIX signature... " >&6; }
if test ${gl_cv_func_strerror_r_posix_signature+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
int strerror_r (int, char *, size_t);
@@ -34738,11 +38621,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_strerror_r_posix_signature=yes
-else $as_nop
- gl_cv_func_strerror_r_posix_signature=no
+else case e in #(
+ e) gl_cv_func_strerror_r_posix_signature=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5
printf "%s\n" "$gl_cv_func_strerror_r_posix_signature" >&6; }
@@ -34752,8 +38637,8 @@ printf %s "checking whether strerror_r works... " >&6; }
if test ${gl_cv_func_strerror_r_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
@@ -34767,8 +38652,8 @@ then :
*) gl_cv_func_strerror_r_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
#include <string.h>
@@ -34807,14 +38692,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strerror_r_works=yes
-else $as_nop
- gl_cv_func_strerror_r_works=no
+else case e in #(
+ e) gl_cv_func_strerror_r_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5
printf "%s\n" "$gl_cv_func_strerror_r_works" >&6; }
@@ -34826,13 +38714,13 @@ printf %s "checking whether __xpg_strerror_r works... " >&6; }
if test ${gl_cv_func_strerror_r_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
gl_cv_func_strerror_r_works="$gl_cross_guess_normal"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
#include <string.h>
@@ -34866,20 +38754,27 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strerror_r_works=yes
-else $as_nop
- gl_cv_func_strerror_r_works=no
+else case e in #(
+ e) gl_cv_func_strerror_r_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5
printf "%s\n" "$gl_cv_func_strerror_r_works" >&6; }
fi
fi
fi
+ else
+ case "$gl_cv_onwards_func_strerror_r" in
+ future*) REPLACE_STRERROR_R=1 ;;
+ esac
fi
@@ -34920,8 +38815,8 @@ printf %s "checking whether <sys/select.h> is self-contained... " >&6; }
if test ${gl_cv_header_sys_select_h_selfcontained+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/select.h>
@@ -34936,8 +38831,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_sys_select_h_selfcontained=yes
-else $as_nop
- gl_cv_header_sys_select_h_selfcontained=no
+else case e in #(
+ e) gl_cv_header_sys_select_h_selfcontained=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test $gl_cv_header_sys_select_h_selfcontained = yes; then
@@ -34987,8 +38883,9 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
-else $as_nop
- gl_cv_header_sys_select_h_selfcontained=no
+else case e in #(
+ e) gl_cv_header_sys_select_h_selfcontained=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
@@ -34996,7 +38893,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5
printf "%s\n" "$gl_cv_header_sys_select_h_selfcontained" >&6; }
@@ -35017,8 +38915,8 @@ printf %s "checking absolute name of <sys/select.h>... " >&6; }
if test ${gl_cv_next_sys_select_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_sys_select_h = yes; then
@@ -35034,7 +38932,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -35060,7 +38958,8 @@ _ACEOF
gl_cv_next_sys_select_h='<'sys/select.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5
printf "%s\n" "$gl_cv_next_sys_select_h" >&6; }
@@ -35258,8 +39157,8 @@ printf %s "checking absolute name of <pthread.h>... " >&6; }
if test ${gl_cv_next_pthread_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_pthread_h = yes; then
@@ -35275,7 +39174,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -35301,7 +39200,8 @@ _ACEOF
gl_cv_next_pthread_h='<'pthread.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_pthread_h" >&5
printf "%s\n" "$gl_cv_next_pthread_h" >&6; }
@@ -35324,7 +39224,7 @@ printf "%s\n" "$gl_cv_next_pthread_h" >&6; }
HAVE_PTHREAD_H=1
- if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ if { case "$host_os" in mingw* | windows*) true;; *) false;; esac; } \
&& test $gl_threads_api = windows; then
HAVE_PTHREAD_H=0
fi
@@ -35372,8 +39272,8 @@ printf %s "checking for PTHREAD_CREATE_DETACHED... " >&6; }
if test ${gl_cv_const_PTHREAD_CREATE_DETACHED+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int x = PTHREAD_CREATE_DETACHED;
@@ -35389,11 +39289,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_const_PTHREAD_CREATE_DETACHED=yes
-else $as_nop
- gl_cv_const_PTHREAD_CREATE_DETACHED=no
+else case e in #(
+ e) gl_cv_const_PTHREAD_CREATE_DETACHED=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_CREATE_DETACHED" >&5
printf "%s\n" "$gl_cv_const_PTHREAD_CREATE_DETACHED" >&6; }
@@ -35406,8 +39308,8 @@ printf %s "checking for PTHREAD_MUTEX_RECURSIVE... " >&6; }
if test ${gl_cv_const_PTHREAD_MUTEX_RECURSIVE+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int x = PTHREAD_MUTEX_RECURSIVE;
@@ -35423,11 +39325,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_const_PTHREAD_MUTEX_RECURSIVE=yes
-else $as_nop
- gl_cv_const_PTHREAD_MUTEX_RECURSIVE=no
+else case e in #(
+ e) gl_cv_const_PTHREAD_MUTEX_RECURSIVE=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&5
printf "%s\n" "$gl_cv_const_PTHREAD_MUTEX_RECURSIVE" >&6; }
@@ -35440,8 +39344,8 @@ printf %s "checking for PTHREAD_MUTEX_ROBUST... " >&6; }
if test ${gl_cv_const_PTHREAD_MUTEX_ROBUST+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int x = PTHREAD_MUTEX_ROBUST;
@@ -35457,11 +39361,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_const_PTHREAD_MUTEX_ROBUST=yes
-else $as_nop
- gl_cv_const_PTHREAD_MUTEX_ROBUST=no
+else case e in #(
+ e) gl_cv_const_PTHREAD_MUTEX_ROBUST=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_MUTEX_ROBUST" >&5
printf "%s\n" "$gl_cv_const_PTHREAD_MUTEX_ROBUST" >&6; }
@@ -35474,8 +39380,8 @@ printf %s "checking for PTHREAD_PROCESS_SHARED... " >&6; }
if test ${gl_cv_const_PTHREAD_PROCESS_SHARED+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int x = PTHREAD_PROCESS_SHARED;
@@ -35491,11 +39397,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_const_PTHREAD_PROCESS_SHARED=yes
-else $as_nop
- gl_cv_const_PTHREAD_PROCESS_SHARED=no
+else case e in #(
+ e) gl_cv_const_PTHREAD_PROCESS_SHARED=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_const_PTHREAD_PROCESS_SHARED" >&5
printf "%s\n" "$gl_cv_const_PTHREAD_PROCESS_SHARED" >&6; }
@@ -35597,14 +39505,35 @@ then :
printf "%s\n" "#define HAVE_SIGSET_T 1" >>confdefs.h
gl_cv_type_sigset_t=yes
-else $as_nop
- gl_cv_type_sigset_t=no
+else case e in #(
+ e) gl_cv_type_sigset_t=no ;;
+esac
fi
if test $gl_cv_type_sigset_t != yes; then
HAVE_SIGSET_T=0
fi
+ac_fn_check_decl "$LINENO" "initstate" "ac_cv_have_decl_initstate" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_initstate" = xyes
+then :
+ ac_have_decl=1
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_INITSTATE $ac_have_decl" >>confdefs.h
+
+ac_fn_check_decl "$LINENO" "setstate" "ac_cv_have_decl_setstate" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_setstate" = xyes
+then :
+ ac_have_decl=1
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_SETSTATE $ac_have_decl" >>confdefs.h
+
@@ -35650,8 +39579,8 @@ printf %s "checking absolute name of <sched.h>... " >&6; }
if test ${gl_cv_next_sched_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -35664,7 +39593,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -35687,7 +39616,8 @@ _ACEOF
gl_header=$gl_cv_absolute_sched_h
gl_cv_next_sched_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sched_h" >&5
printf "%s\n" "$gl_cv_next_sched_h" >&6; }
@@ -35724,8 +39654,9 @@ printf "%s\n" "$gl_cv_next_sched_h" >&6; }
if test "x$ac_cv_type_struct_sched_param" = xyes
then :
HAVE_STRUCT_SCHED_PARAM=1
-else $as_nop
- HAVE_STRUCT_SCHED_PARAM=0
+else case e in #(
+ e) HAVE_STRUCT_SCHED_PARAM=0 ;;
+esac
fi
else
@@ -35801,9 +39732,9 @@ printf %s "checking for WSAStartup... " >&6; }
if test ${gl_cv_func_wsastartup+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- gl_save_LIBS="$LIBS"
+else case e in #(
+ e)
+ gl_saved_LIBS="$LIBS"
LIBS="$LIBS -lws2_32"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -35828,13 +39759,15 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_wsastartup=yes
-else $as_nop
- gl_cv_func_wsastartup=no
+else case e in #(
+ e) gl_cv_func_wsastartup=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$gl_save_LIBS"
-
+ LIBS="$gl_saved_LIBS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5
printf "%s\n" "$gl_cv_func_wsastartup" >&6; }
@@ -35850,8 +39783,8 @@ printf %s "checking for library containing setsockopt... " >&6; }
if test ${gl_cv_lib_socket+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
gl_cv_lib_socket=
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -35871,9 +39804,9 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
-else $as_nop
- gl_save_LIBS="$LIBS"
- LIBS="$gl_save_LIBS -lsocket"
+else case e in #(
+ e) gl_saved_LIBS="$LIBS"
+ LIBS="$gl_saved_LIBS -lsocket"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern
@@ -35896,7 +39829,7 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test -z "$gl_cv_lib_socket"; then
- LIBS="$gl_save_LIBS -lnetwork"
+ LIBS="$gl_saved_LIBS -lnetwork"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern
@@ -35919,7 +39852,7 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test -z "$gl_cv_lib_socket"; then
- LIBS="$gl_save_LIBS -lnet"
+ LIBS="$gl_saved_LIBS -lnet"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern
@@ -35943,15 +39876,17 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
fi
- LIBS="$gl_save_LIBS"
-
+ LIBS="$gl_saved_LIBS"
+ ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test -z "$gl_cv_lib_socket"; then
gl_cv_lib_socket="none needed"
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5
printf "%s\n" "$gl_cv_lib_socket" >&6; }
@@ -35972,8 +39907,9 @@ ac_fn_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_defau
if test "x$ac_cv_have_decl_setenv" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_SETENV $ac_have_decl" >>confdefs.h
@@ -35988,7 +39924,6 @@ printf "%s\n" "#define HAVE_DECL_SETENV $ac_have_decl" >>confdefs.h
-
ac_fn_c_check_header_compile "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
if test "x$ac_cv_header_search_h" = xyes
then :
@@ -35996,45 +39931,97 @@ then :
fi
- ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tsearch" >&5
+printf %s "checking for tsearch... " >&6; }
+if test ${gl_cv_onwards_func_tsearch+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "tsearch" "ac_cv_have_decl_tsearch" "#include <search.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_tsearch" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_tsearch = yes; then
+ ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
if test "x$ac_cv_func_tsearch" = xyes
then :
- printf "%s\n" "#define HAVE_TSEARCH 1" >>confdefs.h
fi
+ if test $ac_cv_func_tsearch = yes; then
+ gl_cv_onwards_func_tsearch=yes
+ else
+ gl_cv_onwards_func_tsearch='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_tsearch='future OS version'
+ fi
+ ;;
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-printf %s "checking for uid_t in sys/types.h... " >&6; }
-if test ${ac_cv_type_uid_t+y}
+ *)
+ ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
+if test "x$ac_cv_func_tsearch" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1
-then :
- ac_cv_type_uid_t=yes
-else $as_nop
- ac_cv_type_uid_t=no
fi
-rm -rf conftest*
+ gl_cv_onwards_func_tsearch=$ac_cv_func_tsearch
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-printf "%s\n" "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_tsearch" >&5
+printf "%s\n" "$gl_cv_onwards_func_tsearch" >&6; }
+ case "$gl_cv_onwards_func_tsearch" in
+ future*) ac_cv_func_tsearch=no ;;
+ *) ac_cv_func_tsearch=$gl_cv_onwards_func_tsearch ;;
+ esac
+ if test $ac_cv_func_tsearch = yes; then
+
+printf "%s\n" "#define HAVE_TSEARCH 1" >>confdefs.h
+
+ fi
+
+
+
+
+ac_fn_c_check_type "$LINENO" "uid_t" "ac_cv_type_uid_t" "$ac_includes_default"
+if test "x$ac_cv_type_uid_t" = xyes
+then :
+
+else case e in #(
+ e)
printf "%s\n" "#define uid_t int" >>confdefs.h
+ ;;
+esac
+fi
+ac_fn_c_check_type "$LINENO" "gid_t" "ac_cv_type_gid_t" "$ac_includes_default"
+if test "x$ac_cv_type_gid_t" = xyes
+then :
+else case e in #(
+ e)
printf "%s\n" "#define gid_t int" >>confdefs.h
-
+ ;;
+esac
fi
@@ -36056,8 +40043,8 @@ printf %s "checking absolute name of <signal.h>... " >&6; }
if test ${gl_cv_next_signal_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -36070,7 +40057,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -36093,7 +40080,8 @@ _ACEOF
gl_header=$gl_cv_absolute_signal_h
gl_cv_next_signal_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5
printf "%s\n" "$gl_cv_next_signal_h" >&6; }
@@ -36122,8 +40110,9 @@ printf "%s\n" "$gl_cv_next_signal_h" >&6; }
if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes
then :
-else $as_nop
- HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0
+else case e in #(
+ e) HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 ;;
+esac
fi
@@ -36139,8 +40128,9 @@ fi
if test "x$ac_cv_type_sighandler_t" = xyes
then :
-else $as_nop
- HAVE_SIGHANDLER_T=0
+else case e in #(
+ e) HAVE_SIGHANDLER_T=0 ;;
+esac
fi
@@ -36152,19 +40142,213 @@ fi
+
+
+
+
+
+
+
+ case "$host_cpu" in
+ mips*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the NaN float encoding is IEEE 754-2008 compliant" >&5
+printf %s "checking whether the NaN float encoding is IEEE 754-2008 compliant... " >&6; }
+if test ${gl_cv_nan2008_f+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "$cross_compiling" = yes
+then :
+ gl_cv_nan2008_f="guessing no"
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ float volatile zero;
+ /* Assume 'float' has 32 bits, i.e. IEEE single-float. */
+ union { float value; unsigned int word; } qnan;
+
+int
+main (void)
+{
+qnan.value = zero / zero;
+ return !((qnan.word >> 22) & 1);
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_nan2008_f=yes
+else case e in #(
+ e) gl_cv_nan2008_f=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_nan2008_f" >&5
+printf "%s\n" "$gl_cv_nan2008_f" >&6; }
+ case "$gl_cv_nan2008_f" in
+ *yes) gl_mips_nan2008_f=1 ;;
+ *) gl_mips_nan2008_f=0 ;;
+ esac
+
+printf "%s\n" "#define MIPS_NAN2008_FLOAT $gl_mips_nan2008_f" >>confdefs.h
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the NaN double encoding is IEEE 754-2008 compliant" >&5
+printf %s "checking whether the NaN double encoding is IEEE 754-2008 compliant... " >&6; }
+if test ${gl_cv_nan2008_d+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "$cross_compiling" = yes
+then :
+ gl_cv_nan2008_d="guessing no"
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ double volatile zero;
+ /* Assume 'double' has 64 bits, i.e. IEEE double-float. */
+ union { double value; unsigned long long word; } qnan;
+
+int
+main (void)
+{
+qnan.value = zero / zero;
+ return !((qnan.word >> 51) & 1);
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_nan2008_d=yes
+else case e in #(
+ e) gl_cv_nan2008_d=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_nan2008_d" >&5
+printf "%s\n" "$gl_cv_nan2008_d" >&6; }
+ case "$gl_cv_nan2008_d" in
+ *yes) gl_mips_nan2008_d=1 ;;
+ *) gl_mips_nan2008_d=0 ;;
+ esac
+
+printf "%s\n" "#define MIPS_NAN2008_DOUBLE $gl_mips_nan2008_d" >>confdefs.h
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the NaN long double encoding is IEEE 754-2008 compliant" >&5
+printf %s "checking whether the NaN long double encoding is IEEE 754-2008 compliant... " >&6; }
+if test ${gl_cv_nan2008_l+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "$cross_compiling" = yes
+then :
+ gl_cv_nan2008_l="guessing no"
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <float.h>
+ long double volatile zero;
+ #define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ union { long double value; unsigned int word[NWORDS]; } qnan;
+
+int
+main (void)
+{
+qnan.value = zero / zero;
+ #if defined _MIPSEB /* equivalent: __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ */
+ return !((qnan.word[0] >> ((LDBL_MANT_DIG - 2) % 32)) & 1);
+ #else
+ return !((qnan.word[NWORDS - 1] >> ((LDBL_MANT_DIG - 2) % 32)) & 1);
+ #endif
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_nan2008_l=yes
+else case e in #(
+ e) gl_cv_nan2008_l=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_nan2008_l" >&5
+printf "%s\n" "$gl_cv_nan2008_l" >&6; }
+ case "$gl_cv_nan2008_l" in
+ *yes) gl_mips_nan2008_l=1 ;;
+ *) gl_mips_nan2008_l=0 ;;
+ esac
+
+printf "%s\n" "#define MIPS_NAN2008_LONG_DOUBLE $gl_mips_nan2008_l" >>confdefs.h
+
+ ;;
+ esac
+
ac_fn_check_decl "$LINENO" "fcloseall" "ac_cv_have_decl_fcloseall" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_fcloseall" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_FCLOSEALL $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "getw" "ac_cv_have_decl_getw" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getw" = xyes
+then :
+ ac_have_decl=1
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_GETW $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "putw" "ac_cv_have_decl_putw" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_putw" = xyes
+then :
+ ac_have_decl=1
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_PUTW $ac_have_decl" >>confdefs.h
- printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
@@ -36182,8 +40366,8 @@ printf %s "checking absolute name of <stdio.h>... " >&6; }
if test ${gl_cv_next_stdio_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -36196,7 +40380,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -36219,7 +40403,8 @@ _ACEOF
gl_header=$gl_cv_absolute_stdio_h
gl_cv_next_stdio_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
printf "%s\n" "$gl_cv_next_stdio_h" >&6; }
@@ -36244,8 +40429,8 @@ printf %s "checking which flavor of printf attribute matches inttypes macros...
if test ${gl_cv_func_printf_attribute_flavor+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define __STDC_FORMAT_MACROS 1
@@ -36270,10 +40455,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_printf_attribute_flavor=system
-else $as_nop
- gl_cv_func_printf_attribute_flavor=gnu
+else case e in #(
+ e) gl_cv_func_printf_attribute_flavor=gnu ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5
printf "%s\n" "$gl_cv_func_printf_attribute_flavor" >&6; }
@@ -36295,11 +40482,22 @@ printf "%s\n" "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h
+
+
if test $ac_cv_have_decl_fcloseall = no; then
HAVE_DECL_FCLOSEALL=0
fi
+ if test $ac_cv_have_decl_getw = no; then
+ HAVE_DECL_GETW=0
+ fi
+
+
+ if test $ac_cv_have_decl_putw = no; then
+ HAVE_DECL_PUTW=0
+ fi
+
@@ -36312,8 +40510,8 @@ printf %s "checking whether <sys/ioctl.h> declares ioctl... " >&6; }
if test ${gl_cv_decl_ioctl_in_sys_ioctl_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/ioctl.h>
int
@@ -36327,11 +40525,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_decl_ioctl_in_sys_ioctl_h=yes
-else $as_nop
- gl_cv_decl_ioctl_in_sys_ioctl_h=no
+else case e in #(
+ e) gl_cv_decl_ioctl_in_sys_ioctl_h=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_ioctl_in_sys_ioctl_h" >&5
printf "%s\n" "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; }
@@ -36356,8 +40556,8 @@ printf %s "checking absolute name of <sys/ioctl.h>... " >&6; }
if test ${gl_cv_next_sys_ioctl_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_sys_ioctl_h = yes; then
@@ -36373,7 +40573,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -36399,7 +40599,8 @@ _ACEOF
gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5
printf "%s\n" "$gl_cv_next_sys_ioctl_h" >&6; }
@@ -36446,8 +40647,8 @@ printf %s "checking absolute name of <sys/uio.h>... " >&6; }
if test ${gl_cv_next_sys_uio_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_sys_uio_h = yes; then
@@ -36463,7 +40664,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -36489,7 +40690,8 @@ _ACEOF
gl_cv_next_sys_uio_h='<'sys/uio.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5
printf "%s\n" "$gl_cv_next_sys_uio_h" >&6; }
@@ -36524,8 +40726,8 @@ printf %s "checking for struct timespec in <time.h>... " >&6; }
if test ${gl_cv_sys_struct_timespec_in_time_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <time.h>
@@ -36540,10 +40742,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_timespec_in_time_h=yes
-else $as_nop
- gl_cv_sys_struct_timespec_in_time_h=no
+else case e in #(
+ e) gl_cv_sys_struct_timespec_in_time_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5
printf "%s\n" "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
@@ -36560,8 +40764,8 @@ printf %s "checking for struct timespec in <sys/time.h>... " >&6; }
if test ${gl_cv_sys_struct_timespec_in_sys_time_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/time.h>
@@ -36576,10 +40780,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_timespec_in_sys_time_h=yes
-else $as_nop
- gl_cv_sys_struct_timespec_in_sys_time_h=no
+else case e in #(
+ e) gl_cv_sys_struct_timespec_in_sys_time_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5
printf "%s\n" "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
@@ -36591,8 +40797,8 @@ printf %s "checking for struct timespec in <pthread.h>... " >&6; }
if test ${gl_cv_sys_struct_timespec_in_pthread_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
@@ -36607,10 +40813,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_timespec_in_pthread_h=yes
-else $as_nop
- gl_cv_sys_struct_timespec_in_pthread_h=no
+else case e in #(
+ e) gl_cv_sys_struct_timespec_in_pthread_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
printf "%s\n" "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
@@ -36622,8 +40830,8 @@ printf %s "checking for struct timespec in <unistd.h>... " >&6; }
if test ${gl_cv_sys_struct_timespec_in_unistd_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
@@ -36638,10 +40846,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_sys_struct_timespec_in_unistd_h=yes
-else $as_nop
- gl_cv_sys_struct_timespec_in_unistd_h=no
+else case e in #(
+ e) gl_cv_sys_struct_timespec_in_unistd_h=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5
printf "%s\n" "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; }
@@ -36675,8 +40885,8 @@ printf %s "checking absolute name of <time.h>... " >&6; }
if test ${gl_cv_next_time_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -36689,7 +40899,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -36712,7 +40922,8 @@ _ACEOF
gl_header=$gl_cv_absolute_time_h
gl_cv_next_time_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5
printf "%s\n" "$gl_cv_next_time_h" >&6; }
@@ -36744,8 +40955,8 @@ printf %s "checking for TIME_UTC in <time.h>... " >&6; }
if test ${gl_cv_time_h_has_TIME_UTC+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <time.h>
@@ -36760,10 +40971,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_time_h_has_TIME_UTC=yes
-else $as_nop
- gl_cv_time_h_has_TIME_UTC=no
+else case e in #(
+ e) gl_cv_time_h_has_TIME_UTC=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_h_has_TIME_UTC" >&5
printf "%s\n" "$gl_cv_time_h_has_TIME_UTC" >&6; }
@@ -36774,12 +40987,130 @@ printf "%s\n" "$gl_cv_time_h_has_TIME_UTC" >&6; }
fi
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional Arabic locale" >&5
+printf %s "checking for a traditional Arabic locale... " >&6; }
+if test ${gt_cv_locale_ar+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if defined __BEOS__ || defined __HAIKU__
+ return 1;
+#else
+ /* Check whether the given locale name is recognized by the system. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* On native Windows, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check that nl_langinfo(CODESET) is nonempty and not "ASCII" or "646"
+ and ends in "6". */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || cs[strlen (cs) - 1] != '6')
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ return 0;
+#endif
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Note that on native Windows, the Arabic locale is
+ # "Arabic_Saudi Arabia.1256", and CP1256 is very different from
+ # ISO-8859-6, so we cannot use it here.
+ gt_cv_locale_ar=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Values tested:
+ # - The usual locale name: ar_SA
+ # - The locale name with explicit encoding suffix: ar_SA.ISO-8859-6
+ # - The HP-UX locale name: ar_SA.iso88596
+ # - The Solaris 7 locale name: ar
+ # Also try ar_EG instead of ar_SA because Egypt is a large country too.
+ for gt_cv_locale_ar in ar_SA ar_SA.ISO-8859-6 ar_SA.iso88596 ar_EG ar_EG.ISO-8859-6 ar_EG.iso88596 ar none; do
+ if test $gt_cv_locale_ar = none; then
+ break
+ fi
+ if (LC_ALL=$gt_cv_locale_ar LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ break
+ fi
+ done
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ar" >&5
+printf "%s\n" "$gt_cv_locale_ar" >&6; }
+ LOCALE_AR=$gt_cv_locale_ar
+ case $LOCALE_AR in #(
+ '' | *[[:space:]\"\$\'*[]*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_AR\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_AR\"; assuming \"none\"" >&2;}
+ LOCALE_AR=none;;
+ esac
+
+
ac_fn_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_unsetenv" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_UNSETENV $ac_have_decl" >>confdefs.h
@@ -36791,7 +41122,7 @@ printf "%s\n" "#define HAVE_DECL_UNSETENV $ac_have_decl" >>confdefs.h
if test $gl_threads_api = posix; then
- YIELD_LIB="$LIB_SCHED_YIELD"
+ YIELD_LIB="$SCHED_YIELD_LIB"
else
YIELD_LIB=
fi
@@ -36801,7 +41132,7 @@ printf "%s\n" "#define HAVE_DECL_UNSETENV $ac_have_decl" >>confdefs.h
GL_CFLAG_GNULIB_WARNINGS=''
if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then
- cat > conftest.c <<\EOF
+ cat > conftest.c <<\EOF
#if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
-Wno-cast-qual
-Wno-conversion
@@ -36820,6 +41151,9 @@ printf "%s\n" "#define HAVE_DECL_UNSETENV $ac_have_decl" >>confdefs.h
#if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
-Wno-pedantic
#endif
+ #if 3 < __clang_major__ + (9 <= __clang_minor__)
+ -Wno-tautological-constant-out-of-range-compare
+ #endif
#if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
-Wno-sign-conversion
-Wno-type-limits
@@ -36882,8 +41216,8 @@ printf %s "checking for alloca as a compiler built-in... " >&6; }
if test ${gl_cv_rpl_alloca+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -36893,15 +41227,17 @@ else $as_nop
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Need own alloca" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Need own alloca" >/dev/null 2>&1
then :
gl_cv_rpl_alloca=yes
-else $as_nop
- gl_cv_rpl_alloca=no
+else case e in #(
+ e) gl_cv_rpl_alloca=no ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
printf "%s\n" "$gl_cv_rpl_alloca" >&6; }
@@ -36964,12 +41300,12 @@ printf %s "checking for static_assert... " >&6; }
if test ${gl_cv_static_assert+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_save_CFLAGS=$CFLAGS
+else case e in #(
+ e) gl_saved_CFLAGS=$CFLAGS
for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
case $gl_working in #(
*assert.h*) :
- CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H" ;; #(
+ CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H" ;; #(
*) :
;;
esac
@@ -36978,7 +41314,7 @@ esac
/* end confdefs.h. */
#if defined __clang__ && __STDC_VERSION__ < 202311
#pragma clang diagnostic error "-Wc2x-extensions"
- #pragma clang diagnostic error "-Wc++17-extensions"
+ #pragma clang diagnostic error "-Wc++1z-extensions"
#endif
#ifdef INCLUDE_ASSERT_H
#include <assert.h>
@@ -37000,13 +41336,15 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_static_assert=$gl_working
-else $as_nop
- gl_cv_static_assert=no
+else case e in #(
+ e) gl_cv_static_assert=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$gl_save_CFLAGS
+ CFLAGS=$gl_saved_CFLAGS
test "$gl_cv_static_assert" != no && break
- done
+ done ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_static_assert" >&5
printf "%s\n" "$gl_cv_static_assert" >&6; }
@@ -37035,8 +41373,8 @@ printf %s "checking absolute name of <assert.h>... " >&6; }
if test ${gl_cv_next_assert_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -37049,7 +41387,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -37072,7 +41410,8 @@ _ACEOF
gl_header=$gl_cv_absolute_assert_h
gl_cv_next_assert_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_assert_h" >&5
printf "%s\n" "$gl_cv_next_assert_h" >&6; }
@@ -37136,8 +41475,8 @@ printf %s "checking for __builtin_expect... " >&6; }
if test ${gl_cv___builtin_expect+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -37150,8 +41489,8 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv___builtin_expect=yes
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <builtins.h>
@@ -37165,14 +41504,17 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv___builtin_expect="in <builtins.h>"
-else $as_nop
- gl_cv___builtin_expect=no
+else case e in #(
+ e) gl_cv___builtin_expect=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv___builtin_expect" >&5
printf "%s\n" "$gl_cv___builtin_expect" >&6; }
@@ -37190,6 +41532,314 @@ printf "%s\n" "$gl_cv___builtin_expect" >&6; }
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISALNUM=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISALNUM 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISALPHA=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISALPHA 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISBLANK=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISBLANK 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISCNTRL=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISCNTRL 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISDIGIT=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISDIGIT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISGRAPH=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISGRAPH 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISLOWER=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISLOWER 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISPRINT=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISPRINT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISPUNCT=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISPUNCT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISSPACE=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISSPACE 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISUPPER=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISUPPER 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32ISXDIGIT=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32ISXDIGIT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32TOLOWER=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32TOLOWER 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_C32WIDTH=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32WIDTH 1" >>confdefs.h
+
+
+
+
+
+
+
+
case "$GL_GENERATE_ERRNO_H" in
false) ERRNO_H='' ;;
true)
@@ -37226,8 +41876,8 @@ printf %s "checking for flexible array member... " >&6; }
if test ${ac_cv_c_flexmember+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <stdio.h>
@@ -37253,10 +41903,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_flexmember=yes
-else $as_nop
- ac_cv_c_flexmember=no
+else case e in #(
+ e) ac_cv_c_flexmember=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5
printf "%s\n" "$ac_cv_c_flexmember" >&6; }
@@ -37298,8 +41950,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
-else $as_nop
- GL_GENERATE_FLOAT_H=true
+else case e in #(
+ e) GL_GENERATE_FLOAT_H=true ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
;;
@@ -37327,8 +41980,8 @@ printf %s "checking whether conversion from 'int' to 'long double' works... " >&
if test ${gl_cv_func_itold_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host" in
@@ -37345,18 +41998,21 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_itold_works="guessing no"
-else $as_nop
- gl_cv_func_itold_works="guessing yes"
+else case e in #(
+ e) gl_cv_func_itold_works="guessing yes" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_itold_works="guessing yes" ;;
- *) gl_cv_func_itold_works="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*)
+ gl_cv_func_itold_works="guessing yes" ;;
+ *)
+ gl_cv_func_itold_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i = -1;
@@ -37372,14 +42028,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_itold_works=yes
-else $as_nop
- gl_cv_func_itold_works=no
+else case e in #(
+ e) gl_cv_func_itold_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5
printf "%s\n" "$gl_cv_func_itold_works" >&6; }
@@ -37407,8 +42066,8 @@ printf %s "checking absolute name of <float.h>... " >&6; }
if test ${gl_cv_next_float_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -37421,7 +42080,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -37444,7 +42103,8 @@ _ACEOF
gl_header=$gl_cv_absolute_float_h
gl_cv_next_float_h='"'$gl_header'"'
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5
printf "%s\n" "$gl_cv_next_float_h" >&6; }
@@ -37535,8 +42195,8 @@ printf %s "checking whether free is known to preserve errno... " >&6; }
if test ${gl_cv_func_free_preserves_errno+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -37557,11 +42217,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_free_preserves_errno=yes
-else $as_nop
- gl_cv_func_free_preserves_errno=no
+else case e in #(
+ e) gl_cv_func_free_preserves_errno=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_free_preserves_errno" >&5
printf "%s\n" "$gl_cv_func_free_preserves_errno" >&6; }
@@ -37625,13 +42287,17 @@ printf %s "checking whether frexp works... " >&6; }
if test ${gl_cv_func_frexp_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
netbsd* | irix*) gl_cv_func_frexp_works="guessing no" ;;
- mingw*) # Guess yes with MSVC, no with mingw.
+ # Guess yes with MSVC, no with mingw.
+ windows*-msvc*)
+ gl_cv_func_frexp_works="guessing yes"
+ ;;
+ mingw* | windows*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -37641,11 +42307,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Good" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Good" >/dev/null 2>&1
then :
gl_cv_func_frexp_works="guessing yes"
-else $as_nop
- gl_cv_func_frexp_works="guessing no"
+else case e in #(
+ e) gl_cv_func_frexp_works="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -37653,8 +42320,8 @@ rm -rf conftest*
*) gl_cv_func_frexp_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -37715,7 +42382,8 @@ int main()
{
int exp;
double y = frexp (x, &exp);
- if (memcmp (&y, &x, sizeof x))
+ double x1 = x;
+ if (memcmp (&y, &x1, sizeof x1))
result |= 4;
}
return result;
@@ -37724,14 +42392,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_frexp_works=yes
-else $as_nop
- gl_cv_func_frexp_works=no
+else case e in #(
+ e) gl_cv_func_frexp_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_works" >&5
printf "%s\n" "$gl_cv_func_frexp_works" >&6; }
@@ -37789,8 +42460,9 @@ printf "%s\n" "#define GNULIB_TEST_FREXP 1" >>confdefs.h
if test "x$ac_cv_have_decl_frexpl" = xyes
then :
-else $as_nop
- HAVE_DECL_FREXPL=0
+else case e in #(
+ e) HAVE_DECL_FREXPL=0 ;;
+esac
fi
if test $HAVE_DECL_FREXPL = 1; then
@@ -37799,8 +42471,8 @@ printf %s "checking whether frexpl() can be used without linking with libm... "
if test ${gl_cv_func_frexpl_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -37816,12 +42488,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_frexpl_no_libm=yes
-else $as_nop
- gl_cv_func_frexpl_no_libm=no
+else case e in #(
+ e) gl_cv_func_frexpl_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_no_libm" >&5
printf "%s\n" "$gl_cv_func_frexpl_no_libm" >&6; }
@@ -37834,19 +42508,19 @@ printf %s "checking whether frexpl works... " >&6; }
if test ${gl_cv_func_frexpl_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*)
+ aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | windows* | pw*)
gl_cv_func_frexpl_works="guessing no";;
*) gl_cv_func_frexpl_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -37947,14 +42621,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_frexpl_works=yes
-else $as_nop
- gl_cv_func_frexpl_works=no
+else case e in #(
+ e) gl_cv_func_frexpl_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_works" >&5
printf "%s\n" "$gl_cv_func_frexpl_works" >&6; }
@@ -38008,6 +42685,76 @@ printf "%s\n" "#define GNULIB_TEST_FREXPL 1" >>confdefs.h
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __fseterr" >&5
+printf %s "checking for __fseterr... " >&6; }
+if test ${gl_cv_onwards_func___fseterr+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "__fseterr" "ac_cv_have_decl___fseterr" "#include <stdio.h>
+ #include <stdio_ext.h>
+
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl___fseterr" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl___fseterr = yes; then
+ ac_fn_c_check_func "$LINENO" "__fseterr" "ac_cv_func___fseterr"
+if test "x$ac_cv_func___fseterr" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func___fseterr = yes; then
+ gl_cv_onwards_func___fseterr=yes
+ else
+ gl_cv_onwards_func___fseterr='future OS version'
+ fi
+ else
+ gl_cv_onwards_func___fseterr='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "__fseterr" "ac_cv_func___fseterr"
+if test "x$ac_cv_func___fseterr" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func___fseterr=$ac_cv_func___fseterr
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func___fseterr" >&5
+printf "%s\n" "$gl_cv_onwards_func___fseterr" >&6; }
+
+ case "$gl_cv_onwards_func___fseterr" in
+ future*) ac_cv_func___fseterr=no ;;
+ *) ac_cv_func___fseterr=$gl_cv_onwards_func___fseterr ;;
+ esac
+ if test $ac_cv_func___fseterr = yes; then
+
+printf "%s\n" "#define HAVE___FSETERR 1" >>confdefs.h
+
+ fi
+
+
+
if test $ac_cv_func___fseterr = no; then
GL_COND_OBJ_FSETERR_TRUE=
@@ -38023,7 +42770,9 @@ fi
fi
- LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL"
+ HARD_LOCALE_LIB="$SETLOCALE_NULL_LIB"
+
+ LIB_HARD_LOCALE="$HARD_LOCALE_LIB"
@@ -38097,17 +42846,19 @@ fi
/* end confdefs.h. */
#include <iconv.h>
- #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+ #if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || (defined __GLIBC__ && !defined __UCLIBC__)
gnu_iconv
#endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gnu_iconv" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "gnu_iconv" >/dev/null 2>&1
then :
gl_func_iconv_gnu=yes
-else $as_nop
- gl_func_iconv_gnu=no
+else case e in #(
+ e) gl_func_iconv_gnu=no ;;
+esac
fi
rm -rf conftest*
@@ -38208,8 +42959,8 @@ printf %s "checking whether the compiler generally respects inline... " >&6; }
if test ${gl_cv_c_inline_effective+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test $ac_cv_c_inline = no; then
+else case e in #(
+ e) if test $ac_cv_c_inline = no; then
gl_cv_c_inline_effective=no
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -38228,12 +42979,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_c_inline_effective=yes
-else $as_nop
- gl_cv_c_inline_effective=no
+else case e in #(
+ e) gl_cv_c_inline_effective=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5
printf "%s\n" "$gl_cv_c_inline_effective" >&6; }
@@ -38257,8 +43010,8 @@ printf %s "checking whether isnan(double) can be used without linking with libm.
if test ${gl_cv_func_isnand_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -38281,12 +43034,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_isnand_no_libm=yes
-else $as_nop
- gl_cv_func_isnand_no_libm=no
+else case e in #(
+ e) gl_cv_func_isnand_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_no_libm" >&5
printf "%s\n" "$gl_cv_func_isnand_no_libm" >&6; }
@@ -38320,8 +43075,8 @@ printf %s "checking whether isnan(float) can be used without linking with libm..
if test ${gl_cv_func_isnanf_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -38344,12 +43099,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_isnanf_no_libm=yes
-else $as_nop
- gl_cv_func_isnanf_no_libm=no
+else case e in #(
+ e) gl_cv_func_isnanf_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_no_libm" >&5
printf "%s\n" "$gl_cv_func_isnanf_no_libm" >&6; }
@@ -38363,13 +43120,13 @@ printf %s "checking whether isnan(float) works... " >&6; }
if test ${gl_cv_func_isnanf_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
irix* | solaris*) gl_cv_func_isnanf_works="guessing no" ;;
- mingw*) # Guess yes on mingw, no on MSVC.
+ mingw* | windows*) # Guess yes on mingw, no on MSVC.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -38379,11 +43136,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_isnanf_works="guessing yes"
-else $as_nop
- gl_cv_func_isnanf_works="guessing no"
+else case e in #(
+ e) gl_cv_func_isnanf_works="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -38391,8 +43149,8 @@ rm -rf conftest*
*) gl_cv_func_isnanf_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -38450,14 +43208,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_isnanf_works=yes
-else $as_nop
- gl_cv_func_isnanf_works=no
+else case e in #(
+ e) gl_cv_func_isnanf_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_works" >&5
printf "%s\n" "$gl_cv_func_isnanf_works" >&6; }
@@ -38490,113 +43251,6 @@ printf "%s\n" "#define HAVE_ISNANF_IN_LIBC 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
-printf %s "checking where to find the exponent in a 'float'... " >&6; }
-if test ${gl_cv_cc_float_expbit0+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- if test "$cross_compiling" = yes
-then :
- gl_cv_cc_float_expbit0="word 0 bit 23"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
- ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { float value; unsigned int word[NWORDS]; } memory_float;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (float x)
-{
- memory_float m;
- size_t i;
- /* Clear it first, in case
- sizeof (float) < sizeof (memory_float). */
- memset (&m, 0, sizeof (memory_float));
- m.value = x;
- for (i = 0; i < NWORDS; i++)
- {
- ored_words[i] |= m.word[i];
- anded_words[i] &= m.word[i];
- }
-}
-int main ()
-{
- size_t j;
- FILE *fp = fopen ("conftest.out", "w");
- if (fp == NULL)
- return 1;
- for (j = 0; j < NWORDS; j++)
- anded_words[j] = ~ (unsigned int) 0;
- add_to_ored_words (0.25f);
- add_to_ored_words (0.5f);
- add_to_ored_words (1.0f);
- add_to_ored_words (2.0f);
- add_to_ored_words (4.0f);
- /* Remove bits that are common (e.g. if representation of the first mantissa
- bit is explicit). */
- for (j = 0; j < NWORDS; j++)
- ored_words[j] &= ~anded_words[j];
- /* Now find the nonzero word. */
- for (j = 0; j < NWORDS; j++)
- if (ored_words[j] != 0)
- break;
- if (j < NWORDS)
- {
- size_t i;
- for (i = j + 1; i < NWORDS; i++)
- if (ored_words[i] != 0)
- {
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
- }
- for (i = 0; ; i++)
- if ((ored_words[j] >> i) & 1)
- {
- fprintf (fp, "word %d bit %d", (int) j, (int) i);
- return (fclose (fp) != 0);
- }
- }
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_cc_float_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_float_expbit0="unknown"
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- rm -f conftest.out
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
-printf "%s\n" "$gl_cv_cc_float_expbit0" >&6; }
- case "$gl_cv_cc_float_expbit0" in
- word*bit*)
- word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
- bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
-
-printf "%s\n" "#define FLT_EXPBIT0_WORD $word" >>confdefs.h
-
-
-printf "%s\n" "#define FLT_EXPBIT0_BIT $bit" >>confdefs.h
-
- ;;
- esac
-
fi
@@ -38606,8 +43260,8 @@ printf %s "checking whether isnan(long double) can be used without linking with
if test ${gl_cv_func_isnanl_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -38630,12 +43284,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_isnanl_no_libm=yes
-else $as_nop
- gl_cv_func_isnanl_no_libm=no
+else case e in #(
+ e) gl_cv_func_isnanl_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_no_libm" >&5
printf "%s\n" "$gl_cv_func_isnanl_no_libm" >&6; }
@@ -38651,12 +43307,12 @@ printf %s "checking whether isnanl works... " >&6; }
if test ${gl_cv_func_isnanl_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- mingw*) # Guess yes on mingw, no on MSVC.
+ mingw* | windows*) # Guess yes on mingw, no on MSVC.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -38666,11 +43322,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Known" >/dev/null 2>&1
then :
gl_cv_func_isnanl_works="guessing yes"
-else $as_nop
- gl_cv_func_isnanl_works="guessing no"
+else case e in #(
+ e) gl_cv_func_isnanl_works="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -38678,8 +43335,8 @@ rm -rf conftest*
*) gl_cv_func_isnanl_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -38795,14 +43452,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_isnanl_works=yes
-else $as_nop
- gl_cv_func_isnanl_works=no
+else case e in #(
+ e) gl_cv_func_isnanl_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_works" >&5
printf "%s\n" "$gl_cv_func_isnanl_works" >&6; }
@@ -38832,155 +43492,79 @@ printf "%s\n" "#define HAVE_ISNANL_IN_LIBC 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
-printf %s "checking where to find the exponent in a 'long double'... " >&6; }
-if test ${gl_cv_cc_long_double_expbit0+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
-then :
+ fi
- gl_cv_cc_long_double_expbit0="unknown"
- case "$host_os" in
- mingw*) # On native Windows (little-endian), we know the result
- # in two cases: mingw, MSVC.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __MINGW32__
- Known
-#endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
-then :
- gl_cv_cc_long_double_expbit0="word 2 bit 0"
-fi
-rm -rf conftest*
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef _MSC_VER
- Known
-#endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iswblank" >&5
+printf %s "checking for iswblank... " >&6; }
+if test ${gl_cv_onwards_func_iswblank+y}
then :
- gl_cv_cc_long_double_expbit0="word 1 bit 20"
-fi
-rm -rf conftest*
-
- ;;
- esac
-
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
- ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { long double value; unsigned int word[NWORDS]; }
- memory_long_double;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (long double *x)
-{
- memory_long_double m;
- size_t i;
- /* Clear it first, in case
- sizeof (long double) < sizeof (memory_long_double). */
- memset (&m, 0, sizeof (memory_long_double));
- m.value = *x;
- for (i = 0; i < NWORDS; i++)
- {
- ored_words[i] |= m.word[i];
- anded_words[i] &= m.word[i];
- }
-}
-int main ()
-{
- static long double samples[5] = { 0.25L, 0.5L, 1.0L, 2.0L, 4.0L };
- size_t j;
- FILE *fp = fopen ("conftest.out", "w");
- if (fp == NULL)
- return 1;
- for (j = 0; j < NWORDS; j++)
- anded_words[j] = ~ (unsigned int) 0;
- for (j = 0; j < 5; j++)
- add_to_ored_words (&samples[j]);
- /* Remove bits that are common (e.g. if representation of the first mantissa
- bit is explicit). */
- for (j = 0; j < NWORDS; j++)
- ored_words[j] &= ~anded_words[j];
- /* Now find the nonzero word. */
- for (j = 0; j < NWORDS; j++)
- if (ored_words[j] != 0)
- break;
- if (j < NWORDS)
- {
- size_t i;
- for (i = j + 1; i < NWORDS; i++)
- if (ored_words[i] != 0)
- {
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
- }
- for (i = 0; ; i++)
- if ((ored_words[j] >> i) & 1)
- {
- fprintf (fp, "word %d bit %d", (int) j, (int) i);
- return (fclose (fp) != 0);
- }
- }
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
-}
+ case "$host_os" in
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "iswblank" "ac_cv_have_decl_iswblank" "#include <wctype.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_iswblank" = xyes
then :
- gl_cv_cc_long_double_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_long_double_expbit0="unknown"
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
- rm -f conftest.out
+fi
+ if test $ac_cv_have_decl_iswblank = yes; then
+ ac_fn_c_check_func "$LINENO" "iswblank" "ac_cv_func_iswblank"
+if test "x$ac_cv_func_iswblank" = xyes
+then :
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
-printf "%s\n" "$gl_cv_cc_long_double_expbit0" >&6; }
- case "$gl_cv_cc_long_double_expbit0" in
- word*bit*)
- word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
- bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
-printf "%s\n" "#define LDBL_EXPBIT0_WORD $word" >>confdefs.h
+ if test $ac_cv_func_iswblank = yes; then
+ gl_cv_onwards_func_iswblank=yes
+ else
+ gl_cv_onwards_func_iswblank='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_iswblank='future OS version'
+ fi
+ ;;
-printf "%s\n" "#define LDBL_EXPBIT0_BIT $bit" >>confdefs.h
+ *)
+ ac_fn_c_check_func "$LINENO" "iswblank" "ac_cv_func_iswblank"
+if test "x$ac_cv_func_iswblank" = xyes
+then :
- ;;
- esac
+fi
+ gl_cv_onwards_func_iswblank=$ac_cv_func_iswblank
+ ;;
+ esac
- fi
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_iswblank" >&5
+printf "%s\n" "$gl_cv_onwards_func_iswblank" >&6; }
+ case "$gl_cv_onwards_func_iswblank" in
+ future*) ac_cv_func_iswblank=no ;;
+ *) ac_cv_func_iswblank=$gl_cv_onwards_func_iswblank ;;
+ esac
+ if test $ac_cv_func_iswblank = yes; then
+printf "%s\n" "#define HAVE_ISWBLANK 1" >>confdefs.h
+ fi
ac_fn_check_decl "$LINENO" "iswblank" "ac_cv_have_decl_iswblank" "
@@ -38991,14 +43575,19 @@ printf "%s\n" "#define LDBL_EXPBIT0_BIT $bit" >>confdefs.h
if test "x$ac_cv_have_decl_iswblank" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_ISWBLANK $ac_have_decl" >>confdefs.h
if test $ac_cv_func_iswblank = no; then
HAVE_ISWBLANK=0
- if test $ac_cv_have_decl_iswblank = yes; then
+ if test $ac_cv_have_decl_iswblank = yes \
+ || case "$gl_cv_onwards_func_iswblank" in \
+ future*) true ;; \
+ *) false ;; \
+ esac; then
REPLACE_ISWBLANK=1
fi
fi
@@ -39052,6 +43641,7 @@ printf "%s\n" "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h
+
if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
REPLACE_ISWDIGIT="$REPLACE_ISWCNTRL"
else
@@ -39060,11 +43650,11 @@ printf %s "checking whether iswdigit is ISO C compliant... " >&6; }
if test ${gl_cv_func_iswdigit_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on FreeBSD, NetBSD, Solaris, native Windows.
- freebsd* | dragonfly* | netbsd* | solaris* | mingw*)
+ freebsd* | dragonfly* | netbsd* | solaris* | mingw* | windows*)
gl_cv_func_iswdigit_works="guessing no" ;;
# Guess yes otherwise.
*) gl_cv_func_iswdigit_works="guessing yes" ;;
@@ -39073,8 +43663,8 @@ else $as_nop
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -39106,7 +43696,8 @@ main (int argc, char *argv[])
int is;
int result = 0;
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+ if (strcmp ("$LOCALE_FR", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR") != NULL)
{
/* This fails on mingw, MSVC 14. */
/* U+00B2 SUPERSCRIPT TWO */
@@ -39114,7 +43705,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 1;
}
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
/* This fails on NetBSD 8.0. */
/* U+FF11 FULLWIDTH DIGIT ONE */
@@ -39122,7 +43714,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 2;
}
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
/* This fails on FreeBSD 13.0, NetBSD 8.0, MSVC 14. */
/* U+0663 ARABIC-INDIC DIGIT THREE */
@@ -39135,7 +43728,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 8;
}
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
{
/* This fails on NetBSD 8.0, Solaris 10, Solaris 11.4. */
/* U+FF11 FULLWIDTH DIGIT ONE */
@@ -39149,15 +43743,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_iswdigit_works=yes
-else $as_nop
- gl_cv_func_iswdigit_works=no
+else case e in #(
+ e) gl_cv_func_iswdigit_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswdigit_works" >&5
printf "%s\n" "$gl_cv_func_iswdigit_works" >&6; }
@@ -39204,6 +43801,102 @@ printf "%s\n" "#define GNULIB_TEST_ISWDIGIT 1" >>confdefs.h
+ if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
+ REPLACE_ISWPUNCT="$REPLACE_ISWCNTRL"
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether iswpunct is consistent with ispunct" >&5
+printf %s "checking whether iswpunct is consistent with ispunct... " >&6; }
+if test ${gl_cv_func_iswpunct_works+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "$cross_compiling" = yes
+then :
+ case "$host_os" in
+ # Guess no on Android.
+ android*) gl_cv_func_iswpunct_works="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_iswpunct_works="guessing yes" ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <ctype.h>
+#include <wchar.h>
+#include <wctype.h>
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ /* This fails on Android 11. */
+ if ((! iswpunct ('\`')) != (! ispunct ('\`')))
+ result |= 1;
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_iswpunct_works=yes
+else case e in #(
+ e) gl_cv_func_iswpunct_works=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswpunct_works" >&5
+printf "%s\n" "$gl_cv_func_iswpunct_works" >&6; }
+ case "$gl_cv_func_iswpunct_works" in
+ *yes) ;;
+ *) REPLACE_ISWPUNCT=1 ;;
+ esac
+ fi
+
+
+ if ! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWPUNCT = 1; then
+ GL_COND_OBJ_ISWPUNCT_TRUE=
+ GL_COND_OBJ_ISWPUNCT_FALSE='#'
+else
+ GL_COND_OBJ_ISWPUNCT_TRUE='#'
+ GL_COND_OBJ_ISWPUNCT_FALSE=
+fi
+:
+ if test -z "${GL_COND_OBJ_ISWPUNCT_TRUE}" && test -z "${GL_COND_OBJ_ISWPUNCT_FALSE}"; then
+ GL_COND_OBJ_ISWPUNCT_TRUE='#'
+ GL_COND_OBJ_ISWPUNCT_FALSE='#'
+ fi
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_ISWPUNCT=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_ISWPUNCT 1" >>confdefs.h
+
+
+
+
+
+
+
+
@@ -39215,11 +43908,11 @@ printf %s "checking whether iswxdigit is ISO C compliant... " >&6; }
if test ${gl_cv_func_iswxdigit_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on FreeBSD, NetBSD, Solaris, native Windows.
- freebsd* | dragonfly* | netbsd* | solaris* | mingw*)
+ freebsd* | dragonfly* | netbsd* | solaris* | mingw* | windows*)
gl_cv_func_iswxdigit_works="guessing no" ;;
# Guess yes otherwise.
*) gl_cv_func_iswxdigit_works="guessing yes" ;;
@@ -39228,8 +43921,8 @@ else $as_nop
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -39261,7 +43954,8 @@ main (int argc, char *argv[])
int is;
int result = 0;
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
/* This fails on NetBSD 8.0. */
/* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */
@@ -39269,7 +43963,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 1;
}
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
/* This fails on FreeBSD 13.0. */
/* U+0663 ARABIC-INDIC DIGIT THREE */
@@ -39282,7 +43977,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 4;
}
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
{
/* This fails on Solaris 10, Solaris 11.4. */
/* U+FF11 FULLWIDTH DIGIT ONE */
@@ -39296,15 +43992,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_iswxdigit_works=yes
-else $as_nop
- gl_cv_func_iswxdigit_works=no
+else case e in #(
+ e) gl_cv_func_iswxdigit_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswxdigit_works" >&5
printf "%s\n" "$gl_cv_func_iswxdigit_works" >&6; }
@@ -39409,22 +44108,240 @@ fi
if test $HAVE_LOCALE_T = 1; then
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newlocale" >&5
+printf %s "checking for newlocale... " >&6; }
+if test ${gl_cv_onwards_func_newlocale+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "newlocale" "ac_cv_have_decl_newlocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_newlocale" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_newlocale = yes; then
+ ac_fn_c_check_func "$LINENO" "newlocale" "ac_cv_func_newlocale"
+if test "x$ac_cv_func_newlocale" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_newlocale = yes; then
+ gl_cv_onwards_func_newlocale=yes
+ else
+ gl_cv_onwards_func_newlocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_newlocale='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "newlocale" "ac_cv_func_newlocale"
+if test "x$ac_cv_func_newlocale" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_newlocale=$ac_cv_func_newlocale
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_newlocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_newlocale" >&6; }
+
+ case "$gl_cv_onwards_func_newlocale" in
+ future*) ac_cv_func_newlocale=no ;;
+ *) ac_cv_func_newlocale=$gl_cv_onwards_func_newlocale ;;
+ esac
+ if test $ac_cv_func_newlocale = yes; then
+
+printf "%s\n" "#define HAVE_NEWLOCALE 1" >>confdefs.h
+
+ fi
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for duplocale" >&5
+printf %s "checking for duplocale... " >&6; }
+if test ${gl_cv_onwards_func_duplocale+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "duplocale" "ac_cv_have_decl_duplocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_duplocale" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_duplocale = yes; then
+ ac_fn_c_check_func "$LINENO" "duplocale" "ac_cv_func_duplocale"
+if test "x$ac_cv_func_duplocale" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_duplocale = yes; then
+ gl_cv_onwards_func_duplocale=yes
+ else
+ gl_cv_onwards_func_duplocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_duplocale='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "duplocale" "ac_cv_func_duplocale"
+if test "x$ac_cv_func_duplocale" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_duplocale=$ac_cv_func_duplocale
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_duplocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_duplocale" >&6; }
+
+ case "$gl_cv_onwards_func_duplocale" in
+ future*) ac_cv_func_duplocale=no ;;
+ *) ac_cv_func_duplocale=$gl_cv_onwards_func_duplocale ;;
+ esac
+ if test $ac_cv_func_duplocale = yes; then
+
+printf "%s\n" "#define HAVE_DUPLOCALE 1" >>confdefs.h
+
+ fi
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for freelocale" >&5
+printf %s "checking for freelocale... " >&6; }
+if test ${gl_cv_onwards_func_freelocale+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "freelocale" "ac_cv_have_decl_freelocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_freelocale" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_freelocale = yes; then
+ ac_fn_c_check_func "$LINENO" "freelocale" "ac_cv_func_freelocale"
+if test "x$ac_cv_func_freelocale" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_freelocale = yes; then
+ gl_cv_onwards_func_freelocale=yes
+ else
+ gl_cv_onwards_func_freelocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_freelocale='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "freelocale" "ac_cv_func_freelocale"
+if test "x$ac_cv_func_freelocale" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_freelocale=$ac_cv_func_freelocale
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_freelocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_freelocale" >&6; }
+
+ case "$gl_cv_onwards_func_freelocale" in
+ future*) ac_cv_func_freelocale=no ;;
+ *) ac_cv_func_freelocale=$gl_cv_onwards_func_freelocale ;;
+ esac
+ if test $ac_cv_func_freelocale = yes; then
+
+printf "%s\n" "#define HAVE_FREELOCALE 1" >>confdefs.h
+
+ fi
+
+
gl_func_newlocale="$ac_cv_func_newlocale"
gl_func_duplocale="$ac_cv_func_duplocale"
gl_func_freelocale="$ac_cv_func_freelocale"
else
- gl_func_newlocale=no
+ gl_cv_onwards_func_newlocale='future OS version'
+ gl_cv_onwards_func_duplocale='future OS version'
+ gl_cv_onwards_func_freelocale='future OS version'
+ gl_func_newlocale=no
gl_func_duplocale=no
gl_func_freelocale=no
fi
if test $gl_func_newlocale != yes; then
HAVE_NEWLOCALE=0
+ case "$gl_cv_onwards_func_newlocale" in
+ future*) REPLACE_NEWLOCALE=1 ;;
+ esac
fi
if test $gl_func_duplocale != yes; then
HAVE_DUPLOCALE=0
+ case "$gl_cv_onwards_func_duplocale" in
+ future*) REPLACE_DUPLOCALE=1 ;;
+ esac
fi
if test $gl_func_freelocale != yes; then
HAVE_FREELOCALE=0
+ case "$gl_cv_onwards_func_freelocale" in
+ future*) REPLACE_FREELOCALE=1 ;;
+ esac
fi
if test $gt_localename_enhances_locale_funcs = yes; then
REPLACE_NEWLOCALE=1
@@ -39441,18 +44358,38 @@ fi
- GL_GNULIB_LOCALENAME=1
+ GL_GNULIB_LOCALENAME_UNSAFE=1
+
+
+printf "%s\n" "#define GNULIB_TEST_LOCALENAME_UNSAFE 1" >>confdefs.h
-printf "%s\n" "#define GNULIB_TEST_LOCALENAME 1" >>confdefs.h
+
+
+
+ if case "$host_os" in netbsd* | solaris*) true;; *) false;; esac; then
+ GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE=
+ GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE='#'
+else
+ GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE='#'
+ GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE=
+fi
+:
+ if test -z "${GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE}" && test -z "${GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE}"; then
+ GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE='#'
+ GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE='#'
+ fi
+
+
+
if test "$gl_threads_api" = posix; then
# OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
# pthread_rwlock_* functions.
@@ -39475,32 +44412,32 @@ printf %s "checking whether pthread_rwlock_rdlock prefers a writer to a reader..
if test ${gl_cv_pthread_rwlock_rdlock_prefer_writer+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- save_LIBS="$LIBS"
+else case e in #(
+ e) saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess no on glibc systems.
- *-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
- # Guess no on musl systems.
- *-musl*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
- # Guess no on bionic systems.
- *-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
- # Guess yes on native Windows with the mingw-w64 winpthreads library.
- # Guess no on native Windows with the gnulib windows-rwlock module.
- mingw*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"
- else
- gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no"
- fi
- ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;;
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
+ # Guess no on bionic systems.
+ *-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
+ # Guess yes on native Windows with the mingw-w64 winpthreads library.
+ # Guess no on native Windows with the gnulib windows-rwlock module.
+ mingw* | windows*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
+ gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"
+ else
+ gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no"
+ fi
+ ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
@@ -39618,15 +44555,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_pthread_rwlock_rdlock_prefer_writer=yes
-else $as_nop
- gl_cv_pthread_rwlock_rdlock_prefer_writer=no
+else case e in #(
+ e) gl_cv_pthread_rwlock_rdlock_prefer_writer=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- LIBS="$save_LIBS"
-
+ LIBS="$saved_LIBS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pthread_rwlock_rdlock_prefer_writer" >&5
printf "%s\n" "$gl_cv_pthread_rwlock_rdlock_prefer_writer" >&6; }
@@ -39736,188 +44676,320 @@ printf "%s\n" "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+ if test $gl_cv_func_mbrtoc32 = no; then
+ HAVE_MBRTOC32=0
+ else
+ if test $GNULIBHEADERS_OVERRIDE_CHAR32_T = 1 || test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBRTOC32=1
+ else
-
- if case "$host_os" in
- mingw*) true ;;
- *) test $ac_cv_func_mbsinit = yes ;;
- esac \
- && test $ac_cv_func_mbrtowc = yes; then
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
-if test ${gl_cv_func_mbrtowc_incomplete_state+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtoc32 works on empty input" >&5
+printf %s "checking whether mbrtoc32 works on empty input... " >&6; }
+if test ${gl_cv_func_mbrtoc32_empty_input+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- case "$host_os" in
- # Guess no on AIX and OSF/1.
- aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
- esac
- if test $LOCALE_JA != none; then
- if test "$cross_compiling" = yes
+else case e in #(
+ e)
+ if test "$cross_compiling" = yes
then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ case "$host_os" in
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_mbrtoc32_empty_input="guessing no" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_mbrtoc32_empty_input="guessing no" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtoc32_empty_input="guessing no" ;;
+ *) gl_cv_func_mbrtoc32_empty_input="guessing yes" ;;
+ esac
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 2;
- }
- return 0;
-}
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ static char32_t wc;
+ static mbstate_t mbs;
+ int
+ main (void)
+ {
+ return mbrtoc32 (&wc, "", 0, &mbs) != (size_t) -2;
+ }
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
- gl_cv_func_mbrtowc_incomplete_state=yes
-else $as_nop
- gl_cv_func_mbrtowc_incomplete_state=no
+ gl_cv_func_mbrtoc32_empty_input=yes
+else case e in #(
+ e) gl_cv_func_mbrtoc32_empty_input=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- else
- if test $LOCALE_FR_UTF8 != none; then
- if test "$cross_compiling" = yes
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtoc32_empty_input" >&5
+printf "%s\n" "$gl_cv_func_mbrtoc32_empty_input" >&6; }
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5
+printf %s "checking whether the C locale is free of encoding errors... " >&6; }
+if test ${gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ+y}
then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "$cross_compiling" = yes
+then :
+ case "$host_os" in
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ="guessing yes" ;;
+ *) gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <limits.h>
+ #include <locale.h>
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
+int
+main (void)
{
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- const char input[] = "B\303\274\303\237er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 2;
- }
+ int i;
+ char *locale = setlocale (LC_ALL, "C");
+ if (! locale)
+ return 2;
+ for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+ {
+ char c = i;
+ char32_t wc;
+ mbstate_t mbs = { 0, };
+ size_t ss = mbrtoc32 (&wc, &c, 1, &mbs);
+ if (1 < ss)
+ return 3;
+ }
+ return 0;
+
+ ;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
- gl_cv_func_mbrtowc_incomplete_state=yes
-else $as_nop
- gl_cv_func_mbrtowc_incomplete_state=no
+ gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ=yes
+else case e in #(
+ e) gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- fi
- fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ" >&5
+printf "%s\n" "$gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ" >&6; }
+
+ case "$gl_cv_func_mbrtoc32_empty_input" in
+ *yes) ;;
+ *)
+printf "%s\n" "#define MBRTOC32_EMPTY_INPUT_BUG 1" >>confdefs.h
+
+ REPLACE_MBRTOC32=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ" in
+ *yes) ;;
+ *)
+printf "%s\n" "#define MBRTOC32_IN_C_LOCALE_MAYBE_EILSEQ 1" >>confdefs.h
+
+ REPLACE_MBRTOC32=1
+ ;;
+ esac
+ fi
+ if test $HAVE_WORKING_MBRTOC32 = 0; then
+ REPLACE_MBRTOC32=1
+ fi
+ fi
+
+ if test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; then
+ GL_COND_OBJ_MBRTOC32_TRUE=
+ GL_COND_OBJ_MBRTOC32_FALSE='#'
+else
+ GL_COND_OBJ_MBRTOC32_TRUE='#'
+ GL_COND_OBJ_MBRTOC32_FALSE=
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+:
+ if test -z "${GL_COND_OBJ_MBRTOC32_TRUE}" && test -z "${GL_COND_OBJ_MBRTOC32_FALSE}"; then
+ GL_COND_OBJ_MBRTOC32_TRUE='#'
+ GL_COND_OBJ_MBRTOC32_FALSE='#'
+ fi
+
+ if test -z "$GL_COND_OBJ_MBRTOC32_TRUE"; then :
+ if test $REPLACE_MBSTATE_T = 1; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if test ${gl_cv_func_mbrtowc_sanitycheck+y}
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS lc-charset-dispatch.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS mbtowc-lock.$ac_objext"
+
+
+
+
+ CFLAG_VISIBILITY=
+ HAVE_VISIBILITY=0
+ if test -n "$GCC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5
+printf %s "checking whether the -Werror option is usable... " >&6; }
+if test ${gl_cv_cc_vis_werror+y}
then :
printf %s "(cached) " >&6
-else $as_nop
+else case e in #(
+ e) gl_saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- case "$host_os" in
- # Guess no on Solaris 8.
- solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
- esac
- if test $LOCALE_ZH_CN != none; then
- if test "$cross_compiling" = yes
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ gl_cv_cc_vis_werror=yes
+else case e in #(
+ e) gl_cv_cc_vis_werror=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS="$gl_saved_CFLAGS"
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5
+printf "%s\n" "$gl_cv_cc_vis_werror" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5
+printf %s "checking for simple visibility declarations... " >&6; }
+if test ${gl_cv_cc_visibility+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) gl_saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ if test $gl_cv_cc_vis_werror = yes; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+ extern __attribute__((__visibility__("default"))) int exportedvar;
+ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+ void dummyfunc (void);
+ int hiddenvar;
+ int exportedvar;
+ int hiddenfunc (void) { return 51; }
+ int exportedfunc (void) { return 1225736919; }
+ void dummyfunc (void) {}
-#include <locale.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
+int
+main (void)
{
- /* This fails on Solaris 8:
- mbrtowc returns 2, and sets wc to 0x00F0.
- mbtowc returns 4 (correct) and sets wc to 0x5EDC. */
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 3, 6, &state) != 4
- && mbtowc (&wc, input + 3, 6) == 4)
- return 2;
- }
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"
+if ac_fn_c_try_compile "$LINENO"
then :
- gl_cv_func_mbrtowc_sanitycheck=yes
-else $as_nop
- gl_cv_func_mbrtowc_sanitycheck=no
+ gl_cv_cc_visibility=yes
+else case e in #(
+ e) gl_cv_cc_visibility=no ;;
+esac
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS="$gl_saved_CFLAGS"
+ ;;
+esac
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
+printf "%s\n" "$gl_cv_cc_visibility" >&6; }
+ if test $gl_cv_cc_visibility = yes; then
+ CFLAG_VISIBILITY="-fvisibility=hidden"
+ HAVE_VISIBILITY=1
+ fi
+ fi
+
+
+
+printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.h
+
+
+
+ fi
+
+ :
- fi
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
- REPLACE_MBSTATE_T=0
- case "$gl_cv_func_mbrtowc_incomplete_state" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- case "$gl_cv_func_mbrtowc_sanitycheck" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- else
- REPLACE_MBSTATE_T=1
- fi
+
+
+
+
+
+
+
+
+ GL_GNULIB_MBRTOC32=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_MBRTOC32 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
@@ -39930,8 +45002,9 @@ printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
if test "x$ac_cv_have_decl_mbrtowc" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_MBRTOWC $ac_have_decl" >>confdefs.h
@@ -39950,8 +45023,8 @@ printf %s "checking whether mbrtowc handles a NULL pwc argument... " >&6; }
if test ${gl_cv_func_mbrtowc_null_arg1+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on Solaris.
solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;;
@@ -39962,8 +45035,8 @@ else $as_nop
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -40002,15 +45075,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_null_arg1=yes
-else $as_nop
- gl_cv_func_mbrtowc_null_arg1=no
+else case e in #(
+ e) gl_cv_func_mbrtowc_null_arg1=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_null_arg1" >&6; }
@@ -40023,8 +45099,8 @@ printf %s "checking whether mbrtowc handles a NULL string argument... " >&6; }
if test ${gl_cv_func_mbrtowc_null_arg2+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on OSF/1.
osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;;
@@ -40035,8 +45111,8 @@ else $as_nop
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -40063,15 +45139,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_null_arg2=yes
-else $as_nop
- gl_cv_func_mbrtowc_null_arg2=no
+else case e in #(
+ e) gl_cv_func_mbrtowc_null_arg2=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_null_arg2" >&6; }
@@ -40086,21 +45165,23 @@ printf %s "checking whether mbrtowc has a correct return value... " >&6; }
if test ${gl_cv_func_mbrtowc_retval+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
- # Guess no on HP-UX, Solaris, native Windows.
- hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_retval="guessing yes" ;;
+ # Guess no on HP-UX, Solaris, native Windows.
+ hpux* | solaris* | mingw* | windows*)
+ gl_cv_func_mbrtowc_retval="guessing no" ;;
+ # Guess yes otherwise.
+ *)
+ gl_cv_func_mbrtowc_retval="guessing yes" ;;
esac
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \
- || { case "$host_os" in mingw*) true;; *) false;; esac; }; then
+ || { case "$host_os" in mingw* | windows*) true;; *) false;; esac; }; then
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -40111,7 +45192,8 @@ int main ()
int result = 0;
int found_some_locale = 0;
/* This fails on Solaris. */
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
char input[] = "B\303\274\303\237er"; /* "Büßer" */
mbstate_t state;
@@ -40127,7 +45209,8 @@ int main ()
found_some_locale = 1;
}
/* This fails on HP-UX 11.11. */
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
mbstate_t state;
@@ -40194,18 +45277,21 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_retval=yes
-else $as_nop
- if test $? != 77; then
+else case e in #(
+ e) if test $? != 77; then
gl_cv_func_mbrtowc_retval=no
fi
-
+ ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_retval" >&6; }
@@ -40218,8 +45304,8 @@ printf %s "checking whether mbrtowc returns 0 when parsing a NUL character... "
if test ${gl_cv_func_mbrtowc_nul_retval+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on Solaris 8 and 9.
solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;;
@@ -40230,8 +45316,8 @@ else $as_nop
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -40255,15 +45341,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_nul_retval=yes
-else $as_nop
- gl_cv_func_mbrtowc_nul_retval=no
+else case e in #(
+ e) gl_cv_func_mbrtowc_nul_retval=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_nul_retval" >&6; }
@@ -40275,20 +45364,20 @@ printf %s "checking whether mbrtowc stores incomplete characters... " >&6; }
if test ${gl_cv_func_mbrtowc_stores_incomplete+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
- # Guess yes on native Windows.
- mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;;
- *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;;
+ *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;;
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -40343,11 +45432,13 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_stores_incomplete=no
-else $as_nop
- gl_cv_func_mbrtowc_stores_incomplete=yes
+else case e in #(
+ e) gl_cv_func_mbrtowc_stores_incomplete=yes ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
;;
@@ -40357,8 +45448,8 @@ fi
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -40382,17 +45473,20 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_stores_incomplete=no
-else $as_nop
- gl_cv_func_mbrtowc_stores_incomplete=yes
+else case e in #(
+ e) gl_cv_func_mbrtowc_stores_incomplete=yes ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_stores_incomplete" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_stores_incomplete" >&6; }
@@ -40404,42 +45498,46 @@ printf %s "checking whether mbrtowc works on empty input... " >&6; }
if test ${gl_cv_func_mbrtowc_empty_input+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- case "$host_os" in
- # Guess no on AIX and glibc systems.
- aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
- *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
- esac
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ case "$host_os" in
+ # Guess no on AIX and glibc systems.
+ aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+ *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- #include <wchar.h>
- static wchar_t wc;
- static mbstate_t mbs;
- int
- main (void)
- {
- return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
- }
+ #include <wchar.h>
+ static wchar_t wc;
+ static mbstate_t mbs;
+ int
+ main (void)
+ {
+ return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
+ }
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_empty_input=yes
-else $as_nop
- gl_cv_func_mbrtowc_empty_input=no
+else case e in #(
+ e) gl_cv_func_mbrtowc_empty_input=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_empty_input" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_empty_input" >&6; }
@@ -40450,19 +45548,17 @@ printf %s "checking whether the C locale is free of encoding errors... " >&6; }
if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal"
-
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on native Windows.
- mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;;
- esac
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;;
+ *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;;
+ esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <limits.h>
#include <locale.h>
@@ -40494,14 +45590,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes
-else $as_nop
- gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no
+else case e in #(
+ e) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&5
printf "%s\n" "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&6; }
@@ -40566,7 +45665,9 @@ printf "%s\n" "#define MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ 1" >>confdefs.h
fi
if test $REPLACE_MBSTATE_T = 1; then
case "$host_os" in
- mingw*) LIB_MBRTOWC= ;;
+ mingw* | windows*)
+ MBRTOWC_LIB=
+ ;;
*)
@@ -40575,10 +45676,10 @@ printf %s "checking whether imported symbols can be declared weak... " >&6; }
if test ${gl_cv_have_weak+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
- cygwin*)
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) case "$host_os" in
+ cygwin* | mingw* | windows*)
+ gl_cv_have_weak="guessing no"
;;
*)
gl_cv_have_weak=no
@@ -40611,17 +45712,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Extensible Linking Format" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1
then :
gl_cv_have_weak="guessing yes"
-else $as_nop
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) gl_cv_have_weak="guessing no" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -40634,11 +45736,13 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_have_weak=yes
-else $as_nop
- gl_cv_have_weak=no
+else case e in #(
+ e) gl_cv_have_weak=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
@@ -40668,7 +45772,8 @@ EOF
esac
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5
printf "%s\n" "$gl_cv_have_weak" >&6; }
@@ -40681,15 +45786,17 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h
esac
case "$gl_cv_have_weak" in
- *yes) LIB_MBRTOWC= ;;
- *) LIB_MBRTOWC="$LIBPTHREAD" ;;
+ *yes) MBRTOWC_LIB= ;;
+ *) MBRTOWC_LIB="$LIBPTHREAD" ;;
esac
;;
esac
else
- LIB_MBRTOWC=
+ MBRTOWC_LIB=
fi
+ LIB_MBRTOWC="$MBRTOWC_LIB"
+
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
@@ -40739,8 +45846,8 @@ printf %s "checking whether the -Werror option is usable... " >&6; }
if test ${gl_cv_cc_vis_werror+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_save_CFLAGS="$CFLAGS"
+else case e in #(
+ e) gl_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -40756,12 +45863,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_cc_vis_werror=yes
-else $as_nop
- gl_cv_cc_vis_werror=no
+else case e in #(
+ e) gl_cv_cc_vis_werror=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS="$gl_save_CFLAGS"
-
+ CFLAGS="$gl_saved_CFLAGS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5
printf "%s\n" "$gl_cv_cc_vis_werror" >&6; }
@@ -40770,8 +45879,8 @@ printf %s "checking for simple visibility declarations... " >&6; }
if test ${gl_cv_cc_visibility+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_save_CFLAGS="$CFLAGS"
+else case e in #(
+ e) gl_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
if test $gl_cv_cc_vis_werror = yes; then
CFLAGS="$CFLAGS -Werror"
@@ -40800,12 +45909,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_cc_visibility=yes
-else $as_nop
- gl_cv_cc_visibility=no
+else case e in #(
+ e) gl_cv_cc_visibility=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS="$gl_save_CFLAGS"
-
+ CFLAGS="$gl_saved_CFLAGS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
printf "%s\n" "$gl_cv_cc_visibility" >&6; }
@@ -40860,192 +45971,6 @@ printf "%s\n" "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h
-
-
-
-
- if case "$host_os" in
- mingw*) true ;;
- *) test $ac_cv_func_mbsinit = yes ;;
- esac \
- && test $ac_cv_func_mbrtowc = yes; then
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
-if test ${gl_cv_func_mbrtowc_incomplete_state+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- case "$host_os" in
- # Guess no on AIX and OSF/1.
- aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
- esac
- if test $LOCALE_JA != none; then
- if test "$cross_compiling" = yes
-then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 2;
- }
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_func_mbrtowc_incomplete_state=yes
-else $as_nop
- gl_cv_func_mbrtowc_incomplete_state=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- else
- if test $LOCALE_FR_UTF8 != none; then
- if test "$cross_compiling" = yes
-then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- const char input[] = "B\303\274\303\237er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 2;
- }
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_func_mbrtowc_incomplete_state=yes
-else $as_nop
- gl_cv_func_mbrtowc_incomplete_state=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
- fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if test ${gl_cv_func_mbrtowc_sanitycheck+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- case "$host_os" in
- # Guess no on Solaris 8.
- solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
- esac
- if test $LOCALE_ZH_CN != none; then
- if test "$cross_compiling" = yes
-then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This fails on Solaris 8:
- mbrtowc returns 2, and sets wc to 0x00F0.
- mbtowc returns 4 (correct) and sets wc to 0x5EDC. */
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 3, 6, &state) != 4
- && mbtowc (&wc, input + 3, 6) == 4)
- return 2;
- }
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_func_mbrtowc_sanitycheck=yes
-else $as_nop
- gl_cv_func_mbrtowc_sanitycheck=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
-
- REPLACE_MBSTATE_T=0
- case "$gl_cv_func_mbrtowc_incomplete_state" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- case "$gl_cv_func_mbrtowc_sanitycheck" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- else
- REPLACE_MBSTATE_T=1
- fi
-
-
-
if test $ac_cv_func_mbsinit = no; then
HAVE_MBSINIT=0
ac_fn_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" "
@@ -41055,8 +45980,9 @@ printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
if test "x$ac_cv_have_decl_mbsinit" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_MBSINIT $ac_have_decl" >>confdefs.h
@@ -41068,7 +45994,7 @@ printf "%s\n" "#define HAVE_DECL_MBSINIT $ac_have_decl" >>confdefs.h
REPLACE_MBSINIT=1
else
case "$host_os" in
- mingw*) REPLACE_MBSINIT=1 ;;
+ mingw* | windows*) REPLACE_MBSINIT=1 ;;
esac
fi
fi
@@ -41144,6 +46070,33 @@ printf "%s\n" "#define GNULIB_TEST_MBSNLEN 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GL_GNULIB_MBSZERO=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_MBSZERO 1" >>confdefs.h
+
+
+
+
+
if test $REPLACE_MEMCHR = 1; then
GL_COND_OBJ_MEMCHR_TRUE=
GL_COND_OBJ_MEMCHR_FALSE='#'
@@ -41209,13 +46162,17 @@ printf %s "checking whether frexp works... " >&6; }
if test ${gl_cv_func_frexp_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
netbsd* | irix*) gl_cv_func_frexp_works="guessing no" ;;
- mingw*) # Guess yes with MSVC, no with mingw.
+ # Guess yes with MSVC, no with mingw.
+ windows*-msvc*)
+ gl_cv_func_frexp_works="guessing yes"
+ ;;
+ mingw* | windows*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -41225,11 +46182,12 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Good" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Good" >/dev/null 2>&1
then :
gl_cv_func_frexp_works="guessing yes"
-else $as_nop
- gl_cv_func_frexp_works="guessing no"
+else case e in #(
+ e) gl_cv_func_frexp_works="guessing no" ;;
+esac
fi
rm -rf conftest*
@@ -41237,8 +46195,8 @@ rm -rf conftest*
*) gl_cv_func_frexp_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -41299,7 +46257,8 @@ int main()
{
int exp;
double y = frexp (x, &exp);
- if (memcmp (&y, &x, sizeof x))
+ double x1 = x;
+ if (memcmp (&y, &x1, sizeof x1))
result |= 4;
}
return result;
@@ -41308,14 +46267,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_frexp_works=yes
-else $as_nop
- gl_cv_func_frexp_works=no
+else case e in #(
+ e) gl_cv_func_frexp_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_works" >&5
printf "%s\n" "$gl_cv_func_frexp_works" >&6; }
@@ -41334,8 +46296,8 @@ printf %s "checking whether ldexp can be used without linking with libm... " >&6
if test ${gl_cv_func_ldexp_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -41352,12 +46314,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_ldexp_no_libm=yes
-else $as_nop
- gl_cv_func_ldexp_no_libm=no
+else case e in #(
+ e) gl_cv_func_ldexp_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexp_no_libm" >&5
printf "%s\n" "$gl_cv_func_ldexp_no_libm" >&6; }
@@ -41377,8 +46341,8 @@ printf %s "checking whether frexpl() can be used without linking with libm... "
if test ${gl_cv_func_frexpl_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -41394,12 +46358,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_frexpl_no_libm=yes
-else $as_nop
- gl_cv_func_frexpl_no_libm=no
+else case e in #(
+ e) gl_cv_func_frexpl_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_no_libm" >&5
printf "%s\n" "$gl_cv_func_frexpl_no_libm" >&6; }
@@ -41412,19 +46378,19 @@ printf %s "checking whether frexpl works... " >&6; }
if test ${gl_cv_func_frexpl_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*)
+ aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | windows* | pw*)
gl_cv_func_frexpl_works="guessing no";;
*) gl_cv_func_frexpl_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <float.h>
@@ -41525,14 +46491,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_frexpl_works=yes
-else $as_nop
- gl_cv_func_frexpl_works=no
+else case e in #(
+ e) gl_cv_func_frexpl_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_works" >&5
printf "%s\n" "$gl_cv_func_frexpl_works" >&6; }
@@ -41554,8 +46523,9 @@ printf "%s\n" "#define HAVE_FREXPL_IN_LIBC 1" >>confdefs.h
if test "x$ac_cv_have_decl_frexpl" = xyes
then :
-else $as_nop
- HAVE_DECL_FREXPL=0
+else case e in #(
+ e) HAVE_DECL_FREXPL=0 ;;
+esac
fi
fi
@@ -41565,8 +46535,8 @@ printf %s "checking whether ldexpl() can be used without linking with libm... "
if test ${gl_cv_func_ldexpl_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -41582,12 +46552,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_ldexpl_no_libm=yes
-else $as_nop
- gl_cv_func_ldexpl_no_libm=no
+else case e in #(
+ e) gl_cv_func_ldexpl_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexpl_no_libm" >&5
printf "%s\n" "$gl_cv_func_ldexpl_no_libm" >&6; }
@@ -41600,20 +46572,20 @@ printf %s "checking whether ldexpl works... " >&6; }
if test ${gl_cv_func_ldexpl_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_ldexpl_works="guessing yes" ;;
- *) gl_cv_func_ldexpl_works="guessing yes" ;;
+ aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_ldexpl_works="guessing yes" ;;
+ *) gl_cv_func_ldexpl_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -41643,14 +46615,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_ldexpl_works=yes
-else $as_nop
- gl_cv_func_ldexpl_works=no
+else case e in #(
+ e) gl_cv_func_ldexpl_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexpl_works" >&5
printf "%s\n" "$gl_cv_func_ldexpl_works" >&6; }
@@ -41665,8 +46640,9 @@ printf "%s\n" "#define HAVE_LDEXPL_IN_LIBC 1" >>confdefs.h
if test "x$ac_cv_have_decl_ldexpl" = xyes
then :
-else $as_nop
- HAVE_DECL_LDEXPL=0
+else case e in #(
+ e) HAVE_DECL_LDEXPL=0 ;;
+esac
fi
;;
esac
@@ -41698,24 +46674,49 @@ printf %s "checking whether setlocale (LC_ALL, NULL) is multithread-safe... " >&
if test ${gl_cv_func_setlocale_null_all_mtsafe+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
- # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin.
- *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*)
+else case e in #(
+ e) case "$host_os" in
+ # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku.
+ *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*)
gl_cv_func_setlocale_null_all_mtsafe=no ;;
+ # Guess no on Cygwin < 3.4.6.
+ cygwin*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6)
+ Lucky user
+ #endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
+then :
+ gl_cv_func_setlocale_null_all_mtsafe=yes
+else case e in #(
+ e) gl_cv_func_setlocale_null_all_mtsafe=no ;;
+esac
+fi
+rm -rf conftest*
+
+ ;;
# Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows.
- *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*)
+ *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*)
gl_cv_func_setlocale_null_all_mtsafe=yes ;;
# If we don't know, obey --enable-cross-guesses.
*)
gl_cv_func_setlocale_null_all_mtsafe="$gl_cross_guess_normal" ;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_all_mtsafe" >&5
printf "%s\n" "$gl_cv_func_setlocale_null_all_mtsafe" >&6; }
case "$host_os" in
- mingw*) ;;
+ mingw* | windows*) ;;
*)
if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then
gl_cv_func_setlocale_null_all_mtsafe="trivially yes"
@@ -41735,24 +46736,25 @@ printf %s "checking whether setlocale (category, NULL) is multithread-safe... "
if test ${gl_cv_func_setlocale_null_one_mtsafe+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
+else case e in #(
+ e) case "$host_os" in
# Guess no on OpenBSD, AIX.
openbsd* | aix*)
gl_cv_func_setlocale_null_one_mtsafe=no ;;
# Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows.
- *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*)
+ *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*)
gl_cv_func_setlocale_null_one_mtsafe=yes ;;
# If we don't know, obey --enable-cross-guesses.
*)
gl_cv_func_setlocale_null_one_mtsafe="$gl_cross_guess_normal" ;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_one_mtsafe" >&5
printf "%s\n" "$gl_cv_func_setlocale_null_one_mtsafe" >&6; }
case "$host_os" in
- mingw*) ;;
+ mingw* | windows*) ;;
*)
if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then
gl_cv_func_setlocale_null_one_mtsafe="trivially yes"
@@ -41769,7 +46771,9 @@ printf "%s\n" "#define SETLOCALE_NULL_ONE_MTSAFE $SETLOCALE_NULL_ONE_MTSAFE" >>c
if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then
case "$host_os" in
- mingw*) LIB_SETLOCALE_NULL= ;;
+ mingw* | windows*)
+ SETLOCALE_NULL_LIB=
+ ;;
*)
@@ -41778,10 +46782,10 @@ printf %s "checking whether imported symbols can be declared weak... " >&6; }
if test ${gl_cv_have_weak+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
- cygwin*)
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) case "$host_os" in
+ cygwin* | mingw* | windows*)
+ gl_cv_have_weak="guessing no"
;;
*)
gl_cv_have_weak=no
@@ -41814,17 +46818,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Extensible Linking Format" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Extensible Linking Format" >/dev/null 2>&1
then :
gl_cv_have_weak="guessing yes"
-else $as_nop
- gl_cv_have_weak="guessing no"
+else case e in #(
+ e) gl_cv_have_weak="guessing no" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -41837,11 +46842,13 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_have_weak=yes
-else $as_nop
- gl_cv_have_weak=no
+else case e in #(
+ e) gl_cv_have_weak=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
@@ -41871,7 +46878,8 @@ EOF
esac
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5
printf "%s\n" "$gl_cv_have_weak" >&6; }
@@ -41884,15 +46892,17 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h
esac
case "$gl_cv_have_weak" in
- *yes) LIB_SETLOCALE_NULL= ;;
- *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;;
+ *yes) SETLOCALE_NULL_LIB= ;;
+ *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;;
esac
;;
esac
else
- LIB_SETLOCALE_NULL=
+ SETLOCALE_NULL_LIB=
fi
+ LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB"
+
if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then
@@ -41921,8 +46931,8 @@ printf %s "checking whether the -Werror option is usable... " >&6; }
if test ${gl_cv_cc_vis_werror+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_save_CFLAGS="$CFLAGS"
+else case e in #(
+ e) gl_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -41938,12 +46948,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_cc_vis_werror=yes
-else $as_nop
- gl_cv_cc_vis_werror=no
+else case e in #(
+ e) gl_cv_cc_vis_werror=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS="$gl_save_CFLAGS"
-
+ CFLAGS="$gl_saved_CFLAGS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5
printf "%s\n" "$gl_cv_cc_vis_werror" >&6; }
@@ -41952,8 +46964,8 @@ printf %s "checking for simple visibility declarations... " >&6; }
if test ${gl_cv_cc_visibility+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_save_CFLAGS="$CFLAGS"
+else case e in #(
+ e) gl_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
if test $gl_cv_cc_vis_werror = yes; then
CFLAGS="$CFLAGS -Werror"
@@ -41982,12 +46994,14 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_cc_visibility=yes
-else $as_nop
- gl_cv_cc_visibility=no
+else case e in #(
+ e) gl_cv_cc_visibility=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS="$gl_save_CFLAGS"
-
+ CFLAGS="$gl_saved_CFLAGS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
printf "%s\n" "$gl_cv_cc_visibility" >&6; }
@@ -42032,23 +47046,23 @@ printf %s "checking for signbit macro... " >&6; }
if test ${gl_cv_func_signbit+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_signbit="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_signbit="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_signbit="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_signbit="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_signbit="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_signbit="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -42141,14 +47155,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_signbit=yes
-else $as_nop
- gl_cv_func_signbit=no
+else case e in #(
+ e) gl_cv_func_signbit=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit" >&5
printf "%s\n" "$gl_cv_func_signbit" >&6; }
@@ -42157,28 +47174,28 @@ printf %s "checking for signbit compiler built-ins... " >&6; }
if test ${gl_cv_func_signbit_builtins+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_signbit_builtins="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_signbit_builtins="guessing yes" ;;
- # Guess yes on mingw, no on MSVC.
- mingw*) if test -n "$GCC"; then
- gl_cv_func_signbit_builtins="guessing yes"
- else
- gl_cv_func_signbit_builtins="guessing no"
- fi
- ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_signbit_builtins="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_signbit_builtins="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_signbit_builtins="guessing yes" ;;
+ # Guess yes on mingw, no on MSVC.
+ mingw* | windows*) if test -n "$GCC"; then
+ gl_cv_func_signbit_builtins="guessing yes"
+ else
+ gl_cv_func_signbit_builtins="guessing no"
+ fi
+ ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_signbit_builtins="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if (__GNUC__ >= 4) || (__clang_major__ >= 4)
@@ -42268,14 +47285,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_signbit_builtins=yes
-else $as_nop
- gl_cv_func_signbit_builtins=no
+else case e in #(
+ e) gl_cv_func_signbit_builtins=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit_builtins" >&5
printf "%s\n" "$gl_cv_func_signbit_builtins" >&6; }
@@ -42305,15 +47325,15 @@ printf %s "checking where to find the sign bit in a 'float'... " >&6; }
if test ${gl_cv_cc_float_signbit+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
gl_cv_cc_float_signbit="unknown"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
@@ -42378,15 +47398,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_cc_float_signbit=`cat conftest.out`
-else $as_nop
- gl_cv_cc_float_signbit="unknown"
+else case e in #(
+ e) gl_cv_cc_float_signbit="unknown" ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.out
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_signbit" >&5
printf "%s\n" "$gl_cv_cc_float_signbit" >&6; }
@@ -42411,15 +47434,15 @@ printf %s "checking where to find the sign bit in a 'double'... " >&6; }
if test ${gl_cv_cc_double_signbit+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
gl_cv_cc_double_signbit="unknown"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
@@ -42484,15 +47507,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_cc_double_signbit=`cat conftest.out`
-else $as_nop
- gl_cv_cc_double_signbit="unknown"
+else case e in #(
+ e) gl_cv_cc_double_signbit="unknown" ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.out
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_signbit" >&5
printf "%s\n" "$gl_cv_cc_double_signbit" >&6; }
@@ -42517,15 +47543,15 @@ printf %s "checking where to find the sign bit in a 'long double'... " >&6; }
if test ${gl_cv_cc_long_double_signbit+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
gl_cv_cc_long_double_signbit="unknown"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stddef.h>
@@ -42590,15 +47616,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_cc_long_double_signbit=`cat conftest.out`
-else $as_nop
- gl_cv_cc_long_double_signbit="unknown"
+else case e in #(
+ e) gl_cv_cc_long_double_signbit="unknown" ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.out
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_signbit" >&5
printf "%s\n" "$gl_cv_cc_long_double_signbit" >&6; }
@@ -42622,8 +47651,9 @@ printf "%s\n" "#define LDBL_SIGNBIT_BIT $bit" >>confdefs.h
if test "x$ac_cv_have_decl_copysignf" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_COPYSIGNF $ac_have_decl" >>confdefs.h
@@ -42633,8 +47663,8 @@ printf %s "checking whether copysignf can be used without linking with libm... "
if test ${gl_cv_func_copysignf_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -42650,12 +47680,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_copysignf_no_libm=yes
-else $as_nop
- gl_cv_func_copysignf_no_libm=no
+else case e in #(
+ e) gl_cv_func_copysignf_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignf_no_libm" >&5
printf "%s\n" "$gl_cv_func_copysignf_no_libm" >&6; }
@@ -42672,8 +47704,9 @@ printf "%s\n" "#define HAVE_COPYSIGNF_IN_LIBC 1" >>confdefs.h
if test "x$ac_cv_have_decl_copysign" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_COPYSIGN $ac_have_decl" >>confdefs.h
@@ -42683,8 +47716,8 @@ printf %s "checking whether copysign can be used without linking with libm... "
if test ${gl_cv_func_copysign_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -42700,12 +47733,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_copysign_no_libm=yes
-else $as_nop
- gl_cv_func_copysign_no_libm=no
+else case e in #(
+ e) gl_cv_func_copysign_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysign_no_libm" >&5
printf "%s\n" "$gl_cv_func_copysign_no_libm" >&6; }
@@ -42722,8 +47757,9 @@ printf "%s\n" "#define HAVE_COPYSIGN_IN_LIBC 1" >>confdefs.h
if test "x$ac_cv_have_decl_copysignl" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_COPYSIGNL $ac_have_decl" >>confdefs.h
@@ -42733,8 +47769,8 @@ printf %s "checking whether copysignl can be used without linking with libm... "
if test ${gl_cv_func_copysignl_no_libm+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
@@ -42750,12 +47786,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_copysignl_no_libm=yes
-else $as_nop
- gl_cv_func_copysignl_no_libm=no
+else case e in #(
+ e) gl_cv_func_copysignl_no_libm=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignl_no_libm" >&5
printf "%s\n" "$gl_cv_func_copysignl_no_libm" >&6; }
@@ -42814,8 +47852,8 @@ printf %s "checking for SIZE_MAX... " >&6; }
if test ${gl_cv_size_max+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
gl_cv_size_max=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -42830,7 +47868,7 @@ Found it
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Found it" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Found it" >/dev/null 2>&1
then :
gl_cv_size_max=yes
fi
@@ -42841,15 +47879,17 @@ rm -rf conftest*
#include <limits.h>"
then :
-else $as_nop
- size_t_bits_minus_1=
+else case e in #(
+ e) size_t_bits_minus_1= ;;
+esac
fi
if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include <stddef.h>"
then :
-else $as_nop
- fits_in_uint=
+else case e in #(
+ e) fits_in_uint= ;;
+esac
fi
if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
@@ -42883,7 +47923,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
gl_cv_size_max='((size_t)~(size_t)0)'
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5
printf "%s\n" "$gl_cv_size_max" >&6; }
@@ -42897,11 +47938,11 @@ printf "%s\n" "#define SIZE_MAX $gl_cv_size_max" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
printf %s "checking for ssize_t... " >&6; }
-if test ${gt_cv_ssize_t+y}
+if test ${gl_cv_ssize_t+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
int
@@ -42915,17 +47956,55 @@ int x = sizeof (ssize_t *) + sizeof (ssize_t);
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
- gt_cv_ssize_t=yes
-else $as_nop
- gt_cv_ssize_t=no
+ gl_cv_ssize_t=yes
+else case e in #(
+ e) gl_cv_ssize_t=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ssize_t" >&5
+printf "%s\n" "$gl_cv_ssize_t" >&6; }
+ if test $gl_cv_ssize_t = no; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether size_t is wider than 'long'" >&5
+printf %s "checking whether size_t is wider than 'long'... " >&6; }
+if test ${gl_cv_size_t_large+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1];
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gl_cv_size_t_large=yes
+else case e in #(
+ e) gl_cv_size_t_large=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
-printf "%s\n" "$gt_cv_ssize_t" >&6; }
- if test $gt_cv_ssize_t = no; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_t_large" >&5
+printf "%s\n" "$gl_cv_size_t_large" >&6; }
+ if test $gl_cv_size_t_large = yes; then
+ gl_def_ssize_t='long long'
+ else
+ gl_def_ssize_t='long'
+ fi
-printf "%s\n" "#define ssize_t int" >>confdefs.h
+printf "%s\n" "#define ssize_t $gl_def_ssize_t" >>confdefs.h
fi
@@ -42935,8 +48014,8 @@ printf %s "checking for bool, true, false... " >&6; }
if test ${gl_cv_c_bool+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if true == false
@@ -42948,10 +48027,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_c_bool=yes
-else $as_nop
- gl_cv_c_bool=no
+else case e in #(
+ e) gl_cv_c_bool=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_bool" >&5
printf "%s\n" "$gl_cv_c_bool" >&6; }
@@ -43186,8 +48267,8 @@ printf %s "checking whether strstr works in linear time... " >&6; }
if test ${gl_cv_func_strstr_linear+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -43209,17 +48290,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky user" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
then :
gl_cv_func_strstr_linear="guessing yes"
-else $as_nop
- gl_cv_func_strstr_linear="$gl_cross_guess_normal"
+else case e in #(
+ e) gl_cv_func_strstr_linear="$gl_cross_guess_normal" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __MVS__
@@ -43270,14 +48352,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strstr_linear=yes
-else $as_nop
- gl_cv_func_strstr_linear=no
+else case e in #(
+ e) gl_cv_func_strstr_linear=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strstr_linear" >&5
printf "%s\n" "$gl_cv_func_strstr_linear" >&6; }
@@ -43312,8 +48397,8 @@ printf %s "checking whether strstr works... " >&6; }
if test ${gl_cv_func_strstr_works_always+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -43336,17 +48421,18 @@ then :
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky user" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "Lucky user" >/dev/null 2>&1
then :
gl_cv_func_strstr_works_always="guessing yes"
-else $as_nop
- gl_cv_func_strstr_works_always="$gl_cross_guess_normal"
+else case e in #(
+ e) gl_cv_func_strstr_works_always="$gl_cross_guess_normal" ;;
+esac
fi
rm -rf conftest*
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h> /* for __GNU_LIBRARY__, strstr */
@@ -43372,14 +48458,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_strstr_works_always=yes
-else $as_nop
- gl_cv_func_strstr_works_always=no
+else case e in #(
+ e) gl_cv_func_strstr_works_always=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strstr_works_always" >&5
printf "%s\n" "$gl_cv_func_strstr_works_always" >&6; }
@@ -43444,16 +48533,23 @@ fi
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -43476,6 +48572,18 @@ fi
+
+
+
+
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -43511,6 +48619,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -43547,6 +48663,8 @@ fi
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -43905,8 +49023,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -43975,8 +49093,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -44080,8 +49198,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -44255,8 +49373,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -44535,8 +49653,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -44605,8 +49723,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -44710,8 +49828,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -44885,8 +50003,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -45165,8 +50283,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -45235,8 +50353,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -45340,8 +50458,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -45515,8 +50633,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46350,11 +51468,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -46376,6 +51494,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46488,8 +51612,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46523,8 +51647,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46558,8 +51682,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46621,6 +51745,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46628,8 +51758,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46656,6 +51786,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46691,6 +51829,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46726,6 +51872,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46733,8 +51887,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46761,6 +51915,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46796,6 +51958,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46831,6 +52001,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46838,8 +52016,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -46866,6 +52044,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46901,6 +52087,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46936,6 +52130,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46971,6 +52173,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -46978,8 +52188,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -47006,6 +52216,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47041,6 +52259,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47076,6 +52302,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47111,6 +52345,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47146,6 +52388,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47181,6 +52431,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47216,6 +52474,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47251,6 +52517,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47286,6 +52560,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47321,6 +52603,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47356,6 +52646,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47391,6 +52689,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47426,6 +52732,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47461,6 +52775,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47496,6 +52818,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47531,6 +52861,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47566,6 +52904,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47601,6 +52947,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47636,6 +52990,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47643,8 +53005,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -47671,6 +53033,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47706,6 +53076,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47741,6 +53119,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47776,6 +53162,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47783,8 +53177,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -47811,6 +53205,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47846,6 +53248,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47881,6 +53291,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47916,6 +53334,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47951,6 +53377,8 @@ fi
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -47958,8 +53386,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -47993,8 +53421,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48028,8 +53456,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48126,41 +53554,6 @@ fi
- if { test "$HAVE_LIBUNISTRING" != yes \
- || {
-
-
-
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8
- }
- }
- }
-
-
-
-
- }
- }; then
- LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE=
- LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE='#'
-else
- LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE='#'
- LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE=
-fi
-:
- if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE}"; then
- LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE='#'
- LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE='#'
- fi
-
-
-
-
-
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -48169,8 +53562,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48204,8 +53597,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48416,8 +53809,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48452,8 +53845,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48596,8 +53989,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48668,8 +54061,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48704,8 +54097,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -48915,6 +54308,111 @@ fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_FALSE='#'
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_FALSE='#'
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_FALSE='#'
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
@@ -49127,8 +54625,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49160,11 +54658,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -49226,6 +54724,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49233,8 +54737,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49262,6 +54766,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49298,6 +54810,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49305,8 +54825,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49334,6 +54854,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49341,8 +54869,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49370,6 +54898,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49377,8 +54913,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49406,6 +54942,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49413,8 +54957,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49442,6 +54986,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49449,8 +55001,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49478,6 +55030,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49485,8 +55045,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49514,6 +55074,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49521,8 +55089,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49550,6 +55118,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49557,8 +55133,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49586,6 +55162,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49593,8 +55177,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49622,6 +55206,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49629,8 +55221,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49658,6 +55250,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49665,8 +55265,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49694,6 +55294,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49701,8 +55309,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49730,6 +55338,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49737,8 +55353,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49766,6 +55382,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49773,8 +55397,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49802,6 +55426,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49809,8 +55441,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49838,6 +55470,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49845,8 +55485,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49874,6 +55514,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49881,8 +55529,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49909,6 +55557,8 @@ fi
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49916,8 +55566,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -49945,6 +55595,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -49981,6 +55637,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50017,6 +55681,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50053,6 +55725,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50089,6 +55769,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50125,6 +55813,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50161,6 +55857,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50197,6 +55901,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50233,6 +55945,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50269,6 +55989,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50305,6 +56033,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50341,6 +56077,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50377,6 +56121,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50413,6 +56165,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50449,6 +56209,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50485,6 +56253,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50521,6 +56297,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50557,6 +56341,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50593,6 +56385,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50629,6 +56429,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50665,6 +56473,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50701,6 +56517,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50737,6 +56561,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50773,6 +56605,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50780,8 +56620,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -50809,6 +56649,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50845,6 +56693,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50881,6 +56737,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50917,6 +56781,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50953,6 +56825,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50960,8 +56840,96 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_FALSE='#'
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_FALSE='#'
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -50989,6 +56957,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -50996,8 +56972,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -51025,6 +57001,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51032,8 +57016,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -51061,16 +57045,24 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -51097,6 +57089,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51133,6 +57133,58 @@ fi
+
+
+
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_FALSE='#'
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51169,6 +57221,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51205,6 +57265,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51241,6 +57309,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51277,6 +57353,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51313,6 +57397,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51349,6 +57441,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51385,6 +57485,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51421,6 +57529,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51457,6 +57573,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51493,6 +57617,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51529,6 +57661,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51565,6 +57705,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51601,6 +57749,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51637,16 +57793,24 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -51673,6 +57837,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51709,6 +57881,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51745,6 +57925,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51781,6 +57969,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51817,6 +58013,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51853,6 +58057,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51889,6 +58101,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51925,6 +58145,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51961,6 +58189,58 @@ fi
+
+
+
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_FALSE='#'
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -51997,6 +58277,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52033,6 +58321,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52069,6 +58365,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52105,6 +58409,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52141,6 +58453,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52148,8 +58468,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52177,6 +58497,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52213,6 +58541,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52249,6 +58585,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52284,6 +58628,8 @@ fi
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52320,6 +58666,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52356,6 +58708,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52363,8 +58723,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52392,6 +58752,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52399,8 +58767,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52428,6 +58796,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52464,6 +58840,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52500,6 +58884,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52536,6 +58928,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52543,8 +58943,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52572,6 +58972,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52579,8 +58987,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52608,6 +59016,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52643,6 +59059,8 @@ fi
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -52650,8 +59068,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52757,8 +59175,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52824,11 +59242,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -52862,8 +59280,8 @@ printf "%s\n" "#define GNULIB_UNIGBRK_U16_GRAPHEME_BREAKS 1" >>confdefs.h
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -52982,8 +59400,8 @@ printf "%s\n" "#define GNULIB_UNIGBRK_U32_GRAPHEME_BREAKS 1" >>confdefs.h
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53102,8 +59520,8 @@ printf "%s\n" "#define GNULIB_UNIGBRK_U8_GRAPHEME_BREAKS 1" >>confdefs.h
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53257,8 +59675,8 @@ printf "%s\n" "#define GNULIB_UNIGBRK_UC_GRAPHEME_BREAKS 1" >>confdefs.h
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53332,8 +59750,8 @@ printf "%s\n" "#define GNULIB_UNIGBRK_ULC_GRAPHEME_BREAKS 1" >>confdefs.h
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53398,8 +59816,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53433,8 +59851,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53468,8 +59886,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53503,8 +59921,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53538,8 +59956,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53573,8 +59991,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53608,8 +60026,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53643,8 +60061,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53675,6 +60093,85 @@ fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ if test -z "$LIBUNISTRING_UNIMETADATA_H"; then
+ LIBUNISTRING_UNIMETADATA_H="${gl_source_base_prefix}unimetadata.h"
+ fi
+ else
+ LIBUNISTRING_UNIMETADATA_H=
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE=
+ LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE='#'
+ LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE='#'
+ LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_FALSE='#'
+ fi
+
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
@@ -53708,8 +60205,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -53740,11 +60237,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -53766,6 +60263,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -53942,6 +60445,12 @@ fi
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -53977,6 +60486,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -54012,6 +60529,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -54047,6 +60572,14 @@ fi
+
+
+
+
+
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
|| {
@@ -54081,6 +60614,8 @@ fi
+
+
printf "%s\n" "#define GNULIB_TEST_UNINORM_U16_NORMALIZE 1" >>confdefs.h
@@ -54563,10 +61098,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54598,10 +61133,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54634,11 +61169,12 @@ fi
if test "x$ac_cv_type_ptrdiff_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define ptrdiff_t long" >>confdefs.h
-
+ ;;
+esac
fi
@@ -54651,10 +61187,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54686,10 +61222,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54721,10 +61257,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54756,10 +61292,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54791,10 +61327,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54826,10 +61362,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -54894,13 +61430,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -54930,6 +61540,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -54966,6 +61588,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -55009,10 +61643,10 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55044,10 +61678,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55079,10 +61713,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55114,10 +61748,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55182,13 +61816,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -55218,6 +61926,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -55254,6 +61974,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -55297,10 +62029,10 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55332,10 +62064,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55367,10 +62099,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55402,10 +62134,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55437,10 +62169,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55472,10 +62204,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55508,11 +62240,12 @@ fi
if test "x$ac_cv_type_ptrdiff_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define ptrdiff_t long" >>confdefs.h
-
+ ;;
+esac
fi
@@ -55525,10 +62258,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55560,10 +62293,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55595,10 +62328,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55630,10 +62363,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55665,10 +62398,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55700,10 +62433,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55768,13 +62501,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -55804,6 +62611,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -55840,6 +62659,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -55883,10 +62714,10 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55918,10 +62749,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55953,10 +62784,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -55988,10 +62819,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56056,13 +62887,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -56092,6 +62997,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -56128,6 +63045,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -56171,10 +63100,10 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56206,10 +63135,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56241,10 +63170,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56276,10 +63205,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56311,10 +63240,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56346,10 +63275,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56382,11 +63311,12 @@ fi
if test "x$ac_cv_type_ptrdiff_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define ptrdiff_t long" >>confdefs.h
-
+ ;;
+esac
fi
@@ -56399,10 +63329,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56434,10 +63364,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56469,10 +63399,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56504,10 +63434,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56539,10 +63469,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56574,10 +63504,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56642,13 +63572,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -56678,6 +63682,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -56714,6 +63730,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -56757,10 +63785,10 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56792,10 +63820,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56827,10 +63855,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56862,10 +63890,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -56930,13 +63958,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -56966,6 +64068,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -57002,6 +64116,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -57045,10 +64171,10 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -57080,10 +64206,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -57115,10 +64241,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -57150,10 +64276,10 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -57185,11 +64311,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57220,11 +64346,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57255,11 +64381,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57291,11 +64417,12 @@ fi
if test "x$ac_cv_type_ptrdiff_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define ptrdiff_t long" >>confdefs.h
-
+ ;;
+esac
fi
@@ -57308,11 +64435,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57343,11 +64470,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57411,13 +64538,87 @@ printf "%s\n" "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h
printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo" >&5
+printf %s "checking for nl_langinfo... " >&6; }
+if test ${gl_cv_onwards_func_nl_langinfo+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "nl_langinfo" "ac_cv_have_decl_nl_langinfo" "#include <langinfo.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_nl_langinfo" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_nl_langinfo = yes; then
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
+if test "x$ac_cv_func_nl_langinfo" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ gl_cv_onwards_func_nl_langinfo=yes
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_nl_langinfo='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo"
if test "x$ac_cv_func_nl_langinfo" = xyes
then :
- printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
fi
+ gl_cv_onwards_func_nl_langinfo=$ac_cv_func_nl_langinfo
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_nl_langinfo" >&5
+printf "%s\n" "$gl_cv_onwards_func_nl_langinfo" >&6; }
+
+ case "$gl_cv_onwards_func_nl_langinfo" in
+ future*) ac_cv_func_nl_langinfo=no ;;
+ *) ac_cv_func_nl_langinfo=$gl_cv_onwards_func_nl_langinfo ;;
+ esac
+ if test $ac_cv_func_nl_langinfo = yes; then
+
+printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h
+
+ fi
+
+
+ ;;
+ esac
+
+
+
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_B 1" >>confdefs.h
+
;;
esac
@@ -57447,6 +64648,18 @@ printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_DIRECTIVE_LC 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_flag_grouping" in
*yes)
;;
@@ -57483,6 +64696,18 @@ printf "%s\n" "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+
+printf "%s\n" "#define NEED_PRINTF_FLAG_ALT_PRECISION_ZERO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
case "$gl_cv_func_printf_precision" in
*yes)
;;
@@ -57526,11 +64751,11 @@ printf "%s\n" "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57561,11 +64786,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57596,11 +64821,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57631,11 +64856,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57666,11 +64891,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -57700,11 +64925,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -58236,6 +65461,41 @@ fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_FALSE='#'
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
@@ -59691,6 +66951,41 @@ fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_FALSE='#'
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
@@ -60921,11 +68216,11 @@ fi
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -60961,11 +68256,11 @@ printf "%s\n" "#define GNULIB_UNISTR_U8_MBTOUC 1" >>confdefs.h
- test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
}
@@ -61146,6 +68441,41 @@ fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_FALSE=
+fi
+:
+ if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_FALSE}"; then
+ LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_FALSE='#'
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
@@ -61245,6 +68575,74 @@ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stpcpy" >&5
+printf %s "checking for stpcpy... " >&6; }
+if test ${gl_cv_onwards_func_stpcpy+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "stpcpy" "ac_cv_have_decl_stpcpy" "#include <string.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_stpcpy" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_stpcpy = yes; then
+ ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy"
+if test "x$ac_cv_func_stpcpy" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_stpcpy = yes; then
+ gl_cv_onwards_func_stpcpy=yes
+ else
+ gl_cv_onwards_func_stpcpy='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_stpcpy='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy"
+if test "x$ac_cv_func_stpcpy" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_stpcpy=$ac_cv_func_stpcpy
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_stpcpy" >&5
+printf "%s\n" "$gl_cv_onwards_func_stpcpy" >&6; }
+
+ case "$gl_cv_onwards_func_stpcpy" in
+ future*) ac_cv_func_stpcpy=no ;;
+ *) ac_cv_func_stpcpy=$gl_cv_onwards_func_stpcpy ;;
+ esac
+ if test $ac_cv_func_stpcpy = yes; then
+
+printf "%s\n" "#define HAVE_STPCPY 1" >>confdefs.h
+
+ fi
+
+
+
if { test "$HAVE_LIBUNISTRING" != yes \
@@ -62161,8 +69559,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62196,8 +69594,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62231,8 +69629,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62266,8 +69664,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62301,8 +69699,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62366,8 +69764,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62401,8 +69799,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62436,8 +69834,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62471,8 +69869,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62506,8 +69904,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62541,8 +69939,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62576,8 +69974,8 @@ fi
test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
- && { test $LIBUNISTRING_VERSION_MINOR -lt 1 \
- || { test $LIBUNISTRING_VERSION_MINOR -eq 1 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
}
}
@@ -62638,8 +70036,9 @@ fi
if test "x$ac_cv_have_decl_wcwidth" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_WCWIDTH $ac_have_decl" >>confdefs.h
@@ -62653,8 +70052,8 @@ printf %s "checking whether wcwidth is a macro... " >&6; }
if test ${gl_cv_func_wcwidth_macro+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
@@ -62663,15 +70062,17 @@ else $as_nop
#endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "wchar_header_defines_wcwidth" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "wchar_header_defines_wcwidth" >/dev/null 2>&1
then :
gl_cv_func_wcwidth_macro=yes
-else $as_nop
- gl_cv_func_wcwidth_macro=no
+else case e in #(
+ e) gl_cv_func_wcwidth_macro=no ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_macro" >&5
printf "%s\n" "$gl_cv_func_wcwidth_macro" >&6; }
@@ -62684,23 +70085,23 @@ printf %s "checking whether wcwidth works reasonably in UTF-8 locales... " >&6;
if test ${gl_cv_func_wcwidth_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_wcwidth_works="guessing yes";;
- # Guess yes on AIX 7 systems.
- aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
- *) gl_cv_func_wcwidth_works="$gl_cross_guess_normal";;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_wcwidth_works="guessing yes";;
+ # Guess yes on AIX 7 systems.
+ aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+ *) gl_cv_func_wcwidth_works="$gl_cross_guess_normal";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -62734,14 +70135,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_wcwidth_works=yes
-else $as_nop
- gl_cv_func_wcwidth_works=no
+else case e in #(
+ e) gl_cv_func_wcwidth_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_works" >&5
printf "%s\n" "$gl_cv_func_wcwidth_works" >&6; }
@@ -62801,7 +70205,7 @@ printf "%s\n" "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h
- if case "$host_os" in mingw*) true;; *) false;; esac; then
+ if case "$host_os" in mingw* | windows*) true;; *) false;; esac; then
GL_COND_OBJ_WINDOWS_MUTEX_TRUE=
GL_COND_OBJ_WINDOWS_MUTEX_FALSE='#'
else
@@ -62816,7 +70220,7 @@ fi
- if case "$host_os" in mingw*) true;; *) false;; esac; then
+ if case "$host_os" in mingw* | windows*) true;; *) false;; esac; then
GL_COND_OBJ_WINDOWS_ONCE_TRUE=
GL_COND_OBJ_WINDOWS_ONCE_FALSE='#'
else
@@ -62831,7 +70235,7 @@ fi
- if case "$host_os" in mingw*) true;; *) false;; esac; then
+ if case "$host_os" in mingw* | windows*) true;; *) false;; esac; then
GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE=
GL_COND_OBJ_WINDOWS_RECMUTEX_FALSE='#'
else
@@ -62846,7 +70250,7 @@ fi
- if case "$host_os" in mingw*) true;; *) false;; esac; then
+ if case "$host_os" in mingw* | windows*) true;; *) false;; esac; then
GL_COND_OBJ_WINDOWS_RWLOCK_TRUE=
GL_COND_OBJ_WINDOWS_RWLOCK_FALSE='#'
else
@@ -62944,6 +70348,93 @@ printf "%s\n" "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alignas and alignof" >&5
+printf %s "checking for alignas and alignof... " >&6; }
+if test ${gl_cv_header_working_stdalign_h+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) gl_saved_CFLAGS=$CFLAGS
+ for gl_working in "yes, keywords" "yes, <stdalign.h> macros"; do
+ case $gl_working in #(
+ *stdalign.h*) :
+ CFLAGS="$gl_saved_CFLAGS -DINCLUDE_STDALIGN_H" ;; #(
+ *) :
+ ;;
+esac
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdint.h>
+ #ifdef INCLUDE_STDALIGN_H
+ #include <stdalign.h>
+ #endif
+ #include <stddef.h>
+
+ /* Test that alignof yields a result consistent with offsetof.
+ This catches GCC bug 52023
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
+ #ifdef __cplusplus
+ template <class t> struct alignof_helper { char a; t b; };
+ # define ao(type) offsetof (alignof_helper<type>, b)
+ #else
+ # define ao(type) offsetof (struct { char a; type b; }, b)
+ #endif
+ char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
+ char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
+ char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
+
+ /* Test alignas only on platforms where gnulib can help. */
+ #if \
+ ((defined __cplusplus && 201103 <= __cplusplus) \
+ || (__TINYC__ && defined __attribute__) \
+ || (defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__) \
+ || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+ || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \
+ || 1300 <= _MSC_VER)
+ struct alignas_test { char c; char alignas (8) alignas_8; };
+ char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
+ ? 1 : -1];
+ #endif
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ gl_cv_header_working_stdalign_h=$gl_working
+else case e in #(
+ e) gl_cv_header_working_stdalign_h=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+ CFLAGS=$gl_saved_CFLAGS
+ test "$gl_cv_header_working_stdalign_h" != no && break
+ done ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5
+printf "%s\n" "$gl_cv_header_working_stdalign_h" >&6; }
+
+ case $gl_cv_header_working_stdalign_h in #(
+ yes*keyword*) :
+
+printf "%s\n" "#define HAVE_C_ALIGNASOF 1" >>confdefs.h
+ ;; #(
+ *) :
+ ;;
+esac
+
+
+
+
@@ -62996,6 +70487,33 @@ printf "%s\n" "#define GNULIB_TEST_BIND 1" >>confdefs.h
+
+
+
+ if test "$GL_GNULIB_BTOC32" != 1; then
+ if test "$GL_GNULIB_BTOC32" = 0; then
+ GL_GNULIB_BTOC32=$gl_module_indicator_condition
+ else
+ GL_GNULIB_BTOC32="($GL_GNULIB_BTOC32 || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_BTOC32 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
if test $ac_cv_func_btowc = no; then
HAVE_BTOWC=0
else
@@ -63008,22 +70526,22 @@ printf %s "checking whether btowc(0) is correct... " >&6; }
if test ${gl_cv_func_btowc_nul+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess no on Cygwin.
- cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_btowc_nul="guessing yes" ;;
- # Guess yes otherwise.
- *) gl_cv_func_btowc_nul="guessing yes" ;;
+ # Guess no on Cygwin.
+ cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_btowc_nul="guessing yes" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_nul="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
@@ -63037,14 +70555,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_btowc_nul=yes
-else $as_nop
- gl_cv_func_btowc_nul=no
+else case e in #(
+ e) gl_cv_func_btowc_nul=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5
printf "%s\n" "$gl_cv_func_btowc_nul" >&6; }
@@ -63054,22 +70575,22 @@ printf %s "checking whether btowc(EOF) is correct... " >&6; }
if test ${gl_cv_func_btowc_eof+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
- # Guess no on IRIX.
- irix*) gl_cv_func_btowc_eof="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_btowc_eof="guessing yes" ;;
- # Guess yes otherwise.
- *) gl_cv_func_btowc_eof="guessing yes" ;;
+ # Guess no on IRIX.
+ irix*) gl_cv_func_btowc_eof="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_btowc_eof="guessing yes" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_eof="guessing yes" ;;
esac
if test $LOCALE_FR != none; then
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -63088,19 +70609,97 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_btowc_eof=yes
-else $as_nop
- gl_cv_func_btowc_eof=no
+else case e in #(
+ e) gl_cv_func_btowc_eof=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5
printf "%s\n" "$gl_cv_func_btowc_eof" >&6; }
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether btowc is consistent with mbrtowc in the C locale" >&5
+printf %s "checking whether btowc is consistent with mbrtowc in the C locale... " >&6; }
+if test ${gl_cv_func_btowc_consistent+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ if test "$cross_compiling" = yes
+then :
+ case "$host_os" in
+ # Guess no on mingw.
+ mingw* | windows*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __MINGW32__
+ Problem
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Problem" >/dev/null 2>&1
+then :
+ gl_cv_func_btowc_consistent="guessing no"
+else case e in #(
+ e) gl_cv_func_btowc_consistent="guessing yes" ;;
+esac
+fi
+rm -rf conftest*
+
+ ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_consistent="guessing yes" ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+#if HAVE_MBRTOWC
+ wint_t wc1 = btowc (0x80);
+ wchar_t wc2 = (wchar_t) 0xbadface;
+ char buf[1] = { 0x80 };
+ mbstate_t state;
+ memset (&state, 0, sizeof (mbstate_t));
+ if (mbrtowc (&wc2, buf, 1, &state) != 1 || wc1 != wc2)
+ return 1;
+#endif
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_btowc_consistent=yes
+else case e in #(
+ e) gl_cv_func_btowc_consistent=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_consistent" >&5
+printf "%s\n" "$gl_cv_func_btowc_consistent" >&6; }
+
case "$gl_cv_func_btowc_nul" in
*yes) ;;
*) REPLACE_BTOWC=1 ;;
@@ -63109,6 +70708,79 @@ printf "%s\n" "$gl_cv_func_btowc_eof" >&6; }
*yes) ;;
*) REPLACE_BTOWC=1 ;;
esac
+ case "$gl_cv_func_btowc_consistent" in
+ *yes) ;;
+ *) REPLACE_BTOWC=1 ;;
+ esac
+ if test $REPLACE_BTOWC = 0; then
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5
+printf %s "checking whether the C locale is free of encoding errors... " >&6; }
+if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "$cross_compiling" = yes
+then :
+ case "$host_os" in
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;;
+ *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;;
+ esac
+
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ #include <locale.h>
+ #include <wchar.h>
+
+int
+main (void)
+{
+
+ int i;
+ char *locale = setlocale (LC_ALL, "C");
+ if (! locale)
+ return 2;
+ for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+ {
+ char c = i;
+ wchar_t wc;
+ mbstate_t mbs = { 0, };
+ size_t ss = mbrtowc (&wc, &c, 1, &mbs);
+ if (1 < ss)
+ return 3;
+ }
+ return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes
+else case e in #(
+ e) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&6; }
+
+ case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in
+ *yes) ;;
+ *) REPLACE_BTOWC=1 ;;
+ esac
+ fi
fi
@@ -63131,6 +70803,7 @@ fi
:
+
fi
@@ -63165,548 +70838,255 @@ printf "%s\n" "#define GNULIB_TEST_BTOWC 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_fn_check_decl "$LINENO" "c32rtomb" "ac_cv_have_decl_c32rtomb" "#ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_c32rtomb" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+fi
+ if test $ac_cv_have_decl_c32rtomb = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for c32rtomb" >&5
+printf %s "checking for c32rtomb... " >&6; }
+if test ${gl_cv_func_c32rtomb+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+
+int
+main (void)
+{
+char buf[8];
+ return c32rtomb (buf, 0, NULL) == 0;
+
+ ;
return 0;
}
_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
+if ac_fn_c_try_link "$LINENO"
+then :
+ gl_cv_func_c32rtomb=yes
+else case e in #(
+ e) gl_cv_func_c32rtomb=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_c32rtomb" >&5
+printf "%s\n" "$gl_cv_func_c32rtomb" >&6; }
+ else
+ gl_cv_func_c32rtomb=no
+ fi
+ if test $gl_cv_func_c32rtomb = no; then
+ HAVE_C32RTOMB=0
+ else
+ if test $HAVE_WORKING_MBRTOC32 = 0; then
+ REPLACE_C32RTOMB=1
fi
- rm -fr conftest*
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether c32rtomb return value is correct" >&5
+printf %s "checking whether c32rtomb return value is correct... " >&6; }
+if test ${gl_cv_func_c32rtomb_retval+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ case "$host_os" in
+ # Guess no on AIX.
+ aix*) gl_cv_func_c32rtomb_retval="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_c32rtomb_retval="guessing yes" ;;
+ esac
+ if test "$cross_compiling" = yes
+then :
+ :
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+#ifdef __HAIKU__
+ #include <stdint.h>
+#endif
+#include <uchar.h>
+int main ()
+{
+ int result = 0;
+ if (c32rtomb (NULL, 0, NULL) != 1)
+ result |= 1;
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ gl_cv_func_c32rtomb_retval=yes
+else case e in #(
+ e) gl_cv_func_c32rtomb_retval=no ;;
+esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_c32rtomb_retval" >&5
+printf "%s\n" "$gl_cv_func_c32rtomb_retval" >&6; }
+ case "$gl_cv_func_c32rtomb_retval" in
+ *yes) ;;
+ *)
+printf "%s\n" "#define C32RTOMB_RETVAL_BUG 1" >>confdefs.h
+ REPLACE_C32RTOMB=1 ;;
+ esac
+ fi
+ if test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1; then
+ GL_COND_OBJ_C32RTOMB_TRUE=
+ GL_COND_OBJ_C32RTOMB_FALSE='#'
+else
+ GL_COND_OBJ_C32RTOMB_TRUE='#'
+ GL_COND_OBJ_C32RTOMB_FALSE=
+fi
+:
+ if test -z "${GL_COND_OBJ_C32RTOMB_TRUE}" && test -z "${GL_COND_OBJ_C32RTOMB_FALSE}"; then
+ GL_COND_OBJ_C32RTOMB_TRUE='#'
+ GL_COND_OBJ_C32RTOMB_FALSE='#'
+ fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
+
+
+
+
+
+
+ if test "$GL_GNULIB_C32RTOMB" != 1; then
+ if test "$GL_GNULIB_C32RTOMB" = 0; then
+ GL_GNULIB_C32RTOMB=$gl_module_indicator_condition
+ else
+ GL_GNULIB_C32RTOMB="($GL_GNULIB_C32RTOMB || $gl_module_indicator_condition)"
fi
- rm -fr conftest*
+ fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
+printf "%s\n" "#define GNULIB_TEST_C32RTOMB 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
-printf %s "checking for a turkish Unicode locale... " >&6; }
-if test ${gt_cv_locale_tr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <wctype.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. But BeOS does not
- implement the Turkish upper-/lowercase mappings. Therefore, let this
- program return 1 on BeOS. */
- /* Check whether the given locale name is recognized by the system. */
-#if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-#else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
- /* Check whether in the abbreviation of the eighth month, the second
- character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
- return 1;
- /* Check whether the upper-/lowercase mappings are as expected for
- Turkish. */
- if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
- || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
- return 1;
- return 0;
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=Turkish_Turkey.65001
- else
- # None found.
- gt_cv_locale_tr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr.UTF-8
- else
- # None found.
- gt_cv_locale_tr_utf8=none
- fi
- fi
- fi
- ;;
- esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test "$GL_GNULIB_C32TOB" != 1; then
+ if test "$GL_GNULIB_C32TOB" = 0; then
+ GL_GNULIB_C32TOB=$gl_module_indicator_condition
else
- gt_cv_locale_tr_utf8=none
+ GL_GNULIB_C32TOB="($GL_GNULIB_C32TOB || $gl_module_indicator_condition)"
fi
- rm -fr conftest*
+ fi
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_C32TOB 1" >>confdefs.h
+
+
+
+
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_tr_utf8" >&6; }
- LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
@@ -63720,17 +71100,17 @@ printf %s "checking whether calloc (0, n) and calloc (n, 0) return nonnull... "
if test ${ac_cv_func_calloc_0_nonnull+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test $cross_compiling != yes; then
+else case e in #(
+ e) if test $cross_compiling != yes; then
ac_cv_func_calloc_0_nonnull=yes
if test "$cross_compiling" = yes
then :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+See 'config.log' for more details" "$LINENO" 5; }
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
@@ -63750,26 +71130,29 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
-else $as_nop
- ac_cv_func_calloc_0_nonnull=no
+else case e in #(
+ e) ac_cv_func_calloc_0_nonnull=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
else
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;;
esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_calloc_0_nonnull" >&5
printf "%s\n" "$ac_cv_func_calloc_0_nonnull" >&6; }
@@ -63870,42 +71253,6 @@ printf "%s\n" "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h
-
-
- if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
- REPLACE_CLOSE=1
- fi
-
-
-
-
-
-
- if test $ac_cv_header_sys_socket_h != yes; then
- ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = xyes
-then :
- printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h
-
-fi
-
- fi
- if test "$ac_cv_header_winsock2_h" = yes; then
- HAVE_WINSOCK2_H=1
- UNISTD_H_HAVE_WINSOCK2_H=1
- SYS_IOCTL_H_HAVE_WINSOCK2_H=1
- else
- HAVE_WINSOCK2_H=0
- fi
-
-
- if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
- REPLACE_CLOSE=1
- fi
-
-
-
-
if test $REPLACE_CLOSE = 1; then
GL_COND_OBJ_CLOSE_TRUE=
GL_COND_OBJ_CLOSE_FALSE='#'
@@ -63998,8 +71345,8 @@ printf %s "checking whether // is distinct from /... " >&6; }
if test ${gl_cv_double_slash_root+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test x"$cross_compiling" = xyes ; then
+else case e in #(
+ e) if test x"$cross_compiling" = xyes ; then
# When cross-compiling, there is no way to tell whether // is special
# short of a list of hosts. However, the only known hosts to date
# that have a distinct // are Apollo DomainOS (too old to port to),
@@ -64021,7 +71368,8 @@ else $as_nop
else
gl_cv_double_slash_root=yes
fi
- fi
+ fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
printf "%s\n" "$gl_cv_double_slash_root" >&6; }
@@ -64039,11 +71387,11 @@ printf %s "checking whether dup2 works... " >&6; }
if test ${gl_cv_func_dup2_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- mingw*) # on this platform, dup2 always returns 0 for success
+ mingw* | windows*) # on this platform, dup2 always returns 0 for success
gl_cv_func_dup2_works="guessing no" ;;
cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
gl_cv_func_dup2_works="guessing no" ;;
@@ -64059,8 +71407,8 @@ then :
gl_cv_func_dup2_works="guessing no" ;;
*) gl_cv_func_dup2_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
@@ -64130,14 +71478,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_dup2_works=yes
-else $as_nop
- gl_cv_func_dup2_works=no
+else case e in #(
+ e) gl_cv_func_dup2_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5
printf "%s\n" "$gl_cv_func_dup2_works" >&6; }
@@ -64227,37 +71578,10 @@ printf "%s\n" "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-printf %s "checking for error_at_line... " >&6; }
-if test ${ac_cv_lib_error_at_line+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <error.h>
-int
-main (void)
-{
-error_at_line (0, 0, "", 0, "an error occurred");
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- ac_cv_lib_error_at_line=yes
-else $as_nop
- ac_cv_lib_error_at_line=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-printf "%s\n" "$ac_cv_lib_error_at_line" >&6; }
- if test "$ac_cv_lib_error_at_line" = no; then
+
+ if test $COMPILE_ERROR_C = 1; then
GL_COND_OBJ_ERROR_TRUE=
GL_COND_OBJ_ERROR_FALSE='#'
else
@@ -64286,6 +71610,8 @@ fi
+
+
if test $ac_cv_func_fcntl = no; then
@@ -64302,16 +71628,16 @@ printf %s "checking whether fcntl handles F_DUPFD correctly... " >&6; }
if test ${gl_cv_func_fcntl_f_dupfd_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case $host_os in
aix* | cygwin* | haiku*)
gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
*) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
#include <fcntl.h>
@@ -64364,13 +71690,16 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_fcntl_f_dupfd_works=yes
-else $as_nop
- gl_cv_func_fcntl_f_dupfd_works=no
+else case e in #(
+ e) gl_cv_func_fcntl_f_dupfd_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5
printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
@@ -64395,8 +71724,8 @@ printf %s "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
if test ${gl_cv_func_fcntl_f_dupfd_cloexec+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess no on NetBSD.
@@ -64404,8 +71733,8 @@ then :
*) gl_cv_func_fcntl_f_dupfd_cloexec="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <fcntl.h>
#include <unistd.h>
@@ -64447,19 +71776,23 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_fcntl_f_dupfd_cloexec=yes
-else $as_nop
- gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"
+else case e in #(
+ e) gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-else $as_nop
- gl_cv_func_fcntl_f_dupfd_cloexec=no
+else case e in #(
+ e) gl_cv_func_fcntl_f_dupfd_cloexec=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
@@ -64539,17 +71872,17 @@ printf %s "checking whether fdopen sets errno... " >&6; }
if test ${gl_cv_func_fdopen_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- mingw*) gl_cv_func_fdopen_works="guessing no" ;;
- *) gl_cv_func_fdopen_works="guessing yes" ;;
+ mingw* | windows*) gl_cv_func_fdopen_works="guessing no" ;;
+ *) gl_cv_func_fdopen_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -64572,14 +71905,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_fdopen_works=yes
-else $as_nop
- gl_cv_func_fdopen_works=no
+else case e in #(
+ e) gl_cv_func_fdopen_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5
printf "%s\n" "$gl_cv_func_fdopen_works" >&6; }
@@ -64637,7 +71973,7 @@ printf "%s\n" "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h
case "$host_os" in
- mingw* | solaris*)
+ darwin* | mingw* | windows* | solaris*)
REPLACE_FSTAT=1
;;
esac
@@ -64661,7 +71997,7 @@ fi
if test -z "$GL_COND_OBJ_FSTAT_TRUE"; then :
case "$host_os" in
- mingw*)
+ mingw* | windows*)
@@ -64709,17 +72045,88 @@ printf "%s\n" "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ftruncate" >&5
+printf %s "checking for ftruncate... " >&6; }
+if test ${gl_cv_onwards_func_ftruncate+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "ftruncate" "ac_cv_have_decl_ftruncate" "#include <unistd.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_ftruncate" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_ftruncate = yes; then
+ ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"
+if test "x$ac_cv_func_ftruncate" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_ftruncate = yes; then
+ gl_cv_onwards_func_ftruncate=yes
+ else
+ gl_cv_onwards_func_ftruncate='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_ftruncate='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"
+if test "x$ac_cv_func_ftruncate" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_ftruncate=$ac_cv_func_ftruncate
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_ftruncate" >&5
+printf "%s\n" "$gl_cv_onwards_func_ftruncate" >&6; }
+
+ case "$gl_cv_onwards_func_ftruncate" in
+ future*) ac_cv_func_ftruncate=no ;;
+ *) ac_cv_func_ftruncate=$gl_cv_onwards_func_ftruncate ;;
+ esac
+ if test $ac_cv_func_ftruncate = yes; then
+
+printf "%s\n" "#define HAVE_FTRUNCATE 1" >>confdefs.h
+
+ fi
+
+
if test $ac_cv_func_ftruncate = yes; then
case "$host_os" in
- mingw*)
+ mingw* | windows*)
REPLACE_FTRUNCATE=1
;;
esac
else
HAVE_FTRUNCATE=0
+ case "$gl_cv_onwards_func_ftruncate" in
+ future*) REPLACE_FTRUNCATE=1 ;;
+ esac
fi
@@ -64837,8 +72244,8 @@ printf %s "checking whether getdtablesize works... " >&6; }
if test ${gl_cv_func_getdtablesize_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case "$host_os" in
+else case e in #(
+ e) case "$host_os" in
vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;;
*)
if test "$cross_compiling" = yes
@@ -64849,8 +72256,8 @@ then :
*) gl_cv_func_getdtablesize_works="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
@@ -64875,16 +72282,19 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_getdtablesize_works=yes
-else $as_nop
- gl_cv_func_getdtablesize_works=no
+else case e in #(
+ e) gl_cv_func_getdtablesize_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
;;
esac
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getdtablesize_works" >&5
printf "%s\n" "$gl_cv_func_getdtablesize_works" >&6; }
@@ -64949,8 +72359,8 @@ printf %s "checking for getpagesize... " >&6; }
if test ${gl_cv_func_getpagesize+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
int
@@ -64965,12 +72375,14 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_getpagesize=yes
-else $as_nop
- gl_cv_func_getpagesize=no
+else case e in #(
+ e) gl_cv_func_getpagesize=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getpagesize" >&5
printf "%s\n" "$gl_cv_func_getpagesize" >&6; }
@@ -64999,7 +72411,7 @@ fi
fi
fi
case "$host_os" in
- mingw*)
+ mingw* | windows*)
REPLACE_GETPAGESIZE=1
;;
esac
@@ -65007,8 +72419,9 @@ fi
if test "x$ac_cv_have_decl_getpagesize" = xyes
then :
-else $as_nop
- HAVE_DECL_GETPAGESIZE=0
+else case e in #(
+ e) HAVE_DECL_GETPAGESIZE=0 ;;
+esac
fi
@@ -65053,14 +72466,128 @@ printf "%s\n" "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getprogname" >&5
+printf %s "checking for getprogname... " >&6; }
+if test ${gl_cv_onwards_func_getprogname+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "getprogname" "ac_cv_have_decl_getprogname" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getprogname" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_getprogname = yes; then
+ ac_fn_c_check_func "$LINENO" "getprogname" "ac_cv_func_getprogname"
+if test "x$ac_cv_func_getprogname" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_getprogname = yes; then
+ gl_cv_onwards_func_getprogname=yes
+ else
+ gl_cv_onwards_func_getprogname='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_getprogname='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "getprogname" "ac_cv_func_getprogname"
+if test "x$ac_cv_func_getprogname" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_getprogname=$ac_cv_func_getprogname
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_getprogname" >&5
+printf "%s\n" "$gl_cv_onwards_func_getprogname" >&6; }
+
+ case "$gl_cv_onwards_func_getprogname" in
+ future*) ac_cv_func_getprogname=no ;;
+ *) ac_cv_func_getprogname=$gl_cv_onwards_func_getprogname ;;
+ esac
+ if test $ac_cv_func_getprogname = yes; then
+
+printf "%s\n" "#define HAVE_GETPROGNAME 1" >>confdefs.h
+
+ fi
+
+
+ if test $ac_cv_func_getprogname = no; then
+ HAVE_GETPROGNAME=0
+ case "$gl_cv_onwards_func_getprogname" in
+ future*) REPLACE_GETPROGNAME=1 ;;
+ esac
+ fi
+ ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_program_invocation_name" = xyes
+then :
+ ac_have_decl=1
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
+
+else case e in #(
+ e) HAVE_DECL_PROGRAM_INVOCATION_NAME=0 ;;
+esac
+fi
+
+
+
+ if test $HAVE_GETPROGNAME = 0 || test $REPLACE_GETPROGNAME = 1; then
+ GL_COND_OBJ_GETPROGNAME_TRUE=
+ GL_COND_OBJ_GETPROGNAME_FALSE='#'
+else
+ GL_COND_OBJ_GETPROGNAME_TRUE='#'
+ GL_COND_OBJ_GETPROGNAME_FALSE=
+fi
+:
+ if test -z "${GL_COND_OBJ_GETPROGNAME_TRUE}" && test -z "${GL_COND_OBJ_GETPROGNAME_FALSE}"; then
+ GL_COND_OBJ_GETPROGNAME_TRUE='#'
+ GL_COND_OBJ_GETPROGNAME_FALSE='#'
+ fi
+
+ if test -z "$GL_COND_OBJ_GETPROGNAME_TRUE"; then :
+
+
+
+
ac_found=0
ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_program_invocation_name" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h
if test $ac_have_decl = 1
@@ -65073,8 +72600,9 @@ fi
if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl" >>confdefs.h
if test $ac_have_decl = 1
@@ -65087,8 +72615,9 @@ fi
if test "x$ac_cv_have_decl___argv" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL___ARGV $ac_have_decl" >>confdefs.h
if test $ac_have_decl = 1
@@ -65106,8 +72635,8 @@ printf %s "checking whether __progname is defined in default libraries... " >&6;
if test ${gl_cv_var___progname+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
gl_cv_var___progname=
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -65129,7 +72658,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var___progname" >&5
printf "%s\n" "$gl_cv_var___progname" >&6; }
@@ -65141,6 +72671,33 @@ printf "%s\n" "#define HAVE_VAR___PROGNAME 1" >>confdefs.h
fi
+fi
+
+
+
+
+
+
+
+
+
+ if test "$GL_GNULIB_GETPROGNAME" != 1; then
+ if test "$GL_GNULIB_GETPROGNAME" = 0; then
+ GL_GNULIB_GETPROGNAME=$gl_module_indicator_condition
+ else
+ GL_GNULIB_GETPROGNAME="($GL_GNULIB_GETPROGNAME || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_GETPROGNAME 1" >>confdefs.h
+
+
+
+
@@ -65158,8 +72715,8 @@ printf %s "checking for gettimeofday with POSIX signature... " >&6; }
if test ${gl_cv_func_gettimeofday_posix_signature+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/time.h>
struct timeval c;
@@ -65185,8 +72742,8 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_gettimeofday_posix_signature=yes
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/time.h>
int gettimeofday (struct timeval *restrict, struct timezone *restrict);
@@ -65202,12 +72759,15 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_gettimeofday_posix_signature=almost
-else $as_nop
- gl_cv_func_gettimeofday_posix_signature=no
+else case e in #(
+ e) gl_cv_func_gettimeofday_posix_signature=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5
printf "%s\n" "$gl_cv_func_gettimeofday_posix_signature" >&6; }
@@ -65220,7 +72780,7 @@ printf "%s\n" "$gl_cv_func_gettimeofday_posix_signature" >&6; }
REPLACE_GETTIMEOFDAY=1
fi
case "$host_os" in
- mingw*) REPLACE_GETTIMEOFDAY=1 ;;
+ mingw* | windows*) REPLACE_GETTIMEOFDAY=1 ;;
esac
fi
@@ -65274,6 +72834,74 @@ printf "%s\n" "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for duplocale" >&5
+printf %s "checking for duplocale... " >&6; }
+if test ${gl_cv_onwards_func_duplocale+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "duplocale" "ac_cv_have_decl_duplocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_duplocale" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_duplocale = yes; then
+ ac_fn_c_check_func "$LINENO" "duplocale" "ac_cv_func_duplocale"
+if test "x$ac_cv_func_duplocale" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_duplocale = yes; then
+ gl_cv_onwards_func_duplocale=yes
+ else
+ gl_cv_onwards_func_duplocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_duplocale='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "duplocale" "ac_cv_func_duplocale"
+if test "x$ac_cv_func_duplocale" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_duplocale=$ac_cv_func_duplocale
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_duplocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_duplocale" >&6; }
+
+ case "$gl_cv_onwards_func_duplocale" in
+ future*) ac_cv_func_duplocale=no ;;
+ *) ac_cv_func_duplocale=$gl_cv_onwards_func_duplocale ;;
+ esac
+ if test $ac_cv_func_duplocale = yes; then
+
+printf "%s\n" "#define HAVE_DUPLOCALE 1" >>confdefs.h
+
+ fi
+
+
+
@@ -65311,8 +72939,9 @@ fi
if test "x$ac_cv_have_decl_inet_pton" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h
@@ -65322,21 +72951,27 @@ printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h
HAVE_DECL_INET_PTON=0
fi
else
- gl_save_LIBS=$LIBS
+ gl_saved_LIBS=$LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5
printf %s "checking for library containing inet_pton... " >&6; }
if test ${ac_cv_search_inet_pton+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_func_search_save_LIBS=$LIBS
+else case e in #(
+ e) ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char inet_pton ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inet_pton (void);
int
main (void)
{
@@ -65367,11 +73002,13 @@ done
if test ${ac_cv_search_inet_pton+y}
then :
-else $as_nop
- ac_cv_search_inet_pton=no
+else case e in #(
+ e) ac_cv_search_inet_pton=no ;;
+esac
fi
rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
+LIBS=$ac_func_search_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5
printf "%s\n" "$ac_cv_search_inet_pton" >&6; }
@@ -65380,8 +73017,8 @@ if test "$ac_res" != no
then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-else $as_nop
- ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton"
+else case e in #(
+ e) ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton"
if test "x$ac_cv_func_inet_pton" = xyes
then :
printf "%s\n" "#define HAVE_INET_PTON 1" >>confdefs.h
@@ -65391,10 +73028,11 @@ fi
if test $ac_cv_func_inet_pton = no; then
HAVE_INET_PTON=0
fi
-
+ ;;
+esac
fi
- LIBS=$gl_save_LIBS
+ LIBS=$gl_saved_LIBS
if test "$ac_cv_search_inet_pton" != "no" \
&& test "$ac_cv_search_inet_pton" != "none required"; then
@@ -65411,8 +73049,9 @@ fi
if test "x$ac_cv_have_decl_inet_pton" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h
@@ -65468,8 +73107,8 @@ printf %s "checking whether byte ordering is bigendian... " >&6; }
if test ${ac_cv_c_bigendian+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_cv_c_bigendian=unknown
+else case e in #(
+ e) ac_cv_c_bigendian=unknown
# See if we're dealing with a universal compiler.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -65515,8 +73154,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
int
main (void)
{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \\
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \\
&& LITTLE_ENDIAN)
bogus endian macros
#endif
@@ -65547,8 +73186,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
+else case e in #(
+ e) ac_cv_c_bigendian=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
@@ -65592,8 +73232,9 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
+else case e in #(
+ e) ac_cv_c_bigendian=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
@@ -65620,22 +73261,23 @@ unsigned short int ascii_mm[] =
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
- extern int foo;
-
-int
-main (void)
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
+ int
+ main (int argc, char **argv)
+ {
+ /* Intimidate the compiler so that it does not
+ optimize the arrays away. */
+ char *p = argv[0];
+ ascii_mm[1] = *p++; ebcdic_mm[1] = *p++;
+ ascii_ii[1] = *p++; ebcdic_ii[1] = *p++;
+ return use_ascii (argc) == use_ebcdic (*p);
+ }
_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+if ac_fn_c_try_link "$LINENO"
then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then
ac_cv_c_bigendian=yes
fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
@@ -65644,9 +73286,10 @@ then :
fi
fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
@@ -65669,14 +73312,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_c_bigendian=no
-else $as_nop
- ac_cv_c_bigendian=yes
+else case e in #(
+ e) ac_cv_c_bigendian=yes ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- fi
+ fi ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
printf "%s\n" "$ac_cv_c_bigendian" >&6; }
@@ -65716,8 +73362,8 @@ printf %s "checking for ioctl with POSIX signature... " >&6; }
if test ${gl_cv_func_ioctl_posix_signature+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/ioctl.h>
/* On some platforms, ioctl() is declared in <unistd.h>. */
@@ -65740,11 +73386,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_func_ioctl_posix_signature=yes
-else $as_nop
- gl_cv_func_ioctl_posix_signature=no
+else case e in #(
+ e) gl_cv_func_ioctl_posix_signature=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ioctl_posix_signature" >&5
printf "%s\n" "$gl_cv_func_ioctl_posix_signature" >&6; }
@@ -65841,1787 +73489,233 @@ printf "%s\n" "#define GNULIB_ISBLANK $gl_module_indicator_condition" >>confdefs
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
-printf %s "checking where to find the exponent in a 'double'... " >&6; }
-if test ${gl_cv_cc_double_expbit0+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- if test "$cross_compiling" = yes
-then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined arm || defined __arm || defined __arm__
- mixed_endianness
-#endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "mixed_endianness" >/dev/null 2>&1
-then :
- gl_cv_cc_double_expbit0="unknown"
-else $as_nop
- :
-if test ${ac_cv_c_bigendian+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-int
-main (void)
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-int
-main (void)
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the __inline keyword" >&5
+printf %s "checking whether the compiler supports the __inline keyword... " >&6; }
+if test ${gl_cv_c___inline+y}
then :
- ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main (void)
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main (void)
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_c_bigendian=yes
-else $as_nop
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes
-then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-unsigned short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- unsigned short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- unsigned short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- unsigned short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
+typedef int foo_t;
+ static __inline foo_t foo (void) { return 0; }
int
main (void)
{
-return use_ascii (foo) == use_ebcdic (foo);
+return foo ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main (void)
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- ac_cv_c_bigendian=no
-else $as_nop
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ gl_cv_c___inline=yes
+else case e in #(
+ e) gl_cv_c___inline=no ;;
+esac
fi
-
- fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-:
- case $ac_cv_c_bigendian in #(
- yes)
- gl_cv_cc_double_expbit0="word 0 bit 20";; #(
- no)
- gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
- universal)
-
-printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- gl_cv_cc_double_expbit0="unknown" ;;
- esac
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c___inline" >&5
+printf "%s\n" "$gl_cv_c___inline" >&6; }
+ if test $gl_cv_c___inline = yes; then
-fi
-rm -rf conftest*
+printf "%s\n" "#define HAVE___INLINE 1" >>confdefs.h
+ fi
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
- ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { double value; unsigned int word[NWORDS]; } memory_double;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (double x)
-{
- memory_double m;
- size_t i;
- /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
- memset (&m, 0, sizeof (memory_double));
- m.value = x;
- for (i = 0; i < NWORDS; i++)
- {
- ored_words[i] |= m.word[i];
- anded_words[i] &= m.word[i];
- }
-}
-int main ()
-{
- size_t j;
- FILE *fp = fopen ("conftest.out", "w");
- if (fp == NULL)
- return 1;
- for (j = 0; j < NWORDS; j++)
- anded_words[j] = ~ (unsigned int) 0;
- add_to_ored_words (0.25);
- add_to_ored_words (0.5);
- add_to_ored_words (1.0);
- add_to_ored_words (2.0);
- add_to_ored_words (4.0);
- /* Remove bits that are common (e.g. if representation of the first mantissa
- bit is explicit). */
- for (j = 0; j < NWORDS; j++)
- ored_words[j] &= ~anded_words[j];
- /* Now find the nonzero word. */
- for (j = 0; j < NWORDS; j++)
- if (ored_words[j] != 0)
- break;
- if (j < NWORDS)
- {
- size_t i;
- for (i = j + 1; i < NWORDS; i++)
- if (ored_words[i] != 0)
- {
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
- }
- for (i = 0; ; i++)
- if ((ored_words[j] >> i) & 1)
- {
- fprintf (fp, "word %d bit %d", (int) j, (int) i);
- return (fclose (fp) != 0);
- }
- }
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_cc_double_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_double_expbit0="unknown"
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ if test "$ac_cv_header_winsock2_h" = yes; then
+ GL_COND_OBJ_LISTEN_TRUE=
+ GL_COND_OBJ_LISTEN_FALSE='#'
+else
+ GL_COND_OBJ_LISTEN_TRUE='#'
+ GL_COND_OBJ_LISTEN_FALSE=
fi
+:
+ if test -z "${GL_COND_OBJ_LISTEN_TRUE}" && test -z "${GL_COND_OBJ_LISTEN_FALSE}"; then
+ GL_COND_OBJ_LISTEN_TRUE='#'
+ GL_COND_OBJ_LISTEN_FALSE='#'
+ fi
- rm -f conftest.out
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
-printf "%s\n" "$gl_cv_cc_double_expbit0" >&6; }
- case "$gl_cv_cc_double_expbit0" in
- word*bit*)
- word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
- bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
-printf "%s\n" "#define DBL_EXPBIT0_WORD $word" >>confdefs.h
-printf "%s\n" "#define DBL_EXPBIT0_BIT $bit" >>confdefs.h
- ;;
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
-printf %s "checking where to find the exponent in a 'float'... " >&6; }
-if test ${gl_cv_cc_float_expbit0+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
-then :
- gl_cv_cc_float_expbit0="word 0 bit 23"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
- ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { float value; unsigned int word[NWORDS]; } memory_float;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (float x)
-{
- memory_float m;
- size_t i;
- /* Clear it first, in case
- sizeof (float) < sizeof (memory_float). */
- memset (&m, 0, sizeof (memory_float));
- m.value = x;
- for (i = 0; i < NWORDS; i++)
- {
- ored_words[i] |= m.word[i];
- anded_words[i] &= m.word[i];
- }
-}
-int main ()
-{
- size_t j;
- FILE *fp = fopen ("conftest.out", "w");
- if (fp == NULL)
- return 1;
- for (j = 0; j < NWORDS; j++)
- anded_words[j] = ~ (unsigned int) 0;
- add_to_ored_words (0.25f);
- add_to_ored_words (0.5f);
- add_to_ored_words (1.0f);
- add_to_ored_words (2.0f);
- add_to_ored_words (4.0f);
- /* Remove bits that are common (e.g. if representation of the first mantissa
- bit is explicit). */
- for (j = 0; j < NWORDS; j++)
- ored_words[j] &= ~anded_words[j];
- /* Now find the nonzero word. */
- for (j = 0; j < NWORDS; j++)
- if (ored_words[j] != 0)
- break;
- if (j < NWORDS)
- {
- size_t i;
- for (i = j + 1; i < NWORDS; i++)
- if (ored_words[i] != 0)
- {
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
- }
- for (i = 0; ; i++)
- if ((ored_words[j] >> i) & 1)
- {
- fprintf (fp, "word %d bit %d", (int) j, (int) i);
- return (fclose (fp) != 0);
- }
- }
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
-}
+ if test "$GL_GNULIB_LISTEN" != 1; then
+ if test "$GL_GNULIB_LISTEN" = 0; then
+ GL_GNULIB_LISTEN=$gl_module_indicator_condition
+ else
+ GL_GNULIB_LISTEN="($GL_GNULIB_LISTEN || $gl_module_indicator_condition)"
+ fi
+ fi
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_cc_float_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_float_expbit0="unknown"
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
- rm -f conftest.out
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
-printf "%s\n" "$gl_cv_cc_float_expbit0" >&6; }
- case "$gl_cv_cc_float_expbit0" in
- word*bit*)
- word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
- bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
-printf "%s\n" "#define FLT_EXPBIT0_WORD $word" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_LISTEN 1" >>confdefs.h
-printf "%s\n" "#define FLT_EXPBIT0_BIT $bit" >>confdefs.h
- ;;
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
-printf %s "checking where to find the exponent in a 'long double'... " >&6; }
-if test ${gl_cv_cc_long_double_expbit0+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newlocale" >&5
+printf %s "checking for newlocale... " >&6; }
+if test ${gl_cv_onwards_func_newlocale+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- if test "$cross_compiling" = yes
-then :
-
- gl_cv_cc_long_double_expbit0="unknown"
- case "$host_os" in
- mingw*) # On native Windows (little-endian), we know the result
- # in two cases: mingw, MSVC.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef __MINGW32__
- Known
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
-then :
- gl_cv_cc_long_double_expbit0="word 2 bit 0"
-fi
-rm -rf conftest*
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef _MSC_VER
- Known
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Known" >/dev/null 2>&1
-then :
- gl_cv_cc_long_double_expbit0="word 1 bit 20"
-fi
-rm -rf conftest*
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
- ;;
- esac
-
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
- ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { long double value; unsigned int word[NWORDS]; }
- memory_long_double;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (long double *x)
-{
- memory_long_double m;
- size_t i;
- /* Clear it first, in case
- sizeof (long double) < sizeof (memory_long_double). */
- memset (&m, 0, sizeof (memory_long_double));
- m.value = *x;
- for (i = 0; i < NWORDS; i++)
- {
- ored_words[i] |= m.word[i];
- anded_words[i] &= m.word[i];
- }
-}
-int main ()
-{
- static long double samples[5] = { 0.25L, 0.5L, 1.0L, 2.0L, 4.0L };
- size_t j;
- FILE *fp = fopen ("conftest.out", "w");
- if (fp == NULL)
- return 1;
- for (j = 0; j < NWORDS; j++)
- anded_words[j] = ~ (unsigned int) 0;
- for (j = 0; j < 5; j++)
- add_to_ored_words (&samples[j]);
- /* Remove bits that are common (e.g. if representation of the first mantissa
- bit is explicit). */
- for (j = 0; j < NWORDS; j++)
- ored_words[j] &= ~anded_words[j];
- /* Now find the nonzero word. */
- for (j = 0; j < NWORDS; j++)
- if (ored_words[j] != 0)
- break;
- if (j < NWORDS)
- {
- size_t i;
- for (i = j + 1; i < NWORDS; i++)
- if (ored_words[i] != 0)
- {
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
- }
- for (i = 0; ; i++)
- if ((ored_words[j] >> i) & 1)
- {
- fprintf (fp, "word %d bit %d", (int) j, (int) i);
- return (fclose (fp) != 0);
- }
- }
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
-}
+ case "$host_os" in
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "newlocale" "ac_cv_have_decl_newlocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_newlocale" = xyes
then :
- gl_cv_cc_long_double_expbit0=`cat conftest.out`
-else $as_nop
- gl_cv_cc_long_double_expbit0="unknown"
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- rm -f conftest.out
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
-printf "%s\n" "$gl_cv_cc_long_double_expbit0" >&6; }
- case "$gl_cv_cc_long_double_expbit0" in
- word*bit*)
- word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
- bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
-
-printf "%s\n" "#define LDBL_EXPBIT0_WORD $word" >>confdefs.h
-
-
-printf "%s\n" "#define LDBL_EXPBIT0_BIT $bit" >>confdefs.h
-
- ;;
- esac
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
+ if test $ac_cv_have_decl_newlocale = yes; then
+ ac_fn_c_check_func "$LINENO" "newlocale" "ac_cv_func_newlocale"
+if test "x$ac_cv_func_newlocale" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
+ if test $ac_cv_func_newlocale = yes; then
+ gl_cv_onwards_func_newlocale=yes
+ else
+ gl_cv_onwards_func_newlocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_newlocale='future OS version'
+ fi
+ ;;
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
+ *)
+ ac_fn_c_check_func "$LINENO" "newlocale" "ac_cv_func_newlocale"
+if test "x$ac_cv_func_newlocale" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ gl_cv_onwards_func_newlocale=$ac_cv_func_newlocale
+ ;;
+ esac
+ exec 6>&9 9>&-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
+ ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_newlocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_newlocale" >&6; }
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
+ case "$gl_cv_onwards_func_newlocale" in
+ future*) ac_cv_func_newlocale=no ;;
+ *) ac_cv_func_newlocale=$gl_cv_onwards_func_newlocale ;;
+ esac
+ if test $ac_cv_func_newlocale = yes; then
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
+printf "%s\n" "#define HAVE_NEWLOCALE 1" >>confdefs.h
+ fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newlocale" >&5
+printf %s "checking for newlocale... " >&6; }
+if test ${gl_cv_onwards_func_newlocale+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+ case "$host_os" in
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "newlocale" "ac_cv_have_decl_newlocale" "#include <locale.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_newlocale" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
+ if test $ac_cv_have_decl_newlocale = yes; then
+ ac_fn_c_check_func "$LINENO" "newlocale" "ac_cv_func_newlocale"
+if test "x$ac_cv_func_newlocale" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
+ if test $ac_cv_func_newlocale = yes; then
+ gl_cv_onwards_func_newlocale=yes
+ else
+ gl_cv_onwards_func_newlocale='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_newlocale='future OS version'
+ fi
+ ;;
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
+ *)
+ ac_fn_c_check_func "$LINENO" "newlocale" "ac_cv_func_newlocale"
+if test "x$ac_cv_func_newlocale" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
+ gl_cv_onwards_func_newlocale=$ac_cv_func_newlocale
+ ;;
+ esac
+ exec 6>&9 9>&-
- if test "$ac_cv_header_winsock2_h" = yes; then
- GL_COND_OBJ_LISTEN_TRUE=
- GL_COND_OBJ_LISTEN_FALSE='#'
-else
- GL_COND_OBJ_LISTEN_TRUE='#'
- GL_COND_OBJ_LISTEN_FALSE=
+ ;;
+esac
fi
-:
- if test -z "${GL_COND_OBJ_LISTEN_TRUE}" && test -z "${GL_COND_OBJ_LISTEN_FALSE}"; then
- GL_COND_OBJ_LISTEN_TRUE='#'
- GL_COND_OBJ_LISTEN_FALSE='#'
- fi
-
-
-
-
-
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_newlocale" >&5
+printf "%s\n" "$gl_cv_onwards_func_newlocale" >&6; }
+ case "$gl_cv_onwards_func_newlocale" in
+ future*) ac_cv_func_newlocale=no ;;
+ *) ac_cv_func_newlocale=$gl_cv_onwards_func_newlocale ;;
+ esac
+ if test $ac_cv_func_newlocale = yes; then
+printf "%s\n" "#define HAVE_NEWLOCALE 1" >>confdefs.h
- if test "$GL_GNULIB_LISTEN" != 1; then
- if test "$GL_GNULIB_LISTEN" = 0; then
- GL_GNULIB_LISTEN=$gl_module_indicator_condition
- else
- GL_GNULIB_LISTEN="($GL_GNULIB_LISTEN || $gl_module_indicator_condition)"
- fi
fi
-printf "%s\n" "#define GNULIB_TEST_LISTEN 1" >>confdefs.h
-
-
-
-
-
-
-
@@ -67630,7 +73724,7 @@ printf "%s\n" "#define GNULIB_TEST_LISTEN 1" >>confdefs.h
if test $ac_cv_func_lstat = yes; then
case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
- solaris* | *no)
+ darwin* | solaris* | *no)
REPLACE_LSTAT=1
;;
esac
@@ -67693,21 +73787,21 @@ printf %s "checking whether malloc (0) returns nonnull... " >&6; }
if test ${ac_cv_func_malloc_0_nonnull+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on platforms where we know the result.
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | msys* )
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
ac_cv_func_malloc_0_nonnull="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -67715,7 +73809,8 @@ int
main (void)
{
void *p = malloc (0);
- int result = !p;
+ void * volatile vp = p;
+ int result = !vp;
free (p);
return result;
;
@@ -67726,14 +73821,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_func_malloc_0_nonnull=yes
-else $as_nop
- ac_cv_func_malloc_0_nonnull=no
+else case e in #(
+ e) ac_cv_func_malloc_0_nonnull=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; }
@@ -67786,708 +73884,89 @@ printf "%s\n" "#define GNULIB_TEST_MALLOC_GNU 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbtowc" >&5
+printf %s "checking for mbtowc... " >&6; }
+if test ${gl_cv_onwards_func_mbtowc+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
+ case "$host_os" in
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "mbtowc" "ac_cv_have_decl_mbtowc" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_mbtowc" = xyes
+then :
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
+ if test $ac_cv_have_decl_mbtowc = yes; then
+ ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc"
+if test "x$ac_cv_func_mbtowc" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
+ if test $ac_cv_func_mbtowc = yes; then
+ gl_cv_onwards_func_mbtowc=yes
+ else
+ gl_cv_onwards_func_mbtowc='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_mbtowc='future OS version'
+ fi
+ ;;
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
+ *)
+ ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc"
+if test "x$ac_cv_func_mbtowc" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
+fi
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
+ gl_cv_onwards_func_mbtowc=$ac_cv_func_mbtowc
+ ;;
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ esac
+ exec 6>&9 9>&-
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_mbtowc" >&5
+printf "%s\n" "$gl_cv_onwards_func_mbtowc" >&6; }
+ case "$gl_cv_onwards_func_mbtowc" in
+ future*) ac_cv_func_mbtowc=no ;;
+ *) ac_cv_func_mbtowc=$gl_cv_onwards_func_mbtowc ;;
+ esac
+ if test $ac_cv_func_mbtowc = yes; then
+printf "%s\n" "#define HAVE_MBTOWC 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc"
-if test "x$ac_cv_func_mbtowc" = xyes
-then :
- printf "%s\n" "#define HAVE_MBTOWC 1" >>confdefs.h
+ fi
-fi
if test $ac_cv_func_mbtowc = no; then
HAVE_MBTOWC=0
+ case "$gl_cv_onwards_func_mbtowc" in
+ future*) REPLACE_MBTOWC=1 ;;
+ esac
else
if false; then
REPLACE_MBTOWC=1
@@ -68585,26 +74064,32 @@ printf "%s\n" "#define GNULIB_MSVC_NOTHROW $gl_module_indicator_condition" >>con
- nanosleep_save_libs=$LIBS
+ gl_saved_LIBS=$LIBS
# Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- LIB_NANOSLEEP=
+ NANOSLEEP_LIB=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
printf %s "checking for library containing nanosleep... " >&6; }
if test ${ac_cv_search_nanosleep+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- ac_func_search_save_LIBS=$LIBS
+else case e in #(
+ e) ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char nanosleep ();
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char nanosleep (void);
int
main (void)
{
@@ -68635,11 +74120,13 @@ done
if test ${ac_cv_search_nanosleep+y}
then :
-else $as_nop
- ac_cv_search_nanosleep=no
+else case e in #(
+ e) ac_cv_search_nanosleep=no ;;
+esac
fi
rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
+LIBS=$ac_func_search_save_LIBS ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
printf "%s\n" "$ac_cv_search_nanosleep" >&6; }
@@ -68648,7 +74135,7 @@ if test "$ac_res" != no
then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
test "$ac_cv_search_nanosleep" = "none required" ||
- LIB_NANOSLEEP=$ac_cv_search_nanosleep
+ NANOSLEEP_LIB=$ac_cv_search_nanosleep
fi
if test "x$ac_cv_search_nanosleep" != xno; then
@@ -68667,21 +74154,28 @@ printf %s "checking for working nanosleep... " >&6; }
if test ${gl_cv_func_nanosleep+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
- linux*) # Guess it halfway works when the kernel is Linux.
+ # Guess it halfway works when the kernel is Linux.
+ linux*)
gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
- mingw*) # Guess no on native Windows.
+ # Midipix generally emulates the Linux system calls,
+ # but here it handles large arguments correctly.
+ midipix*)
+ gl_cv_func_nanosleep='guessing yes' ;;
+ # Guess no on native Windows.
+ mingw* | windows*)
gl_cv_func_nanosleep='guessing no' ;;
- *) # If we don't know, obey --enable-cross-guesses.
+ # If we don't know, obey --enable-cross-guesses.
+ *)
gl_cv_func_nanosleep="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
@@ -68750,25 +74244,26 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_nanosleep=yes
-else $as_nop
- case $? in
+else case e in #(
+ e) case $? in
4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)' ;;
7) gl_cv_func_nanosleep='no (mishandles negative tv_nsec)' ;;
*) gl_cv_func_nanosleep=no ;;
- esac
+ esac ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nanosleep" >&5
printf "%s\n" "$gl_cv_func_nanosleep" >&6; }
case "$gl_cv_func_nanosleep" in
- *yes)
- REPLACE_NANOSLEEP=0
- ;;
+ *yes) ;;
*)
REPLACE_NANOSLEEP=1
case "$gl_cv_func_nanosleep" in
@@ -68783,7 +74278,11 @@ printf "%s\n" "#define HAVE_BUG_BIG_NANOSLEEP 1" >>confdefs.h
else
HAVE_NANOSLEEP=0
fi
- LIBS=$nanosleep_save_libs
+ LIBS=$gl_saved_LIBS
+
+ # For backward compatibility.
+ LIB_NANOSLEEP="$NANOSLEEP_LIB"
+
if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then
@@ -68831,8 +74330,8 @@ printf %s "checking whether <netinet/in.h> is self-contained... " >&6; }
if test ${gl_cv_header_netinet_in_h_selfcontained+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <netinet/in.h>
@@ -68847,11 +74346,13 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gl_cv_header_netinet_in_h_selfcontained=yes
-else $as_nop
- gl_cv_header_netinet_in_h_selfcontained=no
+else case e in #(
+ e) gl_cv_header_netinet_in_h_selfcontained=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5
printf "%s\n" "$gl_cv_header_netinet_in_h_selfcontained" >&6; }
@@ -68883,8 +74384,8 @@ printf %s "checking absolute name of <netinet/in.h>... " >&6; }
if test ${gl_cv_next_netinet_in_h+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test $ac_cv_header_netinet_in_h = yes; then
@@ -68900,7 +74401,7 @@ _ACEOF
esac
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_dirsep_regex='[/\\]'
;;
*)
@@ -68926,7 +74427,8 @@ _ACEOF
gl_cv_next_netinet_in_h='<'netinet/in.h'>'
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5
printf "%s\n" "$gl_cv_next_netinet_in_h" >&6; }
@@ -68990,7 +74492,7 @@ fi
case "$host_os" in
- mingw* | pw*)
+ mingw* | windows* | pw*)
REPLACE_OPEN=1
;;
*)
@@ -69005,8 +74507,8 @@ printf %s "checking whether open recognizes a trailing slash... " >&6; }
if test ${gl_cv_func_open_slash+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- # Assume that if we have lstat, we can also check symlinks.
+else case e in #(
+ e) # Assume that if we have lstat, we can also check symlinks.
if test $ac_cv_func_lstat = yes; then
touch conftest.tmp
ln -s conftest.tmp conftest.lnk
@@ -69021,8 +74523,8 @@ then :
gl_cv_func_open_slash="guessing yes" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <fcntl.h>
@@ -69048,15 +74550,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_open_slash=yes
-else $as_nop
- gl_cv_func_open_slash=no
+else case e in #(
+ e) gl_cv_func_open_slash=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
rm -f conftest.sl conftest.tmp conftest.lnk
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5
printf "%s\n" "$gl_cv_func_open_slash" >&6; }
@@ -69133,7 +74638,8 @@ printf "%s\n" "#define GNULIB_TEST_OPEN 1" >>confdefs.h
- if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" != false:0; then
+
+ if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" != false:0; then
REPLACE_PERROR=1
fi
case ${gl_cv_func_strerror_r_works-unset} in
@@ -69143,20 +74649,20 @@ printf %s "checking whether perror matches strerror... " >&6; }
if test ${gl_cv_func_perror_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_perror_works="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_perror_works="guessing yes" ;;
- # Otherwise obey --enable-cross-guesses.
- *) gl_cv_func_perror_works="$gl_cross_guess_normal" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_perror_works="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_perror_works="guessing yes" ;;
+ # Otherwise obey --enable-cross-guesses.
+ *) gl_cv_func_perror_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
#include <stdio.h>
@@ -69187,14 +74693,17 @@ then :
gl_cv_func_perror_works=no
fi
rm -rf conftest.txt1 conftest.txt2
-else $as_nop
- gl_cv_func_perror_works=no
+else case e in #(
+ e) gl_cv_func_perror_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_perror_works" >&5
printf "%s\n" "$gl_cv_func_perror_works" >&6; }
@@ -69207,6 +74716,10 @@ printf "%s\n" "$gl_cv_func_perror_works" >&6; }
REPLACE_PERROR=1
;;
esac
+ case "$host_os" in
+ # Yes on Android 11.
+ linux*-android*) REPLACE_PERROR=1 ;;
+ esac
if test $REPLACE_PERROR = 1; then
@@ -69310,8 +74823,8 @@ printf %s "checking whether signature of pselect conforms to POSIX... " >&6; }
if test ${gl_cv_sig_pselect+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/select.h>
@@ -69329,11 +74842,13 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_sig_pselect=yes
-else $as_nop
- gl_cv_sig_pselect=no
+else case e in #(
+ e) gl_cv_sig_pselect=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
+ conftest$ac_exeext conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sig_pselect" >&5
printf "%s\n" "$gl_cv_sig_pselect" >&6; }
@@ -69343,22 +74858,24 @@ printf %s "checking whether pselect detects invalid fds... " >&6; }
if test ${gl_cv_func_pselect_detects_ebadf+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_pselect_detects_ebadf="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
@@ -69393,14 +74910,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_pselect_detects_ebadf=yes
-else $as_nop
- gl_cv_func_pselect_detects_ebadf=no
+else case e in #(
+ e) gl_cv_func_pselect_detects_ebadf=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pselect_detects_ebadf" >&5
printf "%s\n" "$gl_cv_func_pselect_detects_ebadf" >&6; }
@@ -69465,7 +74985,7 @@ printf "%s\n" "#define GNULIB_TEST_PSELECT 1" >>confdefs.h
- if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ if { case "$host_os" in mingw* | windows*) true;; *) false;; esac; } \
&& test $gl_threads_api = windows; then
REPLACE_PTHREAD_CREATE=1
REPLACE_PTHREAD_ATTR_INIT=1
@@ -69495,8 +75015,8 @@ printf %s "checking whether pthread_create exists as a global function... " >&6;
if test ${gl_cv_func_pthread_create+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- saved_LIBS="$LIBS"
+else case e in #(
+ e) saved_LIBS="$LIBS"
LIBS="$LIBS $LIBPMULTITHREAD"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -69514,13 +75034,15 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_pthread_create=yes
-else $as_nop
- gl_cv_func_pthread_create=no
+else case e in #(
+ e) gl_cv_func_pthread_create=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS="$saved_LIBS"
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_create" >&5
printf "%s\n" "$gl_cv_func_pthread_create" >&6; }
@@ -69583,8 +75105,8 @@ printf %s "checking whether pthread_sigmask is a macro... " >&6; }
if test ${gl_cv_func_pthread_sigmask_macro+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
@@ -69594,20 +75116,22 @@ else $as_nop
#endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "headers_define_pthread_sigmask" >/dev/null 2>&1
+ $EGREP_TRADITIONAL "headers_define_pthread_sigmask" >/dev/null 2>&1
then :
gl_cv_func_pthread_sigmask_macro=yes
-else $as_nop
- gl_cv_func_pthread_sigmask_macro=no
+else case e in #(
+ e) gl_cv_func_pthread_sigmask_macro=no ;;
+esac
fi
rm -rf conftest*
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_macro" >&5
printf "%s\n" "$gl_cv_func_pthread_sigmask_macro" >&6; }
- LIB_PTHREAD_SIGMASK=
+ PTHREAD_SIGMASK_LIB=
if test $gl_cv_func_pthread_sigmask_macro = yes; then
HAVE_PTHREAD_SIGMASK=0
@@ -69626,8 +75150,8 @@ printf %s "checking for pthread_sigmask in $LIBMULTITHREAD... " >&6; }
if test ${gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- gl_save_LIBS="$LIBS"
+else case e in #(
+ e) gl_saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -69646,18 +75170,20 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes
-else $as_nop
- gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no
+else case e in #(
+ e) gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$gl_save_LIBS"
-
+ LIBS="$gl_saved_LIBS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&5
printf "%s\n" "$gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&6; }
if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
- LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
+ PTHREAD_SIGMASK_LIB="$LIBMULTITHREAD"
else
HAVE_PTHREAD_SIGMASK=0
fi
@@ -69676,11 +75202,13 @@ printf "%s\n" "$gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&6; }
fi
+ LIB_PTHREAD_SIGMASK="$PTHREAD_SIGMASK_LIB"
+
if test $HAVE_PTHREAD_SIGMASK = 1; then
- if test -z "$LIB_PTHREAD_SIGMASK"; then
+ if test -z "$PTHREAD_SIGMASK_LIB"; then
case " $LIBS " in
*' -pthread '*) ;;
*' -lpthread '*) ;;
@@ -69690,8 +75218,8 @@ printf %s "checking whether pthread_sigmask works without -lpthread... " >&6; }
if test ${gl_cv_func_pthread_sigmask_in_libc_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -69702,8 +75230,8 @@ then :
gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
@@ -69719,14 +75247,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_pthread_sigmask_in_libc_works=no
-else $as_nop
- gl_cv_func_pthread_sigmask_in_libc_works=yes
+else case e in #(
+ e) gl_cv_func_pthread_sigmask_in_libc_works=yes ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_libc_works" >&5
printf "%s\n" "$gl_cv_func_pthread_sigmask_in_libc_works" >&6; }
@@ -69746,10 +75277,10 @@ printf %s "checking whether pthread_sigmask returns error numbers... " >&6; }
if test ${gl_cv_func_pthread_sigmask_return_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB_PTHREAD_SIGMASK"
+else case e in #(
+ e)
+ gl_saved_LIBS="$LIBS"
+ LIBS="$LIBS $PTHREAD_SIGMASK_LIB"
if test "$cross_compiling" = yes
then :
case "$host_os" in
@@ -69759,8 +75290,8 @@ then :
gl_cv_func_pthread_sigmask_return_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
@@ -69778,15 +75309,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_pthread_sigmask_return_works=yes
-else $as_nop
- gl_cv_func_pthread_sigmask_return_works=no
+else case e in #(
+ e) gl_cv_func_pthread_sigmask_return_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- LIBS="$gl_save_LIBS"
-
+ LIBS="$gl_saved_LIBS"
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_return_works" >&5
printf "%s\n" "$gl_cv_func_pthread_sigmask_return_works" >&6; }
@@ -69804,23 +75338,24 @@ printf %s "checking whether pthread_sigmask unblocks signals correctly... " >&6;
if test ${gl_cv_func_pthread_sigmask_unblock_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
irix*)
gl_cv_func_pthread_sigmask_unblock_works="guessing no";;
*)
gl_cv_func_pthread_sigmask_unblock_works="guessing yes";;
esac
- gl_save_LIBS=$LIBS
+ gl_saved_LIBS=$LIBS
LIBS="$LIBS $LIBMULTITHREAD"
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <limits.h>
#include <pthread.h>
#include <signal.h>
#include <stdio.h>
@@ -69839,14 +75374,16 @@ sigint_handler (int sig)
int main ()
{
sigset_t set;
- int pid = getpid ();
+ pid_t pid = getpid ();
char command[80];
+ if (LONG_MAX < pid)
+ return 6;
signal (SIGINT, sigint_handler);
sigemptyset (&set);
sigaddset (&set, SIGINT);
if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0))
return 1;
- sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+ sprintf (command, "sh -c 'sleep 1; kill -INT %ld' &", (long) pid);
if (!(system (command) == 0))
return 2;
sleep (2);
@@ -69862,15 +75399,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
:
-else $as_nop
- gl_cv_func_pthread_sigmask_unblock_works=no
+else case e in #(
+ e) gl_cv_func_pthread_sigmask_unblock_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- LIBS=$gl_save_LIBS
-
+ LIBS=$gl_saved_LIBS
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_unblock_works" >&5
printf "%s\n" "$gl_cv_func_pthread_sigmask_unblock_works" >&6; }
@@ -69941,22 +75481,22 @@ printf %s "checking for putenv compatible with GNU and SVID... " >&6; }
if test ${gl_cv_func_svid_putenv+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_svid_putenv="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_func_svid_putenv="guessing no" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_svid_putenv="guessing yes" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_svid_putenv="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
@@ -69988,14 +75528,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_svid_putenv=yes
-else $as_nop
- gl_cv_func_svid_putenv=no
+else case e in #(
+ e) gl_cv_func_svid_putenv=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
printf "%s\n" "$gl_cv_func_svid_putenv" >&6; }
@@ -70027,8 +75570,9 @@ fi
if test "x$ac_cv_have_decl__putenv" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL__PUTENV $ac_have_decl" >>confdefs.h
@@ -70146,6 +75690,371 @@ printf "%s\n" "#define GNULIB_TEST_RAISE 1" >>confdefs.h
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for random" >&5
+printf %s "checking for random... " >&6; }
+if test ${gl_cv_func_random+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+int
+main (void)
+{
+return random() == 0;
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ gl_cv_func_random=yes
+else case e in #(
+ e) gl_cv_func_random=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_random" >&5
+printf "%s\n" "$gl_cv_func_random" >&6; }
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for initstate" >&5
+printf %s "checking for initstate... " >&6; }
+if test ${gl_cv_onwards_func_initstate+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "initstate" "ac_cv_have_decl_initstate" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_initstate" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_initstate = yes; then
+ ac_fn_c_check_func "$LINENO" "initstate" "ac_cv_func_initstate"
+if test "x$ac_cv_func_initstate" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_initstate = yes; then
+ gl_cv_onwards_func_initstate=yes
+ else
+ gl_cv_onwards_func_initstate='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_initstate='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "initstate" "ac_cv_func_initstate"
+if test "x$ac_cv_func_initstate" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_initstate=$ac_cv_func_initstate
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_initstate" >&5
+printf "%s\n" "$gl_cv_onwards_func_initstate" >&6; }
+
+ case "$gl_cv_onwards_func_initstate" in
+ future*) ac_cv_func_initstate=no ;;
+ *) ac_cv_func_initstate=$gl_cv_onwards_func_initstate ;;
+ esac
+ if test $ac_cv_func_initstate = yes; then
+
+printf "%s\n" "#define HAVE_INITSTATE 1" >>confdefs.h
+
+ fi
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for setstate" >&5
+printf %s "checking for setstate... " >&6; }
+if test ${gl_cv_onwards_func_setstate+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "setstate" "ac_cv_have_decl_setstate" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_setstate" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_setstate = yes; then
+ ac_fn_c_check_func "$LINENO" "setstate" "ac_cv_func_setstate"
+if test "x$ac_cv_func_setstate" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_setstate = yes; then
+ gl_cv_onwards_func_setstate=yes
+ else
+ gl_cv_onwards_func_setstate='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_setstate='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "setstate" "ac_cv_func_setstate"
+if test "x$ac_cv_func_setstate" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_setstate=$ac_cv_func_setstate
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_setstate" >&5
+printf "%s\n" "$gl_cv_onwards_func_setstate" >&6; }
+
+ case "$gl_cv_onwards_func_setstate" in
+ future*) ac_cv_func_setstate=no ;;
+ *) ac_cv_func_setstate=$gl_cv_onwards_func_setstate ;;
+ esac
+ if test $ac_cv_func_setstate = yes; then
+
+printf "%s\n" "#define HAVE_SETSTATE 1" >>confdefs.h
+
+ fi
+
+
+ if test $gl_cv_func_random = no; then
+ HAVE_RANDOM=0
+ HAVE_INITSTATE=0
+ HAVE_SETSTATE=0
+ else
+ if test $ac_cv_func_initstate = no; then
+ HAVE_INITSTATE=0
+ fi
+ if test $ac_cv_func_setstate = no; then
+ HAVE_SETSTATE=0
+ fi
+ fi
+ if test $HAVE_INITSTATE = 0; then
+ case "$gl_cv_onwards_func_initstate" in
+ future*) REPLACE_INITSTATE=1 ;;
+ esac
+ fi
+ if test $HAVE_SETSTATE = 0; then
+ case "$gl_cv_onwards_func_setstate" in
+ future*) REPLACE_SETSTATE=1 ;;
+ esac
+ fi
+ if test $ac_cv_func_initstate = no || test $ac_cv_func_setstate = no \
+ || case "$host_os" in \
+ darwin* | freebsd* | solaris* | cygwin* | haiku*) true ;; \
+ *) false ;; \
+ esac
+ then
+ REPLACE_RANDOM=1
+ if test $ac_cv_func_initstate = yes; then
+ REPLACE_INITSTATE=1
+ fi
+ if test $ac_cv_func_setstate = yes; then
+ REPLACE_SETSTATE=1
+ fi
+ fi
+
+
+ if test $ac_cv_have_decl_initstate = no; then
+ HAVE_DECL_INITSTATE=0
+ fi
+
+
+ if test $ac_cv_have_decl_setstate = no; then
+ HAVE_DECL_SETSTATE=0
+ fi
+
+
+ if test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1; then
+ GL_COND_OBJ_RANDOM_TRUE=
+ GL_COND_OBJ_RANDOM_FALSE='#'
+else
+ GL_COND_OBJ_RANDOM_TRUE='#'
+ GL_COND_OBJ_RANDOM_FALSE=
+fi
+:
+ if test -z "${GL_COND_OBJ_RANDOM_TRUE}" && test -z "${GL_COND_OBJ_RANDOM_FALSE}"; then
+ GL_COND_OBJ_RANDOM_TRUE='#'
+ GL_COND_OBJ_RANDOM_FALSE='#'
+ fi
+
+ if test -z "$GL_COND_OBJ_RANDOM_TRUE"; then :
+
+
+ :
+
+
+fi
+
+
+
+
+
+
+
+
+
+ if test "$GL_GNULIB_RANDOM" != 1; then
+ if test "$GL_GNULIB_RANDOM" = 0; then
+ GL_GNULIB_RANDOM=$gl_module_indicator_condition
+ else
+ GL_GNULIB_RANDOM="($GL_GNULIB_RANDOM || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_RANDOM 1" >>confdefs.h
+
+
+
+
+
+
+
+ ac_fn_c_check_header_compile "$LINENO" "random.h" "ac_cv_header_random_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_random_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_RANDOM_H 1" >>confdefs.h
+
+fi
+
+ if test $ac_cv_header_random_h = no; then
+ HAVE_RANDOM_H=0
+ fi
+
+ ac_fn_c_check_type "$LINENO" "struct random_data" "ac_cv_type_struct_random_data" "#include <stdlib.h>
+ #if HAVE_RANDOM_H
+ # include <random.h>
+ #endif
+
+"
+if test "x$ac_cv_type_struct_random_data" = xyes
+then :
+
+printf "%s\n" "#define HAVE_STRUCT_RANDOM_DATA 1" >>confdefs.h
+
+
+else case e in #(
+ e) HAVE_STRUCT_RANDOM_DATA=0 ;;
+esac
+fi
+
+
+ case "$host_os" in
+ aix* | osf*)
+ REPLACE_RANDOM_R=1
+ ;;
+ *)
+ ac_fn_c_check_func "$LINENO" "random_r" "ac_cv_func_random_r"
+if test "x$ac_cv_func_random_r" = xyes
+then :
+ printf "%s\n" "#define HAVE_RANDOM_R 1" >>confdefs.h
+
+fi
+
+ if test $ac_cv_func_random_r = no; then
+ HAVE_RANDOM_R=0
+ fi
+ ;;
+ esac
+
+
+ if test $HAVE_RANDOM_R = 0 || test $REPLACE_RANDOM_R = 1; then
+ GL_COND_OBJ_RANDOM_R_TRUE=
+ GL_COND_OBJ_RANDOM_R_FALSE='#'
+else
+ GL_COND_OBJ_RANDOM_R_TRUE='#'
+ GL_COND_OBJ_RANDOM_R_FALSE=
+fi
+:
+ if test -z "${GL_COND_OBJ_RANDOM_R_TRUE}" && test -z "${GL_COND_OBJ_RANDOM_R_FALSE}"; then
+ GL_COND_OBJ_RANDOM_R_TRUE='#'
+ GL_COND_OBJ_RANDOM_R_FALSE='#'
+ fi
+
+ if test -z "$GL_COND_OBJ_RANDOM_R_TRUE"; then :
+
+
+ :
+
+
+fi
+
+
+
+
+
+
+
+
+
+ if test "$GL_GNULIB_RANDOM_R" != 1; then
+ if test "$GL_GNULIB_RANDOM_R" = 0; then
+ GL_GNULIB_RANDOM_R=$gl_module_indicator_condition
+ else
+ GL_GNULIB_RANDOM_R="($GL_GNULIB_RANDOM_R || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_RANDOM_R 1" >>confdefs.h
+
+
+
+
+
+
if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether realloc (0, 0) returns nonnull" >&5
@@ -70153,21 +76062,21 @@ printf %s "checking whether realloc (0, 0) returns nonnull... " >&6; }
if test ${ac_cv_func_realloc_0_nonnull+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on platforms where we know the result.
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | msys* )
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
ac_cv_func_realloc_0_nonnull="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -70175,7 +76084,8 @@ int
main (void)
{
void *p = realloc (0, 0);
- int result = !p;
+ void * volatile vp = p;
+ int result = !vp;
free (p);
return result;
;
@@ -70186,14 +76096,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_func_realloc_0_nonnull=yes
-else $as_nop
- ac_cv_func_realloc_0_nonnull=no
+else case e in #(
+ e) ac_cv_func_realloc_0_nonnull=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
printf "%s\n" "$ac_cv_func_realloc_0_nonnull" >&6; }
@@ -70292,15 +76205,80 @@ printf "%s\n" "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h
- ac_fn_c_check_func "$LINENO" "reallocarray" "ac_cv_func_reallocarray"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for reallocarray" >&5
+printf %s "checking for reallocarray... " >&6; }
+if test ${gl_cv_onwards_func_reallocarray+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_reallocarray" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_reallocarray = yes; then
+ ac_fn_c_check_func "$LINENO" "reallocarray" "ac_cv_func_reallocarray"
+if test "x$ac_cv_func_reallocarray" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_reallocarray = yes; then
+ gl_cv_onwards_func_reallocarray=yes
+ else
+ gl_cv_onwards_func_reallocarray='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_reallocarray='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "reallocarray" "ac_cv_func_reallocarray"
if test "x$ac_cv_func_reallocarray" = xyes
then :
- printf "%s\n" "#define HAVE_REALLOCARRAY 1" >>confdefs.h
fi
+ gl_cv_onwards_func_reallocarray=$ac_cv_func_reallocarray
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_reallocarray" >&5
+printf "%s\n" "$gl_cv_onwards_func_reallocarray" >&6; }
+
+ case "$gl_cv_onwards_func_reallocarray" in
+ future*) ac_cv_func_reallocarray=no ;;
+ *) ac_cv_func_reallocarray=$gl_cv_onwards_func_reallocarray ;;
+ esac
+ if test $ac_cv_func_reallocarray = yes; then
+
+printf "%s\n" "#define HAVE_REALLOCARRAY 1" >>confdefs.h
+
+ fi
+
+
if test "$ac_cv_func_reallocarray" = no; then
HAVE_REALLOCARRAY=0
+ case "$gl_cv_onwards_func_reallocarray" in
+ future*) REPLACE_REALLOCARRAY=1 ;;
+ esac
elif test "$gl_cv_malloc_ptrdiff" = no; then
REPLACE_REALLOCARRAY=1
fi
@@ -70366,7 +76344,7 @@ printf "%s\n" "#define GNULIB_TEST_REALLOCARRAY 1" >>confdefs.h
- if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ if { case "$host_os" in mingw* | windows*) true;; *) false;; esac; } \
&& test $gl_threads_api = windows; then
REPLACE_SCHED_YIELD=1
else
@@ -70375,8 +76353,9 @@ printf "%s\n" "#define GNULIB_TEST_REALLOCARRAY 1" >>confdefs.h
if test "x$ac_cv_have_decl_sched_yield" = xyes
then :
-else $as_nop
- HAVE_SCHED_YIELD=0
+else case e in #(
+ e) HAVE_SCHED_YIELD=0 ;;
+esac
fi
fi
@@ -70432,8 +76411,8 @@ printf %s "checking whether select supports a 0 argument... " >&6; }
if test ${gl_cv_func_select_supports0+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
@@ -70444,8 +76423,8 @@ then :
*) gl_cv_func_select_supports0="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
@@ -70464,14 +76443,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_select_supports0=yes
-else $as_nop
- gl_cv_func_select_supports0=no
+else case e in #(
+ e) gl_cv_func_select_supports0=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5
printf "%s\n" "$gl_cv_func_select_supports0" >&6; }
@@ -70485,22 +76467,24 @@ printf %s "checking whether select detects invalid fds... " >&6; }
if test ${gl_cv_func_select_detects_ebadf+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_select_detects_ebadf="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_select_detects_ebadf="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
@@ -70535,14 +76519,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_select_detects_ebadf=yes
-else $as_nop
- gl_cv_func_select_detects_ebadf=no
+else case e in #(
+ e) gl_cv_func_select_detects_ebadf=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5
printf "%s\n" "$gl_cv_func_select_detects_ebadf" >&6; }
@@ -70552,10 +76539,10 @@ printf "%s\n" "$gl_cv_func_select_detects_ebadf" >&6; }
esac
fi
- LIB_SELECT="$LIBSOCKET"
+ SELECT_LIB="$LIBSOCKET"
if test $REPLACE_SELECT = 1; then
case "$host_os" in
- mingw*)
+ mingw* | windows*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -70571,8 +76558,9 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"
then :
-else $as_nop
- LIB_SELECT="$LIB_SELECT -luser32"
+else case e in #(
+ e) SELECT_LIB="$SELECT_LIB -luser32" ;;
+esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
@@ -70580,6 +76568,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
esac
fi
+ LIB_SELECT="$LIB_SELECT"
+
if test $REPLACE_SELECT = 1; then
@@ -70631,20 +76621,20 @@ printf %s "checking whether setenv validates arguments... " >&6; }
if test ${gl_cv_func_setenv_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_setenv_works="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_setenv_works="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -70677,13 +76667,16 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_setenv_works=yes
-else $as_nop
- gl_cv_func_setenv_works=no
+else case e in #(
+ e) gl_cv_func_setenv_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
printf "%s\n" "$gl_cv_func_setenv_works" >&6; }
@@ -70741,7 +76734,7 @@ printf "%s\n" "#define GNULIB_TEST_SETENV 1" >>confdefs.h
NEED_SETLOCALE_IMPROVED=0
case "$host_os" in
- mingw*) NEED_SETLOCALE_IMPROVED=1 ;;
+ mingw* | windows*) NEED_SETLOCALE_IMPROVED=1 ;;
cygwin*)
case `uname -r` in
1.5.*) NEED_SETLOCALE_IMPROVED=1 ;;
@@ -70753,8 +76746,8 @@ printf %s "checking whether setlocale supports the C locale... " >&6; }
if test ${gl_cv_func_setlocale_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess no on Android.
@@ -70763,8 +76756,8 @@ then :
*) gl_cv_func_setlocale_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -70776,14 +76769,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_setlocale_works=yes
-else $as_nop
- gl_cv_func_setlocale_works=no
+else case e in #(
+ e) gl_cv_func_setlocale_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_works" >&5
printf "%s\n" "$gl_cv_func_setlocale_works" >&6; }
@@ -70810,11 +76806,13 @@ printf "%s\n" "#define NEED_SETLOCALE_MTSAFE $NEED_SETLOCALE_MTSAFE" >>confdefs.
fi
if test $NEED_SETLOCALE_MTSAFE = 1; then
- LIB_SETLOCALE="$LIB_SETLOCALE_NULL"
+ SETLOCALE_LIB="$SETLOCALE_NULL_LIB"
else
- LIB_SETLOCALE=
+ SETLOCALE_LIB=
fi
+ LIB_SETLOCALE="$SETLOCALE_LIB"
+
if test $REPLACE_SETLOCALE = 1; then
@@ -70865,566 +76863,6 @@ printf "%s\n" "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
@@ -71476,9 +76914,6 @@ printf "%s\n" "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h
-
-
-
HAVE_POSIX_SIGNALBLOCKING=0
if test "$gl_cv_type_sigset_t" = yes; then
ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask"
@@ -71540,8 +76975,9 @@ printf "%s\n" "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h
if test "x$ac_cv_have_decl_sleep" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_SLEEP $ac_have_decl" >>confdefs.h
@@ -71554,22 +76990,24 @@ printf %s "checking for working sleep... " >&6; }
if test ${gl_cv_func_sleep_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_sleep_works="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_func_sleep_works="guessing no" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_sleep_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl*) gl_cv_func_sleep_works="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_sleep_works="guessing yes" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_sleep_works="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_sleep_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <errno.h>
@@ -71606,13 +77044,16 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_sleep_works=yes
-else $as_nop
- gl_cv_func_sleep_works=no
+else case e in #(
+ e) gl_cv_func_sleep_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5
printf "%s\n" "$gl_cv_func_sleep_works" >&6; }
@@ -71666,6 +77107,8 @@ printf "%s\n" "#define GNULIB_TEST_SLEEP 1" >>confdefs.h
+
+
if test "$ac_cv_header_winsock2_h" = yes; then
GL_COND_OBJ_SOCKET_TRUE=
GL_COND_OBJ_SOCKET_FALSE='#'
@@ -71738,14 +77181,14 @@ printf "%s\n" "#define GNULIB_TEST_SOCKET 1" >>confdefs.h
if test "x$ac_cv_type_socklen_t" = xyes
then :
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
printf %s "checking for socklen_t equivalent... " >&6; }
if test ${gl_cv_socklen_t_equiv+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- # Systems have either "struct sockaddr *" or
+else case e in #(
+ e) # Systems have either "struct sockaddr *" or
# "void *" as the second argument to getpeername
gl_cv_socklen_t_equiv=
for arg2 in "struct sockaddr" void; do
@@ -71777,13 +77220,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test "$gl_cv_socklen_t_equiv" = ""; then
as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5
printf "%s\n" "$gl_cv_socklen_t_equiv" >&6; }
printf "%s\n" "#define socklen_t $gl_cv_socklen_t_equiv" >>confdefs.h
-
+ ;;
+esac
fi
@@ -71791,7 +77236,7 @@ fi
case "$host_os" in
- mingw*)
+ mingw* | windows*)
REPLACE_STAT=1
;;
*)
@@ -71800,8 +77245,8 @@ printf %s "checking whether stat handles trailing slashes on files... " >&6; }
if test ${gl_cv_func_stat_file_slash+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- touch conftest.tmp
+else case e in #(
+ e) touch conftest.tmp
# Assume that if we have lstat, we can also check symlinks.
if test $ac_cv_func_lstat = yes; then
ln -s conftest.tmp conftest.lnk
@@ -71811,14 +77256,16 @@ then :
case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_stat_file_slash="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_stat_file_slash="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/stat.h>
@@ -71842,14 +77289,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_stat_file_slash=yes
-else $as_nop
- gl_cv_func_stat_file_slash=no
+else case e in #(
+ e) gl_cv_func_stat_file_slash=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- rm -f conftest.tmp conftest.lnk
+ rm -f conftest.tmp conftest.lnk ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
printf "%s\n" "$gl_cv_func_stat_file_slash" >&6; }
@@ -71861,7 +77311,7 @@ printf "%s\n" "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
;;
esac
case $host_os in
- solaris*)
+ darwin* | solaris*)
REPLACE_FSTAT=1 ;;
esac
;;
@@ -71884,7 +77334,7 @@ fi
if test -z "$GL_COND_OBJ_STAT_TRUE"; then :
case "$host_os" in
- mingw*)
+ mingw* | windows*)
@@ -71946,8 +77396,8 @@ printf %s "checking whether struct stat.st_atim is of type struct timespec... "
if test ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
@@ -71972,10 +77422,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes
-else $as_nop
- ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no
+else case e in #(
+ e) ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5
printf "%s\n" "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; }
@@ -71984,8 +77436,8 @@ printf "%s\n" "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; }
printf "%s\n" "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h
fi
-else $as_nop
- ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include <sys/types.h>
+else case e in #(
+ e) ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include <sys/types.h>
#include <sys/stat.h>
"
if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes
@@ -71994,8 +77446,8 @@ then :
printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1" >>confdefs.h
-else $as_nop
- ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include <sys/types.h>
+else case e in #(
+ e) ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include <sys/types.h>
#include <sys/stat.h>
"
if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes
@@ -72004,8 +77456,8 @@ then :
printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1" >>confdefs.h
-else $as_nop
- ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include <sys/types.h>
+else case e in #(
+ e) ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include <sys/types.h>
#include <sys/stat.h>
"
if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes
@@ -72015,11 +77467,14 @@ printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1" >>confdefs.h
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
-
+ ;;
+esac
fi
@@ -72035,8 +77490,8 @@ then :
printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1" >>confdefs.h
-else $as_nop
- ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include <sys/types.h>
+else case e in #(
+ e) ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include <sys/types.h>
#include <sys/stat.h>
"
if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes
@@ -72045,8 +77500,8 @@ then :
printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1" >>confdefs.h
-else $as_nop
- ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include <sys/types.h>
+else case e in #(
+ e) ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include <sys/types.h>
#include <sys/stat.h>
"
if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes
@@ -72056,133 +77511,12 @@ printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1" >>confdefs.h
fi
-
-fi
-
-fi
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alignas and alignof" >&5
-printf %s "checking for alignas and alignof... " >&6; }
-if test ${gl_cv_header_working_stdalign_h+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- gl_save_CFLAGS=$CFLAGS
- for gl_working in "yes, keywords" "yes, <stdalign.h> macros"; do
- case $gl_working in #(
- *stdalign.h*) :
- CFLAGS="$gl_save_CFLAGS -DINCLUDE_STDALIGN_H" ;; #(
- *) :
- ;;
+ ;;
esac
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdint.h>
- #ifdef INCLUDE_STDALIGN_H
- #include <stdalign.h>
- #endif
- #include <stddef.h>
-
- /* Test that alignof yields a result consistent with offsetof.
- This catches GCC bug 52023
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
- #ifdef __cplusplus
- template <class t> struct alignof_helper { char a; t b; };
- # define ao(type) offsetof (alignof_helper<type>, b)
- #else
- # define ao(type) offsetof (struct { char a; type b; }, b)
- #endif
- char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
- char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
- char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
-
- /* Test alignas only on platforms where gnulib can help. */
- #if \
- ((defined __cplusplus && 201103 <= __cplusplus) \
- || (__TINYC__ && defined __attribute__) \
- || (defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \
- || 1300 <= _MSC_VER)
- struct alignas_test { char c; char alignas (8) alignas_8; };
- char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
- ? 1 : -1];
- #endif
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- gl_cv_header_working_stdalign_h=$gl_working
-else $as_nop
- gl_cv_header_working_stdalign_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
- CFLAGS=$gl_save_CFLAGS
- test "$gl_cv_header_working_stdalign_h" != no && break
- done
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5
-printf "%s\n" "$gl_cv_header_working_stdalign_h" >&6; }
-
- GL_GENERATE_STDALIGN_H=false
- case $gl_cv_header_working_stdalign_h in #(
- no) :
- GL_GENERATE_STDALIGN_H=true ;; #(
- yes*keyword*) :
-
-printf "%s\n" "#define HAVE_C_ALIGNASOF 1" >>confdefs.h
- ;; #(
- *) :
- ;;
+ ;;
esac
-
-
-
-
-
-
-
-
-
- case "$GL_GENERATE_STDALIGN_H" in
- false) STDALIGN_H='' ;;
- true)
- if test -z "$STDALIGN_H"; then
- STDALIGN_H="${gl_source_base_prefix}stdalign.h"
- fi
- ;;
- *) echo "*** GL_GENERATE_STDALIGN_H is not set correctly" 1>&2; exit 1 ;;
- esac
-
-
- if $GL_GENERATE_STDALIGN_H; then
- GL_GENERATE_STDALIGN_H_TRUE=
- GL_GENERATE_STDALIGN_H_FALSE='#'
-else
- GL_GENERATE_STDALIGN_H_TRUE='#'
- GL_GENERATE_STDALIGN_H_FALSE=
fi
-:
- if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then
- GL_GENERATE_STDALIGN_H_TRUE='#'
- GL_GENERATE_STDALIGN_H_FALSE='#'
- fi
-
-
-
-
@@ -72664,26 +77998,27 @@ printf "%s\n" "#define GNULIB_TEST_FWRITE 1" >>confdefs.h
+
if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
printf %s "checking for working strerror function... " >&6; }
if test ${gl_cv_func_working_strerror+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_working_strerror="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_working_strerror="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
@@ -72698,14 +78033,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_working_strerror=yes
-else $as_nop
- gl_cv_func_working_strerror=no
+else case e in #(
+ e) gl_cv_func_working_strerror=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
printf "%s\n" "$gl_cv_func_working_strerror" >&6; }
@@ -72856,6 +78194,74 @@ then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for catgets" >&5
+printf %s "checking for catgets... " >&6; }
+if test ${gl_cv_onwards_func_catgets+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+
+ case "$host_os" in
+
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "catgets" "ac_cv_have_decl_catgets" "#include <nl_types.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_catgets" = xyes
+then :
+
+fi
+ if test $ac_cv_have_decl_catgets = yes; then
+ ac_fn_c_check_func "$LINENO" "catgets" "ac_cv_func_catgets"
+if test "x$ac_cv_func_catgets" = xyes
+then :
+
+fi
+
+ if test $ac_cv_func_catgets = yes; then
+ gl_cv_onwards_func_catgets=yes
+ else
+ gl_cv_onwards_func_catgets='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_catgets='future OS version'
+ fi
+ ;;
+
+
+ *)
+ ac_fn_c_check_func "$LINENO" "catgets" "ac_cv_func_catgets"
+if test "x$ac_cv_func_catgets" = xyes
+then :
+
+fi
+
+ gl_cv_onwards_func_catgets=$ac_cv_func_catgets
+ ;;
+
+ esac
+
+ exec 6>&9 9>&-
+
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_catgets" >&5
+printf "%s\n" "$gl_cv_onwards_func_catgets" >&6; }
+
+ case "$gl_cv_onwards_func_catgets" in
+ future*) ac_cv_func_catgets=no ;;
+ *) ac_cv_func_catgets=$gl_cv_onwards_func_catgets ;;
+ esac
+ if test $ac_cv_func_catgets = yes; then
+
+printf "%s\n" "#define HAVE_CATGETS 1" >>confdefs.h
+
+ fi
+
+
+
fi
@@ -72912,20 +78318,22 @@ printf %s "checking whether symlink handles trailing slash correctly... " >&6; }
if test ${gl_cv_func_symlink_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_symlink_works="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_symlink_works="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_symlink_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
@@ -72948,14 +78356,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_symlink_works=yes
-else $as_nop
- gl_cv_func_symlink_works=no
+else case e in #(
+ e) gl_cv_func_symlink_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
- rm -f conftest.f conftest.link conftest.lnk2
+ rm -f conftest.f conftest.link conftest.lnk2 ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
printf "%s\n" "$gl_cv_func_symlink_works" >&6; }
@@ -73053,2465 +78464,196 @@ printf "%s\n" "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
if test $gl_threads_api = posix; then
- gl_save_LIBS="$LIBS"
+ gl_saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
- ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
-if test "x$ac_cv_func_pthread_atfork" = xyes
-then :
- printf "%s\n" "#define HAVE_PTHREAD_ATFORK 1" >>confdefs.h
-
-fi
-
- LIBS="$gl_save_LIBS"
- fi
-
-
-
-
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_atfork" >&5
+printf %s "checking for pthread_atfork... " >&6; }
+if test ${gl_cv_onwards_func_pthread_atfork+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
+else case e in #(
+ e)
+ exec 9>&6 6>/dev/null
+ case "$host_os" in
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
+ linux*-android*)
+ ac_fn_check_decl "$LINENO" "pthread_atfork" "ac_cv_have_decl_pthread_atfork" "#include <pthread.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_pthread_atfork" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
-printf %s "checking for a turkish Unicode locale... " >&6; }
-if test ${gt_cv_locale_tr_utf8+y}
+ if test $ac_cv_have_decl_pthread_atfork = yes; then
+ ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
+if test "x$ac_cv_func_pthread_atfork" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <wctype.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. But BeOS does not
- implement the Turkish upper-/lowercase mappings. Therefore, let this
- program return 1 on BeOS. */
- /* Check whether the given locale name is recognized by the system. */
-#if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-#else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
- /* Check whether in the abbreviation of the eighth month, the second
- character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
- return 1;
- /* Check whether the upper-/lowercase mappings are as expected for
- Turkish. */
- if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
- || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
- return 1;
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=Turkish_Turkey.65001
- else
- # None found.
- gt_cv_locale_tr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr.UTF-8
- else
- # None found.
- gt_cv_locale_tr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- else
- gt_cv_locale_tr_utf8=none
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_tr_utf8" >&6; }
- LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
-
-
+ if test $ac_cv_func_pthread_atfork = yes; then
+ gl_cv_onwards_func_pthread_atfork=yes
+ else
+ gl_cv_onwards_func_pthread_atfork='future OS version'
+ fi
+ else
+ gl_cv_onwards_func_pthread_atfork='future OS version'
+ fi
+ ;;
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
+ *)
+ ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
+if test "x$ac_cv_func_pthread_atfork" = xyes
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
+ gl_cv_onwards_func_pthread_atfork=$ac_cv_func_pthread_atfork
+ ;;
+ esac
+ exec 6>&9 9>&-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
+ ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_pthread_atfork" >&5
+printf "%s\n" "$gl_cv_onwards_func_pthread_atfork" >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
+ case "$gl_cv_onwards_func_pthread_atfork" in
+ future*) ac_cv_func_pthread_atfork=no ;;
+ *) ac_cv_func_pthread_atfork=$gl_cv_onwards_func_pthread_atfork ;;
+ esac
+ if test $ac_cv_func_pthread_atfork = yes; then
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
+printf "%s\n" "#define HAVE_PTHREAD_ATFORK 1" >>confdefs.h
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ fi
+ LIBS="$gl_saved_LIBS"
+ fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether time() works" >&5
+printf %s "checking whether time() works... " >&6; }
+if test ${gl_cv_func_time_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) case "$host_os" in
+ linux*-gnu*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if __GLIBC__ == 2
+ Unlucky GNU user
+ #endif
+ #endif
_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP_TRADITIONAL "Unlucky" >/dev/null 2>&1
then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
+ gl_cv_func_time_works="guessing no"
+else case e in #(
+ e) gl_cv_func_time_works="guessing yes" ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional Arabic locale" >&5
-printf %s "checking for a traditional Arabic locale... " >&6; }
-if test ${gt_cv_locale_ar+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check that nl_langinfo(CODESET) is nonempty and not "ASCII" or "646"
- and ends in "6". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || cs[strlen (cs) - 1] != '6')
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Arabic locale is
- # "Arabic_Saudi Arabia.1256", and CP1256 is very different from
- # ISO-8859-6, so we cannot use it here.
- gt_cv_locale_ar=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Values tested:
- # - The usual locale name: ar_SA
- # - The locale name with explicit encoding suffix: ar_SA.ISO-8859-6
- # - The HP-UX locale name: ar_SA.iso88596
- # - The Solaris 7 locale name: ar
- # Also try ar_EG instead of ar_SA because Egypt is a large country too.
- for gt_cv_locale_ar in ar_SA ar_SA.ISO-8859-6 ar_SA.iso88596 ar_EG ar_EG.ISO-8859-6 ar_EG.iso88596 ar none; do
- if test $gt_cv_locale_ar = none; then
- break
- fi
- if (LC_ALL=$gt_cv_locale_ar LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- break
- fi
- done
- ;;
- esac
- fi
- rm -fr conftest*
+rm -rf conftest*
+ ;;
+ freebsd*)
+ case "$host_cpu" in
+ sparc*) gl_cv_func_time_works="guessing no";;
+ *) gl_cv_func_time_works="guessing yes";;
+ esac
+ ;;
+ aix*) gl_cv_func_time_works="guessing no";;
+ mingw* | windows*) gl_cv_func_time_works="guessing no";;
+ *) gl_cv_func_time_works="guessing yes";;
+ esac
+ ;;
+esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ar" >&5
-printf "%s\n" "$gt_cv_locale_ar" >&6; }
- LOCALE_AR=$gt_cv_locale_ar
-
-
-
-
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_time_works" >&5
+printf "%s\n" "$gl_cv_func_time_works" >&6; }
+ case "$gl_cv_func_time_works" in
+ *no) REPLACE_TIME=1 ;;
+ esac
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
+ if test $REPLACE_TIME = 1; then
+ GL_COND_OBJ_TIME_TRUE=
+ GL_COND_OBJ_TIME_FALSE='#'
+else
+ GL_COND_OBJ_TIME_TRUE='#'
+ GL_COND_OBJ_TIME_FALSE=
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
-
+:
+ if test -z "${GL_COND_OBJ_TIME_TRUE}" && test -z "${GL_COND_OBJ_TIME_FALSE}"; then
+ GL_COND_OBJ_TIME_TRUE='#'
+ GL_COND_OBJ_TIME_FALSE='#'
+ fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
+ if test -z "$GL_COND_OBJ_TIME_TRUE"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
+ :
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
+ if test "$GL_GNULIB_TIME" != 1; then
+ if test "$GL_GNULIB_TIME" = 0; then
+ GL_GNULIB_TIME=$gl_module_indicator_condition
+ else
+ GL_GNULIB_TIME="($GL_GNULIB_TIME || $gl_module_indicator_condition)"
fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
+ fi
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
+printf "%s\n" "#define GNULIB_TEST_TIME 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
@@ -75583,144 +78725,10 @@ printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
@@ -75745,8 +78753,8 @@ printf %s "checking for unsetenv() return type... " >&6; }
if test ${gt_cv_func_unsetenv_ret+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#undef _BSD
@@ -75769,10 +78777,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
gt_cv_func_unsetenv_ret='int'
-else $as_nop
- gt_cv_func_unsetenv_ret='void'
+else case e in #(
+ e) gt_cv_func_unsetenv_ret='void' ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
printf "%s\n" "$gt_cv_func_unsetenv_ret" >&6; }
@@ -75788,8 +78798,8 @@ printf %s "checking whether unsetenv obeys POSIX... " >&6; }
if test ${gl_cv_func_unsetenv_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess yes on glibc systems.
@@ -75798,8 +78808,8 @@ then :
*) gl_cv_func_unsetenv_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -75836,14 +78846,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_unsetenv_works=yes
-else $as_nop
- gl_cv_func_unsetenv_works=no
+else case e in #(
+ e) gl_cv_func_unsetenv_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
printf "%s\n" "$gl_cv_func_unsetenv_works" >&6; }
@@ -75910,10 +78923,11 @@ printf "%s\n" "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
if test "x$ac_cv_type_useconds_t" = xyes
then :
-else $as_nop
-
+else case e in #(
+ e)
printf "%s\n" "#define useconds_t unsigned int" >>confdefs.h
-
+ ;;
+esac
fi
if test $ac_cv_func_usleep = no; then
@@ -75924,22 +78938,24 @@ printf %s "checking whether usleep allows large arguments... " >&6; }
if test ${gl_cv_func_usleep_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_usleep_works="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_func_usleep_works="guessing no" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_usleep_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl*) gl_cv_func_usleep_works="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_usleep_works="guessing yes" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_usleep_works="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_usleep_works="$gl_cross_guess_normal" ;;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
@@ -75955,13 +78971,16 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_usleep_works=yes
-else $as_nop
- gl_cv_func_usleep_works=no
+else case e in #(
+ e) gl_cv_func_usleep_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_usleep_works" >&5
printf "%s\n" "$gl_cv_func_usleep_works" >&6; }
@@ -76018,20 +79037,19 @@ printf %s "checking for variable-length arrays... " >&6; }
if test ${ac_cv_c_vararrays+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#ifdef __STDC_NO_VLA__
- defined
+ #ifndef __STDC_NO_VLA__
+ #error __STDC_NO_VLA__ not defined
#endif
_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "defined" >/dev/null 2>&1
+if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Test for VLA support. This test is partly inspired
from examples in the C standard. Use at least two VLA
@@ -76074,13 +79092,15 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_vararrays=yes
-else $as_nop
- ac_cv_c_vararrays=no
+else case e in #(
+ e) ac_cv_c_vararrays=no ;;
+esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-rm -rf conftest*
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5
printf "%s\n" "$ac_cv_c_vararrays" >&6; }
@@ -76101,192 +79121,6 @@ printf "%s\n" "#define __STDC_NO_VLA__ 1" >>confdefs.h
-
-
-
-
- if case "$host_os" in
- mingw*) true ;;
- *) test $ac_cv_func_mbsinit = yes ;;
- esac \
- && test $ac_cv_func_mbrtowc = yes; then
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
-if test ${gl_cv_func_mbrtowc_incomplete_state+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- case "$host_os" in
- # Guess no on AIX and OSF/1.
- aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
- esac
- if test $LOCALE_JA != none; then
- if test "$cross_compiling" = yes
-then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 2;
- }
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_func_mbrtowc_incomplete_state=yes
-else $as_nop
- gl_cv_func_mbrtowc_incomplete_state=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- else
- if test $LOCALE_FR_UTF8 != none; then
- if test "$cross_compiling" = yes
-then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- const char input[] = "B\303\274\303\237er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 2;
- }
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_func_mbrtowc_incomplete_state=yes
-else $as_nop
- gl_cv_func_mbrtowc_incomplete_state=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
- fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
-if test ${gl_cv_func_mbrtowc_sanitycheck+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- case "$host_os" in
- # Guess no on Solaris 8.
- solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
- esac
- if test $LOCALE_ZH_CN != none; then
- if test "$cross_compiling" = yes
-then :
- :
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This fails on Solaris 8:
- mbrtowc returns 2, and sets wc to 0x00F0.
- mbtowc returns 4 (correct) and sets wc to 0x5EDC. */
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 3, 6, &state) != 4
- && mbtowc (&wc, input + 3, 6) == 4)
- return 2;
- }
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- gl_cv_func_mbrtowc_sanitycheck=yes
-else $as_nop
- gl_cv_func_mbrtowc_sanitycheck=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
-
- REPLACE_MBSTATE_T=0
- case "$gl_cv_func_mbrtowc_incomplete_state" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- case "$gl_cv_func_mbrtowc_sanitycheck" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- else
- REPLACE_MBSTATE_T=1
- fi
-
-
-
if test $ac_cv_func_wcrtomb = no; then
HAVE_WCRTOMB=0
ac_fn_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" "
@@ -76296,8 +79130,9 @@ printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
if test "x$ac_cv_have_decl_wcrtomb" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_WCRTOMB $ac_have_decl" >>confdefs.h
@@ -76316,8 +79151,8 @@ printf %s "checking whether wcrtomb works in the C locale... " >&6; }
if test ${gl_cv_func_wcrtomb_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test "$cross_compiling" = yes
+else case e in #(
+ e) if test "$cross_compiling" = yes
then :
case "$host_os" in
# Guess no on Android.
@@ -76326,8 +79161,8 @@ then :
*) gl_cv_func_wcrtomb_works="guessing yes";;
esac
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
@@ -76347,14 +79182,17 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_wcrtomb_works=yes
-else $as_nop
- gl_cv_func_wcrtomb_works=no
+else case e in #(
+ e) gl_cv_func_wcrtomb_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_works" >&5
printf "%s\n" "$gl_cv_func_wcrtomb_works" >&6; }
@@ -76372,20 +79210,22 @@ printf %s "checking whether wcrtomb return value is correct... " >&6; }
if test ${gl_cv_func_wcrtomb_retval+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on AIX 4, OSF/1, Solaris, native Windows.
- aix4* | osf* | solaris* | mingw*) gl_cv_func_wcrtomb_retval="guessing no" ;;
+ aix4* | osf* | solaris* | mingw* | windows*)
+ gl_cv_func_wcrtomb_retval="guessing no" ;;
# Guess yes otherwise.
- *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
+ *)
+ gl_cv_func_wcrtomb_retval="guessing yes" ;;
esac
if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -76395,12 +79235,14 @@ else $as_nop
int main ()
{
int result = 0;
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+ if (strcmp ("$LOCALE_FR", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 1;
}
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 2;
@@ -76411,12 +79253,14 @@ int main ()
result |= 2;
}
}
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 4;
}
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 8;
@@ -76427,15 +79271,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_wcrtomb_retval=yes
-else $as_nop
- gl_cv_func_wcrtomb_retval=no
+else case e in #(
+ e) gl_cv_func_wcrtomb_retval=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5
printf "%s\n" "$gl_cv_func_wcrtomb_retval" >&6; }
@@ -76503,566 +79350,6 @@ printf "%s\n" "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-printf %s "checking for a traditional french locale... " >&6; }
-if test ${gt_cv_locale_fr+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-# endif
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the native Windows locale name.
- if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=French_France.1252
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-printf "%s\n" "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-printf %s "checking for a french Unicode locale... " >&6; }
-if test ${gt_cv_locale_fr_utf8+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-printf %s "checking for a traditional japanese locale... " >&6; }
-if test ${gt_cv_locale_ja+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Note that on native Windows, the Japanese locale is
- # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
- # cannot use it here.
- gt_cv_locale_ja=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-printf "%s\n" "$gt_cv_locale_ja" >&6; }
- LOCALE_JA=$gt_cv_locale_ja
-
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-printf %s "checking for a transitional chinese locale... " >&6; }
-if test ${gt_cv_locale_zh_CN+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if defined __BEOS__ || defined __HAIKU__
- return 1;
-#else
- /* Check whether the given locale name is recognized by the system. */
-# if defined _WIN32 && !defined __CYGWIN__
- /* On native Windows, setlocale(category, "") looks at the system settings,
- not at the environment variables. Also, when an encoding suffix such
- as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
- category of the locale to "C". */
- if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
- || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
- return 1;
-# else
- if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail.
- On MirBSD 10, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "UTF-8". */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
- || strcmp (cs, "UTF-8") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding (except on MirBSD). */
- {
- const char *p;
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- }
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-#endif
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=Chinese_China.54936
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- ;;
- solaris2.8)
- # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
- # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
- # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
- gt_cv_locale_zh_CN=none
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- ;;
- esac
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-
@@ -77081,14 +79368,14 @@ printf %s "checking whether wctob works... " >&6; }
if test ${gl_cv_func_wctob_works+y}
then :
printf %s "(cached) " >&6
-else $as_nop
-
+else case e in #(
+ e)
case "$host_os" in
# Guess no on Solaris <= 9 and Cygwin.
solaris2.[1-9] | solaris2.[1-9].* | cygwin*)
gl_cv_func_wctob_works="guessing no" ;;
# Guess no on native Windows.
- mingw*)
+ mingw* | windows*)
gl_cv_func_wctob_works="guessing no" ;;
# Guess yes otherwise.
*) gl_cv_func_wctob_works="guessing yes" ;;
@@ -77098,8 +79385,8 @@ else $as_nop
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -77122,11 +79409,13 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
:
-else $as_nop
- gl_cv_func_wctob_works=no
+else case e in #(
+ e) gl_cv_func_wctob_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
;;
@@ -77135,8 +79424,8 @@ fi
if test "$cross_compiling" = yes
then :
:
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
@@ -77158,15 +79447,18 @@ _ACEOF
if ac_fn_c_try_run "$LINENO"
then :
gl_cv_func_wctob_works=yes
-else $as_nop
- gl_cv_func_wctob_works=no
+else case e in #(
+ e) gl_cv_func_wctob_works=no ;;
+esac
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
fi
fi
-
+ ;;
+esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5
printf "%s\n" "$gl_cv_func_wctob_works" >&6; }
@@ -77183,8 +79475,9 @@ printf "%s\n" "$gl_cv_func_wctob_works" >&6; }
if test "x$ac_cv_have_decl_wctob" = xyes
then :
ac_have_decl=1
-else $as_nop
- ac_have_decl=0
+else case e in #(
+ e) ac_have_decl=0 ;;
+esac
fi
printf "%s\n" "#define HAVE_DECL_WCTOB $ac_have_decl" >>confdefs.h
@@ -77300,7 +79593,7 @@ printf "%s\n" "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h
- if case "$host_os" in mingw*) true;; *) false;; esac; then
+ if case "$host_os" in mingw* | windows*) true;; *) false;; esac; then
GL_COND_OBJ_WINDOWS_THREAD_TRUE=
GL_COND_OBJ_WINDOWS_THREAD_FALSE='#'
else
@@ -77315,7 +79608,7 @@ fi
- if case "$host_os" in mingw*) true;; *) false;; esac; then
+ if case "$host_os" in mingw* | windows*) true;; *) false;; esac; then
GL_COND_OBJ_WINDOWS_TLS_TRUE=
GL_COND_OBJ_WINDOWS_TLS_FALSE='#'
else
@@ -77359,7 +79652,7 @@ printf "%s\n" "#define GNULIB_XALLOC_DIE $gl_module_indicator_condition" >>confd
if test "$enable_shared" = yes; then
case "$host_os" in
- mingw* | cygwin*) is_woe32dll=yes ;;
+ mingw* | windows* | cygwin*) is_woe32dll=yes ;;
*) is_woe32dll=no ;;
esac
else
@@ -77389,8 +79682,9 @@ fi
if test ${enable_namespacing+y}
then :
enableval=$enable_namespacing; :
-else $as_nop
- enable_namespacing=yes
+else case e in #(
+ e) enable_namespacing=yes ;;
+esac
fi
if test "$enable_namespacing" != no; then
@@ -77421,8 +79715,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AWK"; then
+else case e in #(
+ e) if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -77444,7 +79738,8 @@ done
done
IFS=$as_save_IFS
-fi
+fi ;;
+esac
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
@@ -77490,8 +79785,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_TEXI2DVI+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case $TEXI2DVI in
+else case e in #(
+ e) case $TEXI2DVI in
[\\/]* | ?:[\\/]*)
ac_cv_path_TEXI2DVI="$TEXI2DVI" # Let the user override the test with a path.
;;
@@ -77517,6 +79812,7 @@ IFS=$as_save_IFS
test -z "$ac_cv_path_TEXI2DVI" && ac_cv_path_TEXI2DVI="$ac_aux_dir_abs/missing texi2dvi"
;;
+esac ;;
esac
fi
TEXI2DVI=$ac_cv_path_TEXI2DVI
@@ -77536,8 +79832,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_DVIPS+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case $DVIPS in
+else case e in #(
+ e) case $DVIPS in
[\\/]* | ?:[\\/]*)
ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path.
;;
@@ -77563,6 +79859,7 @@ IFS=$as_save_IFS
test -z "$ac_cv_path_DVIPS" && ac_cv_path_DVIPS="$ac_aux_dir_abs/missing dvips"
;;
+esac ;;
esac
fi
DVIPS=$ac_cv_path_DVIPS
@@ -77582,8 +79879,8 @@ printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_PERL+y}
then :
printf %s "(cached) " >&6
-else $as_nop
- case $PERL in
+else case e in #(
+ e) case $PERL in
[\\/]* | ?:[\\/]*)
ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
;;
@@ -77609,6 +79906,7 @@ IFS=$as_save_IFS
test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="$ac_aux_dir_abs/missing perl"
;;
+esac ;;
esac
fi
PERL=$ac_cv_path_PERL
@@ -77648,8 +79946,8 @@ cat >confcache <<\_ACEOF
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# 'ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* 'ac_cv_foo' will be assigned the
# following values.
_ACEOF
@@ -77679,14 +79977,14 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;}
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
+ # 'set' does not quote correctly, so add quotes: double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
+ # 'set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
@@ -77771,6 +80069,12 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+# Check whether --enable-year2038 was given.
+if test ${enable_year2038+y}
+then :
+ enableval=$enable_year2038;
+fi
+
if test -z "${WOE32_TRUE}" && test -z "${WOE32_FALSE}"; then
as_fn_error $? "conditional \"WOE32\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -77810,7 +80114,6 @@ fi
-
gltests_libobjs=
gltests_ltlibobjs=
gltests_libobjdeps=
@@ -77870,7 +80173,6 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
@@ -77879,12 +80181,13 @@ then :
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
-else $as_nop
- case `(set -o) 2>/dev/null` in #(
+else case e in #(
+ e) case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
+esac ;;
esac
fi
@@ -77956,7 +80259,7 @@ IFS=$as_save_IFS
;;
esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
+# We did not find ourselves, most probably we were run as 'sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
@@ -77985,7 +80288,6 @@ as_fn_error ()
} # as_fn_error
-
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
@@ -78025,11 +80327,12 @@ then :
{
eval $1+=\$2
}'
-else $as_nop
- as_fn_append ()
+else case e in #(
+ e) as_fn_append ()
{
eval $1=\$$1\$2
- }
+ } ;;
+esac
fi # as_fn_append
# as_fn_arith ARG...
@@ -78043,11 +80346,12 @@ then :
{
as_val=$(( $* ))
}'
-else $as_nop
- as_fn_arith ()
+else case e in #(
+ e) as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
- }
+ } ;;
+esac
fi # as_fn_arith
@@ -78130,9 +80434,9 @@ if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
+ # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.
+ # In both cases, we have to default to 'cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
@@ -78213,10 +80517,12 @@ as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated
# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+as_tr_sh="eval sed '$as_sed_sh'" # deprecated
exec 6>&1
@@ -78232,7 +80538,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.71. Invocation command line was
+generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -78264,7 +80570,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
+'$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
@@ -78300,10 +80606,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.71,
+configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2021 Free Software Foundation, Inc.
+Copyright (C) 2023 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -78365,8 +80671,8 @@ do
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
+ as_fn_error $? "ambiguous option: '$1'
+Try '$0 --help' for more information.";;
--help | --hel | -h )
printf "%s\n" "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
@@ -78374,8 +80680,8 @@ Try \`$0 --help' for more information.";;
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
+ -*) as_fn_error $? "unrecognized option: '$1'
+Try '$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
@@ -78801,7 +81107,7 @@ do
"lib/unistring/woe32dll.h") CONFIG_FILES="$CONFIG_FILES lib/unistring/woe32dll.h:lib/unistring/woe32dll.in.h" ;;
"tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -78821,7 +81127,7 @@ fi
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
+# after its creation but before its name has been assigned to '$tmp'.
$debug ||
{
tmp= ac_tmp=
@@ -78845,7 +81151,7 @@ ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
+# This happens for instance with './config.status config.h'.
if test -n "$CONFIG_FILES"; then
@@ -79003,13 +81309,13 @@ fi # test -n "$CONFIG_FILES"
# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
+# This happens for instance with './config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
-# Transform confdefs.h into an awk script `defines.awk', embedded as
+# Transform confdefs.h into an awk script 'defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.
@@ -79119,7 +81425,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -79141,19 +81447,19 @@ do
-) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
+ # because $ac_f cannot contain ':'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
- # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # Let's still pretend it is 'configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
@@ -79286,7 +81592,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
esac
_ACEOF
-# Neutralize VPATH when `$srcdir' = `.'.
+# Neutralize VPATH when '$srcdir' = '.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -79317,9 +81623,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
"$ac_tmp/out"`; test -z "$ac_out"; } &&
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
-printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$ac_tmp/stdin"
@@ -79474,15 +81780,15 @@ printf "%s\n" X/"$am_mf" |
(exit $ac_status); } || am_rc=$?
done
if test $am_rc -ne 0; then
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. If GNU make was not used, consider
re-running the configure script with MAKE=\"gmake\" (or whatever is
necessary). You can also try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).
-See \`config.log' for more details" "$LINENO" 5; }
+See 'config.log' for more details" "$LINENO" 5; }
fi
{ am_dirpart=; unset am_dirpart;}
{ am_filepart=; unset am_filepart;}
diff --git a/configure.ac b/configure.ac
index 7a5a1cac..4fa740b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
dnl Configuration for the toplevel directory of GNU libunistring
-dnl Copyright (C) 2009-2020 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2023 Free Software Foundation, Inc.
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -28,6 +28,9 @@ AC_CONFIG_HEADERS([config.h])
dnl Override automake's tar command used for creating distributions.
am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"'
+dnl An indicator macro that declares that we're in libunistring.
+AC_DEFUN([gl_IN_LIBUNISTRING], [])
+
dnl Checks for basic programs.
AC_PROG_CC
@@ -58,10 +61,10 @@ dnl Prepares the libtool configuration for handling of Windows resources, and
dnl sets the RC variable to a program that compiles Windows resource files.
LT_LANG([Windows Resource])
-dnl On mingw and Cygwin, we can activate special Makefile rules which add
-dnl version information to the shared libraries and executables.
+dnl On native Windows and Cygwin, we can activate special Makefile rules which
+dnl add version information to the shared libraries and executables.
case "$host_os" in
- mingw* | cygwin*) is_woe32=yes ;;
+ mingw* | windows* | cygwin*) is_woe32=yes ;;
*) is_woe32=no ;;
esac
AM_CONDITIONAL([WOE32], [test $is_woe32 = yes])
@@ -70,7 +73,8 @@ dnl Checks for types, header files, functions and declarations.
gl_INIT
-dnl Compilation on mingw and Cygwin needs special Makefile rules, because
+dnl Compilation on native Windows and Cygwin needs special Makefile rules,
+dnl because
dnl 1. when we install a shared library, we must arrange to export
dnl auxiliary pointer variables for every exported variable,
dnl 2. when we install a shared library and a static library simultaneously,
@@ -79,7 +83,7 @@ dnl must arrange to define the auxiliary pointer variables for the
dnl exported variables _also_ in the static library.
if test "$enable_shared" = yes; then
case "$host_os" in
- mingw* | cygwin*) is_woe32dll=yes ;;
+ mingw* | windows* | cygwin*) is_woe32dll=yes ;;
*) is_woe32dll=no ;;
esac
else
@@ -99,7 +103,7 @@ dnl global or static variable.
dnl gcc would say: "error: initializer element is not constant".
if test $is_woe32dll = yes; then
AC_DEFINE([WOE32DLL], [1],
- [Define when --enable-shared is used on mingw or Cygwin.])
+ [Define when --enable-shared is used on Windows.])
fi
dnl Namespacing is the default: it builds a namespace clean library.
diff --git a/debian/changelog b/debian/changelog
index 832d6650..5aefd79a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+libunistring (1.2-1) unstable; urgency=medium
+
+ * New upstrem release.
+ - Refresh / Rebuild symbols file.
+ + Merge libunistring5.symbols.hurd-i386 into
+ libunistring5.symbols via arch conditions.
+ * debian/copyright:
+ - Add 2024 to myself.
+ - Refresh uploader copyright years.
+ * Remove unused patches:
+ - debian/patches/0100-float-endian-detection.patch.
+
+ -- Jörg Frings-Fürst <debian@jff.email> Sat, 09 Mar 2024 12:24:06 +0100
+
libunistring (1.1-2) unstable; urgency=medium
* Upload to unstable.
diff --git a/debian/copyright b/debian/copyright
index f14bcf9c..f7ff1645 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -4,26 +4,26 @@ Upstream-Contact: Bruno Haible <bruno@clisp.org>
Source: http://ftp.gnu.org/gnu/libunistring/
Files: *
-Copyright: 1995-2022 Free Software Foundation, Inc.
+Copyright: 1995-2024 Free Software Foundation, Inc.
License: LGPL-3+ or GPL-2+
Files: gnulib-m4/* m4/*.m4
-Copyright: 1995-2022 Free Software Foundation, Inc.
+Copyright: 1995-2024 Free Software Foundation, Inc.
License: FreeSoftware
This file is free software; the Free Software Foundation
gives unlimited permission to copy and/or distribute it,
with or without modifications, as long as this notice is preserved.
Files: doc/*
-Copyright: 2001-2022 Free Software Foundation, Inc.
+Copyright: 2001-2024 Free Software Foundation, Inc.
License: GPL-3+ or GFDL-NIV-1.2+
Files: tests/* woe32dll/* autogen.sh
-Copyright: 1990-2022 Free Software Foundation, Inc.
+Copyright: 1990-2024 Free Software Foundation, Inc.
License: GPL-3+
Files: build-aux/*
-Copyright: 1995-2017 Free Software Foundation, Inc.
+Copyright: 1995-2024 Free Software Foundation, Inc.
License: GPL-2+
Files: m4/init-package-version.m4
@@ -57,7 +57,7 @@ License: X11
Files: debian/*
Copyright: 2009-2011 Andreas Rottmann <rotty@debian.org>
- 2017-2023 Jörg Frings-Fürst <debian@jff.email>
+ 2017-2024 Jörg Frings-Fürst <debian@jff.email>
License: GPL-3+
License: LGPL-3+
diff --git a/debian/files b/debian/files
new file mode 100644
index 00000000..45bd9caa
--- /dev/null
+++ b/debian/files
@@ -0,0 +1 @@
+libunistring_1.2-1_source.buildinfo libs optional
diff --git a/debian/libunistring5.symbols b/debian/libunistring5.symbols
index 7957edf5..b0b04825 100644
--- a/debian/libunistring5.symbols
+++ b/debian/libunistring5.symbols
@@ -88,6 +88,9 @@ libunistring.so.5 libunistring5 #MINVER#
UC_PROPERTY_IDEOGRAPHIC@Base 1.1
UC_PROPERTY_IDS_BINARY_OPERATOR@Base 1.1
UC_PROPERTY_IDS_TRINARY_OPERATOR@Base 1.1
+ UC_PROPERTY_IDS_UNARY_OPERATOR@Base 1.2
+ UC_PROPERTY_ID_COMPAT_MATH_CONTINUE@Base 1.2
+ UC_PROPERTY_ID_COMPAT_MATH_START@Base 1.2
UC_PROPERTY_ID_CONTINUE@Base 1.1
UC_PROPERTY_ID_START@Base 1.1
UC_PROPERTY_IGNORABLE_CONTROL@Base 1.1
@@ -113,6 +116,7 @@ libunistring.so.5 libunistring5 #MINVER#
UC_PROPERTY_PARAGRAPH_SEPARATOR@Base 1.1
UC_PROPERTY_PATTERN_SYNTAX@Base 1.1
UC_PROPERTY_PATTERN_WHITE_SPACE@Base 1.1
+ UC_PROPERTY_PREPENDED_CONCATENATION_MARK@Base 1.2
UC_PROPERTY_PRIVATE_USE@Base 1.1
UC_PROPERTY_PUNCTUATION@Base 1.1
UC_PROPERTY_QUOTATION_MARK@Base 1.1
@@ -132,8 +136,23 @@ libunistring.so.5 libunistring5 #MINVER#
UC_PROPERTY_XID_START@Base 1.1
UC_PROPERTY_ZERO_WIDTH@Base 1.1
_UC_CATEGORY_NONE@Base 1.1
+ _libunistring_unicode_version@Base 1.2
_libunistring_version@Base 1.1
libunistring_amemxfrm@Base 1.1
+ libunistring_c32isalnum@Base 1.2
+ libunistring_c32isalpha@Base 1.2
+ libunistring_c32isblank@Base 1.2
+ libunistring_c32iscntrl@Base 1.2
+ libunistring_c32isdigit@Base 1.2
+ libunistring_c32isgraph@Base 1.2
+ libunistring_c32islower@Base 1.2
+ libunistring_c32isprint@Base 1.2
+ libunistring_c32ispunct@Base 1.2
+ libunistring_c32isspace@Base 1.2
+ libunistring_c32isupper@Base 1.2
+ libunistring_c32isxdigit@Base 1.2
+ libunistring_c32tolower@Base 1.2
+ libunistring_c32width@Base 1.2
libunistring_c_isalnum@Base 1.1
libunistring_c_isalpha@Base 1.1
libunistring_c_isascii@Base 1.1
@@ -157,26 +176,31 @@ libunistring.so.5 libunistring5 #MINVER#
libunistring_gl_locale_name_default@Base 1.1
libunistring_gl_locale_name_environ@Base 1.1
libunistring_gl_locale_name_posix@Base 1.1
+ libunistring_gl_locale_name_posix_unsafe@Base 1.2
libunistring_gl_locale_name_thread@Base 1.1
+ libunistring_gl_locale_name_thread_unsafe@Base 1.2
+ libunistring_gl_locale_name_unsafe@Base 1.2
libunistring_gl_unicase_special_lookup@Base 1.1
libunistring_gl_uninorm_decomp_chars_table@Base 1.1
libunistring_gl_uninorm_decomp_index_table@Base 1.1
libunistring_gl_uninorm_decompose_merge_sort_inplace@Base 1.1
- libunistring_glthread_once_multithreaded@Base 1.1
+ (arch=!hurd-any)libunistring_glthread_once_multithreaded@Base 1.1
libunistring_glthread_once_singlethreaded@Base 1.1
libunistring_glthread_recursive_lock_init_multithreaded@Base 1.1
- libunistring_glthread_rwlock_init_for_glibc@Base 1.1
+ (arch=!hurd-any)libunistring_glthread_rwlock_init_for_glibc@Base 1.1
+ (arch=hurd-any)libunistring_glthread_rwlock_destroy_multithreaded@Base 1.1
+ (arch=hurd-any)libunistring_glthread_rwlock_init_multithreaded@Base 1.1
+ (arch=hurd-any)libunistring_glthread_rwlock_rdlock_multithreaded@Base 1.1
+ (arch=hurd-any)libunistring_glthread_rwlock_unlock_multithreaded@Base 1.1
+ (arch=hurd-any)libunistring_glthread_rwlock_wrlock_multithreaded@Base 1.1
libunistring_hard_locale@Base 1.1
libunistring_iconveh_close@Base 1.1
libunistring_iconveh_open@Base 1.1
- libunistring_is_basic@Base 1.1
- libunistring_is_basic_table@Base 1.1
libunistring_mb_copy@Base 1.1
libunistring_mb_width_aux@Base 1.1
- libunistring_mbiter_multi_copy@Base 1.1
- libunistring_mbiter_multi_next@Base 1.1
- libunistring_mbiter_multi_reloc@Base 1.1
+ libunistring_mbiterf_next@Base 1.2
libunistring_mbsnlen@Base 1.1
+ libunistring_mbszero@Base 1.2
libunistring_mem_cd_iconveh@Base 1.1
libunistring_mem_iconveh@Base 1.1
libunistring_mem_iconveha@Base 1.1
@@ -184,9 +208,12 @@ libunistring.so.5 libunistring5 #MINVER#
libunistring_mmalloca@Base 1.1
libunistring_printf_frexp@Base 1.1
libunistring_printf_frexpl@Base 1.1
+ libunistring_rpl_mbrtoc32@Base 1.2
libunistring_rpl_mbrtowc@Base 1.1
libunistring_setlocale_null@Base 1.1
libunistring_setlocale_null_r@Base 1.1
+ libunistring_setlocale_null_r_unlocked@Base 1.2
+ libunistring_setlocale_null_unlocked@Base 1.2
libunistring_str_cd_iconveh@Base 1.1
libunistring_str_iconveh@Base 1.1
libunistring_str_iconveha@Base 1.1
@@ -265,6 +292,7 @@ libunistring.so.5 libunistring5 #MINVER#
u16_normcmp@Base 1.1
u16_normcoll@Base 1.1
u16_normxfrm@Base 1.1
+ u16_pcpy@Base 1.2
u16_possible_linebreaks@Base 1.1
u16_possible_linebreaks_v2@Base 1.1
u16_prev@Base 1.1
@@ -363,6 +391,7 @@ libunistring.so.5 libunistring5 #MINVER#
u32_normcmp@Base 1.1
u32_normcoll@Base 1.1
u32_normxfrm@Base 1.1
+ u32_pcpy@Base 1.2
u32_possible_linebreaks@Base 1.1
u32_possible_linebreaks_v2@Base 1.1
u32_prev@Base 1.1
@@ -462,6 +491,7 @@ libunistring.so.5 libunistring5 #MINVER#
u8_normcmp@Base 1.1
u8_normcoll@Base 1.1
u8_normxfrm@Base 1.1
+ u8_pcpy@Base 1.2
u8_possible_linebreaks@Base 1.1
u8_possible_linebreaks_v2@Base 1.1
u8_prev@Base 1.1
@@ -547,6 +577,9 @@ libunistring.so.5 libunistring5 #MINVER#
uc_general_category_or@Base 1.1
uc_grapheme_breaks@Base 1.1
uc_graphemeclusterbreak_property@Base 1.1
+ uc_indic_conjunct_break@Base 1.2
+ uc_indic_conjunct_break_byname@Base 1.2
+ uc_indic_conjunct_break_name@Base 1.2
uc_is_alnum@Base 1.1
uc_is_alpha@Base 1.1
uc_is_bidi_category@Base 1.1
@@ -611,11 +644,14 @@ libunistring.so.5 libunistring5 #MINVER#
uc_is_property_grapheme_link@Base 1.1
uc_is_property_hex_digit@Base 1.1
uc_is_property_hyphen@Base 1.1
+ uc_is_property_id_compat_math_continue@Base 1.2
+ uc_is_property_id_compat_math_start@Base 1.2
uc_is_property_id_continue@Base 1.1
uc_is_property_id_start@Base 1.1
uc_is_property_ideographic@Base 1.1
uc_is_property_ids_binary_operator@Base 1.1
uc_is_property_ids_trinary_operator@Base 1.1
+ uc_is_property_ids_unary_operator@Base 1.2
uc_is_property_ignorable_control@Base 1.1
uc_is_property_iso_control@Base 1.1
uc_is_property_join_control@Base 1.1
@@ -639,6 +675,7 @@ libunistring.so.5 libunistring5 #MINVER#
uc_is_property_paragraph_separator@Base 1.1
uc_is_property_pattern_syntax@Base 1.1
uc_is_property_pattern_white_space@Base 1.1
+ uc_is_property_prepended_concatenation_mark@Base 1.2
uc_is_property_private_use@Base 1.1
uc_is_property_punctuation@Base 1.1
uc_is_property_quotation_mark@Base 1.1
diff --git a/debian/libunistring5.symbols.hurd-i386 b/debian/libunistring5.symbols.hurd-i386
deleted file mode 100644
index 755f423b..00000000
--- a/debian/libunistring5.symbols.hurd-i386
+++ /dev/null
@@ -1,720 +0,0 @@
-libunistring.so.5 libunistring5 #MINVER#
-* Build-Depends-Package: libunistring-dev
- UC_CATEGORY_C@Base 1.1
- UC_CATEGORY_Cc@Base 1.1
- UC_CATEGORY_Cf@Base 1.1
- UC_CATEGORY_Cn@Base 1.1
- UC_CATEGORY_Co@Base 1.1
- UC_CATEGORY_Cs@Base 1.1
- UC_CATEGORY_L@Base 1.1
- UC_CATEGORY_LC@Base 1.1
- UC_CATEGORY_Ll@Base 1.1
- UC_CATEGORY_Lm@Base 1.1
- UC_CATEGORY_Lo@Base 1.1
- UC_CATEGORY_Lt@Base 1.1
- UC_CATEGORY_Lu@Base 1.1
- UC_CATEGORY_M@Base 1.1
- UC_CATEGORY_Mc@Base 1.1
- UC_CATEGORY_Me@Base 1.1
- UC_CATEGORY_Mn@Base 1.1
- UC_CATEGORY_N@Base 1.1
- UC_CATEGORY_Nd@Base 1.1
- UC_CATEGORY_Nl@Base 1.1
- UC_CATEGORY_No@Base 1.1
- UC_CATEGORY_P@Base 1.1
- UC_CATEGORY_Pc@Base 1.1
- UC_CATEGORY_Pd@Base 1.1
- UC_CATEGORY_Pe@Base 1.1
- UC_CATEGORY_Pf@Base 1.1
- UC_CATEGORY_Pi@Base 1.1
- UC_CATEGORY_Po@Base 1.1
- UC_CATEGORY_Ps@Base 1.1
- UC_CATEGORY_S@Base 1.1
- UC_CATEGORY_Sc@Base 1.1
- UC_CATEGORY_Sk@Base 1.1
- UC_CATEGORY_Sm@Base 1.1
- UC_CATEGORY_So@Base 1.1
- UC_CATEGORY_Z@Base 1.1
- UC_CATEGORY_Zl@Base 1.1
- UC_CATEGORY_Zp@Base 1.1
- UC_CATEGORY_Zs@Base 1.1
- UC_PROPERTY_ALPHABETIC@Base 1.1
- UC_PROPERTY_ASCII_HEX_DIGIT@Base 1.1
- UC_PROPERTY_BIDI_ARABIC_DIGIT@Base 1.1
- UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT@Base 1.1
- UC_PROPERTY_BIDI_BLOCK_SEPARATOR@Base 1.1
- UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL@Base 1.1
- UC_PROPERTY_BIDI_COMMON_SEPARATOR@Base 1.1
- UC_PROPERTY_BIDI_CONTROL@Base 1.1
- UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE@Base 1.1
- UC_PROPERTY_BIDI_EUROPEAN_DIGIT@Base 1.1
- UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR@Base 1.1
- UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR@Base 1.1
- UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT@Base 1.1
- UC_PROPERTY_BIDI_LEFT_TO_RIGHT@Base 1.1
- UC_PROPERTY_BIDI_NON_SPACING_MARK@Base 1.1
- UC_PROPERTY_BIDI_OTHER_NEUTRAL@Base 1.1
- UC_PROPERTY_BIDI_PDF@Base 1.1
- UC_PROPERTY_BIDI_SEGMENT_SEPARATOR@Base 1.1
- UC_PROPERTY_BIDI_WHITESPACE@Base 1.1
- UC_PROPERTY_CASED@Base 1.1
- UC_PROPERTY_CASE_IGNORABLE@Base 1.1
- UC_PROPERTY_CHANGES_WHEN_CASEFOLDED@Base 1.1
- UC_PROPERTY_CHANGES_WHEN_CASEMAPPED@Base 1.1
- UC_PROPERTY_CHANGES_WHEN_LOWERCASED@Base 1.1
- UC_PROPERTY_CHANGES_WHEN_TITLECASED@Base 1.1
- UC_PROPERTY_CHANGES_WHEN_UPPERCASED@Base 1.1
- UC_PROPERTY_COMBINING@Base 1.1
- UC_PROPERTY_COMPOSITE@Base 1.1
- UC_PROPERTY_CURRENCY_SYMBOL@Base 1.1
- UC_PROPERTY_DASH@Base 1.1
- UC_PROPERTY_DECIMAL_DIGIT@Base 1.1
- UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT@Base 1.1
- UC_PROPERTY_DEPRECATED@Base 1.1
- UC_PROPERTY_DIACRITIC@Base 1.1
- UC_PROPERTY_EMOJI@Base 1.1
- UC_PROPERTY_EMOJI_COMPONENT@Base 1.1
- UC_PROPERTY_EMOJI_MODIFIER@Base 1.1
- UC_PROPERTY_EMOJI_MODIFIER_BASE@Base 1.1
- UC_PROPERTY_EMOJI_PRESENTATION@Base 1.1
- UC_PROPERTY_EXTENDED_PICTOGRAPHIC@Base 1.1
- UC_PROPERTY_EXTENDER@Base 1.1
- UC_PROPERTY_FORMAT_CONTROL@Base 1.1
- UC_PROPERTY_GRAPHEME_BASE@Base 1.1
- UC_PROPERTY_GRAPHEME_EXTEND@Base 1.1
- UC_PROPERTY_GRAPHEME_LINK@Base 1.1
- UC_PROPERTY_HEX_DIGIT@Base 1.1
- UC_PROPERTY_HYPHEN@Base 1.1
- UC_PROPERTY_IDEOGRAPHIC@Base 1.1
- UC_PROPERTY_IDS_BINARY_OPERATOR@Base 1.1
- UC_PROPERTY_IDS_TRINARY_OPERATOR@Base 1.1
- UC_PROPERTY_ID_CONTINUE@Base 1.1
- UC_PROPERTY_ID_START@Base 1.1
- UC_PROPERTY_IGNORABLE_CONTROL@Base 1.1
- UC_PROPERTY_ISO_CONTROL@Base 1.1
- UC_PROPERTY_JOIN_CONTROL@Base 1.1
- UC_PROPERTY_LEFT_OF_PAIR@Base 1.1
- UC_PROPERTY_LINE_SEPARATOR@Base 1.1
- UC_PROPERTY_LOGICAL_ORDER_EXCEPTION@Base 1.1
- UC_PROPERTY_LOWERCASE@Base 1.1
- UC_PROPERTY_MATH@Base 1.1
- UC_PROPERTY_NON_BREAK@Base 1.1
- UC_PROPERTY_NOT_A_CHARACTER@Base 1.1
- UC_PROPERTY_NUMERIC@Base 1.1
- UC_PROPERTY_OTHER_ALPHABETIC@Base 1.1
- UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT@Base 1.1
- UC_PROPERTY_OTHER_GRAPHEME_EXTEND@Base 1.1
- UC_PROPERTY_OTHER_ID_CONTINUE@Base 1.1
- UC_PROPERTY_OTHER_ID_START@Base 1.1
- UC_PROPERTY_OTHER_LOWERCASE@Base 1.1
- UC_PROPERTY_OTHER_MATH@Base 1.1
- UC_PROPERTY_OTHER_UPPERCASE@Base 1.1
- UC_PROPERTY_PAIRED_PUNCTUATION@Base 1.1
- UC_PROPERTY_PARAGRAPH_SEPARATOR@Base 1.1
- UC_PROPERTY_PATTERN_SYNTAX@Base 1.1
- UC_PROPERTY_PATTERN_WHITE_SPACE@Base 1.1
- UC_PROPERTY_PRIVATE_USE@Base 1.1
- UC_PROPERTY_PUNCTUATION@Base 1.1
- UC_PROPERTY_QUOTATION_MARK@Base 1.1
- UC_PROPERTY_RADICAL@Base 1.1
- UC_PROPERTY_REGIONAL_INDICATOR@Base 1.1
- UC_PROPERTY_SENTENCE_TERMINAL@Base 1.1
- UC_PROPERTY_SOFT_DOTTED@Base 1.1
- UC_PROPERTY_SPACE@Base 1.1
- UC_PROPERTY_TERMINAL_PUNCTUATION@Base 1.1
- UC_PROPERTY_TITLECASE@Base 1.1
- UC_PROPERTY_UNASSIGNED_CODE_VALUE@Base 1.1
- UC_PROPERTY_UNIFIED_IDEOGRAPH@Base 1.1
- UC_PROPERTY_UPPERCASE@Base 1.1
- UC_PROPERTY_VARIATION_SELECTOR@Base 1.1
- UC_PROPERTY_WHITE_SPACE@Base 1.1
- UC_PROPERTY_XID_CONTINUE@Base 1.1
- UC_PROPERTY_XID_START@Base 1.1
- UC_PROPERTY_ZERO_WIDTH@Base 1.1
- _UC_CATEGORY_NONE@Base 1.1
- _libunistring_version@Base 1.1
- libunistring_amemxfrm@Base 1.1
- libunistring_c_isalnum@Base 1.1
- libunistring_c_isalpha@Base 1.1
- libunistring_c_isascii@Base 1.1
- libunistring_c_isblank@Base 1.1
- libunistring_c_iscntrl@Base 1.1
- libunistring_c_isdigit@Base 1.1
- libunistring_c_isgraph@Base 1.1
- libunistring_c_islower@Base 1.1
- libunistring_c_isprint@Base 1.1
- libunistring_c_ispunct@Base 1.1
- libunistring_c_isspace@Base 1.1
- libunistring_c_isupper@Base 1.1
- libunistring_c_isxdigit@Base 1.1
- libunistring_c_strcasecmp@Base 1.1
- libunistring_c_strncasecmp@Base 1.1
- libunistring_c_tolower@Base 1.1
- libunistring_c_toupper@Base 1.1
- libunistring_freea@Base 1.1
- libunistring_fseterr@Base 1.1
- libunistring_gl_locale_name@Base 1.1
- libunistring_gl_locale_name_default@Base 1.1
- libunistring_gl_locale_name_environ@Base 1.1
- libunistring_gl_locale_name_posix@Base 1.1
- libunistring_gl_locale_name_thread@Base 1.1
- libunistring_gl_unicase_special_lookup@Base 1.1
- libunistring_gl_uninorm_decomp_chars_table@Base 1.1
- libunistring_gl_uninorm_decomp_index_table@Base 1.1
- libunistring_gl_uninorm_decompose_merge_sort_inplace@Base 1.1
-#MISSING: 1.1-1~experimental2# libunistring_glthread_once_multithreaded@Base 1.1
- libunistring_glthread_once_singlethreaded@Base 1.1
- libunistring_glthread_recursive_lock_init_multithreaded@Base 1.1
- libunistring_glthread_rwlock_destroy_multithreaded@Base 1.1-1~experimental2
-#MISSING: 1.1-1~experimental2# libunistring_glthread_rwlock_init_for_glibc@Base 1.1
- libunistring_glthread_rwlock_init_multithreaded@Base 1.1-1~experimental2
- libunistring_glthread_rwlock_rdlock_multithreaded@Base 1.1-1~experimental2
- libunistring_glthread_rwlock_unlock_multithreaded@Base 1.1-1~experimental2
- libunistring_glthread_rwlock_wrlock_multithreaded@Base 1.1-1~experimental2
- libunistring_hard_locale@Base 1.1
- libunistring_iconveh_close@Base 1.1
- libunistring_iconveh_open@Base 1.1
- libunistring_is_basic@Base 1.1
- libunistring_is_basic_table@Base 1.1
- libunistring_mb_copy@Base 1.1
- libunistring_mb_width_aux@Base 1.1
- libunistring_mbiter_multi_copy@Base 1.1
- libunistring_mbiter_multi_next@Base 1.1
- libunistring_mbiter_multi_reloc@Base 1.1
- libunistring_mbsnlen@Base 1.1
- libunistring_mem_cd_iconveh@Base 1.1
- libunistring_mem_iconveh@Base 1.1
- libunistring_mem_iconveha@Base 1.1
- libunistring_memcmp2@Base 1.1
- libunistring_mmalloca@Base 1.1
- libunistring_printf_frexp@Base 1.1
- libunistring_printf_frexpl@Base 1.1
- libunistring_rpl_mbrtowc@Base 1.1
- libunistring_setlocale_null@Base 1.1
- libunistring_setlocale_null_r@Base 1.1
- libunistring_str_cd_iconveh@Base 1.1
- libunistring_str_iconveh@Base 1.1
- libunistring_str_iconveha@Base 1.1
- libunistring_u16_casemap@Base 1.1
- libunistring_u16_is_invariant@Base 1.1
- libunistring_u16_possible_linebreaks_loop@Base 1.1
- libunistring_u16_printf_parse@Base 1.1
- libunistring_u32_casemap@Base 1.1
- libunistring_u32_is_invariant@Base 1.1
- libunistring_u32_possible_linebreaks_loop@Base 1.1
- libunistring_u32_printf_parse@Base 1.1
- libunistring_u8_casemap@Base 1.1
- libunistring_u8_is_invariant@Base 1.1
- libunistring_u8_possible_linebreaks_loop@Base 1.1
- libunistring_u8_printf_parse@Base 1.1
- libunistring_u8_width_linebreaks_internal@Base 1.1
- libunistring_u_printf_fetchargs@Base 1.1
- libunistring_uc_compat_decomposition@Base 1.1
- libunistring_uc_is_case_ignorable@Base 1.1
- libunistring_uc_is_cased@Base 1.1
- libunistring_uc_tocasefold@Base 1.1
- libunistring_ulc_printf_parse@Base 1.1
- libunistring_uniconv_register_autodetect@Base 1.1
- libunistring_unilbrk_is_all_ascii@Base 1.1
- libunistring_unilbrk_is_utf8_encoding@Base 1.1
- libunistring_unilbrk_table@Base 1.1
- libunistring_unilbrkprop@Base 1.1
- libunistring_uniwbrk_prop_index@Base 1.1
- libunistring_uniwbrk_table@Base 1.1
- libunistring_xmax@Base 1.1
- libunistring_xsum3@Base 1.1
- libunistring_xsum4@Base 1.1
- libunistring_xsum@Base 1.1
- locale_charset@Base 1.1
- u16_asnprintf@Base 1.1
- u16_asprintf@Base 1.1
- u16_casecmp@Base 1.1
- u16_casecoll@Base 1.1
- u16_casefold@Base 1.1
- u16_casexfrm@Base 1.1
- u16_casing_prefix_context@Base 1.1
- u16_casing_prefixes_context@Base 1.1
- u16_casing_suffix_context@Base 1.1
- u16_casing_suffixes_context@Base 1.1
- u16_check@Base 1.1
- u16_chr@Base 1.1
- u16_cmp2@Base 1.1
- u16_cmp@Base 1.1
- u16_conv_from_encoding@Base 1.1
- u16_conv_to_encoding@Base 1.1
- u16_cpy@Base 1.1
- u16_cpy_alloc@Base 1.1
- u16_ct_casefold@Base 1.1
- u16_ct_tolower@Base 1.1
- u16_ct_totitle@Base 1.1
- u16_ct_toupper@Base 1.1
- u16_endswith@Base 1.1
- u16_grapheme_breaks@Base 1.1
- u16_grapheme_next@Base 1.1
- u16_grapheme_prev@Base 1.1
- u16_is_cased@Base 1.1
- u16_is_casefolded@Base 1.1
- u16_is_lowercase@Base 1.1
- u16_is_titlecase@Base 1.1
- u16_is_uppercase@Base 1.1
- u16_mblen@Base 1.1
- u16_mbsnlen@Base 1.1
- u16_mbtouc@Base 1.1
- u16_mbtouc_aux@Base 1.1
- u16_mbtouc_unsafe@Base 1.1
- u16_mbtouc_unsafe_aux@Base 1.1
- u16_mbtoucr@Base 1.1
- u16_move@Base 1.1
- u16_next@Base 1.1
- u16_normalize@Base 1.1
- u16_normcmp@Base 1.1
- u16_normcoll@Base 1.1
- u16_normxfrm@Base 1.1
- u16_possible_linebreaks@Base 1.1
- u16_possible_linebreaks_v2@Base 1.1
- u16_prev@Base 1.1
- u16_set@Base 1.1
- u16_snprintf@Base 1.1
- u16_sprintf@Base 1.1
- u16_startswith@Base 1.1
- u16_stpcpy@Base 1.1
- u16_stpncpy@Base 1.1
- u16_strcat@Base 1.1
- u16_strchr@Base 1.1
- u16_strcmp@Base 1.1
- u16_strcoll@Base 1.1
- u16_strconv_from_encoding@Base 1.1
- u16_strconv_from_locale@Base 1.1
- u16_strconv_to_encoding@Base 1.1
- u16_strconv_to_locale@Base 1.1
- u16_strcpy@Base 1.1
- u16_strcspn@Base 1.1
- u16_strdup@Base 1.1
- u16_strlen@Base 1.1
- u16_strmblen@Base 1.1
- u16_strmbtouc@Base 1.1
- u16_strncat@Base 1.1
- u16_strncmp@Base 1.1
- u16_strncpy@Base 1.1
- u16_strnlen@Base 1.1
- u16_strpbrk@Base 1.1
- u16_strrchr@Base 1.1
- u16_strspn@Base 1.1
- u16_strstr@Base 1.1
- u16_strtok@Base 1.1
- u16_strwidth@Base 1.1
- u16_to_u32@Base 1.1
- u16_to_u8@Base 1.1
- u16_tolower@Base 1.1
- u16_totitle@Base 1.1
- u16_toupper@Base 1.1
- u16_u16_asnprintf@Base 1.1
- u16_u16_asprintf@Base 1.1
- u16_u16_snprintf@Base 1.1
- u16_u16_sprintf@Base 1.1
- u16_u16_vasnprintf@Base 1.1
- u16_u16_vasprintf@Base 1.1
- u16_u16_vsnprintf@Base 1.1
- u16_u16_vsprintf@Base 1.1
- u16_uctomb@Base 1.1
- u16_uctomb_aux@Base 1.1
- u16_vasnprintf@Base 1.1
- u16_vasprintf@Base 1.1
- u16_vsnprintf@Base 1.1
- u16_vsprintf@Base 1.1
- u16_width@Base 1.1
- u16_width_linebreaks@Base 1.1
- u16_width_linebreaks_v2@Base 1.1
- u16_wordbreaks@Base 1.1
- u32_asnprintf@Base 1.1
- u32_asprintf@Base 1.1
- u32_casecmp@Base 1.1
- u32_casecoll@Base 1.1
- u32_casefold@Base 1.1
- u32_casexfrm@Base 1.1
- u32_casing_prefix_context@Base 1.1
- u32_casing_prefixes_context@Base 1.1
- u32_casing_suffix_context@Base 1.1
- u32_casing_suffixes_context@Base 1.1
- u32_check@Base 1.1
- u32_chr@Base 1.1
- u32_cmp2@Base 1.1
- u32_cmp@Base 1.1
- u32_conv_from_encoding@Base 1.1
- u32_conv_to_encoding@Base 1.1
- u32_cpy@Base 1.1
- u32_cpy_alloc@Base 1.1
- u32_ct_casefold@Base 1.1
- u32_ct_tolower@Base 1.1
- u32_ct_totitle@Base 1.1
- u32_ct_toupper@Base 1.1
- u32_endswith@Base 1.1
- u32_grapheme_breaks@Base 1.1
- u32_grapheme_next@Base 1.1
- u32_grapheme_prev@Base 1.1
- u32_is_cased@Base 1.1
- u32_is_casefolded@Base 1.1
- u32_is_lowercase@Base 1.1
- u32_is_titlecase@Base 1.1
- u32_is_uppercase@Base 1.1
- u32_mblen@Base 1.1
- u32_mbsnlen@Base 1.1
- u32_mbtouc@Base 1.1
- u32_mbtouc_unsafe@Base 1.1
- u32_mbtoucr@Base 1.1
- u32_move@Base 1.1
- u32_next@Base 1.1
- u32_normalize@Base 1.1
- u32_normcmp@Base 1.1
- u32_normcoll@Base 1.1
- u32_normxfrm@Base 1.1
- u32_possible_linebreaks@Base 1.1
- u32_possible_linebreaks_v2@Base 1.1
- u32_prev@Base 1.1
- u32_set@Base 1.1
- u32_snprintf@Base 1.1
- u32_sprintf@Base 1.1
- u32_startswith@Base 1.1
- u32_stpcpy@Base 1.1
- u32_stpncpy@Base 1.1
- u32_strcat@Base 1.1
- u32_strchr@Base 1.1
- u32_strcmp@Base 1.1
- u32_strcoll@Base 1.1
- u32_strconv_from_encoding@Base 1.1
- u32_strconv_from_locale@Base 1.1
- u32_strconv_to_encoding@Base 1.1
- u32_strconv_to_locale@Base 1.1
- u32_strcpy@Base 1.1
- u32_strcspn@Base 1.1
- u32_strdup@Base 1.1
- u32_strlen@Base 1.1
- u32_strmblen@Base 1.1
- u32_strmbtouc@Base 1.1
- u32_strncat@Base 1.1
- u32_strncmp@Base 1.1
- u32_strncpy@Base 1.1
- u32_strnlen@Base 1.1
- u32_strpbrk@Base 1.1
- u32_strrchr@Base 1.1
- u32_strspn@Base 1.1
- u32_strstr@Base 1.1
- u32_strtok@Base 1.1
- u32_strwidth@Base 1.1
- u32_to_u16@Base 1.1
- u32_to_u8@Base 1.1
- u32_tolower@Base 1.1
- u32_totitle@Base 1.1
- u32_toupper@Base 1.1
- u32_u32_asnprintf@Base 1.1
- u32_u32_asprintf@Base 1.1
- u32_u32_snprintf@Base 1.1
- u32_u32_sprintf@Base 1.1
- u32_u32_vasnprintf@Base 1.1
- u32_u32_vasprintf@Base 1.1
- u32_u32_vsnprintf@Base 1.1
- u32_u32_vsprintf@Base 1.1
- u32_uctomb@Base 1.1
- u32_vasnprintf@Base 1.1
- u32_vasprintf@Base 1.1
- u32_vsnprintf@Base 1.1
- u32_vsprintf@Base 1.1
- u32_width@Base 1.1
- u32_width_linebreaks@Base 1.1
- u32_width_linebreaks_v2@Base 1.1
- u32_wordbreaks@Base 1.1
- u8_asnprintf@Base 1.1
- u8_asprintf@Base 1.1
- u8_casecmp@Base 1.1
- u8_casecoll@Base 1.1
- u8_casefold@Base 1.1
- u8_casexfrm@Base 1.1
- u8_casing_prefix_context@Base 1.1
- u8_casing_prefixes_context@Base 1.1
- u8_casing_suffix_context@Base 1.1
- u8_casing_suffixes_context@Base 1.1
- u8_check@Base 1.1
- u8_chr@Base 1.1
- u8_cmp2@Base 1.1
- u8_cmp@Base 1.1
- u8_conv_from_encoding@Base 1.1
- u8_conv_to_encoding@Base 1.1
- u8_cpy@Base 1.1
- u8_cpy_alloc@Base 1.1
- u8_ct_casefold@Base 1.1
- u8_ct_tolower@Base 1.1
- u8_ct_totitle@Base 1.1
- u8_ct_toupper@Base 1.1
- u8_endswith@Base 1.1
- u8_grapheme_breaks@Base 1.1
- u8_grapheme_next@Base 1.1
- u8_grapheme_prev@Base 1.1
- u8_is_cased@Base 1.1
- u8_is_casefolded@Base 1.1
- u8_is_lowercase@Base 1.1
- u8_is_titlecase@Base 1.1
- u8_is_uppercase@Base 1.1
- u8_mblen@Base 1.1
- u8_mbsnlen@Base 1.1
- u8_mbtouc@Base 1.1
- u8_mbtouc_aux@Base 1.1
- u8_mbtouc_unsafe@Base 1.1
- u8_mbtouc_unsafe_aux@Base 1.1
- u8_mbtoucr@Base 1.1
- u8_move@Base 1.1
- u8_next@Base 1.1
- u8_normalize@Base 1.1
- u8_normcmp@Base 1.1
- u8_normcoll@Base 1.1
- u8_normxfrm@Base 1.1
- u8_possible_linebreaks@Base 1.1
- u8_possible_linebreaks_v2@Base 1.1
- u8_prev@Base 1.1
- u8_set@Base 1.1
- u8_snprintf@Base 1.1
- u8_sprintf@Base 1.1
- u8_startswith@Base 1.1
- u8_stpcpy@Base 1.1
- u8_stpncpy@Base 1.1
- u8_strcat@Base 1.1
- u8_strchr@Base 1.1
- u8_strcmp@Base 1.1
- u8_strcoll@Base 1.1
- u8_strconv_from_encoding@Base 1.1
- u8_strconv_from_locale@Base 1.1
- u8_strconv_to_encoding@Base 1.1
- u8_strconv_to_locale@Base 1.1
- u8_strcpy@Base 1.1
- u8_strcspn@Base 1.1
- u8_strdup@Base 1.1
- u8_strlen@Base 1.1
- u8_strmblen@Base 1.1
- u8_strmbtouc@Base 1.1
- u8_strncat@Base 1.1
- u8_strncmp@Base 1.1
- u8_strncpy@Base 1.1
- u8_strnlen@Base 1.1
- u8_strpbrk@Base 1.1
- u8_strrchr@Base 1.1
- u8_strspn@Base 1.1
- u8_strstr@Base 1.1
- u8_strtok@Base 1.1
- u8_strwidth@Base 1.1
- u8_to_u16@Base 1.1
- u8_to_u32@Base 1.1
- u8_tolower@Base 1.1
- u8_totitle@Base 1.1
- u8_toupper@Base 1.1
- u8_u8_asnprintf@Base 1.1
- u8_u8_asprintf@Base 1.1
- u8_u8_snprintf@Base 1.1
- u8_u8_sprintf@Base 1.1
- u8_u8_vasnprintf@Base 1.1
- u8_u8_vasprintf@Base 1.1
- u8_u8_vsnprintf@Base 1.1
- u8_u8_vsprintf@Base 1.1
- u8_uctomb@Base 1.1
- u8_uctomb_aux@Base 1.1
- u8_vasnprintf@Base 1.1
- u8_vasprintf@Base 1.1
- u8_vsnprintf@Base 1.1
- u8_vsprintf@Base 1.1
- u8_width@Base 1.1
- u8_width_linebreaks@Base 1.1
- u8_width_linebreaks_v2@Base 1.1
- u8_wordbreaks@Base 1.1
- uc_all_blocks@Base 1.1
- uc_all_scripts@Base 1.1
- uc_bidi_category@Base 1.1
- uc_bidi_category_byname@Base 1.1
- uc_bidi_category_name@Base 1.1
- uc_bidi_class@Base 1.1
- uc_bidi_class_byname@Base 1.1
- uc_bidi_class_long_name@Base 1.1
- uc_bidi_class_name@Base 1.1
- uc_block@Base 1.1
- uc_c_ident_category@Base 1.1
- uc_canonical_decomposition@Base 1.1
- uc_combining_class@Base 1.1
- uc_combining_class_byname@Base 1.1
- uc_combining_class_long_name@Base 1.1
- uc_combining_class_name@Base 1.1
- uc_composition@Base 1.1
- uc_decimal_value@Base 1.1
- uc_decomposition@Base 1.1
- uc_digit_value@Base 1.1
- uc_general_category@Base 1.1
- uc_general_category_and@Base 1.1
- uc_general_category_and_not@Base 1.1
- uc_general_category_byname@Base 1.1
- uc_general_category_long_name@Base 1.1
- uc_general_category_name@Base 1.1
- uc_general_category_or@Base 1.1
- uc_grapheme_breaks@Base 1.1
- uc_graphemeclusterbreak_property@Base 1.1
- uc_is_alnum@Base 1.1
- uc_is_alpha@Base 1.1
- uc_is_bidi_category@Base 1.1
- uc_is_bidi_class@Base 1.1
- uc_is_blank@Base 1.1
- uc_is_block@Base 1.1
- uc_is_c_whitespace@Base 1.1
- uc_is_cntrl@Base 1.1
- uc_is_digit@Base 1.1
- uc_is_general_category@Base 1.1
- uc_is_general_category_withtable@Base 1.1
- uc_is_graph@Base 1.1
- uc_is_grapheme_break@Base 1.1
- uc_is_java_whitespace@Base 1.1
- uc_is_lower@Base 1.1
- uc_is_print@Base 1.1
- uc_is_property@Base 1.1
- uc_is_property_alphabetic@Base 1.1
- uc_is_property_ascii_hex_digit@Base 1.1
- uc_is_property_bidi_arabic_digit@Base 1.1
- uc_is_property_bidi_arabic_right_to_left@Base 1.1
- uc_is_property_bidi_block_separator@Base 1.1
- uc_is_property_bidi_boundary_neutral@Base 1.1
- uc_is_property_bidi_common_separator@Base 1.1
- uc_is_property_bidi_control@Base 1.1
- uc_is_property_bidi_embedding_or_override@Base 1.1
- uc_is_property_bidi_eur_num_separator@Base 1.1
- uc_is_property_bidi_eur_num_terminator@Base 1.1
- uc_is_property_bidi_european_digit@Base 1.1
- uc_is_property_bidi_hebrew_right_to_left@Base 1.1
- uc_is_property_bidi_left_to_right@Base 1.1
- uc_is_property_bidi_non_spacing_mark@Base 1.1
- uc_is_property_bidi_other_neutral@Base 1.1
- uc_is_property_bidi_pdf@Base 1.1
- uc_is_property_bidi_segment_separator@Base 1.1
- uc_is_property_bidi_whitespace@Base 1.1
- uc_is_property_case_ignorable@Base 1.1
- uc_is_property_cased@Base 1.1
- uc_is_property_changes_when_casefolded@Base 1.1
- uc_is_property_changes_when_casemapped@Base 1.1
- uc_is_property_changes_when_lowercased@Base 1.1
- uc_is_property_changes_when_titlecased@Base 1.1
- uc_is_property_changes_when_uppercased@Base 1.1
- uc_is_property_combining@Base 1.1
- uc_is_property_composite@Base 1.1
- uc_is_property_currency_symbol@Base 1.1
- uc_is_property_dash@Base 1.1
- uc_is_property_decimal_digit@Base 1.1
- uc_is_property_default_ignorable_code_point@Base 1.1
- uc_is_property_deprecated@Base 1.1
- uc_is_property_diacritic@Base 1.1
- uc_is_property_emoji@Base 1.1
- uc_is_property_emoji_component@Base 1.1
- uc_is_property_emoji_modifier@Base 1.1
- uc_is_property_emoji_modifier_base@Base 1.1
- uc_is_property_emoji_presentation@Base 1.1
- uc_is_property_extended_pictographic@Base 1.1
- uc_is_property_extender@Base 1.1
- uc_is_property_format_control@Base 1.1
- uc_is_property_grapheme_base@Base 1.1
- uc_is_property_grapheme_extend@Base 1.1
- uc_is_property_grapheme_link@Base 1.1
- uc_is_property_hex_digit@Base 1.1
- uc_is_property_hyphen@Base 1.1
- uc_is_property_id_continue@Base 1.1
- uc_is_property_id_start@Base 1.1
- uc_is_property_ideographic@Base 1.1
- uc_is_property_ids_binary_operator@Base 1.1
- uc_is_property_ids_trinary_operator@Base 1.1
- uc_is_property_ignorable_control@Base 1.1
- uc_is_property_iso_control@Base 1.1
- uc_is_property_join_control@Base 1.1
- uc_is_property_left_of_pair@Base 1.1
- uc_is_property_line_separator@Base 1.1
- uc_is_property_logical_order_exception@Base 1.1
- uc_is_property_lowercase@Base 1.1
- uc_is_property_math@Base 1.1
- uc_is_property_non_break@Base 1.1
- uc_is_property_not_a_character@Base 1.1
- uc_is_property_numeric@Base 1.1
- uc_is_property_other_alphabetic@Base 1.1
- uc_is_property_other_default_ignorable_code_point@Base 1.1
- uc_is_property_other_grapheme_extend@Base 1.1
- uc_is_property_other_id_continue@Base 1.1
- uc_is_property_other_id_start@Base 1.1
- uc_is_property_other_lowercase@Base 1.1
- uc_is_property_other_math@Base 1.1
- uc_is_property_other_uppercase@Base 1.1
- uc_is_property_paired_punctuation@Base 1.1
- uc_is_property_paragraph_separator@Base 1.1
- uc_is_property_pattern_syntax@Base 1.1
- uc_is_property_pattern_white_space@Base 1.1
- uc_is_property_private_use@Base 1.1
- uc_is_property_punctuation@Base 1.1
- uc_is_property_quotation_mark@Base 1.1
- uc_is_property_radical@Base 1.1
- uc_is_property_regional_indicator@Base 1.1
- uc_is_property_sentence_terminal@Base 1.1
- uc_is_property_soft_dotted@Base 1.1
- uc_is_property_space@Base 1.1
- uc_is_property_terminal_punctuation@Base 1.1
- uc_is_property_titlecase@Base 1.1
- uc_is_property_unassigned_code_value@Base 1.1
- uc_is_property_unified_ideograph@Base 1.1
- uc_is_property_uppercase@Base 1.1
- uc_is_property_variation_selector@Base 1.1
- uc_is_property_white_space@Base 1.1
- uc_is_property_xid_continue@Base 1.1
- uc_is_property_xid_start@Base 1.1
- uc_is_property_zero_width@Base 1.1
- uc_is_punct@Base 1.1
- uc_is_script@Base 1.1
- uc_is_space@Base 1.1
- uc_is_upper@Base 1.1
- uc_is_xdigit@Base 1.1
- uc_java_ident_category@Base 1.1
- uc_joining_group@Base 1.1
- uc_joining_group_byname@Base 1.1
- uc_joining_group_name@Base 1.1
- uc_joining_type@Base 1.1
- uc_joining_type_byname@Base 1.1
- uc_joining_type_long_name@Base 1.1
- uc_joining_type_name@Base 1.1
- uc_locale_language@Base 1.1
- uc_mirror_char@Base 1.1
- uc_numeric_value@Base 1.1
- uc_property_byname@Base 1.1
- uc_script@Base 1.1
- uc_script_byname@Base 1.1
- uc_tolower@Base 1.1
- uc_totitle@Base 1.1
- uc_toupper@Base 1.1
- uc_width@Base 1.1
- uc_wordbreak_property@Base 1.1
- ulc_asnprintf@Base 1.1
- ulc_asprintf@Base 1.1
- ulc_casecmp@Base 1.1
- ulc_casecoll@Base 1.1
- ulc_casexfrm@Base 1.1
- ulc_fprintf@Base 1.1
- ulc_grapheme_breaks@Base 1.1
- ulc_possible_linebreaks@Base 1.1
- ulc_possible_linebreaks_v2@Base 1.1
- ulc_snprintf@Base 1.1
- ulc_sprintf@Base 1.1
- ulc_vasnprintf@Base 1.1
- ulc_vasprintf@Base 1.1
- ulc_vfprintf@Base 1.1
- ulc_vsnprintf@Base 1.1
- ulc_vsprintf@Base 1.1
- ulc_width_linebreaks@Base 1.1
- ulc_width_linebreaks_v2@Base 1.1
- ulc_wordbreaks@Base 1.1
- unicase_empty_prefix_context@Base 1.1
- unicase_empty_suffix_context@Base 1.1
- unicode_character_name@Base 1.1
- unicode_name_character@Base 1.1
- uninorm_decomposing_form@Base 1.1
- uninorm_filter_create@Base 1.1
- uninorm_filter_flush@Base 1.1
- uninorm_filter_free@Base 1.1
- uninorm_filter_write@Base 1.1
- uninorm_nfc@Base 1.1
- uninorm_nfd@Base 1.1
- uninorm_nfkc@Base 1.1
- uninorm_nfkd@Base 1.1
diff --git a/debian/patches/0100-float-endian-detection.patch b/debian/patches/0100-float-endian-detection.patch
deleted file mode 100644
index d094516e..00000000
--- a/debian/patches/0100-float-endian-detection.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Description: Fix detection of floating point endianness
- See https://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00104.html
-Author: Alan Modra <amodra@gmail.com>
-Author: Colin Watson <cjwatson@ubuntu.com>
-Forwarded: no
-Last-Update: 2013-12-18
-
---- a/tests/test-isnanl.h
-+++ b/tests/test-isnanl.h
-@@ -24,6 +24,12 @@
- #include "nan.h"
- #include "macros.h"
-
-+#ifdef __FLOAT_WORD_ORDER__
-+# define FLOAT_BIG_ENDIAN (__FLOAT_WORD_ORDER__ != __ORDER_LITTLE_ENDIAN__)
-+#else
-+# define FLOAT_BIG_ENDIAN (LDBL_EXPBIT0_WORD < NWORDS / 2)
-+#endif
-+
- int
- main ()
- {
-@@ -65,10 +71,10 @@
- # if LDBL_EXPBIT0_BIT > 0
- m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
- # else
-- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-+ m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
- # endif
-- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-+ m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)]
- |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
- ASSERT (isnanl (m.value));
- }
---- a/tests/test-signbit.c
-+++ b/tests/test-signbit.c
-@@ -36,6 +36,12 @@
- double zerod = 0.0;
- long double zerol = 0.0L;
-
-+#ifdef __FLOAT_WORD_ORDER__
-+# define FLOAT_BIG_ENDIAN (__FLOAT_WORD_ORDER__ != __ORDER_LITTLE_ENDIAN__)
-+#else
-+# define FLOAT_BIG_ENDIAN (LDBL_EXPBIT0_WORD < NWORDS / 2)
-+#endif
-+
- static void
- test_signbitf ()
- {
-@@ -166,10 +172,10 @@
- # if LDBL_EXPBIT0_BIT > 0
- m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
- # else
-- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-+ m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
- # endif
-- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-+ m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)]
- |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
- (void) signbit (m.value);
- #undef NWORDS
diff --git a/debian/patches/series b/debian/patches/series
index f107ca41..b1a229ac 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
-0100-float-endian-detection.patch
0700-multiarch-libc.patch
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 3f33218e..fcaa5b08 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the doc subdirectory of GNU libunistring.
-## Copyright (C) 2009, 2011, 2014, 2017-2019 Free Software Foundation, Inc.
+## Copyright (C) 2009, 2011, 2014, 2017-2023 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -28,7 +28,11 @@ TEXINCLUDES = -I .
RM = rm -f
-MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
+# The customization variable CHECK_NORMAL_MENU_STRUCTURE is necessary with
+# makeinfo versions ≥ 6.8.
+MAKEINFO = \
+ env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= \
+ @MAKEINFO@ -c CHECK_NORMAL_MENU_STRUCTURE=1
MAKEINFOFLAGS = $(TEXINCLUDES) --no-split
info_TEXINFOS = libunistring.texi
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 56f6b5f5..98310b8c 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -90,6 +90,7 @@ host_triplet = @host@
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib-m4/__inline.m4 \
$(top_srcdir)/gnulib-m4/absolute-header.m4 \
$(top_srcdir)/gnulib-m4/alloca.m4 \
$(top_srcdir)/gnulib-m4/arpa_inet_h.m4 \
@@ -97,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/builtin-expect.m4 \
$(top_srcdir)/gnulib-m4/c-bool.m4 \
+ $(top_srcdir)/gnulib-m4/c32rtomb.m4 \
$(top_srcdir)/gnulib-m4/calloc.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/codeset.m4 \
@@ -107,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/environ.m4 \
$(top_srcdir)/gnulib-m4/errno_h.m4 \
$(top_srcdir)/gnulib-m4/error.m4 \
+ $(top_srcdir)/gnulib-m4/error_h.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
$(top_srcdir)/gnulib-m4/exponentf.m4 \
$(top_srcdir)/gnulib-m4/exponentl.m4 \
@@ -151,6 +154,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/iswdigit.m4 \
+ $(top_srcdir)/gnulib-m4/iswpunct.m4 \
$(top_srcdir)/gnulib-m4/iswxdigit.m4 \
$(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
@@ -176,6 +180,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/math_h.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
+ $(top_srcdir)/gnulib-m4/mbrtoc32.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
$(top_srcdir)/gnulib-m4/mbsinit.m4 \
$(top_srcdir)/gnulib-m4/mbstate_t.m4 \
@@ -188,6 +193,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib-m4/multiarch.m4 \
$(top_srcdir)/gnulib-m4/musl.m4 \
+ $(top_srcdir)/gnulib-m4/nan-mips.m4 \
$(top_srcdir)/gnulib-m4/nanosleep.m4 \
$(top_srcdir)/gnulib-m4/netinet_in_h.m4 \
$(top_srcdir)/gnulib-m4/nocrash.m4 \
@@ -208,6 +214,8 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/pthread_sigmask.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/raise.m4 \
+ $(top_srcdir)/gnulib-m4/random.m4 \
+ $(top_srcdir)/gnulib-m4/random_r.m4 \
$(top_srcdir)/gnulib-m4/realloc.m4 \
$(top_srcdir)/gnulib-m4/reallocarray.m4 \
$(top_srcdir)/gnulib-m4/relocatable-lib.m4 \
@@ -223,6 +231,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/size_max.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
+ $(top_srcdir)/gnulib-m4/snan.m4 \
$(top_srcdir)/gnulib-m4/socketlib.m4 \
$(top_srcdir)/gnulib-m4/sockets.m4 \
$(top_srcdir)/gnulib-m4/socklen.m4 \
@@ -251,7 +260,13 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/sys_uio_h.m4 \
$(top_srcdir)/gnulib-m4/thread.m4 \
$(top_srcdir)/gnulib-m4/threadlib.m4 \
+ $(top_srcdir)/gnulib-m4/time.m4 \
$(top_srcdir)/gnulib-m4/time_h.m4 \
+ $(top_srcdir)/gnulib-m4/uchar_h.m4 \
+ $(top_srcdir)/gnulib-m4/unicase_h.m4 \
+ $(top_srcdir)/gnulib-m4/unictype_h.m4 \
+ $(top_srcdir)/gnulib-m4/unimetadata_h.m4 \
+ $(top_srcdir)/gnulib-m4/uninorm_h.m4 \
$(top_srcdir)/gnulib-m4/unistd_h.m4 \
$(top_srcdir)/gnulib-m4/usleep.m4 \
$(top_srcdir)/gnulib-m4/vasnprintf.m4 \
@@ -267,7 +282,6 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/wint_t.m4 \
$(top_srcdir)/gnulib-m4/xalloc.m4 \
$(top_srcdir)/gnulib-m4/xsize.m4 \
- $(top_srcdir)/gnulib-m4/year2038.m4 \
$(top_srcdir)/gnulib-m4/yield.m4 \
$(top_srcdir)/gnulib-m4/zzgnulib.m4 \
$(top_srcdir)/m4/exported.m4 \
@@ -401,6 +415,8 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -447,7 +463,33 @@ GL_GNULIB_ATANF = @GL_GNULIB_ATANF@
GL_GNULIB_ATANL = @GL_GNULIB_ATANL@
GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
GL_GNULIB_BIND = @GL_GNULIB_BIND@
+GL_GNULIB_BTOC32 = @GL_GNULIB_BTOC32@
GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@
+GL_GNULIB_C32ISALNUM = @GL_GNULIB_C32ISALNUM@
+GL_GNULIB_C32ISALPHA = @GL_GNULIB_C32ISALPHA@
+GL_GNULIB_C32ISBLANK = @GL_GNULIB_C32ISBLANK@
+GL_GNULIB_C32ISCNTRL = @GL_GNULIB_C32ISCNTRL@
+GL_GNULIB_C32ISDIGIT = @GL_GNULIB_C32ISDIGIT@
+GL_GNULIB_C32ISGRAPH = @GL_GNULIB_C32ISGRAPH@
+GL_GNULIB_C32ISLOWER = @GL_GNULIB_C32ISLOWER@
+GL_GNULIB_C32ISPRINT = @GL_GNULIB_C32ISPRINT@
+GL_GNULIB_C32ISPUNCT = @GL_GNULIB_C32ISPUNCT@
+GL_GNULIB_C32ISSPACE = @GL_GNULIB_C32ISSPACE@
+GL_GNULIB_C32ISUPPER = @GL_GNULIB_C32ISUPPER@
+GL_GNULIB_C32ISXDIGIT = @GL_GNULIB_C32ISXDIGIT@
+GL_GNULIB_C32RTOMB = @GL_GNULIB_C32RTOMB@
+GL_GNULIB_C32SNRTOMBS = @GL_GNULIB_C32SNRTOMBS@
+GL_GNULIB_C32SRTOMBS = @GL_GNULIB_C32SRTOMBS@
+GL_GNULIB_C32STOMBS = @GL_GNULIB_C32STOMBS@
+GL_GNULIB_C32SWIDTH = @GL_GNULIB_C32SWIDTH@
+GL_GNULIB_C32TOB = @GL_GNULIB_C32TOB@
+GL_GNULIB_C32TOLOWER = @GL_GNULIB_C32TOLOWER@
+GL_GNULIB_C32TOUPPER = @GL_GNULIB_C32TOUPPER@
+GL_GNULIB_C32WIDTH = @GL_GNULIB_C32WIDTH@
+GL_GNULIB_C32_APPLY_MAPPING = @GL_GNULIB_C32_APPLY_MAPPING@
+GL_GNULIB_C32_APPLY_TYPE_TEST = @GL_GNULIB_C32_APPLY_TYPE_TEST@
+GL_GNULIB_C32_GET_MAPPING = @GL_GNULIB_C32_GET_MAPPING@
+GL_GNULIB_C32_GET_TYPE_TEST = @GL_GNULIB_C32_GET_TYPE_TEST@
GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
@@ -560,6 +602,7 @@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@
GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@
GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
@@ -591,16 +634,18 @@ GL_GNULIB_ISNANL = @GL_GNULIB_ISNANL@
GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@
GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@
GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@
+GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@
GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@
GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LDEXP = @GL_GNULIB_LDEXP@
GL_GNULIB_LDEXPF = @GL_GNULIB_LDEXPF@
GL_GNULIB_LDEXPL = @GL_GNULIB_LDEXPL@
GL_GNULIB_LINK = @GL_GNULIB_LINK@
GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@
GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@
-GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@
+GL_GNULIB_LOCALENAME_UNSAFE = @GL_GNULIB_LOCALENAME_UNSAFE@
GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
GL_GNULIB_LOG = @GL_GNULIB_LOG@
GL_GNULIB_LOG10 = @GL_GNULIB_LOG10@
@@ -622,6 +667,8 @@ GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@
+GL_GNULIB_MBRTOC16 = @GL_GNULIB_MBRTOC16@
+GL_GNULIB_MBRTOC32 = @GL_GNULIB_MBRTOC32@
GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@
GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
@@ -631,15 +678,20 @@ GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@
GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSNRTOC32S = @GL_GNULIB_MBSNRTOC32S@
GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@
GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSRTOC32S = @GL_GNULIB_MBSRTOC32S@
GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@
GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOC32S = @GL_GNULIB_MBSTOC32S@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -692,6 +744,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
@@ -745,6 +798,7 @@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
GL_GNULIB_RAISE = @GL_GNULIB_RAISE@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
@@ -819,6 +873,7 @@ GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOF = @GL_GNULIB_STRTOF@
GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@
GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
@@ -834,12 +889,16 @@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
GL_GNULIB_TANF = @GL_GNULIB_TANF@
GL_GNULIB_TANHF = @GL_GNULIB_TANHF@
GL_GNULIB_TANL = @GL_GNULIB_TANL@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TOTALORDER = @GL_GNULIB_TOTALORDER@
+GL_GNULIB_TOTALORDERF = @GL_GNULIB_TOTALORDERF@
+GL_GNULIB_TOTALORDERL = @GL_GNULIB_TOTALORDERL@
GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNC = @GL_GNULIB_TRUNC@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
@@ -847,6 +906,148 @@ GL_GNULIB_TRUNCF = @GL_GNULIB_TRUNCF@
GL_GNULIB_TRUNCL = @GL_GNULIB_TRUNCL@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@
+GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE = @GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFD_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE@
GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
@@ -898,6 +1099,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@
GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@
GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@
+GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@
GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@
GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@
GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@
@@ -906,9 +1108,12 @@ GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@
GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@
GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_CHAR16_T = @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+GNULIBHEADERS_OVERRIDE_CHAR32_T = @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+GNULIBHEADERS_OVERRIDE_CHAR8_T = @GNULIBHEADERS_OVERRIDE_CHAR8_T@
GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ACCEPT4 = @HAVE_ACCEPT4@
HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
@@ -922,6 +1127,7 @@ HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C32RTOMB = @HAVE_C32RTOMB@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CBRT = @HAVE_CBRT@
@@ -971,6 +1177,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
@@ -987,6 +1194,8 @@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
@@ -1021,6 +1230,9 @@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPF = @HAVE_EXPF@
@@ -1059,6 +1271,7 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GETUMASK = @HAVE_GETUMASK@
@@ -1070,6 +1283,8 @@ HAVE_HYPOTL = @HAVE_HYPOTL@
HAVE_ILOGB = @HAVE_ILOGB@
HAVE_ILOGBF = @HAVE_ILOGBF@
HAVE_ILOGBL = @HAVE_ILOGBL@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
@@ -1102,6 +1317,8 @@ HAVE_LOGL = @HAVE_LOGL@
HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOC16 = @HAVE_MBRTOC16@
+HAVE_MBRTOC32 = @HAVE_MBRTOC32@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
@@ -1109,6 +1326,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -1249,6 +1467,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOF = @HAVE_STRTOF@
HAVE_STRTOL = @HAVE_STRTOL@
HAVE_STRTOLD = @HAVE_STRTOLD@
HAVE_STRTOLL = @HAVE_STRTOLL@
@@ -1281,8 +1500,13 @@ HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TOTALORDER = @HAVE_TOTALORDER@
+HAVE_TOTALORDERF = @HAVE_TOTALORDERF@
+HAVE_TOTALORDERL = @HAVE_TOTALORDERL@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UCHAR_H = @HAVE_UCHAR_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_USLEEP = @HAVE_USLEEP@
@@ -1330,6 +1554,7 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
@@ -1347,6 +1572,10 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -1366,6 +1595,7 @@ LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNIGBRK_H = @LIBUNISTRING_UNIGBRK_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
+LIBUNISTRING_UNIMETADATA_H = @LIBUNISTRING_UNIMETADATA_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@
LIBUNISTRING_UNISTDIO_H = @LIBUNISTRING_UNISTDIO_H@
@@ -1400,10 +1630,18 @@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
LTLIBTHREAD = @LTLIBTHREAD@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
+
+# The customization variable CHECK_NORMAL_MENU_STRUCTURE is necessary with
+# makeinfo versions ≥ 6.8.
+MAKEINFO = \
+ env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= \
+ @MAKEINFO@ -c CHECK_NORMAL_MENU_STRUCTURE=1
+
MANIFEST_TOOL = @MANIFEST_TOOL@
+MBRTOWC_LIB = @MBRTOWC_LIB@
MKDIR_P = @MKDIR_P@
NAMESPACING = @NAMESPACING@
+NANOSLEEP_LIB = @NANOSLEEP_LIB@
NETINET_IN_H = @NETINET_IN_H@
NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
NEXT_ASSERT_H = @NEXT_ASSERT_H@
@@ -1411,6 +1649,7 @@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
@@ -1436,11 +1675,13 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_UCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
@@ -1466,6 +1707,7 @@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UCHAR_H = @NEXT_UCHAR_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
@@ -1488,6 +1730,7 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTHREAD_SIGMASK_LIB = @PTHREAD_SIGMASK_LIB@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RC = @RC@
@@ -1499,6 +1742,7 @@ REPLACE_ASINF = @REPLACE_ASINF@
REPLACE_ATAN2F = @REPLACE_ATAN2F@
REPLACE_ATANF = @REPLACE_ATANF@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_C32RTOMB = @REPLACE_C32RTOMB@
REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
@@ -1518,7 +1762,10 @@ REPLACE_CTIME = @REPLACE_CTIME@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
REPLACE_EXECL = @REPLACE_EXECL@
REPLACE_EXECLE = @REPLACE_EXECLE@
REPLACE_EXECLP = @REPLACE_EXECLP@
@@ -1535,10 +1782,12 @@ REPLACE_EXPM1F = @REPLACE_EXPM1F@
REPLACE_EXPM1L = @REPLACE_EXPM1L@
REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FFSLL = @REPLACE_FFSLL@
@@ -1573,12 +1822,16 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETPASS = @REPLACE_GETPASS@
REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
@@ -1591,6 +1844,8 @@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_ILOGB = @REPLACE_ILOGB@
REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ILOGBL = @REPLACE_ILOGBL@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
REPLACE_INET_PTON = @REPLACE_INET_PTON@
REPLACE_INITSTATE = @REPLACE_INITSTATE@
@@ -1602,9 +1857,11 @@ REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@
+REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@
REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXP = @REPLACE_LDEXP@
REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
@@ -1631,19 +1888,27 @@ REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOC16 = @REPLACE_MBRTOC16@
+REPLACE_MBRTOC32 = @REPLACE_MBRTOC32@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MEMSET_EXPLICIT = @REPLACE_MEMSET_EXPLICIT@
REPLACE_MKDIR = @REPLACE_MKDIR@
REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_MODF = @REPLACE_MODF@
@@ -1658,8 +1923,10 @@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PSELECT = @REPLACE_PSELECT@
@@ -1721,6 +1988,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_QSORT_R = @REPLACE_QSORT_R@
REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RAND = @REPLACE_RAND@
REPLACE_RANDOM = @REPLACE_RANDOM@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
@@ -1744,6 +2012,7 @@ REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SETSTATE = @REPLACE_SETSTATE@
REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
@@ -1758,6 +2027,7 @@ REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -1772,6 +2042,7 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOF = @REPLACE_STRTOF@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_STRTOL = @REPLACE_STRTOL@
@@ -1782,12 +2053,19 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@
REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TANF = @REPLACE_TANF@
REPLACE_TANHF = @REPLACE_TANHF@
+REPLACE_TIME = @REPLACE_TIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TIMESPEC_GETRES = @REPLACE_TIMESPEC_GETRES@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOTALORDER = @REPLACE_TOTALORDER@
+REPLACE_TOTALORDERF = @REPLACE_TOTALORDERF@
+REPLACE_TOTALORDERL = @REPLACE_TOTALORDERL@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -1807,21 +2085,33 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
REPLACE_WCSTOK = @REPLACE_WCSTOK@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCTRANS = @REPLACE_WCTRANS@
+REPLACE_WCTYPE = @REPLACE_WCTYPE@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SCHED_YIELD_LIB = @SCHED_YIELD_LIB@
SED = @SED@
+SELECT_LIB = @SELECT_LIB@
+SETLOCALE_LIB = @SETLOCALE_LIB@
+SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDALIGN_H = @STDALIGN_H@
+SMALL_WCHAR_T = @SMALL_WCHAR_T@
STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
diff --git a/doc/libunistring.info b/doc/libunistring.info
index 8c3b81f1..32de75c4 100644
--- a/doc/libunistring.info
+++ b/doc/libunistring.info
@@ -425,7 +425,7 @@ encoding; therefore, the majority of users are using multibyte locales.
screen columns of a string is requested.
• gnulib has functions ‘mbschr’ and ‘mbsrrchr’ that are like ‘strchr’
and ‘strrchr’, but work in multibyte locales.
- • gnulib has a function ‘mbsstr’, like ‘strstr’, but works in
+ • gnulib has a function ‘mbsstr’ that is like ‘strstr’, but works in
multibyte locales.
• gnulib has functions ‘mbscspn’, ‘mbspbrk’, ‘mbsspn’ that are like
‘strcspn’, ‘strpbrk’, ‘strspn’, but work in multibyte locales.
@@ -510,7 +510,7 @@ order mark. Their units are 2-byte words.
order mark. Their units are 4-byte words.
Argument pairs ‘(S, N)’ denote a string ‘S[0..N-1]’ with exactly N
-units.
+units.(1)
All functions with prefix ‘ulc_’ operate on C strings in locale
encoding.
@@ -547,6 +547,27 @@ Otherwise, a freshly allocated string is returned. In both cases,
‘*LENGTHP’ is set to the length (number of units) of the returned
string. In case of error, NULL is returned and ‘errno’ is set.
+ To invoke such a function:
+ • First ask yourself whether you want to accept the overhead of a
+ ‘malloc’ invocation even for a small-sized result. If yes, pass
+ NULL as RESULTBUF. If no, allocate an array of units on the stack,
+ typically between 50 and 4000 bytes large; pass this array as
+ RESULTBUF; and initialize ‘*LENGTHP’ to the number of units of this
+ array.
+ • Upon return from such a function, look at the return value: NULL
+ means an error; look at the value of ‘errno’ in this case.
+ Otherwise, the return value is the result, with ‘*LENGTHP’ units.
+ Note that the function has _not_ added an extra NUL character at
+ the end.
+ • Finally, do memory management. You know that the result was
+ ‘malloc’-allocated if it is ‘!= NULL’ and ‘!= RESULTBUF’.
+
+ ---------- Footnotes ----------
+
+ (1) A NUL unit as terminator is not needed, since the number of units
+is given by N. If some of the units of the string are NUL, they are
+just regular units; they are not interpreted as terminators.
+

File: libunistring.info, Node: unitypes.h, Next: unistr.h, Prev: Conventions, Up: Top
@@ -775,6 +796,18 @@ File: libunistring.info, Node: Copying Unicode strings, Next: Comparing Unicod
This function is similar to ‘memcpy’, except that it operates on
Unicode strings.
+ -- Function: uint8_t * u8_pcpy (uint8_t *DEST, const uint8_t *SRC,
+ size_t N)
+ -- Function: uint16_t * u16_pcpy (uint16_t *DEST, const uint16_t *SRC,
+ size_t N)
+ -- Function: uint32_t * u32_pcpy (uint32_t *DEST, const uint32_t *SRC,
+ size_t N)
+ Copies N units from SRC to DEST, returning a pointer after the last
+ written unit.
+
+ This function is similar to ‘mempcpy’, except that it operates on
+ Unicode strings.
+
-- Function: uint8_t * u8_move (uint8_t *DEST, const uint8_t *SRC,
size_t N)
-- Function: uint16_t * u16_move (uint16_t *DEST, const uint16_t *SRC,
@@ -1051,7 +1084,8 @@ File: libunistring.info, Node: Comparing NUL terminated Unicode strings, Next:
4.5.4 Comparing NUL terminated Unicode strings
----------------------------------------------
- The following functions compare two Unicode strings.
+ The following functions compare two Unicode strings. They ignore
+locale-dependent collation rules.
-- Function: int u8_strcmp (const uint8_t *S1, const uint8_t *S2)
-- Function: int u16_strcmp (const uint16_t *S1, const uint16_t *S2)
@@ -1427,6 +1461,7 @@ format string:
*’).
• The format directive ‘llU’ takes an UTF-32 string (‘const uint32_t
*’).
+ • The format directive ‘n’ is not supported, for security reasons.
A function name with an infix ‘v’ indicates that a ‘va_list’ is
passed instead of multiple arguments.
@@ -1658,6 +1693,7 @@ algorithms in the presence of specific Unicode characters.
* Mirrored character::
* Arabic shaping::
* Properties::
+* Other attributes::
* Scripts::
* Blocks::
* ISO C and Java syntax::
@@ -2279,6 +2315,15 @@ character.
and returns ‘true’, if it exists. Otherwise it stores UC
unmodified in ‘*PUC’ and returns ‘false’.
+ Note: It is possible for this function to return ‘true’ and set
+ ‘*PUC’ to ‘0xFFFD’. This happens when the character has the bidi
+ mirror property (that is, it should be displayed through a mirrored
+ glyph) but this mirrored glyph does not exist as a Unicode
+ character; thus a rendering engine needs to synthesize it
+ artificially or pick it from an appropriate font. This affects
+ mostly mathematical operators. See section “Bidi Mirrored” of the
+ Unicode standard.
+

File: libunistring.info, Node: Arabic shaping, Next: Properties, Prev: Mirrored character, Up: unictype.h
@@ -2488,7 +2533,7 @@ character.
Returns the joining group of a Unicode character.

-File: libunistring.info, Node: Properties, Next: Scripts, Prev: Arabic shaping, Up: unictype.h
+File: libunistring.info, Node: Properties, Next: Other attributes, Prev: Arabic shaping, Up: unictype.h
8.9 Properties
==============
@@ -2562,6 +2607,8 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func
-- Constant: uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE
-- Constant: uc_property_t UC_PROPERTY_XID_START
-- Constant: uc_property_t UC_PROPERTY_XID_CONTINUE
+ -- Constant: uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START
+ -- Constant: uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE
-- Constant: uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE
-- Constant: uc_property_t UC_PROPERTY_PATTERN_SYNTAX
@@ -2603,6 +2650,7 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func
-- Constant: uc_property_t UC_PROPERTY_IDEOGRAPHIC
-- Constant: uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH
-- Constant: uc_property_t UC_PROPERTY_RADICAL
+ -- Constant: uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR
-- Constant: uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR
-- Constant: uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR
@@ -2622,6 +2670,7 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func
-- Constant: uc_property_t UC_PROPERTY_NON_BREAK
-- Constant: uc_property_t UC_PROPERTY_ISO_CONTROL
-- Constant: uc_property_t UC_PROPERTY_FORMAT_CONTROL
+ -- Constant: uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK
-- Constant: uc_property_t UC_PROPERTY_DASH
-- Constant: uc_property_t UC_PROPERTY_HYPHEN
-- Constant: uc_property_t UC_PROPERTY_PUNCTUATION
@@ -2717,6 +2766,8 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob
-- Function: bool uc_is_property_other_id_continue (ucs4_t UC)
-- Function: bool uc_is_property_xid_start (ucs4_t UC)
-- Function: bool uc_is_property_xid_continue (ucs4_t UC)
+ -- Function: bool uc_is_property_id_compat_math_start (ucs4_t UC)
+ -- Function: bool uc_is_property_id_compat_math_continue (ucs4_t UC)
-- Function: bool uc_is_property_pattern_white_space (ucs4_t UC)
-- Function: bool uc_is_property_pattern_syntax (ucs4_t UC)
@@ -2758,6 +2809,7 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob
-- Function: bool uc_is_property_ideographic (ucs4_t UC)
-- Function: bool uc_is_property_unified_ideograph (ucs4_t UC)
-- Function: bool uc_is_property_radical (ucs4_t UC)
+ -- Function: bool uc_is_property_ids_unary_operator (ucs4_t UC)
-- Function: bool uc_is_property_ids_binary_operator (ucs4_t UC)
-- Function: bool uc_is_property_ids_trinary_operator (ucs4_t UC)
@@ -2777,6 +2829,8 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob
-- Function: bool uc_is_property_non_break (ucs4_t UC)
-- Function: bool uc_is_property_iso_control (ucs4_t UC)
-- Function: bool uc_is_property_format_control (ucs4_t UC)
+ -- Function: bool uc_is_property_prepended_concatenation_mark
+ (ucs4_t UC)
-- Function: bool uc_is_property_dash (ucs4_t UC)
-- Function: bool uc_is_property_hyphen (ucs4_t UC)
-- Function: bool uc_is_property_punctuation (ucs4_t UC)
@@ -2800,9 +2854,56 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob
-- Function: bool uc_is_property_regional_indicator (ucs4_t UC)

-File: libunistring.info, Node: Scripts, Next: Blocks, Prev: Properties, Up: unictype.h
+File: libunistring.info, Node: Other attributes, Next: Scripts, Prev: Properties, Up: unictype.h
+
+8.10 Other attributes
+=====================
+
+ This section defines non-boolean attributes of Unicode characters.
+
+* Menu:
+
+* Indic conjunct break::
+
+
+File: libunistring.info, Node: Indic conjunct break, Up: Other attributes
+
+8.10.1 Indic conjunct break
+---------------------------
+
+ The Indic_Conjunct_Break attribute is used when determining the
+grapheme cluster boundary in Indic scripts.
+
+ The Indic_Conjunct_Break attribute has the following possible values:
+
+ -- Constant: int UC_INDIC_CONJUNCT_BREAK_NONE
+ -- Constant: int UC_INDIC_CONJUNCT_BREAK_CONSONANT
+ -- Constant: int UC_INDIC_CONJUNCT_BREAK_LINKER
+ -- Constant: int UC_INDIC_CONJUNCT_BREAK_EXTEND
+
+ The following functions implement the association between an
+Indic_Conjunct_Break value and its name.
+
+ -- Function: const char * uc_indic_conjunct_break_name
+ (int INDIC_CONJUNCT_BREAK)
+ Returns the name of an Indic_Conjunct_Break value.
-8.10 Scripts
+ -- Function: int uc_indic_conjunct_break_byname
+ (const char *INDIC_CONJUNCT_BREAK_NAME)
+ Returns the Indic_Conjunct_Break value given by name, e.g.
+ ‘"Consonant"’. This lookup ignores spaces, underscores, or hyphens
+ as word separators and is case-insignificant.
+
+ The following function gives the Indic_Conjunct_Break attribute of
+every Unicode character.
+
+ -- Function: int uc_indic_conjunct_break (ucs4_t UC)
+ Returns the Indic_Conjunct_Break attribute of a Unicode character.
+
+
+File: libunistring.info, Node: Scripts, Next: Blocks, Prev: Other attributes, Up: unictype.h
+
+8.11 Scripts
============
The Unicode characters are subdivided into scripts.
@@ -2842,7 +2943,7 @@ File: libunistring.info, Node: Scripts, Next: Blocks, Prev: Properties, Up:

File: libunistring.info, Node: Blocks, Next: ISO C and Java syntax, Prev: Scripts, Up: unictype.h
-8.11 Blocks
+8.12 Blocks
===========
The Unicode characters are subdivided into blocks. A block is an
@@ -2883,7 +2984,7 @@ interval of Unicode code points.

File: libunistring.info, Node: ISO C and Java syntax, Next: Classifications like in ISO C, Prev: Blocks, Up: unictype.h
-8.12 ISO C and Java syntax
+8.13 ISO C and Java syntax
==========================
The following properties are taken from language standards. The
@@ -2929,7 +3030,7 @@ constituent of an identifier in the given programming language.

File: libunistring.info, Node: Classifications like in ISO C, Prev: ISO C and Java syntax, Up: unictype.h
-8.13 Classifications like in ISO C
+8.14 Classifications like in ISO C
==================================
The following character classifications mimic those declared in the
@@ -3090,7 +3191,9 @@ clusters in a string.
Note that these functions do not handle the case when a character
outside of the range between S and END is needed to determine the
- boundary. Use ‘_grapheme_breaks’ functions for such cases.
+ boundary. This is the case in particular with syllables in Indic
+ scripts or emojis. Use ‘_grapheme_breaks’ functions for such
+ cases.
-- Function: void u8_grapheme_prev (const uint8_t *S,
const uint8_t *START)
@@ -3104,7 +3207,9 @@ clusters in a string.
Note that these functions do not handle the case when a character
outside of the range between START and S is needed to determine the
- boundary. Use ‘_grapheme_breaks’ functions for such cases.
+ boundary. This is the case in particular with syllables in Indic
+ scripts or emojis. Use ‘_grapheme_breaks’ functions for such
+ cases.
Note also that these functions work only on well-formed Unicode
strings.
@@ -3198,8 +3303,9 @@ the higher-level functions in the previous section are directly based.
they are preferred.
Note that this function does not handle the case when three or more
- consecutive characters are needed to determine the boundary. Use
- ‘uc_grapheme_breaks’ for such cases.
+ consecutive characters are needed to determine the boundary. This
+ is the case in particular with syllables in Indic scripts or
+ emojis. Use ‘uc_grapheme_breaks’ for such cases.

File: libunistring.info, Node: uniwbrk.h, Next: unilbrk.h, Prev: unigbrk.h, Up: Top
@@ -3737,7 +3843,7 @@ an entire string at once and are language aware.
For most characters, this is the same as the uppercase mapping.
There are only few characters where the title case variant and the
- uuper case variant are different. These characters occur in the
+ upper case variant are different. These characters occur in the
Latin writing of the Croatian, Bosnian, and Serbian languages.
Lower case Title case Upper case
@@ -3762,7 +3868,7 @@ File: libunistring.info, Node: Case mappings of strings, Next: Case mappings o
=============================
Case mapping should always be performed on entire strings, not on
-individual characters. The functions in this sections do so.
+individual characters. The functions in this section do so.
These functions allow to apply a normalization after the case
mapping. The reason is that if you want to treat ‘ä’ and ‘Ä’ the same,
@@ -4041,6 +4147,9 @@ in case and normalization.
The RESULTBUF and LENGTHP arguments are as described in chapter
*note Conventions::.
+ The following functions ignore locale-dependent collation rules, but
+do use locale-dependent case mappings (if ISO639_LANGUAGE is not NULL).
+
-- Function: int u8_casecmp (const uint8_t *S1, size_t N1,
const uint8_t *S2, size_t N2, const char *ISO639_LANGUAGE,
uninorm_t NF, int *RESULTP)
@@ -4263,15 +4372,15 @@ version number of the libunistring library.
-- Macro: int _LIBUNISTRING_VERSION
This constant contains the version of libunistring that is being
- used at compile time. It encodes the major and minor parts of the
- version number only. These parts are encoded in the form
- ‘(major<<8) + minor’.
+ used at compile time. It encodes the major, minor, and subminor
+ parts of the version number. These parts are encoded in the form
+ ‘(major<<16) + (minor<<8) + subminor’.
-- Constant: int _libunistring_version
This constant contains the version of libunistring that is being
- used at run time. It encodes the major and minor parts of the
- version number only. These parts are encoded in the form
- ‘(major<<8) + minor’.
+ used at run time. It encodes the major, minor, and subminor parts
+ of the version number. These parts are encoded in the form
+ ‘(major<<16) + (minor<<8) + subminor’.
It is possible that ‘_libunistring_version’ is greater than
‘_LIBUNISTRING_VERSION’. This can happen when you use ‘libunistring’ as
@@ -4279,6 +4388,14 @@ a shared library, and a newer, binary backward-compatible version has
been installed after your program that uses ‘libunistring’ was
installed.
+ ‘<unistring/version.h>’ also contains:
+
+ -- Constant: int _libunistring_unicode_version
+ This constant contains the version of the Unicode standard that is
+ implemented by libunistring. It encodes the major and minor parts
+ of the version number only. These parts are encoded in the form
+ ‘(major<<8) + minor’.
+

File: libunistring.info, Node: Autoconf macro, Next: Reporting problems, Prev: Include files, Up: Using the library
@@ -4356,19 +4473,20 @@ Appendix A The ‘wchar_t’ mess
first problem mentioned in the section *note char * strings::. They
introduced
• a type ‘wchar_t’, designed to encapsulate an entire character,
- • a “wide string” type ‘wchar_t *’, and
+ • a “wide string” type ‘wchar_t *’, with some API functions declared
+ in ‘<wchar.h>’, and
• functions declared in ‘<wctype.h>’ that were meant to supplant the
ones in ‘<ctype.h>’.
Unfortunately, this API and its implementation has numerous problems:
- • On AIX and Windows platforms, ‘wchar_t’ is a 16-bit type. This
- means that it can never accommodate an entire Unicode character.
- Either the ‘wchar_t *’ strings are limited to characters in UCS-2
- (the “Basic Multilingual Plane” of Unicode), or — if ‘wchar_t *’
- strings are encoded in UTF-16 — a ‘wchar_t’ represents only half of
- a character in the worst case, making the ‘<wctype.h>’ functions
- pointless.
+ • On Windows platforms and on AIX in 32-bit mode, ‘wchar_t’ is a
+ 16-bit type. This means that it can never accommodate an entire
+ Unicode character. Either the ‘wchar_t *’ strings are limited to
+ characters in UCS-2 (the “Basic Multilingual Plane” of Unicode), or
+ — if ‘wchar_t *’ strings are encoded in UTF-16 — a ‘wchar_t’
+ represents only half of a character in the worst case, making the
+ ‘<wctype.h>’ functions pointless.
• On Solaris and FreeBSD, the ‘wchar_t’ encoding is locale dependent
and undocumented. This means, if you want to know any property of
@@ -5906,23 +6024,23 @@ Index
* comparing, ignoring case: Case insensitive comparison.
(line 6)
* comparing, ignoring case, with collation rules: Case insensitive comparison.
- (line 71)
+ (line 74)
* comparing, ignoring normalization: Normalizing comparisons.
(line 6)
* comparing, ignoring normalization and case: Case insensitive comparison.
(line 6)
* comparing, ignoring normalization and case, with collation rules: Case insensitive comparison.
- (line 71)
+ (line 74)
* comparing, ignoring normalization, with collation rules: Normalizing comparisons.
(line 22)
* comparing, with collation rules: Comparing NUL terminated Unicode strings.
- (line 18)
+ (line 19)
* comparing, with collation rules, ignoring case: Case insensitive comparison.
- (line 71)
+ (line 74)
* comparing, with collation rules, ignoring normalization: Normalizing comparisons.
(line 22)
* comparing, with collation rules, ignoring normalization and case: Case insensitive comparison.
- (line 71)
+ (line 74)
* compiler options: Compiler options. (line 24)
* composing, Unicode characters: Composition of characters.
(line 6)
@@ -5954,6 +6072,8 @@ Index
* halfwidth: uniwidth.h. (line 22)
* identifiers: ISO C and Java syntax.
(line 6)
+* Indic_Conjunct_Break: Indic conjunct break.
+ (line 6)
* installation: Installation. (line 10)
* internationalization: Unicode and i18n. (line 6)
* iterating: Iterating. (line 6)
@@ -6002,16 +6122,16 @@ Index
(line 10)
* titlecasing: Case mappings of strings.
(line 6)
-* u16_asnprintf: unistdio.h. (line 111)
-* u16_asprintf: unistdio.h. (line 109)
+* u16_asnprintf: unistdio.h. (line 112)
+* u16_asprintf: unistdio.h. (line 110)
* u16_casecmp: Case insensitive comparison.
- (line 54)
+ (line 57)
* u16_casecoll: Case insensitive comparison.
- (line 100)
+ (line 103)
* u16_casefold: Case insensitive comparison.
(line 12)
* u16_casexfrm: Case insensitive comparison.
- (line 77)
+ (line 80)
* u16_casing_prefixes_context: Case mappings of substrings.
(line 37)
* u16_casing_prefix_context: Case mappings of substrings.
@@ -6045,11 +6165,11 @@ Index
* u16_endswith: Searching for a substring.
(line 30)
* u16_grapheme_breaks: Grapheme cluster breaks in a string.
- (line 45)
+ (line 49)
* u16_grapheme_next: Grapheme cluster breaks in a string.
(line 11)
* u16_grapheme_prev: Grapheme cluster breaks in a string.
- (line 25)
+ (line 27)
* u16_is_cased: Case detection. (line 55)
* u16_is_casefolded: Case detection. (line 42)
* u16_is_lowercase: Case detection. (line 22)
@@ -6061,7 +6181,7 @@ Index
* u16_mbtoucr: Iterating. (line 48)
* u16_mbtouc_unsafe: Iterating. (line 39)
* u16_move: Copying Unicode strings.
- (line 21)
+ (line 33)
* u16_next: Iterating over a NUL terminated Unicode string.
(line 23)
* u16_normalize: Normalization of strings.
@@ -6072,13 +6192,15 @@ Index
(line 40)
* u16_normxfrm: Normalizing comparisons.
(line 24)
+* u16_pcpy: Copying Unicode strings.
+ (line 21)
* u16_possible_linebreaks: unilbrk.h. (line 48)
* u16_prev: Iterating over a NUL terminated Unicode string.
(line 34)
* u16_set: Copying Unicode strings.
- (line 34)
-* u16_snprintf: unistdio.h. (line 107)
-* u16_sprintf: unistdio.h. (line 106)
+ (line 46)
+* u16_snprintf: unistdio.h. (line 108)
+* u16_sprintf: unistdio.h. (line 107)
* u16_startswith: Searching for a substring.
(line 22)
* u16_stpcpy: Copying a NUL terminated Unicode string.
@@ -6090,9 +6212,9 @@ Index
* u16_strchr: Searching for a character in a NUL terminated Unicode string.
(line 9)
* u16_strcmp: Comparing NUL terminated Unicode strings.
- (line 9)
+ (line 10)
* u16_strcoll: Comparing NUL terminated Unicode strings.
- (line 19)
+ (line 20)
* u16_strconv_from_encoding: uniconv.h. (line 139)
* u16_strconv_from_locale: uniconv.h. (line 168)
* u16_strconv_to_encoding: uniconv.h. (line 152)
@@ -6111,7 +6233,7 @@ Index
* u16_strncat: Copying a NUL terminated Unicode string.
(line 66)
* u16_strncmp: Comparing NUL terminated Unicode strings.
- (line 35)
+ (line 36)
* u16_strncpy: Copying a NUL terminated Unicode string.
(line 31)
* u16_strnlen: Length. (line 17)
@@ -6135,34 +6257,34 @@ Index
(line 30)
* u16_to_u8: Elementary string conversions.
(line 23)
-* u16_u16_asnprintf: unistdio.h. (line 131)
-* u16_u16_asprintf: unistdio.h. (line 129)
-* u16_u16_snprintf: unistdio.h. (line 127)
-* u16_u16_sprintf: unistdio.h. (line 125)
-* u16_u16_vasnprintf: unistdio.h. (line 139)
-* u16_u16_vasprintf: unistdio.h. (line 137)
-* u16_u16_vsnprintf: unistdio.h. (line 135)
-* u16_u16_vsprintf: unistdio.h. (line 133)
+* u16_u16_asnprintf: unistdio.h. (line 132)
+* u16_u16_asprintf: unistdio.h. (line 130)
+* u16_u16_snprintf: unistdio.h. (line 128)
+* u16_u16_sprintf: unistdio.h. (line 126)
+* u16_u16_vasnprintf: unistdio.h. (line 140)
+* u16_u16_vasprintf: unistdio.h. (line 138)
+* u16_u16_vsnprintf: unistdio.h. (line 136)
+* u16_u16_vsprintf: unistdio.h. (line 134)
* u16_uctomb: Creating Unicode strings.
(line 10)
-* u16_vasnprintf: unistdio.h. (line 119)
-* u16_vasprintf: unistdio.h. (line 117)
-* u16_vsnprintf: unistdio.h. (line 115)
-* u16_vsprintf: unistdio.h. (line 113)
+* u16_vasnprintf: unistdio.h. (line 120)
+* u16_vasprintf: unistdio.h. (line 118)
+* u16_vsnprintf: unistdio.h. (line 116)
+* u16_vsprintf: unistdio.h. (line 114)
* u16_width: uniwidth.h. (line 29)
* u16_width_linebreaks: unilbrk.h. (line 66)
* u16_wordbreaks: Word breaks in a string.
(line 9)
-* u32_asnprintf: unistdio.h. (line 150)
-* u32_asprintf: unistdio.h. (line 148)
+* u32_asnprintf: unistdio.h. (line 151)
+* u32_asprintf: unistdio.h. (line 149)
* u32_casecmp: Case insensitive comparison.
- (line 57)
+ (line 60)
* u32_casecoll: Case insensitive comparison.
- (line 103)
+ (line 106)
* u32_casefold: Case insensitive comparison.
(line 15)
* u32_casexfrm: Case insensitive comparison.
- (line 80)
+ (line 83)
* u32_casing_prefixes_context: Case mappings of substrings.
(line 40)
* u32_casing_prefix_context: Case mappings of substrings.
@@ -6196,11 +6318,11 @@ Index
* u32_endswith: Searching for a substring.
(line 32)
* u32_grapheme_breaks: Grapheme cluster breaks in a string.
- (line 47)
+ (line 51)
* u32_grapheme_next: Grapheme cluster breaks in a string.
(line 13)
* u32_grapheme_prev: Grapheme cluster breaks in a string.
- (line 27)
+ (line 29)
* u32_is_cased: Case detection. (line 57)
* u32_is_casefolded: Case detection. (line 44)
* u32_is_lowercase: Case detection. (line 24)
@@ -6212,7 +6334,7 @@ Index
* u32_mbtoucr: Iterating. (line 49)
* u32_mbtouc_unsafe: Iterating. (line 41)
* u32_move: Copying Unicode strings.
- (line 23)
+ (line 35)
* u32_next: Iterating over a NUL terminated Unicode string.
(line 24)
* u32_normalize: Normalization of strings.
@@ -6223,13 +6345,15 @@ Index
(line 42)
* u32_normxfrm: Normalizing comparisons.
(line 26)
+* u32_pcpy: Copying Unicode strings.
+ (line 23)
* u32_possible_linebreaks: unilbrk.h. (line 50)
* u32_prev: Iterating over a NUL terminated Unicode string.
(line 36)
* u32_set: Copying Unicode strings.
- (line 35)
-* u32_snprintf: unistdio.h. (line 146)
-* u32_sprintf: unistdio.h. (line 145)
+ (line 47)
+* u32_snprintf: unistdio.h. (line 147)
+* u32_sprintf: unistdio.h. (line 146)
* u32_startswith: Searching for a substring.
(line 24)
* u32_stpcpy: Copying a NUL terminated Unicode string.
@@ -6241,9 +6365,9 @@ Index
* u32_strchr: Searching for a character in a NUL terminated Unicode string.
(line 10)
* u32_strcmp: Comparing NUL terminated Unicode strings.
- (line 10)
+ (line 11)
* u32_strcoll: Comparing NUL terminated Unicode strings.
- (line 20)
+ (line 21)
* u32_strconv_from_encoding: uniconv.h. (line 141)
* u32_strconv_from_locale: uniconv.h. (line 169)
* u32_strconv_to_encoding: uniconv.h. (line 154)
@@ -6262,7 +6386,7 @@ Index
* u32_strncat: Copying a NUL terminated Unicode string.
(line 68)
* u32_strncmp: Comparing NUL terminated Unicode strings.
- (line 37)
+ (line 38)
* u32_strncpy: Copying a NUL terminated Unicode string.
(line 33)
* u32_strnlen: Length. (line 18)
@@ -6286,34 +6410,34 @@ Index
(line 44)
* u32_to_u8: Elementary string conversions.
(line 37)
-* u32_u32_asnprintf: unistdio.h. (line 170)
-* u32_u32_asprintf: unistdio.h. (line 168)
-* u32_u32_snprintf: unistdio.h. (line 166)
-* u32_u32_sprintf: unistdio.h. (line 164)
-* u32_u32_vasnprintf: unistdio.h. (line 178)
-* u32_u32_vasprintf: unistdio.h. (line 176)
-* u32_u32_vsnprintf: unistdio.h. (line 174)
-* u32_u32_vsprintf: unistdio.h. (line 172)
+* u32_u32_asnprintf: unistdio.h. (line 171)
+* u32_u32_asprintf: unistdio.h. (line 169)
+* u32_u32_snprintf: unistdio.h. (line 167)
+* u32_u32_sprintf: unistdio.h. (line 165)
+* u32_u32_vasnprintf: unistdio.h. (line 179)
+* u32_u32_vasprintf: unistdio.h. (line 177)
+* u32_u32_vsnprintf: unistdio.h. (line 175)
+* u32_u32_vsprintf: unistdio.h. (line 173)
* u32_uctomb: Creating Unicode strings.
(line 11)
-* u32_vasnprintf: unistdio.h. (line 158)
-* u32_vasprintf: unistdio.h. (line 156)
-* u32_vsnprintf: unistdio.h. (line 154)
-* u32_vsprintf: unistdio.h. (line 152)
+* u32_vasnprintf: unistdio.h. (line 159)
+* u32_vasprintf: unistdio.h. (line 157)
+* u32_vsnprintf: unistdio.h. (line 155)
+* u32_vsprintf: unistdio.h. (line 153)
* u32_width: uniwidth.h. (line 31)
* u32_width_linebreaks: unilbrk.h. (line 69)
* u32_wordbreaks: Word breaks in a string.
(line 10)
-* u8_asnprintf: unistdio.h. (line 72)
-* u8_asprintf: unistdio.h. (line 70)
+* u8_asnprintf: unistdio.h. (line 73)
+* u8_asprintf: unistdio.h. (line 71)
* u8_casecmp: Case insensitive comparison.
- (line 51)
+ (line 54)
* u8_casecoll: Case insensitive comparison.
- (line 97)
+ (line 100)
* u8_casefold: Case insensitive comparison.
(line 9)
* u8_casexfrm: Case insensitive comparison.
- (line 74)
+ (line 77)
* u8_casing_prefixes_context: Case mappings of substrings.
(line 34)
* u8_casing_prefix_context: Case mappings of substrings.
@@ -6347,11 +6471,11 @@ Index
* u8_endswith: Searching for a substring.
(line 28)
* u8_grapheme_breaks: Grapheme cluster breaks in a string.
- (line 43)
+ (line 47)
* u8_grapheme_next: Grapheme cluster breaks in a string.
(line 9)
* u8_grapheme_prev: Grapheme cluster breaks in a string.
- (line 23)
+ (line 25)
* u8_is_cased: Case detection. (line 53)
* u8_is_casefolded: Case detection. (line 40)
* u8_is_lowercase: Case detection. (line 20)
@@ -6363,7 +6487,7 @@ Index
* u8_mbtoucr: Iterating. (line 47)
* u8_mbtouc_unsafe: Iterating. (line 37)
* u8_move: Copying Unicode strings.
- (line 19)
+ (line 31)
* u8_next: Iterating over a NUL terminated Unicode string.
(line 22)
* u8_normalize: Normalization of strings.
@@ -6374,13 +6498,15 @@ Index
(line 38)
* u8_normxfrm: Normalizing comparisons.
(line 22)
+* u8_pcpy: Copying Unicode strings.
+ (line 19)
* u8_possible_linebreaks: unilbrk.h. (line 46)
* u8_prev: Iterating over a NUL terminated Unicode string.
(line 32)
* u8_set: Copying Unicode strings.
- (line 33)
-* u8_snprintf: unistdio.h. (line 68)
-* u8_sprintf: unistdio.h. (line 67)
+ (line 45)
+* u8_snprintf: unistdio.h. (line 69)
+* u8_sprintf: unistdio.h. (line 68)
* u8_startswith: Searching for a substring.
(line 20)
* u8_stpcpy: Copying a NUL terminated Unicode string.
@@ -6392,9 +6518,9 @@ Index
* u8_strchr: Searching for a character in a NUL terminated Unicode string.
(line 8)
* u8_strcmp: Comparing NUL terminated Unicode strings.
- (line 8)
+ (line 9)
* u8_strcoll: Comparing NUL terminated Unicode strings.
- (line 18)
+ (line 19)
* u8_strconv_from_encoding: uniconv.h. (line 137)
* u8_strconv_from_locale: uniconv.h. (line 167)
* u8_strconv_to_encoding: uniconv.h. (line 150)
@@ -6413,7 +6539,7 @@ Index
* u8_strncat: Copying a NUL terminated Unicode string.
(line 64)
* u8_strncmp: Comparing NUL terminated Unicode strings.
- (line 33)
+ (line 34)
* u8_strncpy: Copying a NUL terminated Unicode string.
(line 29)
* u8_strnlen: Length. (line 16)
@@ -6437,20 +6563,20 @@ Index
(line 9)
* u8_to_u32: Elementary string conversions.
(line 16)
-* u8_u8_asnprintf: unistdio.h. (line 92)
-* u8_u8_asprintf: unistdio.h. (line 90)
-* u8_u8_snprintf: unistdio.h. (line 88)
-* u8_u8_sprintf: unistdio.h. (line 86)
-* u8_u8_vasnprintf: unistdio.h. (line 100)
-* u8_u8_vasprintf: unistdio.h. (line 98)
-* u8_u8_vsnprintf: unistdio.h. (line 96)
-* u8_u8_vsprintf: unistdio.h. (line 94)
+* u8_u8_asnprintf: unistdio.h. (line 93)
+* u8_u8_asprintf: unistdio.h. (line 91)
+* u8_u8_snprintf: unistdio.h. (line 89)
+* u8_u8_sprintf: unistdio.h. (line 87)
+* u8_u8_vasnprintf: unistdio.h. (line 101)
+* u8_u8_vasprintf: unistdio.h. (line 99)
+* u8_u8_vsnprintf: unistdio.h. (line 97)
+* u8_u8_vsprintf: unistdio.h. (line 95)
* u8_uctomb: Creating Unicode strings.
(line 9)
-* u8_vasnprintf: unistdio.h. (line 80)
-* u8_vasprintf: unistdio.h. (line 78)
-* u8_vsnprintf: unistdio.h. (line 76)
-* u8_vsprintf: unistdio.h. (line 74)
+* u8_vasnprintf: unistdio.h. (line 81)
+* u8_vasprintf: unistdio.h. (line 79)
+* u8_vsnprintf: unistdio.h. (line 77)
+* u8_vsprintf: unistdio.h. (line 75)
* u8_width: uniwidth.h. (line 27)
* u8_width_linebreaks: unilbrk.h. (line 63)
* u8_wordbreaks: Word breaks in a string.
@@ -6498,7 +6624,13 @@ Index
* uc_graphemeclusterbreak_property: Grapheme cluster break property.
(line 37)
* uc_grapheme_breaks: Grapheme cluster breaks in a string.
- (line 51)
+ (line 55)
+* uc_indic_conjunct_break: Indic conjunct break.
+ (line 32)
+* uc_indic_conjunct_break_byname: Indic conjunct break.
+ (line 23)
+* uc_indic_conjunct_break_name: Indic conjunct break.
+ (line 19)
* uc_is_alnum: Classifications like in ISO C.
(line 13)
* uc_is_alpha: Classifications like in ISO C.
@@ -6527,45 +6659,45 @@ Index
* uc_is_print: Classifications like in ISO C.
(line 40)
* uc_is_property: Properties as objects.
- (line 160)
+ (line 164)
* uc_is_property_alphabetic: Properties as functions.
(line 9)
* uc_is_property_ascii_hex_digit: Properties as functions.
- (line 80)
+ (line 82)
* uc_is_property_bidi_arabic_digit: Properties as functions.
- (line 66)
+ (line 68)
* uc_is_property_bidi_arabic_right_to_left: Properties as functions.
- (line 62)
+ (line 64)
* uc_is_property_bidi_block_separator: Properties as functions.
- (line 68)
+ (line 70)
* uc_is_property_bidi_boundary_neutral: Properties as functions.
- (line 72)
+ (line 74)
* uc_is_property_bidi_common_separator: Properties as functions.
- (line 67)
+ (line 69)
* uc_is_property_bidi_control: Properties as functions.
- (line 59)
+ (line 61)
* uc_is_property_bidi_embedding_or_override: Properties as functions.
- (line 74)
+ (line 76)
* uc_is_property_bidi_european_digit: Properties as functions.
- (line 63)
+ (line 65)
* uc_is_property_bidi_eur_num_separator: Properties as functions.
- (line 64)
+ (line 66)
* uc_is_property_bidi_eur_num_terminator: Properties as functions.
- (line 65)
+ (line 67)
* uc_is_property_bidi_hebrew_right_to_left: Properties as functions.
- (line 61)
+ (line 63)
* uc_is_property_bidi_left_to_right: Properties as functions.
- (line 60)
+ (line 62)
* uc_is_property_bidi_non_spacing_mark: Properties as functions.
- (line 71)
+ (line 73)
* uc_is_property_bidi_other_neutral: Properties as functions.
- (line 75)
+ (line 77)
* uc_is_property_bidi_pdf: Properties as functions.
- (line 73)
+ (line 75)
* uc_is_property_bidi_segment_separator: Properties as functions.
- (line 69)
+ (line 71)
* uc_is_property_bidi_whitespace: Properties as functions.
- (line 70)
+ (line 72)
* uc_is_property_cased: Properties as functions.
(line 29)
* uc_is_property_case_ignorable: Properties as functions.
@@ -6581,85 +6713,91 @@ Index
* uc_is_property_changes_when_uppercased: Properties as functions.
(line 32)
* uc_is_property_combining: Properties as functions.
- (line 119)
+ (line 124)
* uc_is_property_composite: Properties as functions.
- (line 120)
+ (line 125)
* uc_is_property_currency_symbol: Properties as functions.
- (line 114)
+ (line 119)
* uc_is_property_dash: Properties as functions.
- (line 106)
+ (line 111)
* uc_is_property_decimal_digit: Properties as functions.
- (line 121)
+ (line 126)
* uc_is_property_default_ignorable_code_point: Properties as functions.
(line 12)
* uc_is_property_deprecated: Properties as functions.
(line 16)
* uc_is_property_diacritic: Properties as functions.
- (line 123)
+ (line 128)
* uc_is_property_emoji: Properties as functions.
- (line 92)
+ (line 95)
* uc_is_property_emoji_component: Properties as functions.
- (line 96)
+ (line 99)
* uc_is_property_emoji_modifier: Properties as functions.
- (line 94)
+ (line 97)
* uc_is_property_emoji_modifier_base: Properties as functions.
- (line 95)
+ (line 98)
* uc_is_property_emoji_presentation: Properties as functions.
- (line 93)
+ (line 96)
* uc_is_property_extended_pictographic: Properties as functions.
- (line 97)
+ (line 100)
* uc_is_property_extender: Properties as functions.
- (line 124)
+ (line 129)
* uc_is_property_format_control: Properties as functions.
- (line 105)
+ (line 108)
* uc_is_property_grapheme_base: Properties as functions.
- (line 52)
+ (line 54)
* uc_is_property_grapheme_extend: Properties as functions.
- (line 53)
-* uc_is_property_grapheme_link: Properties as functions.
(line 55)
+* uc_is_property_grapheme_link: Properties as functions.
+ (line 57)
* uc_is_property_hex_digit: Properties as functions.
- (line 79)
+ (line 81)
* uc_is_property_hyphen: Properties as functions.
- (line 107)
+ (line 112)
* uc_is_property_ideographic: Properties as functions.
- (line 84)
+ (line 86)
* uc_is_property_ids_binary_operator: Properties as functions.
- (line 87)
+ (line 90)
* uc_is_property_ids_trinary_operator: Properties as functions.
- (line 88)
+ (line 91)
+* uc_is_property_ids_unary_operator: Properties as functions.
+ (line 89)
+* uc_is_property_id_compat_math_continue: Properties as functions.
+ (line 47)
+* uc_is_property_id_compat_math_start: Properties as functions.
+ (line 46)
* uc_is_property_id_continue: Properties as functions.
(line 42)
* uc_is_property_id_start: Properties as functions.
(line 40)
* uc_is_property_ignorable_control: Properties as functions.
- (line 125)
+ (line 130)
* uc_is_property_iso_control: Properties as functions.
- (line 104)
+ (line 107)
* uc_is_property_join_control: Properties as functions.
- (line 51)
+ (line 53)
* uc_is_property_left_of_pair: Properties as functions.
- (line 118)
+ (line 123)
* uc_is_property_line_separator: Properties as functions.
- (line 109)
+ (line 114)
* uc_is_property_logical_order_exception: Properties as functions.
(line 17)
* uc_is_property_lowercase: Properties as functions.
(line 26)
* uc_is_property_math: Properties as functions.
- (line 115)
+ (line 120)
* uc_is_property_non_break: Properties as functions.
- (line 103)
+ (line 106)
* uc_is_property_not_a_character: Properties as functions.
(line 11)
* uc_is_property_numeric: Properties as functions.
- (line 122)
+ (line 127)
* uc_is_property_other_alphabetic: Properties as functions.
(line 10)
* uc_is_property_other_default_ignorable_code_point: Properties as functions.
(line 14)
* uc_is_property_other_grapheme_extend: Properties as functions.
- (line 54)
+ (line 56)
* uc_is_property_other_id_continue: Properties as functions.
(line 43)
* uc_is_property_other_id_start: Properties as functions.
@@ -6667,41 +6805,43 @@ Index
* uc_is_property_other_lowercase: Properties as functions.
(line 27)
* uc_is_property_other_math: Properties as functions.
- (line 116)
+ (line 121)
* uc_is_property_other_uppercase: Properties as functions.
(line 25)
* uc_is_property_paired_punctuation: Properties as functions.
- (line 117)
+ (line 122)
* uc_is_property_paragraph_separator: Properties as functions.
- (line 110)
+ (line 115)
* uc_is_property_pattern_syntax: Properties as functions.
- (line 47)
+ (line 49)
* uc_is_property_pattern_white_space: Properties as functions.
- (line 46)
+ (line 48)
+* uc_is_property_prepended_concatenation_mark: Properties as functions.
+ (line 109)
* uc_is_property_private_use: Properties as functions.
(line 19)
* uc_is_property_punctuation: Properties as functions.
- (line 108)
+ (line 113)
* uc_is_property_quotation_mark: Properties as functions.
- (line 111)
+ (line 116)
* uc_is_property_radical: Properties as functions.
- (line 86)
+ (line 88)
* uc_is_property_regional_indicator: Properties as functions.
- (line 126)
+ (line 131)
* uc_is_property_sentence_terminal: Properties as functions.
- (line 112)
+ (line 117)
* uc_is_property_soft_dotted: Properties as functions.
(line 36)
* uc_is_property_space: Properties as functions.
- (line 102)
+ (line 105)
* uc_is_property_terminal_punctuation: Properties as functions.
- (line 113)
+ (line 118)
* uc_is_property_titlecase: Properties as functions.
(line 28)
* uc_is_property_unassigned_code_value: Properties as functions.
(line 20)
* uc_is_property_unified_ideograph: Properties as functions.
- (line 85)
+ (line 87)
* uc_is_property_uppercase: Properties as functions.
(line 24)
* uc_is_property_variation_selector: Properties as functions.
@@ -6713,7 +6853,7 @@ Index
* uc_is_property_xid_start: Properties as functions.
(line 44)
* uc_is_property_zero_width: Properties as functions.
- (line 101)
+ (line 104)
* uc_is_punct: Classifications like in ISO C.
(line 43)
* uc_is_script: Scripts. (line 30)
@@ -6737,9 +6877,9 @@ Index
* uc_mirror_char: Mirrored character. (line 13)
* uc_numeric_value: Numeric value. (line 21)
* uc_property_byname: Properties as objects.
- (line 138)
+ (line 142)
* uc_property_is_valid: Properties as objects.
- (line 153)
+ (line 157)
* uc_property_t: Properties as objects.
(line 8)
* uc_script: Scripts. (line 19)
@@ -6756,25 +6896,25 @@ Index
* uint16_t: unitypes.h. (line 9)
* uint32_t: unitypes.h. (line 10)
* uint8_t: unitypes.h. (line 8)
-* ulc_asnprintf: unistdio.h. (line 49)
-* ulc_asprintf: unistdio.h. (line 47)
+* ulc_asnprintf: unistdio.h. (line 50)
+* ulc_asprintf: unistdio.h. (line 48)
* ulc_casecmp: Case insensitive comparison.
- (line 60)
+ (line 63)
* ulc_casecoll: Case insensitive comparison.
- (line 106)
+ (line 109)
* ulc_casexfrm: Case insensitive comparison.
- (line 83)
-* ulc_fprintf: unistdio.h. (line 184)
+ (line 86)
+* ulc_fprintf: unistdio.h. (line 185)
* ulc_grapheme_breaks: Grapheme cluster breaks in a string.
- (line 49)
+ (line 53)
* ulc_possible_linebreaks: unilbrk.h. (line 52)
-* ulc_snprintf: unistdio.h. (line 44)
-* ulc_sprintf: unistdio.h. (line 42)
-* ulc_vasnprintf: unistdio.h. (line 61)
-* ulc_vasprintf: unistdio.h. (line 58)
-* ulc_vfprintf: unistdio.h. (line 185)
-* ulc_vsnprintf: unistdio.h. (line 55)
-* ulc_vsprintf: unistdio.h. (line 52)
+* ulc_snprintf: unistdio.h. (line 45)
+* ulc_sprintf: unistdio.h. (line 43)
+* ulc_vasnprintf: unistdio.h. (line 62)
+* ulc_vasprintf: unistdio.h. (line 59)
+* ulc_vfprintf: unistdio.h. (line 186)
+* ulc_vsnprintf: unistdio.h. (line 56)
+* ulc_vsprintf: unistdio.h. (line 53)
* ulc_width_linebreaks: unilbrk.h. (line 72)
* ulc_wordbreaks: Word breaks in a string.
(line 11)
@@ -6855,87 +6995,90 @@ Node: Unicode and i18n7937
Node: Locale encodings9599
Node: In-memory representation11864
Node: char * strings13862
-Node: Unicode strings19350
-Node: Conventions20533
-Node: unitypes.h22825
-Node: unistr.h23922
-Node: Elementary string checks24487
-Node: Elementary string conversions25109
-Node: Elementary string functions26987
-Node: Iterating27392
-Node: Creating Unicode strings30222
-Node: Copying Unicode strings31158
-Node: Comparing Unicode strings32771
-Node: Searching for a character34326
-Node: Counting characters35125
-Node: Elementary string functions with memory allocation35808
-Node: Elementary string functions on NUL terminated strings36430
-Node: Iterating over a NUL terminated Unicode string37029
-Node: Length39297
-Node: Copying a NUL terminated Unicode string40355
-Node: Comparing NUL terminated Unicode strings43459
-Node: Duplicating a NUL terminated Unicode string45555
-Node: Searching for a character in a NUL terminated Unicode string46324
-Node: Searching for a substring49088
-Node: Tokenizing50611
-Node: uniconv.h51484
-Node: unistdio.h59764
-Node: uniname.h68017
-Node: unictype.h69423
-Node: General category70351
-Node: Object oriented API71406
-Node: Bit mask API81247
-Node: Canonical combining class83542
-Node: Bidi class87777
-Node: Decimal digit value91572
-Node: Digit value92129
-Node: Numeric value92690
-Node: Mirrored character93592
-Node: Arabic shaping94285
-Node: Joining type94758
-Node: Joining group96908
-Node: Properties102720
-Node: Properties as objects103411
-Node: Properties as functions110892
-Node: Scripts117409
-Node: Blocks118814
-Node: ISO C and Java syntax120157
-Node: Classifications like in ISO C121875
-Node: uniwidth.h124687
-Node: unigbrk.h126733
-Node: Grapheme cluster breaks in a string128227
-Node: Grapheme cluster break property131246
-Node: uniwbrk.h133492
-Node: Word breaks in a string134030
-Node: Word break property135122
-Node: unilbrk.h136450
-Node: uninorm.h141002
-Node: Decomposition of characters141639
-Node: Composition of characters145420
-Node: Normalization of strings146133
-Node: Normalizing comparisons148306
-Node: Normalization of streams150804
-Node: unicase.h152929
-Node: Case mappings of characters153618
-Node: Case mappings of strings155767
-Node: Case mappings of substrings159406
-Node: Case insensitive comparison166676
-Node: Case detection172369
-Node: uniregex.h175683
-Node: Using the library175910
-Node: Installation176321
-Node: Compiler options176809
-Node: Include files178449
-Node: Autoconf macro179702
-Node: Reporting problems181343
-Node: More functionality182153
-Node: The wchar_t mess182605
-Node: The char32_t problem184955
-Node: Licenses187330
-Node: GNU GPL189803
-Node: GNU LGPL227552
-Node: GNU FDL236036
-Node: Index261347
+Node: Unicode strings19357
+Node: Conventions20540
+Ref: Conventions-Footnote-123718
+Node: unitypes.h23922
+Node: unistr.h25019
+Node: Elementary string checks25584
+Node: Elementary string conversions26206
+Node: Elementary string functions28084
+Node: Iterating28489
+Node: Creating Unicode strings31319
+Node: Copying Unicode strings32255
+Node: Comparing Unicode strings34331
+Node: Searching for a character35886
+Node: Counting characters36685
+Node: Elementary string functions with memory allocation37368
+Node: Elementary string functions on NUL terminated strings37990
+Node: Iterating over a NUL terminated Unicode string38589
+Node: Length40857
+Node: Copying a NUL terminated Unicode string41915
+Node: Comparing NUL terminated Unicode strings45019
+Node: Duplicating a NUL terminated Unicode string47162
+Node: Searching for a character in a NUL terminated Unicode string47931
+Node: Searching for a substring50695
+Node: Tokenizing52218
+Node: uniconv.h53091
+Node: unistdio.h61371
+Node: uniname.h69700
+Node: unictype.h71106
+Node: General category72055
+Node: Object oriented API73110
+Node: Bit mask API82951
+Node: Canonical combining class85246
+Node: Bidi class89481
+Node: Decimal digit value93276
+Node: Digit value93833
+Node: Numeric value94394
+Node: Mirrored character95296
+Node: Arabic shaping96510
+Node: Joining type96983
+Node: Joining group99133
+Node: Properties104945
+Node: Properties as objects105645
+Node: Properties as functions113379
+Node: Other attributes120183
+Node: Indic conjunct break120438
+Node: Scripts121729
+Node: Blocks123140
+Node: ISO C and Java syntax124483
+Node: Classifications like in ISO C126201
+Node: uniwidth.h129013
+Node: unigbrk.h131059
+Node: Grapheme cluster breaks in a string132553
+Node: Grapheme cluster break property135742
+Node: uniwbrk.h138068
+Node: Word breaks in a string138606
+Node: Word break property139698
+Node: unilbrk.h141026
+Node: uninorm.h145578
+Node: Decomposition of characters146215
+Node: Composition of characters149996
+Node: Normalization of strings150709
+Node: Normalizing comparisons152882
+Node: Normalization of streams155380
+Node: unicase.h157505
+Node: Case mappings of characters158194
+Node: Case mappings of strings160343
+Node: Case mappings of substrings163981
+Node: Case insensitive comparison171251
+Node: Case detection177089
+Node: uniregex.h180403
+Node: Using the library180630
+Node: Installation181041
+Node: Compiler options181529
+Node: Include files183169
+Node: Autoconf macro184809
+Node: Reporting problems186450
+Node: More functionality187260
+Node: The wchar_t mess187712
+Node: The char32_t problem190139
+Node: Licenses192514
+Node: GNU GPL194987
+Node: GNU LGPL232736
+Node: GNU FDL241220
+Node: Index266531

End Tag Table
diff --git a/doc/libunistring.texi b/doc/libunistring.texi
index 428e8c65..e55af90f 100644
--- a/doc/libunistring.texi
+++ b/doc/libunistring.texi
@@ -98,7 +98,7 @@ This manual is for GNU libunistring.
@ignore
@c This was: @copying but it triggers a makeinfo 4.13 bug
-Copyright (C) 2001-2022 Free Software Foundation, Inc.
+Copyright (C) 2001-2024 Free Software Foundation, Inc.
This manual is free documentation. It is dually licensed under the
GNU FDL and the GNU GPL. This means that you can redistribute this
@@ -129,7 +129,7 @@ A copy of the license is included in @ref{GNU GPL}.
@page
@vskip 0pt plus 1filll
@c @insertcopying
-Copyright (C) 2001-2022 Free Software Foundation, Inc.
+Copyright (C) 2001-2024 Free Software Foundation, Inc.
This manual is free documentation. It is dually licensed under the
GNU FDL and the GNU GPL. This means that you can redistribute this
@@ -609,7 +609,7 @@ number of screen columns of a string is requested.
gnulib has functions @func{mbschr} and @func{mbsrrchr} that are
like @posixfunc{strchr} and @posixfunc{strrchr}, but work in multibyte locales.
@item
-gnulib has a function @func{mbsstr}, like @posixfunc{strstr}, but works
+gnulib has a function @func{mbsstr} that is like @posixfunc{strstr}, but works
in multibyte locales.
@item
gnulib has functions @func{mbscspn}, @func{mbspbrk}, @func{mbsspn}
@@ -714,7 +714,10 @@ Variables of type @code{uint32_t *} denote UTF-32 strings, without byte
order mark. Their units are 4-byte words.
Argument pairs @code{(@var{s}, @var{n})} denote a string
-@code{@var{s}[0..@var{n}-1]} with exactly @var{n} units.
+@code{@var{s}[0..@var{n}-1]} with exactly @var{n} units.@footnote{A NUL
+unit as terminator is not needed, since the number of units is given by
+@var{n}. If some of the units of the string are NUL, they are just
+regular units; they are not interpreted as terminators.}
All functions with prefix @samp{ulc_} operate on C strings in locale
encoding.
@@ -754,6 +757,27 @@ is returned. In both cases, @code{*@var{lengthp}} is set to the
length (number of units) of the returned string. In case of error,
NULL is returned and @code{errno} is set.
+To invoke such a function:
+@itemize @bullet
+@item
+First ask yourself whether you want to accept the overhead of a
+@code{malloc} invocation even for a small-sized result.
+If yes, pass NULL as @var{resultbuf}.
+If no, allocate an array of units on the stack, typically between 50 and
+4000 bytes large; pass this array as @var{resultbuf}; and initialize
+@code{*@var{lengthp}} to the number of units of this array.
+@item
+Upon return from such a function, look at the return value:
+NULL means an error; look at the value of @code{errno} in this case.
+Otherwise, the return value is the result, with @code{*@var{lengthp}}
+units. Note that the function has @emph{not} added an extra NUL
+character at the end.
+@item
+Finally, do memory management. You know that the result was
+@code{malloc}-allocated if it is @code{!= NULL} and
+@code{!= @var{resultbuf}}.
+@end itemize
+
@include unitypes.texi
@include unistr.texi
@include uniconv.texi
@@ -840,14 +864,16 @@ version number of the libunistring library.
@deftypevr Macro int _LIBUNISTRING_VERSION
This constant contains the version of libunistring that is being used
-at compile time. It encodes the major and minor parts of the version
-number only. These parts are encoded in the form @code{(major<<8) + minor}.
+at compile time.
+It encodes the major, minor, and subminor parts of the version number.
+These parts are encoded in the form @code{(major<<16) + (minor<<8) + subminor}.
@end deftypevr
@deftypevr Constant int _libunistring_version
This constant contains the version of libunistring that is being used
-at run time. It encodes the major and minor parts of the version
-number only. These parts are encoded in the form @code{(major<<8) + minor}.
+at run time.
+It encodes the major, minor, and subminor parts of the version number.
+These parts are encoded in the form @code{(major<<16) + (minor<<8) + subminor}.
@end deftypevr
It is possible that @code{_libunistring_version} is greater than
@@ -856,6 +882,15 @@ It is possible that @code{_libunistring_version} is greater than
backward-compatible version has been installed after your program
that uses @code{libunistring} was installed.
+@code{<unistring/version.h>} also contains:
+
+@deftypevr Constant int _libunistring_unicode_version
+This constant contains the version of the Unicode standard that is
+implemented by libunistring.
+It encodes the major and minor parts of the version number only.
+These parts are encoded in the form @code{(major<<8) + minor}.
+@end deftypevr
+
@node Autoconf macro
@section Autoconf macro
diff --git a/doc/libunistring_1.html b/doc/libunistring_1.html
index c5bc673b..06fdb6e2 100644
--- a/doc/libunistring_1.html
+++ b/doc/libunistring_1.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -289,7 +289,7 @@ a significant amount of text processing, or when the program has multiple
threads operating on the same data but in different locales.
</li><li>
As &lsquo;<samp>wchar_t *</samp>&rsquo;, a.k.a. &ldquo;wide strings&rdquo;. This approach is misguided,
-see <a href="libunistring_18.html#SEC81">The <code>wchar_t</code> mess</a>.
+see <a href="libunistring_18.html#SEC83">The <code>wchar_t</code> mess</a>.
</li></ul>
<p>Of course, a &lsquo;<samp>char *</samp>&rsquo; string can, in some cases, be encoded in UTF-8.
@@ -387,7 +387,7 @@ number of screen columns of a string is requested.
gnulib has functions <code>mbschr</code> and <code>mbsrrchr</code> that are
like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a>, but work in multibyte locales.
</li><li>
-gnulib has a function <code>mbsstr</code>, like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a>, but works
+gnulib has a function <code>mbsstr</code> that is like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a>, but works
in multibyte locales.
</li><li>
gnulib has functions <code>mbscspn</code>, <code>mbspbrk</code>, <code>mbsspn</code>
@@ -437,7 +437,7 @@ to view case transformations as functions that operates on strings,
rather than on characters.
</li></ol>
-<p>This is implemented in this library, through the functions declared in <code>&lt;unicase.h&gt;</code>, see <a href="libunistring_14.html#SEC67">Case mappings <code>&lt;unicase.h&gt;</code></a>.
+<p>This is implemented in this library, through the functions declared in <code>&lt;unicase.h&gt;</code>, see <a href="libunistring_14.html#SEC69">Case mappings <code>&lt;unicase.h&gt;</code></a>.
</p>
<hr size="6">
<a name="Unicode-strings"></a>
@@ -486,12 +486,12 @@ zero-valued unit used as &ldquo;end marker&rdquo;.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_10.html b/doc/libunistring_10.html
index 911fd297..75a7888a 100644
--- a/doc/libunistring_10.html
+++ b/doc/libunistring_10.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_9.html#SEC53" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_9.html#SEC55" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_11.html#SEC59" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unigbrk_002eh"></a>
-<a name="SEC54"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a> </h1>
+<a name="SEC56"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC56">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a> </h1>
<p>This include file declares functions for determining where in a string
&ldquo;grapheme clusters&rdquo; start and end. A &ldquo;grapheme cluster&rdquo; is an
@@ -85,21 +85,21 @@ clusters.
<hr size="6">
<a name="Grapheme-cluster-breaks-in-a-string"></a>
-<a name="SEC55"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC55">10.1 Grapheme cluster breaks in a string</a> </h2>
+<a name="SEC57"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC57">10.1 Grapheme cluster breaks in a string</a> </h2>
<p>The following functions find a single boundary between grapheme
clusters in a string.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_grapheme_next</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, const&nbsp;uint8_t&nbsp;*<var>end</var>)</i>
-<a name="IDX769"></a>
+<a name="IDX787"></a>
</dt>
<dt><u>Function:</u> void <b>u16_grapheme_next</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, const&nbsp;uint16_t&nbsp;*<var>end</var>)</i>
-<a name="IDX770"></a>
+<a name="IDX788"></a>
</dt>
<dt><u>Function:</u> void <b>u32_grapheme_next</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, const&nbsp;uint32_t&nbsp;*<var>end</var>)</i>
-<a name="IDX771"></a>
+<a name="IDX789"></a>
</dt>
<dd><p>Returns the start of the next grapheme cluster following <var>s</var>,
or <var>end</var> if no grapheme cluster break is encountered before it.
@@ -107,19 +107,20 @@ Returns NULL if and only if <code><var>s</var> == <var>end</var></code>.
</p>
<p>Note that these functions do not handle the case when a character
outside of the range between <var>s</var> and <var>end</var> is needed to
-determine the boundary. Use <code>_grapheme_breaks</code> functions for such
-cases.
+determine the boundary.
+This is the case in particular with syllables in Indic scripts or emojis.
+Use <code>_grapheme_breaks</code> functions for such cases.
</p></dd></dl>
<dl>
<dt><u>Function:</u> void <b>u8_grapheme_prev</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, const&nbsp;uint8_t&nbsp;*<var>start</var>)</i>
-<a name="IDX772"></a>
+<a name="IDX790"></a>
</dt>
<dt><u>Function:</u> void <b>u16_grapheme_prev</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, const&nbsp;uint16_t&nbsp;*<var>start</var>)</i>
-<a name="IDX773"></a>
+<a name="IDX791"></a>
</dt>
<dt><u>Function:</u> void <b>u32_grapheme_prev</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, const&nbsp;uint32_t&nbsp;*<var>start</var>)</i>
-<a name="IDX774"></a>
+<a name="IDX792"></a>
</dt>
<dd><p>Returns the start of the grapheme cluster preceding <var>s</var>, or
<var>start</var> if no grapheme cluster break is encountered before it.
@@ -127,8 +128,9 @@ Returns NULL if and only if <code><var>s</var> == <var>start</var></code>.
</p>
<p>Note that these functions do not handle the case when a character
outside of the range between <var>start</var> and <var>s</var> is needed to
-determine the boundary. Use <code>_grapheme_breaks</code> functions for such
-cases.
+determine the boundary.
+This is the case in particular with syllables in Indic scripts or emojis.
+Use <code>_grapheme_breaks</code> functions for such cases.
</p>
<p>Note also that these functions work only on well-formed Unicode strings.
</p></dd></dl>
@@ -138,19 +140,19 @@ boundaries in a string.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_grapheme_breaks</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX775"></a>
+<a name="IDX793"></a>
</dt>
<dt><u>Function:</u> void <b>u16_grapheme_breaks</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX776"></a>
+<a name="IDX794"></a>
</dt>
<dt><u>Function:</u> void <b>u32_grapheme_breaks</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX777"></a>
+<a name="IDX795"></a>
</dt>
<dt><u>Function:</u> void <b>ulc_grapheme_breaks</b><i> (const&nbsp;char&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX778"></a>
+<a name="IDX796"></a>
</dt>
<dt><u>Function:</u> void <b>uc_grapheme_breaks</b><i> (const&nbsp;ucs_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX779"></a>
+<a name="IDX797"></a>
</dt>
<dd><p>Determines the grapheme cluster break points in <var>s</var>, an array of
<var>n</var> units, and stores the result at <code><var>p</var>[0..<var>nx</var>-1]</code>.
@@ -177,8 +179,8 @@ characters.
<hr size="6">
<a name="Grapheme-cluster-break-property"></a>
-<a name="SEC56"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC56">10.2 Grapheme cluster break property</a> </h2>
+<a name="SEC58"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC58">10.2 Grapheme cluster break property</a> </h2>
<p>This is a more low-level API. The grapheme cluster break property is a
property defined in Unicode Standard Annex #29, section &ldquo;Grapheme Cluster
@@ -191,58 +193,58 @@ property. More values may be added in the future.
</p>
<dl>
<dt><u>Constant:</u> int <b>GBP_OTHER</b>
-<a name="IDX780"></a>
+<a name="IDX798"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_CR</b>
-<a name="IDX781"></a>
+<a name="IDX799"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LF</b>
-<a name="IDX782"></a>
+<a name="IDX800"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_CONTROL</b>
-<a name="IDX783"></a>
+<a name="IDX801"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EXTEND</b>
-<a name="IDX784"></a>
+<a name="IDX802"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_PREPEND</b>
-<a name="IDX785"></a>
+<a name="IDX803"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_SPACINGMARK</b>
-<a name="IDX786"></a>
+<a name="IDX804"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_L</b>
-<a name="IDX787"></a>
+<a name="IDX805"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_V</b>
-<a name="IDX788"></a>
+<a name="IDX806"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_T</b>
-<a name="IDX789"></a>
+<a name="IDX807"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LV</b>
-<a name="IDX790"></a>
+<a name="IDX808"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LVT</b>
-<a name="IDX791"></a>
+<a name="IDX809"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_RI</b>
-<a name="IDX792"></a>
+<a name="IDX810"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_ZWJ</b>
-<a name="IDX793"></a>
+<a name="IDX811"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EB</b>
-<a name="IDX794"></a>
+<a name="IDX812"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EM</b>
-<a name="IDX795"></a>
+<a name="IDX813"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_GAZ</b>
-<a name="IDX796"></a>
+<a name="IDX814"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EBG</b>
-<a name="IDX797"></a>
+<a name="IDX815"></a>
</dt>
</dl>
@@ -251,7 +253,7 @@ character.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_graphemeclusterbreak_property</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX798"></a>
+<a name="IDX816"></a>
</dt>
<dd><p>Returns the Grapheme_Cluster_Break property of a Unicode character.
</p></dd></dl>
@@ -262,7 +264,7 @@ the higher-level functions in the previous section are directly based.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_grapheme_break</b><i> (ucs4_t&nbsp;<var>a</var>, ucs4_t&nbsp;<var>b</var>)</i>
-<a name="IDX799"></a>
+<a name="IDX817"></a>
</dt>
<dd><p>Returns true if there is an grapheme cluster boundary between Unicode
characters <var>a</var> and <var>b</var>.
@@ -276,13 +278,14 @@ described in the Unicode standard, because the standard says that they
are preferred.
</p>
<p>Note that this function does not handle the case when three or more
-consecutive characters are needed to determine the boundary. Use
-<code>uc_grapheme_breaks</code> for such cases.
+consecutive characters are needed to determine the boundary.
+This is the case in particular with syllables in Indic scripts or emojis.
+Use <code>uc_grapheme_breaks</code> for such cases.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="#SEC56" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_11.html#SEC59" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -290,12 +293,12 @@ consecutive characters are needed to determine the boundary. Use
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_11.html b/doc/libunistring_11.html
index 6b65729b..103d51d9 100644
--- a/doc/libunistring_11.html
+++ b/doc/libunistring_11.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_10.html#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_12.html#SEC60" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_10.html#SEC56" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_12.html#SEC62" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniwbrk_002eh"></a>
-<a name="SEC57"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a> </h1>
+<a name="SEC59"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC59">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a> </h1>
<p>This include file declares functions for determining where in a string
&ldquo;words&rdquo; start and end. Here &ldquo;words&rdquo; are not necessarily the same as
@@ -69,23 +69,23 @@ operations.
<hr size="6">
<a name="Word-breaks-in-a-string"></a>
-<a name="SEC58"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC58">11.1 Word breaks in a string</a> </h2>
+<a name="SEC60"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC60">11.1 Word breaks in a string</a> </h2>
<p>The following functions determine the word breaks in a string.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_wordbreaks</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX800"></a>
+<a name="IDX818"></a>
</dt>
<dt><u>Function:</u> void <b>u16_wordbreaks</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX801"></a>
+<a name="IDX819"></a>
</dt>
<dt><u>Function:</u> void <b>u32_wordbreaks</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX802"></a>
+<a name="IDX820"></a>
</dt>
<dt><u>Function:</u> void <b>ulc_wordbreaks</b><i> (const&nbsp;char&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX803"></a>
+<a name="IDX821"></a>
</dt>
<dd><p>Determines the word break points in <var>s</var>, an array of <var>n</var> units, and
stores the result at <code><var>p</var>[0..<var>n</var>-1]</code>.
@@ -106,8 +106,8 @@ word break to be present at the beginning of the string (before
<hr size="6">
<a name="Word-break-property"></a>
-<a name="SEC59"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC59">11.2 Word break property</a> </h2>
+<a name="SEC61"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC61">11.2 Word break property</a> </h2>
<p>This is a more low-level API. The word break property is a property defined
in Unicode Standard Annex #29, section &ldquo;Word Boundaries&rdquo;, see
@@ -119,70 +119,70 @@ may be added in the future.
</p>
<dl>
<dt><u>Constant:</u> int <b>WBP_OTHER</b>
-<a name="IDX804"></a>
+<a name="IDX822"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_CR</b>
-<a name="IDX805"></a>
+<a name="IDX823"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_LF</b>
-<a name="IDX806"></a>
+<a name="IDX824"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_NEWLINE</b>
-<a name="IDX807"></a>
+<a name="IDX825"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EXTEND</b>
-<a name="IDX808"></a>
+<a name="IDX826"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_FORMAT</b>
-<a name="IDX809"></a>
+<a name="IDX827"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_KATAKANA</b>
-<a name="IDX810"></a>
+<a name="IDX828"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_ALETTER</b>
-<a name="IDX811"></a>
+<a name="IDX829"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDNUMLET</b>
-<a name="IDX812"></a>
+<a name="IDX830"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDLETTER</b>
-<a name="IDX813"></a>
+<a name="IDX831"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDNUM</b>
-<a name="IDX814"></a>
+<a name="IDX832"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_NUMERIC</b>
-<a name="IDX815"></a>
+<a name="IDX833"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EXTENDNUMLET</b>
-<a name="IDX816"></a>
+<a name="IDX834"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_RI</b>
-<a name="IDX817"></a>
+<a name="IDX835"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_DQ</b>
-<a name="IDX818"></a>
+<a name="IDX836"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_SQ</b>
-<a name="IDX819"></a>
+<a name="IDX837"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_HL</b>
-<a name="IDX820"></a>
+<a name="IDX838"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_ZWJ</b>
-<a name="IDX821"></a>
+<a name="IDX839"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EB</b>
-<a name="IDX822"></a>
+<a name="IDX840"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EM</b>
-<a name="IDX823"></a>
+<a name="IDX841"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_GAZ</b>
-<a name="IDX824"></a>
+<a name="IDX842"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EBG</b>
-<a name="IDX825"></a>
+<a name="IDX843"></a>
</dt>
</dl>
@@ -190,14 +190,14 @@ may be added in the future.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_wordbreak_property</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX826"></a>
+<a name="IDX844"></a>
</dt>
<dd><p>Returns the Word_Break property of a Unicode character.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="#SEC57" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_12.html#SEC60" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="#SEC59" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_12.html#SEC62" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -205,12 +205,12 @@ may be added in the future.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_12.html b/doc/libunistring_12.html
index 07d78326..646f636c 100644
--- a/doc/libunistring_12.html
+++ b/doc/libunistring_12.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_13.html#SEC61" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC59" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_13.html#SEC63" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unilbrk_002eh"></a>
-<a name="SEC60"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a> </h1>
+<a name="SEC62"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a> </h1>
<p>This include file declares functions for determining where in a string
line breaks could or should be introduced, in order to make the displayed
@@ -74,14 +74,14 @@ following meanings:
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_MANDATORY</b>
-<a name="IDX827"></a>
+<a name="IDX845"></a>
</dt>
<dd><p>This value indicates that <code><var>s</var>[<var>i</var>]</code> is a line break character.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_CR_BEFORE_LF</b>
-<a name="IDX828"></a>
+<a name="IDX846"></a>
</dt>
<dd><p>This value is a variant of <code>UC_BREAK_MANDATORY</code>. It indicates that
<code><var>s</var>[<var>i</var>]</code> is a CR character and that <code><var>s</var>[<var>i+1</var>]</code>
@@ -90,7 +90,7 @@ is a LF character.
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_POSSIBLE</b>
-<a name="IDX829"></a>
+<a name="IDX847"></a>
</dt>
<dd><p>This value indicates that a line break may be inserted between
<code><var>s</var>[<var>i</var>-1]</code> and <code><var>s</var>[<var>i</var>]</code>.
@@ -98,7 +98,7 @@ is a LF character.
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_HYPHENATION</b>
-<a name="IDX830"></a>
+<a name="IDX848"></a>
</dt>
<dd><p>This value indicates that a hyphen and a line break may be inserted between
<code><var>s</var>[<var>i</var>-1]</code> and <code><var>s</var>[<var>i</var>]</code>. But beware of language
@@ -107,7 +107,7 @@ dependent hyphenation rules.
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_PROHIBITED</b>
-<a name="IDX831"></a>
+<a name="IDX849"></a>
</dt>
<dd><p>This value indicates that <code><var>s</var>[<var>i</var>-1]</code> and <code><var>s</var>[<var>i</var>]</code>
must not be separated.
@@ -115,7 +115,7 @@ must not be separated.
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_UNDEFINED</b>
-<a name="IDX832"></a>
+<a name="IDX850"></a>
</dt>
<dd><p>This value is not used as a return value; rather, in the overriding argument of
the <code>u*_width_linebreaks</code> functions, it indicates the absence of an
@@ -127,16 +127,16 @@ possible.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_possible_linebreaks</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX833"></a>
+<a name="IDX851"></a>
</dt>
<dt><u>Function:</u> void <b>u16_possible_linebreaks</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX834"></a>
+<a name="IDX852"></a>
</dt>
<dt><u>Function:</u> void <b>u32_possible_linebreaks</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX835"></a>
+<a name="IDX853"></a>
</dt>
<dt><u>Function:</u> void <b>ulc_possible_linebreaks</b><i> (const&nbsp;char&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX836"></a>
+<a name="IDX854"></a>
</dt>
<dd><p>Determines the line break points in <var>s</var>, and stores the result at
<code><var>p</var>[0..<var>n</var>-1]</code>. Every <code><var>p</var>[<var>i</var>]</code> is assigned one of
@@ -151,19 +151,19 @@ non-proportional fonts.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_width_linebreaks</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, int&nbsp;<var>width</var>, int&nbsp;<var>start_column</var>, int&nbsp;<var>at_end_columns</var>, const&nbsp;char&nbsp;*<var>override</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX837"></a>
+<a name="IDX855"></a>
</dt>
<dt><u>Function:</u> int <b>u16_width_linebreaks</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, int&nbsp;<var>width</var>, int&nbsp;<var>start_column</var>, int&nbsp;<var>at_end_columns</var>, const&nbsp;char&nbsp;*<var>override</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX838"></a>
+<a name="IDX856"></a>
</dt>
<dt><u>Function:</u> int <b>u32_width_linebreaks</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, int&nbsp;<var>width</var>, int&nbsp;<var>start_column</var>, int&nbsp;<var>at_end_columns</var>, const&nbsp;char&nbsp;*<var>override</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX839"></a>
+<a name="IDX857"></a>
</dt>
<dt><u>Function:</u> int <b>ulc_width_linebreaks</b><i> (const&nbsp;char&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, int&nbsp;<var>width</var>, int&nbsp;<var>start_column</var>, int&nbsp;<var>at_end_columns</var>, const&nbsp;char&nbsp;*<var>override</var>, const&nbsp;char&nbsp;*<var>encoding</var>, char&nbsp;*<var>p</var>)</i>
-<a name="IDX840"></a>
+<a name="IDX858"></a>
</dt>
<dd><p>Chooses the best line breaks, assuming that every character occupies a width
-given by the <code>uc_width</code> function (see <a href="libunistring_9.html#SEC53">Display width <code>&lt;uniwidth.h&gt;</code></a>).
+given by the <code>uc_width</code> function (see <a href="libunistring_9.html#SEC55">Display width <code>&lt;uniwidth.h&gt;</code></a>).
</p>
<p>The string is <code><var>s</var>[0..<var>n</var>-1]</code>.
</p>
@@ -188,8 +188,8 @@ that a line break <em>should</em> be inserted.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_13.html#SEC61" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC59" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_13.html#SEC63" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -197,12 +197,12 @@ that a line break <em>should</em> be inserted.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_13.html b/doc/libunistring_13.html
index 03773a77..a7a009af 100644
--- a/doc/libunistring_13.html
+++ b/doc/libunistring_13.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_12.html#SEC60" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_12.html#SEC62" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_14.html#SEC69" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uninorm_002eh"></a>
-<a name="SEC61"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a> </h1>
+<a name="SEC63"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC63">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a> </h1>
<p>This include file defines functions for transforming Unicode strings to one
of the four normal forms, known as NFC, NFD, NKFC, NFKD. These
@@ -68,29 +68,29 @@ of Unicode characters.
<hr size="6">
<a name="Decomposition-of-characters"></a>
-<a name="SEC62"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC62">13.1 Decomposition of Unicode characters</a> </h2>
+<a name="SEC64"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC64">13.1 Decomposition of Unicode characters</a> </h2>
<p>The following enumerated values are the possible types of decomposition of a
Unicode character.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_CANONICAL</b>
-<a name="IDX841"></a>
+<a name="IDX859"></a>
</dt>
<dd><p>Denotes canonical decomposition.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_FONT</b>
-<a name="IDX842"></a>
+<a name="IDX860"></a>
</dt>
<dd><p>UCD marker: <code>&lt;font&gt;</code>. Denotes a font variant (e.g. a blackletter form).
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_NOBREAK</b>
-<a name="IDX843"></a>
+<a name="IDX861"></a>
</dt>
<dd><p>UCD marker: <code>&lt;noBreak&gt;</code>.
Denotes a no-break version of a space or hyphen.
@@ -98,7 +98,7 @@ Denotes a no-break version of a space or hyphen.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_INITIAL</b>
-<a name="IDX844"></a>
+<a name="IDX862"></a>
</dt>
<dd><p>UCD marker: <code>&lt;initial&gt;</code>.
Denotes an initial presentation form (Arabic).
@@ -106,7 +106,7 @@ Denotes an initial presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_MEDIAL</b>
-<a name="IDX845"></a>
+<a name="IDX863"></a>
</dt>
<dd><p>UCD marker: <code>&lt;medial&gt;</code>.
Denotes a medial presentation form (Arabic).
@@ -114,7 +114,7 @@ Denotes a medial presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_FINAL</b>
-<a name="IDX846"></a>
+<a name="IDX864"></a>
</dt>
<dd><p>UCD marker: <code>&lt;final&gt;</code>.
Denotes a final presentation form (Arabic).
@@ -122,7 +122,7 @@ Denotes a final presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_ISOLATED</b>
-<a name="IDX847"></a>
+<a name="IDX865"></a>
</dt>
<dd><p>UCD marker: <code>&lt;isolated&gt;</code>.
Denotes an isolated presentation form (Arabic).
@@ -130,7 +130,7 @@ Denotes an isolated presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_CIRCLE</b>
-<a name="IDX848"></a>
+<a name="IDX866"></a>
</dt>
<dd><p>UCD marker: <code>&lt;circle&gt;</code>.
Denotes an encircled form.
@@ -138,7 +138,7 @@ Denotes an encircled form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SUPER</b>
-<a name="IDX849"></a>
+<a name="IDX867"></a>
</dt>
<dd><p>UCD marker: <code>&lt;super&gt;</code>.
Denotes a superscript form.
@@ -146,7 +146,7 @@ Denotes a superscript form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SUB</b>
-<a name="IDX850"></a>
+<a name="IDX868"></a>
</dt>
<dd><p>UCD marker: <code>&lt;sub&gt;</code>.
Denotes a subscript form.
@@ -154,7 +154,7 @@ Denotes a subscript form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_VERTICAL</b>
-<a name="IDX851"></a>
+<a name="IDX869"></a>
</dt>
<dd><p>UCD marker: <code>&lt;vertical&gt;</code>.
Denotes a vertical layout presentation form.
@@ -162,7 +162,7 @@ Denotes a vertical layout presentation form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_WIDE</b>
-<a name="IDX852"></a>
+<a name="IDX870"></a>
</dt>
<dd><p>UCD marker: <code>&lt;wide&gt;</code>.
Denotes a wide (or zenkaku) compatibility character.
@@ -170,7 +170,7 @@ Denotes a wide (or zenkaku) compatibility character.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_NARROW</b>
-<a name="IDX853"></a>
+<a name="IDX871"></a>
</dt>
<dd><p>UCD marker: <code>&lt;narrow&gt;</code>.
Denotes a narrow (or hankaku) compatibility character.
@@ -178,7 +178,7 @@ Denotes a narrow (or hankaku) compatibility character.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SMALL</b>
-<a name="IDX854"></a>
+<a name="IDX872"></a>
</dt>
<dd><p>UCD marker: <code>&lt;small&gt;</code>.
Denotes a small variant form (CNS compatibility).
@@ -186,7 +186,7 @@ Denotes a small variant form (CNS compatibility).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SQUARE</b>
-<a name="IDX855"></a>
+<a name="IDX873"></a>
</dt>
<dd><p>UCD marker: <code>&lt;square&gt;</code>.
Denotes a CJK squared font variant.
@@ -194,7 +194,7 @@ Denotes a CJK squared font variant.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_FRACTION</b>
-<a name="IDX856"></a>
+<a name="IDX874"></a>
</dt>
<dd><p>UCD marker: <code>&lt;fraction&gt;</code>.
Denotes a vulgar fraction form.
@@ -202,7 +202,7 @@ Denotes a vulgar fraction form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_COMPAT</b>
-<a name="IDX857"></a>
+<a name="IDX875"></a>
</dt>
<dd><p>UCD marker: <code>&lt;compat&gt;</code>.
Denotes an otherwise unspecified compatibility character.
@@ -213,7 +213,7 @@ Unicode character.
</p>
<dl>
<dt><u>Macro:</u> unsigned int <b>UC_DECOMPOSITION_MAX_LENGTH</b>
-<a name="IDX858"></a>
+<a name="IDX876"></a>
</dt>
<dd><p>This macro expands to a constant that is the required size of buffer passed to
the <code>uc_decomposition</code> and <code>uc_canonical_decomposition</code> functions.
@@ -223,7 +223,7 @@ the <code>uc_decomposition</code> and <code>uc_canonical_decomposition</code> fu
</p>
<dl>
<dt><u>Function:</u> int <b>uc_decomposition</b><i> (ucs4_t&nbsp;<var>uc</var>, int&nbsp;*<var>decomp_tag</var>, ucs4_t&nbsp;*<var>decomposition</var>)</i>
-<a name="IDX859"></a>
+<a name="IDX877"></a>
</dt>
<dd><p>Returns the character decomposition mapping of the Unicode character <var>uc</var>.
<var>decomposition</var> must point to an array of at least
@@ -236,7 +236,7 @@ returned.
<dl>
<dt><u>Function:</u> int <b>uc_canonical_decomposition</b><i> (ucs4_t&nbsp;<var>uc</var>, ucs4_t&nbsp;*<var>decomposition</var>)</i>
-<a name="IDX860"></a>
+<a name="IDX878"></a>
</dt>
<dd><p>Returns the canonical character decomposition mapping of the Unicode character
<var>uc</var>. <var>decomposition</var> must point to an array of at least
@@ -253,15 +253,15 @@ function <code>u*_normalize</code> with argument <code>UNINORM_NFD</code> instea
<hr size="6">
<a name="Composition-of-characters"></a>
-<a name="SEC63"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC63">13.2 Composition of Unicode characters</a> </h2>
+<a name="SEC65"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC65">13.2 Composition of Unicode characters</a> </h2>
<p>The following function composes a Unicode character from two Unicode
characters.
</p>
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_composition</b><i> (ucs4_t&nbsp;<var>uc1</var>, ucs4_t&nbsp;<var>uc2</var>)</i>
-<a name="IDX861"></a>
+<a name="IDX879"></a>
</dt>
<dd><p>Attempts to combine the Unicode characters <var>uc1</var>, <var>uc2</var>.
<var>uc1</var> is known to have canonical combining class 0.
@@ -275,15 +275,15 @@ file &lsquo;<tt>CompositionExclusions.txt</tt>&rsquo; for details.
<hr size="6">
<a name="Normalization-of-strings"></a>
-<a name="SEC64"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC64">13.3 Normalization of strings</a> </h2>
+<a name="SEC66"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC66">13.3 Normalization of strings</a> </h2>
<p>The Unicode standard defines four normalization forms for Unicode strings.
The following type is used to denote a normalization form.
</p>
<dl>
<dt><u>Type:</u> <b>uninorm_t</b>
-<a name="IDX862"></a>
+<a name="IDX880"></a>
</dt>
<dd><p>An object of type <code>uninorm_t</code> denotes a Unicode normalization form.
This is a scalar type; its values can be compared with <code>==</code>.
@@ -293,28 +293,28 @@ This is a scalar type; its values can be compared with <code>==</code>.
</p>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFD</b>
-<a name="IDX863"></a>
+<a name="IDX881"></a>
</dt>
<dd><p>Denotes Normalization form D: canonical decomposition.
</p></dd></dl>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFC</b>
-<a name="IDX864"></a>
+<a name="IDX882"></a>
</dt>
<dd><p>Normalization form C: canonical decomposition, then canonical composition.
</p></dd></dl>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFKD</b>
-<a name="IDX865"></a>
+<a name="IDX883"></a>
</dt>
<dd><p>Normalization form KD: compatibility decomposition.
</p></dd></dl>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFKC</b>
-<a name="IDX866"></a>
+<a name="IDX884"></a>
</dt>
<dd><p>Normalization form KC: compatibility decomposition, then canonical composition.
</p></dd></dl>
@@ -323,21 +323,21 @@ This is a scalar type; its values can be compared with <code>==</code>.
</p>
<dl>
<dt><u>Function:</u> bool <b>uninorm_is_compat_decomposing</b><i> (uninorm_t&nbsp;<var>nf</var>)</i>
-<a name="IDX867"></a>
+<a name="IDX885"></a>
</dt>
<dd><p>Tests whether the normalization form <var>nf</var> does compatibility decomposition.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uninorm_is_composing</b><i> (uninorm_t&nbsp;<var>nf</var>)</i>
-<a name="IDX868"></a>
+<a name="IDX886"></a>
</dt>
<dd><p>Tests whether the normalization form <var>nf</var> includes canonical composition.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uninorm_t <b>uninorm_decomposing_form</b><i> (uninorm_t&nbsp;<var>nf</var>)</i>
-<a name="IDX869"></a>
+<a name="IDX887"></a>
</dt>
<dd><p>Returns the decomposing variant of the normalization form <var>nf</var>.
This maps NFC,NFD → NFD and NFKC,NFKD → NFKD.
@@ -347,13 +347,13 @@ This maps NFC,NFD → NFD and NFKC,NFKD → NFKD.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_normalize</b><i> (uninorm_t&nbsp;<var>nf</var>, const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX870"></a>
+<a name="IDX888"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_normalize</b><i> (uninorm_t&nbsp;<var>nf</var>, const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX871"></a>
+<a name="IDX889"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_normalize</b><i> (uninorm_t&nbsp;<var>nf</var>, const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX872"></a>
+<a name="IDX890"></a>
</dt>
<dd><p>Returns the specified normalization form of a string.
</p>
@@ -363,21 +363,21 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<hr size="6">
<a name="Normalizing-comparisons"></a>
-<a name="SEC65"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC65">13.4 Normalizing comparisons</a> </h2>
+<a name="SEC67"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC67">13.4 Normalizing comparisons</a> </h2>
<p>The following functions compare Unicode string, ignoring differences in
normalization.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_normcmp</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX873"></a>
+<a name="IDX891"></a>
</dt>
<dt><u>Function:</u> int <b>u16_normcmp</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX874"></a>
+<a name="IDX892"></a>
</dt>
<dt><u>Function:</u> int <b>u32_normcmp</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX875"></a>
+<a name="IDX893"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in normalization.
</p>
@@ -388,17 +388,17 @@ normalization.
Upon failure, returns -1 with <code>errno</code> set.
</p></dd></dl>
-<a name="IDX876"></a>
-<a name="IDX877"></a>
+<a name="IDX894"></a>
+<a name="IDX895"></a>
<dl>
<dt><u>Function:</u> char * <b>u8_normxfrm</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX878"></a>
+<a name="IDX896"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_normxfrm</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX879"></a>
+<a name="IDX897"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_normxfrm</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX880"></a>
+<a name="IDX898"></a>
</dt>
<dd><p>Converts the string <var>s</var> of length <var>n</var> to a NUL-terminated byte
sequence, in such a way that comparing <code>u8_normxfrm (<var>s1</var>)</code> and
@@ -413,13 +413,13 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> int <b>u8_normcoll</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX881"></a>
+<a name="IDX899"></a>
</dt>
<dt><u>Function:</u> int <b>u16_normcoll</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX882"></a>
+<a name="IDX900"></a>
</dt>
<dt><u>Function:</u> int <b>u32_normcoll</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX883"></a>
+<a name="IDX901"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in normalization, using
the collation rules of the current locale.
@@ -433,8 +433,8 @@ Upon failure, returns -1 with <code>errno</code> set.
<hr size="6">
<a name="Normalization-of-streams"></a>
-<a name="SEC66"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC66">13.5 Normalization of streams of Unicode characters</a> </h2>
+<a name="SEC68"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC68">13.5 Normalization of streams of Unicode characters</a> </h2>
<p>A &ldquo;stream of Unicode characters&rdquo; is essentially a function that accepts an
<code>ucs4_t</code> argument repeatedly, optionally combined with a function that
@@ -442,7 +442,7 @@ Upon failure, returns -1 with <code>errno</code> set.
</p>
<dl>
<dt><u>Type:</u> <b>struct uninorm_filter</b>
-<a name="IDX884"></a>
+<a name="IDX902"></a>
</dt>
<dd><p>This is the data type of a stream of Unicode characters that normalizes its
input according to a given normalization form and passes the normalized
@@ -451,7 +451,7 @@ character sequence to the encapsulated stream of Unicode characters.
<dl>
<dt><u>Function:</u> struct uninorm_filter * <b>uninorm_filter_create</b><i> (uninorm_t&nbsp;<var>nf</var>, int&nbsp;(*<var>stream_func</var>)&nbsp;(void&nbsp;*<var>stream_data</var>, ucs4_t&nbsp;<var>uc</var>), void&nbsp;*<var>stream_data</var>)</i>
-<a name="IDX885"></a>
+<a name="IDX903"></a>
</dt>
<dd><p>Creates and returns a normalization filter for Unicode characters.
</p>
@@ -465,7 +465,7 @@ upon failure.
<dl>
<dt><u>Function:</u> int <b>uninorm_filter_write</b><i> (struct&nbsp;uninorm_filter&nbsp;*<var>filter</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX886"></a>
+<a name="IDX904"></a>
</dt>
<dd><p>Stuffs a Unicode character into a normalizing filter.
Returns 0 if successful, or -1 with <code>errno</code> set upon failure.
@@ -473,7 +473,7 @@ Returns 0 if successful, or -1 with <code>errno</code> set upon failure.
<dl>
<dt><u>Function:</u> int <b>uninorm_filter_flush</b><i> (struct&nbsp;uninorm_filter&nbsp;*<var>filter</var>)</i>
-<a name="IDX887"></a>
+<a name="IDX905"></a>
</dt>
<dd><p>Brings data buffered in the filter to its destination, the encapsulated stream.
</p>
@@ -486,7 +486,7 @@ will not necessarily be normalized.
<dl>
<dt><u>Function:</u> int <b>uninorm_filter_free</b><i> (struct&nbsp;uninorm_filter&nbsp;*<var>filter</var>)</i>
-<a name="IDX888"></a>
+<a name="IDX906"></a>
</dt>
<dd><p>Brings data buffered in the filter to its destination, the encapsulated stream,
then closes and frees the filter.
@@ -495,8 +495,8 @@ then closes and frees the filter.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="#SEC63" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_14.html#SEC69" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -504,12 +504,12 @@ then closes and frees the filter.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_14.html b/doc/libunistring_14.html
index 04f1130e..b47c2c3f 100644
--- a/doc/libunistring_14.html
+++ b/doc/libunistring_14.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_13.html#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_15.html#SEC73" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_13.html#SEC63" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_15.html#SEC75" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unicase_002eh"></a>
-<a name="SEC67"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC67">14. Case mappings <code>&lt;unicase.h&gt;</code></a> </h1>
+<a name="SEC69"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC69">14. Case mappings <code>&lt;unicase.h&gt;</code></a> </h1>
<p>This include file defines functions for case mapping for Unicode strings and
case insensitive comparison of Unicode strings and C strings.
@@ -71,8 +71,8 @@ Greek sigma and the Lithuanian i correctly.
<hr size="6">
<a name="Case-mappings-of-characters"></a>
-<a name="SEC68"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC68">14.1 Case mappings of characters</a> </h2>
+<a name="SEC70"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC70">14.1 Case mappings of characters</a> </h2>
<p>The following functions implement case mappings on Unicode characters &mdash;
for those cases only where the result of the mapping is a again a single
@@ -88,21 +88,21 @@ entire string at once and are language aware.
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_toupper</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX889"></a>
+<a name="IDX907"></a>
</dt>
<dd><p>Returns the uppercase mapping of the Unicode character <var>uc</var>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_tolower</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX890"></a>
+<a name="IDX908"></a>
</dt>
<dd><p>Returns the lowercase mapping of the Unicode character <var>uc</var>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_totitle</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX891"></a>
+<a name="IDX909"></a>
</dt>
<dd><p>Returns the titlecase mapping of the Unicode character <var>uc</var>.
</p>
@@ -110,7 +110,7 @@ entire string at once and are language aware.
look like upper case and the following characters are lower cased.
</p>
<p>For most characters, this is the same as the uppercase mapping. There are
-only few characters where the title case variant and the uuper case variant
+only few characters where the title case variant and the upper case variant
are different. These characters occur in the Latin writing of the Croatian,
Bosnian, and Serbian languages.
</p>
@@ -138,11 +138,11 @@ Bosnian, and Serbian languages.
<hr size="6">
<a name="Case-mappings-of-strings"></a>
-<a name="SEC69"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC69">14.2 Case mappings of strings</a> </h2>
+<a name="SEC71"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC71">14.2 Case mappings of strings</a> </h2>
<p>Case mapping should always be performed on entire strings, not on individual
-characters. The functions in this sections do so.
+characters. The functions in this section do so.
</p>
<p>These functions allow to apply a normalization after the case mapping. The
reason is that if you want to treat &lsquo;<samp>&auml;</samp>&rsquo; and &lsquo;<samp>&Auml;</samp>&rsquo; the same,
@@ -151,14 +151,14 @@ a character, U+00C4 <small>LATIN CAPITAL LETTER A WITH DIAERESIS</small> and
U+0041 <small>LATIN CAPITAL LETTER A</small> U+0308 <small>COMBINING DIAERESIS</small> the same.
The <var>nf</var> argument designates the normalization.
</p>
-<a name="IDX892"></a>
+<a name="IDX910"></a>
<p>These functions are locale dependent. The <var>iso639_language</var> argument
identifies the language (e.g. <code>&quot;tr&quot;</code> for Turkish). NULL means to use
locale independent case mappings.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_locale_language</b><i> ()</i>
-<a name="IDX893"></a>
+<a name="IDX911"></a>
</dt>
<dd><p>Returns the ISO 639 language code of the current locale.
Returns <code>&quot;&quot;</code> if it is unknown, or in the &quot;C&quot; locale.
@@ -166,13 +166,13 @@ Returns <code>&quot;&quot;</code> if it is unknown, or in the &quot;C&quot; loca
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_toupper</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX894"></a>
+<a name="IDX912"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_toupper</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX895"></a>
+<a name="IDX913"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_toupper</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX896"></a>
+<a name="IDX914"></a>
</dt>
<dd><p>Returns the uppercase mapping of a string.
</p>
@@ -185,13 +185,13 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_tolower</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX897"></a>
+<a name="IDX915"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_tolower</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX898"></a>
+<a name="IDX916"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_tolower</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX899"></a>
+<a name="IDX917"></a>
</dt>
<dd><p>Returns the lowercase mapping of a string.
</p>
@@ -204,13 +204,13 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_totitle</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX900"></a>
+<a name="IDX918"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_totitle</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX901"></a>
+<a name="IDX919"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_totitle</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX902"></a>
+<a name="IDX920"></a>
</dt>
<dd><p>Returns the titlecase mapping of a string.
</p>
@@ -227,8 +227,8 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<hr size="6">
<a name="Case-mappings-of-substrings"></a>
-<a name="SEC70"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC70">14.3 Case mappings of substrings</a> </h2>
+<a name="SEC72"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC72">14.3 Case mappings of substrings</a> </h2>
<p>Case mapping of a substring cannot simply be performed by extracting the
substring and then applying the case mapping function to it. This does not
@@ -239,7 +239,7 @@ precede it (the &ldquo;prefix&rdquo;) and the characters that follow it (the &ld
</p>
<dl>
<dt><u>Type:</u> <b>casing_prefix_context_t</b>
-<a name="IDX903"></a>
+<a name="IDX921"></a>
</dt>
<dd><p>This data type denotes the case-mapping context that is given by a prefix
string. It is an immediate type that can be copied by simple assignment,
@@ -248,7 +248,7 @@ without involving memory allocation. It is not an array type.
<dl>
<dt><u>Constant:</u> casing_prefix_context_t <b>unicase_empty_prefix_context</b>
-<a name="IDX904"></a>
+<a name="IDX922"></a>
</dt>
<dd><p>This constant is the case-mapping context that corresponds to an empty prefix
string.
@@ -258,26 +258,26 @@ string.
</p>
<dl>
<dt><u>Function:</u> casing_prefix_context_t <b>u8_casing_prefix_context</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX905"></a>
+<a name="IDX923"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u16_casing_prefix_context</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX906"></a>
+<a name="IDX924"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u32_casing_prefix_context</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX907"></a>
+<a name="IDX925"></a>
</dt>
<dd><p>Returns the case-mapping context of a given prefix string.
</p></dd></dl>
<dl>
<dt><u>Function:</u> casing_prefix_context_t <b>u8_casing_prefixes_context</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>a_context</var>)</i>
-<a name="IDX908"></a>
+<a name="IDX926"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u16_casing_prefixes_context</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>a_context</var>)</i>
-<a name="IDX909"></a>
+<a name="IDX927"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u32_casing_prefixes_context</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>a_context</var>)</i>
-<a name="IDX910"></a>
+<a name="IDX928"></a>
</dt>
<dd><p>Returns the case-mapping context of the prefix concat(<var>a</var>, <var>s</var>),
given the case-mapping context of the prefix <var>a</var>.
@@ -285,7 +285,7 @@ given the case-mapping context of the prefix <var>a</var>.
<dl>
<dt><u>Type:</u> <b>casing_suffix_context_t</b>
-<a name="IDX911"></a>
+<a name="IDX929"></a>
</dt>
<dd><p>This data type denotes the case-mapping context that is given by a suffix
string. It is an immediate type that can be copied by simple assignment,
@@ -294,7 +294,7 @@ without involving memory allocation. It is not an array type.
<dl>
<dt><u>Constant:</u> casing_suffix_context_t <b>unicase_empty_suffix_context</b>
-<a name="IDX912"></a>
+<a name="IDX930"></a>
</dt>
<dd><p>This constant is the case-mapping context that corresponds to an empty suffix
string.
@@ -304,26 +304,26 @@ string.
</p>
<dl>
<dt><u>Function:</u> casing_suffix_context_t <b>u8_casing_suffix_context</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX913"></a>
+<a name="IDX931"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u16_casing_suffix_context</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX914"></a>
+<a name="IDX932"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u32_casing_suffix_context</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX915"></a>
+<a name="IDX933"></a>
</dt>
<dd><p>Returns the case-mapping context of a given suffix string.
</p></dd></dl>
<dl>
<dt><u>Function:</u> casing_suffix_context_t <b>u8_casing_suffixes_context</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_suffix_context_t&nbsp;<var>a_context</var>)</i>
-<a name="IDX916"></a>
+<a name="IDX934"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u16_casing_suffixes_context</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_suffix_context_t&nbsp;<var>a_context</var>)</i>
-<a name="IDX917"></a>
+<a name="IDX935"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u32_casing_suffixes_context</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_suffix_context_t&nbsp;<var>a_context</var>)</i>
-<a name="IDX918"></a>
+<a name="IDX936"></a>
</dt>
<dd><p>Returns the case-mapping context of the suffix concat(<var>s</var>, <var>a</var>),
given the case-mapping context of the suffix <var>a</var>.
@@ -334,13 +334,13 @@ prefix context and the suffix context.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_toupper</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX919"></a>
+<a name="IDX937"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_toupper</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX920"></a>
+<a name="IDX938"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_toupper</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX921"></a>
+<a name="IDX939"></a>
</dt>
<dd><p>Returns the uppercase mapping of a string that is surrounded by a prefix
and a suffix.
@@ -351,13 +351,13 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_tolower</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX922"></a>
+<a name="IDX940"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_tolower</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX923"></a>
+<a name="IDX941"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_tolower</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX924"></a>
+<a name="IDX942"></a>
</dt>
<dd><p>Returns the lowercase mapping of a string that is surrounded by a prefix
and a suffix.
@@ -368,13 +368,13 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_totitle</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX925"></a>
+<a name="IDX943"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_totitle</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX926"></a>
+<a name="IDX944"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_totitle</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX927"></a>
+<a name="IDX945"></a>
</dt>
<dd><p>Returns the titlecase mapping of a string that is surrounded by a prefix
and a suffix.
@@ -398,21 +398,21 @@ uint8_t result =
<hr size="6">
<a name="Case-insensitive-comparison"></a>
-<a name="SEC71"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC71">14.4 Case insensitive comparison</a> </h2>
+<a name="SEC73"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC73">14.4 Case insensitive comparison</a> </h2>
<p>The following functions implement comparison that ignores differences in case
and normalization.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_casefold</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX928"></a>
+<a name="IDX946"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_casefold</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX929"></a>
+<a name="IDX947"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_casefold</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX930"></a>
+<a name="IDX948"></a>
</dt>
<dd><p>Returns the case folded string.
</p>
@@ -429,13 +429,13 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_casefold</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX931"></a>
+<a name="IDX949"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_casefold</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX932"></a>
+<a name="IDX950"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_casefold</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, casing_prefix_context_t&nbsp;<var>prefix_context</var>, casing_suffix_context_t&nbsp;<var>suffix_context</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX933"></a>
+<a name="IDX951"></a>
</dt>
<dd><p>Returns the case folded string. The case folding takes into account the
case mapping contexts of the prefix and suffix strings.
@@ -444,18 +444,21 @@ case mapping contexts of the prefix and suffix strings.
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
+<p>The following functions ignore locale-dependent collation rules, but do
+use locale-dependent case mappings (if <var>iso639_language</var> is not NULL).
+</p>
<dl>
<dt><u>Function:</u> int <b>u8_casecmp</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX934"></a>
+<a name="IDX952"></a>
</dt>
<dt><u>Function:</u> int <b>u16_casecmp</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX935"></a>
+<a name="IDX953"></a>
</dt>
<dt><u>Function:</u> int <b>u32_casecmp</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX936"></a>
+<a name="IDX954"></a>
</dt>
<dt><u>Function:</u> int <b>ulc_casecmp</b><i> (const&nbsp;char&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;char&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX937"></a>
+<a name="IDX955"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in case and normalization.
</p>
@@ -467,25 +470,25 @@ case-mapping. It can also be NULL, for no normalization.
Upon failure, returns -1 with <code>errno</code> set.
</p></dd></dl>
-<a name="IDX938"></a>
-<a name="IDX939"></a>
-<a name="IDX940"></a>
-<a name="IDX941"></a>
+<a name="IDX956"></a>
+<a name="IDX957"></a>
+<a name="IDX958"></a>
+<a name="IDX959"></a>
<p>The following functions additionally take into account the sorting rules of the
current locale.
</p>
<dl>
<dt><u>Function:</u> char * <b>u8_casexfrm</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX942"></a>
+<a name="IDX960"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_casexfrm</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX943"></a>
+<a name="IDX961"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_casexfrm</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX944"></a>
+<a name="IDX962"></a>
</dt>
<dt><u>Function:</u> char * <b>ulc_casexfrm</b><i> (const&nbsp;char&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX945"></a>
+<a name="IDX963"></a>
</dt>
<dd><p>Converts the string <var>s</var> of length <var>n</var> to a NUL-terminated byte
sequence, in such a way that comparing <code>u8_casexfrm (<var>s1</var>)</code> and
@@ -501,16 +504,16 @@ chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
<dl>
<dt><u>Function:</u> int <b>u8_casecoll</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX946"></a>
+<a name="IDX964"></a>
</dt>
<dt><u>Function:</u> int <b>u16_casecoll</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX947"></a>
+<a name="IDX965"></a>
</dt>
<dt><u>Function:</u> int <b>u32_casecoll</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX948"></a>
+<a name="IDX966"></a>
</dt>
<dt><u>Function:</u> int <b>ulc_casecoll</b><i> (const&nbsp;char&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;char&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, uninorm_t&nbsp;<var>nf</var>, int&nbsp;*<var>resultp</var>)</i>
-<a name="IDX949"></a>
+<a name="IDX967"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in case and normalization,
using the collation rules of the current locale.
@@ -526,8 +529,8 @@ Upon failure, returns -1 with <code>errno</code> set.
<hr size="6">
<a name="Case-detection"></a>
-<a name="SEC72"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC72">14.5 Case detection</a> </h2>
+<a name="SEC74"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC74">14.5 Case detection</a> </h2>
<p>The following functions determine whether a Unicode string is entirely in
upper case. or entirely in lower case, or entirely in title case, or already
@@ -535,13 +538,13 @@ case-folded.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_is_uppercase</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX950"></a>
+<a name="IDX968"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_uppercase</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX951"></a>
+<a name="IDX969"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_uppercase</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX952"></a>
+<a name="IDX970"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if mapping NFD(<var>s</var>) to upper case is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@@ -550,13 +553,13 @@ a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
<dl>
<dt><u>Function:</u> int <b>u8_is_lowercase</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX953"></a>
+<a name="IDX971"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_lowercase</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX954"></a>
+<a name="IDX972"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_lowercase</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX955"></a>
+<a name="IDX973"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if mapping NFD(<var>s</var>) to lower case is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@@ -565,13 +568,13 @@ a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
<dl>
<dt><u>Function:</u> int <b>u8_is_titlecase</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX956"></a>
+<a name="IDX974"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_titlecase</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX957"></a>
+<a name="IDX975"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_titlecase</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX958"></a>
+<a name="IDX976"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if mapping NFD(<var>s</var>) to title case is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@@ -580,13 +583,13 @@ a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
<dl>
<dt><u>Function:</u> int <b>u8_is_casefolded</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX959"></a>
+<a name="IDX977"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_casefolded</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX960"></a>
+<a name="IDX978"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_casefolded</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX961"></a>
+<a name="IDX979"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if applying case folding to NFD(<var>S</var>) is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@@ -598,13 +601,13 @@ Unicode string.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_is_cased</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX962"></a>
+<a name="IDX980"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_cased</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX963"></a>
+<a name="IDX981"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_cased</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>iso639_language</var>, bool&nbsp;*<var>resultp</var>)</i>
-<a name="IDX964"></a>
+<a name="IDX982"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if case matters for <var>s</var>, that is, if
mapping NFD(<var>s</var>) to either upper case or lower case or title case is not
@@ -615,8 +618,8 @@ characters. Upon failure, returns -1 with <code>errno</code> set.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="#SEC67" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_15.html#SEC73" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="#SEC69" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_15.html#SEC75" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -624,12 +627,12 @@ characters. Upon failure, returns -1 with <code>errno</code> set.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_15.html b/doc/libunistring_15.html
index 6140c4e8..bfc3e302 100644
--- a/doc/libunistring_15.html
+++ b/doc/libunistring_15.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC69" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_16.html#SEC76" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,21 +51,21 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniregex_002eh"></a>
-<a name="SEC73"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC73">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a> </h1>
+<a name="SEC75"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC75">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a> </h1>
<p>This include file is not yet implemented.
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC69" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_16.html#SEC76" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -73,12 +73,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_16.html b/doc/libunistring_16.html
index 9e94295b..39f70977 100644
--- a/doc/libunistring_16.html
+++ b/doc/libunistring_16.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_15.html#SEC73" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_17.html#SEC80" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_15.html#SEC75" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_17.html#SEC82" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="Using-the-library"></a>
-<a name="SEC74"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC74">16. Using the library</a> </h1>
+<a name="SEC76"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC76">16. Using the library</a> </h1>
<p>This chapter explains some practical considerations, regarding the
installation and compiler options that are needed in order to use this
@@ -67,22 +67,22 @@ library.
<hr size="6">
<a name="Installation"></a>
-<a name="SEC75"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC75">16.1 Installation</a> </h2>
+<a name="SEC77"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC77">16.1 Installation</a> </h2>
<p>Before you can use the library, it must be installed. First, you have to
make sure all dependencies are installed. They are listed in the file
&lsquo;<tt>DEPENDENCIES</tt>&rsquo;.
</p>
-<a name="IDX965"></a>
+<a name="IDX983"></a>
<p>Then you can proceed to build and install the library, as described in the
file &lsquo;<tt>INSTALL</tt>&rsquo;. For installation on Windows systems, please refer to
the file &lsquo;<tt>INSTALL.windows</tt>&rsquo;.
</p>
<hr size="6">
<a name="Compiler-options"></a>
-<a name="SEC76"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC76">16.2 Compiler options</a> </h2>
+<a name="SEC78"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC78">16.2 Compiler options</a> </h2>
<p>Let's denote as <code>LIBUNISTRING_PREFIX</code> the value of the &lsquo;<samp>--prefix</samp>&rsquo;
option that you passed to <code>configure</code> while installing this package.
@@ -103,7 +103,7 @@ in 64-bit mode on a 64-bit GNU/Linux system that supports executables
in either 64-bit mode or 32-bit mode, you should have used the option
<code>--libdir=${LIBUNISTRING_PREFIX}/lib64</code>.
</p>
-<a name="IDX966"></a>
+<a name="IDX984"></a>
<p>So that the compiler finds the include files, you have to pass it the
option <code>-I${LIBUNISTRING_INCLUDEDIR}</code>.
</p>
@@ -111,13 +111,13 @@ option <code>-I${LIBUNISTRING_INCLUDEDIR}</code>.
to pass it the options <code>-L${LIBUNISTRING_LIBDIR} -lunistring</code>.
On some systems, in some configurations, you also have to pass options
needed for linking with <code>libiconv</code>. The autoconf macro
-<code>gl_LIBUNISTRING</code> (see <a href="#SEC78">Autoconf macro</a>) deals with this
+<code>gl_LIBUNISTRING</code> (see <a href="#SEC80">Autoconf macro</a>) deals with this
particularity.
</p>
<hr size="6">
<a name="Include-files"></a>
-<a name="SEC77"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC77">16.3 Include files</a> </h2>
+<a name="SEC79"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC79">16.3 Include files</a> </h2>
<p>Most of the include files have been presented in the introduction, see
<a href="libunistring_1.html#SEC1">Introduction</a>, and subsequent detailed chapters.
@@ -127,20 +127,22 @@ version number of the libunistring library.
</p>
<dl>
<dt><u>Macro:</u> int <b>_LIBUNISTRING_VERSION</b>
-<a name="IDX967"></a>
+<a name="IDX985"></a>
</dt>
<dd><p>This constant contains the version of libunistring that is being used
-at compile time. It encodes the major and minor parts of the version
-number only. These parts are encoded in the form <code>(major&lt;&lt;8) + minor</code>.
+at compile time.
+It encodes the major, minor, and subminor parts of the version number.
+These parts are encoded in the form <code>(major&lt;&lt;16) + (minor&lt;&lt;8) + subminor</code>.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>_libunistring_version</b>
-<a name="IDX968"></a>
+<a name="IDX986"></a>
</dt>
<dd><p>This constant contains the version of libunistring that is being used
-at run time. It encodes the major and minor parts of the version
-number only. These parts are encoded in the form <code>(major&lt;&lt;8) + minor</code>.
+at run time.
+It encodes the major, minor, and subminor parts of the version number.
+These parts are encoded in the form <code>(major&lt;&lt;16) + (minor&lt;&lt;8) + subminor</code>.
</p></dd></dl>
<p>It is possible that <code>_libunistring_version</code> is greater than
@@ -149,17 +151,29 @@ number only. These parts are encoded in the form <code>(major&lt;&lt;8) + minor
backward-compatible version has been installed after your program
that uses <code>libunistring</code> was installed.
</p>
+<p><code>&lt;unistring/version.h&gt;</code> also contains:
+</p>
+<dl>
+<dt><u>Constant:</u> int <b>_libunistring_unicode_version</b>
+<a name="IDX987"></a>
+</dt>
+<dd><p>This constant contains the version of the Unicode standard that is
+implemented by libunistring.
+It encodes the major and minor parts of the version number only.
+These parts are encoded in the form <code>(major&lt;&lt;8) + minor</code>.
+</p></dd></dl>
+
<hr size="6">
<a name="Autoconf-macro"></a>
-<a name="SEC78"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC78">16.4 Autoconf macro</a> </h2>
+<a name="SEC80"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC80">16.4 Autoconf macro</a> </h2>
<p>GNU Gnulib provides an autoconf macro that tests for the availability
of <code>libunistring</code>. It is contained in the Gnulib module
&lsquo;<samp>libunistring</samp>&rsquo;, see
<a href="https://www.gnu.org/software/gnulib/MODULES.html#module=libunistring">https://www.gnu.org/software/gnulib/MODULES.html#module=libunistring</a>.
</p>
-<a name="IDX969"></a>
+<a name="IDX988"></a>
<p>The macro is called <code>gl_LIBUNISTRING</code>. It searches for an installed
libunistring. If found, it sets and AC_SUBSTs <code>HAVE_LIBUNISTRING=yes</code>
and the <code>LIBUNISTRING</code> and <code>LTLIBUNISTRING</code> variables and augments
@@ -191,8 +205,8 @@ on most systems.
<hr size="6">
<a name="Reporting-problems"></a>
-<a name="SEC79"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC79">16.5 Reporting problems</a> </h2>
+<a name="SEC81"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC81">16.5 Reporting problems</a> </h2>
<p>If you encounter any problem, please don't hesitate to submit a detailed
bug report either in the bug tracker at the project page
@@ -209,8 +223,8 @@ a description of the options that you passed to the &lsquo;<samp>configure</samp
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="#SEC74" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_17.html#SEC80" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="#SEC76" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_17.html#SEC82" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -218,12 +232,12 @@ a description of the options that you passed to the &lsquo;<samp>configure</samp
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_17.html b/doc/libunistring_17.html
index f78b14d9..32db0272 100644
--- a/doc/libunistring_17.html
+++ b/doc/libunistring_17.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_18.html#SEC81" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC76" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_18.html#SEC83" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,27 +51,27 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="More-functionality"></a>
-<a name="SEC80"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC80">17. More advanced functionality</a> </h1>
+<a name="SEC82"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC82">17. More advanced functionality</a> </h1>
<p>For bidirectional reordering of strings, we recommend the GNU FriBidi library:
<a href="http://www.fribidi.org/">http://www.fribidi.org/</a>.
</p>
-<a name="IDX970"></a>
+<a name="IDX989"></a>
<p>For the rendering of Unicode strings outside of the context of a given toolkit
(KDE/Qt or GNOME/Gtk), we recommend the Pango library:
<a href="https://www.pango.org/">https://www.pango.org/</a>.
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_18.html#SEC81" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC76" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_18.html#SEC83" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -79,12 +79,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_18.html b/doc/libunistring_18.html
index 2e3e96ac..ad8da470 100644
--- a/doc/libunistring_18.html
+++ b/doc/libunistring_18.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_17.html#SEC80" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_19.html#SEC82" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_17.html#SEC82" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_19.html#SEC84" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="The-wchar_005ft-mess"></a>
-<a name="SEC81"></a>
-<h1 class="appendix"> <a href="libunistring_toc.html#TOC81">A. The <code>wchar_t</code> mess</a> </h1>
+<a name="SEC83"></a>
+<h1 class="appendix"> <a href="libunistring_toc.html#TOC83">A. The <code>wchar_t</code> mess</a> </h1>
<p>The ISO C and POSIX standard creators made an attempt to fix the first
problem mentioned in the section <a href="libunistring_1.html#SEC6">&lsquo;<samp>char *</samp>&rsquo; strings</a>. They introduced
@@ -66,7 +66,8 @@ problem mentioned in the section <a href="libunistring_1.html#SEC6">&lsquo;<samp
<li>
a type &lsquo;<samp>wchar_t</samp>&rsquo;, designed to encapsulate an entire character,
</li><li>
-a &ldquo;wide string&rdquo; type &lsquo;<samp>wchar_t *</samp>&rsquo;, and
+a &ldquo;wide string&rdquo; type &lsquo;<samp>wchar_t *</samp>&rsquo;, with some API functions declared in
+<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html"><code>&lt;wchar.h&gt;</code></a>, and
</li><li>
functions declared in <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wctype.h.html"><code>&lt;wctype.h&gt;</code></a> that were meant to supplant the
ones in <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html"><code>&lt;ctype.h&gt;</code></a>.
@@ -76,8 +77,8 @@ ones in <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ctype.
</p>
<ul>
<li>
-On AIX and Windows platforms, <code>wchar_t</code> is a 16-bit type. This
-means that it can never accommodate an entire Unicode character. Either
+On Windows platforms and on AIX in 32-bit mode, <code>wchar_t</code> is a 16-bit type.
+This means that it can never accommodate an entire Unicode character. Either
the <code>wchar_t *</code> strings are limited to characters in UCS-2 (the
&ldquo;Basic Multilingual Plane&rdquo; of Unicode), or &mdash; if <code>wchar_t *</code>
strings are encoded in UTF-16 &mdash; a <code>wchar_t</code> represents only half
@@ -110,8 +111,8 @@ the program to produce garbage or abort.
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_17.html#SEC80" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_19.html#SEC82" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_17.html#SEC82" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_19.html#SEC84" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -119,12 +120,12 @@ the program to produce garbage or abort.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_19.html b/doc/libunistring_19.html
index 2a706a22..e16e6ee4 100644
--- a/doc/libunistring_19.html
+++ b/doc/libunistring_19.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_18.html#SEC81" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_20.html#SEC83" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_18.html#SEC83" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_20.html#SEC85" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="The-char32_005ft-problem"></a>
-<a name="SEC82"></a>
-<h1 class="appendix"> <a href="libunistring_toc.html#TOC82">B. The <code>char32_t</code> problem</a> </h1>
+<a name="SEC84"></a>
+<h1 class="appendix"> <a href="libunistring_toc.html#TOC84">B. The <code>char32_t</code> problem</a> </h1>
<p>In response to the <code>wchar_t</code> mess described in the previous section,
ISO C 11 introduces two new types: <code>char32_t</code> and <code>char16_t</code>.
@@ -108,8 +108,8 @@ encoding may be different from the <code>wchar_t</code> encoding.
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_18.html#SEC81" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_20.html#SEC83" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_18.html#SEC83" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_20.html#SEC85" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -117,12 +117,12 @@ encoding may be different from the <code>wchar_t</code> encoding.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_2.html b/doc/libunistring_2.html
index d9da4378..2b644c18 100644
--- a/doc/libunistring_2.html
+++ b/doc/libunistring_2.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -76,7 +76,7 @@ order mark. Their units are 2-byte words.
order mark. Their units are 4-byte words.
</p>
<p>Argument pairs <code>(<var>s</var>, <var>n</var>)</code> denote a string
-<code><var>s</var>[0..<var>n</var>-1]</code> with exactly <var>n</var> units.
+<code><var>s</var>[0..<var>n</var>-1]</code> with exactly <var>n</var> units.<a name="DOCF1" href="libunistring_fot.html#FOOT1">(1)</a>
</p>
<p>All functions with prefix &lsquo;<samp>ulc_</samp>&rsquo; operate on C strings in locale
encoding.
@@ -116,6 +116,27 @@ is returned. In both cases, <code>*<var>lengthp</var></code> is set to the
length (number of units) of the returned string. In case of error,
NULL is returned and <code>errno</code> is set.
</p>
+<p>To invoke such a function:
+</p><ul>
+<li>
+First ask yourself whether you want to accept the overhead of a
+<code>malloc</code> invocation even for a small-sized result.
+If yes, pass NULL as <var>resultbuf</var>.
+If no, allocate an array of units on the stack, typically between 50 and
+4000 bytes large; pass this array as <var>resultbuf</var>; and initialize
+<code>*<var>lengthp</var></code> to the number of units of this array.
+</li><li>
+Upon return from such a function, look at the return value:
+NULL means an error; look at the value of <code>errno</code> in this case.
+Otherwise, the return value is the result, with <code>*<var>lengthp</var></code>
+units. Note that the function has <em>not</em> added an extra NUL
+character at the end.
+</li><li>
+Finally, do memory management. You know that the result was
+<code>malloc</code>-allocated if it is <code>!= NULL</code> and
+<code>!= <var>resultbuf</var></code>.
+</li></ul>
+
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_1.html#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
@@ -127,12 +148,12 @@ NULL is returned and <code>errno</code> is set.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_20.html b/doc/libunistring_20.html
index 9c38a685..e74a9444 100644
--- a/doc/libunistring_20.html
+++ b/doc/libunistring_20.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_19.html#SEC82" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_19.html#SEC84" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="Licenses"></a>
-<a name="SEC83"></a>
-<h1 class="appendix"> <a href="libunistring_toc.html#TOC83">C. Licenses</a> </h1>
+<a name="SEC85"></a>
+<h1 class="appendix"> <a href="libunistring_toc.html#TOC85">C. Licenses</a> </h1>
<p>The files of this package are covered by the licenses indicated in each
particular file or directory. Here is a summary:
@@ -77,8 +77,8 @@ the terms of the GNU General Public License (GPL) version 2 or
</li><li> -
the same dual license &quot;the GNU LGPLv3+ or the GNU GPLv2+&quot;.
</li></ul>
-<p>You find the GNU LGPL version 3 in <a href="#SEC89">GNU LESSER GENERAL PUBLIC LICENSE</a>. This license is
-based on the GNU GPL version 3, see <a href="#SEC84">GNU GENERAL PUBLIC LICENSE</a>.
+<p>You find the GNU LGPL version 3 in <a href="#SEC91">GNU LESSER GENERAL PUBLIC LICENSE</a>. This license is
+based on the GNU GPL version 3, see <a href="#SEC86">GNU GENERAL PUBLIC LICENSE</a>.
<br>
You can find the GNU GPL version 2 at
<a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">https://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a>.
@@ -99,21 +99,21 @@ GNU Free Documentation License (FDL), either version 1.2 of the
License, or (at your option) any later version published by the
Free Software Foundation (FSF); with no Invariant Sections, with no
Front-Cover Text, and with no Back-Cover Texts.
-A copy of the license is included in <a href="#SEC90">GNU Free Documentation License</a>.
+A copy of the license is included in <a href="#SEC92">GNU Free Documentation License</a>.
<br>
This manual is covered by the GNU GPL. You can redistribute it and/or
modify it under the terms of the GNU General Public License (GPL), either
version 3 of the License, or (at your option) any later version published
by the Free Software Foundation (FSF).
-A copy of the license is included in <a href="#SEC84">GNU GENERAL PUBLIC LICENSE</a>.
+A copy of the license is included in <a href="#SEC86">GNU GENERAL PUBLIC LICENSE</a>.
</li></ul>
<hr size="6">
<a name="GNU-GPL"></a>
-<a name="SEC84"></a>
-<h2 class="appendixsec"> <a href="libunistring_toc.html#TOC84">C.1 GNU GENERAL PUBLIC LICENSE</a> </h2>
+<a name="SEC86"></a>
+<h2 class="appendixsec"> <a href="libunistring_toc.html#TOC86">C.1 GNU GENERAL PUBLIC LICENSE</a> </h2>
<p align="center"> Version 3, 29 June 2007
</p>
@@ -123,7 +123,7 @@ Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
</pre></td></tr></table>
-<a name="SEC85"></a>
+<a name="SEC87"></a>
<h2 class="heading"> Preamble </h2>
<p>The GNU General Public License is a free, copyleft license for
@@ -189,7 +189,7 @@ assures that patents cannot be used to render the program non-free.
<p>The precise terms and conditions for copying, distribution and
modification follow.
</p>
-<a name="SEC86"></a>
+<a name="SEC88"></a>
<h2 class="heading"> TERMS AND CONDITIONS </h2>
<ol>
@@ -769,10 +769,10 @@ copy of the Program in return for a fee.
</p>
</li></ol>
-<a name="SEC87"></a>
+<a name="SEC89"></a>
<h2 class="heading"> END OF TERMS AND CONDITIONS </h2>
-<a name="SEC88"></a>
+<a name="SEC90"></a>
<h2 class="heading"> How to Apply These Terms to Your New Programs </h2>
<p>If you develop a new program, and you want it to be of the greatest
@@ -832,8 +832,8 @@ first, please read <a href="https://www.gnu.org/licenses/why-not-lgpl.html">http
</p><hr size="6">
<a name="GNU-LGPL"></a>
-<a name="SEC89"></a>
-<h2 class="appendixsec"> <a href="libunistring_toc.html#TOC85">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a> </h2>
+<a name="SEC91"></a>
+<h2 class="appendixsec"> <a href="libunistring_toc.html#TOC87">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a> </h2>
<p align="center"> Version 3, 29 June 2007
</p>
@@ -1023,8 +1023,8 @@ Library.
<hr size="6">
<a name="GNU-FDL"></a>
-<a name="SEC90"></a>
-<h2 class="appendixsec"> <a href="libunistring_toc.html#TOC86">C.3 GNU Free Documentation License</a> </h2>
+<a name="SEC92"></a>
+<h2 class="appendixsec"> <a href="libunistring_toc.html#TOC88">C.3 GNU Free Documentation License</a> </h2>
<p align="center"> Version 1.3, 3 November 2008
</p>
@@ -1485,7 +1485,7 @@ provided the MMC is eligible for relicensing.
</li></ol>
-<a name="SEC91"></a>
+<a name="SEC93"></a>
<h2 class="heading"> ADDENDUM: How to use this License for your documents </h2>
<p>To use this License in a document you have written, include a copy of
@@ -1521,8 +1521,8 @@ to permit their use in free software.
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="#SEC83" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Next chapter"> &gt;&gt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="#SEC85" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -1530,12 +1530,12 @@ to permit their use in free software.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_21.html b/doc/libunistring_21.html
index 37dada3b..b283df2b 100644
--- a/doc/libunistring_21.html
+++ b/doc/libunistring_21.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -42,7 +42,7 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_20.html#SEC83" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_20.html#SEC85" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_22.html#INDEX0" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,759 +51,245 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="Index"></a>
-<a name="SEC92"></a>
-<h1 class="unnumbered"> <a href="libunistring_toc.html#TOC87">Index</a> </h1>
+<a name="SEC94"></a>
+<h1 class="unnumbered"> <a href="libunistring_toc.html#TOC89">Index</a> </h1>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC92_0" class="summary-letter"><b>A</b></a>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC94_0" class="summary-letter"><b>A</b></a>
&nbsp;
-<a href="#SEC92_1" class="summary-letter"><b>B</b></a>
+<a href="#SEC94_1" class="summary-letter"><b>B</b></a>
&nbsp;
-<a href="#SEC92_2" class="summary-letter"><b>C</b></a>
+<a href="#SEC94_2" class="summary-letter"><b>C</b></a>
&nbsp;
-<a href="#SEC92_3" class="summary-letter"><b>D</b></a>
+<a href="#SEC94_3" class="summary-letter"><b>D</b></a>
&nbsp;
-<a href="#SEC92_4" class="summary-letter"><b>E</b></a>
+<a href="#SEC94_4" class="summary-letter"><b>E</b></a>
&nbsp;
-<a href="#SEC92_5" class="summary-letter"><b>F</b></a>
+<a href="#SEC94_5" class="summary-letter"><b>F</b></a>
&nbsp;
-<a href="#SEC92_6" class="summary-letter"><b>G</b></a>
+<a href="#SEC94_6" class="summary-letter"><b>G</b></a>
&nbsp;
-<a href="#SEC92_7" class="summary-letter"><b>H</b></a>
+<a href="#SEC94_7" class="summary-letter"><b>H</b></a>
&nbsp;
-<a href="#SEC92_8" class="summary-letter"><b>I</b></a>
+<a href="#SEC94_8" class="summary-letter"><b>I</b></a>
&nbsp;
-<a href="#SEC92_9" class="summary-letter"><b>J</b></a>
+<a href="#SEC94_9" class="summary-letter"><b>J</b></a>
&nbsp;
-<a href="#SEC92_10" class="summary-letter"><b>L</b></a>
+<a href="#SEC94_10" class="summary-letter"><b>L</b></a>
&nbsp;
-<a href="#SEC92_11" class="summary-letter"><b>M</b></a>
+<a href="#SEC94_11" class="summary-letter"><b>M</b></a>
&nbsp;
-<a href="#SEC92_12" class="summary-letter"><b>N</b></a>
+<a href="#SEC94_12" class="summary-letter"><b>N</b></a>
&nbsp;
-<a href="#SEC92_13" class="summary-letter"><b>O</b></a>
+<a href="#SEC94_13" class="summary-letter"><b>O</b></a>
&nbsp;
-<a href="#SEC92_14" class="summary-letter"><b>P</b></a>
+<a href="#SEC94_14" class="summary-letter"><b>P</b></a>
&nbsp;
-<a href="#SEC92_15" class="summary-letter"><b>R</b></a>
+<a href="#SEC94_15" class="summary-letter"><b>R</b></a>
&nbsp;
-<a href="#SEC92_16" class="summary-letter"><b>S</b></a>
+<a href="#SEC94_16" class="summary-letter"><b>S</b></a>
&nbsp;
-<a href="#SEC92_17" class="summary-letter"><b>T</b></a>
+<a href="#SEC94_17" class="summary-letter"><b>T</b></a>
&nbsp;
-<a href="#SEC92_18" class="summary-letter"><b>U</b></a>
+<a href="libunistring_22.html#INDEX0_0" class="summary-letter"><b>U</b></a>
&nbsp;
-<a href="libunistring_22.html#INDEX0_0" class="summary-letter"><b>V</b></a>
+<a href="libunistring_23.html#INDEX1_0" class="summary-letter"><b>V</b></a>
&nbsp;
-<a href="libunistring_22.html#INDEX0_1" class="summary-letter"><b>W</b></a>
+<a href="libunistring_23.html#INDEX1_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<table border="0" class="index-cp">
<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_0">A</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX758">ambiguous width</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><th><a name="SEC94_0">A</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX776">ambiguous width</a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC43">Arabic shaping</a></td><td valign="top"><a href="libunistring_8.html#SEC43">8.8 Arabic shaping</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_2.html#IDX14">argument conventions</a></td><td valign="top"><a href="libunistring_2.html#SEC8">2. Conventions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC78">autoconf macro</a></td><td valign="top"><a href="libunistring_16.html#SEC78">16.4 Autoconf macro</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC80">autoconf macro</a></td><td valign="top"><a href="libunistring_16.html#SEC80">16.4 Autoconf macro</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_1">B</a></th><td></td><td></td></tr>
+<tr><th><a name="SEC94_1">B</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">bidi class</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">bidirectional category</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_17.html#SEC80">bidirectional reordering</a></td><td valign="top"><a href="libunistring_17.html#SEC80">17. More advanced functionality</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC50">block</a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">boundaries, between grapheme clusters</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">boundaries, between words</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">breaks, grapheme cluster</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC60">breaks, line</a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">breaks, word</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC79">bug reports</a></td><td valign="top"><a href="libunistring_16.html#SEC79">16.5 Reporting problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC79">bug tracker</a></td><td valign="top"><a href="libunistring_16.html#SEC79">16.5 Reporting problems</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_17.html#SEC82">bidirectional reordering</a></td><td valign="top"><a href="libunistring_17.html#SEC82">17. More advanced functionality</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC52">block</a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.12 Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC56">boundaries, between grapheme clusters</a></td><td valign="top"><a href="libunistring_10.html#SEC56">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC59">boundaries, between words</a></td><td valign="top"><a href="libunistring_11.html#SEC59">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC56">breaks, grapheme cluster</a></td><td valign="top"><a href="libunistring_10.html#SEC56">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC62">breaks, line</a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC59">breaks, word</a></td><td valign="top"><a href="libunistring_11.html#SEC59">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC81">bug reports</a></td><td valign="top"><a href="libunistring_16.html#SEC81">16.5 Reporting problems</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC81">bug tracker</a></td><td valign="top"><a href="libunistring_16.html#SEC81">16.5 Reporting problems</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_2">C</a></th><td></td><td></td></tr>
+<tr><th><a name="SEC94_2">C</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC6">C string functions</a></td><td valign="top"><a href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">C, programming language</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC52">C-like API</a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC53">C, programming language</a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC54">C-like API</a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC37">canonical combining class</a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC72">case detection</a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">case mappings</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX903"><code>casing_prefix_context_t</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX911"><code>casing_suffix_context_t</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC74">case detection</a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">case mappings</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX921"><code>casing_prefix_context_t</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX929"><code>casing_suffix_context_t</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX10">char, type</a></td><td valign="top"><a href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC82">char16_t, type</a></td><td valign="top"><a href="libunistring_19.html#SEC82">B. The <code>char32_t</code> problem</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC82">char32_t, type</a></td><td valign="top"><a href="libunistring_19.html#SEC82">B. The <code>char32_t</code> problem</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC63">combining, Unicode characters</a></td><td valign="top"><a href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC84">char16_t, type</a></td><td valign="top"><a href="libunistring_19.html#SEC84">B. The <code>char32_t</code> problem</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC84">char32_t, type</a></td><td valign="top"><a href="libunistring_19.html#SEC84">B. The <code>char32_t</code> problem</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC65">combining, Unicode characters</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.2 Composition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC17">comparing</a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC25">comparing</a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">comparing, ignoring case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX938">comparing, ignoring case, with collation rules</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC65">comparing, ignoring normalization</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">comparing, ignoring normalization and case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX940">comparing, ignoring normalization and case, with collation rules</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX876">comparing, ignoring normalization, with collation rules</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX108">comparing, with collation rules</a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX939">comparing, with collation rules, ignoring case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX877">comparing, with collation rules, ignoring normalization</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX941">comparing, with collation rules, ignoring normalization and case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX966">compiler options</a></td><td valign="top"><a href="libunistring_16.html#SEC76">16.2 Compiler options</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC63">composing, Unicode characters</a></td><td valign="top"><a href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC73">comparing, ignoring case</a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX956">comparing, ignoring case, with collation rules</a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC67">comparing, ignoring normalization</a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC73">comparing, ignoring normalization and case</a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX958">comparing, ignoring normalization and case, with collation rules</a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX894">comparing, ignoring normalization, with collation rules</a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX111">comparing, with collation rules</a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX957">comparing, with collation rules, ignoring case</a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX895">comparing, with collation rules, ignoring normalization</a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX959">comparing, with collation rules, ignoring normalization and case</a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX984">compiler options</a></td><td valign="top"><a href="libunistring_16.html#SEC78">16.2 Compiler options</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC65">composing, Unicode characters</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.2 Composition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC12">converting</a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX152">converting</a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX155">converting</a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC16">copying</a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC24">copying</a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC19">counting</a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_3">D</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC62">decomposing</a></td><td valign="top"><a href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC75">dependencies</a></td><td valign="top"><a href="libunistring_16.html#SEC75">16.1 Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC72">detecting case</a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
+<tr><th><a name="SEC94_3">D</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC64">decomposing</a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.1 Decomposition of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC77">dependencies</a></td><td valign="top"><a href="libunistring_16.html#SEC77">16.1 Installation</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC74">detecting case</a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC20">duplicating</a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC26">duplicating</a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_4">E</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX147"><code>enum iconv_ilseq_handler</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><th><a name="SEC94_4">E</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX150"><code>enum iconv_ilseq_handler</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_5">F</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC90">FDL, GNU Free Documentation License</a></td><td valign="top"><a href="libunistring_20.html#SEC90">C.3 GNU Free Documentation License</a></td></tr>
+<tr><th><a name="SEC94_5">F</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC92">FDL, GNU Free Documentation License</a></td><td valign="top"><a href="libunistring_20.html#SEC92">C.3 GNU Free Documentation License</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#SEC31">formatted output</a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX761">fullwidth</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX779">fullwidth</a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_6">G</a></th><td></td><td></td></tr>
+<tr><th><a name="SEC94_6">G</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">general category</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX969"><code>gl_LIBUNISTRING</code></a></td><td valign="top"><a href="libunistring_16.html#SEC78">16.4 Autoconf macro</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC84">GPL, GNU General Public License</a></td><td valign="top"><a href="libunistring_20.html#SEC84">C.1 GNU GENERAL PUBLIC LICENSE</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">grapheme cluster boundaries</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">grapheme cluster breaks</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX988"><code>gl_LIBUNISTRING</code></a></td><td valign="top"><a href="libunistring_16.html#SEC80">16.4 Autoconf macro</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC86">GPL, GNU General Public License</a></td><td valign="top"><a href="libunistring_20.html#SEC86">C.1 GNU GENERAL PUBLIC LICENSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC56">grapheme cluster boundaries</a></td><td valign="top"><a href="libunistring_10.html#SEC56">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC56">grapheme cluster breaks</a></td><td valign="top"><a href="libunistring_10.html#SEC56">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_7">H</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX760">halfwidth</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><th><a name="SEC94_7">H</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX778">halfwidth</a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_8">I</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX965">installation</a></td><td valign="top"><a href="libunistring_16.html#SEC75">16.1 Installation</a></td></tr>
+<tr><th><a name="SEC94_8">I</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC53">identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC50">Indic_Conjunct_Break</a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.10.1 Indic conjunct break</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX983">installation</a></td><td valign="top"><a href="libunistring_16.html#SEC77">16.1 Installation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC3">internationalization</a></td><td valign="top"><a href="libunistring_1.html#SEC3">1.2 Unicode and Internationalization</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC14">iterating</a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX71">iterating</a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX74">iterating</a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_9">J</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">Java, programming language</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
+<tr><th><a name="SEC94_9">J</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC53">Java, programming language</a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC45">joining group</a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC43">joining of Arabic characters</a></td><td valign="top"><a href="libunistring_8.html#SEC43">8.8 Arabic shaping</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC44">joining type</a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_10">L</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC89">LGPL, GNU Lesser General Public License</a></td><td valign="top"><a href="libunistring_20.html#SEC89">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC90">License, GNU FDL</a></td><td valign="top"><a href="libunistring_20.html#SEC90">C.3 GNU Free Documentation License</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC84">License, GNU GPL</a></td><td valign="top"><a href="libunistring_20.html#SEC84">C.1 GNU GENERAL PUBLIC LICENSE</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC89">License, GNU LGPL</a></td><td valign="top"><a href="libunistring_20.html#SEC89">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC83">Licenses</a></td><td valign="top"><a href="libunistring_20.html#SEC83">C. Licenses</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC60">line breaks</a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><th><a name="SEC94_10">L</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC91">LGPL, GNU Lesser General Public License</a></td><td valign="top"><a href="libunistring_20.html#SEC91">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC92">License, GNU FDL</a></td><td valign="top"><a href="libunistring_20.html#SEC92">C.3 GNU Free Documentation License</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC86">License, GNU GPL</a></td><td valign="top"><a href="libunistring_20.html#SEC86">C.1 GNU GENERAL PUBLIC LICENSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC91">License, GNU LGPL</a></td><td valign="top"><a href="libunistring_20.html#SEC91">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_20.html#SEC85">Licenses</a></td><td valign="top"><a href="libunistring_20.html#SEC85">C. Licenses</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC62">line breaks</a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC4">locale</a></td><td valign="top"><a href="libunistring_1.html#SEC4">1.3 Locale encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX7">locale categories</a></td><td valign="top"><a href="libunistring_1.html#SEC4">1.3 Locale encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX8">locale encoding</a></td><td valign="top"><a href="libunistring_1.html#SEC4">1.3 Locale encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX145">locale encoding</a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX892">locale language</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX148">locale encoding</a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX910">locale language</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX9">locale, multibyte</a></td><td valign="top"><a href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX146"><code>locale_charset</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">lowercasing</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX149"><code>locale_charset</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">lowercasing</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_11">M</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC79">mailing list</a></td><td valign="top"><a href="libunistring_16.html#SEC79">16.5 Reporting problems</a></td></tr>
+<tr><th><a name="SEC94_11">M</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC81">mailing list</a></td><td valign="top"><a href="libunistring_16.html#SEC81">16.5 Reporting problems</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC42">mirroring, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_12">N</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC61">normal forms</a></td><td valign="top"><a href="libunistring_13.html#SEC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC61">normalizing</a></td><td valign="top"><a href="libunistring_13.html#SEC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a></td></tr>
+<tr><th><a name="SEC94_12">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC63">normal forms</a></td><td valign="top"><a href="libunistring_13.html#SEC63">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC63">normalizing</a></td><td valign="top"><a href="libunistring_13.html#SEC63">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_13">O</a></th><td></td><td></td></tr>
+<tr><th><a name="SEC94_13">O</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#SEC31">output, formatted</a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_14">P</a></th><td></td><td></td></tr>
+<tr><th><a name="SEC94_14">P</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC46">properties, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC46">8.9 Properties</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_15">R</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_15.html#SEC73">regular expression</a></td><td valign="top"><a href="libunistring_15.html#SEC73">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_17.html#IDX970">rendering</a></td><td valign="top"><a href="libunistring_17.html#SEC80">17. More advanced functionality</a></td></tr>
+<tr><th><a name="SEC94_15">R</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_15.html#SEC75">regular expression</a></td><td valign="top"><a href="libunistring_15.html#SEC75">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_17.html#IDX989">rendering</a></td><td valign="top"><a href="libunistring_17.html#SEC82">17. More advanced functionality</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_2.html#IDX15">return value conventions</a></td><td valign="top"><a href="libunistring_2.html#SEC8">2. Conventions</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_16">S</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC49">scripts</a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
+<tr><th><a name="SEC94_16">S</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">scripts</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC18">searching, for a character</a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC27">searching, for a character</a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC28">searching, for a substring</a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC66">stream, normalizing a</a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX884"><code>struct uninorm_filter</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC68">stream, normalizing a</a></td><td valign="top"><a href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX902"><code>struct uninorm_filter</code></a></td><td valign="top"><a href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_17">T</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">titlecasing</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="SEC92_18">U</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX198"><code>u16_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX197"><code>u16_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX935"><code>u16_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX947"><code>u16_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX929"><code>u16_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX943"><code>u16_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX906"><code>u16_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX909"><code>u16_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX914"><code>u16_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX917"><code>u16_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX21"><code>u16_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX60"><code>u16_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX54"><code>u16_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX57"><code>u16_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX154"><code>u16_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX157"><code>u16_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX45"><code>u16_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX66"><code>u16_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX932"><code>u16_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX923"><code>u16_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX926"><code>u16_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX920"><code>u16_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX140"><code>u16_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX776"><code>u16_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX770"><code>u16_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX773"><code>u16_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX963"><code>u16_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX960"><code>u16_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX954"><code>u16_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX957"><code>u16_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX951"><code>u16_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX30"><code>u16_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX63"><code>u16_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX33"><code>u16_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX36"><code>u16_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX39"><code>u16_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX48"><code>u16_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX76"><code>u16_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX871"><code>u16_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX874"><code>u16_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX882"><code>u16_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX879"><code>u16_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX834"><code>u16_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX79"><code>u16_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX51"><code>u16_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX196"><code>u16_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX195"><code>u16_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX137"><code>u16_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX91"><code>u16_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX97"><code>u16_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX100"><code>u16_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX119"><code>u16_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX106"><code>u16_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX110"><code>u16_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX160"><code>u16_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX166"><code>u16_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX163"><code>u16_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX169"><code>u16_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX88"><code>u16_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX125"><code>u16_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX116"><code>u16_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX82"><code>u16_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX69"><code>u16_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX73"><code>u16_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX103"><code>u16_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX113"><code>u16_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX94"><code>u16_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX85"><code>u16_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX131"><code>u16_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX122"><code>u16_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX128"><code>u16_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX134"><code>u16_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX143"><code>u16_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX767"><code>u16_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX26"><code>u16_to_u32</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX25"><code>u16_to_u8</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX898"><code>u16_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX901"><code>u16_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX895"><code>u16_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX206"><code>u16_u16_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX205"><code>u16_u16_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX204"><code>u16_u16_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX203"><code>u16_u16_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX210"><code>u16_u16_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX209"><code>u16_u16_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX208"><code>u16_u16_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX207"><code>u16_u16_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX42"><code>u16_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX202"><code>u16_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX201"><code>u16_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX200"><code>u16_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX199"><code>u16_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX764"><code>u16_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX838"><code>u16_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX801"><code>u16_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX214"><code>u32_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX213"><code>u32_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX936"><code>u32_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX948"><code>u32_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX930"><code>u32_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX944"><code>u32_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX907"><code>u32_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX910"><code>u32_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX915"><code>u32_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX918"><code>u32_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX22"><code>u32_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX61"><code>u32_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX55"><code>u32_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX58"><code>u32_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX155"><code>u32_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX158"><code>u32_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX46"><code>u32_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX67"><code>u32_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX933"><code>u32_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX924"><code>u32_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX927"><code>u32_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX921"><code>u32_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX141"><code>u32_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX777"><code>u32_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX771"><code>u32_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX774"><code>u32_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX964"><code>u32_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX961"><code>u32_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX955"><code>u32_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX958"><code>u32_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX952"><code>u32_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX31"><code>u32_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX64"><code>u32_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX34"><code>u32_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX37"><code>u32_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX40"><code>u32_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX49"><code>u32_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX77"><code>u32_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX872"><code>u32_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX875"><code>u32_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX883"><code>u32_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX880"><code>u32_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX835"><code>u32_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX80"><code>u32_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX52"><code>u32_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX212"><code>u32_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX211"><code>u32_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX138"><code>u32_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX92"><code>u32_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX98"><code>u32_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX101"><code>u32_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX120"><code>u32_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX107"><code>u32_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX111"><code>u32_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX161"><code>u32_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX167"><code>u32_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX164"><code>u32_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX170"><code>u32_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX89"><code>u32_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX126"><code>u32_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX117"><code>u32_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX83"><code>u32_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX70"><code>u32_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX74"><code>u32_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX104"><code>u32_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX114"><code>u32_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX95"><code>u32_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX86"><code>u32_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX132"><code>u32_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX123"><code>u32_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX129"><code>u32_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX135"><code>u32_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX144"><code>u32_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX768"><code>u32_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX28"><code>u32_to_u16</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX27"><code>u32_to_u8</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX899"><code>u32_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX902"><code>u32_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX896"><code>u32_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX222"><code>u32_u32_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX221"><code>u32_u32_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX220"><code>u32_u32_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX219"><code>u32_u32_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX226"><code>u32_u32_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX225"><code>u32_u32_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX224"><code>u32_u32_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX223"><code>u32_u32_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX43"><code>u32_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX218"><code>u32_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX217"><code>u32_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX216"><code>u32_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX215"><code>u32_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX765"><code>u32_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX839"><code>u32_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX802"><code>u32_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX182"><code>u8_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX181"><code>u8_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX934"><code>u8_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX946"><code>u8_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX928"><code>u8_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX942"><code>u8_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX905"><code>u8_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX908"><code>u8_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX913"><code>u8_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX916"><code>u8_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX20"><code>u8_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX59"><code>u8_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX53"><code>u8_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX56"><code>u8_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX153"><code>u8_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX156"><code>u8_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX44"><code>u8_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX65"><code>u8_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX931"><code>u8_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX922"><code>u8_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX925"><code>u8_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX919"><code>u8_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX139"><code>u8_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX775"><code>u8_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX769"><code>u8_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX772"><code>u8_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX962"><code>u8_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX959"><code>u8_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX953"><code>u8_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX956"><code>u8_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX950"><code>u8_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX29"><code>u8_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX62"><code>u8_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX32"><code>u8_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX35"><code>u8_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX38"><code>u8_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX47"><code>u8_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX75"><code>u8_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX870"><code>u8_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX873"><code>u8_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX881"><code>u8_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX878"><code>u8_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX833"><code>u8_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX78"><code>u8_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX50"><code>u8_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX180"><code>u8_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX179"><code>u8_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX136"><code>u8_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX90"><code>u8_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX96"><code>u8_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX99"><code>u8_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX118"><code>u8_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX105"><code>u8_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX109"><code>u8_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX159"><code>u8_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX165"><code>u8_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX162"><code>u8_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX168"><code>u8_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX87"><code>u8_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX124"><code>u8_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX115"><code>u8_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX81"><code>u8_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX68"><code>u8_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX72"><code>u8_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX102"><code>u8_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX112"><code>u8_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX93"><code>u8_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX84"><code>u8_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX130"><code>u8_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX121"><code>u8_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX127"><code>u8_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX133"><code>u8_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX142"><code>u8_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX766"><code>u8_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX23"><code>u8_to_u16</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX24"><code>u8_to_u32</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX897"><code>u8_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX900"><code>u8_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX894"><code>u8_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX190"><code>u8_u8_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX189"><code>u8_u8_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX188"><code>u8_u8_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX187"><code>u8_u8_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX194"><code>u8_u8_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX193"><code>u8_u8_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX192"><code>u8_u8_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX191"><code>u8_u8_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX41"><code>u8_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX186"><code>u8_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX185"><code>u8_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX184"><code>u8_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX183"><code>u8_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX763"><code>u8_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX837"><code>u8_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX800"><code>u8_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX735"><code>uc_all_blocks</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX730"><code>uc_all_scripts</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX410"><code>uc_bidi_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX408"><code>uc_bidi_category_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX405"><code>uc_bidi_category_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX409"><code>uc_bidi_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX407"><code>uc_bidi_class_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX406"><code>uc_bidi_class_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX404"><code>uc_bidi_class_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX733"><code>uc_block</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX731"><code>uc_block_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX743"><code>uc_c_ident_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX860"><code>uc_canonical_decomposition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX380"><code>uc_combining_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX379"><code>uc_combining_class_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX378"><code>uc_combining_class_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX377"><code>uc_combining_class_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX861"><code>uc_composition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX413"><code>uc_decimal_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX859"><code>uc_decomposition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX414"><code>uc_digit_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX415"><code>uc_fraction_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX316"><code>uc_general_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX311"><code>uc_general_category_and</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX312"><code>uc_general_category_and_not</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX315"><code>uc_general_category_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX314"><code>uc_general_category_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX313"><code>uc_general_category_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX310"><code>uc_general_category_or</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX233"><code>uc_general_category_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX779"><code>uc_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX798"><code>uc_graphemeclusterbreak_property</code></a></td><td valign="top"><a href="libunistring_10.html#SEC56">10.2 Grapheme cluster break property</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX746"><code>uc_is_alnum</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX747"><code>uc_is_alpha</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX412"><code>uc_is_bidi_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX411"><code>uc_is_bidi_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX757"><code>uc_is_blank</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX734"><code>uc_is_block</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX736"><code>uc_is_c_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX748"><code>uc_is_cntrl</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX749"><code>uc_is_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX317"><code>uc_is_general_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX356"><code>uc_is_general_category_withtable</code></a></td><td valign="top"><a href="libunistring_8.html#SEC36">8.1.2 The bit mask API for general category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX750"><code>uc_is_graph</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX799"><code>uc_is_grapheme_break</code></a></td><td valign="top"><a href="libunistring_10.html#SEC56">10.2 Grapheme cluster break property</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX737"><code>uc_is_java_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX751"><code>uc_is_lower</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX752"><code>uc_is_print</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX631"><code>uc_is_property</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX633"><code>uc_is_property_alphabetic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX687"><code>uc_is_property_ascii_hex_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX676"><code>uc_is_property_bidi_arabic_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX672"><code>uc_is_property_bidi_arabic_right_to_left</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX678"><code>uc_is_property_bidi_block_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX682"><code>uc_is_property_bidi_boundary_neutral</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX677"><code>uc_is_property_bidi_common_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX669"><code>uc_is_property_bidi_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX684"><code>uc_is_property_bidi_embedding_or_override</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX674"><code>uc_is_property_bidi_eur_num_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX675"><code>uc_is_property_bidi_eur_num_terminator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX673"><code>uc_is_property_bidi_european_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX671"><code>uc_is_property_bidi_hebrew_right_to_left</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX670"><code>uc_is_property_bidi_left_to_right</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX681"><code>uc_is_property_bidi_non_spacing_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX685"><code>uc_is_property_bidi_other_neutral</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX683"><code>uc_is_property_bidi_pdf</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX679"><code>uc_is_property_bidi_segment_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX680"><code>uc_is_property_bidi_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX649"><code>uc_is_property_case_ignorable</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX648"><code>uc_is_property_cased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX653"><code>uc_is_property_changes_when_casefolded</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX654"><code>uc_is_property_changes_when_casemapped</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX650"><code>uc_is_property_changes_when_lowercased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX652"><code>uc_is_property_changes_when_titlecased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX651"><code>uc_is_property_changes_when_uppercased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX717"><code>uc_is_property_combining</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX718"><code>uc_is_property_composite</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX712"><code>uc_is_property_currency_symbol</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX704"><code>uc_is_property_dash</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX719"><code>uc_is_property_decimal_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX636"><code>uc_is_property_default_ignorable_code_point</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX638"><code>uc_is_property_deprecated</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX721"><code>uc_is_property_diacritic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX693"><code>uc_is_property_emoji</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX697"><code>uc_is_property_emoji_component</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX695"><code>uc_is_property_emoji_modifier</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX696"><code>uc_is_property_emoji_modifier_base</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX694"><code>uc_is_property_emoji_presentation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX698"><code>uc_is_property_extended_pictographic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX722"><code>uc_is_property_extender</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX703"><code>uc_is_property_format_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX665"><code>uc_is_property_grapheme_base</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX666"><code>uc_is_property_grapheme_extend</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX668"><code>uc_is_property_grapheme_link</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX686"><code>uc_is_property_hex_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX705"><code>uc_is_property_hyphen</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX658"><code>uc_is_property_id_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX656"><code>uc_is_property_id_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX688"><code>uc_is_property_ideographic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX691"><code>uc_is_property_ids_binary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX692"><code>uc_is_property_ids_trinary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX723"><code>uc_is_property_ignorable_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX702"><code>uc_is_property_iso_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX664"><code>uc_is_property_join_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX716"><code>uc_is_property_left_of_pair</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX707"><code>uc_is_property_line_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX639"><code>uc_is_property_logical_order_exception</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX645"><code>uc_is_property_lowercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX713"><code>uc_is_property_math</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX701"><code>uc_is_property_non_break</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX635"><code>uc_is_property_not_a_character</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX720"><code>uc_is_property_numeric</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX634"><code>uc_is_property_other_alphabetic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX637"><code>uc_is_property_other_default_ignorable_code_point</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX667"><code>uc_is_property_other_grapheme_extend</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX659"><code>uc_is_property_other_id_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX657"><code>uc_is_property_other_id_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX646"><code>uc_is_property_other_lowercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX714"><code>uc_is_property_other_math</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX644"><code>uc_is_property_other_uppercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX715"><code>uc_is_property_paired_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX708"><code>uc_is_property_paragraph_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX663"><code>uc_is_property_pattern_syntax</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX662"><code>uc_is_property_pattern_white_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX641"><code>uc_is_property_private_use</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX706"><code>uc_is_property_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX709"><code>uc_is_property_quotation_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX690"><code>uc_is_property_radical</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX724"><code>uc_is_property_regional_indicator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX710"><code>uc_is_property_sentence_terminal</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX655"><code>uc_is_property_soft_dotted</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX700"><code>uc_is_property_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX711"><code>uc_is_property_terminal_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX647"><code>uc_is_property_titlecase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX642"><code>uc_is_property_unassigned_code_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX689"><code>uc_is_property_unified_ideograph</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX643"><code>uc_is_property_uppercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX640"><code>uc_is_property_variation_selector</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX632"><code>uc_is_property_white_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX661"><code>uc_is_property_xid_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX660"><code>uc_is_property_xid_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX699"><code>uc_is_property_zero_width</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX753"><code>uc_is_punct</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX729"><code>uc_is_script</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX754"><code>uc_is_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX755"><code>uc_is_upper</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX756"><code>uc_is_xdigit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX745"><code>uc_java_ident_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX534"><code>uc_joining_group</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX533"><code>uc_joining_group_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX532"><code>uc_joining_group_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX427"><code>uc_joining_type</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX426"><code>uc_joining_type_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX425"><code>uc_joining_type_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX424"><code>uc_joining_type_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX893"><code>uc_locale_language</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX417"><code>uc_mirror_char</code></a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX416"><code>uc_numeric_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX629"><code>uc_property_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX630"><code>uc_property_is_valid</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX535"><code>uc_property_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX727"><code>uc_script</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX728"><code>uc_script_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX725"><code>uc_script_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX890"><code>uc_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX891"><code>uc_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX889"><code>uc_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX762"><code>uc_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX826"><code>uc_wordbreak_property</code></a></td><td valign="top"><a href="libunistring_11.html#SEC59">11.2 Word break property</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX6">UCS-4</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX19"><code>ucs4_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX17"><code>uint16_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX18"><code>uint32_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX16"><code>uint8_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX174"><code>ulc_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX173"><code>ulc_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX937"><code>ulc_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX949"><code>ulc_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX945"><code>ulc_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX227"><code>ulc_fprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX778"><code>ulc_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX836"><code>ulc_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX172"><code>ulc_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX171"><code>ulc_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX178"><code>ulc_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX177"><code>ulc_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX228"><code>ulc_vfprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX176"><code>ulc_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX175"><code>ulc_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX840"><code>ulc_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX803"><code>ulc_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC2">Unicode</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">Unicode character, bidi class</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">Unicode character, bidirectional category</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX732">Unicode character, block</a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC37">Unicode character, canonical combining class</a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC68">Unicode character, case mappings</a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">Unicode character, classification</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC52">Unicode character, classification like in C</a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">Unicode character, general category</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC42">Unicode character, mirroring</a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_7.html#SEC32">Unicode character, name</a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC46">Unicode character, properties</a></td><td valign="top"><a href="libunistring_8.html#SEC46">8.9 Properties</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX726">Unicode character, script</a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX742">Unicode character, validity in C identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX744">Unicode character, validity in Java identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC39">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC40">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC41">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX759">Unicode character, width</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_7.html#IDX230"><code>unicode_character_name</code></a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_7.html#IDX231"><code>unicode_name_character</code></a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX869"><code>uninorm_decomposing_form</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX885"><code>uninorm_filter_create</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX887"><code>uninorm_filter_flush</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX888"><code>uninorm_filter_free</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX886"><code>uninorm_filter_write</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX867"><code>uninorm_is_compat_decomposing</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX868"><code>uninorm_is_composing</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX862"><code>uninorm_t</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">uppercasing</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX1">use cases</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX4">UTF-16</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX12">UTF-16, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX5">UTF-32</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX13">UTF-32, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX3">UTF-8</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX11">UTF-8, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
+<tr><th><a name="SEC94_17">T</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">titlecasing</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC92_0" class="summary-letter"><b>A</b></a>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC94_0" class="summary-letter"><b>A</b></a>
&nbsp;
-<a href="#SEC92_1" class="summary-letter"><b>B</b></a>
+<a href="#SEC94_1" class="summary-letter"><b>B</b></a>
&nbsp;
-<a href="#SEC92_2" class="summary-letter"><b>C</b></a>
+<a href="#SEC94_2" class="summary-letter"><b>C</b></a>
&nbsp;
-<a href="#SEC92_3" class="summary-letter"><b>D</b></a>
+<a href="#SEC94_3" class="summary-letter"><b>D</b></a>
&nbsp;
-<a href="#SEC92_4" class="summary-letter"><b>E</b></a>
+<a href="#SEC94_4" class="summary-letter"><b>E</b></a>
&nbsp;
-<a href="#SEC92_5" class="summary-letter"><b>F</b></a>
+<a href="#SEC94_5" class="summary-letter"><b>F</b></a>
&nbsp;
-<a href="#SEC92_6" class="summary-letter"><b>G</b></a>
+<a href="#SEC94_6" class="summary-letter"><b>G</b></a>
&nbsp;
-<a href="#SEC92_7" class="summary-letter"><b>H</b></a>
+<a href="#SEC94_7" class="summary-letter"><b>H</b></a>
&nbsp;
-<a href="#SEC92_8" class="summary-letter"><b>I</b></a>
+<a href="#SEC94_8" class="summary-letter"><b>I</b></a>
&nbsp;
-<a href="#SEC92_9" class="summary-letter"><b>J</b></a>
+<a href="#SEC94_9" class="summary-letter"><b>J</b></a>
&nbsp;
-<a href="#SEC92_10" class="summary-letter"><b>L</b></a>
+<a href="#SEC94_10" class="summary-letter"><b>L</b></a>
&nbsp;
-<a href="#SEC92_11" class="summary-letter"><b>M</b></a>
+<a href="#SEC94_11" class="summary-letter"><b>M</b></a>
&nbsp;
-<a href="#SEC92_12" class="summary-letter"><b>N</b></a>
+<a href="#SEC94_12" class="summary-letter"><b>N</b></a>
&nbsp;
-<a href="#SEC92_13" class="summary-letter"><b>O</b></a>
+<a href="#SEC94_13" class="summary-letter"><b>O</b></a>
&nbsp;
-<a href="#SEC92_14" class="summary-letter"><b>P</b></a>
+<a href="#SEC94_14" class="summary-letter"><b>P</b></a>
&nbsp;
-<a href="#SEC92_15" class="summary-letter"><b>R</b></a>
+<a href="#SEC94_15" class="summary-letter"><b>R</b></a>
&nbsp;
-<a href="#SEC92_16" class="summary-letter"><b>S</b></a>
+<a href="#SEC94_16" class="summary-letter"><b>S</b></a>
&nbsp;
-<a href="#SEC92_17" class="summary-letter"><b>T</b></a>
+<a href="#SEC94_17" class="summary-letter"><b>T</b></a>
&nbsp;
-<a href="#SEC92_18" class="summary-letter"><b>U</b></a>
+<a href="libunistring_22.html#INDEX0_0" class="summary-letter"><b>U</b></a>
&nbsp;
-<a href="libunistring_22.html#INDEX0_0" class="summary-letter"><b>V</b></a>
+<a href="libunistring_23.html#INDEX1_0" class="summary-letter"><b>V</b></a>
&nbsp;
-<a href="libunistring_22.html#INDEX0_1" class="summary-letter"><b>W</b></a>
+<a href="libunistring_23.html#INDEX1_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_20.html#SEC83" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_20.html#SEC85" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_22.html#INDEX0" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -812,12 +298,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_22.html b/doc/libunistring_22.html
index 2ee8afa1..b153d464 100644
--- a/doc/libunistring_22.html
+++ b/doc/libunistring_22.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -11,10 +11,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
-<title>GNU libunistring: Index: V &ndash; W</title>
+<title>GNU libunistring: Index: U</title>
-<meta name="description" content="GNU libunistring: Index: V &ndash; W">
-<meta name="keywords" content="GNU libunistring: Index: V &ndash; W">
+<meta name="description" content="GNU libunistring: Index: U">
+<meta name="keywords" content="GNU libunistring: Index: U">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.78a">
@@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_23.html#INDEX1" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,124 +51,632 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="INDEX0"></a>
-<h1 class="unnumbered"> Index: V &ndash; W </h1>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_21.html#SEC92_0" class="summary-letter"><b>A</b></a>
+<h1 class="unnumbered"> Index: U </h1>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_21.html#SEC94_0" class="summary-letter"><b>A</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_1" class="summary-letter"><b>B</b></a>
+<a href="libunistring_21.html#SEC94_1" class="summary-letter"><b>B</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_2" class="summary-letter"><b>C</b></a>
+<a href="libunistring_21.html#SEC94_2" class="summary-letter"><b>C</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_3" class="summary-letter"><b>D</b></a>
+<a href="libunistring_21.html#SEC94_3" class="summary-letter"><b>D</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_4" class="summary-letter"><b>E</b></a>
+<a href="libunistring_21.html#SEC94_4" class="summary-letter"><b>E</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_5" class="summary-letter"><b>F</b></a>
+<a href="libunistring_21.html#SEC94_5" class="summary-letter"><b>F</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_6" class="summary-letter"><b>G</b></a>
+<a href="libunistring_21.html#SEC94_6" class="summary-letter"><b>G</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_7" class="summary-letter"><b>H</b></a>
+<a href="libunistring_21.html#SEC94_7" class="summary-letter"><b>H</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_8" class="summary-letter"><b>I</b></a>
+<a href="libunistring_21.html#SEC94_8" class="summary-letter"><b>I</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_9" class="summary-letter"><b>J</b></a>
+<a href="libunistring_21.html#SEC94_9" class="summary-letter"><b>J</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_10" class="summary-letter"><b>L</b></a>
+<a href="libunistring_21.html#SEC94_10" class="summary-letter"><b>L</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_11" class="summary-letter"><b>M</b></a>
+<a href="libunistring_21.html#SEC94_11" class="summary-letter"><b>M</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_12" class="summary-letter"><b>N</b></a>
+<a href="libunistring_21.html#SEC94_12" class="summary-letter"><b>N</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_13" class="summary-letter"><b>O</b></a>
+<a href="libunistring_21.html#SEC94_13" class="summary-letter"><b>O</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_14" class="summary-letter"><b>P</b></a>
+<a href="libunistring_21.html#SEC94_14" class="summary-letter"><b>P</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_15" class="summary-letter"><b>R</b></a>
+<a href="libunistring_21.html#SEC94_15" class="summary-letter"><b>R</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_16" class="summary-letter"><b>S</b></a>
+<a href="libunistring_21.html#SEC94_16" class="summary-letter"><b>S</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_17" class="summary-letter"><b>T</b></a>
+<a href="libunistring_21.html#SEC94_17" class="summary-letter"><b>T</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_18" class="summary-letter"><b>U</b></a>
+<a href="#INDEX0_0" class="summary-letter"><b>U</b></a>
&nbsp;
-<a href="#INDEX0_0" class="summary-letter"><b>V</b></a>
+<a href="libunistring_23.html#INDEX1_0" class="summary-letter"><b>V</b></a>
&nbsp;
-<a href="#INDEX0_1" class="summary-letter"><b>W</b></a>
+<a href="libunistring_23.html#INDEX1_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<table border="0" class="index-cp">
<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="INDEX0_0">V</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">validity</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX2">value, of libunistring</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC39">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC40">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC41">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">verification</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
-<tr><td colspan="3"> <hr></td></tr>
-<tr><th><a name="INDEX0_1">W</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_18.html#SEC81">wchar_t, type</a></td><td valign="top"><a href="libunistring_18.html#SEC81">A. The <code>wchar_t</code> mess</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">well-formed</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_9.html#SEC53">width</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">word boundaries</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">word breaks</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC60">wrapping</a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><th><a name="INDEX0_0">U</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX201"><code>u16_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX200"><code>u16_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX953"><code>u16_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX965"><code>u16_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX947"><code>u16_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX961"><code>u16_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX924"><code>u16_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX927"><code>u16_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX932"><code>u16_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX935"><code>u16_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX21"><code>u16_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX63"><code>u16_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX57"><code>u16_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX60"><code>u16_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX157"><code>u16_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX160"><code>u16_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX45"><code>u16_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX69"><code>u16_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX950"><code>u16_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX941"><code>u16_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX944"><code>u16_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX938"><code>u16_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX143"><code>u16_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX794"><code>u16_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX788"><code>u16_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX791"><code>u16_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX981"><code>u16_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX978"><code>u16_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX972"><code>u16_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX975"><code>u16_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX969"><code>u16_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX30"><code>u16_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX66"><code>u16_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX33"><code>u16_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX36"><code>u16_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX39"><code>u16_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX51"><code>u16_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX79"><code>u16_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX889"><code>u16_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX892"><code>u16_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX900"><code>u16_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX897"><code>u16_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX48"><code>u16_pcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX852"><code>u16_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX82"><code>u16_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX54"><code>u16_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX199"><code>u16_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX198"><code>u16_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX140"><code>u16_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX94"><code>u16_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX100"><code>u16_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX103"><code>u16_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX122"><code>u16_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX109"><code>u16_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX113"><code>u16_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX163"><code>u16_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX169"><code>u16_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX166"><code>u16_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX172"><code>u16_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX91"><code>u16_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX128"><code>u16_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX119"><code>u16_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX85"><code>u16_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX72"><code>u16_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX76"><code>u16_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX106"><code>u16_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX116"><code>u16_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX97"><code>u16_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX88"><code>u16_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX134"><code>u16_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX125"><code>u16_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX131"><code>u16_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX137"><code>u16_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX146"><code>u16_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX785"><code>u16_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX26"><code>u16_to_u32</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX25"><code>u16_to_u8</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX916"><code>u16_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX919"><code>u16_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX913"><code>u16_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX209"><code>u16_u16_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX208"><code>u16_u16_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX207"><code>u16_u16_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX206"><code>u16_u16_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX213"><code>u16_u16_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX212"><code>u16_u16_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX211"><code>u16_u16_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX210"><code>u16_u16_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX42"><code>u16_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX205"><code>u16_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX204"><code>u16_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX203"><code>u16_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX202"><code>u16_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX782"><code>u16_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX856"><code>u16_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX819"><code>u16_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC60">11.1 Word breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX217"><code>u32_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX216"><code>u32_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX954"><code>u32_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX966"><code>u32_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX948"><code>u32_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX962"><code>u32_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX925"><code>u32_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX928"><code>u32_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX933"><code>u32_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX936"><code>u32_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX22"><code>u32_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX64"><code>u32_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX58"><code>u32_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX61"><code>u32_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX158"><code>u32_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX161"><code>u32_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX46"><code>u32_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX70"><code>u32_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX951"><code>u32_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX942"><code>u32_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX945"><code>u32_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX939"><code>u32_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX144"><code>u32_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX795"><code>u32_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX789"><code>u32_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX792"><code>u32_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX982"><code>u32_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX979"><code>u32_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX973"><code>u32_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX976"><code>u32_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX970"><code>u32_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX31"><code>u32_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX67"><code>u32_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX34"><code>u32_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX37"><code>u32_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX40"><code>u32_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX52"><code>u32_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX80"><code>u32_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX890"><code>u32_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX893"><code>u32_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX901"><code>u32_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX898"><code>u32_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX49"><code>u32_pcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX853"><code>u32_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX83"><code>u32_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX55"><code>u32_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX215"><code>u32_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX214"><code>u32_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX141"><code>u32_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX95"><code>u32_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX101"><code>u32_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX104"><code>u32_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX123"><code>u32_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX110"><code>u32_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX114"><code>u32_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX164"><code>u32_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX170"><code>u32_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX167"><code>u32_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX173"><code>u32_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX92"><code>u32_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX129"><code>u32_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX120"><code>u32_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX86"><code>u32_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX73"><code>u32_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX77"><code>u32_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX107"><code>u32_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX117"><code>u32_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX98"><code>u32_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX89"><code>u32_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX135"><code>u32_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX126"><code>u32_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX132"><code>u32_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX138"><code>u32_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX147"><code>u32_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX786"><code>u32_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX28"><code>u32_to_u16</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX27"><code>u32_to_u8</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX917"><code>u32_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX920"><code>u32_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX914"><code>u32_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX225"><code>u32_u32_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX224"><code>u32_u32_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX223"><code>u32_u32_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX222"><code>u32_u32_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX229"><code>u32_u32_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX228"><code>u32_u32_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX227"><code>u32_u32_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX226"><code>u32_u32_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX43"><code>u32_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX221"><code>u32_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX220"><code>u32_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX219"><code>u32_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX218"><code>u32_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX783"><code>u32_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX857"><code>u32_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX820"><code>u32_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC60">11.1 Word breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX185"><code>u8_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX184"><code>u8_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX952"><code>u8_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX964"><code>u8_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX946"><code>u8_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX960"><code>u8_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX923"><code>u8_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX926"><code>u8_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX931"><code>u8_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX934"><code>u8_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX20"><code>u8_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX62"><code>u8_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX56"><code>u8_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX59"><code>u8_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX156"><code>u8_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX159"><code>u8_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX44"><code>u8_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX68"><code>u8_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX949"><code>u8_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX940"><code>u8_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX943"><code>u8_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX937"><code>u8_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX142"><code>u8_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX793"><code>u8_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX787"><code>u8_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX790"><code>u8_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX980"><code>u8_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX977"><code>u8_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX971"><code>u8_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX974"><code>u8_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX968"><code>u8_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC74">14.5 Case detection</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX29"><code>u8_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX65"><code>u8_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX32"><code>u8_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX35"><code>u8_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX38"><code>u8_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX50"><code>u8_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX78"><code>u8_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX888"><code>u8_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX891"><code>u8_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX899"><code>u8_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX896"><code>u8_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX47"><code>u8_pcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX851"><code>u8_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX81"><code>u8_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX53"><code>u8_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX183"><code>u8_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX182"><code>u8_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX139"><code>u8_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX93"><code>u8_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX99"><code>u8_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX102"><code>u8_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX121"><code>u8_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX108"><code>u8_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX112"><code>u8_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX162"><code>u8_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX168"><code>u8_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX165"><code>u8_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX171"><code>u8_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX90"><code>u8_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX127"><code>u8_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX118"><code>u8_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX84"><code>u8_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX71"><code>u8_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX75"><code>u8_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX105"><code>u8_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX115"><code>u8_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX96"><code>u8_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX87"><code>u8_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX133"><code>u8_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX124"><code>u8_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX130"><code>u8_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX136"><code>u8_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX145"><code>u8_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX784"><code>u8_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX23"><code>u8_to_u16</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX24"><code>u8_to_u32</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX915"><code>u8_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX918"><code>u8_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX912"><code>u8_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX193"><code>u8_u8_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX192"><code>u8_u8_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX191"><code>u8_u8_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX190"><code>u8_u8_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX197"><code>u8_u8_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX196"><code>u8_u8_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX195"><code>u8_u8_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX194"><code>u8_u8_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX41"><code>u8_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX189"><code>u8_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX188"><code>u8_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX187"><code>u8_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX186"><code>u8_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX781"><code>u8_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX855"><code>u8_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX818"><code>u8_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC60">11.1 Word breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX753"><code>uc_all_blocks</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.12 Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX748"><code>uc_all_scripts</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX413"><code>uc_bidi_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX411"><code>uc_bidi_category_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX408"><code>uc_bidi_category_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX412"><code>uc_bidi_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX410"><code>uc_bidi_class_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX409"><code>uc_bidi_class_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX407"><code>uc_bidi_class_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX751"><code>uc_block</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.12 Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX749"><code>uc_block_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.12 Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX761"><code>uc_c_ident_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX878"><code>uc_canonical_decomposition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.1 Decomposition of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX383"><code>uc_combining_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX382"><code>uc_combining_class_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX381"><code>uc_combining_class_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX380"><code>uc_combining_class_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX879"><code>uc_composition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.2 Composition of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX416"><code>uc_decimal_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX877"><code>uc_decomposition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.1 Decomposition of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX417"><code>uc_digit_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX418"><code>uc_fraction_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX319"><code>uc_general_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX314"><code>uc_general_category_and</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX315"><code>uc_general_category_and_not</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX318"><code>uc_general_category_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX317"><code>uc_general_category_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX316"><code>uc_general_category_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX313"><code>uc_general_category_or</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX236"><code>uc_general_category_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX797"><code>uc_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX816"><code>uc_graphemeclusterbreak_property</code></a></td><td valign="top"><a href="libunistring_10.html#SEC58">10.2 Grapheme cluster break property</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX742"><code>uc_indic_conjunct_break</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.10.1 Indic conjunct break</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX741"><code>uc_indic_conjunct_break_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.10.1 Indic conjunct break</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX740"><code>uc_indic_conjunct_break_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.10.1 Indic conjunct break</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX764"><code>uc_is_alnum</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX765"><code>uc_is_alpha</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX415"><code>uc_is_bidi_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX414"><code>uc_is_bidi_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX775"><code>uc_is_blank</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX752"><code>uc_is_block</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.12 Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX754"><code>uc_is_c_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX766"><code>uc_is_cntrl</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX767"><code>uc_is_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX320"><code>uc_is_general_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX359"><code>uc_is_general_category_withtable</code></a></td><td valign="top"><a href="libunistring_8.html#SEC36">8.1.2 The bit mask API for general category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX768"><code>uc_is_graph</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX817"><code>uc_is_grapheme_break</code></a></td><td valign="top"><a href="libunistring_10.html#SEC58">10.2 Grapheme cluster break property</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX755"><code>uc_is_java_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX769"><code>uc_is_lower</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX770"><code>uc_is_print</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX638"><code>uc_is_property</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX640"><code>uc_is_property_alphabetic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX696"><code>uc_is_property_ascii_hex_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX685"><code>uc_is_property_bidi_arabic_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX681"><code>uc_is_property_bidi_arabic_right_to_left</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX687"><code>uc_is_property_bidi_block_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX691"><code>uc_is_property_bidi_boundary_neutral</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX686"><code>uc_is_property_bidi_common_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX678"><code>uc_is_property_bidi_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX693"><code>uc_is_property_bidi_embedding_or_override</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX683"><code>uc_is_property_bidi_eur_num_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX684"><code>uc_is_property_bidi_eur_num_terminator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX682"><code>uc_is_property_bidi_european_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX680"><code>uc_is_property_bidi_hebrew_right_to_left</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX679"><code>uc_is_property_bidi_left_to_right</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX690"><code>uc_is_property_bidi_non_spacing_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX694"><code>uc_is_property_bidi_other_neutral</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX692"><code>uc_is_property_bidi_pdf</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX688"><code>uc_is_property_bidi_segment_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX689"><code>uc_is_property_bidi_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX656"><code>uc_is_property_case_ignorable</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX655"><code>uc_is_property_cased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX660"><code>uc_is_property_changes_when_casefolded</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX661"><code>uc_is_property_changes_when_casemapped</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX657"><code>uc_is_property_changes_when_lowercased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX659"><code>uc_is_property_changes_when_titlecased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX658"><code>uc_is_property_changes_when_uppercased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX728"><code>uc_is_property_combining</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX729"><code>uc_is_property_composite</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX723"><code>uc_is_property_currency_symbol</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX715"><code>uc_is_property_dash</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX730"><code>uc_is_property_decimal_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX643"><code>uc_is_property_default_ignorable_code_point</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX645"><code>uc_is_property_deprecated</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX732"><code>uc_is_property_diacritic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX703"><code>uc_is_property_emoji</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX707"><code>uc_is_property_emoji_component</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX705"><code>uc_is_property_emoji_modifier</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX706"><code>uc_is_property_emoji_modifier_base</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX704"><code>uc_is_property_emoji_presentation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX708"><code>uc_is_property_extended_pictographic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX733"><code>uc_is_property_extender</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX713"><code>uc_is_property_format_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX674"><code>uc_is_property_grapheme_base</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX675"><code>uc_is_property_grapheme_extend</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX677"><code>uc_is_property_grapheme_link</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX695"><code>uc_is_property_hex_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX716"><code>uc_is_property_hyphen</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX670"><code>uc_is_property_id_compat_math_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX669"><code>uc_is_property_id_compat_math_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX665"><code>uc_is_property_id_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX663"><code>uc_is_property_id_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX697"><code>uc_is_property_ideographic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX701"><code>uc_is_property_ids_binary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX702"><code>uc_is_property_ids_trinary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX700"><code>uc_is_property_ids_unary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX734"><code>uc_is_property_ignorable_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX712"><code>uc_is_property_iso_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX673"><code>uc_is_property_join_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX727"><code>uc_is_property_left_of_pair</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX718"><code>uc_is_property_line_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX646"><code>uc_is_property_logical_order_exception</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX652"><code>uc_is_property_lowercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX724"><code>uc_is_property_math</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX711"><code>uc_is_property_non_break</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX642"><code>uc_is_property_not_a_character</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX731"><code>uc_is_property_numeric</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX641"><code>uc_is_property_other_alphabetic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX644"><code>uc_is_property_other_default_ignorable_code_point</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX676"><code>uc_is_property_other_grapheme_extend</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX666"><code>uc_is_property_other_id_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX664"><code>uc_is_property_other_id_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX653"><code>uc_is_property_other_lowercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX725"><code>uc_is_property_other_math</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX651"><code>uc_is_property_other_uppercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX726"><code>uc_is_property_paired_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX719"><code>uc_is_property_paragraph_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX672"><code>uc_is_property_pattern_syntax</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX671"><code>uc_is_property_pattern_white_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX714"><code>uc_is_property_prepended_concatenation_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX648"><code>uc_is_property_private_use</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX717"><code>uc_is_property_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX720"><code>uc_is_property_quotation_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX699"><code>uc_is_property_radical</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX735"><code>uc_is_property_regional_indicator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX721"><code>uc_is_property_sentence_terminal</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX662"><code>uc_is_property_soft_dotted</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX710"><code>uc_is_property_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX722"><code>uc_is_property_terminal_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX654"><code>uc_is_property_titlecase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX649"><code>uc_is_property_unassigned_code_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX698"><code>uc_is_property_unified_ideograph</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX650"><code>uc_is_property_uppercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX647"><code>uc_is_property_variation_selector</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX639"><code>uc_is_property_white_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX668"><code>uc_is_property_xid_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX667"><code>uc_is_property_xid_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX709"><code>uc_is_property_zero_width</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX771"><code>uc_is_punct</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX747"><code>uc_is_script</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX772"><code>uc_is_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX773"><code>uc_is_upper</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX774"><code>uc_is_xdigit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX763"><code>uc_java_ident_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX537"><code>uc_joining_group</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX536"><code>uc_joining_group_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX535"><code>uc_joining_group_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX430"><code>uc_joining_type</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX429"><code>uc_joining_type_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX428"><code>uc_joining_type_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX427"><code>uc_joining_type_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX911"><code>uc_locale_language</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX420"><code>uc_mirror_char</code></a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX419"><code>uc_numeric_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX636"><code>uc_property_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX637"><code>uc_property_is_valid</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX538"><code>uc_property_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX745"><code>uc_script</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX746"><code>uc_script_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX743"><code>uc_script_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX908"><code>uc_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.1 Case mappings of characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX909"><code>uc_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.1 Case mappings of characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX907"><code>uc_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.1 Case mappings of characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX780"><code>uc_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX844"><code>uc_wordbreak_property</code></a></td><td valign="top"><a href="libunistring_11.html#SEC61">11.2 Word break property</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX6">UCS-4</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX19"><code>ucs4_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX17"><code>uint16_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX18"><code>uint32_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX16"><code>uint8_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX177"><code>ulc_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX176"><code>ulc_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX955"><code>ulc_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX967"><code>ulc_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX963"><code>ulc_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX230"><code>ulc_fprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX796"><code>ulc_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX854"><code>ulc_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX175"><code>ulc_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX174"><code>ulc_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX181"><code>ulc_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX180"><code>ulc_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX231"><code>ulc_vfprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX179"><code>ulc_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX178"><code>ulc_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX858"><code>ulc_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX821"><code>ulc_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC60">11.1 Word breaks in a string</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC2">Unicode</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">Unicode character, bidi class</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">Unicode character, bidirectional category</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX750">Unicode character, block</a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.12 Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC37">Unicode character, canonical combining class</a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC70">Unicode character, case mappings</a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.1 Case mappings of characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">Unicode character, classification</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC54">Unicode character, classification like in C</a></td><td valign="top"><a href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">Unicode character, general category</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC42">Unicode character, mirroring</a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_7.html#SEC32">Unicode character, name</a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC46">Unicode character, properties</a></td><td valign="top"><a href="libunistring_8.html#SEC46">8.9 Properties</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX744">Unicode character, script</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.11 Scripts</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX760">Unicode character, validity in C identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX762">Unicode character, validity in Java identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC39">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC40">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC41">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX777">Unicode character, width</a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_7.html#IDX233"><code>unicode_character_name</code></a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_7.html#IDX234"><code>unicode_name_character</code></a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX887"><code>uninorm_decomposing_form</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX903"><code>uninorm_filter_create</code></a></td><td valign="top"><a href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX905"><code>uninorm_filter_flush</code></a></td><td valign="top"><a href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX906"><code>uninorm_filter_free</code></a></td><td valign="top"><a href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX904"><code>uninorm_filter_write</code></a></td><td valign="top"><a href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX885"><code>uninorm_is_compat_decomposing</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX886"><code>uninorm_is_composing</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX880"><code>uninorm_t</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">uppercasing</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX1">use cases</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX4">UTF-16</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX12">UTF-16, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX5">UTF-32</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX13">UTF-32, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX3">UTF-8</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX11">UTF-8, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_21.html#SEC92_0" class="summary-letter"><b>A</b></a>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_21.html#SEC94_0" class="summary-letter"><b>A</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_1" class="summary-letter"><b>B</b></a>
+<a href="libunistring_21.html#SEC94_1" class="summary-letter"><b>B</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_2" class="summary-letter"><b>C</b></a>
+<a href="libunistring_21.html#SEC94_2" class="summary-letter"><b>C</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_3" class="summary-letter"><b>D</b></a>
+<a href="libunistring_21.html#SEC94_3" class="summary-letter"><b>D</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_4" class="summary-letter"><b>E</b></a>
+<a href="libunistring_21.html#SEC94_4" class="summary-letter"><b>E</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_5" class="summary-letter"><b>F</b></a>
+<a href="libunistring_21.html#SEC94_5" class="summary-letter"><b>F</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_6" class="summary-letter"><b>G</b></a>
+<a href="libunistring_21.html#SEC94_6" class="summary-letter"><b>G</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_7" class="summary-letter"><b>H</b></a>
+<a href="libunistring_21.html#SEC94_7" class="summary-letter"><b>H</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_8" class="summary-letter"><b>I</b></a>
+<a href="libunistring_21.html#SEC94_8" class="summary-letter"><b>I</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_9" class="summary-letter"><b>J</b></a>
+<a href="libunistring_21.html#SEC94_9" class="summary-letter"><b>J</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_10" class="summary-letter"><b>L</b></a>
+<a href="libunistring_21.html#SEC94_10" class="summary-letter"><b>L</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_11" class="summary-letter"><b>M</b></a>
+<a href="libunistring_21.html#SEC94_11" class="summary-letter"><b>M</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_12" class="summary-letter"><b>N</b></a>
+<a href="libunistring_21.html#SEC94_12" class="summary-letter"><b>N</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_13" class="summary-letter"><b>O</b></a>
+<a href="libunistring_21.html#SEC94_13" class="summary-letter"><b>O</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_14" class="summary-letter"><b>P</b></a>
+<a href="libunistring_21.html#SEC94_14" class="summary-letter"><b>P</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_15" class="summary-letter"><b>R</b></a>
+<a href="libunistring_21.html#SEC94_15" class="summary-letter"><b>R</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_16" class="summary-letter"><b>S</b></a>
+<a href="libunistring_21.html#SEC94_16" class="summary-letter"><b>S</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_17" class="summary-letter"><b>T</b></a>
+<a href="libunistring_21.html#SEC94_17" class="summary-letter"><b>T</b></a>
&nbsp;
-<a href="libunistring_21.html#SEC92_18" class="summary-letter"><b>U</b></a>
+<a href="#INDEX0_0" class="summary-letter"><b>U</b></a>
&nbsp;
-<a href="#INDEX0_0" class="summary-letter"><b>V</b></a>
+<a href="libunistring_23.html#INDEX1_0" class="summary-letter"><b>V</b></a>
&nbsp;
-<a href="#INDEX0_1" class="summary-letter"><b>W</b></a>
+<a href="libunistring_23.html#INDEX1_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
-
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
-<tr><td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<tr><td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_23.html#INDEX1" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -176,12 +684,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_23.html b/doc/libunistring_23.html
new file mode 100644
index 00000000..cea7ad59
--- /dev/null
+++ b/doc/libunistring_23.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
+<html>
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
+<!--
+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
+ Karl Berry <karl@freefriends.org>
+ Olaf Bachmann <obachman@mathematik.uni-kl.de>
+ and many others.
+Maintained by: Many creative people.
+Send bugs and suggestions to <texi2html-bug@nongnu.org>
+
+-->
+<head>
+<title>GNU libunistring: Index: V &ndash; W</title>
+
+<meta name="description" content="GNU libunistring: Index: V &ndash; W">
+<meta name="keywords" content="GNU libunistring: Index: V &ndash; W">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2html 1.78a">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+pre.display {font-family: serif}
+pre.format {font-family: serif}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: serif; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: serif; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.roman {font-family:serif; font-weight:normal;}
+span.sansserif {font-family:sans-serif; font-weight:normal;}
+ul.toc {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="libunistring_22.html#INDEX0" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+
+<hr size="2">
+<a name="INDEX1"></a>
+<h1 class="unnumbered"> Index: V &ndash; W </h1>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_21.html#SEC94_0" class="summary-letter"><b>A</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_1" class="summary-letter"><b>B</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_2" class="summary-letter"><b>C</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_3" class="summary-letter"><b>D</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_4" class="summary-letter"><b>E</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_5" class="summary-letter"><b>F</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_6" class="summary-letter"><b>G</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_7" class="summary-letter"><b>H</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_8" class="summary-letter"><b>I</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_9" class="summary-letter"><b>J</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_10" class="summary-letter"><b>L</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_11" class="summary-letter"><b>M</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_12" class="summary-letter"><b>N</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_13" class="summary-letter"><b>O</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_14" class="summary-letter"><b>P</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_15" class="summary-letter"><b>R</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_16" class="summary-letter"><b>S</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_17" class="summary-letter"><b>T</b></a>
+ &nbsp;
+<a href="libunistring_22.html#INDEX0_0" class="summary-letter"><b>U</b></a>
+ &nbsp;
+<a href="#INDEX1_0" class="summary-letter"><b>V</b></a>
+ &nbsp;
+<a href="#INDEX1_1" class="summary-letter"><b>W</b></a>
+ &nbsp;
+</td></tr></table>
+<table border="0" class="index-cp">
+<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="INDEX1_0">V</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">validity</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX2">value, of libunistring</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC39">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC40">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC41">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">verification</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="INDEX1_1">W</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_18.html#SEC83">wchar_t, type</a></td><td valign="top"><a href="libunistring_18.html#SEC83">A. The <code>wchar_t</code> mess</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">well-formed</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_9.html#SEC55">width</a></td><td valign="top"><a href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC59">word boundaries</a></td><td valign="top"><a href="libunistring_11.html#SEC59">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC59">word breaks</a></td><td valign="top"><a href="libunistring_11.html#SEC59">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC62">wrapping</a></td><td valign="top"><a href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_21.html#SEC94_0" class="summary-letter"><b>A</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_1" class="summary-letter"><b>B</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_2" class="summary-letter"><b>C</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_3" class="summary-letter"><b>D</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_4" class="summary-letter"><b>E</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_5" class="summary-letter"><b>F</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_6" class="summary-letter"><b>G</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_7" class="summary-letter"><b>H</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_8" class="summary-letter"><b>I</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_9" class="summary-letter"><b>J</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_10" class="summary-letter"><b>L</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_11" class="summary-letter"><b>M</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_12" class="summary-letter"><b>N</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_13" class="summary-letter"><b>O</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_14" class="summary-letter"><b>P</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_15" class="summary-letter"><b>R</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_16" class="summary-letter"><b>S</b></a>
+ &nbsp;
+<a href="libunistring_21.html#SEC94_17" class="summary-letter"><b>T</b></a>
+ &nbsp;
+<a href="libunistring_22.html#INDEX0_0" class="summary-letter"><b>U</b></a>
+ &nbsp;
+<a href="#INDEX1_0" class="summary-letter"><b>V</b></a>
+ &nbsp;
+<a href="#INDEX1_1" class="summary-letter"><b>W</b></a>
+ &nbsp;
+</td></tr></table>
+
+<hr size="6">
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="libunistring_22.html#INDEX0" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<p>
+ <font size="-1">
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ </font>
+ <br>
+
+</p>
+</body>
+</html>
diff --git a/doc/libunistring_3.html b/doc/libunistring_3.html
index 33ac3f5e..e052e3f8 100644
--- a/doc/libunistring_3.html
+++ b/doc/libunistring_3.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -105,12 +105,12 @@ declared to take <code>ucs4_t</code> arguments will not perform such a range-che
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_4.html b/doc/libunistring_4.html
index 1b77f26f..44dbb24c 100644
--- a/doc/libunistring_4.html
+++ b/doc/libunistring_4.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -297,15 +297,32 @@ Unicode strings.
</p></dd></dl>
<dl>
-<dt><u>Function:</u> uint8_t * <b>u8_move</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
+<dt><u>Function:</u> uint8_t * <b>u8_pcpy</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
<a name="IDX47"></a>
</dt>
-<dt><u>Function:</u> uint16_t * <b>u16_move</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
+<dt><u>Function:</u> uint16_t * <b>u16_pcpy</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
<a name="IDX48"></a>
</dt>
-<dt><u>Function:</u> uint32_t * <b>u32_move</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
+<dt><u>Function:</u> uint32_t * <b>u32_pcpy</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
<a name="IDX49"></a>
</dt>
+<dd><p>Copies <var>n</var> units from <var>src</var> to <var>dest</var>, returning a pointer
+after the last written unit.
+</p>
+<p>This function is similar to <code>mempcpy</code>, except that it operates on
+Unicode strings.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> uint8_t * <b>u8_move</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
+<a name="IDX50"></a>
+</dt>
+<dt><u>Function:</u> uint16_t * <b>u16_move</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
+<a name="IDX51"></a>
+</dt>
+<dt><u>Function:</u> uint32_t * <b>u32_move</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
+<a name="IDX52"></a>
+</dt>
<dd><p>Copies <var>n</var> units from <var>src</var> to <var>dest</var>, guaranteeing correct
behavior for overlapping memory areas.
</p>
@@ -317,13 +334,13 @@ Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_set</b><i> (uint8_t&nbsp;*<var>s</var>, ucs4_t&nbsp;<var>uc</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX50"></a>
+<a name="IDX53"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_set</b><i> (uint16_t&nbsp;*<var>s</var>, ucs4_t&nbsp;<var>uc</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX51"></a>
+<a name="IDX54"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_set</b><i> (uint32_t&nbsp;*<var>s</var>, ucs4_t&nbsp;<var>uc</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX52"></a>
+<a name="IDX55"></a>
</dt>
<dd><p>Sets the first <var>n</var> characters of <var>s</var> to <var>uc</var>. <var>uc</var> should be
a character that occupies only 1 unit.
@@ -341,13 +358,13 @@ Unicode strings.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_cmp</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX53"></a>
+<a name="IDX56"></a>
</dt>
<dt><u>Function:</u> int <b>u16_cmp</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX54"></a>
+<a name="IDX57"></a>
</dt>
<dt><u>Function:</u> int <b>u32_cmp</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX55"></a>
+<a name="IDX58"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, each of length <var>n</var>, lexicographically.
Returns a negative value if <var>s1</var> compares smaller than <var>s2</var>,
@@ -363,13 +380,13 @@ lengths.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_cmp2</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>)</i>
-<a name="IDX56"></a>
+<a name="IDX59"></a>
</dt>
<dt><u>Function:</u> int <b>u16_cmp2</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>)</i>
-<a name="IDX57"></a>
+<a name="IDX60"></a>
</dt>
<dt><u>Function:</u> int <b>u32_cmp2</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, size_t&nbsp;<var>n1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n2</var>)</i>
-<a name="IDX58"></a>
+<a name="IDX61"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, lexicographically.
Returns a negative value if <var>s1</var> compares smaller than <var>s2</var>,
@@ -389,13 +406,13 @@ operates on Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_chr</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX59"></a>
+<a name="IDX62"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_chr</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX60"></a>
+<a name="IDX63"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_chr</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX61"></a>
+<a name="IDX64"></a>
</dt>
<dd><p>Searches the string at <var>s</var> for <var>uc</var>. Returns a pointer to the first
occurrence of <var>uc</var> in <var>s</var>, or NULL if <var>uc</var> does not occur in
@@ -414,13 +431,13 @@ Unicode strings.
</p>
<dl>
<dt><u>Function:</u> size_t <b>u8_mbsnlen</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX62"></a>
+<a name="IDX65"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_mbsnlen</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX63"></a>
+<a name="IDX66"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_mbsnlen</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX64"></a>
+<a name="IDX67"></a>
</dt>
<dd><p>Counts and returns the number of Unicode characters in the <var>n</var> units
from <var>s</var>.
@@ -438,13 +455,13 @@ it operates on Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_cpy_alloc</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX65"></a>
+<a name="IDX68"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_cpy_alloc</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX66"></a>
+<a name="IDX69"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_cpy_alloc</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX67"></a>
+<a name="IDX70"></a>
</dt>
<dd><p>Makes a freshly allocated copy of <var>s</var>, of length <var>n</var>.
</p></dd></dl>
@@ -465,28 +482,28 @@ in a Unicode string.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_strmblen</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>)</i>
-<a name="IDX68"></a>
+<a name="IDX71"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strmblen</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>)</i>
-<a name="IDX69"></a>
+<a name="IDX72"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strmblen</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>)</i>
-<a name="IDX70"></a>
+<a name="IDX73"></a>
</dt>
<dd><p>Returns the length (number of units) of the first character in <var>s</var>.
Returns 0 if it is the NUL character. Returns -1 upon failure.
</p></dd></dl>
-<a name="IDX71"></a>
+<a name="IDX74"></a>
<dl>
<dt><u>Function:</u> int <b>u8_strmbtouc</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint8_t&nbsp;*<var>s</var>)</i>
-<a name="IDX72"></a>
+<a name="IDX75"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strmbtouc</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint16_t&nbsp;*<var>s</var>)</i>
-<a name="IDX73"></a>
+<a name="IDX76"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strmbtouc</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint32_t&nbsp;*<var>s</var>)</i>
-<a name="IDX74"></a>
+<a name="IDX77"></a>
</dt>
<dd><p>Returns the length (number of units) of the first character in <var>s</var>,
putting its <code>ucs4_t</code> representation in <code>*<var>puc</var></code>. Returns 0
@@ -495,13 +512,13 @@ if it is the NUL character. Returns -1 upon failure.
<dl>
<dt><u>Function:</u> const uint8_t * <b>u8_next</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint8_t&nbsp;*<var>s</var>)</i>
-<a name="IDX75"></a>
+<a name="IDX78"></a>
</dt>
<dt><u>Function:</u> const uint16_t * <b>u16_next</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint16_t&nbsp;*<var>s</var>)</i>
-<a name="IDX76"></a>
+<a name="IDX79"></a>
</dt>
<dt><u>Function:</u> const uint32_t * <b>u32_next</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint32_t&nbsp;*<var>s</var>)</i>
-<a name="IDX77"></a>
+<a name="IDX80"></a>
</dt>
<dd><p>Forward iteration step. Advances the pointer past the next character,
or returns NULL if the end of the string has been reached. Puts the
@@ -513,13 +530,13 @@ character in a Unicode string.
</p>
<dl>
<dt><u>Function:</u> const uint8_t * <b>u8_prev</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint8_t&nbsp;*<var>s</var>, const&nbsp;uint8_t&nbsp;*<var>start</var>)</i>
-<a name="IDX78"></a>
+<a name="IDX81"></a>
</dt>
<dt><u>Function:</u> const uint16_t * <b>u16_prev</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint16_t&nbsp;*<var>s</var>, const&nbsp;uint16_t&nbsp;*<var>start</var>)</i>
-<a name="IDX79"></a>
+<a name="IDX82"></a>
</dt>
<dt><u>Function:</u> const uint32_t * <b>u32_prev</b><i> (ucs4_t&nbsp;*<var>puc</var>, const&nbsp;uint32_t&nbsp;*<var>s</var>, const&nbsp;uint32_t&nbsp;*<var>start</var>)</i>
-<a name="IDX80"></a>
+<a name="IDX83"></a>
</dt>
<dd><p>Backward iteration step. Advances the pointer to point to the previous
character (the one that ends at <code><var>s</var></code>), or returns NULL if the
@@ -537,13 +554,13 @@ Note that this function works only on well-formed Unicode strings.
</p>
<dl>
<dt><u>Function:</u> size_t <b>u8_strlen</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>)</i>
-<a name="IDX81"></a>
+<a name="IDX84"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strlen</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>)</i>
-<a name="IDX82"></a>
+<a name="IDX85"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strlen</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>)</i>
-<a name="IDX83"></a>
+<a name="IDX86"></a>
</dt>
<dd><p>Returns the number of units in <var>s</var>.
</p>
@@ -553,13 +570,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> size_t <b>u8_strnlen</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>maxlen</var>)</i>
-<a name="IDX84"></a>
+<a name="IDX87"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strnlen</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>maxlen</var>)</i>
-<a name="IDX85"></a>
+<a name="IDX88"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strnlen</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>maxlen</var>)</i>
-<a name="IDX86"></a>
+<a name="IDX89"></a>
</dt>
<dd><p>Returns the number of units in <var>s</var>, but at most <var>maxlen</var>.
</p>
@@ -576,13 +593,13 @@ that it operates on Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strcpy</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>)</i>
-<a name="IDX87"></a>
+<a name="IDX90"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strcpy</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>)</i>
-<a name="IDX88"></a>
+<a name="IDX91"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strcpy</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>)</i>
-<a name="IDX89"></a>
+<a name="IDX92"></a>
</dt>
<dd><p>Copies <var>src</var> to <var>dest</var>.
</p>
@@ -592,13 +609,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_stpcpy</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>)</i>
-<a name="IDX90"></a>
+<a name="IDX93"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_stpcpy</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>)</i>
-<a name="IDX91"></a>
+<a name="IDX94"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_stpcpy</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>)</i>
-<a name="IDX92"></a>
+<a name="IDX95"></a>
</dt>
<dd><p>Copies <var>src</var> to <var>dest</var>, returning the address of the terminating NUL
in <var>dest</var>.
@@ -609,13 +626,13 @@ Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strncpy</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX93"></a>
+<a name="IDX96"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strncpy</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX94"></a>
+<a name="IDX97"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strncpy</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX95"></a>
+<a name="IDX98"></a>
</dt>
<dd><p>Copies no more than <var>n</var> units of <var>src</var> to <var>dest</var>.
</p>
@@ -625,13 +642,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_stpncpy</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX96"></a>
+<a name="IDX99"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_stpncpy</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX97"></a>
+<a name="IDX100"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_stpncpy</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX98"></a>
+<a name="IDX101"></a>
</dt>
<dd><p>Copies no more than <var>n</var> units of <var>src</var> to <var>dest</var>. Returns a
pointer past the last non-NUL unit written into <var>dest</var>. In other words,
@@ -645,13 +662,13 @@ Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strcat</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>)</i>
-<a name="IDX99"></a>
+<a name="IDX102"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strcat</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>)</i>
-<a name="IDX100"></a>
+<a name="IDX103"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strcat</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>)</i>
-<a name="IDX101"></a>
+<a name="IDX104"></a>
</dt>
<dd><p>Appends <var>src</var> onto <var>dest</var>.
</p>
@@ -661,13 +678,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strncat</b><i> (uint8_t&nbsp;*<var>dest</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX102"></a>
+<a name="IDX105"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strncat</b><i> (uint16_t&nbsp;*<var>dest</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX103"></a>
+<a name="IDX106"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strncat</b><i> (uint32_t&nbsp;*<var>dest</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX104"></a>
+<a name="IDX107"></a>
</dt>
<dd><p>Appends no more than <var>n</var> units of <var>src</var> onto <var>dest</var>.
</p>
@@ -681,16 +698,17 @@ that it operates on Unicode strings.
<h3 class="subsection"> <a href="libunistring_toc.html#TOC25">4.5.4 Comparing NUL terminated Unicode strings</a> </h3>
<p>The following functions compare two Unicode strings.
+They ignore locale-dependent collation rules.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_strcmp</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>)</i>
-<a name="IDX105"></a>
+<a name="IDX108"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strcmp</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>)</i>
-<a name="IDX106"></a>
+<a name="IDX109"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strcmp</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>)</i>
-<a name="IDX107"></a>
+<a name="IDX110"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, lexicographically.
Returns a negative value if <var>s1</var> compares smaller than <var>s2</var>,
@@ -701,16 +719,16 @@ they compare equal.
that it operates on Unicode strings.
</p></dd></dl>
-<a name="IDX108"></a>
+<a name="IDX111"></a>
<dl>
<dt><u>Function:</u> int <b>u8_strcoll</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>)</i>
-<a name="IDX109"></a>
+<a name="IDX112"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strcoll</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>)</i>
-<a name="IDX110"></a>
+<a name="IDX113"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strcoll</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>)</i>
-<a name="IDX111"></a>
+<a name="IDX114"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var> using the collation rules of the current
locale.
@@ -722,18 +740,18 @@ that it operates on Unicode strings.
</p>
<p>Note that this function may consider different canonical normalizations
of the same string as having a large distance. It is therefore better to
-use the function <code>u8_normcoll</code> instead of this one; see <a href="libunistring_13.html#SEC61">Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>.
+use the function <code>u8_normcoll</code> instead of this one; see <a href="libunistring_13.html#SEC63">Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_strncmp</b><i> (const&nbsp;uint8_t&nbsp;*<var>s1</var>, const&nbsp;uint8_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX112"></a>
+<a name="IDX115"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strncmp</b><i> (const&nbsp;uint16_t&nbsp;*<var>s1</var>, const&nbsp;uint16_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX113"></a>
+<a name="IDX116"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strncmp</b><i> (const&nbsp;uint32_t&nbsp;*<var>s1</var>, const&nbsp;uint32_t&nbsp;*<var>s2</var>, size_t&nbsp;<var>n</var>)</i>
-<a name="IDX114"></a>
+<a name="IDX117"></a>
</dt>
<dd><p>Compares no more than <var>n</var> units of <var>s1</var> and <var>s2</var>.
</p>
@@ -750,13 +768,13 @@ that it operates on Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strdup</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>)</i>
-<a name="IDX115"></a>
+<a name="IDX118"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strdup</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>)</i>
-<a name="IDX116"></a>
+<a name="IDX119"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strdup</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>)</i>
-<a name="IDX117"></a>
+<a name="IDX120"></a>
</dt>
<dd><p>Duplicates <var>s</var>, returning an identical malloc'd string.
</p>
@@ -773,13 +791,13 @@ that it operates on Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strchr</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX118"></a>
+<a name="IDX121"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strchr</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX119"></a>
+<a name="IDX122"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strchr</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX120"></a>
+<a name="IDX123"></a>
</dt>
<dd><p>Finds the first occurrence of <var>uc</var> in <var>str</var>.
</p>
@@ -789,13 +807,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strrchr</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX121"></a>
+<a name="IDX124"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strrchr</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX122"></a>
+<a name="IDX125"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strrchr</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX123"></a>
+<a name="IDX126"></a>
</dt>
<dd><p>Finds the last occurrence of <var>uc</var> in <var>str</var>.
</p>
@@ -808,13 +826,13 @@ character in or outside a given set of Unicode characters.
</p>
<dl>
<dt><u>Function:</u> size_t <b>u8_strcspn</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, const&nbsp;uint8_t&nbsp;*<var>reject</var>)</i>
-<a name="IDX124"></a>
+<a name="IDX127"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strcspn</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, const&nbsp;uint16_t&nbsp;*<var>reject</var>)</i>
-<a name="IDX125"></a>
+<a name="IDX128"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strcspn</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, const&nbsp;uint32_t&nbsp;*<var>reject</var>)</i>
-<a name="IDX126"></a>
+<a name="IDX129"></a>
</dt>
<dd><p>Returns the length of the initial segment of <var>str</var> which consists entirely
of Unicode characters not in <var>reject</var>.
@@ -825,13 +843,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> size_t <b>u8_strspn</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, const&nbsp;uint8_t&nbsp;*<var>accept</var>)</i>
-<a name="IDX127"></a>
+<a name="IDX130"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strspn</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, const&nbsp;uint16_t&nbsp;*<var>accept</var>)</i>
-<a name="IDX128"></a>
+<a name="IDX131"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strspn</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, const&nbsp;uint32_t&nbsp;*<var>accept</var>)</i>
-<a name="IDX129"></a>
+<a name="IDX132"></a>
</dt>
<dd><p>Returns the length of the initial segment of <var>str</var> which consists entirely
of Unicode characters in <var>accept</var>.
@@ -842,13 +860,13 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strpbrk</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, const&nbsp;uint8_t&nbsp;*<var>accept</var>)</i>
-<a name="IDX130"></a>
+<a name="IDX133"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strpbrk</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, const&nbsp;uint16_t&nbsp;*<var>accept</var>)</i>
-<a name="IDX131"></a>
+<a name="IDX134"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strpbrk</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, const&nbsp;uint32_t&nbsp;*<var>accept</var>)</i>
-<a name="IDX132"></a>
+<a name="IDX135"></a>
</dt>
<dd><p>Finds the first occurrence in <var>str</var> of any character in <var>accept</var>.
</p>
@@ -866,13 +884,13 @@ of another Unicode string.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strstr</b><i> (const&nbsp;uint8_t&nbsp;*<var>haystack</var>, const&nbsp;uint8_t&nbsp;*<var>needle</var>)</i>
-<a name="IDX133"></a>
+<a name="IDX136"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strstr</b><i> (const&nbsp;uint16_t&nbsp;*<var>haystack</var>, const&nbsp;uint16_t&nbsp;*<var>needle</var>)</i>
-<a name="IDX134"></a>
+<a name="IDX137"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strstr</b><i> (const&nbsp;uint32_t&nbsp;*<var>haystack</var>, const&nbsp;uint32_t&nbsp;*<var>needle</var>)</i>
-<a name="IDX135"></a>
+<a name="IDX138"></a>
</dt>
<dd><p>Finds the first occurrence of <var>needle</var> in <var>haystack</var>.
</p>
@@ -882,26 +900,26 @@ that it operates on Unicode strings.
<dl>
<dt><u>Function:</u> bool <b>u8_startswith</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, const&nbsp;uint8_t&nbsp;*<var>prefix</var>)</i>
-<a name="IDX136"></a>
+<a name="IDX139"></a>
</dt>
<dt><u>Function:</u> bool <b>u16_startswith</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, const&nbsp;uint16_t&nbsp;*<var>prefix</var>)</i>
-<a name="IDX137"></a>
+<a name="IDX140"></a>
</dt>
<dt><u>Function:</u> bool <b>u32_startswith</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, const&nbsp;uint32_t&nbsp;*<var>prefix</var>)</i>
-<a name="IDX138"></a>
+<a name="IDX141"></a>
</dt>
<dd><p>Tests whether <var>str</var> starts with <var>prefix</var>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>u8_endswith</b><i> (const&nbsp;uint8_t&nbsp;*<var>str</var>, const&nbsp;uint8_t&nbsp;*<var>suffix</var>)</i>
-<a name="IDX139"></a>
+<a name="IDX142"></a>
</dt>
<dt><u>Function:</u> bool <b>u16_endswith</b><i> (const&nbsp;uint16_t&nbsp;*<var>str</var>, const&nbsp;uint16_t&nbsp;*<var>suffix</var>)</i>
-<a name="IDX140"></a>
+<a name="IDX143"></a>
</dt>
<dt><u>Function:</u> bool <b>u32_endswith</b><i> (const&nbsp;uint32_t&nbsp;*<var>str</var>, const&nbsp;uint32_t&nbsp;*<var>suffix</var>)</i>
-<a name="IDX141"></a>
+<a name="IDX144"></a>
</dt>
<dd><p>Tests whether <var>str</var> ends with <var>suffix</var>.
</p></dd></dl>
@@ -915,13 +933,13 @@ that it operates on Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strtok</b><i> (uint8_t&nbsp;*<var>str</var>, const&nbsp;uint8_t&nbsp;*<var>delim</var>, uint8_t&nbsp;**<var>ptr</var>)</i>
-<a name="IDX142"></a>
+<a name="IDX145"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strtok</b><i> (uint16_t&nbsp;*<var>str</var>, const&nbsp;uint16_t&nbsp;*<var>delim</var>, uint16_t&nbsp;**<var>ptr</var>)</i>
-<a name="IDX143"></a>
+<a name="IDX146"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strtok</b><i> (uint32_t&nbsp;*<var>str</var>, const&nbsp;uint32_t&nbsp;*<var>delim</var>, uint32_t&nbsp;**<var>ptr</var>)</i>
-<a name="IDX144"></a>
+<a name="IDX147"></a>
</dt>
<dd><p>Divides <var>str</var> into tokens separated by characters in <var>delim</var>.
</p>
@@ -940,12 +958,12 @@ that it operates on Unicode strings. Its interface is actually more similar to
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_5.html b/doc/libunistring_5.html
index 2152ca40..c71878e0 100644
--- a/doc/libunistring_5.html
+++ b/doc/libunistring_5.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -63,12 +63,12 @@ ul.toc {list-style: none}
<p>This include file declares functions for converting between Unicode strings
and <code>char *</code> strings in locale encoding or in other specified encodings.
</p>
-<a name="IDX145"></a>
+<a name="IDX148"></a>
<p>The following function returns the locale encoding.
</p>
<dl>
<dt><u>Function:</u> const char * <b>locale_charset</b><i> ()</i>
-<a name="IDX146"></a>
+<a name="IDX149"></a>
</dt>
<dd><p>Determines the current locale's character encoding, and canonicalizes it
into one of the canonical names listed in &lsquo;<tt>localcharset.h</tt>&rsquo;.
@@ -88,14 +88,14 @@ parametrized through the following enumeration type:
</p>
<dl>
<dt><u>Type:</u> <b>enum iconv_ilseq_handler</b>
-<a name="IDX147"></a>
+<a name="IDX150"></a>
</dt>
<dd><p>This type specifies how unconvertible characters in the input are handled.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_error</b>
-<a name="IDX148"></a>
+<a name="IDX151"></a>
</dt>
<dd><p>This handler causes the function to return with <code>errno</code> set to
<code>EILSEQ</code>.
@@ -103,14 +103,14 @@ parametrized through the following enumeration type:
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_question_mark</b>
-<a name="IDX149"></a>
+<a name="IDX152"></a>
</dt>
<dd><p>This handler produces one question mark &lsquo;<samp>?</samp>&rsquo; per unconvertible character.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_question_replacement_character</b>
-<a name="IDX150"></a>
+<a name="IDX153"></a>
</dt>
<dd><p>This handler produces one U+FFFD per unconvertible character if that
fits in the target encoding, otherwise one question mark &lsquo;<samp>?</samp>&rsquo; per
@@ -119,25 +119,25 @@ unconvertible character.
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_escape_sequence</b>
-<a name="IDX151"></a>
+<a name="IDX154"></a>
</dt>
<dd><p>This handler produces an escape sequence <code>\u<var>xxxx</var></code> or
<code>\U<var>xxxxxxxx</var></code> for each unconvertible character.
</p></dd></dl>
-<a name="IDX152"></a>
+<a name="IDX155"></a>
<p>The following functions convert between strings in a specified encoding and
Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_conv_from_encoding</b><i> (const&nbsp;char&nbsp;*<var>fromcode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>, const&nbsp;char&nbsp;*<var>src</var>, size_t&nbsp;<var>srclen</var>, size_t&nbsp;*<var>offsets</var>, uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX153"></a>
+<a name="IDX156"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_conv_from_encoding</b><i> (const&nbsp;char&nbsp;*<var>fromcode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>, const&nbsp;char&nbsp;*<var>src</var>, size_t&nbsp;<var>srclen</var>, size_t&nbsp;*<var>offsets</var>, uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX154"></a>
+<a name="IDX157"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_conv_from_encoding</b><i> (const&nbsp;char&nbsp;*<var>fromcode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>, const&nbsp;char&nbsp;*<var>src</var>, size_t&nbsp;<var>srclen</var>, size_t&nbsp;*<var>offsets</var>, uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX155"></a>
+<a name="IDX158"></a>
</dt>
<dd><p>Converts an entire string, possibly including NUL bytes, from one encoding
to UTF-8 encoding.
@@ -170,13 +170,13 @@ Particular <code>errno</code> values: <code>EINVAL</code>, <code>EILSEQ</code>,
<dl>
<dt><u>Function:</u> char * <b>u8_conv_to_encoding</b><i> (const&nbsp;char&nbsp;*<var>tocode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>, const&nbsp;uint8_t&nbsp;*<var>src</var>, size_t&nbsp;<var>srclen</var>, size_t&nbsp;*<var>offsets</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX156"></a>
+<a name="IDX159"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_conv_to_encoding</b><i> (const&nbsp;char&nbsp;*<var>tocode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>, const&nbsp;uint16_t&nbsp;*<var>src</var>, size_t&nbsp;<var>srclen</var>, size_t&nbsp;*<var>offsets</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX157"></a>
+<a name="IDX160"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_conv_to_encoding</b><i> (const&nbsp;char&nbsp;*<var>tocode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>, const&nbsp;uint32_t&nbsp;*<var>src</var>, size_t&nbsp;<var>srclen</var>, size_t&nbsp;*<var>offsets</var>, char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>)</i>
-<a name="IDX158"></a>
+<a name="IDX161"></a>
</dt>
<dd><p>Converts an entire Unicode string, possibly including NUL units, from UTF-8
encoding to a given encoding.
@@ -212,13 +212,13 @@ encoding and NUL terminated Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strconv_from_encoding</b><i> (const&nbsp;char&nbsp;*<var>string</var>, const&nbsp;char&nbsp;*<var>fromcode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>)</i>
-<a name="IDX159"></a>
+<a name="IDX162"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strconv_from_encoding</b><i> (const&nbsp;char&nbsp;*<var>string</var>, const&nbsp;char&nbsp;*<var>fromcode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>)</i>
-<a name="IDX160"></a>
+<a name="IDX163"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strconv_from_encoding</b><i> (const&nbsp;char&nbsp;*<var>string</var>, const&nbsp;char&nbsp;*<var>fromcode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>)</i>
-<a name="IDX161"></a>
+<a name="IDX164"></a>
</dt>
<dd><p>Converts a NUL terminated string from a given encoding.
</p>
@@ -229,13 +229,13 @@ encoding and NUL terminated Unicode strings.
<dl>
<dt><u>Function:</u> char * <b>u8_strconv_to_encoding</b><i> (const&nbsp;uint8_t&nbsp;*<var>string</var>, const&nbsp;char&nbsp;*<var>tocode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>)</i>
-<a name="IDX162"></a>
+<a name="IDX165"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_strconv_to_encoding</b><i> (const&nbsp;uint16_t&nbsp;*<var>string</var>, const&nbsp;char&nbsp;*<var>tocode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>)</i>
-<a name="IDX163"></a>
+<a name="IDX166"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_strconv_to_encoding</b><i> (const&nbsp;uint32_t&nbsp;*<var>string</var>, const&nbsp;char&nbsp;*<var>tocode</var>, enum&nbsp;iconv_ilseq_handler&nbsp;<var>handler</var>)</i>
-<a name="IDX164"></a>
+<a name="IDX167"></a>
</dt>
<dd><p>Converts a NUL terminated string to a given encoding.
</p>
@@ -249,13 +249,13 @@ strings in locale encoding and NUL terminated Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strconv_from_locale</b><i> (const&nbsp;char&nbsp;*<var>string</var>)</i>
-<a name="IDX165"></a>
+<a name="IDX168"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strconv_from_locale</b><i> (const&nbsp;char&nbsp;*<var>string</var>)</i>
-<a name="IDX166"></a>
+<a name="IDX169"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strconv_from_locale</b><i> (const&nbsp;char&nbsp;*<var>string</var>)</i>
-<a name="IDX167"></a>
+<a name="IDX170"></a>
</dt>
<dd><p>Converts a NUL terminated string from the locale encoding.
</p>
@@ -266,13 +266,13 @@ strings in locale encoding and NUL terminated Unicode strings.
<dl>
<dt><u>Function:</u> char * <b>u8_strconv_to_locale</b><i> (const&nbsp;uint8_t&nbsp;*<var>string</var>)</i>
-<a name="IDX168"></a>
+<a name="IDX171"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_strconv_to_locale</b><i> (const&nbsp;uint16_t&nbsp;*<var>string</var>)</i>
-<a name="IDX169"></a>
+<a name="IDX172"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_strconv_to_locale</b><i> (const&nbsp;uint32_t&nbsp;*<var>string</var>)</i>
-<a name="IDX170"></a>
+<a name="IDX173"></a>
</dt>
<dd><p>Converts a NUL terminated string to the locale encoding.
</p>
@@ -291,12 +291,12 @@ strings in locale encoding and NUL terminated Unicode strings.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_6.html b/doc/libunistring_6.html
index 9bbdf63f..d9941f90 100644
--- a/doc/libunistring_6.html
+++ b/doc/libunistring_6.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -75,6 +75,8 @@ The format directive &lsquo;<samp>lU</samp>&rsquo; takes an UTF-16 string
</li><li>
The format directive &lsquo;<samp>llU</samp>&rsquo; takes an UTF-32 string
(<code>const uint32_t *</code>).
+</li><li>
+The format directive &lsquo;<samp>n</samp>&rsquo; is not supported, for security reasons.
</li></ul>
<p>A function name with an infix &lsquo;<samp>v</samp>&rsquo; indicates that a <code>va_list</code> is
@@ -103,49 +105,49 @@ is a <code>char *</code> string in locale encoding.
</p>
<dl>
<dt><u>Function:</u> int <b>ulc_sprintf</b><i> (char&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX171"></a>
+<a name="IDX174"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_snprintf</b><i> (char&nbsp;*<var>buf</var>, size_t&nbsp;size, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX172"></a>
+<a name="IDX175"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_asprintf</b><i> (char&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX173"></a>
+<a name="IDX176"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> char * <b>ulc_asnprintf</b><i> (char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX174"></a>
+<a name="IDX177"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vsprintf</b><i> (char&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX175"></a>
+<a name="IDX178"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vsnprintf</b><i> (char&nbsp;*<var>buf</var>, size_t&nbsp;size, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX176"></a>
+<a name="IDX179"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vasprintf</b><i> (char&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX177"></a>
+<a name="IDX180"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> char * <b>ulc_vasnprintf</b><i> (char&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX178"></a>
+<a name="IDX181"></a>
</dt>
</dl>
@@ -154,42 +156,42 @@ UTF-8 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_sprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX179"></a>
+<a name="IDX182"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_snprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX180"></a>
+<a name="IDX183"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_asprintf</b><i> (uint8_t&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX181"></a>
+<a name="IDX184"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_asnprintf</b><i> (uint8_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX182"></a>
+<a name="IDX185"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_vsprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;ap)</i>
-<a name="IDX183"></a>
+<a name="IDX186"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_vsnprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX184"></a>
+<a name="IDX187"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_vasprintf</b><i> (uint8_t&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX185"></a>
+<a name="IDX188"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_vasnprintf</b><i> (uint8_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX186"></a>
+<a name="IDX189"></a>
</dt>
</dl>
@@ -198,42 +200,42 @@ UTF-8 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_u8_sprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX187"></a>
+<a name="IDX190"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_snprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX188"></a>
+<a name="IDX191"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_asprintf</b><i> (uint8_t&nbsp;**<var>resultp</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX189"></a>
+<a name="IDX192"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_u8_asnprintf</b><i> (uint8_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX190"></a>
+<a name="IDX193"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_vsprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX191"></a>
+<a name="IDX194"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_vsnprintf</b><i> (uint8_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX192"></a>
+<a name="IDX195"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_vasprintf</b><i> (uint8_t&nbsp;**<var>resultp</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX193"></a>
+<a name="IDX196"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_u8_vasnprintf</b><i> (uint8_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;uint8_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX194"></a>
+<a name="IDX197"></a>
</dt>
</dl>
@@ -242,42 +244,42 @@ UTF-16 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u16_sprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX195"></a>
+<a name="IDX198"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_snprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX196"></a>
+<a name="IDX199"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_asprintf</b><i> (uint16_t&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX197"></a>
+<a name="IDX200"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_asnprintf</b><i> (uint16_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX198"></a>
+<a name="IDX201"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_vsprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;ap)</i>
-<a name="IDX199"></a>
+<a name="IDX202"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_vsnprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX200"></a>
+<a name="IDX203"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_vasprintf</b><i> (uint16_t&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX201"></a>
+<a name="IDX204"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_vasnprintf</b><i> (uint16_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX202"></a>
+<a name="IDX205"></a>
</dt>
</dl>
@@ -286,42 +288,42 @@ UTF-16 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u16_u16_sprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX203"></a>
+<a name="IDX206"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_snprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX204"></a>
+<a name="IDX207"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_asprintf</b><i> (uint16_t&nbsp;**<var>resultp</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX205"></a>
+<a name="IDX208"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_u16_asnprintf</b><i> (uint16_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX206"></a>
+<a name="IDX209"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_vsprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX207"></a>
+<a name="IDX210"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_vsnprintf</b><i> (uint16_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX208"></a>
+<a name="IDX211"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_vasprintf</b><i> (uint16_t&nbsp;**<var>resultp</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX209"></a>
+<a name="IDX212"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_u16_vasnprintf</b><i> (uint16_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;uint16_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX210"></a>
+<a name="IDX213"></a>
</dt>
</dl>
@@ -330,42 +332,42 @@ UTF-32 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u32_sprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX211"></a>
+<a name="IDX214"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_snprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX212"></a>
+<a name="IDX215"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_asprintf</b><i> (uint32_t&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX213"></a>
+<a name="IDX216"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_asnprintf</b><i> (uint32_t&nbsp;*<var>resultbuf</var>, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX214"></a>
+<a name="IDX217"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_vsprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;ap)</i>
-<a name="IDX215"></a>
+<a name="IDX218"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_vsnprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX216"></a>
+<a name="IDX219"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_vasprintf</b><i> (uint32_t&nbsp;**<var>resultp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX217"></a>
+<a name="IDX220"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_vasnprintf</b><i> (uint32_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX218"></a>
+<a name="IDX221"></a>
</dt>
</dl>
@@ -374,42 +376,42 @@ UTF-32 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u32_u32_sprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX219"></a>
+<a name="IDX222"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_snprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX220"></a>
+<a name="IDX223"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_asprintf</b><i> (uint32_t&nbsp;**<var>resultp</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX221"></a>
+<a name="IDX224"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_u32_asnprintf</b><i> (uint32_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX222"></a>
+<a name="IDX225"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_vsprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX223"></a>
+<a name="IDX226"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_vsnprintf</b><i> (uint32_t&nbsp;*<var>buf</var>, size_t&nbsp;<var>size</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX224"></a>
+<a name="IDX227"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_vasprintf</b><i> (uint32_t&nbsp;**<var>resultp</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX225"></a>
+<a name="IDX228"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_u32_vasnprintf</b><i> (uint32_t&nbsp;*resultbuf, size_t&nbsp;*<var>lengthp</var>, const&nbsp;uint32_t&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX226"></a>
+<a name="IDX229"></a>
</dt>
</dl>
@@ -418,12 +420,12 @@ locale encoding to a <code>FILE</code> stream.
</p>
<dl>
<dt><u>Function:</u> int <b>ulc_fprintf</b><i> (FILE&nbsp;*<var>stream</var>, const&nbsp;char&nbsp;*<var>format</var>, ...)</i>
-<a name="IDX227"></a>
+<a name="IDX230"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vfprintf</b><i> (FILE&nbsp;*<var>stream</var>, const&nbsp;char&nbsp;*<var>format</var>, va_list&nbsp;<var>ap</var>)</i>
-<a name="IDX228"></a>
+<a name="IDX231"></a>
</dt>
</dl>
<hr size="6">
@@ -437,12 +439,12 @@ locale encoding to a <code>FILE</code> stream.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_7.html b/doc/libunistring_7.html
index e6460789..60a1428f 100644
--- a/doc/libunistring_7.html
+++ b/doc/libunistring_7.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -70,7 +70,7 @@ named <code>&quot;MULTIPLICATION SIGN&quot;</code>.
</p>
<dl>
<dt><u>Macro:</u> unsigned int <b>UNINAME_MAX</b>
-<a name="IDX229"></a>
+<a name="IDX232"></a>
</dt>
<dd><p>This macro expands to a constant that is the required size of buffer for a
Unicode character name.
@@ -78,7 +78,7 @@ Unicode character name.
<dl>
<dt><u>Function:</u> char * <b>unicode_character_name</b><i> (ucs4_t&nbsp;<var>uc</var>, char&nbsp;*<var>buf</var>)</i>
-<a name="IDX230"></a>
+<a name="IDX233"></a>
</dt>
<dd><p>Looks up the name of a Unicode character, in uppercase ASCII.
<var>buf</var> must point to a buffer, at least <code>UNINAME_MAX</code> bytes in size.
@@ -87,7 +87,7 @@ Returns the filled <var>buf</var>, or NULL if the character does not have a name
<dl>
<dt><u>Function:</u> ucs4_t <b>unicode_name_character</b><i> (const&nbsp;char&nbsp;*<var>name</var>)</i>
-<a name="IDX231"></a>
+<a name="IDX234"></a>
</dt>
<dd><p>Looks up the Unicode character with a given name, in upper- or lowercase
ASCII. <var>NAME</var> can also be an alias name of a character.
@@ -96,7 +96,7 @@ Returns the character if found, or <code>UNINAME_INVALID</code> if not found.
<dl>
<dt><u>Macro:</u> ucs4_t <b>UNINAME_INVALID</b>
-<a name="IDX232"></a>
+<a name="IDX235"></a>
</dt>
<dd><p>This macro expands to a constant that is a special return value of the
<code>unicode_name_character</code> function.
@@ -112,12 +112,12 @@ Returns the character if found, or <code>UNINAME_INVALID</code> if not found.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_8.html b/doc/libunistring_8.html
index d07b8204..7dd4c5cc 100644
--- a/doc/libunistring_8.html
+++ b/doc/libunistring_8.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -43,7 +43,7 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_7.html#SEC32" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_9.html#SEC53" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_9.html#SEC55" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@@ -99,7 +99,7 @@ information for all Unicode characters.
<dl>
<dt><u>Type:</u> <b>uc_general_category_t</b>
-<a name="IDX233"></a>
+<a name="IDX236"></a>
</dt>
<dd><p>This data type denotes a general category value. It is an immediate type that
can be copied by simple assignment, without involving memory allocation. It is
@@ -115,359 +115,359 @@ macros are aliases, for use when readable code is preferred.
</p>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_L</b>
-<a name="IDX234"></a>
+<a name="IDX237"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_LETTER</b>
-<a name="IDX235"></a>
+<a name="IDX238"></a>
</dt>
<dd><p>This represents the general category &ldquo;Letter&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_LC</b>
-<a name="IDX236"></a>
+<a name="IDX239"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_CASED_LETTER</b>
-<a name="IDX237"></a>
+<a name="IDX240"></a>
</dt>
</dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Lu</b>
-<a name="IDX238"></a>
+<a name="IDX241"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_UPPERCASE_LETTER</b>
-<a name="IDX239"></a>
+<a name="IDX242"></a>
</dt>
<dd><p>This represents the general category &ldquo;Letter, uppercase&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Ll</b>
-<a name="IDX240"></a>
+<a name="IDX243"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_LOWERCASE_LETTER</b>
-<a name="IDX241"></a>
+<a name="IDX244"></a>
</dt>
<dd><p>This represents the general category &ldquo;Letter, lowercase&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Lt</b>
-<a name="IDX242"></a>
+<a name="IDX245"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_TITLECASE_LETTER</b>
-<a name="IDX243"></a>
+<a name="IDX246"></a>
</dt>
<dd><p>This represents the general category &ldquo;Letter, titlecase&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Lm</b>
-<a name="IDX244"></a>
+<a name="IDX247"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_MODIFIER_LETTER</b>
-<a name="IDX245"></a>
+<a name="IDX248"></a>
</dt>
<dd><p>This represents the general category &ldquo;Letter, modifier&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Lo</b>
-<a name="IDX246"></a>
+<a name="IDX249"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_OTHER_LETTER</b>
-<a name="IDX247"></a>
+<a name="IDX250"></a>
</dt>
<dd><p>This represents the general category &ldquo;Letter, other&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_M</b>
-<a name="IDX248"></a>
+<a name="IDX251"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_MARK</b>
-<a name="IDX249"></a>
+<a name="IDX252"></a>
</dt>
<dd><p>This represents the general category &ldquo;Marker&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Mn</b>
-<a name="IDX250"></a>
+<a name="IDX253"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_NON_SPACING_MARK</b>
-<a name="IDX251"></a>
+<a name="IDX254"></a>
</dt>
<dd><p>This represents the general category &ldquo;Marker, nonspacing&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Mc</b>
-<a name="IDX252"></a>
+<a name="IDX255"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_COMBINING_SPACING_MARK</b>
-<a name="IDX253"></a>
+<a name="IDX256"></a>
</dt>
<dd><p>This represents the general category &ldquo;Marker, spacing combining&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Me</b>
-<a name="IDX254"></a>
+<a name="IDX257"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_ENCLOSING_MARK</b>
-<a name="IDX255"></a>
+<a name="IDX258"></a>
</dt>
<dd><p>This represents the general category &ldquo;Marker, enclosing&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_N</b>
-<a name="IDX256"></a>
+<a name="IDX259"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_NUMBER</b>
-<a name="IDX257"></a>
+<a name="IDX260"></a>
</dt>
<dd><p>This represents the general category &ldquo;Number&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Nd</b>
-<a name="IDX258"></a>
+<a name="IDX261"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_DECIMAL_DIGIT_NUMBER</b>
-<a name="IDX259"></a>
+<a name="IDX262"></a>
</dt>
<dd><p>This represents the general category &ldquo;Number, decimal digit&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Nl</b>
-<a name="IDX260"></a>
+<a name="IDX263"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_LETTER_NUMBER</b>
-<a name="IDX261"></a>
+<a name="IDX264"></a>
</dt>
<dd><p>This represents the general category &ldquo;Number, letter&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_No</b>
-<a name="IDX262"></a>
+<a name="IDX265"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_OTHER_NUMBER</b>
-<a name="IDX263"></a>
+<a name="IDX266"></a>
</dt>
<dd><p>This represents the general category &ldquo;Number, other&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_P</b>
-<a name="IDX264"></a>
+<a name="IDX267"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_PUNCTUATION</b>
-<a name="IDX265"></a>
+<a name="IDX268"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Pc</b>
-<a name="IDX266"></a>
+<a name="IDX269"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_CONNECTOR_PUNCTUATION</b>
-<a name="IDX267"></a>
+<a name="IDX270"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, connector&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Pd</b>
-<a name="IDX268"></a>
+<a name="IDX271"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_DASH_PUNCTUATION</b>
-<a name="IDX269"></a>
+<a name="IDX272"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, dash&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Ps</b>
-<a name="IDX270"></a>
+<a name="IDX273"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_OPEN_PUNCTUATION</b>
-<a name="IDX271"></a>
+<a name="IDX274"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, open&rdquo;, a.k.a. &ldquo;start punctuation&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Pe</b>
-<a name="IDX272"></a>
+<a name="IDX275"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_CLOSE_PUNCTUATION</b>
-<a name="IDX273"></a>
+<a name="IDX276"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, close&rdquo;, a.k.a. &ldquo;end punctuation&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Pi</b>
-<a name="IDX274"></a>
+<a name="IDX277"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_INITIAL_QUOTE_PUNCTUATION</b>
-<a name="IDX275"></a>
+<a name="IDX278"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, initial quote&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Pf</b>
-<a name="IDX276"></a>
+<a name="IDX279"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_FINAL_QUOTE_PUNCTUATION</b>
-<a name="IDX277"></a>
+<a name="IDX280"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, final quote&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Po</b>
-<a name="IDX278"></a>
+<a name="IDX281"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_OTHER_PUNCTUATION</b>
-<a name="IDX279"></a>
+<a name="IDX282"></a>
</dt>
<dd><p>This represents the general category &ldquo;Punctuation, other&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_S</b>
-<a name="IDX280"></a>
+<a name="IDX283"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_SYMBOL</b>
-<a name="IDX281"></a>
+<a name="IDX284"></a>
</dt>
<dd><p>This represents the general category &ldquo;Symbol&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Sm</b>
-<a name="IDX282"></a>
+<a name="IDX285"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_MATH_SYMBOL</b>
-<a name="IDX283"></a>
+<a name="IDX286"></a>
</dt>
<dd><p>This represents the general category &ldquo;Symbol, math&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Sc</b>
-<a name="IDX284"></a>
+<a name="IDX287"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_CURRENCY_SYMBOL</b>
-<a name="IDX285"></a>
+<a name="IDX288"></a>
</dt>
<dd><p>This represents the general category &ldquo;Symbol, currency&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Sk</b>
-<a name="IDX286"></a>
+<a name="IDX289"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_MODIFIER_SYMBOL</b>
-<a name="IDX287"></a>
+<a name="IDX290"></a>
</dt>
<dd><p>This represents the general category &ldquo;Symbol, modifier&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_So</b>
-<a name="IDX288"></a>
+<a name="IDX291"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_OTHER_SYMBOL</b>
-<a name="IDX289"></a>
+<a name="IDX292"></a>
</dt>
<dd><p>This represents the general category &ldquo;Symbol, other&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Z</b>
-<a name="IDX290"></a>
+<a name="IDX293"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_SEPARATOR</b>
-<a name="IDX291"></a>
+<a name="IDX294"></a>
</dt>
<dd><p>This represents the general category &ldquo;Separator&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Zs</b>
-<a name="IDX292"></a>
+<a name="IDX295"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_SPACE_SEPARATOR</b>
-<a name="IDX293"></a>
+<a name="IDX296"></a>
</dt>
<dd><p>This represents the general category &ldquo;Separator, space&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Zl</b>
-<a name="IDX294"></a>
+<a name="IDX297"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_LINE_SEPARATOR</b>
-<a name="IDX295"></a>
+<a name="IDX298"></a>
</dt>
<dd><p>This represents the general category &ldquo;Separator, line&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Zp</b>
-<a name="IDX296"></a>
+<a name="IDX299"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_PARAGRAPH_SEPARATOR</b>
-<a name="IDX297"></a>
+<a name="IDX300"></a>
</dt>
<dd><p>This represents the general category &ldquo;Separator, paragraph&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_C</b>
-<a name="IDX298"></a>
+<a name="IDX301"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_OTHER</b>
-<a name="IDX299"></a>
+<a name="IDX302"></a>
</dt>
<dd><p>This represents the general category &ldquo;Other&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Cc</b>
-<a name="IDX300"></a>
+<a name="IDX303"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_CONTROL</b>
-<a name="IDX301"></a>
+<a name="IDX304"></a>
</dt>
<dd><p>This represents the general category &ldquo;Other, control&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Cf</b>
-<a name="IDX302"></a>
+<a name="IDX305"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_FORMAT</b>
-<a name="IDX303"></a>
+<a name="IDX306"></a>
</dt>
<dd><p>This represents the general category &ldquo;Other, format&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Cs</b>
-<a name="IDX304"></a>
+<a name="IDX307"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_SURROGATE</b>
-<a name="IDX305"></a>
+<a name="IDX308"></a>
</dt>
<dd><p>This represents the general category &ldquo;Other, surrogate&rdquo;.
All code points in this category are invalid characters.
@@ -475,20 +475,20 @@ All code points in this category are invalid characters.
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Co</b>
-<a name="IDX306"></a>
+<a name="IDX309"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_PRIVATE_USE</b>
-<a name="IDX307"></a>
+<a name="IDX310"></a>
</dt>
<dd><p>This represents the general category &ldquo;Other, private use&rdquo;.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> uc_general_category_t <b>UC_CATEGORY_Cn</b>
-<a name="IDX308"></a>
+<a name="IDX311"></a>
</dt>
<dt><u>Macro:</u> uc_general_category_t <b>UC_UNASSIGNED</b>
-<a name="IDX309"></a>
+<a name="IDX312"></a>
</dt>
<dd><p>This represents the general category &ldquo;Other, not assigned&rdquo;.
Some code points in this category are invalid characters.
@@ -499,7 +499,7 @@ except that there is no &lsquo;<samp>not</samp>&rsquo; operation.
</p>
<dl>
<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_or</b><i> (uc_general_category_t&nbsp;<var>category1</var>, uc_general_category_t&nbsp;<var>category2</var>)</i>
-<a name="IDX310"></a>
+<a name="IDX313"></a>
</dt>
<dd><p>Returns the union of two general categories.
This corresponds to the unions of the two sets of characters.
@@ -507,7 +507,7 @@ This corresponds to the unions of the two sets of characters.
<dl>
<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_and</b><i> (uc_general_category_t&nbsp;<var>category1</var>, uc_general_category_t&nbsp;<var>category2</var>)</i>
-<a name="IDX311"></a>
+<a name="IDX314"></a>
</dt>
<dd><p>Returns the intersection of two general categories as bit masks.
This <em>does not</em> correspond to the intersection of the two sets of
@@ -516,7 +516,7 @@ characters.
<dl>
<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_and_not</b><i> (uc_general_category_t&nbsp;<var>category1</var>, uc_general_category_t&nbsp;<var>category2</var>)</i>
-<a name="IDX312"></a>
+<a name="IDX315"></a>
</dt>
<dd><p>Returns the intersection of a general category with the complement of a
second general category, as bit masks.
@@ -528,7 +528,7 @@ viewing the categories as sets of characters.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_general_category_name</b><i> (uc_general_category_t&nbsp;<var>category</var>)</i>
-<a name="IDX313"></a>
+<a name="IDX316"></a>
</dt>
<dd><p>Returns the name of a general category, more precisely, the abbreviated name.
Returns NULL if the general category corresponds to a bit mask that does not
@@ -537,7 +537,7 @@ have a name.
<dl>
<dt><u>Function:</u> const char * <b>uc_general_category_long_name</b><i> (uc_general_category_t&nbsp;<var>category</var>)</i>
-<a name="IDX314"></a>
+<a name="IDX317"></a>
</dt>
<dd><p>Returns the long name of a general category.
Returns NULL if the general category corresponds to a bit mask that does not
@@ -546,7 +546,7 @@ have a name.
<dl>
<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_byname</b><i> (const&nbsp;char&nbsp;*<var>category_name</var>)</i>
-<a name="IDX315"></a>
+<a name="IDX318"></a>
</dt>
<dd><p>Returns the general category given by name, e.g. <code>&quot;Lu&quot;</code>, or by long
name, e.g. <code>&quot;Uppercase Letter&quot;</code>.
@@ -558,7 +558,7 @@ case-insignificant.
</p>
<dl>
<dt><u>Function:</u> uc_general_category_t <b>uc_general_category</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX316"></a>
+<a name="IDX319"></a>
</dt>
<dd><p>Returns the general category of a Unicode character.
</p>
@@ -567,7 +567,7 @@ case-insignificant.
<dl>
<dt><u>Function:</u> bool <b>uc_is_general_category</b><i> (ucs4_t&nbsp;<var>uc</var>, uc_general_category_t&nbsp;<var>category</var>)</i>
-<a name="IDX317"></a>
+<a name="IDX320"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given category.
The <var>category</var> argument can be a predefined general category or the
@@ -584,118 +584,118 @@ Additional general categories may be added in the future.
</p>
<dl>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_L</b>
-<a name="IDX318"></a>
+<a name="IDX321"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_LC</b>
-<a name="IDX319"></a>
+<a name="IDX322"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Lu</b>
-<a name="IDX320"></a>
+<a name="IDX323"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Ll</b>
-<a name="IDX321"></a>
+<a name="IDX324"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Lt</b>
-<a name="IDX322"></a>
+<a name="IDX325"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Lm</b>
-<a name="IDX323"></a>
+<a name="IDX326"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Lo</b>
-<a name="IDX324"></a>
+<a name="IDX327"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_M</b>
-<a name="IDX325"></a>
+<a name="IDX328"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Mn</b>
-<a name="IDX326"></a>
+<a name="IDX329"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Mc</b>
-<a name="IDX327"></a>
+<a name="IDX330"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Me</b>
-<a name="IDX328"></a>
+<a name="IDX331"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_N</b>
-<a name="IDX329"></a>
+<a name="IDX332"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Nd</b>
-<a name="IDX330"></a>
+<a name="IDX333"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Nl</b>
-<a name="IDX331"></a>
+<a name="IDX334"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_No</b>
-<a name="IDX332"></a>
+<a name="IDX335"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_P</b>
-<a name="IDX333"></a>
+<a name="IDX336"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Pc</b>
-<a name="IDX334"></a>
+<a name="IDX337"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Pd</b>
-<a name="IDX335"></a>
+<a name="IDX338"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Ps</b>
-<a name="IDX336"></a>
+<a name="IDX339"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Pe</b>
-<a name="IDX337"></a>
+<a name="IDX340"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Pi</b>
-<a name="IDX338"></a>
+<a name="IDX341"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Pf</b>
-<a name="IDX339"></a>
+<a name="IDX342"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Po</b>
-<a name="IDX340"></a>
+<a name="IDX343"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_S</b>
-<a name="IDX341"></a>
+<a name="IDX344"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Sm</b>
-<a name="IDX342"></a>
+<a name="IDX345"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Sc</b>
-<a name="IDX343"></a>
+<a name="IDX346"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Sk</b>
-<a name="IDX344"></a>
+<a name="IDX347"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_So</b>
-<a name="IDX345"></a>
+<a name="IDX348"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Z</b>
-<a name="IDX346"></a>
+<a name="IDX349"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Zs</b>
-<a name="IDX347"></a>
+<a name="IDX350"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Zl</b>
-<a name="IDX348"></a>
+<a name="IDX351"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Zp</b>
-<a name="IDX349"></a>
+<a name="IDX352"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_C</b>
-<a name="IDX350"></a>
+<a name="IDX353"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Cc</b>
-<a name="IDX351"></a>
+<a name="IDX354"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Cf</b>
-<a name="IDX352"></a>
+<a name="IDX355"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Cs</b>
-<a name="IDX353"></a>
+<a name="IDX356"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Co</b>
-<a name="IDX354"></a>
+<a name="IDX357"></a>
</dt>
<dt><u>Macro:</u> uint32_t <b>UC_CATEGORY_MASK_Cn</b>
-<a name="IDX355"></a>
+<a name="IDX358"></a>
</dt>
</dl>
@@ -703,7 +703,7 @@ Additional general categories may be added in the future.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_general_category_withtable</b><i> (ucs4_t&nbsp;<var>uc</var>, uint32_t&nbsp;<var>bitmask</var>)</i>
-<a name="IDX356"></a>
+<a name="IDX359"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given category.
The <var>bitmask</var> argument can be a predefined general category bitmask or the
@@ -735,7 +735,7 @@ not definitive; more values can be added in future versions.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_NR</b>
-<a name="IDX357"></a>
+<a name="IDX360"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Not Reordered&rdquo; characters.
The value is 0.
@@ -743,133 +743,133 @@ The value is 0.
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_OV</b>
-<a name="IDX358"></a>
+<a name="IDX361"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Overlay&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_NK</b>
-<a name="IDX359"></a>
+<a name="IDX362"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Nukta&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_KV</b>
-<a name="IDX360"></a>
+<a name="IDX363"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Kana Voicing&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_VR</b>
-<a name="IDX361"></a>
+<a name="IDX364"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Virama&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_ATBL</b>
-<a name="IDX362"></a>
+<a name="IDX365"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Attached Below Left&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_ATB</b>
-<a name="IDX363"></a>
+<a name="IDX366"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Attached Below&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_ATA</b>
-<a name="IDX364"></a>
+<a name="IDX367"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Attached Above&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_ATAR</b>
-<a name="IDX365"></a>
+<a name="IDX368"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Attached Above Right&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_BL</b>
-<a name="IDX366"></a>
+<a name="IDX369"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Below Left&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_B</b>
-<a name="IDX367"></a>
+<a name="IDX370"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Below&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_BR</b>
-<a name="IDX368"></a>
+<a name="IDX371"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Below Right&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_L</b>
-<a name="IDX369"></a>
+<a name="IDX372"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Left&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_R</b>
-<a name="IDX370"></a>
+<a name="IDX373"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Right&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_AL</b>
-<a name="IDX371"></a>
+<a name="IDX374"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Above Left&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_A</b>
-<a name="IDX372"></a>
+<a name="IDX375"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Above&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_AR</b>
-<a name="IDX373"></a>
+<a name="IDX376"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Above Right&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_DB</b>
-<a name="IDX374"></a>
+<a name="IDX377"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Double Below&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_DA</b>
-<a name="IDX375"></a>
+<a name="IDX378"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Double Above&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_CCC_IS</b>
-<a name="IDX376"></a>
+<a name="IDX379"></a>
</dt>
<dd><p>The canonical combining class value for &ldquo;Iota Subscript&rdquo; characters.
</p></dd></dl>
@@ -878,7 +878,7 @@ The value is 0.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_combining_class_name</b><i> (int&nbsp;<var>ccc</var>)</i>
-<a name="IDX377"></a>
+<a name="IDX380"></a>
</dt>
<dd><p>Returns the name of a canonical combining class, more precisely, the
abbreviated name.
@@ -888,7 +888,7 @@ name.
<dl>
<dt><u>Function:</u> const char * <b>uc_combining_class_long_name</b><i> (int&nbsp;<var>ccc</var>)</i>
-<a name="IDX378"></a>
+<a name="IDX381"></a>
</dt>
<dd><p>Returns the long name of a canonical combining class.
Returns NULL if the canonical combining class is a numeric value without a
@@ -897,7 +897,7 @@ name.
<dl>
<dt><u>Function:</u> int <b>uc_combining_class_byname</b><i> (const&nbsp;char&nbsp;*<var>ccc_name</var>)</i>
-<a name="IDX379"></a>
+<a name="IDX382"></a>
</dt>
<dd><p>Returns the canonical combining class given by name, e.g. <code>&quot;BL&quot;</code>, or by
long name, e.g. <code>&quot;Below Left&quot;</code>.
@@ -909,7 +909,7 @@ case-insignificant.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_combining_class</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX380"></a>
+<a name="IDX383"></a>
</dt>
<dd><p>Returns the canonical combining class of a Unicode character.
</p></dd></dl>
@@ -928,161 +928,161 @@ the following.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_L</b>
-<a name="IDX381"></a>
+<a name="IDX384"></a>
</dt>
<dd><p>The bidi class for `Left-to-Right`&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_LRE</b>
-<a name="IDX382"></a>
+<a name="IDX385"></a>
</dt>
<dd><p>The bidi class for &ldquo;Left-to-Right Embedding&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_LRO</b>
-<a name="IDX383"></a>
+<a name="IDX386"></a>
</dt>
<dd><p>The bidi class for &ldquo;Left-to-Right Override&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_R</b>
-<a name="IDX384"></a>
+<a name="IDX387"></a>
</dt>
<dd><p>The bidi class for &ldquo;Right-to-Left&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_AL</b>
-<a name="IDX385"></a>
+<a name="IDX388"></a>
</dt>
<dd><p>The bidi class for &ldquo;Right-to-Left Arabic&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_RLE</b>
-<a name="IDX386"></a>
+<a name="IDX389"></a>
</dt>
<dd><p>The bidi class for &ldquo;Right-to-Left Embedding&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_RLO</b>
-<a name="IDX387"></a>
+<a name="IDX390"></a>
</dt>
<dd><p>The bidi class for &ldquo;Right-to-Left Override&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_PDF</b>
-<a name="IDX388"></a>
+<a name="IDX391"></a>
</dt>
<dd><p>The bidi class for &ldquo;Pop Directional Format&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_EN</b>
-<a name="IDX389"></a>
+<a name="IDX392"></a>
</dt>
<dd><p>The bidi class for &ldquo;European Number&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_ES</b>
-<a name="IDX390"></a>
+<a name="IDX393"></a>
</dt>
<dd><p>The bidi class for &ldquo;European Number Separator&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_ET</b>
-<a name="IDX391"></a>
+<a name="IDX394"></a>
</dt>
<dd><p>The bidi class for &ldquo;European Number Terminator&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_AN</b>
-<a name="IDX392"></a>
+<a name="IDX395"></a>
</dt>
<dd><p>The bidi class for &ldquo;Arabic Number&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_CS</b>
-<a name="IDX393"></a>
+<a name="IDX396"></a>
</dt>
<dd><p>The bidi class for &ldquo;Common Number Separator&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_NSM</b>
-<a name="IDX394"></a>
+<a name="IDX397"></a>
</dt>
<dd><p>The bidi class for &ldquo;Non-Spacing Mark&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_BN</b>
-<a name="IDX395"></a>
+<a name="IDX398"></a>
</dt>
<dd><p>The bidi class for &ldquo;Boundary Neutral&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_B</b>
-<a name="IDX396"></a>
+<a name="IDX399"></a>
</dt>
<dd><p>The bidi class for &ldquo;Paragraph Separator&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_S</b>
-<a name="IDX397"></a>
+<a name="IDX400"></a>
</dt>
<dd><p>The bidi class for &ldquo;Segment Separator&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_WS</b>
-<a name="IDX398"></a>
+<a name="IDX401"></a>
</dt>
<dd><p>The bidi class for &ldquo;Whitespace&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_ON</b>
-<a name="IDX399"></a>
+<a name="IDX402"></a>
</dt>
<dd><p>The bidi class for &ldquo;Other Neutral&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_LRI</b>
-<a name="IDX400"></a>
+<a name="IDX403"></a>
</dt>
<dd><p>The bidi class for &ldquo;Left-to-Right Isolate&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_RLI</b>
-<a name="IDX401"></a>
+<a name="IDX404"></a>
</dt>
<dd><p>The bidi class for &ldquo;Right-to-Left Isolate&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_FSI</b>
-<a name="IDX402"></a>
+<a name="IDX405"></a>
</dt>
<dd><p>The bidi class for &ldquo;First Strong Isolate&rdquo; characters.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BIDI_PDI</b>
-<a name="IDX403"></a>
+<a name="IDX406"></a>
</dt>
<dd><p>The bidi class for &ldquo;Pop Directional Isolate&rdquo; characters.
</p></dd></dl>
@@ -1092,27 +1092,27 @@ category and its name.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_bidi_class_name</b><i> (int&nbsp;<var>bidi_class</var>)</i>
-<a name="IDX404"></a>
+<a name="IDX407"></a>
</dt>
<dt><u>Function:</u> const char * <b>uc_bidi_category_name</b><i> (int&nbsp;<var>category</var>)</i>
-<a name="IDX405"></a>
+<a name="IDX408"></a>
</dt>
<dd><p>Returns the name of a bidi class, more precisely, the abbreviated name.
</p></dd></dl>
<dl>
<dt><u>Function:</u> const char * <b>uc_bidi_class_long_name</b><i> (int&nbsp;<var>bidi_class</var>)</i>
-<a name="IDX406"></a>
+<a name="IDX409"></a>
</dt>
<dd><p>Returns the long name of a bidi class.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>uc_bidi_class_byname</b><i> (const&nbsp;char&nbsp;*<var>bidi_class_name</var>)</i>
-<a name="IDX407"></a>
+<a name="IDX410"></a>
</dt>
<dt><u>Function:</u> int <b>uc_bidi_category_byname</b><i> (const&nbsp;char&nbsp;*<var>category_name</var>)</i>
-<a name="IDX408"></a>
+<a name="IDX411"></a>
</dt>
<dd><p>Returns the bidi class given by name, e.g. <code>&quot;LRE&quot;</code>, or by long name,
e.g. <code>&quot;Left-to-Right Embedding&quot;</code>.
@@ -1125,20 +1125,20 @@ characters.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_bidi_class</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX409"></a>
+<a name="IDX412"></a>
</dt>
<dt><u>Function:</u> int <b>uc_bidi_category</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX410"></a>
+<a name="IDX413"></a>
</dt>
<dd><p>Returns the bidi class of a Unicode character.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uc_is_bidi_class</b><i> (ucs4_t&nbsp;<var>uc</var>, int&nbsp;<var>bidi_class</var>)</i>
-<a name="IDX411"></a>
+<a name="IDX414"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_bidi_category</b><i> (ucs4_t&nbsp;<var>uc</var>, int&nbsp;<var>category</var>)</i>
-<a name="IDX412"></a>
+<a name="IDX415"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given bidi class.
</p></dd></dl>
@@ -1154,7 +1154,7 @@ numerical value.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_decimal_value</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX413"></a>
+<a name="IDX416"></a>
</dt>
<dd><p>Returns the decimal digit value of a Unicode character.
The return value is an integer in the range 0..9, or -1 for characters that
@@ -1172,7 +1172,7 @@ digit character to its numerical value.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_digit_value</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX414"></a>
+<a name="IDX417"></a>
</dt>
<dd><p>Returns the digit value of a Unicode character.
The return value is an integer in the range 0..9, or -1 for characters that
@@ -1190,7 +1190,7 @@ the Roman numerals, and fractional numbers, like 1/4 or 3/4.
<p>The following type represents the numeric value of a Unicode character.
</p><dl>
<dt><u>Type:</u> <b>uc_fraction_t</b>
-<a name="IDX415"></a>
+<a name="IDX418"></a>
</dt>
<dd><p>This is a structure type with the following fields:
</p><table><tr><td>&nbsp;</td><td><pre class="smallexample">int numerator;
@@ -1204,7 +1204,7 @@ int denominator;
</p>
<dl>
<dt><u>Function:</u> uc_fraction_t <b>uc_numeric_value</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX416"></a>
+<a name="IDX419"></a>
</dt>
<dd><p>Returns the numeric value of a Unicode character.
The return value is a fraction, or the pseudo-fraction <code>{ 0, 0 }</code> for
@@ -1224,11 +1224,20 @@ opening brace character, and so on.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_mirror_char</b><i> (ucs4_t&nbsp;<var>uc</var>, ucs4_t&nbsp;*<var>puc</var>)</i>
-<a name="IDX417"></a>
+<a name="IDX420"></a>
</dt>
<dd><p>Stores the mirrored character of a Unicode character <var>uc</var> in
<code>*<var>puc</var></code> and returns <code>true</code>, if it exists. Otherwise it
stores <var>uc</var> unmodified in <code>*<var>puc</var></code> and returns <code>false</code>.
+</p>
+<p>Note: It is possible for this function to return <code>true</code> and set
+<code>*<var>puc</var></code> to <code>0xFFFD</code>.
+This happens when the character has the bidi mirror property (that is, it
+should be displayed through a mirrored glyph) but this mirrored glyph
+does not exist as a Unicode character; thus a rendering engine needs to
+synthesize it artificially or pick it from an appropriate font.
+This affects mostly mathematical operators.
+See section &ldquo;Bidi Mirrored&rdquo; of the Unicode standard.
</p></dd></dl>
<hr size="6">
@@ -1255,14 +1264,14 @@ neighbour characters are rendered depending on this character.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_TYPE_U</b>
-<a name="IDX418"></a>
+<a name="IDX421"></a>
</dt>
<dd><p>&ldquo;Non joining&rdquo;: Characters of this joining type prohibit joining.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_TYPE_T</b>
-<a name="IDX419"></a>
+<a name="IDX422"></a>
</dt>
<dd><p>&ldquo;Transparent&rdquo;: Characters of this joining type are skipped when
considering joining.
@@ -1270,7 +1279,7 @@ considering joining.
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_TYPE_C</b>
-<a name="IDX420"></a>
+<a name="IDX423"></a>
</dt>
<dd><p>&ldquo;Join causing&rdquo;: Characters of this joining type cause their neighbour
characters to change their shapes but don't change their own shape.
@@ -1278,7 +1287,7 @@ characters to change their shapes but don't change their own shape.
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_TYPE_L</b>
-<a name="IDX421"></a>
+<a name="IDX424"></a>
</dt>
<dd><p>&ldquo;Left joining&rdquo;: Characters of this joining type have two shapes,
isolated and initial. Such characters currently don't exist.
@@ -1286,7 +1295,7 @@ isolated and initial. Such characters currently don't exist.
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_TYPE_R</b>
-<a name="IDX422"></a>
+<a name="IDX425"></a>
</dt>
<dd><p>&ldquo;Right joining&rdquo;: Characters of this joining type have two shapes,
isolated and final.
@@ -1294,7 +1303,7 @@ isolated and final.
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_TYPE_D</b>
-<a name="IDX423"></a>
+<a name="IDX426"></a>
</dt>
<dd><p>&ldquo;Dual joining&rdquo;: Characters of this joining type have four shapes,
initial, medial, final, and isolated.
@@ -1305,21 +1314,21 @@ and its name.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_joining_type_name</b><i> (int&nbsp;<var>joining_type</var>)</i>
-<a name="IDX424"></a>
+<a name="IDX427"></a>
</dt>
<dd><p>Returns the name of a joining type.
</p></dd></dl>
<dl>
<dt><u>Function:</u> const char * <b>uc_joining_type_long_name</b><i> (int&nbsp;<var>joining_type</var>)</i>
-<a name="IDX425"></a>
+<a name="IDX428"></a>
</dt>
<dd><p>Returns the long name of a joining type.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>uc_joining_type_byname</b><i> (const&nbsp;char&nbsp;*<var>joining_type_name</var>)</i>
-<a name="IDX426"></a>
+<a name="IDX429"></a>
</dt>
<dd><p>Returns the joining type given by name, e.g. <code>&quot;D&quot;</code>, or by long name,
e.g. <code>&quot;Dual Joining</code>.
@@ -1331,7 +1340,7 @@ case-insignificant.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_joining_type</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX427"></a>
+<a name="IDX430"></a>
</dt>
<dd><p>Returns the joining type of a Unicode character.
</p></dd></dl>
@@ -1349,316 +1358,316 @@ two contexts of right-joining characters.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NONE</b>
-<a name="IDX428"></a>
+<a name="IDX431"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AIN</b>
-<a name="IDX429"></a>
+<a name="IDX432"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ALAPH</b>
-<a name="IDX430"></a>
+<a name="IDX433"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ALEF</b>
-<a name="IDX431"></a>
+<a name="IDX434"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_BEH</b>
-<a name="IDX432"></a>
+<a name="IDX435"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_BETH</b>
-<a name="IDX433"></a>
+<a name="IDX436"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE</b>
-<a name="IDX434"></a>
+<a name="IDX437"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_DAL</b>
-<a name="IDX435"></a>
+<a name="IDX438"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_DALATH_RISH</b>
-<a name="IDX436"></a>
+<a name="IDX439"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_E</b>
-<a name="IDX437"></a>
+<a name="IDX440"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FARSI_YEH</b>
-<a name="IDX438"></a>
+<a name="IDX441"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FE</b>
-<a name="IDX439"></a>
+<a name="IDX442"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FEH</b>
-<a name="IDX440"></a>
+<a name="IDX443"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FINAL_SEMKATH</b>
-<a name="IDX441"></a>
+<a name="IDX444"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_GAF</b>
-<a name="IDX442"></a>
+<a name="IDX445"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_GAMAL</b>
-<a name="IDX443"></a>
+<a name="IDX446"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HAH</b>
-<a name="IDX444"></a>
+<a name="IDX447"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HE</b>
-<a name="IDX445"></a>
+<a name="IDX448"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HEH</b>
-<a name="IDX446"></a>
+<a name="IDX449"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HEH_GOAL</b>
-<a name="IDX447"></a>
+<a name="IDX450"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HETH</b>
-<a name="IDX448"></a>
+<a name="IDX451"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KAF</b>
-<a name="IDX449"></a>
+<a name="IDX452"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KAPH</b>
-<a name="IDX450"></a>
+<a name="IDX453"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KHAPH</b>
-<a name="IDX451"></a>
+<a name="IDX454"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KNOTTED_HEH</b>
-<a name="IDX452"></a>
+<a name="IDX455"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_LAM</b>
-<a name="IDX453"></a>
+<a name="IDX456"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_LAMADH</b>
-<a name="IDX454"></a>
+<a name="IDX457"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MEEM</b>
-<a name="IDX455"></a>
+<a name="IDX458"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MIM</b>
-<a name="IDX456"></a>
+<a name="IDX459"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NOON</b>
-<a name="IDX457"></a>
+<a name="IDX460"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NUN</b>
-<a name="IDX458"></a>
+<a name="IDX461"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NYA</b>
-<a name="IDX459"></a>
+<a name="IDX462"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_PE</b>
-<a name="IDX460"></a>
+<a name="IDX463"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_QAF</b>
-<a name="IDX461"></a>
+<a name="IDX464"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_QAPH</b>
-<a name="IDX462"></a>
+<a name="IDX465"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_REH</b>
-<a name="IDX463"></a>
+<a name="IDX466"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_REVERSED_PE</b>
-<a name="IDX464"></a>
+<a name="IDX467"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SAD</b>
-<a name="IDX465"></a>
+<a name="IDX468"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SADHE</b>
-<a name="IDX466"></a>
+<a name="IDX469"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SEEN</b>
-<a name="IDX467"></a>
+<a name="IDX470"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SEMKATH</b>
-<a name="IDX468"></a>
+<a name="IDX471"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SHIN</b>
-<a name="IDX469"></a>
+<a name="IDX472"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SWASH_KAF</b>
-<a name="IDX470"></a>
+<a name="IDX473"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SYRIAC_WAW</b>
-<a name="IDX471"></a>
+<a name="IDX474"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TAH</b>
-<a name="IDX472"></a>
+<a name="IDX475"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TAW</b>
-<a name="IDX473"></a>
+<a name="IDX476"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TEH_MARBUTA</b>
-<a name="IDX474"></a>
+<a name="IDX477"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TEH_MARBUTA_GOAL</b>
-<a name="IDX475"></a>
+<a name="IDX478"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TETH</b>
-<a name="IDX476"></a>
+<a name="IDX479"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_WAW</b>
-<a name="IDX477"></a>
+<a name="IDX480"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YEH</b>
-<a name="IDX478"></a>
+<a name="IDX481"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YEH_BARREE</b>
-<a name="IDX479"></a>
+<a name="IDX482"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YEH_WITH_TAIL</b>
-<a name="IDX480"></a>
+<a name="IDX483"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YUDH</b>
-<a name="IDX481"></a>
+<a name="IDX484"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YUDH_HE</b>
-<a name="IDX482"></a>
+<a name="IDX485"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ZAIN</b>
-<a name="IDX483"></a>
+<a name="IDX486"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ZHAIN</b>
-<a name="IDX484"></a>
+<a name="IDX487"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ROHINGYA_YEH</b>
-<a name="IDX485"></a>
+<a name="IDX488"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_STRAIGHT_WAW</b>
-<a name="IDX486"></a>
+<a name="IDX489"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_ALEPH</b>
-<a name="IDX487"></a>
+<a name="IDX490"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_BETH</b>
-<a name="IDX488"></a>
+<a name="IDX491"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_GIMEL</b>
-<a name="IDX489"></a>
+<a name="IDX492"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_DALETH</b>
-<a name="IDX490"></a>
+<a name="IDX493"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_WAW</b>
-<a name="IDX491"></a>
+<a name="IDX494"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_ZAYIN</b>
-<a name="IDX492"></a>
+<a name="IDX495"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_HETH</b>
-<a name="IDX493"></a>
+<a name="IDX496"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TETH</b>
-<a name="IDX494"></a>
+<a name="IDX497"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_YODH</b>
-<a name="IDX495"></a>
+<a name="IDX498"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_KAPH</b>
-<a name="IDX496"></a>
+<a name="IDX499"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_LAMEDH</b>
-<a name="IDX497"></a>
+<a name="IDX500"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_DHAMEDH</b>
-<a name="IDX498"></a>
+<a name="IDX501"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_THAMEDH</b>
-<a name="IDX499"></a>
+<a name="IDX502"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_MEM</b>
-<a name="IDX500"></a>
+<a name="IDX503"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_NUN</b>
-<a name="IDX501"></a>
+<a name="IDX504"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_SAMEKH</b>
-<a name="IDX502"></a>
+<a name="IDX505"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_AYIN</b>
-<a name="IDX503"></a>
+<a name="IDX506"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_PE</b>
-<a name="IDX504"></a>
+<a name="IDX507"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_SADHE</b>
-<a name="IDX505"></a>
+<a name="IDX508"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_QOPH</b>
-<a name="IDX506"></a>
+<a name="IDX509"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_RESH</b>
-<a name="IDX507"></a>
+<a name="IDX510"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TAW</b>
-<a name="IDX508"></a>
+<a name="IDX511"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_ONE</b>
-<a name="IDX509"></a>
+<a name="IDX512"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_FIVE</b>
-<a name="IDX510"></a>
+<a name="IDX513"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TEN</b>
-<a name="IDX511"></a>
+<a name="IDX514"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TWENTY</b>
-<a name="IDX512"></a>
+<a name="IDX515"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_HUNDRED</b>
-<a name="IDX513"></a>
+<a name="IDX516"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AFRICAN_FEH</b>
-<a name="IDX514"></a>
+<a name="IDX517"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AFRICAN_QAF</b>
-<a name="IDX515"></a>
+<a name="IDX518"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AFRICAN_NOON</b>
-<a name="IDX516"></a>
+<a name="IDX519"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NGA</b>
-<a name="IDX517"></a>
+<a name="IDX520"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_JA</b>
-<a name="IDX518"></a>
+<a name="IDX521"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NYA</b>
-<a name="IDX519"></a>
+<a name="IDX522"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_TTA</b>
-<a name="IDX520"></a>
+<a name="IDX523"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NNA</b>
-<a name="IDX521"></a>
+<a name="IDX524"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NNNA</b>
-<a name="IDX522"></a>
+<a name="IDX525"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_BHA</b>
-<a name="IDX523"></a>
+<a name="IDX526"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_RA</b>
-<a name="IDX524"></a>
+<a name="IDX527"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_LLA</b>
-<a name="IDX525"></a>
+<a name="IDX528"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_LLLA</b>
-<a name="IDX526"></a>
+<a name="IDX529"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_SSA</b>
-<a name="IDX527"></a>
+<a name="IDX530"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HANIFI_ROHINGYA_PA</b>
-<a name="IDX528"></a>
+<a name="IDX531"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA</b>
-<a name="IDX529"></a>
+<a name="IDX532"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_THIN_YEH</b>
-<a name="IDX530"></a>
+<a name="IDX533"></a>
</dt>
<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_VERTICAL_TAIL</b>
-<a name="IDX531"></a>
+<a name="IDX534"></a>
</dt>
</dl>
@@ -1667,14 +1676,14 @@ and its name.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_joining_group_name</b><i> (int&nbsp;<var>joining_group</var>)</i>
-<a name="IDX532"></a>
+<a name="IDX535"></a>
</dt>
<dd><p>Returns the name of a joining group.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>uc_joining_group_byname</b><i> (const&nbsp;char&nbsp;*<var>joining_group_name</var>)</i>
-<a name="IDX533"></a>
+<a name="IDX536"></a>
</dt>
<dd><p>Returns the joining group given by name, e.g. <code>&quot;Teh_Marbuta&quot;</code>.
This lookup ignores spaces, underscores, or hyphens as word separators and is
@@ -1685,7 +1694,7 @@ case-insignificant.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_joining_group</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX534"></a>
+<a name="IDX537"></a>
</dt>
<dd><p>Returns the joining group of a Unicode character.
</p></dd></dl>
@@ -1715,7 +1724,7 @@ low level, a property is merely a function.
</p>
<dl>
<dt><u>Type:</u> <b>uc_property_t</b>
-<a name="IDX535"></a>
+<a name="IDX538"></a>
</dt>
<dd><p>This data type denotes a boolean property on Unicode characters. It is an
immediate type that can be copied by simple assignment, without involving
@@ -1728,37 +1737,37 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_WHITE_SPACE</b>
-<a name="IDX536"></a>
+<a name="IDX539"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ALPHABETIC</b>
-<a name="IDX537"></a>
+<a name="IDX540"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ALPHABETIC</b>
-<a name="IDX538"></a>
+<a name="IDX541"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NOT_A_CHARACTER</b>
-<a name="IDX539"></a>
+<a name="IDX542"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT</b>
-<a name="IDX540"></a>
+<a name="IDX543"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT</b>
-<a name="IDX541"></a>
+<a name="IDX544"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DEPRECATED</b>
-<a name="IDX542"></a>
+<a name="IDX545"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LOGICAL_ORDER_EXCEPTION</b>
-<a name="IDX543"></a>
+<a name="IDX546"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_VARIATION_SELECTOR</b>
-<a name="IDX544"></a>
+<a name="IDX547"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PRIVATE_USE</b>
-<a name="IDX545"></a>
+<a name="IDX548"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UNASSIGNED_CODE_VALUE</b>
-<a name="IDX546"></a>
+<a name="IDX549"></a>
</dt>
</dl>
@@ -1766,43 +1775,43 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UPPERCASE</b>
-<a name="IDX547"></a>
+<a name="IDX550"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_UPPERCASE</b>
-<a name="IDX548"></a>
+<a name="IDX551"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LOWERCASE</b>
-<a name="IDX549"></a>
+<a name="IDX552"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_LOWERCASE</b>
-<a name="IDX550"></a>
+<a name="IDX553"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_TITLECASE</b>
-<a name="IDX551"></a>
+<a name="IDX554"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CASED</b>
-<a name="IDX552"></a>
+<a name="IDX555"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CASE_IGNORABLE</b>
-<a name="IDX553"></a>
+<a name="IDX556"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_LOWERCASED</b>
-<a name="IDX554"></a>
+<a name="IDX557"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_UPPERCASED</b>
-<a name="IDX555"></a>
+<a name="IDX558"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_TITLECASED</b>
-<a name="IDX556"></a>
+<a name="IDX559"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_CASEFOLDED</b>
-<a name="IDX557"></a>
+<a name="IDX560"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_CASEMAPPED</b>
-<a name="IDX558"></a>
+<a name="IDX561"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SOFT_DOTTED</b>
-<a name="IDX559"></a>
+<a name="IDX562"></a>
</dt>
</dl>
@@ -1810,28 +1819,34 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_START</b>
-<a name="IDX560"></a>
+<a name="IDX563"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ID_START</b>
-<a name="IDX561"></a>
+<a name="IDX564"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_CONTINUE</b>
-<a name="IDX562"></a>
+<a name="IDX565"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ID_CONTINUE</b>
-<a name="IDX563"></a>
+<a name="IDX566"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_XID_START</b>
-<a name="IDX564"></a>
+<a name="IDX567"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_XID_CONTINUE</b>
-<a name="IDX565"></a>
+<a name="IDX568"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_COMPAT_MATH_START</b>
+<a name="IDX569"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_COMPAT_MATH_CONTINUE</b>
+<a name="IDX570"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PATTERN_WHITE_SPACE</b>
-<a name="IDX566"></a>
+<a name="IDX571"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PATTERN_SYNTAX</b>
-<a name="IDX567"></a>
+<a name="IDX572"></a>
</dt>
</dl>
@@ -1839,19 +1854,19 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_JOIN_CONTROL</b>
-<a name="IDX568"></a>
+<a name="IDX573"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_BASE</b>
-<a name="IDX569"></a>
+<a name="IDX574"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_EXTEND</b>
-<a name="IDX570"></a>
+<a name="IDX575"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_GRAPHEME_EXTEND</b>
-<a name="IDX571"></a>
+<a name="IDX576"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_LINK</b>
-<a name="IDX572"></a>
+<a name="IDX577"></a>
</dt>
</dl>
@@ -1859,55 +1874,55 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_CONTROL</b>
-<a name="IDX573"></a>
+<a name="IDX578"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_LEFT_TO_RIGHT</b>
-<a name="IDX574"></a>
+<a name="IDX579"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT</b>
-<a name="IDX575"></a>
+<a name="IDX580"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT</b>
-<a name="IDX576"></a>
+<a name="IDX581"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUROPEAN_DIGIT</b>
-<a name="IDX577"></a>
+<a name="IDX582"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR</b>
-<a name="IDX578"></a>
+<a name="IDX583"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR</b>
-<a name="IDX579"></a>
+<a name="IDX584"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_ARABIC_DIGIT</b>
-<a name="IDX580"></a>
+<a name="IDX585"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_COMMON_SEPARATOR</b>
-<a name="IDX581"></a>
+<a name="IDX586"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_BLOCK_SEPARATOR</b>
-<a name="IDX582"></a>
+<a name="IDX587"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_SEGMENT_SEPARATOR</b>
-<a name="IDX583"></a>
+<a name="IDX588"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_WHITESPACE</b>
-<a name="IDX584"></a>
+<a name="IDX589"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_NON_SPACING_MARK</b>
-<a name="IDX585"></a>
+<a name="IDX590"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL</b>
-<a name="IDX586"></a>
+<a name="IDX591"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_PDF</b>
-<a name="IDX587"></a>
+<a name="IDX592"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE</b>
-<a name="IDX588"></a>
+<a name="IDX593"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_OTHER_NEUTRAL</b>
-<a name="IDX589"></a>
+<a name="IDX594"></a>
</dt>
</dl>
@@ -1915,10 +1930,10 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_HEX_DIGIT</b>
-<a name="IDX590"></a>
+<a name="IDX595"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ASCII_HEX_DIGIT</b>
-<a name="IDX591"></a>
+<a name="IDX596"></a>
</dt>
</dl>
@@ -1926,19 +1941,22 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDEOGRAPHIC</b>
-<a name="IDX592"></a>
+<a name="IDX597"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UNIFIED_IDEOGRAPH</b>
-<a name="IDX593"></a>
+<a name="IDX598"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_RADICAL</b>
-<a name="IDX594"></a>
+<a name="IDX599"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_UNARY_OPERATOR</b>
+<a name="IDX600"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_BINARY_OPERATOR</b>
-<a name="IDX595"></a>
+<a name="IDX601"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_TRINARY_OPERATOR</b>
-<a name="IDX596"></a>
+<a name="IDX602"></a>
</dt>
</dl>
@@ -1946,22 +1964,22 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI</b>
-<a name="IDX597"></a>
+<a name="IDX603"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_PRESENTATION</b>
-<a name="IDX598"></a>
+<a name="IDX604"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_MODIFIER</b>
-<a name="IDX599"></a>
+<a name="IDX605"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_MODIFIER_BASE</b>
-<a name="IDX600"></a>
+<a name="IDX606"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_COMPONENT</b>
-<a name="IDX601"></a>
+<a name="IDX607"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EXTENDED_PICTOGRAPHIC</b>
-<a name="IDX602"></a>
+<a name="IDX608"></a>
</dt>
</dl>
@@ -1969,82 +1987,85 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ZERO_WIDTH</b>
-<a name="IDX603"></a>
+<a name="IDX609"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SPACE</b>
-<a name="IDX604"></a>
+<a name="IDX610"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NON_BREAK</b>
-<a name="IDX605"></a>
+<a name="IDX611"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ISO_CONTROL</b>
-<a name="IDX606"></a>
+<a name="IDX612"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_FORMAT_CONTROL</b>
-<a name="IDX607"></a>
+<a name="IDX613"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PREPENDED_CONCATENATION_MARK</b>
+<a name="IDX614"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DASH</b>
-<a name="IDX608"></a>
+<a name="IDX615"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_HYPHEN</b>
-<a name="IDX609"></a>
+<a name="IDX616"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PUNCTUATION</b>
-<a name="IDX610"></a>
+<a name="IDX617"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LINE_SEPARATOR</b>
-<a name="IDX611"></a>
+<a name="IDX618"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PARAGRAPH_SEPARATOR</b>
-<a name="IDX612"></a>
+<a name="IDX619"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_QUOTATION_MARK</b>
-<a name="IDX613"></a>
+<a name="IDX620"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SENTENCE_TERMINAL</b>
-<a name="IDX614"></a>
+<a name="IDX621"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_TERMINAL_PUNCTUATION</b>
-<a name="IDX615"></a>
+<a name="IDX622"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CURRENCY_SYMBOL</b>
-<a name="IDX616"></a>
+<a name="IDX623"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_MATH</b>
-<a name="IDX617"></a>
+<a name="IDX624"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_MATH</b>
-<a name="IDX618"></a>
+<a name="IDX625"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PAIRED_PUNCTUATION</b>
-<a name="IDX619"></a>
+<a name="IDX626"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LEFT_OF_PAIR</b>
-<a name="IDX620"></a>
+<a name="IDX627"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_COMBINING</b>
-<a name="IDX621"></a>
+<a name="IDX628"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_COMPOSITE</b>
-<a name="IDX622"></a>
+<a name="IDX629"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DECIMAL_DIGIT</b>
-<a name="IDX623"></a>
+<a name="IDX630"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NUMERIC</b>
-<a name="IDX624"></a>
+<a name="IDX631"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DIACRITIC</b>
-<a name="IDX625"></a>
+<a name="IDX632"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EXTENDER</b>
-<a name="IDX626"></a>
+<a name="IDX633"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IGNORABLE_CONTROL</b>
-<a name="IDX627"></a>
+<a name="IDX634"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_REGIONAL_INDICATOR</b>
-<a name="IDX628"></a>
+<a name="IDX635"></a>
</dt>
</dl>
@@ -2052,7 +2073,7 @@ memory allocation. It is not an array type.
</p>
<dl>
<dt><u>Function:</u> uc_property_t <b>uc_property_byname</b><i> (const&nbsp;char&nbsp;*<var>property_name</var>)</i>
-<a name="IDX629"></a>
+<a name="IDX636"></a>
</dt>
<dd><p>Returns the property given by name, e.g. <code>&quot;White space&quot;</code>. If a property
with the given name exists, the result will satisfy the
@@ -2070,7 +2091,7 @@ can significantly increase the size of your application.
<dl>
<dt><u>Function:</u> bool <b>uc_property_is_valid</b><i> (uc_property_t&nbsp;property)</i>
-<a name="IDX630"></a>
+<a name="IDX637"></a>
</dt>
<dd><p>Returns <code>true</code> when the given property is valid, or <code>false</code>
otherwise.
@@ -2080,7 +2101,7 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property</b><i> (ucs4_t&nbsp;<var>uc</var>, uc_property_t&nbsp;<var>property</var>)</i>
-<a name="IDX631"></a>
+<a name="IDX638"></a>
</dt>
<dd><p>Tests whether the Unicode character <var>uc</var> has the given property.
</p></dd></dl>
@@ -2094,37 +2115,37 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_white_space</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX632"></a>
+<a name="IDX639"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_alphabetic</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX633"></a>
+<a name="IDX640"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_alphabetic</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX634"></a>
+<a name="IDX641"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_not_a_character</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX635"></a>
+<a name="IDX642"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_default_ignorable_code_point</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX636"></a>
+<a name="IDX643"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_default_ignorable_code_point</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX637"></a>
+<a name="IDX644"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_deprecated</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX638"></a>
+<a name="IDX645"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_logical_order_exception</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX639"></a>
+<a name="IDX646"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_variation_selector</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX640"></a>
+<a name="IDX647"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_private_use</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX641"></a>
+<a name="IDX648"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_unassigned_code_value</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX642"></a>
+<a name="IDX649"></a>
</dt>
</dl>
@@ -2132,43 +2153,43 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_uppercase</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX643"></a>
+<a name="IDX650"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_uppercase</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX644"></a>
+<a name="IDX651"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_lowercase</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX645"></a>
+<a name="IDX652"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_lowercase</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX646"></a>
+<a name="IDX653"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_titlecase</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX647"></a>
+<a name="IDX654"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_cased</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX648"></a>
+<a name="IDX655"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_case_ignorable</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX649"></a>
+<a name="IDX656"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_changes_when_lowercased</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX650"></a>
+<a name="IDX657"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_changes_when_uppercased</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX651"></a>
+<a name="IDX658"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_changes_when_titlecased</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX652"></a>
+<a name="IDX659"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_changes_when_casefolded</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX653"></a>
+<a name="IDX660"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_changes_when_casemapped</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX654"></a>
+<a name="IDX661"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_soft_dotted</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX655"></a>
+<a name="IDX662"></a>
</dt>
</dl>
@@ -2176,28 +2197,34 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_id_start</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX656"></a>
+<a name="IDX663"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_id_start</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX657"></a>
+<a name="IDX664"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_id_continue</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX658"></a>
+<a name="IDX665"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_id_continue</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX659"></a>
+<a name="IDX666"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_xid_start</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX660"></a>
+<a name="IDX667"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_xid_continue</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX661"></a>
+<a name="IDX668"></a>
+</dt>
+<dt><u>Function:</u> bool <b>uc_is_property_id_compat_math_start</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
+<a name="IDX669"></a>
+</dt>
+<dt><u>Function:</u> bool <b>uc_is_property_id_compat_math_continue</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
+<a name="IDX670"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_pattern_white_space</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX662"></a>
+<a name="IDX671"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_pattern_syntax</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX663"></a>
+<a name="IDX672"></a>
</dt>
</dl>
@@ -2205,19 +2232,19 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_join_control</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX664"></a>
+<a name="IDX673"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_grapheme_base</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX665"></a>
+<a name="IDX674"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_grapheme_extend</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX666"></a>
+<a name="IDX675"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_grapheme_extend</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX667"></a>
+<a name="IDX676"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_grapheme_link</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX668"></a>
+<a name="IDX677"></a>
</dt>
</dl>
@@ -2225,55 +2252,55 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_control</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX669"></a>
+<a name="IDX678"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_left_to_right</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX670"></a>
+<a name="IDX679"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_hebrew_right_to_left</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX671"></a>
+<a name="IDX680"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_arabic_right_to_left</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX672"></a>
+<a name="IDX681"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_european_digit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX673"></a>
+<a name="IDX682"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_eur_num_separator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX674"></a>
+<a name="IDX683"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_eur_num_terminator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX675"></a>
+<a name="IDX684"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_arabic_digit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX676"></a>
+<a name="IDX685"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_common_separator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX677"></a>
+<a name="IDX686"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_block_separator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX678"></a>
+<a name="IDX687"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_segment_separator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX679"></a>
+<a name="IDX688"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_whitespace</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX680"></a>
+<a name="IDX689"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_non_spacing_mark</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX681"></a>
+<a name="IDX690"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_boundary_neutral</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX682"></a>
+<a name="IDX691"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_pdf</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX683"></a>
+<a name="IDX692"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_embedding_or_override</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX684"></a>
+<a name="IDX693"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_bidi_other_neutral</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX685"></a>
+<a name="IDX694"></a>
</dt>
</dl>
@@ -2281,10 +2308,10 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_hex_digit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX686"></a>
+<a name="IDX695"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_ascii_hex_digit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX687"></a>
+<a name="IDX696"></a>
</dt>
</dl>
@@ -2292,19 +2319,22 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_ideographic</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX688"></a>
+<a name="IDX697"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_unified_ideograph</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX689"></a>
+<a name="IDX698"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_radical</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX690"></a>
+<a name="IDX699"></a>
+</dt>
+<dt><u>Function:</u> bool <b>uc_is_property_ids_unary_operator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
+<a name="IDX700"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_ids_binary_operator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX691"></a>
+<a name="IDX701"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_ids_trinary_operator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX692"></a>
+<a name="IDX702"></a>
</dt>
</dl>
@@ -2312,22 +2342,22 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_emoji</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX693"></a>
+<a name="IDX703"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_emoji_presentation</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX694"></a>
+<a name="IDX704"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_emoji_modifier</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX695"></a>
+<a name="IDX705"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_emoji_modifier_base</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX696"></a>
+<a name="IDX706"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_emoji_component</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX697"></a>
+<a name="IDX707"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_extended_pictographic</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX698"></a>
+<a name="IDX708"></a>
</dt>
</dl>
@@ -2335,89 +2365,154 @@ otherwise.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_property_zero_width</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX699"></a>
+<a name="IDX709"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_space</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX700"></a>
+<a name="IDX710"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_non_break</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX701"></a>
+<a name="IDX711"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_iso_control</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX702"></a>
+<a name="IDX712"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_format_control</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX703"></a>
+<a name="IDX713"></a>
+</dt>
+<dt><u>Function:</u> bool <b>uc_is_property_prepended_concatenation_mark</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
+<a name="IDX714"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_dash</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX704"></a>
+<a name="IDX715"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_hyphen</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX705"></a>
+<a name="IDX716"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_punctuation</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX706"></a>
+<a name="IDX717"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_line_separator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX707"></a>
+<a name="IDX718"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_paragraph_separator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX708"></a>
+<a name="IDX719"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_quotation_mark</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX709"></a>
+<a name="IDX720"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_sentence_terminal</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX710"></a>
+<a name="IDX721"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_terminal_punctuation</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX711"></a>
+<a name="IDX722"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_currency_symbol</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX712"></a>
+<a name="IDX723"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_math</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX713"></a>
+<a name="IDX724"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_other_math</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX714"></a>
+<a name="IDX725"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_paired_punctuation</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX715"></a>
+<a name="IDX726"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_left_of_pair</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX716"></a>
+<a name="IDX727"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_combining</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX717"></a>
+<a name="IDX728"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_composite</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX718"></a>
+<a name="IDX729"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_decimal_digit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX719"></a>
+<a name="IDX730"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_numeric</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX720"></a>
+<a name="IDX731"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_diacritic</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX721"></a>
+<a name="IDX732"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_extender</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX722"></a>
+<a name="IDX733"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_ignorable_control</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX723"></a>
+<a name="IDX734"></a>
</dt>
<dt><u>Function:</u> bool <b>uc_is_property_regional_indicator</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX724"></a>
+<a name="IDX735"></a>
</dt>
</dl>
<hr size="6">
-<a name="Scripts"></a>
+<a name="Other-attributes"></a>
<a name="SEC49"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC49">8.10 Scripts</a> </h2>
+<h2 class="section"> <a href="libunistring_toc.html#TOC49">8.10 Other attributes</a> </h2>
+
+<p>This section defines non-boolean attributes of Unicode characters.
+</p>
+
+<hr size="6">
+<a name="Indic-conjunct-break"></a>
+<a name="SEC50"></a>
+<h3 class="subsection"> <a href="libunistring_toc.html#TOC50">8.10.1 Indic conjunct break</a> </h3>
+
+<p>The Indic_Conjunct_Break attribute is used when determining the grapheme
+cluster boundary in Indic scripts.
+</p>
+<p>The Indic_Conjunct_Break attribute has the following possible values:
+</p>
+<dl>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_NONE</b>
+<a name="IDX736"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_CONSONANT</b>
+<a name="IDX737"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_LINKER</b>
+<a name="IDX738"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_EXTEND</b>
+<a name="IDX739"></a>
+</dt>
+</dl>
+
+<p>The following functions implement the association between an
+Indic_Conjunct_Break value and its name.
+</p>
+<dl>
+<dt><u>Function:</u> const char * <b>uc_indic_conjunct_break_name</b><i> (int&nbsp;<var>indic_conjunct_break</var>)</i>
+<a name="IDX740"></a>
+</dt>
+<dd><p>Returns the name of an Indic_Conjunct_Break value.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> int <b>uc_indic_conjunct_break_byname</b><i> (const&nbsp;char&nbsp;*<var>indic_conjunct_break_name</var>)</i>
+<a name="IDX741"></a>
+</dt>
+<dd><p>Returns the Indic_Conjunct_Break value given by name, e.g. <code>&quot;Consonant&quot;</code>.
+This lookup ignores spaces, underscores, or hyphens as word separators and is
+case-insignificant.
+</p></dd></dl>
+
+<p>The following function gives the Indic_Conjunct_Break attribute of every
+Unicode character.
+</p>
+<dl>
+<dt><u>Function:</u> int <b>uc_indic_conjunct_break</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
+<a name="IDX742"></a>
+</dt>
+<dd><p>Returns the Indic_Conjunct_Break attribute of a Unicode character.
+</p></dd></dl>
+
+<hr size="6">
+<a name="Scripts"></a>
+<a name="SEC51"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC51">8.11 Scripts</a> </h2>
<p>The Unicode characters are subdivided into scripts.
</p>
@@ -2425,7 +2520,7 @@ otherwise.
</p>
<dl>
<dt><u>Type:</u> <b>uc_script_t</b>
-<a name="IDX725"></a>
+<a name="IDX743"></a>
</dt>
<dd><p>This data type is a structure type that refers to statically allocated
read-only data. It contains the following fields:
@@ -2435,12 +2530,12 @@ read-only data. It contains the following fields:
<p>The <code>name</code> field contains the name of the script.
</p></dd></dl>
-<a name="IDX726"></a>
+<a name="IDX744"></a>
<p>The following functions look up a script.
</p>
<dl>
<dt><u>Function:</u> const uc_script_t * <b>uc_script</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX727"></a>
+<a name="IDX745"></a>
</dt>
<dd><p>Returns the script of a Unicode character. Returns NULL if <var>uc</var> does not
belong to any script.
@@ -2448,7 +2543,7 @@ belong to any script.
<dl>
<dt><u>Function:</u> const uc_script_t * <b>uc_script_byname</b><i> (const&nbsp;char&nbsp;*<var>script_name</var>)</i>
-<a name="IDX728"></a>
+<a name="IDX746"></a>
</dt>
<dd><p>Returns the script given by its name, e.g. <code>&quot;HAN&quot;</code>. Returns NULL if a
script with the given name does not exist.
@@ -2458,7 +2553,7 @@ script with the given name does not exist.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_script</b><i> (ucs4_t&nbsp;<var>uc</var>, const&nbsp;uc_script_t&nbsp;*<var>script</var>)</i>
-<a name="IDX729"></a>
+<a name="IDX747"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given script.
</p></dd></dl>
@@ -2467,7 +2562,7 @@ script with the given name does not exist.
</p>
<dl>
<dt><u>Function:</u> void <b>uc_all_scripts</b><i> (const&nbsp;uc_script_t&nbsp;**<var>scripts</var>, size_t&nbsp;*<var>count</var>)</i>
-<a name="IDX730"></a>
+<a name="IDX748"></a>
</dt>
<dd><p>Get the list of all scripts. Stores a pointer to an array of all scripts in
<code>*<var>scripts</var></code> and the length of this array in <code>*<var>count</var></code>.
@@ -2475,8 +2570,8 @@ script with the given name does not exist.
<hr size="6">
<a name="Blocks"></a>
-<a name="SEC50"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC50">8.11 Blocks</a> </h2>
+<a name="SEC52"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC52">8.12 Blocks</a> </h2>
<p>The Unicode characters are subdivided into blocks. A block is an interval of
Unicode code points.
@@ -2485,7 +2580,7 @@ Unicode code points.
</p>
<dl>
<dt><u>Type:</u> <b>uc_block_t</b>
-<a name="IDX731"></a>
+<a name="IDX749"></a>
</dt>
<dd><p>This data type is a structure type that refers to statically allocated data.
It contains the following fields:
@@ -2501,12 +2596,12 @@ const char *name;
<p>The <code>name</code> field is the name of the block.
</p></dd></dl>
-<a name="IDX732"></a>
+<a name="IDX750"></a>
<p>The following function looks up a block.
</p>
<dl>
<dt><u>Function:</u> const uc_block_t * <b>uc_block</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX733"></a>
+<a name="IDX751"></a>
</dt>
<dd><p>Returns the block a character belongs to.
</p></dd></dl>
@@ -2515,7 +2610,7 @@ const char *name;
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_block</b><i> (ucs4_t&nbsp;<var>uc</var>, const&nbsp;uc_block_t&nbsp;*<var>block</var>)</i>
-<a name="IDX734"></a>
+<a name="IDX752"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given block.
</p></dd></dl>
@@ -2524,7 +2619,7 @@ const char *name;
</p>
<dl>
<dt><u>Function:</u> void <b>uc_all_blocks</b><i> (const&nbsp;uc_block_t&nbsp;**<var>blocks</var>, size_t&nbsp;*<var>count</var>)</i>
-<a name="IDX735"></a>
+<a name="IDX753"></a>
</dt>
<dd><p>Get the list of all blocks. Stores a pointer to an array of all blocks in
<code>*<var>blocks</var></code> and the length of this array in <code>*<var>count</var></code>.
@@ -2532,22 +2627,22 @@ const char *name;
<hr size="6">
<a name="ISO-C-and-Java-syntax"></a>
-<a name="SEC51"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC51">8.12 ISO C and Java syntax</a> </h2>
+<a name="SEC53"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC53">8.13 ISO C and Java syntax</a> </h2>
<p>The following properties are taken from language standards. The supported
language standards are ISO C 99 and Java.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_c_whitespace</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX736"></a>
+<a name="IDX754"></a>
</dt>
<dd><p>Tests whether a Unicode character is considered whitespace in ISO C 99.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uc_is_java_whitespace</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX737"></a>
+<a name="IDX755"></a>
</dt>
<dd><p>Tests whether a Unicode character is considered whitespace in Java.
</p></dd></dl>
@@ -2557,7 +2652,7 @@ language standards are ISO C 99 and Java.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_IDENTIFIER_START</b>
-<a name="IDX738"></a>
+<a name="IDX756"></a>
</dt>
<dd><p>This return value means that the given character is valid as first or
subsequent character in an identifier.
@@ -2565,7 +2660,7 @@ subsequent character in an identifier.
<dl>
<dt><u>Constant:</u> int <b>UC_IDENTIFIER_VALID</b>
-<a name="IDX739"></a>
+<a name="IDX757"></a>
</dt>
<dd><p>This return value means that the given character is valid as subsequent
character only.
@@ -2573,14 +2668,14 @@ character only.
<dl>
<dt><u>Constant:</u> int <b>UC_IDENTIFIER_INVALID</b>
-<a name="IDX740"></a>
+<a name="IDX758"></a>
</dt>
<dd><p>This return value means that the given character is not valid in an identifier.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_IDENTIFIER_IGNORABLE</b>
-<a name="IDX741"></a>
+<a name="IDX759"></a>
</dt>
<dd><p>This return value (only for Java) means that the given character is ignorable.
</p></dd></dl>
@@ -2588,19 +2683,19 @@ character only.
<p>The following function determine whether a given character can be a constituent
of an identifier in the given programming language.
</p>
-<a name="IDX742"></a>
+<a name="IDX760"></a>
<dl>
<dt><u>Function:</u> int <b>uc_c_ident_category</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX743"></a>
+<a name="IDX761"></a>
</dt>
<dd><p>Returns the categorization of a Unicode character with respect to the ISO C 99
identifier syntax.
</p></dd></dl>
-<a name="IDX744"></a>
+<a name="IDX762"></a>
<dl>
<dt><u>Function:</u> int <b>uc_java_ident_category</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX745"></a>
+<a name="IDX763"></a>
</dt>
<dd><p>Returns the categorization of a Unicode character with respect to the Java
identifier syntax.
@@ -2608,8 +2703,8 @@ identifier syntax.
<hr size="6">
<a name="Classifications-like-in-ISO-C"></a>
-<a name="SEC52"></a>
-<h2 class="section"> <a href="libunistring_toc.html#TOC52">8.13 Classifications like in ISO C</a> </h2>
+<a name="SEC54"></a>
+<h2 class="section"> <a href="libunistring_toc.html#TOC54">8.14 Classifications like in ISO C</a> </h2>
<p>The following character classifications mimic those declared in the ISO C
header files <code>&lt;ctype.h&gt;</code> and <code>&lt;wctype.h&gt;</code>. These functions are
@@ -2620,7 +2715,7 @@ APIs to Unicode strings.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_alnum</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX746"></a>
+<a name="IDX764"></a>
</dt>
<dd><p>Tests for any character for which <code>uc_is_alpha</code> or <code>uc_is_digit</code> is
true.
@@ -2628,7 +2723,7 @@ true.
<dl>
<dt><u>Function:</u> bool <b>uc_is_alpha</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX747"></a>
+<a name="IDX765"></a>
</dt>
<dd><p>Tests for any character for which <code>uc_is_upper</code> or <code>uc_is_lower</code> is
true, or any character that is one of a locale-specific set of characters for
@@ -2638,21 +2733,21 @@ which none of <code>uc_is_cntrl</code>, <code>uc_is_digit</code>, <code>uc_is_pu
<dl>
<dt><u>Function:</u> bool <b>uc_is_cntrl</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX748"></a>
+<a name="IDX766"></a>
</dt>
<dd><p>Tests for any control character.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uc_is_digit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX749"></a>
+<a name="IDX767"></a>
</dt>
<dd><p>Tests for any character that corresponds to a decimal-digit character.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uc_is_graph</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX750"></a>
+<a name="IDX768"></a>
</dt>
<dd><p>Tests for any character for which <code>uc_is_print</code> is true and
<code>uc_is_space</code> is false.
@@ -2660,7 +2755,7 @@ which none of <code>uc_is_cntrl</code>, <code>uc_is_digit</code>, <code>uc_is_pu
<dl>
<dt><u>Function:</u> bool <b>uc_is_lower</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX751"></a>
+<a name="IDX769"></a>
</dt>
<dd><p>Tests for any character that corresponds to a lowercase letter or is one
of a locale-specific set of characters for which none of <code>uc_is_cntrl</code>,
@@ -2669,14 +2764,14 @@ of a locale-specific set of characters for which none of <code>uc_is_cntrl</code
<dl>
<dt><u>Function:</u> bool <b>uc_is_print</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX752"></a>
+<a name="IDX770"></a>
</dt>
<dd><p>Tests for any printing character.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uc_is_punct</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX753"></a>
+<a name="IDX771"></a>
</dt>
<dd><p>Tests for any printing character that is one of a locale-specific set of
characters for which neither <code>uc_is_space</code> nor <code>uc_is_alnum</code> is true.
@@ -2684,7 +2779,7 @@ characters for which neither <code>uc_is_space</code> nor <code>uc_is_alnum</cod
<dl>
<dt><u>Function:</u> bool <b>uc_is_space</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX754"></a>
+<a name="IDX772"></a>
</dt>
<dd><p>Test for any character that corresponds to a locale-specific set of characters
for which none of <code>uc_is_alnum</code>, <code>uc_is_graph</code>, or <code>uc_is_punct</code>
@@ -2693,7 +2788,7 @@ is true.
<dl>
<dt><u>Function:</u> bool <b>uc_is_upper</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX755"></a>
+<a name="IDX773"></a>
</dt>
<dd><p>Tests for any character that corresponds to an uppercase letter or is one
of a locale-specific set of characters for which none of <code>uc_is_cntrl</code>,
@@ -2702,14 +2797,14 @@ of a locale-specific set of characters for which none of <code>uc_is_cntrl</code
<dl>
<dt><u>Function:</u> bool <b>uc_is_xdigit</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX756"></a>
+<a name="IDX774"></a>
</dt>
<dd><p>Tests for any character that corresponds to a hexadecimal-digit character.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uc_is_blank</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
-<a name="IDX757"></a>
+<a name="IDX775"></a>
</dt>
<dd><p>Tests for any character that corresponds to a standard blank character or
a locale-specific set of characters for which <code>uc_is_alnum</code> is false.
@@ -2717,7 +2812,7 @@ a locale-specific set of characters for which <code>uc_is_alnum</code> is false.
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC33" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_9.html#SEC53" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_9.html#SEC55" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -2725,12 +2820,12 @@ a locale-specific set of characters for which <code>uc_is_alnum</code> is false.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_9.html b/doc/libunistring_9.html
index 70037143..f7c495f1 100644
--- a/doc/libunistring_9.html
+++ b/doc/libunistring_9.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -43,7 +43,7 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_8.html#SEC33" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_10.html#SEC54" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_10.html#SEC56" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -51,20 +51,20 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniwidth_002eh"></a>
-<a name="SEC53"></a>
-<h1 class="chapter"> <a href="libunistring_toc.html#TOC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a> </h1>
+<a name="SEC55"></a>
+<h1 class="chapter"> <a href="libunistring_toc.html#TOC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a> </h1>
<p>This include file declares functions that return the display width, measured
in columns, of characters or strings, when output to a device that uses
non-proportional fonts.
</p>
-<a name="IDX758"></a>
+<a name="IDX776"></a>
<p>Note that for some rarely used characters the actual fonts or terminal
emulators can use a different width. There is no mechanism for communicating
the display width of characters across a Unix pseudo-terminal (tty). Also,
@@ -76,12 +76,12 @@ most characters but can fail to represent the actual display width.
<p>These functions are locale dependent. The <var>encoding</var> argument identifies
the encoding (e.g. <code>&quot;ISO-8859-2&quot;</code> for Polish).
</p>
-<a name="IDX759"></a>
-<a name="IDX760"></a>
-<a name="IDX761"></a>
+<a name="IDX777"></a>
+<a name="IDX778"></a>
+<a name="IDX779"></a>
<dl>
<dt><u>Function:</u> int <b>uc_width</b><i> (ucs4_t&nbsp;<var>uc</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX762"></a>
+<a name="IDX780"></a>
</dt>
<dd><p>Determines and returns the number of column positions required for <var>uc</var>.
Returns -1 if <var>uc</var> is a control character that has an influence on the
@@ -90,13 +90,13 @@ column position when output.
<dl>
<dt><u>Function:</u> int <b>u8_width</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX763"></a>
+<a name="IDX781"></a>
</dt>
<dt><u>Function:</u> int <b>u16_width</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX764"></a>
+<a name="IDX782"></a>
</dt>
<dt><u>Function:</u> int <b>u32_width</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, size_t&nbsp;<var>n</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX765"></a>
+<a name="IDX783"></a>
</dt>
<dd><p>Determines and returns the number of column positions required for first
<var>n</var> units (or fewer if <var>s</var> ends before this) in <var>s</var>. This
@@ -105,13 +105,13 @@ function ignores control characters in the string.
<dl>
<dt><u>Function:</u> int <b>u8_strwidth</b><i> (const&nbsp;uint8_t&nbsp;*<var>s</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX766"></a>
+<a name="IDX784"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strwidth</b><i> (const&nbsp;uint16_t&nbsp;*<var>s</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX767"></a>
+<a name="IDX785"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strwidth</b><i> (const&nbsp;uint32_t&nbsp;*<var>s</var>, const&nbsp;char&nbsp;*<var>encoding</var>)</i>
-<a name="IDX768"></a>
+<a name="IDX786"></a>
</dt>
<dd><p>Determines and returns the number of column positions required for <var>s</var>.
This function ignores control characters in the string.
@@ -119,7 +119,7 @@ This function ignores control characters in the string.
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_8.html#SEC33" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_10.html#SEC54" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_10.html#SEC56" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@@ -127,12 +127,12 @@ This function ignores control characters in the string.
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_abt.html b/doc/libunistring_abt.html
index 4f28141e..712cc064 100644
--- a/doc/libunistring_abt.html
+++ b/doc/libunistring_abt.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -45,12 +45,12 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<h1>About This Document</h1>
<p>
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</p>
<p>
The buttons in the navigation panels have the following meaning:
@@ -153,12 +153,12 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/libunistring_fot.html b/doc/libunistring_fot.html
new file mode 100644
index 00000000..32a0059d
--- /dev/null
+++ b/doc/libunistring_fot.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
+<html>
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
+<!--
+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
+ Karl Berry <karl@freefriends.org>
+ Olaf Bachmann <obachman@mathematik.uni-kl.de>
+ and many others.
+Maintained by: Many creative people.
+Send bugs and suggestions to <texi2html-bug@nongnu.org>
+
+-->
+<head>
+<title>GNU libunistring: Footnotes</title>
+
+<meta name="description" content="GNU libunistring: Footnotes">
+<meta name="keywords" content="GNU libunistring: Footnotes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2html 1.78a">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+pre.display {font-family: serif}
+pre.format {font-family: serif}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: serif; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: serif; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.roman {font-family:serif; font-weight:normal;}
+span.sansserif {font-family:sans-serif; font-weight:normal;}
+ul.toc {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<a name="SEC_Foot"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1>Footnotes</h1>
+<h3><a name="FOOT1" href="libunistring_2.html#DOCF1">(1)</a></h3>
+<p>A NUL
+unit as terminator is not needed, since the number of units is given by
+<var>n</var>. If some of the units of the string are NUL, they are just
+regular units; they are not interpreted as terminators.
+</p><hr size="1">
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<p>
+ <font size="-1">
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ </font>
+ <br>
+
+</p>
+</body>
+</html>
diff --git a/doc/libunistring_toc.html b/doc/libunistring_toc.html
index 9065aaaf..e5e5b0ca 100644
--- a/doc/libunistring_toc.html
+++ b/doc/libunistring_toc.html
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Created on October, 16 2022 by texi2html 1.78a -->
+<!-- Created on February, 24 2024 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -44,7 +44,7 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<h1 class="settitle">GNU libunistring</h1>
@@ -117,58 +117,62 @@ ul.toc {list-style: none}
<li><a name="TOC47" href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></li>
<li><a name="TOC48" href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></li>
</ul></li>
- <li><a name="TOC49" href="libunistring_8.html#SEC49">8.10 Scripts</a></li>
- <li><a name="TOC50" href="libunistring_8.html#SEC50">8.11 Blocks</a></li>
- <li><a name="TOC51" href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></li>
- <li><a name="TOC52" href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></li>
+ <li><a name="TOC49" href="libunistring_8.html#SEC49">8.10 Other attributes</a>
+ <ul class="toc">
+ <li><a name="TOC50" href="libunistring_8.html#SEC50">8.10.1 Indic conjunct break</a></li>
+ </ul></li>
+ <li><a name="TOC51" href="libunistring_8.html#SEC51">8.11 Scripts</a></li>
+ <li><a name="TOC52" href="libunistring_8.html#SEC52">8.12 Blocks</a></li>
+ <li><a name="TOC53" href="libunistring_8.html#SEC53">8.13 ISO C and Java syntax</a></li>
+ <li><a name="TOC54" href="libunistring_8.html#SEC54">8.14 Classifications like in ISO C</a></li>
</ul></li>
- <li><a name="TOC53" href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></li>
- <li><a name="TOC54" href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a>
+ <li><a name="TOC55" href="libunistring_9.html#SEC55">9. Display width <code>&lt;uniwidth.h&gt;</code></a></li>
+ <li><a name="TOC56" href="libunistring_10.html#SEC56">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a>
<ul class="toc">
- <li><a name="TOC55" href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></li>
- <li><a name="TOC56" href="libunistring_10.html#SEC56">10.2 Grapheme cluster break property</a></li>
+ <li><a name="TOC57" href="libunistring_10.html#SEC57">10.1 Grapheme cluster breaks in a string</a></li>
+ <li><a name="TOC58" href="libunistring_10.html#SEC58">10.2 Grapheme cluster break property</a></li>
</ul></li>
- <li><a name="TOC57" href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a>
+ <li><a name="TOC59" href="libunistring_11.html#SEC59">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a>
<ul class="toc">
- <li><a name="TOC58" href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></li>
- <li><a name="TOC59" href="libunistring_11.html#SEC59">11.2 Word break property</a></li>
+ <li><a name="TOC60" href="libunistring_11.html#SEC60">11.1 Word breaks in a string</a></li>
+ <li><a name="TOC61" href="libunistring_11.html#SEC61">11.2 Word break property</a></li>
</ul></li>
- <li><a name="TOC60" href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></li>
- <li><a name="TOC61" href="libunistring_13.html#SEC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>
+ <li><a name="TOC62" href="libunistring_12.html#SEC62">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></li>
+ <li><a name="TOC63" href="libunistring_13.html#SEC63">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>
<ul class="toc">
- <li><a name="TOC62" href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></li>
- <li><a name="TOC63" href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></li>
- <li><a name="TOC64" href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></li>
- <li><a name="TOC65" href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></li>
- <li><a name="TOC66" href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></li>
+ <li><a name="TOC64" href="libunistring_13.html#SEC64">13.1 Decomposition of Unicode characters</a></li>
+ <li><a name="TOC65" href="libunistring_13.html#SEC65">13.2 Composition of Unicode characters</a></li>
+ <li><a name="TOC66" href="libunistring_13.html#SEC66">13.3 Normalization of strings</a></li>
+ <li><a name="TOC67" href="libunistring_13.html#SEC67">13.4 Normalizing comparisons</a></li>
+ <li><a name="TOC68" href="libunistring_13.html#SEC68">13.5 Normalization of streams of Unicode characters</a></li>
</ul></li>
- <li><a name="TOC67" href="libunistring_14.html#SEC67">14. Case mappings <code>&lt;unicase.h&gt;</code></a>
+ <li><a name="TOC69" href="libunistring_14.html#SEC69">14. Case mappings <code>&lt;unicase.h&gt;</code></a>
<ul class="toc">
- <li><a name="TOC68" href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></li>
- <li><a name="TOC69" href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></li>
- <li><a name="TOC70" href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></li>
- <li><a name="TOC71" href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></li>
- <li><a name="TOC72" href="libunistring_14.html#SEC72">14.5 Case detection</a></li>
+ <li><a name="TOC70" href="libunistring_14.html#SEC70">14.1 Case mappings of characters</a></li>
+ <li><a name="TOC71" href="libunistring_14.html#SEC71">14.2 Case mappings of strings</a></li>
+ <li><a name="TOC72" href="libunistring_14.html#SEC72">14.3 Case mappings of substrings</a></li>
+ <li><a name="TOC73" href="libunistring_14.html#SEC73">14.4 Case insensitive comparison</a></li>
+ <li><a name="TOC74" href="libunistring_14.html#SEC74">14.5 Case detection</a></li>
</ul></li>
- <li><a name="TOC73" href="libunistring_15.html#SEC73">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></li>
- <li><a name="TOC74" href="libunistring_16.html#SEC74">16. Using the library</a>
+ <li><a name="TOC75" href="libunistring_15.html#SEC75">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></li>
+ <li><a name="TOC76" href="libunistring_16.html#SEC76">16. Using the library</a>
<ul class="toc">
- <li><a name="TOC75" href="libunistring_16.html#SEC75">16.1 Installation</a></li>
- <li><a name="TOC76" href="libunistring_16.html#SEC76">16.2 Compiler options</a></li>
- <li><a name="TOC77" href="libunistring_16.html#SEC77">16.3 Include files</a></li>
- <li><a name="TOC78" href="libunistring_16.html#SEC78">16.4 Autoconf macro</a></li>
- <li><a name="TOC79" href="libunistring_16.html#SEC79">16.5 Reporting problems</a></li>
+ <li><a name="TOC77" href="libunistring_16.html#SEC77">16.1 Installation</a></li>
+ <li><a name="TOC78" href="libunistring_16.html#SEC78">16.2 Compiler options</a></li>
+ <li><a name="TOC79" href="libunistring_16.html#SEC79">16.3 Include files</a></li>
+ <li><a name="TOC80" href="libunistring_16.html#SEC80">16.4 Autoconf macro</a></li>
+ <li><a name="TOC81" href="libunistring_16.html#SEC81">16.5 Reporting problems</a></li>
</ul></li>
- <li><a name="TOC80" href="libunistring_17.html#SEC80">17. More advanced functionality</a></li>
- <li><a name="TOC81" href="libunistring_18.html#SEC81">A. The <code>wchar_t</code> mess</a></li>
- <li><a name="TOC82" href="libunistring_19.html#SEC82">B. The <code>char32_t</code> problem</a></li>
- <li><a name="TOC83" href="libunistring_20.html#SEC83">C. Licenses</a>
+ <li><a name="TOC82" href="libunistring_17.html#SEC82">17. More advanced functionality</a></li>
+ <li><a name="TOC83" href="libunistring_18.html#SEC83">A. The <code>wchar_t</code> mess</a></li>
+ <li><a name="TOC84" href="libunistring_19.html#SEC84">B. The <code>char32_t</code> problem</a></li>
+ <li><a name="TOC85" href="libunistring_20.html#SEC85">C. Licenses</a>
<ul class="toc">
- <li><a name="TOC84" href="libunistring_20.html#SEC84">C.1 GNU GENERAL PUBLIC LICENSE</a></li>
- <li><a name="TOC85" href="libunistring_20.html#SEC89">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a></li>
- <li><a name="TOC86" href="libunistring_20.html#SEC90">C.3 GNU Free Documentation License</a></li>
+ <li><a name="TOC86" href="libunistring_20.html#SEC86">C.1 GNU GENERAL PUBLIC LICENSE</a></li>
+ <li><a name="TOC87" href="libunistring_20.html#SEC91">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a></li>
+ <li><a name="TOC88" href="libunistring_20.html#SEC92">C.3 GNU Free Documentation License</a></li>
</ul></li>
- <li><a name="TOC87" href="libunistring_21.html#SEC92">Index</a></li>
+ <li><a name="TOC89" href="libunistring_21.html#SEC94">Index</a></li>
</ul>
</div>
@@ -180,12 +184,12 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
-<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="libunistring_21.html#SEC94" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
- This document was generated by <em>Bruno Haible</em> on <em>October, 16 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
+ This document was generated by <em>Bruno Haible</em> on <em>February, 24 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
</font>
<br>
diff --git a/doc/stamp-vti b/doc/stamp-vti
index b2810bdc..7ecb9f81 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 4 January 2022
-@set UPDATED-MONTH January 2022
-@set EDITION 1.1
-@set VERSION 1.1
+@set UPDATED 23 February 2024
+@set UPDATED-MONTH February 2024
+@set EDITION 1.2
+@set VERSION 1.2
diff --git a/doc/unicase.texi b/doc/unicase.texi
index de8442c2..c2350c73 100644
--- a/doc/unicase.texi
+++ b/doc/unicase.texi
@@ -48,7 +48,7 @@ The titlecase mapping of a character is to be used when the character should
look like upper case and the following characters are lower cased.
For most characters, this is the same as the uppercase mapping. There are
-only few characters where the title case variant and the uuper case variant
+only few characters where the title case variant and the upper case variant
are different. These characters occur in the Latin writing of the Croatian,
Bosnian, and Serbian languages.
@@ -80,7 +80,7 @@ Bosnian, and Serbian languages.
@cindex lowercasing
@cindex titlecasing
Case mapping should always be performed on entire strings, not on individual
-characters. The functions in this sections do so.
+characters. The functions in this section do so.
These functions allow to apply a normalization after the case mapping. The
reason is that if you want to treat @samp{@"{a}} and @samp{@"{A}} the same,
@@ -282,6 +282,9 @@ The @var{resultbuf} and @var{lengthp} arguments are as described in
chapter @ref{Conventions}.
@end deftypefun
+The following functions ignore locale-dependent collation rules, but do
+use locale-dependent case mappings (if @var{iso639_language} is not NULL).
+
@deftypefun int u8_casecmp (const@tie{}uint8_t@tie{}*@var{s1}, size_t@tie{}@var{n1}, const@tie{}uint8_t@tie{}*@var{s2}, size_t@tie{}@var{n2}, const@tie{}char@tie{}*@var{iso639_language}, uninorm_t@tie{}@var{nf}, int@tie{}*@var{resultp})
@deftypefunx int u16_casecmp (const@tie{}uint16_t@tie{}*@var{s1}, size_t@tie{}@var{n1}, const@tie{}uint16_t@tie{}*@var{s2}, size_t@tie{}@var{n2}, const@tie{}char@tie{}*@var{iso639_language}, uninorm_t@tie{}@var{nf}, int@tie{}*@var{resultp})
@deftypefunx int u32_casecmp (const@tie{}uint32_t@tie{}*@var{s1}, size_t@tie{}@var{n1}, const@tie{}uint32_t@tie{}*@var{s2}, size_t@tie{}@var{n2}, const@tie{}char@tie{}*@var{iso639_language}, uninorm_t@tie{}@var{nf}, int@tie{}*@var{resultp})
diff --git a/doc/unictype.texi b/doc/unictype.texi
index ac20f778..e24cba9d 100644
--- a/doc/unictype.texi
+++ b/doc/unictype.texi
@@ -21,6 +21,7 @@ in the presence of specific Unicode characters.
* Mirrored character::
* Arabic shaping::
* Properties::
+* Other attributes::
* Scripts::
* Blocks::
* ISO C and Java syntax::
@@ -715,6 +716,16 @@ The following function looks up the mirrored character of a Unicode character.
Stores the mirrored character of a Unicode character @var{uc} in
@code{*@var{puc}} and returns @code{true}, if it exists. Otherwise it
stores @var{uc} unmodified in @code{*@var{puc}} and returns @code{false}.
+
+Note: It is possible for this function to return @code{true} and set
+@code{*@var{puc}} to @code{0xFFFD}.
+This happens when the character has the bidi mirror property (that is, it
+should be displayed through a mirrored glyph) but this mirrored glyph
+does not exist as a Unicode character; thus a rendering engine needs to
+synthesize it artificially or pick it from an appropriate font.
+@c The list of such characters is found at the end of BidiMirroring.txt.
+This affects mostly mathematical operators.
+See section ``Bidi Mirrored'' of the Unicode standard.
@end deftypefun
@node Arabic shaping
@@ -1003,6 +1014,8 @@ The following properties are related to identifiers.
@deftypevrx Constant uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE
@deftypevrx Constant uc_property_t UC_PROPERTY_XID_START
@deftypevrx Constant uc_property_t UC_PROPERTY_XID_CONTINUE
+@deftypevrx Constant uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START
+@deftypevrx Constant uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE
@deftypevrx Constant uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE
@deftypevrx Constant uc_property_t UC_PROPERTY_PATTERN_SYNTAX
@end deftypevr
@@ -1048,6 +1061,7 @@ The following properties deal with CJK.
@deftypevr Constant uc_property_t UC_PROPERTY_IDEOGRAPHIC
@deftypevrx Constant uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH
@deftypevrx Constant uc_property_t UC_PROPERTY_RADICAL
+@deftypevrx Constant uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR
@deftypevrx Constant uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR
@deftypevrx Constant uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR
@end deftypevr
@@ -1069,6 +1083,7 @@ Other miscellaneous properties are:
@deftypevrx Constant uc_property_t UC_PROPERTY_NON_BREAK
@deftypevrx Constant uc_property_t UC_PROPERTY_ISO_CONTROL
@deftypevrx Constant uc_property_t UC_PROPERTY_FORMAT_CONTROL
+@deftypevrx Constant uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK
@deftypevrx Constant uc_property_t UC_PROPERTY_DASH
@deftypevrx Constant uc_property_t UC_PROPERTY_HYPHEN
@deftypevrx Constant uc_property_t UC_PROPERTY_PUNCTUATION
@@ -1163,6 +1178,8 @@ The following properties are related to identifiers.
@deftypefunx bool uc_is_property_other_id_continue (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_xid_start (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_xid_continue (ucs4_t@tie{}@var{uc})
+@deftypefunx bool uc_is_property_id_compat_math_start (ucs4_t@tie{}@var{uc})
+@deftypefunx bool uc_is_property_id_compat_math_continue (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_pattern_white_space (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_pattern_syntax (ucs4_t@tie{}@var{uc})
@end deftypefun
@@ -1208,6 +1225,7 @@ The following properties deal with CJK.
@deftypefun bool uc_is_property_ideographic (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_unified_ideograph (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_radical (ucs4_t@tie{}@var{uc})
+@deftypefunx bool uc_is_property_ids_unary_operator (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_ids_binary_operator (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_ids_trinary_operator (ucs4_t@tie{}@var{uc})
@end deftypefun
@@ -1229,6 +1247,7 @@ Other miscellaneous properties are:
@deftypefunx bool uc_is_property_non_break (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_iso_control (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_format_control (ucs4_t@tie{}@var{uc})
+@deftypefunx bool uc_is_property_prepended_concatenation_mark (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_dash (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_hyphen (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_punctuation (ucs4_t@tie{}@var{uc})
@@ -1252,6 +1271,50 @@ Other miscellaneous properties are:
@deftypefunx bool uc_is_property_regional_indicator (ucs4_t@tie{}@var{uc})
@end deftypefun
+@node Other attributes
+@section Other attributes
+
+This section defines non-boolean attributes of Unicode characters.
+
+@menu
+* Indic conjunct break::
+@end menu
+
+@node Indic conjunct break
+@subsection Indic conjunct break
+
+@cindex Indic_Conjunct_Break
+The Indic_Conjunct_Break attribute is used when determining the grapheme
+cluster boundary in Indic scripts.
+
+The Indic_Conjunct_Break attribute has the following possible values:
+
+@deftypevr Constant int UC_INDIC_CONJUNCT_BREAK_NONE
+@deftypevrx Constant int UC_INDIC_CONJUNCT_BREAK_CONSONANT
+@deftypevrx Constant int UC_INDIC_CONJUNCT_BREAK_LINKER
+@deftypevrx Constant int UC_INDIC_CONJUNCT_BREAK_EXTEND
+@end deftypevr
+
+The following functions implement the association between an
+Indic_Conjunct_Break value and its name.
+
+@deftypefun {const char *} uc_indic_conjunct_break_name (int@tie{}@var{indic_conjunct_break})
+Returns the name of an Indic_Conjunct_Break value.
+@end deftypefun
+
+@deftypefun int uc_indic_conjunct_break_byname (const@tie{}char@tie{}*@var{indic_conjunct_break_name})
+Returns the Indic_Conjunct_Break value given by name, e.g@. @code{"Consonant"}.
+This lookup ignores spaces, underscores, or hyphens as word separators and is
+case-insignificant.
+@end deftypefun
+
+The following function gives the Indic_Conjunct_Break attribute of every
+Unicode character.
+
+@deftypefun int uc_indic_conjunct_break (ucs4_t@tie{}@var{uc})
+Returns the Indic_Conjunct_Break attribute of a Unicode character.
+@end deftypefun
+
@node Scripts
@section Scripts
diff --git a/doc/unigbrk.texi b/doc/unigbrk.texi
index e7e94d6a..16b8a608 100644
--- a/doc/unigbrk.texi
+++ b/doc/unigbrk.texi
@@ -47,8 +47,9 @@ Returns NULL if and only if @code{@var{s} == @var{end}}.
Note that these functions do not handle the case when a character
outside of the range between @var{s} and @var{end} is needed to
-determine the boundary. Use @func{_grapheme_breaks} functions for such
-cases.
+determine the boundary.
+This is the case in particular with syllables in Indic scripts or emojis.
+Use @func{_grapheme_breaks} functions for such cases.
@end deftypefun
@deftypefun void u8_grapheme_prev (const@tie{}uint8_t@tie{}*@var{s}, const@tie{}uint8_t@tie{}*@var{start})
@@ -60,8 +61,9 @@ Returns NULL if and only if @code{@var{s} == @var{start}}.
Note that these functions do not handle the case when a character
outside of the range between @var{start} and @var{s} is needed to
-determine the boundary. Use @func{_grapheme_breaks} functions for such
-cases.
+determine the boundary.
+This is the case in particular with syllables in Indic scripts or emojis.
+Use @func{_grapheme_breaks} functions for such cases.
Note also that these functions work only on well-formed Unicode strings.
@end deftypefun
@@ -151,6 +153,7 @@ described in the Unicode standard, because the standard says that they
are preferred.
Note that this function does not handle the case when three or more
-consecutive characters are needed to determine the boundary. Use
-@func{uc_grapheme_breaks} for such cases.
+consecutive characters are needed to determine the boundary.
+This is the case in particular with syllables in Indic scripts or emojis.
+Use @func{uc_grapheme_breaks} for such cases.
@end deftypefun
diff --git a/doc/unistdio.texi b/doc/unistdio.texi
index fa0fc002..c4e62b15 100644
--- a/doc/unistdio.texi
+++ b/doc/unistdio.texi
@@ -18,6 +18,8 @@ The format directive @samp{lU} takes an UTF-16 string
@item
The format directive @samp{llU} takes an UTF-32 string
(@code{const uint32_t *}).
+@item
+The format directive @samp{n} is not supported, for security reasons.
@end itemize
A function name with an infix @samp{v} indicates that a @code{va_list} is
diff --git a/doc/unistr.texi b/doc/unistr.texi
index d26a3f3c..8945c438 100644
--- a/doc/unistr.texi
+++ b/doc/unistr.texi
@@ -179,6 +179,16 @@ This function is similar to @posixfunc{memcpy}, except that it operates on
Unicode strings.
@end deftypefun
+@deftypefun {uint8_t *} u8_pcpy (uint8_t@tie{}*@var{dest}, const@tie{}uint8_t@tie{}*@var{src}, size_t@tie{}@var{n})
+@deftypefunx {uint16_t *} u16_pcpy (uint16_t@tie{}*@var{dest}, const@tie{}uint16_t@tie{}*@var{src}, size_t@tie{}@var{n})
+@deftypefunx {uint32_t *} u32_pcpy (uint32_t@tie{}*@var{dest}, const@tie{}uint32_t@tie{}*@var{src}, size_t@tie{}@var{n})
+Copies @var{n} units from @var{src} to @var{dest}, returning a pointer
+after the last written unit.
+
+This function is similar to @func{mempcpy}, except that it operates on
+Unicode strings.
+@end deftypefun
+
@deftypefun {uint8_t *} u8_move (uint8_t@tie{}*@var{dest}, const@tie{}uint8_t@tie{}*@var{src}, size_t@tie{}@var{n})
@deftypefunx {uint16_t *} u16_move (uint16_t@tie{}*@var{dest}, const@tie{}uint16_t@tie{}*@var{src}, size_t@tie{}@var{n})
@deftypefunx {uint32_t *} u32_move (uint32_t@tie{}*@var{dest}, const@tie{}uint32_t@tie{}*@var{src}, size_t@tie{}@var{n})
@@ -429,6 +439,7 @@ that it operates on Unicode strings.
@cindex comparing
The following functions compare two Unicode strings.
+They ignore locale-dependent collation rules.
@deftypefun int u8_strcmp (const@tie{}uint8_t@tie{}*@var{s1}, const@tie{}uint8_t@tie{}*@var{s2})
@deftypefunx int u16_strcmp (const@tie{}uint16_t@tie{}*@var{s1}, const@tie{}uint16_t@tie{}*@var{s2})
diff --git a/doc/version.texi b/doc/version.texi
index b2810bdc..7ecb9f81 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 4 January 2022
-@set UPDATED-MONTH January 2022
-@set EDITION 1.1
-@set VERSION 1.1
+@set UPDATED 23 February 2024
+@set UPDATED-MONTH February 2024
+@set EDITION 1.2
+@set VERSION 1.2
diff --git a/doc/wchar_t.texi b/doc/wchar_t.texi
index f5c239a5..28c63cdf 100644
--- a/doc/wchar_t.texi
+++ b/doc/wchar_t.texi
@@ -8,7 +8,8 @@ problem mentioned in the section @ref{char * strings}. They introduced
@item
a type @samp{wchar_t}, designed to encapsulate an entire character,
@item
-a ``wide string'' type @samp{wchar_t *}, and
+a ``wide string'' type @samp{wchar_t *}, with some API functions declared in
+@posixheader{wchar.h}, and
@item
functions declared in @posixheader{wctype.h} that were meant to supplant the
ones in @posixheader{ctype.h}.
@@ -18,8 +19,8 @@ Unfortunately, this API and its implementation has numerous problems:
@itemize @bullet
@item
-On AIX and Windows platforms, @code{wchar_t} is a 16-bit type. This
-means that it can never accommodate an entire Unicode character. Either
+On Windows platforms and on AIX in 32-bit mode, @code{wchar_t} is a 16-bit type.
+This means that it can never accommodate an entire Unicode character. Either
the @code{wchar_t *} strings are limited to characters in UCS-2 (the
``Basic Multilingual Plane'' of Unicode), or --- if @code{wchar_t *}
strings are encoded in UTF-16 --- a @code{wchar_t} represents only half
diff --git a/gnulib-local/Makefile.in b/gnulib-local/Makefile.in
index 391369af..172cbd20 100644
--- a/gnulib-local/Makefile.in
+++ b/gnulib-local/Makefile.in
@@ -90,6 +90,7 @@ host_triplet = @host@
subdir = gnulib-local
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib-m4/__inline.m4 \
$(top_srcdir)/gnulib-m4/absolute-header.m4 \
$(top_srcdir)/gnulib-m4/alloca.m4 \
$(top_srcdir)/gnulib-m4/arpa_inet_h.m4 \
@@ -97,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/builtin-expect.m4 \
$(top_srcdir)/gnulib-m4/c-bool.m4 \
+ $(top_srcdir)/gnulib-m4/c32rtomb.m4 \
$(top_srcdir)/gnulib-m4/calloc.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/codeset.m4 \
@@ -107,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/environ.m4 \
$(top_srcdir)/gnulib-m4/errno_h.m4 \
$(top_srcdir)/gnulib-m4/error.m4 \
+ $(top_srcdir)/gnulib-m4/error_h.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
$(top_srcdir)/gnulib-m4/exponentf.m4 \
$(top_srcdir)/gnulib-m4/exponentl.m4 \
@@ -151,6 +154,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/iswdigit.m4 \
+ $(top_srcdir)/gnulib-m4/iswpunct.m4 \
$(top_srcdir)/gnulib-m4/iswxdigit.m4 \
$(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
@@ -176,6 +180,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/math_h.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
+ $(top_srcdir)/gnulib-m4/mbrtoc32.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
$(top_srcdir)/gnulib-m4/mbsinit.m4 \
$(top_srcdir)/gnulib-m4/mbstate_t.m4 \
@@ -188,6 +193,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib-m4/multiarch.m4 \
$(top_srcdir)/gnulib-m4/musl.m4 \
+ $(top_srcdir)/gnulib-m4/nan-mips.m4 \
$(top_srcdir)/gnulib-m4/nanosleep.m4 \
$(top_srcdir)/gnulib-m4/netinet_in_h.m4 \
$(top_srcdir)/gnulib-m4/nocrash.m4 \
@@ -208,6 +214,8 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/pthread_sigmask.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/raise.m4 \
+ $(top_srcdir)/gnulib-m4/random.m4 \
+ $(top_srcdir)/gnulib-m4/random_r.m4 \
$(top_srcdir)/gnulib-m4/realloc.m4 \
$(top_srcdir)/gnulib-m4/reallocarray.m4 \
$(top_srcdir)/gnulib-m4/relocatable-lib.m4 \
@@ -223,6 +231,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/size_max.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
+ $(top_srcdir)/gnulib-m4/snan.m4 \
$(top_srcdir)/gnulib-m4/socketlib.m4 \
$(top_srcdir)/gnulib-m4/sockets.m4 \
$(top_srcdir)/gnulib-m4/socklen.m4 \
@@ -251,7 +260,13 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/sys_uio_h.m4 \
$(top_srcdir)/gnulib-m4/thread.m4 \
$(top_srcdir)/gnulib-m4/threadlib.m4 \
+ $(top_srcdir)/gnulib-m4/time.m4 \
$(top_srcdir)/gnulib-m4/time_h.m4 \
+ $(top_srcdir)/gnulib-m4/uchar_h.m4 \
+ $(top_srcdir)/gnulib-m4/unicase_h.m4 \
+ $(top_srcdir)/gnulib-m4/unictype_h.m4 \
+ $(top_srcdir)/gnulib-m4/unimetadata_h.m4 \
+ $(top_srcdir)/gnulib-m4/uninorm_h.m4 \
$(top_srcdir)/gnulib-m4/unistd_h.m4 \
$(top_srcdir)/gnulib-m4/usleep.m4 \
$(top_srcdir)/gnulib-m4/vasnprintf.m4 \
@@ -267,7 +282,6 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/wint_t.m4 \
$(top_srcdir)/gnulib-m4/xalloc.m4 \
$(top_srcdir)/gnulib-m4/xsize.m4 \
- $(top_srcdir)/gnulib-m4/year2038.m4 \
$(top_srcdir)/gnulib-m4/yield.m4 \
$(top_srcdir)/gnulib-m4/zzgnulib.m4 \
$(top_srcdir)/m4/exported.m4 \
@@ -332,6 +346,8 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -373,7 +389,33 @@ GL_GNULIB_ATANF = @GL_GNULIB_ATANF@
GL_GNULIB_ATANL = @GL_GNULIB_ATANL@
GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
GL_GNULIB_BIND = @GL_GNULIB_BIND@
+GL_GNULIB_BTOC32 = @GL_GNULIB_BTOC32@
GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@
+GL_GNULIB_C32ISALNUM = @GL_GNULIB_C32ISALNUM@
+GL_GNULIB_C32ISALPHA = @GL_GNULIB_C32ISALPHA@
+GL_GNULIB_C32ISBLANK = @GL_GNULIB_C32ISBLANK@
+GL_GNULIB_C32ISCNTRL = @GL_GNULIB_C32ISCNTRL@
+GL_GNULIB_C32ISDIGIT = @GL_GNULIB_C32ISDIGIT@
+GL_GNULIB_C32ISGRAPH = @GL_GNULIB_C32ISGRAPH@
+GL_GNULIB_C32ISLOWER = @GL_GNULIB_C32ISLOWER@
+GL_GNULIB_C32ISPRINT = @GL_GNULIB_C32ISPRINT@
+GL_GNULIB_C32ISPUNCT = @GL_GNULIB_C32ISPUNCT@
+GL_GNULIB_C32ISSPACE = @GL_GNULIB_C32ISSPACE@
+GL_GNULIB_C32ISUPPER = @GL_GNULIB_C32ISUPPER@
+GL_GNULIB_C32ISXDIGIT = @GL_GNULIB_C32ISXDIGIT@
+GL_GNULIB_C32RTOMB = @GL_GNULIB_C32RTOMB@
+GL_GNULIB_C32SNRTOMBS = @GL_GNULIB_C32SNRTOMBS@
+GL_GNULIB_C32SRTOMBS = @GL_GNULIB_C32SRTOMBS@
+GL_GNULIB_C32STOMBS = @GL_GNULIB_C32STOMBS@
+GL_GNULIB_C32SWIDTH = @GL_GNULIB_C32SWIDTH@
+GL_GNULIB_C32TOB = @GL_GNULIB_C32TOB@
+GL_GNULIB_C32TOLOWER = @GL_GNULIB_C32TOLOWER@
+GL_GNULIB_C32TOUPPER = @GL_GNULIB_C32TOUPPER@
+GL_GNULIB_C32WIDTH = @GL_GNULIB_C32WIDTH@
+GL_GNULIB_C32_APPLY_MAPPING = @GL_GNULIB_C32_APPLY_MAPPING@
+GL_GNULIB_C32_APPLY_TYPE_TEST = @GL_GNULIB_C32_APPLY_TYPE_TEST@
+GL_GNULIB_C32_GET_MAPPING = @GL_GNULIB_C32_GET_MAPPING@
+GL_GNULIB_C32_GET_TYPE_TEST = @GL_GNULIB_C32_GET_TYPE_TEST@
GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
@@ -486,6 +528,7 @@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@
GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@
GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
@@ -517,16 +560,18 @@ GL_GNULIB_ISNANL = @GL_GNULIB_ISNANL@
GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@
GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@
GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@
+GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@
GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@
GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LDEXP = @GL_GNULIB_LDEXP@
GL_GNULIB_LDEXPF = @GL_GNULIB_LDEXPF@
GL_GNULIB_LDEXPL = @GL_GNULIB_LDEXPL@
GL_GNULIB_LINK = @GL_GNULIB_LINK@
GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@
GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@
-GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@
+GL_GNULIB_LOCALENAME_UNSAFE = @GL_GNULIB_LOCALENAME_UNSAFE@
GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
GL_GNULIB_LOG = @GL_GNULIB_LOG@
GL_GNULIB_LOG10 = @GL_GNULIB_LOG10@
@@ -548,6 +593,8 @@ GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@
+GL_GNULIB_MBRTOC16 = @GL_GNULIB_MBRTOC16@
+GL_GNULIB_MBRTOC32 = @GL_GNULIB_MBRTOC32@
GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@
GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
@@ -557,15 +604,20 @@ GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@
GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSNRTOC32S = @GL_GNULIB_MBSNRTOC32S@
GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@
GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSRTOC32S = @GL_GNULIB_MBSRTOC32S@
GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@
GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOC32S = @GL_GNULIB_MBSTOC32S@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -618,6 +670,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
@@ -671,6 +724,7 @@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
GL_GNULIB_RAISE = @GL_GNULIB_RAISE@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
@@ -745,6 +799,7 @@ GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOF = @GL_GNULIB_STRTOF@
GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@
GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
@@ -760,12 +815,16 @@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
GL_GNULIB_TANF = @GL_GNULIB_TANF@
GL_GNULIB_TANHF = @GL_GNULIB_TANHF@
GL_GNULIB_TANL = @GL_GNULIB_TANL@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TOTALORDER = @GL_GNULIB_TOTALORDER@
+GL_GNULIB_TOTALORDERF = @GL_GNULIB_TOTALORDERF@
+GL_GNULIB_TOTALORDERL = @GL_GNULIB_TOTALORDERL@
GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNC = @GL_GNULIB_TRUNC@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
@@ -773,6 +832,148 @@ GL_GNULIB_TRUNCF = @GL_GNULIB_TRUNCF@
GL_GNULIB_TRUNCL = @GL_GNULIB_TRUNCL@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@
+GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE = @GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFD_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE@
GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
@@ -824,6 +1025,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@
GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@
GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@
+GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@
GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@
GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@
GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@
@@ -832,9 +1034,12 @@ GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@
GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@
GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_CHAR16_T = @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+GNULIBHEADERS_OVERRIDE_CHAR32_T = @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+GNULIBHEADERS_OVERRIDE_CHAR8_T = @GNULIBHEADERS_OVERRIDE_CHAR8_T@
GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ACCEPT4 = @HAVE_ACCEPT4@
HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
@@ -848,6 +1053,7 @@ HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C32RTOMB = @HAVE_C32RTOMB@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CBRT = @HAVE_CBRT@
@@ -897,6 +1103,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
@@ -913,6 +1120,8 @@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
@@ -947,6 +1156,9 @@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPF = @HAVE_EXPF@
@@ -985,6 +1197,7 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GETUMASK = @HAVE_GETUMASK@
@@ -996,6 +1209,8 @@ HAVE_HYPOTL = @HAVE_HYPOTL@
HAVE_ILOGB = @HAVE_ILOGB@
HAVE_ILOGBF = @HAVE_ILOGBF@
HAVE_ILOGBL = @HAVE_ILOGBL@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
@@ -1028,6 +1243,8 @@ HAVE_LOGL = @HAVE_LOGL@
HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOC16 = @HAVE_MBRTOC16@
+HAVE_MBRTOC32 = @HAVE_MBRTOC32@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
@@ -1035,6 +1252,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -1175,6 +1393,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOF = @HAVE_STRTOF@
HAVE_STRTOL = @HAVE_STRTOL@
HAVE_STRTOLD = @HAVE_STRTOLD@
HAVE_STRTOLL = @HAVE_STRTOLL@
@@ -1207,8 +1426,13 @@ HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TOTALORDER = @HAVE_TOTALORDER@
+HAVE_TOTALORDERF = @HAVE_TOTALORDERF@
+HAVE_TOTALORDERL = @HAVE_TOTALORDERL@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UCHAR_H = @HAVE_UCHAR_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_USLEEP = @HAVE_USLEEP@
@@ -1256,6 +1480,7 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
@@ -1273,6 +1498,10 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -1292,6 +1521,7 @@ LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNIGBRK_H = @LIBUNISTRING_UNIGBRK_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
+LIBUNISTRING_UNIMETADATA_H = @LIBUNISTRING_UNIMETADATA_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@
LIBUNISTRING_UNISTDIO_H = @LIBUNISTRING_UNISTDIO_H@
@@ -1328,8 +1558,10 @@ LTLIBTHREAD = @LTLIBTHREAD@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MBRTOWC_LIB = @MBRTOWC_LIB@
MKDIR_P = @MKDIR_P@
NAMESPACING = @NAMESPACING@
+NANOSLEEP_LIB = @NANOSLEEP_LIB@
NETINET_IN_H = @NETINET_IN_H@
NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
NEXT_ASSERT_H = @NEXT_ASSERT_H@
@@ -1337,6 +1569,7 @@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
@@ -1362,11 +1595,13 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_UCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
@@ -1392,6 +1627,7 @@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UCHAR_H = @NEXT_UCHAR_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
@@ -1414,6 +1650,7 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTHREAD_SIGMASK_LIB = @PTHREAD_SIGMASK_LIB@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RC = @RC@
@@ -1425,6 +1662,7 @@ REPLACE_ASINF = @REPLACE_ASINF@
REPLACE_ATAN2F = @REPLACE_ATAN2F@
REPLACE_ATANF = @REPLACE_ATANF@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_C32RTOMB = @REPLACE_C32RTOMB@
REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
@@ -1444,7 +1682,10 @@ REPLACE_CTIME = @REPLACE_CTIME@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
REPLACE_EXECL = @REPLACE_EXECL@
REPLACE_EXECLE = @REPLACE_EXECLE@
REPLACE_EXECLP = @REPLACE_EXECLP@
@@ -1461,10 +1702,12 @@ REPLACE_EXPM1F = @REPLACE_EXPM1F@
REPLACE_EXPM1L = @REPLACE_EXPM1L@
REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FFSLL = @REPLACE_FFSLL@
@@ -1499,12 +1742,16 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETPASS = @REPLACE_GETPASS@
REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
@@ -1517,6 +1764,8 @@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_ILOGB = @REPLACE_ILOGB@
REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ILOGBL = @REPLACE_ILOGBL@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
REPLACE_INET_PTON = @REPLACE_INET_PTON@
REPLACE_INITSTATE = @REPLACE_INITSTATE@
@@ -1528,9 +1777,11 @@ REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@
+REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@
REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXP = @REPLACE_LDEXP@
REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
@@ -1557,19 +1808,27 @@ REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOC16 = @REPLACE_MBRTOC16@
+REPLACE_MBRTOC32 = @REPLACE_MBRTOC32@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MEMSET_EXPLICIT = @REPLACE_MEMSET_EXPLICIT@
REPLACE_MKDIR = @REPLACE_MKDIR@
REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_MODF = @REPLACE_MODF@
@@ -1584,8 +1843,10 @@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PSELECT = @REPLACE_PSELECT@
@@ -1647,6 +1908,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_QSORT_R = @REPLACE_QSORT_R@
REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RAND = @REPLACE_RAND@
REPLACE_RANDOM = @REPLACE_RANDOM@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
@@ -1670,6 +1932,7 @@ REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SETSTATE = @REPLACE_SETSTATE@
REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
@@ -1684,6 +1947,7 @@ REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -1698,6 +1962,7 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOF = @REPLACE_STRTOF@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_STRTOL = @REPLACE_STRTOL@
@@ -1708,12 +1973,19 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@
REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TANF = @REPLACE_TANF@
REPLACE_TANHF = @REPLACE_TANHF@
+REPLACE_TIME = @REPLACE_TIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TIMESPEC_GETRES = @REPLACE_TIMESPEC_GETRES@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOTALORDER = @REPLACE_TOTALORDER@
+REPLACE_TOTALORDERF = @REPLACE_TOTALORDERF@
+REPLACE_TOTALORDERL = @REPLACE_TOTALORDERL@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -1733,21 +2005,33 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
REPLACE_WCSTOK = @REPLACE_WCSTOK@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCTRANS = @REPLACE_WCTRANS@
+REPLACE_WCTYPE = @REPLACE_WCTYPE@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SCHED_YIELD_LIB = @SCHED_YIELD_LIB@
SED = @SED@
+SELECT_LIB = @SELECT_LIB@
+SETLOCALE_LIB = @SETLOCALE_LIB@
+SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDALIGN_H = @STDALIGN_H@
+SMALL_WCHAR_T = @SMALL_WCHAR_T@
STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
diff --git a/gnulib-local/lib/unicase.in.h.diff b/gnulib-local/lib/unicase.in.h.diff
index 6fa4261b..f96a1dfd 100644
--- a/gnulib-local/lib/unicase.in.h.diff
+++ b/gnulib-local/lib/unicase.in.h.diff
@@ -1,7 +1,7 @@
-*** unicase.in.h.orig 2009-04-05 19:30:26.000000000 +0200
---- unicase.in.h 2009-04-10 16:21:23.000000000 +0200
+*** unicase.in.h.orig 2023-04-21 12:07:22.606233082 +0200
+--- unicase.in.h 2023-04-21 12:09:26.709004578 +0200
***************
-*** 20,26 ****
+*** 28,34 ****
#include "unitypes.h"
/* Get bool. */
@@ -9,7 +9,7 @@
/* Get size_t. */
#include <stddef.h>
---- 20,26 ----
+--- 28,34 ----
#include "unitypes.h"
/* Get bool. */
diff --git a/gnulib-local/lib/unictype.in.h.diff b/gnulib-local/lib/unictype.in.h.diff
index cb688851..9a645917 100644
--- a/gnulib-local/lib/unictype.in.h.diff
+++ b/gnulib-local/lib/unictype.in.h.diff
@@ -1,8 +1,7 @@
*** unictype.in.h.orig 2009-04-05 12:15:57.000000000 +0200
--- unictype.in.h 2009-04-12 04:31:36.000000000 +0200
***************
-*** 19,26 ****
-
+*** 20,26 ****
#include "unitypes.h"
/* Get bool. */
@@ -10,13 +9,9 @@
/* Get size_t. */
#include <stddef.h>
---- 19,29 ----
-
+--- 20,26 ----
#include "unitypes.h"
-+ /* Get LIBUNISTRING_DLL_VARIABLE. */
-+ #include <unistring/woe32dll.h>
-+
/* Get bool. */
! #include <unistring/stdbool.h>
diff --git a/gnulib-local/lib/uninorm.in.h.diff b/gnulib-local/lib/uninorm.in.h.diff
index f7e4ebb2..0ae1eb00 100644
--- a/gnulib-local/lib/uninorm.in.h.diff
+++ b/gnulib-local/lib/uninorm.in.h.diff
@@ -2,16 +2,13 @@
--- uninorm.in.h 2021-08-08 02:17:17.145608518 +0200
***************
*** 18,23 ****
---- 18,29 ----
+--- 18,26 ----
#ifndef _UNINORM_H
#define _UNINORM_H
+ /* Get common macros for C. */
+ #include <unistring/cdefs.h>
+
-+ /* Get LIBUNISTRING_DLL_VARIABLE. */
-+ #include <unistring/woe32dll.h>
-+
/* Get size_t. */
#include <stddef.h>
diff --git a/gnulib-m4/00gnulib.m4 b/gnulib-m4/00gnulib.m4
index dea34e83..99c99d1b 100644
--- a/gnulib-m4/00gnulib.m4
+++ b/gnulib-m4/00gnulib.m4
@@ -1,5 +1,5 @@
-# 00gnulib.m4 serial 8
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 9
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -49,14 +49,14 @@ dnl AC_REQUIRE([gl_COMPILER_CLANG])
[if test $gl_cv_compiler_clang = yes; then
dnl Test whether the compiler supports the option
dnl '-Werror=implicit-function-declaration'.
- save_ac_compile="$ac_compile"
+ saved_ac_compile="$ac_compile"
ac_compile="$ac_compile -Werror=implicit-function-declaration"
dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a
dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
[gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'],
[gl_cv_compiler_check_decl_option=none])
- ac_compile="$save_ac_compile"
+ ac_compile="$saved_ac_compile"
else
gl_cv_compiler_check_decl_option=none
fi
@@ -71,11 +71,11 @@ dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl
dnl instead of ac_compile. If, for whatever reason, the override of AC_PROG_CC
dnl in zzgnulib.m4 is inactive, use the original ac_compile.
m4_define([_AC_CHECK_DECL_BODY],
-[ ac_save_ac_compile="$ac_compile"
+[ ac_saved_ac_compile="$ac_compile"
if test -n "$ac_compile_for_check_decl"; then
ac_compile="$ac_compile_for_check_decl"
fi]
-m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_save_ac_compile"
+m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_saved_ac_compile"
])
# gl_00GNULIB
diff --git a/gnulib-m4/__inline.m4 b/gnulib-m4/__inline.m4
new file mode 100644
index 00000000..992e16f4
--- /dev/null
+++ b/gnulib-m4/__inline.m4
@@ -0,0 +1,22 @@
+# Test for __inline keyword
+dnl Copyright 2017-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl___INLINE],
+[
+ AC_CACHE_CHECK([whether the compiler supports the __inline keyword],
+ [gl_cv_c___inline],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[typedef int foo_t;
+ static __inline foo_t foo (void) { return 0; }]],
+ [[return foo ();]])],
+ [gl_cv_c___inline=yes],
+ [gl_cv_c___inline=no])])
+ if test $gl_cv_c___inline = yes; then
+ AC_DEFINE([HAVE___INLINE], [1],
+ [Define to 1 if the compiler supports the keyword '__inline'.])
+ fi
+])
diff --git a/gnulib-m4/absolute-header.m4 b/gnulib-m4/absolute-header.m4
index 67d6507c..0e9f9ba7 100644
--- a/gnulib-m4/absolute-header.m4
+++ b/gnulib-m4/absolute-header.m4
@@ -1,5 +1,5 @@
-# absolute-header.m4 serial 17
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+# absolute-header.m4 serial 18
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -66,7 +66,7 @@ AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
esac
changequote(,)
case "$host_os" in
- mingw*)
+ mingw* | windows*)
dnl For the sake of native Windows compilers (excluding gcc),
dnl treat backslash as a directory separator, like /.
dnl Actually, these compilers use a double-backslash as
diff --git a/gnulib-m4/alloca.m4 b/gnulib-m4/alloca.m4
index dc6f47e3..90960215 100644
--- a/gnulib-m4/alloca.m4
+++ b/gnulib-m4/alloca.m4
@@ -1,5 +1,5 @@
# alloca.m4 serial 21
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2022 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gnulib-m4/arpa_inet_h.m4 b/gnulib-m4/arpa_inet_h.m4
index 057e13fc..754b38eb 100644
--- a/gnulib-m4/arpa_inet_h.m4
+++ b/gnulib-m4/arpa_inet_h.m4
@@ -1,5 +1,5 @@
# arpa_inet_h.m4 serial 17
-dnl Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/assert_h.m4 b/gnulib-m4/assert_h.m4
index c1306dae..d3d4c425 100644
--- a/gnulib-m4/assert_h.m4
+++ b/gnulib-m4/assert_h.m4
@@ -1,5 +1,5 @@
# assert-h.m4
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -9,16 +9,16 @@ dnl From Paul Eggert.
AC_DEFUN([gl_ASSERT_H],
[
AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert],
- [gl_save_CFLAGS=$CFLAGS
+ [gl_saved_CFLAGS=$CFLAGS
for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
AS_CASE([$gl_working],
- [*assert.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H"])
+ [*assert.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H"])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#if defined __clang__ && __STDC_VERSION__ < 202311
#pragma clang diagnostic error "-Wc2x-extensions"
- #pragma clang diagnostic error "-Wc++17-extensions"
+ #pragma clang diagnostic error "-Wc++1z-extensions"
#endif
#ifdef INCLUDE_ASSERT_H
#include <assert.h>
@@ -32,7 +32,7 @@ AC_DEFUN([gl_ASSERT_H],
]])],
[gl_cv_static_assert=$gl_working],
[gl_cv_static_assert=no])
- CFLAGS=$gl_save_CFLAGS
+ CFLAGS=$gl_saved_CFLAGS
test "$gl_cv_static_assert" != no && break
done])
@@ -46,10 +46,13 @@ AC_DEFUN([gl_ASSERT_H],
gl_NEXT_HEADERS([assert.h])])
dnl The "zz" puts this toward config.h's end, to avoid potential
- dnl collisions with other definitions. #undef assert so that
- dnl programs are not tempted to use it without specifically
- dnl including assert.h. Break the #undef apart with a comment
- dnl so that 'configure' does not comment it out.
+ dnl collisions with other definitions.
+ dnl #undef assert so that programs are not tempted to use it without
+ dnl specifically including assert.h.
+ dnl #undef __ASSERT_H__ so that on IRIX, when programs later include
+ dnl <assert.h>, this include actually defines assert.
+ dnl Break the #undef_s apart with a comment so that 'configure' does
+ dnl not comment them out.
AH_VERBATIM([zzstatic_assert],
[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
&& (!defined __cplusplus \
@@ -57,5 +60,14 @@ AC_DEFUN([gl_ASSERT_H],
&& __GNUG__ < 6 && __clang_major__ < 6)))
#include <assert.h>
#undef/**/assert
+ #ifdef __sgi
+ #undef/**/__ASSERT_H__
+ #endif
+ /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
+ We need it also to be invocable with a single argument. */
+ #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+ #undef/**/static_assert
+ #define static_assert _Static_assert
+ #endif
#endif])
])
diff --git a/gnulib-m4/btowc.m4 b/gnulib-m4/btowc.m4
index 45a61f5e..8bb55dc8 100644
--- a/gnulib-m4/btowc.m4
+++ b/gnulib-m4/btowc.m4
@@ -1,5 +1,5 @@
-# btowc.m4 serial 12
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# btowc.m4 serial 14
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -40,12 +40,12 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- # Guess no on Cygwin.
- cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_btowc_nul="guessing yes" ;;
- # Guess yes otherwise.
- *) gl_cv_func_btowc_nul="guessing yes" ;;
+ # Guess no on Cygwin.
+ cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_btowc_nul="guessing yes" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_nul="guessing yes" ;;
esac
changequote([,])dnl
])
@@ -59,12 +59,12 @@ changequote([,])dnl
dnl is present.
changequote(,)dnl
case "$host_os" in
- # Guess no on IRIX.
- irix*) gl_cv_func_btowc_eof="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_btowc_eof="guessing yes" ;;
- # Guess yes otherwise.
- *) gl_cv_func_btowc_eof="guessing yes" ;;
+ # Guess no on IRIX.
+ irix*) gl_cv_func_btowc_eof="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_btowc_eof="guessing yes" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_eof="guessing yes" ;;
esac
changequote([,])dnl
if test $LOCALE_FR != none; then
@@ -88,6 +88,50 @@ int main ()
fi
])
+ dnl On mingw, in the C locale, btowc is inconsistent with mbrtowc:
+ dnl mbrtowc avoids calling MultiByteToWideChar when MB_CUR_MAX is 1 and
+ dnl ___lc_codepage_func() is 0, but btowc is lacking this special case.
+ AC_CHECK_FUNCS_ONCE([mbrtowc])
+ AC_CACHE_CHECK([whether btowc is consistent with mbrtowc in the C locale],
+ [gl_cv_func_btowc_consistent],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+#if HAVE_MBRTOWC
+ wint_t wc1 = btowc (0x80);
+ wchar_t wc2 = (wchar_t) 0xbadface;
+ char buf[1] = { 0x80 };
+ mbstate_t state;
+ memset (&state, 0, sizeof (mbstate_t));
+ if (mbrtowc (&wc2, buf, 1, &state) != 1 || wc1 != wc2)
+ return 1;
+#endif
+ return 0;
+}]])],
+ [gl_cv_func_btowc_consistent=yes],
+ [gl_cv_func_btowc_consistent=no],
+ [case "$host_os" in
+ # Guess no on mingw.
+ mingw* | windows*)
+ AC_EGREP_CPP([Problem], [
+#ifdef __MINGW32__
+ Problem
+#endif
+ ],
+ [gl_cv_func_btowc_consistent="guessing no"],
+ [gl_cv_func_btowc_consistent="guessing yes"])
+ ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_consistent="guessing yes" ;;
+ esac
+ ])
+ ])
+
case "$gl_cv_func_btowc_nul" in
*yes) ;;
*) REPLACE_BTOWC=1 ;;
@@ -96,10 +140,22 @@ int main ()
*yes) ;;
*) REPLACE_BTOWC=1 ;;
esac
+ case "$gl_cv_func_btowc_consistent" in
+ *yes) ;;
+ *) REPLACE_BTOWC=1 ;;
+ esac
+ if test $REPLACE_BTOWC = 0; then
+ gl_MBRTOWC_C_LOCALE
+ case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in
+ *yes) ;;
+ *) REPLACE_BTOWC=1 ;;
+ esac
+ fi
fi
])
# Prerequisites of lib/btowc.c.
AC_DEFUN([gl_PREREQ_BTOWC], [
:
+ AC_CHECK_FUNCS_ONCE([mbrtowc])
])
diff --git a/gnulib-m4/builtin-expect.m4 b/gnulib-m4/builtin-expect.m4
index b1fb12a3..8faffc50 100644
--- a/gnulib-m4/builtin-expect.m4
+++ b/gnulib-m4/builtin-expect.m4
@@ -1,6 +1,6 @@
dnl Check for __builtin_expect.
-dnl Copyright 2016-2022 Free Software Foundation, Inc.
+dnl Copyright 2016-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/c-bool.m4 b/gnulib-m4/c-bool.m4
index bb109b77..44fba3c0 100644
--- a/gnulib-m4/c-bool.m4
+++ b/gnulib-m4/c-bool.m4
@@ -1,6 +1,6 @@
# Check for bool that conforms to C2023.
-dnl Copyright 2022 Free Software Foundation, Inc.
+dnl Copyright 2022-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/c32rtomb.m4 b/gnulib-m4/c32rtomb.m4
new file mode 100644
index 00000000..56faaa57
--- /dev/null
+++ b/gnulib-m4/c32rtomb.m4
@@ -0,0 +1,88 @@
+# c32rtomb.m4 serial 7
+dnl Copyright (C) 2020-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_C32RTOMB],
+[
+ AC_REQUIRE([gl_UCHAR_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+
+ dnl Cf. gl_CHECK_FUNCS_ANDROID
+ AC_CHECK_DECL([c32rtomb], , ,
+ [[#ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ ]])
+ if test $ac_cv_have_decl_c32rtomb = yes; then
+ dnl We can't use AC_CHECK_FUNC here, because c32rtomb() is defined as a
+ dnl static inline function on Haiku 2020.
+ AC_CACHE_CHECK([for c32rtomb], [gl_cv_func_c32rtomb],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ ]],
+ [[char buf[8];
+ return c32rtomb (buf, 0, NULL) == 0;
+ ]])
+ ],
+ [gl_cv_func_c32rtomb=yes],
+ [gl_cv_func_c32rtomb=no])
+ ])
+ else
+ gl_cv_func_c32rtomb=no
+ fi
+ if test $gl_cv_func_c32rtomb = no; then
+ HAVE_C32RTOMB=0
+ else
+ dnl When we override mbrtoc32, redefining the meaning of the char32_t
+ dnl values, we need to override c32rtomb as well, for consistency.
+ if test $HAVE_WORKING_MBRTOC32 = 0; then
+ REPLACE_C32RTOMB=1
+ fi
+ AC_CACHE_CHECK([whether c32rtomb return value is correct],
+ [gl_cv_func_c32rtomb_retval],
+ [
+ dnl Initial guess, used when cross-compiling.
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no on AIX.
+ aix*) gl_cv_func_c32rtomb_retval="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_c32rtomb_retval="guessing yes" ;;
+ esac
+changequote([,])dnl
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stddef.h>
+#ifdef __HAIKU__
+ #include <stdint.h>
+#endif
+#include <uchar.h>
+int main ()
+{
+ int result = 0;
+ if (c32rtomb (NULL, 0, NULL) != 1)
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_c32rtomb_retval=yes],
+ [gl_cv_func_c32rtomb_retval=no],
+ [:])
+ ])
+ case "$gl_cv_func_c32rtomb_retval" in
+ *yes) ;;
+ *) AC_DEFINE([C32RTOMB_RETVAL_BUG], [1],
+ [Define if the c32rtomb function has an incorrect return value.])
+ REPLACE_C32RTOMB=1 ;;
+ esac
+ fi
+])
diff --git a/gnulib-m4/calloc.m4 b/gnulib-m4/calloc.m4
index c01520e5..49303d96 100644
--- a/gnulib-m4/calloc.m4
+++ b/gnulib-m4/calloc.m4
@@ -1,6 +1,6 @@
-# calloc.m4 serial 29
+# calloc.m4 serial 31
-# Copyright (C) 2004-2022 Free Software Foundation, Inc.
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -36,14 +36,14 @@ AC_DEFUN([_AC_FUNC_CALLOC_IF],
[ac_cv_func_calloc_0_nonnull=no])
else
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;;
esac
fi
])
diff --git a/gnulib-m4/close.m4 b/gnulib-m4/close.m4
index f95dbc9d..6b6d3821 100644
--- a/gnulib-m4/close.m4
+++ b/gnulib-m4/close.m4
@@ -1,10 +1,10 @@
-# close.m4 serial 9
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# close.m4 serial 10
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_FUNC_CLOSE],
+AC_DEFUN_ONCE([gl_FUNC_CLOSE],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
m4_ifdef([gl_MSVC_INVAL], [
diff --git a/gnulib-m4/codeset.m4 b/gnulib-m4/codeset.m4
index eb732601..94dccce7 100644
--- a/gnulib-m4/codeset.m4
+++ b/gnulib-m4/codeset.m4
@@ -1,5 +1,5 @@
# codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 Free Software
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2024 Free Software
dnl Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gnulib-m4/ctype_h.m4 b/gnulib-m4/ctype_h.m4
index 6f420de3..ef0ee7f2 100644
--- a/gnulib-m4/ctype_h.m4
+++ b/gnulib-m4/ctype_h.m4
@@ -1,5 +1,5 @@
# ctype_h.m4 serial 9
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/double-slash-root.m4 b/gnulib-m4/double-slash-root.m4
index 09ff5f0d..00f23a70 100644
--- a/gnulib-m4/double-slash-root.m4
+++ b/gnulib-m4/double-slash-root.m4
@@ -1,5 +1,5 @@
# double-slash-root.m4 serial 4 -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/dup2.m4 b/gnulib-m4/dup2.m4
index 7e777cde..f6759b64 100644
--- a/gnulib-m4/dup2.m4
+++ b/gnulib-m4/dup2.m4
@@ -1,5 +1,5 @@
-#serial 27
-dnl Copyright (C) 2002, 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+#serial 28
+dnl Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -67,7 +67,7 @@ AC_DEFUN([gl_FUNC_DUP2],
],
[gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
[case "$host_os" in
- mingw*) # on this platform, dup2 always returns 0 for success
+ mingw* | windows*) # on this platform, dup2 always returns 0 for success
gl_cv_func_dup2_works="guessing no" ;;
cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
gl_cv_func_dup2_works="guessing no" ;;
diff --git a/gnulib-m4/eealloc.m4 b/gnulib-m4/eealloc.m4
index a6aa2f88..d8862a1e 100644
--- a/gnulib-m4/eealloc.m4
+++ b/gnulib-m4/eealloc.m4
@@ -1,5 +1,5 @@
# eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/environ.m4 b/gnulib-m4/environ.m4
index 583dac39..5b9e06b0 100644
--- a/gnulib-m4/environ.m4
+++ b/gnulib-m4/environ.m4
@@ -1,5 +1,5 @@
# environ.m4 serial 8
-dnl Copyright (C) 2001-2004, 2006-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/errno_h.m4 b/gnulib-m4/errno_h.m4
index 4be9780a..8900d6c7 100644
--- a/gnulib-m4/errno_h.m4
+++ b/gnulib-m4/errno_h.m4
@@ -1,5 +1,5 @@
# errno_h.m4 serial 14
-dnl Copyright (C) 2004, 2006, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/error.m4 b/gnulib-m4/error.m4
index 7a103446..5688afcf 100644
--- a/gnulib-m4/error.m4
+++ b/gnulib-m4/error.m4
@@ -1,6 +1,6 @@
-#serial 15
+#serial 16
-# Copyright (C) 1996-1998, 2001-2004, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -8,15 +8,6 @@
AC_DEFUN([gl_ERROR],
[
- dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
- dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
- AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <error.h>]],
- [[error_at_line (0, 0, "", 0, "an error occurred");]])],
- [ac_cv_lib_error_at_line=yes],
- [ac_cv_lib_error_at_line=no])])
])
# Prerequisites of lib/error.c.
diff --git a/gnulib-m4/error_h.m4 b/gnulib-m4/error_h.m4
new file mode 100644
index 00000000..006770c4
--- /dev/null
+++ b/gnulib-m4/error_h.m4
@@ -0,0 +1,124 @@
+# error_h.m4 serial 4
+dnl Copyright (C) 1996-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Provide a working <error.h>.
+
+AC_DEFUN_ONCE([gl_ERROR_H],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ gl_CHECK_NEXT_HEADERS([error.h])
+ if test $ac_cv_header_error_h = yes; then
+ HAVE_ERROR_H=1
+ else
+ HAVE_ERROR_H=0
+ fi
+ AC_SUBST([HAVE_ERROR_H])
+
+ REPLACE_ERROR=0
+
+ gl_CHECK_FUNCS_ANDROID([error], [[#include <error.h>]])
+ if test $ac_cv_func_error = yes; then
+ HAVE_ERROR=1
+ else
+ HAVE_ERROR=0
+ case "$gl_cv_onwards_func_error" in
+ future*) REPLACE_ERROR=1 ;;
+ esac
+ fi
+
+ dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
+ dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
+ dnl We need to notice a missing declaration, like gl_CHECK_FUNCS_ANDROID does.
+ AC_CHECK_DECL([error_at_line], , , [[#include <error.h>]])
+ if test $ac_cv_have_decl_error_at_line = yes; then
+ AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <error.h>]],
+ [[error_at_line (0, 0, "", 0, "an error occurred");]])],
+ [ac_cv_lib_error_at_line=yes],
+ [ac_cv_lib_error_at_line=no])])
+ else
+ ac_cv_lib_error_at_line=no
+ fi
+ if test $ac_cv_lib_error_at_line = yes; then
+ HAVE_ERROR_AT_LINE=1
+ else
+ HAVE_ERROR_AT_LINE=0
+ fi
+ REPLACE_ERROR_AT_LINE=0
+
+ if test $ac_cv_func_error = yes && test $ac_cv_lib_error_at_line = yes; then
+ dnl On Android 11, when error_print_progname is set, the output of the
+ dnl error() function contains an extra space.
+ AC_CACHE_CHECK([for working error function],
+ [gl_cv_func_working_error],
+ [if test $cross_compiling != yes; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #include <error.h>
+ static void print_no_progname (void) {}
+ ]], [[
+ error_print_progname = print_no_progname;
+ error (0, 0, "foo");
+ ]])
+ ],
+ [rm -f conftest.out
+ if test -s conftest$ac_exeext \
+ && ./conftest$ac_exeext 2> conftest.out; then
+ if grep ' ' conftest.out >/dev/null; then
+ gl_cv_func_working_error=no
+ else
+ gl_cv_func_working_error=yes
+ fi
+ else
+ gl_cv_func_working_error=no
+ fi
+ rm -f conftest.out
+ ],
+ [gl_cv_func_working_error=no])
+ else
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #include <error.h>
+ ]], [[
+ error (0, 0, "foo");
+ ]])
+ ],
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_working_error="guessing yes" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_working_error="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_working_error="$gl_cross_guess_normal" ;;
+ esac
+ ],
+ [gl_cv_func_working_error=no])
+ fi
+ ])
+ case "$gl_cv_func_working_error" in
+ *no)
+ REPLACE_ERROR=1
+ REPLACE_ERROR_AT_LINE=1
+ ;;
+ esac
+ fi
+
+ if test $HAVE_ERROR = 0 || test $REPLACE_ERROR = 1 \
+ || test $HAVE_ERROR_AT_LINE = 0 || test $REPLACE_ERROR_AT_LINE = 1; then
+ COMPILE_ERROR_C=1
+ else
+ COMPILE_ERROR_C=0
+ fi
+
+ AC_SUBST([HAVE_ERROR])
+ AC_SUBST([HAVE_ERROR_AT_LINE])
+ AC_SUBST([REPLACE_ERROR])
+ AC_SUBST([REPLACE_ERROR_AT_LINE])
+])
diff --git a/gnulib-m4/exponentd.m4 b/gnulib-m4/exponentd.m4
index 83ac08bf..0a4b1b6c 100644
--- a/gnulib-m4/exponentd.m4
+++ b/gnulib-m4/exponentd.m4
@@ -1,9 +1,9 @@
-# exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc.
+# exponentd.m4 serial 4
+dnl Copyright (C) 2007-2008, 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION],
+AC_DEFUN_ONCE([gl_DOUBLE_EXPONENT_LOCATION],
[
AC_CACHE_CHECK([where to find the exponent in a 'double'],
[gl_cv_cc_double_expbit0],
diff --git a/gnulib-m4/exponentf.m4 b/gnulib-m4/exponentf.m4
index 32fdb6a2..a46eee29 100644
--- a/gnulib-m4/exponentf.m4
+++ b/gnulib-m4/exponentf.m4
@@ -1,9 +1,9 @@
-# exponentf.m4 serial 2
-dnl Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc.
+# exponentf.m4 serial 3
+dnl Copyright (C) 2007-2008, 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_FLOAT_EXPONENT_LOCATION],
+AC_DEFUN_ONCE([gl_FLOAT_EXPONENT_LOCATION],
[
AC_CACHE_CHECK([where to find the exponent in a 'float'],
[gl_cv_cc_float_expbit0],
diff --git a/gnulib-m4/exponentl.m4 b/gnulib-m4/exponentl.m4
index 653ad5a9..06c8ae3f 100644
--- a/gnulib-m4/exponentl.m4
+++ b/gnulib-m4/exponentl.m4
@@ -1,9 +1,9 @@
-# exponentl.m4 serial 5
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# exponentl.m4 serial 7
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_LONG_DOUBLE_EXPONENT_LOCATION],
+AC_DEFUN_ONCE([gl_LONG_DOUBLE_EXPONENT_LOCATION],
[
AC_REQUIRE([gl_BIGENDIAN])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
@@ -82,8 +82,9 @@ int main ()
dnl ABI and compiler version. There are too many cases.
gl_cv_cc_long_double_expbit0="unknown"
case "$host_os" in
- mingw*) # On native Windows (little-endian), we know the result
- # in two cases: mingw, MSVC.
+ mingw* | windows*)
+ # On native Windows (little-endian), we know the result
+ # in two cases: mingw, MSVC.
AC_EGREP_CPP([Known], [
#ifdef __MINGW32__
Known
diff --git a/gnulib-m4/extensions.m4 b/gnulib-m4/extensions.m4
index 0b3e4b5a..6fc2e300 100644
--- a/gnulib-m4/extensions.m4
+++ b/gnulib-m4/extensions.m4
@@ -1,7 +1,7 @@
-# serial 22 -*- Autoconf -*-
+# serial 23 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2022 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -31,7 +31,7 @@ m4_ifndef([AC_CHECK_INCLUDES_DEFAULT],
# its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS
# invocation occurs in gl_EARLY, not in gl_INIT.
-m4_version_prereq([2.70.1], [], [
+m4_version_prereq([2.72], [], [
# AC_USE_SYSTEM_EXTENSIONS
# ------------------------
@@ -113,11 +113,15 @@ AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# undef __STDC_WANT_IEC_60559_DFP_EXT__
#endif
+/* Enable extensions specified by C23 Annex F. */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# undef __STDC_WANT_IEC_60559_EXT__
+#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
#endif
-/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
#endif
@@ -187,6 +191,7 @@ dnl it should only be defined when necessary.
AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
+ AC_DEFINE([__STDC_WANT_IEC_60559_EXT__])
AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
AC_DEFINE([__STDC_WANT_LIB_EXT2__])
diff --git a/gnulib-m4/extern-inline.m4 b/gnulib-m4/extern-inline.m4
index 8a12bddd..680250ec 100644
--- a/gnulib-m4/extern-inline.m4
+++ b/gnulib-m4/extern-inline.m4
@@ -1,6 +1,6 @@
dnl 'extern inline' a la ISO C99.
-dnl Copyright 2012-2022 Free Software Foundation, Inc.
+dnl Copyright 2012-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -79,7 +79,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
# define _GL_EXTERN_INLINE_STDHEADER_BUG
#endif
#if ((__GNUC__ \
- ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ && !defined __PCC__) \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !defined __PGI \
@@ -89,6 +90,7 @@ AC_DEFUN([gl_EXTERN_INLINE],
# define _GL_EXTERN_INLINE extern inline
# define _GL_EXTERN_INLINE_IN_USE
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+ && !defined __PCC__ \
&& !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
diff --git a/gnulib-m4/fcntl-o.m4 b/gnulib-m4/fcntl-o.m4
index 4dcde9e0..49ab34d8 100644
--- a/gnulib-m4/fcntl-o.m4
+++ b/gnulib-m4/fcntl-o.m4
@@ -1,5 +1,5 @@
-# fcntl-o.m4 serial 7
-dnl Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc.
+# fcntl-o.m4 serial 8
+dnl Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -117,9 +117,9 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
*) gl_cv_header_working_fcntl_h='no';;
esac],
[case "$host_os" in
- # Guess 'no' on native Windows.
- mingw*) gl_cv_header_working_fcntl_h='no' ;;
- *) gl_cv_header_working_fcntl_h=cross-compiling ;;
+ # Guess 'no' on native Windows.
+ mingw* | windows*) gl_cv_header_working_fcntl_h='no' ;;
+ *) gl_cv_header_working_fcntl_h=cross-compiling ;;
esac
])
])
diff --git a/gnulib-m4/fcntl.m4 b/gnulib-m4/fcntl.m4
index 428e5709..02b93f83 100644
--- a/gnulib-m4/fcntl.m4
+++ b/gnulib-m4/fcntl.m4
@@ -1,5 +1,5 @@
# fcntl.m4 serial 11
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/fcntl_h.m4 b/gnulib-m4/fcntl_h.m4
index 267f98bf..ba4eb449 100644
--- a/gnulib-m4/fcntl_h.m4
+++ b/gnulib-m4/fcntl_h.m4
@@ -1,6 +1,6 @@
# serial 20
# Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/fdopen.m4 b/gnulib-m4/fdopen.m4
index 32e0e1d8..5b94047e 100644
--- a/gnulib-m4/fdopen.m4
+++ b/gnulib-m4/fdopen.m4
@@ -1,5 +1,5 @@
-# fdopen.m4 serial 5
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# fdopen.m4 serial 6
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -36,8 +36,8 @@ main (void)
[gl_cv_func_fdopen_works=yes],
[gl_cv_func_fdopen_works=no],
[case "$host_os" in
- mingw*) gl_cv_func_fdopen_works="guessing no" ;;
- *) gl_cv_func_fdopen_works="guessing yes" ;;
+ mingw* | windows*) gl_cv_func_fdopen_works="guessing no" ;;
+ *) gl_cv_func_fdopen_works="guessing yes" ;;
esac
])
])
diff --git a/gnulib-m4/flexmember.m4 b/gnulib-m4/flexmember.m4
index 3b4237e9..9df6c03c 100644
--- a/gnulib-m4/flexmember.m4
+++ b/gnulib-m4/flexmember.m4
@@ -1,7 +1,7 @@
# serial 5
# Check for flexible array member support.
-# Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/float_h.m4 b/gnulib-m4/float_h.m4
index 0e845726..60e81447 100644
--- a/gnulib-m4/float_h.m4
+++ b/gnulib-m4/float_h.m4
@@ -1,5 +1,5 @@
-# float_h.m4 serial 13
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+# float_h.m4 serial 14
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -84,9 +84,11 @@ int main ()
[gl_cv_func_itold_works="guessing no"],
[gl_cv_func_itold_works="guessing yes"])
;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_itold_works="guessing yes" ;;
- *) gl_cv_func_itold_works="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*)
+ gl_cv_func_itold_works="guessing yes" ;;
+ *)
+ gl_cv_func_itold_works="guessing yes" ;;
esac
])
])
diff --git a/gnulib-m4/fpieee.m4 b/gnulib-m4/fpieee.m4
index c0c23e95..239cf4a7 100644
--- a/gnulib-m4/fpieee.m4
+++ b/gnulib-m4/fpieee.m4
@@ -1,5 +1,5 @@
# fpieee.m4 serial 2 -*- coding: utf-8 -*-
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/free.m4 b/gnulib-m4/free.m4
index dfeecd2b..4f6dc2e2 100644
--- a/gnulib-m4/free.m4
+++ b/gnulib-m4/free.m4
@@ -1,5 +1,5 @@
# free.m4 serial 6
-# Copyright (C) 2003-2005, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2003-2005, 2009-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/frexp.m4 b/gnulib-m4/frexp.m4
index d8f3cef4..54cbb6d5 100644
--- a/gnulib-m4/frexp.m4
+++ b/gnulib-m4/frexp.m4
@@ -1,5 +1,5 @@
-# frexp.m4 serial 16
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# frexp.m4 serial 20
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,7 @@ AC_DEFUN([gl_FUNC_FREXP],
AC_CACHE_CHECK([whether frexp() can be used with libm],
[gl_cv_func_frexp_in_libm],
[
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -22,7 +22,7 @@ AC_DEFUN([gl_FUNC_FREXP],
[[int e; return frexp (x, &e) > 0;]])],
[gl_cv_func_frexp_in_libm=yes],
[gl_cv_func_frexp_in_libm=no])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
if test $gl_cv_func_frexp_in_libm = yes; then
FREXP_LIBM=-lm
@@ -30,10 +30,10 @@ AC_DEFUN([gl_FUNC_FREXP],
fi
if test $gl_cv_func_frexp_no_libm = yes \
|| test $gl_cv_func_frexp_in_libm = yes; then
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS $FREXP_LIBM"
gl_FUNC_FREXP_WORKS
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
case "$gl_cv_func_frexp_works" in
*yes) gl_func_frexp=yes ;;
*) gl_func_frexp=no; REPLACE_FREXP=1; FREXP_LIBM= ;;
@@ -156,7 +156,8 @@ int main()
{
int exp;
double y = frexp (x, &exp);
- if (memcmp (&y, &x, sizeof x))
+ double x1 = x;
+ if (memcmp (&y, &x1, sizeof x1))
result |= 4;
}
return result;
@@ -165,7 +166,11 @@ int main()
[gl_cv_func_frexp_works=no],
[case "$host_os" in
netbsd* | irix*) gl_cv_func_frexp_works="guessing no" ;;
- mingw*) # Guess yes with MSVC, no with mingw.
+ # Guess yes with MSVC, no with mingw.
+ windows*-msvc*)
+ gl_cv_func_frexp_works="guessing yes"
+ ;;
+ mingw* | windows*)
AC_EGREP_CPP([Good], [
#ifdef _MSC_VER
Good
diff --git a/gnulib-m4/frexpl.m4 b/gnulib-m4/frexpl.m4
index 45576131..c434dea7 100644
--- a/gnulib-m4/frexpl.m4
+++ b/gnulib-m4/frexpl.m4
@@ -1,5 +1,5 @@
-# frexpl.m4 serial 22
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# frexpl.m4 serial 24
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -23,7 +23,7 @@ AC_DEFUN([gl_FUNC_FREXPL],
AC_CACHE_CHECK([whether frexpl() can be used with libm],
[gl_cv_func_frexpl_in_libm],
[
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -32,7 +32,7 @@ AC_DEFUN([gl_FUNC_FREXPL],
[[int e; return frexpl (x, &e) > 0;]])],
[gl_cv_func_frexpl_in_libm=yes],
[gl_cv_func_frexpl_in_libm=no])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
if test $gl_cv_func_frexpl_in_libm = yes; then
FREXPL_LIBM=-lm
@@ -40,10 +40,10 @@ AC_DEFUN([gl_FUNC_FREXPL],
fi
if test $gl_cv_func_frexpl_no_libm = yes \
|| test $gl_cv_func_frexpl_in_libm = yes; then
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS $FREXPL_LIBM"
gl_FUNC_FREXPL_WORKS
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
case "$gl_cv_func_frexpl_works" in
*yes) gl_func_frexpl=yes ;;
*) gl_func_frexpl=no; REPLACE_FREXPL=1 ;;
@@ -223,7 +223,7 @@ int main()
[
changequote(,)dnl
case "$host_os" in
- aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*)
+ aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | windows* | pw*)
gl_cv_func_frexpl_works="guessing no";;
*) gl_cv_func_frexpl_works="guessing yes";;
esac
diff --git a/gnulib-m4/fseterr.m4 b/gnulib-m4/fseterr.m4
index 1596bbc0..b43ddc5a 100644
--- a/gnulib-m4/fseterr.m4
+++ b/gnulib-m4/fseterr.m4
@@ -1,10 +1,13 @@
-# fseterr.m4 serial 1
-dnl Copyright (C) 2012-2022 Free Software Foundation, Inc.
+# fseterr.m4 serial 2
+dnl Copyright (C) 2012-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_FSETERR],
[
- AC_CHECK_FUNCS_ONCE([__fseterr])
+ gl_CHECK_FUNCS_ANDROID([__fseterr],
+ [[#include <stdio.h>
+ #include <stdio_ext.h>
+ ]])
])
diff --git a/gnulib-m4/fstat.m4 b/gnulib-m4/fstat.m4
index 9e61bcce..5e73b4ed 100644
--- a/gnulib-m4/fstat.m4
+++ b/gnulib-m4/fstat.m4
@@ -1,5 +1,5 @@
-# fstat.m4 serial 8
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# fstat.m4 serial 10
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,10 +10,10 @@ AC_DEFUN([gl_FUNC_FSTAT],
AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
case "$host_os" in
- mingw* | solaris*)
+ darwin* | mingw* | windows* | solaris*)
+ dnl macOS and Solaris stat can return a negative tv_nsec.
dnl On MinGW, the original stat() returns st_atime, st_mtime,
dnl st_ctime values that are affected by the time zone.
- dnl Solaris stat can return a negative tv_nsec.
REPLACE_FSTAT=1
;;
esac
diff --git a/gnulib-m4/ftruncate.m4 b/gnulib-m4/ftruncate.m4
index 2697e0eb..f547a95d 100644
--- a/gnulib-m4/ftruncate.m4
+++ b/gnulib-m4/ftruncate.m4
@@ -1,8 +1,8 @@
-# serial 21
+# serial 24
# See if we need to emulate a missing ftruncate function using _chsize.
-# Copyright (C) 2000-2001, 2003-2007, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -10,12 +10,12 @@
AC_DEFUN([gl_FUNC_FTRUNCATE],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- AC_CHECK_FUNCS_ONCE([ftruncate])
+ gl_CHECK_FUNCS_ANDROID([ftruncate], [[#include <unistd.h>]])
if test $ac_cv_func_ftruncate = yes; then
m4_ifdef([gl_LARGEFILE], [
AC_REQUIRE([AC_CANONICAL_HOST])
case "$host_os" in
- mingw*)
+ mingw* | windows*)
dnl Native Windows, and Large File Support is requested.
dnl The MSVCRT _chsize() function only accepts a 32-bit file size,
dnl and the mingw64 ftruncate64() function is unreliable (it may
@@ -30,6 +30,9 @@ AC_DEFUN([gl_FUNC_FTRUNCATE],
])
else
HAVE_FTRUNCATE=0
+ case "$gl_cv_onwards_func_ftruncate" in
+ future*) REPLACE_FTRUNCATE=1 ;;
+ esac
fi
])
diff --git a/gnulib-m4/getcwd.m4 b/gnulib-m4/getcwd.m4
index 076ca314..ed3d7b61 100644
--- a/gnulib-m4/getcwd.m4
+++ b/gnulib-m4/getcwd.m4
@@ -1,12 +1,12 @@
# getcwd.m4 - check for working getcwd that is compatible with glibc
-# Copyright (C) 2001, 2003-2007, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Written by Paul Eggert.
-# serial 19
+# serial 22
AC_DEFUN([gl_FUNC_GETCWD_NULL],
[
@@ -21,11 +21,8 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
# else /* on Windows with MSVC */
# include <direct.h>
# endif
- ]GL_MDA_DEFINES[
-# ifndef getcwd
- char *getcwd ();
-# endif
-]], [[
+ ]GL_MDA_DEFINES],
+ [[
#if defined _WIN32 && ! defined __CYGWIN__
/* mingw cwd does not start with '/', but _getcwd does allocate.
However, mingw fails to honor non-zero size. */
@@ -53,6 +50,8 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
*-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";;
# Guess yes on musl systems.
*-musl*) gl_cv_func_getcwd_null="guessing yes";;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_getcwd_null="guessing yes";;
# Guess yes on Cygwin.
cygwin*) gl_cv_func_getcwd_null="guessing yes";;
# If we don't know, obey --enable-cross-guesses.
@@ -114,7 +113,7 @@ AC_DEFUN([gl_FUNC_GETCWD],
gl_abort_bug=no
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_cv_func_getcwd_path_max=yes
;;
*)
diff --git a/gnulib-m4/getdtablesize.m4 b/gnulib-m4/getdtablesize.m4
index 6134eaac..3b89456b 100644
--- a/gnulib-m4/getdtablesize.m4
+++ b/gnulib-m4/getdtablesize.m4
@@ -1,5 +1,5 @@
# getdtablesize.m4 serial 8
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/getpagesize.m4 b/gnulib-m4/getpagesize.m4
index 19f894ca..35dc257b 100644
--- a/gnulib-m4/getpagesize.m4
+++ b/gnulib-m4/getpagesize.m4
@@ -1,5 +1,5 @@
-# getpagesize.m4 serial 10
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2022 Free Software Foundation,
+# getpagesize.m4 serial 11
+dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -22,7 +22,7 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE],
fi
fi
case "$host_os" in
- mingw*)
+ mingw* | windows*)
REPLACE_GETPAGESIZE=1
;;
esac
diff --git a/gnulib-m4/getprogname.m4 b/gnulib-m4/getprogname.m4
index b26146e9..b8f9f230 100644
--- a/gnulib-m4/getprogname.m4
+++ b/gnulib-m4/getprogname.m4
@@ -1,16 +1,33 @@
# getprogname.m4 - check for getprogname or replacements for it
-# Copyright (C) 2016-2022 Free Software Foundation, Inc.
+# Copyright (C) 2016-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 8
AC_DEFUN([gl_FUNC_GETPROGNAME],
[
- AC_CHECK_FUNCS_ONCE([getprogname getexecname])
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ gl_CHECK_FUNCS_ANDROID([getprogname], [[#include <stdlib.h>]])
+ if test $ac_cv_func_getprogname = no; then
+ HAVE_GETPROGNAME=0
+ case "$gl_cv_onwards_func_getprogname" in
+ future*) REPLACE_GETPROGNAME=1 ;;
+ esac
+ fi
+ AC_CHECK_DECLS([program_invocation_name],
+ [],
+ [HAVE_DECL_PROGRAM_INVOCATION_NAME=0],
+ [[#include <errno.h>]])
+])
+
+AC_DEFUN([gl_PREREQ_GETPROGNAME],
+[
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([getexecname])
ac_found=0
AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [],
[#include <errno.h>])
diff --git a/gnulib-m4/gettimeofday.m4 b/gnulib-m4/gettimeofday.m4
index f729601b..35269914 100644
--- a/gnulib-m4/gettimeofday.m4
+++ b/gnulib-m4/gettimeofday.m4
@@ -1,6 +1,6 @@
-# serial 29
+# serial 30
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -57,7 +57,7 @@ int gettimeofday (struct timeval *restrict, struct timezone *restrict);
dnl On mingw, the original gettimeofday has only a precision of 15.6
dnl milliseconds. So override it.
case "$host_os" in
- mingw*) REPLACE_GETTIMEOFDAY=1 ;;
+ mingw* | windows*) REPLACE_GETTIMEOFDAY=1 ;;
esac
fi
AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone],
diff --git a/gnulib-m4/gnulib-cache.m4 b/gnulib-m4/gnulib-cache.m4
index a28477a8..6fe9820d 100644
--- a/gnulib-m4/gnulib-cache.m4
+++ b/gnulib-m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -40,6 +40,7 @@
# --no-conditional-dependencies \
# --libtool \
# --macro-prefix=gl \
+# gitlog-to-changelog \
# relocatable-lib-lgpl \
# unicase/base \
# unicase/empty-prefix-context \
@@ -143,6 +144,7 @@
# unictype/ctype-xdigit \
# unictype/decimal-digit \
# unictype/digit \
+# unictype/incb-all \
# unictype/joininggroup-all \
# unictype/joiningtype-all \
# unictype/mirror \
@@ -176,6 +178,8 @@
# unilbrk/u8-width-linebreaks \
# unilbrk/ulc-possible-linebreaks \
# unilbrk/ulc-width-linebreaks \
+# unimetadata/base \
+# unimetadata/u-version \
# uniname/base \
# uniname/uniname \
# uninorm/base \
@@ -273,6 +277,7 @@
# unistr/u16-mbtoucr \
# unistr/u16-move \
# unistr/u16-next \
+# unistr/u16-pcpy \
# unistr/u16-prev \
# unistr/u16-set \
# unistr/u16-startswith \
@@ -314,6 +319,7 @@
# unistr/u32-mbtoucr \
# unistr/u32-move \
# unistr/u32-next \
+# unistr/u32-pcpy \
# unistr/u32-prev \
# unistr/u32-set \
# unistr/u32-startswith \
@@ -355,6 +361,7 @@
# unistr/u8-mbtoucr \
# unistr/u8-move \
# unistr/u8-next \
+# unistr/u8-pcpy \
# unistr/u8-prev \
# unistr/u8-set \
# unistr/u8-startswith \
@@ -401,6 +408,7 @@
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([gnulib-local])
gl_MODULES([
+ gitlog-to-changelog
relocatable-lib-lgpl
unicase/base
unicase/empty-prefix-context
@@ -504,6 +512,7 @@ gl_MODULES([
unictype/ctype-xdigit
unictype/decimal-digit
unictype/digit
+ unictype/incb-all
unictype/joininggroup-all
unictype/joiningtype-all
unictype/mirror
@@ -537,6 +546,8 @@ gl_MODULES([
unilbrk/u8-width-linebreaks
unilbrk/ulc-possible-linebreaks
unilbrk/ulc-width-linebreaks
+ unimetadata/base
+ unimetadata/u-version
uniname/base
uniname/uniname
uninorm/base
@@ -634,6 +645,7 @@ gl_MODULES([
unistr/u16-mbtoucr
unistr/u16-move
unistr/u16-next
+ unistr/u16-pcpy
unistr/u16-prev
unistr/u16-set
unistr/u16-startswith
@@ -675,6 +687,7 @@ gl_MODULES([
unistr/u32-mbtoucr
unistr/u32-move
unistr/u32-next
+ unistr/u32-pcpy
unistr/u32-prev
unistr/u32-set
unistr/u32-startswith
@@ -716,6 +729,7 @@ gl_MODULES([
unistr/u8-mbtoucr
unistr/u8-move
unistr/u8-next
+ unistr/u8-pcpy
unistr/u8-prev
unistr/u8-set
unistr/u8-startswith
diff --git a/gnulib-m4/gnulib-common.m4 b/gnulib-m4/gnulib-common.m4
index d17cbec5..d8d0904f 100644
--- a/gnulib-m4/gnulib-common.m4
+++ b/gnulib-m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 74
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 92
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -15,6 +15,10 @@ AC_DEFUN([gl_COMMON], [
AC_REQUIRE([gl_ZZGNULIB])
])
AC_DEFUN([gl_COMMON_BODY], [
+ AH_VERBATIM([0witness],
+[/* Witness that <config.h> has been included. */
+#define _GL_CONFIG_H_INCLUDED 1
+])
AH_VERBATIM([_GL_GNUC_PREREQ],
[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */
#if defined __GNUC__ && defined __GNUC_MINOR__
@@ -38,6 +42,11 @@ AC_DEFUN([gl_COMMON_BODY], [
AIX system header files and several gnulib header files use precisely
this syntax with 'extern'. */
# define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+ && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+ /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+ that rare LLVM bug, though you may get many false-alarm warnings. */
+# define _Noreturn
# elif ((!defined __cplusplus || defined __clang__) \
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|| (!defined __STRICT_ANSI__ \
@@ -67,54 +76,74 @@ AC_DEFUN([gl_COMMON_BODY], [
#endif])
AH_VERBATIM([attribute],
[/* Attributes. */
-#if (defined __has_attribute \
- && (!defined __clang_minor__ \
- || (defined __apple_build_version__ \
- ? 6000000 <= __apple_build_version__ \
- : 3 < __clang_major__ + (5 <= __clang_minor__))))
-# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
-#else
-# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
-# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
-# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
-# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
-# define _GL_ATTR_diagnose_if 0
-# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
-# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
-# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
-# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
-# ifdef _ICC
-# define _GL_ATTR_may_alias 0
+/* Define _GL_HAS_ATTRIBUTE only once, because on FreeBSD, with gcc < 5, if
+ <config.h> gets included once again after <sys/cdefs.h>, __has_attribute(x)
+ expands to 0 always, and redefining _GL_HAS_ATTRIBUTE would turn off all
+ attributes. */
+#ifndef _GL_HAS_ATTRIBUTE
+# if (defined __has_attribute \
+ && (!defined __clang_minor__ \
+ || (defined __apple_build_version__ \
+ ? 7000000 <= __apple_build_version__ \
+ : 5 <= __clang_major__)))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
# else
-# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+# define _GL_ATTR_may_alias 0
+# else
+# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
# endif
-# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
-# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
-# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
-# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
-# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
-# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
-# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
-# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
#endif
-#ifdef __has_c_attribute
-# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
- && _GL_GNUC_PREREQ (4, 6))
-# pragma GCC diagnostic ignored "-Wpedantic"
-# endif
-# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
+/* Use __has_c_attribute if available. However, do not use with
+ pre-C23 GCC, which can issue false positives if -Wpedantic. */
+#if (defined __has_c_attribute \
+ && ! (_GL_GNUC_PREREQ (4, 6) \
+ && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710))
+# define _GL_HAVE___HAS_C_ATTRIBUTE 1
#else
-# define _GL_HAS_C_ATTRIBUTE(attr) 0
+# define _GL_HAVE___HAS_C_ATTRIBUTE 0
#endif
+/* Define if, in a function declaration, the attributes in bracket syntax
+ [[...]] must come before the attributes in __attribute__((...)) syntax.
+ If this is defined, it is best to avoid the bracket syntax, so that the
+ various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any
+ order. */
+#ifdef __cplusplus
+# if defined __clang__
+# define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#else
+# if defined __GNUC__ && !defined __clang__
+# define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#endif
]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead.
[
/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
@@ -123,29 +152,35 @@ AC_DEFUN([gl_COMMON_BODY], [
by the Nth argument of the function is the size of the returned memory block.
*/
/* Applies to: function, pointer to function, function types. */
-#if _GL_HAS_ATTRIBUTE (alloc_size)
-# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
-#else
-# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+#ifndef _GL_ATTRIBUTE_ALLOC_SIZE
+# if _GL_HAS_ATTRIBUTE (alloc_size)
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+# else
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+# endif
#endif
/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
function and report an error if it cannot do so. */
/* Applies to: function. */
-#if _GL_HAS_ATTRIBUTE (always_inline)
-# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
-#else
-# define _GL_ATTRIBUTE_ALWAYS_INLINE
+#ifndef _GL_ATTRIBUTE_ALWAYS_INLINE
+# if _GL_HAS_ATTRIBUTE (always_inline)
+# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
+# else
+# define _GL_ATTRIBUTE_ALWAYS_INLINE
+# endif
#endif
/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
in stack traces when debugging. The compiler should omit the function from
stack traces. */
/* Applies to: function. */
-#if _GL_HAS_ATTRIBUTE (artificial)
-# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
-#else
-# define _GL_ATTRIBUTE_ARTIFICIAL
+#ifndef _GL_ATTRIBUTE_ARTIFICIAL
+# if _GL_HAS_ATTRIBUTE (artificial)
+# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
+# else
+# define _GL_ATTRIBUTE_ARTIFICIAL
+# endif
#endif
/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */
@@ -153,14 +188,16 @@ AC_DEFUN([gl_COMMON_BODY], [
/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
<https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */
-#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
-# ifndef __SUNPRO_C
-# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+#ifndef _GL_ATTRIBUTE_COLD
+# if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
+# ifndef __SUNPRO_C
+# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+# else
+# define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+# endif
# else
-# define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+# define _GL_ATTRIBUTE_COLD
# endif
-#else
-# define _GL_ATTRIBUTE_COLD
#endif
/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
@@ -170,10 +207,12 @@ AC_DEFUN([gl_COMMON_BODY], [
forever, and does not call longjmp.
(This attribute is stricter than _GL_ATTRIBUTE_PURE.) */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (const)
-# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
-#else
-# define _GL_ATTRIBUTE_CONST
+#ifndef _GL_ATTRIBUTE_CONST
+# if _GL_HAS_ATTRIBUTE (const)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+# else
+# define _GL_ATTRIBUTE_CONST
+# endif
#endif
/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
@@ -182,16 +221,25 @@ AC_DEFUN([gl_COMMON_BODY], [
_GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
can be freed via 'free'; it can be used only after declaring 'free'. */
/* Applies to: functions. Cannot be used on inline functions. */
-#if _GL_GNUC_PREREQ (11, 0)
-# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
-#else
-# define _GL_ATTRIBUTE_DEALLOC(f, i)
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if _GL_GNUC_PREREQ (11, 0)
+# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+# define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
#endif
/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
to use this earlier definition, since <stdlib.h> may not have been included
yet. */
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
-# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
#endif
/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
@@ -202,12 +250,20 @@ AC_DEFUN([gl_COMMON_BODY], [
- enumeration, enumeration item,
- typedef,
in C++ also: namespace, class, template specialization. */
-#if _GL_HAS_C_ATTRIBUTE (deprecated)
-# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
-#elif _GL_HAS_ATTRIBUTE (deprecated)
-# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
-#else
-# define _GL_ATTRIBUTE_DEPRECATED
+#ifndef _GL_ATTRIBUTE_DEPRECATED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__deprecated__)
+# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+# endif
+# endif
+# endif
+# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated)
+# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+# endif
+# ifndef _GL_ATTRIBUTE_DEPRECATED
+# define _GL_ATTRIBUTE_DEPRECATED
+# endif
#endif
/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
@@ -215,24 +271,28 @@ AC_DEFUN([gl_COMMON_BODY], [
_GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
the function call is not optimized away. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (error)
-# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
-# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
-#elif _GL_HAS_ATTRIBUTE (diagnose_if)
-# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
-# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
-#else
-# define _GL_ATTRIBUTE_ERROR(msg)
-# define _GL_ATTRIBUTE_WARNING(msg)
+#if !(defined _GL_ATTRIBUTE_ERROR && defined _GL_ATTRIBUTE_WARNING)
+# if _GL_HAS_ATTRIBUTE (error)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
+# elif _GL_HAS_ATTRIBUTE (diagnose_if)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+# else
+# define _GL_ATTRIBUTE_ERROR(msg)
+# define _GL_ATTRIBUTE_WARNING(msg)
+# endif
#endif
/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
visible to debuggers etc., even with '-fwhole-program'. */
/* Applies to: functions, variables. */
-#if _GL_HAS_ATTRIBUTE (externally_visible)
-# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
-#else
-# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+#ifndef _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# if _GL_HAS_ATTRIBUTE (externally_visible)
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
+# else
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# endif
#endif
/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
@@ -240,12 +300,18 @@ AC_DEFUN([gl_COMMON_BODY], [
'default' label. The compiler should not warn in this case. */
/* Applies to: Empty statement (;), inside a 'switch' statement. */
/* Always expands to something. */
-#if _GL_HAS_C_ATTRIBUTE (fallthrough)
-# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
-#elif _GL_HAS_ATTRIBUTE (fallthrough)
-# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
-#else
-# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+#ifndef _GL_ATTRIBUTE_FALLTHROUGH
+# if _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__fallthrough__)
+# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
+# endif
+# endif
+# if !defined _GL_ATTRIBUTE_FALLTHROUGH && _GL_HAS_ATTRIBUTE (fallthrough)
+# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+# ifndef _GL_ATTRIBUTE_FALLTHROUGH
+# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+# endif
#endif
/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
@@ -259,10 +325,12 @@ AC_DEFUN([gl_COMMON_BODY], [
If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
are suitable for the format string. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (format)
-# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
-#else
-# define _GL_ATTRIBUTE_FORMAT(spec)
+#ifndef _GL_ATTRIBUTE_FORMAT
+# if _GL_HAS_ATTRIBUTE (format)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+# else
+# define _GL_ATTRIBUTE_FORMAT(spec)
+# endif
#endif
/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
@@ -270,19 +338,23 @@ AC_DEFUN([gl_COMMON_BODY], [
exception handling. This declaration lets the compiler optimize that unit
more aggressively. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (leaf)
-# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
-#else
-# define _GL_ATTRIBUTE_LEAF
+#ifndef _GL_ATTRIBUTE_LEAF
+# if _GL_HAS_ATTRIBUTE (leaf)
+# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
+# else
+# define _GL_ATTRIBUTE_LEAF
+# endif
#endif
/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
allocated memory. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (malloc)
-# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-#else
-# define _GL_ATTRIBUTE_MALLOC
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if _GL_HAS_ATTRIBUTE (malloc)
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+# define _GL_ATTRIBUTE_MALLOC
+# endif
#endif
/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
@@ -290,10 +362,12 @@ AC_DEFUN([gl_COMMON_BODY], [
strict aliasing optimization. */
/* Applies to: types. */
/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */
-#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
-# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
-#else
-# define _GL_ATTRIBUTE_MAY_ALIAS
+#ifndef _GL_ATTRIBUTE_MAY_ALIAS
+# if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
+# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
+# else
+# define _GL_ATTRIBUTE_MAY_ALIAS
+# endif
#endif
/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
@@ -305,13 +379,26 @@ AC_DEFUN([gl_COMMON_BODY], [
- enumeration, enumeration item,
- typedef,
in C++ also: class. */
-/* In C++ and C2x, this is spelled [[__maybe_unused__]].
+/* In C++ and C23, this is spelled [[__maybe_unused__]].
GCC's syntax is __attribute__ ((__unused__)).
- clang supports both syntaxes. */
-#if _GL_HAS_C_ATTRIBUTE (maybe_unused)
-# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
-#else
-# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+ clang supports both syntaxes. Except that with clang ≥ 6, < 10, in C++ mode,
+ __has_c_attribute (__maybe_unused__) yields true but the use of
+ [[__maybe_unused__]] nevertheless produces a warning. */
+#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
+# if !defined __apple_build_version__ && __clang_major__ >= 10
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# elif _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__maybe_unused__)
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# endif
+# endif
+# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+# endif
#endif
/* Alternative spelling of this macro, for convenience and for
compatibility with glibc/include/libc-symbols.h. */
@@ -323,21 +410,40 @@ AC_DEFUN([gl_COMMON_BODY], [
discard the return value. The compiler may warn if the caller does not use
the return value, unless the caller uses something like ignore_value. */
/* Applies to: function, enumeration, class. */
-#if _GL_HAS_C_ATTRIBUTE (nodiscard)
-# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
-#elif _GL_HAS_ATTRIBUTE (warn_unused_result)
-# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
-#else
-# define _GL_ATTRIBUTE_NODISCARD
+#ifndef _GL_ATTRIBUTE_NODISCARD
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
+ /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces
+ a warning.
+ The 1000 below means a yet unknown threshold. When clang++ version X
+ starts supporting [[__nodiscard__]] without warning about it, you can
+ replace the 1000 with X. */
+# if __clang_major__ >= 1000
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# endif
+# elif _GL_HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute (__nodiscard__)
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+# endif
+# endif
+# endif
+# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result)
+# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
+# endif
+# ifndef _GL_ATTRIBUTE_NODISCARD
+# define _GL_ATTRIBUTE_NODISCARD
+# endif
#endif
/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
function. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (noinline)
-# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
-#else
-# define _GL_ATTRIBUTE_NOINLINE
+#ifndef _GL_ATTRIBUTE_NOINLINE
+# if _GL_HAS_ATTRIBUTE (noinline)
+# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
+# else
+# define _GL_ATTRIBUTE_NOINLINE
+# endif
#endif
/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
@@ -345,20 +451,24 @@ AC_DEFUN([gl_COMMON_BODY], [
_GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
null. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (nonnull)
-# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
-#else
-# define _GL_ATTRIBUTE_NONNULL(args)
+#ifndef _GL_ATTRIBUTE_NONNULL
+# if _GL_HAS_ATTRIBUTE (nonnull)
+# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
+# else
+# define _GL_ATTRIBUTE_NONNULL(args)
+# endif
#endif
/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
not meant to be NUL-terminated. */
/* Applies to: struct/union members and variables that are arrays of element
type '[[un]signed] char'. */
-#if _GL_HAS_ATTRIBUTE (nonstring)
-# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
-#else
-# define _GL_ATTRIBUTE_NONSTRING
+#ifndef _GL_ATTRIBUTE_NONSTRING
+# if _GL_HAS_ATTRIBUTE (nonstring)
+# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+# else
+# define _GL_ATTRIBUTE_NONSTRING
+# endif
#endif
/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */
@@ -366,10 +476,26 @@ AC_DEFUN([gl_COMMON_BODY], [
/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
*/
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
-# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
-#else
-# define _GL_ATTRIBUTE_NOTHROW
+/* After a function's parameter list, this attribute must come first, before
+ other attributes. */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if _GL_HAS_ATTRIBUTE (nothrow)
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
#endif
/* _GL_ATTRIBUTE_PACKED declares:
@@ -378,10 +504,12 @@ AC_DEFUN([gl_COMMON_BODY], [
minimizing the memory required. */
/* Applies to: struct members, struct, union,
in C++ also: class. */
-#if _GL_HAS_ATTRIBUTE (packed)
-# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
-#else
-# define _GL_ATTRIBUTE_PACKED
+#ifndef _GL_ATTRIBUTE_PACKED
+# if _GL_HAS_ATTRIBUTE (packed)
+# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
+# else
+# define _GL_ATTRIBUTE_PACKED
+# endif
#endif
/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
@@ -391,19 +519,23 @@ AC_DEFUN([gl_COMMON_BODY], [
observable state, and always returns exactly once.
(This attribute is looser than _GL_ATTRIBUTE_CONST.) */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (pure)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE
+#ifndef _GL_ATTRIBUTE_PURE
+# if _GL_HAS_ATTRIBUTE (pure)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+# define _GL_ATTRIBUTE_PURE
+# endif
#endif
/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
a non-NULL pointer. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (returns_nonnull)
-# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
-#else
-# define _GL_ATTRIBUTE_RETURNS_NONNULL
+#ifndef _GL_ATTRIBUTE_RETURNS_NONNULL
+# if _GL_HAS_ATTRIBUTE (returns_nonnull)
+# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
+# else
+# define _GL_ATTRIBUTE_RETURNS_NONNULL
+# endif
#endif
/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
@@ -411,17 +543,21 @@ AC_DEFUN([gl_COMMON_BODY], [
_GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
_GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */
/* Applies to: functions. */
-#if _GL_HAS_ATTRIBUTE (sentinel)
-# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
-#else
-# define _GL_ATTRIBUTE_SENTINEL(pos)
+#ifndef _GL_ATTRIBUTE_SENTINEL
+# if _GL_HAS_ATTRIBUTE (sentinel)
+# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
+# else
+# define _GL_ATTRIBUTE_SENTINEL(pos)
+# endif
#endif
/* A helper macro. Don't use it directly. */
-#if _GL_HAS_ATTRIBUTE (unused)
-# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#else
-# define _GL_ATTRIBUTE_UNUSED
+#ifndef _GL_ATTRIBUTE_UNUSED
+# if _GL_HAS_ATTRIBUTE (unused)
+# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+# define _GL_ATTRIBUTE_UNUSED
+# endif
#endif
]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead.
@@ -432,10 +568,24 @@ AC_DEFUN([gl_COMMON_BODY], [
/* Applies to: label (both in C and C++). */
/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
syntax. But clang does. */
-#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
-# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+#ifndef _GL_UNUSED_LABEL
+# if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
+# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+# else
+# define _GL_UNUSED_LABEL
+# endif
+#endif
+])
+ AH_VERBATIM([c_linkage],
+[/* In C++, there is the concept of "language linkage", that encompasses
+ name mangling and function calling conventions.
+ The following macros start and end a block of "C" linkage. */
+#ifdef __cplusplus
+# define _GL_BEGIN_C_LINKAGE extern "C" {
+# define _GL_END_C_LINKAGE }
#else
-# define _GL_UNUSED_LABEL
+# define _GL_BEGIN_C_LINKAGE
+# define _GL_END_C_LINKAGE
#endif
])
AH_VERBATIM([async_safe],
@@ -493,7 +643,7 @@ AC_DEFUN([gl_COMMON_BODY], [
dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad),
dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad).
AC_ARG_ENABLE([cross-guesses],
- [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}],
+ [AS_HELP_STRING([[--enable-cross-guesses={conservative|risky}]],
[specify policy for cross-compilation guesses])],
[if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then
AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses])
@@ -930,6 +1080,7 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS],
dnl -Wno-pedantic >= 4.8 >= 3.9
dnl -Wno-sign-compare >= 3 >= 3.9
dnl -Wno-sign-conversion >= 4.3 >= 3.9
+ dnl -Wno-tautological-out-of-range-compare - >= 3.9
dnl -Wno-type-limits >= 4.3 >= 3.9
dnl -Wno-undef >= 3 >= 3.9
dnl -Wno-unsuffixed-float-constants >= 4.5
@@ -955,6 +1106,9 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS],
#if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
-Wno-pedantic
#endif
+ #if 3 < __clang_major__ + (9 <= __clang_minor__)
+ -Wno-tautological-constant-out-of-range-compare
+ #endif
#if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
-Wno-sign-conversion
-Wno-type-limits
@@ -1005,6 +1159,238 @@ AC_DEFUN([gl_CONDITIONAL_HEADER],
m4_popdef([gl_header_name])
])
+dnl Preparations for gl_CHECK_FUNCS_MACOS.
+AC_DEFUN([gl_PREPARE_CHECK_FUNCS_MACOS],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gl_COMPILER_CLANG])
+ AC_CACHE_CHECK([for compiler option needed when checking for future declarations],
+ [gl_cv_compiler_check_future_option],
+ [case "$host_os" in
+ dnl This is only needed on macOS.
+ darwin*)
+ if test $gl_cv_compiler_clang = yes; then
+ dnl Test whether the compiler supports the option
+ dnl '-Werror=unguarded-availability-new'.
+ saved_ac_compile="$ac_compile"
+ ac_compile="$ac_compile -Werror=unguarded-availability-new"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
+ [gl_cv_compiler_check_future_option='-Werror=unguarded-availability-new'],
+ [gl_cv_compiler_check_future_option=none])
+ ac_compile="$saved_ac_compile"
+ else
+ gl_cv_compiler_check_future_option=none
+ fi
+ ;;
+ *) gl_cv_compiler_check_future_option=none ;;
+ esac
+ ])
+])
+
+dnl Pieces of the expansion of
+dnl gl_CHECK_FUNCS_ANDROID
+dnl gl_CHECK_FUNCS_MACOS
+dnl gl_CHECK_FUNCS_ANDROID_MACOS
+
+AC_DEFUN([gl_CHECK_FUNCS_DEFAULT_CASE],
+[
+ *)
+ AC_CHECK_FUNC([$1])
+ [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
+ ;;
+])
+
+AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_ANDROID],
+[
+ linux*-android*)
+ AC_CHECK_DECL([$1], , , [$2])
+ if test $[ac_cv_have_decl_][$1] = yes; then
+ AC_CHECK_FUNC([[$1]])
+ if test $[ac_cv_func_][$1] = yes; then
+ [gl_cv_onwards_func_][$1]=yes
+ else
+ dnl The function is declared but does not exist. This should not
+ dnl happen normally. But anyway, we know that a future version
+ dnl of Android will have the function.
+ [gl_cv_onwards_func_][$1]='future OS version'
+ fi
+ else
+ [gl_cv_onwards_func_][$1]='future OS version'
+ fi
+ ;;
+])
+
+AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_MACOS],
+[
+ darwin*)
+ if test "x$gl_cv_compiler_check_future_option" != "xnone"; then
+ dnl Use a compile test, not a link test.
+ saved_ac_compile="$ac_compile"
+ ac_compile="$ac_compile $gl_cv_compiler_check_future_option"
+ saved_ac_compile_for_check_decl="$ac_compile_for_check_decl"
+ ac_compile_for_check_decl="$ac_compile_for_check_decl $gl_cv_compiler_check_future_option"
+ unset [ac_cv_have_decl_][$1]
+ AC_CHECK_DECL([$1], , , [$2])
+ ac_compile="$saved_ac_compile"
+ ac_compile_for_check_decl="$saved_ac_compile_for_check_decl"
+ [ac_cv_func_][$1]="$[ac_cv_have_decl_][$1]"
+ if test $[ac_cv_func_][$1] = yes; then
+ [gl_cv_onwards_func_][$1]=yes
+ else
+ unset [ac_cv_have_decl_][$1]
+ AC_CHECK_DECL([$1], , , [$2])
+ if test $[ac_cv_have_decl_][$1] = yes; then
+ [gl_cv_onwards_func_][$1]='future OS version'
+ else
+ [gl_cv_onwards_func_][$1]=no
+ fi
+ fi
+ else
+ AC_CHECK_FUNC([$1])
+ [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
+ fi
+ ;;
+])
+
+AC_DEFUN([gl_CHECK_FUNCS_SET_RESULTS],
+[
+ case "$[gl_cv_onwards_func_][$1]" in
+ future*) [ac_cv_func_][$1]=no ;;
+ *) [ac_cv_func_][$1]=$[gl_cv_onwards_func_][$1] ;;
+ esac
+ if test $[ac_cv_func_][$1] = yes; then
+ AC_DEFINE([HAVE_]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
+ [1], [Define to 1 if you have the `$1' function.])
+ fi
+])
+
+dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
+dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
+dnl on Android.
+dnl
+dnl When code is compiled on Android, it is in the context of a certain
+dnl "Android API level", which indicates the minimum version of Android on
+dnl which the app can be installed. In other words, you don't compile for a
+dnl specific version of Android. You compile for all versions of Android,
+dnl onwards from the given API level.
+dnl Thus, the question "does the OS have the function func" has three possible
+dnl answers:
+dnl - yes, in all versions starting from the given API level,
+dnl - no, in no version,
+dnl - not in the given API level, but in a later version of Android.
+dnl
+dnl In detail, this works as follows:
+dnl If func was added to Android API level, say, 28, then the libc.so has the
+dnl symbol func always, whereas the header file <foo.h> declares func
+dnl conditionally:
+dnl #if __ANDROID_API__ >= 28
+dnl ... func (...) __INTRODUCED_IN(28);
+dnl #endif
+dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28",
+dnl the function func is declared and exists in libc.
+dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27",
+dnl the function func is not declared but exists in libc.
+dnl
+dnl This macro sets two variables:
+dnl - gl_cv_onwards_func_<func> to yes / no / "future OS version"
+dnl - ac_cv_func_<func> to yes / no / no
+dnl The first variable allows to distinguish all three cases.
+dnl The second variable is set, so that an invocation
+dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
+dnl can be used as a drop-in replacement for
+dnl AC_CHECK_FUNCS([func]).
+AC_DEFUN([gl_CHECK_FUNCS_ANDROID],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_CACHE_CHECK([for [$1]],
+ [[gl_cv_onwards_func_][$1]],
+ [gl_SILENT([
+ case "$host_os" in
+ gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2])
+ gl_CHECK_FUNCS_DEFAULT_CASE([$1])
+ esac
+ ])
+ ])
+ gl_CHECK_FUNCS_SET_RESULTS([$1])
+])
+
+dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]])
+dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
+dnl on macOS.
+dnl
+dnl When code is compiled on macOS, it is in the context of a certain minimum
+dnl macOS version, that can be set through the option '-mmacosx-version-min='.
+dnl In other words, you don't compile for a specific version of macOS. You
+dnl compile for all versions of macOS, onwards from the given version.
+dnl Thus, the question "does the OS have the function func" has three possible
+dnl answers:
+dnl - yes, in all versions starting from the given version,
+dnl - no, in no version,
+dnl - not in the given version, but in a later version of macOS.
+dnl
+dnl In detail, this works as follows:
+dnl If func was added to, say, macOS version 13, then the libc has the
+dnl symbol func always, whereas the header file <foo.h> declares func
+dnl conditionally with a special availability attribute:
+dnl ... func (...) __attribute__((availability(macos,introduced=13.0)));
+dnl Thus, when compiling with "clang mmacosx-version-min=13", there is no
+dnl warning about the use of func, and the resulting binary
+dnl - runs fine on macOS 13,
+dnl - aborts with a dyld "Symbol not found" message on macOS 12.
+dnl Whereas, when compiling with "clang mmacosx-version-min=12", there is a
+dnl warning: 'func' is only available on macOS 13.0 or newer
+dnl [-Wunguarded-availability-new],
+dnl and the resulting binary
+dnl - runs fine on macOS 13,
+dnl - crashes with a SIGSEGV (signal 11) on macOS 12.
+dnl
+dnl This macro sets two variables:
+dnl - gl_cv_onwards_func_<func> to yes / no / "future OS version"
+dnl - ac_cv_func_<func> to yes / no / no
+dnl The first variable allows to distinguish all three cases.
+dnl The second variable is set, so that an invocation
+dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]])
+dnl can be used as a drop-in replacement for
+dnl AC_CHECK_FUNCS([func]).
+AC_DEFUN([gl_CHECK_FUNCS_MACOS],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS])
+ AC_CACHE_CHECK([for [$1]],
+ [[gl_cv_onwards_func_][$1]],
+ [gl_SILENT([
+ case "$host_os" in
+ gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2])
+ gl_CHECK_FUNCS_DEFAULT_CASE([$1])
+ esac
+ ])
+ ])
+ gl_CHECK_FUNCS_SET_RESULTS([$1])
+])
+
+dnl gl_CHECK_FUNCS_ANDROID_MACOS([func], [[#include <foo.h>]])
+dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
+dnl on Android and on macOS.
+dnl It is the combination of gl_CHECK_FUNCS_ANDROID and gl_CHECK_FUNCS_MACOS.
+AC_DEFUN([gl_CHECK_FUNCS_ANDROID_MACOS],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS])
+ AC_CACHE_CHECK([for [$1]],
+ [[gl_cv_onwards_func_][$1]],
+ [gl_SILENT([
+ case "$host_os" in
+ gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2])
+ gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2])
+ gl_CHECK_FUNCS_DEFAULT_CASE([$1])
+ esac
+ ])
+ ])
+ gl_CHECK_FUNCS_SET_RESULTS([$1])
+])
+
dnl Expands to some code for use in .c programs that, on native Windows, defines
dnl the Microsoft deprecated alias function names to the underscore-prefixed
dnl actual function names. With this macro, these function names are available
diff --git a/gnulib-m4/gnulib-comp.m4 b/gnulib-m4/gnulib-comp.m4
index 7bad3983..4947d6c0 100644
--- a/gnulib-m4/gnulib-comp.m4
+++ b/gnulib-m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -45,6 +45,8 @@ AC_DEFUN([gl_EARLY],
# Code from module absolute-header:
# Code from module accept:
# Code from module accept-tests:
+ # Code from module alignasof:
+ # Code from module alignasof-tests:
# Code from module alloca:
# Code from module alloca-opt:
# Code from module alloca-opt-tests:
@@ -61,6 +63,8 @@ AC_DEFUN([gl_EARLY],
# Code from module binary-io-tests:
# Code from module bind:
# Code from module bind-tests:
+ # Code from module btoc32:
+ # Code from module btoc32-tests:
# Code from module btowc:
# Code from module btowc-tests:
# Code from module builtin-expect:
@@ -69,6 +73,37 @@ AC_DEFUN([gl_EARLY],
# Code from module c-strcase:
# Code from module c-strcase-tests:
# Code from module c-strcaseeq:
+ # Code from module c32isalnum:
+ # Code from module c32isalnum-tests:
+ # Code from module c32isalpha:
+ # Code from module c32isalpha-tests:
+ # Code from module c32isblank:
+ # Code from module c32isblank-tests:
+ # Code from module c32iscntrl:
+ # Code from module c32iscntrl-tests:
+ # Code from module c32isdigit:
+ # Code from module c32isdigit-tests:
+ # Code from module c32isgraph:
+ # Code from module c32isgraph-tests:
+ # Code from module c32islower:
+ # Code from module c32islower-tests:
+ # Code from module c32isprint:
+ # Code from module c32isprint-tests:
+ # Code from module c32ispunct:
+ # Code from module c32ispunct-tests:
+ # Code from module c32isspace:
+ # Code from module c32isspace-tests:
+ # Code from module c32isupper:
+ # Code from module c32isupper-tests:
+ # Code from module c32isxdigit:
+ # Code from module c32isxdigit-tests:
+ # Code from module c32rtomb:
+ # Code from module c32rtomb-tests:
+ # Code from module c32tob:
+ # Code from module c32tolower:
+ # Code from module c32tolower-tests:
+ # Code from module c32width:
+ # Code from module c32width-tests:
# Code from module c99:
# Code from module calloc-gnu:
# Code from module calloc-gnu-tests:
@@ -89,6 +124,8 @@ AC_DEFUN([gl_EARLY],
# Code from module errno:
# Code from module errno-tests:
# Code from module error:
+ # Code from module error-h:
+ # Code from module error-tests:
# Code from module exitfail:
# Code from module extensions:
# Code from module extern-inline:
@@ -133,6 +170,7 @@ AC_DEFUN([gl_EARLY],
# Code from module gettext-h:
# Code from module gettimeofday:
# Code from module gettimeofday-tests:
+ # Code from module gitlog-to-changelog:
# Code from module gperf:
# Code from module hard-locale:
# Code from module hard-locale-tests:
@@ -169,13 +207,16 @@ AC_DEFUN([gl_EARLY],
# Code from module iswblank-tests:
# Code from module iswdigit:
# Code from module iswdigit-tests:
+ # Code from module iswpunct:
+ # Code from module iswpunct-tests:
# Code from module iswxdigit:
# Code from module iswxdigit-tests:
# Code from module langinfo:
# Code from module langinfo-tests:
# Code from module largefile:
- AC_REQUIRE([gl_YEAR2038_EARLY])
AC_REQUIRE([AC_SYS_LARGEFILE])
+ # Code from module largefile-tests:
+ # Code from module libc-config:
# Code from module limits-h:
# Code from module limits-h-tests:
# Code from module listen:
@@ -186,6 +227,8 @@ AC_DEFUN([gl_EARLY],
# Code from module locale-tests:
# Code from module localename:
# Code from module localename-tests:
+ # Code from module localename-unsafe:
+ # Code from module localename-unsafe-limited:
# Code from module lock:
# Code from module lock-tests:
# Code from module lstat:
@@ -198,12 +241,15 @@ AC_DEFUN([gl_EARLY],
# Code from module math:
# Code from module math-tests:
# Code from module mbchar:
- # Code from module mbiter:
+ # Code from module mbiterf:
+ # Code from module mbrtoc32:
+ # Code from module mbrtoc32-tests:
# Code from module mbrtowc:
# Code from module mbrtowc-tests:
# Code from module mbsinit:
# Code from module mbsinit-tests:
# Code from module mbsnlen:
+ # Code from module mbszero:
# Code from module mbtowc:
# Code from module memchr:
# Code from module memchr-tests:
@@ -212,6 +258,7 @@ AC_DEFUN([gl_EARLY],
# Code from module msvc-inval:
# Code from module msvc-nothrow:
# Code from module multiarch:
+ # Code from module nan:
# Code from module nanosleep:
# Code from module nanosleep-tests:
# Code from module netinet_in:
@@ -242,6 +289,10 @@ AC_DEFUN([gl_EARLY],
# Code from module putenv:
# Code from module raise:
# Code from module raise-tests:
+ # Code from module random:
+ # Code from module random-tests:
+ # Code from module random_r:
+ # Code from module random_r-tests:
# Code from module realloc-gnu:
# Code from module realloc-gnu-tests:
# Code from module realloc-posix:
@@ -259,6 +310,8 @@ AC_DEFUN([gl_EARLY],
# Code from module setlocale:
# Code from module setlocale-null:
# Code from module setlocale-null-tests:
+ # Code from module setlocale-null-unlocked:
+ # Code from module setlocale-null-unlocked-tests:
# Code from module setlocale-tests:
# Code from module setsockopt:
# Code from module setsockopt-tests:
@@ -266,11 +319,14 @@ AC_DEFUN([gl_EARLY],
# Code from module signal-h-tests:
# Code from module signbit:
# Code from module signbit-tests:
+ # Code from module signed-nan:
+ # Code from module signed-snan:
# Code from module sigprocmask:
# Code from module sigprocmask-tests:
# Code from module size_max:
# Code from module sleep:
# Code from module sleep-tests:
+ # Code from module snan:
# Code from module snippet/_Noreturn:
# Code from module snippet/arg-nonnull:
# Code from module snippet/c++defs:
@@ -286,8 +342,6 @@ AC_DEFUN([gl_EARLY],
# Code from module stat-time:
# Code from module stat-time-tests:
# Code from module std-gnu11:
- # Code from module stdalign:
- # Code from module stdalign-tests:
# Code from module stdbool:
# Code from module stdbool-tests:
# Code from module stdckdint:
@@ -297,6 +351,7 @@ AC_DEFUN([gl_EARLY],
# Code from module stdint:
# Code from module stdint-tests:
# Code from module stdio:
+ gl_STDIO_H_EARLY
# Code from module stdio-tests:
# Code from module stdlib:
# Code from module stdlib-tests:
@@ -341,7 +396,11 @@ AC_DEFUN([gl_EARLY],
# Code from module threadlib:
gl_THREADLIB_EARLY
# Code from module time:
+ # Code from module time-h:
+ # Code from module time-h-tests:
# Code from module time-tests:
+ # Code from module uchar:
+ # Code from module uchar-tests:
# Code from module unicase/base:
# Code from module unicase/cased:
# Code from module unicase/cased-tests:
@@ -640,6 +699,13 @@ AC_DEFUN([gl_EARLY],
# Code from module unictype/decimal-digit-tests:
# Code from module unictype/digit:
# Code from module unictype/digit-tests:
+ # Code from module unictype/incb-all:
+ # Code from module unictype/incb-byname:
+ # Code from module unictype/incb-byname-tests:
+ # Code from module unictype/incb-name:
+ # Code from module unictype/incb-name-tests:
+ # Code from module unictype/incb-of:
+ # Code from module unictype/incb-of-tests:
# Code from module unictype/joininggroup-all:
# Code from module unictype/joininggroup-byname:
# Code from module unictype/joininggroup-byname-tests:
@@ -757,6 +823,10 @@ AC_DEFUN([gl_EARLY],
# Code from module unictype/property-hex-digit-tests:
# Code from module unictype/property-hyphen:
# Code from module unictype/property-hyphen-tests:
+ # Code from module unictype/property-id-compat-math-continue:
+ # Code from module unictype/property-id-compat-math-continue-tests:
+ # Code from module unictype/property-id-compat-math-start:
+ # Code from module unictype/property-id-compat-math-start-tests:
# Code from module unictype/property-id-continue:
# Code from module unictype/property-id-continue-tests:
# Code from module unictype/property-id-start:
@@ -767,6 +837,8 @@ AC_DEFUN([gl_EARLY],
# Code from module unictype/property-ids-binary-operator-tests:
# Code from module unictype/property-ids-trinary-operator:
# Code from module unictype/property-ids-trinary-operator-tests:
+ # Code from module unictype/property-ids-unary-operator:
+ # Code from module unictype/property-ids-unary-operator-tests:
# Code from module unictype/property-ignorable-control:
# Code from module unictype/property-ignorable-control-tests:
# Code from module unictype/property-iso-control:
@@ -813,6 +885,8 @@ AC_DEFUN([gl_EARLY],
# Code from module unictype/property-pattern-syntax-tests:
# Code from module unictype/property-pattern-white-space:
# Code from module unictype/property-pattern-white-space-tests:
+ # Code from module unictype/property-prepended-concatenation-mark:
+ # Code from module unictype/property-prepended-concatenation-mark-tests:
# Code from module unictype/property-private-use:
# Code from module unictype/property-private-use-tests:
# Code from module unictype/property-punctuation:
@@ -908,6 +982,9 @@ AC_DEFUN([gl_EARLY],
# Code from module unilbrk/ulc-possible-linebreaks-tests:
# Code from module unilbrk/ulc-width-linebreaks:
# Code from module unilbrk/ulc-width-linebreaks-tests:
+ # Code from module unimetadata/base:
+ # Code from module unimetadata/u-version:
+ # Code from module unimetadata/u-version-tests:
# Code from module uniname/base:
# Code from module uniname/uniname:
# Code from module uniname/uniname-tests:
@@ -1066,6 +1143,8 @@ AC_DEFUN([gl_EARLY],
# Code from module unistr/u16-move-tests:
# Code from module unistr/u16-next:
# Code from module unistr/u16-next-tests:
+ # Code from module unistr/u16-pcpy:
+ # Code from module unistr/u16-pcpy-tests:
# Code from module unistr/u16-prev:
# Code from module unistr/u16-prev-tests:
# Code from module unistr/u16-set:
@@ -1142,6 +1221,8 @@ AC_DEFUN([gl_EARLY],
# Code from module unistr/u32-move-tests:
# Code from module unistr/u32-next:
# Code from module unistr/u32-next-tests:
+ # Code from module unistr/u32-pcpy:
+ # Code from module unistr/u32-pcpy-tests:
# Code from module unistr/u32-prev:
# Code from module unistr/u32-prev-tests:
# Code from module unistr/u32-set:
@@ -1218,6 +1299,8 @@ AC_DEFUN([gl_EARLY],
# Code from module unistr/u8-move-tests:
# Code from module unistr/u8-next:
# Code from module unistr/u8-next-tests:
+ # Code from module unistr/u8-pcpy:
+ # Code from module unistr/u8-pcpy-tests:
# Code from module unistr/u8-prev:
# Code from module unistr/u8-prev-tests:
# Code from module unistr/u8-set:
@@ -1351,6 +1434,90 @@ AC_DEFUN([gl_INIT],
gl_CONDITIONAL_HEADER([assert.h])
AC_PROG_MKDIR_P
gl___BUILTIN_EXPECT
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isalnum])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isalpha])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isblank])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32iscntrl])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isdigit])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isgraph])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32islower])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isprint])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32ispunct])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isspace])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isupper])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32isxdigit])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32tolower])
+ AC_REQUIRE([gl_UCHAR_H])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how mbrtoc32 is implemented.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32width])
gl_HEADER_ERRNO_H
gl_CONDITIONAL_HEADER([errno.h])
AC_PROG_MKDIR_P
@@ -1380,7 +1547,10 @@ AC_DEFUN([gl_INIT],
gl_FUNC_FSETERR
gl_CONDITIONAL([GL_COND_OBJ_FSETERR], [test $ac_cv_func___fseterr = no])
AC_REQUIRE([gl_FUNC_SETLOCALE_NULL])
- LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL"
+ HARD_LOCALE_LIB="$SETLOCALE_NULL_LIB"
+ AC_SUBST([HARD_LOCALE_LIB])
+ dnl For backward compatibility.
+ LIB_HARD_LOCALE="$HARD_LOCALE_LIB"
AC_SUBST([LIB_HARD_LOCALE])
AC_DEFUN([gl_HAVE_MODULE_HAVELIB])
AM_ICONV
@@ -1422,6 +1592,10 @@ AC_DEFUN([gl_INIT],
gl_CONDITIONAL([GL_COND_OBJ_ISWDIGIT],
[! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWDIGIT = 1])
gl_WCTYPE_MODULE_INDICATOR([iswdigit])
+ gl_FUNC_ISWPUNCT
+ gl_CONDITIONAL([GL_COND_OBJ_ISWPUNCT],
+ [! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWPUNCT = 1])
+ gl_WCTYPE_MODULE_INDICATOR([iswpunct])
gl_FUNC_ISWXDIGIT
gl_CONDITIONAL([GL_COND_OBJ_ISWXDIGIT],
[! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWXDIGIT = 1])
@@ -1439,8 +1613,13 @@ AC_DEFUN([gl_INIT],
gl_LOCALE_H
gl_LOCALE_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
- gl_LOCALENAME
- gl_LOCALE_MODULE_INDICATOR([localename])
+ gl_LOCALENAME_UNSAFE
+ gl_LOCALE_MODULE_INDICATOR([localename-unsafe])
+ gl_MUSL_LIBC
+ gl_LOCALENAME_UNSAFE_LIMITED
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ gl_CONDITIONAL([GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED],
+ [case "$host_os" in netbsd* | solaris*) true;; *) false;; esac])
gl_LOCK
gl_MODULE_INDICATOR([lock])
AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
@@ -1454,6 +1633,18 @@ AC_DEFUN([gl_INIT],
AC_PROG_MKDIR_P
gl_MBCHAR
gl_MBITER
+ gl_FUNC_MBRTOC32
+ gl_CONDITIONAL([GL_COND_OBJ_MBRTOC32],
+ [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1])
+ AM_COND_IF([GL_COND_OBJ_MBRTOC32], [
+ if test $REPLACE_MBSTATE_T = 1; then
+ AC_LIBOBJ([lc-charset-dispatch])
+ AC_LIBOBJ([mbtowc-lock])
+ gl_PREREQ_MBTOWC_LOCK
+ fi
+ gl_PREREQ_MBRTOC32
+ ])
+ gl_UCHAR_MODULE_INDICATOR([mbrtoc32])
gl_FUNC_MBRTOWC
gl_CONDITIONAL([GL_COND_OBJ_MBRTOWC],
[test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1])
@@ -1474,6 +1665,10 @@ AC_DEFUN([gl_INIT],
])
gl_WCHAR_MODULE_INDICATOR([mbsinit])
gl_STRING_MODULE_INDICATOR([mbsnlen])
+ AC_REQUIRE([AC_TYPE_MBSTATE_T])
+ gl_MBSTATE_T_BROKEN
+ gl_MUSL_LIBC
+ gl_WCHAR_MODULE_INDICATOR([mbszero])
gl_FUNC_MEMCHR
gl_CONDITIONAL([GL_COND_OBJ_MEMCHR], [test $REPLACE_MEMCHR = 1])
AM_COND_IF([GL_COND_OBJ_MEMCHR], [
@@ -1549,11 +1744,18 @@ AC_DEFUN([gl_INIT],
AC_PROG_MKDIR_P
AC_CHECK_HEADERS([sys/single_threaded.h])
AC_REQUIRE([gl_THREADLIB])
- gl_LIBUNISTRING_LIBHEADER([0.9.11], [unicase.h])
+ gl_UCHAR_H
+ gl_UCHAR_H_REQUIRE_DEFAULTS
+ AC_PROG_MKDIR_P
+ gl_LIBUNISTRING_LIBHEADER([1.2], [unicase.h])
+ gl_UNICASE_H
+ gl_UNICASE_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unicase/empty-prefix-context])
- gl_LIBUNISTRING_MODULE([0.9.11], [unicase/empty-suffix-context])
+ gl_UNICASE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unicase/empty-prefix-context])
+ gl_UNICASE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unicase/empty-suffix-context])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.3], [unicase/locale-language])
AC_PROG_MKDIR_P
@@ -1566,17 +1768,17 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-casexfrm])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-ct-casefold])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-ct-tolower])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-ct-totitle])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u16-ct-totitle])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-ct-toupper])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-is-cased])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u16-is-cased])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-is-casefolded])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-is-lowercase])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-is-titlecase])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u16-is-titlecase])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-is-uppercase])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-prefix-context])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-suffix-context])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-tolower])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-totitle])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u16-totitle])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u16-toupper])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-casecmp])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-casecoll])
@@ -1584,17 +1786,17 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-casexfrm])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-ct-casefold])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-ct-tolower])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-ct-totitle])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u32-ct-totitle])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-ct-toupper])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-is-cased])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u32-is-cased])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-is-casefolded])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-is-lowercase])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-is-titlecase])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u32-is-titlecase])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-is-uppercase])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-prefix-context])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-suffix-context])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-tolower])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-totitle])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u32-totitle])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u32-toupper])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-casecmp])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-casecoll])
@@ -1602,17 +1804,17 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-casexfrm])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-ct-casefold])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-ct-tolower])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-ct-totitle])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u8-ct-totitle])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-ct-toupper])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-is-cased])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u8-is-cased])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-is-casefolded])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-is-lowercase])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-is-titlecase])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u8-is-titlecase])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-is-uppercase])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-prefix-context])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-suffix-context])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-tolower])
- gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-totitle])
+ gl_LIBUNISTRING_MODULE([1.2], [unicase/u8-totitle])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-toupper])
gl_LIBUNISTRING_MODULE([1.1], [unicase/ulc-casecmp])
gl_LIBUNISTRING_MODULE([1.1], [unicase/ulc-casecoll])
@@ -1640,62 +1842,103 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-from-locale])
gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-to-enc])
gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-to-locale])
- gl_LIBUNISTRING_LIBHEADER([0.9.11], [unictype.h])
+ gl_LIBUNISTRING_LIBHEADER([1.2], [unictype.h])
+ gl_UNICTYPE_H
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/bidiclass-byname])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/bidiclass-longname])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/bidiclass-name])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/bidiclass-of])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/bidiclass-test])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/block-list])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/bidiclass-of])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/bidiclass-test])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/block-list])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/block-test])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-C])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cc])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Cf])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Cn])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Co])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cs])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-L])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-LC])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Ll])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Lm])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Lo])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lt])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/category-Lu])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-M])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Mc])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Me])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Mn])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-N])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Nd])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Nl])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-No])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-P])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pc])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/category-Pd])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/category-Pe])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pf])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pi])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-Po])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/category-Ps])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-S])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/category-Sc])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/category-Sk])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sm])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-So])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Z])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zl])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zp])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zs])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-and])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-and-not])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-byname])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-C])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Cc])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Cf])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-Cn])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Co])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Cs])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-L])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-LC])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Ll])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Lm])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-Lo])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Lt])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/category-Lu])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-M])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Mc])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Me])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Mn])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-N])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Nd])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Nl])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-No])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-P])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Pc])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/category-Pd])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/category-Pe])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Pf])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Pi])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-Po])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/category-Ps])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-S])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/category-Sc])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/category-Sk])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Sm])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-So])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Z])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Zl])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Zp])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/category-Zs])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/category-and])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/category-and-not])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/category-byname])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-longname])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-name])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-none])
+ dnl Since _UC_CATEGORY_NONE is not exported from an installed libunistring,
+ dnl don't use gl_LIBUNISTRING_MODULE here.
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-of])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/category-or])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/category-of])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/category-or])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-test])
gl_LIBUNISTRING_MODULE([1.1], [unictype/combining-class])
@@ -1703,9 +1946,9 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/combining-class-longname])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/combining-class-name])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/ctype-alnum])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/ctype-alnum])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/ctype-alpha])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/ctype-alpha])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/ctype-blank])
AC_REQUIRE([AC_C_INLINE])
@@ -1713,13 +1956,13 @@ AC_DEFUN([gl_INIT],
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/ctype-digit])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/ctype-graph])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/ctype-graph])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/ctype-lower])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/ctype-print])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/ctype-print])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/ctype-punct])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/ctype-punct])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/ctype-space])
AC_REQUIRE([AC_C_INLINE])
@@ -1728,251 +1971,367 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/ctype-xdigit])
gl_LIBUNISTRING_MODULE([1.1], [unictype/decimal-digit])
gl_LIBUNISTRING_MODULE([1.1], [unictype/digit])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/incb-byname])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/incb-name])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/incb-of])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/joininggroup-byname])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/joininggroup-name])
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/joininggroup-of])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/joiningtype-byname])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/joiningtype-longname])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/joiningtype-name])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/joiningtype-of])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/mirror])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/joiningtype-of])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/mirror])
gl_LIBUNISTRING_MODULE([1.1], [unictype/numeric])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-alphabetic])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-alphabetic])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-ascii-hex-digit])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-arabic-digit])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ascii-hex-digit])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-arabic-right-to-left])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-arabic-digit])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-block-separator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-arabic-right-to-left])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-boundary-neutral])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-block-separator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-common-separator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-boundary-neutral])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-control])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-common-separator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-embedding-or-override])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-control])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-eur-num-separator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-embedding-or-override])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-eur-num-terminator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-eur-num-separator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-european-digit])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-eur-num-terminator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-hebrew-right-to-left])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-european-digit])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-left-to-right])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-hebrew-right-to-left])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-non-spacing-mark])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-left-to-right])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-other-neutral])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-non-spacing-mark])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-pdf])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-other-neutral])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-segment-separator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-pdf])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-bidi-whitespace])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/property-byname])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-segment-separator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-case-ignorable])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-bidi-whitespace])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-byname])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-cased])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-case-ignorable])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-changes-when-casefolded])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-cased])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-changes-when-casemapped])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-changes-when-casefolded])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-changes-when-lowercased])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-changes-when-casemapped])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-changes-when-titlecased])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-changes-when-lowercased])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-changes-when-uppercased])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-changes-when-titlecased])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-combining])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-changes-when-uppercased])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-composite])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-combining])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-currency-symbol])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-composite])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-dash])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-currency-symbol])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-decimal-digit])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-dash])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-default-ignorable-code-point])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-decimal-digit])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-deprecated])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-default-ignorable-code-point])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-diacritic])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-deprecated])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-emoji])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-diacritic])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-emoji-component])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-emoji])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-emoji-modifier])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji-component])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-emoji-modifier-base])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-emoji-modifier])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-emoji-presentation])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-emoji-modifier-base])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-extended-pictographic])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-emoji-presentation])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-extender])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-extended-pictographic])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-format-control])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-extender])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-grapheme-base])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-format-control])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-grapheme-extend])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-grapheme-base])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-grapheme-link])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-grapheme-extend])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-hex-digit])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-grapheme-link])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-hyphen])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-hex-digit])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-id-compat-math-continue])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-hyphen])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-id-compat-math-start])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-id-continue])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-id-continue])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-id-start])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-id-start])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-ideographic])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-ideographic])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ids-binary-operator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-ids-binary-operator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ids-trinary-operator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-ids-trinary-operator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-ignorable-control])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-ids-unary-operator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-iso-control])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-ignorable-control])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-join-control])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-iso-control])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-left-of-pair])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-join-control])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-line-separator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-left-of-pair])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-logical-order-exception])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-line-separator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-lowercase])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-logical-order-exception])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-math])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-lowercase])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-non-break])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-math])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-not-a-character])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-non-break])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-numeric])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-not-a-character])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-other-alphabetic])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-numeric])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-default-ignorable-code-point])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-other-alphabetic])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-other-grapheme-extend])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-other-default-ignorable-code-point])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-id-continue])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-other-grapheme-extend])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-id-start])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-other-id-continue])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-other-lowercase])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-other-id-start])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-math])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-other-lowercase])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-uppercase])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-other-math])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-paired-punctuation])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-other-uppercase])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-paragraph-separator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-paired-punctuation])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-pattern-syntax])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-paragraph-separator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-pattern-white-space])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-pattern-syntax])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-private-use])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-pattern-white-space])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-punctuation])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-prepended-concatenation-mark])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-quotation-mark])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-private-use])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-radical])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-punctuation])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-regional-indicator])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-quotation-mark])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-sentence-terminal])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-radical])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-soft-dotted])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-regional-indicator])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-space])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-sentence-terminal])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-terminal-punctuation])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-soft-dotted])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-space])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-terminal-punctuation])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-test])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-titlecase])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-titlecase])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-unassigned-code-value])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-unassigned-code-value])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-unified-ideograph])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-unified-ideograph])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-uppercase])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-uppercase])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.11], [unictype/property-variation-selector])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.11], [unictype/property-variation-selector])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-white-space])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8], [unictype/property-white-space])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-xid-continue])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-xid-continue])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-xid-start])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-xid-start])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/property-zero-width])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/scripts])
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-zero-width])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/scripts])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/syntax-c-ident])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/syntax-c-whitespace])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unictype/syntax-java-ident])
+ gl_LIBUNISTRING_MODULE([1.2], [unictype/syntax-java-ident])
gl_LIBUNISTRING_MODULE([0.9.8], [unictype/syntax-java-whitespace])
- gl_LIBUNISTRING_LIBHEADER([0.9.11], [unigbrk.h])
+ gl_LIBUNISTRING_LIBHEADER([1.2], [unigbrk.h])
AC_PROG_MKDIR_P
gl_MODULE_INDICATOR([unigbrk/u16-grapheme-breaks])
- gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u16-grapheme-breaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unigbrk/u16-grapheme-breaks])
gl_MODULE_INDICATOR([unigbrk/u16-grapheme-next])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u16-grapheme-next])
gl_MODULE_INDICATOR([unigbrk/u16-grapheme-prev])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u16-grapheme-prev])
gl_MODULE_INDICATOR([unigbrk/u32-grapheme-breaks])
- gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u32-grapheme-breaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unigbrk/u32-grapheme-breaks])
gl_MODULE_INDICATOR([unigbrk/u32-grapheme-next])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u32-grapheme-next])
gl_MODULE_INDICATOR([unigbrk/u32-grapheme-prev])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u32-grapheme-prev])
gl_MODULE_INDICATOR([unigbrk/u8-grapheme-breaks])
- gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u8-grapheme-breaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unigbrk/u8-grapheme-breaks])
gl_MODULE_INDICATOR([unigbrk/u8-grapheme-next])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u8-grapheme-next])
gl_MODULE_INDICATOR([unigbrk/u8-grapheme-prev])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/u8-grapheme-prev])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/uc-gbrk-prop])
gl_MODULE_INDICATOR([unigbrk/uc-grapheme-breaks])
- gl_LIBUNISTRING_MODULE([1.1], [unigbrk/uc-grapheme-breaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unigbrk/uc-grapheme-breaks])
gl_LIBUNISTRING_MODULE([1.1], [unigbrk/uc-is-grapheme-break])
gl_MODULE_INDICATOR([unigbrk/ulc-grapheme-breaks])
- gl_LIBUNISTRING_MODULE([1.1], [unigbrk/ulc-grapheme-breaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unigbrk/ulc-grapheme-breaks])
gl_LIBUNISTRING_LIBHEADER([0.9.11], [unilbrk.h])
AC_PROG_MKDIR_P
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/u16-possible-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/u16-width-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/u32-possible-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/u32-width-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/u8-possible-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/u8-width-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/ulc-possible-linebreaks])
- gl_LIBUNISTRING_MODULE([1.1], [unilbrk/ulc-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/u16-possible-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/u16-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/u32-possible-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/u32-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/u8-possible-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/u8-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/ulc-possible-linebreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [unilbrk/ulc-width-linebreaks])
+ gl_LIBUNISTRING_LIBHEADER([1.2], [unimetadata.h])
+ gl_UNIMETADATA_H
+ gl_UNIMETADATA_H_REQUIRE_DEFAULTS
+ AC_PROG_MKDIR_P
+ gl_UNIMETADATA_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unimetadata/u-version])
gl_LIBUNISTRING_LIBHEADER([0.9.5], [uniname.h])
AC_PROG_MKDIR_P
- gl_LIBUNISTRING_MODULE([1.1], [uniname/uniname])
- gl_LIBUNISTRING_LIBHEADER([0.9.11], [uninorm.h])
+ gl_LIBUNISTRING_MODULE([1.2], [uniname/uniname])
+ gl_LIBUNISTRING_LIBHEADER([1.2], [uninorm.h])
+ gl_UNINORM_H
+ gl_UNINORM_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
gl_LIBUNISTRING_MODULE([1.1], [uninorm/canonical-decomposition])
gl_LIBUNISTRING_MODULE([0.9.11], [uninorm/composition])
@@ -1980,10 +2339,14 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([1.1], [uninorm/decomposition])
AC_REQUIRE([AC_C_INLINE])
gl_LIBUNISTRING_MODULE([1.1], [uninorm/filter])
- gl_LIBUNISTRING_MODULE([1.1], [uninorm/nfc])
- gl_LIBUNISTRING_MODULE([1.1], [uninorm/nfd])
- gl_LIBUNISTRING_MODULE([1.1], [uninorm/nfkc])
- gl_LIBUNISTRING_MODULE([1.1], [uninorm/nfkd])
+ gl_UNINORM_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [uninorm/nfc])
+ gl_UNINORM_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [uninorm/nfd])
+ gl_UNINORM_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [uninorm/nfkc])
+ gl_UNINORM_H_REQUIRE_DEFAULTS
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [uninorm/nfkd])
gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u16-normalize])
gl_LIBUNISTRING_MODULE([1.1], [uninorm/u16-normalize])
gl_LIBUNISTRING_MODULE([1.1], [uninorm/u16-normcmp])
@@ -2005,76 +2368,76 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_LIBHEADER([0.9.11], [unistdio.h])
AC_PROG_MKDIR_P
gl_PREREQ_PRINTF_ARGS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-asprintf])
gl_PREREQ_PRINTF_PARSE
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-snprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-sprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-asprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-snprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-sprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vsprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vsprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-sprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-sprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-u16-vsprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u16-vsprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-asprintf])
gl_PREREQ_PRINTF_PARSE
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-snprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-sprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-asprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-snprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-sprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vsprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vsprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-sprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-sprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-u32-vsprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u32-vsprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-asprintf])
gl_PREREQ_PRINTF_PARSE
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-snprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-sprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-asprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-snprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-sprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vsprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vsprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-asnprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-asprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-fprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-sprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-sprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-u8-vsprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/u8-vsprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-asnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-asprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-fprintf])
gl_PREREQ_PRINTF_PARSE
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-snprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-sprintf])
- gl_PREREQ_VASNPRINTF_WITH_EXTRAS
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-vasnprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-vasprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-vfprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-vsnprintf])
- gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-vsprintf])
- gl_LIBUNISTRING_LIBHEADER([0.9.11], [unistr.h])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-snprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-sprintf])
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-vasnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-vasprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-vfprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-vsnprintf])
+ gl_LIBUNISTRING_MODULE([1.2], [unistdio/ulc-vsprintf])
+ gl_LIBUNISTRING_LIBHEADER([1.2], [unistr.h])
AC_PROG_MKDIR_P
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-check])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-chr])
@@ -2093,6 +2456,7 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-move])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-next])
+ gl_LIBUNISTRING_MODULE([1.2], [unistr/u16-pcpy])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-prev])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-set])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-startswith])
@@ -2138,6 +2502,7 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-move])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-next])
+ gl_LIBUNISTRING_MODULE([1.2], [unistr/u32-pcpy])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-prev])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-set])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-startswith])
@@ -2174,19 +2539,20 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-cpy-alloc])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-endswith])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mblen])
- gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbsnlen])
+ gl_LIBUNISTRING_MODULE([1.2], [unistr/u8-mbsnlen])
gl_MODULE_INDICATOR([unistr/u8-mbtouc])
- gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc])
+ gl_LIBUNISTRING_MODULE([1.2], [unistr/u8-mbtouc])
gl_MODULE_INDICATOR([unistr/u8-mbtouc-unsafe])
gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc-unsafe])
gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-move])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-next])
+ gl_LIBUNISTRING_MODULE([1.2], [unistr/u8-pcpy])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-set])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-startswith])
- AC_CHECK_FUNCS_ONCE([stpcpy])
+ gl_CHECK_FUNCS_ANDROID([stpcpy], [[#include <string.h>]])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-stpcpy])
gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-stpncpy])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strcat])
@@ -2232,20 +2598,20 @@ AC_DEFUN([gl_INIT],
])
gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniwbrk.h])
AC_PROG_MKDIR_P
- gl_LIBUNISTRING_MODULE([1.1], [uniwbrk/u16-wordbreaks])
- gl_LIBUNISTRING_MODULE([1.1], [uniwbrk/u32-wordbreaks])
- gl_LIBUNISTRING_MODULE([1.1], [uniwbrk/u8-wordbreaks])
- gl_LIBUNISTRING_MODULE([1.1], [uniwbrk/ulc-wordbreaks])
- gl_LIBUNISTRING_MODULE([1.1], [uniwbrk/wordbreak-property])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwbrk/u16-wordbreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwbrk/u32-wordbreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwbrk/u8-wordbreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwbrk/ulc-wordbreaks])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwbrk/wordbreak-property])
gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniwidth.h])
AC_PROG_MKDIR_P
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u16-strwidth])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u16-width])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u32-strwidth])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u32-width])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u8-strwidth])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u8-width])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/width])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u16-strwidth])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u16-width])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u32-strwidth])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u32-width])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u8-strwidth])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u8-width])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/width])
gl_WCHAR_H
gl_WCHAR_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
@@ -2261,16 +2627,16 @@ AC_DEFUN([gl_INIT],
gl_WCHAR_MODULE_INDICATOR([wcwidth])
AC_REQUIRE([AC_CANONICAL_HOST])
gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_MUTEX],
- [case "$host_os" in mingw*) true;; *) false;; esac])
+ [case "$host_os" in mingw* | windows*) true;; *) false;; esac])
AC_REQUIRE([AC_CANONICAL_HOST])
gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_ONCE],
- [case "$host_os" in mingw*) true;; *) false;; esac])
+ [case "$host_os" in mingw* | windows*) true;; *) false;; esac])
AC_REQUIRE([AC_CANONICAL_HOST])
gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RECMUTEX],
- [case "$host_os" in mingw*) true;; *) false;; esac])
+ [case "$host_os" in mingw* | windows*) true;; *) false;; esac])
AC_REQUIRE([AC_CANONICAL_HOST])
gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RWLOCK],
- [case "$host_os" in mingw*) true;; *) false;; esac])
+ [case "$host_os" in mingw* | windows*) true;; *) false;; esac])
gl_XSIZE
# End of code from modules
m4_ifval(gl_LIBSOURCES_LIST, [
@@ -2340,12 +2706,16 @@ changequote([, ])dnl
AC_REQUIRE([gl_SYS_SOCKET_H])
gl_CONDITIONAL([GL_COND_OBJ_ACCEPT], [test "$ac_cv_header_winsock2_h" = yes])
gl_SYS_SOCKET_MODULE_INDICATOR([accept])
+ gl_ALIGNASOF
gl_ARPA_INET_H
gl_ARPA_INET_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
AC_REQUIRE([gl_SYS_SOCKET_H])
gl_CONDITIONAL([GL_COND_OBJ_BIND], [test "$ac_cv_header_winsock2_h" = yes])
gl_SYS_SOCKET_MODULE_INDICATOR([bind])
+ gl_UCHAR_MODULE_INDICATOR([btoc32])
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
gl_FUNC_BTOWC
gl_CONDITIONAL([GL_COND_OBJ_BTOWC],
[test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1])
@@ -2357,6 +2727,73 @@ changequote([, ])dnl
gt_LOCALE_FR_UTF8
gt_LOCALE_FR
gt_LOCALE_TR_UTF8
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gl_MUSL_LIBC
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gl_MUSL_LIBC
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gl_MUSL_LIBC
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gl_MUSL_LIBC
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gl_MUSL_LIBC
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ gl_FUNC_C32RTOMB
+ gl_CONDITIONAL([GL_COND_OBJ_C32RTOMB],
+ [test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1])
+ gl_UCHAR_MODULE_INDICATOR([c32rtomb])
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+ gl_UCHAR_MODULE_INDICATOR([c32tob])
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
gl_FUNC_CALLOC_GNU
if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 1; then
AC_LIBOBJ([calloc])
@@ -2386,14 +2823,17 @@ changequote([, ])dnl
gl_UNISTD_MODULE_INDICATOR([dup2])
gl_ENVIRON
gl_UNISTD_MODULE_INDICATOR([environ])
+ AC_REQUIRE([gl_ERROR_H])
gl_ERROR
- gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test "$ac_cv_lib_error_at_line" = no])
+ gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test $COMPILE_ERROR_C = 1])
AM_COND_IF([GL_COND_OBJ_ERROR], [
gl_PREREQ_ERROR
])
m4_ifdef([AM_XGETTEXT_OPTION],
[AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
+ gl_ERROR_H
+ AC_PROG_MKDIR_P
gl_FUNC_FCNTL
gl_CONDITIONAL([GL_COND_OBJ_FCNTL],
[test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1])
@@ -2411,7 +2851,7 @@ changequote([, ])dnl
gl_CONDITIONAL([GL_COND_OBJ_FSTAT], [test $REPLACE_FSTAT = 1])
AM_COND_IF([GL_COND_OBJ_FSTAT], [
case "$host_os" in
- mingw*)
+ mingw* | windows*)
AC_LIBOBJ([stat-w32])
;;
esac
@@ -2439,6 +2879,12 @@ changequote([, ])dnl
gl_CONDITIONAL([GL_COND_OBJ_GETPAGESIZE], [test $REPLACE_GETPAGESIZE = 1])
gl_UNISTD_MODULE_INDICATOR([getpagesize])
gl_FUNC_GETPROGNAME
+ gl_CONDITIONAL([GL_COND_OBJ_GETPROGNAME],
+ [test $HAVE_GETPROGNAME = 0 || test $REPLACE_GETPROGNAME = 1])
+ AM_COND_IF([GL_COND_OBJ_GETPROGNAME], [
+ gl_PREREQ_GETPROGNAME
+ ])
+ gl_STDLIB_MODULE_INDICATOR([getprogname])
AC_SUBST([LIBINTL])
AC_SUBST([LTLIBINTL])
gl_FUNC_GETTIMEOFDAY
@@ -2450,7 +2896,7 @@ changequote([, ])dnl
gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
gl_MUSL_LIBC
dnl Distinguish OpenBSD >= 6.2 from OpenBSD < 6.2.
- AC_CHECK_FUNCS_ONCE([duplocale])
+ gl_CHECK_FUNCS_ANDROID([duplocale], [[#include <locale.h>]])
gl_FUNC_INET_PTON
gl_CONDITIONAL([GL_COND_OBJ_INET_PTON],
[test $HAVE_INET_PTON = 0 || test $REPLACE_INET_PTON = 1])
@@ -2468,9 +2914,6 @@ changequote([, ])dnl
gl_CONDITIONAL([GL_COND_OBJ_ISBLANK], [test $HAVE_ISBLANK = 0])
gl_MODULE_INDICATOR([isblank])
gl_CTYPE_MODULE_INDICATOR([isblank])
- gl_DOUBLE_EXPONENT_LOCATION
- gl_FLOAT_EXPONENT_LOCATION
- gl_LONG_DOUBLE_EXPONENT_LOCATION
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
gt_LOCALE_FR
gt_LOCALE_FR_UTF8
@@ -2481,11 +2924,13 @@ changequote([, ])dnl
gt_LOCALE_JA
gt_LOCALE_ZH_CN
AC_REQUIRE([gl_LARGEFILE])
+ gl___INLINE
AC_REQUIRE([gl_SYS_SOCKET_H])
gl_CONDITIONAL([GL_COND_OBJ_LISTEN], [test "$ac_cv_header_winsock2_h" = yes])
gl_SYS_SOCKET_MODULE_INDICATOR([listen])
- AC_CHECK_FUNCS_ONCE([newlocale])
- AC_CHECK_FUNCS_ONCE([newlocale])
+ gl_CHECK_FUNCS_ANDROID([newlocale], [[#include <locale.h>]])
+ gl_CHECK_FUNCS_ANDROID([newlocale], [[#include <locale.h>]])
+ gl_MUSL_LIBC
AC_CHECK_HEADERS_ONCE([semaphore.h])
AC_CHECK_DECLS_ONCE([alarm])
AC_REQUIRE([gl_SEMAPHORE])
@@ -2504,6 +2949,10 @@ changequote([, ])dnl
gt_LOCALE_FR_UTF8
gt_LOCALE_JA
gt_LOCALE_ZH_CN
+ gt_LOCALE_FR
+ gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
+ gt_LOCALE_ZH_CN
gt_LOCALE_FR_UTF8
gl_FUNC_MBTOWC
gl_CONDITIONAL([GL_COND_OBJ_MBTOWC],
@@ -2576,6 +3025,20 @@ changequote([, ])dnl
gl_PREREQ_RAISE
])
gl_SIGNAL_MODULE_INDICATOR([raise])
+ gl_FUNC_RANDOM
+ gl_CONDITIONAL([GL_COND_OBJ_RANDOM],
+ [test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1])
+ AM_COND_IF([GL_COND_OBJ_RANDOM], [
+ gl_PREREQ_RANDOM
+ ])
+ gl_STDLIB_MODULE_INDICATOR([random])
+ gl_FUNC_RANDOM_R
+ gl_CONDITIONAL([GL_COND_OBJ_RANDOM_R],
+ [test $HAVE_RANDOM_R = 0 || test $REPLACE_RANDOM_R = 1])
+ AM_COND_IF([GL_COND_OBJ_RANDOM_R], [
+ gl_PREREQ_RANDOM_R
+ ])
+ gl_STDLIB_MODULE_INDICATOR([random_r])
gl_FUNC_REALLOC_GNU
if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then
AC_LIBOBJ([realloc])
@@ -2626,9 +3089,6 @@ changequote([, ])dnl
gl_SIGNAL_H
gl_SIGNAL_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
- AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION])
- AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
- AC_REQUIRE([gl_LONG_DOUBLE_EXPONENT_LOCATION])
gl_SIGNALBLOCKING
gl_CONDITIONAL([GL_COND_OBJ_SIGPROCMASK], [test $HAVE_POSIX_SIGNALBLOCKING = 0])
AM_COND_IF([GL_COND_OBJ_SIGPROCMASK], [
@@ -2640,6 +3100,8 @@ changequote([, ])dnl
[test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1])
gl_UNISTD_MODULE_INDICATOR([sleep])
AC_CHECK_DECLS_ONCE([alarm])
+ gl_SNAN
+ gl_NAN_MIPS
AC_REQUIRE([gl_SYS_SOCKET_H])
gl_CONDITIONAL([GL_COND_OBJ_SOCKET], [test "$ac_cv_header_winsock2_h" = yes])
# When this module is used, sockets may actually occur as file descriptors,
@@ -2659,7 +3121,7 @@ changequote([, ])dnl
gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1])
AM_COND_IF([GL_COND_OBJ_STAT], [
case "$host_os" in
- mingw*)
+ mingw* | windows*)
AC_LIBOBJ([stat-w32])
;;
esac
@@ -2668,9 +3130,6 @@ changequote([, ])dnl
gl_SYS_STAT_MODULE_INDICATOR([stat])
gl_STAT_TIME
gl_STAT_BIRTHTIME
- gl_STDALIGN_H
- gl_CONDITIONAL_HEADER([stdalign.h])
- AC_PROG_MKDIR_P
AC_REQUIRE([gt_TYPE_WCHAR_T])
AC_REQUIRE([gt_TYPE_WINT_T])
gl_STDIO_H
@@ -2701,6 +3160,7 @@ changequote([, ])dnl
gl_STDIO_MODULE_INDICATOR([fputs])
gl_STDIO_MODULE_INDICATOR([puts])
gl_STDIO_MODULE_INDICATOR([fwrite])
+ gl_DOUBLE_EXPONENT_LOCATION
gl_FUNC_STRERROR
gl_CONDITIONAL([GL_COND_OBJ_STRERROR], [test $REPLACE_STRERROR = 1])
gl_MODULE_INDICATOR([strerror])
@@ -2718,7 +3178,7 @@ changequote([, ])dnl
gl_PREREQ_STRERROR_R
])
gl_STRING_MODULE_INDICATOR([strerror_r])
- dnl For the modules argp, error.
+ dnl For the modules argp, error, xstrerror.
gl_MODULE_INDICATOR([strerror_r-posix])
gl_FUNC_MMAP_ANON
AC_CHECK_HEADERS_ONCE([sys/mman.h])
@@ -2751,6 +3211,12 @@ changequote([, ])dnl
gl_SYS_UIO_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
gl_THREAD
+ gl_FUNC_TIME
+ gl_CONDITIONAL([GL_COND_OBJ_TIME], [test $REPLACE_TIME = 1])
+ AM_COND_IF([GL_COND_OBJ_TIME], [
+ gl_PREREQ_TIME
+ ])
+ gl_TIME_MODULE_INDICATOR([time])
gl_TIME_H
gl_TIME_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
@@ -2881,10 +3347,10 @@ changequote([, ])dnl
gl_STDLIB_MODULE_INDICATOR([wctomb])
AC_REQUIRE([AC_CANONICAL_HOST])
gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_THREAD],
- [case "$host_os" in mingw*) true;; *) false;; esac])
+ [case "$host_os" in mingw* | windows*) true;; *) false;; esac])
AC_REQUIRE([AC_CANONICAL_HOST])
gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_TLS],
- [case "$host_os" in mingw*) true;; *) false;; esac])
+ [case "$host_os" in mingw* | windows*) true;; *) false;; esac])
gl_XALLOC
gl_MODULE_INDICATOR([xalloc])
gl_MODULE_INDICATOR([xalloc-die])
@@ -2997,6 +3463,7 @@ AC_DEFUN([gltests_LIBSOURCES], [
# gnulib-tool and may be removed by future gnulib-tool invocations.
AC_DEFUN([gl_FILE_LIST], [
build-aux/config.rpath
+ build-aux/gitlog-to-changelog
doc/relocatable.texi
lib/_Noreturn.h
lib/alloca.in.h
@@ -3013,6 +3480,22 @@ AC_DEFUN([gl_FILE_LIST], [
lib/c-strcasecmp.c
lib/c-strcaseeq.h
lib/c-strncasecmp.c
+ lib/c32is-impl.h
+ lib/c32isalnum.c
+ lib/c32isalpha.c
+ lib/c32isblank.c
+ lib/c32iscntrl.c
+ lib/c32isdigit.c
+ lib/c32isgraph.c
+ lib/c32islower.c
+ lib/c32isprint.c
+ lib/c32ispunct.c
+ lib/c32isspace.c
+ lib/c32isupper.c
+ lib/c32isxdigit.c
+ lib/c32to-impl.h
+ lib/c32tolower.c
+ lib/c32width.c
lib/errno.in.h
lib/flexmember.h
lib/float+.h
@@ -3052,6 +3535,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/isnanl.c
lib/iswblank.c
lib/iswdigit.c
+ lib/iswpunct.c
lib/iswxdigit.c
lib/itold.c
lib/langinfo.in.h
@@ -3063,6 +3547,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/locale.in.h
lib/localename-table.c
lib/localename-table.h
+ lib/localename-unsafe.c
lib/localename.c
lib/localename.h
lib/malloc.c
@@ -3072,13 +3557,15 @@ AC_DEFUN([gl_FILE_LIST], [
lib/math.in.h
lib/mbchar.c
lib/mbchar.h
- lib/mbiter.c
- lib/mbiter.h
+ lib/mbiterf.c
+ lib/mbiterf.h
+ lib/mbrtoc32.c
lib/mbrtowc-impl-utf8.h
lib/mbrtowc-impl.h
lib/mbrtowc.c
lib/mbsinit.c
lib/mbsnlen.c
+ lib/mbszero.c
lib/mbtowc-lock.c
lib/mbtowc-lock.h
lib/memchr.c
@@ -3098,6 +3585,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/relocatable.h
lib/relocatable.valgrind
lib/setlocale-lock.c
+ lib/setlocale_null-unlocked.c
lib/setlocale_null.c
lib/setlocale_null.h
lib/signbitd.c
@@ -3109,7 +3597,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/stdint.in.h
lib/stdio-impl.h
lib/stdlib.in.h
- lib/str-kmp.h
lib/str-two-way.h
lib/streq.h
lib/striconveh.c
@@ -3119,8 +3606,10 @@ AC_DEFUN([gl_FILE_LIST], [
lib/string.in.h
lib/strncat.c
lib/strstr.c
+ lib/struniq.h
lib/sys_types.in.h
lib/thread-optim.h
+ lib/uchar.in.h
lib/unicase.in.h
lib/unicase/cased.c
lib/unicase/cased.h
@@ -3379,6 +3868,12 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unictype/digit.c
lib/unictype/digit.h
lib/unictype/identsyntaxmap.h
+ lib/unictype/incb_byname.c
+ lib/unictype/incb_byname.gperf
+ lib/unictype/incb_name.c
+ lib/unictype/incb_name.h
+ lib/unictype/incb_of.c
+ lib/unictype/incb_of.h
lib/unictype/joininggroup_byname.c
lib/unictype/joininggroup_byname.gperf
lib/unictype/joininggroup_name.c
@@ -3491,6 +3986,10 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unictype/pr_hex_digit.h
lib/unictype/pr_hyphen.c
lib/unictype/pr_hyphen.h
+ lib/unictype/pr_id_compat_math_continue.c
+ lib/unictype/pr_id_compat_math_continue.h
+ lib/unictype/pr_id_compat_math_start.c
+ lib/unictype/pr_id_compat_math_start.h
lib/unictype/pr_id_continue.c
lib/unictype/pr_id_continue.h
lib/unictype/pr_id_start.c
@@ -3501,6 +4000,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unictype/pr_ids_binary_operator.h
lib/unictype/pr_ids_trinary_operator.c
lib/unictype/pr_ids_trinary_operator.h
+ lib/unictype/pr_ids_unary_operator.c
lib/unictype/pr_ignorable_control.c
lib/unictype/pr_ignorable_control.h
lib/unictype/pr_iso_control.c
@@ -3547,6 +4047,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unictype/pr_pattern_syntax.h
lib/unictype/pr_pattern_white_space.c
lib/unictype/pr_pattern_white_space.h
+ lib/unictype/pr_prepended_concatenation_mark.c
+ lib/unictype/pr_prepended_concatenation_mark.h
lib/unictype/pr_private_use.c
lib/unictype/pr_private_use.h
lib/unictype/pr_punctuation.c
@@ -3624,6 +4126,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unilbrk/ulc-common.h
lib/unilbrk/ulc-possible-linebreaks.c
lib/unilbrk/ulc-width-linebreaks.c
+ lib/unimetadata.in.h
+ lib/unimetadata/u-version.c
lib/uniname.in.h
lib/uniname/gen-uninames.lisp
lib/uniname/uniname.c
@@ -3744,6 +4248,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistr/u-cpy.h
lib/unistr/u-endswith.h
lib/unistr/u-move.h
+ lib/unistr/u-pcpy.h
lib/unistr/u-set.h
lib/unistr/u-startswith.h
lib/unistr/u-stpcpy.h
@@ -3759,7 +4264,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistr/u-strnlen.h
lib/unistr/u-strpbrk.h
lib/unistr/u-strspn.h
- lib/unistr/u-strstr.h
lib/unistr/u-strtok.h
lib/unistr/u16-check.c
lib/unistr/u16-chr.c
@@ -3777,6 +4281,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistr/u16-mbtoucr.c
lib/unistr/u16-move.c
lib/unistr/u16-next.c
+ lib/unistr/u16-pcpy.c
lib/unistr/u16-prev.c
lib/unistr/u16-set.c
lib/unistr/u16-startswith.c
@@ -3819,6 +4324,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistr/u32-mbtoucr.c
lib/unistr/u32-move.c
lib/unistr/u32-next.c
+ lib/unistr/u32-pcpy.c
lib/unistr/u32-prev.c
lib/unistr/u32-set.c
lib/unistr/u32-startswith.c
@@ -3862,6 +4368,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistr/u8-mbtoucr.c
lib/unistr/u8-move.c
lib/unistr/u8-next.c
+ lib/unistr/u8-pcpy.c
lib/unistr/u8-prev.c
lib/unistr/u8-set.c
lib/unistr/u8-startswith.c
@@ -3916,6 +4423,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/verify.h
lib/warn-on-use.h
lib/wchar.in.h
+ lib/wcs-two-way.h
+ lib/wcsstr-impl.h
lib/wctype-h.c
lib/wctype.in.h
lib/wcwidth.c
@@ -3932,6 +4441,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/xsize.c
lib/xsize.h
m4/00gnulib.m4
+ m4/__inline.m4
m4/absolute-header.m4
m4/alloca.m4
m4/arpa_inet_h.m4
@@ -3939,6 +4449,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/btowc.m4
m4/builtin-expect.m4
m4/c-bool.m4
+ m4/c32rtomb.m4
m4/calloc.m4
m4/close.m4
m4/codeset.m4
@@ -3949,6 +4460,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/environ.m4
m4/errno_h.m4
m4/error.m4
+ m4/error_h.m4
m4/exponentd.m4
m4/exponentf.m4
m4/exponentl.m4
@@ -3992,6 +4504,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/isnanl.m4
m4/iswblank.m4
m4/iswdigit.m4
+ m4/iswpunct.m4
m4/iswxdigit.m4
m4/langinfo_h.m4
m4/largefile.m4
@@ -4017,6 +4530,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/math_h.m4
m4/mbchar.m4
m4/mbiter.m4
+ m4/mbrtoc32.m4
m4/mbrtowc.m4
m4/mbsinit.m4
m4/mbstate_t.m4
@@ -4029,6 +4543,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/msvc-nothrow.m4
m4/multiarch.m4
m4/musl.m4
+ m4/nan-mips.m4
m4/nanosleep.m4
m4/netinet_in_h.m4
m4/nocrash.m4
@@ -4050,6 +4565,8 @@ AC_DEFUN([gl_FILE_LIST], [
m4/pthread_sigmask.m4
m4/putenv.m4
m4/raise.m4
+ m4/random.m4
+ m4/random_r.m4
m4/realloc.m4
m4/reallocarray.m4
m4/relocatable-lib.m4
@@ -4065,6 +4582,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/signbit.m4
m4/size_max.m4
m4/sleep.m4
+ m4/snan.m4
m4/socketlib.m4
m4/sockets.m4
m4/socklen.m4
@@ -4094,7 +4612,13 @@ AC_DEFUN([gl_FILE_LIST], [
m4/sys_uio_h.m4
m4/thread.m4
m4/threadlib.m4
+ m4/time.m4
m4/time_h.m4
+ m4/uchar_h.m4
+ m4/unicase_h.m4
+ m4/unictype_h.m4
+ m4/unimetadata_h.m4
+ m4/uninorm_h.m4
m4/unistd_h.m4
m4/usleep.m4
m4/vararrays.m4
@@ -4111,7 +4635,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/wint_t.m4
m4/xalloc.m4
m4/xsize.m4
- m4/year2038.m4
m4/yield.m4
m4/zzgnulib.m4
tests/atomic-int-gnulib.h
@@ -4121,12 +4644,12 @@ AC_DEFUN([gl_FILE_LIST], [
tests/locale.c
tests/macros.h
tests/minus-zero.h
- tests/nan.h
tests/nap.h
tests/randomd.c
tests/randoml.c
tests/signature.h
tests/test-accept.c
+ tests/test-alignasof.c
tests/test-alloca-opt.c
tests/test-arpa_inet.c
tests/test-array-mergesort.c
@@ -4134,13 +4657,55 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-binary-io.c
tests/test-binary-io.sh
tests/test-bind.c
+ tests/test-btoc32-1.sh
+ tests/test-btoc32-2.sh
+ tests/test-btoc32-3.sh
+ tests/test-btoc32.c
+ tests/test-btowc-1.sh
+ tests/test-btowc-2.sh
+ tests/test-btowc-3.sh
tests/test-btowc.c
- tests/test-btowc1.sh
- tests/test-btowc2.sh
tests/test-c-ctype.c
tests/test-c-strcase.sh
tests/test-c-strcasecmp.c
tests/test-c-strncasecmp.c
+ tests/test-c32isalnum.c
+ tests/test-c32isalnum.sh
+ tests/test-c32isalpha.c
+ tests/test-c32isalpha.sh
+ tests/test-c32isblank.c
+ tests/test-c32isblank.sh
+ tests/test-c32iscntrl.c
+ tests/test-c32iscntrl.sh
+ tests/test-c32isdigit.c
+ tests/test-c32isdigit.sh
+ tests/test-c32isgraph.c
+ tests/test-c32isgraph.sh
+ tests/test-c32islower.c
+ tests/test-c32islower.sh
+ tests/test-c32isprint.c
+ tests/test-c32isprint.sh
+ tests/test-c32ispunct.c
+ tests/test-c32ispunct.sh
+ tests/test-c32isspace.c
+ tests/test-c32isspace.sh
+ tests/test-c32isupper.c
+ tests/test-c32isupper.sh
+ tests/test-c32isxdigit.c
+ tests/test-c32isxdigit.sh
+ tests/test-c32rtomb-w32-2.sh
+ tests/test-c32rtomb-w32-3.sh
+ tests/test-c32rtomb-w32-4.sh
+ tests/test-c32rtomb-w32-5.sh
+ tests/test-c32rtomb-w32-6.sh
+ tests/test-c32rtomb-w32-7.sh
+ tests/test-c32rtomb-w32-8.sh
+ tests/test-c32rtomb-w32.c
+ tests/test-c32rtomb.c
+ tests/test-c32rtomb.sh
+ tests/test-c32tolower.c
+ tests/test-c32tolower.sh
+ tests/test-c32width.c
tests/test-calloc-gnu.c
tests/test-cloexec.c
tests/test-close.c
@@ -4149,6 +4714,8 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-dup2.c
tests/test-environ.c
tests/test-errno.c
+ tests/test-error.c
+ tests/test-error.sh
tests/test-fcntl-h.c
tests/test-fcntl.c
tests/test-fdopen.c
@@ -4188,9 +4755,12 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-iswblank.c
tests/test-iswdigit.c
tests/test-iswdigit.sh
+ tests/test-iswpunct.c
+ tests/test-iswpunct.sh
tests/test-iswxdigit.c
tests/test-iswxdigit.sh
tests/test-langinfo.c
+ tests/test-largefile.c
tests/test-limits-h.c
tests/test-listen.c
tests/test-localcharset.c
@@ -4202,20 +4772,34 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-malloc-gnu.c
tests/test-malloca.c
tests/test-math.c
- tests/test-mbrtowc-w32-1.sh
+ tests/test-mbrtoc32-1.sh
+ tests/test-mbrtoc32-2.sh
+ tests/test-mbrtoc32-3.sh
+ tests/test-mbrtoc32-4.sh
+ tests/test-mbrtoc32-5.sh
+ tests/test-mbrtoc32-w32-2.sh
+ tests/test-mbrtoc32-w32-3.sh
+ tests/test-mbrtoc32-w32-4.sh
+ tests/test-mbrtoc32-w32-5.sh
+ tests/test-mbrtoc32-w32-6.sh
+ tests/test-mbrtoc32-w32-7.sh
+ tests/test-mbrtoc32-w32-8.sh
+ tests/test-mbrtoc32-w32.c
+ tests/test-mbrtoc32.c
+ tests/test-mbrtowc-1.sh
+ tests/test-mbrtowc-2.sh
+ tests/test-mbrtowc-3.sh
+ tests/test-mbrtowc-4.sh
+ tests/test-mbrtowc-5.sh
tests/test-mbrtowc-w32-2.sh
tests/test-mbrtowc-w32-3.sh
tests/test-mbrtowc-w32-4.sh
tests/test-mbrtowc-w32-5.sh
tests/test-mbrtowc-w32-6.sh
tests/test-mbrtowc-w32-7.sh
+ tests/test-mbrtowc-w32-8.sh
tests/test-mbrtowc-w32.c
tests/test-mbrtowc.c
- tests/test-mbrtowc1.sh
- tests/test-mbrtowc2.sh
- tests/test-mbrtowc3.sh
- tests/test-mbrtowc4.sh
- tests/test-mbrtowc5.sh
tests/test-mbsinit.c
tests/test-mbsinit.sh
tests/test-memchr.c
@@ -4237,6 +4821,9 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-pthread_sigmask1.c
tests/test-pthread_sigmask2.c
tests/test-raise.c
+ tests/test-random-mt.c
+ tests/test-random.c
+ tests/test-random_r.c
tests/test-realloc-gnu.c
tests/test-reallocarray.c
tests/test-rwlock1.c
@@ -4254,6 +4841,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-setlocale2.sh
tests/test-setlocale_null-mt-all.c
tests/test-setlocale_null-mt-one.c
+ tests/test-setlocale_null-unlocked.c
tests/test-setlocale_null.c
tests/test-setsockopt.c
tests/test-signal-h.c
@@ -4264,7 +4852,6 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-stat-time.c
tests/test-stat.c
tests/test-stat.h
- tests/test-stdalign.c
tests/test-stdbool.c
tests/test-stdckdint.c
tests/test-stddef.c
@@ -4290,7 +4877,9 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-sys_wait.h
tests/test-thread_create.c
tests/test-thread_self.c
+ tests/test-time-h.c
tests/test-time.c
+ tests/test-uchar.c
tests/test-unistd.c
tests/test-unsetenv.c
tests/test-usleep.c
@@ -4298,13 +4887,13 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-verify.c
tests/test-verify.sh
tests/test-wchar.c
- tests/test-wcrtomb-w32-1.sh
tests/test-wcrtomb-w32-2.sh
tests/test-wcrtomb-w32-3.sh
tests/test-wcrtomb-w32-4.sh
tests/test-wcrtomb-w32-5.sh
tests/test-wcrtomb-w32-6.sh
tests/test-wcrtomb-w32-7.sh
+ tests/test-wcrtomb-w32-8.sh
tests/test-wcrtomb-w32.c
tests/test-wcrtomb.c
tests/test-wcrtomb.sh
@@ -4455,6 +5044,10 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unictype/test-decdigit.h
tests/unictype/test-digit.c
tests/unictype/test-digit.h
+ tests/unictype/test-incb_byname.c
+ tests/unictype/test-incb_name.c
+ tests/unictype/test-incb_of.c
+ tests/unictype/test-incb_of.h
tests/unictype/test-joininggroup_byname.c
tests/unictype/test-joininggroup_name.c
tests/unictype/test-joininggroup_of.c
@@ -4515,11 +5108,14 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unictype/test-pr_grapheme_link.c
tests/unictype/test-pr_hex_digit.c
tests/unictype/test-pr_hyphen.c
+ tests/unictype/test-pr_id_compat_math_continue.c
+ tests/unictype/test-pr_id_compat_math_start.c
tests/unictype/test-pr_id_continue.c
tests/unictype/test-pr_id_start.c
tests/unictype/test-pr_ideographic.c
tests/unictype/test-pr_ids_binary_operator.c
tests/unictype/test-pr_ids_trinary_operator.c
+ tests/unictype/test-pr_ids_unary_operator.c
tests/unictype/test-pr_ignorable_control.c
tests/unictype/test-pr_iso_control.c
tests/unictype/test-pr_join_control.c
@@ -4543,6 +5139,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unictype/test-pr_paragraph_separator.c
tests/unictype/test-pr_pattern_syntax.c
tests/unictype/test-pr_pattern_white_space.c
+ tests/unictype/test-pr_prepended_concatenation_mark.c
tests/unictype/test-pr_private_use.c
tests/unictype/test-pr_punctuation.c
tests/unictype/test-pr_quotation_mark.c
@@ -4595,6 +5192,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unilbrk/test-u8-width-linebreaks.c
tests/unilbrk/test-ulc-possible-linebreaks.c
tests/unilbrk/test-ulc-width-linebreaks.c
+ tests/unimetadata/test-u-version.c
tests/uniname/HangulSyllableNames.txt
tests/uniname/NameAliases.txt
tests/uniname/UnicodeData.txt
@@ -4692,6 +5290,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unistr/test-cpy-alloc.h
tests/unistr/test-cpy.h
tests/unistr/test-move.h
+ tests/unistr/test-pcpy.h
tests/unistr/test-set.h
tests/unistr/test-stpcpy.h
tests/unistr/test-stpncpy.h
@@ -4720,6 +5319,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unistr/test-u16-mbtoucr.c
tests/unistr/test-u16-move.c
tests/unistr/test-u16-next.c
+ tests/unistr/test-u16-pcpy.c
tests/unistr/test-u16-prev.c
tests/unistr/test-u16-set.c
tests/unistr/test-u16-stpcpy.c
@@ -4757,6 +5357,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unistr/test-u32-mbtoucr.c
tests/unistr/test-u32-move.c
tests/unistr/test-u32-next.c
+ tests/unistr/test-u32-pcpy.c
tests/unistr/test-u32-prev.c
tests/unistr/test-u32-set.c
tests/unistr/test-u32-stpcpy.c
@@ -4794,6 +5395,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unistr/test-u8-mbtoucr.c
tests/unistr/test-u8-move.c
tests/unistr/test-u8-next.c
+ tests/unistr/test-u8-pcpy.c
tests/unistr/test-u8-prev.c
tests/unistr/test-u8-set.c
tests/unistr/test-u8-stpcpy.c
@@ -4845,9 +5447,13 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/binary-io.c
tests=lib/binary-io.h
tests=lib/bind.c
+ tests=lib/btoc32.c
tests=lib/btowc.c
tests=lib/c++defs.h
+ tests=lib/c32rtomb.c
+ tests=lib/c32tob.c
tests=lib/calloc.c
+ tests=lib/cdefs.h
tests=lib/cloexec.c
tests=lib/cloexec.h
tests=lib/close.c
@@ -4855,7 +5461,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/ctype.in.h
tests=lib/dup2.c
tests=lib/error.c
- tests=lib/error.h
+ tests=lib/error.in.h
tests=lib/exitfail.c
tests=lib/exitfail.h
tests=lib/fcntl.c
@@ -4884,6 +5490,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/intprops.h
tests=lib/ioctl.c
tests=lib/isblank.c
+ tests=lib/libc-config.h
tests=lib/listen.c
tests=lib/lstat.c
tests=lib/malloc.c
@@ -4893,6 +5500,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/msvc-inval.h
tests=lib/msvc-nothrow.c
tests=lib/msvc-nothrow.h
+ tests=lib/nan.h
tests=lib/nanosleep.c
tests=lib/netinet_in.in.h
tests=lib/open.c
@@ -4905,8 +5513,11 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/pthread_sigmask.c
tests=lib/putenv.c
tests=lib/raise.c
+ tests=lib/random.c
+ tests=lib/random_r.c
tests=lib/realloc.c
tests=lib/reallocarray.c
+ tests=lib/same-inode.c
tests=lib/same-inode.h
tests=lib/sched.in.h
tests=lib/sched_yield.c
@@ -4915,8 +5526,11 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/setlocale.c
tests=lib/setsockopt.c
tests=lib/signal.in.h
+ tests=lib/signed-nan.h
+ tests=lib/signed-snan.h
tests=lib/sigprocmask.c
tests=lib/sleep.c
+ tests=lib/snan.h
tests=lib/socket.c
tests=lib/sockets.c
tests=lib/sockets.h
@@ -4925,7 +5539,6 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/stat-w32.c
tests=lib/stat-w32.h
tests=lib/stat.c
- tests=lib/stdalign.in.h
tests=lib/stdio-read.c
tests=lib/stdio-write.c
tests=lib/stdio.in.h
@@ -4941,6 +5554,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/sys_stat.in.h
tests=lib/sys_time.in.h
tests=lib/sys_uio.in.h
+ tests=lib/time.c
tests=lib/time.in.h
tests=lib/unsetenv.c
tests=lib/usleep.c
diff --git a/gnulib-m4/host-cpu-c-abi.m4 b/gnulib-m4/host-cpu-c-abi.m4
index b9223241..e860a19e 100644
--- a/gnulib-m4/host-cpu-c-abi.m4
+++ b/gnulib-m4/host-cpu-c-abi.m4
@@ -1,5 +1,5 @@
-# host-cpu-c-abi.m4 serial 15
-dnl Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# host-cpu-c-abi.m4 serial 17
+dnl Copyright (C) 2002-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -461,217 +461,66 @@ EOF
dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit
-dnl one, or to 'unknown' if unknown.
+dnl one.
dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
- [if test -n "$gl_cv_host_cpu_c_abi"; then
- case "$gl_cv_host_cpu_c_abi" in
- i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
- gl_cv_host_cpu_c_abi_32bit=yes ;;
- x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
- gl_cv_host_cpu_c_abi_32bit=no ;;
- *)
- gl_cv_host_cpu_c_abi_32bit=unknown ;;
- esac
- else
- case "$host_cpu" in
-
- # CPUs that only support a 32-bit ABI.
- arc \
- | bfin \
- | cris* \
- | csky \
- | epiphany \
- | ft32 \
- | h8300 \
- | m68k \
- | microblaze | microblazeel \
- | nds32 | nds32le | nds32be \
- | nios2 | nios2eb | nios2el \
- | or1k* \
- | or32 \
- | sh | sh[1234] | sh[1234]e[lb] \
- | tic6x \
- | xtensa* )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
+ [case "$host_cpu" in
- # CPUs that only support a 64-bit ABI.
-changequote(,)dnl
- alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
- | mmix )
-changequote([,])dnl
- gl_cv_host_cpu_c_abi_32bit=no
- ;;
+ # CPUs that only support a 32-bit ABI.
+ arc \
+ | bfin \
+ | cris* \
+ | csky \
+ | epiphany \
+ | ft32 \
+ | h8300 \
+ | m68k \
+ | microblaze | microblazeel \
+ | nds32 | nds32le | nds32be \
+ | nios2 | nios2eb | nios2el \
+ | or1k* \
+ | or32 \
+ | sh | sh[1234] | sh[1234]e[lb] \
+ | tic6x \
+ | xtensa* )
+ gl_cv_host_cpu_c_abi_32bit=yes
+ ;;
+ # CPUs that only support a 64-bit ABI.
changequote(,)dnl
- i[34567]86 )
+ alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+ | mmix )
changequote([,])dnl
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- x86_64 )
- # On x86_64 systems, the C compiler may be generating code in one of
- # these ABIs:
- # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
- # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
- # with native Windows (mingw, MSVC).
- # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
- # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if (defined __x86_64__ || defined __amd64__ \
- || defined _M_X64 || defined _M_AMD64) \
- && !(defined __ILP32__ || defined _ILP32)
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- arm* | aarch64 )
- # Assume arm with EABI.
- # On arm64 systems, the C compiler may be generating code in one of
- # these ABIs:
- # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
- # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
- # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
- # On hppa, the C compiler may be generating 32-bit code or 64-bit
- # code. In the latter case, it defines _LP64 and __LP64__.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifdef __LP64__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- ia64* )
- # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
- # 32-bit code. In the latter case, it defines _ILP32.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifdef _ILP32
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=yes],
- [gl_cv_host_cpu_c_abi_32bit=no])
- ;;
-
- mips* )
- # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
- # at 32.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- powerpc* )
- # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
- # No need to distinguish them here; the caller may distinguish
- # them based on the OS.
- # On powerpc64 systems, the C compiler may still be generating
- # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
- # be generating 64-bit code.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __powerpc64__ || defined __LP64__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- rs6000 )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- riscv32 | riscv64 )
- # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
- # Size of 'long' and 'void *':
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __LP64__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- s390* )
- # On s390x, the C compiler may be generating 64-bit (= s390x) code
- # or 31-bit (= s390) code.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __LP64__ || defined __s390x__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
+ gl_cv_host_cpu_c_abi_32bit=no
+ ;;
- sparc | sparc64 )
- # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
- # C compiler still generates 32-bit code.
+ *)
+ if test -n "$gl_cv_host_cpu_c_abi"; then
+ dnl gl_HOST_CPU_C_ABI has already been run. Use its result.
+ case "$gl_cv_host_cpu_c_abi" in
+ i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+ gl_cv_host_cpu_c_abi_32bit=yes ;;
+ x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+ gl_cv_host_cpu_c_abi_32bit=no ;;
+ *)
+ gl_cv_host_cpu_c_abi_32bit=unknown ;;
+ esac
+ else
+ gl_cv_host_cpu_c_abi_32bit=unknown
+ fi
+ if test $gl_cv_host_cpu_c_abi_32bit = unknown; then
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
- [[#if defined __sparcv9 || defined __arch64__
- int ok;
- #else
- error fail
- #endif
+ [[int test_pointer_size[sizeof (void *) - 5];
]])],
[gl_cv_host_cpu_c_abi_32bit=no],
[gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- *)
- gl_cv_host_cpu_c_abi_32bit=unknown
- ;;
- esac
- fi
+ fi
+ ;;
+ esac
])
HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
diff --git a/gnulib-m4/iconv.m4 b/gnulib-m4/iconv.m4
index 2065c977..2a7edd31 100644
--- a/gnulib-m4/iconv.m4
+++ b/gnulib-m4/iconv.m4
@@ -1,5 +1,5 @@
-# iconv.m4 serial 26
-dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 Free Software Foundation,
+# iconv.m4 serial 27
+dnl Copyright (C) 2000-2002, 2007-2014, 2016-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -38,7 +38,7 @@ AC_DEFUN([AM_ICONV_LINK],
dnl because if the user has installed libiconv and not disabled its use
dnl via --without-libiconv-prefix, he wants to use it. The first
dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
+ gl_saved_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
@@ -55,7 +55,7 @@ AC_DEFUN([AM_ICONV_LINK],
iconv_close(cd);]])],
[am_cv_func_iconv=yes])
if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
+ gl_saved_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -68,14 +68,14 @@ AC_DEFUN([AM_ICONV_LINK],
iconv_close(cd);]])],
[am_cv_lib_iconv=yes]
[am_cv_func_iconv=yes])
- LIBS="$am_save_LIBS"
+ LIBS="$gl_saved_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
dnl Solaris 10.
- am_save_LIBS="$LIBS"
+ gl_saved_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
fi
@@ -205,7 +205,7 @@ AC_DEFUN([AM_ICONV_LINK],
esac])
test "$am_cv_func_iconv_works" = no || break
done
- LIBS="$am_save_LIBS"
+ LIBS="$gl_saved_LIBS"
])
case "$am_cv_func_iconv_works" in
*no) am_func_iconv=no am_cv_lib_iconv=no ;;
@@ -224,7 +224,7 @@ AC_DEFUN([AM_ICONV_LINK],
else
dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
+ CPPFLAGS="$gl_saved_CPPFLAGS"
LIBICONV=
LTLIBICONV=
fi
diff --git a/gnulib-m4/iconv_h.m4 b/gnulib-m4/iconv_h.m4
index 58465662..7b560887 100644
--- a/gnulib-m4/iconv_h.m4
+++ b/gnulib-m4/iconv_h.m4
@@ -1,5 +1,5 @@
# iconv_h.m4 serial 16
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/iconv_open.m4 b/gnulib-m4/iconv_open.m4
index 1ed26cd8..c6fe346b 100644
--- a/gnulib-m4/iconv_open.m4
+++ b/gnulib-m4/iconv_open.m4
@@ -1,5 +1,5 @@
-# iconv_open.m4 serial 16
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# iconv_open.m4 serial 17
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -16,7 +16,8 @@ AC_DEFUN([gl_FUNC_ICONV_OPEN],
dnl We know that GNU libiconv and GNU libc do.
AC_EGREP_CPP([gnu_iconv], [
#include <iconv.h>
- #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+ #if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || (defined __GLIBC__ && !defined __UCLIBC__)
gnu_iconv
#endif
], [gl_func_iconv_gnu=yes], [gl_func_iconv_gnu=no])
diff --git a/gnulib-m4/include_next.m4 b/gnulib-m4/include_next.m4
index a9247f6f..70cb746f 100644
--- a/gnulib-m4/include_next.m4
+++ b/gnulib-m4/include_next.m4
@@ -1,5 +1,5 @@
-# include_next.m4 serial 26
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+# include_next.m4 serial 27
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -74,17 +74,17 @@ EOF
#endif
#define DEFINED_IN_CONFTESTD2
EOF
- gl_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
+ gl_saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$gl_saved_CPPFLAGS -Iconftestd1b -Iconftestd2"
dnl We intentionally avoid using AC_LANG_SOURCE here.
AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]],
[gl_cv_have_include_next=yes],
- [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
+ [CPPFLAGS="$gl_saved_CPPFLAGS -Iconftestd1a -Iconftestd2"
AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]],
[gl_cv_have_include_next=buggy],
[gl_cv_have_include_next=no])
])
- CPPFLAGS="$gl_save_CPPFLAGS"
+ CPPFLAGS="$gl_saved_CPPFLAGS"
rm -rf conftestd1a conftestd1b conftestd2
])
PRAGMA_SYSTEM_HEADER=
diff --git a/gnulib-m4/inet_pton.m4 b/gnulib-m4/inet_pton.m4
index 9507296d..1e0be330 100644
--- a/gnulib-m4/inet_pton.m4
+++ b/gnulib-m4/inet_pton.m4
@@ -1,5 +1,5 @@
-# inet_pton.m4 serial 19
-dnl Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc.
+# inet_pton.m4 serial 20
+dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -36,14 +36,14 @@ AC_DEFUN([gl_FUNC_INET_PTON],
HAVE_DECL_INET_PTON=0
fi
else
- gl_save_LIBS=$LIBS
+ gl_saved_LIBS=$LIBS
AC_SEARCH_LIBS([inet_pton], [nsl resolv network], [],
[AC_CHECK_FUNCS([inet_pton])
if test $ac_cv_func_inet_pton = no; then
HAVE_INET_PTON=0
fi
])
- LIBS=$gl_save_LIBS
+ LIBS=$gl_saved_LIBS
if test "$ac_cv_search_inet_pton" != "no" \
&& test "$ac_cv_search_inet_pton" != "none required"; then
diff --git a/gnulib-m4/inline.m4 b/gnulib-m4/inline.m4
index 3f072655..208f7423 100644
--- a/gnulib-m4/inline.m4
+++ b/gnulib-m4/inline.m4
@@ -1,5 +1,5 @@
# inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/intl-thread-locale.m4 b/gnulib-m4/intl-thread-locale.m4
index d5d5b26a..63efc44f 100644
--- a/gnulib-m4/intl-thread-locale.m4
+++ b/gnulib-m4/intl-thread-locale.m4
@@ -1,5 +1,5 @@
-# intl-thread-locale.m4 serial 9
-dnl Copyright (C) 2015-2022 Free Software Foundation, Inc.
+# intl-thread-locale.m4 serial 12
+dnl Copyright (C) 2015-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -38,6 +38,7 @@ AC_DEFUN([gt_INTL_THREAD_LOCALE_NAME],
dnl they did not think about the programs.
dnl In this situation, even the HAVE_NAMELESS_LOCALES support does not work.
dnl So, define HAVE_FAKE_LOCALES and disable all locale_t support.
+ dnl Expected result: HAVE_FAKE_LOCALES is defined on OpenBSD ≥ 6.2.
case "$gt_cv_func_uselocale_works" in
*yes)
AC_CHECK_HEADERS_ONCE([xlocale.h])
@@ -81,6 +82,7 @@ int main ()
;;
esac
+ dnl Expected result: HAVE_SOLARIS114_LOCALES is defined on Solaris ≥ 11.4.
case "$gt_cv_func_uselocale_works" in
*yes)
AC_CACHE_CHECK([for Solaris 11.4 locale system],
@@ -128,6 +130,8 @@ int main ()
dnl requires the gnulib overrides of 'newlocale', 'duplocale', 'freelocale',
dnl which is a problem for GNU libunistring. Therefore try hard to avoid
dnl enabling this code!
+ dnl Expected result: HAVE_NAMELESS_LOCALES is defined on AIX,
+ dnl and HAVE_AIX72_LOCALES is defined on AIX ≥ 7.2.
gt_nameless_locales=no
case "$host_os" in
dnl It's needed on AIX 7.2.
@@ -135,16 +139,38 @@ int main ()
gt_nameless_locales=yes
AC_DEFINE([HAVE_NAMELESS_LOCALES], [1],
[Define if the locale_t type does not contain the name of each locale category.])
+ dnl In AIX ≥ 7.2, a locale contains at least the name of the LC_MESSSAGES
+ dnl category (fix of defect 823926).
+ AC_CACHE_CHECK([for AIX locales with LC_MESSAGES name],
+ [gt_cv_locale_aix72],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #include <locale.h>
+ /* Include <sys/localedef.h>, which defines __locale_t. */
+ #include <stdlib.h>
+ locale_t x;
+ ]],
+ [[return ((__locale_t) x)->locale_name[0];]])],
+ [gt_cv_locale_aix72=yes],
+ [gt_cv_locale_aix72=no])
+ ])
+ if test $gt_cv_locale_aix72 = yes; then
+ AC_DEFINE([HAVE_AIX72_LOCALES], [1],
+ [Define if the __locale_t type contains the name of the LC_MESSAGES category.])
+ fi
;;
esac
dnl We cannot support uselocale() on platforms where the locale_t type is
dnl fake. So, set
dnl gt_good_uselocale = gt_working_uselocale && !gt_fake_locales.
+ dnl Expected result: HAVE_GOOD_USELOCALE is defined on all platforms except
+ dnl FreeBSD < 9.1, NetBSD, OpenBSD, Minix, AIX < 7, AIX 7.2, HP-UX, IRIX,
+ dnl Solaris < 11.4, Cygwin < 2.6, mingw, MSVC 14, Android API level < 21.
if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then
gt_good_uselocale=yes
AC_DEFINE([HAVE_GOOD_USELOCALE], [1],
- [Define if the uselocale exists, may be safely called, and returns sufficient information.])
+ [Define if the uselocale function exists, may be safely called, and returns sufficient information.])
else
gt_good_uselocale=no
fi
@@ -152,6 +178,8 @@ int main ()
dnl Set gt_localename_enhances_locale_funcs to indicate whether localename.c
dnl overrides newlocale(), duplocale(), freelocale() to keep track of locale
dnl names.
+ dnl Expected result: LOCALENAME_ENHANCE_LOCALE_FUNCS is defined on
+ dnl AIX 7.1, AIX ≥ 7.3.
if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then
gt_localename_enhances_locale_funcs=yes
LOCALENAME_ENHANCE_LOCALE_FUNCS=1
@@ -164,6 +192,9 @@ int main ()
dnl Tests whether uselocale() exists and is usable.
dnl Sets gt_working_uselocale and defines HAVE_WORKING_USELOCALE.
+dnl Expected result: HAVE_WORKING_USELOCALE is defined on all platforms except
+dnl FreeBSD < 9.1, NetBSD, OpenBSD < 6.2, Minix, AIX < 7, AIX 7.2, HP-UX, IRIX,
+dnl Solaris < 11.4, Cygwin < 2.6, mingw, MSVC 14, Android API level < 21.
AC_DEFUN([gt_FUNC_USELOCALE],
[
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
@@ -171,7 +202,7 @@ AC_DEFUN([gt_FUNC_USELOCALE],
dnl Persuade glibc and Solaris <locale.h> to define 'locale_t'.
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_FUNCS_ONCE([uselocale])
+ gl_CHECK_FUNCS_ANDROID([uselocale], [[#include <locale.h>]])
dnl On AIX 7.2, the uselocale() function is not documented and leads to
dnl crashes in subsequent setlocale() invocations.
diff --git a/gnulib-m4/intlmacosx.m4 b/gnulib-m4/intlmacosx.m4
index ecc88d6e..450eb889 100644
--- a/gnulib-m4/intlmacosx.m4
+++ b/gnulib-m4/intlmacosx.m4
@@ -1,5 +1,5 @@
-# intlmacosx.m4 serial 8 (gettext-0.20.2)
-dnl Copyright (C) 2004-2014, 2016, 2019-2022 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 10 (gettext-0.23)
+dnl Copyright (C) 2004-2014, 2016, 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -20,7 +20,7 @@ AC_DEFUN([gt_INTL_MACOSX],
dnl Check for API introduced in Mac OS X 10.4.
AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
[gt_cv_func_CFPreferencesCopyAppValue],
- [gt_save_LIBS="$LIBS"
+ [gt_saved_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -28,7 +28,7 @@ AC_DEFUN([gt_INTL_MACOSX],
[[CFPreferencesCopyAppValue(NULL, NULL)]])],
[gt_cv_func_CFPreferencesCopyAppValue=yes],
[gt_cv_func_CFPreferencesCopyAppValue=no])
- LIBS="$gt_save_LIBS"])
+ LIBS="$gt_saved_LIBS"])
if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
[Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
@@ -43,7 +43,7 @@ AC_DEFUN([gt_INTL_MACOSX],
dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the
dnl first among the preferred languages and CC is the territory.
AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],
- [gt_save_LIBS="$LIBS"
+ [gt_saved_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -51,7 +51,7 @@ AC_DEFUN([gt_INTL_MACOSX],
[[CFLocaleCopyPreferredLanguages();]])],
[gt_cv_func_CFLocaleCopyPreferredLanguages=yes],
[gt_cv_func_CFLocaleCopyPreferredLanguages=no])
- LIBS="$gt_save_LIBS"])
+ LIBS="$gt_saved_LIBS"])
if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1],
[Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])
@@ -59,7 +59,11 @@ AC_DEFUN([gt_INTL_MACOSX],
INTL_MACOSX_LIBS=
if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
|| test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ dnl Starting with macOS version 14, CoreFoundation relies on CoreServices,
+ dnl and we have to link it in explicitly, otherwise an exception
+ dnl NSInvalidArgumentException "unrecognized selector sent to instance"
+ dnl occurs.
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation -Wl,-framework -Wl,CoreServices"
fi
AC_SUBST([INTL_MACOSX_LIBS])
])
diff --git a/gnulib-m4/intmax_t.m4 b/gnulib-m4/intmax_t.m4
index 8a15dabd..d3d21201 100644
--- a/gnulib-m4/intmax_t.m4
+++ b/gnulib-m4/intmax_t.m4
@@ -1,5 +1,5 @@
# intmax_t.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2022 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gnulib-m4/inttypes.m4 b/gnulib-m4/inttypes.m4
index df25a21e..6abf9dbe 100644
--- a/gnulib-m4/inttypes.m4
+++ b/gnulib-m4/inttypes.m4
@@ -1,5 +1,5 @@
-# inttypes.m4 serial 36
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+# inttypes.m4 serial 37
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -170,6 +170,10 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
HAVE_IMAXDIV_T=1; AC_SUBST([HAVE_IMAXDIV_T])
+ HAVE_IMAXABS=1; AC_SUBST([HAVE_IMAXABS])
+ HAVE_IMAXDIV=1; AC_SUBST([HAVE_IMAXDIV])
+ REPLACE_IMAXABS=0; AC_SUBST([REPLACE_IMAXABS])
+ REPLACE_IMAXDIV=0; AC_SUBST([REPLACE_IMAXDIV])
REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX])
REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX])
INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
diff --git a/gnulib-m4/inttypes_h.m4 b/gnulib-m4/inttypes_h.m4
index 6e9eebf1..ae0a00f0 100644
--- a/gnulib-m4/inttypes_h.m4
+++ b/gnulib-m4/inttypes_h.m4
@@ -1,5 +1,5 @@
# inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/ioctl.m4 b/gnulib-m4/ioctl.m4
index 7c721345..42788830 100644
--- a/gnulib-m4/ioctl.m4
+++ b/gnulib-m4/ioctl.m4
@@ -1,5 +1,5 @@
# ioctl.m4 serial 6
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/isblank.m4 b/gnulib-m4/isblank.m4
index 1d0ed6ce..d07472cd 100644
--- a/gnulib-m4/isblank.m4
+++ b/gnulib-m4/isblank.m4
@@ -1,5 +1,5 @@
# isblank.m4 serial 3
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/isnand.m4 b/gnulib-m4/isnand.m4
index 4eadde7c..c6a54f2f 100644
--- a/gnulib-m4/isnand.m4
+++ b/gnulib-m4/isnand.m4
@@ -1,5 +1,5 @@
-# isnand.m4 serial 12
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# isnand.m4 serial 14
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -18,8 +18,7 @@ AC_DEFUN([gl_FUNC_ISNAND],
fi
fi
dnl The variable gl_func_isnand set here is used by isnan.m4.
- if test $gl_cv_func_isnand_no_libm = yes \
- || test $gl_cv_func_isnand_in_libm = yes; then
+ if test $gl_cv_func_isnand_no_libm = yes || test -n "$ISNAND_LIBM"; then
gl_func_isnand=yes
else
gl_func_isnand=no
@@ -53,7 +52,7 @@ AC_DEFUN([gl_HAVE_ISNAND_IN_LIBM],
AC_CACHE_CHECK([whether isnan(double) can be used with libm],
[gl_cv_func_isnand_in_libm],
[
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -69,7 +68,7 @@ AC_DEFUN([gl_HAVE_ISNAND_IN_LIBM],
[[return isnand (x);]])],
[gl_cv_func_isnand_in_libm=yes],
[gl_cv_func_isnand_in_libm=no])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
])
diff --git a/gnulib-m4/isnanf.m4 b/gnulib-m4/isnanf.m4
index 44c825a1..a53519e7 100644
--- a/gnulib-m4/isnanf.m4
+++ b/gnulib-m4/isnanf.m4
@@ -1,5 +1,5 @@
-# isnanf.m4 serial 18
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# isnanf.m4 serial 21
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -18,12 +18,11 @@ AC_DEFUN([gl_FUNC_ISNANF],
fi
fi
dnl The variable gl_func_isnanf set here is used by isnan.m4.
- if test $gl_cv_func_isnanf_no_libm = yes \
- || test $gl_cv_func_isnanf_in_libm = yes; then
- save_LIBS="$LIBS"
+ if test $gl_cv_func_isnanf_no_libm = yes || test -n "$ISNANF_LIBM"; then
+ saved_LIBS="$LIBS"
LIBS="$LIBS $ISNANF_LIBM"
gl_ISNANF_WORKS
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
case "$gl_cv_func_isnanf_works" in
*yes) gl_func_isnanf=yes ;;
*) gl_func_isnanf=no; ISNANF_LIBM= ;;
@@ -94,7 +93,7 @@ AC_DEFUN([gl_HAVE_ISNANF_IN_LIBM],
AC_CACHE_CHECK([whether isnan(float) can be used with libm],
[gl_cv_func_isnanf_in_libm],
[
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -110,7 +109,7 @@ AC_DEFUN([gl_HAVE_ISNANF_IN_LIBM],
[[return isnanf (x);]])],
[gl_cv_func_isnanf_in_libm=yes],
[gl_cv_func_isnanf_in_libm=no])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
])
@@ -181,7 +180,7 @@ int main()
[gl_cv_func_isnanf_works=no],
[case "$host_os" in
irix* | solaris*) gl_cv_func_isnanf_works="guessing no" ;;
- mingw*) # Guess yes on mingw, no on MSVC.
+ mingw* | windows*) # Guess yes on mingw, no on MSVC.
AC_EGREP_CPP([Known], [
#ifdef __MINGW32__
Known
diff --git a/gnulib-m4/isnanl.m4 b/gnulib-m4/isnanl.m4
index fa49a644..9f7a5f13 100644
--- a/gnulib-m4/isnanl.m4
+++ b/gnulib-m4/isnanl.m4
@@ -1,10 +1,10 @@
-# isnanl.m4 serial 22
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# isnanl.m4 serial 26
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_FUNC_ISNANL],
+AC_DEFUN_ONCE([gl_FUNC_ISNANL],
[
AC_REQUIRE([gl_MATH_H_DEFAULTS])
ISNANL_LIBM=
@@ -16,12 +16,11 @@ AC_DEFUN([gl_FUNC_ISNANL],
fi
fi
dnl The variable gl_func_isnanl set here is used by isnan.m4.
- if test $gl_cv_func_isnanl_no_libm = yes \
- || test $gl_cv_func_isnanl_in_libm = yes; then
- save_LIBS="$LIBS"
+ if test $gl_cv_func_isnanl_no_libm = yes || test -n "$ISNANL_LIBM"; then
+ saved_LIBS="$LIBS"
LIBS="$LIBS $ISNANL_LIBM"
gl_FUNC_ISNANL_WORKS
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
case "$gl_cv_func_isnanl_works" in
*yes) gl_func_isnanl=yes ;;
*) gl_func_isnanl=no; ISNANL_LIBM= ;;
@@ -88,7 +87,7 @@ AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM],
AC_CACHE_CHECK([whether isnan(long double) can be used with libm],
[gl_cv_func_isnanl_in_libm],
[
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -104,7 +103,7 @@ AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM],
[[return isnanl (x);]])],
[gl_cv_func_isnanl_in_libm=yes],
[gl_cv_func_isnanl_in_libm=no])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
])
@@ -232,7 +231,7 @@ int main ()
[gl_cv_func_isnanl_works=yes],
[gl_cv_func_isnanl_works=no],
[case "$host_os" in
- mingw*) # Guess yes on mingw, no on MSVC.
+ mingw* | windows*) # Guess yes on mingw, no on MSVC.
AC_EGREP_CPP([Known], [
#ifdef __MINGW32__
Known
diff --git a/gnulib-m4/iswblank.m4 b/gnulib-m4/iswblank.m4
index ddecf9b8..e450f0bd 100644
--- a/gnulib-m4/iswblank.m4
+++ b/gnulib-m4/iswblank.m4
@@ -1,5 +1,5 @@
-# iswblank.m4 serial 5
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# iswblank.m4 serial 7
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,14 +10,18 @@ AC_DEFUN([gl_FUNC_ISWBLANK],
AC_REQUIRE([gl_WCTYPE_H])
dnl Persuade glibc <wctype.h> to declare iswblank().
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_FUNCS_ONCE([iswblank])
+ gl_CHECK_FUNCS_ANDROID([iswblank], [[#include <wctype.h>]])
AC_CHECK_DECLS([iswblank], , , [[
#include <wchar.h>
#include <wctype.h>
]])
if test $ac_cv_func_iswblank = no; then
HAVE_ISWBLANK=0
- if test $ac_cv_have_decl_iswblank = yes; then
+ if test $ac_cv_have_decl_iswblank = yes \
+ || case "$gl_cv_onwards_func_iswblank" in \
+ future*) true ;; \
+ *) false ;; \
+ esac; then
REPLACE_ISWBLANK=1
fi
fi
diff --git a/gnulib-m4/iswdigit.m4 b/gnulib-m4/iswdigit.m4
index 643c5b29..d13c1ae9 100644
--- a/gnulib-m4/iswdigit.m4
+++ b/gnulib-m4/iswdigit.m4
@@ -1,5 +1,5 @@
-# iswdigit.m4 serial 3
-dnl Copyright (C) 2020-2022 Free Software Foundation, Inc.
+# iswdigit.m4 serial 6
+dnl Copyright (C) 2020-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -12,6 +12,7 @@ AC_DEFUN([gl_FUNC_ISWDIGIT],
AC_REQUIRE([gt_LOCALE_JA])
AC_REQUIRE([gt_LOCALE_FR_UTF8])
AC_REQUIRE([gt_LOCALE_ZH_CN])
+ AC_REQUIRE([AC_CANONICAL_HOST])
if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
dnl <wctype.h> redefines iswdigit already.
@@ -25,7 +26,7 @@ AC_DEFUN([gl_FUNC_ISWDIGIT],
changequote(,)dnl
case "$host_os" in
# Guess no on FreeBSD, NetBSD, Solaris, native Windows.
- freebsd* | dragonfly* | netbsd* | solaris* | mingw*)
+ freebsd* | dragonfly* | netbsd* | solaris* | mingw* | windows*)
gl_cv_func_iswdigit_works="guessing no" ;;
# Guess yes otherwise.
*) gl_cv_func_iswdigit_works="guessing yes" ;;
@@ -63,7 +64,8 @@ main (int argc, char *argv[])
int is;
int result = 0;
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+ if (strcmp ("$LOCALE_FR", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR") != NULL)
{
/* This fails on mingw, MSVC 14. */
/* U+00B2 SUPERSCRIPT TWO */
@@ -71,7 +73,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 1;
}
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
/* This fails on NetBSD 8.0. */
/* U+FF11 FULLWIDTH DIGIT ONE */
@@ -79,7 +82,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 2;
}
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
/* This fails on FreeBSD 13.0, NetBSD 8.0, MSVC 14. */
/* U+0663 ARABIC-INDIC DIGIT THREE */
@@ -92,7 +96,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 8;
}
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
{
/* This fails on NetBSD 8.0, Solaris 10, Solaris 11.4. */
/* U+FF11 FULLWIDTH DIGIT ONE */
diff --git a/gnulib-m4/iswpunct.m4 b/gnulib-m4/iswpunct.m4
new file mode 100644
index 00000000..2be15aba
--- /dev/null
+++ b/gnulib-m4/iswpunct.m4
@@ -0,0 +1,48 @@
+# iswpunct.m4 serial 2
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_ISWPUNCT],
+[
+ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS])
+ AC_REQUIRE([gl_WCTYPE_H])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
+ dnl <wctype.h> redefines iswpunct already.
+ REPLACE_ISWPUNCT="$REPLACE_ISWCNTRL"
+ else
+ AC_CACHE_CHECK([whether iswpunct is consistent with ispunct],
+ [gl_cv_func_iswpunct_works],
+ [AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <ctype.h>
+#include <wchar.h>
+#include <wctype.h>
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ /* This fails on Android 11. */
+ if ((! iswpunct ('\`')) != (! ispunct ('\`')))
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_iswpunct_works=yes],
+ [gl_cv_func_iswpunct_works=no],
+ [case "$host_os" in
+ # Guess no on Android.
+ android*) gl_cv_func_iswpunct_works="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_iswpunct_works="guessing yes" ;;
+ esac
+ ])
+ ])
+ case "$gl_cv_func_iswpunct_works" in
+ *yes) ;;
+ *) REPLACE_ISWPUNCT=1 ;;
+ esac
+ fi
+])
diff --git a/gnulib-m4/iswxdigit.m4 b/gnulib-m4/iswxdigit.m4
index cc7c1a24..d42f0d13 100644
--- a/gnulib-m4/iswxdigit.m4
+++ b/gnulib-m4/iswxdigit.m4
@@ -1,5 +1,5 @@
-# iswxdigit.m4 serial 3
-dnl Copyright (C) 2020-2022 Free Software Foundation, Inc.
+# iswxdigit.m4 serial 6
+dnl Copyright (C) 2020-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,7 @@ AC_DEFUN([gl_FUNC_ISWXDIGIT],
AC_REQUIRE([gt_LOCALE_JA])
AC_REQUIRE([gt_LOCALE_FR_UTF8])
AC_REQUIRE([gt_LOCALE_ZH_CN])
+ AC_REQUIRE([AC_CANONICAL_HOST])
if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
dnl <wctype.h> redefines iswxdigit already.
@@ -24,7 +25,7 @@ AC_DEFUN([gl_FUNC_ISWXDIGIT],
changequote(,)dnl
case "$host_os" in
# Guess no on FreeBSD, NetBSD, Solaris, native Windows.
- freebsd* | dragonfly* | netbsd* | solaris* | mingw*)
+ freebsd* | dragonfly* | netbsd* | solaris* | mingw* | windows*)
gl_cv_func_iswxdigit_works="guessing no" ;;
# Guess yes otherwise.
*) gl_cv_func_iswxdigit_works="guessing yes" ;;
@@ -62,7 +63,8 @@ main (int argc, char *argv[])
int is;
int result = 0;
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
/* This fails on NetBSD 8.0. */
/* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */
@@ -70,7 +72,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 1;
}
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
/* This fails on FreeBSD 13.0. */
/* U+0663 ARABIC-INDIC DIGIT THREE */
@@ -83,7 +86,8 @@ main (int argc, char *argv[])
if (!(is == 0))
result |= 4;
}
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
{
/* This fails on Solaris 10, Solaris 11.4. */
/* U+FF11 FULLWIDTH DIGIT ONE */
diff --git a/gnulib-m4/langinfo_h.m4 b/gnulib-m4/langinfo_h.m4
index 563c8c43..888b1612 100644
--- a/gnulib-m4/langinfo_h.m4
+++ b/gnulib-m4/langinfo_h.m4
@@ -1,5 +1,5 @@
# langinfo_h.m4 serial 12
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/largefile.m4 b/gnulib-m4/largefile.m4
index ec9677c4..cbe9bc1f 100644
--- a/gnulib-m4/largefile.m4
+++ b/gnulib-m4/largefile.m4
@@ -1,7 +1,7 @@
# Enable large files on systems where this is not the default.
# Enable support for files on Linux file systems with 64-bit inode numbers.
-# Copyright 1992-1996, 1998-2022 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -10,10 +10,9 @@
# It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this
# setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko
# and ftello in C++ mode as well.
-# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038.
+# This problem occurs in Autoconf 2.71 and earlier, which lack AC_SYS_YEAR2038.
AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
-[
- m4_ifndef([AC_SYS_YEAR2038], [
+ m4_ifndef([AC_SYS_YEAR2038], [[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_FUNC_FSEEKO
case "$host_os" in
@@ -22,58 +21,264 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
[Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).])
;;
esac
- ])
+ ]])
+)
+
+m4_ifndef([AC_SYS_YEAR2038_RECOMMENDED], [
+# Support AC_SYS_YEAR2038_RECOMMENDED and related macros, even if
+# Autoconf 2.71 or earlier. This code is taken from Autoconf master.
+
+# _AC_SYS_YEAR2038_TEST_CODE
+# --------------------------
+# C code used to probe for time_t that can represent time points more
+# than 2**31 - 1 seconds after the epoch. With the usual Unix epoch,
+# these correspond to dates after 2038-01-18 22:14:07 +0000 (Gregorian),
+# hence the name.
+AC_DEFUN([_AC_SYS_YEAR2038_TEST_CODE],
+[[
+ #include <time.h>
+ /* Check that time_t can represent 2**32 - 1 correctly. */
+ #define LARGE_TIME_T \\
+ ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
+ int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
+ && LARGE_TIME_T % 65537 == 0)
+ ? 1 : -1];
+]])
+
+# _AC_SYS_YEAR2038_OPTIONS
+# ------------------------
+# List of known ways to enable support for large time_t. If you change
+# this list you probably also need to change the AS_CASE at the end of
+# _AC_SYS_YEAR2038_PROBE.
+m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
+ ["none needed"] dnl 64-bit and newer 32-bit Unix
+ ["-D_TIME_BITS=64"] dnl glibc 2.34 with some 32-bit ABIs
+ ["-D__MINGW_USE_VC2005_COMPAT"] dnl 32-bit MinGW
+ ["-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"]
+ dnl 32-bit MinGW (misconfiguration)
+))
+
+# _AC_SYS_YEAR2038_PROBE
+# ----------------------
+# Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent
+# time points more than 2**31 - 1 seconds after the epoch (dates after
+# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
+# to one of the values in the _AC_SYS_YEAR2038_OPTIONS list, or to
+# "support not detected" if none of them worked. Then, set compilation
+# options and #defines as necessary to enable large time_t support.
+#
+# Note that we do not test whether mktime, localtime, etc. handle
+# large values of time_t correctly, as that would require use of
+# AC_TRY_RUN. Note also that some systems only support large time_t
+# together with large off_t.
+#
+# If you change this macro you may also need to change
+# _AC_SYS_YEAR2038_OPTIONS.
+AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
+[AC_CACHE_CHECK([for $CC option for timestamps after 2038],
+ [ac_cv_sys_year2038_opts],
+ [ac_save_CPPFLAGS="$CPPFLAGS"
+ ac_opt_found=no
+ for ac_opt in _AC_SYS_YEAR2038_OPTIONS; do
+ AS_IF([test x"$ac_opt" != x"none needed"],
+ [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_YEAR2038_TEST_CODE])],
+ [ac_cv_sys_year2038_opts="$ac_opt"
+ ac_opt_found=yes])
+ test $ac_opt_found = no || break
+ done
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"])
+
+ac_have_year2038=yes
+AS_CASE([$ac_cv_sys_year2038_opts],
+ ["none needed"], [],
+ ["support not detected"],
+ [ac_have_year2038=no],
+
+ ["-D_TIME_BITS=64"],
+ [AC_DEFINE([_TIME_BITS], [64],
+ [Number of bits in time_t, on hosts where this is settable.])],
+
+ ["-D__MINGW_USE_VC2005_COMPAT"],
+ [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
+ [Define to 1 on platforms where this makes time_t a 64-bit type.])],
+
+ ["-U_USE_32_BIT_TIME_T"*],
+ [AC_MSG_FAILURE(m4_text_wrap(
+ [the 'time_t' type is currently forced to be 32-bit.
+ It will stop working after mid-January 2038.
+ Remove _USE_32BIT_TIME_T from the compiler flags.],
+ [], [], [55]))],
+
+ [AC_MSG_ERROR(
+ [internal error: bad value for \$ac_cv_sys_year2038_opts])])
])
-# Work around a problem in Autoconf through 2.71 on glibc 2.34+
-# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
-# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
-# or configures them incorrectly in some cases.
-m4_version_prereq([2.70], [], [
-
-# _AC_SYS_LARGEFILE_TEST_INCLUDES
-# -------------------------------
-m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
-[#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
+# _AC_SYS_YEAR2038_ENABLE
+# -----------------------
+# Depending on which of the YEAR2038 macros was used, add either an
+# --enable-year2038 or a --disable-year2038 to
+# the configure script. This is expanded very late and
+# therefore there cannot be any code in the AC_ARG_ENABLE. The
+# default value for 'enable_year2038' is emitted unconditionally
+# because the generated code always looks at this variable.
+m4_define([_AC_SYS_YEAR2038_ENABLE],
+[m4_divert_text([DEFAULTS],
+ m4_provide_if([AC_SYS_YEAR2038],
+ [enable_year2038=yes],
+ [enable_year2038=no]))]dnl
+[AC_ARG_ENABLE([year2038],
+ m4_provide_if([AC_SYS_YEAR2038],
+ [AS_HELP_STRING([--disable-year2038],
+ [don't support timestamps after 2038])],
+ [AS_HELP_STRING([--enable-year2038],
+ [support timestamps after 2038])]))])
+
+# AC_SYS_YEAR2038
+# ---------------
+# Attempt to detect and activate support for large time_t.
+# On systems where time_t is not always 64 bits, this probe can be
+# skipped by passing the --disable-year2038 option to configure.
+AC_DEFUN([AC_SYS_YEAR2038],
+[AC_REQUIRE([AC_SYS_LARGEFILE])dnl
+AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no],
+ [# If we're not cross compiling and 'touch' works with a large
+ # timestamp, then we can presume the system supports wider time_t
+ # *somehow* and we just weren't able to detect it. One common
+ # case that we deliberately *don't* probe for is a system that
+ # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
+ # wide time_t. (It would be inappropriate for us to override an
+ # intentional use of -m32.) Error out, demanding use of
+ # --disable-year2038 if this is intentional.
+ AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
+ [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
+ [*'Feb 7 2106'* | *'Feb 7 17:10'*],
+ [AC_MSG_FAILURE(m4_text_wrap(
+ [this system appears to support timestamps after mid-January 2038,
+ but no mechanism for enabling wide 'time_t' was detected.
+ Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
+ To proceed with 32-bit time_t, configure with '--disable-year2038'.],
+ [], [], [55]))])])])])
+
+# AC_SYS_YEAR2038_RECOMMENDED
+# ---------------------------
+# Same as AC_SYS_YEAR2038, but recommend support for large time_t.
+# If we cannot find any way to make time_t capable of representing
+# values larger than 2**31 - 1, error out unless --disable-year2038 is given.
+AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
+[AC_REQUIRE([AC_SYS_YEAR2038])dnl
+AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
+ [AC_MSG_FAILURE(m4_text_wrap(
+ [could not enable timestamps after mid-January 2038.
+ This package recommends support for these later timestamps.
+ However, to proceed with signed 32-bit time_t even though it
+ will fail then, configure with '--disable-year2038'.],
+ [], [], [55]))])])
+
+# _AC_SYS_LARGEFILE_TEST_CODE
+# ---------------------------
+# C code used to probe for large file support.
+m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
+[@%:@include <sys/types.h>
+@%:@ifndef FTYPE
+@%:@ define FTYPE off_t
+@%:@endif
+ /* Check that FTYPE can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_FTYPE to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1]];[]dnl
+@%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31))
+ int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721
+ && LARGE_FTYPE % 2147483647 == 1)
+ ? 1 : -1]];[]dnl
])
-])# m4_version_prereq 2.70
-
-m4_ifndef([AC_SYS_YEAR2038], [
-
-# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
-# CACHE-VAR,
-# DESCRIPTION,
-# PROLOGUE, [FUNCTION-BODY])
-# --------------------------------------------------------
-m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
-[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
-[while :; do
- m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
- [AC_LANG_PROGRAM([$5], [$6])],
- [$3=no; break])
- m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
- [AC_LANG_PROGRAM([#undef $1
-#define $1 $2
-$5], [$6])],
- [$3=$2; break])
- $3=unknown
- break
-done])
-case $$3 in #(
- no | unknown) ;;
- *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
-esac
-rm -rf conftest*[]dnl
-])# _AC_SYS_LARGEFILE_MACRO_VALUE
+# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
+m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE])
+
+# _AC_SYS_LARGEFILE_OPTIONS
+# -------------------------
+# List of known ways to enable support for large files. If you change
+# this list you probably also need to change the AS_CASE at the end of
+# _AC_SYS_LARGEFILE_PROBE.
+m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
+ ["none needed"] dnl Most current systems
+ ["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec
+ ["-D_LARGE_FILES=1"] dnl 32-bit AIX 4.2.1+, 32-bit z/OS
+ ["-n32"] dnl 32-bit IRIX 6, SGI cc (obsolete)
+))
+
+# _AC_SYS_LARGEFILE_PROBE
+# -----------------------
+# Subroutine of AC_SYS_LARGEFILE. Probe for large file support and set
+# the cache variable ac_cv_sys_largefile_opts to one of the values in
+# the _AC_SYS_LARGEFILE_OPTIONS list, or to "support not detected" if
+# none of the options in that list worked. Then, set compilation
+# options and #defines as necessary to enable large file support.
+#
+# If large file support is not detected, the behavior depends on which of
+# the top-level AC_SYS_LARGEFILE macros was used (see below).
+#
+# If you change this macro you may also need to change
+# _AC_SYS_LARGEFILE_OPTIONS.
+AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
+[AC_CACHE_CHECK([for $CC option to enable large file support],
+ [ac_cv_sys_largefile_opts],
+ [ac_save_CC="$CC"
+ ac_opt_found=no
+ for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do
+ AS_IF([test x"$ac_opt" != x"none needed"],
+ [CC="$ac_save_CC $ac_opt"])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
+ [AS_IF([test x"$ac_opt" = x"none needed"],
+ [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
+ CC="$CC -DFTYPE=ino_t"
+ AC_COMPILE_IFELSE([], [],
+ [CC="$CC -D_FILE_OFFSET_BITS=64"
+ AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])])
+ ac_cv_sys_largefile_opts=$ac_opt
+ ac_opt_found=yes])
+ test $ac_opt_found = no || break
+ done
+ CC="$ac_save_CC"
+ dnl Gnulib implements large file support for native Windows, based on the
+ dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE.
+ m4_ifdef([gl_LARGEFILE], [
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ if test $ac_opt_found != yes; then
+ AS_CASE([$host_os],
+ [mingw* | windows*],
+ [ac_cv_sys_largefile_opts="supported through gnulib"
+ ac_opt_found=yes]
+ )
+ fi
+ ])
+ test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
+
+ac_have_largefile=yes
+AS_CASE([$ac_cv_sys_largefile_opts],
+ ["none needed"], [],
+ ["supported through gnulib"], [],
+ ["support not detected"],
+ [ac_have_largefile=no],
+
+ ["-D_FILE_OFFSET_BITS=64"],
+ [AC_DEFINE([_FILE_OFFSET_BITS], [64],
+ [Number of bits in a file offset, on hosts where this is settable.])],
+
+ ["-D_LARGE_FILES=1"],
+ [AC_DEFINE([_LARGE_FILES], [1],
+ [Define to 1 on platforms where this makes off_t a 64-bit type.])],
+
+ ["-n32"],
+ [CC="$CC -n32"],
+
+ [AC_MSG_ERROR(
+ [internal error: bad value for \$ac_cv_sys_largefile_opts])])
+AS_IF([test "$enable_year2038" != no],
+ [_AC_SYS_YEAR2038_PROBE])
+AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
# AC_SYS_LARGEFILE
# ----------------
@@ -85,44 +290,12 @@ rm -rf conftest*[]dnl
# to have a 64-bit inode number cannot be accessed by 32-bit applications on
# Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
AC_DEFUN([AC_SYS_LARGEFILE],
-[AC_ARG_ENABLE(largefile,
- [ --disable-largefile omit support for large files])
-AS_IF([test "$enable_largefile" != no],
- [AC_CACHE_CHECK([for special C compiler options needed for large files],
- ac_cv_sys_largefile_CC,
- [ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
- AC_COMPILE_IFELSE([], [break])
- CC="$CC -n32"
- AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi])
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
- ac_cv_sys_file_offset_bits,
- [Number of bits in a file offset, on hosts where this is settable.],
- [_AC_SYS_LARGEFILE_TEST_INCLUDES])
- AS_CASE([$ac_cv_sys_file_offset_bits],
- [unknown],
- [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1],
- [ac_cv_sys_large_files],
- [Define for large files, on AIX-style hosts.],
- [_AC_SYS_LARGEFILE_TEST_INCLUDES])],
- [64],
- [gl_YEAR2038_BODY([])])])
-])# AC_SYS_LARGEFILE
-])# m4_ifndef AC_SYS_YEAR2038
+[AC_ARG_ENABLE([largefile],
+ [AS_HELP_STRING([--disable-largefile],
+ [omit support for large files])])dnl
+AS_IF([test "$enable_largefile,$enable_year2038" != no,no],
+ [_AC_SYS_LARGEFILE_PROBE])])
+])# m4_ifndef AC_SYS_YEAR2038_RECOMMENDED
# Enable large files on systems where this is implemented by Gnulib, not by the
# system headers.
@@ -132,7 +305,7 @@ AC_DEFUN([gl_LARGEFILE],
[
AC_REQUIRE([AC_CANONICAL_HOST])
case "$host_os" in
- mingw*)
+ mingw* | windows*)
dnl Native Windows.
dnl mingw64 defines off_t to a 64-bit type already, if
dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE.
diff --git a/gnulib-m4/lcmessage.m4 b/gnulib-m4/lcmessage.m4
index 1a3eefe7..7f4646cd 100644
--- a/gnulib-m4/lcmessage.m4
+++ b/gnulib-m4/lcmessage.m4
@@ -1,5 +1,5 @@
# lcmessage.m4 serial 8
-dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019-2022 Free
+dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019-2024 Free
dnl Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gnulib-m4/ldexpl.m4 b/gnulib-m4/ldexpl.m4
index 06d30f71..92fa523c 100644
--- a/gnulib-m4/ldexpl.m4
+++ b/gnulib-m4/ldexpl.m4
@@ -1,5 +1,5 @@
-# ldexpl.m4 serial 17
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# ldexpl.m4 serial 19
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -24,7 +24,7 @@ AC_DEFUN([gl_FUNC_LDEXPL],
AC_CACHE_CHECK([whether ldexpl() can be used with libm],
[gl_cv_func_ldexpl_in_libm],
[
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -33,7 +33,7 @@ AC_DEFUN([gl_FUNC_LDEXPL],
[[return ldexpl (x, -1) > 0;]])],
[gl_cv_func_ldexpl_in_libm=yes],
[gl_cv_func_ldexpl_in_libm=no])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
if test $gl_cv_func_ldexpl_in_libm = yes; then
LDEXPL_LIBM=-lm
@@ -41,10 +41,10 @@ AC_DEFUN([gl_FUNC_LDEXPL],
fi
if test $gl_cv_func_ldexpl_no_libm = yes \
|| test $gl_cv_func_ldexpl_in_libm = yes; then
- save_LIBS="$LIBS"
+ saved_LIBS="$LIBS"
LIBS="$LIBS $LDEXPL_LIBM"
gl_FUNC_LDEXPL_WORKS
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
case "$gl_cv_func_ldexpl_works" in
*yes) gl_func_ldexpl=yes ;;
*) gl_func_ldexpl=no; REPLACE_LDEXPL=1 ;;
@@ -124,10 +124,10 @@ int main()
[
changequote(,)dnl
case "$host_os" in
- aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_ldexpl_works="guessing yes" ;;
- *) gl_cv_func_ldexpl_works="guessing yes" ;;
+ aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_ldexpl_works="guessing yes" ;;
+ *) gl_cv_func_ldexpl_works="guessing yes" ;;
esac
changequote([,])dnl
])
diff --git a/gnulib-m4/lib-ld.m4 b/gnulib-m4/lib-ld.m4
index 934207a7..b17e0fda 100644
--- a/gnulib-m4/lib-ld.m4
+++ b/gnulib-m4/lib-ld.m4
@@ -1,5 +1,5 @@
-# lib-ld.m4 serial 10
-dnl Copyright (C) 1996-2003, 2009-2022 Free Software Foundation, Inc.
+# lib-ld.m4 serial 13
+dnl Copyright (C) 1996-2003, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -29,7 +29,7 @@ AC_DEFUN([AC_LIB_PROG_LD],
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
+ [AS_HELP_STRING([[--with-gnu-ld]],
[assume the C compiler uses GNU ld [default=no]])],
[test "$withval" = no || with_gnu_ld=yes],
[with_gnu_ld=no])dnl
@@ -67,7 +67,7 @@ else
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
case $host in
- *-*-mingw*)
+ *-*-mingw* | windows*)
# gcc leaves a trailing carriage return which upsets mingw
acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
@@ -97,9 +97,9 @@ else
fi
if test -n "$ac_prog"; then
# Search for $ac_prog in $PATH.
- acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ acl_saved_IFS="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$acl_save_ifs"
+ IFS="$acl_saved_IFS"
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
acl_cv_path_LD="$ac_dir/$ac_prog"
@@ -116,7 +116,7 @@ else
esac
fi
done
- IFS="$acl_save_ifs"
+ IFS="$acl_saved_IFS"
fi
case $host in
*-*-aix*)
diff --git a/gnulib-m4/lib-link.m4 b/gnulib-m4/lib-link.m4
index 3b75bcd0..1a7c1273 100644
--- a/gnulib-m4/lib-link.m4
+++ b/gnulib-m4/lib-link.m4
@@ -1,5 +1,5 @@
-# lib-link.m4 serial 33
-dnl Copyright (C) 2001-2022 Free Software Foundation, Inc.
+# lib-link.m4 serial 34
+dnl Copyright (C) 2001-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -69,11 +69,11 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
dnl because if the user has installed lib[]Name and not disabled its use
dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
+ acl_saved_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
+ acl_saved_LIBS="$LIBS"
dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
dnl because these -l options might require -L options that are present in
dnl LIBS. -l options benefit only from the -L options listed before it.
@@ -89,7 +89,7 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
[AC_LANG_PROGRAM([[$3]], [[$4]])],
[ac_cv_lib[]Name=yes],
[ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
- LIBS="$ac_save_LIBS"
+ LIBS="$acl_saved_LIBS"
])
if test "$ac_cv_lib[]Name" = yes; then
HAVE_LIB[]NAME=yes
@@ -100,7 +100,7 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
HAVE_LIB[]NAME=no
dnl If $LIB[]NAME didn't lead to a usable library, we don't need
dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
+ CPPFLAGS="$acl_saved_CPPFLAGS"
LIB[]NAME=
LTLIB[]NAME=
LIB[]NAME[]_PREFIX=
@@ -224,7 +224,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
additional_libdir3=
fi
dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
+ dnl $LDFLAGS. Use breadth-first search.
LIB[]NAME=
LTLIB[]NAME=
INC[]NAME=
@@ -537,12 +537,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl Read the .la file. It defines the variables
dnl dlname, library_names, old_library, dependency_libs, current,
dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
+ saved_libdir="$libdir"
case "$found_la" in
*/* | *\\*) . "$found_la" ;;
*) . "./$found_la" ;;
esac
- libdir="$save_libdir"
+ libdir="$saved_libdir"
dnl We use only dependency_libs.
for dep in $dependency_libs; do
case "$dep" in
@@ -682,18 +682,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
+ acl_saved_libdir="$libdir"
libdir="$alldirs"
eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
+ libdir="$acl_saved_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
else
dnl The -rpath options are cumulative.
for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
+ acl_saved_libdir="$libdir"
libdir="$found_dir"
eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
+ libdir="$acl_saved_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
done
fi
@@ -790,18 +790,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
for dir in $rpathdirs; do
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
done
- acl_save_libdir="$libdir"
+ acl_saved_libdir="$libdir"
libdir="$alldirs"
eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
+ libdir="$acl_saved_libdir"
$1="$flag"
else
dnl The -rpath options are cumulative.
for dir in $rpathdirs; do
- acl_save_libdir="$libdir"
+ acl_saved_libdir="$libdir"
libdir="$dir"
eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
+ libdir="$acl_saved_libdir"
$1="${$1}${$1:+ }$flag"
done
fi
diff --git a/gnulib-m4/lib-prefix.m4 b/gnulib-m4/lib-prefix.m4
index 999f712f..f327c6ef 100644
--- a/gnulib-m4/lib-prefix.m4
+++ b/gnulib-m4/lib-prefix.m4
@@ -1,5 +1,5 @@
-# lib-prefix.m4 serial 20
-dnl Copyright (C) 2001-2005, 2008-2022 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 22
+dnl Copyright (C) 2001-2005, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -126,10 +126,10 @@ AC_DEFUN([AC_LIB_PREPARE_PREFIX],
else
acl_final_exec_prefix="$exec_prefix"
fi
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
+ prefix="$acl_saved_prefix"
])
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
@@ -137,13 +137,13 @@ dnl variables prefix and exec_prefix bound to the values they will have
dnl at the end of the configure script.
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
[
- acl_save_prefix="$prefix"
+ acl_saved_prefix="$prefix"
prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
+ acl_saved_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
$1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ exec_prefix="$acl_saved_exec_prefix"
+ prefix="$acl_saved_prefix"
])
dnl AC_LIB_PREPARE_MULTILIB creates
@@ -256,6 +256,15 @@ changequote([,])dnl
esac
fi
;;
+ netbsd*)
+ dnl On NetBSD/sparc64, there is a 'sparc' subdirectory that contains
+ dnl 32-bit libraries.
+ if test $HOST_CPU_C_ABI_32BIT != no; then
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparc ;;
+ esac
+ fi
+ ;;
*)
dnl If $CC generates code for a 32-bit ABI, the libraries are
dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64.
@@ -280,7 +289,7 @@ changequote([,])dnl
fi
fi
if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
+ acl_saved_IFS="${IFS= }"; IFS=":"
for searchdir in $searchpath; do
if test -d "$searchdir"; then
case "$searchdir" in
@@ -297,7 +306,7 @@ changequote([,])dnl
esac
fi
done
- IFS="$acl_save_IFS"
+ IFS="$acl_saved_IFS"
if test $HOST_CPU_C_ABI_32BIT = yes; then
# 32-bit ABI.
acl_libdirstem3=
diff --git a/gnulib-m4/libunistring-base.m4 b/gnulib-m4/libunistring-base.m4
index a0892da4..7c3f65ea 100644
--- a/gnulib-m4/libunistring-base.m4
+++ b/gnulib-m4/libunistring-base.m4
@@ -1,5 +1,5 @@
-# libunistring-base.m4 serial 7
-dnl Copyright (C) 2010-2022 Free Software Foundation, Inc.
+# libunistring-base.m4 serial 8
+dnl Copyright (C) 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -18,6 +18,8 @@ dnl You have to bump the VERSION argument to the next projected version
dnl number each time you make a change that affects the behaviour of the
dnl functions defined in Module (even if the sources of Module itself do not
dnl change).
+dnl
+dnl This macro invocation must not occur in macros that are AC_REQUIREd.
AC_DEFUN([gl_LIBUNISTRING_MODULE],
[
@@ -28,6 +30,35 @@ AC_DEFUN([gl_LIBUNISTRING_MODULE],
[gl_LIBUNISTRING_VERSION_CMP([$1])])
])
+dnl gl_LIBUNISTRING_MODULE_WITH_VARIABLE([VERSION], [Module])
+dnl is like gl_LIBUNISTRING_MODULE([VERSION], [Module]), except that it also
+dnl defines an AC_SUBSTed autoconf variable GNULIB_$MODULE_DLL_VARIABLE.
+dnl What's the expansion of this autoconf variable?
+dnl - When building libunistring, it expands to LIBUNISTRING_DLL_VARIABLE.
+dnl (This is necessary because this token must be present in the .h files
+dnl when the .h files get installed.)
+dnl - When building gnulib or application code it expands to
+dnl - LIBUNISTRING_DLL_VARIABLE by default,
+dnl - empty if the automake conditional LIBUNISTRING_COMPILE_$MODULE
+dnl evaluates to true.
+dnl (This is necessary because when the conditional evaluates to false,
+dnl the application code expects to use the declared variable from the
+dnl installed libunistring; it's in this case that the
+dnl LIBUNISTRING_DLL_VARIABLE macro from the installed
+dnl <unistring/woe32dll.h> must be used.)
+dnl
+dnl This macro invocation must not occur in macros that are AC_REQUIREd.
+
+AC_DEFUN([gl_LIBUNISTRING_MODULE_WITH_VARIABLE],
+[
+ gl_LIBUNISTRING_MODULE([$1], [$2])
+ m4_ifndef([gl_IN_LIBUNISTRING],
+ [if test -z "${AS_TR_CPP([LIBUNISTRING_COMPILE_$2])_TRUE}"; then
+ GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]AS_TR_CPP([$2_DLL_VARIABLE])=
+ fi
+ ])
+])
+
dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
dnl Declares that HeaderFile should be created, unless we are linking
dnl with libunistring and its version is >= the given VERSION.
@@ -95,6 +126,26 @@ changequote([,])
LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
fi
+
+ dnl Determine whether <unistring/woe32dll.h> from an installed libunistring
+ dnl is available.
+ m4_ifdef([gl_IN_LIBUNISTRING],
+ [dnl In libunistring, all .h files that declare variables need to
+ dnl #include <unistring/woe32dll.h>. This references the file
+ dnl unistring/woe32dll.h in libunistring.
+ HAVE_UNISTRING_WOE32DLL_H=1
+ ],
+ [dnl In gnulib or in applications, we need a #include <unistring/woe32dll.h>
+ dnl if and only if an installed libunistring is available.
+ if test "$HAVE_LIBUNISTRING" = yes; then
+ AC_CHECK_HEADERS([unistring/woe32dll.h],
+ [HAVE_UNISTRING_WOE32DLL_H=1],
+ [HAVE_UNISTRING_WOE32DLL_H=0])
+ else
+ HAVE_UNISTRING_WOE32DLL_H=0
+ fi
+ ])
+ AC_SUBST([HAVE_UNISTRING_WOE32DLL_H])
])
dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
diff --git a/gnulib-m4/limits-h.m4 b/gnulib-m4/limits-h.m4
index 5d5a5bf5..18253283 100644
--- a/gnulib-m4/limits-h.m4
+++ b/gnulib-m4/limits-h.m4
@@ -1,6 +1,6 @@
dnl Check whether limits.h has needed features.
-dnl Copyright 2016-2022 Free Software Foundation, Inc.
+dnl Copyright 2016-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -23,14 +23,27 @@ AC_DEFUN_ONCE([gl_LIMITS_H],
int wb = WORD_BIT;
int ullw = ULLONG_WIDTH;
int bw = BOOL_WIDTH;
+ int bm = BOOL_MAX;
+ int mblm = MB_LEN_MAX;
]])],
[gl_cv_header_limits_width=yes],
[gl_cv_header_limits_width=no])])
- if test "$gl_cv_header_limits_width" = yes; then
- GL_GENERATE_LIMITS_H=false
- else
- GL_GENERATE_LIMITS_H=true
- fi
+ GL_GENERATE_LIMITS_H=true
+ AS_IF([test "$gl_cv_header_limits_width" = yes],
+ [AC_CACHE_CHECK([whether limits.h has SSIZE_MAX],
+ [gl_cv_header_limits_ssize_max],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+ [[#include <limits.h>
+ #ifndef SSIZE_MAX
+ #error "SSIZE_MAX is not defined"
+ #endif
+ ]])],
+ [gl_cv_header_limits_ssize_max=yes],
+ [gl_cv_header_limits_ssize_max=no])])
+ if test "$gl_cv_header_limits_ssize_max" = yes; then
+ GL_GENERATE_LIMITS_H=false
+ fi])
])
dnl Unconditionally enables the replacement of <limits.h>.
diff --git a/gnulib-m4/localcharset.m4 b/gnulib-m4/localcharset.m4
index f5dbbd4f..abf07dc3 100644
--- a/gnulib-m4/localcharset.m4
+++ b/gnulib-m4/localcharset.m4
@@ -1,5 +1,5 @@
# localcharset.m4 serial 8
-dnl Copyright (C) 2002, 2004, 2006, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/locale-ar.m4 b/gnulib-m4/locale-ar.m4
index 574311da..e7d23f44 100644
--- a/gnulib-m4/locale-ar.m4
+++ b/gnulib-m4/locale-ar.m4
@@ -1,5 +1,5 @@
-# locale-ar.m4 serial 9
-dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc.
+# locale-ar.m4 serial 11
+dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Ben Pfaff, based on locale-fr.m4 by Bruno Haible.
dnl Determine the name of an Arabic locale with traditional encoding.
-AC_DEFUN([gt_LOCALE_AR],
+AC_DEFUN_ONCE([gt_LOCALE_AR],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
@@ -69,7 +69,7 @@ int main () {
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
# "ja" as "Japanese" or "Japanese_Japan.932",
# and similar.
- mingw*)
+ mingw* | windows*)
# Note that on native Windows, the Arabic locale is
# "Arabic_Saudi Arabia.1256", and CP1256 is very different from
# ISO-8859-6, so we cannot use it here.
@@ -100,5 +100,11 @@ int main () {
rm -fr conftest*
])
LOCALE_AR=$gt_cv_locale_ar
+ case $LOCALE_AR in #(
+ '' | *[[[:space:]\"\$\'*@<:@]]*)
+ dnl This locale name might cause trouble with sh or make.
+ AC_MSG_WARN([invalid locale "$LOCALE_AR"; assuming "none"])
+ LOCALE_AR=none;;
+ esac
AC_SUBST([LOCALE_AR])
])
diff --git a/gnulib-m4/locale-fr.m4 b/gnulib-m4/locale-fr.m4
index 3753891f..c9528562 100644
--- a/gnulib-m4/locale-fr.m4
+++ b/gnulib-m4/locale-fr.m4
@@ -1,5 +1,5 @@
-# locale-fr.m4 serial 20
-dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc.
+# locale-fr.m4 serial 23
+dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Determine the name of a french locale with traditional encoding.
-AC_DEFUN([gt_LOCALE_FR],
+AC_DEFUN_ONCE([gt_LOCALE_FR],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
@@ -86,7 +86,7 @@ int main () {
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
# "ja" as "Japanese" or "Japanese_Japan.932",
# and similar.
- mingw*)
+ mingw* | windows*)
# Test for the native Windows locale name.
if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
gt_cv_locale_fr=French_France.1252
@@ -133,15 +133,31 @@ int main () {
rm -fr conftest*
])
LOCALE_FR=$gt_cv_locale_fr
+ case $LOCALE_FR in #(
+ '' | *[[[:space:]\"\$\'*@<:@]]*)
+ dnl This locale name might cause trouble with sh or make.
+ AC_MSG_WARN([invalid locale "$LOCALE_FR"; assuming "none"])
+ LOCALE_FR=none;;
+ esac
AC_SUBST([LOCALE_FR])
])
dnl Determine the name of a french locale with UTF-8 encoding.
-AC_DEFUN([gt_LOCALE_FR_UTF8],
+AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8],
[
+ AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [
- AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+ case "$host_os" in
+ *-musl* | midipix*)
+ dnl On musl libc, all kinds of ll_CC.UTF-8 locales exist, even without
+ dnl any locale file on disk. But they are effectively equivalent to the
+ dnl C.UTF-8 locale, except for locale categories (such as LC_MESSSAGES)
+ dnl for which localizations (.mo files) have been installed.
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ ;;
+ *)
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[
#include <locale.h>
#include <time.h>
#if HAVE_LANGINFO_CODESET
@@ -203,51 +219,82 @@ int main () {
#endif
return 0;
}
- ]])])
- if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- case "$host_os" in
- # Handle native Windows specially, because there setlocale() interprets
- # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
- # "fr" or "fra" as "French" or "French_France.1252",
- # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
- # "ja" as "Japanese" or "Japanese_Japan.932",
- # and similar.
- mingw*)
- # Test for the hypothetical native Windows locale name.
- if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=French_France.65001
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- ;;
- *)
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
+ ]])])
+ if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw* | windows*)
+ # Test for the hypothetical native Windows locale name.
+ if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=French_France.65001
else
# None found.
gt_cv_locale_fr_utf8=none
fi
- fi
- fi
- ;;
- esac
- fi
- rm -fr conftest*
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ;;
+ esac
])
LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+ case $LOCALE_FR_UTF8 in #(
+ '' | *[[[:space:]\"\$\'*@<:@]]*)
+ dnl This locale name might cause trouble with sh or make.
+ AC_MSG_WARN([invalid locale "$LOCALE_FR_UTF8"; assuming "none"])
+ LOCALE_FR_UTF8=none;;
+ esac
AC_SUBST([LOCALE_FR_UTF8])
+
+ dnl Users of $LOCALE_FR_UTF8 need to know which of the locale categories they
+ dnl can rely on.
+ case "$host_os" in
+ *-musl* | midipix*)
+ dnl On musl libc, locale categories other than LC_CTYPE and LC_MESSAGES
+ dnl are effectively unimplemented.
+ LC_COLLATE_IMPLEMENTED=false
+ LC_NUMERIC_IMPLEMENTED=false
+ LC_TIME_IMPLEMENTED=false
+ LC_MONETARY_IMPLEMENTED=false
+ ;;
+ *)
+ LC_COLLATE_IMPLEMENTED=true
+ LC_NUMERIC_IMPLEMENTED=true
+ LC_TIME_IMPLEMENTED=true
+ LC_MONETARY_IMPLEMENTED=true
+ ;;
+ esac
+ AC_SUBST([LC_COLLATE_IMPLEMENTED])
+ AC_SUBST([LC_NUMERIC_IMPLEMENTED])
+ AC_SUBST([LC_TIME_IMPLEMENTED])
+ AC_SUBST([LC_MONETARY_IMPLEMENTED])
])
diff --git a/gnulib-m4/locale-ja.m4 b/gnulib-m4/locale-ja.m4
index 73a5d1ae..71a9863b 100644
--- a/gnulib-m4/locale-ja.m4
+++ b/gnulib-m4/locale-ja.m4
@@ -1,5 +1,5 @@
-# locale-ja.m4 serial 15
-dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc.
+# locale-ja.m4 serial 18
+dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Determine the name of a japanese locale with EUC-JP encoding.
-AC_DEFUN([gt_LOCALE_JA],
+AC_DEFUN_ONCE([gt_LOCALE_JA],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
@@ -90,7 +90,7 @@ int main ()
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
# "ja" as "Japanese" or "Japanese_Japan.932",
# and similar.
- mingw*)
+ mingw* | windows*)
# Note that on native Windows, the Japanese locale is
# Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
# cannot use it here.
@@ -139,5 +139,11 @@ int main ()
rm -fr conftest*
])
LOCALE_JA=$gt_cv_locale_ja
+ case $LOCALE_JA in #(
+ '' | *[[[:space:]\"\$\'*@<:@]]*)
+ dnl This locale name might cause trouble with sh or make.
+ AC_MSG_WARN([invalid locale "$LOCALE_JA"; assuming "none"])
+ LOCALE_JA=none;;
+ esac
AC_SUBST([LOCALE_JA])
])
diff --git a/gnulib-m4/locale-tr.m4 b/gnulib-m4/locale-tr.m4
index 4b99e67d..b68e429a 100644
--- a/gnulib-m4/locale-tr.m4
+++ b/gnulib-m4/locale-tr.m4
@@ -1,5 +1,5 @@
-# locale-tr.m4 serial 13
-dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc.
+# locale-tr.m4 serial 15
+dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Determine the name of a turkish locale with UTF-8 encoding.
-AC_DEFUN([gt_LOCALE_TR_UTF8],
+AC_DEFUN_ONCE([gt_LOCALE_TR_UTF8],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
@@ -83,7 +83,7 @@ int main () {
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
# "ja" as "Japanese" or "Japanese_Japan.932",
# and similar.
- mingw*)
+ mingw* | windows*)
# Test for the hypothetical native Windows locale name.
if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
gt_cv_locale_tr_utf8=Turkish_Turkey.65001
@@ -122,5 +122,11 @@ int main () {
rm -fr conftest*
])
LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
+ case $LOCALE_TR_UTF8 in #(
+ '' | *[[[:space:]\"\$\'*@<:@]]*)
+ dnl This locale name might cause trouble with sh or make.
+ AC_MSG_WARN([invalid locale "$LOCALE_TR_UTF8"; assuming "none"])
+ LOCALE_TR_UTF8=none;;
+ esac
AC_SUBST([LOCALE_TR_UTF8])
])
diff --git a/gnulib-m4/locale-zh.m4 b/gnulib-m4/locale-zh.m4
index c997971f..f1a58c63 100644
--- a/gnulib-m4/locale-zh.m4
+++ b/gnulib-m4/locale-zh.m4
@@ -1,5 +1,5 @@
-# locale-zh.m4 serial 15
-dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc.
+# locale-zh.m4 serial 18
+dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Determine the name of a chinese locale with GB18030 encoding.
-AC_DEFUN([gt_LOCALE_ZH_CN],
+AC_DEFUN_ONCE([gt_LOCALE_ZH_CN],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
@@ -91,7 +91,7 @@ int main ()
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
# "ja" as "Japanese" or "Japanese_Japan.932",
# and similar.
- mingw*)
+ mingw* | windows*)
# Test for the hypothetical native Windows locale name.
if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
gt_cv_locale_zh_CN=Chinese_China.54936
@@ -133,5 +133,11 @@ int main ()
rm -fr conftest*
])
LOCALE_ZH_CN=$gt_cv_locale_zh_CN
+ case $LOCALE_ZH_CN in #(
+ '' | *[[[:space:]\"\$\'*@<:@]]*)
+ dnl This locale name might cause trouble with sh or make.
+ AC_MSG_WARN([invalid locale "$LOCALE_ZH_CN"; assuming "none"])
+ LOCALE_ZH_CN=none;;
+ esac
AC_SUBST([LOCALE_ZH_CN])
])
diff --git a/gnulib-m4/locale_h.m4 b/gnulib-m4/locale_h.m4
index ca5d0d0f..c47e3f6f 100644
--- a/gnulib-m4/locale_h.m4
+++ b/gnulib-m4/locale_h.m4
@@ -1,5 +1,5 @@
-# locale_h.m4 serial 28
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+# locale_h.m4 serial 31
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -59,7 +59,9 @@ AC_DEFUN_ONCE([gl_LOCALE_H],
dnl On native Windows with MSVC, merely define these member names as macros.
dnl This avoids trouble in C++ mode.
case "$host_os" in
- mingw*)
+ windows*-msvc*)
+ ;;
+ mingw* | windows*)
AC_EGREP_CPP([Special], [
#ifdef _MSC_VER
Special
@@ -152,7 +154,7 @@ AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME_UNSAFE])
])
m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS])
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
diff --git a/gnulib-m4/localename.m4 b/gnulib-m4/localename.m4
index e0cf8c5c..d91fd5de 100644
--- a/gnulib-m4/localename.m4
+++ b/gnulib-m4/localename.m4
@@ -1,10 +1,10 @@
-# localename.m4 serial 8
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+# localename.m4 serial 12
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_LOCALENAME],
+AC_DEFUN([gl_LOCALENAME_UNSAFE],
[
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
AC_REQUIRE([gl_LOCALE_T])
@@ -13,25 +13,39 @@ AC_DEFUN([gl_LOCALENAME],
AC_REQUIRE([gt_INTL_MACOSX])
AC_CHECK_HEADERS_ONCE([langinfo.h])
if test $HAVE_LOCALE_T = 1; then
- AC_CHECK_FUNCS_ONCE([newlocale duplocale freelocale])
+ gl_CHECK_FUNCS_ANDROID([newlocale], [[#include <locale.h>]])
+ gl_CHECK_FUNCS_ANDROID([duplocale], [[#include <locale.h>]])
+ gl_CHECK_FUNCS_ANDROID([freelocale], [[#include <locale.h>]])
gl_func_newlocale="$ac_cv_func_newlocale"
gl_func_duplocale="$ac_cv_func_duplocale"
gl_func_freelocale="$ac_cv_func_freelocale"
else
dnl In 2019, some versions of z/OS lack the locale_t type and have broken
dnl newlocale, duplocale, freelocale functions.
+ gl_cv_onwards_func_newlocale='future OS version'
+ gl_cv_onwards_func_duplocale='future OS version'
+ gl_cv_onwards_func_freelocale='future OS version'
gl_func_newlocale=no
gl_func_duplocale=no
gl_func_freelocale=no
fi
if test $gl_func_newlocale != yes; then
HAVE_NEWLOCALE=0
+ case "$gl_cv_onwards_func_newlocale" in
+ future*) REPLACE_NEWLOCALE=1 ;;
+ esac
fi
if test $gl_func_duplocale != yes; then
HAVE_DUPLOCALE=0
+ case "$gl_cv_onwards_func_duplocale" in
+ future*) REPLACE_DUPLOCALE=1 ;;
+ esac
fi
if test $gl_func_freelocale != yes; then
HAVE_FREELOCALE=0
+ case "$gl_cv_onwards_func_freelocale" in
+ future*) REPLACE_FREELOCALE=1 ;;
+ esac
fi
if test $gt_localename_enhances_locale_funcs = yes; then
REPLACE_NEWLOCALE=1
@@ -39,3 +53,9 @@ AC_DEFUN([gl_LOCALENAME],
REPLACE_FREELOCALE=1
fi
])
+
+AC_DEFUN([gl_LOCALENAME_UNSAFE_LIMITED],
+[
+ AC_REQUIRE([gt_LC_MESSAGES])
+ AC_REQUIRE([gt_INTL_THREAD_LOCALE_NAME])
+])
diff --git a/gnulib-m4/lock.m4 b/gnulib-m4/lock.m4
index c4cbf07b..2ca3bf2f 100644
--- a/gnulib-m4/lock.m4
+++ b/gnulib-m4/lock.m4
@@ -1,5 +1,5 @@
# lock.m4 serial 14
-dnl Copyright (C) 2005-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/lstat.m4 b/gnulib-m4/lstat.m4
index d987060b..48cc8653 100644
--- a/gnulib-m4/lstat.m4
+++ b/gnulib-m4/lstat.m4
@@ -1,6 +1,6 @@
-# serial 33
+# serial 36
-# Copyright (C) 1997-2001, 2003-2022 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_LSTAT],
if test $ac_cv_func_lstat = yes; then
AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
- solaris* | *no)
+ darwin* | solaris* | *no)
REPLACE_LSTAT=1
;;
esac
@@ -56,10 +56,13 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
linux-* | linux)
# Guess yes on Linux systems.
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+ midipix*)
+ # Guess yes on systems that emulate the Linux system calls.
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
*-gnu* | gnu*)
# Guess yes on glibc systems.
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
- mingw*)
+ mingw* | windows*)
# Guess no on native Windows.
gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
*)
diff --git a/gnulib-m4/malloc.m4 b/gnulib-m4/malloc.m4
index 6b76c1e6..635d6726 100644
--- a/gnulib-m4/malloc.m4
+++ b/gnulib-m4/malloc.m4
@@ -1,5 +1,5 @@
-# malloc.m4 serial 28
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+# malloc.m4 serial 31
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -16,7 +16,8 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
[[#include <stdlib.h>
]],
[[void *p = malloc (0);
- int result = !p;
+ void * volatile vp = p;
+ int result = !vp;
free (p);
return result;]])
],
@@ -25,8 +26,8 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
[case "$host_os" in
# Guess yes on platforms where we know the result.
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | msys* )
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
ac_cv_func_malloc_0_nonnull="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;;
@@ -128,7 +129,7 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX],
dnl except on those platforms where we have seen 'test-malloc-gnu',
dnl 'test-realloc-gnu', 'test-calloc-gnu' fail.
case "$host_os" in
- mingw*)
+ mingw* | windows*)
gl_cv_func_malloc_posix=no ;;
irix* | solaris*)
dnl On IRIX 6.5, the three functions return NULL with errno unset
diff --git a/gnulib-m4/malloca.m4 b/gnulib-m4/malloca.m4
index 77eb96a0..77e15959 100644
--- a/gnulib-m4/malloca.m4
+++ b/gnulib-m4/malloca.m4
@@ -1,5 +1,5 @@
# malloca.m4 serial 2
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2022 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gnulib-m4/math_h.m4 b/gnulib-m4/math_h.m4
index a08526a7..7ba3c048 100644
--- a/gnulib-m4/math_h.m4
+++ b/gnulib-m4/math_h.m4
@@ -1,5 +1,5 @@
-# math_h.m4 serial 125
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# math_h.m4 serial 126
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -50,7 +50,7 @@ AC_DEFUN_ONCE([gl_MATH_H],
modf modff modfl powf
remainder remainderf remainderl
rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl
- tanf tanl tanhf trunc truncf truncl])
+ tanf tanl tanhf totalorder totalorderf totalorderl trunc truncf truncl])
])
# gl_MATH_MODULE_INDICATOR([modulename])
@@ -125,6 +125,7 @@ AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAND])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANL])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXP])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPL])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG])
@@ -164,6 +165,9 @@ AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANL])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANHF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDER])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERL])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNC])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCL])
@@ -242,6 +246,9 @@ AC_DEFUN([gl_MATH_H_DEFAULTS],
HAVE_TANF=1; AC_SUBST([HAVE_TANF])
HAVE_TANL=1; AC_SUBST([HAVE_TANL])
HAVE_TANHF=1; AC_SUBST([HAVE_TANHF])
+ HAVE_TOTALORDER=1; AC_SUBST([HAVE_TOTALORDER])
+ HAVE_TOTALORDERF=1; AC_SUBST([HAVE_TOTALORDERF])
+ HAVE_TOTALORDERL=1; AC_SUBST([HAVE_TOTALORDERL])
HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL])
HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL])
HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL])
@@ -319,6 +326,7 @@ AC_DEFUN([gl_MATH_H_DEFAULTS],
REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE])
REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF])
REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN])
+ REPLACE_LDEXP=0; AC_SUBST([REPLACE_LDEXP])
REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL])
REPLACE_LOG=0; AC_SUBST([REPLACE_LOG])
REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF])
@@ -354,6 +362,9 @@ AC_DEFUN([gl_MATH_H_DEFAULTS],
REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL])
REPLACE_TANF=0; AC_SUBST([REPLACE_TANF])
REPLACE_TANHF=0; AC_SUBST([REPLACE_TANHF])
+ REPLACE_TOTALORDER=0; AC_SUBST([REPLACE_TOTALORDER])
+ REPLACE_TOTALORDERF=0; AC_SUBST([REPLACE_TOTALORDERF])
+ REPLACE_TOTALORDERL=0; AC_SUBST([REPLACE_TOTALORDERL])
REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC])
REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF])
REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL])
@@ -364,7 +375,7 @@ AC_DEFUN([gl_MATH_H_DEFAULTS],
# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
# The currently known platforms where this is the case are:
-# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
+# Linux/HPPA, NetBSD/sparc32, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE],
[
AC_CACHE_CHECK([whether long double and double are the same],
diff --git a/gnulib-m4/mbchar.m4 b/gnulib-m4/mbchar.m4
index 22673922..471e8c45 100644
--- a/gnulib-m4/mbchar.m4
+++ b/gnulib-m4/mbchar.m4
@@ -1,5 +1,5 @@
# mbchar.m4 serial 9
-dnl Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/mbiter.m4 b/gnulib-m4/mbiter.m4
index 7815edb0..2f7e7885 100644
--- a/gnulib-m4/mbiter.m4
+++ b/gnulib-m4/mbiter.m4
@@ -1,5 +1,5 @@
# mbiter.m4 serial 7
-dnl Copyright (C) 2005, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/mbrtoc32.m4 b/gnulib-m4/mbrtoc32.m4
new file mode 100644
index 00000000..c1eb126a
--- /dev/null
+++ b/gnulib-m4/mbrtoc32.m4
@@ -0,0 +1,266 @@
+# mbrtoc32.m4 serial 18
+dnl Copyright (C) 2014-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_MBRTOC32],
+[
+ AC_REQUIRE([gl_UCHAR_H_DEFAULTS])
+
+ AC_REQUIRE([AC_TYPE_MBSTATE_T])
+ dnl Determine REPLACE_MBSTATE_T, from which GNULIB_defined_mbstate_t is
+ dnl determined. It describes how our overridden mbrtowc is implemented.
+ dnl We then implement mbrtoc32 accordingly.
+ AC_REQUIRE([gl_MBSTATE_T_BROKEN])
+
+ AC_REQUIRE([gl_TYPE_CHAR32_T])
+ AC_REQUIRE([gl_MBRTOC32_SANITYCHECK])
+
+ AC_REQUIRE([gl_CHECK_FUNC_MBRTOC32])
+ if test $gl_cv_func_mbrtoc32 = no; then
+ HAVE_MBRTOC32=0
+ else
+ if test $GNULIBHEADERS_OVERRIDE_CHAR32_T = 1 || test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBRTOC32=1
+ else
+ gl_MBRTOC32_EMPTY_INPUT
+ gl_MBRTOC32_C_LOCALE
+ case "$gl_cv_func_mbrtoc32_empty_input" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOC32_EMPTY_INPUT_BUG], [1],
+ [Define if the mbrtoc32 function does not return (size_t) -2 for empty input.])
+ REPLACE_MBRTOC32=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOC32_IN_C_LOCALE_MAYBE_EILSEQ], [1],
+ [Define if the mbrtoc32 function may signal encoding errors in the C locale.])
+ REPLACE_MBRTOC32=1
+ ;;
+ esac
+ fi
+ if test $HAVE_WORKING_MBRTOC32 = 0; then
+ REPLACE_MBRTOC32=1
+ fi
+ fi
+])
+
+AC_DEFUN([gl_CHECK_FUNC_MBRTOC32],
+[
+ dnl Cf. gl_CHECK_FUNCS_ANDROID
+ AC_CHECK_DECL([mbrtoc32], , ,
+ [[#ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ ]])
+ if test $ac_cv_have_decl_mbrtoc32 = yes; then
+ dnl We can't use AC_CHECK_FUNC here, because mbrtoc32() is defined as a
+ dnl static inline function on Haiku 2020.
+ AC_CACHE_CHECK([for mbrtoc32], [gl_cv_func_mbrtoc32],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ ]],
+ [[char32_t c;
+ return mbrtoc32 (&c, "", 1, NULL) == 0;
+ ]])
+ ],
+ [gl_cv_func_mbrtoc32=yes],
+ [gl_cv_func_mbrtoc32=no])
+ ])
+ else
+ gl_cv_func_mbrtoc32=no
+ fi
+])
+
+dnl Test whether mbrtoc32 returns the correct value on empty input.
+
+AC_DEFUN([gl_MBRTOC32_EMPTY_INPUT],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether mbrtoc32 works on empty input],
+ [gl_cv_func_mbrtoc32_empty_input],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ static char32_t wc;
+ static mbstate_t mbs;
+ int
+ main (void)
+ {
+ return mbrtoc32 (&wc, "", 0, &mbs) != (size_t) -2;
+ }]])],
+ [gl_cv_func_mbrtoc32_empty_input=yes],
+ [gl_cv_func_mbrtoc32_empty_input=no],
+ [case "$host_os" in
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_mbrtoc32_empty_input="guessing no" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_mbrtoc32_empty_input="guessing no" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtoc32_empty_input="guessing no" ;;
+ *) gl_cv_func_mbrtoc32_empty_input="guessing yes" ;;
+ esac
+ ])
+ ])
+])
+
+dnl <https://pubs.opengroup.org/onlinepubs/9699919799/functions/mbrtowc.html>
+dnl POSIX:2018 says regarding mbrtowc: "In the POSIX locale an [EILSEQ] error
+dnl cannot occur since all byte values are valid characters." It is reasonable
+dnl to expect mbrtoc32 to behave in the same way.
+
+AC_DEFUN([gl_MBRTOC32_C_LOCALE],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether the C locale is free of encoding errors],
+ [gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <limits.h>
+ #include <locale.h>
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ ]], [[
+ int i;
+ char *locale = setlocale (LC_ALL, "C");
+ if (! locale)
+ return 2;
+ for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+ {
+ char c = i;
+ char32_t wc;
+ mbstate_t mbs = { 0, };
+ size_t ss = mbrtoc32 (&wc, &c, 1, &mbs);
+ if (1 < ss)
+ return 3;
+ }
+ return 0;
+ ]])],
+ [gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ=yes],
+ [gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ=no],
+ [case "$host_os" in
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ="guessing yes" ;;
+ *) gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;;
+ esac
+ ])
+ ])
+])
+
+dnl Test whether mbrtoc32 works not worse than mbrtowc.
+dnl Result is HAVE_WORKING_MBRTOC32.
+
+AC_DEFUN([gl_MBRTOC32_SANITYCHECK],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gl_TYPE_CHAR32_T])
+ AC_REQUIRE([gl_CHECK_FUNC_MBRTOC32])
+ AC_REQUIRE([gt_LOCALE_FR])
+ AC_REQUIRE([gt_LOCALE_ZH_CN])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ if test $GNULIBHEADERS_OVERRIDE_CHAR32_T = 1 || test $gl_cv_func_mbrtoc32 = no; then
+ HAVE_WORKING_MBRTOC32=0
+ else
+ AC_CACHE_CHECK([whether mbrtoc32 works as well as mbrtowc],
+ [gl_cv_func_mbrtoc32_sanitycheck],
+ [
+ dnl Initial guess, used when cross-compiling or when no suitable locale
+ dnl is present.
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no on FreeBSD, Solaris, native Windows.
+ freebsd* | midnightbsd* | solaris* | mingw* | windows*)
+ gl_cv_func_mbrtoc32_sanitycheck="guessing no"
+ ;;
+ # Guess yes otherwise.
+ *)
+ gl_cv_func_mbrtoc32_sanitycheck="guessing yes"
+ ;;
+ esac
+changequote([,])dnl
+ if test $LOCALE_FR != none || test $LOCALE_ZH_CN != none; then
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+#ifdef __HAIKU__
+ #include <stdint.h>
+#endif
+#include <uchar.h>
+int main ()
+{
+ int result = 0;
+ /* This fails on native Windows:
+ mbrtoc32 returns (size_t)-1.
+ mbrtowc returns 1 (correct). */
+ if (strcmp ("$LOCALE_FR", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+ {
+ mbstate_t state;
+ wchar_t wc = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, "\374", 1, &state) == 1)
+ {
+ char32_t c32 = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtoc32 (&c32, "\374", 1, &state) != 1)
+ result |= 1;
+ }
+ }
+ /* This fails on FreeBSD 13.0 and Solaris 11.4:
+ mbrtoc32 returns (size_t)-2 or (size_t)-1.
+ mbrtowc returns 4 (correct). */
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ {
+ mbstate_t state;
+ wchar_t wc = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, "\224\071\375\067", 4, &state) == 4)
+ {
+ char32_t c32 = (wchar_t) 0xBADFACE;
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtoc32 (&c32, "\224\071\375\067", 4, &state) != 4)
+ result |= 2;
+ }
+ }
+ return result;
+}]])],
+ [gl_cv_func_mbrtoc32_sanitycheck=yes],
+ [gl_cv_func_mbrtoc32_sanitycheck=no],
+ [:])
+ fi
+ ])
+ case "$gl_cv_func_mbrtoc32_sanitycheck" in
+ *yes)
+ HAVE_WORKING_MBRTOC32=1
+ AC_DEFINE([HAVE_WORKING_MBRTOC32], [1],
+ [Define if the mbrtoc32 function basically works.])
+ ;;
+ *) HAVE_WORKING_MBRTOC32=0 ;;
+ esac
+ fi
+ AC_SUBST([HAVE_WORKING_MBRTOC32])
+])
+
+# Prerequisites of lib/mbrtoc32.c and lib/lc-charset-dispatch.c.
+AC_DEFUN([gl_PREREQ_MBRTOC32], [
+ :
+])
diff --git a/gnulib-m4/mbrtowc.m4 b/gnulib-m4/mbrtowc.m4
index ec8716b5..6ff51824 100644
--- a/gnulib-m4/mbrtowc.m4
+++ b/gnulib-m4/mbrtowc.m4
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 38 -*- coding: utf-8 -*-
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2022 Free Software Foundation,
+# mbrtowc.m4 serial 44 -*- coding: utf-8 -*-
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -91,20 +91,25 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
fi
if test $REPLACE_MBSTATE_T = 1; then
case "$host_os" in
- mingw*) LIB_MBRTOWC= ;;
+ mingw* | windows*)
+ MBRTOWC_LIB=
+ ;;
*)
gl_WEAK_SYMBOLS
case "$gl_cv_have_weak" in
- *yes) LIB_MBRTOWC= ;;
- *) LIB_MBRTOWC="$LIBPTHREAD" ;;
+ *yes) MBRTOWC_LIB= ;;
+ *) MBRTOWC_LIB="$LIBPTHREAD" ;;
esac
;;
esac
else
- LIB_MBRTOWC=
+ MBRTOWC_LIB=
fi
- dnl LIB_MBRTOWC is expected to be '-pthread' or '-lpthread' on AIX
+ dnl MBRTOWC_LIB is expected to be '-pthread' or '-lpthread' on AIX
dnl with gcc or xlc, and empty otherwise.
+ AC_SUBST([MBRTOWC_LIB])
+ dnl For backward compatibility.
+ LIB_MBRTOWC="$MBRTOWC_LIB"
AC_SUBST([LIB_MBRTOWC])
])
@@ -114,7 +119,7 @@ dnl Result is REPLACE_MBSTATE_T.
dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to
dnl avoid inconsistencies.
-AC_DEFUN([gl_MBSTATE_T_BROKEN],
+AC_DEFUN_ONCE([gl_MBSTATE_T_BROKEN],
[
AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
AC_REQUIRE([AC_CANONICAL_HOST])
@@ -126,7 +131,7 @@ AC_DEFUN([gl_MBSTATE_T_BROKEN],
dnl to override it, even if - like on MSVC - mbsinit() is only defined as
dnl an inline function, not as a global function.
if case "$host_os" in
- mingw*) true ;;
+ mingw* | windows*) true ;;
*) test $ac_cv_func_mbsinit = yes ;;
esac \
&& test $ac_cv_func_mbrtowc = yes; then
@@ -408,14 +413,16 @@ AC_DEFUN([gl_MBRTOWC_RETVAL],
dnl is present.
changequote(,)dnl
case "$host_os" in
- # Guess no on HP-UX, Solaris, native Windows.
- hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_retval="guessing yes" ;;
+ # Guess no on HP-UX, Solaris, native Windows.
+ hpux* | solaris* | mingw* | windows*)
+ gl_cv_func_mbrtowc_retval="guessing no" ;;
+ # Guess yes otherwise.
+ *)
+ gl_cv_func_mbrtowc_retval="guessing yes" ;;
esac
changequote([,])dnl
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \
- || { case "$host_os" in mingw*) true;; *) false;; esac; }; then
+ || { case "$host_os" in mingw* | windows*) true;; *) false;; esac; }; then
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <locale.h>
@@ -426,7 +433,8 @@ int main ()
int result = 0;
int found_some_locale = 0;
/* This fails on Solaris. */
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
char input[] = "B\303\274\303\237er"; /* "Büßer" */
mbstate_t state;
@@ -442,7 +450,8 @@ int main ()
found_some_locale = 1;
}
/* This fails on HP-UX 11.11. */
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
mbstate_t state;
@@ -577,13 +586,13 @@ AC_DEFUN([gl_MBRTOWC_STORES_INCOMPLETE],
dnl is present.
changequote(,)dnl
case "$host_os" in
- # Guess yes on native Windows.
- mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;;
- *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;;
+ *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;;
esac
changequote([,])dnl
case "$host_os" in
- mingw*)
+ mingw* | windows*)
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <locale.h>
@@ -677,31 +686,28 @@ AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT],
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CACHE_CHECK([whether mbrtowc works on empty input],
[gl_cv_func_mbrtowc_empty_input],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on AIX and glibc systems.
- aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
- *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
- esac
-changequote([,])dnl
- AC_RUN_IFELSE(
- [AC_LANG_SOURCE([[
- #include <wchar.h>
- static wchar_t wc;
- static mbstate_t mbs;
- int
- main (void)
- {
- return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
- }]])],
- [gl_cv_func_mbrtowc_empty_input=yes],
- [gl_cv_func_mbrtowc_empty_input=no],
- [:])
+ [AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <wchar.h>
+ static wchar_t wc;
+ static mbstate_t mbs;
+ int
+ main (void)
+ {
+ return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
+ }]])],
+ [gl_cv_func_mbrtowc_empty_input=yes],
+ [gl_cv_func_mbrtowc_empty_input=no],
+ [case "$host_os" in
+ # Guess no on AIX and glibc systems.
+ aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+ *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+ esac
+ ])
])
])
@@ -709,18 +715,17 @@ dnl Test whether mbrtowc reports encoding errors in the C locale.
dnl Although POSIX was never intended to allow this, the GNU C Library
dnl and other implementations do it. See:
dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932
+dnl POSIX has now clarified it:
+dnl <https://pubs.opengroup.org/onlinepubs/9699919799/functions/mbrtowc.html>
+dnl says: "In the POSIX locale an [EILSEQ] error cannot occur since all byte
+dnl values are valid characters."
AC_DEFUN([gl_MBRTOWC_C_LOCALE],
[
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CACHE_CHECK([whether the C locale is free of encoding errors],
[gl_cv_func_mbrtowc_C_locale_sans_EILSEQ],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
- gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal"
-
- AC_RUN_IFELSE(
+ [AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[#include <limits.h>
#include <locale.h>
@@ -741,13 +746,14 @@ AC_DEFUN([gl_MBRTOWC_C_LOCALE],
}
return 0;
]])],
- [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes],
- [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no],
- [case "$host_os" in
- # Guess yes on native Windows.
- mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;;
- esac
- ])
+ [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes],
+ [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no],
+ [case "$host_os" in
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;;
+ *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;;
+ esac
+ ])
])
])
diff --git a/gnulib-m4/mbsinit.m4 b/gnulib-m4/mbsinit.m4
index ebd2d4ff..10a5b619 100644
--- a/gnulib-m4/mbsinit.m4
+++ b/gnulib-m4/mbsinit.m4
@@ -1,5 +1,5 @@
-# mbsinit.m4 serial 9
-dnl Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc.
+# mbsinit.m4 serial 10
+dnl Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -32,7 +32,7 @@ AC_DEFUN([gl_FUNC_MBSINIT],
dnl states produced by mbrtowc() for an incomplete multibyte character
dnl in multibyte locales.
case "$host_os" in
- mingw*) REPLACE_MBSINIT=1 ;;
+ mingw* | windows*) REPLACE_MBSINIT=1 ;;
esac
fi
fi
diff --git a/gnulib-m4/mbstate_t.m4 b/gnulib-m4/mbstate_t.m4
index a6eba1bc..b2bcba45 100644
--- a/gnulib-m4/mbstate_t.m4
+++ b/gnulib-m4/mbstate_t.m4
@@ -1,5 +1,5 @@
# mbstate_t.m4 serial 14
-dnl Copyright (C) 2000-2002, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/mbtowc.m4 b/gnulib-m4/mbtowc.m4
index 2827e833..2bdc879c 100644
--- a/gnulib-m4/mbtowc.m4
+++ b/gnulib-m4/mbtowc.m4
@@ -1,5 +1,5 @@
-# mbtowc.m4 serial 3
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# mbtowc.m4 serial 5
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -8,9 +8,12 @@ AC_DEFUN([gl_FUNC_MBTOWC],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- AC_CHECK_FUNCS([mbtowc])
+ gl_CHECK_FUNCS_ANDROID([mbtowc], [[#include <stdlib.h>]])
if test $ac_cv_func_mbtowc = no; then
HAVE_MBTOWC=0
+ case "$gl_cv_onwards_func_mbtowc" in
+ future*) REPLACE_MBTOWC=1 ;;
+ esac
else
if false; then
REPLACE_MBTOWC=1
diff --git a/gnulib-m4/memchr.m4 b/gnulib-m4/memchr.m4
index c7489d87..6184ddc8 100644
--- a/gnulib-m4/memchr.m4
+++ b/gnulib-m4/memchr.m4
@@ -1,5 +1,5 @@
-# memchr.m4 serial 18
-dnl Copyright (C) 2002-2004, 2009-2022 Free Software Foundation, Inc.
+# memchr.m4 serial 19
+dnl Copyright (C) 2002-2004, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -85,12 +85,12 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
[gl_cv_func_memchr_works=yes],
[gl_cv_func_memchr_works=no],
[case "$host_os" in
- # Guess no on Android.
- linux*-android*) gl_cv_func_memchr_works="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_memchr_works="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_memchr_works="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_memchr_works="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;;
esac
])
])
diff --git a/gnulib-m4/minmax.m4 b/gnulib-m4/minmax.m4
index b9767397..5c0a927d 100644
--- a/gnulib-m4/minmax.m4
+++ b/gnulib-m4/minmax.m4
@@ -1,5 +1,5 @@
# minmax.m4 serial 4
-dnl Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/mmap-anon.m4 b/gnulib-m4/mmap-anon.m4
index a4580ff9..642f07db 100644
--- a/gnulib-m4/mmap-anon.m4
+++ b/gnulib-m4/mmap-anon.m4
@@ -1,5 +1,5 @@
# mmap-anon.m4 serial 12
-dnl Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/mode_t.m4 b/gnulib-m4/mode_t.m4
index e08d27a7..af88da51 100644
--- a/gnulib-m4/mode_t.m4
+++ b/gnulib-m4/mode_t.m4
@@ -1,5 +1,5 @@
# mode_t.m4 serial 2
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/msvc-inval.m4 b/gnulib-m4/msvc-inval.m4
index b32cf6eb..b8ba598e 100644
--- a/gnulib-m4/msvc-inval.m4
+++ b/gnulib-m4/msvc-inval.m4
@@ -1,5 +1,5 @@
# msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/msvc-nothrow.m4 b/gnulib-m4/msvc-nothrow.m4
index 16ceb1f1..3e332a09 100644
--- a/gnulib-m4/msvc-nothrow.m4
+++ b/gnulib-m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
# msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/multiarch.m4 b/gnulib-m4/multiarch.m4
index 5d942765..5f8339f5 100644
--- a/gnulib-m4/multiarch.m4
+++ b/gnulib-m4/multiarch.m4
@@ -1,5 +1,5 @@
# multiarch.m4 serial 9
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/musl.m4 b/gnulib-m4/musl.m4
index 111f75d3..34d2c1ff 100644
--- a/gnulib-m4/musl.m4
+++ b/gnulib-m4/musl.m4
@@ -1,5 +1,5 @@
-# musl.m4 serial 3
-dnl Copyright (C) 2019-2022 Free Software Foundation, Inc.
+# musl.m4 serial 4
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -13,6 +13,8 @@ AC_DEFUN_ONCE([gl_MUSL_LIBC],
[
AC_REQUIRE([AC_CANONICAL_HOST])
case "$host_os" in
- *-musl*) AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) ;;
+ *-musl* | midipix*)
+ AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.])
+ ;;
esac
])
diff --git a/gnulib-m4/nan-mips.m4 b/gnulib-m4/nan-mips.m4
new file mode 100644
index 00000000..d5650e19
--- /dev/null
+++ b/gnulib-m4/nan-mips.m4
@@ -0,0 +1,89 @@
+# nan-mips.m4 serial 1
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Extra meta-info mentioned by lib/snan.h.
+AC_DEFUN_ONCE([gl_NAN_MIPS],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case "$host_cpu" in
+ mips*)
+ AC_CACHE_CHECK([whether the NaN float encoding is IEEE 754-2008 compliant],
+ [gl_cv_nan2008_f],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([[
+ float volatile zero;
+ /* Assume 'float' has 32 bits, i.e. IEEE single-float. */
+ union { float value; unsigned int word; } qnan;
+ ]],
+ [[qnan.value = zero / zero;
+ return !((qnan.word >> 22) & 1);
+ ]])
+ ],
+ [gl_cv_nan2008_f=yes],
+ [gl_cv_nan2008_f=no],
+ [gl_cv_nan2008_f="guessing no"])
+ ])
+ case "$gl_cv_nan2008_f" in
+ *yes) gl_mips_nan2008_f=1 ;;
+ *) gl_mips_nan2008_f=0 ;;
+ esac
+ AC_DEFINE_UNQUOTED([MIPS_NAN2008_FLOAT], [$gl_mips_nan2008_f],
+ [Define to 1 if the encoding of NaN 'float's is as in IEEE 754-2008 § 6.2.1.])
+
+ AC_CACHE_CHECK([whether the NaN double encoding is IEEE 754-2008 compliant],
+ [gl_cv_nan2008_d],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([[
+ double volatile zero;
+ /* Assume 'double' has 64 bits, i.e. IEEE double-float. */
+ union { double value; unsigned long long word; } qnan;
+ ]],
+ [[qnan.value = zero / zero;
+ return !((qnan.word >> 51) & 1);
+ ]])
+ ],
+ [gl_cv_nan2008_d=yes],
+ [gl_cv_nan2008_d=no],
+ [gl_cv_nan2008_d="guessing no"])
+ ])
+ case "$gl_cv_nan2008_d" in
+ *yes) gl_mips_nan2008_d=1 ;;
+ *) gl_mips_nan2008_d=0 ;;
+ esac
+ AC_DEFINE_UNQUOTED([MIPS_NAN2008_DOUBLE], [$gl_mips_nan2008_d],
+ [Define to 1 if the encoding of NaN 'double's is as in IEEE 754-2008 § 6.2.1.])
+
+ AC_CACHE_CHECK([whether the NaN long double encoding is IEEE 754-2008 compliant],
+ [gl_cv_nan2008_l],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #include <float.h>
+ long double volatile zero;
+ #define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ union { long double value; unsigned int word[NWORDS]; } qnan;
+ ]],
+ [[qnan.value = zero / zero;
+ #if defined _MIPSEB /* equivalent: __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ */
+ return !((qnan.word[0] >> ((LDBL_MANT_DIG - 2) % 32)) & 1);
+ #else
+ return !((qnan.word[NWORDS - 1] >> ((LDBL_MANT_DIG - 2) % 32)) & 1);
+ #endif
+ ]])
+ ],
+ [gl_cv_nan2008_l=yes],
+ [gl_cv_nan2008_l=no],
+ [gl_cv_nan2008_l="guessing no"])
+ ])
+ case "$gl_cv_nan2008_l" in
+ *yes) gl_mips_nan2008_l=1 ;;
+ *) gl_mips_nan2008_l=0 ;;
+ esac
+ AC_DEFINE_UNQUOTED([MIPS_NAN2008_LONG_DOUBLE], [$gl_mips_nan2008_l],
+ [Define to 1 if the encoding of NaN 'long double's is as in IEEE 754-2008 § 6.2.1.])
+ ;;
+ esac
+])
diff --git a/gnulib-m4/nanosleep.m4 b/gnulib-m4/nanosleep.m4
index dfe21f56..ff730b67 100644
--- a/gnulib-m4/nanosleep.m4
+++ b/gnulib-m4/nanosleep.m4
@@ -1,11 +1,11 @@
-# serial 42
+# serial 47
dnl From Jim Meyering.
dnl Check for the nanosleep function.
dnl If not found, use the supplied replacement.
dnl
-# Copyright (C) 1999-2001, 2003-2022 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2003-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -21,15 +21,15 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
AC_CHECK_DECLS_ONCE([alarm])
- nanosleep_save_libs=$LIBS
+ gl_saved_LIBS=$LIBS
# Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- LIB_NANOSLEEP=
- AC_SUBST([LIB_NANOSLEEP])
+ NANOSLEEP_LIB=
+ AC_SUBST([NANOSLEEP_LIB])
AC_SEARCH_LIBS([nanosleep], [rt posix4],
[test "$ac_cv_search_nanosleep" = "none required" ||
- LIB_NANOSLEEP=$ac_cv_search_nanosleep])
+ NANOSLEEP_LIB=$ac_cv_search_nanosleep])
if test "x$ac_cv_search_nanosleep" != xno; then
dnl The system has a nanosleep function.
@@ -116,19 +116,24 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
*) gl_cv_func_nanosleep=no ;;
esac],
[case "$host_os" in
- linux*) # Guess it halfway works when the kernel is Linux.
+ # Guess it halfway works when the kernel is Linux.
+ linux*)
gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
- mingw*) # Guess no on native Windows.
+ # Midipix generally emulates the Linux system calls,
+ # but here it handles large arguments correctly.
+ midipix*)
+ gl_cv_func_nanosleep='guessing yes' ;;
+ # Guess no on native Windows.
+ mingw* | windows*)
gl_cv_func_nanosleep='guessing no' ;;
- *) # If we don't know, obey --enable-cross-guesses.
+ # If we don't know, obey --enable-cross-guesses.
+ *)
gl_cv_func_nanosleep="$gl_cross_guess_normal" ;;
esac
])
])
case "$gl_cv_func_nanosleep" in
- *yes)
- REPLACE_NANOSLEEP=0
- ;;
+ *yes) ;;
*)
REPLACE_NANOSLEEP=1
case "$gl_cv_func_nanosleep" in
@@ -142,5 +147,9 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
else
HAVE_NANOSLEEP=0
fi
- LIBS=$nanosleep_save_libs
+ LIBS=$gl_saved_LIBS
+
+ # For backward compatibility.
+ LIB_NANOSLEEP="$NANOSLEEP_LIB"
+ AC_SUBST([LIB_NANOSLEEP])
])
diff --git a/gnulib-m4/netinet_in_h.m4 b/gnulib-m4/netinet_in_h.m4
index de26fe85..9618c0cc 100644
--- a/gnulib-m4/netinet_in_h.m4
+++ b/gnulib-m4/netinet_in_h.m4
@@ -1,5 +1,5 @@
# netinet_in_h.m4 serial 6
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/nocrash.m4 b/gnulib-m4/nocrash.m4
index 91f00c1b..9730fc09 100644
--- a/gnulib-m4/nocrash.m4
+++ b/gnulib-m4/nocrash.m4
@@ -1,5 +1,5 @@
# nocrash.m4 serial 5
-dnl Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/off_t.m4 b/gnulib-m4/off_t.m4
index 0890adaf..f3259f9c 100644
--- a/gnulib-m4/off_t.m4
+++ b/gnulib-m4/off_t.m4
@@ -1,5 +1,5 @@
# off_t.m4 serial 1
-dnl Copyright (C) 2012-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/open-cloexec.m4 b/gnulib-m4/open-cloexec.m4
index 16cd5ec4..a2d50329 100644
--- a/gnulib-m4/open-cloexec.m4
+++ b/gnulib-m4/open-cloexec.m4
@@ -1,6 +1,6 @@
# Test whether O_CLOEXEC is defined.
-dnl Copyright 2017-2022 Free Software Foundation, Inc.
+dnl Copyright 2017-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/open-slash.m4 b/gnulib-m4/open-slash.m4
index 4fbf491a..45310c0c 100644
--- a/gnulib-m4/open-slash.m4
+++ b/gnulib-m4/open-slash.m4
@@ -1,5 +1,5 @@
# open-slash.m4 serial 2
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/open.m4 b/gnulib-m4/open.m4
index f82fd6ca..91e5c31b 100644
--- a/gnulib-m4/open.m4
+++ b/gnulib-m4/open.m4
@@ -1,5 +1,5 @@
-# open.m4 serial 15
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# open.m4 serial 16
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,7 @@ AC_DEFUN([gl_FUNC_OPEN],
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([gl_PREPROC_O_CLOEXEC])
case "$host_os" in
- mingw* | pw*)
+ mingw* | windows* | pw*)
REPLACE_OPEN=1
;;
*)
diff --git a/gnulib-m4/pathmax.m4 b/gnulib-m4/pathmax.m4
index 44add990..a0fc296c 100644
--- a/gnulib-m4/pathmax.m4
+++ b/gnulib-m4/pathmax.m4
@@ -1,5 +1,5 @@
# pathmax.m4 serial 11
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2022 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2024 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gnulib-m4/perror.m4 b/gnulib-m4/perror.m4
index 02d44ca2..6538c252 100644
--- a/gnulib-m4/perror.m4
+++ b/gnulib-m4/perror.m4
@@ -1,5 +1,5 @@
-# perror.m4 serial 10
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# perror.m4 serial 13
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_PERROR],
AC_REQUIRE([gl_HEADER_ERRNO_H])
AC_REQUIRE([gl_FUNC_STRERROR_R])
AC_REQUIRE([gl_FUNC_STRERROR_0])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([AC_CANONICAL_HOST])
dnl We intentionally do not check for the broader REPLACE_STRERROR_R,
dnl since on glibc systems, strerror_r is replaced only for signature
dnl issues, and perror is just fine. Rather, we only want to
@@ -48,12 +48,12 @@ AC_DEFUN([gl_FUNC_PERROR],
rm -rf conftest.txt1 conftest.txt2],
[gl_cv_func_perror_works=no],
[case "$host_os" in
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_perror_works="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_perror_works="guessing yes" ;;
- # Otherwise obey --enable-cross-guesses.
- *) gl_cv_func_perror_works="$gl_cross_guess_normal" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_perror_works="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_perror_works="guessing yes" ;;
+ # Otherwise obey --enable-cross-guesses.
+ *) gl_cv_func_perror_works="$gl_cross_guess_normal" ;;
esac
])
])
@@ -68,4 +68,9 @@ AC_DEFUN([gl_FUNC_PERROR],
REPLACE_PERROR=1
;;
esac
+ dnl Does perror clobber the strerror buffer?
+ case "$host_os" in
+ # Yes on Android 11.
+ linux*-android*) REPLACE_PERROR=1 ;;
+ esac
])
diff --git a/gnulib-m4/pipe.m4 b/gnulib-m4/pipe.m4
index 62871c6d..1d3742eb 100644
--- a/gnulib-m4/pipe.m4
+++ b/gnulib-m4/pipe.m4
@@ -1,5 +1,5 @@
# pipe.m4 serial 2
-dnl Copyright (C) 2010-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/printf-frexp.m4 b/gnulib-m4/printf-frexp.m4
index 0628b5ab..9a2f767f 100644
--- a/gnulib-m4/printf-frexp.m4
+++ b/gnulib-m4/printf-frexp.m4
@@ -1,5 +1,5 @@
# printf-frexp.m4 serial 5
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/printf-frexpl.m4 b/gnulib-m4/printf-frexpl.m4
index 137c8718..7d3b7bd1 100644
--- a/gnulib-m4/printf-frexpl.m4
+++ b/gnulib-m4/printf-frexpl.m4
@@ -1,5 +1,5 @@
# printf-frexpl.m4 serial 10
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/printf.m4 b/gnulib-m4/printf.m4
index 667452e3..6f917778 100644
--- a/gnulib-m4/printf.m4
+++ b/gnulib-m4/printf.m4
@@ -1,5 +1,5 @@
-# printf.m4 serial 73
-dnl Copyright (C) 2003, 2007-2022 Free Software Foundation, Inc.
+# printf.m4 serial 90
+dnl Copyright (C) 2003, 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -63,7 +63,7 @@ changequote(,)dnl
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_sizes_c99="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_sizes_c99="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_sizes_c99="guessing yes";;
# Guess yes on FreeBSD >= 5.
freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
@@ -86,7 +86,8 @@ changequote(,)dnl
linux*-android*) gl_cv_func_printf_sizes_c99="guessing yes";;
changequote([,])dnl
# Guess yes on MSVC, no on mingw.
- mingw*) AC_EGREP_CPP([Known], [
+ windows*-msvc*) gl_cv_func_printf_sizes_c99="guessing yes" ;;
+ mingw* | windows*) AC_EGREP_CPP([Known], [
#ifdef _MSC_VER
Known
#endif
@@ -101,6 +102,92 @@ changequote([,])dnl
])
])
+dnl Test whether the *printf family of functions supports the 'w8', 'w16',
+dnl 'w32', 'w64', 'wf8', 'wf16', 'wf32', 'wf64' size specifiers. (ISO C23)
+dnl Result is gl_cv_func_printf_sizes_c23.
+
+AC_DEFUN([gl_PRINTF_SIZES_C23],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether printf supports size specifiers as in C23],
+ [gl_cv_func_printf_sizes_c23],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#if HAVE_STDINT_H_WITH_UINTMAX
+# include <stdint.h>
+#endif
+#if HAVE_INTTYPES_H_WITH_UINTMAX
+# include <inttypes.h>
+#endif
+static char buf[100];
+int main ()
+{
+ int result = 0;
+ buf[0] = '\0';
+ if (sprintf (buf, "%w8u %d", (uint8_t) 123, 33, 44, 55) < 0
+ || strcmp (buf, "123 33") != 0)
+ result |= 1;
+ buf[0] = '\0';
+ if (sprintf (buf, "%wf8u %d", (uint_fast8_t) 123, 33, 44, 55) < 0
+ || strcmp (buf, "123 33") != 0)
+ result |= 1;
+ buf[0] = '\0';
+ if (sprintf (buf, "%w16u %d", (uint16_t) 12345, 33, 44, 55) < 0
+ || strcmp (buf, "12345 33") != 0)
+ result |= 2;
+ buf[0] = '\0';
+ if (sprintf (buf, "%wf16u %d", (uint_fast16_t) 12345, 33, 44, 55) < 0
+ || strcmp (buf, "12345 33") != 0)
+ result |= 2;
+ buf[0] = '\0';
+ if (sprintf (buf, "%w32u %d", (uint32_t) 12345671, 33, 44, 55) < 0
+ || strcmp (buf, "12345671 33") != 0)
+ result |= 4;
+ buf[0] = '\0';
+ if (sprintf (buf, "%wf32u %d", (uint_fast32_t) 12345671, 33, 44, 55) < 0
+ || strcmp (buf, "12345671 33") != 0)
+ result |= 4;
+#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX
+ buf[0] = '\0';
+ if (sprintf (buf, "%w64u %d", (uint64_t) 12345671, 33, 44, 55) < 0
+ || strcmp (buf, "12345671 33") != 0)
+ result |= 8;
+ buf[0] = '\0';
+ if (sprintf (buf, "%wf64u %d", (uint_fast64_t) 12345671, 33, 44, 55) < 0
+ || strcmp (buf, "12345671 33") != 0)
+ result |= 8;
+#else
+ result |= 8;
+#endif
+ return result;
+}]])],
+ [gl_cv_func_printf_sizes_c23=yes],
+ [gl_cv_func_printf_sizes_c23=no],
+ [
+ case "$host_os" in
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_printf_sizes_c23="guessing no";;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_printf_sizes_c23="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_sizes_c23="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_sizes_c23="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_printf_sizes_c23="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+])
+
dnl Test whether the *printf family of functions supports 'long double'
dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001)
dnl Result is gl_cv_func_printf_long_double.
@@ -137,20 +224,21 @@ int main ()
[gl_cv_func_printf_long_double=yes],
[gl_cv_func_printf_long_double=no],
[case "$host_os" in
- # Guess no on BeOS.
- beos*) gl_cv_func_printf_long_double="guessing no";;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_long_double="guessing yes";;
- # Guess yes on MSVC, no on mingw.
- mingw*) AC_EGREP_CPP([Known], [
+ # Guess no on BeOS.
+ beos*) gl_cv_func_printf_long_double="guessing no";;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_printf_long_double="guessing yes";;
+ # Guess yes on MSVC, no on mingw.
+ windows*-msvc*) gl_cv_func_printf_long_double="guessing yes" ;;
+ mingw* | windows*) AC_EGREP_CPP([Known], [
#ifdef _MSC_VER
Known
#endif
- ],
- [gl_cv_func_printf_long_double="guessing yes"],
- [gl_cv_func_printf_long_double="guessing no"])
- ;;
- *) gl_cv_func_printf_long_double="guessing yes";;
+ ],
+ [gl_cv_func_printf_long_double="guessing yes"],
+ [gl_cv_func_printf_long_double="guessing no"])
+ ;;
+ *) gl_cv_func_printf_long_double="guessing yes";;
esac
])
])
@@ -244,7 +332,7 @@ changequote(,)dnl
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_infinite="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_infinite="guessing yes";;
# Guess yes on FreeBSD >= 6.
freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
@@ -268,7 +356,8 @@ changequote(,)dnl
linux*-android*) gl_cv_func_printf_infinite="guessing no";;
changequote([,])dnl
# Guess yes on MSVC, no on mingw.
- mingw*) AC_EGREP_CPP([Known], [
+ windows*-msvc*) gl_cv_func_printf_infinite="guessing yes" ;;
+ mingw* | windows*) AC_EGREP_CPP([Known], [
#ifdef _MSC_VER
Known
#endif
@@ -467,7 +556,7 @@ changequote(,)dnl
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_infinite_long_double="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_infinite_long_double="guessing yes";;
# Guess yes on FreeBSD >= 6.
freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
@@ -482,7 +571,8 @@ changequote(,)dnl
linux*-android*) gl_cv_func_printf_infinite_long_double="guessing no";;
changequote([,])dnl
# Guess yes on MSVC, no on mingw.
- mingw*) AC_EGREP_CPP([Known], [
+ windows*-msvc*) gl_cv_func_printf_infinite_long_double="guessing yes" ;;
+ mingw* | windows*) AC_EGREP_CPP([Known], [
#ifdef _MSC_VER
Known
#endif
@@ -591,11 +681,11 @@ int main ()
[gl_cv_func_printf_directive_a="guessing no"])
;;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_directive_a="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_directive_a="guessing yes";;
# Guess no on Android.
linux*-android*) gl_cv_func_printf_directive_a="guessing no";;
# Guess no on native Windows.
- mingw*) gl_cv_func_printf_directive_a="guessing no";;
+ mingw* | windows*) gl_cv_func_printf_directive_a="guessing no";;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_printf_directive_a="$gl_cross_guess_normal";;
esac
@@ -603,6 +693,116 @@ int main ()
])
])
+dnl Test whether the *printf family of functions supports the 'b' conversion
+dnl specifier for binary output of integers.
+dnl (ISO C23)
+dnl Result is gl_cv_func_printf_directive_b.
+
+AC_DEFUN([gl_PRINTF_DIRECTIVE_B],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether printf supports the 'b' directive],
+ [gl_cv_func_printf_directive_b],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+ int result = 0;
+ if (sprintf (buf, "%b %d", 12345, 33, 44, 55) < 0
+ || strcmp (buf, "11000000111001 33") != 0)
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_printf_directive_b=yes],
+ [gl_cv_func_printf_directive_b=no],
+ [
+ case "$host_os" in
+ # Guess yes on glibc >= 2.35 systems.
+ *-gnu* | gnu*)
+ AC_EGREP_CPP([Lucky], [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 35) || (__GLIBC__ > 2)
+ Lucky user
+ #endif
+ #endif
+ ],
+ [gl_cv_func_printf_directive_uppercase_b="guessing yes"],
+ [gl_cv_func_printf_directive_uppercase_b="guessing no"])
+ ;;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_printf_directive_b="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_directive_b="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_directive_b="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_printf_directive_b="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+])
+
+dnl Test whether the *printf family of functions supports the 'B' conversion
+dnl specifier for binary output of integers.
+dnl (GNU, encouraged by ISO C23 § 7.23.6.1)
+dnl Result is gl_cv_func_printf_directive_uppercase_b.
+
+AC_DEFUN([gl_PRINTF_DIRECTIVE_UPPERCASE_B],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether printf supports the 'B' directive],
+ [gl_cv_func_printf_directive_uppercase_b],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+ int result = 0;
+ if (sprintf (buf, "%#B %d", 12345, 33, 44, 55) < 0
+ || strcmp (buf, "0B11000000111001 33") != 0)
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_printf_directive_uppercase_b=yes],
+ [gl_cv_func_printf_directive_uppercase_b=no],
+ [
+ case "$host_os" in
+ # Guess yes on glibc >= 2.35 systems.
+ *-gnu* | gnu*)
+ AC_EGREP_CPP([Lucky], [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 35) || (__GLIBC__ > 2)
+ Lucky user
+ #endif
+ #endif
+ ],
+ [gl_cv_func_printf_directive_uppercase_b="guessing yes"],
+ [gl_cv_func_printf_directive_uppercase_b="guessing no"])
+ ;;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_printf_directive_uppercase_b="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_directive_uppercase_b="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_directive_uppercase_b="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_printf_directive_uppercase_b="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+])
+
dnl Test whether the *printf family of functions supports the %F format
dnl directive. (ISO C99, POSIX:2001)
dnl Result is gl_cv_func_printf_directive_f.
@@ -643,7 +843,7 @@ changequote(,)dnl
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_directive_f="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_printf_directive_f="guessing yes";;
# Guess yes on FreeBSD >= 6.
freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
@@ -661,7 +861,8 @@ changequote(,)dnl
linux*-android*) gl_cv_func_printf_directive_f="guessing no";;
changequote([,])dnl
# Guess yes on MSVC, no on mingw.
- mingw*) AC_EGREP_CPP([Known], [
+ windows*-msvc*) gl_cv_func_printf_directive_f="guessing yes" ;;
+ mingw* | windows*) AC_EGREP_CPP([Known], [
#ifdef _MSC_VER
Known
#endif
@@ -689,6 +890,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
[
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
+#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -706,6 +908,12 @@ invalid_parameter_handler (const wchar_t *expression,
exit (1);
}
#endif
+static void
+abort_handler (int sig)
+{
+ (void) sig;
+ _exit (1);
+}
static char fmtstring[10];
static char buf[100];
int main ()
@@ -714,6 +922,7 @@ int main ()
#ifdef _MSC_VER
_set_invalid_parameter_handler (invalid_parameter_handler);
#endif
+ signal (SIGABRT, abort_handler);
/* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2)
support %n in format strings in read-only memory but not in writable
memory. */
@@ -727,21 +936,21 @@ int main ()
[gl_cv_func_printf_directive_n=yes],
[gl_cv_func_printf_directive_n=no],
[case "$host_os" in
- # Guess no on glibc when _FORTIFY_SOURCE >= 2.
- *-gnu* | gnu*) AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if _FORTIFY_SOURCE >= 2
- error fail
- #endif
- ]])],
- [gl_cv_func_printf_directive_n="guessing yes"],
- [gl_cv_func_printf_directive_n="guessing no"])
- ;;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_directive_n="guessing no";;
- # Guess no on native Windows.
- mingw*) gl_cv_func_printf_directive_n="guessing no";;
- *) gl_cv_func_printf_directive_n="guessing yes";;
+ # Guess no on glibc when _FORTIFY_SOURCE >= 2.
+ *-gnu* | gnu*) AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+ [[#if _FORTIFY_SOURCE >= 2
+ error fail
+ #endif
+ ]])],
+ [gl_cv_func_printf_directive_n="guessing yes"],
+ [gl_cv_func_printf_directive_n="guessing no"])
+ ;;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_directive_n="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_directive_n="guessing no";;
+ *) gl_cv_func_printf_directive_n="guessing yes";;
esac
])
])
@@ -811,18 +1020,64 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- # Guess yes on OpenBSD >= 6.0.
- openbsd[1-5].*) gl_cv_func_printf_directive_ls="guessing no";;
- openbsd*) gl_cv_func_printf_directive_ls="guessing yes";;
- irix*) gl_cv_func_printf_directive_ls="guessing no";;
- solaris*) gl_cv_func_printf_directive_ls="guessing no";;
- cygwin*) gl_cv_func_printf_directive_ls="guessing no";;
- beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_directive_ls="guessing no";;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_printf_directive_ls="guessing yes";;
- *) gl_cv_func_printf_directive_ls="guessing yes";;
+ # Guess yes on OpenBSD >= 6.0.
+ openbsd[1-5].*) gl_cv_func_printf_directive_ls="guessing no";;
+ openbsd*) gl_cv_func_printf_directive_ls="guessing yes";;
+ irix*) gl_cv_func_printf_directive_ls="guessing no";;
+ solaris*) gl_cv_func_printf_directive_ls="guessing no";;
+ cygwin*) gl_cv_func_printf_directive_ls="guessing no";;
+ beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_directive_ls="guessing no";;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_printf_directive_ls="guessing yes";;
+ *) gl_cv_func_printf_directive_ls="guessing yes";;
+ esac
+changequote([,])dnl
+ ])
+ ])
+])
+
+dnl Test whether the *printf family of functions supports the %lc format
+dnl directive and in particular, when the argument is a null wide character,
+dnl whether the functions produce a NUL byte, as specified in ISO C 23
+dnl after the issue GB-141 was fixed.
+dnl Result is gl_cv_func_printf_directive_lc.
+
+AC_DEFUN([gl_PRINTF_DIRECTIVE_LC],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether printf supports the 'lc' directive correctly],
+ [gl_cv_func_printf_directive_lc],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <wchar.h>
+#include <string.h>
+int main ()
+{
+ int result = 0;
+ char buf[100];
+ /* This test fails on musl libc 1.2.4. */
+ {
+ buf[0] = '\0';
+ if (sprintf (buf, "%lc%lc%lc", (wint_t) 'a', (wint_t) 0, (wint_t) 'z') < 0
+ || memcmp (buf, "a\0z", 4) != 0)
+ result |= 1;
+ }
+ return result;
+}]])],
+ [gl_cv_func_printf_directive_lc=yes],
+ [gl_cv_func_printf_directive_lc=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no on musl libc.
+ *-musl* | midipix*) gl_cv_func_printf_directive_lc="guessing no";;
+ # Guess yes otherwise.
+ *) gl_cv_func_printf_directive_lc="guessing yes";;
esac
changequote([,])dnl
])
@@ -833,7 +1088,7 @@ dnl Test whether the *printf family of functions supports POSIX/XSI format
dnl strings with positions. (POSIX:2001)
dnl Result is gl_cv_func_printf_positions.
-AC_DEFUN([gl_PRINTF_POSITIONS],
+AC_DEFUN_ONCE([gl_PRINTF_POSITIONS],
[
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
@@ -859,13 +1114,17 @@ int main ()
changequote(,)dnl
case "$host_os" in
netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*)
- gl_cv_func_printf_positions="guessing no";;
- beos*) gl_cv_func_printf_positions="guessing no";;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_positions="guessing yes";;
- # Guess no on native Windows.
- mingw* | pw*) gl_cv_func_printf_positions="guessing no";;
- *) gl_cv_func_printf_positions="guessing yes";;
+ gl_cv_func_printf_positions="guessing no";;
+ beos*)
+ gl_cv_func_printf_positions="guessing no";;
+ # Guess yes on Android.
+ linux*-android*)
+ gl_cv_func_printf_positions="guessing yes";;
+ # Guess no on native Windows.
+ mingw* | windows* | pw*)
+ gl_cv_func_printf_positions="guessing no";;
+ *)
+ gl_cv_func_printf_positions="guessing yes";;
esac
changequote([,])dnl
])
@@ -900,13 +1159,13 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- cygwin*) gl_cv_func_printf_flag_grouping="guessing no";;
- netbsd*) gl_cv_func_printf_flag_grouping="guessing no";;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_flag_grouping="guessing no";;
- # Guess no on native Windows.
- mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";;
- *) gl_cv_func_printf_flag_grouping="guessing yes";;
+ cygwin*) gl_cv_func_printf_flag_grouping="guessing no";;
+ netbsd*) gl_cv_func_printf_flag_grouping="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_flag_grouping="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows* | pw*) gl_cv_func_printf_flag_grouping="guessing no";;
+ *) gl_cv_func_printf_flag_grouping="guessing yes";;
esac
changequote([,])dnl
])
@@ -943,16 +1202,16 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- # Guess yes on HP-UX 11.
- hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
- # Guess no on HP-UX 10 and older.
- hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
- # Guess yes otherwise.
- *) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess yes on HP-UX 11.
+ hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess no on HP-UX 10 and older.
+ hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+ # Guess yes otherwise.
+ *) gl_cv_func_printf_flag_leftadjust="guessing yes";;
esac
changequote([,])dnl
])
@@ -990,18 +1249,62 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_printf_flag_zero="guessing yes";;
- # Guess yes on BeOS.
- beos*) gl_cv_func_printf_flag_zero="guessing yes";;
- # Guess no on Android.
- linux*-android*) gl_cv_func_printf_flag_zero="guessing no";;
- # Guess no on native Windows.
- mingw*) gl_cv_func_printf_flag_zero="guessing no";;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_printf_flag_zero="guessing yes";;
+ # Guess yes on BeOS.
+ beos*) gl_cv_func_printf_flag_zero="guessing yes";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_printf_flag_zero="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_printf_flag_zero="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";;
+ esac
+changequote([,])dnl
+ ])
+ ])
+])
+
+dnl Test whether the *printf family of functions supports the # flag with a
+dnl zero precision and a zero value in the 'x' and 'X' directives correctly.
+dnl ISO C and POSIX specify that for the 'd', 'i', 'b', 'o', 'u', 'x', 'X'
+dnl directives: "The result of converting a zero value with a precision of
+dnl zero is no characters." But on Mac OS X 10.5, for the 'x', 'X' directives,
+dnl when a # flag is present, the output is "0" instead of "".
+dnl Result is gl_cv_func_printf_flag_alt_precision_zero.
+
+AC_DEFUN([gl_PRINTF_FLAG_ALT_PRECISION_ZERO],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether printf supports the alternative flag with a zero precision],
+ [gl_cv_func_printf_flag_alt_precision_zero],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+static char buf[10];
+int main ()
+{
+ int result = 0;
+ if (sprintf (buf, "%#.0x %d", 0, 33, 44) > 0 + 3)
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_printf_flag_alt_precision_zero=yes],
+ [gl_cv_func_printf_flag_alt_precision_zero=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no only on macOS 10..12 systems.
+ darwin[0-9] | darwin[0-9].* | \
+ darwin1[0-9] | darwin1[0-9].* | \
+ darwin2[0-1] | darwin2[0-1].*)
+ gl_cv_func_printf_flag_alt_precision_zero="guessing no" ;;
+ darwin*) gl_cv_func_printf_flag_alt_precision_zero="guessing yes" ;;
+ *) gl_cv_func_printf_flag_alt_precision_zero="guessing yes" ;;
esac
changequote([,])dnl
])
@@ -1054,12 +1357,12 @@ int main ()
changequote(,)dnl
case "$host_os" in
# Guess no only on Solaris, native Windows, and BeOS systems.
- solaris*) gl_cv_func_printf_precision="guessing no" ;;
- mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
- beos*) gl_cv_func_printf_precision="guessing no" ;;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_printf_precision="guessing yes" ;;
- *) gl_cv_func_printf_precision="guessing yes" ;;
+ solaris*) gl_cv_func_printf_precision="guessing no" ;;
+ mingw* | windows* | pw*) gl_cv_func_printf_precision="guessing no" ;;
+ beos*) gl_cv_func_printf_precision="guessing no" ;;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_printf_precision="guessing yes" ;;
+ *) gl_cv_func_printf_precision="guessing yes" ;;
esac
changequote([,])dnl
])
@@ -1239,7 +1542,7 @@ changequote(,)dnl
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
# Guess yes on FreeBSD >= 5.
freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
@@ -1275,7 +1578,7 @@ changequote(,)dnl
# Guess yes on Android.
linux*-android*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
# Guess no on native Windows.
- mingw*) gl_cv_func_snprintf_truncation_c99="guessing no";;
+ mingw* | windows*) gl_cv_func_snprintf_truncation_c99="guessing no";;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_snprintf_truncation_c99="$gl_cross_guess_normal";;
esac
@@ -1344,7 +1647,7 @@ changequote(,)dnl
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";;
# Guess yes on musl systems.
- *-musl*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_snprintf_retval_c99="guessing yes";;
# Guess yes on FreeBSD >= 5.
freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
@@ -1372,7 +1675,8 @@ changequote(,)dnl
linux*-android*) gl_cv_func_snprintf_retval_c99="guessing yes";;
changequote([,])dnl
# Guess yes on MSVC, no on mingw.
- mingw*) AC_EGREP_CPP([Known], [
+ windows*-msvc*) gl_cv_func_snprintf_retval_c99="guessing yes" ;;
+ mingw* | windows*) AC_EGREP_CPP([Known], [
#ifdef _MSC_VER
Known
#endif
@@ -1401,6 +1705,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
[
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
+#include <signal.h>
#include <stdio.h>
#include <string.h>
#if HAVE_SNPRINTF
@@ -1417,11 +1722,18 @@ static int my_snprintf (char *buf, int size, const char *format, ...)
return ret;
}
#endif
+static void
+abort_handler (int sig)
+{
+ (void) sig;
+ _exit (1);
+}
static char fmtstring[10];
static char buf[100];
int main ()
{
int count = -1;
+ signal (SIGABRT, abort_handler);
/* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2)
support %n in format strings in read-only memory but not in writable
memory. */
@@ -1447,7 +1759,7 @@ int main ()
;;
changequote(,)dnl
# Guess yes on musl systems.
- *-musl*) gl_cv_func_snprintf_directive_n="guessing yes";;
+ *-musl* | midipix*) gl_cv_func_snprintf_directive_n="guessing yes";;
# Guess yes on FreeBSD >= 5.
freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";;
freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
@@ -1476,7 +1788,7 @@ changequote(,)dnl
# Guess no on Android.
linux*-android*) gl_cv_func_snprintf_directive_n="guessing no";;
# Guess no on native Windows.
- mingw*) gl_cv_func_snprintf_directive_n="guessing no";;
+ mingw* | windows*) gl_cv_func_snprintf_directive_n="guessing no";;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_snprintf_directive_n="$gl_cross_guess_normal";;
changequote([,])dnl
@@ -1524,11 +1836,11 @@ int main()
[gl_cv_func_snprintf_size1=yes],
[gl_cv_func_snprintf_size1=no],
[case "$host_os" in
- # Guess yes on Android.
- linux*-android*) gl_cv_func_snprintf_size1="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_snprintf_size1="guessing yes" ;;
- *) gl_cv_func_snprintf_size1="guessing yes" ;;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_snprintf_size1="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_snprintf_size1="guessing yes" ;;
+ *) gl_cv_func_snprintf_size1="guessing yes" ;;
esac
])
])
@@ -1601,128 +1913,318 @@ int main()
[
changequote(,)dnl
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on FreeBSD >= 5.
- freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
- freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- midnightbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on Mac OS X >= 10.3.
- darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
- darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on Cygwin.
- cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on Solaris >= 2.6.
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on FreeBSD >= 5.
+ freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+ freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ midnightbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on Mac OS X >= 10.3.
+ darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+ darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on Cygwin.
+ cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on Solaris >= 2.6.
solaris2.[0-5] | solaris2.[0-5].*)
- gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
- solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on AIX >= 4.
- aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
- aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on IRIX >= 6.5.
- irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on NetBSD >= 3.
+ gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+ solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on AIX >= 4.
+ aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+ aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on IRIX >= 6.5.
+ irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on NetBSD >= 3.
netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
- gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
- netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on BeOS.
- beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on Android.
- linux*-android*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # Guess yes on native Windows.
- mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_vsnprintf_zerosize_c99="$gl_cross_guess_normal";;
+ gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+ netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on BeOS.
+ beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # Guess yes on native Windows.
+ mingw* | windows* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_vsnprintf_zerosize_c99="$gl_cross_guess_normal";;
esac
changequote([,])dnl
])
])
])
+dnl Test whether the swprintf function works correctly when it produces output
+dnl that contains null wide characters.
+dnl Result is gl_cv_func_swprintf_works.
+
+AC_DEFUN([gl_SWPRINTF_WORKS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CHECK_FUNCS_ONCE([swprintf])
+ AC_CACHE_CHECK([whether swprintf works],
+ [gl_cv_func_swprintf_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#ifndef __USE_MINGW_ANSI_STDIO
+# define __USE_MINGW_ANSI_STDIO 1
+#endif
+#include <stdio.h>
+#include <wchar.h>
+int main()
+{
+ int result = 0;
+ { /* This test fails on musl libc 1.2.3, FreeBSD, NetBSD, OpenBSD, macOS, AIX. */
+ wchar_t buf[5] = { 0xBEEF, 0xBEEF, 0xBEEF, 0xBEEF, 0xBEEF };
+ int ret = swprintf (buf, 4, L"%cz", '\0');
+ /* Expected result:
+ ret = 2, buf[0] = 0x0, buf[1] = 0x7a, buf[2] = 0x0, buf[3] = 0xbeef
+ musl libc 1.2.3:
+ ret = 2, buf[0] = 0x0, buf[1] = 0x0, buf[2] = 0x0, buf[3] = 0x0
+ Reported at <https://www.openwall.com/lists/musl/2023/03/22/9>.
+ FreeBSD 13.1, NetBSD 9.0, OpenBSD 7.2, macOS 12.5, AIX 7.2:
+ ret = 2, buf[0] = 0x0, buf[1] = 0xbeef, buf[2] = 0xbeef, buf[3] = 0xbeef
+ */
+ if (ret < 0 || buf[1] != 'z')
+ result |= 1;
+ }
+ { /* This test fails on mingw. */
+ wchar_t buf[2];
+ int ret = swprintf (buf, 2, L"%lc", (wint_t)0);
+ /* Expected: ret = 1
+ mingw: ret = 0
+ */
+ if (ret != 1)
+ result |= 2;
+ }
+ return result;
+}]])],
+ [gl_cv_func_swprintf_works=yes],
+ [gl_cv_func_swprintf_works=no],
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_swprintf_works="guessing yes";;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_swprintf_works="guessing no";;
+ # Guess no on FreeBSD, NetBSD, OpenBSD, macOS, AIX.
+ freebsd* | midnightbsd* | netbsd* | openbsd* | darwin* | aix*)
+ gl_cv_func_swprintf_works="guessing no";;
+ # Guess no on native Windows.
+ mingw* | windows* | pw*) gl_cv_func_swprintf_works="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_swprintf_works="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+])
+
+dnl Test whether the *wprintf family of functions supports the 'a' and 'A'
+dnl conversion specifier for hexadecimal output of 'long double' numbers.
+dnl (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_swprintf_directive_la.
+
+AC_DEFUN([gl_SWPRINTF_DIRECTIVE_LA],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether swprintf supports the 'La' and 'LA' directives],
+ [gl_cv_func_swprintf_directive_la],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <wchar.h>
+static wchar_t buf[100];
+int main ()
+{
+ int result = 0;
+ /* This catches a glibc 2.15 and Haiku 2022 bug. */
+ if (swprintf (buf, sizeof (buf) / sizeof (wchar_t),
+ L"%La %d", 3.1416015625L, 33, 44, 55) < 0
+ || (wcscmp (buf, L"0x1.922p+1 33") != 0
+ && wcscmp (buf, L"0x3.244p+0 33") != 0
+ && wcscmp (buf, L"0x6.488p-1 33") != 0
+ && wcscmp (buf, L"0xc.91p-2 33") != 0))
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_swprintf_directive_la=yes],
+ [gl_cv_func_swprintf_directive_la=no],
+ [case "$host_os" in
+ # Guess yes on glibc >= 2.17 systems.
+ *-gnu* | gnu*)
+ AC_EGREP_CPP([Unlucky], [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16) || (__GLIBC__ > 2)) && !defined __UCLIBC__
+ Unlucky
+ #endif
+ #endif
+ ],
+ [gl_cv_func_swprintf_directive_la="guessing yes"],
+ [gl_cv_func_swprintf_directive_la="guessing no"])
+ ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_swprintf_directive_la="guessing yes";;
+ # Guess yes on Android.
+ linux*-android*) gl_cv_func_swprintf_directive_la="guessing yes";;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_swprintf_directive_la="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_swprintf_directive_la="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+])
+
+dnl Test whether the *wprintf family of functions supports the 'lc' conversion
+dnl specifier for all wide characters.
+dnl (ISO C11, POSIX:2001)
+dnl Result is gl_cv_func_swprintf_directive_lc.
+
+AC_DEFUN([gl_SWPRINTF_DIRECTIVE_LC],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether swprintf supports the 'lc' directive],
+ [gl_cv_func_swprintf_directive_lc],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <wchar.h>
+static wchar_t buf[100];
+static wint_t L_invalid = (wchar_t) 0x76543210;
+int main ()
+{
+ int result = 0;
+ /* This catches a musl libc 1.2.4, Android bug.
+ Reported at <https://www.openwall.com/lists/musl/2023/06/12/3>. */
+ if (swprintf (buf, sizeof (buf) / sizeof (wchar_t),
+ L"%lc %d", L_invalid, 33, 44, 55) < 0)
+ result |= 1;
+ return result;
+}]])],
+ [gl_cv_func_swprintf_directive_lc=yes],
+ [gl_cv_func_swprintf_directive_lc=no],
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_swprintf_directive_lc="guessing yes";;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_swprintf_directive_lc="guessing no";;
+ # Guess no on Android.
+ linux*-android*) gl_cv_func_swprintf_directive_lc="guessing no";;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_swprintf_directive_lc="guessing yes";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_swprintf_directive_lc="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+])
+
dnl The results of these tests on various platforms are:
dnl
dnl 1 = gl_PRINTF_SIZES_C99
-dnl 2 = gl_PRINTF_LONG_DOUBLE
-dnl 3 = gl_PRINTF_INFINITE
-dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE
-dnl 5 = gl_PRINTF_DIRECTIVE_A
-dnl 6 = gl_PRINTF_DIRECTIVE_F
-dnl 7 = gl_PRINTF_DIRECTIVE_N
-dnl 8 = gl_PRINTF_DIRECTIVE_LS
-dnl 9 = gl_PRINTF_POSITIONS
-dnl 10 = gl_PRINTF_FLAG_GROUPING
-dnl 11 = gl_PRINTF_FLAG_LEFTADJUST
-dnl 12 = gl_PRINTF_FLAG_ZERO
-dnl 13 = gl_PRINTF_PRECISION
-dnl 14 = gl_PRINTF_ENOMEM
-dnl 15 = gl_SNPRINTF_PRESENCE
-dnl 16 = gl_SNPRINTF_TRUNCATION_C99
-dnl 17 = gl_SNPRINTF_RETVAL_C99
-dnl 18 = gl_SNPRINTF_DIRECTIVE_N
-dnl 19 = gl_SNPRINTF_SIZE1
-dnl 20 = gl_VSNPRINTF_ZEROSIZE_C99
+dnl 2 = gl_PRINTF_SIZES_C23
+dnl 3 = gl_PRINTF_LONG_DOUBLE
+dnl 4 = gl_PRINTF_INFINITE
+dnl 5 = gl_PRINTF_INFINITE_LONG_DOUBLE
+dnl 6 = gl_PRINTF_DIRECTIVE_A
+dnl 7 = gl_PRINTF_DIRECTIVE_B
+dnl 8 = gl_PRINTF_DIRECTIVE_UPPERCASE_B
+dnl 9 = gl_PRINTF_DIRECTIVE_F
+dnl 10 = gl_PRINTF_DIRECTIVE_N
+dnl 11 = gl_PRINTF_DIRECTIVE_LS
+dnl 12 = gl_PRINTF_DIRECTIVE_LC
+dnl 13 = gl_PRINTF_POSITIONS
+dnl 14 = gl_PRINTF_FLAG_GROUPING
+dnl 15 = gl_PRINTF_FLAG_LEFTADJUST
+dnl 16 = gl_PRINTF_FLAG_ZERO
+dnl 17 = gl_PRINTF_FLAG_ALT_PRECISION_ZERO
+dnl 18 = gl_PRINTF_PRECISION
+dnl 19 = gl_PRINTF_ENOMEM
+dnl 20 = gl_SNPRINTF_PRESENCE
+dnl 21 = gl_SNPRINTF_TRUNCATION_C99
+dnl 22 = gl_SNPRINTF_RETVAL_C99
+dnl 23 = gl_SNPRINTF_DIRECTIVE_N
+dnl 24 = gl_SNPRINTF_SIZE1
+dnl 25 = gl_VSNPRINTF_ZEROSIZE_C99
+dnl 26 = gl_SWPRINTF_WORKS
+dnl 27 = gl_SWPRINTF_DIRECTIVE_LA
+dnl 28 = gl_SWPRINTF_DIRECTIVE_LC
dnl
dnl 1 = checking whether printf supports size specifiers as in C99...
-dnl 2 = checking whether printf supports 'long double' arguments...
-dnl 3 = checking whether printf supports infinite 'double' arguments...
-dnl 4 = checking whether printf supports infinite 'long double' arguments...
-dnl 5 = checking whether printf supports the 'a' and 'A' directives...
-dnl 6 = checking whether printf supports the 'F' directive...
-dnl 7 = checking whether printf supports the 'n' directive...
-dnl 8 = checking whether printf supports the 'ls' directive...
-dnl 9 = checking whether printf supports POSIX/XSI format strings with positions...
-dnl 10 = checking whether printf supports the grouping flag...
-dnl 11 = checking whether printf supports the left-adjust flag correctly...
-dnl 12 = checking whether printf supports the zero flag correctly...
-dnl 13 = checking whether printf supports large precisions...
-dnl 14 = checking whether printf survives out-of-memory conditions...
-dnl 15 = checking for snprintf...
-dnl 16 = checking whether snprintf truncates the result as in C99...
-dnl 17 = checking whether snprintf returns a byte count as in C99...
-dnl 18 = checking whether snprintf fully supports the 'n' directive...
-dnl 19 = checking whether snprintf respects a size of 1...
-dnl 20 = checking whether vsnprintf respects a zero size as in C99...
+dnl 2 = checking whether printf supports size specifiers as in C23...
+dnl 3 = checking whether printf supports 'long double' arguments...
+dnl 4 = checking whether printf supports infinite 'double' arguments...
+dnl 5 = checking whether printf supports infinite 'long double' arguments...
+dnl 6 = checking whether printf supports the 'a' and 'A' directives...
+dnl 7 = checking whether printf supports the 'b' directive...
+dnl 8 = checking whether printf supports the 'B' directive...
+dnl 9 = checking whether printf supports the 'F' directive...
+dnl 10 = checking whether printf supports the 'n' directive...
+dnl 11 = checking whether printf supports the 'ls' directive...
+dnl 12 = checking whether printf supports the 'lc' directive correctly...
+dnl 13 = checking whether printf supports POSIX/XSI format strings with positions...
+dnl 14 = checking whether printf supports the grouping flag...
+dnl 15 = checking whether printf supports the left-adjust flag correctly...
+dnl 16 = checking whether printf supports the zero flag correctly...
+dnl 17 = checking whether printf supports the alternative flag with a zero precision...
+dnl 18 = checking whether printf supports large precisions...
+dnl 19 = checking whether printf survives out-of-memory conditions...
+dnl 20 = checking for snprintf...
+dnl 21 = checking whether snprintf truncates the result as in C99...
+dnl 22 = checking whether snprintf returns a byte count as in C99...
+dnl 23 = checking whether snprintf fully supports the 'n' directive...
+dnl 24 = checking whether snprintf respects a size of 1...
+dnl 25 = checking whether vsnprintf respects a zero size as in C99...
+dnl 26 = checking whether swprintf works...
+dnl 27 = checking whether swprintf supports the 'La' and 'LA' directives...
+dnl 28 = checking whether swprintf supports the 'lc' directive...
dnl
dnl . = yes, # = no.
dnl
-dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
-dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . .
-dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . .
-dnl FreeBSD 13.0 . . . . # . . . . . . . . # . . . . . .
-dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . .
-dnl Mac OS X 10.13.5 . . . # # . # . . . . . . . . . . # . .
-dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . .
-dnl Mac OS X 10.3.9 . . . . # . . . . . . # . # . . . . . .
-dnl OpenBSD 6.0, 6.7 . . . . # . . . . . . . . # . . . . . .
-dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . .
-dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . .
-dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . .
-dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . .
-dnl Solaris 11.4 . . # # # . . # . . . # . . . . . . . .
-dnl Solaris 11.3 . . . . # . . # . . . . . . . . . . . .
-dnl Solaris 11.0 . . # # # . . # . . . # . . . . . . . .
-dnl Solaris 10 . . # # # . . # . . . # # . . . . . . .
-dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . .
-dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # #
-dnl AIX 7.1 . . # # # . . . . . . # # . . . . . . .
-dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . .
-dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . # . . .
-dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . .
-dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . #
-dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? #
-dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . .
-dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . #
-dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # #
-dnl NetBSD 9.0 . . . . # . . . . . . . . . . . . . . .
-dnl NetBSD 5.0 . . . # # . . . . . . # . # . . . . . .
-dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ?
-dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . .
-dnl Haiku . . . # # # . # . . . . . ? . . ? . . .
-dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . .
-dnl Android 4.3 . . # # # # # # . # . # . # . . . # . .
-dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . .
-dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . .
-dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . .
-dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . .
+dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
+dnl musl libc 1.2.3 . # . . . . # # . . . # . . . . ? . . . . . . . . # . #
+dnl glibc 2.35 . # . . . . . . . . . . . . . . . . . . . . . . . . . .
+dnl glibc 2.5 . # . . . . # # . . . . . . . . . . . . . . . . . . # .
+dnl glibc 2.3.6 . # . . . # # # . . . . . . . . . . . . . . . . . . # .
+dnl FreeBSD 14.0 . . . . . # . . . . . . . . . . . . # . . . . . . # . #
+dnl FreeBSD 13.0 . # . . . # # # . . . . . . . . . . # . . . . . . # . #
+dnl FreeBSD 5.4, 6.1 . # . . . # # # . . . . . . . # ? . # . . . . . . # ? ?
+dnl Mac OS X 10.13.5 . # . . # # # # . # . . . . . . . . . . . . # . . # ? ?
+dnl Mac OS X 10.5.8 . # . . # # # # . . . . . . . # # . . . . . . . . # ? ?
+dnl Mac OS X 10.3.9 . # . . . # # # . . . . . . . # # . # . . . . . . # ? ?
+dnl OpenBSD 6.0, 6.7 . # . . . # # # . . . . . . . . . . # . . . . . . # . #
+dnl OpenBSD 3.9, 4.0 . # . # # # # # # . # . . # . # ? . # . . . . . . # ? ?
+dnl Cygwin 1.7.0 (2009) . # . . # . # # . . ? ? . . . . ? . ? . . . . . . ? ? ?
+dnl Cygwin 1.5.25 (2008) . # . . # # # # . . # ? . . . . ? . # . . . . . . ? ? ?
+dnl Cygwin 1.5.19 (2006) # # . . # # # # # . # ? . # . # ? # # . . . . . . ? ? ?
+dnl Solaris 11.4 . # . # # # # # . . # . . . . # . . . . . . . . . . # .
+dnl Solaris 11.3 . # . . . # # # . . # . . . . . . . . . . . . . . . # .
+dnl Solaris 11.0 . # . # # # # # . . # . . . . # . . . . . . . . . ? ? ?
+dnl Solaris 10 . # . # # # # # . . # . . . . # . # . . . . . . . . # .
+dnl Solaris 2.6 ... 9 # # . # # # # # # . # . . . . # ? # . . . # . . . ? ? ?
+dnl Solaris 2.5.1 # # . # # # # # # . # . . . . # ? . . # # # # # # ? ? ?
+dnl AIX 7.1 . # . # # # # # . . . . . . . # . # . . . . . . . # . .
+dnl AIX 5.2 . # . # # # # # . . . . . . . # ? . . . . . . . . # ? ?
+dnl AIX 4.3.2, 5.1 # # . # # # # # # . . . . . . # ? . . . . # . . . # ? ?
+dnl HP-UX 11.31 . # . . . # # # . . . ? . . . # ? . . . . # # . . ? ? ?
+dnl HP-UX 11.{00,11,23} # # . . . # # # # . . ? . . . # ? . . . . # # . # ? ? ?
+dnl HP-UX 10.20 # # . # . # # # # . ? ? . . # # ? . . . . # # ? # ? ? ?
+dnl IRIX 6.5 # # . # # # # # # . # . . . . # ? . . . . # . . . # ? ?
+dnl OSF/1 5.1 # # . # # # # # # . . ? . . . # ? . . . . # . . # ? ? ?
+dnl OSF/1 4.0d # # . # # # # # # . . ? . . . # ? . . # # # # # # ? ? ?
+dnl NetBSD 9.0 . # . . . # # # . . . . . . . . . . . . . . . . . # . #
+dnl NetBSD 5.0 . # . . # # # # . . . . . . . # ? . # . . . . . . # ? ?
+dnl NetBSD 4.0 . # ? ? ? ? # # ? . ? . . ? ? ? ? ? ? . . . ? ? ? # ? ?
+dnl NetBSD 3.0 . # . . . # # # # . ? . # # ? # ? . # . . . . . . # ? ?
+dnl Haiku . # . . # # # # # . # ? . . . . ? . ? . . ? . . . . # .
+dnl BeOS # # # . # # # # # . ? ? # . ? . ? # ? . . ? . . . ? ? ?
+dnl Android 4.3 . # . # # # # # # # # ? . # . # ? . # . . . # . . ? ? ?
+dnl old mingw / msvcrt # # # # # # # # # . . ? # # . # ? # ? . # # # . . # ? ?
+dnl MSVC 9 # # # # # # # # # # . ? # # . # ? # ? # # # # . . # ? ?
+dnl mingw 2009-2011 . # # . # . # # . . . ? # # . . ? . ? . . . . . . # ? ?
+dnl mingw-w64 2011 # # # # # # # # # . . ? # # . # ? # ? . # # # . . # ? ?
diff --git a/gnulib-m4/pselect.m4 b/gnulib-m4/pselect.m4
index 86114416..005b722b 100644
--- a/gnulib-m4/pselect.m4
+++ b/gnulib-m4/pselect.m4
@@ -1,5 +1,5 @@
-# pselect.m4 serial 10
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# pselect.m4 serial 11
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -54,6 +54,8 @@ AC_DEFUN([gl_FUNC_PSELECT],
case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
diff --git a/gnulib-m4/pthread-thread.m4 b/gnulib-m4/pthread-thread.m4
index 969628ea..37855587 100644
--- a/gnulib-m4/pthread-thread.m4
+++ b/gnulib-m4/pthread-thread.m4
@@ -1,5 +1,5 @@
-# pthread-thread.m4 serial 2
-dnl Copyright (C) 2019-2022 Free Software Foundation, Inc.
+# pthread-thread.m4 serial 3
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,7 @@ AC_DEFUN([gl_PTHREAD_THREAD],
AC_REQUIRE([gl_PTHREAD_H])
AC_REQUIRE([AC_CANONICAL_HOST])
- if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ if { case "$host_os" in mingw* | windows*) true;; *) false;; esac; } \
&& test $gl_threads_api = windows; then
dnl Choose function names that don't conflict with the mingw-w64 winpthreads
dnl library.
diff --git a/gnulib-m4/pthread_h.m4 b/gnulib-m4/pthread_h.m4
index 4146aef3..c33afa0c 100644
--- a/gnulib-m4/pthread_h.m4
+++ b/gnulib-m4/pthread_h.m4
@@ -1,5 +1,5 @@
-# pthread_h.m4 serial 8
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# pthread_h.m4 serial 9
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -20,7 +20,7 @@ AC_DEFUN_ONCE([gl_PTHREAD_H],
dnl ignore the <pthread.h> from the mingw-w64 winpthreads library.
m4_ifdef([gl_][THREADLIB], [
AC_REQUIRE([gl_][THREADLIB])
- if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ if { case "$host_os" in mingw* | windows*) true;; *) false;; esac; } \
&& test $gl_threads_api = windows; then
HAVE_PTHREAD_H=0
fi
diff --git a/gnulib-m4/pthread_rwlock_rdlock.m4 b/gnulib-m4/pthread_rwlock_rdlock.m4
index 8ad78392..ddb58318 100644
--- a/gnulib-m4/pthread_rwlock_rdlock.m4
+++ b/gnulib-m4/pthread_rwlock_rdlock.m4
@@ -1,5 +1,5 @@
-# pthread_rwlock_rdlock.m4 serial 4
-dnl Copyright (C) 2017-2022 Free Software Foundation, Inc.
+# pthread_rwlock_rdlock.m4 serial 8
+dnl Copyright (C) 2017-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -34,11 +34,11 @@ dnl https://sourceware.org/bugzilla/show_bug.cgi?id=13701
dnl https://bugzilla.redhat.com/show_bug.cgi?id=1410052
AC_DEFUN([gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER],
[
- AC_REQUIRE([gl_THREADLIB_EARLY])
+ AC_REQUIRE([gl_THREADLIB])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CACHE_CHECK([whether pthread_rwlock_rdlock prefers a writer to a reader],
[gl_cv_pthread_rwlock_rdlock_prefer_writer],
- [save_LIBS="$LIBS"
+ [saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
@@ -156,25 +156,25 @@ main ()
[gl_cv_pthread_rwlock_rdlock_prefer_writer=yes],
[gl_cv_pthread_rwlock_rdlock_prefer_writer=no],
[case "$host_os" in
- # Guess no on glibc systems.
- *-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
- # Guess no on musl systems.
- *-musl*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
- # Guess no on bionic systems.
- *-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
- # Guess yes on native Windows with the mingw-w64 winpthreads library.
- # Guess no on native Windows with the gnulib windows-rwlock module.
- mingw*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"
- else
- gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no"
- fi
- ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;;
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
+ # Guess no on bionic systems.
+ *-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
+ # Guess yes on native Windows with the mingw-w64 winpthreads library.
+ # Guess no on native Windows with the gnulib windows-rwlock module.
+ mingw* | windows*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
+ gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"
+ else
+ gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no"
+ fi
+ ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;;
esac
])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
case "$gl_cv_pthread_rwlock_rdlock_prefer_writer" in
*yes)
diff --git a/gnulib-m4/pthread_sigmask.m4 b/gnulib-m4/pthread_sigmask.m4
index 0aa8c53f..cb2ee900 100644
--- a/gnulib-m4/pthread_sigmask.m4
+++ b/gnulib-m4/pthread_sigmask.m4
@@ -1,5 +1,5 @@
-# pthread_sigmask.m4 serial 21
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# pthread_sigmask.m4 serial 23
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -24,7 +24,7 @@ AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
[gl_cv_func_pthread_sigmask_macro=no])
])
- LIB_PTHREAD_SIGMASK=
+ PTHREAD_SIGMASK_LIB=
if test $gl_cv_func_pthread_sigmask_macro = yes; then
dnl pthread_sigmask is a dummy macro.
@@ -47,7 +47,7 @@ AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
if test -n "$LIBMULTITHREAD"; then
AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD],
[gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD],
- [gl_save_LIBS="$LIBS"
+ [gl_saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -58,11 +58,11 @@ AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
],
[gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes],
[gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no])
- LIBS="$gl_save_LIBS"
+ LIBS="$gl_saved_LIBS"
])
if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
dnl pthread_sigmask is available with -pthread or -lpthread.
- LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
+ PTHREAD_SIGMASK_LIB="$LIBMULTITHREAD"
else
dnl pthread_sigmask is not available at all.
HAVE_PTHREAD_SIGMASK=0
@@ -101,6 +101,9 @@ AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
])
fi
+ AC_SUBST([PTHREAD_SIGMASK_LIB])
+ dnl For backward compatibility.
+ LIB_PTHREAD_SIGMASK="$PTHREAD_SIGMASK_LIB"
AC_SUBST([LIB_PTHREAD_SIGMASK])
dnl We don't need a variable LTLIB_PTHREAD_SIGMASK, because when
dnl "$gl_threads_api" = posix, $LTLIBMULTITHREAD and $LIBMULTITHREAD are the
@@ -114,7 +117,7 @@ AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
dnl On FreeBSD 13.0, MidnightBSD 1.1, HP-UX 11.31, Solaris 9, in programs
dnl that are not linked with -lpthread, the pthread_sigmask() function
dnl always returns 0 and has no effect.
- if test -z "$LIB_PTHREAD_SIGMASK"; then
+ if test -z "$PTHREAD_SIGMASK_LIB"; then
case " $LIBS " in
*' -pthread '*) ;;
*' -lpthread '*) ;;
@@ -161,8 +164,8 @@ AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
AC_CACHE_CHECK([whether pthread_sigmask returns error numbers],
[gl_cv_func_pthread_sigmask_return_works],
[
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB_PTHREAD_SIGMASK"
+ gl_saved_LIBS="$LIBS"
+ LIBS="$LIBS $PTHREAD_SIGMASK_LIB"
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <pthread.h>
@@ -185,7 +188,7 @@ int main ()
gl_cv_func_pthread_sigmask_return_works="guessing yes";;
esac
])
- LIBS="$gl_save_LIBS"
+ LIBS="$gl_saved_LIBS"
])
case "$gl_cv_func_pthread_sigmask_return_works" in
*no)
@@ -208,13 +211,14 @@ int main ()
gl_cv_func_pthread_sigmask_unblock_works="guessing yes";;
esac
m4_ifdef([gl_][THREADLIB],
- [dnl Link against $LIBMULTITHREAD, not only $LIB_PTHREAD_SIGMASK.
+ [dnl Link against $LIBMULTITHREAD, not only $PTHREAD_SIGMASK_LIB.
dnl Otherwise we get a false positive on those platforms where
dnl $gl_cv_func_pthread_sigmask_in_libc_works is "no".
- gl_save_LIBS=$LIBS
+ gl_saved_LIBS=$LIBS
LIBS="$LIBS $LIBMULTITHREAD"])
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
+#include <limits.h>
#include <pthread.h>
#include <signal.h>
#include <stdio.h>
@@ -230,14 +234,16 @@ sigint_handler (int sig)
int main ()
{
sigset_t set;
- int pid = getpid ();
+ pid_t pid = getpid ();
char command[80];
+ if (LONG_MAX < pid)
+ return 6;
signal (SIGINT, sigint_handler);
sigemptyset (&set);
sigaddset (&set, SIGINT);
if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0))
return 1;
- sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+ sprintf (command, "sh -c 'sleep 1; kill -INT %ld' &", (long) pid);
if (!(system (command) == 0))
return 2;
sleep (2);
@@ -252,7 +258,7 @@ int main ()
[:],
[gl_cv_func_pthread_sigmask_unblock_works=no],
[:])
- m4_ifdef([gl_][THREADLIB], [LIBS=$gl_save_LIBS])
+ m4_ifdef([gl_][THREADLIB], [LIBS=$gl_saved_LIBS])
])
case "$gl_cv_func_pthread_sigmask_unblock_works" in
*no)
diff --git a/gnulib-m4/putenv.m4 b/gnulib-m4/putenv.m4
index c7b45034..da6abec2 100644
--- a/gnulib-m4/putenv.m4
+++ b/gnulib-m4/putenv.m4
@@ -1,5 +1,5 @@
-# putenv.m4 serial 25
-dnl Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# putenv.m4 serial 27
+dnl Copyright (C) 2002-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -38,14 +38,14 @@ AC_DEFUN([gl_FUNC_PUTENV],
[gl_cv_func_svid_putenv=no],
[dnl When crosscompiling, assume putenv is broken.
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_svid_putenv="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_func_svid_putenv="guessing no" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_svid_putenv="guessing yes" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_svid_putenv="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;;
esac
])
])
diff --git a/gnulib-m4/raise.m4 b/gnulib-m4/raise.m4
index 0c78d095..08b9545b 100644
--- a/gnulib-m4/raise.m4
+++ b/gnulib-m4/raise.m4
@@ -1,5 +1,5 @@
# raise.m4 serial 4
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/random.m4 b/gnulib-m4/random.m4
new file mode 100644
index 00000000..911c5d0e
--- /dev/null
+++ b/gnulib-m4/random.m4
@@ -0,0 +1,79 @@
+# random.m4 serial 8
+dnl Copyright (C) 2012-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_RANDOM],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+
+ dnl We can't use AC_CHECK_FUNC here, because random() is defined as a
+ dnl static inline function when compiling for Android 4.4 or older.
+ AC_CACHE_CHECK([for random], [gl_cv_func_random],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>]],
+ [[return random() == 0;]])
+ ],
+ [gl_cv_func_random=yes],
+ [gl_cv_func_random=no])
+ ])
+ gl_CHECK_FUNCS_ANDROID([initstate], [[#include <stdlib.h>]])
+ gl_CHECK_FUNCS_ANDROID([setstate], [[#include <stdlib.h>]])
+ if test $gl_cv_func_random = no; then
+ HAVE_RANDOM=0
+ HAVE_INITSTATE=0
+ HAVE_SETSTATE=0
+ else
+ if test $ac_cv_func_initstate = no; then
+ HAVE_INITSTATE=0
+ fi
+ if test $ac_cv_func_setstate = no; then
+ HAVE_SETSTATE=0
+ fi
+ fi
+ if test $HAVE_INITSTATE = 0; then
+ case "$gl_cv_onwards_func_initstate" in
+ future*) REPLACE_INITSTATE=1 ;;
+ esac
+ fi
+ if test $HAVE_SETSTATE = 0; then
+ case "$gl_cv_onwards_func_setstate" in
+ future*) REPLACE_SETSTATE=1 ;;
+ esac
+ fi
+ dnl On several platforms, random() is not multithread-safe.
+ if test $ac_cv_func_initstate = no || test $ac_cv_func_setstate = no \
+ || case "$host_os" in \
+ darwin* | freebsd* | solaris* | cygwin* | haiku*) true ;; \
+ *) false ;; \
+ esac
+ then
+ dnl In order to define initstate or setstate, we need to define all the
+ dnl functions at once.
+ REPLACE_RANDOM=1
+ if test $ac_cv_func_initstate = yes; then
+ REPLACE_INITSTATE=1
+ fi
+ if test $ac_cv_func_setstate = yes; then
+ REPLACE_SETSTATE=1
+ fi
+ fi
+
+ AC_CHECK_DECLS_ONCE([initstate])
+ if test $ac_cv_have_decl_initstate = no; then
+ HAVE_DECL_INITSTATE=0
+ fi
+
+ AC_CHECK_DECLS_ONCE([setstate])
+ if test $ac_cv_have_decl_setstate = no; then
+ HAVE_DECL_SETSTATE=0
+ fi
+])
+
+# Prerequisites of lib/random.c.
+AC_DEFUN([gl_PREREQ_RANDOM], [
+ :
+])
diff --git a/gnulib-m4/random_r.m4 b/gnulib-m4/random_r.m4
new file mode 100644
index 00000000..6c5457e9
--- /dev/null
+++ b/gnulib-m4/random_r.m4
@@ -0,0 +1,43 @@
+# serial 5
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_RANDOM_R],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+
+ AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT])
+ if test $ac_cv_header_random_h = no; then
+ HAVE_RANDOM_H=0
+ fi
+
+ AC_CHECK_TYPES([struct random_data],
+ [], [HAVE_STRUCT_RANDOM_DATA=0],
+ [[#include <stdlib.h>
+ #if HAVE_RANDOM_H
+ # include <random.h>
+ #endif
+ ]])
+
+ dnl On AIX and OSF/1, these functions exist, but with different declarations.
+ dnl Override them all.
+ case "$host_os" in
+ aix* | osf*)
+ REPLACE_RANDOM_R=1
+ ;;
+ *)
+ AC_CHECK_FUNCS([random_r])
+ if test $ac_cv_func_random_r = no; then
+ HAVE_RANDOM_R=0
+ fi
+ ;;
+ esac
+])
+
+# Prerequisites of lib/random_r.c.
+AC_DEFUN([gl_PREREQ_RANDOM_R], [
+ :
+])
diff --git a/gnulib-m4/realloc.m4 b/gnulib-m4/realloc.m4
index 86e57c25..a59af280 100644
--- a/gnulib-m4/realloc.m4
+++ b/gnulib-m4/realloc.m4
@@ -1,5 +1,5 @@
-# realloc.m4 serial 26
-dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+# realloc.m4 serial 29
+dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -16,7 +16,8 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
[[#include <stdlib.h>
]],
[[void *p = realloc (0, 0);
- int result = !p;
+ void * volatile vp = p;
+ int result = !vp;
free (p);
return result;]])
],
@@ -25,8 +26,8 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
[case "$host_os" in
# Guess yes on platforms where we know the result.
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
- | gnu* | *-musl* | midnightbsd* \
- | hpux* | solaris* | cygwin* | mingw* | msys* )
+ | gnu* | *-musl* | midipix* | midnightbsd* \
+ | hpux* | solaris* | cygwin* | mingw* | windows* | msys* )
ac_cv_func_realloc_0_nonnull="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
*) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;;
diff --git a/gnulib-m4/reallocarray.m4 b/gnulib-m4/reallocarray.m4
index f39ab6ea..20c4601e 100644
--- a/gnulib-m4/reallocarray.m4
+++ b/gnulib-m4/reallocarray.m4
@@ -1,5 +1,5 @@
-# reallocarray.m4 serial 3
-dnl Copyright (C) 2017-2022 Free Software Foundation, Inc.
+# reallocarray.m4 serial 5
+dnl Copyright (C) 2017-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -11,9 +11,12 @@ AC_DEFUN([gl_FUNC_REALLOCARRAY],
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF])
- AC_CHECK_FUNCS([reallocarray])
+ gl_CHECK_FUNCS_ANDROID([reallocarray], [[#include <stdlib.h>]])
if test "$ac_cv_func_reallocarray" = no; then
HAVE_REALLOCARRAY=0
+ case "$gl_cv_onwards_func_reallocarray" in
+ future*) REPLACE_REALLOCARRAY=1 ;;
+ esac
elif test "$gl_cv_malloc_ptrdiff" = no; then
REPLACE_REALLOCARRAY=1
fi
diff --git a/gnulib-m4/relocatable-lib.m4 b/gnulib-m4/relocatable-lib.m4
index b8a33e77..d903069d 100644
--- a/gnulib-m4/relocatable-lib.m4
+++ b/gnulib-m4/relocatable-lib.m4
@@ -1,5 +1,5 @@
-# relocatable-lib.m4 serial 6
-dnl Copyright (C) 2003, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+# relocatable-lib.m4 serial 7
+dnl Copyright (C) 2003, 2005-2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -34,7 +34,7 @@ AC_DEFUN([gl_RELOCATABLE_NOP],
[
AC_MSG_CHECKING([whether to activate relocatable installation])
AC_ARG_ENABLE([relocatable],
- [AS_HELP_STRING([--enable-relocatable],
+ [AS_HELP_STRING([[--enable-relocatable]],
[install a package that can be moved in the file system])],
[if test "$enableval" != no; then
RELOCATABLE=yes
diff --git a/gnulib-m4/sched_h.m4 b/gnulib-m4/sched_h.m4
index ce44f7b3..2ff821e4 100644
--- a/gnulib-m4/sched_h.m4
+++ b/gnulib-m4/sched_h.m4
@@ -1,5 +1,5 @@
# sched_h.m4 serial 15
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sched_yield.m4 b/gnulib-m4/sched_yield.m4
index d463a702..c717c06f 100644
--- a/gnulib-m4/sched_yield.m4
+++ b/gnulib-m4/sched_yield.m4
@@ -1,5 +1,5 @@
-# sched_yield.m4 serial 2
-dnl Copyright (C) 2019-2022 Free Software Foundation, Inc.
+# sched_yield.m4 serial 3
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_SCHED_YIELD],
AC_REQUIRE([gl_PTHREADLIB])
AC_REQUIRE([AC_CANONICAL_HOST])
- if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ if { case "$host_os" in mingw* | windows*) true;; *) false;; esac; } \
&& test $gl_threads_api = windows; then
dnl Choose function names that don't conflict with the mingw-w64 winpthreads
dnl library.
diff --git a/gnulib-m4/select.m4 b/gnulib-m4/select.m4
index 163f8fbf..f3f9dcc0 100644
--- a/gnulib-m4/select.m4
+++ b/gnulib-m4/select.m4
@@ -1,5 +1,5 @@
-# select.m4 serial 13
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# select.m4 serial 16
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -77,6 +77,8 @@ changequote([,])dnl
case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_select_detects_ebadf="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_select_detects_ebadf="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
@@ -91,10 +93,10 @@ changequote([,])dnl
fi
dnl Determine the needed libraries.
- LIB_SELECT="$LIBSOCKET"
+ SELECT_LIB="$LIBSOCKET"
if test $REPLACE_SELECT = 1; then
case "$host_os" in
- mingw*)
+ mingw* | windows*)
dnl On the MSVC platform, the function MsgWaitForMultipleObjects
dnl (used in lib/select.c) requires linking with -luser32. On mingw,
dnl it is implicit.
@@ -109,9 +111,12 @@ main ()
return 0;
}]])],
[],
- [LIB_SELECT="$LIB_SELECT -luser32"])
+ [SELECT_LIB="$SELECT_LIB -luser32"])
;;
esac
fi
+ AC_SUBST([SELECT_LIB])
+ dnl For backward compatibility.
+ LIB_SELECT="$LIB_SELECT"
AC_SUBST([LIB_SELECT])
])
diff --git a/gnulib-m4/semaphore.m4 b/gnulib-m4/semaphore.m4
index c6be7b94..9d434320 100644
--- a/gnulib-m4/semaphore.m4
+++ b/gnulib-m4/semaphore.m4
@@ -1,5 +1,5 @@
-# semaphore.m4 serial 1
-dnl Copyright (C) 2019-2022 Free Software Foundation, Inc.
+# semaphore.m4 serial 2
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -19,7 +19,7 @@ AC_DEFUN([gl_SEMAPHORE],
dnl $LIBMULTITHREAD. Therefore, the only library we need to test for is -lrt.
AC_CACHE_CHECK([for library needed for semaphore functions],
[gl_cv_semaphore_lib],
- [save_LIBS="$LIBS"
+ [saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -34,7 +34,7 @@ AC_DEFUN([gl_SEMAPHORE],
[gl_cv_semaphore_lib='-lrt'],
[gl_cv_semaphore_lib=none])
])
- LIBS="$save_LIBS"
+ LIBS="$saved_LIBS"
])
if test "x$gl_cv_semaphore_lib" = xnone; then
LIB_SEMAPHORE=
diff --git a/gnulib-m4/setenv.m4 b/gnulib-m4/setenv.m4
index 2000039a..21253e65 100644
--- a/gnulib-m4/setenv.m4
+++ b/gnulib-m4/setenv.m4
@@ -1,5 +1,5 @@
-# setenv.m4 serial 30
-dnl Copyright (C) 2001-2004, 2006-2022 Free Software Foundation, Inc.
+# setenv.m4 serial 33
+dnl Copyright (C) 2001-2004, 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -35,12 +35,12 @@ AC_DEFUN([gl_FUNC_SETENV],
]])],
[gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_setenv_works="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_setenv_works="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;;
esac
])])
case "$gl_cv_func_setenv_works" in
@@ -151,11 +151,10 @@ int unsetenv (const char *name);
# Prerequisites of lib/setenv.c.
AC_DEFUN([gl_PREREQ_SETENV],
[
- AC_REQUIRE([AC_FUNC_ALLOCA])
AC_REQUIRE([gl_ENVIRON])
AC_CHECK_HEADERS_ONCE([unistd.h])
AC_CHECK_HEADERS([search.h])
- AC_CHECK_FUNCS([tsearch])
+ gl_CHECK_FUNCS_ANDROID([tsearch], [[#include <search.h>]])
])
# Prerequisites of lib/unsetenv.c.
diff --git a/gnulib-m4/setlocale.m4 b/gnulib-m4/setlocale.m4
index c0023d9c..ef26def4 100644
--- a/gnulib-m4/setlocale.m4
+++ b/gnulib-m4/setlocale.m4
@@ -1,5 +1,5 @@
-# setlocale.m4 serial 7
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# setlocale.m4 serial 10
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE],
case "$host_os" in
dnl On native Windows systems, setlocale(category,NULL) does not look at
dnl the environment variables LC_ALL, category, and LANG.
- mingw*) NEED_SETLOCALE_IMPROVED=1 ;;
+ mingw* | windows*) NEED_SETLOCALE_IMPROVED=1 ;;
dnl On Cygwin 1.5.x, setlocale always succeeds but setlocale(LC_CTYPE,NULL)
dnl is then still "C".
cygwin*)
@@ -66,12 +66,15 @@ int main ()
fi
if test $NEED_SETLOCALE_MTSAFE = 1; then
- LIB_SETLOCALE="$LIB_SETLOCALE_NULL"
+ SETLOCALE_LIB="$SETLOCALE_NULL_LIB"
else
- LIB_SETLOCALE=
+ SETLOCALE_LIB=
fi
- dnl LIB_SETLOCALE is expected to be '-pthread' or '-lpthread' on AIX with gcc
+ dnl SETLOCALE_LIB is expected to be '-pthread' or '-lpthread' on AIX with gcc
dnl or xlc, and empty otherwise.
+ AC_SUBST([SETLOCALE_LIB])
+ dnl For backward compatibility.
+ LIB_SETLOCALE="$SETLOCALE_LIB"
AC_SUBST([LIB_SETLOCALE])
])
diff --git a/gnulib-m4/setlocale_null.m4 b/gnulib-m4/setlocale_null.m4
index 09ea50ea..54d3d46d 100644
--- a/gnulib-m4/setlocale_null.m4
+++ b/gnulib-m4/setlocale_null.m4
@@ -1,5 +1,5 @@
-# setlocale_null.m4 serial 5
-dnl Copyright (C) 2019-2022 Free Software Foundation, Inc.
+# setlocale_null.m4 serial 9
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -13,11 +13,25 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL],
AC_CACHE_CHECK([whether setlocale (LC_ALL, NULL) is multithread-safe],
[gl_cv_func_setlocale_null_all_mtsafe],
[case "$host_os" in
- # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin.
- *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*)
+ # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku.
+ *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*)
gl_cv_func_setlocale_null_all_mtsafe=no ;;
+ # Guess no on Cygwin < 3.4.6.
+ cygwin*)
+ AC_EGREP_CPP([Lucky user],
+ [
+#if defined __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6)
+ Lucky user
+ #endif
+#endif
+ ],
+ [gl_cv_func_setlocale_null_all_mtsafe=yes],
+ [gl_cv_func_setlocale_null_all_mtsafe=no])
+ ;;
# Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows.
- *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*)
+ *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*)
gl_cv_func_setlocale_null_all_mtsafe=yes ;;
# If we don't know, obey --enable-cross-guesses.
*)
@@ -26,7 +40,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL],
])
dnl On platforms without multithreading, there is no issue.
case "$host_os" in
- mingw*) ;;
+ mingw* | windows*) ;;
*)
if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then
gl_cv_func_setlocale_null_all_mtsafe="trivially yes"
@@ -48,7 +62,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL],
openbsd* | aix*)
gl_cv_func_setlocale_null_one_mtsafe=no ;;
# Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows.
- *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*)
+ *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*)
gl_cv_func_setlocale_null_one_mtsafe=yes ;;
# If we don't know, obey --enable-cross-guesses.
*)
@@ -57,7 +71,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL],
])
dnl On platforms without multithreading, there is no issue.
case "$host_os" in
- mingw*) ;;
+ mingw* | windows*) ;;
*)
if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then
gl_cv_func_setlocale_null_one_mtsafe="trivially yes"
@@ -74,20 +88,25 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL],
dnl Determine link dependencies of lib/setlocale_null.c and lib/setlocale-lock.c.
if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then
case "$host_os" in
- mingw*) LIB_SETLOCALE_NULL= ;;
+ mingw* | windows*)
+ SETLOCALE_NULL_LIB=
+ ;;
*)
gl_WEAK_SYMBOLS
case "$gl_cv_have_weak" in
- *yes) LIB_SETLOCALE_NULL= ;;
- *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;;
+ *yes) SETLOCALE_NULL_LIB= ;;
+ *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;;
esac
;;
esac
else
- LIB_SETLOCALE_NULL=
+ SETLOCALE_NULL_LIB=
fi
- dnl LIB_SETLOCALE_NULL is expected to be '-pthread' or '-lpthread' on AIX
+ dnl SETLOCALE_NULL_LIB is expected to be '-pthread' or '-lpthread' on AIX
dnl with gcc or xlc, and empty otherwise.
+ AC_SUBST([SETLOCALE_NULL_LIB])
+ dnl For backward compatibility.
+ LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB"
AC_SUBST([LIB_SETLOCALE_NULL])
])
diff --git a/gnulib-m4/signal_h.m4 b/gnulib-m4/signal_h.m4
index 4c05c627..6f7dcc73 100644
--- a/gnulib-m4/signal_h.m4
+++ b/gnulib-m4/signal_h.m4
@@ -1,5 +1,5 @@
# signal_h.m4 serial 22
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/signalblocking.m4 b/gnulib-m4/signalblocking.m4
index b586ef53..f818d5da 100644
--- a/gnulib-m4/signalblocking.m4
+++ b/gnulib-m4/signalblocking.m4
@@ -1,5 +1,5 @@
# signalblocking.m4 serial 17
-dnl Copyright (C) 2001-2002, 2006-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2002, 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/signbit.m4 b/gnulib-m4/signbit.m4
index 8a4114db..4acb0e98 100644
--- a/gnulib-m4/signbit.m4
+++ b/gnulib-m4/signbit.m4
@@ -1,5 +1,5 @@
-# signbit.m4 serial 20
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# signbit.m4 serial 22
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -29,14 +29,14 @@ AC_DEFUN([gl_SIGNBIT],
[gl_cv_func_signbit=yes],
[gl_cv_func_signbit=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_signbit="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_signbit="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_signbit="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_signbit="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_signbit="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_signbit="$gl_cross_guess_normal" ;;
esac
])
])
@@ -63,19 +63,19 @@ AC_DEFUN([gl_SIGNBIT],
[gl_cv_func_signbit_builtins=yes],
[gl_cv_func_signbit_builtins=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_signbit_builtins="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_signbit_builtins="guessing yes" ;;
- # Guess yes on mingw, no on MSVC.
- mingw*) if test -n "$GCC"; then
- gl_cv_func_signbit_builtins="guessing yes"
- else
- gl_cv_func_signbit_builtins="guessing no"
- fi
- ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_signbit_builtins="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_signbit_builtins="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_signbit_builtins="guessing yes" ;;
+ # Guess yes on mingw, no on MSVC.
+ mingw* | windows*) if test -n "$GCC"; then
+ gl_cv_func_signbit_builtins="guessing yes"
+ else
+ gl_cv_func_signbit_builtins="guessing no"
+ fi
+ ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_signbit_builtins="$gl_cross_guess_normal" ;;
esac
])
])
diff --git a/gnulib-m4/size_max.m4 b/gnulib-m4/size_max.m4
index 1d6abaea..b3f7624f 100644
--- a/gnulib-m4/size_max.m4
+++ b/gnulib-m4/size_max.m4
@@ -1,5 +1,5 @@
# size_max.m4 serial 12
-dnl Copyright (C) 2003, 2005-2006, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sleep.m4 b/gnulib-m4/sleep.m4
index e73651f5..2003698c 100644
--- a/gnulib-m4/sleep.m4
+++ b/gnulib-m4/sleep.m4
@@ -1,5 +1,5 @@
-# sleep.m4 serial 11
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# sleep.m4 serial 13
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -46,14 +46,16 @@ handle_alarm (int sig)
]])],
[gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_sleep_works="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_func_sleep_works="guessing no" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_sleep_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl*) gl_cv_func_sleep_works="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_sleep_works="guessing yes" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_sleep_works="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_sleep_works="$gl_cross_guess_normal" ;;
esac
])])
case "$gl_cv_func_sleep_works" in
diff --git a/gnulib-m4/snan.m4 b/gnulib-m4/snan.m4
new file mode 100644
index 00000000..6a0a7453
--- /dev/null
+++ b/gnulib-m4/snan.m4
@@ -0,0 +1,14 @@
+# snan.m4 serial 3
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Prerequisites for lib/snan.h.
+AC_DEFUN_ONCE([gl_SNAN],
+[
+ gl_FLOAT_EXPONENT_LOCATION
+ gl_DOUBLE_EXPONENT_LOCATION
+ gl_LONG_DOUBLE_EXPONENT_LOCATION
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+])
diff --git a/gnulib-m4/socketlib.m4 b/gnulib-m4/socketlib.m4
index b8bd0afa..06339696 100644
--- a/gnulib-m4/socketlib.m4
+++ b/gnulib-m4/socketlib.m4
@@ -1,5 +1,5 @@
-# socketlib.m4 serial 3
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# socketlib.m4 serial 4
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -18,7 +18,7 @@ AC_DEFUN([gl_SOCKETLIB],
dnl defined through -lws2_32), we need to call it.
AC_CACHE_CHECK([for WSAStartup],
[gl_cv_func_wsastartup], [
- gl_save_LIBS="$LIBS"
+ gl_saved_LIBS="$LIBS"
LIBS="$LIBS -lws2_32"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
@@ -33,7 +33,7 @@ AC_DEFUN([gl_SOCKETLIB],
],
[gl_cv_func_wsastartup=yes],
[gl_cv_func_wsastartup=no])
- LIBS="$gl_save_LIBS"
+ LIBS="$gl_saved_LIBS"
])
if test "$gl_cv_func_wsastartup" = "yes"; then
AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.])
@@ -56,8 +56,8 @@ AC_DEFUN([gl_SOCKETLIB],
#endif
char setsockopt();]], [[setsockopt();]])],
[],
- [gl_save_LIBS="$LIBS"
- LIBS="$gl_save_LIBS -lsocket"
+ [gl_saved_LIBS="$LIBS"
+ LIBS="$gl_saved_LIBS -lsocket"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
#ifdef __cplusplus
"C"
@@ -65,7 +65,7 @@ char setsockopt();]], [[setsockopt();]])],
char setsockopt();]], [[setsockopt();]])],
[gl_cv_lib_socket="-lsocket"])
if test -z "$gl_cv_lib_socket"; then
- LIBS="$gl_save_LIBS -lnetwork"
+ LIBS="$gl_saved_LIBS -lnetwork"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
#ifdef __cplusplus
"C"
@@ -73,7 +73,7 @@ char setsockopt();]], [[setsockopt();]])],
char setsockopt();]], [[setsockopt();]])],
[gl_cv_lib_socket="-lnetwork"])
if test -z "$gl_cv_lib_socket"; then
- LIBS="$gl_save_LIBS -lnet"
+ LIBS="$gl_saved_LIBS -lnet"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
#ifdef __cplusplus
"C"
@@ -82,7 +82,7 @@ char setsockopt();]], [[setsockopt();]])],
[gl_cv_lib_socket="-lnet"])
fi
fi
- LIBS="$gl_save_LIBS"
+ LIBS="$gl_saved_LIBS"
])
if test -z "$gl_cv_lib_socket"; then
gl_cv_lib_socket="none needed"
diff --git a/gnulib-m4/sockets.m4 b/gnulib-m4/sockets.m4
index aa04acc3..7be4dc96 100644
--- a/gnulib-m4/sockets.m4
+++ b/gnulib-m4/sockets.m4
@@ -1,5 +1,5 @@
# sockets.m4 serial 7
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/socklen.m4 b/gnulib-m4/socklen.m4
index 1390ac41..9c46db18 100644
--- a/gnulib-m4/socklen.m4
+++ b/gnulib-m4/socklen.m4
@@ -1,5 +1,5 @@
# socklen.m4 serial 11
-dnl Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sockpfaf.m4 b/gnulib-m4/sockpfaf.m4
index b1c4068a..390abfe2 100644
--- a/gnulib-m4/sockpfaf.m4
+++ b/gnulib-m4/sockpfaf.m4
@@ -1,5 +1,5 @@
# sockpfaf.m4 serial 10
-dnl Copyright (C) 2004, 2006, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/ssize_t.m4 b/gnulib-m4/ssize_t.m4
index 03b2b895..25b28d77 100644
--- a/gnulib-m4/ssize_t.m4
+++ b/gnulib-m4/ssize_t.m4
@@ -1,23 +1,37 @@
-# ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2022 Free Software Foundation, Inc.
+# ssize_t.m4 serial 6
+dnl Copyright (C) 2001-2003, 2006, 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
-dnl Test whether ssize_t is defined.
+dnl Define ssize_t if it does not already exist.
AC_DEFUN([gt_TYPE_SSIZE_T],
[
- AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
+ AC_CACHE_CHECK([for ssize_t], [gl_cv_ssize_t],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/types.h>]],
[[int x = sizeof (ssize_t *) + sizeof (ssize_t);
return !x;]])],
- [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])])
- if test $gt_cv_ssize_t = no; then
- AC_DEFINE([ssize_t], [int],
- [Define as a signed type of the same size as size_t.])
+ [gl_cv_ssize_t=yes], [gl_cv_ssize_t=no])])
+ if test $gl_cv_ssize_t = no; then
+ dnl On 64-bit native Windows, ssize_t needs to be defined as 'long long',
+ dnl for consistency with the 64-bit size_t.
+ AC_CACHE_CHECK([whether size_t is wider than 'long'], [gl_cv_size_t_large],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1];
+ ]])],
+ [gl_cv_size_t_large=yes], [gl_cv_size_t_large=no])])
+ if test $gl_cv_size_t_large = yes; then
+ gl_def_ssize_t='long long'
+ else
+ gl_def_ssize_t='long'
+ fi
+ AC_DEFINE_UNQUOTED([ssize_t], [$gl_def_ssize_t],
+ [Define as a signed type of the same size as size_t.])
fi
])
diff --git a/gnulib-m4/stat-time.m4 b/gnulib-m4/stat-time.m4
index 342857d3..8bec2f5f 100644
--- a/gnulib-m4/stat-time.m4
+++ b/gnulib-m4/stat-time.m4
@@ -1,6 +1,6 @@
# Checks for stat-related time functions.
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2022 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2024 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
diff --git a/gnulib-m4/stat.m4 b/gnulib-m4/stat.m4
index 916eb886..1d2a9e2c 100644
--- a/gnulib-m4/stat.m4
+++ b/gnulib-m4/stat.m4
@@ -1,6 +1,6 @@
-# serial 18
+# serial 21
-# Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12,7 +12,7 @@ AC_DEFUN([gl_FUNC_STAT],
AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
AC_CHECK_FUNCS_ONCE([lstat])
case "$host_os" in
- mingw*)
+ mingw* | windows*)
dnl On this platform, the original stat() returns st_atime, st_mtime,
dnl st_ctime values that are affected by the time zone.
REPLACE_STAT=1
@@ -45,6 +45,8 @@ AC_DEFUN([gl_FUNC_STAT],
[case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_stat_file_slash="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
@@ -59,8 +61,8 @@ AC_DEFUN([gl_FUNC_STAT],
help when passed a file name with a trailing slash]);;
esac
case $host_os in
- dnl Solaris stat can return a negative tv_nsec.
- solaris*)
+ dnl macOS and Solaris stat can return a negative tv_nsec.
+ darwin* | solaris*)
REPLACE_FSTAT=1 ;;
esac
;;
@@ -78,7 +80,7 @@ AC_DEFUN([gl_PREREQ_STAT], [
AC_DEFUN([gl_PREREQ_STAT_W32], [
AC_REQUIRE([AC_CANONICAL_HOST])
case "$host_os" in
- mingw*)
+ mingw* | windows*)
AC_CHECK_HEADERS([sdkddkver.h])
;;
esac
diff --git a/gnulib-m4/stdalign.m4 b/gnulib-m4/stdalign.m4
index 324e91da..e3c1e609 100644
--- a/gnulib-m4/stdalign.m4
+++ b/gnulib-m4/stdalign.m4
@@ -1,20 +1,22 @@
# Check for alignas and alignof that conform to C23.
-dnl Copyright 2011-2022 Free Software Foundation, Inc.
+dnl Copyright 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
+dnl Written by Paul Eggert and Bruno Haible.
+
# Prepare for substituting <stdalign.h> if it is not supported.
-AC_DEFUN([gl_STDALIGN_H],
+AC_DEFUN([gl_ALIGNASOF],
[
AC_CACHE_CHECK([for alignas and alignof],
[gl_cv_header_working_stdalign_h],
- [gl_save_CFLAGS=$CFLAGS
+ [gl_saved_CFLAGS=$CFLAGS
for gl_working in "yes, keywords" "yes, <stdalign.h> macros"; do
AS_CASE([$gl_working],
- [*stdalign.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_STDALIGN_H"])
+ [*stdalign.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_STDALIGN_H"])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <stdint.h>
@@ -54,81 +56,151 @@ AC_DEFUN([gl_STDALIGN_H],
[gl_cv_header_working_stdalign_h=$gl_working],
[gl_cv_header_working_stdalign_h=no])
- CFLAGS=$gl_save_CFLAGS
+ CFLAGS=$gl_saved_CFLAGS
test "$gl_cv_header_working_stdalign_h" != no && break
done])
- GL_GENERATE_STDALIGN_H=false
AS_CASE([$gl_cv_header_working_stdalign_h],
- [no],
- [GL_GENERATE_STDALIGN_H=true],
[yes*keyword*],
[AC_DEFINE([HAVE_C_ALIGNASOF], [1],
[Define to 1 if the alignas and alignof keywords work.])])
- AC_CHECK_HEADERS_ONCE([stdalign.h])
-
dnl The "zz" puts this toward config.h's end, to avoid potential
dnl collisions with other definitions.
AH_VERBATIM([zzalignas],
-[#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof
-# if HAVE_STDALIGN_H
+[#if !defined HAVE_C_ALIGNASOF \
+ && !(defined __cplusplus && 201103 <= __cplusplus) \
+ && !defined alignof
+# if defined HAVE_STDALIGN_H
# include <stdalign.h>
-# else
- /* Substitute. Keep consistent with gnulib/lib/stdalign.in.h. */
-# ifndef _GL_STDALIGN_H
-# define _GL_STDALIGN_H
-# undef _Alignas
-# undef _Alignof
-# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
- || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
- && !defined __clang__) \
- || (defined __clang__ && __clang_major__ < 8))
-# ifdef __cplusplus
-# if (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignof(type) alignof (type)
+# endif
+
+/* ISO C23 alignas and alignof for platforms that lack it.
+
+ References:
+ ISO C23 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf>)
+ sections 6.5.3.4, 6.7.5, 7.15.
+ C++11 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
+ section 18.10. */
+
+/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
+ requirement of a structure member (i.e., slot or field) that is of
+ type TYPE, as an integer constant expression.
+
+ This differs from GCC's and clang's __alignof__ operator, which can
+ yield a better-performing alignment for an object of that type. For
+ example, on x86 with GCC and on Linux/x86 with clang,
+ __alignof__ (double) and __alignof__ (long long) are 8, whereas
+ alignof (double) and alignof (long long) are 4 unless the option
+ '-malign-double' is used.
+
+ The result cannot be used as a value for an 'enum' constant, if you
+ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
+
+/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
+ clang versions < 8.0.0 have the same bug. */
+# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+ || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
+ && !defined __clang__) \
+ || (defined __clang__ && __clang_major__ < 8))
+# undef/**/_Alignof
+# ifdef __cplusplus
+# if (201103 <= __cplusplus || defined _MSC_VER)
+# define _Alignof(type) alignof (type)
+# else
+ template <class __t> struct __alignof_helper { char __a; __t __b; };
+# if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__
+# define _Alignof(type) __builtin_offsetof (__alignof_helper<type>, __b)
# else
- template <class __t> struct __alignof_helper { char __a; __t __b; };
# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
-# define _GL_STDALIGN_NEEDS_STDDEF 1
# endif
+# define _GL_STDALIGN_NEEDS_STDDEF 1
+# endif
+# else
+# if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__
+# define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b)
# else
# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
# define _GL_STDALIGN_NEEDS_STDDEF 1
# endif
# endif
-# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
-# define alignof _Alignof
-# endif
-# define __alignof_is_defined 1
-# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
-# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignas(a) alignas (a)
-# elif (!defined __attribute__ \
- && ((defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__ && !defined __ibmxl__) \
- || (4 <= __clang_major__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-# elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
-# endif
-# endif
-# if ((defined _Alignas \
- && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \
- || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# define alignas _Alignas
-# endif
-# if (defined alignas \
- || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)))
-# define __alignas_is_defined 1
-# endif
-# if _GL_STDALIGN_NEEDS_STDDEF
-# include <stddef.h>
-# endif
-# endif /* _GL_STDALIGN_H */
+# endif
+# if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
+# undef/**/alignof
+# define alignof _Alignof
+# endif
+
+/* alignas (A), also known as _Alignas (A), aligns a variable or type
+ to the alignment A, where A is an integer constant expression. For
+ example:
+
+ int alignas (8) foo;
+ struct s { int a; int alignas (8) bar; };
+
+ aligns the address of FOO and the offset of BAR to be multiples of 8.
+
+ A should be a power of two that is at least the type's alignment
+ and at most the implementation's alignment limit. This limit is
+ 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
+ to MSVC through at least version 10.0, A should be an integer
+ constant, as MSVC does not support expressions such as 1 << 3.
+ To be portable to Sun C 5.11, do not align auto variables to
+ anything stricter than their default alignment.
+
+ The following C23 requirements are not supported here:
+
+ - If A is zero, alignas has no effect.
+ - alignas can be used multiple times; the strictest one wins.
+ - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
+
+ */
+# if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
+# define _Alignas(a) alignas (a)
+# elif (!defined __attribute__ \
+ && ((defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__ && !defined __ibmxl__) \
+ || (4 <= __clang_major__) \
+ || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+ || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+# elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
+# endif
+# endif
+# if !defined HAVE_STDALIGN_H
+# if ((defined _Alignas \
+ && !(defined __cplusplus \
+ && (201103 <= __cplusplus || defined _MSC_VER))) \
+ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
+# define alignas _Alignas
+# endif
+# endif
+
+# if defined _GL_STDALIGN_NEEDS_STDDEF
+# include <stddef.h>
# endif
#endif])
])
+
+AC_DEFUN([gl_STDALIGN_H],
+[
+ AC_REQUIRE([gl_ALIGNASOF])
+ if test "$gl_cv_header_working_stdalign_h" = no; then
+ GL_GENERATE_STDALIGN_H=true
+ else
+ GL_GENERATE_STDALIGN_H=false
+ fi
+
+ gl_CHECK_NEXT_HEADERS([stdalign.h])
+ if test $ac_cv_header_stdalign_h = yes; then
+ HAVE_STDALIGN_H=1
+ else
+ HAVE_STDALIGN_H=0
+ fi
+ AC_SUBST([HAVE_STDALIGN_H])
+])
diff --git a/gnulib-m4/stddef_h.m4 b/gnulib-m4/stddef_h.m4
index abfd2030..1bf9eb39 100644
--- a/gnulib-m4/stddef_h.m4
+++ b/gnulib-m4/stddef_h.m4
@@ -1,5 +1,5 @@
-# stddef_h.m4 serial 12
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# stddef_h.m4 serial 14
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -22,7 +22,14 @@ AC_DEFUN_ONCE([gl_STDDEF_H],
[gl_cv_type_max_align_t],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
- [[#include <stddef.h>
+ [[/* On FreeBSD 12.0/x86, max_align_t defined by <stddef.h> has
+ the correct alignment with the default (wrong) definition of
+ _Alignof, but a wrong alignment as soon as we activate an
+ ISO C compliant _Alignof definition. */
+ #if ((defined __GNUC__ && 4 <= __GNUC__) || defined __clang__) && !defined __cplusplus
+ #define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b)
+ #endif
+ #include <stddef.h>
unsigned int s = sizeof (max_align_t);
#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__
int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
@@ -61,6 +68,21 @@ AC_DEFUN_ONCE([gl_STDDEF_H],
GL_GENERATE_STDDEF_H=true
fi
+ AC_CACHE_CHECK([for unreachable],
+ [gl_cv_func_unreachable],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ ]],
+ [[unreachable ();
+ ]])],
+ [gl_cv_func_unreachable=yes],
+ [gl_cv_func_unreachable=no])
+ ])
+ if test $gl_cv_func_unreachable = no; then
+ GL_GENERATE_STDDEF_H=true
+ fi
+
if $GL_GENERATE_STDDEF_H; then
gl_NEXT_HEADERS([stddef.h])
fi
diff --git a/gnulib-m4/stdint.m4 b/gnulib-m4/stdint.m4
index c3f08942..4aa25082 100644
--- a/gnulib-m4/stdint.m4
+++ b/gnulib-m4/stdint.m4
@@ -1,5 +1,5 @@
-# stdint.m4 serial 61
-dnl Copyright (C) 2001-2022 Free Software Foundation, Inc.
+# stdint.m4 serial 63
+dnl Copyright (C) 2001-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -150,7 +150,10 @@ intmax_t i = INTMAX_MAX;
uintmax_t j = UINTMAX_MAX;
/* Check that SIZE_MAX has the correct type, if possible. */
-#if 201112 <= __STDC_VERSION__
+/* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it. */
+#if 201112 <= __STDC_VERSION__ \
+ && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \
+ || defined __clang__)
int k = _Generic (SIZE_MAX, size_t: 0);
#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \
|| (0x5110 <= __SUNPRO_C && !__STDC__))
@@ -283,10 +286,10 @@ static const char *macro_values[] =
[gl_cv_header_working_stdint_h=yes],
[],
[case "$host_os" in
- # Guess yes on native Windows.
- mingw*) gl_cv_header_working_stdint_h="guessing yes" ;;
- # In general, assume it works.
- *) gl_cv_header_working_stdint_h="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;;
+ # In general, assume it works.
+ *) gl_cv_header_working_stdint_h="guessing yes" ;;
esac
])
])
diff --git a/gnulib-m4/stdint_h.m4 b/gnulib-m4/stdint_h.m4
index b8684b61..ee9773a8 100644
--- a/gnulib-m4/stdint_h.m4
+++ b/gnulib-m4/stdint_h.m4
@@ -1,5 +1,5 @@
# stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/stdio_h.m4 b/gnulib-m4/stdio_h.m4
index 42e96071..c19feefe 100644
--- a/gnulib-m4/stdio_h.m4
+++ b/gnulib-m4/stdio_h.m4
@@ -1,12 +1,22 @@
-# stdio_h.m4 serial 59
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# stdio_h.m4 serial 63
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN_ONCE([gl_STDIO_H],
+AC_DEFUN([gl_STDIO_H_EARLY],
[
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because
+ dnl the results of several configure tests depend on it: The tests
+ dnl - checking whether snprintf returns a byte count as in C99...
+ dnl - checking whether snprintf truncates the result as in C99...
+ dnl - checking whether printf supports the 'F' directive...
+ dnl - checking whether printf supports the grouping flag...
+ dnl - checking whether printf supports the zero flag correctly...
+ dnl - checking whether printf supports infinite 'double' arguments...
+ dnl - checking whether printf supports large precisions...
+ dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if
+ dnl __USE_MINGW_ANSI_STDIO is not set.
AH_VERBATIM([MINGW_ANSI_STDIO],
[/* Use GNU style printf and scanf. */
#ifndef __USE_MINGW_ANSI_STDIO
@@ -14,6 +24,11 @@ AC_DEFUN_ONCE([gl_STDIO_H],
#endif
])
AC_DEFINE([__USE_MINGW_ANSI_STDIO])
+])
+
+AC_DEFUN_ONCE([gl_STDIO_H],
+[
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
gl_NEXT_HEADERS([stdio.h])
dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
@@ -40,6 +55,9 @@ AC_DEFUN_ONCE([gl_STDIO_H],
attribute "__gnu_printf__" instead of "__printf__"])
fi
+ dnl For defining _PRINTF_NAN_LEN_MAX.
+ gl_MUSL_LIBC
+
dnl This ifdef is an optimization, to avoid performing a configure check whose
dnl result is not used. But it does not make the test of
dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant.
@@ -82,6 +100,16 @@ AC_DEFUN_ONCE([gl_STDIO_H],
if test $ac_cv_have_decl_fcloseall = no; then
HAVE_DECL_FCLOSEALL=0
fi
+
+ AC_CHECK_DECLS_ONCE([getw])
+ if test $ac_cv_have_decl_getw = no; then
+ HAVE_DECL_GETW=0
+ fi
+
+ AC_CHECK_DECLS_ONCE([putw])
+ if test $ac_cv_have_decl_putw = no; then
+ HAVE_DECL_PUTW=0
+ fi
])
# gl_STDIO_MODULE_INDICATOR([modulename])
@@ -178,7 +206,9 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO])
HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
+ HAVE_DECL_GETW=1; AC_SUBST([HAVE_DECL_GETW])
HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
+ HAVE_DECL_PUTW=1; AC_SUBST([HAVE_DECL_PUTW])
HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
diff --git a/gnulib-m4/stdlib_h.m4 b/gnulib-m4/stdlib_h.m4
index 9e209697..88ccd141 100644
--- a/gnulib-m4/stdlib_h.m4
+++ b/gnulib-m4/stdlib_h.m4
@@ -1,5 +1,5 @@
-# stdlib_h.m4 serial 66
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# stdlib_h.m4 serial 77
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -23,15 +23,58 @@ AC_DEFUN_ONCE([gl_STDLIB_H],
# include <random.h>
#endif
]], [_Exit aligned_alloc atoll canonicalize_file_name free
- getloadavg getsubopt grantpt
- initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps
- posix_memalign posix_openpt ptsname ptsname_r qsort_r
+ getloadavg getprogname getsubopt grantpt
+ initstate initstate_r mbstowcs mbtowc mkdtemp mkostemp mkostemps mkstemp
+ mkstemps posix_memalign posix_openpt ptsname ptsname_r qsort_r
random random_r reallocarray realpath rpmatch secure_getenv setenv
setstate setstate_r srandom srandom_r
strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv])
AC_REQUIRE([AC_C_RESTRICT])
+ dnl Test whether MB_CUR_MAX needs to be overridden.
+ dnl On Solaris 10, in UTF-8 locales, its value is 3 but needs to be 4.
+ dnl Fortunately, we can do this because on this platform MB_LEN_MAX is 5.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gt_LOCALE_FR_UTF8])
+ AC_CACHE_CHECK([whether MB_CUR_MAX is correct],
+ [gl_cv_macro_MB_CUR_MAX_good],
+ [
+ dnl Initial guess, used when cross-compiling or when no suitable locale
+ dnl is present.
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no on Solaris.
+ solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;;
+ esac
+changequote([,])dnl
+ if test $LOCALE_FR_UTF8 != none; then
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <locale.h>
+#include <stdlib.h>
+int main ()
+{
+ int result = 0;
+ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ {
+ if (MB_CUR_MAX < 4)
+ result |= 1;
+ }
+ return result;
+}]])],
+ [gl_cv_macro_MB_CUR_MAX_good=yes],
+ [gl_cv_macro_MB_CUR_MAX_good=no],
+ [:])
+ fi
+ ])
+ case "$gl_cv_macro_MB_CUR_MAX_good" in
+ *yes) ;;
+ *) REPLACE_MB_CUR_MAX=1 ;;
+ esac
+
AC_CHECK_DECLS_ONCE([ecvt])
if test $ac_cv_have_decl_ecvt = no; then
HAVE_DECL_ECVT=0
@@ -73,10 +116,12 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPROGNAME])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOWCS])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP])
@@ -89,6 +134,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAND])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY])
@@ -99,6 +145,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL])
@@ -130,6 +177,8 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT])
HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT])
HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
+ HAVE_DECL_PROGRAM_INVOCATION_NAME=1; AC_SUBST([HAVE_DECL_PROGRAM_INVOCATION_NAME])
+ HAVE_GETPROGNAME=1; AC_SUBST([HAVE_GETPROGNAME])
HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE])
@@ -157,6 +206,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE])
HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE])
HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
+ HAVE_STRTOF=1; AC_SUBST([HAVE_STRTOF])
HAVE_STRTOL=1; AC_SUBST([HAVE_STRTOL])
HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD])
HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
@@ -166,21 +216,31 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV])
+ REPLACE__EXIT=0; AC_SUBST([REPLACE__EXIT])
REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC])
REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU])
REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX])
REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
REPLACE_FREE=0; AC_SUBST([REPLACE_FREE])
+ REPLACE_GETLOADAVG=0; AC_SUBST([REPLACE_GETLOADAVG])
+ REPLACE_GETPROGNAME=0; AC_SUBST([REPLACE_GETPROGNAME])
+ REPLACE_GETSUBOPT=0; AC_SUBST([REPLACE_GETSUBOPT])
REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE])
REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU])
REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX])
+ REPLACE_MB_CUR_MAX=0; AC_SUBST([REPLACE_MB_CUR_MAX])
+ REPLACE_MBSTOWCS=0; AC_SUBST([REPLACE_MBSTOWCS])
REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
+ REPLACE_MKOSTEMP=0; AC_SUBST([REPLACE_MKOSTEMP])
+ REPLACE_MKOSTEMPS=0; AC_SUBST([REPLACE_MKOSTEMPS])
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN])
+ REPLACE_POSIX_OPENPT=0; AC_SUBST([REPLACE_POSIX_OPENPT])
REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME])
REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R])
+ REPLACE_RAND=0; AC_SUBST([REPLACE_RAND])
REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM])
REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU])
@@ -190,6 +250,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE])
REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
+ REPLACE_STRTOF=0; AC_SUBST([REPLACE_STRTOF])
REPLACE_STRTOL=0; AC_SUBST([REPLACE_STRTOL])
REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD])
REPLACE_STRTOLL=0; AC_SUBST([REPLACE_STRTOLL])
diff --git a/gnulib-m4/strerror.m4 b/gnulib-m4/strerror.m4
index 4716649b..a1d12612 100644
--- a/gnulib-m4/strerror.m4
+++ b/gnulib-m4/strerror.m4
@@ -1,5 +1,5 @@
-# strerror.m4 serial 23
-dnl Copyright (C) 2002, 2007-2022 Free Software Foundation, Inc.
+# strerror.m4 serial 25
+dnl Copyright (C) 2002, 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -24,12 +24,12 @@ AC_DEFUN([gl_FUNC_STRERROR],
[gl_cv_func_working_strerror=yes],
[gl_cv_func_working_strerror=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_working_strerror="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_working_strerror="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;;
esac
])
])
@@ -80,14 +80,14 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
[gl_cv_func_strerror_0_works=yes],
[gl_cv_func_strerror_0_works=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_strerror_0_works="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_strerror_0_works="guessing yes" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_strerror_0_works="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;;
esac
])
])
diff --git a/gnulib-m4/strerror_r.m4 b/gnulib-m4/strerror_r.m4
index 23c3b423..903d03c3 100644
--- a/gnulib-m4/strerror_r.m4
+++ b/gnulib-m4/strerror_r.m4
@@ -1,5 +1,5 @@
-# strerror_r.m4 serial 24
-dnl Copyright (C) 2002, 2007-2022 Free Software Foundation, Inc.
+# strerror_r.m4 serial 26
+dnl Copyright (C) 2002, 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -40,7 +40,7 @@ AC_DEFUN([gl_PREREQ_STRERROR_R], [
AC_REQUIRE([AC_FUNC_STRERROR_R])
dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
- AC_CHECK_FUNCS_ONCE([catgets])
+ gl_CHECK_FUNCS_ANDROID([catgets], [[#include <nl_types.h>]])
AC_CHECK_FUNCS_ONCE([snprintf])
])
@@ -57,7 +57,7 @@ AC_DEFUN([gl_FUNC_STRERROR_R_WORKS],
AC_REQUIRE([gl_FUNC_STRERROR_0])
- AC_CHECK_FUNCS_ONCE([strerror_r])
+ gl_CHECK_FUNCS_ANDROID([strerror_r], [[#include <string.h>]])
if test $ac_cv_func_strerror_r = yes; then
if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then
dnl The POSIX prototype is: int strerror_r (int, char *, size_t);
@@ -172,5 +172,9 @@ changequote([,])dnl
fi
fi
fi
+ else
+ case "$gl_cv_onwards_func_strerror_r" in
+ future*) REPLACE_STRERROR_R=1 ;;
+ esac
fi
])
diff --git a/gnulib-m4/string_h.m4 b/gnulib-m4/string_h.m4
index 9e09b96e..9ea748cc 100644
--- a/gnulib-m4/string_h.m4
+++ b/gnulib-m4/string_h.m4
@@ -1,11 +1,11 @@
# Configure a GNU-like replacement for <string.h>.
-# Copyright (C) 2007-2022 Free Software Foundation, Inc.
+# Copyright (C) 2007-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 34
+# serial 39
# Written by Paul Eggert.
@@ -21,7 +21,8 @@ AC_DEFUN_ONCE([gl_STRING_H],
dnl guaranteed by C89.
gl_WARN_ON_USE_PREPARE([[#include <string.h>
]],
- [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
+ [explicit_bzero ffsl ffsll memmem mempcpy memrchr memset_explicit
+ rawmemchr stpcpy stpncpy strchrnul
strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
strerror_r strerrorname_np sigabbrev_np sigdescr_np strsignal strverscmp])
@@ -54,6 +55,7 @@ AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMSET_EXPLICIT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY])
@@ -107,6 +109,7 @@ AC_DEFUN([gl_STRING_H_DEFAULTS],
HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL])
HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
+ HAVE_MEMSET_EXPLICIT=1; AC_SUBST([HAVE_MEMSET_EXPLICIT])
HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
@@ -128,6 +131,9 @@ AC_DEFUN([gl_STRING_H_DEFAULTS],
REPLACE_FFSLL=0; AC_SUBST([REPLACE_FFSLL])
REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
+ REPLACE_MEMPCPY=0; AC_SUBST([REPLACE_MEMPCPY])
+ REPLACE_MEMSET_EXPLICIT=0; AC_SUBST([REPLACE_MEMSET_EXPLICIT])
+ REPLACE_STPCPY=0; AC_SUBST([REPLACE_STPCPY])
REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
@@ -141,5 +147,6 @@ AC_DEFUN([gl_STRING_H_DEFAULTS],
REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R])
REPLACE_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP])
REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
+ REPLACE_STRVERSCMP=0; AC_SUBST([REPLACE_STRVERSCMP])
UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
])
diff --git a/gnulib-m4/strncat.m4 b/gnulib-m4/strncat.m4
index 627280cf..17550d4a 100644
--- a/gnulib-m4/strncat.m4
+++ b/gnulib-m4/strncat.m4
@@ -1,5 +1,5 @@
-# strncat.m4 serial 6
-dnl Copyright (C) 2002-2004, 2009-2022 Free Software Foundation, Inc.
+# strncat.m4 serial 8
+dnl Copyright (C) 2002-2004, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,7 @@ AC_DEFUN_ONCE([gl_FUNC_STRNCAT],
AC_CHECK_HEADERS_ONCE([sys/mman.h])
AC_CHECK_FUNCS_ONCE([mprotect])
- dnl Detect bug in Solaris 8..10 on SPARC and Solaris 11.0 on x86:
+ dnl Detect bug in Solaris 8..11.4 on SPARC and Solaris 11.0 on x86:
dnl strncat should not dereference more than n bytes, but always dereferences
dnl n+1 bytes if the first n bytes don't contain a NUL byte.
dnl Assume that strncat works on platforms that lack mprotect.
@@ -84,12 +84,12 @@ AC_DEFUN_ONCE([gl_FUNC_STRNCAT],
]])], [gl_cv_func_strncat_works=yes], [gl_cv_func_strncat_works=no],
[
case "$host_os" in
- # Guess no on Solaris.
- solaris*) gl_cv_func_strncat_works="guessing no" ;;
- # Guess yes on native Windows.
- mingw*) gl_cv_func_strncat_works="guessing yes" ;;
- # Guess yes otherwise.
- *) gl_cv_func_strncat_works="guessing yes" ;;
+ # Guess no on Solaris.
+ solaris*) gl_cv_func_strncat_works="guessing no" ;;
+ # Guess yes on native Windows.
+ mingw* | windows*) gl_cv_func_strncat_works="guessing yes" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_strncat_works="guessing yes" ;;
esac
])
])
diff --git a/gnulib-m4/strstr.m4 b/gnulib-m4/strstr.m4
index 6cc20727..21d7768b 100644
--- a/gnulib-m4/strstr.m4
+++ b/gnulib-m4/strstr.m4
@@ -1,5 +1,5 @@
# strstr.m4 serial 24
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/symlink.m4 b/gnulib-m4/symlink.m4
index 5be2babb..62062cf1 100644
--- a/gnulib-m4/symlink.m4
+++ b/gnulib-m4/symlink.m4
@@ -1,7 +1,7 @@
-# serial 9
+# serial 10
# See if we need to provide symlink replacement.
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -38,6 +38,8 @@ AC_DEFUN([gl_FUNC_SYMLINK],
[case "$host_os" in
# Guess yes on Linux systems.
linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_symlink_works="guessing yes" ;;
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_symlink_works="guessing yes" ;;
# If we don't know, obey --enable-cross-guesses.
diff --git a/gnulib-m4/sys_ioctl_h.m4 b/gnulib-m4/sys_ioctl_h.m4
index be653643..3e789f3d 100644
--- a/gnulib-m4/sys_ioctl_h.m4
+++ b/gnulib-m4/sys_ioctl_h.m4
@@ -1,5 +1,5 @@
# sys_ioctl_h.m4 serial 15
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sys_select_h.m4 b/gnulib-m4/sys_select_h.m4
index 2743cd17..9e279fba 100644
--- a/gnulib-m4/sys_select_h.m4
+++ b/gnulib-m4/sys_select_h.m4
@@ -1,5 +1,5 @@
# sys_select_h.m4 serial 23
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sys_socket_h.m4 b/gnulib-m4/sys_socket_h.m4
index ba3ae68e..af524849 100644
--- a/gnulib-m4/sys_socket_h.m4
+++ b/gnulib-m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
# sys_socket_h.m4 serial 29
-dnl Copyright (C) 2005-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sys_stat_h.m4 b/gnulib-m4/sys_stat_h.m4
index 2adbfdee..75018537 100644
--- a/gnulib-m4/sys_stat_h.m4
+++ b/gnulib-m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
# sys_stat_h.m4 serial 42 -*- Autoconf -*-
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sys_time_h.m4 b/gnulib-m4/sys_time_h.m4
index bc5e2b13..dc5353f3 100644
--- a/gnulib-m4/sys_time_h.m4
+++ b/gnulib-m4/sys_time_h.m4
@@ -1,7 +1,7 @@
# Configure a replacement for <sys/time.h>.
# serial 12
-# Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sys_types_h.m4 b/gnulib-m4/sys_types_h.m4
index a5bef220..37d0ccad 100644
--- a/gnulib-m4/sys_types_h.m4
+++ b/gnulib-m4/sys_types_h.m4
@@ -1,5 +1,5 @@
# sys_types_h.m4 serial 13
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/sys_uio_h.m4 b/gnulib-m4/sys_uio_h.m4
index 36f55ead..ce252ed4 100644
--- a/gnulib-m4/sys_uio_h.m4
+++ b/gnulib-m4/sys_uio_h.m4
@@ -1,5 +1,5 @@
# sys_uio_h.m4 serial 3
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/thread.m4 b/gnulib-m4/thread.m4
index 1a8e543c..a840de6f 100644
--- a/gnulib-m4/thread.m4
+++ b/gnulib-m4/thread.m4
@@ -1,5 +1,5 @@
-# thread.m4 serial 3
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# thread.m4 serial 5
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -9,9 +9,9 @@ AC_DEFUN([gl_THREAD],
AC_REQUIRE([gl_THREADLIB])
if test $gl_threads_api = posix; then
- gl_save_LIBS="$LIBS"
+ gl_saved_LIBS="$LIBS"
LIBS="$LIBS $LIBMULTITHREAD"
- AC_CHECK_FUNCS([pthread_atfork])
- LIBS="$gl_save_LIBS"
+ gl_CHECK_FUNCS_ANDROID([pthread_atfork], [[#include <pthread.h>]])
+ LIBS="$gl_saved_LIBS"
fi
])
diff --git a/gnulib-m4/threadlib.m4 b/gnulib-m4/threadlib.m4
index ecb4970a..6dee893e 100644
--- a/gnulib-m4/threadlib.m4
+++ b/gnulib-m4/threadlib.m4
@@ -1,5 +1,5 @@
-# threadlib.m4 serial 32
-dnl Copyright (C) 2005-2022 Free Software Foundation, Inc.
+# threadlib.m4 serial 42
+dnl Copyright (C) 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -85,10 +85,11 @@ AC_DEFUN([gl_WEAK_SYMBOLS],
AC_CACHE_CHECK([whether imported symbols can be declared weak],
[gl_cv_have_weak],
[case "$host_os" in
- cygwin*)
- dnl On Cygwin 3.2.0 with gcc 10.2, the test below would succeed, but
- dnl programs that use pthread_in_use() with weak symbol references
- dnl crash miserably at runtime.
+ cygwin* | mingw* | windows*)
+ dnl On Cygwin 3.2.0 with gcc 10.2, and likewise on mingw 10.0.0 with
+ dnl gcc 11.3, the test below would succeed, but programs that use
+ dnl pthread_in_use() with weak symbol references crash miserably at
+ dnl runtime.
gl_cv_have_weak="guessing no"
;;
*)
@@ -174,7 +175,7 @@ dnl Sets the variable LIBPMULTITHREAD, for programs that really need
dnl multithread functionality. The difference between LIBPTHREAD and
dnl LIBPMULTITHREAD is that on platforms supporting weak symbols, typically
dnl LIBPTHREAD is empty whereas LIBPMULTITHREAD is not.
-dnl Sets the variable LIB_SCHED_YIELD to the linker options needed to use the
+dnl Sets the variable SCHED_YIELD_LIB to the linker options needed to use the
dnl sched_yield() function.
dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
dnl multithread-safe programs.
@@ -205,7 +206,7 @@ AC_DEFUN([gl_PTHREADLIB_BODY],
# If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
# needs -pthread for some reason. See:
# https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
- save_LIBS=$LIBS
+ saved_LIBS="$LIBS"
for gl_pthread in '' '-pthread'; do
LIBS="$LIBS $gl_pthread"
AC_LINK_IFELSE(
@@ -219,7 +220,7 @@ AC_DEFUN([gl_PTHREADLIB_BODY],
[gl_pthread_api=yes
LIBPTHREAD=$gl_pthread
LIBPMULTITHREAD=$gl_pthread])
- LIBS=$save_LIBS
+ LIBS="$saved_LIBS"
test $gl_pthread_api = yes && break
done
echo "$as_me:__oline__: gl_pthread_api=$gl_pthread_api" >&AS_MESSAGE_LOG_FD
@@ -261,11 +262,22 @@ AC_DEFUN([gl_PTHREADLIB_BODY],
# On Solaris 10 or newer, this test is no longer needed, because
# libc contains the fully functional pthread functions.
case "$host_os" in
+changequote(,)dnl
solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
+changequote([,])dnl
AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
[Define if the pthread_in_use() detection is hard.])
esac
fi
+ ],
+ [dnl This is needed on FreeBSD 5.2.1.
+ AC_CHECK_LIB([thr], [pthread_kill],
+ [if test $gl_pthread_in_glibc = yes; then
+ LIBPMULTITHREAD=
+ else
+ LIBPMULTITHREAD=-lthr
+ fi
+ ])
])
elif test $gl_pthread_api != yes; then
# Some library is needed. Try libpthread and libc_r.
@@ -297,13 +309,16 @@ AC_DEFUN([gl_PTHREADLIB_BODY],
[AC_LANG_PROGRAM(
[[#include <sched.h>]],
[[sched_yield ();]])],
- [LIB_SCHED_YIELD=
+ [SCHED_YIELD_LIB=
],
[dnl Solaris 7...10 has sched_yield in librt, not in libpthread or libc.
- AC_CHECK_LIB([rt], [sched_yield], [LIB_SCHED_YIELD=-lrt],
+ AC_CHECK_LIB([rt], [sched_yield], [SCHED_YIELD_LIB=-lrt],
[dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt.
- AC_CHECK_LIB([posix4], [sched_yield], [LIB_SCHED_YIELD=-lposix4])])
+ AC_CHECK_LIB([posix4], [sched_yield], [SCHED_YIELD_LIB=-lposix4])])
])
+ AC_SUBST([SCHED_YIELD_LIB])
+ dnl For backward compatibility.
+ LIB_SCHED_YIELD="$SCHED_YIELD_LIB"
AC_SUBST([LIB_SCHED_YIELD])
gl_pthreadlib_body_done=done
@@ -338,7 +353,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY],
AC_CHECK_HEADERS_ONCE([threads.h])
case "$host_os" in
- mingw*)
+ mingw* | windows*)
LIBSTDTHREAD=
;;
*)
@@ -349,7 +364,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY],
dnl on libpthread (for the symbol 'pthread_mutexattr_gettype').
dnl glibc >= 2.34, AIX >= 7.1, and Solaris >= 11.4 have thrd_create in
dnl libc.
- AC_CHECK_FUNCS([thrd_create])
+ gl_CHECK_FUNCS_ANDROID([thrd_create], [[#include <threads.h>]])
if test $ac_cv_func_thrd_create = yes; then
LIBSTDTHREAD=
else
@@ -362,7 +377,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY],
fi
else
dnl Libraries needed by thrd.c, mtx.c, cnd.c, tss.c.
- LIBSTDTHREAD="$LIBPMULTITHREAD $LIB_SCHED_YIELD"
+ LIBSTDTHREAD="$LIBPMULTITHREAD $SCHED_YIELD_LIB"
fi
;;
esac
@@ -433,10 +448,12 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY],
m4_ifdef([gl_THREADLIB_DEFAULT_NO],
[m4_divert_text([DEFAULTS], [gl_use_threads_default=no])],
[m4_divert_text([DEFAULTS], [gl_use_threads_default=])])
- m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=])
+ dnl gl_use_winpthreads_default defaults to 'no', because in mingw 10, like
+ dnl in mingw 5, the use of libwinpthread still makes test-pthread-tss crash.
+ m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=no])
AC_ARG_ENABLE([threads],
-AS_HELP_STRING([--enable-threads={isoc|posix|isoc+posix|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [
-AS_HELP_STRING([--disable-threads], [build without multithread safety])]),
+AS_HELP_STRING([[--enable-threads={isoc|posix|isoc+posix|windows}]], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [
+AS_HELP_STRING([[--disable-threads]], [build without multithread safety])]),
[gl_use_threads=$enableval],
[if test -n "$gl_use_threads_default"; then
gl_use_threads="$gl_use_threads_default"
@@ -457,7 +474,7 @@ changequote(,)dnl
esac
;;
dnl Obey gl_AVOID_WINPTHREAD on mingw.
- mingw*)
+ mingw* | windows*)
case "$gl_use_winpthreads_default" in
yes) gl_use_threads=posix ;;
no) gl_use_threads=windows ;;
@@ -556,7 +573,7 @@ AC_DEFUN([gl_THREADLIB_BODY],
case "$gl_use_threads" in
yes | windows | win32) # The 'win32' is for backward compatibility.
if { case "$host_os" in
- mingw*) true;;
+ mingw* | windows*) true;;
*) false;;
esac
}; then
@@ -567,6 +584,10 @@ AC_DEFUN([gl_THREADLIB_BODY],
;;
esac
fi
+ else
+ dnl "$gl_use_threads" is "no".
+ AC_DEFINE([AVOID_ANY_THREADS], [1],
+ [Define if no multithread safety and no multithreading is desired.])
fi
AC_MSG_CHECKING([for multithread API to use])
AC_MSG_RESULT([$gl_threads_api])
@@ -599,7 +620,8 @@ dnl -------------------
dnl Sets the gl_THREADLIB default so that on mingw, a dependency to the
dnl libwinpthread DLL (mingw-w64 winpthreads library) is avoided.
dnl The user can still override it at installation time, by using the
-dnl configure option '--enable-threads'.
+dnl configure option '--enable-threads=posix'.
+dnl As of 2023, this is now the default.
AC_DEFUN([gl_AVOID_WINPTHREAD], [
m4_divert_text([INIT_PREPARE], [gl_use_winpthreads_default=no])
diff --git a/gnulib-m4/time.m4 b/gnulib-m4/time.m4
new file mode 100644
index 00000000..6f2347b2
--- /dev/null
+++ b/gnulib-m4/time.m4
@@ -0,0 +1,55 @@
+# time.m4 serial 5
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([gl_FUNC_TIME],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ dnl glibc has the bug https://sourceware.org/bugzilla/show_bug.cgi?id=30200 .
+ AC_CACHE_CHECK([whether time() works],
+ [gl_cv_func_time_works],
+ [dnl Guess that it works except on
+ dnl - glibc >= 2.31 with Linux. And binaries produced on glibc < 2.31
+ dnl need to run fine on newer glibc versions as well; therefore ignore
+ dnl __GLIBC_MINOR__.
+ dnl - FreeBSD/sparc,
+ dnl - AIX,
+ dnl - native Windows.
+ case "$host_os" in
+ linux*-gnu*)
+ AC_EGREP_CPP([Unlucky], [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+ #if __GLIBC__ == 2
+ Unlucky GNU user
+ #endif
+ #endif
+ ],
+ [gl_cv_func_time_works="guessing no"],
+ [gl_cv_func_time_works="guessing yes"])
+ ;;
+ freebsd*)
+ case "$host_cpu" in
+ sparc*) gl_cv_func_time_works="guessing no";;
+ *) gl_cv_func_time_works="guessing yes";;
+ esac
+ ;;
+ aix*) gl_cv_func_time_works="guessing no";;
+ mingw* | windows*) gl_cv_func_time_works="guessing no";;
+ *) gl_cv_func_time_works="guessing yes";;
+ esac
+ ])
+ case "$gl_cv_func_time_works" in
+ *no) REPLACE_TIME=1 ;;
+ esac
+])
+
+# Prerequisites of lib/time.c.
+AC_DEFUN([gl_PREREQ_TIME],
+[
+ :
+])
diff --git a/gnulib-m4/time_h.m4 b/gnulib-m4/time_h.m4
index 4ac8fd00..32fade0f 100644
--- a/gnulib-m4/time_h.m4
+++ b/gnulib-m4/time_h.m4
@@ -1,8 +1,8 @@
# Configure a more-standard replacement for <time.h>.
-# Copyright (C) 2000-2001, 2003-2007, 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2024 Free Software Foundation, Inc.
-# serial 20
+# serial 25
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -23,7 +23,10 @@ AC_DEFUN_ONCE([gl_TIME_H],
dnl corresponding gnulib module is not in use.
gl_WARN_ON_USE_PREPARE([[
#include <time.h>
- ]], [asctime_r ctime_r])
+ ]], [
+ asctime asctime_r ctime ctime_r gmtime_r localtime localtime_r mktime
+ nanosleep strftime strptime time timegm timespec_get timespec_getres tzset
+ ])
AC_REQUIRE([AC_C_RESTRICT])
@@ -137,6 +140,7 @@ AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES])
@@ -161,23 +165,16 @@ AC_DEFUN([gl_TIME_H_DEFAULTS],
HAVE_TIMESPEC_GETRES=1; AC_SUBST([HAVE_TIMESPEC_GETRES])
dnl Even GNU libc does not have timezone_t yet.
HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T])
- dnl If another module says to replace or to not replace, do that.
- dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
- dnl this lets maintainers check for portability.
- REPLACE_CTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_CTIME])
- REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R])
- REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME])
- REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP])
- REPLACE_STRFTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRFTIME])
- REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM])
- REPLACE_TZSET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TZSET])
-
- dnl Hack so that the time module doesn't depend on the sys_time module.
- dnl First, default GNULIB_GETTIMEOFDAY to 0 if sys_time is absent.
- : ${GNULIB_GETTIMEOFDAY=0}; AC_SUBST([GNULIB_GETTIMEOFDAY])
- dnl Second, it's OK to not use GNULIB_PORTCHECK for REPLACE_GMTIME
- dnl and REPLACE_LOCALTIME, as portability to Solaris 2.6 and earlier
- dnl is no longer a big deal.
+ REPLACE_CTIME=0; AC_SUBST([REPLACE_CTIME])
REPLACE_GMTIME=0; AC_SUBST([REPLACE_GMTIME])
REPLACE_LOCALTIME=0; AC_SUBST([REPLACE_LOCALTIME])
+ REPLACE_LOCALTIME_R=0; AC_SUBST([REPLACE_LOCALTIME_R])
+ REPLACE_MKTIME=0; AC_SUBST([REPLACE_MKTIME])
+ REPLACE_NANOSLEEP=0; AC_SUBST([REPLACE_NANOSLEEP])
+ REPLACE_STRFTIME=0; AC_SUBST([REPLACE_STRFTIME])
+ REPLACE_TIME=0; AC_SUBST([REPLACE_TIME])
+ REPLACE_TIMEGM=0; AC_SUBST([REPLACE_TIMEGM])
+ REPLACE_TIMESPEC_GET=0; AC_SUBST([REPLACE_TIMESPEC_GET])
+ REPLACE_TIMESPEC_GETRES=0; AC_SUBST([REPLACE_TIMESPEC_GETRES])
+ REPLACE_TZSET=0; AC_SUBST([REPLACE_TZSET])
])
diff --git a/gnulib-m4/uchar_h.m4 b/gnulib-m4/uchar_h.m4
new file mode 100644
index 00000000..abd4f51f
--- /dev/null
+++ b/gnulib-m4/uchar_h.m4
@@ -0,0 +1,249 @@
+# uchar_h.m4 serial 31
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Prepare the overridden <uchar.h>.
+
+AC_DEFUN_ONCE([gl_UCHAR_H],
+[
+ AC_REQUIRE([gl_UCHAR_H_DEFAULTS])
+
+ gl_CHECK_NEXT_HEADERS([uchar.h])
+ if test $ac_cv_header_uchar_h = yes; then
+ HAVE_UCHAR_H=1
+ else
+ HAVE_UCHAR_H=0
+ fi
+ AC_SUBST([HAVE_UCHAR_H])
+
+ gl_TYPE_CHAR8_T
+ gl_TYPE_CHAR16_T
+ gl_TYPE_CHAR32_T
+
+ dnl In C++ mode, clang defines 'char16_t' and 'char32_t' as built-in types
+ dnl on some platforms (e.g. OpenBSD 6.7), and as types defined by many
+ dnl header files (<limits.h>, <stddef.h>, <stdint.h>, <stdio.h>, <stdlib.h>
+ dnl and others) on some platforms (e.g. Mac OS X 10.13).
+ dnl The same thing may also happen for 'char8_t'; so, be prepared for it.
+ m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])])
+ CXX_HAS_UCHAR_TYPES=0
+ if test $HAVE_UCHAR_H = 0; then
+ if test "$CXX" != no; then
+ AC_CACHE_CHECK([whether the C++ compiler predefines the <uchar.h> types],
+ [gl_cv_cxx_has_uchar_types],
+ [dnl We can't use AC_LANG_PUSH([C++]) and AC_LANG_POP([C++]) here, due to
+ dnl an autoconf bug <https://savannah.gnu.org/support/?110294>.
+ cat > conftest.cpp <<\EOF
+#include <stddef.h>
+char16_t a;
+char32_t b;
+EOF
+ gl_command="$CXX $CXXFLAGS $CPPFLAGS -c conftest.cpp"
+ if AC_TRY_EVAL([gl_command]); then
+ gl_cv_cxx_has_uchar_types=yes
+ else
+ gl_cv_cxx_has_uchar_types=no
+ fi
+ rm -fr conftest*
+ ])
+ if test $gl_cv_cxx_has_uchar_types = yes; then
+ CXX_HAS_UCHAR_TYPES=1
+ fi
+ fi
+ fi
+ AC_SUBST([CXX_HAS_UCHAR_TYPES])
+ CXX_HAS_CHAR8_TYPE=0
+ if test $HAVE_UCHAR_H = 0; then
+ if test "$CXX" != no; then
+ AC_CACHE_CHECK([whether the C++ compiler predefines the char8_t types],
+ [gl_cv_cxx_has_char8_type],
+ [dnl We can't use AC_LANG_PUSH([C++]) and AC_LANG_POP([C++]) here, due to
+ dnl an autoconf bug <https://savannah.gnu.org/support/?110294>.
+ cat > conftest.cpp <<\EOF
+#include <stddef.h>
+char8_t a;
+EOF
+ gl_command="$CXX $CXXFLAGS $CPPFLAGS -c conftest.cpp"
+ if AC_TRY_EVAL([gl_command]); then
+ gl_cv_cxx_has_char8_type=yes
+ else
+ gl_cv_cxx_has_char8_type=no
+ fi
+ rm -fr conftest*
+ ])
+ if test $gl_cv_cxx_has_char8_type = yes; then
+ CXX_HAS_CHAR8_TYPE=1
+ fi
+ fi
+ fi
+ AC_SUBST([CXX_HAS_CHAR8_TYPE])
+
+ dnl Test whether a 'char32_t' can hold more characters than a 'wchar_t'.
+ gl_STDINT_BITSIZEOF([wchar_t], [gl_STDINT_INCLUDES])
+ if test $BITSIZEOF_WCHAR_T -lt 32; then
+ SMALL_WCHAR_T=1
+ else
+ SMALL_WCHAR_T=0
+ fi
+ dnl SMALL_WCHAR_T is expected to be 1 on 32-bit AIX, Cygwin, native Windows.
+ AC_SUBST([SMALL_WCHAR_T])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by C11.
+ gl_WARN_ON_USE_PREPARE([[
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ ]], [c32rtomb mbrtoc16 mbrtoc32])
+])
+
+AC_DEFUN_ONCE([gl_TYPE_CHAR8_T],
+[
+ dnl Determine whether gnulib's <uchar.h> would, if present, override char8_t.
+ AC_CACHE_CHECK([whether char8_t is correctly defined],
+ [gl_cv_type_char8_t_works],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ int verify[(char8_t)(-1) >= 0 && sizeof (char8_t) == sizeof (unsigned char) ? 1 : -1];
+ ]])
+ ],
+ [gl_cv_type_char8_t_works=yes],
+ [gl_cv_type_char8_t_works=no])
+ ])
+ if test $gl_cv_type_char8_t_works = no; then
+ GNULIBHEADERS_OVERRIDE_CHAR8_T=1
+ else
+ GNULIBHEADERS_OVERRIDE_CHAR8_T=0
+ fi
+ AC_SUBST([GNULIBHEADERS_OVERRIDE_CHAR8_T])
+])
+
+dnl On Haiku 2020, char16_t and char32_t are incorrectly defined.
+dnl See <https://dev.haiku-os.org/ticket/15990>.
+AC_DEFUN_ONCE([gl_TYPE_CHAR16_T],
+[
+ dnl Determine whether gnulib's <uchar.h> would, if present, override char16_t.
+ AC_CACHE_CHECK([whether char16_t is correctly defined],
+ [gl_cv_type_char16_t_works],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ /* For simplicity, assume that uint16_least_t is equivalent to
+ 'unsigned short'. */
+ int verify[(char16_t)(-1) >= 0 && sizeof (char16_t) == sizeof (unsigned short) ? 1 : -1];
+ ]])
+ ],
+ [gl_cv_type_char16_t_works=yes],
+ [gl_cv_type_char16_t_works=no])
+ ])
+ if test $gl_cv_type_char16_t_works = no; then
+ GNULIBHEADERS_OVERRIDE_CHAR16_T=1
+ else
+ GNULIBHEADERS_OVERRIDE_CHAR16_T=0
+ fi
+ AC_SUBST([GNULIBHEADERS_OVERRIDE_CHAR16_T])
+])
+AC_DEFUN_ONCE([gl_TYPE_CHAR32_T],
+[
+ dnl Determine whether gnulib's <uchar.h> would, if present, override char32_t.
+ AC_CACHE_CHECK([whether char32_t is correctly defined],
+ [gl_cv_type_char32_t_works],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #ifdef __HAIKU__
+ #include <stdint.h>
+ #endif
+ #include <uchar.h>
+ /* For simplicity, assume that uint32_least_t is equivalent to
+ 'unsigned int'. */
+ int verify[(char32_t)(-1) >= 0 && sizeof (char32_t) == sizeof (unsigned int) ? 1 : -1];
+ ]])
+ ],
+ [gl_cv_type_char32_t_works=yes],
+ [gl_cv_type_char32_t_works=no])
+ ])
+ if test $gl_cv_type_char32_t_works = no; then
+ GNULIBHEADERS_OVERRIDE_CHAR32_T=1
+ else
+ GNULIBHEADERS_OVERRIDE_CHAR32_T=0
+ fi
+ AC_SUBST([GNULIBHEADERS_OVERRIDE_CHAR32_T])
+])
+
+# gl_UCHAR_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_UCHAR_MODULE_INDICATOR],
+[
+ dnl Ensure to expand the default settings once only.
+ gl_UCHAR_H_REQUIRE_DEFAULTS
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd. It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_UCHAR_H_REQUIRE_DEFAULTS],
+[
+ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UCHAR_H_MODULE_INDICATOR_DEFAULTS], [
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOC32])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISALNUM])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISALPHA])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISBLANK])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISCNTRL])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISDIGIT])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISGRAPH])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISLOWER])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISPRINT])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISPUNCT])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISSPACE])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISUPPER])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32ISXDIGIT])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32TOLOWER])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32TOUPPER])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32WIDTH])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32RTOMB])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32SNRTOMBS])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32SRTOMBS])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32STOMBS])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32SWIDTH])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32TOB])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32_APPLY_MAPPING])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32_APPLY_TYPE_TEST])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32_GET_MAPPING])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_C32_GET_TYPE_TEST])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOC16])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOC32])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNRTOC32S])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOC32S])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOC32S])
+ ])
+ m4_require(GL_MODULE_INDICATOR_PREFIX[_UCHAR_H_MODULE_INDICATOR_DEFAULTS])
+ AC_REQUIRE([gl_UCHAR_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_UCHAR_H_DEFAULTS],
+[
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_C32RTOMB=1; AC_SUBST([HAVE_C32RTOMB])
+ HAVE_MBRTOC16=1; AC_SUBST([HAVE_MBRTOC16])
+ HAVE_MBRTOC32=1; AC_SUBST([HAVE_MBRTOC32])
+ REPLACE_C32RTOMB=0; AC_SUBST([REPLACE_C32RTOMB])
+ REPLACE_MBRTOC16=0; AC_SUBST([REPLACE_MBRTOC16])
+ REPLACE_MBRTOC32=0; AC_SUBST([REPLACE_MBRTOC32])
+])
diff --git a/gnulib-m4/unicase_h.m4 b/gnulib-m4/unicase_h.m4
new file mode 100644
index 00000000..ad2f6215
--- /dev/null
+++ b/gnulib-m4/unicase_h.m4
@@ -0,0 +1,43 @@
+# unicase_h.m4 serial 1
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_UNICASE_H],
+[
+ dnl Ensure to expand the default settings once only, before all statements
+ dnl that occur in other macros.
+ AC_REQUIRE([gl_UNICASE_H_DEFAULTS])
+])
+
+# gl_UNICASE_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_UNICASE_MODULE_INDICATOR],
+[
+ dnl Ensure to expand the default settings once only.
+ gl_UNICASE_H_REQUIRE_DEFAULTS
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd. It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_UNICASE_H_REQUIRE_DEFAULTS],
+[
+ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNICASE_H_MODULE_INDICATOR_DEFAULTS], [
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ ])
+ m4_require(GL_MODULE_INDICATOR_PREFIX[_UNICASE_H_MODULE_INDICATOR_DEFAULTS])
+ AC_REQUIRE([gl_UNICASE_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_UNICASE_H_DEFAULTS],
+[
+ dnl Assume proper GNU behavior unless another module says otherwise.
+])
diff --git a/gnulib-m4/unictype_h.m4 b/gnulib-m4/unictype_h.m4
new file mode 100644
index 00000000..68b864bd
--- /dev/null
+++ b/gnulib-m4/unictype_h.m4
@@ -0,0 +1,176 @@
+# unictype_h.m4 serial 3
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_UNICTYPE_H],
+[
+ dnl Ensure to expand the default settings once only, before all statements
+ dnl that occur in other macros.
+ AC_REQUIRE([gl_UNICTYPE_H_DEFAULTS])
+])
+
+# gl_UNICTYPE_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_UNICTYPE_MODULE_INDICATOR],
+[
+ dnl Ensure to expand the default settings once only.
+ gl_UNICTYPE_H_REQUIRE_DEFAULTS
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd. It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
+[
+ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNICTYPE_H_MODULE_INDICATOR_DEFAULTS], [
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ ])
+ m4_require(GL_MODULE_INDICATOR_PREFIX[_UNICTYPE_H_MODULE_INDICATOR_DEFAULTS])
+ AC_REQUIRE([gl_UNICTYPE_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_UNICTYPE_H_DEFAULTS],
+[
+ dnl Assume proper GNU behavior unless another module says otherwise.
+])
diff --git a/gnulib-m4/unimetadata_h.m4 b/gnulib-m4/unimetadata_h.m4
new file mode 100644
index 00000000..abdc06d8
--- /dev/null
+++ b/gnulib-m4/unimetadata_h.m4
@@ -0,0 +1,42 @@
+# unimetadata_h.m4 serial 1
+dnl Copyright (C) 2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_UNIMETADATA_H],
+[
+ dnl Ensure to expand the default settings once only, before all statements
+ dnl that occur in other macros.
+ AC_REQUIRE([gl_UNIMETADATA_H_DEFAULTS])
+])
+
+# gl_UNIMETADATA_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_UNIMETADATA_MODULE_INDICATOR],
+[
+ dnl Ensure to expand the default settings once only.
+ gl_UNIMETADATA_H_REQUIRE_DEFAULTS
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd. It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_UNIMETADATA_H_REQUIRE_DEFAULTS],
+[
+ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNIMETADATA_H_MODULE_INDICATOR_DEFAULTS], [
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ ])
+ m4_require(GL_MODULE_INDICATOR_PREFIX[_UNIMETADATA_H_MODULE_INDICATOR_DEFAULTS])
+ AC_REQUIRE([gl_UNIMETADATA_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_UNIMETADATA_H_DEFAULTS],
+[
+ dnl Assume proper GNU behavior unless another module says otherwise.
+])
diff --git a/gnulib-m4/uninorm_h.m4 b/gnulib-m4/uninorm_h.m4
new file mode 100644
index 00000000..aadf5598
--- /dev/null
+++ b/gnulib-m4/uninorm_h.m4
@@ -0,0 +1,45 @@
+# uninorm_h.m4 serial 1
+dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_UNINORM_H],
+[
+ dnl Ensure to expand the default settings once only, before all statements
+ dnl that occur in other macros.
+ AC_REQUIRE([gl_UNINORM_H_DEFAULTS])
+])
+
+# gl_UNINORM_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_UNINORM_MODULE_INDICATOR],
+[
+ dnl Ensure to expand the default settings once only.
+ gl_UNINORM_H_REQUIRE_DEFAULTS
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd. It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_UNINORM_H_REQUIRE_DEFAULTS],
+[
+ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNINORM_H_MODULE_INDICATOR_DEFAULTS], [
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNINORM_NFD_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNINORM_NFC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNINORM_NFKD_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNINORM_NFKC_DLL_VARIABLE], ['LIBUNISTRING_DLL_VARIABLE'])
+ ])
+ m4_require(GL_MODULE_INDICATOR_PREFIX[_UNINORM_H_MODULE_INDICATOR_DEFAULTS])
+ AC_REQUIRE([gl_UNINORM_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_UNINORM_H_DEFAULTS],
+[
+ dnl Assume proper GNU behavior unless another module says otherwise.
+])
diff --git a/gnulib-m4/unistd_h.m4 b/gnulib-m4/unistd_h.m4
index 4c66ccc0..e078bd61 100644
--- a/gnulib-m4/unistd_h.m4
+++ b/gnulib-m4/unistd_h.m4
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 90
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+# unistd_h.m4 serial 95
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -225,6 +225,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
REPLACE_COPY_FILE_RANGE=0; AC_SUBST([REPLACE_COPY_FILE_RANGE])
REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
+ REPLACE_DUP3=0; AC_SUBST([REPLACE_DUP3])
REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL])
REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE])
REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP])
@@ -233,11 +234,14 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP])
REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE])
REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT])
+ REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
+ REPLACE_FDATASYNC=0; AC_SUBST([REPLACE_FDATASYNC])
REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE])
REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE])
+ REPLACE_GETENTROPY=0; AC_SUBST([REPLACE_GETENTROPY])
REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R])
REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
@@ -248,12 +252,14 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
+ REPLACE_PIPE2=0; AC_SUBST([REPLACE_PIPE2])
REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD])
REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE])
REPLACE_READ=0; AC_SUBST([REPLACE_READ])
REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT])
REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
+ REPLACE_SETHOSTNAME=0; AC_SUBST([REPLACE_SETHOSTNAME])
REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])
REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT])
diff --git a/gnulib-m4/usleep.m4 b/gnulib-m4/usleep.m4
index 25d23f51..c688a043 100644
--- a/gnulib-m4/usleep.m4
+++ b/gnulib-m4/usleep.m4
@@ -1,5 +1,5 @@
-# usleep.m4 serial 7
-dnl Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# usleep.m4 serial 9
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -29,14 +29,16 @@ AC_DEFUN([gl_FUNC_USLEEP],
]], [[return !!usleep (1000000);]])],
[gl_cv_func_usleep_works=yes], [gl_cv_func_usleep_works=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_usleep_works="guessing yes" ;;
- # Guess no on native Windows.
- mingw*) gl_cv_func_usleep_works="guessing no" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_usleep_works="$gl_cross_guess_normal" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
+ # Guess yes on musl systems.
+ *-musl*) gl_cv_func_usleep_works="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux system calls.
+ midipix*) gl_cv_func_usleep_works="guessing yes" ;;
+ # Guess no on native Windows.
+ mingw* | windows*) gl_cv_func_usleep_works="guessing no" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_usleep_works="$gl_cross_guess_normal" ;;
esac
])])
case "$gl_cv_func_usleep_works" in
diff --git a/gnulib-m4/vasnprintf.m4 b/gnulib-m4/vasnprintf.m4
index afdece71..21a85bb1 100644
--- a/gnulib-m4/vasnprintf.m4
+++ b/gnulib-m4/vasnprintf.m4
@@ -1,5 +1,5 @@
-# vasnprintf.m4 serial 38
-dnl Copyright (C) 2002-2004, 2006-2022 Free Software Foundation, Inc.
+# vasnprintf.m4 serial 52
+dnl Copyright (C) 2002-2004, 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -29,6 +29,15 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF],
gl_PREREQ_ASNPRINTF
])
+AC_DEFUN([gl_FUNC_VASNWPRINTF],
+[
+ AC_LIBOBJ([printf-args])
+ gl_PREREQ_PRINTF_ARGS
+ gl_PREREQ_PRINTF_PARSE
+ gl_PREREQ_VASNWPRINTF
+ gl_PREREQ_ASNPRINTF
+])
+
# Prerequisites of lib/printf-args.h, lib/printf-args.c.
AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
[
@@ -37,6 +46,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
])
# Prerequisites of lib/printf-parse.h, lib/printf-parse.c.
+# Prerequisites of lib/wprintf-parse.h, lib/wprintf-parse.c.
AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
[
AC_REQUIRE([gl_FEATURES_H])
@@ -50,19 +60,13 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
])
-# Prerequisites of lib/vasnprintf.c.
+# Prerequisites of lib/vasnprintf.c if !WIDE_CHAR_VERSION.
AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
[
- AC_REQUIRE([AC_FUNC_ALLOCA])
- AC_REQUIRE([gt_TYPE_WCHAR_T])
- AC_REQUIRE([gt_TYPE_WINT_T])
- AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
+ AC_CHECK_FUNCS([snprintf strnlen wcrtomb])
dnl Use the _snprintf function only if it is declared (because on NetBSD it
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]])
- dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization
- dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE.
- AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
dnl We can avoid a lot of code by assuming that snprintf's return value
dnl conforms to ISO C99. So check that.
AC_REQUIRE([gl_SNPRINTF_RETVAL_C99])
@@ -84,6 +88,108 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
terminated.])
;;
esac
+ gl_PREREQ_VASNXPRINTF
+])
+
+# Prerequisites of lib/vasnwprintf.c.
+AC_DEFUN_ONCE([gl_PREREQ_VASNWPRINTF],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CHECK_FUNCS_ONCE([swprintf wcsnlen mbrtowc])
+ AC_CHECK_DECLS([_snwprintf], , , [[#include <stdio.h>]])
+ AC_CHECK_DECLS([wcsnlen], , , [[#include <wchar.h>]])
+ gl_SWPRINTF_WORKS
+ case "$gl_cv_func_swprintf_works" in
+ *yes)
+ AC_DEFINE([HAVE_WORKING_SWPRINTF], [1],
+ [Define if the swprintf function works correctly when it produces output
+ that contains null wide characters.])
+ ;;
+ esac
+ gl_MBRTOWC_C_LOCALE
+ case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in
+ *yes)
+ AC_CACHE_CHECK([whether swprintf in the C locale is free of encoding errors],
+ [gl_cv_func_swprintf_C_locale_sans_EILSEQ],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#ifndef __USE_MINGW_ANSI_STDIO
+# define __USE_MINGW_ANSI_STDIO 1
+#endif
+#include <stdio.h>
+#include <wchar.h>
+int main()
+{
+ int result = 0;
+ { /* This test fails on glibc 2.35, musl libc 1.2.4, FreeBSD 13.2, NetBSD 9.3,
+ OpenBSD 7.2, Cygwin 2.9.0.
+ Reported at <https://www.openwall.com/lists/musl/2023/06/12/2>. */
+ wchar_t buf[12];
+ int ret = swprintf (buf, 12, L"%c", '\377');
+ if (ret < 0)
+ result |= 1;
+ }
+ return result;
+}]])],
+ [gl_cv_func_swprintf_C_locale_sans_EILSEQ=yes],
+ [gl_cv_func_swprintf_C_locale_sans_EILSEQ=no],
+ [case "$host_os" in
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_swprintf_C_locale_sans_EILSEQ="guessing yes";;
+ # Guess no on musl systems.
+ *-musl* | midipix*) gl_cv_func_swprintf_C_locale_sans_EILSEQ="guessing no";;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_swprintf_C_locale_sans_EILSEQ="$gl_cross_guess_normal";;
+ esac
+ ])
+ ])
+ ;;
+ esac
+ if case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in
+ *yes) false ;;
+ *) true ;;
+ esac \
+ || case "$gl_cv_func_swprintf_C_locale_sans_EILSEQ" in
+ *yes) false ;;
+ *) true ;;
+ esac; then
+ AC_DEFINE([NEED_WPRINTF_DIRECTIVE_C], [1],
+ [Define if the vasnwprintf implementation needs special code for
+ the 'c' directive.])
+ fi
+ gl_SWPRINTF_DIRECTIVE_LA
+ case "$gl_cv_func_swprintf_directive_la" in
+ *yes) ;;
+ *)
+ AC_DEFINE([NEED_WPRINTF_DIRECTIVE_LA], [1],
+ [Define if the vasnwprintf implementation needs special code for
+ the 'a' directive with 'long double' arguments.])
+ ;;
+ esac
+ gl_SWPRINTF_DIRECTIVE_LC
+ case "$gl_cv_func_swprintf_directive_lc" in
+ *yes) ;;
+ *)
+ AC_DEFINE([NEED_WPRINTF_DIRECTIVE_LC], [1],
+ [Define if the vasnwprintf implementation needs special code for
+ the 'lc' directive.])
+ ;;
+ esac
+ gl_MUSL_LIBC
+ gl_PREREQ_VASNXPRINTF
+])
+
+# Common prerequisites of lib/vasnprintf.c and lib/vasnwprintf.c.
+AC_DEFUN_ONCE([gl_PREREQ_VASNXPRINTF],
+[
+ AC_REQUIRE([AC_FUNC_ALLOCA])
+ AC_REQUIRE([gt_TYPE_WCHAR_T])
+ AC_REQUIRE([gt_TYPE_WINT_T])
+ AC_CHECK_FUNCS([wcslen])
+ dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization
+ dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE.
+ AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
])
# Extra prerequisites of lib/vasnprintf.c for supporting 'long double'
@@ -152,7 +258,22 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A],
AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1],
[Define if the vasnprintf implementation needs special code for
the 'a' and 'A' directives.])
- AC_CHECK_FUNCS([nl_langinfo])
+ gl_CHECK_FUNCS_ANDROID([nl_langinfo], [[#include <langinfo.h>]])
+ ;;
+ esac
+])
+
+# Extra prerequisites of lib/vasnprintf.c for supporting the 'b' directive.
+AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_B],
+[
+ AC_REQUIRE([gl_PRINTF_DIRECTIVE_B])
+ case "$gl_cv_func_printf_directive_b" in
+ *yes)
+ ;;
+ *)
+ AC_DEFINE([NEED_PRINTF_DIRECTIVE_B], [1],
+ [Define if the vasnprintf implementation needs special code for
+ the 'b' directive.])
;;
esac
])
@@ -187,6 +308,21 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LS],
esac
])
+# Extra prerequisites of lib/vasnprintf.c for supporting the 'lc' directive.
+AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LC],
+[
+ AC_REQUIRE([gl_PRINTF_DIRECTIVE_LC])
+ case "$gl_cv_func_printf_directive_lc" in
+ *yes)
+ ;;
+ *)
+ AC_DEFINE([NEED_PRINTF_DIRECTIVE_LC], [1],
+ [Define if the vasnprintf implementation needs special code for
+ the 'lc' directive.])
+ ;;
+ esac
+])
+
# Extra prerequisites of lib/vasnprintf.c for supporting the ' flag.
AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING],
[
@@ -232,6 +368,22 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO],
esac
])
+# Extra prerequisites of lib/vasnprintf.c for supporting the # flag with a
+# zero precision and a zero value in the 'x' and 'X' directives.
+AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ALT_PRECISION_ZERO],
+[
+ AC_REQUIRE([gl_PRINTF_FLAG_ALT_PRECISION_ZERO])
+ case "$gl_cv_func_printf_flag_alt_precision_zero" in
+ *yes)
+ ;;
+ *)
+ AC_DEFINE([NEED_PRINTF_FLAG_ALT_PRECISION_ZERO], [1],
+ [Define if the vasnprintf implementation needs special code for the
+ # flag with a zero precision and a zero value in the 'x' and 'X' directives.])
+ ;;
+ esac
+])
+
# Extra prerequisites of lib/vasnprintf.c for supporting large precisions.
AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION],
[
@@ -276,23 +428,53 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM],
])
# Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS],
+AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS],
[
AC_REQUIRE([gl_PREREQ_VASNPRINTF])
gl_PREREQ_VASNPRINTF_LONG_DOUBLE
gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE
gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE
gl_PREREQ_VASNPRINTF_DIRECTIVE_A
+ gl_PREREQ_VASNPRINTF_DIRECTIVE_B
gl_PREREQ_VASNPRINTF_DIRECTIVE_F
gl_PREREQ_VASNPRINTF_DIRECTIVE_LS
+ gl_PREREQ_VASNPRINTF_DIRECTIVE_LC
gl_PREREQ_VASNPRINTF_FLAG_GROUPING
gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST
gl_PREREQ_VASNPRINTF_FLAG_ZERO
+ gl_PREREQ_VASNPRINTF_FLAG_ALT_PRECISION_ZERO
gl_PREREQ_VASNPRINTF_PRECISION
gl_PREREQ_VASNPRINTF_ENOMEM
])
+# Extra prerequisites of lib/vasnprintf.c for supporting the 'B' directive.
+AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_UPPERCASE_B],
+[
+ AC_REQUIRE([gl_PRINTF_DIRECTIVE_UPPERCASE_B])
+ case "$gl_cv_func_printf_directive_uppercase_b" in
+ *yes)
+ ;;
+ *)
+ AC_DEFINE([NEED_PRINTF_DIRECTIVE_UPPERCASE_B], [1],
+ [Define if the vasnprintf implementation needs special code for
+ the 'B' directive.])
+ ;;
+ esac
+])
+
+# Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance
+# and GNU compatibility.
+AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_GNU_EXTRAS],
+[
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ AC_DEFINE([SUPPORT_GNU_PRINTF_DIRECTIVES], [1],
+ [Define if the vasnprintf implementation should support GNU compatible
+ printf directives.])
+ gl_PREREQ_VASNPRINTF_DIRECTIVE_UPPERCASE_B
+])
+
# Prerequisites of lib/asnprintf.c.
+# Prerequisites of lib/asnwprintf.c.
AC_DEFUN([gl_PREREQ_ASNPRINTF],
[
])
diff --git a/gnulib-m4/visibility.m4 b/gnulib-m4/visibility.m4
index 4a212a4e..e091f028 100644
--- a/gnulib-m4/visibility.m4
+++ b/gnulib-m4/visibility.m4
@@ -1,5 +1,5 @@
-# visibility.m4 serial 8
-dnl Copyright (C) 2005, 2008, 2010-2022 Free Software Foundation, Inc.
+# visibility.m4 serial 9
+dnl Copyright (C) 2005, 2008, 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -31,18 +31,18 @@ AC_DEFUN([gl_VISIBILITY],
dnl user has put into $CC $CFLAGS $CPPFLAGS.
AC_CACHE_CHECK([whether the -Werror option is usable],
[gl_cv_cc_vis_werror],
- [gl_save_CFLAGS="$CFLAGS"
+ [gl_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[]], [[]])],
[gl_cv_cc_vis_werror=yes],
[gl_cv_cc_vis_werror=no])
- CFLAGS="$gl_save_CFLAGS"
+ CFLAGS="$gl_saved_CFLAGS"
])
dnl Now check whether visibility declarations are supported.
AC_CACHE_CHECK([for simple visibility declarations],
[gl_cv_cc_visibility],
- [gl_save_CFLAGS="$CFLAGS"
+ [gl_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
dnl We use the option -Werror and a function dummyfunc, because on some
dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
@@ -68,7 +68,7 @@ AC_DEFUN([gl_VISIBILITY],
[[]])],
[gl_cv_cc_visibility=yes],
[gl_cv_cc_visibility=no])
- CFLAGS="$gl_save_CFLAGS"
+ CFLAGS="$gl_saved_CFLAGS"
])
if test $gl_cv_cc_visibility = yes; then
CFLAG_VISIBILITY="-fvisibility=hidden"
diff --git a/gnulib-m4/warn-on-use.m4 b/gnulib-m4/warn-on-use.m4
index a81731f3..eef3a848 100644
--- a/gnulib-m4/warn-on-use.m4
+++ b/gnulib-m4/warn-on-use.m4
@@ -1,5 +1,5 @@
-# warn-on-use.m4 serial 10
-dnl Copyright (C) 2010-2022 Free Software Foundation, Inc.
+# warn-on-use.m4 serial 11
+dnl Copyright (C) 2010-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -36,7 +36,7 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE],
dnl clang (e.g. strndup), reference ac_compile_for_check_decl instead
dnl of ac_compile. If, for whatever reason, the override of AC_PROG_CC
dnl in zzgnulib.m4 is inactive, use the original ac_compile.
- ac_save_ac_compile="$ac_compile"
+ ac_saved_ac_compile="$ac_compile"
if test -n "$ac_compile_for_check_decl"; then
ac_compile="$ac_compile_for_check_decl"
fi
@@ -46,7 +46,7 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE],
[[#undef $gl_func
(void) $gl_func;]])],
[AS_VAR_SET([gl_Symbol], [yes])], [AS_VAR_SET([gl_Symbol], [no])])])
- ac_compile="$ac_save_ac_compile"
+ ac_compile="$ac_saved_ac_compile"
AS_VAR_IF([gl_Symbol], [yes],
[AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
dnl Shortcut for an AC_CHECK_DECL invocation that may come later:
diff --git a/gnulib-m4/wchar_h.m4 b/gnulib-m4/wchar_h.m4
index 4baba1af..173f42a4 100644
--- a/gnulib-m4/wchar_h.m4
+++ b/gnulib-m4/wchar_h.m4
@@ -1,13 +1,13 @@
dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
-dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Written by Eric Blake.
-# wchar_h.m4 serial 55
+# wchar_h.m4 serial 63
AC_DEFUN_ONCE([gl_WCHAR_H],
[
@@ -86,8 +86,8 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK],
dnl z/OS when using the XPLINK object format (due to duplicate
dnl CSECT names). Instead, temporarily redefine $ac_compile so
dnl that the object file has the latter name from the start.
- save_ac_compile="$ac_compile"
- ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
+ saved_ac_compile="$ac_compile"
+ ac_compile=`echo "$saved_ac_compile" | sed s/conftest/conftest1/`
if echo '#include "conftest.c"' >conftest1.c \
&& AC_TRY_EVAL([ac_compile]); then
AC_LANG_CONFTEST([
@@ -97,7 +97,7 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK],
int zero (void) { return 0; }
]])])
dnl See note above about renaming object files.
- ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
+ ac_compile=`echo "$saved_ac_compile" | sed s/conftest/conftest2/`
if echo '#include "conftest.c"' >conftest2.c \
&& AC_TRY_EVAL([ac_compile]); then
if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
@@ -107,7 +107,7 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK],
fi
fi
fi
- ac_compile="$save_ac_compile"
+ ac_compile="$saved_ac_compile"
rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext
;;
esac
@@ -147,6 +147,7 @@ AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSZERO])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS])
@@ -185,6 +186,7 @@ AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WGETCWD])
dnl Support Microsoft deprecated alias function names by default.
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1])
])
@@ -253,5 +255,10 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH])
REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH])
REPLACE_WCSFTIME=0; AC_SUBST([REPLACE_WCSFTIME])
+ REPLACE_WCSCMP=0; AC_SUBST([REPLACE_WCSCMP])
+ REPLACE_WCSNCMP=0; AC_SUBST([REPLACE_WCSNCMP])
+ REPLACE_WCSSTR=0; AC_SUBST([REPLACE_WCSSTR])
REPLACE_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK])
+ REPLACE_WMEMCMP=0; AC_SUBST([REPLACE_WMEMCMP])
+ REPLACE_WMEMPCPY=0; AC_SUBST([REPLACE_WMEMPCPY])
])
diff --git a/gnulib-m4/wchar_t.m4 b/gnulib-m4/wchar_t.m4
index 268e3e51..94353571 100644
--- a/gnulib-m4/wchar_t.m4
+++ b/gnulib-m4/wchar_t.m4
@@ -1,5 +1,5 @@
# wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/wcrtomb.m4 b/gnulib-m4/wcrtomb.m4
index fee21d7e..f00f6452 100644
--- a/gnulib-m4/wcrtomb.m4
+++ b/gnulib-m4/wcrtomb.m4
@@ -1,5 +1,5 @@
-# wcrtomb.m4 serial 17
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# wcrtomb.m4 serial 19
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -82,9 +82,11 @@ int main ()
changequote(,)dnl
case "$host_os" in
# Guess no on AIX 4, OSF/1, Solaris, native Windows.
- aix4* | osf* | solaris* | mingw*) gl_cv_func_wcrtomb_retval="guessing no" ;;
+ aix4* | osf* | solaris* | mingw* | windows*)
+ gl_cv_func_wcrtomb_retval="guessing no" ;;
# Guess yes otherwise.
- *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
+ *)
+ gl_cv_func_wcrtomb_retval="guessing yes" ;;
esac
changequote([,])dnl
if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
@@ -97,12 +99,14 @@ changequote([,])dnl
int main ()
{
int result = 0;
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
+ if (strcmp ("$LOCALE_FR", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 1;
}
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+ if (strcmp ("$LOCALE_FR_UTF8", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 2;
@@ -113,12 +117,14 @@ int main ()
result |= 2;
}
}
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
+ if (strcmp ("$LOCALE_JA", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_JA") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 4;
}
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
+ if (strcmp ("$LOCALE_ZH_CN", "none") != 0
+ && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
{
if (wcrtomb (NULL, 0, NULL) != 1)
result |= 8;
diff --git a/gnulib-m4/wctob.m4 b/gnulib-m4/wctob.m4
index af172cd1..323b1ede 100644
--- a/gnulib-m4/wctob.m4
+++ b/gnulib-m4/wctob.m4
@@ -1,5 +1,5 @@
-# wctob.m4 serial 13
-dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
+# wctob.m4 serial 14
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -32,7 +32,7 @@ changequote(,)dnl
solaris2.[1-9] | solaris2.[1-9].* | cygwin*)
gl_cv_func_wctob_works="guessing no" ;;
# Guess no on native Windows.
- mingw*)
+ mingw* | windows*)
gl_cv_func_wctob_works="guessing no" ;;
# Guess yes otherwise.
*) gl_cv_func_wctob_works="guessing yes" ;;
diff --git a/gnulib-m4/wctomb.m4 b/gnulib-m4/wctomb.m4
index 12329d8e..d8f36527 100644
--- a/gnulib-m4/wctomb.m4
+++ b/gnulib-m4/wctomb.m4
@@ -1,5 +1,5 @@
# wctomb.m4 serial 2
-dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/wctype_h.m4 b/gnulib-m4/wctype_h.m4
index 702cb39c..c8993949 100644
--- a/gnulib-m4/wctype_h.m4
+++ b/gnulib-m4/wctype_h.m4
@@ -1,8 +1,8 @@
-# wctype_h.m4 serial 30
+# wctype_h.m4 serial 33
dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -178,6 +178,7 @@ AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS],
m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWPUNCT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE])
@@ -196,5 +197,8 @@ AC_DEFUN([gl_WCTYPE_H_DEFAULTS],
HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T])
REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK])
REPLACE_ISWDIGIT=0; AC_SUBST([REPLACE_ISWDIGIT])
+ REPLACE_ISWPUNCT=0; AC_SUBST([REPLACE_ISWPUNCT])
REPLACE_ISWXDIGIT=0; AC_SUBST([REPLACE_ISWXDIGIT])
+ REPLACE_WCTRANS=0; AC_SUBST([REPLACE_WCTRANS])
+ REPLACE_WCTYPE=0; AC_SUBST([REPLACE_WCTYPE])
])
diff --git a/gnulib-m4/wcwidth.m4 b/gnulib-m4/wcwidth.m4
index 9dd59579..53a26c7d 100644
--- a/gnulib-m4/wcwidth.m4
+++ b/gnulib-m4/wcwidth.m4
@@ -1,5 +1,5 @@
-# wcwidth.m4 serial 34
-dnl Copyright (C) 2006-2022 Free Software Foundation, Inc.
+# wcwidth.m4 serial 36
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -41,9 +41,9 @@ AC_DEFUN([gl_FUNC_WCWIDTH],
if test $ac_cv_func_wcwidth = yes || test $gl_cv_func_wcwidth_macro = yes; then
HAVE_WCWIDTH=1
dnl On Mac OS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
- dnl On NetBSD 9.0, OpenBSD 5.0, MidnightBSD 1.1,
+ dnl On macOS 12.5, NetBSD 9.0, OpenBSD 5.0, MidnightBSD 1.1,
dnl wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1.
- dnl On NetBSD 9.0, MidnightBSD 1.1, OSF/1 5.1,
+ dnl On macOS 12.5, NetBSD 9.0, MidnightBSD 1.1, OSF/1 5.1,
dnl wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1.
dnl On OpenBSD 5.8, wcwidth(0xFF1A) (FULLWIDTH COLON) returns 0.
dnl This leads to bugs in 'ls' (coreutils).
@@ -86,13 +86,13 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";;
- # Guess yes on musl systems.
- *-musl*) gl_cv_func_wcwidth_works="guessing yes";;
- # Guess yes on AIX 7 systems.
- aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
- *) gl_cv_func_wcwidth_works="$gl_cross_guess_normal";;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";;
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_wcwidth_works="guessing yes";;
+ # Guess yes on AIX 7 systems.
+ aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+ *) gl_cv_func_wcwidth_works="$gl_cross_guess_normal";;
esac
changequote([,])dnl
])
diff --git a/gnulib-m4/wint_t.m4 b/gnulib-m4/wint_t.m4
index adc58661..21350f56 100644
--- a/gnulib-m4/wint_t.m4
+++ b/gnulib-m4/wint_t.m4
@@ -1,5 +1,5 @@
# wint_t.m4 serial 11
-dnl Copyright (C) 2003, 2007-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/xalloc.m4 b/gnulib-m4/xalloc.m4
index 17a9c06d..f60ea3d5 100644
--- a/gnulib-m4/xalloc.m4
+++ b/gnulib-m4/xalloc.m4
@@ -1,5 +1,5 @@
# xalloc.m4 serial 18
-dnl Copyright (C) 2002-2006, 2009-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/xsize.m4 b/gnulib-m4/xsize.m4
index 0109049e..6125f9c1 100644
--- a/gnulib-m4/xsize.m4
+++ b/gnulib-m4/xsize.m4
@@ -1,5 +1,5 @@
# xsize.m4 serial 5
-dnl Copyright (C) 2003-2004, 2008-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gnulib-m4/year2038.m4 b/gnulib-m4/year2038.m4
deleted file mode 100644
index 2e4427e6..00000000
--- a/gnulib-m4/year2038.m4
+++ /dev/null
@@ -1,132 +0,0 @@
-# year2038.m4 serial 8
-dnl Copyright (C) 2017-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Attempt to ensure that 'time_t' can go past the year 2038 and that
-dnl the functions 'time', 'stat', etc. work with post-2038 timestamps.
-
-m4_ifdef([AC_SYS_YEAR2038], [
- AC_DEFUN([gl_YEAR2038_EARLY])
- AC_DEFUN([gl_YEAR2038], [AC_SYS_YEAR2038])
- AC_DEFUN([gl_YEAR2038_BODY], [_AC_SYS_YEAR2038])
-], [
-
-AC_DEFUN([gl_YEAR2038_EARLY],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- case "$host_os" in
- mingw*)
- AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
- [For 64-bit time_t on 32-bit mingw.])
- ;;
- esac
-])
-
-# gl_YEAR2038_TEST_INCLUDES
-# -------------------------
-AC_DEFUN([gl_YEAR2038_TEST_INCLUDES],
-[[
- #include <time.h>
- /* Check that time_t can represent 2**32 - 1 correctly. */
- #define LARGE_TIME_T \\
- ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
- int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
- && LARGE_TIME_T % 65537 == 0)
- ? 1 : -1];
-]])
-
-# gl_YEAR2038_BODY(REQUIRE-YEAR2038-SAFE)
------------------------------------------
-AC_DEFUN([gl_YEAR2038_BODY],
-[
- AC_ARG_ENABLE([year2038],
- [ --disable-year2038 omit support for timestamps past the year 2038])
- AS_IF([test "$enable_year2038" != no],
- [
- dnl On many systems, time_t is already a 64-bit type.
- dnl On those systems where time_t is still 32-bit, it requires kernel
- dnl and libc support to make it 64-bit. For glibc 2.34 and later on Linux,
- dnl defining _TIME_BITS=64 and _FILE_OFFSET_BITS=64 is needed on x86 and ARM.
- dnl
- dnl On native Windows, the system include files define types __time32_t
- dnl and __time64_t. By default, time_t is an alias of
- dnl - __time32_t on 32-bit mingw,
- dnl - __time64_t on 64-bit mingw and on MSVC (since MSVC 8).
- dnl But when compiling with -D__MINGW_USE_VC2005_COMPAT, time_t is an
- dnl alias of __time64_t.
- dnl And when compiling with -D_USE_32BIT_TIME_T, time_t is an alias of
- dnl __time32_t.
- AC_CACHE_CHECK([for time_t past the year 2038], [gl_cv_type_time_t_y2038],
- [AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([gl_YEAR2038_TEST_INCLUDES])],
- [gl_cv_type_time_t_y2038=yes], [gl_cv_type_time_t_y2038=no])
- ])
- if test "$gl_cv_type_time_t_y2038" = no; then
- AC_CACHE_CHECK([for 64-bit time_t with _TIME_BITS=64],
- [gl_cv_type_time_t_bits_macro],
- [AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[#define _TIME_BITS 64
- #define _FILE_OFFSET_BITS 64
- ]gl_YEAR2038_TEST_INCLUDES])],
- [gl_cv_type_time_t_bits_macro=yes],
- [gl_cv_type_time_t_bits_macro=no])
- ])
- if test "$gl_cv_type_time_t_bits_macro" = yes; then
- AC_DEFINE([_TIME_BITS], [64],
- [Number of bits in a timestamp, on hosts where this is settable.])
- dnl AC_SYS_LARGFILE also defines this; it's OK if we do too.
- AC_DEFINE([_FILE_OFFSET_BITS], [64],
- [Number of bits in a file offset, on hosts where this is settable.])
- gl_cv_type_time_t_y2038=yes
- fi
- fi
- if test $gl_cv_type_time_t_y2038 = no; then
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifdef _USE_32BIT_TIME_T
- int ok;
- #else
- error fail
- #endif
- ]])],
- [AC_MSG_FAILURE(
- [The 'time_t' type stops working after January 2038.
- Remove _USE_32BIT_TIME_T from the compiler flags.])],
- [# If not cross-compiling and $1 says we should check,
- # and 'touch' works with a large timestamp, then evidently wider time_t
- # is desired and supported, so fail and ask the builder to fix the
- # problem. Otherwise, just warn the builder.
- m4_ifval([$1],
- [if test $cross_compiling = no \
- && TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null; then
- case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in
- *'Feb 7 2106'* | *'Feb 7 17:10'*)
- AC_MSG_FAILURE(
- [The 'time_t' type stops working after January 2038,
- and your system appears to support a wider 'time_t'.
- Try configuring with 'CC="${CC} -m64"'.
- To build with a 32-bit time_t anyway (not recommended),
- configure with '--disable-year2038'.]);;
- esac
- rm -f conftest.time
- fi])
- if test "$gl_warned_about_y2038" != yes; then
- AC_MSG_WARN(
- [The 'time_t' type stops working after January 2038,
- and this package needs a wider 'time_t' type
- if there is any way to access timestamps after that.
- Configure with 'CC="${CC} -m64"' perhaps?])
- gl_warned_about_y2038=yes
- fi
- ])
- fi])
-])
-
-AC_DEFUN([gl_YEAR2038],
-[
- gl_YEAR2038_BODY([require-year2038-safe])
-])
-
-]) # m4_ifndef AC_SYS_YEAR2038
diff --git a/gnulib-m4/yield.m4 b/gnulib-m4/yield.m4
index 58bdb519..cbed8725 100644
--- a/gnulib-m4/yield.m4
+++ b/gnulib-m4/yield.m4
@@ -1,5 +1,5 @@
-# yield.m4 serial 4
-dnl Copyright (C) 2005-2022 Free Software Foundation, Inc.
+# yield.m4 serial 5
+dnl Copyright (C) 2005-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,7 +10,7 @@ AC_DEFUN([gl_YIELD],
AC_REQUIRE([gl_THREADLIB])
if test $gl_threads_api = posix; then
- YIELD_LIB="$LIB_SCHED_YIELD"
+ YIELD_LIB="$SCHED_YIELD_LIB"
else
YIELD_LIB=
fi
diff --git a/gnulib-m4/zzgnulib.m4 b/gnulib-m4/zzgnulib.m4
index fd73a201..eed5ecbf 100644
--- a/gnulib-m4/zzgnulib.m4
+++ b/gnulib-m4/zzgnulib.m4
@@ -1,5 +1,5 @@
# zzgnulib.m4 serial 1
-dnl Copyright (C) 2020-2022 Free Software Foundation, Inc.
+dnl Copyright (C) 2020-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 382d2bcd..acab040f 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the lib subdirectory of GNU libunistring.
-## Copyright (C) 2009-2022 Free Software Foundation, Inc.
+## Copyright (C) 2009-2024 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -39,6 +39,7 @@ nodist_include_HEADERS = \
unigbrk.h \
uniwbrk.h \
unilbrk.h \
+ unimetadata.h \
uninorm.h \
unicase.h
@@ -216,6 +217,7 @@ HEADERS_WITH_EXTERNS = \
unigbrk.h \
uniwbrk.h \
unilbrk.h \
+ unimetadata.h \
uninorm.h \
unicase.h \
localcharset.h \
@@ -336,9 +338,9 @@ AM_CPPFLAGS += -DDEPENDS_ON_LIBICONV=1
# Libtool's library version information for libunistring.
# See the libtool documentation, section "Library interface versions".
-LTV_CURRENT=5
+LTV_CURRENT=6
LTV_REVISION=0
-LTV_AGE=0
+LTV_AGE=1
# How to build libunistring.la.
libunistring_la_LDFLAGS += \
diff --git a/lib/Makefile.gnulib b/lib/Makefile.gnulib
index 70583685..2febe93e 100644
--- a/lib/Makefile.gnulib
+++ b/lib/Makefile.gnulib
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,6 +35,7 @@
# --no-conditional-dependencies \
# --libtool \
# --macro-prefix=gl \
+# gitlog-to-changelog \
# relocatable-lib-lgpl \
# unicase/base \
# unicase/empty-prefix-context \
@@ -138,6 +139,7 @@
# unictype/ctype-xdigit \
# unictype/decimal-digit \
# unictype/digit \
+# unictype/incb-all \
# unictype/joininggroup-all \
# unictype/joiningtype-all \
# unictype/mirror \
@@ -171,6 +173,8 @@
# unilbrk/u8-width-linebreaks \
# unilbrk/ulc-possible-linebreaks \
# unilbrk/ulc-width-linebreaks \
+# unimetadata/base \
+# unimetadata/u-version \
# uniname/base \
# uniname/uniname \
# uninorm/base \
@@ -268,6 +272,7 @@
# unistr/u16-mbtoucr \
# unistr/u16-move \
# unistr/u16-next \
+# unistr/u16-pcpy \
# unistr/u16-prev \
# unistr/u16-set \
# unistr/u16-startswith \
@@ -309,6 +314,7 @@
# unistr/u32-mbtoucr \
# unistr/u32-move \
# unistr/u32-next \
+# unistr/u32-pcpy \
# unistr/u32-prev \
# unistr/u32-set \
# unistr/u32-startswith \
@@ -350,6 +356,7 @@
# unistr/u8-mbtoucr \
# unistr/u8-move \
# unistr/u8-next \
+# unistr/u8-pcpy \
# unistr/u8-prev \
# unistr/u8-set \
# unistr/u8-startswith \
@@ -405,12 +412,13 @@ libunistring_la_DEPENDENCIES = $(gl_LTLIBOBJS)
EXTRA_libunistring_la_SOURCES =
libunistring_la_LDFLAGS = $(AM_LDFLAGS)
libunistring_la_LDFLAGS += -no-undefined
+libunistring_la_LDFLAGS += $(HARD_LOCALE_LIB)
libunistring_la_LDFLAGS += $(LIBTHREAD)
-libunistring_la_LDFLAGS += $(LIB_HARD_LOCALE)
-libunistring_la_LDFLAGS += $(LIB_MBRTOWC)
-libunistring_la_LDFLAGS += $(LIB_SETLOCALE_NULL)
+libunistring_la_LDFLAGS += $(LTLIBC32CONV)
libunistring_la_LDFLAGS += $(LTLIBICONV)
libunistring_la_LDFLAGS += $(LTLIBUNISTRING)
+libunistring_la_LDFLAGS += $(MBRTOWC_LIB)
+libunistring_la_LDFLAGS += $(SETLOCALE_NULL_LIB)
libunistring_la_LDFLAGS += @INTL_MACOSX_LIBS@
## begin gnulib module absolute-header
@@ -516,6 +524,116 @@ EXTRA_DIST += c-strcaseeq.h
## end gnulib module c-strcaseeq
+## begin gnulib module c32isalnum
+
+libunistring_la_SOURCES += c32isalnum.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isalnum
+
+## begin gnulib module c32isalpha
+
+libunistring_la_SOURCES += c32isalpha.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isalpha
+
+## begin gnulib module c32isblank
+
+libunistring_la_SOURCES += c32isblank.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isblank
+
+## begin gnulib module c32iscntrl
+
+libunistring_la_SOURCES += c32iscntrl.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32iscntrl
+
+## begin gnulib module c32isdigit
+
+libunistring_la_SOURCES += c32isdigit.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isdigit
+
+## begin gnulib module c32isgraph
+
+libunistring_la_SOURCES += c32isgraph.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isgraph
+
+## begin gnulib module c32islower
+
+libunistring_la_SOURCES += c32islower.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32islower
+
+## begin gnulib module c32isprint
+
+libunistring_la_SOURCES += c32isprint.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isprint
+
+## begin gnulib module c32ispunct
+
+libunistring_la_SOURCES += c32ispunct.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32ispunct
+
+## begin gnulib module c32isspace
+
+libunistring_la_SOURCES += c32isspace.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isspace
+
+## begin gnulib module c32isupper
+
+libunistring_la_SOURCES += c32isupper.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isupper
+
+## begin gnulib module c32isxdigit
+
+libunistring_la_SOURCES += c32isxdigit.c
+
+EXTRA_DIST += c32is-impl.h
+
+## end gnulib module c32isxdigit
+
+## begin gnulib module c32tolower
+
+libunistring_la_SOURCES += c32tolower.c
+
+EXTRA_DIST += c32to-impl.h
+
+## end gnulib module c32tolower
+
+## begin gnulib module c32width
+
+libunistring_la_SOURCES += c32width.c
+
+## end gnulib module c32width
+
## begin gnulib module errno
BUILT_SOURCES += $(ERRNO_H)
@@ -651,6 +769,13 @@ gl_V_at = $(AM_V_GEN)
## end gnulib module gen-header
+## begin gnulib module gitlog-to-changelog
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog
+
+## end gnulib module gitlog-to-changelog
+
## begin gnulib module gperf
GPERF = gperf
@@ -775,6 +900,8 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
+ -e 's/@''REPLACE_IMAXABS''@/$(REPLACE_IMAXABS)/g' \
+ -e 's/@''REPLACE_IMAXDIV''@/$(REPLACE_IMAXDIV)/g' \
-e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
-e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
-e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
@@ -835,6 +962,14 @@ endif
## end gnulib module iswdigit
+## begin gnulib module iswpunct
+
+if GL_COND_OBJ_ISWPUNCT
+libunistring_la_SOURCES += iswpunct.c
+endif
+
+## end gnulib module iswpunct
+
## begin gnulib module iswxdigit
if GL_COND_OBJ_ISWXDIGIT
@@ -926,7 +1061,7 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \
-e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \
-e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \
- -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \
+ -e 's/@''GNULIB_LOCALENAME_UNSAFE''@/$(GL_GNULIB_LOCALENAME_UNSAFE)/g' \
-e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
-e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
-e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \
@@ -951,12 +1086,33 @@ EXTRA_DIST += locale.in.h
## begin gnulib module localename
-libunistring_la_SOURCES += localename.c localename-table.c
+libunistring_la_SOURCES += localename.c
-EXTRA_DIST += localename-table.h localename.h
+EXTRA_DIST += localename.h struniq.h
## end gnulib module localename
+## begin gnulib module localename-unsafe
+
+if !GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED
+libunistring_la_SOURCES += localename-unsafe.c
+endif
+libunistring_la_SOURCES += localename-table.c
+
+EXTRA_DIST += localename-table.h localename.h struniq.h
+
+## end gnulib module localename-unsafe
+
+## begin gnulib module localename-unsafe-limited
+
+if GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED
+libunistring_la_SOURCES += localename-unsafe.c
+endif
+
+EXTRA_DIST += localename.h
+
+## end gnulib module localename-unsafe-limited
+
## begin gnulib module lock
libunistring_la_SOURCES += glthread/lock.h glthread/lock.c
@@ -1038,8 +1194,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_HYPOT''@/$(GL_GNULIB_HYPOT)/g' \
-e 's/@''GNULIB_HYPOTF''@/$(GL_GNULIB_HYPOTF)/g' \
-e 's/@''GNULIB_HYPOTL''@/$(GL_GNULIB_HYPOTL)/g' \
- < $(srcdir)/math.in.h | \
- sed -e 's/@''GNULIB_ILOGB''@/$(GL_GNULIB_ILOGB)/g' \
+ < $(srcdir)/math.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_ILOGB''@/$(GL_GNULIB_ILOGB)/g' \
-e 's/@''GNULIB_ILOGBF''@/$(GL_GNULIB_ILOGBF)/g' \
-e 's/@''GNULIB_ILOGBL''@/$(GL_GNULIB_ILOGBL)/g' \
-e 's/@''GNULIB_ISFINITE''@/$(GL_GNULIB_ISFINITE)/g' \
@@ -1048,6 +1205,7 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_ISNANF''@/$(GL_GNULIB_ISNANF)/g' \
-e 's/@''GNULIB_ISNAND''@/$(GL_GNULIB_ISNAND)/g' \
-e 's/@''GNULIB_ISNANL''@/$(GL_GNULIB_ISNANL)/g' \
+ -e 's/@''GNULIB_LDEXP''@/$(GL_GNULIB_LDEXP)/g' \
-e 's/@''GNULIB_LDEXPF''@/$(GL_GNULIB_LDEXPF)/g' \
-e 's/@''GNULIB_LDEXPL''@/$(GL_GNULIB_LDEXPL)/g' \
-e 's/@''GNULIB_LOG''@/$(GL_GNULIB_LOG)/g' \
@@ -1090,14 +1248,18 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_TRUNC''@/$(GL_GNULIB_TRUNC)/g' \
-e 's/@''GNULIB_TRUNCF''@/$(GL_GNULIB_TRUNCF)/g' \
-e 's/@''GNULIB_TRUNCL''@/$(GL_GNULIB_TRUNCL)/g' \
+ -e 's/@''GNULIB_TOTALORDER''@/$(GL_GNULIB_TOTALORDER)/g' \
+ -e 's/@''GNULIB_TOTALORDERF''@/$(GL_GNULIB_TOTALORDERF)/g' \
+ -e 's/@''GNULIB_TOTALORDERL''@/$(GL_GNULIB_TOTALORDERL)/g' \
-e 's/@''GNULIB_MDA_J0''@/$(GL_GNULIB_MDA_J0)/g' \
-e 's/@''GNULIB_MDA_J1''@/$(GL_GNULIB_MDA_J1)/g' \
-e 's/@''GNULIB_MDA_JN''@/$(GL_GNULIB_MDA_JN)/g' \
-e 's/@''GNULIB_MDA_Y0''@/$(GL_GNULIB_MDA_Y0)/g' \
-e 's/@''GNULIB_MDA_Y1''@/$(GL_GNULIB_MDA_Y1)/g' \
-e 's/@''GNULIB_MDA_YN''@/$(GL_GNULIB_MDA_YN)/g' \
- | \
- sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
-e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
-e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \
-e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \
@@ -1157,6 +1319,11 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \
-e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \
-e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \
+ -e 's|@''HAVE_TOTALORDER''@|$(HAVE_TOTALORDER)|g' \
+ -e 's|@''HAVE_TOTALORDERF''@|$(HAVE_TOTALORDERF)|g' \
+ -e 's|@''HAVE_TOTALORDERL''@|$(HAVE_TOTALORDERL)|g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
-e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \
-e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \
-e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \
@@ -1193,8 +1360,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \
-e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \
-e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \
- | \
- sed -e 's|@''REPLACE_ACOSF''@|$(REPLACE_ACOSF)|g' \
+ < $@-t3 > $@-t4
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_ACOSF''@|$(REPLACE_ACOSF)|g' \
-e 's|@''REPLACE_ASINF''@|$(REPLACE_ASINF)|g' \
-e 's|@''REPLACE_ATANF''@|$(REPLACE_ATANF)|g' \
-e 's|@''REPLACE_ATAN2F''@|$(REPLACE_ATAN2F)|g' \
@@ -1236,6 +1404,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \
-e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \
-e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
+ < $@-t4 > $@-t5
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_LDEXP''@|$(REPLACE_LDEXP)|g' \
-e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \
-e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \
-e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \
@@ -1271,15 +1442,19 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \
-e 's|@''REPLACE_TANF''@|$(REPLACE_TANF)|g' \
-e 's|@''REPLACE_TANHF''@|$(REPLACE_TANHF)|g' \
+ -e 's|@''REPLACE_TOTALORDER''@|$(REPLACE_TOTALORDER)|g' \
+ -e 's|@''REPLACE_TOTALORDERF''@|$(REPLACE_TOTALORDERF)|g' \
+ -e 's|@''REPLACE_TOTALORDERL''@|$(REPLACE_TOTALORDERL)|g' \
-e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \
-e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \
-e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += math.h math.h-t
+ < $@-t5 > $@-t6
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3 $@-t4 $@-t5
+ $(AM_V_at)mv $@-t6 $@
+MOSTLYCLEANFILES += math.h math.h-t1 math.h-t2 math.h-t3 math.h-t4 math.h-t5 math.h-t6
EXTRA_DIST += math.in.h
@@ -1293,11 +1468,23 @@ EXTRA_DIST += mbchar.h
## end gnulib module mbchar
-## begin gnulib module mbiter
+## begin gnulib module mbiterf
+
+libunistring_la_SOURCES += mbiterf.h mbiterf.c
+
+## end gnulib module mbiterf
+
+## begin gnulib module mbrtoc32
+
+if GL_COND_OBJ_MBRTOC32
+libunistring_la_SOURCES += mbrtoc32.c
+endif
+
+EXTRA_DIST += lc-charset-dispatch.c lc-charset-dispatch.h mbrtowc-impl-utf8.h mbrtowc-impl.h mbtowc-lock.c mbtowc-lock.h windows-initguard.h
-libunistring_la_SOURCES += mbiter.h mbiter.c
+EXTRA_libunistring_la_SOURCES += lc-charset-dispatch.c mbtowc-lock.c
-## end gnulib module mbiter
+## end gnulib module mbrtoc32
## begin gnulib module mbrtowc
@@ -1325,6 +1512,12 @@ libunistring_la_SOURCES += mbsnlen.c
## end gnulib module mbsnlen
+## begin gnulib module mbszero
+
+libunistring_la_SOURCES += mbszero.c
+
+## end gnulib module mbszero
+
## begin gnulib module memchr
if GL_COND_OBJ_MEMCHR
@@ -1388,6 +1581,14 @@ EXTRA_DIST += setlocale_null.h windows-initguard.h
## end gnulib module setlocale-null
+## begin gnulib module setlocale-null-unlocked
+
+libunistring_la_SOURCES += setlocale_null-unlocked.c
+
+EXTRA_DIST += setlocale_null.h
+
+## end gnulib module setlocale-null-unlocked
+
## begin gnulib module signbit
if GL_COND_OBJ_SIGNBIT3
@@ -1572,10 +1773,12 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \
-e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
-e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \
+ -e 's/@''GNULIB_GETPROGNAME''@/$(GL_GNULIB_GETPROGNAME)/g' \
-e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \
-e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \
-e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \
-e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \
-e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \
-e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \
-e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \
@@ -1588,6 +1791,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \
-e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \
-e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \
+ -e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \
-e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \
-e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \
@@ -1598,6 +1802,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \
-e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \
-e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \
+ -e 's/@''GNULIB_STRTOF''@/$(GL_GNULIB_STRTOF)/g' \
-e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \
-e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \
-e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \
@@ -1612,8 +1817,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \
-e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \
-e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \
- < $(srcdir)/stdlib.in.h | \
- sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ < $(srcdir)/stdlib.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
-e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
-e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
@@ -1621,6 +1827,8 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
-e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
+ -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
@@ -1647,6 +1855,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
-e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
-e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+ -e 's|@''HAVE_STRTOF''@|$(HAVE_STRTOF)|g' \
-e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \
-e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
-e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
@@ -1656,21 +1865,33 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \
-e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \
-e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \
-e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \
-e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+ -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \
+ -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \
+ -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \
-e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
-e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
-e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+ -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+ -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+ -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
+ -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \
+ -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \
-e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
-e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
+ -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
-e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
@@ -1680,6 +1901,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
-e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+ -e 's|@''REPLACE_STRTOF''@|$(REPLACE_STRTOF)|g' \
-e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \
-e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
-e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \
@@ -1691,9 +1913,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e '/definition of _Noreturn/r $(_NORETURN_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += stdlib.h stdlib.h-t
+ < $@-t2 > $@-t3
+ $(AM_V_at)rm -f $@-t1 $@-t2
+ $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += stdlib.h stdlib.h-t1 stdlib.h-t2 stdlib.h-t3
EXTRA_DIST += stdlib.in.h
@@ -1709,9 +1932,7 @@ EXTRA_DIST += streq.h
## begin gnulib module striconveh
libunistring_la_SOURCES += striconveh.h striconveh.c
-if GL_COND_LIBTOOL
libunistring_la_LDFLAGS += $(LTLIBICONV)
-endif
EXTRA_DIST += iconveh.h
@@ -1757,6 +1978,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \
-e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \
-e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_GNULIB_MEMSET_EXPLICIT)/g' \
-e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \
-e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \
-e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \
@@ -1780,14 +2002,16 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \
-e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \
-e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
- < $(srcdir)/string.in.h | \
- sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+ < $(srcdir)/string.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
-e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
-e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
-e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+ -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \
-e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
-e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
@@ -1808,7 +2032,10 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
+ -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
+ -e 's|@''REPLACE_MEMSET_EXPLICIT''@|$(REPLACE_MEMSET_EXPLICIT)|g' \
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+ -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
-e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
@@ -1822,13 +2049,15 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
-e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+ -e 's|@''REPLACE_STRVERSCMP''@|$(REPLACE_STRVERSCMP)|g' \
-e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += string.h string.h-t
+ < $@-t1 > $@-t2
+ $(AM_V_at)rm -f $@-t1
+ $(AM_V_at)mv $@-t2 $@
+MOSTLYCLEANFILES += string.h string.h-t1 string.h-t2
EXTRA_DIST += string.in.h
@@ -1897,12 +2126,96 @@ libunistring_la_SOURCES += glthread/threadlib.c
## end gnulib module threadlib
+## begin gnulib module uchar
+
+BUILT_SOURCES += uchar.h
+
+uchar.h: uchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's/@''HAVE_UCHAR_H''@/$(HAVE_UCHAR_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_UCHAR_H''@|$(NEXT_UCHAR_H)|g' \
+ -e 's|@''CXX_HAS_CHAR8_TYPE''@|$(CXX_HAS_CHAR8_TYPE)|g' \
+ -e 's|@''CXX_HAS_UCHAR_TYPES''@|$(CXX_HAS_UCHAR_TYPES)|g' \
+ -e 's|@''SMALL_WCHAR_T''@|$(SMALL_WCHAR_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR8_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR8_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR16_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR16_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR32_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR32_T)|g' \
+ -e 's/@''GNULIB_BTOC32''@/$(GL_GNULIB_BTOC32)/g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_C32ISALNUM''@/$(GL_GNULIB_C32ISALNUM)/g' \
+ -e 's/@''GNULIB_C32ISALPHA''@/$(GL_GNULIB_C32ISALPHA)/g' \
+ -e 's/@''GNULIB_C32ISBLANK''@/$(GL_GNULIB_C32ISBLANK)/g' \
+ -e 's/@''GNULIB_C32ISCNTRL''@/$(GL_GNULIB_C32ISCNTRL)/g' \
+ -e 's/@''GNULIB_C32ISDIGIT''@/$(GL_GNULIB_C32ISDIGIT)/g' \
+ -e 's/@''GNULIB_C32ISGRAPH''@/$(GL_GNULIB_C32ISGRAPH)/g' \
+ -e 's/@''GNULIB_C32ISLOWER''@/$(GL_GNULIB_C32ISLOWER)/g' \
+ -e 's/@''GNULIB_C32ISPRINT''@/$(GL_GNULIB_C32ISPRINT)/g' \
+ -e 's/@''GNULIB_C32ISPUNCT''@/$(GL_GNULIB_C32ISPUNCT)/g' \
+ -e 's/@''GNULIB_C32ISSPACE''@/$(GL_GNULIB_C32ISSPACE)/g' \
+ -e 's/@''GNULIB_C32ISUPPER''@/$(GL_GNULIB_C32ISUPPER)/g' \
+ -e 's/@''GNULIB_C32ISXDIGIT''@/$(GL_GNULIB_C32ISXDIGIT)/g' \
+ -e 's/@''GNULIB_C32TOLOWER''@/$(GL_GNULIB_C32TOLOWER)/g' \
+ -e 's/@''GNULIB_C32TOUPPER''@/$(GL_GNULIB_C32TOUPPER)/g' \
+ -e 's/@''GNULIB_C32WIDTH''@/$(GL_GNULIB_C32WIDTH)/g' \
+ -e 's/@''GNULIB_C32RTOMB''@/$(GL_GNULIB_C32RTOMB)/g' \
+ -e 's/@''GNULIB_C32SNRTOMBS''@/$(GL_GNULIB_C32SNRTOMBS)/g' \
+ -e 's/@''GNULIB_C32SRTOMBS''@/$(GL_GNULIB_C32SRTOMBS)/g' \
+ -e 's/@''GNULIB_C32STOMBS''@/$(GL_GNULIB_C32STOMBS)/g' \
+ -e 's/@''GNULIB_C32SWIDTH''@/$(GL_GNULIB_C32SWIDTH)/g' \
+ -e 's/@''GNULIB_C32TOB''@/$(GL_GNULIB_C32TOB)/g' \
+ -e 's/@''GNULIB_C32_APPLY_MAPPING''@/$(GL_GNULIB_C32_APPLY_MAPPING)/g' \
+ -e 's/@''GNULIB_C32_APPLY_TYPE_TEST''@/$(GL_GNULIB_C32_APPLY_TYPE_TEST)/g' \
+ -e 's/@''GNULIB_C32_GET_MAPPING''@/$(GL_GNULIB_C32_GET_MAPPING)/g' \
+ -e 's/@''GNULIB_C32_GET_TYPE_TEST''@/$(GL_GNULIB_C32_GET_TYPE_TEST)/g' \
+ -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \
+ -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \
+ -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \
+ -e 's/@''GNULIB_MBRTOC16''@/$(GL_GNULIB_MBRTOC16)/g' \
+ -e 's/@''GNULIB_MBRTOC32''@/$(GL_GNULIB_MBRTOC32)/g' \
+ -e 's/@''GNULIB_MBSNRTOC32S''@/$(GL_GNULIB_MBSNRTOC32S)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSRTOC32S''@/$(GL_GNULIB_MBSRTOC32S)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSTOC32S''@/$(GL_GNULIB_MBSTOC32S)/g' \
+ -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \
+ -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \
+ -e 's|@''HAVE_C32RTOMB''@|$(HAVE_C32RTOMB)|g' \
+ -e 's|@''HAVE_MBRTOC16''@|$(HAVE_MBRTOC16)|g' \
+ -e 's|@''HAVE_MBRTOC32''@|$(HAVE_MBRTOC32)|g' \
+ -e 's|@''REPLACE_C32RTOMB''@|$(REPLACE_C32RTOMB)|g' \
+ -e 's|@''REPLACE_MBRTOC16''@|$(REPLACE_MBRTOC16)|g' \
+ -e 's|@''REPLACE_MBRTOC32''@|$(REPLACE_MBRTOC32)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ $(srcdir)/uchar.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += uchar.h uchar.h-t
+
+EXTRA_DIST += uchar.in.h
+
+## end gnulib module uchar
+
## begin gnulib module unicase/base
BUILT_SOURCES += $(LIBUNISTRING_UNICASE_H)
unicase.h: unicase.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unicase.in.h
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE''@/$(GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE''@/$(GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE)/g' \
+ $(srcdir)/unicase.in.h > $@-t
$(AM_V_at)mv $@-t $@
MOSTLYCLEANFILES += unicase.h unicase.h-t
@@ -2774,9 +3087,153 @@ endif
BUILT_SOURCES += $(LIBUNISTRING_UNICTYPE_H)
unictype.h: unictype.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unictype.in.h
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += unictype.h unictype.h-t
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE)/g' \
+ < $(srcdir)/unictype.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE)/g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE)/g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE)/g' \
+ < $@-t3 > $@-t4
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+ $(AM_V_at)mv $@-t4 $@
+MOSTLYCLEANFILES += unictype.h unictype.h-t1 unictype.h-t2 unictype.h-t3 unictype.h-t4
EXTRA_DIST += unictype.in.h
@@ -3286,9 +3743,7 @@ endif
## begin gnulib module unictype/category-none
-if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE
libunistring_la_SOURCES += unictype/categ_none.c
-endif
## end gnulib module unictype/category-none
@@ -3505,6 +3960,45 @@ EXTRA_DIST += unictype/digit.h
## end gnulib module unictype/digit
+## begin gnulib module unictype/incb-byname
+
+if LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME
+libunistring_la_SOURCES += unictype/incb_byname.c
+endif
+
+$(srcdir)/unictype/incb_byname.h: $(srcdir)/unictype/incb_byname.gperf
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/incb_byname.gperf > $(srcdir)/unictype/incb_byname.h-t1 \
+ && sed -e 's/^const/static const/' < $(srcdir)/unictype/incb_byname.h-t1 > $(srcdir)/unictype/incb_byname.h-t2 \
+ && mv $(srcdir)/unictype/incb_byname.h-t2 $(srcdir)/unictype/incb_byname.h
+BUILT_SOURCES += unictype/incb_byname.h
+MOSTLYCLEANFILES += unictype/incb_byname.h-t1 unictype/incb_byname.h-t2
+MAINTAINERCLEANFILES += unictype/incb_byname.h
+EXTRA_DIST += unictype/incb_byname.h
+
+EXTRA_DIST += unictype/incb_byname.gperf
+
+## end gnulib module unictype/incb-byname
+
+## begin gnulib module unictype/incb-name
+
+if LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME
+libunistring_la_SOURCES += unictype/incb_name.c
+endif
+
+EXTRA_DIST += unictype/incb_name.h
+
+## end gnulib module unictype/incb-name
+
+## begin gnulib module unictype/incb-of
+
+if LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF
+libunistring_la_SOURCES += unictype/incb_of.c
+endif
+
+EXTRA_DIST += unictype/incb_of.h
+
+## end gnulib module unictype/incb-of
+
## begin gnulib module unictype/joininggroup-byname
if LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME
@@ -4098,6 +4592,26 @@ EXTRA_DIST += unictype/bitmap.h unictype/pr_hyphen.h
## end gnulib module unictype/property-hyphen
+## begin gnulib module unictype/property-id-compat-math-continue
+
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE
+libunistring_la_SOURCES += unictype/pr_id_compat_math_continue.c
+endif
+
+EXTRA_DIST += unictype/bitmap.h unictype/pr_id_compat_math_continue.h
+
+## end gnulib module unictype/property-id-compat-math-continue
+
+## begin gnulib module unictype/property-id-compat-math-start
+
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START
+libunistring_la_SOURCES += unictype/pr_id_compat_math_start.c
+endif
+
+EXTRA_DIST += unictype/bitmap.h unictype/pr_id_compat_math_start.h
+
+## end gnulib module unictype/property-id-compat-math-start
+
## begin gnulib module unictype/property-id-continue
if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE
@@ -4148,6 +4662,14 @@ EXTRA_DIST += unictype/bitmap.h unictype/pr_ids_trinary_operator.h
## end gnulib module unictype/property-ids-trinary-operator
+## begin gnulib module unictype/property-ids-unary-operator
+
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR
+libunistring_la_SOURCES += unictype/pr_ids_unary_operator.c
+endif
+
+## end gnulib module unictype/property-ids-unary-operator
+
## begin gnulib module unictype/property-ignorable-control
if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL
@@ -4378,6 +4900,16 @@ EXTRA_DIST += unictype/bitmap.h unictype/pr_pattern_white_space.h
## end gnulib module unictype/property-pattern-white-space
+## begin gnulib module unictype/property-prepended-concatenation-mark
+
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK
+libunistring_la_SOURCES += unictype/pr_prepended_concatenation_mark.c
+endif
+
+EXTRA_DIST += unictype/bitmap.h unictype/pr_prepended_concatenation_mark.h
+
+## end gnulib module unictype/property-prepended-concatenation-mark
+
## begin gnulib module unictype/property-private-use
if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE
@@ -4847,6 +5379,30 @@ endif
## end gnulib module unilbrk/ulc-width-linebreaks
+## begin gnulib module unimetadata/base
+
+BUILT_SOURCES += $(LIBUNISTRING_UNIMETADATA_H)
+
+unimetadata.h: unimetadata.in.h
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE''@/$(GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE)/g' \
+ $(srcdir)/unimetadata.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += unimetadata.h unimetadata.h-t
+
+EXTRA_DIST += unimetadata.in.h
+
+## end gnulib module unimetadata/base
+
+## begin gnulib module unimetadata/u-version
+
+if LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION
+libunistring_la_SOURCES += unimetadata/u-version.c
+endif
+
+## end gnulib module unimetadata/u-version
+
## begin gnulib module uniname/base
BUILT_SOURCES += $(LIBUNISTRING_UNINAME_H)
@@ -4863,6 +5419,13 @@ EXTRA_DIST += uniname.in.h
## begin gnulib module uniname/uniname
if LIBUNISTRING_COMPILE_UNINAME_UNINAME
+# Note: Compilation of this file takes a long time with gcc ≥ 11 and option
+# -fanalyzer. See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110112>.
+# The best workaround is to install GNU libunistring first, and use module
+# 'libunistring-optional' in your package.
+# An alternative workaround would be to pass the option -fno-analyzer, using
+# the technique from
+# https://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html
libunistring_la_SOURCES += uniname/uniname.c
endif
@@ -4875,7 +5438,13 @@ EXTRA_DIST += uniname/gen-uninames.lisp uniname/uninames.h
BUILT_SOURCES += $(LIBUNISTRING_UNINORM_H)
uninorm.h: uninorm.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/uninorm.in.h
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNINORM_NFD_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFD_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNINORM_NFC_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNINORM_NFKD_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNINORM_NFKC_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE)/g' \
+ $(srcdir)/uninorm.in.h > $@-t
$(AM_V_at)mv $@-t $@
MOSTLYCLEANFILES += uninorm.h uninorm.h-t
@@ -5161,6 +5730,8 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \
-e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \
-e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \
+ < $(srcdir)/unistd.in.h > $@-t1
+ $(AM_V_at)sed \
-e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \
-e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \
-e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \
@@ -5222,8 +5793,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \
-e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \
-e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \
- < $(srcdir)/unistd.in.h | \
- sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
-e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
@@ -5270,13 +5842,15 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- | \
- sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
-e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \
-e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
-e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+ -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \
-e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \
-e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \
-e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \
@@ -5285,11 +5859,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \
-e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \
-e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
+ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+ -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \
-e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
-e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
+ -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
@@ -5300,12 +5877,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
-e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+ -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \
-e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
-e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
-e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
-e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
-e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+ -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \
-e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
-e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
-e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
@@ -5321,9 +5900,10 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += unistd.h unistd.h-t
+ < $@-t3 > $@-t4
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+ $(AM_V_at)mv $@-t4 $@
+MOSTLYCLEANFILES += unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 unistd.h-t4
EXTRA_DIST += unistd.in.h
@@ -6117,6 +6697,16 @@ endif
## end gnulib module unistr/u16-next
+## begin gnulib module unistr/u16-pcpy
+
+if LIBUNISTRING_COMPILE_UNISTR_U16_PCPY
+libunistring_la_SOURCES += unistr/u16-pcpy.c
+endif
+
+EXTRA_DIST += unistr/u-pcpy.h
+
+## end gnulib module unistr/u16-pcpy
+
## begin gnulib module unistr/u16-prev
if LIBUNISTRING_COMPILE_UNISTR_U16_PREV
@@ -6329,7 +6919,7 @@ if LIBUNISTRING_COMPILE_UNISTR_U16_STRSTR
libunistring_la_SOURCES += unistr/u16-strstr.c
endif
-EXTRA_DIST += str-kmp.h unistr/u-strstr.h
+EXTRA_DIST += wcs-two-way.h wcsstr-impl.h
## end gnulib module unistr/u16-strstr
@@ -6489,6 +7079,16 @@ endif
## end gnulib module unistr/u32-next
+## begin gnulib module unistr/u32-pcpy
+
+if LIBUNISTRING_COMPILE_UNISTR_U32_PCPY
+libunistring_la_SOURCES += unistr/u32-pcpy.c
+endif
+
+EXTRA_DIST += unistr/u-pcpy.h
+
+## end gnulib module unistr/u32-pcpy
+
## begin gnulib module unistr/u32-prev
if LIBUNISTRING_COMPILE_UNISTR_U32_PREV
@@ -6695,7 +7295,7 @@ if LIBUNISTRING_COMPILE_UNISTR_U32_STRSTR
libunistring_la_SOURCES += unistr/u32-strstr.c
endif
-EXTRA_DIST += str-kmp.h unistr/u-strstr.h
+EXTRA_DIST += wcs-two-way.h wcsstr-impl.h
## end gnulib module unistr/u32-strstr
@@ -6855,6 +7455,16 @@ endif
## end gnulib module unistr/u8-next
+## begin gnulib module unistr/u8-pcpy
+
+if LIBUNISTRING_COMPILE_UNISTR_U8_PCPY
+libunistring_la_SOURCES += unistr/u8-pcpy.c
+endif
+
+EXTRA_DIST += unistr/u-pcpy.h
+
+## end gnulib module unistr/u8-pcpy
+
## begin gnulib module unistr/u8-prev
if LIBUNISTRING_COMPILE_UNISTR_U8_PREV
@@ -7053,8 +7663,6 @@ if LIBUNISTRING_COMPILE_UNISTR_U8_STRSTR
libunistring_la_SOURCES += unistr/u8-strstr.c
endif
-EXTRA_DIST += unistr/u-strstr.h
-
## end gnulib module unistr/u8-strstr
## begin gnulib module unistr/u8-strtok
@@ -7264,6 +7872,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \
-e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \
-e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \
+ -e 's/@''GNULIB_MBSZERO''@/$(GL_GNULIB_MBSZERO)/g' \
-e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \
-e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \
-e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \
@@ -7302,10 +7911,12 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \
-e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \
-e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \
+ -e 's/@''GNULIB_WGETCWD''@/$(GL_GNULIB_WGETCWD)/g' \
-e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \
-e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
- < $(srcdir)/wchar.in.h | \
- sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+ < $(srcdir)/wchar.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
@@ -7348,8 +7959,9 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \
-e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- | \
- sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
@@ -7364,13 +7976,19 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
+ -e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \
+ -e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \
+ -e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \
-e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
+ -e 's|@''REPLACE_WMEMCMP''@|$(REPLACE_WMEMCMP)|g' \
+ -e 's|@''REPLACE_WMEMPCPY''@|$(REPLACE_WMEMPCPY)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += wchar.h wchar.h-t
+ < $@-t2 > $@-t3
+ $(AM_V_at)rm -f $@-t1 $@-t2
+ $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += wchar.h wchar.h-t1 wchar.h-t2 wchar.h-t3
EXTRA_DIST += wchar.in.h
@@ -7383,7 +8001,7 @@ libunistring_la_SOURCES += wctype-h.c
# We need the following in order to create <wctype.h> when the system
# doesn't have one that works with the given compiler.
-wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(gl_V_at)$(SED_HEADER_STDOUT) \
-e 's|@''GUARD_PREFIX''@|GL|g' \
-e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
@@ -7395,6 +8013,7 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
-e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
-e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \
-e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \
+ -e 's/@''GNULIB_ISWPUNCT''@/$(GL_GNULIB_ISWPUNCT)/g' \
-e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \
-e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \
-e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \
@@ -7407,10 +8026,14 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
-e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \
-e 's/@''REPLACE_ISWDIGIT''@/$(REPLACE_ISWDIGIT)/g' \
+ -e 's/@''REPLACE_ISWPUNCT''@/$(REPLACE_ISWPUNCT)/g' \
-e 's/@''REPLACE_ISWXDIGIT''@/$(REPLACE_ISWXDIGIT)/g' \
-e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
-e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \
+ -e 's/@''REPLACE_WCTRANS''@/$(REPLACE_WCTRANS)/g' \
+ -e 's/@''REPLACE_WCTYPE''@/$(REPLACE_WCTYPE)/g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
$(srcdir)/wctype.in.h > $@-t
$(AM_V_at)mv $@-t $@
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 778d921b..64daa99b 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -49,6 +49,7 @@
# --no-conditional-dependencies \
# --libtool \
# --macro-prefix=gl \
+# gitlog-to-changelog \
# relocatable-lib-lgpl \
# unicase/base \
# unicase/empty-prefix-context \
@@ -152,6 +153,7 @@
# unictype/ctype-xdigit \
# unictype/decimal-digit \
# unictype/digit \
+# unictype/incb-all \
# unictype/joininggroup-all \
# unictype/joiningtype-all \
# unictype/mirror \
@@ -185,6 +187,8 @@
# unilbrk/u8-width-linebreaks \
# unilbrk/ulc-possible-linebreaks \
# unilbrk/ulc-width-linebreaks \
+# unimetadata/base \
+# unimetadata/u-version \
# uniname/base \
# uniname/uniname \
# uninorm/base \
@@ -282,6 +286,7 @@
# unistr/u16-mbtoucr \
# unistr/u16-move \
# unistr/u16-next \
+# unistr/u16-pcpy \
# unistr/u16-prev \
# unistr/u16-set \
# unistr/u16-startswith \
@@ -323,6 +328,7 @@
# unistr/u32-mbtoucr \
# unistr/u32-move \
# unistr/u32-next \
+# unistr/u32-pcpy \
# unistr/u32-prev \
# unistr/u32-set \
# unistr/u32-startswith \
@@ -364,6 +370,7 @@
# unistr/u8-mbtoucr \
# unistr/u8-move \
# unistr/u8-next \
+# unistr/u8-pcpy \
# unistr/u8-prev \
# unistr/u8-set \
# unistr/u8-startswith \
@@ -490,525 +497,547 @@ host_triplet = @host@
@GL_COND_OBJ_ICONV_TRUE@am__append_6 = iconv.c iconv_close.c
@GL_COND_OBJ_ISWBLANK_TRUE@am__append_7 = iswblank.c
@GL_COND_OBJ_ISWDIGIT_TRUE@am__append_8 = iswdigit.c
-@GL_COND_OBJ_ISWXDIGIT_TRUE@am__append_9 = iswxdigit.c
-@GL_COND_OBJ_MBRTOWC_TRUE@am__append_10 = mbrtowc.c
-@GL_COND_OBJ_MBSINIT_TRUE@am__append_11 = mbsinit.c
-@GL_COND_OBJ_MEMCHR_TRUE@am__append_12 = memchr.c
-@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__append_13 = setlocale-lock.c
-@GL_COND_OBJ_SIGNBIT3_TRUE@am__append_14 = signbitf.c signbitd.c signbitl.c
-@GL_COND_LIBTOOL_TRUE@am__append_15 = $(LTLIBICONV)
-@GL_COND_OBJ_STRNCAT_TRUE@am__append_16 = strncat.c
-@LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT_TRUE@am__append_17 = unicase/empty-prefix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT_TRUE@am__append_18 = unicase/empty-suffix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_LOCALE_LANGUAGE_TRUE@am__append_19 = unicase/locale-language.c
-@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@am__append_20 = unicase/tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@am__append_21 = unicase/totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@am__append_22 = unicase/toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASECMP_TRUE@am__append_23 = unicase/u16-casecmp.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASECOLL_TRUE@am__append_24 = unicase/u16-casecoll.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASEFOLD_TRUE@am__append_25 = unicase/u16-casefold.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASEXFRM_TRUE@am__append_26 = unicase/u16-casexfrm.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_CASEFOLD_TRUE@am__append_27 = unicase/u16-ct-casefold.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOLOWER_TRUE@am__append_28 = unicase/u16-ct-tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOTITLE_TRUE@am__append_29 = unicase/u16-ct-totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOUPPER_TRUE@am__append_30 = unicase/u16-ct-toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASED_TRUE@am__append_31 = unicase/u16-is-cased.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASEFOLDED_TRUE@am__append_32 = unicase/u16-is-casefolded.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_LOWERCASE_TRUE@am__append_33 = unicase/u16-is-lowercase.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_TITLECASE_TRUE@am__append_34 = unicase/u16-is-titlecase.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_UPPERCASE_TRUE@am__append_35 = unicase/u16-is-uppercase.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_PREFIX_CONTEXT_TRUE@am__append_36 = unicase/u16-prefix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_SUFFIX_CONTEXT_TRUE@am__append_37 = unicase/u16-suffix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_TOLOWER_TRUE@am__append_38 = unicase/u16-tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_TOTITLE_TRUE@am__append_39 = unicase/u16-totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_U16_TOUPPER_TRUE@am__append_40 = unicase/u16-toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASECMP_TRUE@am__append_41 = unicase/u32-casecmp.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASECOLL_TRUE@am__append_42 = unicase/u32-casecoll.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASEFOLD_TRUE@am__append_43 = unicase/u32-casefold.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASEXFRM_TRUE@am__append_44 = unicase/u32-casexfrm.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_CASEFOLD_TRUE@am__append_45 = unicase/u32-ct-casefold.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOLOWER_TRUE@am__append_46 = unicase/u32-ct-tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOTITLE_TRUE@am__append_47 = unicase/u32-ct-totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOUPPER_TRUE@am__append_48 = unicase/u32-ct-toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASED_TRUE@am__append_49 = unicase/u32-is-cased.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASEFOLDED_TRUE@am__append_50 = unicase/u32-is-casefolded.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_LOWERCASE_TRUE@am__append_51 = unicase/u32-is-lowercase.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_TITLECASE_TRUE@am__append_52 = unicase/u32-is-titlecase.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_UPPERCASE_TRUE@am__append_53 = unicase/u32-is-uppercase.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_PREFIX_CONTEXT_TRUE@am__append_54 = unicase/u32-prefix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_SUFFIX_CONTEXT_TRUE@am__append_55 = unicase/u32-suffix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_TOLOWER_TRUE@am__append_56 = unicase/u32-tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_TOTITLE_TRUE@am__append_57 = unicase/u32-totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_U32_TOUPPER_TRUE@am__append_58 = unicase/u32-toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASECMP_TRUE@am__append_59 = unicase/u8-casecmp.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASECOLL_TRUE@am__append_60 = unicase/u8-casecoll.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASEFOLD_TRUE@am__append_61 = unicase/u8-casefold.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASEXFRM_TRUE@am__append_62 = unicase/u8-casexfrm.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_CASEFOLD_TRUE@am__append_63 = unicase/u8-ct-casefold.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOLOWER_TRUE@am__append_64 = unicase/u8-ct-tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOTITLE_TRUE@am__append_65 = unicase/u8-ct-totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOUPPER_TRUE@am__append_66 = unicase/u8-ct-toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASED_TRUE@am__append_67 = unicase/u8-is-cased.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASEFOLDED_TRUE@am__append_68 = unicase/u8-is-casefolded.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_LOWERCASE_TRUE@am__append_69 = unicase/u8-is-lowercase.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_TITLECASE_TRUE@am__append_70 = unicase/u8-is-titlecase.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_UPPERCASE_TRUE@am__append_71 = unicase/u8-is-uppercase.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_PREFIX_CONTEXT_TRUE@am__append_72 = unicase/u8-prefix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_SUFFIX_CONTEXT_TRUE@am__append_73 = unicase/u8-suffix-context.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_TOLOWER_TRUE@am__append_74 = unicase/u8-tolower.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_TOTITLE_TRUE@am__append_75 = unicase/u8-totitle.c
-@LIBUNISTRING_COMPILE_UNICASE_U8_TOUPPER_TRUE@am__append_76 = unicase/u8-toupper.c
-@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECMP_TRUE@am__append_77 = unicase/ulc-casecmp.c
-@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECOLL_TRUE@am__append_78 = unicase/ulc-casecoll.c
-@LIBUNISTRING_COMPILE_UNICASE_ULC_CASEXFRM_TRUE@am__append_79 = unicase/ulc-casexfrm.c
-@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_FROM_ENC_TRUE@am__append_80 = uniconv/u16-conv-from-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_TO_ENC_TRUE@am__append_81 = uniconv/u16-conv-to-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_ENC_TRUE@am__append_82 = uniconv/u16-strconv-from-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_LOCALE_TRUE@am__append_83 = uniconv/u16-strconv-from-locale.c
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_ENC_TRUE@am__append_84 = uniconv/u16-strconv-to-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_LOCALE_TRUE@am__append_85 = uniconv/u16-strconv-to-locale.c
-@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_FROM_ENC_TRUE@am__append_86 = uniconv/u32-conv-from-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_TO_ENC_TRUE@am__append_87 = uniconv/u32-conv-to-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_ENC_TRUE@am__append_88 = uniconv/u32-strconv-from-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_LOCALE_TRUE@am__append_89 = uniconv/u32-strconv-from-locale.c
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_ENC_TRUE@am__append_90 = uniconv/u32-strconv-to-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_LOCALE_TRUE@am__append_91 = uniconv/u32-strconv-to-locale.c
-@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__append_92 = uniconv/u8-conv-from-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_TO_ENC_TRUE@am__append_93 = uniconv/u8-conv-to-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_ENC_TRUE@am__append_94 = uniconv/u8-strconv-from-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_LOCALE_TRUE@am__append_95 = uniconv/u8-strconv-from-locale.c
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_ENC_TRUE@am__append_96 = uniconv/u8-strconv-to-enc.c
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE_TRUE@am__append_97 = uniconv/u8-strconv-to-locale.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_BYNAME_TRUE@am__append_98 = unictype/bidi_byname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_LONGNAME_TRUE@am__append_99 = unictype/bidi_longname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_NAME_TRUE@am__append_100 = unictype/bidi_name.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE@am__append_101 = unictype/bidi_of.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_TEST_TRUE@am__append_102 = unictype/bidi_test.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE@am__append_103 = unictype/blocks.c
-@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE@am__append_104 = unictype/block_test.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE@am__append_105 = unictype/categ_C.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE@am__append_106 = unictype/categ_Cc.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE@am__append_107 = unictype/categ_Cf.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE@am__append_108 = unictype/categ_Cn.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE@am__append_109 = unictype/categ_Co.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE@am__append_110 = unictype/categ_Cs.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE@am__append_111 = unictype/categ_L.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE@am__append_112 = unictype/categ_LC.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE@am__append_113 = unictype/categ_Ll.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE@am__append_114 = unictype/categ_Lm.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE@am__append_115 = unictype/categ_Lo.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE@am__append_116 = unictype/categ_Lt.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE@am__append_117 = unictype/categ_Lu.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE@am__append_118 = unictype/categ_M.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE@am__append_119 = unictype/categ_Mc.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE@am__append_120 = unictype/categ_Me.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE@am__append_121 = unictype/categ_Mn.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE@am__append_122 = unictype/categ_N.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE@am__append_123 = unictype/categ_Nd.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE@am__append_124 = unictype/categ_Nl.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE@am__append_125 = unictype/categ_No.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE@am__append_126 = unictype/categ_P.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE@am__append_127 = unictype/categ_Pc.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE@am__append_128 = unictype/categ_Pd.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE@am__append_129 = unictype/categ_Pe.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE@am__append_130 = unictype/categ_Pf.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE@am__append_131 = unictype/categ_Pi.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE@am__append_132 = unictype/categ_Po.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE@am__append_133 = unictype/categ_Ps.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE@am__append_134 = unictype/categ_S.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE@am__append_135 = unictype/categ_Sc.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE@am__append_136 = unictype/categ_Sk.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE@am__append_137 = unictype/categ_Sm.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE@am__append_138 = unictype/categ_So.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE@am__append_139 = unictype/categ_Z.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE@am__append_140 = unictype/categ_Zl.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE@am__append_141 = unictype/categ_Zp.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE@am__append_142 = unictype/categ_Zs.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE@am__append_143 = unictype/categ_and.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE@am__append_144 = unictype/categ_and_not.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE@am__append_145 = unictype/categ_byname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE@am__append_146 = unictype/categ_longname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE@am__append_147 = unictype/categ_name.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE@am__append_148 = unictype/categ_none.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE@am__append_149 = unictype/categ_of.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE@am__append_150 = unictype/categ_or.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE@am__append_151 = unictype/categ_test.c
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE@am__append_152 = unictype/combiningclass.c
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_BYNAME_TRUE@am__append_153 = unictype/combiningclass_byname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_LONGNAME_TRUE@am__append_154 = unictype/combiningclass_longname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_NAME_TRUE@am__append_155 = unictype/combiningclass_name.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALNUM_TRUE@am__append_156 = unictype/ctype_alnum.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE@am__append_157 = unictype/ctype_alpha.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_BLANK_TRUE@am__append_158 = unictype/ctype_blank.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_CNTRL_TRUE@am__append_159 = unictype/ctype_cntrl.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_DIGIT_TRUE@am__append_160 = unictype/ctype_digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_GRAPH_TRUE@am__append_161 = unictype/ctype_graph.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_LOWER_TRUE@am__append_162 = unictype/ctype_lower.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE@am__append_163 = unictype/ctype_print.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PUNCT_TRUE@am__append_164 = unictype/ctype_punct.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__append_165 = unictype/ctype_space.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_UPPER_TRUE@am__append_166 = unictype/ctype_upper.c
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_XDIGIT_TRUE@am__append_167 = unictype/ctype_xdigit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT_TRUE@am__append_168 = unictype/decdigit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_DIGIT_TRUE@am__append_169 = unictype/digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME_TRUE@am__append_170 = unictype/joininggroup_byname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_NAME_TRUE@am__append_171 = unictype/joininggroup_name.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_OF_TRUE@am__append_172 = unictype/joininggroup_of.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_BYNAME_TRUE@am__append_173 = unictype/joiningtype_byname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_LONGNAME_TRUE@am__append_174 = unictype/joiningtype_longname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_NAME_TRUE@am__append_175 = unictype/joiningtype_name.c
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_OF_TRUE@am__append_176 = unictype/joiningtype_of.c
-@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@am__append_177 = unictype/mirror.c
-@LIBUNISTRING_COMPILE_UNICTYPE_NUMERIC_TRUE@am__append_178 = unictype/numeric.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE@am__append_179 = unictype/pr_alphabetic.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE@am__append_180 = unictype/pr_ascii_hex_digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE@am__append_181 = unictype/pr_bidi_arabic_digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE@am__append_182 = unictype/pr_bidi_arabic_right_to_left.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE@am__append_183 = unictype/pr_bidi_block_separator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE@am__append_184 = unictype/pr_bidi_boundary_neutral.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE@am__append_185 = unictype/pr_bidi_common_separator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE@am__append_186 = unictype/pr_bidi_control.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE@am__append_187 = unictype/pr_bidi_embedding_or_override.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE@am__append_188 = unictype/pr_bidi_eur_num_separator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE@am__append_189 = unictype/pr_bidi_eur_num_terminator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE@am__append_190 = unictype/pr_bidi_european_digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE@am__append_191 = unictype/pr_bidi_hebrew_right_to_left.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE@am__append_192 = unictype/pr_bidi_left_to_right.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE@am__append_193 = unictype/pr_bidi_non_spacing_mark.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE@am__append_194 = unictype/pr_bidi_other_neutral.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE@am__append_195 = unictype/pr_bidi_pdf.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE@am__append_196 = unictype/pr_bidi_segment_separator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE@am__append_197 = unictype/pr_bidi_whitespace.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE@am__append_198 = unictype/pr_byname.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE@am__append_199 = unictype/pr_case_ignorable.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE@am__append_200 = unictype/pr_cased.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE@am__append_201 = unictype/pr_changes_when_casefolded.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE@am__append_202 = unictype/pr_changes_when_casemapped.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE@am__append_203 = unictype/pr_changes_when_lowercased.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE@am__append_204 = unictype/pr_changes_when_titlecased.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE@am__append_205 = unictype/pr_changes_when_uppercased.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE@am__append_206 = unictype/pr_combining.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE@am__append_207 = unictype/pr_composite.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE@am__append_208 = unictype/pr_currency_symbol.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE@am__append_209 = unictype/pr_dash.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE@am__append_210 = unictype/pr_decimal_digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__append_211 = unictype/pr_default_ignorable_code_point.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE@am__append_212 = unictype/pr_deprecated.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE@am__append_213 = unictype/pr_diacritic.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_TRUE@am__append_214 = unictype/pr_emoji.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_COMPONENT_TRUE@am__append_215 = unictype/pr_emoji_component.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_TRUE@am__append_216 = unictype/pr_emoji_modifier.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_TRUE@am__append_217 = unictype/pr_emoji_modifier_base.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_TRUE@am__append_218 = unictype/pr_emoji_presentation.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_TRUE@am__append_219 = unictype/pr_extended_pictographic.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE@am__append_220 = unictype/pr_extender.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE@am__append_221 = unictype/pr_format_control.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE@am__append_222 = unictype/pr_grapheme_base.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE@am__append_223 = unictype/pr_grapheme_extend.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE@am__append_224 = unictype/pr_grapheme_link.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE@am__append_225 = unictype/pr_hex_digit.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE@am__append_226 = unictype/pr_hyphen.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE@am__append_227 = unictype/pr_id_continue.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE@am__append_228 = unictype/pr_id_start.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE@am__append_229 = unictype/pr_ideographic.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE@am__append_230 = unictype/pr_ids_binary_operator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE@am__append_231 = unictype/pr_ids_trinary_operator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE@am__append_232 = unictype/pr_ignorable_control.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE@am__append_233 = unictype/pr_iso_control.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE@am__append_234 = unictype/pr_join_control.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE@am__append_235 = unictype/pr_left_of_pair.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE@am__append_236 = unictype/pr_line_separator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE@am__append_237 = unictype/pr_logical_order_exception.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE@am__append_238 = unictype/pr_lowercase.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE@am__append_239 = unictype/pr_math.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE@am__append_240 = unictype/pr_non_break.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE@am__append_241 = unictype/pr_not_a_character.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE@am__append_242 = unictype/pr_numeric.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE@am__append_243 = unictype/pr_other_alphabetic.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__append_244 = unictype/pr_other_default_ignorable_code_point.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE@am__append_245 = unictype/pr_other_grapheme_extend.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE@am__append_246 = unictype/pr_other_id_continue.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE@am__append_247 = unictype/pr_other_id_start.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE@am__append_248 = unictype/pr_other_lowercase.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE@am__append_249 = unictype/pr_other_math.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE@am__append_250 = unictype/pr_other_uppercase.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE@am__append_251 = unictype/pr_paired_punctuation.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE@am__append_252 = unictype/pr_paragraph_separator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE@am__append_253 = unictype/pr_pattern_syntax.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE@am__append_254 = unictype/pr_pattern_white_space.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE@am__append_255 = unictype/pr_private_use.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE@am__append_256 = unictype/pr_punctuation.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE@am__append_257 = unictype/pr_quotation_mark.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE@am__append_258 = unictype/pr_radical.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_TRUE@am__append_259 = unictype/pr_regional_indicator.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE@am__append_260 = unictype/pr_sentence_terminal.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE@am__append_261 = unictype/pr_soft_dotted.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE@am__append_262 = unictype/pr_space.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE@am__append_263 = unictype/pr_terminal_punctuation.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE@am__append_264 = unictype/pr_test.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE@am__append_265 = unictype/pr_titlecase.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE@am__append_266 = unictype/pr_unassigned_code_value.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE@am__append_267 = unictype/pr_unified_ideograph.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE@am__append_268 = unictype/pr_uppercase.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE@am__append_269 = unictype/pr_variation_selector.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE@am__append_270 = unictype/pr_white_space.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE@am__append_271 = unictype/pr_xid_continue.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE@am__append_272 = unictype/pr_xid_start.c
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE@am__append_273 = unictype/pr_zero_width.c
-@LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE@am__append_274 = unictype/scripts.c
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_IDENT_TRUE@am__append_275 = unictype/sy_c_ident.c
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_WHITESPACE_TRUE@am__append_276 = unictype/sy_c_whitespace.c
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_IDENT_TRUE@am__append_277 = unictype/sy_java_ident.c
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_WHITESPACE_TRUE@am__append_278 = unictype/sy_java_whitespace.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_BREAKS_TRUE@am__append_279 = unigbrk/u16-grapheme-breaks.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_NEXT_TRUE@am__append_280 = unigbrk/u16-grapheme-next.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_PREV_TRUE@am__append_281 = unigbrk/u16-grapheme-prev.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_BREAKS_TRUE@am__append_282 = unigbrk/u32-grapheme-breaks.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_NEXT_TRUE@am__append_283 = unigbrk/u32-grapheme-next.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_PREV_TRUE@am__append_284 = unigbrk/u32-grapheme-prev.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_BREAKS_TRUE@am__append_285 = unigbrk/u8-grapheme-breaks.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_NEXT_TRUE@am__append_286 = unigbrk/u8-grapheme-next.c
-@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_PREV_TRUE@am__append_287 = unigbrk/u8-grapheme-prev.c
-@LIBUNISTRING_COMPILE_UNIGBRK_UC_GBRK_PROP_TRUE@am__append_288 = unigbrk/uc-gbrk-prop.c
-@LIBUNISTRING_COMPILE_UNIGBRK_UC_GRAPHEME_BREAKS_TRUE@am__append_289 = unigbrk/uc-grapheme-breaks.c
-@LIBUNISTRING_COMPILE_UNIGBRK_UC_IS_GRAPHEME_BREAK_TRUE@am__append_290 = unigbrk/uc-is-grapheme-break.c
-@LIBUNISTRING_COMPILE_UNIGBRK_ULC_GRAPHEME_BREAKS_TRUE@am__append_291 = unigbrk/ulc-grapheme-breaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U16_POSSIBLE_LINEBREAKS_TRUE@am__append_292 = unilbrk/u16-possible-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U16_WIDTH_LINEBREAKS_TRUE@am__append_293 = unilbrk/u16-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U32_POSSIBLE_LINEBREAKS_TRUE@am__append_294 = unilbrk/u32-possible-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U32_WIDTH_LINEBREAKS_TRUE@am__append_295 = unilbrk/u32-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__append_296 = unilbrk/u8-possible-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__append_297 = unilbrk/u8-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS_TRUE@am__append_298 = unilbrk/ulc-possible-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__append_299 = unilbrk/ulc-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_300 = uniname/uniname.c
-@LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE@am__append_301 = uninorm/canonical-decomposition.c
-@LIBUNISTRING_COMPILE_UNINORM_COMPOSITION_TRUE@am__append_302 = uninorm/composition.c
-@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSING_FORM_TRUE@am__append_303 = uninorm/decomposing-form.c
-@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSITION_TRUE@am__append_304 = uninorm/decomposition.c
-@LIBUNISTRING_COMPILE_UNINORM_FILTER_TRUE@am__append_305 = uninorm/uninorm-filter.c
-@LIBUNISTRING_COMPILE_UNINORM_NFC_TRUE@am__append_306 = uninorm/nfc.c
-@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@am__append_307 = uninorm/nfd.c
-@LIBUNISTRING_COMPILE_UNINORM_NFKC_TRUE@am__append_308 = uninorm/nfkc.c
-@LIBUNISTRING_COMPILE_UNINORM_NFKD_TRUE@am__append_309 = uninorm/nfkd.c
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMALIZE_TRUE@am__append_310 = uninorm/u16-normalize.c
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCMP_TRUE@am__append_311 = uninorm/u16-normcmp.c
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCOLL_TRUE@am__append_312 = uninorm/u16-normcoll.c
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMXFRM_TRUE@am__append_313 = uninorm/u16-normxfrm.c
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE@am__append_314 = uninorm/u32-normalize.c
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCMP_TRUE@am__append_315 = uninorm/u32-normcmp.c
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCOLL_TRUE@am__append_316 = uninorm/u32-normcoll.c
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMXFRM_TRUE@am__append_317 = uninorm/u32-normxfrm.c
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMALIZE_TRUE@am__append_318 = uninorm/u8-normalize.c
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCMP_TRUE@am__append_319 = uninorm/u8-normcmp.c
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCOLL_TRUE@am__append_320 = uninorm/u8-normcoll.c
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMXFRM_TRUE@am__append_321 = uninorm/u8-normxfrm.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASNPRINTF_TRUE@am__append_322 = unistdio/u16-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASPRINTF_TRUE@am__append_323 = unistdio/u16-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_SNPRINTF_TRUE@am__append_324 = unistdio/u16-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_SPRINTF_TRUE@am__append_325 = unistdio/u16-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASNPRINTF_TRUE@am__append_326 = unistdio/u16-u16-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASPRINTF_TRUE@am__append_327 = unistdio/u16-u16-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SNPRINTF_TRUE@am__append_328 = unistdio/u16-u16-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SPRINTF_TRUE@am__append_329 = unistdio/u16-u16-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASNPRINTF_TRUE@am__append_330 = unistdio/u16-u16-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASPRINTF_TRUE@am__append_331 = unistdio/u16-u16-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSNPRINTF_TRUE@am__append_332 = unistdio/u16-u16-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSPRINTF_TRUE@am__append_333 = unistdio/u16-u16-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASNPRINTF_TRUE@am__append_334 = unistdio/u16-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASPRINTF_TRUE@am__append_335 = unistdio/u16-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSNPRINTF_TRUE@am__append_336 = unistdio/u16-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSPRINTF_TRUE@am__append_337 = unistdio/u16-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASNPRINTF_TRUE@am__append_338 = unistdio/u32-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASPRINTF_TRUE@am__append_339 = unistdio/u32-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_SNPRINTF_TRUE@am__append_340 = unistdio/u32-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_SPRINTF_TRUE@am__append_341 = unistdio/u32-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASNPRINTF_TRUE@am__append_342 = unistdio/u32-u32-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASPRINTF_TRUE@am__append_343 = unistdio/u32-u32-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SNPRINTF_TRUE@am__append_344 = unistdio/u32-u32-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SPRINTF_TRUE@am__append_345 = unistdio/u32-u32-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASNPRINTF_TRUE@am__append_346 = unistdio/u32-u32-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASPRINTF_TRUE@am__append_347 = unistdio/u32-u32-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSNPRINTF_TRUE@am__append_348 = unistdio/u32-u32-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSPRINTF_TRUE@am__append_349 = unistdio/u32-u32-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASNPRINTF_TRUE@am__append_350 = unistdio/u32-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASPRINTF_TRUE@am__append_351 = unistdio/u32-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSNPRINTF_TRUE@am__append_352 = unistdio/u32-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSPRINTF_TRUE@am__append_353 = unistdio/u32-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASNPRINTF_TRUE@am__append_354 = unistdio/u8-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASPRINTF_TRUE@am__append_355 = unistdio/u8-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_SNPRINTF_TRUE@am__append_356 = unistdio/u8-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_SPRINTF_TRUE@am__append_357 = unistdio/u8-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASNPRINTF_TRUE@am__append_358 = unistdio/u8-u8-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASPRINTF_TRUE@am__append_359 = unistdio/u8-u8-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SNPRINTF_TRUE@am__append_360 = unistdio/u8-u8-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SPRINTF_TRUE@am__append_361 = unistdio/u8-u8-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASNPRINTF_TRUE@am__append_362 = unistdio/u8-u8-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASPRINTF_TRUE@am__append_363 = unistdio/u8-u8-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSNPRINTF_TRUE@am__append_364 = unistdio/u8-u8-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSPRINTF_TRUE@am__append_365 = unistdio/u8-u8-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASNPRINTF_TRUE@am__append_366 = unistdio/u8-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASPRINTF_TRUE@am__append_367 = unistdio/u8-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSNPRINTF_TRUE@am__append_368 = unistdio/u8-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSPRINTF_TRUE@am__append_369 = unistdio/u8-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASNPRINTF_TRUE@am__append_370 = unistdio/ulc-asnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASPRINTF_TRUE@am__append_371 = unistdio/ulc-asprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_FPRINTF_TRUE@am__append_372 = unistdio/ulc-fprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SNPRINTF_TRUE@am__append_373 = unistdio/ulc-snprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SPRINTF_TRUE@am__append_374 = unistdio/ulc-sprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASNPRINTF_TRUE@am__append_375 = unistdio/ulc-vasnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASPRINTF_TRUE@am__append_376 = unistdio/ulc-vasprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VFPRINTF_TRUE@am__append_377 = unistdio/ulc-vfprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSNPRINTF_TRUE@am__append_378 = unistdio/ulc-vsnprintf.c
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSPRINTF_TRUE@am__append_379 = unistdio/ulc-vsprintf.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_CHECK_TRUE@am__append_380 = unistr/u16-check.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_CHR_TRUE@am__append_381 = unistr/u16-chr.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_CMP_TRUE@am__append_382 = unistr/u16-cmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_CMP2_TRUE@am__append_383 = unistr/u16-cmp2.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_TRUE@am__append_384 = unistr/u16-cpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_ALLOC_TRUE@am__append_385 = unistr/u16-cpy-alloc.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_ENDSWITH_TRUE@am__append_386 = unistr/u16-endswith.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBLEN_TRUE@am__append_387 = unistr/u16-mblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBSNLEN_TRUE@am__append_388 = unistr/u16-mbsnlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__append_389 = unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_UNSAFE_TRUE@am__append_390 = unistr/u16-mbtouc-unsafe.c unistr/u16-mbtouc-unsafe-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUCR_TRUE@am__append_391 = unistr/u16-mbtoucr.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MOVE_TRUE@am__append_392 = unistr/u16-move.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_NEXT_TRUE@am__append_393 = unistr/u16-next.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_PREV_TRUE@am__append_394 = unistr/u16-prev.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_SET_TRUE@am__append_395 = unistr/u16-set.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STARTSWITH_TRUE@am__append_396 = unistr/u16-startswith.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STPCPY_TRUE@am__append_397 = unistr/u16-stpcpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STPNCPY_TRUE@am__append_398 = unistr/u16-stpncpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCAT_TRUE@am__append_399 = unistr/u16-strcat.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCHR_TRUE@am__append_400 = unistr/u16-strchr.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCMP_TRUE@am__append_401 = unistr/u16-strcmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCOLL_TRUE@am__append_402 = unistr/u16-strcoll.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCPY_TRUE@am__append_403 = unistr/u16-strcpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCSPN_TRUE@am__append_404 = unistr/u16-strcspn.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRDUP_TRUE@am__append_405 = unistr/u16-strdup.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRLEN_TRUE@am__append_406 = unistr/u16-strlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBLEN_TRUE@am__append_407 = unistr/u16-strmblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBTOUC_TRUE@am__append_408 = unistr/u16-strmbtouc.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCAT_TRUE@am__append_409 = unistr/u16-strncat.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCMP_TRUE@am__append_410 = unistr/u16-strncmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCPY_TRUE@am__append_411 = unistr/u16-strncpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNLEN_TRUE@am__append_412 = unistr/u16-strnlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRPBRK_TRUE@am__append_413 = unistr/u16-strpbrk.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRRCHR_TRUE@am__append_414 = unistr/u16-strrchr.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRSPN_TRUE@am__append_415 = unistr/u16-strspn.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRSTR_TRUE@am__append_416 = unistr/u16-strstr.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRTOK_TRUE@am__append_417 = unistr/u16-strtok.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U32_TRUE@am__append_418 = unistr/u16-to-u32.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U8_TRUE@am__append_419 = unistr/u16-to-u8.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_UCTOMB_TRUE@am__append_420 = unistr/u16-uctomb.c unistr/u16-uctomb-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_CHECK_TRUE@am__append_421 = unistr/u32-check.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_CHR_TRUE@am__append_422 = unistr/u32-chr.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_CMP_TRUE@am__append_423 = unistr/u32-cmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_CMP2_TRUE@am__append_424 = unistr/u32-cmp2.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@am__append_425 = unistr/u32-cpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_ALLOC_TRUE@am__append_426 = unistr/u32-cpy-alloc.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_ENDSWITH_TRUE@am__append_427 = unistr/u32-endswith.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBLEN_TRUE@am__append_428 = unistr/u32-mblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBSNLEN_TRUE@am__append_429 = unistr/u32-mbsnlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_TRUE@am__append_430 = unistr/u32-mbtouc.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE@am__append_431 = unistr/u32-mbtouc-unsafe.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUCR_TRUE@am__append_432 = unistr/u32-mbtoucr.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_MOVE_TRUE@am__append_433 = unistr/u32-move.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_NEXT_TRUE@am__append_434 = unistr/u32-next.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_PREV_TRUE@am__append_435 = unistr/u32-prev.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_SET_TRUE@am__append_436 = unistr/u32-set.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STARTSWITH_TRUE@am__append_437 = unistr/u32-startswith.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STPCPY_TRUE@am__append_438 = unistr/u32-stpcpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STPNCPY_TRUE@am__append_439 = unistr/u32-stpncpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCAT_TRUE@am__append_440 = unistr/u32-strcat.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCHR_TRUE@am__append_441 = unistr/u32-strchr.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCMP_TRUE@am__append_442 = unistr/u32-strcmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCOLL_TRUE@am__append_443 = unistr/u32-strcoll.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCPY_TRUE@am__append_444 = unistr/u32-strcpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCSPN_TRUE@am__append_445 = unistr/u32-strcspn.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRDUP_TRUE@am__append_446 = unistr/u32-strdup.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRLEN_TRUE@am__append_447 = unistr/u32-strlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBLEN_TRUE@am__append_448 = unistr/u32-strmblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBTOUC_TRUE@am__append_449 = unistr/u32-strmbtouc.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCAT_TRUE@am__append_450 = unistr/u32-strncat.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCMP_TRUE@am__append_451 = unistr/u32-strncmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCPY_TRUE@am__append_452 = unistr/u32-strncpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNLEN_TRUE@am__append_453 = unistr/u32-strnlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRPBRK_TRUE@am__append_454 = unistr/u32-strpbrk.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRRCHR_TRUE@am__append_455 = unistr/u32-strrchr.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRSPN_TRUE@am__append_456 = unistr/u32-strspn.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRSTR_TRUE@am__append_457 = unistr/u32-strstr.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRTOK_TRUE@am__append_458 = unistr/u32-strtok.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U16_TRUE@am__append_459 = unistr/u32-to-u16.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE@am__append_460 = unistr/u32-to-u8.c
-@LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE@am__append_461 = unistr/u32-uctomb.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_462 = unistr/u8-check.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHR_TRUE@am__append_463 = unistr/u8-chr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE@am__append_464 = unistr/u8-cmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CMP2_TRUE@am__append_465 = unistr/u8-cmp2.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_TRUE@am__append_466 = unistr/u8-cpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_ALLOC_TRUE@am__append_467 = unistr/u8-cpy-alloc.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_ENDSWITH_TRUE@am__append_468 = unistr/u8-endswith.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__append_469 = unistr/u8-mblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBSNLEN_TRUE@am__append_470 = unistr/u8-mbsnlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__append_471 = unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__append_472 = unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_473 = unistr/u8-mbtoucr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MOVE_TRUE@am__append_474 = unistr/u8-move.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@am__append_475 = unistr/u8-next.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__append_476 = unistr/u8-prev.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_SET_TRUE@am__append_477 = unistr/u8-set.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STARTSWITH_TRUE@am__append_478 = unistr/u8-startswith.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STPCPY_TRUE@am__append_479 = unistr/u8-stpcpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STPNCPY_TRUE@am__append_480 = unistr/u8-stpncpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCAT_TRUE@am__append_481 = unistr/u8-strcat.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCHR_TRUE@am__append_482 = unistr/u8-strchr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCMP_TRUE@am__append_483 = unistr/u8-strcmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCOLL_TRUE@am__append_484 = unistr/u8-strcoll.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCPY_TRUE@am__append_485 = unistr/u8-strcpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCSPN_TRUE@am__append_486 = unistr/u8-strcspn.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRDUP_TRUE@am__append_487 = unistr/u8-strdup.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_TRUE@am__append_488 = unistr/u8-strlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE@am__append_489 = unistr/u8-strmblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE@am__append_490 = unistr/u8-strmbtouc.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCAT_TRUE@am__append_491 = unistr/u8-strncat.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCMP_TRUE@am__append_492 = unistr/u8-strncmp.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCPY_TRUE@am__append_493 = unistr/u8-strncpy.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNLEN_TRUE@am__append_494 = unistr/u8-strnlen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRPBRK_TRUE@am__append_495 = unistr/u8-strpbrk.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRRCHR_TRUE@am__append_496 = unistr/u8-strrchr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRSPN_TRUE@am__append_497 = unistr/u8-strspn.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRSTR_TRUE@am__append_498 = unistr/u8-strstr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRTOK_TRUE@am__append_499 = unistr/u8-strtok.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U16_TRUE@am__append_500 = unistr/u8-to-u16.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE@am__append_501 = unistr/u8-to-u32.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_502 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
-@LIBUNISTRING_COMPILE_UNIWBRK_U16_WORDBREAKS_TRUE@am__append_503 = uniwbrk/u16-wordbreaks.c
-@LIBUNISTRING_COMPILE_UNIWBRK_U32_WORDBREAKS_TRUE@am__append_504 = uniwbrk/u32-wordbreaks.c
-@LIBUNISTRING_COMPILE_UNIWBRK_U8_WORDBREAKS_TRUE@am__append_505 = uniwbrk/u8-wordbreaks.c
-@LIBUNISTRING_COMPILE_UNIWBRK_ULC_WORDBREAKS_TRUE@am__append_506 = uniwbrk/ulc-wordbreaks.c
-@LIBUNISTRING_COMPILE_UNIWBRK_WORDBREAK_PROPERTY_TRUE@am__append_507 = uniwbrk/wordbreak-property.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_U16_STRWIDTH_TRUE@am__append_508 = uniwidth/u16-strwidth.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_U16_WIDTH_TRUE@am__append_509 = uniwidth/u16-width.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_U32_STRWIDTH_TRUE@am__append_510 = uniwidth/u32-strwidth.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_U32_WIDTH_TRUE@am__append_511 = uniwidth/u32-width.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_U8_STRWIDTH_TRUE@am__append_512 = uniwidth/u8-strwidth.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_U8_WIDTH_TRUE@am__append_513 = uniwidth/u8-width.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_514 = uniwidth/width.c
-@GL_COND_OBJ_WCWIDTH_TRUE@am__append_515 = wcwidth.c
-@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__append_516 = windows-mutex.c
-@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__append_517 = windows-once.c
-@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__append_518 = windows-recmutex.c
-@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__append_519 = windows-rwlock.c
+@GL_COND_OBJ_ISWPUNCT_TRUE@am__append_9 = iswpunct.c
+@GL_COND_OBJ_ISWXDIGIT_TRUE@am__append_10 = iswxdigit.c
+@GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE@am__append_11 = localename-unsafe.c
+@GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE@am__append_12 = localename-unsafe.c
+@GL_COND_OBJ_MBRTOC32_TRUE@am__append_13 = mbrtoc32.c
+@GL_COND_OBJ_MBRTOWC_TRUE@am__append_14 = mbrtowc.c
+@GL_COND_OBJ_MBSINIT_TRUE@am__append_15 = mbsinit.c
+@GL_COND_OBJ_MEMCHR_TRUE@am__append_16 = memchr.c
+@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__append_17 = setlocale-lock.c
+@GL_COND_OBJ_SIGNBIT3_TRUE@am__append_18 = signbitf.c signbitd.c signbitl.c
+@GL_COND_OBJ_STRNCAT_TRUE@am__append_19 = strncat.c
+@LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT_TRUE@am__append_20 = unicase/empty-prefix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT_TRUE@am__append_21 = unicase/empty-suffix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_LOCALE_LANGUAGE_TRUE@am__append_22 = unicase/locale-language.c
+@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@am__append_23 = unicase/tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@am__append_24 = unicase/totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@am__append_25 = unicase/toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASECMP_TRUE@am__append_26 = unicase/u16-casecmp.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASECOLL_TRUE@am__append_27 = unicase/u16-casecoll.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASEFOLD_TRUE@am__append_28 = unicase/u16-casefold.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASEXFRM_TRUE@am__append_29 = unicase/u16-casexfrm.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_CASEFOLD_TRUE@am__append_30 = unicase/u16-ct-casefold.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOLOWER_TRUE@am__append_31 = unicase/u16-ct-tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOTITLE_TRUE@am__append_32 = unicase/u16-ct-totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOUPPER_TRUE@am__append_33 = unicase/u16-ct-toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASED_TRUE@am__append_34 = unicase/u16-is-cased.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASEFOLDED_TRUE@am__append_35 = unicase/u16-is-casefolded.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_LOWERCASE_TRUE@am__append_36 = unicase/u16-is-lowercase.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_TITLECASE_TRUE@am__append_37 = unicase/u16-is-titlecase.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_UPPERCASE_TRUE@am__append_38 = unicase/u16-is-uppercase.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_PREFIX_CONTEXT_TRUE@am__append_39 = unicase/u16-prefix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_SUFFIX_CONTEXT_TRUE@am__append_40 = unicase/u16-suffix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_TOLOWER_TRUE@am__append_41 = unicase/u16-tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_TOTITLE_TRUE@am__append_42 = unicase/u16-totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_U16_TOUPPER_TRUE@am__append_43 = unicase/u16-toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASECMP_TRUE@am__append_44 = unicase/u32-casecmp.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASECOLL_TRUE@am__append_45 = unicase/u32-casecoll.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASEFOLD_TRUE@am__append_46 = unicase/u32-casefold.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASEXFRM_TRUE@am__append_47 = unicase/u32-casexfrm.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_CASEFOLD_TRUE@am__append_48 = unicase/u32-ct-casefold.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOLOWER_TRUE@am__append_49 = unicase/u32-ct-tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOTITLE_TRUE@am__append_50 = unicase/u32-ct-totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOUPPER_TRUE@am__append_51 = unicase/u32-ct-toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASED_TRUE@am__append_52 = unicase/u32-is-cased.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASEFOLDED_TRUE@am__append_53 = unicase/u32-is-casefolded.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_LOWERCASE_TRUE@am__append_54 = unicase/u32-is-lowercase.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_TITLECASE_TRUE@am__append_55 = unicase/u32-is-titlecase.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_UPPERCASE_TRUE@am__append_56 = unicase/u32-is-uppercase.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_PREFIX_CONTEXT_TRUE@am__append_57 = unicase/u32-prefix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_SUFFIX_CONTEXT_TRUE@am__append_58 = unicase/u32-suffix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_TOLOWER_TRUE@am__append_59 = unicase/u32-tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_TOTITLE_TRUE@am__append_60 = unicase/u32-totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_U32_TOUPPER_TRUE@am__append_61 = unicase/u32-toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASECMP_TRUE@am__append_62 = unicase/u8-casecmp.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASECOLL_TRUE@am__append_63 = unicase/u8-casecoll.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASEFOLD_TRUE@am__append_64 = unicase/u8-casefold.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASEXFRM_TRUE@am__append_65 = unicase/u8-casexfrm.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_CASEFOLD_TRUE@am__append_66 = unicase/u8-ct-casefold.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOLOWER_TRUE@am__append_67 = unicase/u8-ct-tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOTITLE_TRUE@am__append_68 = unicase/u8-ct-totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOUPPER_TRUE@am__append_69 = unicase/u8-ct-toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASED_TRUE@am__append_70 = unicase/u8-is-cased.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASEFOLDED_TRUE@am__append_71 = unicase/u8-is-casefolded.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_LOWERCASE_TRUE@am__append_72 = unicase/u8-is-lowercase.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_TITLECASE_TRUE@am__append_73 = unicase/u8-is-titlecase.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_UPPERCASE_TRUE@am__append_74 = unicase/u8-is-uppercase.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_PREFIX_CONTEXT_TRUE@am__append_75 = unicase/u8-prefix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_SUFFIX_CONTEXT_TRUE@am__append_76 = unicase/u8-suffix-context.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_TOLOWER_TRUE@am__append_77 = unicase/u8-tolower.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_TOTITLE_TRUE@am__append_78 = unicase/u8-totitle.c
+@LIBUNISTRING_COMPILE_UNICASE_U8_TOUPPER_TRUE@am__append_79 = unicase/u8-toupper.c
+@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECMP_TRUE@am__append_80 = unicase/ulc-casecmp.c
+@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECOLL_TRUE@am__append_81 = unicase/ulc-casecoll.c
+@LIBUNISTRING_COMPILE_UNICASE_ULC_CASEXFRM_TRUE@am__append_82 = unicase/ulc-casexfrm.c
+@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_FROM_ENC_TRUE@am__append_83 = uniconv/u16-conv-from-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_TO_ENC_TRUE@am__append_84 = uniconv/u16-conv-to-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_ENC_TRUE@am__append_85 = uniconv/u16-strconv-from-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_LOCALE_TRUE@am__append_86 = uniconv/u16-strconv-from-locale.c
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_ENC_TRUE@am__append_87 = uniconv/u16-strconv-to-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_LOCALE_TRUE@am__append_88 = uniconv/u16-strconv-to-locale.c
+@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_FROM_ENC_TRUE@am__append_89 = uniconv/u32-conv-from-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_TO_ENC_TRUE@am__append_90 = uniconv/u32-conv-to-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_ENC_TRUE@am__append_91 = uniconv/u32-strconv-from-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_LOCALE_TRUE@am__append_92 = uniconv/u32-strconv-from-locale.c
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_ENC_TRUE@am__append_93 = uniconv/u32-strconv-to-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_LOCALE_TRUE@am__append_94 = uniconv/u32-strconv-to-locale.c
+@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__append_95 = uniconv/u8-conv-from-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_TO_ENC_TRUE@am__append_96 = uniconv/u8-conv-to-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_ENC_TRUE@am__append_97 = uniconv/u8-strconv-from-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_LOCALE_TRUE@am__append_98 = uniconv/u8-strconv-from-locale.c
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_ENC_TRUE@am__append_99 = uniconv/u8-strconv-to-enc.c
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE_TRUE@am__append_100 = uniconv/u8-strconv-to-locale.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_BYNAME_TRUE@am__append_101 = unictype/bidi_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_LONGNAME_TRUE@am__append_102 = unictype/bidi_longname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_NAME_TRUE@am__append_103 = unictype/bidi_name.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE@am__append_104 = unictype/bidi_of.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_TEST_TRUE@am__append_105 = unictype/bidi_test.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE@am__append_106 = unictype/blocks.c
+@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE@am__append_107 = unictype/block_test.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE@am__append_108 = unictype/categ_C.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE@am__append_109 = unictype/categ_Cc.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE@am__append_110 = unictype/categ_Cf.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE@am__append_111 = unictype/categ_Cn.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE@am__append_112 = unictype/categ_Co.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE@am__append_113 = unictype/categ_Cs.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE@am__append_114 = unictype/categ_L.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE@am__append_115 = unictype/categ_LC.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE@am__append_116 = unictype/categ_Ll.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE@am__append_117 = unictype/categ_Lm.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE@am__append_118 = unictype/categ_Lo.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE@am__append_119 = unictype/categ_Lt.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE@am__append_120 = unictype/categ_Lu.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE@am__append_121 = unictype/categ_M.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE@am__append_122 = unictype/categ_Mc.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE@am__append_123 = unictype/categ_Me.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE@am__append_124 = unictype/categ_Mn.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE@am__append_125 = unictype/categ_N.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE@am__append_126 = unictype/categ_Nd.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE@am__append_127 = unictype/categ_Nl.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE@am__append_128 = unictype/categ_No.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE@am__append_129 = unictype/categ_P.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE@am__append_130 = unictype/categ_Pc.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE@am__append_131 = unictype/categ_Pd.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE@am__append_132 = unictype/categ_Pe.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE@am__append_133 = unictype/categ_Pf.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE@am__append_134 = unictype/categ_Pi.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE@am__append_135 = unictype/categ_Po.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE@am__append_136 = unictype/categ_Ps.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE@am__append_137 = unictype/categ_S.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE@am__append_138 = unictype/categ_Sc.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE@am__append_139 = unictype/categ_Sk.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE@am__append_140 = unictype/categ_Sm.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE@am__append_141 = unictype/categ_So.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE@am__append_142 = unictype/categ_Z.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE@am__append_143 = unictype/categ_Zl.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE@am__append_144 = unictype/categ_Zp.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE@am__append_145 = unictype/categ_Zs.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE@am__append_146 = unictype/categ_and.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE@am__append_147 = unictype/categ_and_not.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE@am__append_148 = unictype/categ_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE@am__append_149 = unictype/categ_longname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE@am__append_150 = unictype/categ_name.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE@am__append_151 = unictype/categ_of.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE@am__append_152 = unictype/categ_or.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE@am__append_153 = unictype/categ_test.c
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE@am__append_154 = unictype/combiningclass.c
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_BYNAME_TRUE@am__append_155 = unictype/combiningclass_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_LONGNAME_TRUE@am__append_156 = unictype/combiningclass_longname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_NAME_TRUE@am__append_157 = unictype/combiningclass_name.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALNUM_TRUE@am__append_158 = unictype/ctype_alnum.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE@am__append_159 = unictype/ctype_alpha.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_BLANK_TRUE@am__append_160 = unictype/ctype_blank.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_CNTRL_TRUE@am__append_161 = unictype/ctype_cntrl.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_DIGIT_TRUE@am__append_162 = unictype/ctype_digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_GRAPH_TRUE@am__append_163 = unictype/ctype_graph.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_LOWER_TRUE@am__append_164 = unictype/ctype_lower.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE@am__append_165 = unictype/ctype_print.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PUNCT_TRUE@am__append_166 = unictype/ctype_punct.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__append_167 = unictype/ctype_space.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_UPPER_TRUE@am__append_168 = unictype/ctype_upper.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_XDIGIT_TRUE@am__append_169 = unictype/ctype_xdigit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT_TRUE@am__append_170 = unictype/decdigit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_DIGIT_TRUE@am__append_171 = unictype/digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE@am__append_172 = unictype/incb_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE@am__append_173 = unictype/incb_name.c
+@LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE@am__append_174 = unictype/incb_of.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME_TRUE@am__append_175 = unictype/joininggroup_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_NAME_TRUE@am__append_176 = unictype/joininggroup_name.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_OF_TRUE@am__append_177 = unictype/joininggroup_of.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_BYNAME_TRUE@am__append_178 = unictype/joiningtype_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_LONGNAME_TRUE@am__append_179 = unictype/joiningtype_longname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_NAME_TRUE@am__append_180 = unictype/joiningtype_name.c
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_OF_TRUE@am__append_181 = unictype/joiningtype_of.c
+@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@am__append_182 = unictype/mirror.c
+@LIBUNISTRING_COMPILE_UNICTYPE_NUMERIC_TRUE@am__append_183 = unictype/numeric.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE@am__append_184 = unictype/pr_alphabetic.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE@am__append_185 = unictype/pr_ascii_hex_digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE@am__append_186 = unictype/pr_bidi_arabic_digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE@am__append_187 = unictype/pr_bidi_arabic_right_to_left.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE@am__append_188 = unictype/pr_bidi_block_separator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE@am__append_189 = unictype/pr_bidi_boundary_neutral.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE@am__append_190 = unictype/pr_bidi_common_separator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE@am__append_191 = unictype/pr_bidi_control.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE@am__append_192 = unictype/pr_bidi_embedding_or_override.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE@am__append_193 = unictype/pr_bidi_eur_num_separator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE@am__append_194 = unictype/pr_bidi_eur_num_terminator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE@am__append_195 = unictype/pr_bidi_european_digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE@am__append_196 = unictype/pr_bidi_hebrew_right_to_left.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE@am__append_197 = unictype/pr_bidi_left_to_right.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE@am__append_198 = unictype/pr_bidi_non_spacing_mark.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE@am__append_199 = unictype/pr_bidi_other_neutral.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE@am__append_200 = unictype/pr_bidi_pdf.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE@am__append_201 = unictype/pr_bidi_segment_separator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE@am__append_202 = unictype/pr_bidi_whitespace.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE@am__append_203 = unictype/pr_byname.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE@am__append_204 = unictype/pr_case_ignorable.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE@am__append_205 = unictype/pr_cased.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE@am__append_206 = unictype/pr_changes_when_casefolded.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE@am__append_207 = unictype/pr_changes_when_casemapped.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE@am__append_208 = unictype/pr_changes_when_lowercased.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE@am__append_209 = unictype/pr_changes_when_titlecased.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE@am__append_210 = unictype/pr_changes_when_uppercased.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE@am__append_211 = unictype/pr_combining.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE@am__append_212 = unictype/pr_composite.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE@am__append_213 = unictype/pr_currency_symbol.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE@am__append_214 = unictype/pr_dash.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE@am__append_215 = unictype/pr_decimal_digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__append_216 = unictype/pr_default_ignorable_code_point.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE@am__append_217 = unictype/pr_deprecated.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE@am__append_218 = unictype/pr_diacritic.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_TRUE@am__append_219 = unictype/pr_emoji.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_COMPONENT_TRUE@am__append_220 = unictype/pr_emoji_component.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_TRUE@am__append_221 = unictype/pr_emoji_modifier.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_TRUE@am__append_222 = unictype/pr_emoji_modifier_base.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_TRUE@am__append_223 = unictype/pr_emoji_presentation.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_TRUE@am__append_224 = unictype/pr_extended_pictographic.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE@am__append_225 = unictype/pr_extender.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE@am__append_226 = unictype/pr_format_control.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE@am__append_227 = unictype/pr_grapheme_base.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE@am__append_228 = unictype/pr_grapheme_extend.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE@am__append_229 = unictype/pr_grapheme_link.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE@am__append_230 = unictype/pr_hex_digit.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE@am__append_231 = unictype/pr_hyphen.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE@am__append_232 = unictype/pr_id_compat_math_continue.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE@am__append_233 = unictype/pr_id_compat_math_start.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE@am__append_234 = unictype/pr_id_continue.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE@am__append_235 = unictype/pr_id_start.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE@am__append_236 = unictype/pr_ideographic.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE@am__append_237 = unictype/pr_ids_binary_operator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE@am__append_238 = unictype/pr_ids_trinary_operator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE@am__append_239 = unictype/pr_ids_unary_operator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE@am__append_240 = unictype/pr_ignorable_control.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE@am__append_241 = unictype/pr_iso_control.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE@am__append_242 = unictype/pr_join_control.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE@am__append_243 = unictype/pr_left_of_pair.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE@am__append_244 = unictype/pr_line_separator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE@am__append_245 = unictype/pr_logical_order_exception.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE@am__append_246 = unictype/pr_lowercase.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE@am__append_247 = unictype/pr_math.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE@am__append_248 = unictype/pr_non_break.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE@am__append_249 = unictype/pr_not_a_character.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE@am__append_250 = unictype/pr_numeric.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE@am__append_251 = unictype/pr_other_alphabetic.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__append_252 = unictype/pr_other_default_ignorable_code_point.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE@am__append_253 = unictype/pr_other_grapheme_extend.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE@am__append_254 = unictype/pr_other_id_continue.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE@am__append_255 = unictype/pr_other_id_start.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE@am__append_256 = unictype/pr_other_lowercase.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE@am__append_257 = unictype/pr_other_math.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE@am__append_258 = unictype/pr_other_uppercase.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE@am__append_259 = unictype/pr_paired_punctuation.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE@am__append_260 = unictype/pr_paragraph_separator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE@am__append_261 = unictype/pr_pattern_syntax.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE@am__append_262 = unictype/pr_pattern_white_space.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE@am__append_263 = unictype/pr_prepended_concatenation_mark.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE@am__append_264 = unictype/pr_private_use.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE@am__append_265 = unictype/pr_punctuation.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE@am__append_266 = unictype/pr_quotation_mark.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE@am__append_267 = unictype/pr_radical.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_TRUE@am__append_268 = unictype/pr_regional_indicator.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE@am__append_269 = unictype/pr_sentence_terminal.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE@am__append_270 = unictype/pr_soft_dotted.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE@am__append_271 = unictype/pr_space.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE@am__append_272 = unictype/pr_terminal_punctuation.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE@am__append_273 = unictype/pr_test.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE@am__append_274 = unictype/pr_titlecase.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE@am__append_275 = unictype/pr_unassigned_code_value.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE@am__append_276 = unictype/pr_unified_ideograph.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE@am__append_277 = unictype/pr_uppercase.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE@am__append_278 = unictype/pr_variation_selector.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE@am__append_279 = unictype/pr_white_space.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE@am__append_280 = unictype/pr_xid_continue.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE@am__append_281 = unictype/pr_xid_start.c
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE@am__append_282 = unictype/pr_zero_width.c
+@LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE@am__append_283 = unictype/scripts.c
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_IDENT_TRUE@am__append_284 = unictype/sy_c_ident.c
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_WHITESPACE_TRUE@am__append_285 = unictype/sy_c_whitespace.c
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_IDENT_TRUE@am__append_286 = unictype/sy_java_ident.c
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_WHITESPACE_TRUE@am__append_287 = unictype/sy_java_whitespace.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_BREAKS_TRUE@am__append_288 = unigbrk/u16-grapheme-breaks.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_NEXT_TRUE@am__append_289 = unigbrk/u16-grapheme-next.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_PREV_TRUE@am__append_290 = unigbrk/u16-grapheme-prev.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_BREAKS_TRUE@am__append_291 = unigbrk/u32-grapheme-breaks.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_NEXT_TRUE@am__append_292 = unigbrk/u32-grapheme-next.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_PREV_TRUE@am__append_293 = unigbrk/u32-grapheme-prev.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_BREAKS_TRUE@am__append_294 = unigbrk/u8-grapheme-breaks.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_NEXT_TRUE@am__append_295 = unigbrk/u8-grapheme-next.c
+@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_PREV_TRUE@am__append_296 = unigbrk/u8-grapheme-prev.c
+@LIBUNISTRING_COMPILE_UNIGBRK_UC_GBRK_PROP_TRUE@am__append_297 = unigbrk/uc-gbrk-prop.c
+@LIBUNISTRING_COMPILE_UNIGBRK_UC_GRAPHEME_BREAKS_TRUE@am__append_298 = unigbrk/uc-grapheme-breaks.c
+@LIBUNISTRING_COMPILE_UNIGBRK_UC_IS_GRAPHEME_BREAK_TRUE@am__append_299 = unigbrk/uc-is-grapheme-break.c
+@LIBUNISTRING_COMPILE_UNIGBRK_ULC_GRAPHEME_BREAKS_TRUE@am__append_300 = unigbrk/ulc-grapheme-breaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U16_POSSIBLE_LINEBREAKS_TRUE@am__append_301 = unilbrk/u16-possible-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U16_WIDTH_LINEBREAKS_TRUE@am__append_302 = unilbrk/u16-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U32_POSSIBLE_LINEBREAKS_TRUE@am__append_303 = unilbrk/u32-possible-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U32_WIDTH_LINEBREAKS_TRUE@am__append_304 = unilbrk/u32-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__append_305 = unilbrk/u8-possible-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__append_306 = unilbrk/u8-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS_TRUE@am__append_307 = unilbrk/ulc-possible-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__append_308 = unilbrk/ulc-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE@am__append_309 = unimetadata/u-version.c
+
+# Note: Compilation of this file takes a long time with gcc ≥ 11 and option
+# -fanalyzer. See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110112>.
+# The best workaround is to install GNU libunistring first, and use module
+# 'libunistring-optional' in your package.
+# An alternative workaround would be to pass the option -fno-analyzer, using
+# the technique from
+# https://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_310 = uniname/uniname.c
+@LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE@am__append_311 = uninorm/canonical-decomposition.c
+@LIBUNISTRING_COMPILE_UNINORM_COMPOSITION_TRUE@am__append_312 = uninorm/composition.c
+@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSING_FORM_TRUE@am__append_313 = uninorm/decomposing-form.c
+@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSITION_TRUE@am__append_314 = uninorm/decomposition.c
+@LIBUNISTRING_COMPILE_UNINORM_FILTER_TRUE@am__append_315 = uninorm/uninorm-filter.c
+@LIBUNISTRING_COMPILE_UNINORM_NFC_TRUE@am__append_316 = uninorm/nfc.c
+@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@am__append_317 = uninorm/nfd.c
+@LIBUNISTRING_COMPILE_UNINORM_NFKC_TRUE@am__append_318 = uninorm/nfkc.c
+@LIBUNISTRING_COMPILE_UNINORM_NFKD_TRUE@am__append_319 = uninorm/nfkd.c
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMALIZE_TRUE@am__append_320 = uninorm/u16-normalize.c
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCMP_TRUE@am__append_321 = uninorm/u16-normcmp.c
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCOLL_TRUE@am__append_322 = uninorm/u16-normcoll.c
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMXFRM_TRUE@am__append_323 = uninorm/u16-normxfrm.c
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE@am__append_324 = uninorm/u32-normalize.c
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCMP_TRUE@am__append_325 = uninorm/u32-normcmp.c
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCOLL_TRUE@am__append_326 = uninorm/u32-normcoll.c
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMXFRM_TRUE@am__append_327 = uninorm/u32-normxfrm.c
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMALIZE_TRUE@am__append_328 = uninorm/u8-normalize.c
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCMP_TRUE@am__append_329 = uninorm/u8-normcmp.c
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCOLL_TRUE@am__append_330 = uninorm/u8-normcoll.c
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMXFRM_TRUE@am__append_331 = uninorm/u8-normxfrm.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASNPRINTF_TRUE@am__append_332 = unistdio/u16-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASPRINTF_TRUE@am__append_333 = unistdio/u16-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_SNPRINTF_TRUE@am__append_334 = unistdio/u16-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_SPRINTF_TRUE@am__append_335 = unistdio/u16-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASNPRINTF_TRUE@am__append_336 = unistdio/u16-u16-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASPRINTF_TRUE@am__append_337 = unistdio/u16-u16-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SNPRINTF_TRUE@am__append_338 = unistdio/u16-u16-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SPRINTF_TRUE@am__append_339 = unistdio/u16-u16-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASNPRINTF_TRUE@am__append_340 = unistdio/u16-u16-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASPRINTF_TRUE@am__append_341 = unistdio/u16-u16-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSNPRINTF_TRUE@am__append_342 = unistdio/u16-u16-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSPRINTF_TRUE@am__append_343 = unistdio/u16-u16-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASNPRINTF_TRUE@am__append_344 = unistdio/u16-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASPRINTF_TRUE@am__append_345 = unistdio/u16-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSNPRINTF_TRUE@am__append_346 = unistdio/u16-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSPRINTF_TRUE@am__append_347 = unistdio/u16-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASNPRINTF_TRUE@am__append_348 = unistdio/u32-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASPRINTF_TRUE@am__append_349 = unistdio/u32-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_SNPRINTF_TRUE@am__append_350 = unistdio/u32-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_SPRINTF_TRUE@am__append_351 = unistdio/u32-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASNPRINTF_TRUE@am__append_352 = unistdio/u32-u32-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASPRINTF_TRUE@am__append_353 = unistdio/u32-u32-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SNPRINTF_TRUE@am__append_354 = unistdio/u32-u32-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SPRINTF_TRUE@am__append_355 = unistdio/u32-u32-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASNPRINTF_TRUE@am__append_356 = unistdio/u32-u32-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASPRINTF_TRUE@am__append_357 = unistdio/u32-u32-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSNPRINTF_TRUE@am__append_358 = unistdio/u32-u32-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSPRINTF_TRUE@am__append_359 = unistdio/u32-u32-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASNPRINTF_TRUE@am__append_360 = unistdio/u32-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASPRINTF_TRUE@am__append_361 = unistdio/u32-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSNPRINTF_TRUE@am__append_362 = unistdio/u32-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSPRINTF_TRUE@am__append_363 = unistdio/u32-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASNPRINTF_TRUE@am__append_364 = unistdio/u8-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASPRINTF_TRUE@am__append_365 = unistdio/u8-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_SNPRINTF_TRUE@am__append_366 = unistdio/u8-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_SPRINTF_TRUE@am__append_367 = unistdio/u8-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASNPRINTF_TRUE@am__append_368 = unistdio/u8-u8-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASPRINTF_TRUE@am__append_369 = unistdio/u8-u8-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SNPRINTF_TRUE@am__append_370 = unistdio/u8-u8-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SPRINTF_TRUE@am__append_371 = unistdio/u8-u8-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASNPRINTF_TRUE@am__append_372 = unistdio/u8-u8-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASPRINTF_TRUE@am__append_373 = unistdio/u8-u8-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSNPRINTF_TRUE@am__append_374 = unistdio/u8-u8-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSPRINTF_TRUE@am__append_375 = unistdio/u8-u8-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASNPRINTF_TRUE@am__append_376 = unistdio/u8-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASPRINTF_TRUE@am__append_377 = unistdio/u8-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSNPRINTF_TRUE@am__append_378 = unistdio/u8-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSPRINTF_TRUE@am__append_379 = unistdio/u8-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASNPRINTF_TRUE@am__append_380 = unistdio/ulc-asnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASPRINTF_TRUE@am__append_381 = unistdio/ulc-asprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_FPRINTF_TRUE@am__append_382 = unistdio/ulc-fprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SNPRINTF_TRUE@am__append_383 = unistdio/ulc-snprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SPRINTF_TRUE@am__append_384 = unistdio/ulc-sprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASNPRINTF_TRUE@am__append_385 = unistdio/ulc-vasnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASPRINTF_TRUE@am__append_386 = unistdio/ulc-vasprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VFPRINTF_TRUE@am__append_387 = unistdio/ulc-vfprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSNPRINTF_TRUE@am__append_388 = unistdio/ulc-vsnprintf.c
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSPRINTF_TRUE@am__append_389 = unistdio/ulc-vsprintf.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_CHECK_TRUE@am__append_390 = unistr/u16-check.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_CHR_TRUE@am__append_391 = unistr/u16-chr.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_CMP_TRUE@am__append_392 = unistr/u16-cmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_CMP2_TRUE@am__append_393 = unistr/u16-cmp2.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_TRUE@am__append_394 = unistr/u16-cpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_ALLOC_TRUE@am__append_395 = unistr/u16-cpy-alloc.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_ENDSWITH_TRUE@am__append_396 = unistr/u16-endswith.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBLEN_TRUE@am__append_397 = unistr/u16-mblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBSNLEN_TRUE@am__append_398 = unistr/u16-mbsnlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__append_399 = unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_UNSAFE_TRUE@am__append_400 = unistr/u16-mbtouc-unsafe.c unistr/u16-mbtouc-unsafe-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUCR_TRUE@am__append_401 = unistr/u16-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MOVE_TRUE@am__append_402 = unistr/u16-move.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_NEXT_TRUE@am__append_403 = unistr/u16-next.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE@am__append_404 = unistr/u16-pcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_PREV_TRUE@am__append_405 = unistr/u16-prev.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_SET_TRUE@am__append_406 = unistr/u16-set.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STARTSWITH_TRUE@am__append_407 = unistr/u16-startswith.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STPCPY_TRUE@am__append_408 = unistr/u16-stpcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STPNCPY_TRUE@am__append_409 = unistr/u16-stpncpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCAT_TRUE@am__append_410 = unistr/u16-strcat.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCHR_TRUE@am__append_411 = unistr/u16-strchr.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCMP_TRUE@am__append_412 = unistr/u16-strcmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCOLL_TRUE@am__append_413 = unistr/u16-strcoll.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCPY_TRUE@am__append_414 = unistr/u16-strcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCSPN_TRUE@am__append_415 = unistr/u16-strcspn.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRDUP_TRUE@am__append_416 = unistr/u16-strdup.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRLEN_TRUE@am__append_417 = unistr/u16-strlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBLEN_TRUE@am__append_418 = unistr/u16-strmblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBTOUC_TRUE@am__append_419 = unistr/u16-strmbtouc.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCAT_TRUE@am__append_420 = unistr/u16-strncat.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCMP_TRUE@am__append_421 = unistr/u16-strncmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCPY_TRUE@am__append_422 = unistr/u16-strncpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNLEN_TRUE@am__append_423 = unistr/u16-strnlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRPBRK_TRUE@am__append_424 = unistr/u16-strpbrk.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRRCHR_TRUE@am__append_425 = unistr/u16-strrchr.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRSPN_TRUE@am__append_426 = unistr/u16-strspn.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRSTR_TRUE@am__append_427 = unistr/u16-strstr.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRTOK_TRUE@am__append_428 = unistr/u16-strtok.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U32_TRUE@am__append_429 = unistr/u16-to-u32.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U8_TRUE@am__append_430 = unistr/u16-to-u8.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_UCTOMB_TRUE@am__append_431 = unistr/u16-uctomb.c unistr/u16-uctomb-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_CHECK_TRUE@am__append_432 = unistr/u32-check.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_CHR_TRUE@am__append_433 = unistr/u32-chr.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_CMP_TRUE@am__append_434 = unistr/u32-cmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_CMP2_TRUE@am__append_435 = unistr/u32-cmp2.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@am__append_436 = unistr/u32-cpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_ALLOC_TRUE@am__append_437 = unistr/u32-cpy-alloc.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_ENDSWITH_TRUE@am__append_438 = unistr/u32-endswith.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBLEN_TRUE@am__append_439 = unistr/u32-mblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBSNLEN_TRUE@am__append_440 = unistr/u32-mbsnlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_TRUE@am__append_441 = unistr/u32-mbtouc.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE@am__append_442 = unistr/u32-mbtouc-unsafe.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUCR_TRUE@am__append_443 = unistr/u32-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_MOVE_TRUE@am__append_444 = unistr/u32-move.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_NEXT_TRUE@am__append_445 = unistr/u32-next.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE@am__append_446 = unistr/u32-pcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_PREV_TRUE@am__append_447 = unistr/u32-prev.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_SET_TRUE@am__append_448 = unistr/u32-set.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STARTSWITH_TRUE@am__append_449 = unistr/u32-startswith.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STPCPY_TRUE@am__append_450 = unistr/u32-stpcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STPNCPY_TRUE@am__append_451 = unistr/u32-stpncpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCAT_TRUE@am__append_452 = unistr/u32-strcat.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCHR_TRUE@am__append_453 = unistr/u32-strchr.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCMP_TRUE@am__append_454 = unistr/u32-strcmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCOLL_TRUE@am__append_455 = unistr/u32-strcoll.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCPY_TRUE@am__append_456 = unistr/u32-strcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCSPN_TRUE@am__append_457 = unistr/u32-strcspn.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRDUP_TRUE@am__append_458 = unistr/u32-strdup.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRLEN_TRUE@am__append_459 = unistr/u32-strlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBLEN_TRUE@am__append_460 = unistr/u32-strmblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBTOUC_TRUE@am__append_461 = unistr/u32-strmbtouc.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCAT_TRUE@am__append_462 = unistr/u32-strncat.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCMP_TRUE@am__append_463 = unistr/u32-strncmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCPY_TRUE@am__append_464 = unistr/u32-strncpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNLEN_TRUE@am__append_465 = unistr/u32-strnlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRPBRK_TRUE@am__append_466 = unistr/u32-strpbrk.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRRCHR_TRUE@am__append_467 = unistr/u32-strrchr.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRSPN_TRUE@am__append_468 = unistr/u32-strspn.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRSTR_TRUE@am__append_469 = unistr/u32-strstr.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRTOK_TRUE@am__append_470 = unistr/u32-strtok.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U16_TRUE@am__append_471 = unistr/u32-to-u16.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE@am__append_472 = unistr/u32-to-u8.c
+@LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE@am__append_473 = unistr/u32-uctomb.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_474 = unistr/u8-check.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHR_TRUE@am__append_475 = unistr/u8-chr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE@am__append_476 = unistr/u8-cmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CMP2_TRUE@am__append_477 = unistr/u8-cmp2.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_TRUE@am__append_478 = unistr/u8-cpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_ALLOC_TRUE@am__append_479 = unistr/u8-cpy-alloc.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_ENDSWITH_TRUE@am__append_480 = unistr/u8-endswith.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__append_481 = unistr/u8-mblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBSNLEN_TRUE@am__append_482 = unistr/u8-mbsnlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__append_483 = unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__append_484 = unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_485 = unistr/u8-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MOVE_TRUE@am__append_486 = unistr/u8-move.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@am__append_487 = unistr/u8-next.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE@am__append_488 = unistr/u8-pcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__append_489 = unistr/u8-prev.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_SET_TRUE@am__append_490 = unistr/u8-set.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STARTSWITH_TRUE@am__append_491 = unistr/u8-startswith.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STPCPY_TRUE@am__append_492 = unistr/u8-stpcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STPNCPY_TRUE@am__append_493 = unistr/u8-stpncpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCAT_TRUE@am__append_494 = unistr/u8-strcat.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCHR_TRUE@am__append_495 = unistr/u8-strchr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCMP_TRUE@am__append_496 = unistr/u8-strcmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCOLL_TRUE@am__append_497 = unistr/u8-strcoll.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCPY_TRUE@am__append_498 = unistr/u8-strcpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCSPN_TRUE@am__append_499 = unistr/u8-strcspn.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRDUP_TRUE@am__append_500 = unistr/u8-strdup.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_TRUE@am__append_501 = unistr/u8-strlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE@am__append_502 = unistr/u8-strmblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE@am__append_503 = unistr/u8-strmbtouc.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCAT_TRUE@am__append_504 = unistr/u8-strncat.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCMP_TRUE@am__append_505 = unistr/u8-strncmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCPY_TRUE@am__append_506 = unistr/u8-strncpy.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNLEN_TRUE@am__append_507 = unistr/u8-strnlen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRPBRK_TRUE@am__append_508 = unistr/u8-strpbrk.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRRCHR_TRUE@am__append_509 = unistr/u8-strrchr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRSPN_TRUE@am__append_510 = unistr/u8-strspn.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRSTR_TRUE@am__append_511 = unistr/u8-strstr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRTOK_TRUE@am__append_512 = unistr/u8-strtok.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U16_TRUE@am__append_513 = unistr/u8-to-u16.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE@am__append_514 = unistr/u8-to-u32.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_515 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+@LIBUNISTRING_COMPILE_UNIWBRK_U16_WORDBREAKS_TRUE@am__append_516 = uniwbrk/u16-wordbreaks.c
+@LIBUNISTRING_COMPILE_UNIWBRK_U32_WORDBREAKS_TRUE@am__append_517 = uniwbrk/u32-wordbreaks.c
+@LIBUNISTRING_COMPILE_UNIWBRK_U8_WORDBREAKS_TRUE@am__append_518 = uniwbrk/u8-wordbreaks.c
+@LIBUNISTRING_COMPILE_UNIWBRK_ULC_WORDBREAKS_TRUE@am__append_519 = uniwbrk/ulc-wordbreaks.c
+@LIBUNISTRING_COMPILE_UNIWBRK_WORDBREAK_PROPERTY_TRUE@am__append_520 = uniwbrk/wordbreak-property.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_U16_STRWIDTH_TRUE@am__append_521 = uniwidth/u16-strwidth.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_U16_WIDTH_TRUE@am__append_522 = uniwidth/u16-width.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_U32_STRWIDTH_TRUE@am__append_523 = uniwidth/u32-strwidth.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_U32_WIDTH_TRUE@am__append_524 = uniwidth/u32-width.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_U8_STRWIDTH_TRUE@am__append_525 = uniwidth/u8-strwidth.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_U8_WIDTH_TRUE@am__append_526 = uniwidth/u8-width.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_527 = uniwidth/width.c
+@GL_COND_OBJ_WCWIDTH_TRUE@am__append_528 = wcwidth.c
+@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__append_529 = windows-mutex.c
+@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__append_530 = windows-once.c
+@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__append_531 = windows-recmutex.c
+@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__append_532 = windows-rwlock.c
# Tell the mingw or Cygwin linker which symbols to export.
-@WOE32DLL_TRUE@am__append_520 = ../woe32dll/unistring-exports.c
-@WOE32DLL_TRUE@am__append_521 = -Wl,--export-all-symbols
-@WOE32_TRUE@am__append_522 = libunistring.res.lo
+@WOE32DLL_TRUE@am__append_533 = ../woe32dll/unistring-exports.c
+@WOE32DLL_TRUE@am__append_534 = -Wl,--export-all-symbols
+@WOE32_TRUE@am__append_535 = libunistring.res.lo
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib-m4/__inline.m4 \
$(top_srcdir)/gnulib-m4/absolute-header.m4 \
$(top_srcdir)/gnulib-m4/alloca.m4 \
$(top_srcdir)/gnulib-m4/arpa_inet_h.m4 \
@@ -1016,6 +1045,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/builtin-expect.m4 \
$(top_srcdir)/gnulib-m4/c-bool.m4 \
+ $(top_srcdir)/gnulib-m4/c32rtomb.m4 \
$(top_srcdir)/gnulib-m4/calloc.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/codeset.m4 \
@@ -1026,6 +1056,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/environ.m4 \
$(top_srcdir)/gnulib-m4/errno_h.m4 \
$(top_srcdir)/gnulib-m4/error.m4 \
+ $(top_srcdir)/gnulib-m4/error_h.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
$(top_srcdir)/gnulib-m4/exponentf.m4 \
$(top_srcdir)/gnulib-m4/exponentl.m4 \
@@ -1070,6 +1101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/iswdigit.m4 \
+ $(top_srcdir)/gnulib-m4/iswpunct.m4 \
$(top_srcdir)/gnulib-m4/iswxdigit.m4 \
$(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
@@ -1095,6 +1127,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/math_h.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
+ $(top_srcdir)/gnulib-m4/mbrtoc32.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
$(top_srcdir)/gnulib-m4/mbsinit.m4 \
$(top_srcdir)/gnulib-m4/mbstate_t.m4 \
@@ -1107,6 +1140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib-m4/multiarch.m4 \
$(top_srcdir)/gnulib-m4/musl.m4 \
+ $(top_srcdir)/gnulib-m4/nan-mips.m4 \
$(top_srcdir)/gnulib-m4/nanosleep.m4 \
$(top_srcdir)/gnulib-m4/netinet_in_h.m4 \
$(top_srcdir)/gnulib-m4/nocrash.m4 \
@@ -1127,6 +1161,8 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/pthread_sigmask.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/raise.m4 \
+ $(top_srcdir)/gnulib-m4/random.m4 \
+ $(top_srcdir)/gnulib-m4/random_r.m4 \
$(top_srcdir)/gnulib-m4/realloc.m4 \
$(top_srcdir)/gnulib-m4/reallocarray.m4 \
$(top_srcdir)/gnulib-m4/relocatable-lib.m4 \
@@ -1142,6 +1178,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/size_max.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
+ $(top_srcdir)/gnulib-m4/snan.m4 \
$(top_srcdir)/gnulib-m4/socketlib.m4 \
$(top_srcdir)/gnulib-m4/sockets.m4 \
$(top_srcdir)/gnulib-m4/socklen.m4 \
@@ -1170,7 +1207,13 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/sys_uio_h.m4 \
$(top_srcdir)/gnulib-m4/thread.m4 \
$(top_srcdir)/gnulib-m4/threadlib.m4 \
+ $(top_srcdir)/gnulib-m4/time.m4 \
$(top_srcdir)/gnulib-m4/time_h.m4 \
+ $(top_srcdir)/gnulib-m4/uchar_h.m4 \
+ $(top_srcdir)/gnulib-m4/unicase_h.m4 \
+ $(top_srcdir)/gnulib-m4/unictype_h.m4 \
+ $(top_srcdir)/gnulib-m4/unimetadata_h.m4 \
+ $(top_srcdir)/gnulib-m4/uninorm_h.m4 \
$(top_srcdir)/gnulib-m4/unistd_h.m4 \
$(top_srcdir)/gnulib-m4/usleep.m4 \
$(top_srcdir)/gnulib-m4/vasnprintf.m4 \
@@ -1186,7 +1229,6 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/wint_t.m4 \
$(top_srcdir)/gnulib-m4/xalloc.m4 \
$(top_srcdir)/gnulib-m4/xsize.m4 \
- $(top_srcdir)/gnulib-m4/year2038.m4 \
$(top_srcdir)/gnulib-m4/yield.m4 \
$(top_srcdir)/gnulib-m4/zzgnulib.m4 \
$(top_srcdir)/m4/exported.m4 \
@@ -1236,16 +1278,21 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@WOE32_TRUE@am__DEPENDENCIES_2 = libunistring.res.lo
am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
- c-strcase.h c-strcasecmp.c c-strncasecmp.c float.c itold.c \
- free.c fseterr.c hard-locale.c iconv_open.c iconv.c \
- iconv_close.c idx.h iswblank.c iswdigit.c iswxdigit.c \
- localcharset.c localename.c localename-table.c glthread/lock.h \
- glthread/lock.c malloca.c math.c mbchar.c mbiter.h mbiter.c \
- mbrtowc.c mbsinit.c mbsnlen.c memchr.c memcmp2.c minmax.h \
- printf-frexp.c printf-frexpl.c setlocale_null.c \
- setlocale-lock.c signbitf.c signbitd.c signbitl.c size_max.h \
- striconveh.h striconveh.c striconveha.h striconveha.c \
- strncat.c glthread/threadlib.c unicase/cased.c \
+ c-strcase.h c-strcasecmp.c c-strncasecmp.c c32isalnum.c \
+ c32isalpha.c c32isblank.c c32iscntrl.c c32isdigit.c \
+ c32isgraph.c c32islower.c c32isprint.c c32ispunct.c \
+ c32isspace.c c32isupper.c c32isxdigit.c c32tolower.c \
+ c32width.c float.c itold.c free.c fseterr.c hard-locale.c \
+ iconv_open.c iconv.c iconv_close.c idx.h iswblank.c iswdigit.c \
+ iswpunct.c iswxdigit.c localcharset.c localename.c \
+ localename-unsafe.c localename-table.c glthread/lock.h \
+ glthread/lock.c malloca.c math.c mbchar.c mbiterf.h mbiterf.c \
+ mbrtoc32.c mbrtowc.c mbsinit.c mbsnlen.c mbszero.c memchr.c \
+ memcmp2.c minmax.h printf-frexp.c printf-frexpl.c \
+ setlocale_null.c setlocale-lock.c setlocale_null-unlocked.c \
+ signbitf.c signbitd.c signbitl.c size_max.h striconveh.h \
+ striconveh.c striconveha.h striconveha.c strncat.c \
+ glthread/threadlib.c unicase/cased.c \
unicase/empty-prefix-context.c unicase/empty-suffix-context.c \
unicase/ignorable.c unicase/locale-language.c \
unicase/special-casing.c unicase/tocasefold.c \
@@ -1319,6 +1366,7 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
unictype/ctype_print.c unictype/ctype_punct.c \
unictype/ctype_space.c unictype/ctype_upper.c \
unictype/ctype_xdigit.c unictype/decdigit.c unictype/digit.c \
+ unictype/incb_byname.c unictype/incb_name.c unictype/incb_of.c \
unictype/joininggroup_byname.c unictype/joininggroup_name.c \
unictype/joininggroup_of.c unictype/joiningtype_byname.c \
unictype/joiningtype_longname.c unictype/joiningtype_name.c \
@@ -1356,9 +1404,12 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
unictype/pr_format_control.c unictype/pr_grapheme_base.c \
unictype/pr_grapheme_extend.c unictype/pr_grapheme_link.c \
unictype/pr_hex_digit.c unictype/pr_hyphen.c \
- unictype/pr_id_continue.c unictype/pr_id_start.c \
- unictype/pr_ideographic.c unictype/pr_ids_binary_operator.c \
+ unictype/pr_id_compat_math_continue.c \
+ unictype/pr_id_compat_math_start.c unictype/pr_id_continue.c \
+ unictype/pr_id_start.c unictype/pr_ideographic.c \
+ unictype/pr_ids_binary_operator.c \
unictype/pr_ids_trinary_operator.c \
+ unictype/pr_ids_unary_operator.c \
unictype/pr_ignorable_control.c unictype/pr_iso_control.c \
unictype/pr_join_control.c unictype/pr_left_of_pair.c \
unictype/pr_line_separator.c \
@@ -1372,9 +1423,11 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
unictype/pr_other_lowercase.c unictype/pr_other_math.c \
unictype/pr_other_uppercase.c unictype/pr_paired_punctuation.c \
unictype/pr_paragraph_separator.c unictype/pr_pattern_syntax.c \
- unictype/pr_pattern_white_space.c unictype/pr_private_use.c \
- unictype/pr_punctuation.c unictype/pr_quotation_mark.c \
- unictype/pr_radical.c unictype/pr_regional_indicator.c \
+ unictype/pr_pattern_white_space.c \
+ unictype/pr_prepended_concatenation_mark.c \
+ unictype/pr_private_use.c unictype/pr_punctuation.c \
+ unictype/pr_quotation_mark.c unictype/pr_radical.c \
+ unictype/pr_regional_indicator.c \
unictype/pr_sentence_terminal.c unictype/pr_soft_dotted.c \
unictype/pr_space.c unictype/pr_terminal_punctuation.c \
unictype/pr_test.c unictype/pr_titlecase.c \
@@ -1398,8 +1451,8 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
unilbrk/u32-width-linebreaks.c \
unilbrk/u8-possible-linebreaks.c unilbrk/u8-width-linebreaks.c \
unilbrk/ulc-common.c unilbrk/ulc-possible-linebreaks.c \
- unilbrk/ulc-width-linebreaks.c uniname/uniname.c \
- uninorm/canonical-decomposition.c \
+ unilbrk/ulc-width-linebreaks.c unimetadata/u-version.c \
+ uniname/uniname.c uninorm/canonical-decomposition.c \
uninorm/compat-decomposition.c uninorm/composition.c \
uninorm/decompose-internal.c uninorm/decomposing-form.c \
uninorm/decomposition.c uninorm/decomposition-table.c \
@@ -1448,21 +1501,22 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c \
unistr/u16-mbtouc-unsafe.c unistr/u16-mbtouc-unsafe-aux.c \
unistr/u16-mbtoucr.c unistr/u16-move.c unistr/u16-next.c \
- unistr/u16-prev.c unistr/u16-set.c unistr/u16-startswith.c \
- unistr/u16-stpcpy.c unistr/u16-stpncpy.c unistr/u16-strcat.c \
- unistr/u16-strchr.c unistr/u16-strcmp.c unistr/u16-strcoll.c \
- unistr/u16-strcpy.c unistr/u16-strcspn.c unistr/u16-strdup.c \
- unistr/u16-strlen.c unistr/u16-strmblen.c \
- unistr/u16-strmbtouc.c unistr/u16-strncat.c \
- unistr/u16-strncmp.c unistr/u16-strncpy.c unistr/u16-strnlen.c \
- unistr/u16-strpbrk.c unistr/u16-strrchr.c unistr/u16-strspn.c \
- unistr/u16-strstr.c unistr/u16-strtok.c unistr/u16-to-u32.c \
- unistr/u16-to-u8.c unistr/u16-uctomb.c unistr/u16-uctomb-aux.c \
- unistr/u32-check.c unistr/u32-chr.c unistr/u32-cmp.c \
- unistr/u32-cmp2.c unistr/u32-cpy.c unistr/u32-cpy-alloc.c \
- unistr/u32-endswith.c unistr/u32-mblen.c unistr/u32-mbsnlen.c \
- unistr/u32-mbtouc.c unistr/u32-mbtouc-unsafe.c \
- unistr/u32-mbtoucr.c unistr/u32-move.c unistr/u32-next.c \
+ unistr/u16-pcpy.c unistr/u16-prev.c unistr/u16-set.c \
+ unistr/u16-startswith.c unistr/u16-stpcpy.c \
+ unistr/u16-stpncpy.c unistr/u16-strcat.c unistr/u16-strchr.c \
+ unistr/u16-strcmp.c unistr/u16-strcoll.c unistr/u16-strcpy.c \
+ unistr/u16-strcspn.c unistr/u16-strdup.c unistr/u16-strlen.c \
+ unistr/u16-strmblen.c unistr/u16-strmbtouc.c \
+ unistr/u16-strncat.c unistr/u16-strncmp.c unistr/u16-strncpy.c \
+ unistr/u16-strnlen.c unistr/u16-strpbrk.c unistr/u16-strrchr.c \
+ unistr/u16-strspn.c unistr/u16-strstr.c unistr/u16-strtok.c \
+ unistr/u16-to-u32.c unistr/u16-to-u8.c unistr/u16-uctomb.c \
+ unistr/u16-uctomb-aux.c unistr/u32-check.c unistr/u32-chr.c \
+ unistr/u32-cmp.c unistr/u32-cmp2.c unistr/u32-cpy.c \
+ unistr/u32-cpy-alloc.c unistr/u32-endswith.c \
+ unistr/u32-mblen.c unistr/u32-mbsnlen.c unistr/u32-mbtouc.c \
+ unistr/u32-mbtouc-unsafe.c unistr/u32-mbtoucr.c \
+ unistr/u32-move.c unistr/u32-next.c unistr/u32-pcpy.c \
unistr/u32-prev.c unistr/u32-set.c unistr/u32-startswith.c \
unistr/u32-stpcpy.c unistr/u32-stpncpy.c unistr/u32-strcat.c \
unistr/u32-strchr.c unistr/u32-strcmp.c unistr/u32-strcoll.c \
@@ -1478,24 +1532,25 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
unistr/u8-mblen.c unistr/u8-mbsnlen.c unistr/u8-mbtouc.c \
unistr/u8-mbtouc-aux.c unistr/u8-mbtouc-unsafe.c \
unistr/u8-mbtouc-unsafe-aux.c unistr/u8-mbtoucr.c \
- unistr/u8-move.c unistr/u8-next.c unistr/u8-prev.c \
- unistr/u8-set.c unistr/u8-startswith.c unistr/u8-stpcpy.c \
- unistr/u8-stpncpy.c unistr/u8-strcat.c unistr/u8-strchr.c \
- unistr/u8-strcmp.c unistr/u8-strcoll.c unistr/u8-strcpy.c \
- unistr/u8-strcspn.c unistr/u8-strdup.c unistr/u8-strlen.c \
- unistr/u8-strmblen.c unistr/u8-strmbtouc.c unistr/u8-strncat.c \
- unistr/u8-strncmp.c unistr/u8-strncpy.c unistr/u8-strnlen.c \
- unistr/u8-strpbrk.c unistr/u8-strrchr.c unistr/u8-strspn.c \
- unistr/u8-strstr.c unistr/u8-strtok.c unistr/u8-to-u16.c \
- unistr/u8-to-u32.c unistr/u8-uctomb.c unistr/u8-uctomb-aux.c \
- uniwbrk/wbrktable.c uniwbrk/u16-wordbreaks.c \
- uniwbrk/u32-wordbreaks.c uniwbrk/u8-wordbreaks.c \
- uniwbrk/ulc-wordbreaks.c uniwbrk/wordbreak-property.c \
- uniwidth/u16-strwidth.c uniwidth/u16-width.c \
- uniwidth/u32-strwidth.c uniwidth/u32-width.c \
- uniwidth/u8-strwidth.c uniwidth/u8-width.c uniwidth/width.c \
- wctype-h.c wcwidth.c windows-mutex.c windows-once.c \
- windows-recmutex.c windows-rwlock.c xsize.h xsize.c version.c \
+ unistr/u8-move.c unistr/u8-next.c unistr/u8-pcpy.c \
+ unistr/u8-prev.c unistr/u8-set.c unistr/u8-startswith.c \
+ unistr/u8-stpcpy.c unistr/u8-stpncpy.c unistr/u8-strcat.c \
+ unistr/u8-strchr.c unistr/u8-strcmp.c unistr/u8-strcoll.c \
+ unistr/u8-strcpy.c unistr/u8-strcspn.c unistr/u8-strdup.c \
+ unistr/u8-strlen.c unistr/u8-strmblen.c unistr/u8-strmbtouc.c \
+ unistr/u8-strncat.c unistr/u8-strncmp.c unistr/u8-strncpy.c \
+ unistr/u8-strnlen.c unistr/u8-strpbrk.c unistr/u8-strrchr.c \
+ unistr/u8-strspn.c unistr/u8-strstr.c unistr/u8-strtok.c \
+ unistr/u8-to-u16.c unistr/u8-to-u32.c unistr/u8-uctomb.c \
+ unistr/u8-uctomb-aux.c uniwbrk/wbrktable.c \
+ uniwbrk/u16-wordbreaks.c uniwbrk/u32-wordbreaks.c \
+ uniwbrk/u8-wordbreaks.c uniwbrk/ulc-wordbreaks.c \
+ uniwbrk/wordbreak-property.c uniwidth/u16-strwidth.c \
+ uniwidth/u16-width.c uniwidth/u32-strwidth.c \
+ uniwidth/u32-width.c uniwidth/u8-strwidth.c \
+ uniwidth/u8-width.c uniwidth/width.c wctype-h.c wcwidth.c \
+ windows-mutex.c windows-once.c windows-recmutex.c \
+ windows-rwlock.c xsize.h xsize.c version.c \
../woe32dll/unistring-exports.c
@GL_COND_OBJ_FLOAT_TRUE@am__objects_1 = libunistring_la-float.lo
@GL_COND_OBJ_ITOLD_TRUE@am__objects_2 = libunistring_la-itold.lo
@@ -1509,739 +1564,769 @@ am__libunistring_la_SOURCES_DIST = amemxfrm.c c-ctype.h c-ctype.c \
@GL_COND_OBJ_ISWBLANK_TRUE@ libunistring_la-iswblank.lo
@GL_COND_OBJ_ISWDIGIT_TRUE@am__objects_8 = \
@GL_COND_OBJ_ISWDIGIT_TRUE@ libunistring_la-iswdigit.lo
-@GL_COND_OBJ_ISWXDIGIT_TRUE@am__objects_9 = \
+@GL_COND_OBJ_ISWPUNCT_TRUE@am__objects_9 = \
+@GL_COND_OBJ_ISWPUNCT_TRUE@ libunistring_la-iswpunct.lo
+@GL_COND_OBJ_ISWXDIGIT_TRUE@am__objects_10 = \
@GL_COND_OBJ_ISWXDIGIT_TRUE@ libunistring_la-iswxdigit.lo
+@GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_FALSE@am__objects_11 = libunistring_la-localename-unsafe.lo
+@GL_COND_OBJ_LOCALENAME_UNSAFE_LIMITED_TRUE@am__objects_12 = libunistring_la-localename-unsafe.lo
am__dirstamp = $(am__leading_dot)dirstamp
-@GL_COND_OBJ_MBRTOWC_TRUE@am__objects_10 = libunistring_la-mbrtowc.lo
-@GL_COND_OBJ_MBSINIT_TRUE@am__objects_11 = libunistring_la-mbsinit.lo
-@GL_COND_OBJ_MEMCHR_TRUE@am__objects_12 = libunistring_la-memchr.lo
-@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__objects_13 = libunistring_la-setlocale-lock.lo
-@GL_COND_OBJ_SIGNBIT3_TRUE@am__objects_14 = \
+@GL_COND_OBJ_MBRTOC32_TRUE@am__objects_13 = \
+@GL_COND_OBJ_MBRTOC32_TRUE@ libunistring_la-mbrtoc32.lo
+@GL_COND_OBJ_MBRTOWC_TRUE@am__objects_14 = libunistring_la-mbrtowc.lo
+@GL_COND_OBJ_MBSINIT_TRUE@am__objects_15 = libunistring_la-mbsinit.lo
+@GL_COND_OBJ_MEMCHR_TRUE@am__objects_16 = libunistring_la-memchr.lo
+@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__objects_17 = libunistring_la-setlocale-lock.lo
+@GL_COND_OBJ_SIGNBIT3_TRUE@am__objects_18 = \
@GL_COND_OBJ_SIGNBIT3_TRUE@ libunistring_la-signbitf.lo \
@GL_COND_OBJ_SIGNBIT3_TRUE@ libunistring_la-signbitd.lo \
@GL_COND_OBJ_SIGNBIT3_TRUE@ libunistring_la-signbitl.lo
-@GL_COND_OBJ_STRNCAT_TRUE@am__objects_15 = libunistring_la-strncat.lo
-@LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT_TRUE@am__objects_16 = unicase/libunistring_la-empty-prefix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT_TRUE@am__objects_17 = unicase/libunistring_la-empty-suffix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_LOCALE_LANGUAGE_TRUE@am__objects_18 = unicase/libunistring_la-locale-language.lo
-@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@am__objects_19 = unicase/libunistring_la-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@am__objects_20 = unicase/libunistring_la-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@am__objects_21 = unicase/libunistring_la-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASECMP_TRUE@am__objects_22 = unicase/libunistring_la-u16-casecmp.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASECOLL_TRUE@am__objects_23 = unicase/libunistring_la-u16-casecoll.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASEFOLD_TRUE@am__objects_24 = unicase/libunistring_la-u16-casefold.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CASEXFRM_TRUE@am__objects_25 = unicase/libunistring_la-u16-casexfrm.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_CASEFOLD_TRUE@am__objects_26 = unicase/libunistring_la-u16-ct-casefold.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOLOWER_TRUE@am__objects_27 = unicase/libunistring_la-u16-ct-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOTITLE_TRUE@am__objects_28 = unicase/libunistring_la-u16-ct-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOUPPER_TRUE@am__objects_29 = unicase/libunistring_la-u16-ct-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASED_TRUE@am__objects_30 = unicase/libunistring_la-u16-is-cased.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASEFOLDED_TRUE@am__objects_31 = unicase/libunistring_la-u16-is-casefolded.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_LOWERCASE_TRUE@am__objects_32 = unicase/libunistring_la-u16-is-lowercase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_TITLECASE_TRUE@am__objects_33 = unicase/libunistring_la-u16-is-titlecase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_IS_UPPERCASE_TRUE@am__objects_34 = unicase/libunistring_la-u16-is-uppercase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_PREFIX_CONTEXT_TRUE@am__objects_35 = unicase/libunistring_la-u16-prefix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_SUFFIX_CONTEXT_TRUE@am__objects_36 = unicase/libunistring_la-u16-suffix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_TOLOWER_TRUE@am__objects_37 = unicase/libunistring_la-u16-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_TOTITLE_TRUE@am__objects_38 = unicase/libunistring_la-u16-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_U16_TOUPPER_TRUE@am__objects_39 = unicase/libunistring_la-u16-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASECMP_TRUE@am__objects_40 = unicase/libunistring_la-u32-casecmp.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASECOLL_TRUE@am__objects_41 = unicase/libunistring_la-u32-casecoll.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASEFOLD_TRUE@am__objects_42 = unicase/libunistring_la-u32-casefold.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CASEXFRM_TRUE@am__objects_43 = unicase/libunistring_la-u32-casexfrm.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_CASEFOLD_TRUE@am__objects_44 = unicase/libunistring_la-u32-ct-casefold.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOLOWER_TRUE@am__objects_45 = unicase/libunistring_la-u32-ct-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOTITLE_TRUE@am__objects_46 = unicase/libunistring_la-u32-ct-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOUPPER_TRUE@am__objects_47 = unicase/libunistring_la-u32-ct-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASED_TRUE@am__objects_48 = unicase/libunistring_la-u32-is-cased.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASEFOLDED_TRUE@am__objects_49 = unicase/libunistring_la-u32-is-casefolded.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_LOWERCASE_TRUE@am__objects_50 = unicase/libunistring_la-u32-is-lowercase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_TITLECASE_TRUE@am__objects_51 = unicase/libunistring_la-u32-is-titlecase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_IS_UPPERCASE_TRUE@am__objects_52 = unicase/libunistring_la-u32-is-uppercase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_PREFIX_CONTEXT_TRUE@am__objects_53 = unicase/libunistring_la-u32-prefix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_SUFFIX_CONTEXT_TRUE@am__objects_54 = unicase/libunistring_la-u32-suffix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_TOLOWER_TRUE@am__objects_55 = unicase/libunistring_la-u32-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_TOTITLE_TRUE@am__objects_56 = unicase/libunistring_la-u32-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_U32_TOUPPER_TRUE@am__objects_57 = unicase/libunistring_la-u32-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASECMP_TRUE@am__objects_58 = unicase/libunistring_la-u8-casecmp.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASECOLL_TRUE@am__objects_59 = unicase/libunistring_la-u8-casecoll.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASEFOLD_TRUE@am__objects_60 = unicase/libunistring_la-u8-casefold.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CASEXFRM_TRUE@am__objects_61 = unicase/libunistring_la-u8-casexfrm.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_CASEFOLD_TRUE@am__objects_62 = unicase/libunistring_la-u8-ct-casefold.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOLOWER_TRUE@am__objects_63 = unicase/libunistring_la-u8-ct-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOTITLE_TRUE@am__objects_64 = unicase/libunistring_la-u8-ct-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOUPPER_TRUE@am__objects_65 = unicase/libunistring_la-u8-ct-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASED_TRUE@am__objects_66 = unicase/libunistring_la-u8-is-cased.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASEFOLDED_TRUE@am__objects_67 = unicase/libunistring_la-u8-is-casefolded.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_LOWERCASE_TRUE@am__objects_68 = unicase/libunistring_la-u8-is-lowercase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_TITLECASE_TRUE@am__objects_69 = unicase/libunistring_la-u8-is-titlecase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_IS_UPPERCASE_TRUE@am__objects_70 = unicase/libunistring_la-u8-is-uppercase.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_PREFIX_CONTEXT_TRUE@am__objects_71 = unicase/libunistring_la-u8-prefix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_SUFFIX_CONTEXT_TRUE@am__objects_72 = unicase/libunistring_la-u8-suffix-context.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_TOLOWER_TRUE@am__objects_73 = unicase/libunistring_la-u8-tolower.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_TOTITLE_TRUE@am__objects_74 = unicase/libunistring_la-u8-totitle.lo
-@LIBUNISTRING_COMPILE_UNICASE_U8_TOUPPER_TRUE@am__objects_75 = unicase/libunistring_la-u8-toupper.lo
-@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECMP_TRUE@am__objects_76 = unicase/libunistring_la-ulc-casecmp.lo
-@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECOLL_TRUE@am__objects_77 = unicase/libunistring_la-ulc-casecoll.lo
-@LIBUNISTRING_COMPILE_UNICASE_ULC_CASEXFRM_TRUE@am__objects_78 = unicase/libunistring_la-ulc-casexfrm.lo
-@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_FROM_ENC_TRUE@am__objects_79 = uniconv/libunistring_la-u16-conv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_TO_ENC_TRUE@am__objects_80 = uniconv/libunistring_la-u16-conv-to-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_ENC_TRUE@am__objects_81 = uniconv/libunistring_la-u16-strconv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_LOCALE_TRUE@am__objects_82 = uniconv/libunistring_la-u16-strconv-from-locale.lo
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_ENC_TRUE@am__objects_83 = uniconv/libunistring_la-u16-strconv-to-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_LOCALE_TRUE@am__objects_84 = uniconv/libunistring_la-u16-strconv-to-locale.lo
-@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_FROM_ENC_TRUE@am__objects_85 = uniconv/libunistring_la-u32-conv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_TO_ENC_TRUE@am__objects_86 = uniconv/libunistring_la-u32-conv-to-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_ENC_TRUE@am__objects_87 = uniconv/libunistring_la-u32-strconv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_LOCALE_TRUE@am__objects_88 = uniconv/libunistring_la-u32-strconv-from-locale.lo
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_ENC_TRUE@am__objects_89 = uniconv/libunistring_la-u32-strconv-to-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_LOCALE_TRUE@am__objects_90 = uniconv/libunistring_la-u32-strconv-to-locale.lo
-@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__objects_91 = uniconv/libunistring_la-u8-conv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_TO_ENC_TRUE@am__objects_92 = uniconv/libunistring_la-u8-conv-to-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_ENC_TRUE@am__objects_93 = uniconv/libunistring_la-u8-strconv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_LOCALE_TRUE@am__objects_94 = uniconv/libunistring_la-u8-strconv-from-locale.lo
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_ENC_TRUE@am__objects_95 = uniconv/libunistring_la-u8-strconv-to-enc.lo
-@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE_TRUE@am__objects_96 = uniconv/libunistring_la-u8-strconv-to-locale.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_BYNAME_TRUE@am__objects_97 = unictype/libunistring_la-bidi_byname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_LONGNAME_TRUE@am__objects_98 = unictype/libunistring_la-bidi_longname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_NAME_TRUE@am__objects_99 = unictype/libunistring_la-bidi_name.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE@am__objects_100 = unictype/libunistring_la-bidi_of.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_TEST_TRUE@am__objects_101 = unictype/libunistring_la-bidi_test.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE@am__objects_102 = unictype/libunistring_la-blocks.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE@am__objects_103 = unictype/libunistring_la-block_test.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE@am__objects_104 = unictype/libunistring_la-categ_C.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE@am__objects_105 = unictype/libunistring_la-categ_Cc.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE@am__objects_106 = unictype/libunistring_la-categ_Cf.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE@am__objects_107 = unictype/libunistring_la-categ_Cn.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE@am__objects_108 = unictype/libunistring_la-categ_Co.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE@am__objects_109 = unictype/libunistring_la-categ_Cs.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE@am__objects_110 = unictype/libunistring_la-categ_L.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE@am__objects_111 = unictype/libunistring_la-categ_LC.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE@am__objects_112 = unictype/libunistring_la-categ_Ll.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE@am__objects_113 = unictype/libunistring_la-categ_Lm.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE@am__objects_114 = unictype/libunistring_la-categ_Lo.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE@am__objects_115 = unictype/libunistring_la-categ_Lt.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE@am__objects_116 = unictype/libunistring_la-categ_Lu.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE@am__objects_117 = unictype/libunistring_la-categ_M.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE@am__objects_118 = unictype/libunistring_la-categ_Mc.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE@am__objects_119 = unictype/libunistring_la-categ_Me.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE@am__objects_120 = unictype/libunistring_la-categ_Mn.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE@am__objects_121 = unictype/libunistring_la-categ_N.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE@am__objects_122 = unictype/libunistring_la-categ_Nd.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE@am__objects_123 = unictype/libunistring_la-categ_Nl.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE@am__objects_124 = unictype/libunistring_la-categ_No.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE@am__objects_125 = unictype/libunistring_la-categ_P.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE@am__objects_126 = unictype/libunistring_la-categ_Pc.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE@am__objects_127 = unictype/libunistring_la-categ_Pd.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE@am__objects_128 = unictype/libunistring_la-categ_Pe.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE@am__objects_129 = unictype/libunistring_la-categ_Pf.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE@am__objects_130 = unictype/libunistring_la-categ_Pi.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE@am__objects_131 = unictype/libunistring_la-categ_Po.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE@am__objects_132 = unictype/libunistring_la-categ_Ps.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE@am__objects_133 = unictype/libunistring_la-categ_S.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE@am__objects_134 = unictype/libunistring_la-categ_Sc.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE@am__objects_135 = unictype/libunistring_la-categ_Sk.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE@am__objects_136 = unictype/libunistring_la-categ_Sm.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE@am__objects_137 = unictype/libunistring_la-categ_So.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE@am__objects_138 = unictype/libunistring_la-categ_Z.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE@am__objects_139 = unictype/libunistring_la-categ_Zl.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE@am__objects_140 = unictype/libunistring_la-categ_Zp.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE@am__objects_141 = unictype/libunistring_la-categ_Zs.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE@am__objects_142 = unictype/libunistring_la-categ_and.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE@am__objects_143 = unictype/libunistring_la-categ_and_not.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE@am__objects_144 = unictype/libunistring_la-categ_byname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE@am__objects_145 = unictype/libunistring_la-categ_longname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE@am__objects_146 = unictype/libunistring_la-categ_name.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE@am__objects_147 = unictype/libunistring_la-categ_none.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE@am__objects_148 = unictype/libunistring_la-categ_of.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE@am__objects_149 = unictype/libunistring_la-categ_or.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE@am__objects_150 = unictype/libunistring_la-categ_test.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE@am__objects_151 = unictype/libunistring_la-combiningclass.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_BYNAME_TRUE@am__objects_152 = unictype/libunistring_la-combiningclass_byname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_LONGNAME_TRUE@am__objects_153 = unictype/libunistring_la-combiningclass_longname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_NAME_TRUE@am__objects_154 = unictype/libunistring_la-combiningclass_name.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALNUM_TRUE@am__objects_155 = unictype/libunistring_la-ctype_alnum.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE@am__objects_156 = unictype/libunistring_la-ctype_alpha.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_BLANK_TRUE@am__objects_157 = unictype/libunistring_la-ctype_blank.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_CNTRL_TRUE@am__objects_158 = unictype/libunistring_la-ctype_cntrl.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_DIGIT_TRUE@am__objects_159 = unictype/libunistring_la-ctype_digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_GRAPH_TRUE@am__objects_160 = unictype/libunistring_la-ctype_graph.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_LOWER_TRUE@am__objects_161 = unictype/libunistring_la-ctype_lower.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE@am__objects_162 = unictype/libunistring_la-ctype_print.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PUNCT_TRUE@am__objects_163 = unictype/libunistring_la-ctype_punct.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__objects_164 = unictype/libunistring_la-ctype_space.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_UPPER_TRUE@am__objects_165 = unictype/libunistring_la-ctype_upper.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_XDIGIT_TRUE@am__objects_166 = unictype/libunistring_la-ctype_xdigit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT_TRUE@am__objects_167 = unictype/libunistring_la-decdigit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_DIGIT_TRUE@am__objects_168 = unictype/libunistring_la-digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME_TRUE@am__objects_169 = unictype/libunistring_la-joininggroup_byname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_NAME_TRUE@am__objects_170 = unictype/libunistring_la-joininggroup_name.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_OF_TRUE@am__objects_171 = unictype/libunistring_la-joininggroup_of.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_BYNAME_TRUE@am__objects_172 = unictype/libunistring_la-joiningtype_byname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_LONGNAME_TRUE@am__objects_173 = unictype/libunistring_la-joiningtype_longname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_NAME_TRUE@am__objects_174 = unictype/libunistring_la-joiningtype_name.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_OF_TRUE@am__objects_175 = unictype/libunistring_la-joiningtype_of.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@am__objects_176 = unictype/libunistring_la-mirror.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_NUMERIC_TRUE@am__objects_177 = unictype/libunistring_la-numeric.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE@am__objects_178 = unictype/libunistring_la-pr_alphabetic.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE@am__objects_179 = unictype/libunistring_la-pr_ascii_hex_digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE@am__objects_180 = unictype/libunistring_la-pr_bidi_arabic_digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE@am__objects_181 = unictype/libunistring_la-pr_bidi_arabic_right_to_left.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE@am__objects_182 = unictype/libunistring_la-pr_bidi_block_separator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE@am__objects_183 = unictype/libunistring_la-pr_bidi_boundary_neutral.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE@am__objects_184 = unictype/libunistring_la-pr_bidi_common_separator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE@am__objects_185 = unictype/libunistring_la-pr_bidi_control.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE@am__objects_186 = unictype/libunistring_la-pr_bidi_embedding_or_override.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE@am__objects_187 = unictype/libunistring_la-pr_bidi_eur_num_separator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE@am__objects_188 = unictype/libunistring_la-pr_bidi_eur_num_terminator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE@am__objects_189 = unictype/libunistring_la-pr_bidi_european_digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE@am__objects_190 = unictype/libunistring_la-pr_bidi_hebrew_right_to_left.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE@am__objects_191 = unictype/libunistring_la-pr_bidi_left_to_right.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE@am__objects_192 = unictype/libunistring_la-pr_bidi_non_spacing_mark.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE@am__objects_193 = unictype/libunistring_la-pr_bidi_other_neutral.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE@am__objects_194 = unictype/libunistring_la-pr_bidi_pdf.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE@am__objects_195 = unictype/libunistring_la-pr_bidi_segment_separator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE@am__objects_196 = unictype/libunistring_la-pr_bidi_whitespace.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE@am__objects_197 = unictype/libunistring_la-pr_byname.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE@am__objects_198 = unictype/libunistring_la-pr_case_ignorable.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE@am__objects_199 = unictype/libunistring_la-pr_cased.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE@am__objects_200 = unictype/libunistring_la-pr_changes_when_casefolded.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE@am__objects_201 = unictype/libunistring_la-pr_changes_when_casemapped.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE@am__objects_202 = unictype/libunistring_la-pr_changes_when_lowercased.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE@am__objects_203 = unictype/libunistring_la-pr_changes_when_titlecased.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE@am__objects_204 = unictype/libunistring_la-pr_changes_when_uppercased.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE@am__objects_205 = unictype/libunistring_la-pr_combining.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE@am__objects_206 = unictype/libunistring_la-pr_composite.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE@am__objects_207 = unictype/libunistring_la-pr_currency_symbol.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE@am__objects_208 = unictype/libunistring_la-pr_dash.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE@am__objects_209 = unictype/libunistring_la-pr_decimal_digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__objects_210 = unictype/libunistring_la-pr_default_ignorable_code_point.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE@am__objects_211 = unictype/libunistring_la-pr_deprecated.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE@am__objects_212 = unictype/libunistring_la-pr_diacritic.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_TRUE@am__objects_213 = unictype/libunistring_la-pr_emoji.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_COMPONENT_TRUE@am__objects_214 = unictype/libunistring_la-pr_emoji_component.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_TRUE@am__objects_215 = unictype/libunistring_la-pr_emoji_modifier.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_TRUE@am__objects_216 = unictype/libunistring_la-pr_emoji_modifier_base.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_TRUE@am__objects_217 = unictype/libunistring_la-pr_emoji_presentation.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_TRUE@am__objects_218 = unictype/libunistring_la-pr_extended_pictographic.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE@am__objects_219 = unictype/libunistring_la-pr_extender.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE@am__objects_220 = unictype/libunistring_la-pr_format_control.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE@am__objects_221 = unictype/libunistring_la-pr_grapheme_base.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE@am__objects_222 = unictype/libunistring_la-pr_grapheme_extend.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE@am__objects_223 = unictype/libunistring_la-pr_grapheme_link.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE@am__objects_224 = unictype/libunistring_la-pr_hex_digit.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE@am__objects_225 = unictype/libunistring_la-pr_hyphen.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE@am__objects_226 = unictype/libunistring_la-pr_id_continue.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE@am__objects_227 = unictype/libunistring_la-pr_id_start.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE@am__objects_228 = unictype/libunistring_la-pr_ideographic.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE@am__objects_229 = unictype/libunistring_la-pr_ids_binary_operator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE@am__objects_230 = unictype/libunistring_la-pr_ids_trinary_operator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE@am__objects_231 = unictype/libunistring_la-pr_ignorable_control.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE@am__objects_232 = unictype/libunistring_la-pr_iso_control.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE@am__objects_233 = unictype/libunistring_la-pr_join_control.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE@am__objects_234 = unictype/libunistring_la-pr_left_of_pair.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE@am__objects_235 = unictype/libunistring_la-pr_line_separator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE@am__objects_236 = unictype/libunistring_la-pr_logical_order_exception.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE@am__objects_237 = unictype/libunistring_la-pr_lowercase.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE@am__objects_238 = unictype/libunistring_la-pr_math.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE@am__objects_239 = unictype/libunistring_la-pr_non_break.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE@am__objects_240 = unictype/libunistring_la-pr_not_a_character.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE@am__objects_241 = unictype/libunistring_la-pr_numeric.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE@am__objects_242 = unictype/libunistring_la-pr_other_alphabetic.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__objects_243 = unictype/libunistring_la-pr_other_default_ignorable_code_point.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE@am__objects_244 = unictype/libunistring_la-pr_other_grapheme_extend.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE@am__objects_245 = unictype/libunistring_la-pr_other_id_continue.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE@am__objects_246 = unictype/libunistring_la-pr_other_id_start.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE@am__objects_247 = unictype/libunistring_la-pr_other_lowercase.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE@am__objects_248 = unictype/libunistring_la-pr_other_math.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE@am__objects_249 = unictype/libunistring_la-pr_other_uppercase.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE@am__objects_250 = unictype/libunistring_la-pr_paired_punctuation.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE@am__objects_251 = unictype/libunistring_la-pr_paragraph_separator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE@am__objects_252 = unictype/libunistring_la-pr_pattern_syntax.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE@am__objects_253 = unictype/libunistring_la-pr_pattern_white_space.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE@am__objects_254 = unictype/libunistring_la-pr_private_use.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE@am__objects_255 = unictype/libunistring_la-pr_punctuation.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE@am__objects_256 = unictype/libunistring_la-pr_quotation_mark.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE@am__objects_257 = unictype/libunistring_la-pr_radical.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_TRUE@am__objects_258 = unictype/libunistring_la-pr_regional_indicator.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE@am__objects_259 = unictype/libunistring_la-pr_sentence_terminal.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE@am__objects_260 = unictype/libunistring_la-pr_soft_dotted.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE@am__objects_261 = unictype/libunistring_la-pr_space.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE@am__objects_262 = unictype/libunistring_la-pr_terminal_punctuation.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE@am__objects_263 = unictype/libunistring_la-pr_test.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE@am__objects_264 = unictype/libunistring_la-pr_titlecase.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE@am__objects_265 = unictype/libunistring_la-pr_unassigned_code_value.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE@am__objects_266 = unictype/libunistring_la-pr_unified_ideograph.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE@am__objects_267 = unictype/libunistring_la-pr_uppercase.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE@am__objects_268 = unictype/libunistring_la-pr_variation_selector.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE@am__objects_269 = unictype/libunistring_la-pr_white_space.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE@am__objects_270 = unictype/libunistring_la-pr_xid_continue.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE@am__objects_271 = unictype/libunistring_la-pr_xid_start.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE@am__objects_272 = unictype/libunistring_la-pr_zero_width.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE@am__objects_273 = unictype/libunistring_la-scripts.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_IDENT_TRUE@am__objects_274 = unictype/libunistring_la-sy_c_ident.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_WHITESPACE_TRUE@am__objects_275 = unictype/libunistring_la-sy_c_whitespace.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_IDENT_TRUE@am__objects_276 = unictype/libunistring_la-sy_java_ident.lo
-@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_WHITESPACE_TRUE@am__objects_277 = unictype/libunistring_la-sy_java_whitespace.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_BREAKS_TRUE@am__objects_278 = unigbrk/libunistring_la-u16-grapheme-breaks.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_NEXT_TRUE@am__objects_279 = unigbrk/libunistring_la-u16-grapheme-next.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_PREV_TRUE@am__objects_280 = unigbrk/libunistring_la-u16-grapheme-prev.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_BREAKS_TRUE@am__objects_281 = unigbrk/libunistring_la-u32-grapheme-breaks.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_NEXT_TRUE@am__objects_282 = unigbrk/libunistring_la-u32-grapheme-next.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_PREV_TRUE@am__objects_283 = unigbrk/libunistring_la-u32-grapheme-prev.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_BREAKS_TRUE@am__objects_284 = unigbrk/libunistring_la-u8-grapheme-breaks.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_NEXT_TRUE@am__objects_285 = unigbrk/libunistring_la-u8-grapheme-next.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_PREV_TRUE@am__objects_286 = unigbrk/libunistring_la-u8-grapheme-prev.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_UC_GBRK_PROP_TRUE@am__objects_287 = unigbrk/libunistring_la-uc-gbrk-prop.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_UC_GRAPHEME_BREAKS_TRUE@am__objects_288 = unigbrk/libunistring_la-uc-grapheme-breaks.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_UC_IS_GRAPHEME_BREAK_TRUE@am__objects_289 = unigbrk/libunistring_la-uc-is-grapheme-break.lo
-@LIBUNISTRING_COMPILE_UNIGBRK_ULC_GRAPHEME_BREAKS_TRUE@am__objects_290 = unigbrk/libunistring_la-ulc-grapheme-breaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U16_POSSIBLE_LINEBREAKS_TRUE@am__objects_291 = unilbrk/libunistring_la-u16-possible-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U16_WIDTH_LINEBREAKS_TRUE@am__objects_292 = unilbrk/libunistring_la-u16-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U32_POSSIBLE_LINEBREAKS_TRUE@am__objects_293 = unilbrk/libunistring_la-u32-possible-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U32_WIDTH_LINEBREAKS_TRUE@am__objects_294 = unilbrk/libunistring_la-u32-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__objects_295 = unilbrk/libunistring_la-u8-possible-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__objects_296 = unilbrk/libunistring_la-u8-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS_TRUE@am__objects_297 = unilbrk/libunistring_la-ulc-possible-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__objects_298 = unilbrk/libunistring_la-ulc-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__objects_299 = uniname/libunistring_la-uniname.lo
-@LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE@am__objects_300 = uninorm/libunistring_la-canonical-decomposition.lo
-@LIBUNISTRING_COMPILE_UNINORM_COMPOSITION_TRUE@am__objects_301 = uninorm/libunistring_la-composition.lo
-@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSING_FORM_TRUE@am__objects_302 = uninorm/libunistring_la-decomposing-form.lo
-@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSITION_TRUE@am__objects_303 = uninorm/libunistring_la-decomposition.lo
-@LIBUNISTRING_COMPILE_UNINORM_FILTER_TRUE@am__objects_304 = uninorm/libunistring_la-uninorm-filter.lo
-@LIBUNISTRING_COMPILE_UNINORM_NFC_TRUE@am__objects_305 = uninorm/libunistring_la-nfc.lo
-@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@am__objects_306 = uninorm/libunistring_la-nfd.lo
-@LIBUNISTRING_COMPILE_UNINORM_NFKC_TRUE@am__objects_307 = uninorm/libunistring_la-nfkc.lo
-@LIBUNISTRING_COMPILE_UNINORM_NFKD_TRUE@am__objects_308 = uninorm/libunistring_la-nfkd.lo
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMALIZE_TRUE@am__objects_309 = uninorm/libunistring_la-u16-normalize.lo
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCMP_TRUE@am__objects_310 = uninorm/libunistring_la-u16-normcmp.lo
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCOLL_TRUE@am__objects_311 = uninorm/libunistring_la-u16-normcoll.lo
-@LIBUNISTRING_COMPILE_UNINORM_U16_NORMXFRM_TRUE@am__objects_312 = uninorm/libunistring_la-u16-normxfrm.lo
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE@am__objects_313 = uninorm/libunistring_la-u32-normalize.lo
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCMP_TRUE@am__objects_314 = uninorm/libunistring_la-u32-normcmp.lo
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCOLL_TRUE@am__objects_315 = uninorm/libunistring_la-u32-normcoll.lo
-@LIBUNISTRING_COMPILE_UNINORM_U32_NORMXFRM_TRUE@am__objects_316 = uninorm/libunistring_la-u32-normxfrm.lo
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMALIZE_TRUE@am__objects_317 = uninorm/libunistring_la-u8-normalize.lo
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCMP_TRUE@am__objects_318 = uninorm/libunistring_la-u8-normcmp.lo
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCOLL_TRUE@am__objects_319 = uninorm/libunistring_la-u8-normcoll.lo
-@LIBUNISTRING_COMPILE_UNINORM_U8_NORMXFRM_TRUE@am__objects_320 = uninorm/libunistring_la-u8-normxfrm.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASNPRINTF_TRUE@am__objects_321 = unistdio/libunistring_la-u16-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASPRINTF_TRUE@am__objects_322 = unistdio/libunistring_la-u16-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_SNPRINTF_TRUE@am__objects_323 = unistdio/libunistring_la-u16-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_SPRINTF_TRUE@am__objects_324 = unistdio/libunistring_la-u16-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASNPRINTF_TRUE@am__objects_325 = unistdio/libunistring_la-u16-u16-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASPRINTF_TRUE@am__objects_326 = unistdio/libunistring_la-u16-u16-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SNPRINTF_TRUE@am__objects_327 = unistdio/libunistring_la-u16-u16-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SPRINTF_TRUE@am__objects_328 = unistdio/libunistring_la-u16-u16-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASNPRINTF_TRUE@am__objects_329 = unistdio/libunistring_la-u16-u16-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASPRINTF_TRUE@am__objects_330 = unistdio/libunistring_la-u16-u16-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSNPRINTF_TRUE@am__objects_331 = unistdio/libunistring_la-u16-u16-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSPRINTF_TRUE@am__objects_332 = unistdio/libunistring_la-u16-u16-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASNPRINTF_TRUE@am__objects_333 = unistdio/libunistring_la-u16-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASPRINTF_TRUE@am__objects_334 = unistdio/libunistring_la-u16-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSNPRINTF_TRUE@am__objects_335 = unistdio/libunistring_la-u16-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSPRINTF_TRUE@am__objects_336 = unistdio/libunistring_la-u16-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASNPRINTF_TRUE@am__objects_337 = unistdio/libunistring_la-u32-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASPRINTF_TRUE@am__objects_338 = unistdio/libunistring_la-u32-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_SNPRINTF_TRUE@am__objects_339 = unistdio/libunistring_la-u32-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_SPRINTF_TRUE@am__objects_340 = unistdio/libunistring_la-u32-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASNPRINTF_TRUE@am__objects_341 = unistdio/libunistring_la-u32-u32-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASPRINTF_TRUE@am__objects_342 = unistdio/libunistring_la-u32-u32-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SNPRINTF_TRUE@am__objects_343 = unistdio/libunistring_la-u32-u32-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SPRINTF_TRUE@am__objects_344 = unistdio/libunistring_la-u32-u32-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASNPRINTF_TRUE@am__objects_345 = unistdio/libunistring_la-u32-u32-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASPRINTF_TRUE@am__objects_346 = unistdio/libunistring_la-u32-u32-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSNPRINTF_TRUE@am__objects_347 = unistdio/libunistring_la-u32-u32-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSPRINTF_TRUE@am__objects_348 = unistdio/libunistring_la-u32-u32-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASNPRINTF_TRUE@am__objects_349 = unistdio/libunistring_la-u32-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASPRINTF_TRUE@am__objects_350 = unistdio/libunistring_la-u32-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSNPRINTF_TRUE@am__objects_351 = unistdio/libunistring_la-u32-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSPRINTF_TRUE@am__objects_352 = unistdio/libunistring_la-u32-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASNPRINTF_TRUE@am__objects_353 = unistdio/libunistring_la-u8-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASPRINTF_TRUE@am__objects_354 = unistdio/libunistring_la-u8-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_SNPRINTF_TRUE@am__objects_355 = unistdio/libunistring_la-u8-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_SPRINTF_TRUE@am__objects_356 = unistdio/libunistring_la-u8-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASNPRINTF_TRUE@am__objects_357 = unistdio/libunistring_la-u8-u8-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASPRINTF_TRUE@am__objects_358 = unistdio/libunistring_la-u8-u8-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SNPRINTF_TRUE@am__objects_359 = unistdio/libunistring_la-u8-u8-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SPRINTF_TRUE@am__objects_360 = unistdio/libunistring_la-u8-u8-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASNPRINTF_TRUE@am__objects_361 = unistdio/libunistring_la-u8-u8-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASPRINTF_TRUE@am__objects_362 = unistdio/libunistring_la-u8-u8-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSNPRINTF_TRUE@am__objects_363 = unistdio/libunistring_la-u8-u8-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSPRINTF_TRUE@am__objects_364 = unistdio/libunistring_la-u8-u8-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASNPRINTF_TRUE@am__objects_365 = unistdio/libunistring_la-u8-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASPRINTF_TRUE@am__objects_366 = unistdio/libunistring_la-u8-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSNPRINTF_TRUE@am__objects_367 = unistdio/libunistring_la-u8-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSPRINTF_TRUE@am__objects_368 = unistdio/libunistring_la-u8-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASNPRINTF_TRUE@am__objects_369 = unistdio/libunistring_la-ulc-asnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASPRINTF_TRUE@am__objects_370 = unistdio/libunistring_la-ulc-asprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_FPRINTF_TRUE@am__objects_371 = unistdio/libunistring_la-ulc-fprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SNPRINTF_TRUE@am__objects_372 = unistdio/libunistring_la-ulc-snprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SPRINTF_TRUE@am__objects_373 = unistdio/libunistring_la-ulc-sprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASNPRINTF_TRUE@am__objects_374 = unistdio/libunistring_la-ulc-vasnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASPRINTF_TRUE@am__objects_375 = unistdio/libunistring_la-ulc-vasprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VFPRINTF_TRUE@am__objects_376 = unistdio/libunistring_la-ulc-vfprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSNPRINTF_TRUE@am__objects_377 = unistdio/libunistring_la-ulc-vsnprintf.lo
-@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSPRINTF_TRUE@am__objects_378 = unistdio/libunistring_la-ulc-vsprintf.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_CHECK_TRUE@am__objects_379 = unistr/libunistring_la-u16-check.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_CHR_TRUE@am__objects_380 = unistr/libunistring_la-u16-chr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_CMP_TRUE@am__objects_381 = unistr/libunistring_la-u16-cmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_CMP2_TRUE@am__objects_382 = unistr/libunistring_la-u16-cmp2.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_TRUE@am__objects_383 = unistr/libunistring_la-u16-cpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_ALLOC_TRUE@am__objects_384 = unistr/libunistring_la-u16-cpy-alloc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_ENDSWITH_TRUE@am__objects_385 = unistr/libunistring_la-u16-endswith.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBLEN_TRUE@am__objects_386 = unistr/libunistring_la-u16-mblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBSNLEN_TRUE@am__objects_387 = unistr/libunistring_la-u16-mbsnlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__objects_388 = unistr/libunistring_la-u16-mbtouc.lo \
+@GL_COND_OBJ_STRNCAT_TRUE@am__objects_19 = libunistring_la-strncat.lo
+@LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT_TRUE@am__objects_20 = unicase/libunistring_la-empty-prefix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT_TRUE@am__objects_21 = unicase/libunistring_la-empty-suffix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_LOCALE_LANGUAGE_TRUE@am__objects_22 = unicase/libunistring_la-locale-language.lo
+@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@am__objects_23 = unicase/libunistring_la-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@am__objects_24 = unicase/libunistring_la-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@am__objects_25 = unicase/libunistring_la-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASECMP_TRUE@am__objects_26 = unicase/libunistring_la-u16-casecmp.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASECOLL_TRUE@am__objects_27 = unicase/libunistring_la-u16-casecoll.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASEFOLD_TRUE@am__objects_28 = unicase/libunistring_la-u16-casefold.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CASEXFRM_TRUE@am__objects_29 = unicase/libunistring_la-u16-casexfrm.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_CASEFOLD_TRUE@am__objects_30 = unicase/libunistring_la-u16-ct-casefold.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOLOWER_TRUE@am__objects_31 = unicase/libunistring_la-u16-ct-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOTITLE_TRUE@am__objects_32 = unicase/libunistring_la-u16-ct-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOUPPER_TRUE@am__objects_33 = unicase/libunistring_la-u16-ct-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASED_TRUE@am__objects_34 = unicase/libunistring_la-u16-is-cased.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASEFOLDED_TRUE@am__objects_35 = unicase/libunistring_la-u16-is-casefolded.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_LOWERCASE_TRUE@am__objects_36 = unicase/libunistring_la-u16-is-lowercase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_TITLECASE_TRUE@am__objects_37 = unicase/libunistring_la-u16-is-titlecase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_IS_UPPERCASE_TRUE@am__objects_38 = unicase/libunistring_la-u16-is-uppercase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_PREFIX_CONTEXT_TRUE@am__objects_39 = unicase/libunistring_la-u16-prefix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_SUFFIX_CONTEXT_TRUE@am__objects_40 = unicase/libunistring_la-u16-suffix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_TOLOWER_TRUE@am__objects_41 = unicase/libunistring_la-u16-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_TOTITLE_TRUE@am__objects_42 = unicase/libunistring_la-u16-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_U16_TOUPPER_TRUE@am__objects_43 = unicase/libunistring_la-u16-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASECMP_TRUE@am__objects_44 = unicase/libunistring_la-u32-casecmp.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASECOLL_TRUE@am__objects_45 = unicase/libunistring_la-u32-casecoll.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASEFOLD_TRUE@am__objects_46 = unicase/libunistring_la-u32-casefold.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CASEXFRM_TRUE@am__objects_47 = unicase/libunistring_la-u32-casexfrm.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_CASEFOLD_TRUE@am__objects_48 = unicase/libunistring_la-u32-ct-casefold.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOLOWER_TRUE@am__objects_49 = unicase/libunistring_la-u32-ct-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOTITLE_TRUE@am__objects_50 = unicase/libunistring_la-u32-ct-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOUPPER_TRUE@am__objects_51 = unicase/libunistring_la-u32-ct-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASED_TRUE@am__objects_52 = unicase/libunistring_la-u32-is-cased.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASEFOLDED_TRUE@am__objects_53 = unicase/libunistring_la-u32-is-casefolded.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_LOWERCASE_TRUE@am__objects_54 = unicase/libunistring_la-u32-is-lowercase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_TITLECASE_TRUE@am__objects_55 = unicase/libunistring_la-u32-is-titlecase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_IS_UPPERCASE_TRUE@am__objects_56 = unicase/libunistring_la-u32-is-uppercase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_PREFIX_CONTEXT_TRUE@am__objects_57 = unicase/libunistring_la-u32-prefix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_SUFFIX_CONTEXT_TRUE@am__objects_58 = unicase/libunistring_la-u32-suffix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_TOLOWER_TRUE@am__objects_59 = unicase/libunistring_la-u32-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_TOTITLE_TRUE@am__objects_60 = unicase/libunistring_la-u32-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_U32_TOUPPER_TRUE@am__objects_61 = unicase/libunistring_la-u32-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASECMP_TRUE@am__objects_62 = unicase/libunistring_la-u8-casecmp.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASECOLL_TRUE@am__objects_63 = unicase/libunistring_la-u8-casecoll.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASEFOLD_TRUE@am__objects_64 = unicase/libunistring_la-u8-casefold.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CASEXFRM_TRUE@am__objects_65 = unicase/libunistring_la-u8-casexfrm.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_CASEFOLD_TRUE@am__objects_66 = unicase/libunistring_la-u8-ct-casefold.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOLOWER_TRUE@am__objects_67 = unicase/libunistring_la-u8-ct-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOTITLE_TRUE@am__objects_68 = unicase/libunistring_la-u8-ct-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOUPPER_TRUE@am__objects_69 = unicase/libunistring_la-u8-ct-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASED_TRUE@am__objects_70 = unicase/libunistring_la-u8-is-cased.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASEFOLDED_TRUE@am__objects_71 = unicase/libunistring_la-u8-is-casefolded.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_LOWERCASE_TRUE@am__objects_72 = unicase/libunistring_la-u8-is-lowercase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_TITLECASE_TRUE@am__objects_73 = unicase/libunistring_la-u8-is-titlecase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_IS_UPPERCASE_TRUE@am__objects_74 = unicase/libunistring_la-u8-is-uppercase.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_PREFIX_CONTEXT_TRUE@am__objects_75 = unicase/libunistring_la-u8-prefix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_SUFFIX_CONTEXT_TRUE@am__objects_76 = unicase/libunistring_la-u8-suffix-context.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_TOLOWER_TRUE@am__objects_77 = unicase/libunistring_la-u8-tolower.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_TOTITLE_TRUE@am__objects_78 = unicase/libunistring_la-u8-totitle.lo
+@LIBUNISTRING_COMPILE_UNICASE_U8_TOUPPER_TRUE@am__objects_79 = unicase/libunistring_la-u8-toupper.lo
+@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECMP_TRUE@am__objects_80 = unicase/libunistring_la-ulc-casecmp.lo
+@LIBUNISTRING_COMPILE_UNICASE_ULC_CASECOLL_TRUE@am__objects_81 = unicase/libunistring_la-ulc-casecoll.lo
+@LIBUNISTRING_COMPILE_UNICASE_ULC_CASEXFRM_TRUE@am__objects_82 = unicase/libunistring_la-ulc-casexfrm.lo
+@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_FROM_ENC_TRUE@am__objects_83 = uniconv/libunistring_la-u16-conv-from-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U16_CONV_TO_ENC_TRUE@am__objects_84 = uniconv/libunistring_la-u16-conv-to-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_ENC_TRUE@am__objects_85 = uniconv/libunistring_la-u16-strconv-from-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_LOCALE_TRUE@am__objects_86 = uniconv/libunistring_la-u16-strconv-from-locale.lo
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_ENC_TRUE@am__objects_87 = uniconv/libunistring_la-u16-strconv-to-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_LOCALE_TRUE@am__objects_88 = uniconv/libunistring_la-u16-strconv-to-locale.lo
+@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_FROM_ENC_TRUE@am__objects_89 = uniconv/libunistring_la-u32-conv-from-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U32_CONV_TO_ENC_TRUE@am__objects_90 = uniconv/libunistring_la-u32-conv-to-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_ENC_TRUE@am__objects_91 = uniconv/libunistring_la-u32-strconv-from-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_LOCALE_TRUE@am__objects_92 = uniconv/libunistring_la-u32-strconv-from-locale.lo
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_ENC_TRUE@am__objects_93 = uniconv/libunistring_la-u32-strconv-to-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_LOCALE_TRUE@am__objects_94 = uniconv/libunistring_la-u32-strconv-to-locale.lo
+@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__objects_95 = uniconv/libunistring_la-u8-conv-from-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_TO_ENC_TRUE@am__objects_96 = uniconv/libunistring_la-u8-conv-to-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_ENC_TRUE@am__objects_97 = uniconv/libunistring_la-u8-strconv-from-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_LOCALE_TRUE@am__objects_98 = uniconv/libunistring_la-u8-strconv-from-locale.lo
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_ENC_TRUE@am__objects_99 = uniconv/libunistring_la-u8-strconv-to-enc.lo
+@LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE_TRUE@am__objects_100 = uniconv/libunistring_la-u8-strconv-to-locale.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_BYNAME_TRUE@am__objects_101 = unictype/libunistring_la-bidi_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_LONGNAME_TRUE@am__objects_102 = unictype/libunistring_la-bidi_longname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_NAME_TRUE@am__objects_103 = unictype/libunistring_la-bidi_name.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE@am__objects_104 = unictype/libunistring_la-bidi_of.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_TEST_TRUE@am__objects_105 = unictype/libunistring_la-bidi_test.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE@am__objects_106 = unictype/libunistring_la-blocks.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE@am__objects_107 = unictype/libunistring_la-block_test.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE@am__objects_108 = unictype/libunistring_la-categ_C.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE@am__objects_109 = unictype/libunistring_la-categ_Cc.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE@am__objects_110 = unictype/libunistring_la-categ_Cf.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE@am__objects_111 = unictype/libunistring_la-categ_Cn.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE@am__objects_112 = unictype/libunistring_la-categ_Co.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE@am__objects_113 = unictype/libunistring_la-categ_Cs.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE@am__objects_114 = unictype/libunistring_la-categ_L.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE@am__objects_115 = unictype/libunistring_la-categ_LC.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE@am__objects_116 = unictype/libunistring_la-categ_Ll.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE@am__objects_117 = unictype/libunistring_la-categ_Lm.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE@am__objects_118 = unictype/libunistring_la-categ_Lo.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE@am__objects_119 = unictype/libunistring_la-categ_Lt.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE@am__objects_120 = unictype/libunistring_la-categ_Lu.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE@am__objects_121 = unictype/libunistring_la-categ_M.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE@am__objects_122 = unictype/libunistring_la-categ_Mc.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE@am__objects_123 = unictype/libunistring_la-categ_Me.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE@am__objects_124 = unictype/libunistring_la-categ_Mn.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE@am__objects_125 = unictype/libunistring_la-categ_N.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE@am__objects_126 = unictype/libunistring_la-categ_Nd.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE@am__objects_127 = unictype/libunistring_la-categ_Nl.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE@am__objects_128 = unictype/libunistring_la-categ_No.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE@am__objects_129 = unictype/libunistring_la-categ_P.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE@am__objects_130 = unictype/libunistring_la-categ_Pc.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE@am__objects_131 = unictype/libunistring_la-categ_Pd.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE@am__objects_132 = unictype/libunistring_la-categ_Pe.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE@am__objects_133 = unictype/libunistring_la-categ_Pf.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE@am__objects_134 = unictype/libunistring_la-categ_Pi.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE@am__objects_135 = unictype/libunistring_la-categ_Po.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE@am__objects_136 = unictype/libunistring_la-categ_Ps.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE@am__objects_137 = unictype/libunistring_la-categ_S.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE@am__objects_138 = unictype/libunistring_la-categ_Sc.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE@am__objects_139 = unictype/libunistring_la-categ_Sk.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE@am__objects_140 = unictype/libunistring_la-categ_Sm.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE@am__objects_141 = unictype/libunistring_la-categ_So.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE@am__objects_142 = unictype/libunistring_la-categ_Z.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE@am__objects_143 = unictype/libunistring_la-categ_Zl.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE@am__objects_144 = unictype/libunistring_la-categ_Zp.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE@am__objects_145 = unictype/libunistring_la-categ_Zs.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE@am__objects_146 = unictype/libunistring_la-categ_and.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE@am__objects_147 = unictype/libunistring_la-categ_and_not.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE@am__objects_148 = unictype/libunistring_la-categ_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE@am__objects_149 = unictype/libunistring_la-categ_longname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE@am__objects_150 = unictype/libunistring_la-categ_name.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE@am__objects_151 = unictype/libunistring_la-categ_of.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE@am__objects_152 = unictype/libunistring_la-categ_or.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE@am__objects_153 = unictype/libunistring_la-categ_test.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE@am__objects_154 = unictype/libunistring_la-combiningclass.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_BYNAME_TRUE@am__objects_155 = unictype/libunistring_la-combiningclass_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_LONGNAME_TRUE@am__objects_156 = unictype/libunistring_la-combiningclass_longname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_NAME_TRUE@am__objects_157 = unictype/libunistring_la-combiningclass_name.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALNUM_TRUE@am__objects_158 = unictype/libunistring_la-ctype_alnum.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE@am__objects_159 = unictype/libunistring_la-ctype_alpha.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_BLANK_TRUE@am__objects_160 = unictype/libunistring_la-ctype_blank.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_CNTRL_TRUE@am__objects_161 = unictype/libunistring_la-ctype_cntrl.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_DIGIT_TRUE@am__objects_162 = unictype/libunistring_la-ctype_digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_GRAPH_TRUE@am__objects_163 = unictype/libunistring_la-ctype_graph.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_LOWER_TRUE@am__objects_164 = unictype/libunistring_la-ctype_lower.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE@am__objects_165 = unictype/libunistring_la-ctype_print.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PUNCT_TRUE@am__objects_166 = unictype/libunistring_la-ctype_punct.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__objects_167 = unictype/libunistring_la-ctype_space.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_UPPER_TRUE@am__objects_168 = unictype/libunistring_la-ctype_upper.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_XDIGIT_TRUE@am__objects_169 = unictype/libunistring_la-ctype_xdigit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT_TRUE@am__objects_170 = unictype/libunistring_la-decdigit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_DIGIT_TRUE@am__objects_171 = unictype/libunistring_la-digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_INCB_BYNAME_TRUE@am__objects_172 = unictype/libunistring_la-incb_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_INCB_NAME_TRUE@am__objects_173 = unictype/libunistring_la-incb_name.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_INCB_OF_TRUE@am__objects_174 = unictype/libunistring_la-incb_of.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_BYNAME_TRUE@am__objects_175 = unictype/libunistring_la-joininggroup_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_NAME_TRUE@am__objects_176 = unictype/libunistring_la-joininggroup_name.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGGROUP_OF_TRUE@am__objects_177 = unictype/libunistring_la-joininggroup_of.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_BYNAME_TRUE@am__objects_178 = unictype/libunistring_la-joiningtype_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_LONGNAME_TRUE@am__objects_179 = unictype/libunistring_la-joiningtype_longname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_NAME_TRUE@am__objects_180 = unictype/libunistring_la-joiningtype_name.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_JOININGTYPE_OF_TRUE@am__objects_181 = unictype/libunistring_la-joiningtype_of.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@am__objects_182 = unictype/libunistring_la-mirror.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_NUMERIC_TRUE@am__objects_183 = unictype/libunistring_la-numeric.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE@am__objects_184 = unictype/libunistring_la-pr_alphabetic.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE@am__objects_185 = unictype/libunistring_la-pr_ascii_hex_digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE@am__objects_186 = unictype/libunistring_la-pr_bidi_arabic_digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE@am__objects_187 = unictype/libunistring_la-pr_bidi_arabic_right_to_left.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE@am__objects_188 = unictype/libunistring_la-pr_bidi_block_separator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE@am__objects_189 = unictype/libunistring_la-pr_bidi_boundary_neutral.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE@am__objects_190 = unictype/libunistring_la-pr_bidi_common_separator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE@am__objects_191 = unictype/libunistring_la-pr_bidi_control.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE@am__objects_192 = unictype/libunistring_la-pr_bidi_embedding_or_override.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE@am__objects_193 = unictype/libunistring_la-pr_bidi_eur_num_separator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE@am__objects_194 = unictype/libunistring_la-pr_bidi_eur_num_terminator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE@am__objects_195 = unictype/libunistring_la-pr_bidi_european_digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE@am__objects_196 = unictype/libunistring_la-pr_bidi_hebrew_right_to_left.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE@am__objects_197 = unictype/libunistring_la-pr_bidi_left_to_right.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE@am__objects_198 = unictype/libunistring_la-pr_bidi_non_spacing_mark.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE@am__objects_199 = unictype/libunistring_la-pr_bidi_other_neutral.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE@am__objects_200 = unictype/libunistring_la-pr_bidi_pdf.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE@am__objects_201 = unictype/libunistring_la-pr_bidi_segment_separator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE@am__objects_202 = unictype/libunistring_la-pr_bidi_whitespace.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE@am__objects_203 = unictype/libunistring_la-pr_byname.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE@am__objects_204 = unictype/libunistring_la-pr_case_ignorable.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE@am__objects_205 = unictype/libunistring_la-pr_cased.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE@am__objects_206 = unictype/libunistring_la-pr_changes_when_casefolded.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE@am__objects_207 = unictype/libunistring_la-pr_changes_when_casemapped.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE@am__objects_208 = unictype/libunistring_la-pr_changes_when_lowercased.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE@am__objects_209 = unictype/libunistring_la-pr_changes_when_titlecased.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE@am__objects_210 = unictype/libunistring_la-pr_changes_when_uppercased.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE@am__objects_211 = unictype/libunistring_la-pr_combining.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE@am__objects_212 = unictype/libunistring_la-pr_composite.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE@am__objects_213 = unictype/libunistring_la-pr_currency_symbol.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE@am__objects_214 = unictype/libunistring_la-pr_dash.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE@am__objects_215 = unictype/libunistring_la-pr_decimal_digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__objects_216 = unictype/libunistring_la-pr_default_ignorable_code_point.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE@am__objects_217 = unictype/libunistring_la-pr_deprecated.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE@am__objects_218 = unictype/libunistring_la-pr_diacritic.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_TRUE@am__objects_219 = unictype/libunistring_la-pr_emoji.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_COMPONENT_TRUE@am__objects_220 = unictype/libunistring_la-pr_emoji_component.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_TRUE@am__objects_221 = unictype/libunistring_la-pr_emoji_modifier.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_TRUE@am__objects_222 = unictype/libunistring_la-pr_emoji_modifier_base.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_TRUE@am__objects_223 = unictype/libunistring_la-pr_emoji_presentation.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_TRUE@am__objects_224 = unictype/libunistring_la-pr_extended_pictographic.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE@am__objects_225 = unictype/libunistring_la-pr_extender.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE@am__objects_226 = unictype/libunistring_la-pr_format_control.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE@am__objects_227 = unictype/libunistring_la-pr_grapheme_base.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE@am__objects_228 = unictype/libunistring_la-pr_grapheme_extend.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE@am__objects_229 = unictype/libunistring_la-pr_grapheme_link.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE@am__objects_230 = unictype/libunistring_la-pr_hex_digit.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE@am__objects_231 = unictype/libunistring_la-pr_hyphen.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_TRUE@am__objects_232 = unictype/libunistring_la-pr_id_compat_math_continue.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_TRUE@am__objects_233 = unictype/libunistring_la-pr_id_compat_math_start.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE@am__objects_234 = unictype/libunistring_la-pr_id_continue.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE@am__objects_235 = unictype/libunistring_la-pr_id_start.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE@am__objects_236 = unictype/libunistring_la-pr_ideographic.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE@am__objects_237 = unictype/libunistring_la-pr_ids_binary_operator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE@am__objects_238 = unictype/libunistring_la-pr_ids_trinary_operator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_TRUE@am__objects_239 = unictype/libunistring_la-pr_ids_unary_operator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE@am__objects_240 = unictype/libunistring_la-pr_ignorable_control.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE@am__objects_241 = unictype/libunistring_la-pr_iso_control.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE@am__objects_242 = unictype/libunistring_la-pr_join_control.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE@am__objects_243 = unictype/libunistring_la-pr_left_of_pair.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE@am__objects_244 = unictype/libunistring_la-pr_line_separator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE@am__objects_245 = unictype/libunistring_la-pr_logical_order_exception.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE@am__objects_246 = unictype/libunistring_la-pr_lowercase.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE@am__objects_247 = unictype/libunistring_la-pr_math.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE@am__objects_248 = unictype/libunistring_la-pr_non_break.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE@am__objects_249 = unictype/libunistring_la-pr_not_a_character.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE@am__objects_250 = unictype/libunistring_la-pr_numeric.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE@am__objects_251 = unictype/libunistring_la-pr_other_alphabetic.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__objects_252 = unictype/libunistring_la-pr_other_default_ignorable_code_point.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE@am__objects_253 = unictype/libunistring_la-pr_other_grapheme_extend.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE@am__objects_254 = unictype/libunistring_la-pr_other_id_continue.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE@am__objects_255 = unictype/libunistring_la-pr_other_id_start.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE@am__objects_256 = unictype/libunistring_la-pr_other_lowercase.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE@am__objects_257 = unictype/libunistring_la-pr_other_math.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE@am__objects_258 = unictype/libunistring_la-pr_other_uppercase.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE@am__objects_259 = unictype/libunistring_la-pr_paired_punctuation.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE@am__objects_260 = unictype/libunistring_la-pr_paragraph_separator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE@am__objects_261 = unictype/libunistring_la-pr_pattern_syntax.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE@am__objects_262 = unictype/libunistring_la-pr_pattern_white_space.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_TRUE@am__objects_263 = unictype/libunistring_la-pr_prepended_concatenation_mark.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE@am__objects_264 = unictype/libunistring_la-pr_private_use.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE@am__objects_265 = unictype/libunistring_la-pr_punctuation.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE@am__objects_266 = unictype/libunistring_la-pr_quotation_mark.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE@am__objects_267 = unictype/libunistring_la-pr_radical.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_TRUE@am__objects_268 = unictype/libunistring_la-pr_regional_indicator.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE@am__objects_269 = unictype/libunistring_la-pr_sentence_terminal.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE@am__objects_270 = unictype/libunistring_la-pr_soft_dotted.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE@am__objects_271 = unictype/libunistring_la-pr_space.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE@am__objects_272 = unictype/libunistring_la-pr_terminal_punctuation.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE@am__objects_273 = unictype/libunistring_la-pr_test.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE@am__objects_274 = unictype/libunistring_la-pr_titlecase.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE@am__objects_275 = unictype/libunistring_la-pr_unassigned_code_value.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE@am__objects_276 = unictype/libunistring_la-pr_unified_ideograph.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE@am__objects_277 = unictype/libunistring_la-pr_uppercase.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE@am__objects_278 = unictype/libunistring_la-pr_variation_selector.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE@am__objects_279 = unictype/libunistring_la-pr_white_space.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE@am__objects_280 = unictype/libunistring_la-pr_xid_continue.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE@am__objects_281 = unictype/libunistring_la-pr_xid_start.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE@am__objects_282 = unictype/libunistring_la-pr_zero_width.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE@am__objects_283 = unictype/libunistring_la-scripts.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_IDENT_TRUE@am__objects_284 = unictype/libunistring_la-sy_c_ident.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_WHITESPACE_TRUE@am__objects_285 = unictype/libunistring_la-sy_c_whitespace.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_IDENT_TRUE@am__objects_286 = unictype/libunistring_la-sy_java_ident.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_WHITESPACE_TRUE@am__objects_287 = unictype/libunistring_la-sy_java_whitespace.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_BREAKS_TRUE@am__objects_288 = unigbrk/libunistring_la-u16-grapheme-breaks.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_NEXT_TRUE@am__objects_289 = unigbrk/libunistring_la-u16-grapheme-next.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_PREV_TRUE@am__objects_290 = unigbrk/libunistring_la-u16-grapheme-prev.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_BREAKS_TRUE@am__objects_291 = unigbrk/libunistring_la-u32-grapheme-breaks.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_NEXT_TRUE@am__objects_292 = unigbrk/libunistring_la-u32-grapheme-next.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_PREV_TRUE@am__objects_293 = unigbrk/libunistring_la-u32-grapheme-prev.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_BREAKS_TRUE@am__objects_294 = unigbrk/libunistring_la-u8-grapheme-breaks.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_NEXT_TRUE@am__objects_295 = unigbrk/libunistring_la-u8-grapheme-next.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_PREV_TRUE@am__objects_296 = unigbrk/libunistring_la-u8-grapheme-prev.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_UC_GBRK_PROP_TRUE@am__objects_297 = unigbrk/libunistring_la-uc-gbrk-prop.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_UC_GRAPHEME_BREAKS_TRUE@am__objects_298 = unigbrk/libunistring_la-uc-grapheme-breaks.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_UC_IS_GRAPHEME_BREAK_TRUE@am__objects_299 = unigbrk/libunistring_la-uc-is-grapheme-break.lo
+@LIBUNISTRING_COMPILE_UNIGBRK_ULC_GRAPHEME_BREAKS_TRUE@am__objects_300 = unigbrk/libunistring_la-ulc-grapheme-breaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U16_POSSIBLE_LINEBREAKS_TRUE@am__objects_301 = unilbrk/libunistring_la-u16-possible-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U16_WIDTH_LINEBREAKS_TRUE@am__objects_302 = unilbrk/libunistring_la-u16-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U32_POSSIBLE_LINEBREAKS_TRUE@am__objects_303 = unilbrk/libunistring_la-u32-possible-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U32_WIDTH_LINEBREAKS_TRUE@am__objects_304 = unilbrk/libunistring_la-u32-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__objects_305 = unilbrk/libunistring_la-u8-possible-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__objects_306 = unilbrk/libunistring_la-u8-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS_TRUE@am__objects_307 = unilbrk/libunistring_la-ulc-possible-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__objects_308 = unilbrk/libunistring_la-ulc-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNIMETADATA_U_VERSION_TRUE@am__objects_309 = unimetadata/libunistring_la-u-version.lo
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__objects_310 = uniname/libunistring_la-uniname.lo
+@LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE@am__objects_311 = uninorm/libunistring_la-canonical-decomposition.lo
+@LIBUNISTRING_COMPILE_UNINORM_COMPOSITION_TRUE@am__objects_312 = uninorm/libunistring_la-composition.lo
+@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSING_FORM_TRUE@am__objects_313 = uninorm/libunistring_la-decomposing-form.lo
+@LIBUNISTRING_COMPILE_UNINORM_DECOMPOSITION_TRUE@am__objects_314 = uninorm/libunistring_la-decomposition.lo
+@LIBUNISTRING_COMPILE_UNINORM_FILTER_TRUE@am__objects_315 = uninorm/libunistring_la-uninorm-filter.lo
+@LIBUNISTRING_COMPILE_UNINORM_NFC_TRUE@am__objects_316 = uninorm/libunistring_la-nfc.lo
+@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@am__objects_317 = uninorm/libunistring_la-nfd.lo
+@LIBUNISTRING_COMPILE_UNINORM_NFKC_TRUE@am__objects_318 = uninorm/libunistring_la-nfkc.lo
+@LIBUNISTRING_COMPILE_UNINORM_NFKD_TRUE@am__objects_319 = uninorm/libunistring_la-nfkd.lo
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMALIZE_TRUE@am__objects_320 = uninorm/libunistring_la-u16-normalize.lo
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCMP_TRUE@am__objects_321 = uninorm/libunistring_la-u16-normcmp.lo
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMCOLL_TRUE@am__objects_322 = uninorm/libunistring_la-u16-normcoll.lo
+@LIBUNISTRING_COMPILE_UNINORM_U16_NORMXFRM_TRUE@am__objects_323 = uninorm/libunistring_la-u16-normxfrm.lo
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE@am__objects_324 = uninorm/libunistring_la-u32-normalize.lo
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCMP_TRUE@am__objects_325 = uninorm/libunistring_la-u32-normcmp.lo
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMCOLL_TRUE@am__objects_326 = uninorm/libunistring_la-u32-normcoll.lo
+@LIBUNISTRING_COMPILE_UNINORM_U32_NORMXFRM_TRUE@am__objects_327 = uninorm/libunistring_la-u32-normxfrm.lo
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMALIZE_TRUE@am__objects_328 = uninorm/libunistring_la-u8-normalize.lo
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCMP_TRUE@am__objects_329 = uninorm/libunistring_la-u8-normcmp.lo
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMCOLL_TRUE@am__objects_330 = uninorm/libunistring_la-u8-normcoll.lo
+@LIBUNISTRING_COMPILE_UNINORM_U8_NORMXFRM_TRUE@am__objects_331 = uninorm/libunistring_la-u8-normxfrm.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASNPRINTF_TRUE@am__objects_332 = unistdio/libunistring_la-u16-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_ASPRINTF_TRUE@am__objects_333 = unistdio/libunistring_la-u16-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_SNPRINTF_TRUE@am__objects_334 = unistdio/libunistring_la-u16-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_SPRINTF_TRUE@am__objects_335 = unistdio/libunistring_la-u16-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASNPRINTF_TRUE@am__objects_336 = unistdio/libunistring_la-u16-u16-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASPRINTF_TRUE@am__objects_337 = unistdio/libunistring_la-u16-u16-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SNPRINTF_TRUE@am__objects_338 = unistdio/libunistring_la-u16-u16-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SPRINTF_TRUE@am__objects_339 = unistdio/libunistring_la-u16-u16-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASNPRINTF_TRUE@am__objects_340 = unistdio/libunistring_la-u16-u16-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASPRINTF_TRUE@am__objects_341 = unistdio/libunistring_la-u16-u16-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSNPRINTF_TRUE@am__objects_342 = unistdio/libunistring_la-u16-u16-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSPRINTF_TRUE@am__objects_343 = unistdio/libunistring_la-u16-u16-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASNPRINTF_TRUE@am__objects_344 = unistdio/libunistring_la-u16-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VASPRINTF_TRUE@am__objects_345 = unistdio/libunistring_la-u16-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSNPRINTF_TRUE@am__objects_346 = unistdio/libunistring_la-u16-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U16_VSPRINTF_TRUE@am__objects_347 = unistdio/libunistring_la-u16-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASNPRINTF_TRUE@am__objects_348 = unistdio/libunistring_la-u32-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_ASPRINTF_TRUE@am__objects_349 = unistdio/libunistring_la-u32-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_SNPRINTF_TRUE@am__objects_350 = unistdio/libunistring_la-u32-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_SPRINTF_TRUE@am__objects_351 = unistdio/libunistring_la-u32-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASNPRINTF_TRUE@am__objects_352 = unistdio/libunistring_la-u32-u32-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASPRINTF_TRUE@am__objects_353 = unistdio/libunistring_la-u32-u32-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SNPRINTF_TRUE@am__objects_354 = unistdio/libunistring_la-u32-u32-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SPRINTF_TRUE@am__objects_355 = unistdio/libunistring_la-u32-u32-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASNPRINTF_TRUE@am__objects_356 = unistdio/libunistring_la-u32-u32-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASPRINTF_TRUE@am__objects_357 = unistdio/libunistring_la-u32-u32-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSNPRINTF_TRUE@am__objects_358 = unistdio/libunistring_la-u32-u32-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSPRINTF_TRUE@am__objects_359 = unistdio/libunistring_la-u32-u32-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASNPRINTF_TRUE@am__objects_360 = unistdio/libunistring_la-u32-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VASPRINTF_TRUE@am__objects_361 = unistdio/libunistring_la-u32-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSNPRINTF_TRUE@am__objects_362 = unistdio/libunistring_la-u32-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U32_VSPRINTF_TRUE@am__objects_363 = unistdio/libunistring_la-u32-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASNPRINTF_TRUE@am__objects_364 = unistdio/libunistring_la-u8-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_ASPRINTF_TRUE@am__objects_365 = unistdio/libunistring_la-u8-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_SNPRINTF_TRUE@am__objects_366 = unistdio/libunistring_la-u8-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_SPRINTF_TRUE@am__objects_367 = unistdio/libunistring_la-u8-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASNPRINTF_TRUE@am__objects_368 = unistdio/libunistring_la-u8-u8-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASPRINTF_TRUE@am__objects_369 = unistdio/libunistring_la-u8-u8-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SNPRINTF_TRUE@am__objects_370 = unistdio/libunistring_la-u8-u8-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SPRINTF_TRUE@am__objects_371 = unistdio/libunistring_la-u8-u8-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASNPRINTF_TRUE@am__objects_372 = unistdio/libunistring_la-u8-u8-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASPRINTF_TRUE@am__objects_373 = unistdio/libunistring_la-u8-u8-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSNPRINTF_TRUE@am__objects_374 = unistdio/libunistring_la-u8-u8-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSPRINTF_TRUE@am__objects_375 = unistdio/libunistring_la-u8-u8-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASNPRINTF_TRUE@am__objects_376 = unistdio/libunistring_la-u8-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VASPRINTF_TRUE@am__objects_377 = unistdio/libunistring_la-u8-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSNPRINTF_TRUE@am__objects_378 = unistdio/libunistring_la-u8-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_U8_VSPRINTF_TRUE@am__objects_379 = unistdio/libunistring_la-u8-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASNPRINTF_TRUE@am__objects_380 = unistdio/libunistring_la-ulc-asnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASPRINTF_TRUE@am__objects_381 = unistdio/libunistring_la-ulc-asprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_FPRINTF_TRUE@am__objects_382 = unistdio/libunistring_la-ulc-fprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SNPRINTF_TRUE@am__objects_383 = unistdio/libunistring_la-ulc-snprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_SPRINTF_TRUE@am__objects_384 = unistdio/libunistring_la-ulc-sprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASNPRINTF_TRUE@am__objects_385 = unistdio/libunistring_la-ulc-vasnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASPRINTF_TRUE@am__objects_386 = unistdio/libunistring_la-ulc-vasprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VFPRINTF_TRUE@am__objects_387 = unistdio/libunistring_la-ulc-vfprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSNPRINTF_TRUE@am__objects_388 = unistdio/libunistring_la-ulc-vsnprintf.lo
+@LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSPRINTF_TRUE@am__objects_389 = unistdio/libunistring_la-ulc-vsprintf.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_CHECK_TRUE@am__objects_390 = unistr/libunistring_la-u16-check.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_CHR_TRUE@am__objects_391 = unistr/libunistring_la-u16-chr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_CMP_TRUE@am__objects_392 = unistr/libunistring_la-u16-cmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_CMP2_TRUE@am__objects_393 = unistr/libunistring_la-u16-cmp2.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_TRUE@am__objects_394 = unistr/libunistring_la-u16-cpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_CPY_ALLOC_TRUE@am__objects_395 = unistr/libunistring_la-u16-cpy-alloc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_ENDSWITH_TRUE@am__objects_396 = unistr/libunistring_la-u16-endswith.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBLEN_TRUE@am__objects_397 = unistr/libunistring_la-u16-mblen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBSNLEN_TRUE@am__objects_398 = unistr/libunistring_la-u16-mbsnlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__objects_399 = unistr/libunistring_la-u16-mbtouc.lo \
@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@ unistr/libunistring_la-u16-mbtouc-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_UNSAFE_TRUE@am__objects_389 = unistr/libunistring_la-u16-mbtouc-unsafe.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_UNSAFE_TRUE@am__objects_400 = unistr/libunistring_la-u16-mbtouc-unsafe.lo \
@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_UNSAFE_TRUE@ unistr/libunistring_la-u16-mbtouc-unsafe-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUCR_TRUE@am__objects_390 = unistr/libunistring_la-u16-mbtoucr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MOVE_TRUE@am__objects_391 = unistr/libunistring_la-u16-move.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_NEXT_TRUE@am__objects_392 = unistr/libunistring_la-u16-next.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_PREV_TRUE@am__objects_393 = unistr/libunistring_la-u16-prev.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_SET_TRUE@am__objects_394 = unistr/libunistring_la-u16-set.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STARTSWITH_TRUE@am__objects_395 = unistr/libunistring_la-u16-startswith.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STPCPY_TRUE@am__objects_396 = unistr/libunistring_la-u16-stpcpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STPNCPY_TRUE@am__objects_397 = unistr/libunistring_la-u16-stpncpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCAT_TRUE@am__objects_398 = unistr/libunistring_la-u16-strcat.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCHR_TRUE@am__objects_399 = unistr/libunistring_la-u16-strchr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCMP_TRUE@am__objects_400 = unistr/libunistring_la-u16-strcmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCOLL_TRUE@am__objects_401 = unistr/libunistring_la-u16-strcoll.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCPY_TRUE@am__objects_402 = unistr/libunistring_la-u16-strcpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRCSPN_TRUE@am__objects_403 = unistr/libunistring_la-u16-strcspn.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRDUP_TRUE@am__objects_404 = unistr/libunistring_la-u16-strdup.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRLEN_TRUE@am__objects_405 = unistr/libunistring_la-u16-strlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBLEN_TRUE@am__objects_406 = unistr/libunistring_la-u16-strmblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBTOUC_TRUE@am__objects_407 = unistr/libunistring_la-u16-strmbtouc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCAT_TRUE@am__objects_408 = unistr/libunistring_la-u16-strncat.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCMP_TRUE@am__objects_409 = unistr/libunistring_la-u16-strncmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCPY_TRUE@am__objects_410 = unistr/libunistring_la-u16-strncpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRNLEN_TRUE@am__objects_411 = unistr/libunistring_la-u16-strnlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRPBRK_TRUE@am__objects_412 = unistr/libunistring_la-u16-strpbrk.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRRCHR_TRUE@am__objects_413 = unistr/libunistring_la-u16-strrchr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRSPN_TRUE@am__objects_414 = unistr/libunistring_la-u16-strspn.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRSTR_TRUE@am__objects_415 = unistr/libunistring_la-u16-strstr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_STRTOK_TRUE@am__objects_416 = unistr/libunistring_la-u16-strtok.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U32_TRUE@am__objects_417 = unistr/libunistring_la-u16-to-u32.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U8_TRUE@am__objects_418 = unistr/libunistring_la-u16-to-u8.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_UCTOMB_TRUE@am__objects_419 = unistr/libunistring_la-u16-uctomb.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUCR_TRUE@am__objects_401 = unistr/libunistring_la-u16-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_MOVE_TRUE@am__objects_402 = unistr/libunistring_la-u16-move.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_NEXT_TRUE@am__objects_403 = unistr/libunistring_la-u16-next.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_PCPY_TRUE@am__objects_404 = unistr/libunistring_la-u16-pcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_PREV_TRUE@am__objects_405 = unistr/libunistring_la-u16-prev.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_SET_TRUE@am__objects_406 = unistr/libunistring_la-u16-set.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STARTSWITH_TRUE@am__objects_407 = unistr/libunistring_la-u16-startswith.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STPCPY_TRUE@am__objects_408 = unistr/libunistring_la-u16-stpcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STPNCPY_TRUE@am__objects_409 = unistr/libunistring_la-u16-stpncpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCAT_TRUE@am__objects_410 = unistr/libunistring_la-u16-strcat.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCHR_TRUE@am__objects_411 = unistr/libunistring_la-u16-strchr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCMP_TRUE@am__objects_412 = unistr/libunistring_la-u16-strcmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCOLL_TRUE@am__objects_413 = unistr/libunistring_la-u16-strcoll.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCPY_TRUE@am__objects_414 = unistr/libunistring_la-u16-strcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRCSPN_TRUE@am__objects_415 = unistr/libunistring_la-u16-strcspn.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRDUP_TRUE@am__objects_416 = unistr/libunistring_la-u16-strdup.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRLEN_TRUE@am__objects_417 = unistr/libunistring_la-u16-strlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBLEN_TRUE@am__objects_418 = unistr/libunistring_la-u16-strmblen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRMBTOUC_TRUE@am__objects_419 = unistr/libunistring_la-u16-strmbtouc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCAT_TRUE@am__objects_420 = unistr/libunistring_la-u16-strncat.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCMP_TRUE@am__objects_421 = unistr/libunistring_la-u16-strncmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNCPY_TRUE@am__objects_422 = unistr/libunistring_la-u16-strncpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRNLEN_TRUE@am__objects_423 = unistr/libunistring_la-u16-strnlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRPBRK_TRUE@am__objects_424 = unistr/libunistring_la-u16-strpbrk.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRRCHR_TRUE@am__objects_425 = unistr/libunistring_la-u16-strrchr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRSPN_TRUE@am__objects_426 = unistr/libunistring_la-u16-strspn.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRSTR_TRUE@am__objects_427 = unistr/libunistring_la-u16-strstr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_STRTOK_TRUE@am__objects_428 = unistr/libunistring_la-u16-strtok.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U32_TRUE@am__objects_429 = unistr/libunistring_la-u16-to-u32.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_TO_U8_TRUE@am__objects_430 = unistr/libunistring_la-u16-to-u8.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_UCTOMB_TRUE@am__objects_431 = unistr/libunistring_la-u16-uctomb.lo \
@LIBUNISTRING_COMPILE_UNISTR_U16_UCTOMB_TRUE@ unistr/libunistring_la-u16-uctomb-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_CHECK_TRUE@am__objects_420 = unistr/libunistring_la-u32-check.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_CHR_TRUE@am__objects_421 = unistr/libunistring_la-u32-chr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_CMP_TRUE@am__objects_422 = unistr/libunistring_la-u32-cmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_CMP2_TRUE@am__objects_423 = unistr/libunistring_la-u32-cmp2.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@am__objects_424 = unistr/libunistring_la-u32-cpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_ALLOC_TRUE@am__objects_425 = unistr/libunistring_la-u32-cpy-alloc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_ENDSWITH_TRUE@am__objects_426 = unistr/libunistring_la-u32-endswith.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBLEN_TRUE@am__objects_427 = unistr/libunistring_la-u32-mblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBSNLEN_TRUE@am__objects_428 = unistr/libunistring_la-u32-mbsnlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_TRUE@am__objects_429 = unistr/libunistring_la-u32-mbtouc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE@am__objects_430 = unistr/libunistring_la-u32-mbtouc-unsafe.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUCR_TRUE@am__objects_431 = unistr/libunistring_la-u32-mbtoucr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_MOVE_TRUE@am__objects_432 = unistr/libunistring_la-u32-move.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_NEXT_TRUE@am__objects_433 = unistr/libunistring_la-u32-next.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_PREV_TRUE@am__objects_434 = unistr/libunistring_la-u32-prev.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_SET_TRUE@am__objects_435 = unistr/libunistring_la-u32-set.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STARTSWITH_TRUE@am__objects_436 = unistr/libunistring_la-u32-startswith.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STPCPY_TRUE@am__objects_437 = unistr/libunistring_la-u32-stpcpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STPNCPY_TRUE@am__objects_438 = unistr/libunistring_la-u32-stpncpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCAT_TRUE@am__objects_439 = unistr/libunistring_la-u32-strcat.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCHR_TRUE@am__objects_440 = unistr/libunistring_la-u32-strchr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCMP_TRUE@am__objects_441 = unistr/libunistring_la-u32-strcmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCOLL_TRUE@am__objects_442 = unistr/libunistring_la-u32-strcoll.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCPY_TRUE@am__objects_443 = unistr/libunistring_la-u32-strcpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRCSPN_TRUE@am__objects_444 = unistr/libunistring_la-u32-strcspn.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRDUP_TRUE@am__objects_445 = unistr/libunistring_la-u32-strdup.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRLEN_TRUE@am__objects_446 = unistr/libunistring_la-u32-strlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBLEN_TRUE@am__objects_447 = unistr/libunistring_la-u32-strmblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBTOUC_TRUE@am__objects_448 = unistr/libunistring_la-u32-strmbtouc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCAT_TRUE@am__objects_449 = unistr/libunistring_la-u32-strncat.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCMP_TRUE@am__objects_450 = unistr/libunistring_la-u32-strncmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCPY_TRUE@am__objects_451 = unistr/libunistring_la-u32-strncpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRNLEN_TRUE@am__objects_452 = unistr/libunistring_la-u32-strnlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRPBRK_TRUE@am__objects_453 = unistr/libunistring_la-u32-strpbrk.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRRCHR_TRUE@am__objects_454 = unistr/libunistring_la-u32-strrchr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRSPN_TRUE@am__objects_455 = unistr/libunistring_la-u32-strspn.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRSTR_TRUE@am__objects_456 = unistr/libunistring_la-u32-strstr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_STRTOK_TRUE@am__objects_457 = unistr/libunistring_la-u32-strtok.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U16_TRUE@am__objects_458 = unistr/libunistring_la-u32-to-u16.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE@am__objects_459 = unistr/libunistring_la-u32-to-u8.lo
-@LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE@am__objects_460 = unistr/libunistring_la-u32-uctomb.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_461 = unistr/libunistring_la-u8-check.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHR_TRUE@am__objects_462 = unistr/libunistring_la-u8-chr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE@am__objects_463 = unistr/libunistring_la-u8-cmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CMP2_TRUE@am__objects_464 = unistr/libunistring_la-u8-cmp2.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_TRUE@am__objects_465 = unistr/libunistring_la-u8-cpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_ALLOC_TRUE@am__objects_466 = unistr/libunistring_la-u8-cpy-alloc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_ENDSWITH_TRUE@am__objects_467 = unistr/libunistring_la-u8-endswith.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__objects_468 = unistr/libunistring_la-u8-mblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBSNLEN_TRUE@am__objects_469 = unistr/libunistring_la-u8-mbsnlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__objects_470 = unistr/libunistring_la-u8-mbtouc.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U32_CHECK_TRUE@am__objects_432 = unistr/libunistring_la-u32-check.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_CHR_TRUE@am__objects_433 = unistr/libunistring_la-u32-chr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_CMP_TRUE@am__objects_434 = unistr/libunistring_la-u32-cmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_CMP2_TRUE@am__objects_435 = unistr/libunistring_la-u32-cmp2.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@am__objects_436 = unistr/libunistring_la-u32-cpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_ALLOC_TRUE@am__objects_437 = unistr/libunistring_la-u32-cpy-alloc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_ENDSWITH_TRUE@am__objects_438 = unistr/libunistring_la-u32-endswith.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBLEN_TRUE@am__objects_439 = unistr/libunistring_la-u32-mblen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBSNLEN_TRUE@am__objects_440 = unistr/libunistring_la-u32-mbsnlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_TRUE@am__objects_441 = unistr/libunistring_la-u32-mbtouc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE@am__objects_442 = unistr/libunistring_la-u32-mbtouc-unsafe.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUCR_TRUE@am__objects_443 = unistr/libunistring_la-u32-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_MOVE_TRUE@am__objects_444 = unistr/libunistring_la-u32-move.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_NEXT_TRUE@am__objects_445 = unistr/libunistring_la-u32-next.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_PCPY_TRUE@am__objects_446 = unistr/libunistring_la-u32-pcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_PREV_TRUE@am__objects_447 = unistr/libunistring_la-u32-prev.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_SET_TRUE@am__objects_448 = unistr/libunistring_la-u32-set.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STARTSWITH_TRUE@am__objects_449 = unistr/libunistring_la-u32-startswith.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STPCPY_TRUE@am__objects_450 = unistr/libunistring_la-u32-stpcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STPNCPY_TRUE@am__objects_451 = unistr/libunistring_la-u32-stpncpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCAT_TRUE@am__objects_452 = unistr/libunistring_la-u32-strcat.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCHR_TRUE@am__objects_453 = unistr/libunistring_la-u32-strchr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCMP_TRUE@am__objects_454 = unistr/libunistring_la-u32-strcmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCOLL_TRUE@am__objects_455 = unistr/libunistring_la-u32-strcoll.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCPY_TRUE@am__objects_456 = unistr/libunistring_la-u32-strcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRCSPN_TRUE@am__objects_457 = unistr/libunistring_la-u32-strcspn.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRDUP_TRUE@am__objects_458 = unistr/libunistring_la-u32-strdup.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRLEN_TRUE@am__objects_459 = unistr/libunistring_la-u32-strlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBLEN_TRUE@am__objects_460 = unistr/libunistring_la-u32-strmblen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRMBTOUC_TRUE@am__objects_461 = unistr/libunistring_la-u32-strmbtouc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCAT_TRUE@am__objects_462 = unistr/libunistring_la-u32-strncat.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCMP_TRUE@am__objects_463 = unistr/libunistring_la-u32-strncmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNCPY_TRUE@am__objects_464 = unistr/libunistring_la-u32-strncpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRNLEN_TRUE@am__objects_465 = unistr/libunistring_la-u32-strnlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRPBRK_TRUE@am__objects_466 = unistr/libunistring_la-u32-strpbrk.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRRCHR_TRUE@am__objects_467 = unistr/libunistring_la-u32-strrchr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRSPN_TRUE@am__objects_468 = unistr/libunistring_la-u32-strspn.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRSTR_TRUE@am__objects_469 = unistr/libunistring_la-u32-strstr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_STRTOK_TRUE@am__objects_470 = unistr/libunistring_la-u32-strtok.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U16_TRUE@am__objects_471 = unistr/libunistring_la-u32-to-u16.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE@am__objects_472 = unistr/libunistring_la-u32-to-u8.lo
+@LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE@am__objects_473 = unistr/libunistring_la-u32-uctomb.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_474 = unistr/libunistring_la-u8-check.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHR_TRUE@am__objects_475 = unistr/libunistring_la-u8-chr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE@am__objects_476 = unistr/libunistring_la-u8-cmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_CMP2_TRUE@am__objects_477 = unistr/libunistring_la-u8-cmp2.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_TRUE@am__objects_478 = unistr/libunistring_la-u8-cpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_CPY_ALLOC_TRUE@am__objects_479 = unistr/libunistring_la-u8-cpy-alloc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_ENDSWITH_TRUE@am__objects_480 = unistr/libunistring_la-u8-endswith.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__objects_481 = unistr/libunistring_la-u8-mblen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBSNLEN_TRUE@am__objects_482 = unistr/libunistring_la-u8-mbsnlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__objects_483 = unistr/libunistring_la-u8-mbtouc.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@ unistr/libunistring_la-u8-mbtouc-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__objects_471 = unistr/libunistring_la-u8-mbtouc-unsafe.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__objects_484 = unistr/libunistring_la-u8-mbtouc-unsafe.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@ unistr/libunistring_la-u8-mbtouc-unsafe-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_472 = unistr/libunistring_la-u8-mbtoucr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MOVE_TRUE@am__objects_473 = unistr/libunistring_la-u8-move.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@am__objects_474 = unistr/libunistring_la-u8-next.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__objects_475 = unistr/libunistring_la-u8-prev.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_SET_TRUE@am__objects_476 = unistr/libunistring_la-u8-set.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STARTSWITH_TRUE@am__objects_477 = unistr/libunistring_la-u8-startswith.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STPCPY_TRUE@am__objects_478 = unistr/libunistring_la-u8-stpcpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STPNCPY_TRUE@am__objects_479 = unistr/libunistring_la-u8-stpncpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCAT_TRUE@am__objects_480 = unistr/libunistring_la-u8-strcat.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCHR_TRUE@am__objects_481 = unistr/libunistring_la-u8-strchr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCMP_TRUE@am__objects_482 = unistr/libunistring_la-u8-strcmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCOLL_TRUE@am__objects_483 = unistr/libunistring_la-u8-strcoll.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCPY_TRUE@am__objects_484 = unistr/libunistring_la-u8-strcpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRCSPN_TRUE@am__objects_485 = unistr/libunistring_la-u8-strcspn.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRDUP_TRUE@am__objects_486 = unistr/libunistring_la-u8-strdup.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_TRUE@am__objects_487 = unistr/libunistring_la-u8-strlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE@am__objects_488 = unistr/libunistring_la-u8-strmblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE@am__objects_489 = unistr/libunistring_la-u8-strmbtouc.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCAT_TRUE@am__objects_490 = unistr/libunistring_la-u8-strncat.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCMP_TRUE@am__objects_491 = unistr/libunistring_la-u8-strncmp.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCPY_TRUE@am__objects_492 = unistr/libunistring_la-u8-strncpy.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRNLEN_TRUE@am__objects_493 = unistr/libunistring_la-u8-strnlen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRPBRK_TRUE@am__objects_494 = unistr/libunistring_la-u8-strpbrk.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRRCHR_TRUE@am__objects_495 = unistr/libunistring_la-u8-strrchr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRSPN_TRUE@am__objects_496 = unistr/libunistring_la-u8-strspn.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRSTR_TRUE@am__objects_497 = unistr/libunistring_la-u8-strstr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_STRTOK_TRUE@am__objects_498 = unistr/libunistring_la-u8-strtok.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U16_TRUE@am__objects_499 = unistr/libunistring_la-u8-to-u16.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE@am__objects_500 = unistr/libunistring_la-u8-to-u32.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_501 = unistr/libunistring_la-u8-uctomb.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_485 = unistr/libunistring_la-u8-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_MOVE_TRUE@am__objects_486 = unistr/libunistring_la-u8-move.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@am__objects_487 = unistr/libunistring_la-u8-next.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_PCPY_TRUE@am__objects_488 = unistr/libunistring_la-u8-pcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__objects_489 = unistr/libunistring_la-u8-prev.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_SET_TRUE@am__objects_490 = unistr/libunistring_la-u8-set.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STARTSWITH_TRUE@am__objects_491 = unistr/libunistring_la-u8-startswith.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STPCPY_TRUE@am__objects_492 = unistr/libunistring_la-u8-stpcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STPNCPY_TRUE@am__objects_493 = unistr/libunistring_la-u8-stpncpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCAT_TRUE@am__objects_494 = unistr/libunistring_la-u8-strcat.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCHR_TRUE@am__objects_495 = unistr/libunistring_la-u8-strchr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCMP_TRUE@am__objects_496 = unistr/libunistring_la-u8-strcmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCOLL_TRUE@am__objects_497 = unistr/libunistring_la-u8-strcoll.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCPY_TRUE@am__objects_498 = unistr/libunistring_la-u8-strcpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRCSPN_TRUE@am__objects_499 = unistr/libunistring_la-u8-strcspn.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRDUP_TRUE@am__objects_500 = unistr/libunistring_la-u8-strdup.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_TRUE@am__objects_501 = unistr/libunistring_la-u8-strlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE@am__objects_502 = unistr/libunistring_la-u8-strmblen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE@am__objects_503 = unistr/libunistring_la-u8-strmbtouc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCAT_TRUE@am__objects_504 = unistr/libunistring_la-u8-strncat.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCMP_TRUE@am__objects_505 = unistr/libunistring_la-u8-strncmp.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNCPY_TRUE@am__objects_506 = unistr/libunistring_la-u8-strncpy.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRNLEN_TRUE@am__objects_507 = unistr/libunistring_la-u8-strnlen.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRPBRK_TRUE@am__objects_508 = unistr/libunistring_la-u8-strpbrk.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRRCHR_TRUE@am__objects_509 = unistr/libunistring_la-u8-strrchr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRSPN_TRUE@am__objects_510 = unistr/libunistring_la-u8-strspn.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRSTR_TRUE@am__objects_511 = unistr/libunistring_la-u8-strstr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRTOK_TRUE@am__objects_512 = unistr/libunistring_la-u8-strtok.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U16_TRUE@am__objects_513 = unistr/libunistring_la-u8-to-u16.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE@am__objects_514 = unistr/libunistring_la-u8-to-u32.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_515 = unistr/libunistring_la-u8-uctomb.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ unistr/libunistring_la-u8-uctomb-aux.lo
-@LIBUNISTRING_COMPILE_UNIWBRK_U16_WORDBREAKS_TRUE@am__objects_502 = uniwbrk/libunistring_la-u16-wordbreaks.lo
-@LIBUNISTRING_COMPILE_UNIWBRK_U32_WORDBREAKS_TRUE@am__objects_503 = uniwbrk/libunistring_la-u32-wordbreaks.lo
-@LIBUNISTRING_COMPILE_UNIWBRK_U8_WORDBREAKS_TRUE@am__objects_504 = uniwbrk/libunistring_la-u8-wordbreaks.lo
-@LIBUNISTRING_COMPILE_UNIWBRK_ULC_WORDBREAKS_TRUE@am__objects_505 = uniwbrk/libunistring_la-ulc-wordbreaks.lo
-@LIBUNISTRING_COMPILE_UNIWBRK_WORDBREAK_PROPERTY_TRUE@am__objects_506 = uniwbrk/libunistring_la-wordbreak-property.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_U16_STRWIDTH_TRUE@am__objects_507 = uniwidth/libunistring_la-u16-strwidth.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_U16_WIDTH_TRUE@am__objects_508 = uniwidth/libunistring_la-u16-width.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_U32_STRWIDTH_TRUE@am__objects_509 = uniwidth/libunistring_la-u32-strwidth.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_U32_WIDTH_TRUE@am__objects_510 = uniwidth/libunistring_la-u32-width.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_U8_STRWIDTH_TRUE@am__objects_511 = uniwidth/libunistring_la-u8-strwidth.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_U8_WIDTH_TRUE@am__objects_512 = uniwidth/libunistring_la-u8-width.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_513 = uniwidth/libunistring_la-width.lo
-@GL_COND_OBJ_WCWIDTH_TRUE@am__objects_514 = \
+@LIBUNISTRING_COMPILE_UNIWBRK_U16_WORDBREAKS_TRUE@am__objects_516 = uniwbrk/libunistring_la-u16-wordbreaks.lo
+@LIBUNISTRING_COMPILE_UNIWBRK_U32_WORDBREAKS_TRUE@am__objects_517 = uniwbrk/libunistring_la-u32-wordbreaks.lo
+@LIBUNISTRING_COMPILE_UNIWBRK_U8_WORDBREAKS_TRUE@am__objects_518 = uniwbrk/libunistring_la-u8-wordbreaks.lo
+@LIBUNISTRING_COMPILE_UNIWBRK_ULC_WORDBREAKS_TRUE@am__objects_519 = uniwbrk/libunistring_la-ulc-wordbreaks.lo
+@LIBUNISTRING_COMPILE_UNIWBRK_WORDBREAK_PROPERTY_TRUE@am__objects_520 = uniwbrk/libunistring_la-wordbreak-property.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_U16_STRWIDTH_TRUE@am__objects_521 = uniwidth/libunistring_la-u16-strwidth.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_U16_WIDTH_TRUE@am__objects_522 = uniwidth/libunistring_la-u16-width.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_U32_STRWIDTH_TRUE@am__objects_523 = uniwidth/libunistring_la-u32-strwidth.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_U32_WIDTH_TRUE@am__objects_524 = uniwidth/libunistring_la-u32-width.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_U8_STRWIDTH_TRUE@am__objects_525 = uniwidth/libunistring_la-u8-strwidth.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_U8_WIDTH_TRUE@am__objects_526 = uniwidth/libunistring_la-u8-width.lo
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_527 = uniwidth/libunistring_la-width.lo
+@GL_COND_OBJ_WCWIDTH_TRUE@am__objects_528 = \
@GL_COND_OBJ_WCWIDTH_TRUE@ libunistring_la-wcwidth.lo
-@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__objects_515 = libunistring_la-windows-mutex.lo
-@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__objects_516 = libunistring_la-windows-once.lo
-@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__objects_517 = libunistring_la-windows-recmutex.lo
-@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__objects_518 = libunistring_la-windows-rwlock.lo
-@WOE32DLL_TRUE@am__objects_519 = ../woe32dll/libunistring_la-unistring-exports.lo
+@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__objects_529 = libunistring_la-windows-mutex.lo
+@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__objects_530 = libunistring_la-windows-once.lo
+@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__objects_531 = libunistring_la-windows-recmutex.lo
+@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__objects_532 = libunistring_la-windows-rwlock.lo
+@WOE32DLL_TRUE@am__objects_533 = ../woe32dll/libunistring_la-unistring-exports.lo
am_libunistring_la_OBJECTS = libunistring_la-amemxfrm.lo \
libunistring_la-c-ctype.lo libunistring_la-c-strcasecmp.lo \
- libunistring_la-c-strncasecmp.lo $(am__objects_1) \
- $(am__objects_2) $(am__objects_3) $(am__objects_4) \
+ libunistring_la-c-strncasecmp.lo libunistring_la-c32isalnum.lo \
+ libunistring_la-c32isalpha.lo libunistring_la-c32isblank.lo \
+ libunistring_la-c32iscntrl.lo libunistring_la-c32isdigit.lo \
+ libunistring_la-c32isgraph.lo libunistring_la-c32islower.lo \
+ libunistring_la-c32isprint.lo libunistring_la-c32ispunct.lo \
+ libunistring_la-c32isspace.lo libunistring_la-c32isupper.lo \
+ libunistring_la-c32isxdigit.lo libunistring_la-c32tolower.lo \
+ libunistring_la-c32width.lo $(am__objects_1) $(am__objects_2) \
+ $(am__objects_3) $(am__objects_4) \
libunistring_la-hard-locale.lo $(am__objects_5) \
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) libunistring_la-localcharset.lo \
- libunistring_la-localename.lo \
- libunistring_la-localename-table.lo \
- glthread/libunistring_la-lock.lo libunistring_la-malloca.lo \
- libunistring_la-math.lo libunistring_la-mbchar.lo \
- libunistring_la-mbiter.lo $(am__objects_10) $(am__objects_11) \
- libunistring_la-mbsnlen.lo $(am__objects_12) \
- libunistring_la-memcmp2.lo libunistring_la-printf-frexp.lo \
+ $(am__objects_9) $(am__objects_10) \
+ libunistring_la-localcharset.lo libunistring_la-localename.lo \
+ $(am__objects_11) libunistring_la-localename-table.lo \
+ $(am__objects_12) glthread/libunistring_la-lock.lo \
+ libunistring_la-malloca.lo libunistring_la-math.lo \
+ libunistring_la-mbchar.lo libunistring_la-mbiterf.lo \
+ $(am__objects_13) $(am__objects_14) $(am__objects_15) \
+ libunistring_la-mbsnlen.lo libunistring_la-mbszero.lo \
+ $(am__objects_16) libunistring_la-memcmp2.lo \
+ libunistring_la-printf-frexp.lo \
libunistring_la-printf-frexpl.lo \
- libunistring_la-setlocale_null.lo $(am__objects_13) \
- $(am__objects_14) libunistring_la-striconveh.lo \
- libunistring_la-striconveha.lo $(am__objects_15) \
- glthread/libunistring_la-threadlib.lo \
- unicase/libunistring_la-cased.lo $(am__objects_16) \
- $(am__objects_17) unicase/libunistring_la-ignorable.lo \
- $(am__objects_18) unicase/libunistring_la-special-casing.lo \
- unicase/libunistring_la-tocasefold.lo $(am__objects_19) \
- $(am__objects_20) $(am__objects_21) $(am__objects_22) \
- $(am__objects_23) $(am__objects_24) \
- unicase/libunistring_la-u16-casemap.lo $(am__objects_25) \
- $(am__objects_26) $(am__objects_27) $(am__objects_28) \
- $(am__objects_29) $(am__objects_30) $(am__objects_31) \
- unicase/libunistring_la-u16-is-invariant.lo $(am__objects_32) \
+ libunistring_la-setlocale_null.lo $(am__objects_17) \
+ libunistring_la-setlocale_null-unlocked.lo $(am__objects_18) \
+ libunistring_la-striconveh.lo libunistring_la-striconveha.lo \
+ $(am__objects_19) glthread/libunistring_la-threadlib.lo \
+ unicase/libunistring_la-cased.lo $(am__objects_20) \
+ $(am__objects_21) unicase/libunistring_la-ignorable.lo \
+ $(am__objects_22) unicase/libunistring_la-special-casing.lo \
+ unicase/libunistring_la-tocasefold.lo $(am__objects_23) \
+ $(am__objects_24) $(am__objects_25) $(am__objects_26) \
+ $(am__objects_27) $(am__objects_28) \
+ unicase/libunistring_la-u16-casemap.lo $(am__objects_29) \
+ $(am__objects_30) $(am__objects_31) $(am__objects_32) \
$(am__objects_33) $(am__objects_34) $(am__objects_35) \
- $(am__objects_36) $(am__objects_37) $(am__objects_38) \
- $(am__objects_39) $(am__objects_40) $(am__objects_41) \
- $(am__objects_42) unicase/libunistring_la-u32-casemap.lo \
+ unicase/libunistring_la-u16-is-invariant.lo $(am__objects_36) \
+ $(am__objects_37) $(am__objects_38) $(am__objects_39) \
+ $(am__objects_40) $(am__objects_41) $(am__objects_42) \
$(am__objects_43) $(am__objects_44) $(am__objects_45) \
- $(am__objects_46) $(am__objects_47) $(am__objects_48) \
- $(am__objects_49) unicase/libunistring_la-u32-is-invariant.lo \
+ $(am__objects_46) unicase/libunistring_la-u32-casemap.lo \
+ $(am__objects_47) $(am__objects_48) $(am__objects_49) \
$(am__objects_50) $(am__objects_51) $(am__objects_52) \
- $(am__objects_53) $(am__objects_54) $(am__objects_55) \
- $(am__objects_56) $(am__objects_57) $(am__objects_58) \
- $(am__objects_59) $(am__objects_60) \
- unicase/libunistring_la-u8-casemap.lo $(am__objects_61) \
- $(am__objects_62) $(am__objects_63) $(am__objects_64) \
- $(am__objects_65) $(am__objects_66) $(am__objects_67) \
- unicase/libunistring_la-u8-is-invariant.lo $(am__objects_68) \
+ $(am__objects_53) unicase/libunistring_la-u32-is-invariant.lo \
+ $(am__objects_54) $(am__objects_55) $(am__objects_56) \
+ $(am__objects_57) $(am__objects_58) $(am__objects_59) \
+ $(am__objects_60) $(am__objects_61) $(am__objects_62) \
+ $(am__objects_63) $(am__objects_64) \
+ unicase/libunistring_la-u8-casemap.lo $(am__objects_65) \
+ $(am__objects_66) $(am__objects_67) $(am__objects_68) \
$(am__objects_69) $(am__objects_70) $(am__objects_71) \
- $(am__objects_72) $(am__objects_73) $(am__objects_74) \
- $(am__objects_75) $(am__objects_76) $(am__objects_77) \
- $(am__objects_78) $(am__objects_79) $(am__objects_80) \
- $(am__objects_81) $(am__objects_82) $(am__objects_83) \
- $(am__objects_84) $(am__objects_85) $(am__objects_86) \
- $(am__objects_87) $(am__objects_88) $(am__objects_89) \
- $(am__objects_90) $(am__objects_91) $(am__objects_92) \
- $(am__objects_93) $(am__objects_94) $(am__objects_95) \
- $(am__objects_96) $(am__objects_97) $(am__objects_98) \
- $(am__objects_99) $(am__objects_100) $(am__objects_101) \
- $(am__objects_102) $(am__objects_103) $(am__objects_104) \
- $(am__objects_105) $(am__objects_106) $(am__objects_107) \
- $(am__objects_108) $(am__objects_109) $(am__objects_110) \
- $(am__objects_111) $(am__objects_112) $(am__objects_113) \
- $(am__objects_114) $(am__objects_115) $(am__objects_116) \
- $(am__objects_117) $(am__objects_118) $(am__objects_119) \
- $(am__objects_120) $(am__objects_121) $(am__objects_122) \
- $(am__objects_123) $(am__objects_124) $(am__objects_125) \
- $(am__objects_126) $(am__objects_127) $(am__objects_128) \
- $(am__objects_129) $(am__objects_130) $(am__objects_131) \
- $(am__objects_132) $(am__objects_133) $(am__objects_134) \
- $(am__objects_135) $(am__objects_136) $(am__objects_137) \
- $(am__objects_138) $(am__objects_139) $(am__objects_140) \
- $(am__objects_141) $(am__objects_142) $(am__objects_143) \
- $(am__objects_144) $(am__objects_145) $(am__objects_146) \
- $(am__objects_147) $(am__objects_148) $(am__objects_149) \
- $(am__objects_150) $(am__objects_151) $(am__objects_152) \
- $(am__objects_153) $(am__objects_154) $(am__objects_155) \
- $(am__objects_156) $(am__objects_157) $(am__objects_158) \
- $(am__objects_159) $(am__objects_160) $(am__objects_161) \
- $(am__objects_162) $(am__objects_163) $(am__objects_164) \
- $(am__objects_165) $(am__objects_166) $(am__objects_167) \
- $(am__objects_168) $(am__objects_169) $(am__objects_170) \
- $(am__objects_171) $(am__objects_172) $(am__objects_173) \
- $(am__objects_174) $(am__objects_175) $(am__objects_176) \
- $(am__objects_177) $(am__objects_178) $(am__objects_179) \
- $(am__objects_180) $(am__objects_181) $(am__objects_182) \
- $(am__objects_183) $(am__objects_184) $(am__objects_185) \
- $(am__objects_186) $(am__objects_187) $(am__objects_188) \
- $(am__objects_189) $(am__objects_190) $(am__objects_191) \
- $(am__objects_192) $(am__objects_193) $(am__objects_194) \
- $(am__objects_195) $(am__objects_196) $(am__objects_197) \
- $(am__objects_198) $(am__objects_199) $(am__objects_200) \
- $(am__objects_201) $(am__objects_202) $(am__objects_203) \
- $(am__objects_204) $(am__objects_205) $(am__objects_206) \
- $(am__objects_207) $(am__objects_208) $(am__objects_209) \
- $(am__objects_210) $(am__objects_211) $(am__objects_212) \
- $(am__objects_213) $(am__objects_214) $(am__objects_215) \
- $(am__objects_216) $(am__objects_217) $(am__objects_218) \
- $(am__objects_219) $(am__objects_220) $(am__objects_221) \
- $(am__objects_222) $(am__objects_223) $(am__objects_224) \
- $(am__objects_225) $(am__objects_226) $(am__objects_227) \
- $(am__objects_228) $(am__objects_229) $(am__objects_230) \
- $(am__objects_231) $(am__objects_232) $(am__objects_233) \
- $(am__objects_234) $(am__objects_235) $(am__objects_236) \
- $(am__objects_237) $(am__objects_238) $(am__objects_239) \
- $(am__objects_240) $(am__objects_241) $(am__objects_242) \
- $(am__objects_243) $(am__objects_244) $(am__objects_245) \
- $(am__objects_246) $(am__objects_247) $(am__objects_248) \
- $(am__objects_249) $(am__objects_250) $(am__objects_251) \
- $(am__objects_252) $(am__objects_253) $(am__objects_254) \
- $(am__objects_255) $(am__objects_256) $(am__objects_257) \
- $(am__objects_258) $(am__objects_259) $(am__objects_260) \
- $(am__objects_261) $(am__objects_262) $(am__objects_263) \
- $(am__objects_264) $(am__objects_265) $(am__objects_266) \
- $(am__objects_267) $(am__objects_268) $(am__objects_269) \
- $(am__objects_270) $(am__objects_271) $(am__objects_272) \
- $(am__objects_273) $(am__objects_274) $(am__objects_275) \
- $(am__objects_276) $(am__objects_277) $(am__objects_278) \
- $(am__objects_279) $(am__objects_280) $(am__objects_281) \
- $(am__objects_282) $(am__objects_283) $(am__objects_284) \
- $(am__objects_285) $(am__objects_286) $(am__objects_287) \
- $(am__objects_288) $(am__objects_289) $(am__objects_290) \
- unilbrk/libunistring_la-lbrktables.lo $(am__objects_291) \
- $(am__objects_292) $(am__objects_293) $(am__objects_294) \
- $(am__objects_295) $(am__objects_296) \
- unilbrk/libunistring_la-ulc-common.lo $(am__objects_297) \
- $(am__objects_298) $(am__objects_299) $(am__objects_300) \
+ unicase/libunistring_la-u8-is-invariant.lo $(am__objects_72) \
+ $(am__objects_73) $(am__objects_74) $(am__objects_75) \
+ $(am__objects_76) $(am__objects_77) $(am__objects_78) \
+ $(am__objects_79) $(am__objects_80) $(am__objects_81) \
+ $(am__objects_82) $(am__objects_83) $(am__objects_84) \
+ $(am__objects_85) $(am__objects_86) $(am__objects_87) \
+ $(am__objects_88) $(am__objects_89) $(am__objects_90) \
+ $(am__objects_91) $(am__objects_92) $(am__objects_93) \
+ $(am__objects_94) $(am__objects_95) $(am__objects_96) \
+ $(am__objects_97) $(am__objects_98) $(am__objects_99) \
+ $(am__objects_100) $(am__objects_101) $(am__objects_102) \
+ $(am__objects_103) $(am__objects_104) $(am__objects_105) \
+ $(am__objects_106) $(am__objects_107) $(am__objects_108) \
+ $(am__objects_109) $(am__objects_110) $(am__objects_111) \
+ $(am__objects_112) $(am__objects_113) $(am__objects_114) \
+ $(am__objects_115) $(am__objects_116) $(am__objects_117) \
+ $(am__objects_118) $(am__objects_119) $(am__objects_120) \
+ $(am__objects_121) $(am__objects_122) $(am__objects_123) \
+ $(am__objects_124) $(am__objects_125) $(am__objects_126) \
+ $(am__objects_127) $(am__objects_128) $(am__objects_129) \
+ $(am__objects_130) $(am__objects_131) $(am__objects_132) \
+ $(am__objects_133) $(am__objects_134) $(am__objects_135) \
+ $(am__objects_136) $(am__objects_137) $(am__objects_138) \
+ $(am__objects_139) $(am__objects_140) $(am__objects_141) \
+ $(am__objects_142) $(am__objects_143) $(am__objects_144) \
+ $(am__objects_145) $(am__objects_146) $(am__objects_147) \
+ $(am__objects_148) $(am__objects_149) $(am__objects_150) \
+ unictype/libunistring_la-categ_none.lo $(am__objects_151) \
+ $(am__objects_152) $(am__objects_153) $(am__objects_154) \
+ $(am__objects_155) $(am__objects_156) $(am__objects_157) \
+ $(am__objects_158) $(am__objects_159) $(am__objects_160) \
+ $(am__objects_161) $(am__objects_162) $(am__objects_163) \
+ $(am__objects_164) $(am__objects_165) $(am__objects_166) \
+ $(am__objects_167) $(am__objects_168) $(am__objects_169) \
+ $(am__objects_170) $(am__objects_171) $(am__objects_172) \
+ $(am__objects_173) $(am__objects_174) $(am__objects_175) \
+ $(am__objects_176) $(am__objects_177) $(am__objects_178) \
+ $(am__objects_179) $(am__objects_180) $(am__objects_181) \
+ $(am__objects_182) $(am__objects_183) $(am__objects_184) \
+ $(am__objects_185) $(am__objects_186) $(am__objects_187) \
+ $(am__objects_188) $(am__objects_189) $(am__objects_190) \
+ $(am__objects_191) $(am__objects_192) $(am__objects_193) \
+ $(am__objects_194) $(am__objects_195) $(am__objects_196) \
+ $(am__objects_197) $(am__objects_198) $(am__objects_199) \
+ $(am__objects_200) $(am__objects_201) $(am__objects_202) \
+ $(am__objects_203) $(am__objects_204) $(am__objects_205) \
+ $(am__objects_206) $(am__objects_207) $(am__objects_208) \
+ $(am__objects_209) $(am__objects_210) $(am__objects_211) \
+ $(am__objects_212) $(am__objects_213) $(am__objects_214) \
+ $(am__objects_215) $(am__objects_216) $(am__objects_217) \
+ $(am__objects_218) $(am__objects_219) $(am__objects_220) \
+ $(am__objects_221) $(am__objects_222) $(am__objects_223) \
+ $(am__objects_224) $(am__objects_225) $(am__objects_226) \
+ $(am__objects_227) $(am__objects_228) $(am__objects_229) \
+ $(am__objects_230) $(am__objects_231) $(am__objects_232) \
+ $(am__objects_233) $(am__objects_234) $(am__objects_235) \
+ $(am__objects_236) $(am__objects_237) $(am__objects_238) \
+ $(am__objects_239) $(am__objects_240) $(am__objects_241) \
+ $(am__objects_242) $(am__objects_243) $(am__objects_244) \
+ $(am__objects_245) $(am__objects_246) $(am__objects_247) \
+ $(am__objects_248) $(am__objects_249) $(am__objects_250) \
+ $(am__objects_251) $(am__objects_252) $(am__objects_253) \
+ $(am__objects_254) $(am__objects_255) $(am__objects_256) \
+ $(am__objects_257) $(am__objects_258) $(am__objects_259) \
+ $(am__objects_260) $(am__objects_261) $(am__objects_262) \
+ $(am__objects_263) $(am__objects_264) $(am__objects_265) \
+ $(am__objects_266) $(am__objects_267) $(am__objects_268) \
+ $(am__objects_269) $(am__objects_270) $(am__objects_271) \
+ $(am__objects_272) $(am__objects_273) $(am__objects_274) \
+ $(am__objects_275) $(am__objects_276) $(am__objects_277) \
+ $(am__objects_278) $(am__objects_279) $(am__objects_280) \
+ $(am__objects_281) $(am__objects_282) $(am__objects_283) \
+ $(am__objects_284) $(am__objects_285) $(am__objects_286) \
+ $(am__objects_287) $(am__objects_288) $(am__objects_289) \
+ $(am__objects_290) $(am__objects_291) $(am__objects_292) \
+ $(am__objects_293) $(am__objects_294) $(am__objects_295) \
+ $(am__objects_296) $(am__objects_297) $(am__objects_298) \
+ $(am__objects_299) $(am__objects_300) \
+ unilbrk/libunistring_la-lbrktables.lo $(am__objects_301) \
+ $(am__objects_302) $(am__objects_303) $(am__objects_304) \
+ $(am__objects_305) $(am__objects_306) \
+ unilbrk/libunistring_la-ulc-common.lo $(am__objects_307) \
+ $(am__objects_308) $(am__objects_309) $(am__objects_310) \
+ $(am__objects_311) \
uninorm/libunistring_la-compat-decomposition.lo \
- $(am__objects_301) \
+ $(am__objects_312) \
uninorm/libunistring_la-decompose-internal.lo \
- $(am__objects_302) $(am__objects_303) \
+ $(am__objects_313) $(am__objects_314) \
uninorm/libunistring_la-decomposition-table.lo \
- $(am__objects_304) $(am__objects_305) $(am__objects_306) \
- $(am__objects_307) $(am__objects_308) $(am__objects_309) \
- $(am__objects_310) $(am__objects_311) $(am__objects_312) \
- $(am__objects_313) $(am__objects_314) $(am__objects_315) \
- $(am__objects_316) $(am__objects_317) $(am__objects_318) \
- $(am__objects_319) $(am__objects_320) \
+ $(am__objects_315) $(am__objects_316) $(am__objects_317) \
+ $(am__objects_318) $(am__objects_319) $(am__objects_320) \
+ $(am__objects_321) $(am__objects_322) $(am__objects_323) \
+ $(am__objects_324) $(am__objects_325) $(am__objects_326) \
+ $(am__objects_327) $(am__objects_328) $(am__objects_329) \
+ $(am__objects_330) $(am__objects_331) \
libunistring_la-unistd.lo \
- unistdio/libunistring_la-u-printf-args.lo $(am__objects_321) \
- $(am__objects_322) \
+ unistdio/libunistring_la-u-printf-args.lo $(am__objects_332) \
+ $(am__objects_333) \
unistdio/libunistring_la-u16-printf-parse.lo \
- $(am__objects_323) $(am__objects_324) $(am__objects_325) \
- $(am__objects_326) $(am__objects_327) $(am__objects_328) \
- $(am__objects_329) $(am__objects_330) $(am__objects_331) \
- $(am__objects_332) $(am__objects_333) $(am__objects_334) \
- $(am__objects_335) $(am__objects_336) $(am__objects_337) \
- $(am__objects_338) \
+ $(am__objects_334) $(am__objects_335) $(am__objects_336) \
+ $(am__objects_337) $(am__objects_338) $(am__objects_339) \
+ $(am__objects_340) $(am__objects_341) $(am__objects_342) \
+ $(am__objects_343) $(am__objects_344) $(am__objects_345) \
+ $(am__objects_346) $(am__objects_347) $(am__objects_348) \
+ $(am__objects_349) \
unistdio/libunistring_la-u32-printf-parse.lo \
- $(am__objects_339) $(am__objects_340) $(am__objects_341) \
- $(am__objects_342) $(am__objects_343) $(am__objects_344) \
- $(am__objects_345) $(am__objects_346) $(am__objects_347) \
- $(am__objects_348) $(am__objects_349) $(am__objects_350) \
- $(am__objects_351) $(am__objects_352) $(am__objects_353) \
- $(am__objects_354) unistdio/libunistring_la-u8-printf-parse.lo \
- $(am__objects_355) $(am__objects_356) $(am__objects_357) \
- $(am__objects_358) $(am__objects_359) $(am__objects_360) \
- $(am__objects_361) $(am__objects_362) $(am__objects_363) \
- $(am__objects_364) $(am__objects_365) $(am__objects_366) \
- $(am__objects_367) $(am__objects_368) $(am__objects_369) \
- $(am__objects_370) $(am__objects_371) \
- unistdio/libunistring_la-ulc-printf-parse.lo \
+ $(am__objects_350) $(am__objects_351) $(am__objects_352) \
+ $(am__objects_353) $(am__objects_354) $(am__objects_355) \
+ $(am__objects_356) $(am__objects_357) $(am__objects_358) \
+ $(am__objects_359) $(am__objects_360) $(am__objects_361) \
+ $(am__objects_362) $(am__objects_363) $(am__objects_364) \
+ $(am__objects_365) unistdio/libunistring_la-u8-printf-parse.lo \
+ $(am__objects_366) $(am__objects_367) $(am__objects_368) \
+ $(am__objects_369) $(am__objects_370) $(am__objects_371) \
$(am__objects_372) $(am__objects_373) $(am__objects_374) \
$(am__objects_375) $(am__objects_376) $(am__objects_377) \
$(am__objects_378) $(am__objects_379) $(am__objects_380) \
- $(am__objects_381) $(am__objects_382) $(am__objects_383) \
- $(am__objects_384) $(am__objects_385) $(am__objects_386) \
- $(am__objects_387) $(am__objects_388) $(am__objects_389) \
- $(am__objects_390) $(am__objects_391) $(am__objects_392) \
- $(am__objects_393) $(am__objects_394) $(am__objects_395) \
- $(am__objects_396) $(am__objects_397) $(am__objects_398) \
- $(am__objects_399) $(am__objects_400) $(am__objects_401) \
- $(am__objects_402) $(am__objects_403) $(am__objects_404) \
- $(am__objects_405) $(am__objects_406) $(am__objects_407) \
- $(am__objects_408) $(am__objects_409) $(am__objects_410) \
- $(am__objects_411) $(am__objects_412) $(am__objects_413) \
- $(am__objects_414) $(am__objects_415) $(am__objects_416) \
- $(am__objects_417) $(am__objects_418) $(am__objects_419) \
- $(am__objects_420) $(am__objects_421) $(am__objects_422) \
- $(am__objects_423) $(am__objects_424) $(am__objects_425) \
- $(am__objects_426) $(am__objects_427) $(am__objects_428) \
- $(am__objects_429) $(am__objects_430) $(am__objects_431) \
- $(am__objects_432) $(am__objects_433) $(am__objects_434) \
- $(am__objects_435) $(am__objects_436) $(am__objects_437) \
- $(am__objects_438) $(am__objects_439) $(am__objects_440) \
- $(am__objects_441) $(am__objects_442) $(am__objects_443) \
- $(am__objects_444) $(am__objects_445) $(am__objects_446) \
- $(am__objects_447) $(am__objects_448) $(am__objects_449) \
- $(am__objects_450) $(am__objects_451) $(am__objects_452) \
- $(am__objects_453) $(am__objects_454) $(am__objects_455) \
- $(am__objects_456) $(am__objects_457) $(am__objects_458) \
- $(am__objects_459) $(am__objects_460) $(am__objects_461) \
- $(am__objects_462) $(am__objects_463) $(am__objects_464) \
- $(am__objects_465) $(am__objects_466) $(am__objects_467) \
- $(am__objects_468) $(am__objects_469) $(am__objects_470) \
- $(am__objects_471) $(am__objects_472) $(am__objects_473) \
- $(am__objects_474) $(am__objects_475) $(am__objects_476) \
- $(am__objects_477) $(am__objects_478) $(am__objects_479) \
- $(am__objects_480) $(am__objects_481) $(am__objects_482) \
- $(am__objects_483) $(am__objects_484) $(am__objects_485) \
- $(am__objects_486) $(am__objects_487) $(am__objects_488) \
- $(am__objects_489) $(am__objects_490) $(am__objects_491) \
- $(am__objects_492) $(am__objects_493) $(am__objects_494) \
- $(am__objects_495) $(am__objects_496) $(am__objects_497) \
- $(am__objects_498) $(am__objects_499) $(am__objects_500) \
- $(am__objects_501) uniwbrk/libunistring_la-wbrktable.lo \
- $(am__objects_502) $(am__objects_503) $(am__objects_504) \
- $(am__objects_505) $(am__objects_506) $(am__objects_507) \
- $(am__objects_508) $(am__objects_509) $(am__objects_510) \
- $(am__objects_511) $(am__objects_512) $(am__objects_513) \
- libunistring_la-wctype-h.lo $(am__objects_514) \
- $(am__objects_515) $(am__objects_516) $(am__objects_517) \
- $(am__objects_518) libunistring_la-xsize.lo \
- libunistring_la-version.lo $(am__objects_519)
+ $(am__objects_381) $(am__objects_382) \
+ unistdio/libunistring_la-ulc-printf-parse.lo \
+ $(am__objects_383) $(am__objects_384) $(am__objects_385) \
+ $(am__objects_386) $(am__objects_387) $(am__objects_388) \
+ $(am__objects_389) $(am__objects_390) $(am__objects_391) \
+ $(am__objects_392) $(am__objects_393) $(am__objects_394) \
+ $(am__objects_395) $(am__objects_396) $(am__objects_397) \
+ $(am__objects_398) $(am__objects_399) $(am__objects_400) \
+ $(am__objects_401) $(am__objects_402) $(am__objects_403) \
+ $(am__objects_404) $(am__objects_405) $(am__objects_406) \
+ $(am__objects_407) $(am__objects_408) $(am__objects_409) \
+ $(am__objects_410) $(am__objects_411) $(am__objects_412) \
+ $(am__objects_413) $(am__objects_414) $(am__objects_415) \
+ $(am__objects_416) $(am__objects_417) $(am__objects_418) \
+ $(am__objects_419) $(am__objects_420) $(am__objects_421) \
+ $(am__objects_422) $(am__objects_423) $(am__objects_424) \
+ $(am__objects_425) $(am__objects_426) $(am__objects_427) \
+ $(am__objects_428) $(am__objects_429) $(am__objects_430) \
+ $(am__objects_431) $(am__objects_432) $(am__objects_433) \
+ $(am__objects_434) $(am__objects_435) $(am__objects_436) \
+ $(am__objects_437) $(am__objects_438) $(am__objects_439) \
+ $(am__objects_440) $(am__objects_441) $(am__objects_442) \
+ $(am__objects_443) $(am__objects_444) $(am__objects_445) \
+ $(am__objects_446) $(am__objects_447) $(am__objects_448) \
+ $(am__objects_449) $(am__objects_450) $(am__objects_451) \
+ $(am__objects_452) $(am__objects_453) $(am__objects_454) \
+ $(am__objects_455) $(am__objects_456) $(am__objects_457) \
+ $(am__objects_458) $(am__objects_459) $(am__objects_460) \
+ $(am__objects_461) $(am__objects_462) $(am__objects_463) \
+ $(am__objects_464) $(am__objects_465) $(am__objects_466) \
+ $(am__objects_467) $(am__objects_468) $(am__objects_469) \
+ $(am__objects_470) $(am__objects_471) $(am__objects_472) \
+ $(am__objects_473) $(am__objects_474) $(am__objects_475) \
+ $(am__objects_476) $(am__objects_477) $(am__objects_478) \
+ $(am__objects_479) $(am__objects_480) $(am__objects_481) \
+ $(am__objects_482) $(am__objects_483) $(am__objects_484) \
+ $(am__objects_485) $(am__objects_486) $(am__objects_487) \
+ $(am__objects_488) $(am__objects_489) $(am__objects_490) \
+ $(am__objects_491) $(am__objects_492) $(am__objects_493) \
+ $(am__objects_494) $(am__objects_495) $(am__objects_496) \
+ $(am__objects_497) $(am__objects_498) $(am__objects_499) \
+ $(am__objects_500) $(am__objects_501) $(am__objects_502) \
+ $(am__objects_503) $(am__objects_504) $(am__objects_505) \
+ $(am__objects_506) $(am__objects_507) $(am__objects_508) \
+ $(am__objects_509) $(am__objects_510) $(am__objects_511) \
+ $(am__objects_512) $(am__objects_513) $(am__objects_514) \
+ $(am__objects_515) uniwbrk/libunistring_la-wbrktable.lo \
+ $(am__objects_516) $(am__objects_517) $(am__objects_518) \
+ $(am__objects_519) $(am__objects_520) $(am__objects_521) \
+ $(am__objects_522) $(am__objects_523) $(am__objects_524) \
+ $(am__objects_525) $(am__objects_526) $(am__objects_527) \
+ libunistring_la-wctype-h.lo $(am__objects_528) \
+ $(am__objects_529) $(am__objects_530) $(am__objects_531) \
+ $(am__objects_532) libunistring_la-xsize.lo \
+ libunistring_la-version.lo $(am__objects_533)
libunistring_la_OBJECTS = $(am_libunistring_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -2341,6 +2426,8 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ -DNO_XMALLOC
DEPDIR = @DEPDIR@
@@ -2382,7 +2469,33 @@ GL_GNULIB_ATANF = @GL_GNULIB_ATANF@
GL_GNULIB_ATANL = @GL_GNULIB_ATANL@
GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
GL_GNULIB_BIND = @GL_GNULIB_BIND@
+GL_GNULIB_BTOC32 = @GL_GNULIB_BTOC32@
GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@
+GL_GNULIB_C32ISALNUM = @GL_GNULIB_C32ISALNUM@
+GL_GNULIB_C32ISALPHA = @GL_GNULIB_C32ISALPHA@
+GL_GNULIB_C32ISBLANK = @GL_GNULIB_C32ISBLANK@
+GL_GNULIB_C32ISCNTRL = @GL_GNULIB_C32ISCNTRL@
+GL_GNULIB_C32ISDIGIT = @GL_GNULIB_C32ISDIGIT@
+GL_GNULIB_C32ISGRAPH = @GL_GNULIB_C32ISGRAPH@
+GL_GNULIB_C32ISLOWER = @GL_GNULIB_C32ISLOWER@
+GL_GNULIB_C32ISPRINT = @GL_GNULIB_C32ISPRINT@
+GL_GNULIB_C32ISPUNCT = @GL_GNULIB_C32ISPUNCT@
+GL_GNULIB_C32ISSPACE = @GL_GNULIB_C32ISSPACE@
+GL_GNULIB_C32ISUPPER = @GL_GNULIB_C32ISUPPER@
+GL_GNULIB_C32ISXDIGIT = @GL_GNULIB_C32ISXDIGIT@
+GL_GNULIB_C32RTOMB = @GL_GNULIB_C32RTOMB@
+GL_GNULIB_C32SNRTOMBS = @GL_GNULIB_C32SNRTOMBS@
+GL_GNULIB_C32SRTOMBS = @GL_GNULIB_C32SRTOMBS@
+GL_GNULIB_C32STOMBS = @GL_GNULIB_C32STOMBS@
+GL_GNULIB_C32SWIDTH = @GL_GNULIB_C32SWIDTH@
+GL_GNULIB_C32TOB = @GL_GNULIB_C32TOB@
+GL_GNULIB_C32TOLOWER = @GL_GNULIB_C32TOLOWER@
+GL_GNULIB_C32TOUPPER = @GL_GNULIB_C32TOUPPER@
+GL_GNULIB_C32WIDTH = @GL_GNULIB_C32WIDTH@
+GL_GNULIB_C32_APPLY_MAPPING = @GL_GNULIB_C32_APPLY_MAPPING@
+GL_GNULIB_C32_APPLY_TYPE_TEST = @GL_GNULIB_C32_APPLY_TYPE_TEST@
+GL_GNULIB_C32_GET_MAPPING = @GL_GNULIB_C32_GET_MAPPING@
+GL_GNULIB_C32_GET_TYPE_TEST = @GL_GNULIB_C32_GET_TYPE_TEST@
GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
@@ -2495,6 +2608,7 @@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@
GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@
GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
@@ -2526,16 +2640,18 @@ GL_GNULIB_ISNANL = @GL_GNULIB_ISNANL@
GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@
GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@
GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@
+GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@
GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@
GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LDEXP = @GL_GNULIB_LDEXP@
GL_GNULIB_LDEXPF = @GL_GNULIB_LDEXPF@
GL_GNULIB_LDEXPL = @GL_GNULIB_LDEXPL@
GL_GNULIB_LINK = @GL_GNULIB_LINK@
GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@
GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@
-GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@
+GL_GNULIB_LOCALENAME_UNSAFE = @GL_GNULIB_LOCALENAME_UNSAFE@
GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
GL_GNULIB_LOG = @GL_GNULIB_LOG@
GL_GNULIB_LOG10 = @GL_GNULIB_LOG10@
@@ -2557,6 +2673,8 @@ GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@
+GL_GNULIB_MBRTOC16 = @GL_GNULIB_MBRTOC16@
+GL_GNULIB_MBRTOC32 = @GL_GNULIB_MBRTOC32@
GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@
GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
@@ -2566,15 +2684,20 @@ GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@
GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSNRTOC32S = @GL_GNULIB_MBSNRTOC32S@
GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@
GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSRTOC32S = @GL_GNULIB_MBSRTOC32S@
GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@
GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOC32S = @GL_GNULIB_MBSTOC32S@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -2627,6 +2750,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
@@ -2680,6 +2804,7 @@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
GL_GNULIB_RAISE = @GL_GNULIB_RAISE@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
@@ -2754,6 +2879,7 @@ GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOF = @GL_GNULIB_STRTOF@
GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@
GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
@@ -2769,12 +2895,16 @@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
GL_GNULIB_TANF = @GL_GNULIB_TANF@
GL_GNULIB_TANHF = @GL_GNULIB_TANHF@
GL_GNULIB_TANL = @GL_GNULIB_TANL@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TOTALORDER = @GL_GNULIB_TOTALORDER@
+GL_GNULIB_TOTALORDERF = @GL_GNULIB_TOTALORDERF@
+GL_GNULIB_TOTALORDERL = @GL_GNULIB_TOTALORDERL@
GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNC = @GL_GNULIB_TRUNC@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
@@ -2782,6 +2912,148 @@ GL_GNULIB_TRUNCF = @GL_GNULIB_TRUNCF@
GL_GNULIB_TRUNCL = @GL_GNULIB_TRUNCL@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@
+GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE = @GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFD_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE@
GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
@@ -2833,6 +3105,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@
GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@
GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@
+GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@
GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@
GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@
GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@
@@ -2841,9 +3114,12 @@ GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@
GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@
GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_CHAR16_T = @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+GNULIBHEADERS_OVERRIDE_CHAR32_T = @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+GNULIBHEADERS_OVERRIDE_CHAR8_T = @GNULIBHEADERS_OVERRIDE_CHAR8_T@
GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ACCEPT4 = @HAVE_ACCEPT4@
HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
@@ -2857,6 +3133,7 @@ HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C32RTOMB = @HAVE_C32RTOMB@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CBRT = @HAVE_CBRT@
@@ -2906,6 +3183,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
@@ -2922,6 +3200,8 @@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
@@ -2956,6 +3236,9 @@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPF = @HAVE_EXPF@
@@ -2994,6 +3277,7 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GETUMASK = @HAVE_GETUMASK@
@@ -3005,6 +3289,8 @@ HAVE_HYPOTL = @HAVE_HYPOTL@
HAVE_ILOGB = @HAVE_ILOGB@
HAVE_ILOGBF = @HAVE_ILOGBF@
HAVE_ILOGBL = @HAVE_ILOGBL@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
@@ -3037,6 +3323,8 @@ HAVE_LOGL = @HAVE_LOGL@
HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOC16 = @HAVE_MBRTOC16@
+HAVE_MBRTOC32 = @HAVE_MBRTOC32@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
@@ -3044,6 +3332,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -3184,6 +3473,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOF = @HAVE_STRTOF@
HAVE_STRTOL = @HAVE_STRTOL@
HAVE_STRTOLD = @HAVE_STRTOLD@
HAVE_STRTOLL = @HAVE_STRTOLL@
@@ -3216,8 +3506,13 @@ HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TOTALORDER = @HAVE_TOTALORDER@
+HAVE_TOTALORDERF = @HAVE_TOTALORDERF@
+HAVE_TOTALORDERL = @HAVE_TOTALORDERL@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UCHAR_H = @HAVE_UCHAR_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_USLEEP = @HAVE_USLEEP@
@@ -3265,6 +3560,7 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
@@ -3282,6 +3578,10 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -3301,6 +3601,7 @@ LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNIGBRK_H = @LIBUNISTRING_UNIGBRK_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
+LIBUNISTRING_UNIMETADATA_H = @LIBUNISTRING_UNIMETADATA_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@
LIBUNISTRING_UNISTDIO_H = @LIBUNISTRING_UNISTDIO_H@
@@ -3337,8 +3638,10 @@ LTLIBTHREAD = @LTLIBTHREAD@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MBRTOWC_LIB = @MBRTOWC_LIB@
MKDIR_P = @MKDIR_P@
NAMESPACING = @NAMESPACING@
+NANOSLEEP_LIB = @NANOSLEEP_LIB@
NETINET_IN_H = @NETINET_IN_H@
NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
NEXT_ASSERT_H = @NEXT_ASSERT_H@
@@ -3346,6 +3649,7 @@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
@@ -3371,11 +3675,13 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_UCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
@@ -3401,6 +3707,7 @@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UCHAR_H = @NEXT_UCHAR_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
@@ -3423,6 +3730,7 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTHREAD_SIGMASK_LIB = @PTHREAD_SIGMASK_LIB@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RC = @RC@
@@ -3434,6 +3742,7 @@ REPLACE_ASINF = @REPLACE_ASINF@
REPLACE_ATAN2F = @REPLACE_ATAN2F@
REPLACE_ATANF = @REPLACE_ATANF@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_C32RTOMB = @REPLACE_C32RTOMB@
REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
@@ -3453,7 +3762,10 @@ REPLACE_CTIME = @REPLACE_CTIME@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
REPLACE_EXECL = @REPLACE_EXECL@
REPLACE_EXECLE = @REPLACE_EXECLE@
REPLACE_EXECLP = @REPLACE_EXECLP@
@@ -3470,10 +3782,12 @@ REPLACE_EXPM1F = @REPLACE_EXPM1F@
REPLACE_EXPM1L = @REPLACE_EXPM1L@
REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FFSLL = @REPLACE_FFSLL@
@@ -3508,12 +3822,16 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETPASS = @REPLACE_GETPASS@
REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
@@ -3526,6 +3844,8 @@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_ILOGB = @REPLACE_ILOGB@
REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ILOGBL = @REPLACE_ILOGBL@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
REPLACE_INET_PTON = @REPLACE_INET_PTON@
REPLACE_INITSTATE = @REPLACE_INITSTATE@
@@ -3537,9 +3857,11 @@ REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@
+REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@
REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXP = @REPLACE_LDEXP@
REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
@@ -3566,19 +3888,27 @@ REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOC16 = @REPLACE_MBRTOC16@
+REPLACE_MBRTOC32 = @REPLACE_MBRTOC32@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MEMSET_EXPLICIT = @REPLACE_MEMSET_EXPLICIT@
REPLACE_MKDIR = @REPLACE_MKDIR@
REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_MODF = @REPLACE_MODF@
@@ -3593,8 +3923,10 @@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PSELECT = @REPLACE_PSELECT@
@@ -3656,6 +3988,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_QSORT_R = @REPLACE_QSORT_R@
REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RAND = @REPLACE_RAND@
REPLACE_RANDOM = @REPLACE_RANDOM@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
@@ -3679,6 +4012,7 @@ REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SETSTATE = @REPLACE_SETSTATE@
REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
@@ -3693,6 +4027,7 @@ REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -3707,6 +4042,7 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOF = @REPLACE_STRTOF@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_STRTOL = @REPLACE_STRTOL@
@@ -3717,12 +4053,19 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@
REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TANF = @REPLACE_TANF@
REPLACE_TANHF = @REPLACE_TANHF@
+REPLACE_TIME = @REPLACE_TIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TIMESPEC_GETRES = @REPLACE_TIMESPEC_GETRES@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOTALORDER = @REPLACE_TOTALORDER@
+REPLACE_TOTALORDERF = @REPLACE_TOTALORDERF@
+REPLACE_TOTALORDERL = @REPLACE_TOTALORDERL@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -3742,21 +4085,33 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
REPLACE_WCSTOK = @REPLACE_WCSTOK@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCTRANS = @REPLACE_WCTRANS@
+REPLACE_WCTYPE = @REPLACE_WCTYPE@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SCHED_YIELD_LIB = @SCHED_YIELD_LIB@
SED = @SED@
+SELECT_LIB = @SELECT_LIB@
+SETLOCALE_LIB = @SETLOCALE_LIB@
+SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDALIGN_H = @STDALIGN_H@
+SMALL_WCHAR_T = @SMALL_WCHAR_T@
STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
@@ -3846,10 +4201,13 @@ AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects no-dependencies
# Version information according to Woe32 conventions.
EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
- verify.h attribute.h c-strcaseeq.h errno.in.h flexmember.h \
+ verify.h attribute.h c-strcaseeq.h c32is-impl.h c32is-impl.h \
+ c32is-impl.h c32is-impl.h c32is-impl.h c32is-impl.h \
+ c32is-impl.h c32is-impl.h c32is-impl.h c32is-impl.h \
+ c32is-impl.h c32is-impl.h c32to-impl.h errno.in.h flexmember.h \
float.in.h fpucw.h frexp.c frexp.c frexpl.c fseterr.h \
- stdio-impl.h hard-locale.h \
- $(top_srcdir)/build-aux/config.rpath iconv.in.h \
+ stdio-impl.h $(top_srcdir)/build-aux/gitlog-to-changelog \
+ hard-locale.h $(top_srcdir)/build-aux/config.rpath iconv.in.h \
iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \
iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h \
iconv_open-aix.gperf iconv_open-hpux.gperf \
@@ -3858,17 +4216,21 @@ EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
float+.h isnan.c isnand-nolibm.h isnand.c float+.h isnan.c \
isnanf-nolibm.h isnanf.c float+.h isnan.c isnanl-nolibm.h \
isnanl.c langinfo.in.h limits.in.h localcharset.h locale.in.h \
- localename-table.h localename.h malloc.c malloca.h math.in.h \
- mbchar.h lc-charset-dispatch.c lc-charset-dispatch.h \
+ localename.h struniq.h localename-table.h localename.h \
+ struniq.h localename.h malloc.c malloca.h math.in.h mbchar.h \
+ lc-charset-dispatch.c lc-charset-dispatch.h \
mbrtowc-impl-utf8.h mbrtowc-impl.h mbtowc-lock.c mbtowc-lock.h \
- windows-initguard.h memchr.valgrind memcmp2.h printf-frexp.h \
- printf-frexp.c printf-frexpl.h relocatable.c relocatable.h \
+ windows-initguard.h lc-charset-dispatch.c \
+ lc-charset-dispatch.h mbrtowc-impl-utf8.h mbrtowc-impl.h \
+ mbtowc-lock.c mbtowc-lock.h windows-initguard.h \
+ memchr.valgrind memcmp2.h printf-frexp.h printf-frexp.c \
+ printf-frexpl.h relocatable.c relocatable.h \
relocatable.valgrind setlocale_null.h windows-initguard.h \
- float+.h _Noreturn.h arg-nonnull.h c++defs.h warn-on-use.h \
- intprops-internal.h stdckdint.in.h stddef.in.h stdint.in.h \
- stdlib.in.h streq.h iconveh.h string.in.h strstr.c \
+ setlocale_null.h float+.h _Noreturn.h arg-nonnull.h c++defs.h \
+ warn-on-use.h intprops-internal.h stdckdint.in.h stddef.in.h \
+ stdint.in.h stdlib.in.h streq.h iconveh.h string.in.h strstr.c \
str-two-way.h strstr.c sys_types.in.h thread-optim.h \
- unicase.in.h unicase/cased.h unicase/caseprop.h \
+ uchar.in.h unicase.in.h unicase/cased.h unicase/caseprop.h \
unictype/bitmap.h unicase/caseprop.h unicase/ignorable.h \
unictype/bitmap.h unicase/locale-languages.h \
unicase/locale-languages.gperf unicase/special-casing-table.h \
@@ -3936,6 +4298,8 @@ EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
unictype/ctype_space.h unictype/bitmap.h \
unictype/ctype_upper.h unictype/bitmap.h \
unictype/ctype_xdigit.h unictype/decdigit.h unictype/digit.h \
+ unictype/incb_byname.h unictype/incb_byname.gperf \
+ unictype/incb_name.h unictype/incb_of.h \
unictype/joininggroup_byname.h \
unictype/joininggroup_byname.gperf \
unictype/joininggroup_name.h unictype/joininggroup_of.h \
@@ -3988,6 +4352,8 @@ EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
unictype/pr_grapheme_extend.h unictype/bitmap.h \
unictype/pr_grapheme_link.h unictype/bitmap.h \
unictype/pr_hex_digit.h unictype/bitmap.h unictype/pr_hyphen.h \
+ unictype/bitmap.h unictype/pr_id_compat_math_continue.h \
+ unictype/bitmap.h unictype/pr_id_compat_math_start.h \
unictype/bitmap.h unictype/pr_id_continue.h unictype/bitmap.h \
unictype/pr_id_start.h unictype/bitmap.h \
unictype/pr_ideographic.h unictype/bitmap.h \
@@ -4015,6 +4381,7 @@ EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
unictype/pr_paragraph_separator.h unictype/bitmap.h \
unictype/pr_pattern_syntax.h unictype/bitmap.h \
unictype/pr_pattern_white_space.h unictype/bitmap.h \
+ unictype/pr_prepended_concatenation_mark.h unictype/bitmap.h \
unictype/pr_private_use.h unictype/bitmap.h \
unictype/pr_punctuation.h unictype/bitmap.h \
unictype/pr_quotation_mark.h unictype/bitmap.h \
@@ -4041,17 +4408,17 @@ EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
unilbrk/lbrkprop1.h unilbrk/lbrkprop2.h unilbrk/lbrktables.h \
unilbrk/internal.h uniwidth/cjk.h unilbrk/internal.h \
uniwidth/cjk.h unilbrk/internal.h uniwidth/cjk.h \
- unilbrk/internal.h unilbrk/ulc-common.h uniname.in.h \
- uniname/gen-uninames.lisp uniname/uninames.h uninorm.in.h \
- uninorm/decompose-internal.h uninorm/composition-table.h \
- uninorm/composition-table.gperf uninorm/decompose-internal.h \
- uninorm/normalize-internal.h uninorm/decomposition-table.h \
- uninorm/decomposition-table1.h uninorm/decomposition-table2.h \
+ unilbrk/internal.h unilbrk/ulc-common.h unimetadata.in.h \
+ uniname.in.h uniname/gen-uninames.lisp uniname/uninames.h \
+ uninorm.in.h uninorm/decompose-internal.h \
+ uninorm/composition-table.h uninorm/composition-table.gperf \
+ uninorm/decompose-internal.h uninorm/normalize-internal.h \
+ uninorm/decomposition-table.h uninorm/decomposition-table1.h \
+ uninorm/decomposition-table2.h uninorm/normalize-internal.h \
uninorm/normalize-internal.h uninorm/normalize-internal.h \
uninorm/normalize-internal.h uninorm/normalize-internal.h \
- uninorm/normalize-internal.h uninorm/normalize-internal.h \
- uninorm/u-normalize-internal.h uninorm/u-normcmp.h \
- uninorm/u-normcoll.h uninorm/u-normxfrm.h \
+ uninorm/normalize-internal.h uninorm/u-normalize-internal.h \
+ uninorm/u-normcmp.h uninorm/u-normcoll.h uninorm/u-normxfrm.h \
uninorm/normalize-internal.h uninorm/u-normalize-internal.h \
uninorm/u-normcmp.h uninorm/u-normcoll.h uninorm/u-normxfrm.h \
uninorm/normalize-internal.h uninorm/u-normalize-internal.h \
@@ -4087,24 +4454,24 @@ EXTRA_DIST = alloca.in.h amemxfrm.h array-mergesort.h assert.in.h \
unistdio/u-sprintf.h vasnprintf.c unistdio/u-vasprintf.h \
unistdio/u-vsnprintf.h unistdio/u-vsprintf.h unistr.in.h \
unistr/u-cmp2.h unistr/u-cpy.h unistr/u-cpy-alloc.h \
- unistr/u-endswith.h unistr/u-move.h unistr/u-set.h \
+ unistr/u-endswith.h unistr/u-move.h unistr/u-pcpy.h \
+ unistr/u-set.h unistr/u-startswith.h unistr/u-stpcpy.h \
+ unistr/u-stpncpy.h unistr/u-strcat.h unistr/u-strcoll.h \
+ unistr/u-strcpy.h unistr/u-strcspn.h unistr/u-strdup.h \
+ unistr/u-strlen.h unistr/u-strncat.h unistr/u-strncpy.h \
+ unistr/u-strnlen.h unistr/u-strpbrk.h unistr/u-strspn.h \
+ wcs-two-way.h wcsstr-impl.h unistr/u-strtok.h unistr/u-cmp2.h \
+ unistr/u-cpy.h unistr/u-cpy-alloc.h unistr/u-endswith.h \
+ unistr/u-move.h unistr/u-pcpy.h unistr/u-set.h \
unistr/u-startswith.h unistr/u-stpcpy.h unistr/u-stpncpy.h \
unistr/u-strcat.h unistr/u-strcoll.h unistr/u-strcpy.h \
- unistr/u-strcspn.h unistr/u-strdup.h unistr/u-strlen.h \
- unistr/u-strncat.h unistr/u-strncpy.h unistr/u-strnlen.h \
- unistr/u-strpbrk.h unistr/u-strspn.h str-kmp.h \
- unistr/u-strstr.h unistr/u-strtok.h unistr/u-cmp2.h \
- unistr/u-cpy.h unistr/u-cpy-alloc.h unistr/u-endswith.h \
- unistr/u-move.h unistr/u-set.h unistr/u-startswith.h \
- unistr/u-stpcpy.h unistr/u-stpncpy.h unistr/u-strcat.h \
- unistr/u-strcoll.h unistr/u-strcpy.h unistr/u-strdup.h \
- unistr/u-strlen.h unistr/u-strncat.h unistr/u-strncpy.h \
- unistr/u-strnlen.h str-kmp.h unistr/u-strstr.h \
- unistr/u-strtok.h unistr/u-cmp2.h unistr/u-cpy.h \
+ unistr/u-strdup.h unistr/u-strlen.h unistr/u-strncat.h \
+ unistr/u-strncpy.h unistr/u-strnlen.h wcs-two-way.h \
+ wcsstr-impl.h unistr/u-strtok.h unistr/u-cmp2.h unistr/u-cpy.h \
unistr/u-cpy-alloc.h unistr/u-endswith.h unistr/u-move.h \
- unistr/u-startswith.h unistr/u-stpcpy.h unistr/u-stpncpy.h \
- unistr/u-strcoll.h unistr/u-strcspn.h unistr/u-strnlen.h \
- unistr/u-strpbrk.h unistr/u-strspn.h unistr/u-strstr.h \
+ unistr/u-pcpy.h unistr/u-startswith.h unistr/u-stpcpy.h \
+ unistr/u-stpncpy.h unistr/u-strcoll.h unistr/u-strcspn.h \
+ unistr/u-strnlen.h unistr/u-strpbrk.h unistr/u-strspn.h \
unistr/u-strtok.h unitypes.in.h uniwbrk.in.h \
uniwbrk/wbrktable.h uniwbrk/u-wordbreaks.h \
uniwbrk/u-wordbreaks.h uniwbrk/u-wordbreaks.h \
@@ -4120,14 +4487,15 @@ BUILT_SOURCES = $(ALLOCA_H) $(ASSERT_H) $(ERRNO_H) $(FLOAT_H) \
iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \
iconv_open-zos.h inttypes.h langinfo.h $(LIMITS_H) locale.h \
math.h $(STDCKDINT_H) $(STDDEF_H) $(STDINT_H) stdlib.h \
- string.h sys/types.h $(LIBUNISTRING_UNICASE_H) \
+ string.h sys/types.h uchar.h $(LIBUNISTRING_UNICASE_H) \
unicase/locale-languages.h unicase/special-casing-table.h \
unicase/special-casing.h $(LIBUNISTRING_UNICONV_H) \
$(LIBUNISTRING_UNICTYPE_H) unictype/bidi_byname.h \
unictype/categ_byname.h unictype/combiningclass_byname.h \
- unictype/joininggroup_byname.h unictype/joiningtype_byname.h \
- unictype/pr_byname.h unictype/scripts_byname.h \
- $(LIBUNISTRING_UNIGBRK_H) $(LIBUNISTRING_UNILBRK_H) \
+ unictype/incb_byname.h unictype/joininggroup_byname.h \
+ unictype/joiningtype_byname.h unictype/pr_byname.h \
+ unictype/scripts_byname.h $(LIBUNISTRING_UNIGBRK_H) \
+ $(LIBUNISTRING_UNILBRK_H) $(LIBUNISTRING_UNIMETADATA_H) \
$(LIBUNISTRING_UNINAME_H) $(LIBUNISTRING_UNINORM_H) \
uninorm/composition-table.h unistd.h \
$(LIBUNISTRING_UNISTDIO_H) $(LIBUNISTRING_UNISTR_H) \
@@ -4150,31 +4518,36 @@ MOSTLYCLEANFILES = core *.stackdump core *.stackdump alloca.h \
iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t \
iconv_open-solaris.h-t iconv_open-zos.h-t inttypes.h \
inttypes.h-t langinfo.h langinfo.h-t limits.h limits.h-t \
- locale.h locale.h-t math.h math.h-t stdckdint.h stdckdint.h-t \
- stddef.h stddef.h-t stdint.h stdint.h-t stdlib.h stdlib.h-t \
- string.h string.h-t sys/types.h sys/types.h-t unicase.h \
+ locale.h locale.h-t math.h math.h-t1 math.h-t2 math.h-t3 \
+ math.h-t4 math.h-t5 math.h-t6 stdckdint.h stdckdint.h-t \
+ stddef.h stddef.h-t stdint.h stdint.h-t stdlib.h stdlib.h-t1 \
+ stdlib.h-t2 stdlib.h-t3 string.h string.h-t1 string.h-t2 \
+ sys/types.h sys/types.h-t uchar.h uchar.h-t unicase.h \
unicase.h-t unicase/locale-languages.h-t1 \
unicase/locale-languages.h-t2 unicase/special-casing-table.h-t \
unicase/special-casing.h unicase/special-casing.h-t uniconv.h \
- uniconv.h-t unictype.h unictype.h-t unictype/bidi_byname.h-t1 \
+ uniconv.h-t unictype.h unictype.h-t1 unictype.h-t2 \
+ unictype.h-t3 unictype.h-t4 unictype/bidi_byname.h-t1 \
unictype/bidi_byname.h-t2 unictype/categ_byname.h-t1 \
unictype/categ_byname.h-t2 unictype/combiningclass_byname.h-t1 \
- unictype/combiningclass_byname.h-t2 \
- unictype/joininggroup_byname.h-t1 \
+ unictype/combiningclass_byname.h-t2 unictype/incb_byname.h-t1 \
+ unictype/incb_byname.h-t2 unictype/joininggroup_byname.h-t1 \
unictype/joininggroup_byname.h-t2 \
unictype/joiningtype_byname.h-t1 \
unictype/joiningtype_byname.h-t2 unictype/pr_byname.h-t1 \
unictype/pr_byname.h-t2 unictype/scripts_byname.h-t1 \
unictype/scripts_byname.h-t2 unigbrk.h unigbrk.h-t unilbrk.h \
- unilbrk.h-t uniname.h uniname.h-t uninorm.h uninorm.h-t \
+ unilbrk.h-t unimetadata.h unimetadata.h-t uniname.h \
+ uniname.h-t uninorm.h uninorm.h-t \
uninorm/composition-table.h-t1 uninorm/composition-table.h-t2 \
- unistd.h unistd.h-t unistdio.h unistdio.h-t unistr.h \
- unistr.h-t unitypes.h unitypes.h-t uniwbrk.h uniwbrk.h-t \
- uniwidth.h uniwidth.h-t wchar.h wchar.h-t wctype.h wctype.h-t \
+ unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 unistd.h-t4 \
+ unistdio.h unistdio.h-t unistr.h unistr.h-t unitypes.h \
+ unitypes.h-t uniwbrk.h uniwbrk.h-t uniwidth.h uniwidth.h-t \
+ wchar.h wchar.h-t1 wchar.h-t2 wchar.h-t3 wctype.h wctype.h-t \
unistring/stdbool.h-t unistring/stdint.h-t \
unistring/localcharset.h-t unistring/iconveh.h-t \
libunistring.sym-t1 libunistring.sym-t2 config.h config.h-t \
- $(am__append_522)
+ $(am__append_535)
MOSTLYCLEANDIRS =
CLEANFILES = unistring/stdbool.h unistring/stdint.h \
unistring/localcharset.h unistring/iconveh.h
@@ -4184,9 +4557,10 @@ MAINTAINERCLEANFILES = iconv_open-aix.h iconv_open-hpux.h \
iconv_open-zos.h unicase/locale-languages.h \
unicase/special-casing-table.h unictype/bidi_byname.h \
unictype/categ_byname.h unictype/combiningclass_byname.h \
- unictype/joininggroup_byname.h unictype/joiningtype_byname.h \
- unictype/pr_byname.h unictype/scripts_byname.h \
- uninorm/composition-table.h libunistring.sym
+ unictype/incb_byname.h unictype/joininggroup_byname.h \
+ unictype/joiningtype_byname.h unictype/pr_byname.h \
+ unictype/scripts_byname.h uninorm/composition-table.h \
+ libunistring.sym
SUFFIXES =
lib_LTLIBRARIES = libunistring.la
nodist_include_HEADERS = \
@@ -4200,6 +4574,7 @@ nodist_include_HEADERS = \
unigbrk.h \
uniwbrk.h \
unilbrk.h \
+ unimetadata.h \
uninorm.h \
unicase.h
@@ -4219,212 +4594,222 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir) -I$(top_srcdir) \
# Additional source files.
libunistring_la_SOURCES = amemxfrm.c c-ctype.h c-ctype.c c-strcase.h \
- c-strcasecmp.c c-strncasecmp.c $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) hard-locale.c $(am__append_5) \
- $(am__append_6) idx.h $(am__append_7) $(am__append_8) \
- $(am__append_9) localcharset.c localename.c localename-table.c \
- glthread/lock.h glthread/lock.c malloca.c math.c mbchar.c \
- mbiter.h mbiter.c $(am__append_10) $(am__append_11) mbsnlen.c \
- $(am__append_12) memcmp2.c minmax.h printf-frexp.c \
- printf-frexpl.c setlocale_null.c $(am__append_13) \
- $(am__append_14) size_max.h striconveh.h striconveh.c \
- striconveha.h striconveha.c $(am__append_16) \
- glthread/threadlib.c unicase/cased.c $(am__append_17) \
- $(am__append_18) unicase/ignorable.c $(am__append_19) \
- unicase/special-casing.c unicase/tocasefold.c $(am__append_20) \
- $(am__append_21) $(am__append_22) $(am__append_23) \
- $(am__append_24) $(am__append_25) unicase/u16-casemap.c \
+ c-strcasecmp.c c-strncasecmp.c c32isalnum.c c32isalpha.c \
+ c32isblank.c c32iscntrl.c c32isdigit.c c32isgraph.c \
+ c32islower.c c32isprint.c c32ispunct.c c32isspace.c \
+ c32isupper.c c32isxdigit.c c32tolower.c c32width.c \
+ $(am__append_1) $(am__append_2) $(am__append_3) \
+ $(am__append_4) hard-locale.c $(am__append_5) $(am__append_6) \
+ idx.h $(am__append_7) $(am__append_8) $(am__append_9) \
+ $(am__append_10) localcharset.c localename.c $(am__append_11) \
+ localename-table.c $(am__append_12) glthread/lock.h \
+ glthread/lock.c malloca.c math.c mbchar.c mbiterf.h mbiterf.c \
+ $(am__append_13) $(am__append_14) $(am__append_15) mbsnlen.c \
+ mbszero.c $(am__append_16) memcmp2.c minmax.h printf-frexp.c \
+ printf-frexpl.c setlocale_null.c $(am__append_17) \
+ setlocale_null-unlocked.c $(am__append_18) size_max.h \
+ striconveh.h striconveh.c striconveha.h striconveha.c \
+ $(am__append_19) glthread/threadlib.c unicase/cased.c \
+ $(am__append_20) $(am__append_21) unicase/ignorable.c \
+ $(am__append_22) unicase/special-casing.c unicase/tocasefold.c \
+ $(am__append_23) $(am__append_24) $(am__append_25) \
$(am__append_26) $(am__append_27) $(am__append_28) \
- $(am__append_29) $(am__append_30) $(am__append_31) \
- $(am__append_32) unicase/u16-is-invariant.c $(am__append_33) \
- $(am__append_34) $(am__append_35) $(am__append_36) \
- $(am__append_37) $(am__append_38) $(am__append_39) \
- $(am__append_40) $(am__append_41) $(am__append_42) \
- $(am__append_43) unicase/u32-casemap.c $(am__append_44) \
- $(am__append_45) $(am__append_46) $(am__append_47) \
- $(am__append_48) $(am__append_49) $(am__append_50) \
- unicase/u32-is-invariant.c $(am__append_51) $(am__append_52) \
- $(am__append_53) $(am__append_54) $(am__append_55) \
- $(am__append_56) $(am__append_57) $(am__append_58) \
- $(am__append_59) $(am__append_60) $(am__append_61) \
- unicase/u8-casemap.c $(am__append_62) $(am__append_63) \
- $(am__append_64) $(am__append_65) $(am__append_66) \
- $(am__append_67) $(am__append_68) unicase/u8-is-invariant.c \
+ unicase/u16-casemap.c $(am__append_29) $(am__append_30) \
+ $(am__append_31) $(am__append_32) $(am__append_33) \
+ $(am__append_34) $(am__append_35) unicase/u16-is-invariant.c \
+ $(am__append_36) $(am__append_37) $(am__append_38) \
+ $(am__append_39) $(am__append_40) $(am__append_41) \
+ $(am__append_42) $(am__append_43) $(am__append_44) \
+ $(am__append_45) $(am__append_46) unicase/u32-casemap.c \
+ $(am__append_47) $(am__append_48) $(am__append_49) \
+ $(am__append_50) $(am__append_51) $(am__append_52) \
+ $(am__append_53) unicase/u32-is-invariant.c $(am__append_54) \
+ $(am__append_55) $(am__append_56) $(am__append_57) \
+ $(am__append_58) $(am__append_59) $(am__append_60) \
+ $(am__append_61) $(am__append_62) $(am__append_63) \
+ $(am__append_64) unicase/u8-casemap.c $(am__append_65) \
+ $(am__append_66) $(am__append_67) $(am__append_68) \
$(am__append_69) $(am__append_70) $(am__append_71) \
- $(am__append_72) $(am__append_73) $(am__append_74) \
- $(am__append_75) $(am__append_76) $(am__append_77) \
- $(am__append_78) $(am__append_79) $(am__append_80) \
- $(am__append_81) $(am__append_82) $(am__append_83) \
- $(am__append_84) $(am__append_85) $(am__append_86) \
- $(am__append_87) $(am__append_88) $(am__append_89) \
- $(am__append_90) $(am__append_91) $(am__append_92) \
- $(am__append_93) $(am__append_94) $(am__append_95) \
- $(am__append_96) $(am__append_97) $(am__append_98) \
- $(am__append_99) $(am__append_100) $(am__append_101) \
- $(am__append_102) $(am__append_103) $(am__append_104) \
- $(am__append_105) $(am__append_106) $(am__append_107) \
- $(am__append_108) $(am__append_109) $(am__append_110) \
- $(am__append_111) $(am__append_112) $(am__append_113) \
- $(am__append_114) $(am__append_115) $(am__append_116) \
- $(am__append_117) $(am__append_118) $(am__append_119) \
- $(am__append_120) $(am__append_121) $(am__append_122) \
- $(am__append_123) $(am__append_124) $(am__append_125) \
- $(am__append_126) $(am__append_127) $(am__append_128) \
- $(am__append_129) $(am__append_130) $(am__append_131) \
- $(am__append_132) $(am__append_133) $(am__append_134) \
- $(am__append_135) $(am__append_136) $(am__append_137) \
- $(am__append_138) $(am__append_139) $(am__append_140) \
- $(am__append_141) $(am__append_142) $(am__append_143) \
- $(am__append_144) $(am__append_145) $(am__append_146) \
- $(am__append_147) $(am__append_148) $(am__append_149) \
- $(am__append_150) $(am__append_151) $(am__append_152) \
- $(am__append_153) $(am__append_154) $(am__append_155) \
- $(am__append_156) $(am__append_157) $(am__append_158) \
- $(am__append_159) $(am__append_160) $(am__append_161) \
- $(am__append_162) $(am__append_163) $(am__append_164) \
- $(am__append_165) $(am__append_166) $(am__append_167) \
- $(am__append_168) $(am__append_169) $(am__append_170) \
- $(am__append_171) $(am__append_172) $(am__append_173) \
- $(am__append_174) $(am__append_175) $(am__append_176) \
- $(am__append_177) $(am__append_178) $(am__append_179) \
- $(am__append_180) $(am__append_181) $(am__append_182) \
- $(am__append_183) $(am__append_184) $(am__append_185) \
- $(am__append_186) $(am__append_187) $(am__append_188) \
- $(am__append_189) $(am__append_190) $(am__append_191) \
- $(am__append_192) $(am__append_193) $(am__append_194) \
- $(am__append_195) $(am__append_196) $(am__append_197) \
- $(am__append_198) $(am__append_199) $(am__append_200) \
- $(am__append_201) $(am__append_202) $(am__append_203) \
- $(am__append_204) $(am__append_205) $(am__append_206) \
- $(am__append_207) $(am__append_208) $(am__append_209) \
- $(am__append_210) $(am__append_211) $(am__append_212) \
- $(am__append_213) $(am__append_214) $(am__append_215) \
- $(am__append_216) $(am__append_217) $(am__append_218) \
- $(am__append_219) $(am__append_220) $(am__append_221) \
- $(am__append_222) $(am__append_223) $(am__append_224) \
- $(am__append_225) $(am__append_226) $(am__append_227) \
- $(am__append_228) $(am__append_229) $(am__append_230) \
- $(am__append_231) $(am__append_232) $(am__append_233) \
- $(am__append_234) $(am__append_235) $(am__append_236) \
- $(am__append_237) $(am__append_238) $(am__append_239) \
- $(am__append_240) $(am__append_241) $(am__append_242) \
- $(am__append_243) $(am__append_244) $(am__append_245) \
- $(am__append_246) $(am__append_247) $(am__append_248) \
- $(am__append_249) $(am__append_250) $(am__append_251) \
- $(am__append_252) $(am__append_253) $(am__append_254) \
- $(am__append_255) $(am__append_256) $(am__append_257) \
- $(am__append_258) $(am__append_259) $(am__append_260) \
- $(am__append_261) $(am__append_262) $(am__append_263) \
- $(am__append_264) $(am__append_265) $(am__append_266) \
- $(am__append_267) $(am__append_268) $(am__append_269) \
- $(am__append_270) $(am__append_271) $(am__append_272) \
- $(am__append_273) $(am__append_274) $(am__append_275) \
- $(am__append_276) $(am__append_277) $(am__append_278) \
- $(am__append_279) $(am__append_280) $(am__append_281) \
- $(am__append_282) $(am__append_283) $(am__append_284) \
- $(am__append_285) $(am__append_286) $(am__append_287) \
- $(am__append_288) $(am__append_289) $(am__append_290) \
- $(am__append_291) unilbrk/lbrktables.c $(am__append_292) \
- $(am__append_293) $(am__append_294) $(am__append_295) \
- $(am__append_296) $(am__append_297) unilbrk/ulc-common.c \
+ unicase/u8-is-invariant.c $(am__append_72) $(am__append_73) \
+ $(am__append_74) $(am__append_75) $(am__append_76) \
+ $(am__append_77) $(am__append_78) $(am__append_79) \
+ $(am__append_80) $(am__append_81) $(am__append_82) \
+ $(am__append_83) $(am__append_84) $(am__append_85) \
+ $(am__append_86) $(am__append_87) $(am__append_88) \
+ $(am__append_89) $(am__append_90) $(am__append_91) \
+ $(am__append_92) $(am__append_93) $(am__append_94) \
+ $(am__append_95) $(am__append_96) $(am__append_97) \
+ $(am__append_98) $(am__append_99) $(am__append_100) \
+ $(am__append_101) $(am__append_102) $(am__append_103) \
+ $(am__append_104) $(am__append_105) $(am__append_106) \
+ $(am__append_107) $(am__append_108) $(am__append_109) \
+ $(am__append_110) $(am__append_111) $(am__append_112) \
+ $(am__append_113) $(am__append_114) $(am__append_115) \
+ $(am__append_116) $(am__append_117) $(am__append_118) \
+ $(am__append_119) $(am__append_120) $(am__append_121) \
+ $(am__append_122) $(am__append_123) $(am__append_124) \
+ $(am__append_125) $(am__append_126) $(am__append_127) \
+ $(am__append_128) $(am__append_129) $(am__append_130) \
+ $(am__append_131) $(am__append_132) $(am__append_133) \
+ $(am__append_134) $(am__append_135) $(am__append_136) \
+ $(am__append_137) $(am__append_138) $(am__append_139) \
+ $(am__append_140) $(am__append_141) $(am__append_142) \
+ $(am__append_143) $(am__append_144) $(am__append_145) \
+ $(am__append_146) $(am__append_147) $(am__append_148) \
+ $(am__append_149) $(am__append_150) unictype/categ_none.c \
+ $(am__append_151) $(am__append_152) $(am__append_153) \
+ $(am__append_154) $(am__append_155) $(am__append_156) \
+ $(am__append_157) $(am__append_158) $(am__append_159) \
+ $(am__append_160) $(am__append_161) $(am__append_162) \
+ $(am__append_163) $(am__append_164) $(am__append_165) \
+ $(am__append_166) $(am__append_167) $(am__append_168) \
+ $(am__append_169) $(am__append_170) $(am__append_171) \
+ $(am__append_172) $(am__append_173) $(am__append_174) \
+ $(am__append_175) $(am__append_176) $(am__append_177) \
+ $(am__append_178) $(am__append_179) $(am__append_180) \
+ $(am__append_181) $(am__append_182) $(am__append_183) \
+ $(am__append_184) $(am__append_185) $(am__append_186) \
+ $(am__append_187) $(am__append_188) $(am__append_189) \
+ $(am__append_190) $(am__append_191) $(am__append_192) \
+ $(am__append_193) $(am__append_194) $(am__append_195) \
+ $(am__append_196) $(am__append_197) $(am__append_198) \
+ $(am__append_199) $(am__append_200) $(am__append_201) \
+ $(am__append_202) $(am__append_203) $(am__append_204) \
+ $(am__append_205) $(am__append_206) $(am__append_207) \
+ $(am__append_208) $(am__append_209) $(am__append_210) \
+ $(am__append_211) $(am__append_212) $(am__append_213) \
+ $(am__append_214) $(am__append_215) $(am__append_216) \
+ $(am__append_217) $(am__append_218) $(am__append_219) \
+ $(am__append_220) $(am__append_221) $(am__append_222) \
+ $(am__append_223) $(am__append_224) $(am__append_225) \
+ $(am__append_226) $(am__append_227) $(am__append_228) \
+ $(am__append_229) $(am__append_230) $(am__append_231) \
+ $(am__append_232) $(am__append_233) $(am__append_234) \
+ $(am__append_235) $(am__append_236) $(am__append_237) \
+ $(am__append_238) $(am__append_239) $(am__append_240) \
+ $(am__append_241) $(am__append_242) $(am__append_243) \
+ $(am__append_244) $(am__append_245) $(am__append_246) \
+ $(am__append_247) $(am__append_248) $(am__append_249) \
+ $(am__append_250) $(am__append_251) $(am__append_252) \
+ $(am__append_253) $(am__append_254) $(am__append_255) \
+ $(am__append_256) $(am__append_257) $(am__append_258) \
+ $(am__append_259) $(am__append_260) $(am__append_261) \
+ $(am__append_262) $(am__append_263) $(am__append_264) \
+ $(am__append_265) $(am__append_266) $(am__append_267) \
+ $(am__append_268) $(am__append_269) $(am__append_270) \
+ $(am__append_271) $(am__append_272) $(am__append_273) \
+ $(am__append_274) $(am__append_275) $(am__append_276) \
+ $(am__append_277) $(am__append_278) $(am__append_279) \
+ $(am__append_280) $(am__append_281) $(am__append_282) \
+ $(am__append_283) $(am__append_284) $(am__append_285) \
+ $(am__append_286) $(am__append_287) $(am__append_288) \
+ $(am__append_289) $(am__append_290) $(am__append_291) \
+ $(am__append_292) $(am__append_293) $(am__append_294) \
+ $(am__append_295) $(am__append_296) $(am__append_297) \
$(am__append_298) $(am__append_299) $(am__append_300) \
- $(am__append_301) uninorm/compat-decomposition.c \
- $(am__append_302) uninorm/decompose-internal.c \
- $(am__append_303) $(am__append_304) \
- uninorm/decomposition-table.c $(am__append_305) \
- $(am__append_306) $(am__append_307) $(am__append_308) \
- $(am__append_309) $(am__append_310) $(am__append_311) \
- $(am__append_312) $(am__append_313) $(am__append_314) \
- $(am__append_315) $(am__append_316) $(am__append_317) \
- $(am__append_318) $(am__append_319) $(am__append_320) \
- $(am__append_321) unistd.c unistdio/u-printf-args.c \
- $(am__append_322) $(am__append_323) \
- unistdio/u16-printf-parse.c $(am__append_324) \
+ unilbrk/lbrktables.c $(am__append_301) $(am__append_302) \
+ $(am__append_303) $(am__append_304) $(am__append_305) \
+ $(am__append_306) unilbrk/ulc-common.c $(am__append_307) \
+ $(am__append_308) $(am__append_309) $(am__append_310) \
+ $(am__append_311) uninorm/compat-decomposition.c \
+ $(am__append_312) uninorm/decompose-internal.c \
+ $(am__append_313) $(am__append_314) \
+ uninorm/decomposition-table.c $(am__append_315) \
+ $(am__append_316) $(am__append_317) $(am__append_318) \
+ $(am__append_319) $(am__append_320) $(am__append_321) \
+ $(am__append_322) $(am__append_323) $(am__append_324) \
$(am__append_325) $(am__append_326) $(am__append_327) \
$(am__append_328) $(am__append_329) $(am__append_330) \
- $(am__append_331) $(am__append_332) $(am__append_333) \
- $(am__append_334) $(am__append_335) $(am__append_336) \
- $(am__append_337) $(am__append_338) $(am__append_339) \
- unistdio/u32-printf-parse.c $(am__append_340) \
+ $(am__append_331) unistd.c unistdio/u-printf-args.c \
+ $(am__append_332) $(am__append_333) \
+ unistdio/u16-printf-parse.c $(am__append_334) \
+ $(am__append_335) $(am__append_336) $(am__append_337) \
+ $(am__append_338) $(am__append_339) $(am__append_340) \
$(am__append_341) $(am__append_342) $(am__append_343) \
$(am__append_344) $(am__append_345) $(am__append_346) \
$(am__append_347) $(am__append_348) $(am__append_349) \
- $(am__append_350) $(am__append_351) $(am__append_352) \
- $(am__append_353) $(am__append_354) $(am__append_355) \
- unistdio/u8-printf-parse.c $(am__append_356) $(am__append_357) \
- $(am__append_358) $(am__append_359) $(am__append_360) \
- $(am__append_361) $(am__append_362) $(am__append_363) \
- $(am__append_364) $(am__append_365) $(am__append_366) \
- $(am__append_367) $(am__append_368) $(am__append_369) \
- $(am__append_370) $(am__append_371) $(am__append_372) \
- unistdio/ulc-printf-parse.c $(am__append_373) \
+ unistdio/u32-printf-parse.c $(am__append_350) \
+ $(am__append_351) $(am__append_352) $(am__append_353) \
+ $(am__append_354) $(am__append_355) $(am__append_356) \
+ $(am__append_357) $(am__append_358) $(am__append_359) \
+ $(am__append_360) $(am__append_361) $(am__append_362) \
+ $(am__append_363) $(am__append_364) $(am__append_365) \
+ unistdio/u8-printf-parse.c $(am__append_366) $(am__append_367) \
+ $(am__append_368) $(am__append_369) $(am__append_370) \
+ $(am__append_371) $(am__append_372) $(am__append_373) \
$(am__append_374) $(am__append_375) $(am__append_376) \
$(am__append_377) $(am__append_378) $(am__append_379) \
$(am__append_380) $(am__append_381) $(am__append_382) \
- $(am__append_383) $(am__append_384) $(am__append_385) \
- $(am__append_386) $(am__append_387) $(am__append_388) \
- $(am__append_389) $(am__append_390) $(am__append_391) \
- $(am__append_392) $(am__append_393) $(am__append_394) \
- $(am__append_395) $(am__append_396) $(am__append_397) \
- $(am__append_398) $(am__append_399) $(am__append_400) \
- $(am__append_401) $(am__append_402) $(am__append_403) \
- $(am__append_404) $(am__append_405) $(am__append_406) \
- $(am__append_407) $(am__append_408) $(am__append_409) \
- $(am__append_410) $(am__append_411) $(am__append_412) \
- $(am__append_413) $(am__append_414) $(am__append_415) \
- $(am__append_416) $(am__append_417) $(am__append_418) \
- $(am__append_419) $(am__append_420) $(am__append_421) \
- $(am__append_422) $(am__append_423) $(am__append_424) \
- $(am__append_425) $(am__append_426) $(am__append_427) \
- $(am__append_428) $(am__append_429) $(am__append_430) \
- $(am__append_431) $(am__append_432) $(am__append_433) \
- $(am__append_434) $(am__append_435) $(am__append_436) \
- $(am__append_437) $(am__append_438) $(am__append_439) \
- $(am__append_440) $(am__append_441) $(am__append_442) \
- $(am__append_443) $(am__append_444) $(am__append_445) \
- $(am__append_446) $(am__append_447) $(am__append_448) \
- $(am__append_449) $(am__append_450) $(am__append_451) \
- $(am__append_452) $(am__append_453) $(am__append_454) \
- $(am__append_455) $(am__append_456) $(am__append_457) \
- $(am__append_458) $(am__append_459) $(am__append_460) \
- $(am__append_461) $(am__append_462) $(am__append_463) \
- $(am__append_464) $(am__append_465) $(am__append_466) \
- $(am__append_467) $(am__append_468) $(am__append_469) \
- $(am__append_470) $(am__append_471) $(am__append_472) \
- $(am__append_473) $(am__append_474) $(am__append_475) \
- $(am__append_476) $(am__append_477) $(am__append_478) \
- $(am__append_479) $(am__append_480) $(am__append_481) \
- $(am__append_482) $(am__append_483) $(am__append_484) \
- $(am__append_485) $(am__append_486) $(am__append_487) \
- $(am__append_488) $(am__append_489) $(am__append_490) \
- $(am__append_491) $(am__append_492) $(am__append_493) \
- $(am__append_494) $(am__append_495) $(am__append_496) \
- $(am__append_497) $(am__append_498) $(am__append_499) \
- $(am__append_500) $(am__append_501) $(am__append_502) \
- uniwbrk/wbrktable.c $(am__append_503) $(am__append_504) \
- $(am__append_505) $(am__append_506) $(am__append_507) \
- $(am__append_508) $(am__append_509) $(am__append_510) \
- $(am__append_511) $(am__append_512) $(am__append_513) \
- $(am__append_514) wctype-h.c $(am__append_515) \
- $(am__append_516) $(am__append_517) $(am__append_518) \
- $(am__append_519) xsize.h xsize.c version.c $(am__append_520)
+ unistdio/ulc-printf-parse.c $(am__append_383) \
+ $(am__append_384) $(am__append_385) $(am__append_386) \
+ $(am__append_387) $(am__append_388) $(am__append_389) \
+ $(am__append_390) $(am__append_391) $(am__append_392) \
+ $(am__append_393) $(am__append_394) $(am__append_395) \
+ $(am__append_396) $(am__append_397) $(am__append_398) \
+ $(am__append_399) $(am__append_400) $(am__append_401) \
+ $(am__append_402) $(am__append_403) $(am__append_404) \
+ $(am__append_405) $(am__append_406) $(am__append_407) \
+ $(am__append_408) $(am__append_409) $(am__append_410) \
+ $(am__append_411) $(am__append_412) $(am__append_413) \
+ $(am__append_414) $(am__append_415) $(am__append_416) \
+ $(am__append_417) $(am__append_418) $(am__append_419) \
+ $(am__append_420) $(am__append_421) $(am__append_422) \
+ $(am__append_423) $(am__append_424) $(am__append_425) \
+ $(am__append_426) $(am__append_427) $(am__append_428) \
+ $(am__append_429) $(am__append_430) $(am__append_431) \
+ $(am__append_432) $(am__append_433) $(am__append_434) \
+ $(am__append_435) $(am__append_436) $(am__append_437) \
+ $(am__append_438) $(am__append_439) $(am__append_440) \
+ $(am__append_441) $(am__append_442) $(am__append_443) \
+ $(am__append_444) $(am__append_445) $(am__append_446) \
+ $(am__append_447) $(am__append_448) $(am__append_449) \
+ $(am__append_450) $(am__append_451) $(am__append_452) \
+ $(am__append_453) $(am__append_454) $(am__append_455) \
+ $(am__append_456) $(am__append_457) $(am__append_458) \
+ $(am__append_459) $(am__append_460) $(am__append_461) \
+ $(am__append_462) $(am__append_463) $(am__append_464) \
+ $(am__append_465) $(am__append_466) $(am__append_467) \
+ $(am__append_468) $(am__append_469) $(am__append_470) \
+ $(am__append_471) $(am__append_472) $(am__append_473) \
+ $(am__append_474) $(am__append_475) $(am__append_476) \
+ $(am__append_477) $(am__append_478) $(am__append_479) \
+ $(am__append_480) $(am__append_481) $(am__append_482) \
+ $(am__append_483) $(am__append_484) $(am__append_485) \
+ $(am__append_486) $(am__append_487) $(am__append_488) \
+ $(am__append_489) $(am__append_490) $(am__append_491) \
+ $(am__append_492) $(am__append_493) $(am__append_494) \
+ $(am__append_495) $(am__append_496) $(am__append_497) \
+ $(am__append_498) $(am__append_499) $(am__append_500) \
+ $(am__append_501) $(am__append_502) $(am__append_503) \
+ $(am__append_504) $(am__append_505) $(am__append_506) \
+ $(am__append_507) $(am__append_508) $(am__append_509) \
+ $(am__append_510) $(am__append_511) $(am__append_512) \
+ $(am__append_513) $(am__append_514) $(am__append_515) \
+ uniwbrk/wbrktable.c $(am__append_516) $(am__append_517) \
+ $(am__append_518) $(am__append_519) $(am__append_520) \
+ $(am__append_521) $(am__append_522) $(am__append_523) \
+ $(am__append_524) $(am__append_525) $(am__append_526) \
+ $(am__append_527) wctype-h.c $(am__append_528) \
+ $(am__append_529) $(am__append_530) $(am__append_531) \
+ $(am__append_532) xsize.h xsize.c version.c $(am__append_533)
libunistring_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
libunistring_la_LIBADD = $(gl_LTLIBOBJS) $(WOE32_LIBADD)
libunistring_la_DEPENDENCIES = $(gl_LTLIBOBJS) $(WOE32_LIBADD)
EXTRA_libunistring_la_SOURCES = frexp.c frexp.c frexpl.c isnan.c \
isnand.c isnan.c isnanf.c isnan.c isnanl.c malloc.c \
- lc-charset-dispatch.c mbtowc-lock.c printf-frexp.c \
- relocatable.c strstr.c strstr.c printf-args.c printf-parse.c \
- vasnprintf.c vasnprintf.c printf-parse.c vasnprintf.c \
- vasnprintf.c printf-parse.c vasnprintf.c vasnprintf.c \
- printf-parse.c vasnprintf.c
+ lc-charset-dispatch.c mbtowc-lock.c lc-charset-dispatch.c \
+ mbtowc-lock.c printf-frexp.c relocatable.c strstr.c strstr.c \
+ printf-args.c printf-parse.c vasnprintf.c vasnprintf.c \
+ printf-parse.c vasnprintf.c vasnprintf.c printf-parse.c \
+ vasnprintf.c vasnprintf.c printf-parse.c vasnprintf.c
# How to build libunistring.la.
-libunistring_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LIBTHREAD) \
- $(LIB_HARD_LOCALE) $(LIB_MBRTOWC) $(LIB_SETLOCALE_NULL) \
- $(LTLIBICONV) $(LTLIBUNISTRING) @INTL_MACOSX_LIBS@ \
- $(am__append_15) $(am__append_521) -version-info \
- $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) -rpath $(libdir)
+libunistring_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined \
+ $(HARD_LOCALE_LIB) $(LIBTHREAD) $(LTLIBC32CONV) $(LTLIBICONV) \
+ $(LTLIBUNISTRING) $(MBRTOWC_LIB) $(SETLOCALE_NULL_LIB) \
+ @INTL_MACOSX_LIBS@ $(LTLIBICONV) $(am__append_534) \
+ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) -rpath \
+ $(libdir)
# Use this preprocessor expression to decide whether #include_next works.
# Do not rely on a 'configure'-time test for this, since the expression
@@ -4503,6 +4888,7 @@ HEADERS_WITH_EXTERNS = \
unigbrk.h \
uniwbrk.h \
unilbrk.h \
+ unimetadata.h \
uninorm.h \
unicase.h \
localcharset.h \
@@ -4514,9 +4900,9 @@ HEADERS_WITH_EXTERNS = \
# Libtool's library version information for libunistring.
# See the libtool documentation, section "Library interface versions".
-LTV_CURRENT = 5
+LTV_CURRENT = 6
LTV_REVISION = 0
-LTV_AGE = 0
+LTV_AGE = 1
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -4786,6 +5172,9 @@ unictype/libunistring_la-ctype_upper.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-ctype_xdigit.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-decdigit.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-digit.lo: unictype/$(am__dirstamp)
+unictype/libunistring_la-incb_byname.lo: unictype/$(am__dirstamp)
+unictype/libunistring_la-incb_name.lo: unictype/$(am__dirstamp)
+unictype/libunistring_la-incb_of.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-joininggroup_byname.lo: \
unictype/$(am__dirstamp)
unictype/libunistring_la-joininggroup_name.lo: \
@@ -4882,6 +5271,10 @@ unictype/libunistring_la-pr_grapheme_link.lo: \
unictype/$(am__dirstamp)
unictype/libunistring_la-pr_hex_digit.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-pr_hyphen.lo: unictype/$(am__dirstamp)
+unictype/libunistring_la-pr_id_compat_math_continue.lo: \
+ unictype/$(am__dirstamp)
+unictype/libunistring_la-pr_id_compat_math_start.lo: \
+ unictype/$(am__dirstamp)
unictype/libunistring_la-pr_id_continue.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-pr_id_start.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-pr_ideographic.lo: unictype/$(am__dirstamp)
@@ -4889,6 +5282,8 @@ unictype/libunistring_la-pr_ids_binary_operator.lo: \
unictype/$(am__dirstamp)
unictype/libunistring_la-pr_ids_trinary_operator.lo: \
unictype/$(am__dirstamp)
+unictype/libunistring_la-pr_ids_unary_operator.lo: \
+ unictype/$(am__dirstamp)
unictype/libunistring_la-pr_ignorable_control.lo: \
unictype/$(am__dirstamp)
unictype/libunistring_la-pr_iso_control.lo: unictype/$(am__dirstamp)
@@ -4927,6 +5322,8 @@ unictype/libunistring_la-pr_pattern_syntax.lo: \
unictype/$(am__dirstamp)
unictype/libunistring_la-pr_pattern_white_space.lo: \
unictype/$(am__dirstamp)
+unictype/libunistring_la-pr_prepended_concatenation_mark.lo: \
+ unictype/$(am__dirstamp)
unictype/libunistring_la-pr_private_use.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-pr_punctuation.lo: unictype/$(am__dirstamp)
unictype/libunistring_la-pr_quotation_mark.lo: \
@@ -5002,6 +5399,10 @@ unilbrk/libunistring_la-ulc-possible-linebreaks.lo: \
unilbrk/$(am__dirstamp)
unilbrk/libunistring_la-ulc-width-linebreaks.lo: \
unilbrk/$(am__dirstamp)
+unimetadata/$(am__dirstamp):
+ @$(MKDIR_P) unimetadata
+ @: > unimetadata/$(am__dirstamp)
+unimetadata/libunistring_la-u-version.lo: unimetadata/$(am__dirstamp)
uniname/$(am__dirstamp):
@$(MKDIR_P) uniname
@: > uniname/$(am__dirstamp)
@@ -5141,6 +5542,7 @@ unistr/libunistring_la-u16-mbtouc-unsafe-aux.lo: \
unistr/libunistring_la-u16-mbtoucr.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u16-move.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u16-next.lo: unistr/$(am__dirstamp)
+unistr/libunistring_la-u16-pcpy.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u16-prev.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u16-set.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u16-startswith.lo: unistr/$(am__dirstamp)
@@ -5183,6 +5585,7 @@ unistr/libunistring_la-u32-mbtouc-unsafe.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u32-mbtoucr.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u32-move.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u32-next.lo: unistr/$(am__dirstamp)
+unistr/libunistring_la-u32-pcpy.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u32-prev.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u32-set.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u32-startswith.lo: unistr/$(am__dirstamp)
@@ -5227,6 +5630,7 @@ unistr/libunistring_la-u8-mbtouc-unsafe-aux.lo: \
unistr/libunistring_la-u8-mbtoucr.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u8-move.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u8-next.lo: unistr/$(am__dirstamp)
+unistr/libunistring_la-u8-pcpy.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u8-prev.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u8-set.lo: unistr/$(am__dirstamp)
unistr/libunistring_la-u8-startswith.lo: unistr/$(am__dirstamp)
@@ -5300,6 +5704,8 @@ mostlyclean-compile:
-rm -f unigbrk/*.lo
-rm -f unilbrk/*.$(OBJEXT)
-rm -f unilbrk/*.lo
+ -rm -f unimetadata/*.$(OBJEXT)
+ -rm -f unimetadata/*.lo
-rm -f uniname/*.$(OBJEXT)
-rm -f uniname/*.lo
-rm -f uninorm/*.$(OBJEXT)
@@ -5337,6 +5743,48 @@ libunistring_la-c-strcasecmp.lo: c-strcasecmp.c
libunistring_la-c-strncasecmp.lo: c-strncasecmp.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c-strncasecmp.lo `test -f 'c-strncasecmp.c' || echo '$(srcdir)/'`c-strncasecmp.c
+libunistring_la-c32isalnum.lo: c32isalnum.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isalnum.lo `test -f 'c32isalnum.c' || echo '$(srcdir)/'`c32isalnum.c
+
+libunistring_la-c32isalpha.lo: c32isalpha.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isalpha.lo `test -f 'c32isalpha.c' || echo '$(srcdir)/'`c32isalpha.c
+
+libunistring_la-c32isblank.lo: c32isblank.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isblank.lo `test -f 'c32isblank.c' || echo '$(srcdir)/'`c32isblank.c
+
+libunistring_la-c32iscntrl.lo: c32iscntrl.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32iscntrl.lo `test -f 'c32iscntrl.c' || echo '$(srcdir)/'`c32iscntrl.c
+
+libunistring_la-c32isdigit.lo: c32isdigit.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isdigit.lo `test -f 'c32isdigit.c' || echo '$(srcdir)/'`c32isdigit.c
+
+libunistring_la-c32isgraph.lo: c32isgraph.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isgraph.lo `test -f 'c32isgraph.c' || echo '$(srcdir)/'`c32isgraph.c
+
+libunistring_la-c32islower.lo: c32islower.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32islower.lo `test -f 'c32islower.c' || echo '$(srcdir)/'`c32islower.c
+
+libunistring_la-c32isprint.lo: c32isprint.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isprint.lo `test -f 'c32isprint.c' || echo '$(srcdir)/'`c32isprint.c
+
+libunistring_la-c32ispunct.lo: c32ispunct.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32ispunct.lo `test -f 'c32ispunct.c' || echo '$(srcdir)/'`c32ispunct.c
+
+libunistring_la-c32isspace.lo: c32isspace.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isspace.lo `test -f 'c32isspace.c' || echo '$(srcdir)/'`c32isspace.c
+
+libunistring_la-c32isupper.lo: c32isupper.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isupper.lo `test -f 'c32isupper.c' || echo '$(srcdir)/'`c32isupper.c
+
+libunistring_la-c32isxdigit.lo: c32isxdigit.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32isxdigit.lo `test -f 'c32isxdigit.c' || echo '$(srcdir)/'`c32isxdigit.c
+
+libunistring_la-c32tolower.lo: c32tolower.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32tolower.lo `test -f 'c32tolower.c' || echo '$(srcdir)/'`c32tolower.c
+
+libunistring_la-c32width.lo: c32width.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-c32width.lo `test -f 'c32width.c' || echo '$(srcdir)/'`c32width.c
+
libunistring_la-float.lo: float.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-float.lo `test -f 'float.c' || echo '$(srcdir)/'`float.c
@@ -5367,6 +5815,9 @@ libunistring_la-iswblank.lo: iswblank.c
libunistring_la-iswdigit.lo: iswdigit.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-iswdigit.lo `test -f 'iswdigit.c' || echo '$(srcdir)/'`iswdigit.c
+libunistring_la-iswpunct.lo: iswpunct.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-iswpunct.lo `test -f 'iswpunct.c' || echo '$(srcdir)/'`iswpunct.c
+
libunistring_la-iswxdigit.lo: iswxdigit.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-iswxdigit.lo `test -f 'iswxdigit.c' || echo '$(srcdir)/'`iswxdigit.c
@@ -5376,6 +5827,9 @@ libunistring_la-localcharset.lo: localcharset.c
libunistring_la-localename.lo: localename.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-localename.lo `test -f 'localename.c' || echo '$(srcdir)/'`localename.c
+libunistring_la-localename-unsafe.lo: localename-unsafe.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-localename-unsafe.lo `test -f 'localename-unsafe.c' || echo '$(srcdir)/'`localename-unsafe.c
+
libunistring_la-localename-table.lo: localename-table.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-localename-table.lo `test -f 'localename-table.c' || echo '$(srcdir)/'`localename-table.c
@@ -5391,8 +5845,11 @@ libunistring_la-math.lo: math.c
libunistring_la-mbchar.lo: mbchar.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbchar.lo `test -f 'mbchar.c' || echo '$(srcdir)/'`mbchar.c
-libunistring_la-mbiter.lo: mbiter.c
- $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbiter.lo `test -f 'mbiter.c' || echo '$(srcdir)/'`mbiter.c
+libunistring_la-mbiterf.lo: mbiterf.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbiterf.lo `test -f 'mbiterf.c' || echo '$(srcdir)/'`mbiterf.c
+
+libunistring_la-mbrtoc32.lo: mbrtoc32.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbrtoc32.lo `test -f 'mbrtoc32.c' || echo '$(srcdir)/'`mbrtoc32.c
libunistring_la-mbrtowc.lo: mbrtowc.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbrtowc.lo `test -f 'mbrtowc.c' || echo '$(srcdir)/'`mbrtowc.c
@@ -5403,6 +5860,9 @@ libunistring_la-mbsinit.lo: mbsinit.c
libunistring_la-mbsnlen.lo: mbsnlen.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbsnlen.lo `test -f 'mbsnlen.c' || echo '$(srcdir)/'`mbsnlen.c
+libunistring_la-mbszero.lo: mbszero.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-mbszero.lo `test -f 'mbszero.c' || echo '$(srcdir)/'`mbszero.c
+
libunistring_la-memchr.lo: memchr.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-memchr.lo `test -f 'memchr.c' || echo '$(srcdir)/'`memchr.c
@@ -5421,6 +5881,9 @@ libunistring_la-setlocale_null.lo: setlocale_null.c
libunistring_la-setlocale-lock.lo: setlocale-lock.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-setlocale-lock.lo `test -f 'setlocale-lock.c' || echo '$(srcdir)/'`setlocale-lock.c
+libunistring_la-setlocale_null-unlocked.lo: setlocale_null-unlocked.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-setlocale_null-unlocked.lo `test -f 'setlocale_null-unlocked.c' || echo '$(srcdir)/'`setlocale_null-unlocked.c
+
libunistring_la-signbitf.lo: signbitf.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o libunistring_la-signbitf.lo `test -f 'signbitf.c' || echo '$(srcdir)/'`signbitf.c
@@ -5931,6 +6394,15 @@ unictype/libunistring_la-decdigit.lo: unictype/decdigit.c
unictype/libunistring_la-digit.lo: unictype/digit.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-digit.lo `test -f 'unictype/digit.c' || echo '$(srcdir)/'`unictype/digit.c
+unictype/libunistring_la-incb_byname.lo: unictype/incb_byname.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-incb_byname.lo `test -f 'unictype/incb_byname.c' || echo '$(srcdir)/'`unictype/incb_byname.c
+
+unictype/libunistring_la-incb_name.lo: unictype/incb_name.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-incb_name.lo `test -f 'unictype/incb_name.c' || echo '$(srcdir)/'`unictype/incb_name.c
+
+unictype/libunistring_la-incb_of.lo: unictype/incb_of.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-incb_of.lo `test -f 'unictype/incb_of.c' || echo '$(srcdir)/'`unictype/incb_of.c
+
unictype/libunistring_la-joininggroup_byname.lo: unictype/joininggroup_byname.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-joininggroup_byname.lo `test -f 'unictype/joininggroup_byname.c' || echo '$(srcdir)/'`unictype/joininggroup_byname.c
@@ -6102,6 +6574,12 @@ unictype/libunistring_la-pr_hex_digit.lo: unictype/pr_hex_digit.c
unictype/libunistring_la-pr_hyphen.lo: unictype/pr_hyphen.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_hyphen.lo `test -f 'unictype/pr_hyphen.c' || echo '$(srcdir)/'`unictype/pr_hyphen.c
+unictype/libunistring_la-pr_id_compat_math_continue.lo: unictype/pr_id_compat_math_continue.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_id_compat_math_continue.lo `test -f 'unictype/pr_id_compat_math_continue.c' || echo '$(srcdir)/'`unictype/pr_id_compat_math_continue.c
+
+unictype/libunistring_la-pr_id_compat_math_start.lo: unictype/pr_id_compat_math_start.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_id_compat_math_start.lo `test -f 'unictype/pr_id_compat_math_start.c' || echo '$(srcdir)/'`unictype/pr_id_compat_math_start.c
+
unictype/libunistring_la-pr_id_continue.lo: unictype/pr_id_continue.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_id_continue.lo `test -f 'unictype/pr_id_continue.c' || echo '$(srcdir)/'`unictype/pr_id_continue.c
@@ -6117,6 +6595,9 @@ unictype/libunistring_la-pr_ids_binary_operator.lo: unictype/pr_ids_binary_opera
unictype/libunistring_la-pr_ids_trinary_operator.lo: unictype/pr_ids_trinary_operator.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_ids_trinary_operator.lo `test -f 'unictype/pr_ids_trinary_operator.c' || echo '$(srcdir)/'`unictype/pr_ids_trinary_operator.c
+unictype/libunistring_la-pr_ids_unary_operator.lo: unictype/pr_ids_unary_operator.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_ids_unary_operator.lo `test -f 'unictype/pr_ids_unary_operator.c' || echo '$(srcdir)/'`unictype/pr_ids_unary_operator.c
+
unictype/libunistring_la-pr_ignorable_control.lo: unictype/pr_ignorable_control.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_ignorable_control.lo `test -f 'unictype/pr_ignorable_control.c' || echo '$(srcdir)/'`unictype/pr_ignorable_control.c
@@ -6186,6 +6667,9 @@ unictype/libunistring_la-pr_pattern_syntax.lo: unictype/pr_pattern_syntax.c
unictype/libunistring_la-pr_pattern_white_space.lo: unictype/pr_pattern_white_space.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_pattern_white_space.lo `test -f 'unictype/pr_pattern_white_space.c' || echo '$(srcdir)/'`unictype/pr_pattern_white_space.c
+unictype/libunistring_la-pr_prepended_concatenation_mark.lo: unictype/pr_prepended_concatenation_mark.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_prepended_concatenation_mark.lo `test -f 'unictype/pr_prepended_concatenation_mark.c' || echo '$(srcdir)/'`unictype/pr_prepended_concatenation_mark.c
+
unictype/libunistring_la-pr_private_use.lo: unictype/pr_private_use.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unictype/libunistring_la-pr_private_use.lo `test -f 'unictype/pr_private_use.c' || echo '$(srcdir)/'`unictype/pr_private_use.c
@@ -6327,6 +6811,9 @@ unilbrk/libunistring_la-ulc-possible-linebreaks.lo: unilbrk/ulc-possible-linebre
unilbrk/libunistring_la-ulc-width-linebreaks.lo: unilbrk/ulc-width-linebreaks.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unilbrk/libunistring_la-ulc-width-linebreaks.lo `test -f 'unilbrk/ulc-width-linebreaks.c' || echo '$(srcdir)/'`unilbrk/ulc-width-linebreaks.c
+unimetadata/libunistring_la-u-version.lo: unimetadata/u-version.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unimetadata/libunistring_la-u-version.lo `test -f 'unimetadata/u-version.c' || echo '$(srcdir)/'`unimetadata/u-version.c
+
uniname/libunistring_la-uniname.lo: uniname/uniname.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o uniname/libunistring_la-uniname.lo `test -f 'uniname/uniname.c' || echo '$(srcdir)/'`uniname/uniname.c
@@ -6642,6 +7129,9 @@ unistr/libunistring_la-u16-move.lo: unistr/u16-move.c
unistr/libunistring_la-u16-next.lo: unistr/u16-next.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u16-next.lo `test -f 'unistr/u16-next.c' || echo '$(srcdir)/'`unistr/u16-next.c
+unistr/libunistring_la-u16-pcpy.lo: unistr/u16-pcpy.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u16-pcpy.lo `test -f 'unistr/u16-pcpy.c' || echo '$(srcdir)/'`unistr/u16-pcpy.c
+
unistr/libunistring_la-u16-prev.lo: unistr/u16-prev.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u16-prev.lo `test -f 'unistr/u16-prev.c' || echo '$(srcdir)/'`unistr/u16-prev.c
@@ -6768,6 +7258,9 @@ unistr/libunistring_la-u32-move.lo: unistr/u32-move.c
unistr/libunistring_la-u32-next.lo: unistr/u32-next.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u32-next.lo `test -f 'unistr/u32-next.c' || echo '$(srcdir)/'`unistr/u32-next.c
+unistr/libunistring_la-u32-pcpy.lo: unistr/u32-pcpy.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u32-pcpy.lo `test -f 'unistr/u32-pcpy.c' || echo '$(srcdir)/'`unistr/u32-pcpy.c
+
unistr/libunistring_la-u32-prev.lo: unistr/u32-prev.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u32-prev.lo `test -f 'unistr/u32-prev.c' || echo '$(srcdir)/'`unistr/u32-prev.c
@@ -6897,6 +7390,9 @@ unistr/libunistring_la-u8-move.lo: unistr/u8-move.c
unistr/libunistring_la-u8-next.lo: unistr/u8-next.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u8-next.lo `test -f 'unistr/u8-next.c' || echo '$(srcdir)/'`unistr/u8-next.c
+unistr/libunistring_la-u8-pcpy.lo: unistr/u8-pcpy.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u8-pcpy.lo `test -f 'unistr/u8-pcpy.c' || echo '$(srcdir)/'`unistr/u8-pcpy.c
+
unistr/libunistring_la-u8-prev.lo: unistr/u8-prev.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libunistring_la_CFLAGS) $(CFLAGS) -c -o unistr/libunistring_la-u8-prev.lo `test -f 'unistr/u8-prev.c' || echo '$(srcdir)/'`unistr/u8-prev.c
@@ -7101,6 +7597,7 @@ clean-libtool:
-rm -rf unictype/.libs unictype/_libs
-rm -rf unigbrk/.libs unigbrk/_libs
-rm -rf unilbrk/.libs unilbrk/_libs
+ -rm -rf unimetadata/.libs unimetadata/_libs
-rm -rf uniname/.libs uniname/_libs
-rm -rf uninorm/.libs uninorm/_libs
-rm -rf unistdio/.libs unistdio/_libs
@@ -7306,6 +7803,7 @@ distclean-generic:
-rm -f unictype/$(am__dirstamp)
-rm -f unigbrk/$(am__dirstamp)
-rm -f unilbrk/$(am__dirstamp)
+ -rm -f unimetadata/$(am__dirstamp)
-rm -f uniname/$(am__dirstamp)
-rm -f uninorm/$(am__dirstamp)
-rm -f unistdio/$(am__dirstamp)
@@ -7544,6 +8042,8 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
+ -e 's/@''REPLACE_IMAXABS''@/$(REPLACE_IMAXABS)/g' \
+ -e 's/@''REPLACE_IMAXDIV''@/$(REPLACE_IMAXDIV)/g' \
-e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
-e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
-e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
@@ -7606,7 +8106,7 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \
-e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \
-e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \
- -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \
+ -e 's/@''GNULIB_LOCALENAME_UNSAFE''@/$(GL_GNULIB_LOCALENAME_UNSAFE)/g' \
-e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
-e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
-e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \
@@ -7677,8 +8177,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_HYPOT''@/$(GL_GNULIB_HYPOT)/g' \
-e 's/@''GNULIB_HYPOTF''@/$(GL_GNULIB_HYPOTF)/g' \
-e 's/@''GNULIB_HYPOTL''@/$(GL_GNULIB_HYPOTL)/g' \
- < $(srcdir)/math.in.h | \
- sed -e 's/@''GNULIB_ILOGB''@/$(GL_GNULIB_ILOGB)/g' \
+ < $(srcdir)/math.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_ILOGB''@/$(GL_GNULIB_ILOGB)/g' \
-e 's/@''GNULIB_ILOGBF''@/$(GL_GNULIB_ILOGBF)/g' \
-e 's/@''GNULIB_ILOGBL''@/$(GL_GNULIB_ILOGBL)/g' \
-e 's/@''GNULIB_ISFINITE''@/$(GL_GNULIB_ISFINITE)/g' \
@@ -7687,6 +8188,7 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_ISNANF''@/$(GL_GNULIB_ISNANF)/g' \
-e 's/@''GNULIB_ISNAND''@/$(GL_GNULIB_ISNAND)/g' \
-e 's/@''GNULIB_ISNANL''@/$(GL_GNULIB_ISNANL)/g' \
+ -e 's/@''GNULIB_LDEXP''@/$(GL_GNULIB_LDEXP)/g' \
-e 's/@''GNULIB_LDEXPF''@/$(GL_GNULIB_LDEXPF)/g' \
-e 's/@''GNULIB_LDEXPL''@/$(GL_GNULIB_LDEXPL)/g' \
-e 's/@''GNULIB_LOG''@/$(GL_GNULIB_LOG)/g' \
@@ -7729,14 +8231,18 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_TRUNC''@/$(GL_GNULIB_TRUNC)/g' \
-e 's/@''GNULIB_TRUNCF''@/$(GL_GNULIB_TRUNCF)/g' \
-e 's/@''GNULIB_TRUNCL''@/$(GL_GNULIB_TRUNCL)/g' \
+ -e 's/@''GNULIB_TOTALORDER''@/$(GL_GNULIB_TOTALORDER)/g' \
+ -e 's/@''GNULIB_TOTALORDERF''@/$(GL_GNULIB_TOTALORDERF)/g' \
+ -e 's/@''GNULIB_TOTALORDERL''@/$(GL_GNULIB_TOTALORDERL)/g' \
-e 's/@''GNULIB_MDA_J0''@/$(GL_GNULIB_MDA_J0)/g' \
-e 's/@''GNULIB_MDA_J1''@/$(GL_GNULIB_MDA_J1)/g' \
-e 's/@''GNULIB_MDA_JN''@/$(GL_GNULIB_MDA_JN)/g' \
-e 's/@''GNULIB_MDA_Y0''@/$(GL_GNULIB_MDA_Y0)/g' \
-e 's/@''GNULIB_MDA_Y1''@/$(GL_GNULIB_MDA_Y1)/g' \
-e 's/@''GNULIB_MDA_YN''@/$(GL_GNULIB_MDA_YN)/g' \
- | \
- sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
-e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
-e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \
-e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \
@@ -7796,6 +8302,11 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \
-e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \
-e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \
+ -e 's|@''HAVE_TOTALORDER''@|$(HAVE_TOTALORDER)|g' \
+ -e 's|@''HAVE_TOTALORDERF''@|$(HAVE_TOTALORDERF)|g' \
+ -e 's|@''HAVE_TOTALORDERL''@|$(HAVE_TOTALORDERL)|g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
-e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \
-e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \
-e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \
@@ -7832,8 +8343,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \
-e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \
-e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \
- | \
- sed -e 's|@''REPLACE_ACOSF''@|$(REPLACE_ACOSF)|g' \
+ < $@-t3 > $@-t4
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_ACOSF''@|$(REPLACE_ACOSF)|g' \
-e 's|@''REPLACE_ASINF''@|$(REPLACE_ASINF)|g' \
-e 's|@''REPLACE_ATANF''@|$(REPLACE_ATANF)|g' \
-e 's|@''REPLACE_ATAN2F''@|$(REPLACE_ATAN2F)|g' \
@@ -7875,6 +8387,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \
-e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \
-e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
+ < $@-t4 > $@-t5
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_LDEXP''@|$(REPLACE_LDEXP)|g' \
-e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \
-e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \
-e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \
@@ -7910,14 +8425,18 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \
-e 's|@''REPLACE_TANF''@|$(REPLACE_TANF)|g' \
-e 's|@''REPLACE_TANHF''@|$(REPLACE_TANHF)|g' \
+ -e 's|@''REPLACE_TOTALORDER''@|$(REPLACE_TOTALORDER)|g' \
+ -e 's|@''REPLACE_TOTALORDERF''@|$(REPLACE_TOTALORDERF)|g' \
+ -e 's|@''REPLACE_TOTALORDERL''@|$(REPLACE_TOTALORDERL)|g' \
-e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \
-e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \
-e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t5 > $@-t6
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3 $@-t4 $@-t5
+ $(AM_V_at)mv $@-t6 $@
# We need the following in order to create <stdckdint.h> when the system
# doesn't have one that works with the given compiler.
@@ -7999,10 +8518,12 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \
-e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
-e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \
+ -e 's/@''GNULIB_GETPROGNAME''@/$(GL_GNULIB_GETPROGNAME)/g' \
-e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \
-e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \
-e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \
-e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \
-e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \
-e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \
-e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \
@@ -8015,6 +8536,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \
-e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \
-e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \
+ -e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \
-e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \
-e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \
@@ -8025,6 +8547,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \
-e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \
-e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \
+ -e 's/@''GNULIB_STRTOF''@/$(GL_GNULIB_STRTOF)/g' \
-e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \
-e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \
-e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \
@@ -8039,8 +8562,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \
-e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \
-e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \
- < $(srcdir)/stdlib.in.h | \
- sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ < $(srcdir)/stdlib.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
-e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
-e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
@@ -8048,6 +8572,8 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
-e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
+ -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
@@ -8074,6 +8600,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
-e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
-e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+ -e 's|@''HAVE_STRTOF''@|$(HAVE_STRTOF)|g' \
-e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \
-e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
-e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
@@ -8083,21 +8610,33 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \
-e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \
-e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \
-e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \
-e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+ -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \
+ -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \
+ -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \
-e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
-e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
-e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+ -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+ -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+ -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
+ -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \
+ -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \
-e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
-e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
+ -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
-e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
@@ -8107,6 +8646,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
-e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+ -e 's|@''REPLACE_STRTOF''@|$(REPLACE_STRTOF)|g' \
-e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \
-e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
-e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \
@@ -8118,8 +8658,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-e '/definition of _Noreturn/r $(_NORETURN_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t2 > $@-t3
+ $(AM_V_at)rm -f $@-t1 $@-t2
+ $(AM_V_at)mv $@-t3 $@
# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
@@ -8151,6 +8692,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \
-e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \
-e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_GNULIB_MEMSET_EXPLICIT)/g' \
-e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \
-e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \
-e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \
@@ -8174,14 +8716,16 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \
-e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \
-e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
- < $(srcdir)/string.in.h | \
- sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+ < $(srcdir)/string.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
-e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
-e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
-e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+ -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \
-e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
-e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
@@ -8202,7 +8746,10 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
+ -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
+ -e 's|@''REPLACE_MEMSET_EXPLICIT''@|$(REPLACE_MEMSET_EXPLICIT)|g' \
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+ -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
-e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
@@ -8216,12 +8763,14 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
-e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+ -e 's|@''REPLACE_STRVERSCMP''@|$(REPLACE_STRVERSCMP)|g' \
-e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t1 > $@-t2
+ $(AM_V_at)rm -f $@-t1
+ $(AM_V_at)mv $@-t2 $@
# We need the following in order to create <sys/types.h> when the system
# doesn't have one that works with the given compiler.
@@ -8238,8 +8787,83 @@ sys/types.h: sys_types.in.h $(top_builddir)/config.status
$(srcdir)/sys_types.in.h > $@-t
$(AM_V_at)mv $@-t $@
+uchar.h: uchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's/@''HAVE_UCHAR_H''@/$(HAVE_UCHAR_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_UCHAR_H''@|$(NEXT_UCHAR_H)|g' \
+ -e 's|@''CXX_HAS_CHAR8_TYPE''@|$(CXX_HAS_CHAR8_TYPE)|g' \
+ -e 's|@''CXX_HAS_UCHAR_TYPES''@|$(CXX_HAS_UCHAR_TYPES)|g' \
+ -e 's|@''SMALL_WCHAR_T''@|$(SMALL_WCHAR_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR8_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR8_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR16_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR16_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR32_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR32_T)|g' \
+ -e 's/@''GNULIB_BTOC32''@/$(GL_GNULIB_BTOC32)/g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_C32ISALNUM''@/$(GL_GNULIB_C32ISALNUM)/g' \
+ -e 's/@''GNULIB_C32ISALPHA''@/$(GL_GNULIB_C32ISALPHA)/g' \
+ -e 's/@''GNULIB_C32ISBLANK''@/$(GL_GNULIB_C32ISBLANK)/g' \
+ -e 's/@''GNULIB_C32ISCNTRL''@/$(GL_GNULIB_C32ISCNTRL)/g' \
+ -e 's/@''GNULIB_C32ISDIGIT''@/$(GL_GNULIB_C32ISDIGIT)/g' \
+ -e 's/@''GNULIB_C32ISGRAPH''@/$(GL_GNULIB_C32ISGRAPH)/g' \
+ -e 's/@''GNULIB_C32ISLOWER''@/$(GL_GNULIB_C32ISLOWER)/g' \
+ -e 's/@''GNULIB_C32ISPRINT''@/$(GL_GNULIB_C32ISPRINT)/g' \
+ -e 's/@''GNULIB_C32ISPUNCT''@/$(GL_GNULIB_C32ISPUNCT)/g' \
+ -e 's/@''GNULIB_C32ISSPACE''@/$(GL_GNULIB_C32ISSPACE)/g' \
+ -e 's/@''GNULIB_C32ISUPPER''@/$(GL_GNULIB_C32ISUPPER)/g' \
+ -e 's/@''GNULIB_C32ISXDIGIT''@/$(GL_GNULIB_C32ISXDIGIT)/g' \
+ -e 's/@''GNULIB_C32TOLOWER''@/$(GL_GNULIB_C32TOLOWER)/g' \
+ -e 's/@''GNULIB_C32TOUPPER''@/$(GL_GNULIB_C32TOUPPER)/g' \
+ -e 's/@''GNULIB_C32WIDTH''@/$(GL_GNULIB_C32WIDTH)/g' \
+ -e 's/@''GNULIB_C32RTOMB''@/$(GL_GNULIB_C32RTOMB)/g' \
+ -e 's/@''GNULIB_C32SNRTOMBS''@/$(GL_GNULIB_C32SNRTOMBS)/g' \
+ -e 's/@''GNULIB_C32SRTOMBS''@/$(GL_GNULIB_C32SRTOMBS)/g' \
+ -e 's/@''GNULIB_C32STOMBS''@/$(GL_GNULIB_C32STOMBS)/g' \
+ -e 's/@''GNULIB_C32SWIDTH''@/$(GL_GNULIB_C32SWIDTH)/g' \
+ -e 's/@''GNULIB_C32TOB''@/$(GL_GNULIB_C32TOB)/g' \
+ -e 's/@''GNULIB_C32_APPLY_MAPPING''@/$(GL_GNULIB_C32_APPLY_MAPPING)/g' \
+ -e 's/@''GNULIB_C32_APPLY_TYPE_TEST''@/$(GL_GNULIB_C32_APPLY_TYPE_TEST)/g' \
+ -e 's/@''GNULIB_C32_GET_MAPPING''@/$(GL_GNULIB_C32_GET_MAPPING)/g' \
+ -e 's/@''GNULIB_C32_GET_TYPE_TEST''@/$(GL_GNULIB_C32_GET_TYPE_TEST)/g' \
+ -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \
+ -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \
+ -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \
+ -e 's/@''GNULIB_MBRTOC16''@/$(GL_GNULIB_MBRTOC16)/g' \
+ -e 's/@''GNULIB_MBRTOC32''@/$(GL_GNULIB_MBRTOC32)/g' \
+ -e 's/@''GNULIB_MBSNRTOC32S''@/$(GL_GNULIB_MBSNRTOC32S)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSRTOC32S''@/$(GL_GNULIB_MBSRTOC32S)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSTOC32S''@/$(GL_GNULIB_MBSTOC32S)/g' \
+ -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \
+ -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \
+ -e 's|@''HAVE_C32RTOMB''@|$(HAVE_C32RTOMB)|g' \
+ -e 's|@''HAVE_MBRTOC16''@|$(HAVE_MBRTOC16)|g' \
+ -e 's|@''HAVE_MBRTOC32''@|$(HAVE_MBRTOC32)|g' \
+ -e 's|@''REPLACE_C32RTOMB''@|$(REPLACE_C32RTOMB)|g' \
+ -e 's|@''REPLACE_MBRTOC16''@|$(REPLACE_MBRTOC16)|g' \
+ -e 's|@''REPLACE_MBRTOC32''@|$(REPLACE_MBRTOC32)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ $(srcdir)/uchar.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+
unicase.h: unicase.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unicase.in.h
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE''@/$(GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE''@/$(GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE)/g' \
+ $(srcdir)/unicase.in.h > $@-t
$(AM_V_at)mv $@-t $@
$(srcdir)/unicase/locale-languages.h: $(srcdir)/unicase/locale-languages.gperf
@@ -8265,8 +8889,152 @@ uniconv.h: uniconv.in.h
$(AM_V_at)mv $@-t $@
unictype.h: unictype.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unictype.in.h
- $(AM_V_at)mv $@-t $@
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE)/g' \
+ < $(srcdir)/unictype.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE)/g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE)/g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE)/g' \
+ < $@-t3 > $@-t4
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+ $(AM_V_at)mv $@-t4 $@
$(srcdir)/unictype/bidi_byname.h: $(srcdir)/unictype/bidi_byname.gperf
$(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/bidi_byname.gperf > $(srcdir)/unictype/bidi_byname.h-t1 \
@@ -8283,6 +9051,11 @@ $(srcdir)/unictype/combiningclass_byname.h: $(srcdir)/unictype/combiningclass_by
&& sed -e 's/^const/static const/' < $(srcdir)/unictype/combiningclass_byname.h-t1 > $(srcdir)/unictype/combiningclass_byname.h-t2 \
&& mv $(srcdir)/unictype/combiningclass_byname.h-t2 $(srcdir)/unictype/combiningclass_byname.h
+$(srcdir)/unictype/incb_byname.h: $(srcdir)/unictype/incb_byname.gperf
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/incb_byname.gperf > $(srcdir)/unictype/incb_byname.h-t1 \
+ && sed -e 's/^const/static const/' < $(srcdir)/unictype/incb_byname.h-t1 > $(srcdir)/unictype/incb_byname.h-t2 \
+ && mv $(srcdir)/unictype/incb_byname.h-t2 $(srcdir)/unictype/incb_byname.h
+
$(srcdir)/unictype/joininggroup_byname.h: $(srcdir)/unictype/joininggroup_byname.gperf
$(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/joininggroup_byname.gperf > $(srcdir)/unictype/joininggroup_byname.h-t1 \
&& sed -e 's/^const/static const/' < $(srcdir)/unictype/joininggroup_byname.h-t1 > $(srcdir)/unictype/joininggroup_byname.h-t2 \
@@ -8311,12 +9084,25 @@ unilbrk.h: unilbrk.in.h
$(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unilbrk.in.h
$(AM_V_at)mv $@-t $@
+unimetadata.h: unimetadata.in.h
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE''@/$(GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE)/g' \
+ $(srcdir)/unimetadata.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+
uniname.h: uniname.in.h
$(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/uniname.in.h
$(AM_V_at)mv $@-t $@
uninorm.h: uninorm.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/uninorm.in.h
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|$(HAVE_UNISTRING_WOE32DLL_H)|g' \
+ -e 's/@''GNULIB_UNINORM_NFD_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFD_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNINORM_NFC_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFC_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNINORM_NFKD_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE)/g' \
+ -e 's/@''GNULIB_UNINORM_NFKC_DLL_VARIABLE''@/$(GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE)/g' \
+ $(srcdir)/uninorm.in.h > $@-t
$(AM_V_at)mv $@-t $@
$(srcdir)/uninorm/composition-table.h: $(srcdir)/uninorm/composition-table.gperf
@@ -8358,6 +9144,8 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \
-e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \
-e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \
+ < $(srcdir)/unistd.in.h > $@-t1
+ $(AM_V_at)sed \
-e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \
-e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \
-e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \
@@ -8419,8 +9207,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \
-e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \
-e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \
- < $(srcdir)/unistd.in.h | \
- sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
-e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
@@ -8467,13 +9256,15 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- | \
- sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
-e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \
-e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
-e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+ -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \
-e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \
-e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \
-e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \
@@ -8482,11 +9273,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \
-e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \
-e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
+ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+ -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \
-e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
-e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
+ -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
@@ -8497,12 +9291,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
-e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+ -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \
-e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
-e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
-e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
-e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
-e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+ -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \
-e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
-e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
-e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
@@ -8518,8 +9314,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t3 > $@-t4
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+ $(AM_V_at)mv $@-t4 $@
unistdio.h: unistdio.in.h
$(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unistdio.in.h
@@ -8557,6 +9354,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \
-e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \
-e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \
+ -e 's/@''GNULIB_MBSZERO''@/$(GL_GNULIB_MBSZERO)/g' \
-e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \
-e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \
-e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \
@@ -8595,10 +9393,12 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \
-e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \
-e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \
+ -e 's/@''GNULIB_WGETCWD''@/$(GL_GNULIB_WGETCWD)/g' \
-e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \
-e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
- < $(srcdir)/wchar.in.h | \
- sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+ < $(srcdir)/wchar.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
@@ -8641,8 +9441,9 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \
-e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- | \
- sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
@@ -8657,16 +9458,22 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
+ -e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \
+ -e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \
+ -e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \
-e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
+ -e 's|@''REPLACE_WMEMCMP''@|$(REPLACE_WMEMCMP)|g' \
+ -e 's|@''REPLACE_WMEMPCPY''@|$(REPLACE_WMEMPCPY)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t2 > $@-t3
+ $(AM_V_at)rm -f $@-t1 $@-t2
+ $(AM_V_at)mv $@-t3 $@
# We need the following in order to create <wctype.h> when the system
# doesn't have one that works with the given compiler.
-wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(gl_V_at)$(SED_HEADER_STDOUT) \
-e 's|@''GUARD_PREFIX''@|GL|g' \
-e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
@@ -8678,6 +9485,7 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
-e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
-e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \
-e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \
+ -e 's/@''GNULIB_ISWPUNCT''@/$(GL_GNULIB_ISWPUNCT)/g' \
-e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \
-e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \
-e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \
@@ -8690,10 +9498,14 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
-e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \
-e 's/@''REPLACE_ISWDIGIT''@/$(REPLACE_ISWDIGIT)/g' \
+ -e 's/@''REPLACE_ISWPUNCT''@/$(REPLACE_ISWPUNCT)/g' \
-e 's/@''REPLACE_ISWXDIGIT''@/$(REPLACE_ISWXDIGIT)/g' \
-e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
-e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \
+ -e 's/@''REPLACE_WCTRANS''@/$(REPLACE_WCTRANS)/g' \
+ -e 's/@''REPLACE_WCTYPE''@/$(REPLACE_WCTYPE)/g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
$(srcdir)/wctype.in.h > $@-t
$(AM_V_at)mv $@-t $@
diff --git a/lib/_Noreturn.h b/lib/_Noreturn.h
index e914627a..7326bd47 100644
--- a/lib/_Noreturn.h
+++ b/lib/_Noreturn.h
@@ -1,5 +1,5 @@
/* A C macro for declaring that a function does not return.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -26,6 +26,11 @@
AIX system header files and several gnulib header files use precisely
this syntax with 'extern'. */
# define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+ && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+ /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+ that rare LLVM bug, though you may get many false-alarm warnings. */
+# define _Noreturn
# elif ((!defined __cplusplus || defined __clang__) \
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|| (!defined __STRICT_ANSI__ \
diff --git a/lib/alloca.in.h b/lib/alloca.in.h
index e2b14613..6aa47df8 100644
--- a/lib/alloca.in.h
+++ b/lib/alloca.in.h
@@ -1,6 +1,6 @@
/* Memory allocation on the stack.
- Copyright (C) 1995, 1999, 2001-2004, 2006-2022 Free Software Foundation,
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2024 Free Software Foundation,
Inc.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/amemxfrm.c b/lib/amemxfrm.c
index 760076c4..2bcf73c1 100644
--- a/lib/amemxfrm.c
+++ b/lib/amemxfrm.c
@@ -1,5 +1,5 @@
/* Locale dependent memory area transformation for comparison.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/amemxfrm.h b/lib/amemxfrm.h
index 84316b57..1617a12c 100644
--- a/lib/amemxfrm.h
+++ b/lib/amemxfrm.h
@@ -1,5 +1,5 @@
/* Locale dependent memory area transformation for comparison.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/arg-nonnull.h b/lib/arg-nonnull.h
index e4513efe..46c711ca 100644
--- a/lib/arg-nonnull.h
+++ b/lib/arg-nonnull.h
@@ -1,5 +1,5 @@
/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/lib/array-mergesort.h b/lib/array-mergesort.h
index c70dc730..43be96fd 100644
--- a/lib/array-mergesort.h
+++ b/lib/array-mergesort.h
@@ -1,5 +1,5 @@
/* Stable-sorting of an array using mergesort.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/assert.in.h b/lib/assert.in.h
index 2c358ba6..6e4995e1 100644
--- a/lib/assert.in.h
+++ b/lib/assert.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <assert.h>
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/attribute.h b/lib/attribute.h
index 378d4f0a..710341ba 100644
--- a/lib/attribute.h
+++ b/lib/attribute.h
@@ -1,6 +1,6 @@
/* ATTRIBUTE_* macros for using attributes in GCC and similar compilers
- Copyright 2020-2022 Free Software Foundation, Inc.
+ Copyright 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -32,7 +32,7 @@
/* This file defines two types of attributes:
- * C2x standard attributes. These have macro names that do not begin with
+ * C23 standard attributes. These have macro names that do not begin with
'ATTRIBUTE_'.
* Selected GCC attributes; see:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
@@ -41,6 +41,21 @@
These names begin with 'ATTRIBUTE_' to avoid name clashes. */
+/* This file uses _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_ALWAYS_INLINE,
+ _GL_ATTRIBUTE_ARTIFICIAL, _GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_CONST,
+ _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR,
+ _GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE,
+ _GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_LEAF,
+ _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_MAY_ALIAS, _GL_ATTRIBUTE_MAYBE_UNUSED,
+ _GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE, _GL_ATTRIBUTE_NONNULL,
+ _GL_ATTRIBUTE_NONSTRING, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED,
+ _GL_ATTRIBUTE_PURE, _GL_ATTRIBUTE_RETURNS_NONNULL,
+ _GL_ATTRIBUTE_SENTINEL. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+
/* =============== Attributes for specific kinds of functions =============== */
/* Attributes for functions that should not be used. */
@@ -167,6 +182,8 @@
/* The function does not throw exceptions. */
/* Applies to: functions. */
+/* After a function's parameter list, this attribute must come first, before
+ other attributes. */
#define ATTRIBUTE_NOTHROW _GL_ATTRIBUTE_NOTHROW
/* Do not inline the function. */
diff --git a/lib/c++defs.h b/lib/c++defs.h
index ad181558..eb66967b 100644
--- a/lib/c++defs.h
+++ b/lib/c++defs.h
@@ -1,5 +1,5 @@
/* C++ compatible function declaration macros.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -99,6 +99,12 @@
Example:
_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
_GL_ARG_NONNULL ((1)));
+
+ Note: Attributes, such as _GL_ATTRIBUTE_DEPRECATED, are supported in front
+ of a _GL_FUNCDECL_RPL invocation only in C mode, not in C++ mode. (That's
+ because
+ [[...]] extern "C" <declaration>;
+ is invalid syntax in C++.)
*/
#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
_GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
diff --git a/lib/c-ctype.c b/lib/c-ctype.c
index a247514c..d3f1b12d 100644
--- a/lib/c-ctype.c
+++ b/lib/c-ctype.c
@@ -1,6 +1,6 @@
/* Character handling in C locale.
- Copyright (C) 2003-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
index 1202ff8a..b582de4a 100644
--- a/lib/c-ctype.h
+++ b/lib/c-ctype.h
@@ -5,7 +5,7 @@
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -23,9 +23,11 @@
#ifndef C_CTYPE_H
#define C_CTYPE_H
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
_GL_INLINE_HEADER_BEGIN
#ifndef C_CTYPE_INLINE
# define C_CTYPE_INLINE _GL_INLINE
diff --git a/lib/c-strcase.h b/lib/c-strcase.h
index 3e874b5e..b75e8dd1 100644
--- a/lib/c-strcase.h
+++ b/lib/c-strcase.h
@@ -1,5 +1,5 @@
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2022 Free Software
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -18,6 +18,11 @@
#ifndef C_STRCASE_H
#define C_STRCASE_H
+/* This file uses _GL_ATTRIBUTE_PURE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c
index 87b993cb..1fa575a8 100644
--- a/lib/c-strcasecmp.c
+++ b/lib/c-strcasecmp.c
@@ -1,5 +1,5 @@
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c-strcaseeq.h b/lib/c-strcaseeq.h
index 1c4607cc..26e05c93 100644
--- a/lib/c-strcaseeq.h
+++ b/lib/c-strcaseeq.h
@@ -1,5 +1,5 @@
/* Optimized case-insensitive string comparison in C locale.
- Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c
index 5a5d30b6..4c8b0b6b 100644
--- a/lib/c-strncasecmp.c
+++ b/lib/c-strncasecmp.c
@@ -1,5 +1,5 @@
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/c32is-impl.h b/lib/c32is-impl.h
new file mode 100644
index 00000000..084b3a02
--- /dev/null
+++ b/lib/c32is-impl.h
@@ -0,0 +1,105 @@
+/* Test whether a 32-bit wide character belongs to a specific character class.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2020. */
+
+#include <wchar.h>
+#include <wctype.h>
+
+#ifdef __CYGWIN__
+# include <cygwin/version.h>
+#endif
+
+#if GNULIB_defined_mbstate_t
+# include "localcharset.h"
+# include "streq.h"
+#endif
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+#include "unictype.h"
+
+#if _GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t
+_GL_EXTERN_INLINE
+#endif
+int
+FUNC (wint_t wc)
+{
+ /* The char32_t encoding of a multibyte character is defined by the way
+ mbrtoc32() is defined. */
+
+#if GNULIB_defined_mbstate_t /* AIX, IRIX */
+ /* mbrtoc32() is defined on top of mbtowc() for the non-UTF-8 locales
+ and directly for the UTF-8 locales. */
+ if (wc != WEOF)
+ {
+ const char *encoding = locale_charset ();
+ if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+ return UCS_FUNC (wc);
+ else
+ return WCHAR_FUNC (wc);
+ }
+ else
+ return 0;
+
+#elif HAVE_WORKING_MBRTOC32 /* glibc, Android */
+ /* mbrtoc32() is essentially defined by the system libc. */
+
+# if _GL_WCHAR_T_IS_UCS4
+ /* The char32_t encoding of a multibyte character is known to be the same as
+ the wchar_t encoding. */
+ return WCHAR_FUNC (wc);
+# else
+ /* The char32_t encoding of a multibyte character is known to be UCS-4,
+ different from the wchar_t encoding. */
+ if (wc != WEOF)
+ return UCS_FUNC (wc);
+ else
+ return 0;
+# endif
+
+#elif _GL_SMALL_WCHAR_T /* Cygwin, mingw, MSVC */
+ /* The wchar_t encoding is UTF-16.
+ The char32_t encoding is UCS-4. */
+
+# if defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007
+ /* As an extension to POSIX, the iswalnum() function of Cygwin >= 1.7
+ supports also wc arguments outside the Unicode BMP, that is, outside
+ the 'wchar_t' range. See
+ <https://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00019.html>
+ = <https://cygwin.com/ml/cygwin/2011-02/msg00044.html>. */
+ return WCHAR_FUNC (wc);
+# else
+ if (wc == WEOF || wc == (wchar_t) wc)
+ /* wc is in the range for the isw* functions. */
+ return WCHAR_FUNC (wc);
+ else
+ return UCS_FUNC (wc);
+# endif
+
+#else /* macOS, FreeBSD, NetBSD, OpenBSD, HP-UX, Solaris, Minix, Android */
+ /* char32_t and wchar_t are equivalent. */
+ static_assert (sizeof (char32_t) == sizeof (wchar_t));
+
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ return UCS_FUNC (wc);
+# else
+ return WCHAR_FUNC (wc);
+# endif
+#endif
+}
diff --git a/lib/c32isalnum.c b/lib/c32isalnum.c
new file mode 100644
index 00000000..6335af6d
--- /dev/null
+++ b/lib/c32isalnum.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being alphanumeric.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISALNUM
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isalnum
+#define WCHAR_FUNC iswalnum
+#define UCS_FUNC uc_is_alnum
+#include "c32is-impl.h"
diff --git a/lib/c32isalpha.c b/lib/c32isalpha.c
new file mode 100644
index 00000000..ea43be56
--- /dev/null
+++ b/lib/c32isalpha.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being alphabetic.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISALPHA
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isalpha
+#define WCHAR_FUNC iswalpha
+#define UCS_FUNC uc_is_alpha
+#include "c32is-impl.h"
diff --git a/lib/c32isblank.c b/lib/c32isblank.c
new file mode 100644
index 00000000..ee06d3d0
--- /dev/null
+++ b/lib/c32isblank.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being blank.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISBLANK
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isblank
+#define WCHAR_FUNC iswblank
+#define UCS_FUNC uc_is_blank
+#include "c32is-impl.h"
diff --git a/lib/c32iscntrl.c b/lib/c32iscntrl.c
new file mode 100644
index 00000000..1f50527b
--- /dev/null
+++ b/lib/c32iscntrl.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being a control character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISCNTRL
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32iscntrl
+#define WCHAR_FUNC iswcntrl
+#define UCS_FUNC uc_is_cntrl
+#include "c32is-impl.h"
diff --git a/lib/c32isdigit.c b/lib/c32isdigit.c
new file mode 100644
index 00000000..4cb99c2a
--- /dev/null
+++ b/lib/c32isdigit.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being a digit.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISDIGIT
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isdigit
+#define WCHAR_FUNC iswdigit
+#define UCS_FUNC uc_is_digit
+#include "c32is-impl.h"
diff --git a/lib/c32isgraph.c b/lib/c32isgraph.c
new file mode 100644
index 00000000..407d6d1a
--- /dev/null
+++ b/lib/c32isgraph.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being graphic.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISGRAPH
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isgraph
+#define WCHAR_FUNC iswgraph
+#define UCS_FUNC uc_is_graph
+#include "c32is-impl.h"
diff --git a/lib/c32islower.c b/lib/c32islower.c
new file mode 100644
index 00000000..f2bfda7c
--- /dev/null
+++ b/lib/c32islower.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being lowercase.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISLOWER
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32islower
+#define WCHAR_FUNC iswlower
+#define UCS_FUNC uc_is_lower
+#include "c32is-impl.h"
diff --git a/lib/c32isprint.c b/lib/c32isprint.c
new file mode 100644
index 00000000..fd8d7a63
--- /dev/null
+++ b/lib/c32isprint.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being printable.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISPRINT
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isprint
+#define WCHAR_FUNC iswprint
+#define UCS_FUNC uc_is_print
+#include "c32is-impl.h"
diff --git a/lib/c32ispunct.c b/lib/c32ispunct.c
new file mode 100644
index 00000000..03d64699
--- /dev/null
+++ b/lib/c32ispunct.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being a punctuation or symbol character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISPUNCT
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32ispunct
+#define WCHAR_FUNC iswpunct
+#define UCS_FUNC uc_is_punct
+#include "c32is-impl.h"
diff --git a/lib/c32isspace.c b/lib/c32isspace.c
new file mode 100644
index 00000000..1449fc4e
--- /dev/null
+++ b/lib/c32isspace.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being white-space.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISSPACE
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isspace
+#define WCHAR_FUNC iswspace
+#define UCS_FUNC uc_is_space
+#include "c32is-impl.h"
diff --git a/lib/c32isupper.c b/lib/c32isupper.c
new file mode 100644
index 00000000..4b218603
--- /dev/null
+++ b/lib/c32isupper.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being uppercase.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISUPPER
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isupper
+#define WCHAR_FUNC iswupper
+#define UCS_FUNC uc_is_upper
+#include "c32is-impl.h"
diff --git a/lib/c32isxdigit.c b/lib/c32isxdigit.c
new file mode 100644
index 00000000..133d0103
--- /dev/null
+++ b/lib/c32isxdigit.c
@@ -0,0 +1,26 @@
+/* Test 32-bit wide character for being a hexadecimal digit.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32ISXDIGIT
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32isxdigit
+#define WCHAR_FUNC iswxdigit
+#define UCS_FUNC uc_is_xdigit
+#include "c32is-impl.h"
diff --git a/lib/c32to-impl.h b/lib/c32to-impl.h
new file mode 100644
index 00000000..e94fa7dc
--- /dev/null
+++ b/lib/c32to-impl.h
@@ -0,0 +1,92 @@
+/* Case mapping of a 32-bit wide character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <wchar.h>
+#include <wctype.h>
+
+#if GNULIB_defined_mbstate_t
+# include "localcharset.h"
+# include "streq.h"
+#endif
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+#include "unicase.h"
+
+#if _GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t
+_GL_EXTERN_INLINE
+#endif
+wint_t
+FUNC (wint_t wc)
+{
+ /* The char32_t encoding of a multibyte character is defined by the way
+ mbrtoc32() is defined. */
+
+#if GNULIB_defined_mbstate_t /* AIX, IRIX */
+ /* mbrtoc32() is defined on top of mbtowc() for the non-UTF-8 locales
+ and directly for the UTF-8 locales. */
+ if (wc != WEOF)
+ {
+ const char *encoding = locale_charset ();
+ if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+ return UCS_FUNC (wc);
+ else
+ return WCHAR_FUNC (wc);
+ }
+ else
+ return wc;
+
+#elif HAVE_WORKING_MBRTOC32 /* glibc, Android */
+ /* mbrtoc32() is essentially defined by the system libc. */
+
+# if _GL_WCHAR_T_IS_UCS4
+ /* The char32_t encoding of a multibyte character is known to be the same as
+ the wchar_t encoding. */
+ return WCHAR_FUNC (wc);
+# else
+ /* The char32_t encoding of a multibyte character is known to be UCS-4,
+ different from the wchar_t encoding. */
+ if (wc != WEOF)
+ return UCS_FUNC (wc);
+ else
+ return wc;
+# endif
+
+#elif _GL_SMALL_WCHAR_T /* Cygwin, mingw, MSVC */
+ /* The wchar_t encoding is UTF-16.
+ The char32_t encoding is UCS-4. */
+
+ if (wc == WEOF || wc == (wchar_t) wc)
+ /* wc is in the range for the tow* functions. */
+ return WCHAR_FUNC (wc);
+ else
+ return UCS_FUNC (wc);
+
+#else /* macOS, FreeBSD, NetBSD, OpenBSD, HP-UX, Solaris, Minix, Android */
+ /* char32_t and wchar_t are equivalent. */
+ static_assert (sizeof (char32_t) == sizeof (wchar_t));
+
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ return UCS_FUNC (wc);
+# else
+ return WCHAR_FUNC (wc);
+# endif
+#endif
+}
diff --git a/lib/c32tolower.c b/lib/c32tolower.c
new file mode 100644
index 00000000..52b149b1
--- /dev/null
+++ b/lib/c32tolower.c
@@ -0,0 +1,26 @@
+/* Map a 32-bit wide character to lowercase.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#define IN_C32TOLOWER
+/* Specification. */
+#include <uchar.h>
+
+#define FUNC c32tolower
+#define WCHAR_FUNC towlower
+#define UCS_FUNC uc_tolower
+#include "c32to-impl.h"
diff --git a/lib/c32width.c b/lib/c32width.c
new file mode 100644
index 00000000..7edf0088
--- /dev/null
+++ b/lib/c32width.c
@@ -0,0 +1,102 @@
+/* Determine the number of screen columns needed for a 32-bit wide character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+#define IN_C32WIDTH
+/* Specification. */
+#include <uchar.h>
+
+#include <wchar.h>
+
+#ifdef __CYGWIN__
+# include <cygwin/version.h>
+#endif
+
+#if GNULIB_defined_mbstate_t
+# include "streq.h"
+#endif
+
+#include "localcharset.h"
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+#include "uniwidth.h"
+
+#if _GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t
+_GL_EXTERN_INLINE
+#endif
+int
+c32width (char32_t wc)
+{
+ /* The char32_t encoding of a multibyte character is defined by the way
+ mbrtoc32() is defined. */
+
+#if GNULIB_defined_mbstate_t /* AIX, IRIX */
+ /* mbrtoc32() is defined on top of mbtowc() for the non-UTF-8 locales
+ and directly for the UTF-8 locales. */
+ const char *encoding = locale_charset ();
+ if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+ return uc_width (wc, encoding);
+ else
+ return wcwidth (wc);
+
+#elif HAVE_WORKING_MBRTOC32 /* glibc, Android */
+ /* mbrtoc32() is essentially defined by the system libc. */
+
+# if _GL_WCHAR_T_IS_UCS4
+ /* The char32_t encoding of a multibyte character is known to be the same as
+ the wchar_t encoding. */
+ return wcwidth (wc);
+# else
+ /* The char32_t encoding of a multibyte character is known to be UCS-4,
+ different from the wchar_t encoding. */
+ return uc_width (wc, locale_charset ());
+# endif
+
+#elif _GL_SMALL_WCHAR_T /* Cygwin, mingw, MSVC */
+ /* The wchar_t encoding is UTF-16.
+ The char32_t encoding is UCS-4. */
+
+# if defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007 && 0
+ /* As an extension to POSIX, the wcwidth() function of Cygwin >= 1.7
+ supports also wc arguments outside the Unicode BMP, that is, outside
+ the 'wchar_t' range. See
+ <https://www.cygwin.com/cgit/newlib-cygwin/commit/?id=098a75dc51caa98f369d98a9809d773bc45329aa>.
+ But the resulting values for these characters are not of good quality. */
+ return wcwidth (wc);
+# else
+ if (wc == (wchar_t) wc)
+ /* wc is in the range for the wcwidth function. */
+ return wcwidth (wc);
+ else
+ return uc_width (wc, locale_charset ());
+# endif
+
+#else /* macOS, FreeBSD, NetBSD, OpenBSD, HP-UX, Solaris, Minix, Android */
+ /* char32_t and wchar_t are equivalent. */
+ static_assert (sizeof (char32_t) == sizeof (wchar_t));
+
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ return uc_width (wc, locale_charset ());
+# endif
+ return wcwidth (wc);
+#endif
+}
diff --git a/lib/declared.sh b/lib/declared.sh
index b721f7e9..3886197b 100755
--- a/lib/declared.sh
+++ b/lib/declared.sh
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2006-2022 Free Software Foundation, Inc.
+# Copyright (C) 2006-2024 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/lib/errno.in.h b/lib/errno.in.h
index 3ec18456..aa658e62 100644
--- a/lib/errno.in.h
+++ b/lib/errno.in.h
@@ -1,6 +1,6 @@
/* A POSIX-like <errno.h>.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/flexmember.h b/lib/flexmember.h
index 1545639f..6ef66a32 100644
--- a/lib/flexmember.h
+++ b/lib/flexmember.h
@@ -1,6 +1,6 @@
/* Sizes of structs with flexible array members.
- Copyright 2016-2022 Free Software Foundation, Inc.
+ Copyright 2016-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -20,6 +20,11 @@
Written by Paul Eggert. */
+/* This file uses _Alignof. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
/* Nonzero multiple of alignment of TYPE, suitable for FLEXSIZEOF below.
@@ -38,7 +43,7 @@
followed by N bytes of other data. The result is suitable as an
argument to malloc. For example:
- struct s { int n; char d[FLEXIBLE_ARRAY_MEMBER]; };
+ struct s { int a; char d[FLEXIBLE_ARRAY_MEMBER]; };
struct s *p = malloc (FLEXSIZEOF (struct s, d, n * sizeof (char)));
FLEXSIZEOF (TYPE, MEMBER, N) is not simply (sizeof (TYPE) + N),
@@ -58,3 +63,14 @@
#define FLEXSIZEOF(type, member, n) \
((offsetof (type, member) + FLEXALIGNOF (type) - 1 + (n)) \
& ~ (FLEXALIGNOF (type) - 1))
+
+/* Yield a properly aligned upper bound on the size of a struct of
+ type TYPE with a flexible array member named MEMBER that has N
+ elements. The result is suitable as an argument to malloc.
+ For example:
+
+ struct s { int a; double d[FLEXIBLE_ARRAY_MEMBER]; };
+ struct s *p = malloc (FLEXNSIZEOF (struct s, d, n));
+ */
+#define FLEXNSIZEOF(type, member, n) \
+ FLEXSIZEOF (type, member, (n) * sizeof (((type *) 0)->member[0]))
diff --git a/lib/float+.h b/lib/float+.h
index 9ab45208..104f477f 100644
--- a/lib/float+.h
+++ b/lib/float+.h
@@ -1,5 +1,5 @@
/* Supplemental information about the floating-point formats.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/float.c b/lib/float.c
index de850645..a9ea40b0 100644
--- a/lib/float.c
+++ b/lib/float.c
@@ -1,5 +1,5 @@
/* Auxiliary definitions for <float.h>.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/float.in.h b/lib/float.in.h
index a4183765..73e8d406 100644
--- a/lib/float.in.h
+++ b/lib/float.in.h
@@ -1,6 +1,6 @@
/* A correct <float.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/fpucw.h b/lib/fpucw.h
index 19218366..c7387a22 100644
--- a/lib/fpucw.h
+++ b/lib/fpucw.h
@@ -1,5 +1,5 @@
/* Manipulating the FPU control word. -*- coding: utf-8 -*-
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/free.c b/lib/free.c
index 86ebe6c6..2f0c40ba 100644
--- a/lib/free.c
+++ b/lib/free.c
@@ -1,6 +1,6 @@
/* Make free() preserve errno.
- Copyright (C) 2003, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/frexp.c b/lib/frexp.c
index 2c15733e..5ce96e8e 100644
--- a/lib/frexp.c
+++ b/lib/frexp.c
@@ -1,5 +1,5 @@
/* Split a double into fraction and mantissa.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/frexpl.c b/lib/frexpl.c
index 55ca0109..700b7b87 100644
--- a/lib/frexpl.c
+++ b/lib/frexpl.c
@@ -1,5 +1,5 @@
/* Split a 'long double' into fraction and mantissa.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/fseterr.c b/lib/fseterr.c
index 897e754e..2504205e 100644
--- a/lib/fseterr.c
+++ b/lib/fseterr.c
@@ -1,5 +1,5 @@
/* Set the error indicator of a stream.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/fseterr.h b/lib/fseterr.h
index 7ecf8717..42e49fcb 100644
--- a/lib/fseterr.h
+++ b/lib/fseterr.h
@@ -1,5 +1,5 @@
/* Set the error indicator of a stream.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -17,6 +17,11 @@
#ifndef _FSETERR_H
#define _FSETERR_H
+/* This file uses HAVE___FSETERR. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stdio.h>
/* Set the error indicator of the stream FP.
diff --git a/lib/glthread/lock.c b/lib/glthread/lock.c
index b650c219..6661ad6a 100644
--- a/lib/glthread/lock.c
+++ b/lib/glthread/lock.c
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h
index 47eed8fe..2d5cb320 100644
--- a/lib/glthread/lock.h
+++ b/lib/glthread/lock.h
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -77,6 +77,14 @@
#ifndef _LOCK_H
#define _LOCK_H
+/* This file uses HAVE_THREADS_H, HAVE_PTHREAD_RWLOCK,
+ HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER,
+ PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
+ HAVE_PTHREAD_MUTEX_RECURSIVE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <errno.h>
#include <stdlib.h>
diff --git a/lib/glthread/threadlib.c b/lib/glthread/threadlib.c
index 88a76bad..7a776768 100644
--- a/lib/glthread/threadlib.c
+++ b/lib/glthread/threadlib.c
@@ -1,5 +1,5 @@
/* Multithreading primitives.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/hard-locale.c b/lib/hard-locale.c
index f7fbc470..653c5809 100644
--- a/lib/hard-locale.c
+++ b/lib/hard-locale.c
@@ -1,6 +1,6 @@
/* hard-locale.c -- Determine whether a locale is hard.
- Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -21,6 +21,7 @@
#include "hard-locale.h"
#include <locale.h>
+#include <stdlib.h>
#include <string.h>
bool
@@ -31,5 +32,16 @@ hard_locale (int category)
if (setlocale_null_r (category, locale, sizeof (locale)))
return false;
- return !(strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0);
+ if (!(strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0))
+ return true;
+
+#if defined __ANDROID__
+ /* On Android 5.0 or newer, it is possible to set a locale that has the same
+ name as the "C" locale but in fact uses UTF-8 encoding. Cf. test case 2 in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2023-01/msg00141.html>. */
+ if (MB_CUR_MAX > 1)
+ return true;
+#endif
+
+ return false;
}
diff --git a/lib/hard-locale.h b/lib/hard-locale.h
index d0fef9b6..21c5c546 100644
--- a/lib/hard-locale.h
+++ b/lib/hard-locale.h
@@ -1,6 +1,6 @@
/* Determine whether a locale is hard.
- Copyright (C) 1999, 2003-2004, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2003-2004, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,7 +20,9 @@
/* Return true if the specified CATEGORY of the current locale is hard, i.e.
different from the C or POSIX locale that has a fixed behavior.
- CATEGORY must be one of the LC_* values, but not LC_ALL. */
+ CATEGORY must be one of the LC_* values, but not LC_ALL.
+ Note: This function uses the current global locale; it ignores the
+ per-thread locale. */
extern bool hard_locale (int category);
#endif /* HARD_LOCALE_H_ */
diff --git a/lib/iconv.c b/lib/iconv.c
index efab53d8..310f4043 100644
--- a/lib/iconv.c
+++ b/lib/iconv.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 1999-2001, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2001, 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv.in.h b/lib/iconv.in.h
index 4c5a31c3..9e41e417 100644
--- a/lib/iconv.in.h
+++ b/lib/iconv.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <iconv.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -28,6 +28,11 @@
#ifndef _@GUARD_PREFIX@_ICONV_H
#define _@GUARD_PREFIX@_ICONV_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_ARG_NONNULL is copied here. */
diff --git a/lib/iconv_close.c b/lib/iconv_close.c
index 2d7fb17e..692cbb84 100644
--- a/lib/iconv_close.c
+++ b/lib/iconv_close.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-aix.gperf b/lib/iconv_open-aix.gperf
index 024da215..55cccd03 100644
--- a/lib/iconv_open-aix.gperf
+++ b/lib/iconv_open-aix.gperf
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-aix.h b/lib/iconv_open-aix.h
index 85ed7674..3372ba40 100644
--- a/lib/iconv_open-aix.h
+++ b/lib/iconv_open-aix.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.1 */
-/* Command-line: gperf -m 10 ./iconv_open-aix.gperf */
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ../../lib/iconv_open-aix.gperf */
/* Computed positions: -k'4,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 17 "./iconv_open-aix.gperf"
+#line 17 "../../lib/iconv_open-aix.gperf"
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
#define TOTAL_KEYWORDS 32
@@ -156,74 +156,74 @@ static const struct stringpool_t stringpool_contents =
static const struct mapping mappings[] =
{
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 59 "./iconv_open-aix.gperf"
+#line 59 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"},
-#line 58 "./iconv_open-aix.gperf"
+#line 58 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"},
-#line 41 "./iconv_open-aix.gperf"
+#line 41 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"},
-#line 57 "./iconv_open-aix.gperf"
+#line 57 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"},
-#line 30 "./iconv_open-aix.gperf"
+#line 30 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"},
-#line 43 "./iconv_open-aix.gperf"
+#line 43 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"},
-#line 40 "./iconv_open-aix.gperf"
+#line 40 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"},
-#line 35 "./iconv_open-aix.gperf"
+#line 35 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"},
-#line 49 "./iconv_open-aix.gperf"
+#line 49 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"},
-#line 56 "./iconv_open-aix.gperf"
+#line 56 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"},
-#line 60 "./iconv_open-aix.gperf"
+#line 60 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "big5"},
-#line 39 "./iconv_open-aix.gperf"
+#line 39 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"},
{-1},
-#line 33 "./iconv_open-aix.gperf"
+#line 33 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"},
-#line 38 "./iconv_open-aix.gperf"
+#line 38 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"},
-#line 31 "./iconv_open-aix.gperf"
+#line 31 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"},
-#line 47 "./iconv_open-aix.gperf"
+#line 47 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"},
-#line 51 "./iconv_open-aix.gperf"
+#line 51 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"},
-#line 36 "./iconv_open-aix.gperf"
+#line 36 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"},
-#line 42 "./iconv_open-aix.gperf"
+#line 42 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"},
-#line 53 "./iconv_open-aix.gperf"
+#line 53 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"},
-#line 34 "./iconv_open-aix.gperf"
+#line 34 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
-#line 45 "./iconv_open-aix.gperf"
+#line 45 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"},
-#line 48 "./iconv_open-aix.gperf"
+#line 48 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"},
-#line 55 "./iconv_open-aix.gperf"
+#line 55 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"},
-#line 37 "./iconv_open-aix.gperf"
+#line 37 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"},
{-1},
-#line 50 "./iconv_open-aix.gperf"
+#line 50 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"},
-#line 32 "./iconv_open-aix.gperf"
+#line 32 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"},
-#line 29 "./iconv_open-aix.gperf"
+#line 29 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"},
{-1}, {-1},
-#line 54 "./iconv_open-aix.gperf"
+#line 54 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"},
{-1},
-#line 46 "./iconv_open-aix.gperf"
+#line 46 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"},
-#line 52 "./iconv_open-aix.gperf"
+#line 52 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
{-1}, {-1},
-#line 44 "./iconv_open-aix.gperf"
+#line 44 "../../lib/iconv_open-aix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"}
};
diff --git a/lib/iconv_open-hpux.gperf b/lib/iconv_open-hpux.gperf
index 12057505..ddf51e30 100644
--- a/lib/iconv_open-hpux.gperf
+++ b/lib/iconv_open-hpux.gperf
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-hpux.h b/lib/iconv_open-hpux.h
index fe3c2893..70a7abb1 100644
--- a/lib/iconv_open-hpux.h
+++ b/lib/iconv_open-hpux.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.1 */
-/* Command-line: gperf -m 10 ./iconv_open-hpux.gperf */
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ../../lib/iconv_open-hpux.gperf */
/* Computed positions: -k'4,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 17 "./iconv_open-hpux.gperf"
+#line 17 "../../lib/iconv_open-hpux.gperf"
struct mapping { int standard_name; const char vendor_name[9 + 1]; };
#define TOTAL_KEYWORDS 44
@@ -180,93 +180,93 @@ static const struct stringpool_t stringpool_contents =
static const struct mapping mappings[] =
{
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 56 "./iconv_open-hpux.gperf"
+#line 56 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"},
-#line 50 "./iconv_open-hpux.gperf"
+#line 50 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"},
-#line 51 "./iconv_open-hpux.gperf"
+#line 51 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"},
-#line 39 "./iconv_open-hpux.gperf"
+#line 39 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "cp850"},
-#line 65 "./iconv_open-hpux.gperf"
+#line 65 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "tis620"},
-#line 54 "./iconv_open-hpux.gperf"
+#line 54 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"},
-#line 32 "./iconv_open-hpux.gperf"
+#line 32 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"},
-#line 69 "./iconv_open-hpux.gperf"
+#line 69 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"},
-#line 29 "./iconv_open-hpux.gperf"
+#line 29 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"},
-#line 35 "./iconv_open-hpux.gperf"
+#line 35 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"},
-#line 55 "./iconv_open-hpux.gperf"
+#line 55 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"},
-#line 70 "./iconv_open-hpux.gperf"
+#line 70 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "big5"},
-#line 41 "./iconv_open-hpux.gperf"
+#line 41 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp855"},
-#line 57 "./iconv_open-hpux.gperf"
+#line 57 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"},
-#line 68 "./iconv_open-hpux.gperf"
+#line 68 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"},
-#line 42 "./iconv_open-hpux.gperf"
+#line 42 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp857"},
-#line 31 "./iconv_open-hpux.gperf"
+#line 31 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"},
-#line 36 "./iconv_open-hpux.gperf"
+#line 36 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"},
-#line 47 "./iconv_open-hpux.gperf"
+#line 47 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "cp866"},
-#line 33 "./iconv_open-hpux.gperf"
+#line 33 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"},
-#line 43 "./iconv_open-hpux.gperf"
+#line 43 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "cp861"},
-#line 48 "./iconv_open-hpux.gperf"
+#line 48 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "cp869"},
-#line 49 "./iconv_open-hpux.gperf"
+#line 49 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "cp874"},
-#line 45 "./iconv_open-hpux.gperf"
+#line 45 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp864"},
-#line 52 "./iconv_open-hpux.gperf"
+#line 52 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
-#line 37 "./iconv_open-hpux.gperf"
+#line 37 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp437"},
-#line 40 "./iconv_open-hpux.gperf"
+#line 40 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "cp852"},
-#line 38 "./iconv_open-hpux.gperf"
+#line 38 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp775"},
-#line 46 "./iconv_open-hpux.gperf"
+#line 46 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp865"},
-#line 67 "./iconv_open-hpux.gperf"
+#line 67 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"},
-#line 30 "./iconv_open-hpux.gperf"
+#line 30 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"},
-#line 71 "./iconv_open-hpux.gperf"
+#line 71 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "sjis"},
-#line 58 "./iconv_open-hpux.gperf"
+#line 58 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"},
-#line 72 "./iconv_open-hpux.gperf"
+#line 72 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "utf8"},
-#line 64 "./iconv_open-hpux.gperf"
+#line 64 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "kana8"},
-#line 59 "./iconv_open-hpux.gperf"
+#line 59 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "roman8"},
-#line 62 "./iconv_open-hpux.gperf"
+#line 62 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"},
-#line 66 "./iconv_open-hpux.gperf"
+#line 66 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"},
-#line 34 "./iconv_open-hpux.gperf"
+#line 34 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"},
-#line 63 "./iconv_open-hpux.gperf"
+#line 63 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"},
-#line 61 "./iconv_open-hpux.gperf"
+#line 61 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "greek8"},
-#line 60 "./iconv_open-hpux.gperf"
+#line 60 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"},
-#line 44 "./iconv_open-hpux.gperf"
+#line 44 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, "cp862"},
-#line 53 "./iconv_open-hpux.gperf"
+#line 53 "../../lib/iconv_open-hpux.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"}
};
diff --git a/lib/iconv_open-irix.gperf b/lib/iconv_open-irix.gperf
index 92a2689d..cd0ad544 100644
--- a/lib/iconv_open-irix.gperf
+++ b/lib/iconv_open-irix.gperf
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-irix.h b/lib/iconv_open-irix.h
index 9eec0457..94b35cc6 100644
--- a/lib/iconv_open-irix.h
+++ b/lib/iconv_open-irix.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.1 */
-/* Command-line: gperf -m 10 ./iconv_open-irix.gperf */
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ../../lib/iconv_open-irix.gperf */
/* Computed positions: -k'1,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 17 "./iconv_open-irix.gperf"
+#line 17 "../../lib/iconv_open-irix.gperf"
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
#define TOTAL_KEYWORDS 19
@@ -130,43 +130,43 @@ static const struct stringpool_t stringpool_contents =
static const struct mapping mappings[] =
{
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 40 "./iconv_open-irix.gperf"
+#line 40 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"},
-#line 45 "./iconv_open-irix.gperf"
+#line 45 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"},
-#line 44 "./iconv_open-irix.gperf"
+#line 44 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"},
-#line 41 "./iconv_open-irix.gperf"
+#line 41 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"},
-#line 46 "./iconv_open-irix.gperf"
+#line 46 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "sjis"},
-#line 33 "./iconv_open-irix.gperf"
+#line 33 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"},
-#line 38 "./iconv_open-irix.gperf"
+#line 38 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
-#line 29 "./iconv_open-irix.gperf"
+#line 29 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"},
-#line 43 "./iconv_open-irix.gperf"
+#line 43 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"},
-#line 39 "./iconv_open-irix.gperf"
+#line 39 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"},
-#line 30 "./iconv_open-irix.gperf"
+#line 30 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"},
-#line 42 "./iconv_open-irix.gperf"
+#line 42 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"},
-#line 37 "./iconv_open-irix.gperf"
+#line 37 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"},
-#line 36 "./iconv_open-irix.gperf"
+#line 36 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"},
-#line 35 "./iconv_open-irix.gperf"
+#line 35 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"},
-#line 34 "./iconv_open-irix.gperf"
+#line 34 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"},
-#line 32 "./iconv_open-irix.gperf"
+#line 32 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"},
-#line 31 "./iconv_open-irix.gperf"
+#line 31 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"},
-#line 47 "./iconv_open-irix.gperf"
+#line 47 "../../lib/iconv_open-irix.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"}
};
diff --git a/lib/iconv_open-osf.gperf b/lib/iconv_open-osf.gperf
index 746f5630..417f7e3e 100644
--- a/lib/iconv_open-osf.gperf
+++ b/lib/iconv_open-osf.gperf
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-osf.h b/lib/iconv_open-osf.h
index cf23c083..73fe66c8 100644
--- a/lib/iconv_open-osf.h
+++ b/lib/iconv_open-osf.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.1 */
-/* Command-line: gperf -m 10 ./iconv_open-osf.gperf */
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ../../lib/iconv_open-osf.gperf */
/* Computed positions: -k'4,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 17 "./iconv_open-osf.gperf"
+#line 17 "../../lib/iconv_open-osf.gperf"
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
#define TOTAL_KEYWORDS 38
@@ -168,84 +168,84 @@ static const struct stringpool_t stringpool_contents =
static const struct mapping mappings[] =
{
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 57 "./iconv_open-osf.gperf"
+#line 57 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"},
-#line 40 "./iconv_open-osf.gperf"
+#line 40 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp775"},
-#line 52 "./iconv_open-osf.gperf"
+#line 52 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"},
-#line 63 "./iconv_open-osf.gperf"
+#line 63 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"},
-#line 62 "./iconv_open-osf.gperf"
+#line 62 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"},
-#line 66 "./iconv_open-osf.gperf"
+#line 66 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"},
-#line 33 "./iconv_open-osf.gperf"
+#line 33 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"},
-#line 38 "./iconv_open-osf.gperf"
+#line 38 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"},
-#line 64 "./iconv_open-osf.gperf"
+#line 64 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "big5"},
-#line 43 "./iconv_open-osf.gperf"
+#line 43 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "cp855"},
-#line 60 "./iconv_open-osf.gperf"
+#line 60 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"},
-#line 41 "./iconv_open-osf.gperf"
+#line 41 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "cp850"},
-#line 47 "./iconv_open-osf.gperf"
+#line 47 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp865"},
-#line 61 "./iconv_open-osf.gperf"
+#line 61 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"},
-#line 59 "./iconv_open-osf.gperf"
+#line 59 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"},
-#line 58 "./iconv_open-osf.gperf"
+#line 58 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"},
-#line 36 "./iconv_open-osf.gperf"
+#line 36 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"},
-#line 65 "./iconv_open-osf.gperf"
+#line 65 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"},
{-1},
-#line 37 "./iconv_open-osf.gperf"
+#line 37 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"},
-#line 35 "./iconv_open-osf.gperf"
+#line 35 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"},
-#line 34 "./iconv_open-osf.gperf"
+#line 34 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
{-1},
-#line 44 "./iconv_open-osf.gperf"
+#line 44 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp857"},
-#line 54 "./iconv_open-osf.gperf"
+#line 54 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
-#line 49 "./iconv_open-osf.gperf"
+#line 49 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp869"},
-#line 51 "./iconv_open-osf.gperf"
+#line 51 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"},
-#line 48 "./iconv_open-osf.gperf"
+#line 48 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp866"},
-#line 39 "./iconv_open-osf.gperf"
+#line 39 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp437"},
-#line 53 "./iconv_open-osf.gperf"
+#line 53 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"},
-#line 30 "./iconv_open-osf.gperf"
+#line 30 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"},
-#line 56 "./iconv_open-osf.gperf"
+#line 56 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"},
-#line 50 "./iconv_open-osf.gperf"
+#line 50 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp874"},
-#line 42 "./iconv_open-osf.gperf"
+#line 42 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "cp852"},
-#line 55 "./iconv_open-osf.gperf"
+#line 55 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"},
-#line 29 "./iconv_open-osf.gperf"
+#line 29 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"},
-#line 46 "./iconv_open-osf.gperf"
+#line 46 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "cp862"},
-#line 32 "./iconv_open-osf.gperf"
+#line 32 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
{-1}, {-1},
-#line 31 "./iconv_open-osf.gperf"
+#line 31 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"},
-#line 45 "./iconv_open-osf.gperf"
+#line 45 "../../lib/iconv_open-osf.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "cp861"}
};
diff --git a/lib/iconv_open-solaris.gperf b/lib/iconv_open-solaris.gperf
index fbd6f9d7..d5411de0 100644
--- a/lib/iconv_open-solaris.gperf
+++ b/lib/iconv_open-solaris.gperf
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009, 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009, 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-solaris.h b/lib/iconv_open-solaris.h
index b38b16c8..9ef29fb6 100644
--- a/lib/iconv_open-solaris.h
+++ b/lib/iconv_open-solaris.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.1 */
-/* Command-line: gperf -m 10 ./iconv_open-solaris.gperf */
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ../../lib/iconv_open-solaris.gperf */
/* Computed positions: -k'10' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 17 "./iconv_open-solaris.gperf"
+#line 17 "../../lib/iconv_open-solaris.gperf"
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
#define TOTAL_KEYWORDS 13
@@ -84,6 +84,11 @@ mapping_hash (register const char *str, register size_t len)
{
default:
hval += asso_values[(unsigned char)str[9]];
+#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3))
+ [[fallthrough]];
+#elif defined __GNUC__ && __GNUC__ >= 7
+ __attribute__ ((__fallthrough__));
+#endif
/*FALLTHROUGH*/
case 9:
case 8:
@@ -132,32 +137,32 @@ static const struct stringpool_t stringpool_contents =
static const struct mapping mappings[] =
{
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 35 "./iconv_open-solaris.gperf"
+#line 35 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "646"},
-#line 46 "./iconv_open-solaris.gperf"
+#line 46 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
-#line 34 "./iconv_open-solaris.gperf"
+#line 34 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7},
{-1}, {-1},
-#line 36 "./iconv_open-solaris.gperf"
+#line 36 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
-#line 45 "./iconv_open-solaris.gperf"
+#line 45 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
-#line 44 "./iconv_open-solaris.gperf"
+#line 44 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
-#line 43 "./iconv_open-solaris.gperf"
+#line 43 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
-#line 42 "./iconv_open-solaris.gperf"
+#line 42 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
-#line 41 "./iconv_open-solaris.gperf"
+#line 41 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
-#line 40 "./iconv_open-solaris.gperf"
+#line 40 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
-#line 39 "./iconv_open-solaris.gperf"
+#line 39 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
-#line 38 "./iconv_open-solaris.gperf"
+#line 38 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
-#line 37 "./iconv_open-solaris.gperf"
+#line 37 "../../lib/iconv_open-solaris.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
};
diff --git a/lib/iconv_open-zos.gperf b/lib/iconv_open-zos.gperf
index 6912485e..a7fc3dc7 100644
--- a/lib/iconv_open-zos.gperf
+++ b/lib/iconv_open-zos.gperf
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconv_open-zos.h b/lib/iconv_open-zos.h
index 5f847251..8e9feda1 100644
--- a/lib/iconv_open-zos.h
+++ b/lib/iconv_open-zos.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.1 */
-/* Command-line: gperf -m 10 ./iconv_open-zos.gperf */
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ../../lib/iconv_open-zos.gperf */
/* Computed positions: -k'4,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 17 "./iconv_open-zos.gperf"
+#line 17 "../../lib/iconv_open-zos.gperf"
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
#define TOTAL_KEYWORDS 49
@@ -85,6 +85,11 @@ mapping_hash (register const char *str, register size_t len)
{
default:
hval += asso_values[(unsigned char)str[3]+6];
+#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3))
+ [[fallthrough]];
+#elif defined __GNUC__ && __GNUC__ >= 7
+ __attribute__ ((__fallthrough__));
+#endif
/*FALLTHROUGH*/
case 3:
break;
@@ -201,108 +206,108 @@ static const struct stringpool_t stringpool_contents =
static const struct mapping mappings[] =
{
{-1}, {-1}, {-1},
-#line 76 "./iconv_open-zos.gperf"
+#line 76 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str3, "IBM-1386"},
{-1},
-#line 28 "./iconv_open-zos.gperf"
+#line 28 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "00367"},
{-1},
-#line 68 "./iconv_open-zos.gperf"
+#line 68 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "IBM-5349"},
-#line 75 "./iconv_open-zos.gperf"
+#line 75 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "IBM-eucKR"},
-#line 72 "./iconv_open-zos.gperf"
+#line 72 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "09449"},
-#line 48 "./iconv_open-zos.gperf"
+#line 48 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "00857"},
-#line 36 "./iconv_open-zos.gperf"
+#line 36 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "05012"},
-#line 31 "./iconv_open-zos.gperf"
+#line 31 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "00913"},
-#line 38 "./iconv_open-zos.gperf"
+#line 38 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-13"},
-#line 35 "./iconv_open-zos.gperf"
+#line 35 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
-#line 42 "./iconv_open-zos.gperf"
+#line 42 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "IBM-437"},
-#line 63 "./iconv_open-zos.gperf"
+#line 63 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "01129"},
-#line 54 "./iconv_open-zos.gperf"
+#line 54 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "IBM-869"},
-#line 37 "./iconv_open-zos.gperf"
+#line 37 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-9"},
-#line 56 "./iconv_open-zos.gperf"
+#line 56 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "IBM-922"},
-#line 67 "./iconv_open-zos.gperf"
+#line 67 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "IBM-5348"},
-#line 45 "./iconv_open-zos.gperf"
+#line 45 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "IBM-852"},
-#line 65 "./iconv_open-zos.gperf"
+#line 65 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "IBM-5346"},
-#line 44 "./iconv_open-zos.gperf"
+#line 44 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "09042"},
-#line 50 "./iconv_open-zos.gperf"
+#line 50 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "IBM-862"},
-#line 30 "./iconv_open-zos.gperf"
+#line 30 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-2"},
-#line 57 "./iconv_open-zos.gperf"
+#line 57 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "IBM-943"},
-#line 73 "./iconv_open-zos.gperf"
+#line 73 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "IBM-eucCN"},
-#line 70 "./iconv_open-zos.gperf"
+#line 70 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "09447"},
-#line 46 "./iconv_open-zos.gperf"
+#line 46 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "13143"},
-#line 40 "./iconv_open-zos.gperf"
+#line 40 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "00878"},
-#line 62 "./iconv_open-zos.gperf"
+#line 62 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "IBM-1125"},
-#line 52 "./iconv_open-zos.gperf"
+#line 52 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "00865"},
-#line 33 "./iconv_open-zos.gperf"
+#line 33 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "ISO8859-5"},
-#line 39 "./iconv_open-zos.gperf"
+#line 39 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-15"},
-#line 71 "./iconv_open-zos.gperf"
+#line 71 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "09448"},
-#line 47 "./iconv_open-zos.gperf"
+#line 47 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "IBM-856"},
-#line 41 "./iconv_open-zos.gperf"
+#line 41 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "01168"},
-#line 69 "./iconv_open-zos.gperf"
+#line 69 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "IBM-5350"},
-#line 53 "./iconv_open-zos.gperf"
+#line 53 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "04962"},
-#line 34 "./iconv_open-zos.gperf"
+#line 34 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "ISO8859-6"},
-#line 61 "./iconv_open-zos.gperf"
+#line 61 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
-#line 51 "./iconv_open-zos.gperf"
+#line 51 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "IBM-864"},
-#line 32 "./iconv_open-zos.gperf"
+#line 32 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
-#line 66 "./iconv_open-zos.gperf"
+#line 66 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "IBM-5347"},
-#line 43 "./iconv_open-zos.gperf"
+#line 43 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, "00775"},
-#line 58 "./iconv_open-zos.gperf"
+#line 58 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "IBM-943"},
-#line 64 "./iconv_open-zos.gperf"
+#line 64 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "01131"},
-#line 49 "./iconv_open-zos.gperf"
+#line 49 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, "IBM-861"},
-#line 29 "./iconv_open-zos.gperf"
+#line 29 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, "ISO8859-1"},
-#line 74 "./iconv_open-zos.gperf"
+#line 74 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, "01350"},
{-1},
-#line 59 "./iconv_open-zos.gperf"
+#line 59 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, "IBM-1363"},
{-1}, {-1},
-#line 55 "./iconv_open-zos.gperf"
+#line 55 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, "TIS-620"},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 60 "./iconv_open-zos.gperf"
+#line 60 "../../lib/iconv_open-zos.gperf"
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, "IBM-1046"}
};
diff --git a/lib/iconv_open.c b/lib/iconv_open.c
index 02c240ee..2be02eff 100644
--- a/lib/iconv_open.c
+++ b/lib/iconv_open.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iconveh.h b/lib/iconveh.h
index 058f68ca..c6073734 100644
--- a/lib/iconveh.h
+++ b/lib/iconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion handler type.
- Copyright (C) 2001-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/idx.h b/lib/idx.h
index c3669dda..f9ce0acd 100644
--- a/lib/idx.h
+++ b/lib/idx.h
@@ -1,5 +1,5 @@
/* A type for indices and sizes.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 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
diff --git a/lib/intprops-internal.h b/lib/intprops-internal.h
index f6455f78..c8a87d2b 100644
--- a/lib/intprops-internal.h
+++ b/lib/intprops-internal.h
@@ -1,6 +1,6 @@
/* intprops-internal.h -- properties of integer types not visible to users
- Copyright (C) 2001-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -20,6 +20,11 @@
#include <limits.h>
+/* Pacify GCC 13.2 in some calls to _GL_EXPR_SIGNED. */
+#if defined __GNUC__ && 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
/* Return a value with the common real type of E and V and the value of V.
Do not evaluate E. */
#define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v))
diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h
index 853eca08..b9ab8a4b 100644
--- a/lib/inttypes.in.h
+++ b/lib/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2024 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Derek Price.
This file is part of gnulib.
@@ -46,6 +46,11 @@
#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
#define INTTYPES_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Include <stdint.h> or the gnulib replacement.
But avoid namespace pollution on glibc systems. */
#ifndef __GLIBC__
@@ -903,8 +908,21 @@ extern "C" {
#endif
#if @GNULIB_IMAXABS@
-# if !@HAVE_DECL_IMAXABS@
-extern intmax_t imaxabs (intmax_t);
+# if @REPLACE_IMAXABS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef imaxabs
+# define imaxabs rpl_imaxabs
+# endif
+_GL_FUNCDECL_RPL (imaxabs, intmax_t, (intmax_t x));
+_GL_CXXALIAS_RPL (imaxabs, intmax_t, (intmax_t x));
+# else
+# if !@HAVE_DECL_IMAXABS@
+_GL_FUNCDECL_SYS (imaxabs, intmax_t, (intmax_t x));
+# endif
+_GL_CXXALIAS_SYS (imaxabs, intmax_t, (intmax_t x));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (imaxabs);
# endif
#elif defined GNULIB_POSIXCHECK
# undef imaxabs
@@ -921,8 +939,21 @@ typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
# define GNULIB_defined_imaxdiv_t 1
# endif
# endif
-# if !@HAVE_DECL_IMAXDIV@
-extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
+# if @REPLACE_IMAXDIV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef imaxdiv
+# define imaxdiv rpl_imaxdiv
+# endif
+_GL_FUNCDECL_RPL (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+_GL_CXXALIAS_RPL (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+# else
+# if !@HAVE_DECL_IMAXDIV@
+_GL_FUNCDECL_SYS (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+# endif
+_GL_CXXALIAS_SYS (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (imaxdiv);
# endif
#elif defined GNULIB_POSIXCHECK
# undef imaxdiv
diff --git a/lib/isnan.c b/lib/isnan.c
index bd119f69..c7d84e8d 100644
--- a/lib/isnan.c
+++ b/lib/isnan.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -82,9 +82,10 @@ typedef union { DOUBLE value; unsigned int word[NWORDS]; } memory_double;
/* Most hosts nowadays use IEEE floating point, so they use IEC 60559
representations, have infinities and NaNs, and do not trap on
exceptions. Define IEEE_FLOATING_POINT if this host is one of the
- typical ones. The C11 macro __STDC_IEC_559__ is close to what is
+ typical ones. The C23 macro __STDC_IEC_60559_BFP__ macro (or its cousin,
+ the now-obsolescent C11 macro __STDC_IEC_559__) is close to what is
wanted here, but is not quite right because this file does not require
- all the features of C11 Annex F (and does not require C11 at all,
+ all the features of C23 Annex F (and works even with pre-C11 platforms,
for that matter). */
#define IEEE_FLOATING_POINT (FLT_RADIX == 2 && FLT_MANT_DIG == 24 \
diff --git a/lib/isnand-nolibm.h b/lib/isnand-nolibm.h
index aad13915..4d8b0e8f 100644
--- a/lib/isnand-nolibm.h
+++ b/lib/isnand-nolibm.h
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -14,6 +14,11 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
+/* This file uses HAVE_ISNAND_IN_LIBC. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if HAVE_ISNAND_IN_LIBC
/* Get declaration of isnan macro. */
# include <math.h>
diff --git a/lib/isnand.c b/lib/isnand.c
index 26501b5d..1287144a 100644
--- a/lib/isnand.c
+++ b/lib/isnand.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/isnanf-nolibm.h b/lib/isnanf-nolibm.h
index 4ce81d6c..520b8147 100644
--- a/lib/isnanf-nolibm.h
+++ b/lib/isnanf-nolibm.h
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -14,6 +14,11 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
+/* This file uses HAVE_ISNANF_IN_LIBC. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if HAVE_ISNANF_IN_LIBC
/* Get declaration of isnan macro or (older) isnanf function. */
# include <math.h>
diff --git a/lib/isnanf.c b/lib/isnanf.c
index e8b721ac..c5400117 100644
--- a/lib/isnanf.c
+++ b/lib/isnanf.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/isnanl-nolibm.h b/lib/isnanl-nolibm.h
index a4374e70..3ea82f7d 100644
--- a/lib/isnanl-nolibm.h
+++ b/lib/isnanl-nolibm.h
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -14,6 +14,11 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
+/* This file uses HAVE_ISNANL_IN_LIBC. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if HAVE_ISNANL_IN_LIBC
/* Get declaration of isnan macro or (older) isnanl function. */
# include <math.h>
diff --git a/lib/isnanl.c b/lib/isnanl.c
index 2f71d6c3..6d2ee67d 100644
--- a/lib/isnanl.c
+++ b/lib/isnanl.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iswblank.c b/lib/iswblank.c
index 2e601f8e..f699850a 100644
--- a/lib/iswblank.c
+++ b/lib/iswblank.c
@@ -1,5 +1,5 @@
/* Test wide character for being blank.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iswdigit.c b/lib/iswdigit.c
index 780263f0..57363ab8 100644
--- a/lib/iswdigit.c
+++ b/lib/iswdigit.c
@@ -1,5 +1,5 @@
/* Test wide character for being a digit.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/iswpunct.c b/lib/iswpunct.c
new file mode 100644
index 00000000..c7cb28b5
--- /dev/null
+++ b/lib/iswpunct.c
@@ -0,0 +1,33 @@
+/* Test wide character for being a punctuation or symbol character.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <wctype.h>
+
+#include <ctype.h>
+
+int
+iswpunct (wint_t wc)
+#undef iswpunct
+{
+#if defined __ANDROID__
+ if ((unsigned int) wc < 128)
+ return ispunct ((unsigned int) wc);
+#endif
+ return iswpunct (wc);
+}
diff --git a/lib/iswxdigit.c b/lib/iswxdigit.c
index f20b9b36..d32e3b0f 100644
--- a/lib/iswxdigit.c
+++ b/lib/iswxdigit.c
@@ -1,5 +1,5 @@
/* Test wide character for being a hexadecimal digit.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/itold.c b/lib/itold.c
index fe4a3842..e6fbcff4 100644
--- a/lib/itold.c
+++ b/lib/itold.c
@@ -1,5 +1,5 @@
/* Replacement for 'int' to 'long double' conversion routine.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/langinfo.in.h b/lib/langinfo.in.h
index 98aea6a8..febbd25f 100644
--- a/lib/langinfo.in.h
+++ b/lib/langinfo.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <langinfo.h>.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -34,6 +34,11 @@
#ifndef _@GUARD_PREFIX@_LANGINFO_H
#define _@GUARD_PREFIX@_LANGINFO_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if !@HAVE_LANGINFO_H@
@@ -208,7 +213,9 @@ _GL_FUNCDECL_SYS (nl_langinfo, char *, (nl_item item));
# endif
_GL_CXXALIAS_SYS (nl_langinfo, char *, (nl_item item));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (nl_langinfo);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef nl_langinfo
# if HAVE_RAW_DECL_NL_LANGINFO
diff --git a/lib/lc-charset-dispatch.c b/lib/lc-charset-dispatch.c
index 66d78fd3..e2f8b2f5 100644
--- a/lib/lc-charset-dispatch.c
+++ b/lib/lc-charset-dispatch.c
@@ -1,5 +1,5 @@
/* Dispatching based on the current locale's character encoding.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/lc-charset-dispatch.h b/lib/lc-charset-dispatch.h
index 3867c323..4c1cf5f1 100644
--- a/lib/lc-charset-dispatch.h
+++ b/lib/lc-charset-dispatch.h
@@ -1,5 +1,5 @@
/* Dispatching based on the current locale's character encoding.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/libunistring.sym b/lib/libunistring.sym
index 2db9adc9..2485d1b8 100644
--- a/lib/libunistring.sym
+++ b/lib/libunistring.sym
@@ -86,6 +86,9 @@ UC_PROPERTY_HYPHEN
UC_PROPERTY_IDEOGRAPHIC
UC_PROPERTY_IDS_BINARY_OPERATOR
UC_PROPERTY_IDS_TRINARY_OPERATOR
+UC_PROPERTY_IDS_UNARY_OPERATOR
+UC_PROPERTY_ID_COMPAT_MATH_CONTINUE
+UC_PROPERTY_ID_COMPAT_MATH_START
UC_PROPERTY_ID_CONTINUE
UC_PROPERTY_ID_START
UC_PROPERTY_IGNORABLE_CONTROL
@@ -111,6 +114,7 @@ UC_PROPERTY_PAIRED_PUNCTUATION
UC_PROPERTY_PARAGRAPH_SEPARATOR
UC_PROPERTY_PATTERN_SYNTAX
UC_PROPERTY_PATTERN_WHITE_SPACE
+UC_PROPERTY_PREPENDED_CONCATENATION_MARK
UC_PROPERTY_PRIVATE_USE
UC_PROPERTY_PUNCTUATION
UC_PROPERTY_QUOTATION_MARK
@@ -130,6 +134,7 @@ UC_PROPERTY_XID_CONTINUE
UC_PROPERTY_XID_START
UC_PROPERTY_ZERO_WIDTH
_UC_CATEGORY_NONE
+_libunistring_unicode_version
_libunistring_version
locale_charset
u16_asnprintf
@@ -176,6 +181,7 @@ u16_normalize
u16_normcmp
u16_normcoll
u16_normxfrm
+u16_pcpy
u16_possible_linebreaks
u16_possible_linebreaks_v2
u16_prev
@@ -274,6 +280,7 @@ u32_normalize
u32_normcmp
u32_normcoll
u32_normxfrm
+u32_pcpy
u32_possible_linebreaks
u32_possible_linebreaks_v2
u32_prev
@@ -373,6 +380,7 @@ u8_normalize
u8_normcmp
u8_normcoll
u8_normxfrm
+u8_pcpy
u8_possible_linebreaks
u8_possible_linebreaks_v2
u8_prev
@@ -459,6 +467,9 @@ uc_general_category_name
uc_general_category_or
uc_grapheme_breaks
uc_graphemeclusterbreak_property
+uc_indic_conjunct_break
+uc_indic_conjunct_break_byname
+uc_indic_conjunct_break_name
uc_is_alnum
uc_is_alpha
uc_is_bidi_category
@@ -523,11 +534,14 @@ uc_is_property_grapheme_extend
uc_is_property_grapheme_link
uc_is_property_hex_digit
uc_is_property_hyphen
+uc_is_property_id_compat_math_continue
+uc_is_property_id_compat_math_start
uc_is_property_id_continue
uc_is_property_id_start
uc_is_property_ideographic
uc_is_property_ids_binary_operator
uc_is_property_ids_trinary_operator
+uc_is_property_ids_unary_operator
uc_is_property_ignorable_control
uc_is_property_iso_control
uc_is_property_join_control
@@ -551,6 +565,7 @@ uc_is_property_paired_punctuation
uc_is_property_paragraph_separator
uc_is_property_pattern_syntax
uc_is_property_pattern_white_space
+uc_is_property_prepended_concatenation_mark
uc_is_property_private_use
uc_is_property_punctuation
uc_is_property_quotation_mark
diff --git a/lib/limits.in.h b/lib/limits.in.h
index b77bf75c..c65eb4c1 100644
--- a/lib/limits.in.h
+++ b/lib/limits.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <limits.h>.
- Copyright 2016-2022 Free Software Foundation, Inc.
+ Copyright 2016-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -99,7 +99,12 @@
# endif
#endif
-/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */
+/* Assume no multibyte character is longer than 16 bytes. */
+#ifndef MB_LEN_MAX
+# define MB_LEN_MAX 16
+#endif
+
+/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */
#if (! defined ULLONG_WIDTH \
&& (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \
@@ -117,13 +122,28 @@
# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
#endif
-/* Macros specified by C2x. */
+/* Macros specified by C23. */
-#if (! defined BOOL_WIDTH \
- && (defined _GNU_SOURCE \
- || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)))
-# define BOOL_MAX 1
-# define BOOL_WIDTH 1
+#if (defined _GNU_SOURCE \
+ || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))
+# if ! defined BOOL_WIDTH
+# define BOOL_WIDTH 1
+# define BOOL_MAX 1
+# elif ! defined BOOL_MAX
+# define BOOL_MAX 1
+# endif
+#endif
+
+/* Macro specified by POSIX. */
+
+/* The maximum ssize_t value. Although it might not be of ssize_t type
+ as it should be, it's too much trouble to fix this minor detail. */
+#ifndef SSIZE_MAX
+# ifdef _WIN64
+# define SSIZE_MAX LLONG_MAX
+# else
+# define SSIZE_MAX LONG_MAX
+# endif
#endif
#endif /* _@GUARD_PREFIX@_LIMITS_H */
diff --git a/lib/localcharset.c b/lib/localcharset.c
index 17a4a1ef..93c4baa4 100644
--- a/lib/localcharset.c
+++ b/lib/localcharset.c
@@ -1,6 +1,6 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -1054,7 +1054,7 @@ locale_charset (void)
}
}
if (0)
- done_table_lookup: ;
+ done_table_lookup: {}
else
# endif
{
diff --git a/lib/localcharset.h b/lib/localcharset.h
index 62efbf32..47214024 100644
--- a/lib/localcharset.h
+++ b/lib/localcharset.h
@@ -1,5 +1,5 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2009-2024 Free Software Foundation, Inc.
This file is part of the GNU CHARSET Library.
This file is free software: you can redistribute it and/or modify
@@ -104,10 +104,8 @@ extern const char * locale_charset (void);
GBK glibc aix osf solaris freebsd darwin cygwin windows dos
GB18030 glibc hpux solaris freebsd netbsd darwin
SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
- JOHAB glibc solaris windows
+ JOHAB solaris windows
TIS-620 glibc aix hpux osf solaris cygwin zos
- VISCII Y glibc
- TCVN5712-1 glibc
ARMSCII-8 glibc freebsd netbsd darwin
GEORGIAN-PS glibc cygwin
PT154 glibc netbsd cygwin
diff --git a/lib/locale.in.h b/lib/locale.in.h
index 4aef74d4..1b11a41c 100644
--- a/lib/locale.in.h
+++ b/lib/locale.in.h
@@ -1,5 +1,5 @@
/* A POSIX <locale.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -44,6 +44,11 @@
#ifndef _@GUARD_PREFIX@_LOCALE_H
#define _@GUARD_PREFIX@_LOCALE_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. */
#include <stddef.h>
@@ -211,7 +216,7 @@ _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
# include "setlocale_null.h"
#endif
-#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_NEWLOCALE@)
+#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME_UNSAFE@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_NEWLOCALE@)
# if @REPLACE_NEWLOCALE@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef newlocale
@@ -229,7 +234,7 @@ _GL_CXXALIAS_SYS (newlocale, locale_t,
(int category_mask, const char *name, locale_t base));
# endif
# endif
-# if @HAVE_NEWLOCALE@
+# if __GLIBC__ >= 2 && @HAVE_NEWLOCALE@
_GL_CXXALIASWARN (newlocale);
# endif
# if @HAVE_NEWLOCALE@ || @REPLACE_NEWLOCALE@
@@ -244,24 +249,24 @@ _GL_WARN_ON_USE (newlocale, "newlocale is not portable");
# endif
#endif
-#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_DUPLOCALE@)
-# if @REPLACE_DUPLOCALE@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef duplocale
-# define duplocale rpl_duplocale
-# define GNULIB_defined_duplocale 1
-# endif
+#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME_UNSAFE@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_DUPLOCALE@)
+# if @HAVE_DUPLOCALE@ /* locale_t may be undefined if !@HAVE_DUPLOCALE@. */
+# if @REPLACE_DUPLOCALE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef duplocale
+# define duplocale rpl_duplocale
+# define GNULIB_defined_duplocale 1
+# endif
_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
-# else
-# if @HAVE_DUPLOCALE@
+# else
_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
# endif
# endif
-# if @HAVE_DUPLOCALE@
+# if __GLIBC__ >= 2 && @HAVE_DUPLOCALE@
_GL_CXXALIASWARN (duplocale);
# endif
-# if @HAVE_DUPLOCALE@ || @REPLACE_DUPLOCALE@
+# if @HAVE_DUPLOCALE@
# ifndef HAVE_WORKING_DUPLOCALE
# define HAVE_WORKING_DUPLOCALE 1
# endif
@@ -274,7 +279,7 @@ _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
# endif
#endif
-#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_FREELOCALE@)
+#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME_UNSAFE@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_FREELOCALE@)
# if @REPLACE_FREELOCALE@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef freelocale
@@ -290,7 +295,7 @@ _GL_CXXALIAS_RPL (freelocale, void, (locale_t locale));
_GL_CXXALIAS_SYS_CAST (freelocale, void, (locale_t locale));
# endif
# endif
-# if @HAVE_FREELOCALE@
+# if __GLIBC__ >= 2 && @HAVE_FREELOCALE@
_GL_CXXALIASWARN (freelocale);
# endif
#elif defined GNULIB_POSIXCHECK
diff --git a/lib/localename-table.c b/lib/localename-table.c
index cb3a0907..ada72410 100644
--- a/lib/localename-table.c
+++ b/lib/localename-table.c
@@ -1,5 +1,5 @@
/* Table that maps a locale object to the names of the locale categories.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/localename-table.h b/lib/localename-table.h
index cfc297c1..eaa98fa5 100644
--- a/lib/localename-table.h
+++ b/lib/localename-table.h
@@ -1,5 +1,5 @@
/* Table that maps a locale object to the names of the locale categories.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/localename-unsafe.c b/lib/localename-unsafe.c
new file mode 100644
index 00000000..845ee92c
--- /dev/null
+++ b/lib/localename-unsafe.c
@@ -0,0 +1,3466 @@
+/* Determine name of the currently selected locale.
+ Copyright (C) 1995-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
+/* Native Windows code written by Tor Lillqvist <tml@iki.fi>. */
+/* Mac OS X code written by Bruno Haible <bruno@clisp.org>. */
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the locale == NULL tests below in duplocale() and freelocale(),
+ or xlclang reports -Wtautological-pointer-compare warnings for these tests.
+ */
+#define _GL_ARG_NONNULL(params)
+
+#include <config.h>
+
+/* Specification. */
+#include "localename.h"
+
+#include <limits.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <locale.h>
+#include <string.h>
+
+#include "setlocale_null.h"
+
+#if HAVE_GOOD_USELOCALE
+/* Mac OS X 10.5 defines the locale_t type in <xlocale.h>. */
+# if defined __APPLE__ && defined __MACH__
+# include <xlocale.h>
+# endif
+# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || (defined __linux__ && HAVE_LANGINFO_H) || defined __CYGWIN__
+# include <langinfo.h>
+# endif
+# if defined __sun
+# if HAVE_GETLOCALENAME_L
+/* Solaris >= 12. */
+extern char * getlocalename_l(int, locale_t);
+# elif HAVE_SOLARIS114_LOCALES
+# include <sys/localedef.h>
+# endif
+# endif
+# if HAVE_NAMELESS_LOCALES
+# include "localename-table.h"
+# endif
+# if defined __HAIKU__
+# include <dlfcn.h>
+# endif
+#endif
+
+#if HAVE_CFPREFERENCESCOPYAPPVALUE
+# include <CoreFoundation/CFString.h>
+# include <CoreFoundation/CFPreferences.h>
+#endif
+
+#if defined _WIN32 && !defined __CYGWIN__
+# define WINDOWS_NATIVE
+# include "glthread/lock.h"
+#endif
+
+#if LOCALENAME_ENHANCE_LOCALE_FUNCS
+# include "flexmember.h"
+# include "glthread/lock.h"
+# include "thread-optim.h"
+#endif
+
+#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# include <winnls.h>
+/* List of language codes, sorted by value:
+ 0x01 LANG_ARABIC
+ 0x02 LANG_BULGARIAN
+ 0x03 LANG_CATALAN
+ 0x04 LANG_CHINESE
+ 0x05 LANG_CZECH
+ 0x06 LANG_DANISH
+ 0x07 LANG_GERMAN
+ 0x08 LANG_GREEK
+ 0x09 LANG_ENGLISH
+ 0x0a LANG_SPANISH
+ 0x0b LANG_FINNISH
+ 0x0c LANG_FRENCH
+ 0x0d LANG_HEBREW
+ 0x0e LANG_HUNGARIAN
+ 0x0f LANG_ICELANDIC
+ 0x10 LANG_ITALIAN
+ 0x11 LANG_JAPANESE
+ 0x12 LANG_KOREAN
+ 0x13 LANG_DUTCH
+ 0x14 LANG_NORWEGIAN
+ 0x15 LANG_POLISH
+ 0x16 LANG_PORTUGUESE
+ 0x17 LANG_ROMANSH
+ 0x18 LANG_ROMANIAN
+ 0x19 LANG_RUSSIAN
+ 0x1a LANG_CROATIAN == LANG_SERBIAN
+ 0x1b LANG_SLOVAK
+ 0x1c LANG_ALBANIAN
+ 0x1d LANG_SWEDISH
+ 0x1e LANG_THAI
+ 0x1f LANG_TURKISH
+ 0x20 LANG_URDU
+ 0x21 LANG_INDONESIAN
+ 0x22 LANG_UKRAINIAN
+ 0x23 LANG_BELARUSIAN
+ 0x24 LANG_SLOVENIAN
+ 0x25 LANG_ESTONIAN
+ 0x26 LANG_LATVIAN
+ 0x27 LANG_LITHUANIAN
+ 0x28 LANG_TAJIK
+ 0x29 LANG_FARSI
+ 0x2a LANG_VIETNAMESE
+ 0x2b LANG_ARMENIAN
+ 0x2c LANG_AZERI
+ 0x2d LANG_BASQUE
+ 0x2e LANG_SORBIAN
+ 0x2f LANG_MACEDONIAN
+ 0x30 LANG_SUTU
+ 0x31 LANG_TSONGA
+ 0x32 LANG_TSWANA
+ 0x33 LANG_VENDA
+ 0x34 LANG_XHOSA
+ 0x35 LANG_ZULU
+ 0x36 LANG_AFRIKAANS
+ 0x37 LANG_GEORGIAN
+ 0x38 LANG_FAEROESE
+ 0x39 LANG_HINDI
+ 0x3a LANG_MALTESE
+ 0x3b LANG_SAMI
+ 0x3c LANG_GAELIC
+ 0x3d LANG_YIDDISH
+ 0x3e LANG_MALAY
+ 0x3f LANG_KAZAK
+ 0x40 LANG_KYRGYZ
+ 0x41 LANG_SWAHILI
+ 0x42 LANG_TURKMEN
+ 0x43 LANG_UZBEK
+ 0x44 LANG_TATAR
+ 0x45 LANG_BENGALI
+ 0x46 LANG_PUNJABI
+ 0x47 LANG_GUJARATI
+ 0x48 LANG_ORIYA
+ 0x49 LANG_TAMIL
+ 0x4a LANG_TELUGU
+ 0x4b LANG_KANNADA
+ 0x4c LANG_MALAYALAM
+ 0x4d LANG_ASSAMESE
+ 0x4e LANG_MARATHI
+ 0x4f LANG_SANSKRIT
+ 0x50 LANG_MONGOLIAN
+ 0x51 LANG_TIBETAN
+ 0x52 LANG_WELSH
+ 0x53 LANG_CAMBODIAN
+ 0x54 LANG_LAO
+ 0x55 LANG_BURMESE
+ 0x56 LANG_GALICIAN
+ 0x57 LANG_KONKANI
+ 0x58 LANG_MANIPURI
+ 0x59 LANG_SINDHI
+ 0x5a LANG_SYRIAC
+ 0x5b LANG_SINHALESE
+ 0x5c LANG_CHEROKEE
+ 0x5d LANG_INUKTITUT
+ 0x5e LANG_AMHARIC
+ 0x5f LANG_TAMAZIGHT
+ 0x60 LANG_KASHMIRI
+ 0x61 LANG_NEPALI
+ 0x62 LANG_FRISIAN
+ 0x63 LANG_PASHTO
+ 0x64 LANG_TAGALOG
+ 0x65 LANG_DIVEHI
+ 0x66 LANG_EDO
+ 0x67 LANG_FULFULDE
+ 0x68 LANG_HAUSA
+ 0x69 LANG_IBIBIO
+ 0x6a LANG_YORUBA
+ 0x6d LANG_BASHKIR
+ 0x6e LANG_LUXEMBOURGISH
+ 0x6f LANG_GREENLANDIC
+ 0x70 LANG_IGBO
+ 0x71 LANG_KANURI
+ 0x72 LANG_OROMO
+ 0x73 LANG_TIGRINYA
+ 0x74 LANG_GUARANI
+ 0x75 LANG_HAWAIIAN
+ 0x76 LANG_LATIN
+ 0x77 LANG_SOMALI
+ 0x78 LANG_YI
+ 0x79 LANG_PAPIAMENTU
+ 0x7a LANG_MAPUDUNGUN
+ 0x7c LANG_MOHAWK
+ 0x7e LANG_BRETON
+ 0x82 LANG_OCCITAN
+ 0x83 LANG_CORSICAN
+ 0x84 LANG_ALSATIAN
+ 0x85 LANG_YAKUT
+ 0x86 LANG_KICHE
+ 0x87 LANG_KINYARWANDA
+ 0x88 LANG_WOLOF
+ 0x8c LANG_DARI
+ 0x91 LANG_SCOTTISH_GAELIC
+*/
+/* Mingw headers don't have latest language and sublanguage codes. */
+# ifndef LANG_AFRIKAANS
+# define LANG_AFRIKAANS 0x36
+# endif
+# ifndef LANG_ALBANIAN
+# define LANG_ALBANIAN 0x1c
+# endif
+# ifndef LANG_ALSATIAN
+# define LANG_ALSATIAN 0x84
+# endif
+# ifndef LANG_AMHARIC
+# define LANG_AMHARIC 0x5e
+# endif
+# ifndef LANG_ARABIC
+# define LANG_ARABIC 0x01
+# endif
+# ifndef LANG_ARMENIAN
+# define LANG_ARMENIAN 0x2b
+# endif
+# ifndef LANG_ASSAMESE
+# define LANG_ASSAMESE 0x4d
+# endif
+# ifndef LANG_AZERI
+# define LANG_AZERI 0x2c
+# endif
+# ifndef LANG_BASHKIR
+# define LANG_BASHKIR 0x6d
+# endif
+# ifndef LANG_BASQUE
+# define LANG_BASQUE 0x2d
+# endif
+# ifndef LANG_BELARUSIAN
+# define LANG_BELARUSIAN 0x23
+# endif
+# ifndef LANG_BENGALI
+# define LANG_BENGALI 0x45
+# endif
+# ifndef LANG_BRETON
+# define LANG_BRETON 0x7e
+# endif
+# ifndef LANG_BURMESE
+# define LANG_BURMESE 0x55
+# endif
+# ifndef LANG_CAMBODIAN
+# define LANG_CAMBODIAN 0x53
+# endif
+# ifndef LANG_CATALAN
+# define LANG_CATALAN 0x03
+# endif
+# ifndef LANG_CHEROKEE
+# define LANG_CHEROKEE 0x5c
+# endif
+# ifndef LANG_CORSICAN
+# define LANG_CORSICAN 0x83
+# endif
+# ifndef LANG_DARI
+# define LANG_DARI 0x8c
+# endif
+# ifndef LANG_DIVEHI
+# define LANG_DIVEHI 0x65
+# endif
+# ifndef LANG_EDO
+# define LANG_EDO 0x66
+# endif
+# ifndef LANG_ESTONIAN
+# define LANG_ESTONIAN 0x25
+# endif
+# ifndef LANG_FAEROESE
+# define LANG_FAEROESE 0x38
+# endif
+# ifndef LANG_FARSI
+# define LANG_FARSI 0x29
+# endif
+# ifndef LANG_FRISIAN
+# define LANG_FRISIAN 0x62
+# endif
+# ifndef LANG_FULFULDE
+# define LANG_FULFULDE 0x67
+# endif
+# ifndef LANG_GAELIC
+# define LANG_GAELIC 0x3c
+# endif
+# ifndef LANG_GALICIAN
+# define LANG_GALICIAN 0x56
+# endif
+# ifndef LANG_GEORGIAN
+# define LANG_GEORGIAN 0x37
+# endif
+# ifndef LANG_GREENLANDIC
+# define LANG_GREENLANDIC 0x6f
+# endif
+# ifndef LANG_GUARANI
+# define LANG_GUARANI 0x74
+# endif
+# ifndef LANG_GUJARATI
+# define LANG_GUJARATI 0x47
+# endif
+# ifndef LANG_HAUSA
+# define LANG_HAUSA 0x68
+# endif
+# ifndef LANG_HAWAIIAN
+# define LANG_HAWAIIAN 0x75
+# endif
+# ifndef LANG_HEBREW
+# define LANG_HEBREW 0x0d
+# endif
+# ifndef LANG_HINDI
+# define LANG_HINDI 0x39
+# endif
+# ifndef LANG_IBIBIO
+# define LANG_IBIBIO 0x69
+# endif
+# ifndef LANG_IGBO
+# define LANG_IGBO 0x70
+# endif
+# ifndef LANG_INDONESIAN
+# define LANG_INDONESIAN 0x21
+# endif
+# ifndef LANG_INUKTITUT
+# define LANG_INUKTITUT 0x5d
+# endif
+# ifndef LANG_KANNADA
+# define LANG_KANNADA 0x4b
+# endif
+# ifndef LANG_KANURI
+# define LANG_KANURI 0x71
+# endif
+# ifndef LANG_KASHMIRI
+# define LANG_KASHMIRI 0x60
+# endif
+# ifndef LANG_KAZAK
+# define LANG_KAZAK 0x3f
+# endif
+# ifndef LANG_KICHE
+# define LANG_KICHE 0x86
+# endif
+# ifndef LANG_KINYARWANDA
+# define LANG_KINYARWANDA 0x87
+# endif
+# ifndef LANG_KONKANI
+# define LANG_KONKANI 0x57
+# endif
+# ifndef LANG_KYRGYZ
+# define LANG_KYRGYZ 0x40
+# endif
+# ifndef LANG_LAO
+# define LANG_LAO 0x54
+# endif
+# ifndef LANG_LATIN
+# define LANG_LATIN 0x76
+# endif
+# ifndef LANG_LATVIAN
+# define LANG_LATVIAN 0x26
+# endif
+# ifndef LANG_LITHUANIAN
+# define LANG_LITHUANIAN 0x27
+# endif
+# ifndef LANG_LUXEMBOURGISH
+# define LANG_LUXEMBOURGISH 0x6e
+# endif
+# ifndef LANG_MACEDONIAN
+# define LANG_MACEDONIAN 0x2f
+# endif
+# ifndef LANG_MALAY
+# define LANG_MALAY 0x3e
+# endif
+# ifndef LANG_MALAYALAM
+# define LANG_MALAYALAM 0x4c
+# endif
+# ifndef LANG_MALTESE
+# define LANG_MALTESE 0x3a
+# endif
+# ifndef LANG_MANIPURI
+# define LANG_MANIPURI 0x58
+# endif
+# ifndef LANG_MAORI
+# define LANG_MAORI 0x81
+# endif
+# ifndef LANG_MAPUDUNGUN
+# define LANG_MAPUDUNGUN 0x7a
+# endif
+# ifndef LANG_MARATHI
+# define LANG_MARATHI 0x4e
+# endif
+# ifndef LANG_MOHAWK
+# define LANG_MOHAWK 0x7c
+# endif
+# ifndef LANG_MONGOLIAN
+# define LANG_MONGOLIAN 0x50
+# endif
+# ifndef LANG_NEPALI
+# define LANG_NEPALI 0x61
+# endif
+# ifndef LANG_OCCITAN
+# define LANG_OCCITAN 0x82
+# endif
+# ifndef LANG_ORIYA
+# define LANG_ORIYA 0x48
+# endif
+# ifndef LANG_OROMO
+# define LANG_OROMO 0x72
+# endif
+# ifndef LANG_PAPIAMENTU
+# define LANG_PAPIAMENTU 0x79
+# endif
+# ifndef LANG_PASHTO
+# define LANG_PASHTO 0x63
+# endif
+# ifndef LANG_PUNJABI
+# define LANG_PUNJABI 0x46
+# endif
+# ifndef LANG_QUECHUA
+# define LANG_QUECHUA 0x6b
+# endif
+# ifndef LANG_ROMANSH
+# define LANG_ROMANSH 0x17
+# endif
+# ifndef LANG_SAMI
+# define LANG_SAMI 0x3b
+# endif
+# ifndef LANG_SANSKRIT
+# define LANG_SANSKRIT 0x4f
+# endif
+# ifndef LANG_SCOTTISH_GAELIC
+# define LANG_SCOTTISH_GAELIC 0x91
+# endif
+# ifndef LANG_SERBIAN
+# define LANG_SERBIAN 0x1a
+# endif
+# ifndef LANG_SINDHI
+# define LANG_SINDHI 0x59
+# endif
+# ifndef LANG_SINHALESE
+# define LANG_SINHALESE 0x5b
+# endif
+# ifndef LANG_SLOVAK
+# define LANG_SLOVAK 0x1b
+# endif
+# ifndef LANG_SOMALI
+# define LANG_SOMALI 0x77
+# endif
+# ifndef LANG_SORBIAN
+# define LANG_SORBIAN 0x2e
+# endif
+# ifndef LANG_SOTHO
+# define LANG_SOTHO 0x6c
+# endif
+# ifndef LANG_SUTU
+# define LANG_SUTU 0x30
+# endif
+# ifndef LANG_SWAHILI
+# define LANG_SWAHILI 0x41
+# endif
+# ifndef LANG_SYRIAC
+# define LANG_SYRIAC 0x5a
+# endif
+# ifndef LANG_TAGALOG
+# define LANG_TAGALOG 0x64
+# endif
+# ifndef LANG_TAJIK
+# define LANG_TAJIK 0x28
+# endif
+# ifndef LANG_TAMAZIGHT
+# define LANG_TAMAZIGHT 0x5f
+# endif
+# ifndef LANG_TAMIL
+# define LANG_TAMIL 0x49
+# endif
+# ifndef LANG_TATAR
+# define LANG_TATAR 0x44
+# endif
+# ifndef LANG_TELUGU
+# define LANG_TELUGU 0x4a
+# endif
+# ifndef LANG_THAI
+# define LANG_THAI 0x1e
+# endif
+# ifndef LANG_TIBETAN
+# define LANG_TIBETAN 0x51
+# endif
+# ifndef LANG_TIGRINYA
+# define LANG_TIGRINYA 0x73
+# endif
+# ifndef LANG_TSONGA
+# define LANG_TSONGA 0x31
+# endif
+# ifndef LANG_TSWANA
+# define LANG_TSWANA 0x32
+# endif
+# ifndef LANG_TURKMEN
+# define LANG_TURKMEN 0x42
+# endif
+# ifndef LANG_UIGHUR
+# define LANG_UIGHUR 0x80
+# endif
+# ifndef LANG_UKRAINIAN
+# define LANG_UKRAINIAN 0x22
+# endif
+# ifndef LANG_URDU
+# define LANG_URDU 0x20
+# endif
+# ifndef LANG_UZBEK
+# define LANG_UZBEK 0x43
+# endif
+# ifndef LANG_VENDA
+# define LANG_VENDA 0x33
+# endif
+# ifndef LANG_VIETNAMESE
+# define LANG_VIETNAMESE 0x2a
+# endif
+# ifndef LANG_WELSH
+# define LANG_WELSH 0x52
+# endif
+# ifndef LANG_WOLOF
+# define LANG_WOLOF 0x88
+# endif
+# ifndef LANG_XHOSA
+# define LANG_XHOSA 0x34
+# endif
+# ifndef LANG_YAKUT
+# define LANG_YAKUT 0x85
+# endif
+# ifndef LANG_YI
+# define LANG_YI 0x78
+# endif
+# ifndef LANG_YIDDISH
+# define LANG_YIDDISH 0x3d
+# endif
+# ifndef LANG_YORUBA
+# define LANG_YORUBA 0x6a
+# endif
+# ifndef LANG_ZULU
+# define LANG_ZULU 0x35
+# endif
+# ifndef SUBLANG_AFRIKAANS_SOUTH_AFRICA
+# define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_ALBANIAN_ALBANIA
+# define SUBLANG_ALBANIAN_ALBANIA 0x01
+# endif
+# ifndef SUBLANG_ALSATIAN_FRANCE
+# define SUBLANG_ALSATIAN_FRANCE 0x01
+# endif
+# ifndef SUBLANG_AMHARIC_ETHIOPIA
+# define SUBLANG_AMHARIC_ETHIOPIA 0x01
+# endif
+# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
+# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
+# endif
+# ifndef SUBLANG_ARABIC_IRAQ
+# define SUBLANG_ARABIC_IRAQ 0x02
+# endif
+# ifndef SUBLANG_ARABIC_EGYPT
+# define SUBLANG_ARABIC_EGYPT 0x03
+# endif
+# ifndef SUBLANG_ARABIC_LIBYA
+# define SUBLANG_ARABIC_LIBYA 0x04
+# endif
+# ifndef SUBLANG_ARABIC_ALGERIA
+# define SUBLANG_ARABIC_ALGERIA 0x05
+# endif
+# ifndef SUBLANG_ARABIC_MOROCCO
+# define SUBLANG_ARABIC_MOROCCO 0x06
+# endif
+# ifndef SUBLANG_ARABIC_TUNISIA
+# define SUBLANG_ARABIC_TUNISIA 0x07
+# endif
+# ifndef SUBLANG_ARABIC_OMAN
+# define SUBLANG_ARABIC_OMAN 0x08
+# endif
+# ifndef SUBLANG_ARABIC_YEMEN
+# define SUBLANG_ARABIC_YEMEN 0x09
+# endif
+# ifndef SUBLANG_ARABIC_SYRIA
+# define SUBLANG_ARABIC_SYRIA 0x0a
+# endif
+# ifndef SUBLANG_ARABIC_JORDAN
+# define SUBLANG_ARABIC_JORDAN 0x0b
+# endif
+# ifndef SUBLANG_ARABIC_LEBANON
+# define SUBLANG_ARABIC_LEBANON 0x0c
+# endif
+# ifndef SUBLANG_ARABIC_KUWAIT
+# define SUBLANG_ARABIC_KUWAIT 0x0d
+# endif
+# ifndef SUBLANG_ARABIC_UAE
+# define SUBLANG_ARABIC_UAE 0x0e
+# endif
+# ifndef SUBLANG_ARABIC_BAHRAIN
+# define SUBLANG_ARABIC_BAHRAIN 0x0f
+# endif
+# ifndef SUBLANG_ARABIC_QATAR
+# define SUBLANG_ARABIC_QATAR 0x10
+# endif
+# ifndef SUBLANG_ARMENIAN_ARMENIA
+# define SUBLANG_ARMENIAN_ARMENIA 0x01
+# endif
+# ifndef SUBLANG_ASSAMESE_INDIA
+# define SUBLANG_ASSAMESE_INDIA 0x01
+# endif
+# ifndef SUBLANG_AZERI_LATIN
+# define SUBLANG_AZERI_LATIN 0x01
+# endif
+# ifndef SUBLANG_AZERI_CYRILLIC
+# define SUBLANG_AZERI_CYRILLIC 0x02
+# endif
+# ifndef SUBLANG_BASHKIR_RUSSIA
+# define SUBLANG_BASHKIR_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_BASQUE_BASQUE
+# define SUBLANG_BASQUE_BASQUE 0x01
+# endif
+# ifndef SUBLANG_BELARUSIAN_BELARUS
+# define SUBLANG_BELARUSIAN_BELARUS 0x01
+# endif
+# ifndef SUBLANG_BENGALI_INDIA
+# define SUBLANG_BENGALI_INDIA 0x01
+# endif
+# ifndef SUBLANG_BENGALI_BANGLADESH
+# define SUBLANG_BENGALI_BANGLADESH 0x02
+# endif
+# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN
+# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05
+# endif
+# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC
+# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08
+# endif
+# ifndef SUBLANG_BRETON_FRANCE
+# define SUBLANG_BRETON_FRANCE 0x01
+# endif
+# ifndef SUBLANG_BULGARIAN_BULGARIA
+# define SUBLANG_BULGARIAN_BULGARIA 0x01
+# endif
+# ifndef SUBLANG_CAMBODIAN_CAMBODIA
+# define SUBLANG_CAMBODIAN_CAMBODIA 0x01
+# endif
+# ifndef SUBLANG_CATALAN_SPAIN
+# define SUBLANG_CATALAN_SPAIN 0x01
+# endif
+# ifndef SUBLANG_CORSICAN_FRANCE
+# define SUBLANG_CORSICAN_FRANCE 0x01
+# endif
+# ifndef SUBLANG_CROATIAN_CROATIA
+# define SUBLANG_CROATIAN_CROATIA 0x01
+# endif
+# ifndef SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN
+# define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04
+# endif
+# ifndef SUBLANG_CHINESE_MACAU
+# define SUBLANG_CHINESE_MACAU 0x05
+# endif
+# ifndef SUBLANG_CZECH_CZECH_REPUBLIC
+# define SUBLANG_CZECH_CZECH_REPUBLIC 0x01
+# endif
+# ifndef SUBLANG_DANISH_DENMARK
+# define SUBLANG_DANISH_DENMARK 0x01
+# endif
+# ifndef SUBLANG_DARI_AFGHANISTAN
+# define SUBLANG_DARI_AFGHANISTAN 0x01
+# endif
+# ifndef SUBLANG_DIVEHI_MALDIVES
+# define SUBLANG_DIVEHI_MALDIVES 0x01
+# endif
+# ifndef SUBLANG_DUTCH_SURINAM
+# define SUBLANG_DUTCH_SURINAM 0x03
+# endif
+# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
+# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
+# endif
+# ifndef SUBLANG_ENGLISH_JAMAICA
+# define SUBLANG_ENGLISH_JAMAICA 0x08
+# endif
+# ifndef SUBLANG_ENGLISH_CARIBBEAN
+# define SUBLANG_ENGLISH_CARIBBEAN 0x09
+# endif
+# ifndef SUBLANG_ENGLISH_BELIZE
+# define SUBLANG_ENGLISH_BELIZE 0x0a
+# endif
+# ifndef SUBLANG_ENGLISH_TRINIDAD
+# define SUBLANG_ENGLISH_TRINIDAD 0x0b
+# endif
+# ifndef SUBLANG_ENGLISH_ZIMBABWE
+# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
+# endif
+# ifndef SUBLANG_ENGLISH_PHILIPPINES
+# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
+# endif
+# ifndef SUBLANG_ENGLISH_INDONESIA
+# define SUBLANG_ENGLISH_INDONESIA 0x0e
+# endif
+# ifndef SUBLANG_ENGLISH_HONGKONG
+# define SUBLANG_ENGLISH_HONGKONG 0x0f
+# endif
+# ifndef SUBLANG_ENGLISH_INDIA
+# define SUBLANG_ENGLISH_INDIA 0x10
+# endif
+# ifndef SUBLANG_ENGLISH_MALAYSIA
+# define SUBLANG_ENGLISH_MALAYSIA 0x11
+# endif
+# ifndef SUBLANG_ENGLISH_SINGAPORE
+# define SUBLANG_ENGLISH_SINGAPORE 0x12
+# endif
+# ifndef SUBLANG_ESTONIAN_ESTONIA
+# define SUBLANG_ESTONIAN_ESTONIA 0x01
+# endif
+# ifndef SUBLANG_FAEROESE_FAROE_ISLANDS
+# define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01
+# endif
+# ifndef SUBLANG_FARSI_IRAN
+# define SUBLANG_FARSI_IRAN 0x01
+# endif
+# ifndef SUBLANG_FINNISH_FINLAND
+# define SUBLANG_FINNISH_FINLAND 0x01
+# endif
+# ifndef SUBLANG_FRENCH_LUXEMBOURG
+# define SUBLANG_FRENCH_LUXEMBOURG 0x05
+# endif
+# ifndef SUBLANG_FRENCH_MONACO
+# define SUBLANG_FRENCH_MONACO 0x06
+# endif
+# ifndef SUBLANG_FRENCH_WESTINDIES
+# define SUBLANG_FRENCH_WESTINDIES 0x07
+# endif
+# ifndef SUBLANG_FRENCH_REUNION
+# define SUBLANG_FRENCH_REUNION 0x08
+# endif
+# ifndef SUBLANG_FRENCH_CONGO
+# define SUBLANG_FRENCH_CONGO 0x09
+# endif
+# ifndef SUBLANG_FRENCH_SENEGAL
+# define SUBLANG_FRENCH_SENEGAL 0x0a
+# endif
+# ifndef SUBLANG_FRENCH_CAMEROON
+# define SUBLANG_FRENCH_CAMEROON 0x0b
+# endif
+# ifndef SUBLANG_FRENCH_COTEDIVOIRE
+# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
+# endif
+# ifndef SUBLANG_FRENCH_MALI
+# define SUBLANG_FRENCH_MALI 0x0d
+# endif
+# ifndef SUBLANG_FRENCH_MOROCCO
+# define SUBLANG_FRENCH_MOROCCO 0x0e
+# endif
+# ifndef SUBLANG_FRENCH_HAITI
+# define SUBLANG_FRENCH_HAITI 0x0f
+# endif
+# ifndef SUBLANG_FRISIAN_NETHERLANDS
+# define SUBLANG_FRISIAN_NETHERLANDS 0x01
+# endif
+# ifndef SUBLANG_GALICIAN_SPAIN
+# define SUBLANG_GALICIAN_SPAIN 0x01
+# endif
+# ifndef SUBLANG_GEORGIAN_GEORGIA
+# define SUBLANG_GEORGIAN_GEORGIA 0x01
+# endif
+# ifndef SUBLANG_GERMAN_LUXEMBOURG
+# define SUBLANG_GERMAN_LUXEMBOURG 0x04
+# endif
+# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
+# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
+# endif
+# ifndef SUBLANG_GREEK_GREECE
+# define SUBLANG_GREEK_GREECE 0x01
+# endif
+# ifndef SUBLANG_GREENLANDIC_GREENLAND
+# define SUBLANG_GREENLANDIC_GREENLAND 0x01
+# endif
+# ifndef SUBLANG_GUJARATI_INDIA
+# define SUBLANG_GUJARATI_INDIA 0x01
+# endif
+# ifndef SUBLANG_HAUSA_NIGERIA_LATIN
+# define SUBLANG_HAUSA_NIGERIA_LATIN 0x01
+# endif
+# ifndef SUBLANG_HEBREW_ISRAEL
+# define SUBLANG_HEBREW_ISRAEL 0x01
+# endif
+# ifndef SUBLANG_HINDI_INDIA
+# define SUBLANG_HINDI_INDIA 0x01
+# endif
+# ifndef SUBLANG_HUNGARIAN_HUNGARY
+# define SUBLANG_HUNGARIAN_HUNGARY 0x01
+# endif
+# ifndef SUBLANG_ICELANDIC_ICELAND
+# define SUBLANG_ICELANDIC_ICELAND 0x01
+# endif
+# ifndef SUBLANG_IGBO_NIGERIA
+# define SUBLANG_IGBO_NIGERIA 0x01
+# endif
+# ifndef SUBLANG_INDONESIAN_INDONESIA
+# define SUBLANG_INDONESIAN_INDONESIA 0x01
+# endif
+# ifndef SUBLANG_INUKTITUT_CANADA
+# define SUBLANG_INUKTITUT_CANADA 0x01
+# endif
+# undef SUBLANG_INUKTITUT_CANADA_LATIN
+# define SUBLANG_INUKTITUT_CANADA_LATIN 0x02
+# undef SUBLANG_IRISH_IRELAND
+# define SUBLANG_IRISH_IRELAND 0x02
+# ifndef SUBLANG_JAPANESE_JAPAN
+# define SUBLANG_JAPANESE_JAPAN 0x01
+# endif
+# ifndef SUBLANG_KANNADA_INDIA
+# define SUBLANG_KANNADA_INDIA 0x01
+# endif
+# ifndef SUBLANG_KASHMIRI_INDIA
+# define SUBLANG_KASHMIRI_INDIA 0x02
+# endif
+# ifndef SUBLANG_KAZAK_KAZAKHSTAN
+# define SUBLANG_KAZAK_KAZAKHSTAN 0x01
+# endif
+# ifndef SUBLANG_KICHE_GUATEMALA
+# define SUBLANG_KICHE_GUATEMALA 0x01
+# endif
+# ifndef SUBLANG_KINYARWANDA_RWANDA
+# define SUBLANG_KINYARWANDA_RWANDA 0x01
+# endif
+# ifndef SUBLANG_KONKANI_INDIA
+# define SUBLANG_KONKANI_INDIA 0x01
+# endif
+# ifndef SUBLANG_KYRGYZ_KYRGYZSTAN
+# define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01
+# endif
+# ifndef SUBLANG_LAO_LAOS
+# define SUBLANG_LAO_LAOS 0x01
+# endif
+# ifndef SUBLANG_LATVIAN_LATVIA
+# define SUBLANG_LATVIAN_LATVIA 0x01
+# endif
+# ifndef SUBLANG_LITHUANIAN_LITHUANIA
+# define SUBLANG_LITHUANIAN_LITHUANIA 0x01
+# endif
+# undef SUBLANG_LOWER_SORBIAN_GERMANY
+# define SUBLANG_LOWER_SORBIAN_GERMANY 0x02
+# ifndef SUBLANG_LUXEMBOURGISH_LUXEMBOURG
+# define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01
+# endif
+# ifndef SUBLANG_MACEDONIAN_MACEDONIA
+# define SUBLANG_MACEDONIAN_MACEDONIA 0x01
+# endif
+# ifndef SUBLANG_MALAY_MALAYSIA
+# define SUBLANG_MALAY_MALAYSIA 0x01
+# endif
+# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
+# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
+# endif
+# ifndef SUBLANG_MALAYALAM_INDIA
+# define SUBLANG_MALAYALAM_INDIA 0x01
+# endif
+# ifndef SUBLANG_MALTESE_MALTA
+# define SUBLANG_MALTESE_MALTA 0x01
+# endif
+# ifndef SUBLANG_MAORI_NEW_ZEALAND
+# define SUBLANG_MAORI_NEW_ZEALAND 0x01
+# endif
+# ifndef SUBLANG_MAPUDUNGUN_CHILE
+# define SUBLANG_MAPUDUNGUN_CHILE 0x01
+# endif
+# ifndef SUBLANG_MARATHI_INDIA
+# define SUBLANG_MARATHI_INDIA 0x01
+# endif
+# ifndef SUBLANG_MOHAWK_CANADA
+# define SUBLANG_MOHAWK_CANADA 0x01
+# endif
+# ifndef SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA
+# define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01
+# endif
+# ifndef SUBLANG_MONGOLIAN_PRC
+# define SUBLANG_MONGOLIAN_PRC 0x02
+# endif
+# ifndef SUBLANG_NEPALI_NEPAL
+# define SUBLANG_NEPALI_NEPAL 0x01
+# endif
+# ifndef SUBLANG_NEPALI_INDIA
+# define SUBLANG_NEPALI_INDIA 0x02
+# endif
+# ifndef SUBLANG_OCCITAN_FRANCE
+# define SUBLANG_OCCITAN_FRANCE 0x01
+# endif
+# ifndef SUBLANG_ORIYA_INDIA
+# define SUBLANG_ORIYA_INDIA 0x01
+# endif
+# ifndef SUBLANG_PASHTO_AFGHANISTAN
+# define SUBLANG_PASHTO_AFGHANISTAN 0x01
+# endif
+# ifndef SUBLANG_POLISH_POLAND
+# define SUBLANG_POLISH_POLAND 0x01
+# endif
+# ifndef SUBLANG_PUNJABI_INDIA
+# define SUBLANG_PUNJABI_INDIA 0x01
+# endif
+# ifndef SUBLANG_PUNJABI_PAKISTAN
+# define SUBLANG_PUNJABI_PAKISTAN 0x02
+# endif
+# ifndef SUBLANG_QUECHUA_BOLIVIA
+# define SUBLANG_QUECHUA_BOLIVIA 0x01
+# endif
+# ifndef SUBLANG_QUECHUA_ECUADOR
+# define SUBLANG_QUECHUA_ECUADOR 0x02
+# endif
+# ifndef SUBLANG_QUECHUA_PERU
+# define SUBLANG_QUECHUA_PERU 0x03
+# endif
+# ifndef SUBLANG_ROMANIAN_ROMANIA
+# define SUBLANG_ROMANIAN_ROMANIA 0x01
+# endif
+# ifndef SUBLANG_ROMANIAN_MOLDOVA
+# define SUBLANG_ROMANIAN_MOLDOVA 0x02
+# endif
+# ifndef SUBLANG_ROMANSH_SWITZERLAND
+# define SUBLANG_ROMANSH_SWITZERLAND 0x01
+# endif
+# ifndef SUBLANG_RUSSIAN_RUSSIA
+# define SUBLANG_RUSSIAN_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_RUSSIAN_MOLDAVIA
+# define SUBLANG_RUSSIAN_MOLDAVIA 0x02
+# endif
+# ifndef SUBLANG_SAMI_NORTHERN_NORWAY
+# define SUBLANG_SAMI_NORTHERN_NORWAY 0x01
+# endif
+# ifndef SUBLANG_SAMI_NORTHERN_SWEDEN
+# define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02
+# endif
+# ifndef SUBLANG_SAMI_NORTHERN_FINLAND
+# define SUBLANG_SAMI_NORTHERN_FINLAND 0x03
+# endif
+# ifndef SUBLANG_SAMI_LULE_NORWAY
+# define SUBLANG_SAMI_LULE_NORWAY 0x04
+# endif
+# ifndef SUBLANG_SAMI_LULE_SWEDEN
+# define SUBLANG_SAMI_LULE_SWEDEN 0x05
+# endif
+# ifndef SUBLANG_SAMI_SOUTHERN_NORWAY
+# define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06
+# endif
+# ifndef SUBLANG_SAMI_SOUTHERN_SWEDEN
+# define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07
+# endif
+# undef SUBLANG_SAMI_SKOLT_FINLAND
+# define SUBLANG_SAMI_SKOLT_FINLAND 0x08
+# undef SUBLANG_SAMI_INARI_FINLAND
+# define SUBLANG_SAMI_INARI_FINLAND 0x09
+# ifndef SUBLANG_SANSKRIT_INDIA
+# define SUBLANG_SANSKRIT_INDIA 0x01
+# endif
+# ifndef SUBLANG_SERBIAN_LATIN
+# define SUBLANG_SERBIAN_LATIN 0x02
+# endif
+# ifndef SUBLANG_SERBIAN_CYRILLIC
+# define SUBLANG_SERBIAN_CYRILLIC 0x03
+# endif
+# ifndef SUBLANG_SINDHI_INDIA
+# define SUBLANG_SINDHI_INDIA 0x01
+# endif
+# undef SUBLANG_SINDHI_PAKISTAN
+# define SUBLANG_SINDHI_PAKISTAN 0x02
+# ifndef SUBLANG_SINDHI_AFGHANISTAN
+# define SUBLANG_SINDHI_AFGHANISTAN 0x02
+# endif
+# ifndef SUBLANG_SINHALESE_SRI_LANKA
+# define SUBLANG_SINHALESE_SRI_LANKA 0x01
+# endif
+# ifndef SUBLANG_SLOVAK_SLOVAKIA
+# define SUBLANG_SLOVAK_SLOVAKIA 0x01
+# endif
+# ifndef SUBLANG_SLOVENIAN_SLOVENIA
+# define SUBLANG_SLOVENIAN_SLOVENIA 0x01
+# endif
+# ifndef SUBLANG_SOTHO_SOUTH_AFRICA
+# define SUBLANG_SOTHO_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_SPANISH_GUATEMALA
+# define SUBLANG_SPANISH_GUATEMALA 0x04
+# endif
+# ifndef SUBLANG_SPANISH_COSTA_RICA
+# define SUBLANG_SPANISH_COSTA_RICA 0x05
+# endif
+# ifndef SUBLANG_SPANISH_PANAMA
+# define SUBLANG_SPANISH_PANAMA 0x06
+# endif
+# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
+# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
+# endif
+# ifndef SUBLANG_SPANISH_VENEZUELA
+# define SUBLANG_SPANISH_VENEZUELA 0x08
+# endif
+# ifndef SUBLANG_SPANISH_COLOMBIA
+# define SUBLANG_SPANISH_COLOMBIA 0x09
+# endif
+# ifndef SUBLANG_SPANISH_PERU
+# define SUBLANG_SPANISH_PERU 0x0a
+# endif
+# ifndef SUBLANG_SPANISH_ARGENTINA
+# define SUBLANG_SPANISH_ARGENTINA 0x0b
+# endif
+# ifndef SUBLANG_SPANISH_ECUADOR
+# define SUBLANG_SPANISH_ECUADOR 0x0c
+# endif
+# ifndef SUBLANG_SPANISH_CHILE
+# define SUBLANG_SPANISH_CHILE 0x0d
+# endif
+# ifndef SUBLANG_SPANISH_URUGUAY
+# define SUBLANG_SPANISH_URUGUAY 0x0e
+# endif
+# ifndef SUBLANG_SPANISH_PARAGUAY
+# define SUBLANG_SPANISH_PARAGUAY 0x0f
+# endif
+# ifndef SUBLANG_SPANISH_BOLIVIA
+# define SUBLANG_SPANISH_BOLIVIA 0x10
+# endif
+# ifndef SUBLANG_SPANISH_EL_SALVADOR
+# define SUBLANG_SPANISH_EL_SALVADOR 0x11
+# endif
+# ifndef SUBLANG_SPANISH_HONDURAS
+# define SUBLANG_SPANISH_HONDURAS 0x12
+# endif
+# ifndef SUBLANG_SPANISH_NICARAGUA
+# define SUBLANG_SPANISH_NICARAGUA 0x13
+# endif
+# ifndef SUBLANG_SPANISH_PUERTO_RICO
+# define SUBLANG_SPANISH_PUERTO_RICO 0x14
+# endif
+# ifndef SUBLANG_SPANISH_US
+# define SUBLANG_SPANISH_US 0x15
+# endif
+# ifndef SUBLANG_SWAHILI_KENYA
+# define SUBLANG_SWAHILI_KENYA 0x01
+# endif
+# ifndef SUBLANG_SWEDISH_SWEDEN
+# define SUBLANG_SWEDISH_SWEDEN 0x01
+# endif
+# ifndef SUBLANG_SWEDISH_FINLAND
+# define SUBLANG_SWEDISH_FINLAND 0x02
+# endif
+# ifndef SUBLANG_SYRIAC_SYRIA
+# define SUBLANG_SYRIAC_SYRIA 0x01
+# endif
+# ifndef SUBLANG_TAGALOG_PHILIPPINES
+# define SUBLANG_TAGALOG_PHILIPPINES 0x01
+# endif
+# ifndef SUBLANG_TAJIK_TAJIKISTAN
+# define SUBLANG_TAJIK_TAJIKISTAN 0x01
+# endif
+# ifndef SUBLANG_TAMAZIGHT_ARABIC
+# define SUBLANG_TAMAZIGHT_ARABIC 0x01
+# endif
+# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN
+# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02
+# endif
+# ifndef SUBLANG_TAMIL_INDIA
+# define SUBLANG_TAMIL_INDIA 0x01
+# endif
+# ifndef SUBLANG_TATAR_RUSSIA
+# define SUBLANG_TATAR_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_TELUGU_INDIA
+# define SUBLANG_TELUGU_INDIA 0x01
+# endif
+# ifndef SUBLANG_THAI_THAILAND
+# define SUBLANG_THAI_THAILAND 0x01
+# endif
+# ifndef SUBLANG_TIBETAN_PRC
+# define SUBLANG_TIBETAN_PRC 0x01
+# endif
+# undef SUBLANG_TIBETAN_BHUTAN
+# define SUBLANG_TIBETAN_BHUTAN 0x02
+# ifndef SUBLANG_TIGRINYA_ETHIOPIA
+# define SUBLANG_TIGRINYA_ETHIOPIA 0x01
+# endif
+# ifndef SUBLANG_TIGRINYA_ERITREA
+# define SUBLANG_TIGRINYA_ERITREA 0x02
+# endif
+# ifndef SUBLANG_TSWANA_SOUTH_AFRICA
+# define SUBLANG_TSWANA_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_TURKISH_TURKEY
+# define SUBLANG_TURKISH_TURKEY 0x01
+# endif
+# ifndef SUBLANG_TURKMEN_TURKMENISTAN
+# define SUBLANG_TURKMEN_TURKMENISTAN 0x01
+# endif
+# ifndef SUBLANG_UIGHUR_PRC
+# define SUBLANG_UIGHUR_PRC 0x01
+# endif
+# ifndef SUBLANG_UKRAINIAN_UKRAINE
+# define SUBLANG_UKRAINIAN_UKRAINE 0x01
+# endif
+# ifndef SUBLANG_UPPER_SORBIAN_GERMANY
+# define SUBLANG_UPPER_SORBIAN_GERMANY 0x01
+# endif
+# ifndef SUBLANG_URDU_PAKISTAN
+# define SUBLANG_URDU_PAKISTAN 0x01
+# endif
+# ifndef SUBLANG_URDU_INDIA
+# define SUBLANG_URDU_INDIA 0x02
+# endif
+# ifndef SUBLANG_UZBEK_LATIN
+# define SUBLANG_UZBEK_LATIN 0x01
+# endif
+# ifndef SUBLANG_UZBEK_CYRILLIC
+# define SUBLANG_UZBEK_CYRILLIC 0x02
+# endif
+# ifndef SUBLANG_VIETNAMESE_VIETNAM
+# define SUBLANG_VIETNAMESE_VIETNAM 0x01
+# endif
+# ifndef SUBLANG_WELSH_UNITED_KINGDOM
+# define SUBLANG_WELSH_UNITED_KINGDOM 0x01
+# endif
+# ifndef SUBLANG_WOLOF_SENEGAL
+# define SUBLANG_WOLOF_SENEGAL 0x01
+# endif
+# ifndef SUBLANG_XHOSA_SOUTH_AFRICA
+# define SUBLANG_XHOSA_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_YAKUT_RUSSIA
+# define SUBLANG_YAKUT_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_YI_PRC
+# define SUBLANG_YI_PRC 0x01
+# endif
+# ifndef SUBLANG_YORUBA_NIGERIA
+# define SUBLANG_YORUBA_NIGERIA 0x01
+# endif
+# ifndef SUBLANG_ZULU_SOUTH_AFRICA
+# define SUBLANG_ZULU_SOUTH_AFRICA 0x01
+# endif
+/* GetLocaleInfoA operations. */
+# ifndef LOCALE_SNAME
+# define LOCALE_SNAME 0x5c
+# endif
+# ifndef LOCALE_NAME_MAX_LENGTH
+# define LOCALE_NAME_MAX_LENGTH 85
+# endif
+/* Don't assume that UNICODE is not defined. */
+# undef GetLocaleInfo
+# define GetLocaleInfo GetLocaleInfoA
+# undef EnumSystemLocales
+# define EnumSystemLocales EnumSystemLocalesA
+#endif
+
+/* We want to use the system's setlocale() function here, not the gnulib
+ override. */
+#undef setlocale
+
+
+#if HAVE_CFPREFERENCESCOPYAPPVALUE
+/* Mac OS X 10.4 or newer */
+
+/* Canonicalize a Mac OS X locale name to a Unix locale name.
+ NAME is a sufficiently large buffer.
+ On input, it contains the Mac OS X locale name.
+ On output, it contains the Unix locale name. */
+# if !defined IN_LIBINTL
+static
+# endif
+void
+gl_locale_name_canonicalize (char *name)
+{
+ /* This conversion is based on a posting by
+ Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08,
+ https://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
+
+ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
+ ISO 3166) names. Prior to Mac OS X 10.3, there is no API for doing this.
+ Therefore we do it ourselves, using a table based on the results of the
+ Mac OS X 10.3.8 function
+ CFLocaleCreateCanonicalLocaleIdentifierFromString(). */
+ typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
+ legacy_entry;
+ static const legacy_entry legacy_table[] = {
+ { "Afrikaans", "af" },
+ { "Albanian", "sq" },
+ { "Amharic", "am" },
+ { "Arabic", "ar" },
+ { "Armenian", "hy" },
+ { "Assamese", "as" },
+ { "Aymara", "ay" },
+ { "Azerbaijani", "az" },
+ { "Basque", "eu" },
+ { "Belarusian", "be" },
+ { "Belorussian", "be" },
+ { "Bengali", "bn" },
+ { "Brazilian Portugese", "pt_BR" },
+ { "Brazilian Portuguese", "pt_BR" },
+ { "Breton", "br" },
+ { "Bulgarian", "bg" },
+ { "Burmese", "my" },
+ { "Byelorussian", "be" },
+ { "Catalan", "ca" },
+ { "Chewa", "ny" },
+ { "Chichewa", "ny" },
+ { "Chinese", "zh" },
+ { "Chinese, Simplified", "zh_CN" },
+ { "Chinese, Traditional", "zh_TW" },
+ { "Chinese, Tradtional", "zh_TW" },
+ { "Croatian", "hr" },
+ { "Czech", "cs" },
+ { "Danish", "da" },
+ { "Dutch", "nl" },
+ { "Dzongkha", "dz" },
+ { "English", "en" },
+ { "Esperanto", "eo" },
+ { "Estonian", "et" },
+ { "Faroese", "fo" },
+ { "Farsi", "fa" },
+ { "Finnish", "fi" },
+ { "Flemish", "nl_BE" },
+ { "French", "fr" },
+ { "Galician", "gl" },
+ { "Gallegan", "gl" },
+ { "Georgian", "ka" },
+ { "German", "de" },
+ { "Greek", "el" },
+ { "Greenlandic", "kl" },
+ { "Guarani", "gn" },
+ { "Gujarati", "gu" },
+ { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */
+ { "Hebrew", "he" },
+ { "Hindi", "hi" },
+ { "Hungarian", "hu" },
+ { "Icelandic", "is" },
+ { "Indonesian", "id" },
+ { "Inuktitut", "iu" },
+ { "Irish", "ga" },
+ { "Italian", "it" },
+ { "Japanese", "ja" },
+ { "Javanese", "jv" },
+ { "Kalaallisut", "kl" },
+ { "Kannada", "kn" },
+ { "Kashmiri", "ks" },
+ { "Kazakh", "kk" },
+ { "Khmer", "km" },
+ { "Kinyarwanda", "rw" },
+ { "Kirghiz", "ky" },
+ { "Korean", "ko" },
+ { "Kurdish", "ku" },
+ { "Latin", "la" },
+ { "Latvian", "lv" },
+ { "Lithuanian", "lt" },
+ { "Macedonian", "mk" },
+ { "Malagasy", "mg" },
+ { "Malay", "ms" },
+ { "Malayalam", "ml" },
+ { "Maltese", "mt" },
+ { "Manx", "gv" },
+ { "Marathi", "mr" },
+ { "Moldavian", "mo" },
+ { "Mongolian", "mn" },
+ { "Nepali", "ne" },
+ { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */
+ { "Nyanja", "ny" },
+ { "Nynorsk", "nn" },
+ { "Oriya", "or" },
+ { "Oromo", "om" },
+ { "Panjabi", "pa" },
+ { "Pashto", "ps" },
+ { "Persian", "fa" },
+ { "Polish", "pl" },
+ { "Portuguese", "pt" },
+ { "Portuguese, Brazilian", "pt_BR" },
+ { "Punjabi", "pa" },
+ { "Pushto", "ps" },
+ { "Quechua", "qu" },
+ { "Romanian", "ro" },
+ { "Ruanda", "rw" },
+ { "Rundi", "rn" },
+ { "Russian", "ru" },
+ { "Sami", "se_NO" }, /* Not just "se". */
+ { "Sanskrit", "sa" },
+ { "Scottish", "gd" },
+ { "Serbian", "sr" },
+ { "Simplified Chinese", "zh_CN" },
+ { "Sindhi", "sd" },
+ { "Sinhalese", "si" },
+ { "Slovak", "sk" },
+ { "Slovenian", "sl" },
+ { "Somali", "so" },
+ { "Spanish", "es" },
+ { "Sundanese", "su" },
+ { "Swahili", "sw" },
+ { "Swedish", "sv" },
+ { "Tagalog", "tl" },
+ { "Tajik", "tg" },
+ { "Tajiki", "tg" },
+ { "Tamil", "ta" },
+ { "Tatar", "tt" },
+ { "Telugu", "te" },
+ { "Thai", "th" },
+ { "Tibetan", "bo" },
+ { "Tigrinya", "ti" },
+ { "Tongan", "to" },
+ { "Traditional Chinese", "zh_TW" },
+ { "Turkish", "tr" },
+ { "Turkmen", "tk" },
+ { "Uighur", "ug" },
+ { "Ukrainian", "uk" },
+ { "Urdu", "ur" },
+ { "Uzbek", "uz" },
+ { "Vietnamese", "vi" },
+ { "Welsh", "cy" },
+ { "Yiddish", "yi" }
+ };
+
+ /* Convert new-style locale names with language tags (ISO 639 and ISO 15924)
+ to Unix (ISO 639 and ISO 3166) names. */
+ typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
+ langtag_entry;
+ static const langtag_entry langtag_table[] = {
+ /* Mac OS X has "az-Arab", "az-Cyrl", "az-Latn".
+ The default script for az on Unix is Latin. */
+ { "az-Latn", "az" },
+ /* Mac OS X has "bs-Cyrl", "bs-Latn".
+ The default script for bs on Unix is Latin. */
+ { "bs-Latn", "bs" },
+ /* Mac OS X has "ga-dots". Does not yet exist on Unix. */
+ { "ga-dots", "ga" },
+ /* Mac OS X has "kk-Cyrl".
+ The default script for kk on Unix is Cyrillic. */
+ { "kk-Cyrl", "kk" },
+ /* Mac OS X has "mn-Cyrl", "mn-Mong".
+ The default script for mn on Unix is Cyrillic. */
+ { "mn-Cyrl", "mn" },
+ /* Mac OS X has "ms-Arab", "ms-Latn".
+ The default script for ms on Unix is Latin. */
+ { "ms-Latn", "ms" },
+ /* Mac OS X has "pa-Arab", "pa-Guru".
+ Country codes are used to distinguish these on Unix. */
+ { "pa-Arab", "pa_PK" },
+ { "pa-Guru", "pa_IN" },
+ /* Mac OS X has "shi-Latn", "shi-Tfng". Does not yet exist on Unix. */
+ /* Mac OS X has "sr-Cyrl", "sr-Latn".
+ The default script for sr on Unix is Cyrillic. */
+ { "sr-Cyrl", "sr" },
+ /* Mac OS X has "tg-Cyrl".
+ The default script for tg on Unix is Cyrillic. */
+ { "tg-Cyrl", "tg" },
+ /* Mac OS X has "tk-Cyrl".
+ The default script for tk on Unix is Cyrillic. */
+ { "tk-Cyrl", "tk" },
+ /* Mac OS X has "tt-Cyrl".
+ The default script for tt on Unix is Cyrillic. */
+ { "tt-Cyrl", "tt" },
+ /* Mac OS X has "uz-Arab", "uz-Cyrl", "uz-Latn".
+ The default script for uz on Unix is Latin. */
+ { "uz-Latn", "uz" },
+ /* Mac OS X has "vai-Latn", "vai-Vaii". Does not yet exist on Unix. */
+ /* Mac OS X has "yue-Hans", "yue-Hant".
+ The default script for yue on Unix is Simplified Han. */
+ { "yue-Hans", "yue" },
+ /* Mac OS X has "zh-Hans", "zh-Hant".
+ Country codes are used to distinguish these on Unix. */
+ { "zh-Hans", "zh_CN" },
+ { "zh-Hant", "zh_TW" }
+ };
+
+ /* Convert script names (ISO 15924) to Unix conventions.
+ See https://www.unicode.org/iso15924/iso15924-codes.html */
+ typedef struct { const char script[4+1]; const char unixy[9+1]; }
+ script_entry;
+ static const script_entry script_table[] = {
+ { "Arab", "arabic" },
+ { "Cyrl", "cyrillic" },
+ { "Latn", "latin" },
+ { "Mong", "mongolian" }
+ };
+
+ /* Step 1: Convert using legacy_table. */
+ if (name[0] >= 'A' && name[0] <= 'Z')
+ {
+ unsigned int i1, i2;
+ i1 = 0;
+ i2 = sizeof (legacy_table) / sizeof (legacy_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if name occurs in legacy_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const legacy_entry *p = &legacy_table[i];
+ if (strcmp (name, p->legacy) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name, legacy_table[i1].legacy) == 0)
+ {
+ strcpy (name, legacy_table[i1].unixy);
+ return;
+ }
+ }
+
+ /* Step 2: Convert using langtag_table and script_table. */
+ if (strlen (name) == 7 && name[2] == '-')
+ {
+ unsigned int i1, i2;
+ i1 = 0;
+ i2 = sizeof (langtag_table) / sizeof (langtag_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if name occurs in langtag_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const langtag_entry *p = &langtag_table[i];
+ if (strcmp (name, p->langtag) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name, langtag_table[i1].langtag) == 0)
+ {
+ strcpy (name, langtag_table[i1].unixy);
+ return;
+ }
+
+ i1 = 0;
+ i2 = sizeof (script_table) / sizeof (script_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if (name + 3) occurs in script_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const script_entry *p = &script_table[i];
+ if (strcmp (name + 3, p->script) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name + 3, script_table[i1].script) == 0)
+ {
+ name[2] = '@';
+ strcpy (name + 3, script_table[i1].unixy);
+ return;
+ }
+ }
+
+ /* Step 3: Convert new-style dash to Unix underscore. */
+ {
+ char *p;
+ for (p = name; *p != '\0'; p++)
+ if (*p == '-')
+ *p = '_';
+ }
+}
+
+#endif
+
+
+#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
+
+/* Canonicalize a Windows native locale name to a Unix locale name.
+ NAME is a sufficiently large buffer.
+ On input, it contains the Windows locale name.
+ On output, it contains the Unix locale name. */
+# if !defined IN_LIBINTL
+static
+# endif
+void
+gl_locale_name_canonicalize (char *name)
+{
+ /* FIXME: This is probably incomplete: it does not handle "zh-Hans" and
+ "zh-Hant". */
+ char *p;
+
+ for (p = name; *p != '\0'; p++)
+ if (*p == '-')
+ {
+ *p = '_';
+ p++;
+ for (; *p != '\0'; p++)
+ {
+ if (*p >= 'a' && *p <= 'z')
+ *p += 'A' - 'a';
+ if (*p == '-')
+ {
+ *p = '\0';
+ return;
+ }
+ }
+ return;
+ }
+}
+
+# if !defined IN_LIBINTL
+static
+# endif
+const char *
+gl_locale_name_from_win32_LANGID (LANGID langid)
+{
+ /* Activate the new code only when the GETTEXT_MUI environment variable is
+ set, for the time being, since the new code is not well tested. */
+ if (getenv ("GETTEXT_MUI") != NULL)
+ {
+ static char namebuf[256];
+
+ /* Query the system's notion of locale name.
+ On Windows95/98/ME, GetLocaleInfoA returns some incorrect results.
+ But we don't need to support systems that are so old. */
+ if (GetLocaleInfoA (MAKELCID (langid, SORT_DEFAULT), LOCALE_SNAME,
+ namebuf, sizeof (namebuf) - 1))
+ {
+ /* Convert it to a Unix locale name. */
+ gl_locale_name_canonicalize (namebuf);
+ return namebuf;
+ }
+ }
+ /* Internet Explorer has an LCID to RFC3066 name mapping stored in
+ HKEY_CLASSES_ROOT\Mime\Database\Rfc1766. But we better don't use that
+ since IE's i18n subsystem is known to be inconsistent with the native
+ Windows base (e.g. they have different character conversion facilities
+ that produce different results). */
+ /* Use our own table. */
+ {
+ int primary, sub;
+
+ /* Split into language and territory part. */
+ primary = PRIMARYLANGID (langid);
+ sub = SUBLANGID (langid);
+
+ /* Dispatch on language.
+ See also https://www.unicode.org/unicode/onlinedat/languages.html .
+ For details about languages, see https://www.ethnologue.com/ . */
+ switch (primary)
+ {
+ case LANG_AFRIKAANS:
+ switch (sub)
+ {
+ case SUBLANG_AFRIKAANS_SOUTH_AFRICA: return "af_ZA";
+ }
+ return "af";
+ case LANG_ALBANIAN:
+ switch (sub)
+ {
+ case SUBLANG_ALBANIAN_ALBANIA: return "sq_AL";
+ }
+ return "sq";
+ case LANG_ALSATIAN:
+ switch (sub)
+ {
+ case SUBLANG_ALSATIAN_FRANCE: return "gsw_FR";
+ }
+ return "gsw";
+ case LANG_AMHARIC:
+ switch (sub)
+ {
+ case SUBLANG_AMHARIC_ETHIOPIA: return "am_ET";
+ }
+ return "am";
+ case LANG_ARABIC:
+ switch (sub)
+ {
+ case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
+ case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
+ case SUBLANG_ARABIC_EGYPT: return "ar_EG";
+ case SUBLANG_ARABIC_LIBYA: return "ar_LY";
+ case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
+ case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
+ case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
+ case SUBLANG_ARABIC_OMAN: return "ar_OM";
+ case SUBLANG_ARABIC_YEMEN: return "ar_YE";
+ case SUBLANG_ARABIC_SYRIA: return "ar_SY";
+ case SUBLANG_ARABIC_JORDAN: return "ar_JO";
+ case SUBLANG_ARABIC_LEBANON: return "ar_LB";
+ case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
+ case SUBLANG_ARABIC_UAE: return "ar_AE";
+ case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
+ case SUBLANG_ARABIC_QATAR: return "ar_QA";
+ }
+ return "ar";
+ case LANG_ARMENIAN:
+ switch (sub)
+ {
+ case SUBLANG_ARMENIAN_ARMENIA: return "hy_AM";
+ }
+ return "hy";
+ case LANG_ASSAMESE:
+ switch (sub)
+ {
+ case SUBLANG_ASSAMESE_INDIA: return "as_IN";
+ }
+ return "as";
+ case LANG_AZERI:
+ switch (sub)
+ {
+ /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
+ case 0x1e: return "az@latin";
+ case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
+ case 0x1d: return "az@cyrillic";
+ case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
+ }
+ return "az";
+ case LANG_BASHKIR:
+ switch (sub)
+ {
+ case SUBLANG_BASHKIR_RUSSIA: return "ba_RU";
+ }
+ return "ba";
+ case LANG_BASQUE:
+ switch (sub)
+ {
+ case SUBLANG_BASQUE_BASQUE: return "eu_ES";
+ }
+ return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
+ case LANG_BELARUSIAN:
+ switch (sub)
+ {
+ case SUBLANG_BELARUSIAN_BELARUS: return "be_BY";
+ }
+ return "be";
+ case LANG_BENGALI:
+ switch (sub)
+ {
+ case SUBLANG_BENGALI_INDIA: return "bn_IN";
+ case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
+ }
+ return "bn";
+ case LANG_BRETON:
+ switch (sub)
+ {
+ case SUBLANG_BRETON_FRANCE: return "br_FR";
+ }
+ return "br";
+ case LANG_BULGARIAN:
+ switch (sub)
+ {
+ case SUBLANG_BULGARIAN_BULGARIA: return "bg_BG";
+ }
+ return "bg";
+ case LANG_BURMESE:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "my_MM";
+ }
+ return "my";
+ case LANG_CAMBODIAN:
+ switch (sub)
+ {
+ case SUBLANG_CAMBODIAN_CAMBODIA: return "km_KH";
+ }
+ return "km";
+ case LANG_CATALAN:
+ switch (sub)
+ {
+ case SUBLANG_CATALAN_SPAIN: return "ca_ES";
+ }
+ return "ca";
+ case LANG_CHEROKEE:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "chr_US";
+ }
+ return "chr";
+ case LANG_CHINESE:
+ switch (sub)
+ {
+ case SUBLANG_CHINESE_TRADITIONAL: case 0x1f: return "zh_TW";
+ case SUBLANG_CHINESE_SIMPLIFIED: case 0x00: return "zh_CN";
+ case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; /* traditional */
+ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; /* simplified */
+ case SUBLANG_CHINESE_MACAU: return "zh_MO"; /* traditional */
+ }
+ return "zh";
+ case LANG_CORSICAN:
+ switch (sub)
+ {
+ case SUBLANG_CORSICAN_FRANCE: return "co_FR";
+ }
+ return "co";
+ case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN
+ * What used to be called Serbo-Croatian
+ * should really now be two separate
+ * languages because of political reasons.
+ * (Says tml, who knows nothing about Serbian
+ * or Croatian.)
+ * (I can feel those flames coming already.)
+ */
+ switch (sub)
+ {
+ /* Croatian */
+ case 0x00: return "hr";
+ case SUBLANG_CROATIAN_CROATIA: return "hr_HR";
+ case SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: return "hr_BA";
+ /* Serbian */
+ case 0x1f: return "sr";
+ case 0x1c: return "sr"; /* latin */
+ case SUBLANG_SERBIAN_LATIN: return "sr_CS"; /* latin */
+ case 0x09: return "sr_RS"; /* latin */
+ case 0x0b: return "sr_ME"; /* latin */
+ case 0x06: return "sr_BA"; /* latin */
+ case 0x1b: return "sr@cyrillic";
+ case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
+ case 0x0a: return "sr_RS@cyrillic";
+ case 0x0c: return "sr_ME@cyrillic";
+ case 0x07: return "sr_BA@cyrillic";
+ /* Bosnian */
+ case 0x1e: return "bs";
+ case 0x1a: return "bs"; /* latin */
+ case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: return "bs_BA"; /* latin */
+ case 0x19: return "bs@cyrillic";
+ case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: return "bs_BA@cyrillic";
+ }
+ return "hr";
+ case LANG_CZECH:
+ switch (sub)
+ {
+ case SUBLANG_CZECH_CZECH_REPUBLIC: return "cs_CZ";
+ }
+ return "cs";
+ case LANG_DANISH:
+ switch (sub)
+ {
+ case SUBLANG_DANISH_DENMARK: return "da_DK";
+ }
+ return "da";
+ case LANG_DARI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_DARI_AFGHANISTAN: return "prs_AF";
+ }
+ return "prs";
+ case LANG_DIVEHI:
+ switch (sub)
+ {
+ case SUBLANG_DIVEHI_MALDIVES: return "dv_MV";
+ }
+ return "dv";
+ case LANG_DUTCH:
+ switch (sub)
+ {
+ case SUBLANG_DUTCH: return "nl_NL";
+ case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
+ case SUBLANG_DUTCH_SURINAM: return "nl_SR";
+ }
+ return "nl";
+ case LANG_EDO:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "bin_NG";
+ }
+ return "bin";
+ case LANG_ENGLISH:
+ switch (sub)
+ {
+ /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
+ * English was the language spoken in England.
+ * Oh well.
+ */
+ case SUBLANG_ENGLISH_US: return "en_US";
+ case SUBLANG_ENGLISH_UK: return "en_GB";
+ case SUBLANG_ENGLISH_AUS: return "en_AU";
+ case SUBLANG_ENGLISH_CAN: return "en_CA";
+ case SUBLANG_ENGLISH_NZ: return "en_NZ";
+ case SUBLANG_ENGLISH_EIRE: return "en_IE";
+ case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
+ case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
+ case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
+ case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
+ case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
+ case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
+ case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
+ case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
+ case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
+ case SUBLANG_ENGLISH_INDIA: return "en_IN";
+ case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
+ case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
+ }
+ return "en";
+ case LANG_ESTONIAN:
+ switch (sub)
+ {
+ case SUBLANG_ESTONIAN_ESTONIA: return "et_EE";
+ }
+ return "et";
+ case LANG_FAEROESE:
+ switch (sub)
+ {
+ case SUBLANG_FAEROESE_FAROE_ISLANDS: return "fo_FO";
+ }
+ return "fo";
+ case LANG_FARSI:
+ switch (sub)
+ {
+ case SUBLANG_FARSI_IRAN: return "fa_IR";
+ }
+ return "fa";
+ case LANG_FINNISH:
+ switch (sub)
+ {
+ case SUBLANG_FINNISH_FINLAND: return "fi_FI";
+ }
+ return "fi";
+ case LANG_FRENCH:
+ switch (sub)
+ {
+ case SUBLANG_FRENCH: return "fr_FR";
+ case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
+ case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
+ case SUBLANG_FRENCH_SWISS: return "fr_CH";
+ case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
+ case SUBLANG_FRENCH_MONACO: return "fr_MC";
+ case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
+ case SUBLANG_FRENCH_REUNION: return "fr_RE";
+ case SUBLANG_FRENCH_CONGO: return "fr_CG";
+ case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
+ case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
+ case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
+ case SUBLANG_FRENCH_MALI: return "fr_ML";
+ case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
+ case SUBLANG_FRENCH_HAITI: return "fr_HT";
+ }
+ return "fr";
+ case LANG_FRISIAN:
+ switch (sub)
+ {
+ case SUBLANG_FRISIAN_NETHERLANDS: return "fy_NL";
+ }
+ return "fy";
+ case LANG_FULFULDE:
+ /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ff_NG";
+ }
+ return "ff";
+ case LANG_GAELIC:
+ switch (sub)
+ {
+ case 0x01: /* SCOTTISH */
+ /* old, superseded by LANG_SCOTTISH_GAELIC */
+ return "gd_GB";
+ case SUBLANG_IRISH_IRELAND: return "ga_IE";
+ }
+ return "ga";
+ case LANG_GALICIAN:
+ switch (sub)
+ {
+ case SUBLANG_GALICIAN_SPAIN: return "gl_ES";
+ }
+ return "gl";
+ case LANG_GEORGIAN:
+ switch (sub)
+ {
+ case SUBLANG_GEORGIAN_GEORGIA: return "ka_GE";
+ }
+ return "ka";
+ case LANG_GERMAN:
+ switch (sub)
+ {
+ case SUBLANG_GERMAN: return "de_DE";
+ case SUBLANG_GERMAN_SWISS: return "de_CH";
+ case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
+ case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
+ case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
+ }
+ return "de";
+ case LANG_GREEK:
+ switch (sub)
+ {
+ case SUBLANG_GREEK_GREECE: return "el_GR";
+ }
+ return "el";
+ case LANG_GREENLANDIC:
+ switch (sub)
+ {
+ case SUBLANG_GREENLANDIC_GREENLAND: return "kl_GL";
+ }
+ return "kl";
+ case LANG_GUARANI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "gn_PY";
+ }
+ return "gn";
+ case LANG_GUJARATI:
+ switch (sub)
+ {
+ case SUBLANG_GUJARATI_INDIA: return "gu_IN";
+ }
+ return "gu";
+ case LANG_HAUSA:
+ switch (sub)
+ {
+ case 0x1f: return "ha";
+ case SUBLANG_HAUSA_NIGERIA_LATIN: return "ha_NG";
+ }
+ return "ha";
+ case LANG_HAWAIIAN:
+ /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
+ or Hawaii Creole English ("cpe_US", 600000 speakers)? */
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "cpe_US";
+ }
+ return "cpe";
+ case LANG_HEBREW:
+ switch (sub)
+ {
+ case SUBLANG_HEBREW_ISRAEL: return "he_IL";
+ }
+ return "he";
+ case LANG_HINDI:
+ switch (sub)
+ {
+ case SUBLANG_HINDI_INDIA: return "hi_IN";
+ }
+ return "hi";
+ case LANG_HUNGARIAN:
+ switch (sub)
+ {
+ case SUBLANG_HUNGARIAN_HUNGARY: return "hu_HU";
+ }
+ return "hu";
+ case LANG_IBIBIO:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "nic_NG";
+ }
+ return "nic";
+ case LANG_ICELANDIC:
+ switch (sub)
+ {
+ case SUBLANG_ICELANDIC_ICELAND: return "is_IS";
+ }
+ return "is";
+ case LANG_IGBO:
+ switch (sub)
+ {
+ case SUBLANG_IGBO_NIGERIA: return "ig_NG";
+ }
+ return "ig";
+ case LANG_INDONESIAN:
+ switch (sub)
+ {
+ case SUBLANG_INDONESIAN_INDONESIA: return "id_ID";
+ }
+ return "id";
+ case LANG_INUKTITUT:
+ switch (sub)
+ {
+ case 0x1e: return "iu"; /* syllabic */
+ case SUBLANG_INUKTITUT_CANADA: return "iu_CA"; /* syllabic */
+ case 0x1f: return "iu@latin";
+ case SUBLANG_INUKTITUT_CANADA_LATIN: return "iu_CA@latin";
+ }
+ return "iu";
+ case LANG_ITALIAN:
+ switch (sub)
+ {
+ case SUBLANG_ITALIAN: return "it_IT";
+ case SUBLANG_ITALIAN_SWISS: return "it_CH";
+ }
+ return "it";
+ case LANG_JAPANESE:
+ switch (sub)
+ {
+ case SUBLANG_JAPANESE_JAPAN: return "ja_JP";
+ }
+ return "ja";
+ case LANG_KANNADA:
+ switch (sub)
+ {
+ case SUBLANG_KANNADA_INDIA: return "kn_IN";
+ }
+ return "kn";
+ case LANG_KANURI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "kr_NG";
+ }
+ return "kr";
+ case LANG_KASHMIRI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ks_PK";
+ case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
+ }
+ return "ks";
+ case LANG_KAZAK:
+ switch (sub)
+ {
+ case SUBLANG_KAZAK_KAZAKHSTAN: return "kk_KZ";
+ }
+ return "kk";
+ case LANG_KICHE:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_KICHE_GUATEMALA: return "qut_GT";
+ }
+ return "qut";
+ case LANG_KINYARWANDA:
+ switch (sub)
+ {
+ case SUBLANG_KINYARWANDA_RWANDA: return "rw_RW";
+ }
+ return "rw";
+ case LANG_KONKANI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_KONKANI_INDIA: return "kok_IN";
+ }
+ return "kok";
+ case LANG_KOREAN:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ko_KR";
+ }
+ return "ko";
+ case LANG_KYRGYZ:
+ switch (sub)
+ {
+ case SUBLANG_KYRGYZ_KYRGYZSTAN: return "ky_KG";
+ }
+ return "ky";
+ case LANG_LAO:
+ switch (sub)
+ {
+ case SUBLANG_LAO_LAOS: return "lo_LA";
+ }
+ return "lo";
+ case LANG_LATIN:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "la_VA";
+ }
+ return "la";
+ case LANG_LATVIAN:
+ switch (sub)
+ {
+ case SUBLANG_LATVIAN_LATVIA: return "lv_LV";
+ }
+ return "lv";
+ case LANG_LITHUANIAN:
+ switch (sub)
+ {
+ case SUBLANG_LITHUANIAN_LITHUANIA: return "lt_LT";
+ }
+ return "lt";
+ case LANG_LUXEMBOURGISH:
+ switch (sub)
+ {
+ case SUBLANG_LUXEMBOURGISH_LUXEMBOURG: return "lb_LU";
+ }
+ return "lb";
+ case LANG_MACEDONIAN:
+ switch (sub)
+ {
+ case SUBLANG_MACEDONIAN_MACEDONIA: return "mk_MK";
+ }
+ return "mk";
+ case LANG_MALAY:
+ switch (sub)
+ {
+ case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
+ case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
+ }
+ return "ms";
+ case LANG_MALAYALAM:
+ switch (sub)
+ {
+ case SUBLANG_MALAYALAM_INDIA: return "ml_IN";
+ }
+ return "ml";
+ case LANG_MALTESE:
+ switch (sub)
+ {
+ case SUBLANG_MALTESE_MALTA: return "mt_MT";
+ }
+ return "mt";
+ case LANG_MANIPURI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "mni_IN";
+ }
+ return "mni";
+ case LANG_MAORI:
+ switch (sub)
+ {
+ case SUBLANG_MAORI_NEW_ZEALAND: return "mi_NZ";
+ }
+ return "mi";
+ case LANG_MAPUDUNGUN:
+ switch (sub)
+ {
+ case SUBLANG_MAPUDUNGUN_CHILE: return "arn_CL";
+ }
+ return "arn";
+ case LANG_MARATHI:
+ switch (sub)
+ {
+ case SUBLANG_MARATHI_INDIA: return "mr_IN";
+ }
+ return "mr";
+ case LANG_MOHAWK:
+ switch (sub)
+ {
+ case SUBLANG_MOHAWK_CANADA: return "moh_CA";
+ }
+ return "moh";
+ case LANG_MONGOLIAN:
+ switch (sub)
+ {
+ case SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: case 0x1e: return "mn_MN";
+ case SUBLANG_MONGOLIAN_PRC: case 0x1f: return "mn_CN";
+ }
+ return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
+ case LANG_NEPALI:
+ switch (sub)
+ {
+ case SUBLANG_NEPALI_NEPAL: return "ne_NP";
+ case SUBLANG_NEPALI_INDIA: return "ne_IN";
+ }
+ return "ne";
+ case LANG_NORWEGIAN:
+ switch (sub)
+ {
+ case 0x1f: return "nb";
+ case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO";
+ case 0x1e: return "nn";
+ case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
+ }
+ return "no";
+ case LANG_OCCITAN:
+ switch (sub)
+ {
+ case SUBLANG_OCCITAN_FRANCE: return "oc_FR";
+ }
+ return "oc";
+ case LANG_ORIYA:
+ switch (sub)
+ {
+ case SUBLANG_ORIYA_INDIA: return "or_IN";
+ }
+ return "or";
+ case LANG_OROMO:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "om_ET";
+ }
+ return "om";
+ case LANG_PAPIAMENTU:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "pap_AN";
+ }
+ return "pap";
+ case LANG_PASHTO:
+ switch (sub)
+ {
+ case SUBLANG_PASHTO_AFGHANISTAN: return "ps_AF";
+ }
+ return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
+ case LANG_POLISH:
+ switch (sub)
+ {
+ case SUBLANG_POLISH_POLAND: return "pl_PL";
+ }
+ return "pl";
+ case LANG_PORTUGUESE:
+ switch (sub)
+ {
+ /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
+ Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
+ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
+ case SUBLANG_PORTUGUESE: return "pt_PT";
+ }
+ return "pt";
+ case LANG_PUNJABI:
+ switch (sub)
+ {
+ case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
+ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
+ }
+ return "pa";
+ case LANG_QUECHUA:
+ /* Note: Microsoft uses the non-ISO language code "quz". */
+ switch (sub)
+ {
+ case SUBLANG_QUECHUA_BOLIVIA: return "qu_BO";
+ case SUBLANG_QUECHUA_ECUADOR: return "qu_EC";
+ case SUBLANG_QUECHUA_PERU: return "qu_PE";
+ }
+ return "qu";
+ case LANG_ROMANIAN:
+ switch (sub)
+ {
+ case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
+ case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
+ }
+ return "ro";
+ case LANG_ROMANSH:
+ switch (sub)
+ {
+ case SUBLANG_ROMANSH_SWITZERLAND: return "rm_CH";
+ }
+ return "rm";
+ case LANG_RUSSIAN:
+ switch (sub)
+ {
+ case SUBLANG_RUSSIAN_RUSSIA: return "ru_RU";
+ case SUBLANG_RUSSIAN_MOLDAVIA: return "ru_MD";
+ }
+ return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
+ case LANG_SAMI:
+ switch (sub)
+ {
+ /* Northern Sami */
+ case 0x00: return "se";
+ case SUBLANG_SAMI_NORTHERN_NORWAY: return "se_NO";
+ case SUBLANG_SAMI_NORTHERN_SWEDEN: return "se_SE";
+ case SUBLANG_SAMI_NORTHERN_FINLAND: return "se_FI";
+ /* Lule Sami */
+ case 0x1f: return "smj";
+ case SUBLANG_SAMI_LULE_NORWAY: return "smj_NO";
+ case SUBLANG_SAMI_LULE_SWEDEN: return "smj_SE";
+ /* Southern Sami */
+ case 0x1e: return "sma";
+ case SUBLANG_SAMI_SOUTHERN_NORWAY: return "sma_NO";
+ case SUBLANG_SAMI_SOUTHERN_SWEDEN: return "sma_SE";
+ /* Skolt Sami */
+ case 0x1d: return "sms";
+ case SUBLANG_SAMI_SKOLT_FINLAND: return "sms_FI";
+ /* Inari Sami */
+ case 0x1c: return "smn";
+ case SUBLANG_SAMI_INARI_FINLAND: return "smn_FI";
+ }
+ return "se"; /* or "smi"? */
+ case LANG_SANSKRIT:
+ switch (sub)
+ {
+ case SUBLANG_SANSKRIT_INDIA: return "sa_IN";
+ }
+ return "sa";
+ case LANG_SCOTTISH_GAELIC:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "gd_GB";
+ }
+ return "gd";
+ case LANG_SINDHI:
+ switch (sub)
+ {
+ case SUBLANG_SINDHI_INDIA: return "sd_IN";
+ case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
+ /*case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF";*/
+ }
+ return "sd";
+ case LANG_SINHALESE:
+ switch (sub)
+ {
+ case SUBLANG_SINHALESE_SRI_LANKA: return "si_LK";
+ }
+ return "si";
+ case LANG_SLOVAK:
+ switch (sub)
+ {
+ case SUBLANG_SLOVAK_SLOVAKIA: return "sk_SK";
+ }
+ return "sk";
+ case LANG_SLOVENIAN:
+ switch (sub)
+ {
+ case SUBLANG_SLOVENIAN_SLOVENIA: return "sl_SI";
+ }
+ return "sl";
+ case LANG_SOMALI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "so_SO";
+ }
+ return "so";
+ case LANG_SORBIAN:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ /* Upper Sorbian */
+ case 0x00: return "hsb";
+ case SUBLANG_UPPER_SORBIAN_GERMANY: return "hsb_DE";
+ /* Lower Sorbian */
+ case 0x1f: return "dsb";
+ case SUBLANG_LOWER_SORBIAN_GERMANY: return "dsb_DE";
+ }
+ return "wen";
+ case LANG_SOTHO:
+ /* <https://docs.microsoft.com/en-us/windows/desktop/Intl/language-identifier-constants-and-strings>
+ calls it "Sesotho sa Leboa"; according to
+ <https://www.ethnologue.com/show_language.asp?code=nso>
+ <https://www.ethnologue.com/show_language.asp?code=sot>
+ it's the same as Northern Sotho. */
+ switch (sub)
+ {
+ case SUBLANG_SOTHO_SOUTH_AFRICA: return "nso_ZA";
+ }
+ return "nso";
+ case LANG_SPANISH:
+ switch (sub)
+ {
+ case SUBLANG_SPANISH: return "es_ES";
+ case SUBLANG_SPANISH_MEXICAN: return "es_MX";
+ case SUBLANG_SPANISH_MODERN:
+ return "es_ES@modern"; /* not seen on Unix */
+ case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
+ case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
+ case SUBLANG_SPANISH_PANAMA: return "es_PA";
+ case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
+ case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
+ case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
+ case SUBLANG_SPANISH_PERU: return "es_PE";
+ case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
+ case SUBLANG_SPANISH_ECUADOR: return "es_EC";
+ case SUBLANG_SPANISH_CHILE: return "es_CL";
+ case SUBLANG_SPANISH_URUGUAY: return "es_UY";
+ case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
+ case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
+ case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
+ case SUBLANG_SPANISH_HONDURAS: return "es_HN";
+ case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
+ case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
+ case SUBLANG_SPANISH_US: return "es_US";
+ }
+ return "es";
+ case LANG_SUTU:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
+ }
+ return "bnt";
+ case LANG_SWAHILI:
+ switch (sub)
+ {
+ case SUBLANG_SWAHILI_KENYA: return "sw_KE";
+ }
+ return "sw";
+ case LANG_SWEDISH:
+ switch (sub)
+ {
+ case SUBLANG_SWEDISH_SWEDEN: return "sv_SE";
+ case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
+ }
+ return "sv";
+ case LANG_SYRIAC:
+ switch (sub)
+ {
+ case SUBLANG_SYRIAC_SYRIA: return "syr_SY"; /* An extinct language. */
+ }
+ return "syr";
+ case LANG_TAGALOG:
+ switch (sub)
+ {
+ case SUBLANG_TAGALOG_PHILIPPINES: return "tl_PH"; /* or "fil_PH"? */
+ }
+ return "tl"; /* or "fil"? */
+ case LANG_TAJIK:
+ switch (sub)
+ {
+ case 0x1f: return "tg";
+ case SUBLANG_TAJIK_TAJIKISTAN: return "tg_TJ";
+ }
+ return "tg";
+ case LANG_TAMAZIGHT:
+ /* Note: Microsoft uses the non-ISO language code "tmz". */
+ switch (sub)
+ {
+ /* FIXME: Adjust this when Tamazight locales appear on Unix. */
+ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
+ case 0x1f: return "ber@latin";
+ case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin";
+ }
+ return "ber";
+ case LANG_TAMIL:
+ switch (sub)
+ {
+ case SUBLANG_TAMIL_INDIA: return "ta_IN";
+ }
+ return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
+ case LANG_TATAR:
+ switch (sub)
+ {
+ case SUBLANG_TATAR_RUSSIA: return "tt_RU";
+ }
+ return "tt";
+ case LANG_TELUGU:
+ switch (sub)
+ {
+ case SUBLANG_TELUGU_INDIA: return "te_IN";
+ }
+ return "te";
+ case LANG_THAI:
+ switch (sub)
+ {
+ case SUBLANG_THAI_THAILAND: return "th_TH";
+ }
+ return "th";
+ case LANG_TIBETAN:
+ switch (sub)
+ {
+ case SUBLANG_TIBETAN_PRC:
+ /* Most Tibetans would not like "bo_CN". But Tibet does not yet
+ have a country code of its own. */
+ return "bo";
+ case SUBLANG_TIBETAN_BHUTAN: return "bo_BT";
+ }
+ return "bo";
+ case LANG_TIGRINYA:
+ switch (sub)
+ {
+ case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
+ case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
+ }
+ return "ti";
+ case LANG_TSONGA:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ts_ZA";
+ }
+ return "ts";
+ case LANG_TSWANA:
+ /* Spoken in South Africa, Botswana. */
+ switch (sub)
+ {
+ case SUBLANG_TSWANA_SOUTH_AFRICA: return "tn_ZA";
+ }
+ return "tn";
+ case LANG_TURKISH:
+ switch (sub)
+ {
+ case SUBLANG_TURKISH_TURKEY: return "tr_TR";
+ }
+ return "tr";
+ case LANG_TURKMEN:
+ switch (sub)
+ {
+ case SUBLANG_TURKMEN_TURKMENISTAN: return "tk_TM";
+ }
+ return "tk";
+ case LANG_UIGHUR:
+ switch (sub)
+ {
+ case SUBLANG_UIGHUR_PRC: return "ug_CN";
+ }
+ return "ug";
+ case LANG_UKRAINIAN:
+ switch (sub)
+ {
+ case SUBLANG_UKRAINIAN_UKRAINE: return "uk_UA";
+ }
+ return "uk";
+ case LANG_URDU:
+ switch (sub)
+ {
+ case SUBLANG_URDU_PAKISTAN: return "ur_PK";
+ case SUBLANG_URDU_INDIA: return "ur_IN";
+ }
+ return "ur";
+ case LANG_UZBEK:
+ switch (sub)
+ {
+ case 0x1f: return "uz";
+ case SUBLANG_UZBEK_LATIN: return "uz_UZ";
+ case 0x1e: return "uz@cyrillic";
+ case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
+ }
+ return "uz";
+ case LANG_VENDA:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ve_ZA";
+ }
+ return "ve";
+ case LANG_VIETNAMESE:
+ switch (sub)
+ {
+ case SUBLANG_VIETNAMESE_VIETNAM: return "vi_VN";
+ }
+ return "vi";
+ case LANG_WELSH:
+ switch (sub)
+ {
+ case SUBLANG_WELSH_UNITED_KINGDOM: return "cy_GB";
+ }
+ return "cy";
+ case LANG_WOLOF:
+ switch (sub)
+ {
+ case SUBLANG_WOLOF_SENEGAL: return "wo_SN";
+ }
+ return "wo";
+ case LANG_XHOSA:
+ switch (sub)
+ {
+ case SUBLANG_XHOSA_SOUTH_AFRICA: return "xh_ZA";
+ }
+ return "xh";
+ case LANG_YAKUT:
+ switch (sub)
+ {
+ case SUBLANG_YAKUT_RUSSIA: return "sah_RU";
+ }
+ return "sah";
+ case LANG_YI:
+ switch (sub)
+ {
+ case SUBLANG_YI_PRC: return "ii_CN";
+ }
+ return "ii";
+ case LANG_YIDDISH:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "yi_IL";
+ }
+ return "yi";
+ case LANG_YORUBA:
+ switch (sub)
+ {
+ case SUBLANG_YORUBA_NIGERIA: return "yo_NG";
+ }
+ return "yo";
+ case LANG_ZULU:
+ switch (sub)
+ {
+ case SUBLANG_ZULU_SOUTH_AFRICA: return "zu_ZA";
+ }
+ return "zu";
+ default: return "C";
+ }
+ }
+}
+
+# if !defined IN_LIBINTL
+static
+# endif
+const char *
+gl_locale_name_from_win32_LCID (LCID lcid)
+{
+ LANGID langid;
+
+ /* Strip off the sorting rules, keep only the language part. */
+ langid = LANGIDFROMLCID (lcid);
+
+ return gl_locale_name_from_win32_LANGID (langid);
+}
+
+# ifdef WINDOWS_NATIVE
+
+/* Two variables to interface between get_lcid and the EnumLocales
+ callback function below. */
+static LCID found_lcid;
+static char lname[LC_MAX * (LOCALE_NAME_MAX_LENGTH + 1) + 1];
+
+/* Callback function for EnumLocales. */
+static BOOL CALLBACK
+enum_locales_fn (LPSTR locale_num_str)
+{
+ char *endp;
+ char locval[2 * LOCALE_NAME_MAX_LENGTH + 1 + 1];
+ LCID try_lcid = strtoul (locale_num_str, &endp, 16);
+
+ if (GetLocaleInfo (try_lcid, LOCALE_SENGLANGUAGE,
+ locval, LOCALE_NAME_MAX_LENGTH))
+ {
+ strcat (locval, "_");
+ if (GetLocaleInfo (try_lcid, LOCALE_SENGCOUNTRY,
+ locval + strlen (locval), LOCALE_NAME_MAX_LENGTH))
+ {
+ size_t locval_len = strlen (locval);
+
+ if (strncmp (locval, lname, locval_len) == 0
+ && (lname[locval_len] == '.'
+ || lname[locval_len] == '\0'))
+ {
+ found_lcid = try_lcid;
+ return FALSE;
+ }
+ }
+ }
+ return TRUE;
+}
+
+/* This lock protects the get_lcid against multiple simultaneous calls. */
+gl_lock_define_initialized(static, get_lcid_lock)
+
+/* Return the Locale ID (LCID) number given the locale's name, a
+ string, in LOCALE_NAME. This works by enumerating all the locales
+ supported by the system, until we find one whose name matches
+ LOCALE_NAME. */
+static LCID
+get_lcid (const char *locale_name)
+{
+ /* A simple cache. */
+ static LCID last_lcid;
+ static char last_locale[1000];
+
+ /* Lock while looking for an LCID, to protect access to static
+ variables: last_lcid, last_locale, found_lcid, and lname. */
+ gl_lock_lock (get_lcid_lock);
+ if (last_lcid > 0 && strcmp (locale_name, last_locale) == 0)
+ {
+ gl_lock_unlock (get_lcid_lock);
+ return last_lcid;
+ }
+ strncpy (lname, locale_name, sizeof (lname) - 1);
+ lname[sizeof (lname) - 1] = '\0';
+ found_lcid = 0;
+ EnumSystemLocales (enum_locales_fn, LCID_SUPPORTED);
+ if (found_lcid > 0)
+ {
+ last_lcid = found_lcid;
+ strcpy (last_locale, locale_name);
+ }
+ gl_lock_unlock (get_lcid_lock);
+ return found_lcid;
+}
+
+# endif
+#endif
+
+
+#if LOCALENAME_ENHANCE_LOCALE_FUNCS
+
+/* Define a local struniq() function. */
+# include "struniq.h"
+
+/* The 'locale_t' object does not contain the names of the locale categories.
+ We have to associate them with the object through a hash table.
+ The hash table is defined in localename-table.[hc]. */
+
+/* Returns the name of a given locale category in a given locale_t object,
+ allocated as a string with indefinite extent. */
+static const char *
+get_locale_t_name (int category, locale_t locale)
+{
+ if (category == LC_ALL)
+ /* Invalid argument. */
+ abort ();
+ if (locale == LC_GLOBAL_LOCALE)
+ {
+ /* Query the global locale. */
+ const char *name = setlocale_null (category);
+ if (name != NULL)
+ return struniq (name);
+ else
+ /* Should normally not happen. */
+ return "";
+ }
+ else
+ {
+# if HAVE_AIX72_LOCALES
+ if (category == LC_MESSAGES)
+ {
+ const char *name = ((__locale_t) locale)->locale_name;
+ if (name != NULL)
+ return struniq (name);
+ }
+# endif
+ /* Look up the names in the hash table. */
+ size_t hashcode = locale_hash_function (locale);
+ size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
+ /* If the locale was not found in the table, return "". This can
+ happen if the application uses the original newlocale()/duplocale()
+ functions instead of the overridden ones. */
+ const char *name = "";
+ struct locale_hash_node *p;
+ /* Lock while looking up the hash node. */
+ gl_rwlock_rdlock (locale_lock);
+ for (p = locale_hash_table[slot]; p != NULL; p = p->next)
+ if (p->locale == locale)
+ {
+ name = p->names.category_name[category];
+ break;
+ }
+ gl_rwlock_unlock (locale_lock);
+ return name;
+ }
+}
+
+# if !(defined newlocale && defined duplocale && defined freelocale)
+# error "newlocale, duplocale, freelocale not being replaced as expected!"
+# endif
+
+/* newlocale() override. */
+locale_t
+newlocale (int category_mask, const char *name, locale_t base)
+#undef newlocale
+{
+ struct locale_categories_names names;
+ struct locale_hash_node *node;
+ locale_t result;
+
+ /* Make sure name has indefinite extent. */
+ if (((LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK
+ | LC_MONETARY_MASK | LC_MESSAGES_MASK)
+ & category_mask) != 0)
+ name = struniq (name);
+
+ /* Determine the category names of the result. */
+ if (((LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK
+ | LC_MONETARY_MASK | LC_MESSAGES_MASK)
+ & ~category_mask) == 0)
+ {
+ /* Use name, ignore base. */
+ int category;
+
+ name = struniq (name);
+ for (category = 0; category < 6; category++)
+ names.category_name[category] = name;
+ }
+ else
+ {
+ /* Use base, possibly also name. */
+ if (base == NULL)
+ {
+ int category;
+
+ for (category = 0; category < 6; category++)
+ {
+ int mask;
+
+ switch (category)
+ {
+ case LC_CTYPE:
+ mask = LC_CTYPE_MASK;
+ break;
+ case LC_NUMERIC:
+ mask = LC_NUMERIC_MASK;
+ break;
+ case LC_TIME:
+ mask = LC_TIME_MASK;
+ break;
+ case LC_COLLATE:
+ mask = LC_COLLATE_MASK;
+ break;
+ case LC_MONETARY:
+ mask = LC_MONETARY_MASK;
+ break;
+ case LC_MESSAGES:
+ mask = LC_MESSAGES_MASK;
+ break;
+ default:
+ abort ();
+ }
+ names.category_name[category] =
+ ((mask & category_mask) != 0 ? name : "C");
+ }
+ }
+ else if (base == LC_GLOBAL_LOCALE)
+ {
+ int category;
+
+ for (category = 0; category < 6; category++)
+ {
+ int mask;
+
+ switch (category)
+ {
+ case LC_CTYPE:
+ mask = LC_CTYPE_MASK;
+ break;
+ case LC_NUMERIC:
+ mask = LC_NUMERIC_MASK;
+ break;
+ case LC_TIME:
+ mask = LC_TIME_MASK;
+ break;
+ case LC_COLLATE:
+ mask = LC_COLLATE_MASK;
+ break;
+ case LC_MONETARY:
+ mask = LC_MONETARY_MASK;
+ break;
+ case LC_MESSAGES:
+ mask = LC_MESSAGES_MASK;
+ break;
+ default:
+ abort ();
+ }
+ names.category_name[category] =
+ ((mask & category_mask) != 0
+ ? name
+ : get_locale_t_name (category, LC_GLOBAL_LOCALE));
+ }
+ }
+ else
+ {
+ /* Look up the names of base in the hash table. Like multiple calls
+ of get_locale_t_name, but locking only once. */
+ struct locale_hash_node *p;
+ int category;
+
+ /* Lock while looking up the hash node. */
+ gl_rwlock_rdlock (locale_lock);
+ for (p = locale_hash_table[locale_hash_function (base) % LOCALE_HASH_TABLE_SIZE];
+ p != NULL;
+ p = p->next)
+ if (p->locale == base)
+ break;
+
+ for (category = 0; category < 6; category++)
+ {
+ int mask;
+
+ switch (category)
+ {
+ case LC_CTYPE:
+ mask = LC_CTYPE_MASK;
+ break;
+ case LC_NUMERIC:
+ mask = LC_NUMERIC_MASK;
+ break;
+ case LC_TIME:
+ mask = LC_TIME_MASK;
+ break;
+ case LC_COLLATE:
+ mask = LC_COLLATE_MASK;
+ break;
+ case LC_MONETARY:
+ mask = LC_MONETARY_MASK;
+ break;
+ case LC_MESSAGES:
+ mask = LC_MESSAGES_MASK;
+ break;
+ default:
+ abort ();
+ }
+ names.category_name[category] =
+ ((mask & category_mask) != 0
+ ? name
+ : (p != NULL ? p->names.category_name[category] : ""));
+ }
+
+ gl_rwlock_unlock (locale_lock);
+ }
+ }
+
+ node = (struct locale_hash_node *) malloc (sizeof (struct locale_hash_node));
+ if (node == NULL)
+ /* errno is set to ENOMEM. */
+ return NULL;
+
+ result = newlocale (category_mask, name, base);
+ if (result == NULL)
+ {
+ free (node);
+ return NULL;
+ }
+
+ /* Fill the hash node. */
+ node->locale = result;
+ node->names = names;
+
+ /* Insert it in the hash table. */
+ {
+ size_t hashcode = locale_hash_function (result);
+ size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
+ struct locale_hash_node *p;
+
+ /* Lock while inserting the new node. */
+ gl_rwlock_wrlock (locale_lock);
+ for (p = locale_hash_table[slot]; p != NULL; p = p->next)
+ if (p->locale == result)
+ {
+ /* This can happen if the application uses the original freelocale()
+ function instead of the overridden one. */
+ p->names = node->names;
+ break;
+ }
+ if (p == NULL)
+ {
+ node->next = locale_hash_table[slot];
+ locale_hash_table[slot] = node;
+ }
+
+ gl_rwlock_unlock (locale_lock);
+
+ if (p != NULL)
+ free (node);
+ }
+
+ return result;
+}
+
+/* duplocale() override. */
+locale_t
+duplocale (locale_t locale)
+#undef duplocale
+{
+ struct locale_hash_node *node;
+ locale_t result;
+
+ if (locale == NULL)
+ /* Invalid argument. */
+ abort ();
+
+ node = (struct locale_hash_node *) malloc (sizeof (struct locale_hash_node));
+ if (node == NULL)
+ /* errno is set to ENOMEM. */
+ return NULL;
+
+ result = duplocale (locale);
+ if (result == NULL)
+ {
+ free (node);
+ return NULL;
+ }
+
+ /* Fill the hash node. */
+ node->locale = result;
+ if (locale == LC_GLOBAL_LOCALE)
+ {
+ int category;
+
+ for (category = 0; category < 6; category++)
+ node->names.category_name[category] =
+ get_locale_t_name (category, LC_GLOBAL_LOCALE);
+
+ /* Lock before inserting the new node. */
+ gl_rwlock_wrlock (locale_lock);
+ }
+ else
+ {
+ struct locale_hash_node *p;
+
+ /* Lock once, for the lookup and the insertion. */
+ gl_rwlock_wrlock (locale_lock);
+
+ for (p = locale_hash_table[locale_hash_function (locale) % LOCALE_HASH_TABLE_SIZE];
+ p != NULL;
+ p = p->next)
+ if (p->locale == locale)
+ break;
+ if (p != NULL)
+ node->names = p->names;
+ else
+ {
+ /* This can happen if the application uses the original
+ newlocale()/duplocale() functions instead of the overridden
+ ones. */
+ int category;
+
+ for (category = 0; category < 6; category++)
+ node->names.category_name[category] = "";
+ }
+ }
+
+ /* Insert it in the hash table. */
+ {
+ size_t hashcode = locale_hash_function (result);
+ size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
+ struct locale_hash_node *p;
+
+ for (p = locale_hash_table[slot]; p != NULL; p = p->next)
+ if (p->locale == result)
+ {
+ /* This can happen if the application uses the original freelocale()
+ function instead of the overridden one. */
+ p->names = node->names;
+ break;
+ }
+ if (p == NULL)
+ {
+ node->next = locale_hash_table[slot];
+ locale_hash_table[slot] = node;
+ }
+
+ gl_rwlock_unlock (locale_lock);
+
+ if (p != NULL)
+ free (node);
+ }
+
+ return result;
+}
+
+/* freelocale() override. */
+void
+freelocale (locale_t locale)
+#undef freelocale
+{
+ if (locale == NULL || locale == LC_GLOBAL_LOCALE)
+ /* Invalid argument. */
+ abort ();
+
+ {
+ size_t hashcode = locale_hash_function (locale);
+ size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
+ struct locale_hash_node *found;
+ struct locale_hash_node **p;
+
+ found = NULL;
+ /* Lock while removing the hash node. */
+ gl_rwlock_wrlock (locale_lock);
+ for (p = &locale_hash_table[slot]; *p != NULL; p = &(*p)->next)
+ if ((*p)->locale == locale)
+ {
+ found = *p;
+ *p = (*p)->next;
+ break;
+ }
+ gl_rwlock_unlock (locale_lock);
+ free (found);
+ }
+
+ freelocale (locale);
+}
+
+#endif
+
+
+const char *
+gl_locale_name_thread_unsafe (int category, _GL_UNUSED const char *categoryname)
+{
+ if (category == LC_ALL)
+ /* Invalid argument. */
+ abort ();
+#if HAVE_GOOD_USELOCALE
+ {
+ locale_t thread_locale = uselocale (NULL);
+ if (thread_locale != LC_GLOBAL_LOCALE)
+ {
+# if __GLIBC__ >= 2 && !defined __UCLIBC__
+ /* Work around an incorrect definition of the _NL_LOCALE_NAME macro in
+ glibc < 2.12.
+ See <https://sourceware.org/bugzilla/show_bug.cgi?id=10968>. */
+ const char *name =
+ nl_langinfo (_NL_ITEM ((category), _NL_ITEM_INDEX (-1)));
+ if (name[0] == '\0')
+ /* Fallback code for glibc < 2.4, which did not implement
+ nl_langinfo (_NL_LOCALE_NAME (category)). */
+ name = thread_locale->__names[category];
+ return name;
+# elif defined __linux__ && HAVE_LANGINFO_H && defined NL_LOCALE_NAME
+ /* musl libc */
+ return nl_langinfo_l (NL_LOCALE_NAME (category), thread_locale);
+# elif (defined __FreeBSD__ || defined __DragonFly__) || (defined __APPLE__ && defined __MACH__)
+ /* FreeBSD, Mac OS X */
+ int mask;
+
+ switch (category)
+ {
+ case LC_CTYPE:
+ mask = LC_CTYPE_MASK;
+ break;
+ case LC_NUMERIC:
+ mask = LC_NUMERIC_MASK;
+ break;
+ case LC_TIME:
+ mask = LC_TIME_MASK;
+ break;
+ case LC_COLLATE:
+ mask = LC_COLLATE_MASK;
+ break;
+ case LC_MONETARY:
+ mask = LC_MONETARY_MASK;
+ break;
+ case LC_MESSAGES:
+ mask = LC_MESSAGES_MASK;
+ break;
+ default: /* We shouldn't get here. */
+ return "";
+ }
+ return querylocale (mask, thread_locale);
+# elif defined __sun
+# if HAVE_GETLOCALENAME_L
+ /* Solaris >= 12. */
+ return getlocalename_l (category, thread_locale);
+# elif HAVE_SOLARIS114_LOCALES
+ /* Solaris >= 11.4. */
+ void *lcp = (*thread_locale)->core.data->lcp;
+ if (lcp != NULL)
+ switch (category)
+ {
+ case LC_CTYPE:
+ case LC_NUMERIC:
+ case LC_TIME:
+ case LC_COLLATE:
+ case LC_MONETARY:
+ case LC_MESSAGES:
+ return ((const char * const *) lcp)[category];
+ default: /* We shouldn't get here. */
+ return "";
+ }
+# elif HAVE_NAMELESS_LOCALES
+ return get_locale_t_name (category, thread_locale);
+# else
+ /* Solaris 11 OpenIndiana.
+ For the internal structure of locale objects, see
+ https://github.com/OpenIndiana/illumos-gate/blob/master/usr/src/lib/libc/port/locale/localeimpl.h */
+ switch (category)
+ {
+ case LC_CTYPE:
+ case LC_NUMERIC:
+ case LC_TIME:
+ case LC_COLLATE:
+ case LC_MONETARY:
+ case LC_MESSAGES:
+ return ((const char * const *) thread_locale)[category];
+ default: /* We shouldn't get here. */
+ return "";
+ }
+# endif
+# elif defined _AIX && HAVE_NAMELESS_LOCALES
+ return get_locale_t_name (category, thread_locale);
+# elif defined __CYGWIN__
+ /* Cygwin < 2.6 lacks uselocale and thread-local locales altogether.
+ Cygwin <= 2.6.1 lacks NL_LOCALE_NAME, requiring peeking inside
+ an opaque struct. */
+# ifdef NL_LOCALE_NAME
+ return nl_langinfo_l (NL_LOCALE_NAME (category), thread_locale);
+# else
+ /* FIXME: Remove when we can assume new-enough Cygwin. */
+ struct __locale_t {
+ char categories[7][32];
+ };
+ return ((struct __locale_t *) thread_locale)->categories[category];
+# endif
+# elif defined __HAIKU__
+ /* Since 2022, Haiku has per-thread locales. locale_t is 'void *',
+ but in fact a 'LocaleBackendData *'. */
+ struct LocaleBackendData {
+ int magic;
+ void /*BPrivate::Libroot::LocaleBackend*/ *backend;
+ void /*BPrivate::Libroot::LocaleDataBridge*/ *databridge;
+ };
+ void *thread_locale_backend =
+ ((struct LocaleBackendData *) thread_locale)->backend;
+ if (thread_locale_backend != NULL)
+ {
+ /* The only existing concrete subclass of
+ BPrivate::Libroot::LocaleBackend is
+ BPrivate::Libroot::ICULocaleBackend.
+ Invoke the (non-virtual) method
+ BPrivate::Libroot::ICULocaleBackend::_QueryLocale on it.
+ This method is located in a separate shared library,
+ libroot-addon-icu.so. */
+ static void * volatile querylocale_method /* = NULL */;
+ static int volatile querylocale_found /* = 0 */;
+ /* Attempt to open this shared library, the first time we get
+ here. */
+ if (querylocale_found == 0)
+ {
+ void *handle =
+ dlopen ("/boot/system/lib/libroot-addon-icu.so", 0);
+ if (handle != NULL)
+ {
+ void *sym =
+ dlsym (handle, "_ZN8BPrivate7Libroot16ICULocaleBackend12_QueryLocaleEi");
+ if (sym != NULL)
+ {
+ querylocale_method = sym;
+ querylocale_found = 1;
+ }
+ else
+ /* Could not find the symbol. */
+ querylocale_found = -1;
+ }
+ else
+ /* Could not open the separate shared library. */
+ querylocale_found = -1;
+ }
+ if (querylocale_found > 0)
+ {
+ /* The _QueryLocale method is a non-static C++ method with
+ parameters (int category) and return type 'const char *'.
+ See
+ haiku/headers/private/libroot/locale/ICULocaleBackend.h
+ haiku/src/system/libroot/add-ons/icu/ICULocaleBackend.cpp
+ This is the same as a C function with parameters
+ (BPrivate::Libroot::LocaleBackend* this, int category)
+ and return type 'const char *'. Invoke it. */
+ const char * (*querylocale_func) (void *, int) =
+ (const char * (*) (void *, int)) querylocale_method;
+ return querylocale_func (thread_locale_backend, category);
+ }
+ }
+ else
+ /* It's the "C" or "POSIX" locale. */
+ return "C";
+# elif defined __ANDROID__
+ return MB_CUR_MAX == 4 ? "C.UTF-8" : "C";
+# endif
+ }
+ }
+#endif
+ /* On WINDOWS_NATIVE, don't use GetThreadLocale() here, because when
+ SetThreadLocale has not been called - which is a very frequent case -
+ the value of GetThreadLocale() ignores past calls to 'setlocale'. */
+ return NULL;
+}
+
+/* XPG3 defines the result of 'setlocale (category, NULL)' as:
+ "Directs 'setlocale()' to query 'category' and return the current
+ setting of 'local'."
+ However it does not specify the exact format. Neither do SUSV2 and
+ ISO C 99. So we can use this feature only on selected systems, where
+ the return value has the XPG syntax
+ language[_territory][.codeset][@modifier]
+ or
+ C[.codeset]
+ namely
+ - glibc systems (except for aliases from /usr/share/locale/locale.alias,
+ that no one uses any more),
+ - musl libc,
+ - FreeBSD, NetBSD,
+ - Solaris,
+ - Haiku.
+ We cannot use it on
+ - macOS, Cygwin (because these systems have a facility for customizing the
+ default locale, and setlocale (category, NULL) ignores it and merely
+ returns "C" or "C.UTF-8"),
+ - OpenBSD (because on OpenBSD ≤ 6.1, LC_ALL does not set the LC_NUMERIC,
+ LC_TIME, LC_COLLATE, LC_MONETARY categories).
+ - AIX (because here the return value has the syntax
+ language[_script]_territory[.codeset]
+ e.g. zh_Hans_CN.UTF-8),
+ - native Windows (because it has locale names such as French_France.1252),
+ - Android (because it only supports the C and C.UTF-8 locales).
+ */
+#if defined _LIBC || ((defined __GLIBC__ && __GLIBC__ >= 2) && !defined __UCLIBC__) || MUSL_LIBC || defined __FreeBSD__ || defined __NetBSD__ || defined __sun || defined __HAIKU__
+# define HAVE_LOCALE_NULL
+#endif
+
+const char *
+gl_locale_name_posix_unsafe (int category, _GL_UNUSED const char *categoryname)
+{
+ if (category == LC_ALL)
+ /* Invalid argument. */
+ abort ();
+#if defined WINDOWS_NATIVE
+ if (LC_MIN <= category && category <= LC_MAX)
+ {
+ const char *locname =
+ /* setlocale_null (category) is identical to setlocale (category, NULL)
+ on this platform. */
+ setlocale (category, NULL);
+
+ /* Convert locale name to LCID. We don't want to use
+ LocaleNameToLCID because (a) it is only available since Vista,
+ and (b) it doesn't accept locale names returned by 'setlocale'. */
+ LCID lcid = get_lcid (locname);
+
+ if (lcid > 0)
+ return gl_locale_name_from_win32_LCID (lcid);
+ }
+#endif
+ {
+ const char *locname;
+
+ /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
+ On some systems this can be done by the 'setlocale' function itself. */
+#if defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
+ /* All platforms for which HAVE_LOCALE_NULL is defined happen to have
+ SETLOCALE_NULL_ONE_MTSAFE defined to 1. Therefore it is OK, here,
+ to call setlocale_null_unlocked instead of setlocale_null. */
+ locname = setlocale_null_unlocked (category);
+#else
+ /* On other systems we ignore what setlocale reports and instead look at the
+ environment variables directly. This is necessary
+ 1. on systems which have a facility for customizing the default locale
+ (macOS, native Windows, Cygwin) and where the system's setlocale()
+ function ignores this default locale (macOS, Cygwin), in two cases:
+ a. when the user missed to use the setlocale() override from libintl
+ (for example by not including <libintl.h>),
+ b. when setlocale supports only the "C" locale, such as on Cygwin
+ 1.5.x. In this case even the override from libintl cannot help.
+ 2. on all systems where setlocale supports only the "C" locale. */
+ /* Strictly speaking, it is a POSIX violation to look at the environment
+ variables regardless whether setlocale has been called or not. POSIX
+ says:
+ "For C-language programs, the POSIX locale shall be the
+ default locale when the setlocale() function is not called."
+ But we assume that all programs that use internationalized APIs call
+ setlocale (LC_ALL, ""). */
+ locname = gl_locale_name_environ (category, categoryname);
+#endif
+ /* Convert the locale name from the format returned by setlocale() or found
+ in the environment variables to the XPG syntax. */
+#if defined WINDOWS_NATIVE
+ if (locname != NULL)
+ {
+ /* Convert locale name to LCID. We don't want to use
+ LocaleNameToLCID because (a) it is only available since Vista,
+ and (b) it doesn't accept locale names returned by 'setlocale'. */
+ LCID lcid = get_lcid (locname);
+
+ if (lcid > 0)
+ return gl_locale_name_from_win32_LCID (lcid);
+ }
+#endif
+ return locname;
+ }
+}
+
+const char *
+gl_locale_name_environ (_GL_UNUSED int category, const char *categoryname)
+{
+ const char *retval;
+
+ /* Setting of LC_ALL overrides all other. */
+ retval = getenv ("LC_ALL");
+ if (retval != NULL && retval[0] != '\0')
+ return retval;
+ /* Next comes the name of the desired category. */
+ retval = getenv (categoryname);
+ if (retval != NULL && retval[0] != '\0')
+ return retval;
+ /* Last possibility is the LANG environment variable. */
+ retval = getenv ("LANG");
+ if (retval != NULL && retval[0] != '\0')
+ {
+#if HAVE_CFPREFERENCESCOPYAPPVALUE
+ /* Mac OS X 10.2 or newer.
+ Ignore invalid LANG value set by the Terminal application. */
+ if (strcmp (retval, "UTF-8") != 0)
+#endif
+#if defined __CYGWIN__
+ /* Cygwin.
+ Ignore dummy LANG value set by ~/.profile. */
+ if (strcmp (retval, "C.UTF-8") != 0)
+#endif
+ return retval;
+ }
+
+ return NULL;
+}
+
+const char *
+gl_locale_name_default (void)
+{
+ /* POSIX:2001 says:
+ "All implementations shall define a locale as the default locale, to be
+ invoked when no environment variables are set, or set to the empty
+ string. This default locale can be the POSIX locale or any other
+ implementation-defined locale. Some implementations may provide
+ facilities for local installation administrators to set the default
+ locale, customizing it for each location. POSIX:2001 does not require
+ such a facility.
+
+ The systems with such a facility are Mac OS X and Windows: They provide a
+ GUI that allows the user to choose a locale.
+ - On Mac OS X, by default, none of LC_* or LANG are set. Starting with
+ Mac OS X 10.4 or 10.5, LANG is set for processes launched by the
+ 'Terminal' application (but sometimes to an incorrect value "UTF-8").
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ "C" locale.
+ - On native Windows, by default, none of LC_* or LANG are set.
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ locale chosen by the user.
+ - On Cygwin 1.5.x, by default, none of LC_* or LANG are set.
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ "C" locale.
+ - On Cygwin 1.7, by default, LANG is set to "C.UTF-8" when the default
+ ~/.profile is executed.
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ "C.UTF-8" locale, which operates in the same way as the "C" locale.
+ */
+
+#if !(HAVE_CFPREFERENCESCOPYAPPVALUE || defined WINDOWS_NATIVE || defined __CYGWIN__)
+
+ /* The system does not have a way of setting the locale, other than the
+ POSIX specified environment variables. We use C as default locale. */
+ return "C";
+
+#else
+
+ /* Return an XPG style locale name language[_territory][@modifier].
+ Don't even bother determining the codeset; it's not useful in this
+ context, because message catalogs are not specific to a single
+ codeset. */
+
+# if HAVE_CFPREFERENCESCOPYAPPVALUE
+ /* Mac OS X 10.4 or newer */
+ /* Don't use the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent,
+ because in macOS 10.13.4 it has the following behaviour:
+ When two or more languages are specified in the
+ "System Preferences > Language & Region > Preferred Languages" panel,
+ it returns en_CC where CC is the territory (even when English is not among
+ the preferred languages!). What we want instead is what
+ CFLocaleCopyCurrent returned in earlier macOS releases and what
+ CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the
+ first among the preferred languages and CC is the territory. */
+ {
+ /* Cache the locale name, since CoreFoundation calls are expensive. */
+ static const char *cached_localename;
+
+ if (cached_localename == NULL)
+ {
+ char namebuf[256];
+ CFTypeRef value =
+ CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
+ kCFPreferencesCurrentApplication);
+ if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ())
+ {
+ CFStringRef name = (CFStringRef)value;
+
+ if (CFStringGetCString (name, namebuf, sizeof (namebuf),
+ kCFStringEncodingASCII))
+ {
+ gl_locale_name_canonicalize (namebuf);
+ cached_localename = strdup (namebuf);
+ }
+ }
+ if (cached_localename == NULL)
+ cached_localename = "C";
+ }
+ return cached_localename;
+ }
+
+# endif
+
+# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
+ {
+ LCID lcid;
+
+ /* Use native Windows API locale ID. */
+ lcid = GetThreadLocale ();
+
+ return gl_locale_name_from_win32_LCID (lcid);
+ }
+# endif
+#endif
+}
+
+/* Determine the current locale's name, and canonicalize it into XPG syntax
+ language[_territory][.codeset][@modifier]
+ The codeset part in the result is not reliable; the locale_charset()
+ should be used for codeset information instead.
+ The result must not be freed. It is only valid in the current thread,
+ until the next uselocale(), setlocale(), newlocale(), or freelocale()
+ call. */
+
+const char *
+gl_locale_name_unsafe (int category, const char *categoryname)
+{
+ const char *retval;
+
+ if (category == LC_ALL)
+ /* Invalid argument. */
+ abort ();
+
+ retval = gl_locale_name_thread_unsafe (category, categoryname);
+ if (retval != NULL)
+ return retval;
+
+ retval = gl_locale_name_posix_unsafe (category, categoryname);
+ if (retval != NULL)
+ return retval;
+
+ return gl_locale_name_default ();
+}
diff --git a/lib/localename.c b/lib/localename.c
index 3a1d96ad..203b829b 100644
--- a/lib/localename.c
+++ b/lib/localename.c
@@ -1,12 +1,12 @@
/* Determine name of the currently selected locale.
- Copyright (C) 1995-2022 Free Software Foundation, Inc.
+ Copyright (C) 1995-2024 Free Software Foundation, Inc.
- This program 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.
+ This file 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.
- This program is distributed in the hope that it will be useful,
+ This file 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.
@@ -14,9 +14,11 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
-/* Native Windows code written by Tor Lillqvist <tml@iki.fi>. */
-/* Mac OS X code written by Bruno Haible <bruno@clisp.org>. */
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the locale == NULL tests below in duplocale() and freelocale(),
+ or xlclang reports -Wtautological-pointer-compare warnings for these tests.
+ */
+#define _GL_ARG_NONNULL(params)
#include <config.h>
@@ -24,3409 +26,42 @@
#include "localename.h"
#include <limits.h>
-#include <stddef.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#include "flexmember.h"
-#include "setlocale_null.h"
+#include "glthread/lock.h"
#include "thread-optim.h"
-#if HAVE_GOOD_USELOCALE
-/* Mac OS X 10.5 defines the locale_t type in <xlocale.h>. */
-# if defined __APPLE__ && defined __MACH__
-# include <xlocale.h>
-# endif
-# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || (defined __linux__ && HAVE_LANGINFO_H) || defined __CYGWIN__
-# include <langinfo.h>
-# endif
-# include "glthread/lock.h"
-# if defined __sun
-# if HAVE_GETLOCALENAME_L
-/* Solaris >= 12. */
-extern char * getlocalename_l(int, locale_t);
-# elif HAVE_SOLARIS114_LOCALES
-# include <sys/localedef.h>
-# endif
-# endif
-# if HAVE_NAMELESS_LOCALES
-# include "localename-table.h"
-# endif
-#endif
-#if HAVE_CFPREFERENCESCOPYAPPVALUE
-# include <CoreFoundation/CFString.h>
-# include <CoreFoundation/CFPreferences.h>
-#endif
+/* Define a local struniq() function. */
+#include "struniq.h"
-#if defined _WIN32 && !defined __CYGWIN__
-# define WINDOWS_NATIVE
-# include "glthread/lock.h"
-#endif
-
-#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-# include <winnls.h>
-/* List of language codes, sorted by value:
- 0x01 LANG_ARABIC
- 0x02 LANG_BULGARIAN
- 0x03 LANG_CATALAN
- 0x04 LANG_CHINESE
- 0x05 LANG_CZECH
- 0x06 LANG_DANISH
- 0x07 LANG_GERMAN
- 0x08 LANG_GREEK
- 0x09 LANG_ENGLISH
- 0x0a LANG_SPANISH
- 0x0b LANG_FINNISH
- 0x0c LANG_FRENCH
- 0x0d LANG_HEBREW
- 0x0e LANG_HUNGARIAN
- 0x0f LANG_ICELANDIC
- 0x10 LANG_ITALIAN
- 0x11 LANG_JAPANESE
- 0x12 LANG_KOREAN
- 0x13 LANG_DUTCH
- 0x14 LANG_NORWEGIAN
- 0x15 LANG_POLISH
- 0x16 LANG_PORTUGUESE
- 0x17 LANG_ROMANSH
- 0x18 LANG_ROMANIAN
- 0x19 LANG_RUSSIAN
- 0x1a LANG_CROATIAN == LANG_SERBIAN
- 0x1b LANG_SLOVAK
- 0x1c LANG_ALBANIAN
- 0x1d LANG_SWEDISH
- 0x1e LANG_THAI
- 0x1f LANG_TURKISH
- 0x20 LANG_URDU
- 0x21 LANG_INDONESIAN
- 0x22 LANG_UKRAINIAN
- 0x23 LANG_BELARUSIAN
- 0x24 LANG_SLOVENIAN
- 0x25 LANG_ESTONIAN
- 0x26 LANG_LATVIAN
- 0x27 LANG_LITHUANIAN
- 0x28 LANG_TAJIK
- 0x29 LANG_FARSI
- 0x2a LANG_VIETNAMESE
- 0x2b LANG_ARMENIAN
- 0x2c LANG_AZERI
- 0x2d LANG_BASQUE
- 0x2e LANG_SORBIAN
- 0x2f LANG_MACEDONIAN
- 0x30 LANG_SUTU
- 0x31 LANG_TSONGA
- 0x32 LANG_TSWANA
- 0x33 LANG_VENDA
- 0x34 LANG_XHOSA
- 0x35 LANG_ZULU
- 0x36 LANG_AFRIKAANS
- 0x37 LANG_GEORGIAN
- 0x38 LANG_FAEROESE
- 0x39 LANG_HINDI
- 0x3a LANG_MALTESE
- 0x3b LANG_SAMI
- 0x3c LANG_GAELIC
- 0x3d LANG_YIDDISH
- 0x3e LANG_MALAY
- 0x3f LANG_KAZAK
- 0x40 LANG_KYRGYZ
- 0x41 LANG_SWAHILI
- 0x42 LANG_TURKMEN
- 0x43 LANG_UZBEK
- 0x44 LANG_TATAR
- 0x45 LANG_BENGALI
- 0x46 LANG_PUNJABI
- 0x47 LANG_GUJARATI
- 0x48 LANG_ORIYA
- 0x49 LANG_TAMIL
- 0x4a LANG_TELUGU
- 0x4b LANG_KANNADA
- 0x4c LANG_MALAYALAM
- 0x4d LANG_ASSAMESE
- 0x4e LANG_MARATHI
- 0x4f LANG_SANSKRIT
- 0x50 LANG_MONGOLIAN
- 0x51 LANG_TIBETAN
- 0x52 LANG_WELSH
- 0x53 LANG_CAMBODIAN
- 0x54 LANG_LAO
- 0x55 LANG_BURMESE
- 0x56 LANG_GALICIAN
- 0x57 LANG_KONKANI
- 0x58 LANG_MANIPURI
- 0x59 LANG_SINDHI
- 0x5a LANG_SYRIAC
- 0x5b LANG_SINHALESE
- 0x5c LANG_CHEROKEE
- 0x5d LANG_INUKTITUT
- 0x5e LANG_AMHARIC
- 0x5f LANG_TAMAZIGHT
- 0x60 LANG_KASHMIRI
- 0x61 LANG_NEPALI
- 0x62 LANG_FRISIAN
- 0x63 LANG_PASHTO
- 0x64 LANG_TAGALOG
- 0x65 LANG_DIVEHI
- 0x66 LANG_EDO
- 0x67 LANG_FULFULDE
- 0x68 LANG_HAUSA
- 0x69 LANG_IBIBIO
- 0x6a LANG_YORUBA
- 0x6d LANG_BASHKIR
- 0x6e LANG_LUXEMBOURGISH
- 0x6f LANG_GREENLANDIC
- 0x70 LANG_IGBO
- 0x71 LANG_KANURI
- 0x72 LANG_OROMO
- 0x73 LANG_TIGRINYA
- 0x74 LANG_GUARANI
- 0x75 LANG_HAWAIIAN
- 0x76 LANG_LATIN
- 0x77 LANG_SOMALI
- 0x78 LANG_YI
- 0x79 LANG_PAPIAMENTU
- 0x7a LANG_MAPUDUNGUN
- 0x7c LANG_MOHAWK
- 0x7e LANG_BRETON
- 0x82 LANG_OCCITAN
- 0x83 LANG_CORSICAN
- 0x84 LANG_ALSATIAN
- 0x85 LANG_YAKUT
- 0x86 LANG_KICHE
- 0x87 LANG_KINYARWANDA
- 0x88 LANG_WOLOF
- 0x8c LANG_DARI
- 0x91 LANG_SCOTTISH_GAELIC
-*/
-/* Mingw headers don't have latest language and sublanguage codes. */
-# ifndef LANG_AFRIKAANS
-# define LANG_AFRIKAANS 0x36
-# endif
-# ifndef LANG_ALBANIAN
-# define LANG_ALBANIAN 0x1c
-# endif
-# ifndef LANG_ALSATIAN
-# define LANG_ALSATIAN 0x84
-# endif
-# ifndef LANG_AMHARIC
-# define LANG_AMHARIC 0x5e
-# endif
-# ifndef LANG_ARABIC
-# define LANG_ARABIC 0x01
-# endif
-# ifndef LANG_ARMENIAN
-# define LANG_ARMENIAN 0x2b
-# endif
-# ifndef LANG_ASSAMESE
-# define LANG_ASSAMESE 0x4d
-# endif
-# ifndef LANG_AZERI
-# define LANG_AZERI 0x2c
-# endif
-# ifndef LANG_BASHKIR
-# define LANG_BASHKIR 0x6d
-# endif
-# ifndef LANG_BASQUE
-# define LANG_BASQUE 0x2d
-# endif
-# ifndef LANG_BELARUSIAN
-# define LANG_BELARUSIAN 0x23
-# endif
-# ifndef LANG_BENGALI
-# define LANG_BENGALI 0x45
-# endif
-# ifndef LANG_BRETON
-# define LANG_BRETON 0x7e
-# endif
-# ifndef LANG_BURMESE
-# define LANG_BURMESE 0x55
-# endif
-# ifndef LANG_CAMBODIAN
-# define LANG_CAMBODIAN 0x53
-# endif
-# ifndef LANG_CATALAN
-# define LANG_CATALAN 0x03
-# endif
-# ifndef LANG_CHEROKEE
-# define LANG_CHEROKEE 0x5c
-# endif
-# ifndef LANG_CORSICAN
-# define LANG_CORSICAN 0x83
-# endif
-# ifndef LANG_DARI
-# define LANG_DARI 0x8c
-# endif
-# ifndef LANG_DIVEHI
-# define LANG_DIVEHI 0x65
-# endif
-# ifndef LANG_EDO
-# define LANG_EDO 0x66
-# endif
-# ifndef LANG_ESTONIAN
-# define LANG_ESTONIAN 0x25
-# endif
-# ifndef LANG_FAEROESE
-# define LANG_FAEROESE 0x38
-# endif
-# ifndef LANG_FARSI
-# define LANG_FARSI 0x29
-# endif
-# ifndef LANG_FRISIAN
-# define LANG_FRISIAN 0x62
-# endif
-# ifndef LANG_FULFULDE
-# define LANG_FULFULDE 0x67
-# endif
-# ifndef LANG_GAELIC
-# define LANG_GAELIC 0x3c
-# endif
-# ifndef LANG_GALICIAN
-# define LANG_GALICIAN 0x56
-# endif
-# ifndef LANG_GEORGIAN
-# define LANG_GEORGIAN 0x37
-# endif
-# ifndef LANG_GREENLANDIC
-# define LANG_GREENLANDIC 0x6f
-# endif
-# ifndef LANG_GUARANI
-# define LANG_GUARANI 0x74
-# endif
-# ifndef LANG_GUJARATI
-# define LANG_GUJARATI 0x47
-# endif
-# ifndef LANG_HAUSA
-# define LANG_HAUSA 0x68
-# endif
-# ifndef LANG_HAWAIIAN
-# define LANG_HAWAIIAN 0x75
-# endif
-# ifndef LANG_HEBREW
-# define LANG_HEBREW 0x0d
-# endif
-# ifndef LANG_HINDI
-# define LANG_HINDI 0x39
-# endif
-# ifndef LANG_IBIBIO
-# define LANG_IBIBIO 0x69
-# endif
-# ifndef LANG_IGBO
-# define LANG_IGBO 0x70
-# endif
-# ifndef LANG_INDONESIAN
-# define LANG_INDONESIAN 0x21
-# endif
-# ifndef LANG_INUKTITUT
-# define LANG_INUKTITUT 0x5d
-# endif
-# ifndef LANG_KANNADA
-# define LANG_KANNADA 0x4b
-# endif
-# ifndef LANG_KANURI
-# define LANG_KANURI 0x71
-# endif
-# ifndef LANG_KASHMIRI
-# define LANG_KASHMIRI 0x60
-# endif
-# ifndef LANG_KAZAK
-# define LANG_KAZAK 0x3f
-# endif
-# ifndef LANG_KICHE
-# define LANG_KICHE 0x86
-# endif
-# ifndef LANG_KINYARWANDA
-# define LANG_KINYARWANDA 0x87
-# endif
-# ifndef LANG_KONKANI
-# define LANG_KONKANI 0x57
-# endif
-# ifndef LANG_KYRGYZ
-# define LANG_KYRGYZ 0x40
-# endif
-# ifndef LANG_LAO
-# define LANG_LAO 0x54
-# endif
-# ifndef LANG_LATIN
-# define LANG_LATIN 0x76
-# endif
-# ifndef LANG_LATVIAN
-# define LANG_LATVIAN 0x26
-# endif
-# ifndef LANG_LITHUANIAN
-# define LANG_LITHUANIAN 0x27
-# endif
-# ifndef LANG_LUXEMBOURGISH
-# define LANG_LUXEMBOURGISH 0x6e
-# endif
-# ifndef LANG_MACEDONIAN
-# define LANG_MACEDONIAN 0x2f
-# endif
-# ifndef LANG_MALAY
-# define LANG_MALAY 0x3e
-# endif
-# ifndef LANG_MALAYALAM
-# define LANG_MALAYALAM 0x4c
-# endif
-# ifndef LANG_MALTESE
-# define LANG_MALTESE 0x3a
-# endif
-# ifndef LANG_MANIPURI
-# define LANG_MANIPURI 0x58
-# endif
-# ifndef LANG_MAORI
-# define LANG_MAORI 0x81
-# endif
-# ifndef LANG_MAPUDUNGUN
-# define LANG_MAPUDUNGUN 0x7a
-# endif
-# ifndef LANG_MARATHI
-# define LANG_MARATHI 0x4e
-# endif
-# ifndef LANG_MOHAWK
-# define LANG_MOHAWK 0x7c
-# endif
-# ifndef LANG_MONGOLIAN
-# define LANG_MONGOLIAN 0x50
-# endif
-# ifndef LANG_NEPALI
-# define LANG_NEPALI 0x61
-# endif
-# ifndef LANG_OCCITAN
-# define LANG_OCCITAN 0x82
-# endif
-# ifndef LANG_ORIYA
-# define LANG_ORIYA 0x48
-# endif
-# ifndef LANG_OROMO
-# define LANG_OROMO 0x72
-# endif
-# ifndef LANG_PAPIAMENTU
-# define LANG_PAPIAMENTU 0x79
-# endif
-# ifndef LANG_PASHTO
-# define LANG_PASHTO 0x63
-# endif
-# ifndef LANG_PUNJABI
-# define LANG_PUNJABI 0x46
-# endif
-# ifndef LANG_QUECHUA
-# define LANG_QUECHUA 0x6b
-# endif
-# ifndef LANG_ROMANSH
-# define LANG_ROMANSH 0x17
-# endif
-# ifndef LANG_SAMI
-# define LANG_SAMI 0x3b
-# endif
-# ifndef LANG_SANSKRIT
-# define LANG_SANSKRIT 0x4f
-# endif
-# ifndef LANG_SCOTTISH_GAELIC
-# define LANG_SCOTTISH_GAELIC 0x91
-# endif
-# ifndef LANG_SERBIAN
-# define LANG_SERBIAN 0x1a
-# endif
-# ifndef LANG_SINDHI
-# define LANG_SINDHI 0x59
-# endif
-# ifndef LANG_SINHALESE
-# define LANG_SINHALESE 0x5b
-# endif
-# ifndef LANG_SLOVAK
-# define LANG_SLOVAK 0x1b
-# endif
-# ifndef LANG_SOMALI
-# define LANG_SOMALI 0x77
-# endif
-# ifndef LANG_SORBIAN
-# define LANG_SORBIAN 0x2e
-# endif
-# ifndef LANG_SOTHO
-# define LANG_SOTHO 0x6c
-# endif
-# ifndef LANG_SUTU
-# define LANG_SUTU 0x30
-# endif
-# ifndef LANG_SWAHILI
-# define LANG_SWAHILI 0x41
-# endif
-# ifndef LANG_SYRIAC
-# define LANG_SYRIAC 0x5a
-# endif
-# ifndef LANG_TAGALOG
-# define LANG_TAGALOG 0x64
-# endif
-# ifndef LANG_TAJIK
-# define LANG_TAJIK 0x28
-# endif
-# ifndef LANG_TAMAZIGHT
-# define LANG_TAMAZIGHT 0x5f
-# endif
-# ifndef LANG_TAMIL
-# define LANG_TAMIL 0x49
-# endif
-# ifndef LANG_TATAR
-# define LANG_TATAR 0x44
-# endif
-# ifndef LANG_TELUGU
-# define LANG_TELUGU 0x4a
-# endif
-# ifndef LANG_THAI
-# define LANG_THAI 0x1e
-# endif
-# ifndef LANG_TIBETAN
-# define LANG_TIBETAN 0x51
-# endif
-# ifndef LANG_TIGRINYA
-# define LANG_TIGRINYA 0x73
-# endif
-# ifndef LANG_TSONGA
-# define LANG_TSONGA 0x31
-# endif
-# ifndef LANG_TSWANA
-# define LANG_TSWANA 0x32
-# endif
-# ifndef LANG_TURKMEN
-# define LANG_TURKMEN 0x42
-# endif
-# ifndef LANG_UIGHUR
-# define LANG_UIGHUR 0x80
-# endif
-# ifndef LANG_UKRAINIAN
-# define LANG_UKRAINIAN 0x22
-# endif
-# ifndef LANG_URDU
-# define LANG_URDU 0x20
-# endif
-# ifndef LANG_UZBEK
-# define LANG_UZBEK 0x43
-# endif
-# ifndef LANG_VENDA
-# define LANG_VENDA 0x33
-# endif
-# ifndef LANG_VIETNAMESE
-# define LANG_VIETNAMESE 0x2a
-# endif
-# ifndef LANG_WELSH
-# define LANG_WELSH 0x52
-# endif
-# ifndef LANG_WOLOF
-# define LANG_WOLOF 0x88
-# endif
-# ifndef LANG_XHOSA
-# define LANG_XHOSA 0x34
-# endif
-# ifndef LANG_YAKUT
-# define LANG_YAKUT 0x85
-# endif
-# ifndef LANG_YI
-# define LANG_YI 0x78
-# endif
-# ifndef LANG_YIDDISH
-# define LANG_YIDDISH 0x3d
-# endif
-# ifndef LANG_YORUBA
-# define LANG_YORUBA 0x6a
-# endif
-# ifndef LANG_ZULU
-# define LANG_ZULU 0x35
-# endif
-# ifndef SUBLANG_AFRIKAANS_SOUTH_AFRICA
-# define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_ALBANIAN_ALBANIA
-# define SUBLANG_ALBANIAN_ALBANIA 0x01
-# endif
-# ifndef SUBLANG_ALSATIAN_FRANCE
-# define SUBLANG_ALSATIAN_FRANCE 0x01
-# endif
-# ifndef SUBLANG_AMHARIC_ETHIOPIA
-# define SUBLANG_AMHARIC_ETHIOPIA 0x01
-# endif
-# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
-# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
-# endif
-# ifndef SUBLANG_ARABIC_IRAQ
-# define SUBLANG_ARABIC_IRAQ 0x02
-# endif
-# ifndef SUBLANG_ARABIC_EGYPT
-# define SUBLANG_ARABIC_EGYPT 0x03
-# endif
-# ifndef SUBLANG_ARABIC_LIBYA
-# define SUBLANG_ARABIC_LIBYA 0x04
-# endif
-# ifndef SUBLANG_ARABIC_ALGERIA
-# define SUBLANG_ARABIC_ALGERIA 0x05
-# endif
-# ifndef SUBLANG_ARABIC_MOROCCO
-# define SUBLANG_ARABIC_MOROCCO 0x06
-# endif
-# ifndef SUBLANG_ARABIC_TUNISIA
-# define SUBLANG_ARABIC_TUNISIA 0x07
-# endif
-# ifndef SUBLANG_ARABIC_OMAN
-# define SUBLANG_ARABIC_OMAN 0x08
-# endif
-# ifndef SUBLANG_ARABIC_YEMEN
-# define SUBLANG_ARABIC_YEMEN 0x09
-# endif
-# ifndef SUBLANG_ARABIC_SYRIA
-# define SUBLANG_ARABIC_SYRIA 0x0a
-# endif
-# ifndef SUBLANG_ARABIC_JORDAN
-# define SUBLANG_ARABIC_JORDAN 0x0b
-# endif
-# ifndef SUBLANG_ARABIC_LEBANON
-# define SUBLANG_ARABIC_LEBANON 0x0c
-# endif
-# ifndef SUBLANG_ARABIC_KUWAIT
-# define SUBLANG_ARABIC_KUWAIT 0x0d
-# endif
-# ifndef SUBLANG_ARABIC_UAE
-# define SUBLANG_ARABIC_UAE 0x0e
-# endif
-# ifndef SUBLANG_ARABIC_BAHRAIN
-# define SUBLANG_ARABIC_BAHRAIN 0x0f
-# endif
-# ifndef SUBLANG_ARABIC_QATAR
-# define SUBLANG_ARABIC_QATAR 0x10
-# endif
-# ifndef SUBLANG_ARMENIAN_ARMENIA
-# define SUBLANG_ARMENIAN_ARMENIA 0x01
-# endif
-# ifndef SUBLANG_ASSAMESE_INDIA
-# define SUBLANG_ASSAMESE_INDIA 0x01
-# endif
-# ifndef SUBLANG_AZERI_LATIN
-# define SUBLANG_AZERI_LATIN 0x01
-# endif
-# ifndef SUBLANG_AZERI_CYRILLIC
-# define SUBLANG_AZERI_CYRILLIC 0x02
-# endif
-# ifndef SUBLANG_BASHKIR_RUSSIA
-# define SUBLANG_BASHKIR_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_BASQUE_BASQUE
-# define SUBLANG_BASQUE_BASQUE 0x01
-# endif
-# ifndef SUBLANG_BELARUSIAN_BELARUS
-# define SUBLANG_BELARUSIAN_BELARUS 0x01
-# endif
-# ifndef SUBLANG_BENGALI_INDIA
-# define SUBLANG_BENGALI_INDIA 0x01
-# endif
-# ifndef SUBLANG_BENGALI_BANGLADESH
-# define SUBLANG_BENGALI_BANGLADESH 0x02
-# endif
-# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN
-# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05
-# endif
-# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC
-# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08
-# endif
-# ifndef SUBLANG_BRETON_FRANCE
-# define SUBLANG_BRETON_FRANCE 0x01
-# endif
-# ifndef SUBLANG_BULGARIAN_BULGARIA
-# define SUBLANG_BULGARIAN_BULGARIA 0x01
-# endif
-# ifndef SUBLANG_CAMBODIAN_CAMBODIA
-# define SUBLANG_CAMBODIAN_CAMBODIA 0x01
-# endif
-# ifndef SUBLANG_CATALAN_SPAIN
-# define SUBLANG_CATALAN_SPAIN 0x01
-# endif
-# ifndef SUBLANG_CORSICAN_FRANCE
-# define SUBLANG_CORSICAN_FRANCE 0x01
-# endif
-# ifndef SUBLANG_CROATIAN_CROATIA
-# define SUBLANG_CROATIAN_CROATIA 0x01
-# endif
-# ifndef SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN
-# define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04
-# endif
-# ifndef SUBLANG_CHINESE_MACAU
-# define SUBLANG_CHINESE_MACAU 0x05
-# endif
-# ifndef SUBLANG_CZECH_CZECH_REPUBLIC
-# define SUBLANG_CZECH_CZECH_REPUBLIC 0x01
-# endif
-# ifndef SUBLANG_DANISH_DENMARK
-# define SUBLANG_DANISH_DENMARK 0x01
-# endif
-# ifndef SUBLANG_DARI_AFGHANISTAN
-# define SUBLANG_DARI_AFGHANISTAN 0x01
-# endif
-# ifndef SUBLANG_DIVEHI_MALDIVES
-# define SUBLANG_DIVEHI_MALDIVES 0x01
-# endif
-# ifndef SUBLANG_DUTCH_SURINAM
-# define SUBLANG_DUTCH_SURINAM 0x03
-# endif
-# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
-# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
-# endif
-# ifndef SUBLANG_ENGLISH_JAMAICA
-# define SUBLANG_ENGLISH_JAMAICA 0x08
-# endif
-# ifndef SUBLANG_ENGLISH_CARIBBEAN
-# define SUBLANG_ENGLISH_CARIBBEAN 0x09
-# endif
-# ifndef SUBLANG_ENGLISH_BELIZE
-# define SUBLANG_ENGLISH_BELIZE 0x0a
-# endif
-# ifndef SUBLANG_ENGLISH_TRINIDAD
-# define SUBLANG_ENGLISH_TRINIDAD 0x0b
-# endif
-# ifndef SUBLANG_ENGLISH_ZIMBABWE
-# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
-# endif
-# ifndef SUBLANG_ENGLISH_PHILIPPINES
-# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
-# endif
-# ifndef SUBLANG_ENGLISH_INDONESIA
-# define SUBLANG_ENGLISH_INDONESIA 0x0e
-# endif
-# ifndef SUBLANG_ENGLISH_HONGKONG
-# define SUBLANG_ENGLISH_HONGKONG 0x0f
-# endif
-# ifndef SUBLANG_ENGLISH_INDIA
-# define SUBLANG_ENGLISH_INDIA 0x10
-# endif
-# ifndef SUBLANG_ENGLISH_MALAYSIA
-# define SUBLANG_ENGLISH_MALAYSIA 0x11
-# endif
-# ifndef SUBLANG_ENGLISH_SINGAPORE
-# define SUBLANG_ENGLISH_SINGAPORE 0x12
-# endif
-# ifndef SUBLANG_ESTONIAN_ESTONIA
-# define SUBLANG_ESTONIAN_ESTONIA 0x01
-# endif
-# ifndef SUBLANG_FAEROESE_FAROE_ISLANDS
-# define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01
-# endif
-# ifndef SUBLANG_FARSI_IRAN
-# define SUBLANG_FARSI_IRAN 0x01
-# endif
-# ifndef SUBLANG_FINNISH_FINLAND
-# define SUBLANG_FINNISH_FINLAND 0x01
-# endif
-# ifndef SUBLANG_FRENCH_LUXEMBOURG
-# define SUBLANG_FRENCH_LUXEMBOURG 0x05
-# endif
-# ifndef SUBLANG_FRENCH_MONACO
-# define SUBLANG_FRENCH_MONACO 0x06
-# endif
-# ifndef SUBLANG_FRENCH_WESTINDIES
-# define SUBLANG_FRENCH_WESTINDIES 0x07
-# endif
-# ifndef SUBLANG_FRENCH_REUNION
-# define SUBLANG_FRENCH_REUNION 0x08
-# endif
-# ifndef SUBLANG_FRENCH_CONGO
-# define SUBLANG_FRENCH_CONGO 0x09
-# endif
-# ifndef SUBLANG_FRENCH_SENEGAL
-# define SUBLANG_FRENCH_SENEGAL 0x0a
-# endif
-# ifndef SUBLANG_FRENCH_CAMEROON
-# define SUBLANG_FRENCH_CAMEROON 0x0b
-# endif
-# ifndef SUBLANG_FRENCH_COTEDIVOIRE
-# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
-# endif
-# ifndef SUBLANG_FRENCH_MALI
-# define SUBLANG_FRENCH_MALI 0x0d
-# endif
-# ifndef SUBLANG_FRENCH_MOROCCO
-# define SUBLANG_FRENCH_MOROCCO 0x0e
-# endif
-# ifndef SUBLANG_FRENCH_HAITI
-# define SUBLANG_FRENCH_HAITI 0x0f
-# endif
-# ifndef SUBLANG_FRISIAN_NETHERLANDS
-# define SUBLANG_FRISIAN_NETHERLANDS 0x01
-# endif
-# ifndef SUBLANG_GALICIAN_SPAIN
-# define SUBLANG_GALICIAN_SPAIN 0x01
-# endif
-# ifndef SUBLANG_GEORGIAN_GEORGIA
-# define SUBLANG_GEORGIAN_GEORGIA 0x01
-# endif
-# ifndef SUBLANG_GERMAN_LUXEMBOURG
-# define SUBLANG_GERMAN_LUXEMBOURG 0x04
-# endif
-# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
-# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
-# endif
-# ifndef SUBLANG_GREEK_GREECE
-# define SUBLANG_GREEK_GREECE 0x01
-# endif
-# ifndef SUBLANG_GREENLANDIC_GREENLAND
-# define SUBLANG_GREENLANDIC_GREENLAND 0x01
-# endif
-# ifndef SUBLANG_GUJARATI_INDIA
-# define SUBLANG_GUJARATI_INDIA 0x01
-# endif
-# ifndef SUBLANG_HAUSA_NIGERIA_LATIN
-# define SUBLANG_HAUSA_NIGERIA_LATIN 0x01
-# endif
-# ifndef SUBLANG_HEBREW_ISRAEL
-# define SUBLANG_HEBREW_ISRAEL 0x01
-# endif
-# ifndef SUBLANG_HINDI_INDIA
-# define SUBLANG_HINDI_INDIA 0x01
-# endif
-# ifndef SUBLANG_HUNGARIAN_HUNGARY
-# define SUBLANG_HUNGARIAN_HUNGARY 0x01
-# endif
-# ifndef SUBLANG_ICELANDIC_ICELAND
-# define SUBLANG_ICELANDIC_ICELAND 0x01
-# endif
-# ifndef SUBLANG_IGBO_NIGERIA
-# define SUBLANG_IGBO_NIGERIA 0x01
-# endif
-# ifndef SUBLANG_INDONESIAN_INDONESIA
-# define SUBLANG_INDONESIAN_INDONESIA 0x01
-# endif
-# ifndef SUBLANG_INUKTITUT_CANADA
-# define SUBLANG_INUKTITUT_CANADA 0x01
-# endif
-# undef SUBLANG_INUKTITUT_CANADA_LATIN
-# define SUBLANG_INUKTITUT_CANADA_LATIN 0x02
-# undef SUBLANG_IRISH_IRELAND
-# define SUBLANG_IRISH_IRELAND 0x02
-# ifndef SUBLANG_JAPANESE_JAPAN
-# define SUBLANG_JAPANESE_JAPAN 0x01
-# endif
-# ifndef SUBLANG_KANNADA_INDIA
-# define SUBLANG_KANNADA_INDIA 0x01
-# endif
-# ifndef SUBLANG_KASHMIRI_INDIA
-# define SUBLANG_KASHMIRI_INDIA 0x02
-# endif
-# ifndef SUBLANG_KAZAK_KAZAKHSTAN
-# define SUBLANG_KAZAK_KAZAKHSTAN 0x01
-# endif
-# ifndef SUBLANG_KICHE_GUATEMALA
-# define SUBLANG_KICHE_GUATEMALA 0x01
-# endif
-# ifndef SUBLANG_KINYARWANDA_RWANDA
-# define SUBLANG_KINYARWANDA_RWANDA 0x01
-# endif
-# ifndef SUBLANG_KONKANI_INDIA
-# define SUBLANG_KONKANI_INDIA 0x01
-# endif
-# ifndef SUBLANG_KYRGYZ_KYRGYZSTAN
-# define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01
-# endif
-# ifndef SUBLANG_LAO_LAOS
-# define SUBLANG_LAO_LAOS 0x01
-# endif
-# ifndef SUBLANG_LATVIAN_LATVIA
-# define SUBLANG_LATVIAN_LATVIA 0x01
-# endif
-# ifndef SUBLANG_LITHUANIAN_LITHUANIA
-# define SUBLANG_LITHUANIAN_LITHUANIA 0x01
-# endif
-# undef SUBLANG_LOWER_SORBIAN_GERMANY
-# define SUBLANG_LOWER_SORBIAN_GERMANY 0x02
-# ifndef SUBLANG_LUXEMBOURGISH_LUXEMBOURG
-# define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01
-# endif
-# ifndef SUBLANG_MACEDONIAN_MACEDONIA
-# define SUBLANG_MACEDONIAN_MACEDONIA 0x01
-# endif
-# ifndef SUBLANG_MALAY_MALAYSIA
-# define SUBLANG_MALAY_MALAYSIA 0x01
-# endif
-# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
-# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
-# endif
-# ifndef SUBLANG_MALAYALAM_INDIA
-# define SUBLANG_MALAYALAM_INDIA 0x01
-# endif
-# ifndef SUBLANG_MALTESE_MALTA
-# define SUBLANG_MALTESE_MALTA 0x01
-# endif
-# ifndef SUBLANG_MAORI_NEW_ZEALAND
-# define SUBLANG_MAORI_NEW_ZEALAND 0x01
-# endif
-# ifndef SUBLANG_MAPUDUNGUN_CHILE
-# define SUBLANG_MAPUDUNGUN_CHILE 0x01
-# endif
-# ifndef SUBLANG_MARATHI_INDIA
-# define SUBLANG_MARATHI_INDIA 0x01
-# endif
-# ifndef SUBLANG_MOHAWK_CANADA
-# define SUBLANG_MOHAWK_CANADA 0x01
-# endif
-# ifndef SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA
-# define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01
-# endif
-# ifndef SUBLANG_MONGOLIAN_PRC
-# define SUBLANG_MONGOLIAN_PRC 0x02
-# endif
-# ifndef SUBLANG_NEPALI_NEPAL
-# define SUBLANG_NEPALI_NEPAL 0x01
-# endif
-# ifndef SUBLANG_NEPALI_INDIA
-# define SUBLANG_NEPALI_INDIA 0x02
-# endif
-# ifndef SUBLANG_OCCITAN_FRANCE
-# define SUBLANG_OCCITAN_FRANCE 0x01
-# endif
-# ifndef SUBLANG_ORIYA_INDIA
-# define SUBLANG_ORIYA_INDIA 0x01
-# endif
-# ifndef SUBLANG_PASHTO_AFGHANISTAN
-# define SUBLANG_PASHTO_AFGHANISTAN 0x01
-# endif
-# ifndef SUBLANG_POLISH_POLAND
-# define SUBLANG_POLISH_POLAND 0x01
-# endif
-# ifndef SUBLANG_PUNJABI_INDIA
-# define SUBLANG_PUNJABI_INDIA 0x01
-# endif
-# ifndef SUBLANG_PUNJABI_PAKISTAN
-# define SUBLANG_PUNJABI_PAKISTAN 0x02
-# endif
-# ifndef SUBLANG_QUECHUA_BOLIVIA
-# define SUBLANG_QUECHUA_BOLIVIA 0x01
-# endif
-# ifndef SUBLANG_QUECHUA_ECUADOR
-# define SUBLANG_QUECHUA_ECUADOR 0x02
-# endif
-# ifndef SUBLANG_QUECHUA_PERU
-# define SUBLANG_QUECHUA_PERU 0x03
-# endif
-# ifndef SUBLANG_ROMANIAN_ROMANIA
-# define SUBLANG_ROMANIAN_ROMANIA 0x01
-# endif
-# ifndef SUBLANG_ROMANIAN_MOLDOVA
-# define SUBLANG_ROMANIAN_MOLDOVA 0x02
-# endif
-# ifndef SUBLANG_ROMANSH_SWITZERLAND
-# define SUBLANG_ROMANSH_SWITZERLAND 0x01
-# endif
-# ifndef SUBLANG_RUSSIAN_RUSSIA
-# define SUBLANG_RUSSIAN_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_RUSSIAN_MOLDAVIA
-# define SUBLANG_RUSSIAN_MOLDAVIA 0x02
-# endif
-# ifndef SUBLANG_SAMI_NORTHERN_NORWAY
-# define SUBLANG_SAMI_NORTHERN_NORWAY 0x01
-# endif
-# ifndef SUBLANG_SAMI_NORTHERN_SWEDEN
-# define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02
-# endif
-# ifndef SUBLANG_SAMI_NORTHERN_FINLAND
-# define SUBLANG_SAMI_NORTHERN_FINLAND 0x03
-# endif
-# ifndef SUBLANG_SAMI_LULE_NORWAY
-# define SUBLANG_SAMI_LULE_NORWAY 0x04
-# endif
-# ifndef SUBLANG_SAMI_LULE_SWEDEN
-# define SUBLANG_SAMI_LULE_SWEDEN 0x05
-# endif
-# ifndef SUBLANG_SAMI_SOUTHERN_NORWAY
-# define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06
-# endif
-# ifndef SUBLANG_SAMI_SOUTHERN_SWEDEN
-# define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07
-# endif
-# undef SUBLANG_SAMI_SKOLT_FINLAND
-# define SUBLANG_SAMI_SKOLT_FINLAND 0x08
-# undef SUBLANG_SAMI_INARI_FINLAND
-# define SUBLANG_SAMI_INARI_FINLAND 0x09
-# ifndef SUBLANG_SANSKRIT_INDIA
-# define SUBLANG_SANSKRIT_INDIA 0x01
-# endif
-# ifndef SUBLANG_SERBIAN_LATIN
-# define SUBLANG_SERBIAN_LATIN 0x02
-# endif
-# ifndef SUBLANG_SERBIAN_CYRILLIC
-# define SUBLANG_SERBIAN_CYRILLIC 0x03
-# endif
-# ifndef SUBLANG_SINDHI_INDIA
-# define SUBLANG_SINDHI_INDIA 0x01
-# endif
-# undef SUBLANG_SINDHI_PAKISTAN
-# define SUBLANG_SINDHI_PAKISTAN 0x02
-# ifndef SUBLANG_SINDHI_AFGHANISTAN
-# define SUBLANG_SINDHI_AFGHANISTAN 0x02
-# endif
-# ifndef SUBLANG_SINHALESE_SRI_LANKA
-# define SUBLANG_SINHALESE_SRI_LANKA 0x01
-# endif
-# ifndef SUBLANG_SLOVAK_SLOVAKIA
-# define SUBLANG_SLOVAK_SLOVAKIA 0x01
-# endif
-# ifndef SUBLANG_SLOVENIAN_SLOVENIA
-# define SUBLANG_SLOVENIAN_SLOVENIA 0x01
-# endif
-# ifndef SUBLANG_SOTHO_SOUTH_AFRICA
-# define SUBLANG_SOTHO_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_SPANISH_GUATEMALA
-# define SUBLANG_SPANISH_GUATEMALA 0x04
-# endif
-# ifndef SUBLANG_SPANISH_COSTA_RICA
-# define SUBLANG_SPANISH_COSTA_RICA 0x05
-# endif
-# ifndef SUBLANG_SPANISH_PANAMA
-# define SUBLANG_SPANISH_PANAMA 0x06
-# endif
-# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
-# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
-# endif
-# ifndef SUBLANG_SPANISH_VENEZUELA
-# define SUBLANG_SPANISH_VENEZUELA 0x08
-# endif
-# ifndef SUBLANG_SPANISH_COLOMBIA
-# define SUBLANG_SPANISH_COLOMBIA 0x09
-# endif
-# ifndef SUBLANG_SPANISH_PERU
-# define SUBLANG_SPANISH_PERU 0x0a
-# endif
-# ifndef SUBLANG_SPANISH_ARGENTINA
-# define SUBLANG_SPANISH_ARGENTINA 0x0b
-# endif
-# ifndef SUBLANG_SPANISH_ECUADOR
-# define SUBLANG_SPANISH_ECUADOR 0x0c
-# endif
-# ifndef SUBLANG_SPANISH_CHILE
-# define SUBLANG_SPANISH_CHILE 0x0d
-# endif
-# ifndef SUBLANG_SPANISH_URUGUAY
-# define SUBLANG_SPANISH_URUGUAY 0x0e
-# endif
-# ifndef SUBLANG_SPANISH_PARAGUAY
-# define SUBLANG_SPANISH_PARAGUAY 0x0f
-# endif
-# ifndef SUBLANG_SPANISH_BOLIVIA
-# define SUBLANG_SPANISH_BOLIVIA 0x10
-# endif
-# ifndef SUBLANG_SPANISH_EL_SALVADOR
-# define SUBLANG_SPANISH_EL_SALVADOR 0x11
-# endif
-# ifndef SUBLANG_SPANISH_HONDURAS
-# define SUBLANG_SPANISH_HONDURAS 0x12
-# endif
-# ifndef SUBLANG_SPANISH_NICARAGUA
-# define SUBLANG_SPANISH_NICARAGUA 0x13
-# endif
-# ifndef SUBLANG_SPANISH_PUERTO_RICO
-# define SUBLANG_SPANISH_PUERTO_RICO 0x14
-# endif
-# ifndef SUBLANG_SPANISH_US
-# define SUBLANG_SPANISH_US 0x15
-# endif
-# ifndef SUBLANG_SWAHILI_KENYA
-# define SUBLANG_SWAHILI_KENYA 0x01
-# endif
-# ifndef SUBLANG_SWEDISH_SWEDEN
-# define SUBLANG_SWEDISH_SWEDEN 0x01
-# endif
-# ifndef SUBLANG_SWEDISH_FINLAND
-# define SUBLANG_SWEDISH_FINLAND 0x02
-# endif
-# ifndef SUBLANG_SYRIAC_SYRIA
-# define SUBLANG_SYRIAC_SYRIA 0x01
-# endif
-# ifndef SUBLANG_TAGALOG_PHILIPPINES
-# define SUBLANG_TAGALOG_PHILIPPINES 0x01
-# endif
-# ifndef SUBLANG_TAJIK_TAJIKISTAN
-# define SUBLANG_TAJIK_TAJIKISTAN 0x01
-# endif
-# ifndef SUBLANG_TAMAZIGHT_ARABIC
-# define SUBLANG_TAMAZIGHT_ARABIC 0x01
-# endif
-# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN
-# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02
-# endif
-# ifndef SUBLANG_TAMIL_INDIA
-# define SUBLANG_TAMIL_INDIA 0x01
-# endif
-# ifndef SUBLANG_TATAR_RUSSIA
-# define SUBLANG_TATAR_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_TELUGU_INDIA
-# define SUBLANG_TELUGU_INDIA 0x01
-# endif
-# ifndef SUBLANG_THAI_THAILAND
-# define SUBLANG_THAI_THAILAND 0x01
-# endif
-# ifndef SUBLANG_TIBETAN_PRC
-# define SUBLANG_TIBETAN_PRC 0x01
-# endif
-# undef SUBLANG_TIBETAN_BHUTAN
-# define SUBLANG_TIBETAN_BHUTAN 0x02
-# ifndef SUBLANG_TIGRINYA_ETHIOPIA
-# define SUBLANG_TIGRINYA_ETHIOPIA 0x01
-# endif
-# ifndef SUBLANG_TIGRINYA_ERITREA
-# define SUBLANG_TIGRINYA_ERITREA 0x02
-# endif
-# ifndef SUBLANG_TSWANA_SOUTH_AFRICA
-# define SUBLANG_TSWANA_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_TURKISH_TURKEY
-# define SUBLANG_TURKISH_TURKEY 0x01
-# endif
-# ifndef SUBLANG_TURKMEN_TURKMENISTAN
-# define SUBLANG_TURKMEN_TURKMENISTAN 0x01
-# endif
-# ifndef SUBLANG_UIGHUR_PRC
-# define SUBLANG_UIGHUR_PRC 0x01
-# endif
-# ifndef SUBLANG_UKRAINIAN_UKRAINE
-# define SUBLANG_UKRAINIAN_UKRAINE 0x01
-# endif
-# ifndef SUBLANG_UPPER_SORBIAN_GERMANY
-# define SUBLANG_UPPER_SORBIAN_GERMANY 0x01
-# endif
-# ifndef SUBLANG_URDU_PAKISTAN
-# define SUBLANG_URDU_PAKISTAN 0x01
-# endif
-# ifndef SUBLANG_URDU_INDIA
-# define SUBLANG_URDU_INDIA 0x02
-# endif
-# ifndef SUBLANG_UZBEK_LATIN
-# define SUBLANG_UZBEK_LATIN 0x01
-# endif
-# ifndef SUBLANG_UZBEK_CYRILLIC
-# define SUBLANG_UZBEK_CYRILLIC 0x02
-# endif
-# ifndef SUBLANG_VIETNAMESE_VIETNAM
-# define SUBLANG_VIETNAMESE_VIETNAM 0x01
-# endif
-# ifndef SUBLANG_WELSH_UNITED_KINGDOM
-# define SUBLANG_WELSH_UNITED_KINGDOM 0x01
-# endif
-# ifndef SUBLANG_WOLOF_SENEGAL
-# define SUBLANG_WOLOF_SENEGAL 0x01
-# endif
-# ifndef SUBLANG_XHOSA_SOUTH_AFRICA
-# define SUBLANG_XHOSA_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_YAKUT_RUSSIA
-# define SUBLANG_YAKUT_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_YI_PRC
-# define SUBLANG_YI_PRC 0x01
-# endif
-# ifndef SUBLANG_YORUBA_NIGERIA
-# define SUBLANG_YORUBA_NIGERIA 0x01
-# endif
-# ifndef SUBLANG_ZULU_SOUTH_AFRICA
-# define SUBLANG_ZULU_SOUTH_AFRICA 0x01
-# endif
-/* GetLocaleInfoA operations. */
-# ifndef LOCALE_SNAME
-# define LOCALE_SNAME 0x5c
-# endif
-# ifndef LOCALE_NAME_MAX_LENGTH
-# define LOCALE_NAME_MAX_LENGTH 85
-# endif
-/* Don't assume that UNICODE is not defined. */
-# undef GetLocaleInfo
-# define GetLocaleInfo GetLocaleInfoA
-# undef EnumSystemLocales
-# define EnumSystemLocales EnumSystemLocalesA
-#endif
-
-/* We want to use the system's setlocale() function here, not the gnulib
- override. */
-#undef setlocale
-
-
-#if HAVE_CFPREFERENCESCOPYAPPVALUE
-/* Mac OS X 10.4 or newer */
-
-/* Canonicalize a Mac OS X locale name to a Unix locale name.
- NAME is a sufficiently large buffer.
- On input, it contains the Mac OS X locale name.
- On output, it contains the Unix locale name. */
-# if !defined IN_LIBINTL
-static
-# endif
-void
-gl_locale_name_canonicalize (char *name)
-{
- /* This conversion is based on a posting by
- Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08,
- https://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
-
- /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
- ISO 3166) names. Prior to Mac OS X 10.3, there is no API for doing this.
- Therefore we do it ourselves, using a table based on the results of the
- Mac OS X 10.3.8 function
- CFLocaleCreateCanonicalLocaleIdentifierFromString(). */
- typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
- legacy_entry;
- static const legacy_entry legacy_table[] = {
- { "Afrikaans", "af" },
- { "Albanian", "sq" },
- { "Amharic", "am" },
- { "Arabic", "ar" },
- { "Armenian", "hy" },
- { "Assamese", "as" },
- { "Aymara", "ay" },
- { "Azerbaijani", "az" },
- { "Basque", "eu" },
- { "Belarusian", "be" },
- { "Belorussian", "be" },
- { "Bengali", "bn" },
- { "Brazilian Portugese", "pt_BR" },
- { "Brazilian Portuguese", "pt_BR" },
- { "Breton", "br" },
- { "Bulgarian", "bg" },
- { "Burmese", "my" },
- { "Byelorussian", "be" },
- { "Catalan", "ca" },
- { "Chewa", "ny" },
- { "Chichewa", "ny" },
- { "Chinese", "zh" },
- { "Chinese, Simplified", "zh_CN" },
- { "Chinese, Traditional", "zh_TW" },
- { "Chinese, Tradtional", "zh_TW" },
- { "Croatian", "hr" },
- { "Czech", "cs" },
- { "Danish", "da" },
- { "Dutch", "nl" },
- { "Dzongkha", "dz" },
- { "English", "en" },
- { "Esperanto", "eo" },
- { "Estonian", "et" },
- { "Faroese", "fo" },
- { "Farsi", "fa" },
- { "Finnish", "fi" },
- { "Flemish", "nl_BE" },
- { "French", "fr" },
- { "Galician", "gl" },
- { "Gallegan", "gl" },
- { "Georgian", "ka" },
- { "German", "de" },
- { "Greek", "el" },
- { "Greenlandic", "kl" },
- { "Guarani", "gn" },
- { "Gujarati", "gu" },
- { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */
- { "Hebrew", "he" },
- { "Hindi", "hi" },
- { "Hungarian", "hu" },
- { "Icelandic", "is" },
- { "Indonesian", "id" },
- { "Inuktitut", "iu" },
- { "Irish", "ga" },
- { "Italian", "it" },
- { "Japanese", "ja" },
- { "Javanese", "jv" },
- { "Kalaallisut", "kl" },
- { "Kannada", "kn" },
- { "Kashmiri", "ks" },
- { "Kazakh", "kk" },
- { "Khmer", "km" },
- { "Kinyarwanda", "rw" },
- { "Kirghiz", "ky" },
- { "Korean", "ko" },
- { "Kurdish", "ku" },
- { "Latin", "la" },
- { "Latvian", "lv" },
- { "Lithuanian", "lt" },
- { "Macedonian", "mk" },
- { "Malagasy", "mg" },
- { "Malay", "ms" },
- { "Malayalam", "ml" },
- { "Maltese", "mt" },
- { "Manx", "gv" },
- { "Marathi", "mr" },
- { "Moldavian", "mo" },
- { "Mongolian", "mn" },
- { "Nepali", "ne" },
- { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */
- { "Nyanja", "ny" },
- { "Nynorsk", "nn" },
- { "Oriya", "or" },
- { "Oromo", "om" },
- { "Panjabi", "pa" },
- { "Pashto", "ps" },
- { "Persian", "fa" },
- { "Polish", "pl" },
- { "Portuguese", "pt" },
- { "Portuguese, Brazilian", "pt_BR" },
- { "Punjabi", "pa" },
- { "Pushto", "ps" },
- { "Quechua", "qu" },
- { "Romanian", "ro" },
- { "Ruanda", "rw" },
- { "Rundi", "rn" },
- { "Russian", "ru" },
- { "Sami", "se_NO" }, /* Not just "se". */
- { "Sanskrit", "sa" },
- { "Scottish", "gd" },
- { "Serbian", "sr" },
- { "Simplified Chinese", "zh_CN" },
- { "Sindhi", "sd" },
- { "Sinhalese", "si" },
- { "Slovak", "sk" },
- { "Slovenian", "sl" },
- { "Somali", "so" },
- { "Spanish", "es" },
- { "Sundanese", "su" },
- { "Swahili", "sw" },
- { "Swedish", "sv" },
- { "Tagalog", "tl" },
- { "Tajik", "tg" },
- { "Tajiki", "tg" },
- { "Tamil", "ta" },
- { "Tatar", "tt" },
- { "Telugu", "te" },
- { "Thai", "th" },
- { "Tibetan", "bo" },
- { "Tigrinya", "ti" },
- { "Tongan", "to" },
- { "Traditional Chinese", "zh_TW" },
- { "Turkish", "tr" },
- { "Turkmen", "tk" },
- { "Uighur", "ug" },
- { "Ukrainian", "uk" },
- { "Urdu", "ur" },
- { "Uzbek", "uz" },
- { "Vietnamese", "vi" },
- { "Welsh", "cy" },
- { "Yiddish", "yi" }
- };
-
- /* Convert new-style locale names with language tags (ISO 639 and ISO 15924)
- to Unix (ISO 639 and ISO 3166) names. */
- typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
- langtag_entry;
- static const langtag_entry langtag_table[] = {
- /* Mac OS X has "az-Arab", "az-Cyrl", "az-Latn".
- The default script for az on Unix is Latin. */
- { "az-Latn", "az" },
- /* Mac OS X has "bs-Cyrl", "bs-Latn".
- The default script for bs on Unix is Latin. */
- { "bs-Latn", "bs" },
- /* Mac OS X has "ga-dots". Does not yet exist on Unix. */
- { "ga-dots", "ga" },
- /* Mac OS X has "kk-Cyrl".
- The default script for kk on Unix is Cyrillic. */
- { "kk-Cyrl", "kk" },
- /* Mac OS X has "mn-Cyrl", "mn-Mong".
- The default script for mn on Unix is Cyrillic. */
- { "mn-Cyrl", "mn" },
- /* Mac OS X has "ms-Arab", "ms-Latn".
- The default script for ms on Unix is Latin. */
- { "ms-Latn", "ms" },
- /* Mac OS X has "pa-Arab", "pa-Guru".
- Country codes are used to distinguish these on Unix. */
- { "pa-Arab", "pa_PK" },
- { "pa-Guru", "pa_IN" },
- /* Mac OS X has "shi-Latn", "shi-Tfng". Does not yet exist on Unix. */
- /* Mac OS X has "sr-Cyrl", "sr-Latn".
- The default script for sr on Unix is Cyrillic. */
- { "sr-Cyrl", "sr" },
- /* Mac OS X has "tg-Cyrl".
- The default script for tg on Unix is Cyrillic. */
- { "tg-Cyrl", "tg" },
- /* Mac OS X has "tk-Cyrl".
- The default script for tk on Unix is Cyrillic. */
- { "tk-Cyrl", "tk" },
- /* Mac OS X has "tt-Cyrl".
- The default script for tt on Unix is Cyrillic. */
- { "tt-Cyrl", "tt" },
- /* Mac OS X has "uz-Arab", "uz-Cyrl", "uz-Latn".
- The default script for uz on Unix is Latin. */
- { "uz-Latn", "uz" },
- /* Mac OS X has "vai-Latn", "vai-Vaii". Does not yet exist on Unix. */
- /* Mac OS X has "yue-Hans", "yue-Hant".
- The default script for yue on Unix is Simplified Han. */
- { "yue-Hans", "yue" },
- /* Mac OS X has "zh-Hans", "zh-Hant".
- Country codes are used to distinguish these on Unix. */
- { "zh-Hans", "zh_CN" },
- { "zh-Hant", "zh_TW" }
- };
-
- /* Convert script names (ISO 15924) to Unix conventions.
- See https://www.unicode.org/iso15924/iso15924-codes.html */
- typedef struct { const char script[4+1]; const char unixy[9+1]; }
- script_entry;
- static const script_entry script_table[] = {
- { "Arab", "arabic" },
- { "Cyrl", "cyrillic" },
- { "Latn", "latin" },
- { "Mong", "mongolian" }
- };
-
- /* Step 1: Convert using legacy_table. */
- if (name[0] >= 'A' && name[0] <= 'Z')
- {
- unsigned int i1, i2;
- i1 = 0;
- i2 = sizeof (legacy_table) / sizeof (legacy_entry);
- while (i2 - i1 > 1)
- {
- /* At this point we know that if name occurs in legacy_table,
- its index must be >= i1 and < i2. */
- unsigned int i = (i1 + i2) >> 1;
- const legacy_entry *p = &legacy_table[i];
- if (strcmp (name, p->legacy) < 0)
- i2 = i;
- else
- i1 = i;
- }
- if (strcmp (name, legacy_table[i1].legacy) == 0)
- {
- strcpy (name, legacy_table[i1].unixy);
- return;
- }
- }
-
- /* Step 2: Convert using langtag_table and script_table. */
- if (strlen (name) == 7 && name[2] == '-')
- {
- unsigned int i1, i2;
- i1 = 0;
- i2 = sizeof (langtag_table) / sizeof (langtag_entry);
- while (i2 - i1 > 1)
- {
- /* At this point we know that if name occurs in langtag_table,
- its index must be >= i1 and < i2. */
- unsigned int i = (i1 + i2) >> 1;
- const langtag_entry *p = &langtag_table[i];
- if (strcmp (name, p->langtag) < 0)
- i2 = i;
- else
- i1 = i;
- }
- if (strcmp (name, langtag_table[i1].langtag) == 0)
- {
- strcpy (name, langtag_table[i1].unixy);
- return;
- }
-
- i1 = 0;
- i2 = sizeof (script_table) / sizeof (script_entry);
- while (i2 - i1 > 1)
- {
- /* At this point we know that if (name + 3) occurs in script_table,
- its index must be >= i1 and < i2. */
- unsigned int i = (i1 + i2) >> 1;
- const script_entry *p = &script_table[i];
- if (strcmp (name + 3, p->script) < 0)
- i2 = i;
- else
- i1 = i;
- }
- if (strcmp (name + 3, script_table[i1].script) == 0)
- {
- name[2] = '@';
- strcpy (name + 3, script_table[i1].unixy);
- return;
- }
- }
-
- /* Step 3: Convert new-style dash to Unix underscore. */
- {
- char *p;
- for (p = name; *p != '\0'; p++)
- if (*p == '-')
- *p = '_';
- }
-}
-
-#endif
-
-
-#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
-
-/* Canonicalize a Windows native locale name to a Unix locale name.
- NAME is a sufficiently large buffer.
- On input, it contains the Windows locale name.
- On output, it contains the Unix locale name. */
-# if !defined IN_LIBINTL
-static
-# endif
-void
-gl_locale_name_canonicalize (char *name)
-{
- /* FIXME: This is probably incomplete: it does not handle "zh-Hans" and
- "zh-Hant". */
- char *p;
-
- for (p = name; *p != '\0'; p++)
- if (*p == '-')
- {
- *p = '_';
- p++;
- for (; *p != '\0'; p++)
- {
- if (*p >= 'a' && *p <= 'z')
- *p += 'A' - 'a';
- if (*p == '-')
- {
- *p = '\0';
- return;
- }
- }
- return;
- }
-}
-
-# if !defined IN_LIBINTL
-static
-# endif
const char *
-gl_locale_name_from_win32_LANGID (LANGID langid)
-{
- /* Activate the new code only when the GETTEXT_MUI environment variable is
- set, for the time being, since the new code is not well tested. */
- if (getenv ("GETTEXT_MUI") != NULL)
- {
- static char namebuf[256];
-
- /* Query the system's notion of locale name.
- On Windows95/98/ME, GetLocaleInfoA returns some incorrect results.
- But we don't need to support systems that are so old. */
- if (GetLocaleInfoA (MAKELCID (langid, SORT_DEFAULT), LOCALE_SNAME,
- namebuf, sizeof (namebuf) - 1))
- {
- /* Convert it to a Unix locale name. */
- gl_locale_name_canonicalize (namebuf);
- return namebuf;
- }
- }
- /* Internet Explorer has an LCID to RFC3066 name mapping stored in
- HKEY_CLASSES_ROOT\Mime\Database\Rfc1766. But we better don't use that
- since IE's i18n subsystem is known to be inconsistent with the native
- Windows base (e.g. they have different character conversion facilities
- that produce different results). */
- /* Use our own table. */
- {
- int primary, sub;
-
- /* Split into language and territory part. */
- primary = PRIMARYLANGID (langid);
- sub = SUBLANGID (langid);
-
- /* Dispatch on language.
- See also https://www.unicode.org/unicode/onlinedat/languages.html .
- For details about languages, see https://www.ethnologue.com/ . */
- switch (primary)
- {
- case LANG_AFRIKAANS:
- switch (sub)
- {
- case SUBLANG_AFRIKAANS_SOUTH_AFRICA: return "af_ZA";
- }
- return "af";
- case LANG_ALBANIAN:
- switch (sub)
- {
- case SUBLANG_ALBANIAN_ALBANIA: return "sq_AL";
- }
- return "sq";
- case LANG_ALSATIAN:
- switch (sub)
- {
- case SUBLANG_ALSATIAN_FRANCE: return "gsw_FR";
- }
- return "gsw";
- case LANG_AMHARIC:
- switch (sub)
- {
- case SUBLANG_AMHARIC_ETHIOPIA: return "am_ET";
- }
- return "am";
- case LANG_ARABIC:
- switch (sub)
- {
- case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
- case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
- case SUBLANG_ARABIC_EGYPT: return "ar_EG";
- case SUBLANG_ARABIC_LIBYA: return "ar_LY";
- case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
- case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
- case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
- case SUBLANG_ARABIC_OMAN: return "ar_OM";
- case SUBLANG_ARABIC_YEMEN: return "ar_YE";
- case SUBLANG_ARABIC_SYRIA: return "ar_SY";
- case SUBLANG_ARABIC_JORDAN: return "ar_JO";
- case SUBLANG_ARABIC_LEBANON: return "ar_LB";
- case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
- case SUBLANG_ARABIC_UAE: return "ar_AE";
- case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
- case SUBLANG_ARABIC_QATAR: return "ar_QA";
- }
- return "ar";
- case LANG_ARMENIAN:
- switch (sub)
- {
- case SUBLANG_ARMENIAN_ARMENIA: return "hy_AM";
- }
- return "hy";
- case LANG_ASSAMESE:
- switch (sub)
- {
- case SUBLANG_ASSAMESE_INDIA: return "as_IN";
- }
- return "as";
- case LANG_AZERI:
- switch (sub)
- {
- /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
- case 0x1e: return "az@latin";
- case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
- case 0x1d: return "az@cyrillic";
- case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
- }
- return "az";
- case LANG_BASHKIR:
- switch (sub)
- {
- case SUBLANG_BASHKIR_RUSSIA: return "ba_RU";
- }
- return "ba";
- case LANG_BASQUE:
- switch (sub)
- {
- case SUBLANG_BASQUE_BASQUE: return "eu_ES";
- }
- return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
- case LANG_BELARUSIAN:
- switch (sub)
- {
- case SUBLANG_BELARUSIAN_BELARUS: return "be_BY";
- }
- return "be";
- case LANG_BENGALI:
- switch (sub)
- {
- case SUBLANG_BENGALI_INDIA: return "bn_IN";
- case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
- }
- return "bn";
- case LANG_BRETON:
- switch (sub)
- {
- case SUBLANG_BRETON_FRANCE: return "br_FR";
- }
- return "br";
- case LANG_BULGARIAN:
- switch (sub)
- {
- case SUBLANG_BULGARIAN_BULGARIA: return "bg_BG";
- }
- return "bg";
- case LANG_BURMESE:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "my_MM";
- }
- return "my";
- case LANG_CAMBODIAN:
- switch (sub)
- {
- case SUBLANG_CAMBODIAN_CAMBODIA: return "km_KH";
- }
- return "km";
- case LANG_CATALAN:
- switch (sub)
- {
- case SUBLANG_CATALAN_SPAIN: return "ca_ES";
- }
- return "ca";
- case LANG_CHEROKEE:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "chr_US";
- }
- return "chr";
- case LANG_CHINESE:
- switch (sub)
- {
- case SUBLANG_CHINESE_TRADITIONAL: case 0x1f: return "zh_TW";
- case SUBLANG_CHINESE_SIMPLIFIED: case 0x00: return "zh_CN";
- case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; /* traditional */
- case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; /* simplified */
- case SUBLANG_CHINESE_MACAU: return "zh_MO"; /* traditional */
- }
- return "zh";
- case LANG_CORSICAN:
- switch (sub)
- {
- case SUBLANG_CORSICAN_FRANCE: return "co_FR";
- }
- return "co";
- case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN
- * What used to be called Serbo-Croatian
- * should really now be two separate
- * languages because of political reasons.
- * (Says tml, who knows nothing about Serbian
- * or Croatian.)
- * (I can feel those flames coming already.)
- */
- switch (sub)
- {
- /* Croatian */
- case 0x00: return "hr";
- case SUBLANG_CROATIAN_CROATIA: return "hr_HR";
- case SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: return "hr_BA";
- /* Serbian */
- case 0x1f: return "sr";
- case 0x1c: return "sr"; /* latin */
- case SUBLANG_SERBIAN_LATIN: return "sr_CS"; /* latin */
- case 0x09: return "sr_RS"; /* latin */
- case 0x0b: return "sr_ME"; /* latin */
- case 0x06: return "sr_BA"; /* latin */
- case 0x1b: return "sr@cyrillic";
- case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
- case 0x0a: return "sr_RS@cyrillic";
- case 0x0c: return "sr_ME@cyrillic";
- case 0x07: return "sr_BA@cyrillic";
- /* Bosnian */
- case 0x1e: return "bs";
- case 0x1a: return "bs"; /* latin */
- case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: return "bs_BA"; /* latin */
- case 0x19: return "bs@cyrillic";
- case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: return "bs_BA@cyrillic";
- }
- return "hr";
- case LANG_CZECH:
- switch (sub)
- {
- case SUBLANG_CZECH_CZECH_REPUBLIC: return "cs_CZ";
- }
- return "cs";
- case LANG_DANISH:
- switch (sub)
- {
- case SUBLANG_DANISH_DENMARK: return "da_DK";
- }
- return "da";
- case LANG_DARI:
- /* FIXME: Adjust this when such locales appear on Unix. */
- switch (sub)
- {
- case SUBLANG_DARI_AFGHANISTAN: return "prs_AF";
- }
- return "prs";
- case LANG_DIVEHI:
- switch (sub)
- {
- case SUBLANG_DIVEHI_MALDIVES: return "dv_MV";
- }
- return "dv";
- case LANG_DUTCH:
- switch (sub)
- {
- case SUBLANG_DUTCH: return "nl_NL";
- case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
- case SUBLANG_DUTCH_SURINAM: return "nl_SR";
- }
- return "nl";
- case LANG_EDO:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "bin_NG";
- }
- return "bin";
- case LANG_ENGLISH:
- switch (sub)
- {
- /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
- * English was the language spoken in England.
- * Oh well.
- */
- case SUBLANG_ENGLISH_US: return "en_US";
- case SUBLANG_ENGLISH_UK: return "en_GB";
- case SUBLANG_ENGLISH_AUS: return "en_AU";
- case SUBLANG_ENGLISH_CAN: return "en_CA";
- case SUBLANG_ENGLISH_NZ: return "en_NZ";
- case SUBLANG_ENGLISH_EIRE: return "en_IE";
- case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
- case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
- case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
- case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
- case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
- case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
- case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
- case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
- case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
- case SUBLANG_ENGLISH_INDIA: return "en_IN";
- case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
- case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
- }
- return "en";
- case LANG_ESTONIAN:
- switch (sub)
- {
- case SUBLANG_ESTONIAN_ESTONIA: return "et_EE";
- }
- return "et";
- case LANG_FAEROESE:
- switch (sub)
- {
- case SUBLANG_FAEROESE_FAROE_ISLANDS: return "fo_FO";
- }
- return "fo";
- case LANG_FARSI:
- switch (sub)
- {
- case SUBLANG_FARSI_IRAN: return "fa_IR";
- }
- return "fa";
- case LANG_FINNISH:
- switch (sub)
- {
- case SUBLANG_FINNISH_FINLAND: return "fi_FI";
- }
- return "fi";
- case LANG_FRENCH:
- switch (sub)
- {
- case SUBLANG_FRENCH: return "fr_FR";
- case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
- case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
- case SUBLANG_FRENCH_SWISS: return "fr_CH";
- case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
- case SUBLANG_FRENCH_MONACO: return "fr_MC";
- case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
- case SUBLANG_FRENCH_REUNION: return "fr_RE";
- case SUBLANG_FRENCH_CONGO: return "fr_CG";
- case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
- case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
- case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
- case SUBLANG_FRENCH_MALI: return "fr_ML";
- case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
- case SUBLANG_FRENCH_HAITI: return "fr_HT";
- }
- return "fr";
- case LANG_FRISIAN:
- switch (sub)
- {
- case SUBLANG_FRISIAN_NETHERLANDS: return "fy_NL";
- }
- return "fy";
- case LANG_FULFULDE:
- /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ff_NG";
- }
- return "ff";
- case LANG_GAELIC:
- switch (sub)
- {
- case 0x01: /* SCOTTISH */
- /* old, superseded by LANG_SCOTTISH_GAELIC */
- return "gd_GB";
- case SUBLANG_IRISH_IRELAND: return "ga_IE";
- }
- return "ga";
- case LANG_GALICIAN:
- switch (sub)
- {
- case SUBLANG_GALICIAN_SPAIN: return "gl_ES";
- }
- return "gl";
- case LANG_GEORGIAN:
- switch (sub)
- {
- case SUBLANG_GEORGIAN_GEORGIA: return "ka_GE";
- }
- return "ka";
- case LANG_GERMAN:
- switch (sub)
- {
- case SUBLANG_GERMAN: return "de_DE";
- case SUBLANG_GERMAN_SWISS: return "de_CH";
- case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
- case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
- case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
- }
- return "de";
- case LANG_GREEK:
- switch (sub)
- {
- case SUBLANG_GREEK_GREECE: return "el_GR";
- }
- return "el";
- case LANG_GREENLANDIC:
- switch (sub)
- {
- case SUBLANG_GREENLANDIC_GREENLAND: return "kl_GL";
- }
- return "kl";
- case LANG_GUARANI:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "gn_PY";
- }
- return "gn";
- case LANG_GUJARATI:
- switch (sub)
- {
- case SUBLANG_GUJARATI_INDIA: return "gu_IN";
- }
- return "gu";
- case LANG_HAUSA:
- switch (sub)
- {
- case 0x1f: return "ha";
- case SUBLANG_HAUSA_NIGERIA_LATIN: return "ha_NG";
- }
- return "ha";
- case LANG_HAWAIIAN:
- /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
- or Hawaii Creole English ("cpe_US", 600000 speakers)? */
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "cpe_US";
- }
- return "cpe";
- case LANG_HEBREW:
- switch (sub)
- {
- case SUBLANG_HEBREW_ISRAEL: return "he_IL";
- }
- return "he";
- case LANG_HINDI:
- switch (sub)
- {
- case SUBLANG_HINDI_INDIA: return "hi_IN";
- }
- return "hi";
- case LANG_HUNGARIAN:
- switch (sub)
- {
- case SUBLANG_HUNGARIAN_HUNGARY: return "hu_HU";
- }
- return "hu";
- case LANG_IBIBIO:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "nic_NG";
- }
- return "nic";
- case LANG_ICELANDIC:
- switch (sub)
- {
- case SUBLANG_ICELANDIC_ICELAND: return "is_IS";
- }
- return "is";
- case LANG_IGBO:
- switch (sub)
- {
- case SUBLANG_IGBO_NIGERIA: return "ig_NG";
- }
- return "ig";
- case LANG_INDONESIAN:
- switch (sub)
- {
- case SUBLANG_INDONESIAN_INDONESIA: return "id_ID";
- }
- return "id";
- case LANG_INUKTITUT:
- switch (sub)
- {
- case 0x1e: return "iu"; /* syllabic */
- case SUBLANG_INUKTITUT_CANADA: return "iu_CA"; /* syllabic */
- case 0x1f: return "iu@latin";
- case SUBLANG_INUKTITUT_CANADA_LATIN: return "iu_CA@latin";
- }
- return "iu";
- case LANG_ITALIAN:
- switch (sub)
- {
- case SUBLANG_ITALIAN: return "it_IT";
- case SUBLANG_ITALIAN_SWISS: return "it_CH";
- }
- return "it";
- case LANG_JAPANESE:
- switch (sub)
- {
- case SUBLANG_JAPANESE_JAPAN: return "ja_JP";
- }
- return "ja";
- case LANG_KANNADA:
- switch (sub)
- {
- case SUBLANG_KANNADA_INDIA: return "kn_IN";
- }
- return "kn";
- case LANG_KANURI:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "kr_NG";
- }
- return "kr";
- case LANG_KASHMIRI:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ks_PK";
- case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
- }
- return "ks";
- case LANG_KAZAK:
- switch (sub)
- {
- case SUBLANG_KAZAK_KAZAKHSTAN: return "kk_KZ";
- }
- return "kk";
- case LANG_KICHE:
- /* FIXME: Adjust this when such locales appear on Unix. */
- switch (sub)
- {
- case SUBLANG_KICHE_GUATEMALA: return "qut_GT";
- }
- return "qut";
- case LANG_KINYARWANDA:
- switch (sub)
- {
- case SUBLANG_KINYARWANDA_RWANDA: return "rw_RW";
- }
- return "rw";
- case LANG_KONKANI:
- /* FIXME: Adjust this when such locales appear on Unix. */
- switch (sub)
- {
- case SUBLANG_KONKANI_INDIA: return "kok_IN";
- }
- return "kok";
- case LANG_KOREAN:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ko_KR";
- }
- return "ko";
- case LANG_KYRGYZ:
- switch (sub)
- {
- case SUBLANG_KYRGYZ_KYRGYZSTAN: return "ky_KG";
- }
- return "ky";
- case LANG_LAO:
- switch (sub)
- {
- case SUBLANG_LAO_LAOS: return "lo_LA";
- }
- return "lo";
- case LANG_LATIN:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "la_VA";
- }
- return "la";
- case LANG_LATVIAN:
- switch (sub)
- {
- case SUBLANG_LATVIAN_LATVIA: return "lv_LV";
- }
- return "lv";
- case LANG_LITHUANIAN:
- switch (sub)
- {
- case SUBLANG_LITHUANIAN_LITHUANIA: return "lt_LT";
- }
- return "lt";
- case LANG_LUXEMBOURGISH:
- switch (sub)
- {
- case SUBLANG_LUXEMBOURGISH_LUXEMBOURG: return "lb_LU";
- }
- return "lb";
- case LANG_MACEDONIAN:
- switch (sub)
- {
- case SUBLANG_MACEDONIAN_MACEDONIA: return "mk_MK";
- }
- return "mk";
- case LANG_MALAY:
- switch (sub)
- {
- case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
- case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
- }
- return "ms";
- case LANG_MALAYALAM:
- switch (sub)
- {
- case SUBLANG_MALAYALAM_INDIA: return "ml_IN";
- }
- return "ml";
- case LANG_MALTESE:
- switch (sub)
- {
- case SUBLANG_MALTESE_MALTA: return "mt_MT";
- }
- return "mt";
- case LANG_MANIPURI:
- /* FIXME: Adjust this when such locales appear on Unix. */
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "mni_IN";
- }
- return "mni";
- case LANG_MAORI:
- switch (sub)
- {
- case SUBLANG_MAORI_NEW_ZEALAND: return "mi_NZ";
- }
- return "mi";
- case LANG_MAPUDUNGUN:
- switch (sub)
- {
- case SUBLANG_MAPUDUNGUN_CHILE: return "arn_CL";
- }
- return "arn";
- case LANG_MARATHI:
- switch (sub)
- {
- case SUBLANG_MARATHI_INDIA: return "mr_IN";
- }
- return "mr";
- case LANG_MOHAWK:
- switch (sub)
- {
- case SUBLANG_MOHAWK_CANADA: return "moh_CA";
- }
- return "moh";
- case LANG_MONGOLIAN:
- switch (sub)
- {
- case SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: case 0x1e: return "mn_MN";
- case SUBLANG_MONGOLIAN_PRC: case 0x1f: return "mn_CN";
- }
- return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
- case LANG_NEPALI:
- switch (sub)
- {
- case SUBLANG_NEPALI_NEPAL: return "ne_NP";
- case SUBLANG_NEPALI_INDIA: return "ne_IN";
- }
- return "ne";
- case LANG_NORWEGIAN:
- switch (sub)
- {
- case 0x1f: return "nb";
- case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO";
- case 0x1e: return "nn";
- case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
- }
- return "no";
- case LANG_OCCITAN:
- switch (sub)
- {
- case SUBLANG_OCCITAN_FRANCE: return "oc_FR";
- }
- return "oc";
- case LANG_ORIYA:
- switch (sub)
- {
- case SUBLANG_ORIYA_INDIA: return "or_IN";
- }
- return "or";
- case LANG_OROMO:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "om_ET";
- }
- return "om";
- case LANG_PAPIAMENTU:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "pap_AN";
- }
- return "pap";
- case LANG_PASHTO:
- switch (sub)
- {
- case SUBLANG_PASHTO_AFGHANISTAN: return "ps_AF";
- }
- return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
- case LANG_POLISH:
- switch (sub)
- {
- case SUBLANG_POLISH_POLAND: return "pl_PL";
- }
- return "pl";
- case LANG_PORTUGUESE:
- switch (sub)
- {
- /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
- Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
- case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
- case SUBLANG_PORTUGUESE: return "pt_PT";
- }
- return "pt";
- case LANG_PUNJABI:
- switch (sub)
- {
- case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
- case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
- }
- return "pa";
- case LANG_QUECHUA:
- /* Note: Microsoft uses the non-ISO language code "quz". */
- switch (sub)
- {
- case SUBLANG_QUECHUA_BOLIVIA: return "qu_BO";
- case SUBLANG_QUECHUA_ECUADOR: return "qu_EC";
- case SUBLANG_QUECHUA_PERU: return "qu_PE";
- }
- return "qu";
- case LANG_ROMANIAN:
- switch (sub)
- {
- case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
- case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
- }
- return "ro";
- case LANG_ROMANSH:
- switch (sub)
- {
- case SUBLANG_ROMANSH_SWITZERLAND: return "rm_CH";
- }
- return "rm";
- case LANG_RUSSIAN:
- switch (sub)
- {
- case SUBLANG_RUSSIAN_RUSSIA: return "ru_RU";
- case SUBLANG_RUSSIAN_MOLDAVIA: return "ru_MD";
- }
- return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
- case LANG_SAMI:
- switch (sub)
- {
- /* Northern Sami */
- case 0x00: return "se";
- case SUBLANG_SAMI_NORTHERN_NORWAY: return "se_NO";
- case SUBLANG_SAMI_NORTHERN_SWEDEN: return "se_SE";
- case SUBLANG_SAMI_NORTHERN_FINLAND: return "se_FI";
- /* Lule Sami */
- case 0x1f: return "smj";
- case SUBLANG_SAMI_LULE_NORWAY: return "smj_NO";
- case SUBLANG_SAMI_LULE_SWEDEN: return "smj_SE";
- /* Southern Sami */
- case 0x1e: return "sma";
- case SUBLANG_SAMI_SOUTHERN_NORWAY: return "sma_NO";
- case SUBLANG_SAMI_SOUTHERN_SWEDEN: return "sma_SE";
- /* Skolt Sami */
- case 0x1d: return "sms";
- case SUBLANG_SAMI_SKOLT_FINLAND: return "sms_FI";
- /* Inari Sami */
- case 0x1c: return "smn";
- case SUBLANG_SAMI_INARI_FINLAND: return "smn_FI";
- }
- return "se"; /* or "smi"? */
- case LANG_SANSKRIT:
- switch (sub)
- {
- case SUBLANG_SANSKRIT_INDIA: return "sa_IN";
- }
- return "sa";
- case LANG_SCOTTISH_GAELIC:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "gd_GB";
- }
- return "gd";
- case LANG_SINDHI:
- switch (sub)
- {
- case SUBLANG_SINDHI_INDIA: return "sd_IN";
- case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
- /*case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF";*/
- }
- return "sd";
- case LANG_SINHALESE:
- switch (sub)
- {
- case SUBLANG_SINHALESE_SRI_LANKA: return "si_LK";
- }
- return "si";
- case LANG_SLOVAK:
- switch (sub)
- {
- case SUBLANG_SLOVAK_SLOVAKIA: return "sk_SK";
- }
- return "sk";
- case LANG_SLOVENIAN:
- switch (sub)
- {
- case SUBLANG_SLOVENIAN_SLOVENIA: return "sl_SI";
- }
- return "sl";
- case LANG_SOMALI:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "so_SO";
- }
- return "so";
- case LANG_SORBIAN:
- /* FIXME: Adjust this when such locales appear on Unix. */
- switch (sub)
- {
- /* Upper Sorbian */
- case 0x00: return "hsb";
- case SUBLANG_UPPER_SORBIAN_GERMANY: return "hsb_DE";
- /* Lower Sorbian */
- case 0x1f: return "dsb";
- case SUBLANG_LOWER_SORBIAN_GERMANY: return "dsb_DE";
- }
- return "wen";
- case LANG_SOTHO:
- /* <https://docs.microsoft.com/en-us/windows/desktop/Intl/language-identifier-constants-and-strings>
- calls it "Sesotho sa Leboa"; according to
- <https://www.ethnologue.com/show_language.asp?code=nso>
- <https://www.ethnologue.com/show_language.asp?code=sot>
- it's the same as Northern Sotho. */
- switch (sub)
- {
- case SUBLANG_SOTHO_SOUTH_AFRICA: return "nso_ZA";
- }
- return "nso";
- case LANG_SPANISH:
- switch (sub)
- {
- case SUBLANG_SPANISH: return "es_ES";
- case SUBLANG_SPANISH_MEXICAN: return "es_MX";
- case SUBLANG_SPANISH_MODERN:
- return "es_ES@modern"; /* not seen on Unix */
- case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
- case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
- case SUBLANG_SPANISH_PANAMA: return "es_PA";
- case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
- case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
- case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
- case SUBLANG_SPANISH_PERU: return "es_PE";
- case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
- case SUBLANG_SPANISH_ECUADOR: return "es_EC";
- case SUBLANG_SPANISH_CHILE: return "es_CL";
- case SUBLANG_SPANISH_URUGUAY: return "es_UY";
- case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
- case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
- case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
- case SUBLANG_SPANISH_HONDURAS: return "es_HN";
- case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
- case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
- case SUBLANG_SPANISH_US: return "es_US";
- }
- return "es";
- case LANG_SUTU:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
- }
- return "bnt";
- case LANG_SWAHILI:
- switch (sub)
- {
- case SUBLANG_SWAHILI_KENYA: return "sw_KE";
- }
- return "sw";
- case LANG_SWEDISH:
- switch (sub)
- {
- case SUBLANG_SWEDISH_SWEDEN: return "sv_SE";
- case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
- }
- return "sv";
- case LANG_SYRIAC:
- switch (sub)
- {
- case SUBLANG_SYRIAC_SYRIA: return "syr_SY"; /* An extinct language. */
- }
- return "syr";
- case LANG_TAGALOG:
- switch (sub)
- {
- case SUBLANG_TAGALOG_PHILIPPINES: return "tl_PH"; /* or "fil_PH"? */
- }
- return "tl"; /* or "fil"? */
- case LANG_TAJIK:
- switch (sub)
- {
- case 0x1f: return "tg";
- case SUBLANG_TAJIK_TAJIKISTAN: return "tg_TJ";
- }
- return "tg";
- case LANG_TAMAZIGHT:
- /* Note: Microsoft uses the non-ISO language code "tmz". */
- switch (sub)
- {
- /* FIXME: Adjust this when Tamazight locales appear on Unix. */
- case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
- case 0x1f: return "ber@latin";
- case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin";
- }
- return "ber";
- case LANG_TAMIL:
- switch (sub)
- {
- case SUBLANG_TAMIL_INDIA: return "ta_IN";
- }
- return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
- case LANG_TATAR:
- switch (sub)
- {
- case SUBLANG_TATAR_RUSSIA: return "tt_RU";
- }
- return "tt";
- case LANG_TELUGU:
- switch (sub)
- {
- case SUBLANG_TELUGU_INDIA: return "te_IN";
- }
- return "te";
- case LANG_THAI:
- switch (sub)
- {
- case SUBLANG_THAI_THAILAND: return "th_TH";
- }
- return "th";
- case LANG_TIBETAN:
- switch (sub)
- {
- case SUBLANG_TIBETAN_PRC:
- /* Most Tibetans would not like "bo_CN". But Tibet does not yet
- have a country code of its own. */
- return "bo";
- case SUBLANG_TIBETAN_BHUTAN: return "bo_BT";
- }
- return "bo";
- case LANG_TIGRINYA:
- switch (sub)
- {
- case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
- case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
- }
- return "ti";
- case LANG_TSONGA:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ts_ZA";
- }
- return "ts";
- case LANG_TSWANA:
- /* Spoken in South Africa, Botswana. */
- switch (sub)
- {
- case SUBLANG_TSWANA_SOUTH_AFRICA: return "tn_ZA";
- }
- return "tn";
- case LANG_TURKISH:
- switch (sub)
- {
- case SUBLANG_TURKISH_TURKEY: return "tr_TR";
- }
- return "tr";
- case LANG_TURKMEN:
- switch (sub)
- {
- case SUBLANG_TURKMEN_TURKMENISTAN: return "tk_TM";
- }
- return "tk";
- case LANG_UIGHUR:
- switch (sub)
- {
- case SUBLANG_UIGHUR_PRC: return "ug_CN";
- }
- return "ug";
- case LANG_UKRAINIAN:
- switch (sub)
- {
- case SUBLANG_UKRAINIAN_UKRAINE: return "uk_UA";
- }
- return "uk";
- case LANG_URDU:
- switch (sub)
- {
- case SUBLANG_URDU_PAKISTAN: return "ur_PK";
- case SUBLANG_URDU_INDIA: return "ur_IN";
- }
- return "ur";
- case LANG_UZBEK:
- switch (sub)
- {
- case 0x1f: return "uz";
- case SUBLANG_UZBEK_LATIN: return "uz_UZ";
- case 0x1e: return "uz@cyrillic";
- case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
- }
- return "uz";
- case LANG_VENDA:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ve_ZA";
- }
- return "ve";
- case LANG_VIETNAMESE:
- switch (sub)
- {
- case SUBLANG_VIETNAMESE_VIETNAM: return "vi_VN";
- }
- return "vi";
- case LANG_WELSH:
- switch (sub)
- {
- case SUBLANG_WELSH_UNITED_KINGDOM: return "cy_GB";
- }
- return "cy";
- case LANG_WOLOF:
- switch (sub)
- {
- case SUBLANG_WOLOF_SENEGAL: return "wo_SN";
- }
- return "wo";
- case LANG_XHOSA:
- switch (sub)
- {
- case SUBLANG_XHOSA_SOUTH_AFRICA: return "xh_ZA";
- }
- return "xh";
- case LANG_YAKUT:
- switch (sub)
- {
- case SUBLANG_YAKUT_RUSSIA: return "sah_RU";
- }
- return "sah";
- case LANG_YI:
- switch (sub)
- {
- case SUBLANG_YI_PRC: return "ii_CN";
- }
- return "ii";
- case LANG_YIDDISH:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "yi_IL";
- }
- return "yi";
- case LANG_YORUBA:
- switch (sub)
- {
- case SUBLANG_YORUBA_NIGERIA: return "yo_NG";
- }
- return "yo";
- case LANG_ZULU:
- switch (sub)
- {
- case SUBLANG_ZULU_SOUTH_AFRICA: return "zu_ZA";
- }
- return "zu";
- default: return "C";
- }
- }
-}
-
-# if !defined IN_LIBINTL
-static
-# endif
-const char *
-gl_locale_name_from_win32_LCID (LCID lcid)
-{
- LANGID langid;
-
- /* Strip off the sorting rules, keep only the language part. */
- langid = LANGIDFROMLCID (lcid);
-
- return gl_locale_name_from_win32_LANGID (langid);
-}
-
-# ifdef WINDOWS_NATIVE
-
-/* Two variables to interface between get_lcid and the EnumLocales
- callback function below. */
-static LCID found_lcid;
-static char lname[LC_MAX * (LOCALE_NAME_MAX_LENGTH + 1) + 1];
-
-/* Callback function for EnumLocales. */
-static BOOL CALLBACK
-enum_locales_fn (LPSTR locale_num_str)
-{
- char *endp;
- char locval[2 * LOCALE_NAME_MAX_LENGTH + 1 + 1];
- LCID try_lcid = strtoul (locale_num_str, &endp, 16);
-
- if (GetLocaleInfo (try_lcid, LOCALE_SENGLANGUAGE,
- locval, LOCALE_NAME_MAX_LENGTH))
- {
- strcat (locval, "_");
- if (GetLocaleInfo (try_lcid, LOCALE_SENGCOUNTRY,
- locval + strlen (locval), LOCALE_NAME_MAX_LENGTH))
- {
- size_t locval_len = strlen (locval);
-
- if (strncmp (locval, lname, locval_len) == 0
- && (lname[locval_len] == '.'
- || lname[locval_len] == '\0'))
- {
- found_lcid = try_lcid;
- return FALSE;
- }
- }
- }
- return TRUE;
-}
-
-/* This lock protects the get_lcid against multiple simultaneous calls. */
-gl_lock_define_initialized(static, get_lcid_lock)
-
-/* Return the Locale ID (LCID) number given the locale's name, a
- string, in LOCALE_NAME. This works by enumerating all the locales
- supported by the system, until we find one whose name matches
- LOCALE_NAME. */
-static LCID
-get_lcid (const char *locale_name)
-{
- /* A simple cache. */
- static LCID last_lcid;
- static char last_locale[1000];
-
- /* Lock while looking for an LCID, to protect access to static
- variables: last_lcid, last_locale, found_lcid, and lname. */
- gl_lock_lock (get_lcid_lock);
- if (last_lcid > 0 && strcmp (locale_name, last_locale) == 0)
- {
- gl_lock_unlock (get_lcid_lock);
- return last_lcid;
- }
- strncpy (lname, locale_name, sizeof (lname) - 1);
- lname[sizeof (lname) - 1] = '\0';
- found_lcid = 0;
- EnumSystemLocales (enum_locales_fn, LCID_SUPPORTED);
- if (found_lcid > 0)
- {
- last_lcid = found_lcid;
- strcpy (last_locale, locale_name);
- }
- gl_lock_unlock (get_lcid_lock);
- return found_lcid;
-}
-
-# endif
-#endif
-
-
-#if HAVE_GOOD_USELOCALE /* glibc, Mac OS X, FreeBSD >= 9.1, Cygwin >= 2.6,
- Solaris 11 OpenIndiana, or Solaris >= 11.4 */
-
-/* Simple hash set of strings. We don't want to drag in lots of hash table
- code here. */
-
-# define SIZE_BITS (sizeof (size_t) * CHAR_BIT)
-
-/* A hash function for NUL-terminated char* strings using
- the method described by Bruno Haible.
- See https://www.haible.de/bruno/hashfunc.html. */
-static size_t _GL_ATTRIBUTE_PURE
-string_hash (const void *x)
-{
- const char *s = (const char *) x;
- size_t h = 0;
-
- for (; *s; s++)
- h = *s + ((h << 9) | (h >> (SIZE_BITS - 9)));
-
- return h;
-}
-
-/* A hash table of fixed size. Multiple threads can access it read-only
- simultaneously, but only one thread can insert into it at the same time. */
-
-/* A node in a hash bucket collision list. */
-struct struniq_hash_node
- {
- struct struniq_hash_node * volatile next;
- char contents[FLEXIBLE_ARRAY_MEMBER];
- };
-
-# define STRUNIQ_HASH_TABLE_SIZE 257
-static struct struniq_hash_node * volatile struniq_hash_table[STRUNIQ_HASH_TABLE_SIZE]
- /* = { NULL, ..., NULL } */;
-
-/* This lock protects the struniq_hash_table against multiple simultaneous
- insertions. */
-gl_lock_define_initialized(static, struniq_lock)
-
-/* Store a copy of the given string in a string pool with indefinite extent.
- Return a pointer to this copy. */
-static const char *
-struniq (const char *string)
-{
- size_t hashcode = string_hash (string);
- size_t slot = hashcode % STRUNIQ_HASH_TABLE_SIZE;
- size_t size;
- struct struniq_hash_node *new_node;
- struct struniq_hash_node *p;
- for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
- if (strcmp (p->contents, string) == 0)
- return p->contents;
- size = strlen (string) + 1;
- new_node =
- (struct struniq_hash_node *)
- malloc (FLEXSIZEOF (struct struniq_hash_node, contents, size));
- if (new_node == NULL)
- /* Out of memory. Return a statically allocated string. */
- return "C";
- memcpy (new_node->contents, string, size);
- {
- bool mt = gl_multithreaded ();
- /* Lock while inserting new_node. */
- if (mt) gl_lock_lock (struniq_lock);
- /* Check whether another thread already added the string while we were
- waiting on the lock. */
- for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
- if (strcmp (p->contents, string) == 0)
- {
- free (new_node);
- new_node = p;
- goto done;
- }
- /* Really insert new_node into the hash table. Fill new_node entirely
- first, because other threads may be iterating over the linked list. */
- new_node->next = struniq_hash_table[slot];
- struniq_hash_table[slot] = new_node;
- done:
- /* Unlock after new_node is inserted. */
- if (mt) gl_lock_unlock (struniq_lock);
- }
- return new_node->contents;
-}
-
-#endif
-
-
-#if LOCALENAME_ENHANCE_LOCALE_FUNCS
-
-/* The 'locale_t' object does not contain the names of the locale categories.
- We have to associate them with the object through a hash table.
- The hash table is defined in localename-table.[hc]. */
-
-/* Returns the name of a given locale category in a given locale_t object,
- allocated as a string with indefinite extent. */
-static const char *
-get_locale_t_name (int category, locale_t locale)
-{
- if (locale == LC_GLOBAL_LOCALE)
- {
- /* Query the global locale. */
- const char *name = setlocale_null (category);
- if (name != NULL)
- return struniq (name);
- else
- /* Should normally not happen. */
- return "";
- }
- else
- {
- /* Look up the names in the hash table. */
- size_t hashcode = locale_hash_function (locale);
- size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
- /* If the locale was not found in the table, return "". This can
- happen if the application uses the original newlocale()/duplocale()
- functions instead of the overridden ones. */
- const char *name = "";
- struct locale_hash_node *p;
- /* Lock while looking up the hash node. */
- gl_rwlock_rdlock (locale_lock);
- for (p = locale_hash_table[slot]; p != NULL; p = p->next)
- if (p->locale == locale)
- {
- name = p->names.category_name[category];
- break;
- }
- gl_rwlock_unlock (locale_lock);
- return name;
- }
-}
-
-# if !(defined newlocale && defined duplocale && defined freelocale)
-# error "newlocale, duplocale, freelocale not being replaced as expected!"
-# endif
-
-/* newlocale() override. */
-locale_t
-newlocale (int category_mask, const char *name, locale_t base)
-#undef newlocale
-{
- struct locale_categories_names names;
- struct locale_hash_node *node;
- locale_t result;
-
- /* Make sure name has indefinite extent. */
- if (((LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK
- | LC_MONETARY_MASK | LC_MESSAGES_MASK)
- & category_mask) != 0)
- name = struniq (name);
-
- /* Determine the category names of the result. */
- if (((LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK
- | LC_MONETARY_MASK | LC_MESSAGES_MASK)
- & ~category_mask) == 0)
- {
- /* Use name, ignore base. */
- int category;
-
- name = struniq (name);
- for (category = 0; category < 6; category++)
- names.category_name[category] = name;
- }
- else
- {
- /* Use base, possibly also name. */
- if (base == NULL)
- {
- int category;
-
- for (category = 0; category < 6; category++)
- {
- int mask;
-
- switch (category)
- {
- case LC_CTYPE:
- mask = LC_CTYPE_MASK;
- break;
- case LC_NUMERIC:
- mask = LC_NUMERIC_MASK;
- break;
- case LC_TIME:
- mask = LC_TIME_MASK;
- break;
- case LC_COLLATE:
- mask = LC_COLLATE_MASK;
- break;
- case LC_MONETARY:
- mask = LC_MONETARY_MASK;
- break;
- case LC_MESSAGES:
- mask = LC_MESSAGES_MASK;
- break;
- default:
- abort ();
- }
- names.category_name[category] =
- ((mask & category_mask) != 0 ? name : "C");
- }
- }
- else if (base == LC_GLOBAL_LOCALE)
- {
- int category;
-
- for (category = 0; category < 6; category++)
- {
- int mask;
-
- switch (category)
- {
- case LC_CTYPE:
- mask = LC_CTYPE_MASK;
- break;
- case LC_NUMERIC:
- mask = LC_NUMERIC_MASK;
- break;
- case LC_TIME:
- mask = LC_TIME_MASK;
- break;
- case LC_COLLATE:
- mask = LC_COLLATE_MASK;
- break;
- case LC_MONETARY:
- mask = LC_MONETARY_MASK;
- break;
- case LC_MESSAGES:
- mask = LC_MESSAGES_MASK;
- break;
- default:
- abort ();
- }
- names.category_name[category] =
- ((mask & category_mask) != 0
- ? name
- : get_locale_t_name (category, LC_GLOBAL_LOCALE));
- }
- }
- else
- {
- /* Look up the names of base in the hash table. Like multiple calls
- of get_locale_t_name, but locking only once. */
- struct locale_hash_node *p;
- int category;
-
- /* Lock while looking up the hash node. */
- gl_rwlock_rdlock (locale_lock);
- for (p = locale_hash_table[locale_hash_function (base) % LOCALE_HASH_TABLE_SIZE];
- p != NULL;
- p = p->next)
- if (p->locale == base)
- break;
-
- for (category = 0; category < 6; category++)
- {
- int mask;
-
- switch (category)
- {
- case LC_CTYPE:
- mask = LC_CTYPE_MASK;
- break;
- case LC_NUMERIC:
- mask = LC_NUMERIC_MASK;
- break;
- case LC_TIME:
- mask = LC_TIME_MASK;
- break;
- case LC_COLLATE:
- mask = LC_COLLATE_MASK;
- break;
- case LC_MONETARY:
- mask = LC_MONETARY_MASK;
- break;
- case LC_MESSAGES:
- mask = LC_MESSAGES_MASK;
- break;
- default:
- abort ();
- }
- names.category_name[category] =
- ((mask & category_mask) != 0
- ? name
- : (p != NULL ? p->names.category_name[category] : ""));
- }
-
- gl_rwlock_unlock (locale_lock);
- }
- }
-
- node = (struct locale_hash_node *) malloc (sizeof (struct locale_hash_node));
- if (node == NULL)
- /* errno is set to ENOMEM. */
- return NULL;
-
- result = newlocale (category_mask, name, base);
- if (result == NULL)
- {
- free (node);
- return NULL;
- }
-
- /* Fill the hash node. */
- node->locale = result;
- node->names = names;
-
- /* Insert it in the hash table. */
- {
- size_t hashcode = locale_hash_function (result);
- size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
- struct locale_hash_node *p;
-
- /* Lock while inserting the new node. */
- gl_rwlock_wrlock (locale_lock);
- for (p = locale_hash_table[slot]; p != NULL; p = p->next)
- if (p->locale == result)
- {
- /* This can happen if the application uses the original freelocale()
- function instead of the overridden one. */
- p->names = node->names;
- break;
- }
- if (p == NULL)
- {
- node->next = locale_hash_table[slot];
- locale_hash_table[slot] = node;
- }
-
- gl_rwlock_unlock (locale_lock);
-
- if (p != NULL)
- free (node);
- }
-
- return result;
-}
-
-/* duplocale() override. */
-locale_t
-duplocale (locale_t locale)
-#undef duplocale
-{
- struct locale_hash_node *node;
- locale_t result;
-
- if (locale == NULL)
- /* Invalid argument. */
- abort ();
-
- node = (struct locale_hash_node *) malloc (sizeof (struct locale_hash_node));
- if (node == NULL)
- /* errno is set to ENOMEM. */
- return NULL;
-
- result = duplocale (locale);
- if (result == NULL)
- {
- free (node);
- return NULL;
- }
-
- /* Fill the hash node. */
- node->locale = result;
- if (locale == LC_GLOBAL_LOCALE)
- {
- int category;
-
- for (category = 0; category < 6; category++)
- node->names.category_name[category] =
- get_locale_t_name (category, LC_GLOBAL_LOCALE);
-
- /* Lock before inserting the new node. */
- gl_rwlock_wrlock (locale_lock);
- }
- else
- {
- struct locale_hash_node *p;
-
- /* Lock once, for the lookup and the insertion. */
- gl_rwlock_wrlock (locale_lock);
-
- for (p = locale_hash_table[locale_hash_function (locale) % LOCALE_HASH_TABLE_SIZE];
- p != NULL;
- p = p->next)
- if (p->locale == locale)
- break;
- if (p != NULL)
- node->names = p->names;
- else
- {
- /* This can happen if the application uses the original
- newlocale()/duplocale() functions instead of the overridden
- ones. */
- int category;
-
- for (category = 0; category < 6; category++)
- node->names.category_name[category] = "";
- }
- }
-
- /* Insert it in the hash table. */
- {
- size_t hashcode = locale_hash_function (result);
- size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
- struct locale_hash_node *p;
-
- for (p = locale_hash_table[slot]; p != NULL; p = p->next)
- if (p->locale == result)
- {
- /* This can happen if the application uses the original freelocale()
- function instead of the overridden one. */
- p->names = node->names;
- break;
- }
- if (p == NULL)
- {
- node->next = locale_hash_table[slot];
- locale_hash_table[slot] = node;
- }
-
- gl_rwlock_unlock (locale_lock);
-
- if (p != NULL)
- free (node);
- }
-
- return result;
-}
-
-/* freelocale() override. */
-void
-freelocale (locale_t locale)
-#undef freelocale
+gl_locale_name_thread (int category, const char *categoryname)
{
- if (locale == NULL || locale == LC_GLOBAL_LOCALE)
+ if (category == LC_ALL)
/* Invalid argument. */
abort ();
-
- {
- size_t hashcode = locale_hash_function (locale);
- size_t slot = hashcode % LOCALE_HASH_TABLE_SIZE;
- struct locale_hash_node *found;
- struct locale_hash_node **p;
-
- found = NULL;
- /* Lock while removing the hash node. */
- gl_rwlock_wrlock (locale_lock);
- for (p = &locale_hash_table[slot]; *p != NULL; p = &(*p)->next)
- if ((*p)->locale == locale)
- {
- found = *p;
- *p = (*p)->next;
- break;
- }
- gl_rwlock_unlock (locale_lock);
- free (found);
- }
-
- freelocale (locale);
-}
-
-#endif
-
-
-#if defined IN_LIBINTL || HAVE_GOOD_USELOCALE
-
-/* Like gl_locale_name_thread, except that the result is not in storage of
- indefinite extent. */
-# if !defined IN_LIBINTL
-static
-# endif
-const char *
-gl_locale_name_thread_unsafe (int category, _GL_UNUSED const char *categoryname)
-{
-# if HAVE_GOOD_USELOCALE
- {
- locale_t thread_locale = uselocale (NULL);
- if (thread_locale != LC_GLOBAL_LOCALE)
- {
-# if __GLIBC__ >= 2 && !defined __UCLIBC__
- /* Work around an incorrect definition of the _NL_LOCALE_NAME macro in
- glibc < 2.12.
- See <https://sourceware.org/bugzilla/show_bug.cgi?id=10968>. */
- const char *name =
- nl_langinfo (_NL_ITEM ((category), _NL_ITEM_INDEX (-1)));
- if (name[0] == '\0')
- /* Fallback code for glibc < 2.4, which did not implement
- nl_langinfo (_NL_LOCALE_NAME (category)). */
- name = thread_locale->__names[category];
- return name;
-# elif defined __linux__ && HAVE_LANGINFO_H && defined NL_LOCALE_NAME
- /* musl libc */
- return nl_langinfo_l (NL_LOCALE_NAME (category), thread_locale);
-# elif (defined __FreeBSD__ || defined __DragonFly__) || (defined __APPLE__ && defined __MACH__)
- /* FreeBSD, Mac OS X */
- int mask;
-
- switch (category)
- {
- case LC_CTYPE:
- mask = LC_CTYPE_MASK;
- break;
- case LC_NUMERIC:
- mask = LC_NUMERIC_MASK;
- break;
- case LC_TIME:
- mask = LC_TIME_MASK;
- break;
- case LC_COLLATE:
- mask = LC_COLLATE_MASK;
- break;
- case LC_MONETARY:
- mask = LC_MONETARY_MASK;
- break;
- case LC_MESSAGES:
- mask = LC_MESSAGES_MASK;
- break;
- default: /* We shouldn't get here. */
- return "";
- }
- return querylocale (mask, thread_locale);
-# elif defined __sun
-# if HAVE_GETLOCALENAME_L
- /* Solaris >= 12. */
- return getlocalename_l (category, thread_locale);
-# elif HAVE_SOLARIS114_LOCALES
- /* Solaris >= 11.4. */
- void *lcp = (*thread_locale)->core.data->lcp;
- if (lcp != NULL)
- switch (category)
- {
- case LC_CTYPE:
- case LC_NUMERIC:
- case LC_TIME:
- case LC_COLLATE:
- case LC_MONETARY:
- case LC_MESSAGES:
- return ((const char * const *) lcp)[category];
- default: /* We shouldn't get here. */
- return "";
- }
-# elif HAVE_NAMELESS_LOCALES
- return get_locale_t_name (category, thread_locale);
-# else
- /* Solaris 11 OpenIndiana.
- For the internal structure of locale objects, see
- https://github.com/OpenIndiana/illumos-gate/blob/master/usr/src/lib/libc/port/locale/localeimpl.h */
- switch (category)
- {
- case LC_CTYPE:
- case LC_NUMERIC:
- case LC_TIME:
- case LC_COLLATE:
- case LC_MONETARY:
- case LC_MESSAGES:
- return ((const char * const *) thread_locale)[category];
- default: /* We shouldn't get here. */
- return "";
- }
-# endif
-# elif defined _AIX && HAVE_NAMELESS_LOCALES
- return get_locale_t_name (category, thread_locale);
-# elif defined __CYGWIN__
- /* Cygwin < 2.6 lacks uselocale and thread-local locales altogether.
- Cygwin <= 2.6.1 lacks NL_LOCALE_NAME, requiring peeking inside
- an opaque struct. */
-# ifdef NL_LOCALE_NAME
- return nl_langinfo_l (NL_LOCALE_NAME (category), thread_locale);
-# else
- /* FIXME: Remove when we can assume new-enough Cygwin. */
- struct __locale_t {
- char categories[7][32];
- };
- return ((struct __locale_t *) thread_locale)->categories[category];
-# endif
-# elif defined __ANDROID__
- return MB_CUR_MAX == 4 ? "C.UTF-8" : "C";
-# endif
- }
- }
-# endif
- return NULL;
-}
-
-#endif
-
-const char *
-gl_locale_name_thread (int category, _GL_UNUSED const char *categoryname)
-{
-#if HAVE_GOOD_USELOCALE
const char *name = gl_locale_name_thread_unsafe (category, categoryname);
if (name != NULL)
return struniq (name);
-#endif
- /* On WINDOWS_NATIVE, don't use GetThreadLocale() here, because when
- SetThreadLocale has not been called - which is a very frequent case -
- the value of GetThreadLocale() ignores past calls to 'setlocale'. */
return NULL;
}
-/* XPG3 defines the result of 'setlocale (category, NULL)' as:
- "Directs 'setlocale()' to query 'category' and return the current
- setting of 'local'."
- However it does not specify the exact format. Neither do SUSV2 and
- ISO C 99. So we can use this feature only on selected systems (e.g.
- those using GNU C Library). */
-#if defined _LIBC || ((defined __GLIBC__ && __GLIBC__ >= 2) && !defined __UCLIBC__)
-# define HAVE_LOCALE_NULL
-#endif
-
const char *
-gl_locale_name_posix (int category, _GL_UNUSED const char *categoryname)
+gl_locale_name_posix (int category, const char *categoryname)
{
-#if defined WINDOWS_NATIVE
- if (LC_MIN <= category && category <= LC_MAX)
- {
- const char *locname =
- /* setlocale_null (category) is identical to setlocale (category, NULL)
- on this platform. */
- setlocale (category, NULL);
-
- /* Convert locale name to LCID. We don't want to use
- LocaleNameToLCID because (a) it is only available since Vista,
- and (b) it doesn't accept locale names returned by 'setlocale'. */
- LCID lcid = get_lcid (locname);
-
- if (lcid > 0)
- return gl_locale_name_from_win32_LCID (lcid);
- }
-#endif
- {
- const char *locname;
-
- /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
- On some systems this can be done by the 'setlocale' function itself. */
-#if defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
- locname = setlocale_null (category);
-#else
- /* On other systems we ignore what setlocale reports and instead look at the
- environment variables directly. This is necessary
- 1. on systems which have a facility for customizing the default locale
- (Mac OS X, native Windows, Cygwin) and where the system's setlocale()
- function ignores this default locale (Mac OS X, Cygwin), in two cases:
- a. when the user missed to use the setlocale() override from libintl
- (for example by not including <libintl.h>),
- b. when setlocale supports only the "C" locale, such as on Cygwin
- 1.5.x. In this case even the override from libintl cannot help.
- 2. on all systems where setlocale supports only the "C" locale. */
- /* Strictly speaking, it is a POSIX violation to look at the environment
- variables regardless whether setlocale has been called or not. POSIX
- says:
- "For C-language programs, the POSIX locale shall be the
- default locale when the setlocale() function is not called."
- But we assume that all programs that use internationalized APIs call
- setlocale (LC_ALL, ""). */
- locname = gl_locale_name_environ (category, categoryname);
-#endif
- /* Convert the locale name from the format returned by setlocale() or found
- in the environment variables to the XPG syntax. */
-#if defined WINDOWS_NATIVE
- if (locname != NULL)
- {
- /* Convert locale name to LCID. We don't want to use
- LocaleNameToLCID because (a) it is only available since Vista,
- and (b) it doesn't accept locale names returned by 'setlocale'. */
- LCID lcid = get_lcid (locname);
-
- if (lcid > 0)
- return gl_locale_name_from_win32_LCID (lcid);
- }
-#endif
- return locname;
- }
-}
-
-const char *
-gl_locale_name_environ (_GL_UNUSED int category, const char *categoryname)
-{
- const char *retval;
-
- /* Setting of LC_ALL overrides all other. */
- retval = getenv ("LC_ALL");
- if (retval != NULL && retval[0] != '\0')
- return retval;
- /* Next comes the name of the desired category. */
- retval = getenv (categoryname);
- if (retval != NULL && retval[0] != '\0')
- return retval;
- /* Last possibility is the LANG environment variable. */
- retval = getenv ("LANG");
- if (retval != NULL && retval[0] != '\0')
- {
-#if HAVE_CFPREFERENCESCOPYAPPVALUE
- /* Mac OS X 10.2 or newer.
- Ignore invalid LANG value set by the Terminal application. */
- if (strcmp (retval, "UTF-8") != 0)
-#endif
-#if defined __CYGWIN__
- /* Cygwin.
- Ignore dummy LANG value set by ~/.profile. */
- if (strcmp (retval, "C.UTF-8") != 0)
-#endif
- return retval;
- }
-
+ if (category == LC_ALL)
+ /* Invalid argument. */
+ abort ();
+ const char *name = gl_locale_name_posix_unsafe (category, categoryname);
+ if (name != NULL)
+ return struniq (name);
return NULL;
}
-const char *
-gl_locale_name_default (void)
-{
- /* POSIX:2001 says:
- "All implementations shall define a locale as the default locale, to be
- invoked when no environment variables are set, or set to the empty
- string. This default locale can be the POSIX locale or any other
- implementation-defined locale. Some implementations may provide
- facilities for local installation administrators to set the default
- locale, customizing it for each location. POSIX:2001 does not require
- such a facility.
-
- The systems with such a facility are Mac OS X and Windows: They provide a
- GUI that allows the user to choose a locale.
- - On Mac OS X, by default, none of LC_* or LANG are set. Starting with
- Mac OS X 10.4 or 10.5, LANG is set for processes launched by the
- 'Terminal' application (but sometimes to an incorrect value "UTF-8").
- When no environment variable is set, setlocale (LC_ALL, "") uses the
- "C" locale.
- - On native Windows, by default, none of LC_* or LANG are set.
- When no environment variable is set, setlocale (LC_ALL, "") uses the
- locale chosen by the user.
- - On Cygwin 1.5.x, by default, none of LC_* or LANG are set.
- When no environment variable is set, setlocale (LC_ALL, "") uses the
- "C" locale.
- - On Cygwin 1.7, by default, LANG is set to "C.UTF-8" when the default
- ~/.profile is executed.
- When no environment variable is set, setlocale (LC_ALL, "") uses the
- "C.UTF-8" locale, which operates in the same way as the "C" locale.
- */
-
-#if !(HAVE_CFPREFERENCESCOPYAPPVALUE || defined WINDOWS_NATIVE || defined __CYGWIN__)
-
- /* The system does not have a way of setting the locale, other than the
- POSIX specified environment variables. We use C as default locale. */
- return "C";
-
-#else
-
- /* Return an XPG style locale name language[_territory][@modifier].
- Don't even bother determining the codeset; it's not useful in this
- context, because message catalogs are not specific to a single
- codeset. */
-
-# if HAVE_CFPREFERENCESCOPYAPPVALUE
- /* Mac OS X 10.4 or newer */
- /* Don't use the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent,
- because in macOS 10.13.4 it has the following behaviour:
- When two or more languages are specified in the
- "System Preferences > Language & Region > Preferred Languages" panel,
- it returns en_CC where CC is the territory (even when English is not among
- the preferred languages!). What we want instead is what
- CFLocaleCopyCurrent returned in earlier macOS releases and what
- CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the
- first among the preferred languages and CC is the territory. */
- {
- /* Cache the locale name, since CoreFoundation calls are expensive. */
- static const char *cached_localename;
-
- if (cached_localename == NULL)
- {
- char namebuf[256];
- CFTypeRef value =
- CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
- kCFPreferencesCurrentApplication);
- if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ())
- {
- CFStringRef name = (CFStringRef)value;
-
- if (CFStringGetCString (name, namebuf, sizeof (namebuf),
- kCFStringEncodingASCII))
- {
- gl_locale_name_canonicalize (namebuf);
- cached_localename = strdup (namebuf);
- }
- }
- if (cached_localename == NULL)
- cached_localename = "C";
- }
- return cached_localename;
- }
-
-# endif
-
-# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
- {
- LCID lcid;
-
- /* Use native Windows API locale ID. */
- lcid = GetThreadLocale ();
-
- return gl_locale_name_from_win32_LCID (lcid);
- }
-# endif
-#endif
-}
-
/* Determine the current locale's name, and canonicalize it into XPG syntax
language[_territory][.codeset][@modifier]
The codeset part in the result is not reliable; the locale_charset()
@@ -3438,6 +73,10 @@ gl_locale_name (int category, const char *categoryname)
{
const char *retval;
+ if (category == LC_ALL)
+ /* Invalid argument. */
+ abort ();
+
retval = gl_locale_name_thread (category, categoryname);
if (retval != NULL)
return retval;
diff --git a/lib/localename.h b/lib/localename.h
index fd110818..06906143 100644
--- a/lib/localename.h
+++ b/lib/localename.h
@@ -1,5 +1,5 @@
/* Determine name of the currently selected locale.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -17,6 +17,11 @@
#ifndef _GL_LOCALENAME_H
#define _GL_LOCALENAME_H
+/* This file uses _GL_ATTRIBUTE_CONST, HAVE_CFPREFERENCESCOPYAPPVALUE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -91,6 +96,19 @@ extern const char * gl_locale_name_default (void)
#endif
;
+
+/* These functions with the '_unsafe' suffix are like the functions without
+ this suffix, above, except that the result is not statically allocated, but
+ instead only valid in the current thread, until the next uselocale(),
+ setlocale(), newlocale(), or freelocale() call. */
+extern const char * gl_locale_name_unsafe (int category,
+ const char *categoryname);
+extern const char * gl_locale_name_thread_unsafe (int category,
+ const char *categoryname);
+extern const char * gl_locale_name_posix_unsafe (int category,
+ const char *categoryname);
+
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/malloc.c b/lib/malloc.c
index f334dd6e..2a7867a1 100644
--- a/lib/malloc.c
+++ b/lib/malloc.c
@@ -1,6 +1,6 @@
/* malloc() function that is glibc compatible.
- Copyright (C) 1997-1998, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/malloca.c b/lib/malloca.c
index 1e19978d..e75c72df 100644
--- a/lib/malloca.c
+++ b/lib/malloca.c
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003, 2018.
This file is free software: you can redistribute it and/or modify
@@ -22,6 +22,9 @@
#include "malloca.h"
#include <stdckdint.h>
+#if defined __CHERI_PURE_CAPABILITY__
+# include <cheri.h>
+#endif
#include "idx.h"
@@ -36,10 +39,15 @@
allocation.
- NULL comes from a failed heap allocation. */
+#if defined __CHERI_PURE_CAPABILITY__
+/* Type for holding the original malloc() result. */
+typedef uintptr_t small_t;
+#else
/* Type for holding very small pointer differences. */
typedef unsigned char small_t;
/* Verify that it is wide enough. */
static_assert (2 * sa_alignment_max - 1 <= (small_t) -1);
+#endif
void *
mmalloca (size_t n)
@@ -56,20 +64,28 @@ mmalloca (size_t n)
if (mem != NULL)
{
- uintptr_t umem = (uintptr_t)mem, umemplus;
+ uintptr_t umem = (uintptr_t) mem;
/* The ckd_add avoids signed integer overflow on
theoretical platforms where UINTPTR_MAX <= INT_MAX. */
+ uintptr_t umemplus;
ckd_add (&umemplus, umem, sizeof (small_t) + sa_alignment_max - 1);
- idx_t offset = ((umemplus & ~alignment2_mask)
+ idx_t offset = (umemplus - umemplus % (2 * sa_alignment_max)
+ sa_alignment_max - umem);
- void *vp = mem + offset;
- small_t *p = vp;
+ void *p = mem + offset;
/* Here p >= mem + sizeof (small_t),
and p <= mem + sizeof (small_t) + 2 * sa_alignment_max - 1
hence p + n <= mem + nplus.
So, the memory range [p, p+n) lies in the allocated memory range
[mem, mem + nplus). */
- p[-1] = offset;
+ small_t *sp = p;
+# if defined __CHERI_PURE_CAPABILITY__
+ sp[-1] = umem;
+ p = (char *) cheri_bounds_set ((char *) p - sizeof (small_t),
+ sizeof (small_t) + n)
+ + sizeof (small_t);
+# else
+ sp[-1] = offset;
+# endif
/* p ≡ sa_alignment_max mod 2*sa_alignment_max. */
return p;
}
@@ -90,15 +106,22 @@ void
freea (void *p)
{
/* Check argument. */
- if ((uintptr_t) p & (sa_alignment_max - 1))
+ uintptr_t u = (uintptr_t) p;
+ if (u & (sa_alignment_max - 1))
{
/* p was not the result of a malloca() call. Invalid argument. */
abort ();
}
/* Determine whether p was a non-NULL pointer returned by mmalloca(). */
- if ((uintptr_t) p & sa_alignment_max)
+ if (u & sa_alignment_max)
{
- void *mem = (char *) p - ((small_t *) p)[-1];
+ char *cp = p;
+ small_t *sp = p;
+# if defined __CHERI_PURE_CAPABILITY__
+ void *mem = sp[-1];
+# else
+ void *mem = cp - sp[-1];
+# endif
free (mem);
}
}
diff --git a/lib/malloca.h b/lib/malloca.h
index 7ec235f3..c5208421 100644
--- a/lib/malloca.h
+++ b/lib/malloca.h
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This file is free software: you can redistribute it and/or modify
@@ -18,10 +18,19 @@
#ifndef _MALLOCA_H
#define _MALLOCA_H
+/* This file uses _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_DEALLOC,
+ _GL_ATTRIBUTE_MALLOC, HAVE_ALLOCA. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <alloca.h>
#include <stddef.h>
#include <stdlib.h>
#include <stdint.h>
+#if defined __CHERI_PURE_CAPABILITY__
+# include <cheri.h>
+#endif
#include "xalloc-oversized.h"
@@ -62,12 +71,24 @@ extern void freea (void *p);
memory allocated on the stack, that must be freed using freea() before
the function returns. Upon failure, it returns NULL. */
#if HAVE_ALLOCA
-# define malloca(N) \
- ((N) < 4032 - (2 * sa_alignment_max - 1) \
- ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \
- + (2 * sa_alignment_max - 1)) \
- & ~(uintptr_t)(2 * sa_alignment_max - 1)) \
- : mmalloca (N))
+# if defined __CHERI_PURE_CAPABILITY__
+# define malloca(N) \
+ ((N) < 4032 - (2 * sa_alignment_max - 1) \
+ ? cheri_bounds_set ((void *) (((uintptr_t) \
+ (char *) \
+ alloca ((N) + 2 * sa_alignment_max - 1) \
+ + (2 * sa_alignment_max - 1)) \
+ & ~(uintptr_t)(2 * sa_alignment_max - 1)), \
+ (N)) \
+ : mmalloca (N))
+# else
+# define malloca(N) \
+ ((N) < 4032 - (2 * sa_alignment_max - 1) \
+ ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \
+ + (2 * sa_alignment_max - 1)) \
+ & ~(uintptr_t)(2 * sa_alignment_max - 1)) \
+ : mmalloca (N))
+# endif
#else
# define malloca(N) \
mmalloca (N)
diff --git a/lib/math.c b/lib/math.c
index 1502a1fd..78da4d4a 100644
--- a/lib/math.c
+++ b/lib/math.c
@@ -1,6 +1,6 @@
/* Inline functions for <math.h>.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,5 +18,5 @@
#include <config.h>
#define _GL_MATH_INLINE _GL_EXTERN_INLINE
-#include "math.h"
+#include <math.h>
typedef int dummy;
diff --git a/lib/math.in.h b/lib/math.in.h
index 0ef1ba10..85b7e6ff 100644
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <math.h>.
- Copyright (C) 2002-2003, 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -15,6 +15,11 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
+/* On Android, in C++ mode, when /usr/include/c++/v1/math.h is being included
+ and /usr/include/math.h has not yet been included, skip this file, since it
+ would lead to many syntax errors. */
+#if !(defined __ANDROID__ && defined _LIBCPP_MATH_H && !defined INFINITY)
+
#ifndef _@GUARD_PREFIX@_MATH_H
#if __GNUC__ >= 3
@@ -43,14 +48,17 @@
#ifndef _@GUARD_PREFIX@_MATH_H
#define _@GUARD_PREFIX@_MATH_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_ATTRIBUTE_CONST,
+ GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On OpenVMS, NAN, INFINITY, and HUGEVAL macros are defined in <fp.h>. */
#if defined __VMS && ! defined NAN
# include <fp.h>
#endif
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_MATH_INLINE
# define _GL_MATH_INLINE _GL_INLINE
@@ -1427,6 +1435,29 @@ _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
#endif
/* Return x * 2^exp. */
+#if @GNULIB_LDEXP@
+# if @REPLACE_LDEXP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ldexp
+# define ldexp rpl_ldexp
+# endif
+_GL_FUNCDECL_RPL (ldexp, double, (double x, int exp));
+_GL_CXXALIAS_RPL (ldexp, double, (double x, int exp));
+# else
+/* Assume ldexp is always declared. */
+_GL_CXXALIAS_SYS (ldexp, double, (double x, int exp));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN1 (ldexp, double, (double x, int exp));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef ldexp
+/* Assume ldexp is always declared. */
+_GL_WARN_ON_USE (ldexp, "ldexp is unportable - "
+ "use gnulib module ldexp for portability");
+#endif
+
+/* Return x * 2^exp. */
#if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef ldexpl
@@ -1691,7 +1722,9 @@ _GL_FUNCDECL_SYS (log2f, float, (float x));
# endif
_GL_CXXALIAS_SYS (log2f, float, (float x));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (log2f);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef log2f
# if HAVE_RAW_DECL_LOG2F
@@ -2512,16 +2545,22 @@ _GL_WARN_REAL_FLOATING_DECL (isinf);
#if @GNULIB_ISNANF@
/* Test for NaN for 'float' numbers. */
# if @HAVE_ISNANF@
+# if defined __sun || defined __sgi
+/* Solaris and IRIX have isnanf() and declare it in <ieeefp.h>. We cannot
+ define isnanf as a macro, because that would conflict with <ieeefp.h>. */
+_GL_EXTERN_C int isnanf (float x);
+# else
/* The original <math.h> included above provides a declaration of isnan macro
or (older) isnanf function. */
-# if (__GNUC__ >= 4) || (__clang_major__ >= 4)
+# if (__GNUC__ >= 4) || (__clang_major__ >= 4)
/* GCC >= 4.0 and clang provide a type-generic built-in for isnan.
GCC >= 4.0 also provides __builtin_isnanf, but clang doesn't. */
-# undef isnanf
-# define isnanf(x) __builtin_isnan ((float)(x))
-# elif defined isnan
-# undef isnanf
-# define isnanf(x) isnan ((float)(x))
+# undef isnanf
+# define isnanf(x) __builtin_isnan ((float)(x))
+# elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+# endif
# endif
# else
/* Test whether X is a NaN. */
@@ -2536,15 +2575,21 @@ _GL_EXTERN_C int isnanf (float x);
This function is a gnulib extension, unlike isnan() which applied only
to 'double' numbers earlier but now is a type-generic macro. */
# if @HAVE_ISNAND@
+# if defined __sun || defined __sgi
+/* Solaris and IRIX have isnand() and declare it in <ieeefp.h>. We cannot
+ define isnand as a macro, because that would conflict with <ieeefp.h>. */
+_GL_EXTERN_C int isnand (double x);
+# else
/* The original <math.h> included above provides a declaration of isnan
macro. */
-# if (__GNUC__ >= 4) || (__clang_major__ >= 4)
+# if (__GNUC__ >= 4) || (__clang_major__ >= 4)
/* GCC >= 4.0 and clang provide a type-generic built-in for isnan. */
-# undef isnand
-# define isnand(x) __builtin_isnan ((double)(x))
-# else
-# undef isnand
-# define isnand(x) isnan ((double)(x))
+# undef isnand
+# define isnand(x) __builtin_isnan ((double)(x))
+# else
+# undef isnand
+# define isnand(x) isnan ((double)(x))
+# endif
# endif
# else
/* Test whether X is a NaN. */
@@ -2617,12 +2662,17 @@ _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
# if defined isnan || defined GNULIB_NAMESPACE
_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
# undef isnan
-# if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ < 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
+# if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ != 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
/* This platform's <cmath> possibly defines isnan through a set of inline
functions. */
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool)
# define isnan rpl_isnan
# define GNULIB_NAMESPACE_LACKS_ISNAN 1
+# elif (((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__) && __clang_major__ >= 14)
+ /* Neither of the two possible _GL_MATH_CXX_REAL_FLOATING_DECL_2 invocations
+ works. Inline functions are already present in /usr/include/c++/v1/math.h,
+ which comes from LLVM. */
+# define GNULIB_NAMESPACE_LACKS_ISNAN 1
# else
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool)
# endif
@@ -2657,12 +2707,13 @@ _GL_WARN_REAL_FLOATING_DECL (isnan);
_GL_EXTERN_C int gl_signbitf (float arg);
_GL_EXTERN_C int gl_signbitd (double arg);
_GL_EXTERN_C int gl_signbitl (long double arg);
-# if (__GNUC__ >= 2 || defined __clang__) && !defined __STRICT_ANSI__
+# if __GNUC__ >= 2 || defined __clang__
# define _GL_NUM_UINT_WORDS(type) \
((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
# define gl_signbitf_OPTIMIZED_MACRO
# define gl_signbitf(arg) \
+ __extension__ \
({ union { float _value; \
unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \
} _m; \
@@ -2673,6 +2724,7 @@ _GL_EXTERN_C int gl_signbitl (long double arg);
# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
# define gl_signbitd_OPTIMIZED_MACRO
# define gl_signbitd(arg) \
+ __extension__ \
({ union { double _value; \
unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \
} _m; \
@@ -2683,6 +2735,7 @@ _GL_EXTERN_C int gl_signbitl (long double arg);
# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
# define gl_signbitl_OPTIMIZED_MACRO
# define gl_signbitl(arg) \
+ __extension__ \
({ union { long double _value; \
unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
} _m; \
@@ -2720,8 +2773,85 @@ _GL_WARN_REAL_FLOATING_DECL (signbit);
# endif
#endif
+
+#if @GNULIB_TOTALORDERF@
+# if @REPLACE_TOTALORDERF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef totalorderf
+# define totalorderf rpl_totalorderf
+# endif
+_GL_FUNCDECL_RPL (totalorderf, int, (float const *, float const *));
+_GL_CXXALIAS_RPL (totalorderf, int, (float const *, float const *));
+# else
+# if !@HAVE_TOTALORDERF@
+_GL_FUNCDECL_SYS (totalorderf, int, (float const *, float const *));
+# endif
+_GL_CXXALIAS_SYS (totalorderf, int, (float const *, float const *));
+# endif
+_GL_CXXALIASWARN (totalorderf);
+#elif defined GNULIB_POSIXCHECK
+# undef totalorderf
+# if HAVE_RAW_DECL_TOTALORDERF
+_GL_WARN_ON_USE (totalorderf, "totalorderf is unportable - "
+ "use gnulib module totalorderf for portability");
+# endif
+#endif
+
+#if @GNULIB_TOTALORDER@
+# if @REPLACE_TOTALORDER@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef totalorder
+# define totalorder rpl_totalorder
+# endif
+_GL_FUNCDECL_RPL (totalorder, int, (double const *, double const *));
+_GL_CXXALIAS_RPL (totalorder, int, (double const *, double const *));
+# else
+# if !@HAVE_TOTALORDER@
+_GL_FUNCDECL_SYS (totalorder, int, (double const *, double const *));
+# endif
+_GL_CXXALIAS_SYS (totalorder, int, (double const *, double const *));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN1 (totalorder, int, (double const *, double const *));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef totalorder
+# if HAVE_RAW_DECL_TOTALORDER
+_GL_WARN_ON_USE (totalorder, "totalorder is unportable - "
+ "use gnulib module totalorder for portability");
+# endif
+#endif
+
+#if @GNULIB_TOTALORDERL@
+# if @REPLACE_TOTALORDERL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef totalorderl
+# define totalorderl rpl_totalorderl
+# endif
+_GL_FUNCDECL_RPL (totalorderl, int,
+ (long double const *, long double const *));
+_GL_CXXALIAS_RPL (totalorderl, int,
+ (long double const *, long double const *));
+# else
+# if !@HAVE_TOTALORDERL@
+_GL_FUNCDECL_SYS (totalorderl, int,
+ (long double const *, long double const *));
+# endif
+_GL_CXXALIAS_SYS (totalorderl, int,
+ (long double const *, long double const *));
+# endif
+_GL_CXXALIASWARN (totalorderl);
+#elif defined GNULIB_POSIXCHECK
+# undef totalorderl
+# if HAVE_RAW_DECL_TOTALORDERL
+_GL_WARN_ON_USE (totalorderl, "totalorderl is unportable - "
+ "use gnulib module totalorderl for portability");
+# endif
+#endif
+
_GL_INLINE_HEADER_END
#endif /* _@GUARD_PREFIX@_MATH_H */
#endif /* _GL_INCLUDING_MATH_H */
#endif /* _@GUARD_PREFIX@_MATH_H */
+#endif
diff --git a/lib/mbchar.c b/lib/mbchar.c
index 3d05f43b..d94b7c33 100644
--- a/lib/mbchar.c
+++ b/lib/mbchar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2006, 2009-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -21,17 +21,3 @@
#include <limits.h>
#include "mbchar.h"
-
-#if IS_BASIC_ASCII
-
-/* Bit table of characters in the ISO C "basic character set". */
-const unsigned int is_basic_table [UCHAR_MAX / 32 + 1] =
-{
- 0x00001a00, /* '\t' '\v' '\f' */
- 0xffffffef, /* ' '...'#' '%'...'?' */
- 0xfffffffe, /* 'A'...'Z' '[' '\\' ']' '^' '_' */
- 0x7ffffffe /* 'a'...'z' '{' '|' '}' '~' */
- /* The remaining bits are 0. */
-};
-
-#endif /* IS_BASIC_ASCII */
diff --git a/lib/mbchar.h b/lib/mbchar.h
index 5ca8df61..c06ef11b 100644
--- a/lib/mbchar.h
+++ b/lib/mbchar.h
@@ -1,5 +1,5 @@
/* Multibyte character data type.
- Copyright (C) 2001, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -17,10 +17,10 @@
/* Written by Bruno Haible <bruno@clisp.org>. */
/* A multibyte character is a short subsequence of a char* string,
- representing a single wide character.
+ representing a single 32-bit wide character.
- We use multibyte characters instead of wide characters because of
- the following goals:
+ We use multibyte characters instead of 32-bit wide characters because
+ of the following goals:
1) correct multibyte handling, i.e. operate according to the LC_CTYPE
locale,
2) ease of maintenance, i.e. the maintainer needs not know all details
@@ -28,8 +28,7 @@
3) don't fail grossly if the input is not in the encoding set by the
locale, because often different encodings are in use in the same
countries (ISO-8859-1/UTF-8, EUC-JP/Shift_JIS, ...),
- 4) fast in the case of ASCII characters,
- 5) portability, i.e. don't make unportable assumptions about wchar_t.
+ 4) fast in the case of ASCII characters.
Multibyte characters are only accessed through the mb* macros.
@@ -108,6 +107,7 @@
mb_setascii (&mbc, sc)
assigns the standard ASCII character sc to mbc.
+ (Only available if the 'mbfile' module is in use.)
mb_copy (&destmbc, &srcmbc)
copies srcmbc to destmbc.
@@ -144,27 +144,32 @@
#ifndef _MBCHAR_H
#define _MBCHAR_H 1
-#include <string.h>
-#include <wchar.h>
-#include <wctype.h>
-
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
+#include <string.h>
+#include <uchar.h>
+
_GL_INLINE_HEADER_BEGIN
#ifndef MBCHAR_INLINE
# define MBCHAR_INLINE _GL_INLINE
#endif
-#define MBCHAR_BUF_SIZE 24
+/* The longest multibyte characters, nowadays, are 4 bytes long.
+ Regardless of the values of MB_CUR_MAX and MB_LEN_MAX. */
+#define MBCHAR_BUF_SIZE 4
struct mbchar
{
const char *ptr; /* pointer to current character */
size_t bytes; /* number of bytes of current character, > 0 */
- bool wc_valid; /* true if wc is a valid wide character */
- wchar_t wc; /* if wc_valid: the current character */
+ bool wc_valid; /* true if wc is a valid 32-bit wide character */
+ char32_t wc; /* if wc_valid: the current character */
+#if defined GNULIB_MBFILE
char buf[MBCHAR_BUF_SIZE]; /* room for the bytes, used for file input only */
+#endif
};
/* EOF (not a real character) is represented with bytes = 0 and
@@ -182,7 +187,7 @@ typedef struct mbchar mbchar_t;
#define mb_cmp(mbc1, mbc2) \
((mbc1).wc_valid \
? ((mbc2).wc_valid \
- ? (int) (mbc1).wc - (int) (mbc2).wc \
+ ? _GL_CMP ((mbc1).wc, (mbc2).wc) \
: -1) \
: ((mbc2).wc_valid \
? 1 \
@@ -194,7 +199,7 @@ typedef struct mbchar mbchar_t;
#define mb_casecmp(mbc1, mbc2) \
((mbc1).wc_valid \
? ((mbc2).wc_valid \
- ? (int) towlower ((mbc1).wc) - (int) towlower ((mbc2).wc) \
+ ? _GL_CMP (c32tolower ((mbc1).wc), c32tolower ((mbc2).wc)) \
: -1) \
: ((mbc2).wc_valid \
? 1 \
@@ -210,25 +215,25 @@ typedef struct mbchar mbchar_t;
&& memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0)
#define mb_caseequal(mbc1, mbc2) \
((mbc1).wc_valid && (mbc2).wc_valid \
- ? towlower ((mbc1).wc) == towlower ((mbc2).wc) \
+ ? c32tolower ((mbc1).wc) == c32tolower ((mbc2).wc) \
: (mbc1).bytes == (mbc2).bytes \
&& memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0)
/* <ctype.h>, <wctype.h> classification. */
#define mb_isascii(mbc) \
((mbc).wc_valid && (mbc).wc >= 0 && (mbc).wc <= 127)
-#define mb_isalnum(mbc) ((mbc).wc_valid && iswalnum ((mbc).wc))
-#define mb_isalpha(mbc) ((mbc).wc_valid && iswalpha ((mbc).wc))
-#define mb_isblank(mbc) ((mbc).wc_valid && iswblank ((mbc).wc))
-#define mb_iscntrl(mbc) ((mbc).wc_valid && iswcntrl ((mbc).wc))
-#define mb_isdigit(mbc) ((mbc).wc_valid && iswdigit ((mbc).wc))
-#define mb_isgraph(mbc) ((mbc).wc_valid && iswgraph ((mbc).wc))
-#define mb_islower(mbc) ((mbc).wc_valid && iswlower ((mbc).wc))
-#define mb_isprint(mbc) ((mbc).wc_valid && iswprint ((mbc).wc))
-#define mb_ispunct(mbc) ((mbc).wc_valid && iswpunct ((mbc).wc))
-#define mb_isspace(mbc) ((mbc).wc_valid && iswspace ((mbc).wc))
-#define mb_isupper(mbc) ((mbc).wc_valid && iswupper ((mbc).wc))
-#define mb_isxdigit(mbc) ((mbc).wc_valid && iswxdigit ((mbc).wc))
+#define mb_isalnum(mbc) ((mbc).wc_valid && c32isalnum ((mbc).wc))
+#define mb_isalpha(mbc) ((mbc).wc_valid && c32isalpha ((mbc).wc))
+#define mb_isblank(mbc) ((mbc).wc_valid && c32isblank ((mbc).wc))
+#define mb_iscntrl(mbc) ((mbc).wc_valid && c32iscntrl ((mbc).wc))
+#define mb_isdigit(mbc) ((mbc).wc_valid && c32isdigit ((mbc).wc))
+#define mb_isgraph(mbc) ((mbc).wc_valid && c32isgraph ((mbc).wc))
+#define mb_islower(mbc) ((mbc).wc_valid && c32islower ((mbc).wc))
+#define mb_isprint(mbc) ((mbc).wc_valid && c32isprint ((mbc).wc))
+#define mb_ispunct(mbc) ((mbc).wc_valid && c32ispunct ((mbc).wc))
+#define mb_isspace(mbc) ((mbc).wc_valid && c32isspace ((mbc).wc))
+#define mb_isupper(mbc) ((mbc).wc_valid && c32isupper ((mbc).wc))
+#define mb_isxdigit(mbc) ((mbc).wc_valid && c32isxdigit ((mbc).wc))
/* Extra <wchar.h> function. */
@@ -236,12 +241,12 @@ typedef struct mbchar mbchar_t;
#define MB_UNPRINTABLE_WIDTH 1
MBCHAR_INLINE int
-mb_width_aux (wint_t wc)
+mb_width_aux (char32_t wc)
{
- int w = wcwidth (wc);
+ int w = c32width (wc);
/* For unprintable characters, arbitrarily return 0 for control characters
and MB_UNPRINTABLE_WIDTH otherwise. */
- return (w >= 0 ? w : iswcntrl (wc) ? 0 : MB_UNPRINTABLE_WIDTH);
+ return (w >= 0 ? w : c32iscntrl (wc) ? 0 : MB_UNPRINTABLE_WIDTH);
}
#define mb_width(mbc) \
@@ -250,21 +255,25 @@ mb_width_aux (wint_t wc)
/* Output. */
#define mb_putc(mbc, stream) fwrite ((mbc).ptr, 1, (mbc).bytes, (stream))
+#if defined GNULIB_MBFILE
/* Assignment. */
-#define mb_setascii(mbc, sc) \
- ((mbc)->ptr = (mbc)->buf, (mbc)->bytes = 1, (mbc)->wc_valid = 1, \
- (mbc)->wc = (mbc)->buf[0] = (sc))
+# define mb_setascii(mbc, sc) \
+ ((mbc)->ptr = (mbc)->buf, (mbc)->bytes = 1, (mbc)->wc_valid = 1, \
+ (mbc)->wc = (mbc)->buf[0] = (sc))
+#endif
/* Copying a character. */
MBCHAR_INLINE void
mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc)
{
+#if defined GNULIB_MBFILE
if (old_mbc->ptr == &old_mbc->buf[0])
{
memcpy (&new_mbc->buf[0], &old_mbc->buf[0], old_mbc->bytes);
new_mbc->ptr = &new_mbc->buf[0];
}
else
+#endif
new_mbc->ptr = old_mbc->ptr;
new_mbc->bytes = old_mbc->bytes;
if ((new_mbc->wc_valid = old_mbc->wc_valid))
@@ -272,44 +281,54 @@ mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc)
}
-/* is_basic(c) tests whether the single-byte character c is in the
- ISO C "basic character set".
+/* is_basic(c) tests whether the single-byte character c is
+ - in the ISO C "basic character set" or is one of '@', '$', and '`'
+ which ISO C 23 § 5.2.1.1.(1) guarantees to be single-byte and in
+ practice are safe to treat as basic in the execution character set,
+ or
+ - in the POSIX "portable character set", which
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06.html>
+ equally guarantees to be single-byte.
This is a convenience function, and is in this file only to share code
- between mbiter_multi.h and mbfile_multi.h. */
+ between mbiter.h, mbuiter.h, and mbfile.h. */
#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
- && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
- && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
- && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
- && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
- && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
- && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
- && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
- && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
- && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
- && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
- && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
- && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
- && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
- && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
- && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
- && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
- && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
- && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
- && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
- && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
- && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
- && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
+ && ('$' == 36) && ('%' == 37) && ('&' == 38) && ('\'' == 39) \
+ && ('(' == 40) && (')' == 41) && ('*' == 42) && ('+' == 43) \
+ && (',' == 44) && ('-' == 45) && ('.' == 46) && ('/' == 47) \
+ && ('0' == 48) && ('1' == 49) && ('2' == 50) && ('3' == 51) \
+ && ('4' == 52) && ('5' == 53) && ('6' == 54) && ('7' == 55) \
+ && ('8' == 56) && ('9' == 57) && (':' == 58) && (';' == 59) \
+ && ('<' == 60) && ('=' == 61) && ('>' == 62) && ('?' == 63) \
+ && ('@' == 64) && ('A' == 65) && ('B' == 66) && ('C' == 67) \
+ && ('D' == 68) && ('E' == 69) && ('F' == 70) && ('G' == 71) \
+ && ('H' == 72) && ('I' == 73) && ('J' == 74) && ('K' == 75) \
+ && ('L' == 76) && ('M' == 77) && ('N' == 78) && ('O' == 79) \
+ && ('P' == 80) && ('Q' == 81) && ('R' == 82) && ('S' == 83) \
+ && ('T' == 84) && ('U' == 85) && ('V' == 86) && ('W' == 87) \
+ && ('X' == 88) && ('Y' == 89) && ('Z' == 90) && ('[' == 91) \
+ && ('\\' == 92) && (']' == 93) && ('^' == 94) && ('_' == 95) \
+ && ('`' == 96) && ('a' == 97) && ('b' == 98) && ('c' == 99) \
+ && ('d' == 100) && ('e' == 101) && ('f' == 102) && ('g' == 103) \
+ && ('h' == 104) && ('i' == 105) && ('j' == 106) && ('k' == 107) \
+ && ('l' == 108) && ('m' == 109) && ('n' == 110) && ('o' == 111) \
+ && ('p' == 112) && ('q' == 113) && ('r' == 114) && ('s' == 115) \
+ && ('t' == 116) && ('u' == 117) && ('v' == 118) && ('w' == 119) \
+ && ('x' == 120) && ('y' == 121) && ('z' == 122) && ('{' == 123) \
+ && ('|' == 124) && ('}' == 125) && ('~' == 126)
/* The character set is ISO-646, not EBCDIC. */
# define IS_BASIC_ASCII 1
-extern const unsigned int is_basic_table[];
-
-MBCHAR_INLINE bool
-is_basic (char c)
-{
- return (is_basic_table [(unsigned char) c >> 5] >> ((unsigned char) c & 31))
- & 1;
-}
+/* All locale encodings (see localcharset.h) map the characters 0x00..0x7F
+ to U+0000..U+007F, like ASCII, except for
+ CP864 different mapping of '%'
+ SHIFT_JIS different mappings of 0x5C, 0x7E
+ JOHAB different mapping of 0x5C
+ However, these characters in the range 0x20..0x7E are in the ISO C
+ "basic character set" and in the POSIX "portable character set", which
+ ISO C and POSIX guarantee to be single-byte. Thus, locales with these
+ encodings are not POSIX compliant. And they are most likely not in use
+ any more (as of 2023). */
+# define is_basic(c) ((unsigned char) (c) < 0x80)
#else
@@ -318,21 +337,23 @@ is_basic (char c)
{
switch (c)
{
- case '\t': case '\v': case '\f':
- case ' ': case '!': case '"': case '#': case '%':
+ case '\0':
+ case '\007': case '\010':
+ case '\t': case '\n': case '\v': case '\f': case '\r':
+ case ' ': case '!': case '"': case '#': case '$': case '%':
case '&': case '\'': case '(': case ')': case '*':
case '+': case ',': case '-': case '.': case '/':
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case ':': case ';': case '<': case '=': case '>':
- case '?':
+ case '?': case '@':
case 'A': case 'B': case 'C': case 'D': case 'E':
case 'F': case 'G': case 'H': case 'I': case 'J':
case 'K': case 'L': case 'M': case 'N': case 'O':
case 'P': case 'Q': case 'R': case 'S': case 'T':
case 'U': case 'V': case 'W': case 'X': case 'Y':
case 'Z':
- case '[': case '\\': case ']': case '^': case '_':
+ case '[': case '\\': case ']': case '^': case '_': case '`':
case 'a': case 'b': case 'c': case 'd': case 'e':
case 'f': case 'g': case 'h': case 'i': case 'j':
case 'k': case 'l': case 'm': case 'n': case 'o':
diff --git a/lib/mbiter.h b/lib/mbiter.h
deleted file mode 100644
index f30a5406..00000000
--- a/lib/mbiter.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/* Iterating through multibyte strings: macros for multi-byte encodings.
- Copyright (C) 2001, 2005, 2007, 2009-2022 Free Software Foundation, Inc.
-
- This file 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.
-
- This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-/* The macros in this file implement forward iteration through a
- multi-byte string.
-
- With these macros, an iteration loop that looks like
-
- char *iter;
- for (iter = buf; iter < buf + buflen; iter++)
- {
- do_something (*iter);
- }
-
- becomes
-
- mbi_iterator_t iter;
- for (mbi_init (iter, buf, buflen); mbi_avail (iter); mbi_advance (iter))
- {
- do_something (mbi_cur_ptr (iter), mb_len (mbi_cur (iter)));
- }
-
- The benefit of these macros over plain use of mbrtowc is:
- - Handling of invalid multibyte sequences is possible without
- making the code more complicated, while still preserving the
- invalid multibyte sequences.
-
- mbi_iterator_t
- is a type usable for variable declarations.
-
- mbi_init (iter, startptr, length)
- initializes the iterator, starting at startptr and crossing length bytes.
-
- mbi_avail (iter)
- returns true if there are more multibyte characters available before
- the end of string is reached. In this case, mbi_cur (iter) is
- initialized to the next multibyte character.
-
- mbi_advance (iter)
- advances the iterator by one multibyte character.
-
- mbi_cur (iter)
- returns the current multibyte character, of type mbchar_t. All the
- macros defined in mbchar.h can be used on it.
-
- mbi_cur_ptr (iter)
- return a pointer to the beginning of the current multibyte character.
-
- mbi_reloc (iter, ptrdiff)
- relocates iterator when the string is moved by ptrdiff bytes.
-
- mbi_copy (&destiter, &srciter)
- copies srciter to destiter.
-
- Here are the function prototypes of the macros.
-
- extern void mbi_init (mbi_iterator_t iter,
- const char *startptr, size_t length);
- extern bool mbi_avail (mbi_iterator_t iter);
- extern void mbi_advance (mbi_iterator_t iter);
- extern mbchar_t mbi_cur (mbi_iterator_t iter);
- extern const char * mbi_cur_ptr (mbi_iterator_t iter);
- extern void mbi_reloc (mbi_iterator_t iter, ptrdiff_t ptrdiff);
- extern void mbi_copy (mbi_iterator_t *new, const mbi_iterator_t *old);
- */
-
-#ifndef _MBITER_H
-#define _MBITER_H 1
-
-#include <assert.h>
-#include <stddef.h>
-#include <string.h>
-#include <wchar.h>
-
-#include "mbchar.h"
-
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
-_GL_INLINE_HEADER_BEGIN
-#ifndef MBITER_INLINE
-# define MBITER_INLINE _GL_INLINE
-#endif
-
-struct mbiter_multi
-{
- const char *limit; /* pointer to end of string */
- bool in_shift; /* true if next byte may not be interpreted as ASCII */
- mbstate_t state; /* if in_shift: current shift state */
- bool next_done; /* true if mbi_avail has already filled the following */
- struct mbchar cur; /* the current character:
- const char *cur.ptr pointer to current character
- The following are only valid after mbi_avail.
- size_t cur.bytes number of bytes of current character
- bool cur.wc_valid true if wc is a valid wide character
- wchar_t cur.wc if wc_valid: the current character
- */
-};
-
-MBITER_INLINE void
-mbiter_multi_next (struct mbiter_multi *iter)
-{
- if (iter->next_done)
- return;
- if (iter->in_shift)
- goto with_shift;
- /* Handle most ASCII characters quickly, without calling mbrtowc(). */
- if (is_basic (*iter->cur.ptr))
- {
- /* These characters are part of the basic character set. ISO C 99
- guarantees that their wide character code is identical to their
- char code. */
- iter->cur.bytes = 1;
- iter->cur.wc = *iter->cur.ptr;
- iter->cur.wc_valid = true;
- }
- else
- {
- assert (mbsinit (&iter->state));
- iter->in_shift = true;
- with_shift:
- iter->cur.bytes = mbrtowc (&iter->cur.wc, iter->cur.ptr,
- iter->limit - iter->cur.ptr, &iter->state);
- if (iter->cur.bytes == (size_t) -1)
- {
- /* An invalid multibyte sequence was encountered. */
- iter->cur.bytes = 1;
- iter->cur.wc_valid = false;
- /* Whether to set iter->in_shift = false and reset iter->state
- or not is not very important; the string is bogus anyway. */
- }
- else if (iter->cur.bytes == (size_t) -2)
- {
- /* An incomplete multibyte character at the end. */
- iter->cur.bytes = iter->limit - iter->cur.ptr;
- iter->cur.wc_valid = false;
- /* Whether to set iter->in_shift = false and reset iter->state
- or not is not important; the string end is reached anyway. */
- }
- else
- {
- if (iter->cur.bytes == 0)
- {
- /* A null wide character was encountered. */
- iter->cur.bytes = 1;
- assert (*iter->cur.ptr == '\0');
- assert (iter->cur.wc == 0);
- }
- iter->cur.wc_valid = true;
-
- /* When in the initial state, we can go back treating ASCII
- characters more quickly. */
- if (mbsinit (&iter->state))
- iter->in_shift = false;
- }
- }
- iter->next_done = true;
-}
-
-MBITER_INLINE void
-mbiter_multi_reloc (struct mbiter_multi *iter, ptrdiff_t ptrdiff)
-{
- iter->cur.ptr += ptrdiff;
- iter->limit += ptrdiff;
-}
-
-MBITER_INLINE void
-mbiter_multi_copy (struct mbiter_multi *new_iter, const struct mbiter_multi *old_iter)
-{
- new_iter->limit = old_iter->limit;
- if ((new_iter->in_shift = old_iter->in_shift))
- memcpy (&new_iter->state, &old_iter->state, sizeof (mbstate_t));
- else
- memset (&new_iter->state, 0, sizeof (mbstate_t));
- new_iter->next_done = old_iter->next_done;
- mb_copy (&new_iter->cur, &old_iter->cur);
-}
-
-/* Iteration macros. */
-typedef struct mbiter_multi mbi_iterator_t;
-#define mbi_init(iter, startptr, length) \
- ((iter).cur.ptr = (startptr), (iter).limit = (iter).cur.ptr + (length), \
- (iter).in_shift = false, memset (&(iter).state, '\0', sizeof (mbstate_t)), \
- (iter).next_done = false)
-#define mbi_avail(iter) \
- ((iter).cur.ptr < (iter).limit && (mbiter_multi_next (&(iter)), true))
-#define mbi_advance(iter) \
- ((iter).cur.ptr += (iter).cur.bytes, (iter).next_done = false)
-
-/* Access to the current character. */
-#define mbi_cur(iter) (iter).cur
-#define mbi_cur_ptr(iter) (iter).cur.ptr
-
-/* Relocation. */
-#define mbi_reloc(iter, ptrdiff) mbiter_multi_reloc (&iter, ptrdiff)
-
-/* Copying an iterator. */
-#define mbi_copy mbiter_multi_copy
-
-_GL_INLINE_HEADER_END
-
-#endif /* _MBITER_H */
diff --git a/lib/mbiter.c b/lib/mbiterf.c
index af7e91b9..2c2468ad 100644
--- a/lib/mbiter.c
+++ b/lib/mbiterf.c
@@ -1,6 +1,6 @@
/* Iterating through multibyte strings: macros for multi-byte encodings.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -17,5 +17,5 @@
#include <config.h>
-#define MBITER_INLINE _GL_EXTERN_INLINE
-#include "mbiter.h"
+#define MBITERF_INLINE _GL_EXTERN_INLINE
+#include "mbiterf.h"
diff --git a/lib/mbiterf.h b/lib/mbiterf.h
new file mode 100644
index 00000000..28d2f8ce
--- /dev/null
+++ b/lib/mbiterf.h
@@ -0,0 +1,204 @@
+/* Iterating through multibyte strings, faster: macros for multi-byte encodings.
+ Copyright (C) 2001, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>,
+ with insights from Paul Eggert. */
+
+/* The macros in this file implement forward iteration through a
+ multi-byte string.
+
+ With these macros, an iteration loop that looks like
+
+ char *iter;
+ for (iter = buf; iter < buf + buflen; iter++)
+ {
+ do_something (*iter);
+ }
+
+ becomes
+
+ const char *buf_end = buf + buflen;
+ mbif_state_t state;
+ [const] char *iter;
+ for (mbif_init (state), iter = buf; mbif_avail (state, iter, buf_end); )
+ {
+ mbchar_t cur = mbif_next (state, iter, buf_end);
+ // Note: Here always mb_ptr (cur) == iter.
+ do_something (iter, mb_len (cur));
+ iter += mb_len (cur);
+ }
+
+ The benefit of these macros over plain use of mbrtowc or mbrtoc32 is:
+ - Handling of invalid multibyte sequences is possible without
+ making the code more complicated, while still preserving the
+ invalid multibyte sequences.
+
+ The benefit of these macros over those from mbiter.h is that it
+ produces faster code with today's optimizing compilers (because mbif_next
+ returns its result by value).
+
+ mbif_state_t
+ is a type usable for variable declarations.
+
+ mbif_init (state)
+ initializes the state.
+
+ mbif_avail (state, iter, endptr)
+ returns true if another loop round is needed.
+
+ mbif_next (state, iter, endptr)
+ returns the next multibyte character.
+ It asssumes that the state is initialized and that iter < endptr.
+
+ Here are the function prototypes of the macros.
+
+ extern void mbif_init (mbif_state_t state);
+ extern bool mbif_avail (mbif_state_t state, const char *iter, const char *endptr);
+ extern mbchar_t mbif_next (mbif_state_t state, const char *iter, const char *endptr);
+ */
+
+#ifndef _MBITERF_H
+#define _MBITERF_H 1
+
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE,
+ _GL_ATTRIBUTE_ALWAYS_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#include <assert.h>
+#include <stddef.h>
+#include <string.h>
+#include <uchar.h>
+#include <wchar.h>
+
+#include "mbchar.h"
+
+_GL_INLINE_HEADER_BEGIN
+#ifndef MBITERF_INLINE
+# define MBITERF_INLINE _GL_INLINE _GL_ATTRIBUTE_ALWAYS_INLINE
+#endif
+
+struct mbif_state
+{
+ #if !GNULIB_MBRTOC32_REGULAR
+ bool in_shift; /* true if next byte may not be interpreted as ASCII */
+ /* If GNULIB_MBRTOC32_REGULAR, it is always false,
+ so optimize it away. */
+ #endif
+ mbstate_t state; /* if in_shift: current shift state */
+ /* If GNULIB_MBRTOC32_REGULAR, it is in an initial state
+ before and after every mbiterf_next invocation.
+ */
+};
+
+MBITERF_INLINE mbchar_t
+mbiterf_next (struct mbif_state *ps, const char *iter, const char *endptr)
+{
+ #if !GNULIB_MBRTOC32_REGULAR
+ if (ps->in_shift)
+ goto with_shift;
+ #endif
+ /* Handle most ASCII characters quickly, without calling mbrtowc(). */
+ if (is_basic (*iter))
+ {
+ /* These characters are part of the POSIX portable character set.
+ For most of them, namely those in the ISO C basic character set,
+ ISO C 99 guarantees that their wide character code is identical to
+ their char code. For the few other ones, this is the case as well,
+ in all locale encodings that are in use. The 32-bit wide character
+ code is the same as well. */
+ return (mbchar_t) { .ptr = iter, .bytes = 1, .wc_valid = true, .wc = *iter };
+ }
+ else
+ {
+ assert (mbsinit (&ps->state));
+ #if !GNULIB_MBRTOC32_REGULAR
+ ps->in_shift = true;
+ with_shift:;
+ #endif
+ size_t bytes;
+ char32_t wc;
+ bytes = mbrtoc32 (&wc, iter, endptr - iter, &ps->state);
+ if (bytes == (size_t) -1)
+ {
+ /* An invalid multibyte sequence was encountered. */
+ /* Allow the next invocation to continue from a sane state. */
+ #if !GNULIB_MBRTOC32_REGULAR
+ ps->in_shift = false;
+ #endif
+ mbszero (&ps->state);
+ return (mbchar_t) { .ptr = iter, .bytes = 1, .wc_valid = false };
+ }
+ else if (bytes == (size_t) -2)
+ {
+ /* An incomplete multibyte character at the end. */
+ #if !GNULIB_MBRTOC32_REGULAR
+ ps->in_shift = false;
+ #endif
+ /* Whether to reset ps->state or not is not important; the string end
+ is reached anyway. */
+ return (mbchar_t) { .ptr = iter, .bytes = endptr - iter, .wc_valid = false };
+ }
+ else
+ {
+ if (bytes == 0)
+ {
+ /* A null wide character was encountered. */
+ bytes = 1;
+ assert (*iter == '\0');
+ assert (wc == 0);
+ }
+ #if !GNULIB_MBRTOC32_REGULAR
+ else if (bytes == (size_t) -3)
+ /* The previous multibyte sequence produced an additional 32-bit
+ wide character. */
+ bytes = 0;
+ #endif
+
+ /* When in an initial state, we can go back treating ASCII
+ characters more quickly. */
+ #if !GNULIB_MBRTOC32_REGULAR
+ if (mbsinit (&ps->state))
+ ps->in_shift = false;
+ #endif
+ return (mbchar_t) { .ptr = iter, .bytes = bytes, .wc_valid = true, .wc = wc };
+ }
+ }
+}
+
+/* Iteration macros. */
+typedef struct mbif_state mbif_state_t;
+#if !GNULIB_MBRTOC32_REGULAR
+#define mbif_init(st) \
+ ((st).in_shift = false, mbszero (&(st).state))
+#else
+/* Optimized: no in_shift. */
+#define mbif_init(st) \
+ (mbszero (&(st).state))
+#endif
+#if !GNULIB_MBRTOC32_REGULAR
+#define mbif_avail(st, iter, endptr) ((st).in_shift || ((iter) < (endptr)))
+#else
+/* Optimized: no in_shift. */
+#define mbif_avail(st, iter, endptr) ((iter) < (endptr))
+#endif
+#define mbif_next(st, iter, endptr) \
+ mbiterf_next (&(st), (iter), (endptr))
+
+_GL_INLINE_HEADER_END
+
+#endif /* _MBITERF_H */
diff --git a/lib/mbrtoc32.c b/lib/mbrtoc32.c
new file mode 100644
index 00000000..56e4a860
--- /dev/null
+++ b/lib/mbrtoc32.c
@@ -0,0 +1,288 @@
+/* Convert multibyte character to 32-bit wide character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2020. */
+
+#include <config.h>
+
+/* Specification. */
+#include <uchar.h>
+
+#include "attribute.h"
+
+#include <errno.h>
+#include <stdlib.h>
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+#if GNULIB_defined_mbstate_t /* AIX, IRIX */
+/* Implement mbrtoc32() on top of mbtowc() for the non-UTF-8 locales
+ and directly for the UTF-8 locales. */
+
+/* Note: On AIX (64-bit) we can implement mbrtoc32 in two equivalent ways:
+ - in a way that parallels the override of mbrtowc; this is the code branch
+ here;
+ - in a way that invokes the overridden mbrtowc; this would be the #else
+ branch below.
+ They are equivalent. */
+
+# if AVOID_ANY_THREADS
+
+/* The option '--disable-threads' explicitly requests no locking. */
+
+# elif defined _WIN32 && !defined __CYGWIN__
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
+
+# elif HAVE_PTHREAD_API
+
+# include <pthread.h>
+# if HAVE_THREADS_H && HAVE_WEAK_SYMBOLS
+# include <threads.h>
+# pragma weak thrd_exit
+# define c11_threads_in_use() (thrd_exit != NULL)
+# else
+# define c11_threads_in_use() 0
+# endif
+
+# elif HAVE_THREADS_H
+
+# include <threads.h>
+
+# endif
+
+# include "lc-charset-dispatch.h"
+# include "mbtowc-lock.h"
+
+static_assert (sizeof (mbstate_t) >= 4);
+static char internal_state[4];
+
+size_t
+mbrtoc32 (char32_t *pwc, const char *s, size_t n, mbstate_t *ps)
+{
+# define FITS_IN_CHAR_TYPE(wc) 1
+# include "mbrtowc-impl.h"
+}
+
+#else /* glibc, macOS, FreeBSD, NetBSD, OpenBSD, HP-UX, Solaris, Cygwin, mingw, MSVC, Minix, Android */
+
+/* Implement mbrtoc32() based on the original mbrtoc32() or on mbrtowc(). */
+
+# include <wchar.h>
+
+# include "localcharset.h"
+# include "streq.h"
+
+# if MBRTOC32_IN_C_LOCALE_MAYBE_EILSEQ
+# include "hard-locale.h"
+# include <locale.h>
+# endif
+
+static mbstate_t internal_state;
+
+size_t
+mbrtoc32 (char32_t *pwc, const char *s, size_t n, mbstate_t *ps)
+# undef mbrtoc32
+{
+ /* It's simpler to handle the case s == NULL upfront, than to worry about
+ this case later, before every test of pwc and n. */
+ if (s == NULL)
+ {
+ pwc = NULL;
+ s = "";
+ n = 1;
+ }
+
+# if MBRTOC32_EMPTY_INPUT_BUG || _GL_SMALL_WCHAR_T
+ if (n == 0)
+ return (size_t) -2;
+# endif
+
+ if (ps == NULL)
+ ps = &internal_state;
+
+# if HAVE_WORKING_MBRTOC32
+ /* mbrtoc32() may produce different values for wc than mbrtowc(). Therefore
+ use mbrtoc32(). */
+
+# if defined _WIN32 && !defined __CYGWIN__
+ char32_t wc;
+ size_t ret = mbrtoc32 (&wc, s, n, ps);
+ if (ret < (size_t) -2 && pwc != NULL)
+ *pwc = wc;
+# else
+ size_t ret = mbrtoc32 (pwc, s, n, ps);
+# endif
+
+# if GNULIB_MBRTOC32_REGULAR
+ /* Verify that mbrtoc32 is regular. */
+ if (ret < (size_t) -3 && ! mbsinit (ps))
+ /* This occurs on glibc 2.36. */
+ mbszero (ps);
+ if (ret == (size_t) -3)
+ abort ();
+# endif
+
+# if MBRTOC32_IN_C_LOCALE_MAYBE_EILSEQ
+ if ((size_t) -2 <= ret && n != 0 && ! hard_locale (LC_CTYPE))
+ {
+ if (pwc != NULL)
+ *pwc = (unsigned char) *s;
+ return 1;
+ }
+# endif
+
+ return ret;
+
+# elif _GL_SMALL_WCHAR_T
+
+ /* Special-case all encodings that may produce wide character values
+ > WCHAR_MAX. */
+ const char *encoding = locale_charset ();
+ if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+ {
+ /* Special-case the UTF-8 encoding. Assume that the wide-character
+ encoding in a UTF-8 locale is UCS-2 or, equivalently, UTF-16. */
+ /* Here n > 0. */
+ char *pstate = (char *)ps;
+ size_t nstate = pstate[0];
+ char buf[4];
+ const char *p;
+ size_t m;
+ int res;
+
+ switch (nstate)
+ {
+ case 0:
+ p = s;
+ m = n;
+ break;
+ case 3:
+ buf[2] = pstate[3];
+ FALLTHROUGH;
+ case 2:
+ buf[1] = pstate[2];
+ FALLTHROUGH;
+ case 1:
+ buf[0] = pstate[1];
+ p = buf;
+ m = nstate;
+ buf[m++] = s[0];
+ if (n >= 2 && m < 4)
+ {
+ buf[m++] = s[1];
+ if (n >= 3 && m < 4)
+ buf[m++] = s[2];
+ }
+ break;
+ default:
+ errno = EINVAL;
+ return (size_t)(-1);
+ }
+
+ /* Here m > 0. */
+
+ {
+# define FITS_IN_CHAR_TYPE(wc) 1
+# include "mbrtowc-impl-utf8.h"
+ }
+
+ success:
+ if (nstate >= (res > 0 ? res : 1))
+ abort ();
+ res -= nstate;
+ /* Set *ps to an initial state. */
+# if defined _WIN32 && !defined __CYGWIN__
+ /* Native Windows. */
+ /* MSVC defines 'mbstate_t' as an 8-byte struct; the first 4 bytes matter.
+ On mingw, 'mbstate_t' is sometimes defined as 'int', sometimes defined
+ as an 8-byte struct, of which the first 4 bytes matter. */
+ *(unsigned int *)pstate = 0;
+# elif defined __CYGWIN__
+ /* Cygwin defines 'mbstate_t' as an 8-byte struct; the first 4 bytes
+ matter. */
+ ps->__count = 0;
+# else
+ pstate[0] = 0;
+# endif
+ return res;
+
+ incomplete:
+ {
+ size_t k = nstate;
+ /* Here 0 <= k < m < 4. */
+ pstate[++k] = s[0];
+ if (k < m)
+ {
+ pstate[++k] = s[1];
+ if (k < m)
+ pstate[++k] = s[2];
+ }
+ if (k != m)
+ abort ();
+ }
+ pstate[0] = m;
+ return (size_t)(-2);
+
+ invalid:
+ errno = EILSEQ;
+ /* The conversion state is undefined, says POSIX. */
+ return (size_t)(-1);
+ }
+ else
+ {
+ wchar_t wc;
+ size_t ret = mbrtowc (&wc, s, n, ps);
+ if (ret < (size_t) -2 && pwc != NULL)
+ *pwc = wc;
+ return ret;
+ }
+
+# else
+
+ /* char32_t and wchar_t are equivalent. Use mbrtowc(). */
+ wchar_t wc;
+ size_t ret = mbrtowc (&wc, s, n, ps);
+
+# if GNULIB_MBRTOC32_REGULAR
+ /* Ensure that mbrtoc32 is regular. */
+ if (ret < (size_t) -2 && ! mbsinit (ps))
+ /* This occurs on glibc 2.12. */
+ mbszero (ps);
+# endif
+
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ if (ret < (size_t) -2 && wc != 0)
+ {
+ wc = locale_encoding_to_unicode (wc);
+ if (wc == 0)
+ {
+ ret = (size_t) -1;
+ errno = EILSEQ;
+ }
+ }
+# endif
+ if (ret < (size_t) -2 && pwc != NULL)
+ *pwc = wc;
+ return ret;
+
+# endif
+}
+
+#endif
diff --git a/lib/mbrtowc-impl-utf8.h b/lib/mbrtowc-impl-utf8.h
index 8e5ac14e..3a3ba13c 100644
--- a/lib/mbrtowc-impl-utf8.h
+++ b/lib/mbrtowc-impl-utf8.h
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/mbrtowc-impl.h b/lib/mbrtowc-impl.h
index 65538e74..963631ca 100644
--- a/lib/mbrtowc-impl.h
+++ b/lib/mbrtowc-impl.h
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/mbrtowc.c b/lib/mbrtowc.c
index be6fdc64..8a1646d2 100644
--- a/lib/mbrtowc.c
+++ b/lib/mbrtowc.c
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
@@ -28,7 +28,11 @@
# include <stdint.h>
# include <stdlib.h>
-# if defined _WIN32 && !defined __CYGWIN__
+# if AVOID_ANY_THREADS
+
+/* The option '--disable-threads' explicitly requests no locking. */
+
+# elif defined _WIN32 && !defined __CYGWIN__
# define WIN32_LEAN_AND_MEAN /* avoid including junk */
# include <windows.h>
diff --git a/lib/mbsinit.c b/lib/mbsinit.c
index 2324f156..d1b8475c 100644
--- a/lib/mbsinit.c
+++ b/lib/mbsinit.c
@@ -1,5 +1,5 @@
/* Test for initial conversion state.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
@@ -36,7 +36,7 @@
buffered bytes (in the range 0..3), followed by up to 3 buffered bytes.
See mbrtowc.c.
- In wc -> mb direction, mbstate_t contains no information. In other
- words, it is always in the initial state. */
+ words, it is always in an initial state. */
static_assert (sizeof (mbstate_t) >= 4);
diff --git a/lib/mbsnlen.c b/lib/mbsnlen.c
index c6ea1fef..baadf163 100644
--- a/lib/mbsnlen.c
+++ b/lib/mbsnlen.c
@@ -1,5 +1,5 @@
/* Counting the multibyte characters in a string.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software: you can redistribute it and/or modify
@@ -22,7 +22,11 @@
#include <stdlib.h>
-#include "mbiter.h"
+#if GNULIB_MCEL_PREFER
+# include "mcel.h"
+#else
+# include "mbiterf.h"
+#endif
/* Return the number of multibyte characters in the character string starting
at STRING and ending at STRING + LEN. */
@@ -31,12 +35,23 @@ mbsnlen (const char *string, size_t len)
{
if (MB_CUR_MAX > 1)
{
- size_t count;
- mbi_iterator_t iter;
+ size_t count = 0;
- count = 0;
- for (mbi_init (iter, string, len); mbi_avail (iter); mbi_advance (iter))
+ const char *string_end = string + len;
+
+#if GNULIB_MCEL_PREFER
+ for (; *string; string += mcel_scan (string, string_end).len)
count++;
+#else
+ mbif_state_t state;
+ const char *iter;
+ for (mbif_init (state), iter = string; mbif_avail (state, iter, string_end); )
+ {
+ mbchar_t cur = mbif_next (state, iter, string_end);
+ count++;
+ iter += mb_len (cur);
+ }
+#endif
return count;
}
diff --git a/lib/mbszero.c b/lib/mbszero.c
new file mode 100644
index 00000000..25af2848
--- /dev/null
+++ b/lib/mbszero.c
@@ -0,0 +1,23 @@
+/* Put an mbstate_t into an initial conversion state.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+#define IN_MBSZERO
+/* Specification and implementation. */
+#include <wchar.h>
diff --git a/lib/mbtowc-lock.c b/lib/mbtowc-lock.c
index 06d32246..9001c5af 100644
--- a/lib/mbtowc-lock.c
+++ b/lib/mbtowc-lock.c
@@ -1,5 +1,5 @@
/* Return the internal lock used by mbrtowc and mbrtoc32.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,9 +18,10 @@
#include <config.h>
+/* The option '--disable-threads' explicitly requests no locking. */
/* When it is known that the gl_get_mbtowc_lock function is defined
by a dependency library, it should not be defined here. */
-#if OMIT_MBTOWC_LOCK
+#if AVOID_ANY_THREADS || OMIT_MBTOWC_LOCK
/* This declaration is solely to ensure that after preprocessing
this file is never empty. */
@@ -37,14 +38,14 @@ typedef int dummy;
/* Macro for exporting a symbol (function, not variable) defined in this file,
when compiled into a shared library. */
-# ifndef DLL_EXPORTED
+# ifndef SHLIB_EXPORTED
# if HAVE_VISIBILITY
/* Override the effect of the compiler option '-fvisibility=hidden'. */
-# define DLL_EXPORTED __attribute__((__visibility__("default")))
+# define SHLIB_EXPORTED __attribute__((__visibility__("default")))
# elif defined _WIN32 || defined __CYGWIN__
-# define DLL_EXPORTED __declspec(dllexport)
+# define SHLIB_EXPORTED __declspec(dllexport)
# else
-# define DLL_EXPORTED
+# define SHLIB_EXPORTED
# endif
# endif
@@ -59,7 +60,7 @@ typedef int dummy;
because the latter is not guaranteed to be a stable ABI in the future. */
/* Make sure the function gets exported from DLLs. */
-DLL_EXPORTED CRITICAL_SECTION *gl_get_mbtowc_lock (void);
+SHLIB_EXPORTED CRITICAL_SECTION *gl_get_mbtowc_lock (void);
static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT;
static CRITICAL_SECTION lock;
@@ -96,7 +97,7 @@ gl_get_mbtowc_lock (void)
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
/* Make sure the function gets exported from shared libraries. */
-DLL_EXPORTED pthread_mutex_t *gl_get_mbtowc_lock (void);
+SHLIB_EXPORTED pthread_mutex_t *gl_get_mbtowc_lock (void);
/* Returns the internal lock used by mbrtowc and mbrtoc32. */
pthread_mutex_t *
@@ -123,7 +124,7 @@ atomic_init (void)
}
/* Make sure the function gets exported from shared libraries. */
-DLL_EXPORTED mtx_t *gl_get_mbtowc_lock (void);
+SHLIB_EXPORTED mtx_t *gl_get_mbtowc_lock (void);
/* Returns the internal lock used by mbrtowc and mbrtoc32. */
mtx_t *
diff --git a/lib/mbtowc-lock.h b/lib/mbtowc-lock.h
index ecfd44e8..10f7dc7c 100644
--- a/lib/mbtowc-lock.h
+++ b/lib/mbtowc-lock.h
@@ -1,5 +1,5 @@
/* Use the internal lock used by mbrtowc and mbrtoc32.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -21,7 +21,7 @@
static inline int
mbtowc_unlocked (wchar_t *pwc, const char *p, size_t m)
{
- /* Put the hidden internal state of mbtowc into its initial state.
+ /* Put the hidden internal state of mbtowc into an initial state.
This is needed at least with glibc, uClibc, and MSVC CRT.
See <https://sourceware.org/bugzilla/show_bug.cgi?id=9674>. */
mbtowc (NULL, NULL, 0);
@@ -32,7 +32,7 @@ mbtowc_unlocked (wchar_t *pwc, const char *p, size_t m)
/* Prohibit renaming this symbol. */
#undef gl_get_mbtowc_lock
-#if GNULIB_MBRTOWC_SINGLE_THREAD
+#if AVOID_ANY_THREADS || GNULIB_MBRTOWC_SINGLE_THREAD
/* All uses of this function are in a single thread. No locking needed. */
diff --git a/lib/memchr.c b/lib/memchr.c
index 0ca7b30a..67687a8f 100644
--- a/lib/memchr.c
+++ b/lib/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2022
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2024
Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/lib/memchr.valgrind b/lib/memchr.valgrind
index cb0f351c..0295d7e6 100644
--- a/lib/memchr.valgrind
+++ b/lib/memchr.valgrind
@@ -1,6 +1,6 @@
# Suppress a valgrind message about use of uninitialized memory in memchr().
-# Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
#
# This file is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
diff --git a/lib/memcmp2.c b/lib/memcmp2.c
index 57805968..2aaee531 100644
--- a/lib/memcmp2.c
+++ b/lib/memcmp2.c
@@ -1,5 +1,5 @@
/* Compare two memory areas with possibly different lengths.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/memcmp2.h b/lib/memcmp2.h
index 1a3c342d..5cea70e3 100644
--- a/lib/memcmp2.h
+++ b/lib/memcmp2.h
@@ -1,5 +1,5 @@
/* Compare two memory areas with possibly different lengths.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -17,6 +17,11 @@
#ifndef MEMCMP2_H
#define MEMCMP2_H
+/* This file uses _GL_ATTRIBUTE_PURE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
#ifdef __cplusplus
diff --git a/lib/minmax.h b/lib/minmax.h
index b4b1345b..f3df58b0 100644
--- a/lib/minmax.h
+++ b/lib/minmax.h
@@ -1,5 +1,5 @@
/* MIN, MAX macros.
- Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2022 Free Software
+ Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -23,6 +23,11 @@
MIN, MAX macro redefinitions on some systems; the workaround is to
#include this file as the last one among the #include list. */
+/* This file uses HAVE_MINMAX_IN_LIMITS_H, HAVE_MINMAX_IN_SYS_PARAM_H. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Before we define the following symbols we get the <limits.h> file
since otherwise we get redefinitions on some systems if <limits.h> is
included after this file. Likewise for <sys/param.h>.
diff --git a/lib/printf-args.c b/lib/printf-args.c
index 669c24a4..eb0d2cdc 100644
--- a/lib/printf-args.c
+++ b/lib/printf-args.c
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2022 Free Software
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -29,6 +29,9 @@
# include "printf-args.h"
#endif
+/* Get INT_WIDTH. */
+#include <limits.h>
+
#ifdef STATIC
STATIC
#endif
@@ -71,6 +74,102 @@ PRINTF_FETCHARGS (va_list args, arguments *a)
case TYPE_ULONGLONGINT:
ap->a.a_ulonglongint = va_arg (args, unsigned long long int);
break;
+ case TYPE_INT8_T:
+ #if INT8_WIDTH < INT_WIDTH
+ ap->a.a_int8_t = va_arg (args, /* int8_t */ int);
+ #else
+ ap->a.a_int8_t = va_arg (args, int8_t);
+ #endif
+ break;
+ case TYPE_UINT8_T:
+ #if UINT8_WIDTH < INT_WIDTH
+ ap->a.a_uint8_t = va_arg (args, /* uint8_t */ int);
+ #else
+ ap->a.a_uint8_t = va_arg (args, uint8_t);
+ #endif
+ break;
+ case TYPE_INT16_T:
+ #if INT16_WIDTH < INT_WIDTH
+ ap->a.a_int16_t = va_arg (args, /* int16_t */ int);
+ #else
+ ap->a.a_int16_t = va_arg (args, int16_t);
+ #endif
+ break;
+ case TYPE_UINT16_T:
+ #if UINT16_WIDTH < INT_WIDTH
+ ap->a.a_uint16_t = va_arg (args, /* uint16_t */ int);
+ #else
+ ap->a.a_uint16_t = va_arg (args, uint16_t);
+ #endif
+ break;
+ case TYPE_INT32_T:
+ #if INT32_WIDTH < INT_WIDTH
+ ap->a.a_int32_t = va_arg (args, /* int32_t */ int);
+ #else
+ ap->a.a_int32_t = va_arg (args, int32_t);
+ #endif
+ break;
+ case TYPE_UINT32_T:
+ #if UINT32_WIDTH < INT_WIDTH
+ ap->a.a_uint32_t = va_arg (args, /* uint32_t */ int);
+ #else
+ ap->a.a_uint32_t = va_arg (args, uint32_t);
+ #endif
+ break;
+ case TYPE_INT64_T:
+ ap->a.a_int64_t = va_arg (args, int64_t);
+ break;
+ case TYPE_UINT64_T:
+ ap->a.a_uint64_t = va_arg (args, uint64_t);
+ break;
+ case TYPE_INT_FAST8_T:
+ #if INT_FAST8_WIDTH < INT_WIDTH
+ ap->a.a_int_fast8_t = va_arg (args, /* int_fast8_t */ int);
+ #else
+ ap->a.a_int_fast8_t = va_arg (args, int_fast8_t);
+ #endif
+ break;
+ case TYPE_UINT_FAST8_T:
+ #if UINT_FAST8_WIDTH < INT_WIDTH
+ ap->a.a_uint_fast8_t = va_arg (args, /* uint_fast8_t */ int);
+ #else
+ ap->a.a_uint_fast8_t = va_arg (args, uint_fast8_t);
+ #endif
+ break;
+ case TYPE_INT_FAST16_T:
+ #if INT_FAST16_WIDTH < INT_WIDTH
+ ap->a.a_int_fast16_t = va_arg (args, /* int_fast16_t */ int);
+ #else
+ ap->a.a_int_fast16_t = va_arg (args, int_fast16_t);
+ #endif
+ break;
+ case TYPE_UINT_FAST16_T:
+ #if UINT_FAST16_WIDTH < INT_WIDTH
+ ap->a.a_uint_fast16_t = va_arg (args, /* uint_fast16_t */ int);
+ #else
+ ap->a.a_uint_fast16_t = va_arg (args, uint_fast16_t);
+ #endif
+ break;
+ case TYPE_INT_FAST32_T:
+ #if INT_FAST32_WIDTH < INT_WIDTH
+ ap->a.a_int_fast32_t = va_arg (args, /* int_fast32_t */ int);
+ #else
+ ap->a.a_int_fast32_t = va_arg (args, int_fast32_t);
+ #endif
+ break;
+ case TYPE_UINT_FAST32_T:
+ #if UINT_FAST32_WIDTH < INT_WIDTH
+ ap->a.a_uint_fast32_t = va_arg (args, /* uint_fast32_t */ int);
+ #else
+ ap->a.a_uint_fast32_t = va_arg (args, uint_fast32_t);
+ #endif
+ break;
+ case TYPE_INT_FAST64_T:
+ ap->a.a_int_fast64_t = va_arg (args, int_fast64_t);
+ break;
+ case TYPE_UINT_FAST64_T:
+ ap->a.a_uint_fast64_t = va_arg (args, uint_fast64_t);
+ break;
case TYPE_DOUBLE:
ap->a.a_double = va_arg (args, double);
break;
@@ -136,6 +235,30 @@ PRINTF_FETCHARGS (va_list args, arguments *a)
case TYPE_COUNT_LONGLONGINT_POINTER:
ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
break;
+ case TYPE_COUNT_INT8_T_POINTER:
+ ap->a.a_count_int8_t_pointer = va_arg (args, int8_t *);
+ break;
+ case TYPE_COUNT_INT16_T_POINTER:
+ ap->a.a_count_int16_t_pointer = va_arg (args, int16_t *);
+ break;
+ case TYPE_COUNT_INT32_T_POINTER:
+ ap->a.a_count_int32_t_pointer = va_arg (args, int32_t *);
+ break;
+ case TYPE_COUNT_INT64_T_POINTER:
+ ap->a.a_count_int64_t_pointer = va_arg (args, int64_t *);
+ break;
+ case TYPE_COUNT_INT_FAST8_T_POINTER:
+ ap->a.a_count_int_fast8_t_pointer = va_arg (args, int_fast8_t *);
+ break;
+ case TYPE_COUNT_INT_FAST16_T_POINTER:
+ ap->a.a_count_int_fast16_t_pointer = va_arg (args, int_fast16_t *);
+ break;
+ case TYPE_COUNT_INT_FAST32_T_POINTER:
+ ap->a.a_count_int_fast32_t_pointer = va_arg (args, int_fast32_t *);
+ break;
+ case TYPE_COUNT_INT_FAST64_T_POINTER:
+ ap->a.a_count_int_fast64_t_pointer = va_arg (args, int_fast64_t *);
+ break;
#if ENABLE_UNISTDIO
/* The unistdio extensions. */
case TYPE_U8_STRING:
diff --git a/lib/printf-args.h b/lib/printf-args.h
index 553fe961..9b80bb39 100644
--- a/lib/printf-args.h
+++ b/lib/printf-args.h
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2022 Free Software
+ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -41,6 +41,9 @@
# include <wchar.h>
#endif
+/* Get intN_t, uintN_t, intN_fast_t, uintN_fast_t. */
+#include <stdint.h>
+
/* Get va_list. */
#include <stdarg.h>
@@ -59,6 +62,26 @@ typedef enum
TYPE_ULONGINT,
TYPE_LONGLONGINT,
TYPE_ULONGLONGINT,
+ /* According to ISO C 23 § 7.23.6.1, "all exact-width integer types",
+ "all minimum-width integer types", and "all fastest minimum-width integer
+ types" defined in <stdint.h> should be supported. But for portability
+ between platforms, we support only those with N = 8, 16, 32, 64. */
+ TYPE_INT8_T,
+ TYPE_UINT8_T,
+ TYPE_INT16_T,
+ TYPE_UINT16_T,
+ TYPE_INT32_T,
+ TYPE_UINT32_T,
+ TYPE_INT64_T,
+ TYPE_UINT64_T,
+ TYPE_INT_FAST8_T,
+ TYPE_UINT_FAST8_T,
+ TYPE_INT_FAST16_T,
+ TYPE_UINT_FAST16_T,
+ TYPE_INT_FAST32_T,
+ TYPE_UINT_FAST32_T,
+ TYPE_INT_FAST64_T,
+ TYPE_UINT_FAST64_T,
TYPE_DOUBLE,
TYPE_LONGDOUBLE,
TYPE_CHAR,
@@ -74,7 +97,15 @@ typedef enum
TYPE_COUNT_SHORT_POINTER,
TYPE_COUNT_INT_POINTER,
TYPE_COUNT_LONGINT_POINTER,
- TYPE_COUNT_LONGLONGINT_POINTER
+ TYPE_COUNT_LONGLONGINT_POINTER,
+ TYPE_COUNT_INT8_T_POINTER,
+ TYPE_COUNT_INT16_T_POINTER,
+ TYPE_COUNT_INT32_T_POINTER,
+ TYPE_COUNT_INT64_T_POINTER,
+ TYPE_COUNT_INT_FAST8_T_POINTER,
+ TYPE_COUNT_INT_FAST16_T_POINTER,
+ TYPE_COUNT_INT_FAST32_T_POINTER,
+ TYPE_COUNT_INT_FAST64_T_POINTER
#if ENABLE_UNISTDIO
/* The unistdio extensions. */
, TYPE_U8_STRING
@@ -99,7 +130,23 @@ typedef struct
unsigned long int a_ulongint;
long long int a_longlongint;
unsigned long long int a_ulonglongint;
- float a_float;
+ int8_t a_int8_t;
+ uint8_t a_uint8_t;
+ int16_t a_int16_t;
+ uint16_t a_uint16_t;
+ int32_t a_int32_t;
+ uint32_t a_uint32_t;
+ int64_t a_int64_t;
+ uint64_t a_uint64_t;
+ int_fast8_t a_int_fast8_t;
+ uint_fast8_t a_uint_fast8_t;
+ int_fast16_t a_int_fast16_t;
+ uint_fast16_t a_uint_fast16_t;
+ int_fast32_t a_int_fast32_t;
+ uint_fast32_t a_uint_fast32_t;
+ int_fast64_t a_int_fast64_t;
+ uint_fast64_t a_uint_fast64_t;
+ float a_float; /* unused */
double a_double;
long double a_longdouble;
int a_char;
@@ -116,6 +163,14 @@ typedef struct
int * a_count_int_pointer;
long int * a_count_longint_pointer;
long long int * a_count_longlongint_pointer;
+ int8_t * a_count_int8_t_pointer;
+ int16_t * a_count_int16_t_pointer;
+ int32_t * a_count_int32_t_pointer;
+ int64_t * a_count_int64_t_pointer;
+ int_fast8_t * a_count_int_fast8_t_pointer;
+ int_fast16_t * a_count_int_fast16_t_pointer;
+ int_fast32_t * a_count_int_fast32_t_pointer;
+ int_fast64_t * a_count_int_fast64_t_pointer;
#if ENABLE_UNISTDIO
/* The unistdio extensions. */
const uint8_t * a_u8_string;
diff --git a/lib/printf-frexp.c b/lib/printf-frexp.c
index 68fce681..400dd46e 100644
--- a/lib/printf-frexp.c
+++ b/lib/printf-frexp.c
@@ -1,5 +1,5 @@
/* Split a double into fraction and mantissa, for hexadecimal printf.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/printf-frexp.h b/lib/printf-frexp.h
index 44ece5dc..4970c137 100644
--- a/lib/printf-frexp.h
+++ b/lib/printf-frexp.h
@@ -1,5 +1,5 @@
/* Split a double into fraction and mantissa, for hexadecimal printf.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/printf-frexpl.c b/lib/printf-frexpl.c
index 0004e026..5294cedd 100644
--- a/lib/printf-frexpl.c
+++ b/lib/printf-frexpl.c
@@ -1,5 +1,5 @@
/* Split a 'long double' into fraction and mantissa, for hexadecimal printf.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/printf-frexpl.h b/lib/printf-frexpl.h
index 9220d7b3..b1adfd7f 100644
--- a/lib/printf-frexpl.h
+++ b/lib/printf-frexpl.h
@@ -1,5 +1,5 @@
/* Split a 'long double' into fraction and mantissa, for hexadecimal printf.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/printf-parse.c b/lib/printf-parse.c
index aab02dc5..a33e27a0 100644
--- a/lib/printf-parse.c
+++ b/lib/printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2003, 2006-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -326,226 +326,320 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
arg_type type;
/* Parse argument type/size specifiers. */
- {
- int flags = 0;
-
- for (;;)
- {
- if (*cp == 'h')
- {
- flags |= (1 << (flags & 1));
- cp++;
- }
- else if (*cp == 'L')
- {
- flags |= 4;
- cp++;
- }
- else if (*cp == 'l')
- {
- flags += 8;
- cp++;
- }
- else if (*cp == 'j')
- {
- if (sizeof (intmax_t) > sizeof (long))
- {
- /* intmax_t = long long */
- flags += 16;
- }
- else if (sizeof (intmax_t) > sizeof (int))
- {
- /* intmax_t = long */
- flags += 8;
- }
- cp++;
- }
- else if (*cp == 'z' || *cp == 'Z')
- {
- /* 'z' is standardized in ISO C 99, but glibc uses 'Z'
- because the warning facility in gcc-2.95.2 understands
- only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */
- if (sizeof (size_t) > sizeof (long))
- {
- /* size_t = long long */
- flags += 16;
- }
- else if (sizeof (size_t) > sizeof (int))
- {
- /* size_t = long */
- flags += 8;
- }
- cp++;
- }
- else if (*cp == 't')
- {
- if (sizeof (ptrdiff_t) > sizeof (long))
- {
- /* ptrdiff_t = long long */
- flags += 16;
- }
- else if (sizeof (ptrdiff_t) > sizeof (int))
- {
- /* ptrdiff_t = long */
- flags += 8;
- }
- cp++;
- }
+ /* Relevant for the conversion characters d, i. */
+ arg_type signed_type = TYPE_INT;
+ /* Relevant for the conversion characters b, o, u, x, X. */
+ arg_type unsigned_type = TYPE_UINT;
+ /* Relevant for the conversion characters n. */
+ arg_type pointer_type = TYPE_COUNT_INT_POINTER;
+ /* Relevant for the conversion characters a, A, e, E, f, F, g, G. */
+ arg_type floatingpoint_type = TYPE_DOUBLE;
+
+ if (*cp == 'h')
+ {
+ if (cp[1] == 'h')
+ {
+ signed_type = TYPE_SCHAR;
+ unsigned_type = TYPE_UCHAR;
+ pointer_type = TYPE_COUNT_SCHAR_POINTER;
+ cp += 2;
+ }
+ else
+ {
+ signed_type = TYPE_SHORT;
+ unsigned_type = TYPE_USHORT;
+ pointer_type = TYPE_COUNT_SHORT_POINTER;
+ cp++;
+ }
+ }
+ else if (*cp == 'l')
+ {
+ if (cp[1] == 'l')
+ {
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ /* For backward compatibility only. */
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ cp += 2;
+ }
+ else
+ {
+ signed_type = TYPE_LONGINT;
+ unsigned_type = TYPE_ULONGINT;
+ pointer_type = TYPE_COUNT_LONGINT_POINTER;
+ cp++;
+ }
+ }
+ else if (*cp == 'j')
+ {
+ if (sizeof (intmax_t) > sizeof (long))
+ {
+ /* intmax_t = long long */
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ /* For backward compatibility only. */
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ }
+ else if (sizeof (intmax_t) > sizeof (int))
+ {
+ /* intmax_t = long */
+ signed_type = TYPE_LONGINT;
+ unsigned_type = TYPE_ULONGINT;
+ pointer_type = TYPE_COUNT_LONGINT_POINTER;
+ }
+ cp++;
+ }
+ else if (*cp == 'z' || *cp == 'Z')
+ {
+ /* 'z' is standardized in ISO C 99, but glibc uses 'Z'
+ because the warning facility in gcc-2.95.2 understands
+ only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */
+ if (sizeof (size_t) > sizeof (long))
+ {
+ /* size_t = unsigned long long */
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ /* For backward compatibility only. */
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ }
+ else if (sizeof (size_t) > sizeof (int))
+ {
+ /* size_t = unsigned long */
+ signed_type = TYPE_LONGINT;
+ unsigned_type = TYPE_ULONGINT;
+ pointer_type = TYPE_COUNT_LONGINT_POINTER;
+ }
+ cp++;
+ }
+ else if (*cp == 't')
+ {
+ if (sizeof (ptrdiff_t) > sizeof (long))
+ {
+ /* ptrdiff_t = long long */
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ /* For backward compatibility only. */
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ }
+ else if (sizeof (ptrdiff_t) > sizeof (int))
+ {
+ /* ptrdiff_t = long */
+ signed_type = TYPE_LONGINT;
+ unsigned_type = TYPE_ULONGINT;
+ pointer_type = TYPE_COUNT_LONGINT_POINTER;
+ }
+ cp++;
+ }
+ else if (*cp == 'w')
+ {
+ /* wN and wfN are standardized in ISO C 23. */
+ if (cp[1] == 'f')
+ {
+ if (cp[2] == '8')
+ {
+ signed_type = TYPE_INT_FAST8_T;
+ unsigned_type = TYPE_UINT_FAST8_T;
+ pointer_type = TYPE_COUNT_INT_FAST8_T_POINTER;
+ cp += 3;
+ }
+ else if (cp[2] == '1' && cp[3] == '6')
+ {
+ signed_type = TYPE_INT_FAST16_T;
+ unsigned_type = TYPE_UINT_FAST16_T;
+ pointer_type = TYPE_COUNT_INT_FAST16_T_POINTER;
+ cp += 4;
+ }
+ else if (cp[2] == '3' && cp[3] == '2')
+ {
+ signed_type = TYPE_INT_FAST32_T;
+ unsigned_type = TYPE_UINT_FAST32_T;
+ pointer_type = TYPE_COUNT_INT_FAST32_T_POINTER;
+ cp += 4;
+ }
+ else if (cp[2] == '6' && cp[3] == '4')
+ {
+ signed_type = TYPE_INT_FAST64_T;
+ unsigned_type = TYPE_UINT_FAST64_T;
+ pointer_type = TYPE_COUNT_INT_FAST64_T_POINTER;
+ cp += 4;
+ }
+ }
+ else
+ {
+ if (cp[1] == '8')
+ {
+ signed_type = TYPE_INT8_T;
+ unsigned_type = TYPE_UINT8_T;
+ pointer_type = TYPE_COUNT_INT8_T_POINTER;
+ cp += 2;
+ }
+ else if (cp[1] == '1' && cp[2] == '6')
+ {
+ signed_type = TYPE_INT16_T;
+ unsigned_type = TYPE_UINT16_T;
+ pointer_type = TYPE_COUNT_INT16_T_POINTER;
+ cp += 3;
+ }
+ else if (cp[1] == '3' && cp[2] == '2')
+ {
+ signed_type = TYPE_INT32_T;
+ unsigned_type = TYPE_UINT32_T;
+ pointer_type = TYPE_COUNT_INT32_T_POINTER;
+ cp += 3;
+ }
+ else if (cp[1] == '6' && cp[2] == '4')
+ {
+ signed_type = TYPE_INT64_T;
+ unsigned_type = TYPE_UINT64_T;
+ pointer_type = TYPE_COUNT_INT64_T_POINTER;
+ cp += 3;
+ }
+ }
+ }
+ else if (*cp == 'L')
+ {
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ cp++;
+ }
#if defined __APPLE__ && defined __MACH__
- /* On Mac OS X 10.3, PRIdMAX is defined as "qd".
- We cannot change it to "lld" because PRIdMAX must also
- be understood by the system's printf routines. */
- else if (*cp == 'q')
- {
- if (64 / 8 > sizeof (long))
- {
- /* int64_t = long long */
- flags += 16;
- }
- else
- {
- /* int64_t = long */
- flags += 8;
- }
- cp++;
- }
+ /* On Mac OS X 10.3, PRIdMAX is defined as "qd".
+ We cannot change it to "lld" because PRIdMAX must also
+ be understood by the system's printf routines. */
+ else if (*cp == 'q')
+ {
+ if (64 / 8 > sizeof (long))
+ {
+ /* int64_t = long long */
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ /* For backward compatibility only. */
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ }
+ else
+ {
+ /* int64_t = long */
+ signed_type = TYPE_LONGINT;
+ unsigned_type = TYPE_ULONGINT;
+ pointer_type = TYPE_COUNT_LONGINT_POINTER;
+ }
+ cp++;
+ }
#endif
#if defined _WIN32 && ! defined __CYGWIN__
- /* On native Windows, PRIdMAX is defined as "I64d".
- We cannot change it to "lld" because PRIdMAX must also
- be understood by the system's printf routines. */
- else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4')
- {
- if (64 / 8 > sizeof (long))
- {
- /* __int64 = long long */
- flags += 16;
- }
- else
- {
- /* __int64 = long */
- flags += 8;
- }
- cp += 3;
- }
+ /* On native Windows, PRIdMAX is defined as "I64d".
+ We cannot change it to "lld" because PRIdMAX must also
+ be understood by the system's printf routines. */
+ else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4')
+ {
+ if (64 / 8 > sizeof (long))
+ {
+ /* __int64_t = long long */
+ signed_type = TYPE_LONGLONGINT;
+ unsigned_type = TYPE_ULONGLONGINT;
+ pointer_type = TYPE_COUNT_LONGLONGINT_POINTER;
+ /* For backward compatibility only. */
+ floatingpoint_type = TYPE_LONGDOUBLE;
+ }
+ else
+ {
+ /* __int64_t = long */
+ signed_type = TYPE_LONGINT;
+ unsigned_type = TYPE_ULONGINT;
+ pointer_type = TYPE_COUNT_LONGINT_POINTER;
+ }
+ cp += 3;
+ }
#endif
- else
- break;
- }
+ (void) pointer_type;
- /* Read the conversion character. */
- c = *cp++;
- switch (c)
- {
- case 'd': case 'i':
- /* If 'long long' is larger than 'long': */
- if (flags >= 16 || (flags & 4))
- type = TYPE_LONGLONGINT;
- else
- /* If 'long long' is the same as 'long', we parse "lld" into
- TYPE_LONGINT. */
- if (flags >= 8)
- type = TYPE_LONGINT;
- else if (flags & 2)
- type = TYPE_SCHAR;
- else if (flags & 1)
- type = TYPE_SHORT;
- else
- type = TYPE_INT;
- break;
- case 'o': case 'u': case 'x': case 'X':
- /* If 'unsigned long long' is larger than 'unsigned long': */
- if (flags >= 16 || (flags & 4))
- type = TYPE_ULONGLONGINT;
- else
- /* If 'unsigned long long' is the same as 'unsigned long', we
- parse "llu" into TYPE_ULONGINT. */
- if (flags >= 8)
- type = TYPE_ULONGINT;
- else if (flags & 2)
- type = TYPE_UCHAR;
- else if (flags & 1)
- type = TYPE_USHORT;
- else
- type = TYPE_UINT;
- break;
- case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
- case 'a': case 'A':
- if (flags >= 16 || (flags & 4))
- type = TYPE_LONGDOUBLE;
- else
- type = TYPE_DOUBLE;
- break;
- case 'c':
- if (flags >= 8)
+ /* Read the conversion character. */
+ c = *cp++;
+ switch (c)
+ {
+ case 'd': case 'i':
+ type = signed_type;
+ break;
+ case 'b': case 'o': case 'u': case 'x': case 'X':
+ #if SUPPORT_GNU_PRINTF_DIRECTIVES \
+ || (__GLIBC__ + (__GLIBC_MINOR__ >= 35) > 2)
+ case 'B':
+ #endif
+ type = unsigned_type;
+ break;
+ case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
+ case 'a': case 'A':
+ type = floatingpoint_type;
+ break;
+ case 'c':
+ if (signed_type == TYPE_LONGINT
+ /* For backward compatibility only. */
+ || signed_type == TYPE_LONGLONGINT)
#if HAVE_WINT_T
- type = TYPE_WIDE_CHAR;
+ type = TYPE_WIDE_CHAR;
#else
- goto error;
+ goto error;
#endif
- else
- type = TYPE_CHAR;
- break;
+ else
+ type = TYPE_CHAR;
+ break;
#if HAVE_WINT_T
- case 'C':
- type = TYPE_WIDE_CHAR;
- c = 'c';
- break;
+ case 'C':
+ type = TYPE_WIDE_CHAR;
+ c = 'c';
+ break;
#endif
- case 's':
- if (flags >= 8)
+ case 's':
+ if (signed_type == TYPE_LONGINT
+ /* For backward compatibility only. */
+ || signed_type == TYPE_LONGLONGINT)
#if HAVE_WCHAR_T
- type = TYPE_WIDE_STRING;
+ type = TYPE_WIDE_STRING;
#else
- goto error;
+ goto error;
#endif
- else
- type = TYPE_STRING;
- break;
+ else
+ type = TYPE_STRING;
+ break;
#if HAVE_WCHAR_T
- case 'S':
- type = TYPE_WIDE_STRING;
- c = 's';
- break;
+ case 'S':
+ type = TYPE_WIDE_STRING;
+ c = 's';
+ break;
+#endif
+ case 'p':
+ type = TYPE_POINTER;
+ break;
+#if NEED_PRINTF_WITH_N_DIRECTIVE
+ case 'n':
+ type = pointer_type;
+ break;
#endif
- case 'p':
- type = TYPE_POINTER;
- break;
- case 'n':
- /* If 'long long' is larger than 'long': */
- if (flags >= 16 || (flags & 4))
- type = TYPE_COUNT_LONGLONGINT_POINTER;
- else
- /* If 'long long' is the same as 'long', we parse "lln" into
- TYPE_COUNT_LONGINT_POINTER. */
- if (flags >= 8)
- type = TYPE_COUNT_LONGINT_POINTER;
- else if (flags & 2)
- type = TYPE_COUNT_SCHAR_POINTER;
- else if (flags & 1)
- type = TYPE_COUNT_SHORT_POINTER;
- else
- type = TYPE_COUNT_INT_POINTER;
- break;
#if ENABLE_UNISTDIO
- /* The unistdio extensions. */
- case 'U':
- if (flags >= 16)
- type = TYPE_U32_STRING;
- else if (flags >= 8)
- type = TYPE_U16_STRING;
- else
- type = TYPE_U8_STRING;
- break;
+ /* The unistdio extensions. */
+ case 'U':
+ if (signed_type == TYPE_LONGLONGINT)
+ type = TYPE_U32_STRING;
+ else if (signed_type == TYPE_LONGINT)
+ type = TYPE_U16_STRING;
+ else
+ type = TYPE_U8_STRING;
+ break;
#endif
- case '%':
- type = TYPE_NONE;
- break;
- default:
- /* Unknown conversion character. */
- goto error;
- }
- }
+ case '%':
+ type = TYPE_NONE;
+ break;
+ default:
+ /* Unknown conversion character. */
+ goto error;
+ }
if (type != TYPE_NONE)
{
diff --git a/lib/printf-parse.h b/lib/printf-parse.h
index b12ccea3..949b8754 100644
--- a/lib/printf-parse.h
+++ b/lib/printf-parse.h
@@ -1,5 +1,5 @@
/* Parse printf format string.
- Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2022 Free Software
+ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -61,7 +61,7 @@ typedef struct
const char* precision_start;
const char* precision_end;
size_t precision_arg_index;
- char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
+ char conversion; /* d i b B o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
char_directive;
@@ -91,7 +91,7 @@ typedef struct
const uint8_t* precision_start;
const uint8_t* precision_end;
size_t precision_arg_index;
- uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
+ uint8_t conversion; /* d i b B o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
u8_directive;
@@ -119,7 +119,7 @@ typedef struct
const uint16_t* precision_start;
const uint16_t* precision_end;
size_t precision_arg_index;
- uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
+ uint16_t conversion; /* d i b B o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
u16_directive;
@@ -147,7 +147,7 @@ typedef struct
const uint32_t* precision_start;
const uint32_t* precision_end;
size_t precision_arg_index;
- uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
+ uint32_t conversion; /* d i b B o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
u32_directive;
diff --git a/lib/relocatable.c b/lib/relocatable.c
index 1ca8ec0e..365c0858 100644
--- a/lib/relocatable.c
+++ b/lib/relocatable.c
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003-2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003-2006, 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/relocatable.h b/lib/relocatable.h
index 49452fe7..162f9d82 100644
--- a/lib/relocatable.h
+++ b/lib/relocatable.h
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003, 2005, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005, 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This file is free software: you can redistribute it and/or modify
@@ -18,6 +18,11 @@
#ifndef _RELOCATABLE_H
#define _RELOCATABLE_H
+/* This file uses _GL_ATTRIBUTE_MALLOC, HAVE_VISIBILITY. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stdlib.h>
#ifdef __cplusplus
@@ -28,15 +33,28 @@ extern "C" {
/* This can be enabled through the configure --enable-relocatable option. */
#if ENABLE_RELOCATABLE
-/* When building a DLL, we must export some functions. Note that because
- this is a private .h file, we don't need to use __declspec(dllimport)
- in any case. */
+/* When building a shared library, we must export some functions.
+ Note that because this is a private .h file, we don't need to use
+ __declspec(dllimport) in any case. */
#if HAVE_VISIBILITY && BUILDING_DLL
-# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default")))
+# define RELOCATABLE_SHLIB_EXPORTED __attribute__((__visibility__("default")))
#elif defined _MSC_VER && BUILDING_DLL
-# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
+/* When building with MSVC, exporting a symbol means that the object file
+ contains a "linker directive" of the form /EXPORT:symbol. This can be
+ inspected through the "objdump -s --section=.drectve FILE" or
+ "dumpbin /directives FILE" commands.
+ The symbols from this file should be exported if and only if the object
+ file gets included in a DLL. Libtool, on Windows platforms, defines
+ the C macro DLL_EXPORT (together with PIC) when compiling for a shared
+ library (called DLL under Windows) and does not define it when compiling
+ an object file meant to be linked statically into some executable. */
+# if defined DLL_EXPORT
+# define RELOCATABLE_SHLIB_EXPORTED __declspec(dllexport)
+# else
+# define RELOCATABLE_SHLIB_EXPORTED
+# endif
#else
-# define RELOCATABLE_DLL_EXPORTED
+# define RELOCATABLE_SHLIB_EXPORTED
#endif
/* Sets the original and the current installation prefix of the package.
@@ -44,7 +62,7 @@ extern "C" {
by the corresponding pathname with the current prefix instead. Both
prefixes should be directory names without trailing slash (i.e. use ""
instead of "/"). */
-extern RELOCATABLE_DLL_EXPORTED void
+extern RELOCATABLE_SHLIB_EXPORTED void
set_relocation_prefix (const char *orig_prefix,
const char *curr_prefix);
diff --git a/lib/relocatable.valgrind b/lib/relocatable.valgrind
index 3e0c76b7..7e1722dc 100644
--- a/lib/relocatable.valgrind
+++ b/lib/relocatable.valgrind
@@ -1,6 +1,6 @@
# Suppress a valgrind message about a memory leak in relocatable.c.
-# Copyright (C) 2017-2022 Free Software Foundation, Inc.
+# Copyright (C) 2017-2024 Free Software Foundation, Inc.
#
# This file is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
diff --git a/lib/setlocale-lock.c b/lib/setlocale-lock.c
index 4e7540e1..192489c4 100644
--- a/lib/setlocale-lock.c
+++ b/lib/setlocale-lock.c
@@ -1,5 +1,5 @@
/* Return the internal lock used by setlocale_null_r.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,9 +18,10 @@
#include <config.h>
+/* The option '--disable-threads' explicitly requests no locking. */
/* When it is known that the gl_get_setlocale_null_lock function is defined
by a dependency library, it should not be defined here. */
-#if OMIT_SETLOCALE_LOCK
+#if AVOID_ANY_THREADS || OMIT_SETLOCALE_LOCK
/* This declaration is solely to ensure that after preprocessing
this file is never empty. */
@@ -37,14 +38,14 @@ typedef int dummy;
/* Macro for exporting a symbol (function, not variable) defined in this file,
when compiled into a shared library. */
-# ifndef DLL_EXPORTED
+# ifndef SHLIB_EXPORTED
# if HAVE_VISIBILITY
/* Override the effect of the compiler option '-fvisibility=hidden'. */
-# define DLL_EXPORTED __attribute__((__visibility__("default")))
+# define SHLIB_EXPORTED __attribute__((__visibility__("default")))
# elif defined _WIN32 || defined __CYGWIN__
-# define DLL_EXPORTED __declspec(dllexport)
+# define SHLIB_EXPORTED __declspec(dllexport)
# else
-# define DLL_EXPORTED
+# define SHLIB_EXPORTED
# endif
# endif
@@ -59,7 +60,7 @@ typedef int dummy;
because the latter is not guaranteed to be a stable ABI in the future. */
/* Make sure the function gets exported from DLLs. */
-DLL_EXPORTED CRITICAL_SECTION *gl_get_setlocale_null_lock (void);
+SHLIB_EXPORTED CRITICAL_SECTION *gl_get_setlocale_null_lock (void);
static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT;
static CRITICAL_SECTION lock;
@@ -96,7 +97,7 @@ gl_get_setlocale_null_lock (void)
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
/* Make sure the function gets exported from shared libraries. */
-DLL_EXPORTED pthread_mutex_t *gl_get_setlocale_null_lock (void);
+SHLIB_EXPORTED pthread_mutex_t *gl_get_setlocale_null_lock (void);
/* Returns the internal lock used by setlocale_null_r. */
pthread_mutex_t *
@@ -123,7 +124,7 @@ atomic_init (void)
}
/* Make sure the function gets exported from shared libraries. */
-DLL_EXPORTED mtx_t *gl_get_setlocale_null_lock (void);
+SHLIB_EXPORTED mtx_t *gl_get_setlocale_null_lock (void);
/* Returns the internal lock used by setlocale_null_r. */
mtx_t *
diff --git a/lib/setlocale_null-unlocked.c b/lib/setlocale_null-unlocked.c
new file mode 100644
index 00000000..0a86f0df
--- /dev/null
+++ b/lib/setlocale_null-unlocked.c
@@ -0,0 +1,149 @@
+/* Query the name of the current global locale, without locking.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
+
+#include <config.h>
+
+/* Specification. */
+#include "setlocale_null.h"
+
+#include <errno.h>
+#include <locale.h>
+#include <string.h>
+#if defined _WIN32 && !defined __CYGWIN__
+# include <wchar.h>
+#endif
+
+/* Use the system's setlocale() function, not the gnulib override, here. */
+#undef setlocale
+
+const char *
+setlocale_null_unlocked (int category)
+{
+ const char *result = setlocale (category, NULL);
+
+#ifdef __ANDROID__
+ if (result == NULL)
+ switch (category)
+ {
+ case LC_CTYPE:
+ case LC_NUMERIC:
+ case LC_TIME:
+ case LC_COLLATE:
+ case LC_MONETARY:
+ case LC_MESSAGES:
+ case LC_ALL:
+ case LC_PAPER:
+ case LC_NAME:
+ case LC_ADDRESS:
+ case LC_TELEPHONE:
+ case LC_MEASUREMENT:
+ result = "C";
+ break;
+ default:
+ break;
+ }
+#endif
+
+ return result;
+}
+
+int
+setlocale_null_r_unlocked (int category, char *buf, size_t bufsize)
+{
+#if defined _WIN32 && !defined __CYGWIN__ && defined _MSC_VER
+ /* On native Windows, nowadays, the setlocale() implementation is based
+ on _wsetlocale() and uses malloc() for the result. We are better off
+ using _wsetlocale() directly. */
+ const wchar_t *result = _wsetlocale (category, NULL);
+
+ if (result == NULL)
+ {
+ /* CATEGORY is invalid. */
+ if (bufsize > 0)
+ /* Return an empty string in BUF.
+ This is a convenience for callers that don't want to write explicit
+ code for handling EINVAL. */
+ buf[0] = '\0';
+ return EINVAL;
+ }
+ else
+ {
+ size_t length = wcslen (result);
+ if (length < bufsize)
+ {
+ size_t i;
+
+ /* Convert wchar_t[] -> char[], assuming plain ASCII. */
+ for (i = 0; i <= length; i++)
+ buf[i] = result[i];
+
+ return 0;
+ }
+ else
+ {
+ if (bufsize > 0)
+ {
+ /* Return a truncated result in BUF.
+ This is a convenience for callers that don't want to write
+ explicit code for handling ERANGE. */
+ size_t i;
+
+ /* Convert wchar_t[] -> char[], assuming plain ASCII. */
+ for (i = 0; i < bufsize; i++)
+ buf[i] = result[i];
+ buf[bufsize - 1] = '\0';
+ }
+ return ERANGE;
+ }
+ }
+#else
+ const char *result = setlocale_null_unlocked (category);
+
+ if (result == NULL)
+ {
+ /* CATEGORY is invalid. */
+ if (bufsize > 0)
+ /* Return an empty string in BUF.
+ This is a convenience for callers that don't want to write explicit
+ code for handling EINVAL. */
+ buf[0] = '\0';
+ return EINVAL;
+ }
+ else
+ {
+ size_t length = strlen (result);
+ if (length < bufsize)
+ {
+ memcpy (buf, result, length + 1);
+ return 0;
+ }
+ else
+ {
+ if (bufsize > 0)
+ {
+ /* Return a truncated result in BUF.
+ This is a convenience for callers that don't want to write
+ explicit code for handling ERANGE. */
+ memcpy (buf, result, bufsize - 1);
+ buf[bufsize - 1] = '\0';
+ }
+ return ERANGE;
+ }
+ }
+#endif
+}
diff --git a/lib/setlocale_null.c b/lib/setlocale_null.c
index 778429b9..5ecf413d 100644
--- a/lib/setlocale_null.c
+++ b/lib/setlocale_null.c
@@ -1,5 +1,5 @@
/* Query the name of the current global locale.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -25,12 +25,14 @@
#include <locale.h>
#include <stdlib.h>
#include <string.h>
-#if defined _WIN32 && !defined __CYGWIN__
-# include <wchar.h>
-#endif
#if !(SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE)
-# if defined _WIN32 && !defined __CYGWIN__
+
+# if AVOID_ANY_THREADS
+
+/* The option '--disable-threads' explicitly requests no locking. */
+
+# elif defined _WIN32 && !defined __CYGWIN__
# define WIN32_LEAN_AND_MEAN /* avoid including junk */
# include <windows.h>
@@ -51,154 +53,40 @@
# include <threads.h>
# endif
-#endif
-/* Use the system's setlocale() function, not the gnulib override, here. */
-#undef setlocale
-
-static const char *
-setlocale_null_androidfix (int category)
-{
- const char *result = setlocale (category, NULL);
-
-#ifdef __ANDROID__
- if (result == NULL)
- switch (category)
- {
- case LC_CTYPE:
- case LC_NUMERIC:
- case LC_TIME:
- case LC_COLLATE:
- case LC_MONETARY:
- case LC_MESSAGES:
- case LC_ALL:
- case LC_PAPER:
- case LC_NAME:
- case LC_ADDRESS:
- case LC_TELEPHONE:
- case LC_MEASUREMENT:
- result = "C";
- break;
- default:
- break;
- }
#endif
- return result;
-}
-
-static int
-setlocale_null_unlocked (int category, char *buf, size_t bufsize)
-{
-#if defined _WIN32 && !defined __CYGWIN__ && defined _MSC_VER
- /* On native Windows, nowadays, the setlocale() implementation is based
- on _wsetlocale() and uses malloc() for the result. We are better off
- using _wsetlocale() directly. */
- const wchar_t *result = _wsetlocale (category, NULL);
-
- if (result == NULL)
- {
- /* CATEGORY is invalid. */
- if (bufsize > 0)
- /* Return an empty string in BUF.
- This is a convenience for callers that don't want to write explicit
- code for handling EINVAL. */
- buf[0] = '\0';
- return EINVAL;
- }
- else
- {
- size_t length = wcslen (result);
- if (length < bufsize)
- {
- size_t i;
-
- /* Convert wchar_t[] -> char[], assuming plain ASCII. */
- for (i = 0; i <= length; i++)
- buf[i] = result[i];
+#if !(SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE) /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin < 3.4.6 */
- return 0;
- }
- else
- {
- if (bufsize > 0)
- {
- /* Return a truncated result in BUF.
- This is a convenience for callers that don't want to write
- explicit code for handling ERANGE. */
- size_t i;
-
- /* Convert wchar_t[] -> char[], assuming plain ASCII. */
- for (i = 0; i < bufsize; i++)
- buf[i] = result[i];
- buf[bufsize - 1] = '\0';
- }
- return ERANGE;
- }
- }
-#else
- const char *result = setlocale_null_androidfix (category);
-
- if (result == NULL)
- {
- /* CATEGORY is invalid. */
- if (bufsize > 0)
- /* Return an empty string in BUF.
- This is a convenience for callers that don't want to write explicit
- code for handling EINVAL. */
- buf[0] = '\0';
- return EINVAL;
- }
- else
- {
- size_t length = strlen (result);
- if (length < bufsize)
- {
- memcpy (buf, result, length + 1);
- return 0;
- }
- else
- {
- if (bufsize > 0)
- {
- /* Return a truncated result in BUF.
- This is a convenience for callers that don't want to write
- explicit code for handling ERANGE. */
- memcpy (buf, result, bufsize - 1);
- buf[bufsize - 1] = '\0';
- }
- return ERANGE;
- }
- }
-#endif
-}
-
-#if !(SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE) /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin */
-
-/* Use a lock, so that no two threads can invoke setlocale_null_unlocked
+/* Use a lock, so that no two threads can invoke setlocale_null_r_unlocked
at the same time. */
/* Prohibit renaming this symbol. */
# undef gl_get_setlocale_null_lock
-# if defined _WIN32 && !defined __CYGWIN__
+# if AVOID_ANY_THREADS
+
+/* The option '--disable-threads' explicitly requests no locking. */
+# define setlocale_null_r_with_lock setlocale_null_r_unlocked
+
+# elif defined _WIN32 && !defined __CYGWIN__
extern __declspec(dllimport) CRITICAL_SECTION *gl_get_setlocale_null_lock (void);
static int
-setlocale_null_with_lock (int category, char *buf, size_t bufsize)
+setlocale_null_r_with_lock (int category, char *buf, size_t bufsize)
{
CRITICAL_SECTION *lock = gl_get_setlocale_null_lock ();
int ret;
EnterCriticalSection (lock);
- ret = setlocale_null_unlocked (category, buf, bufsize);
+ ret = setlocale_null_r_unlocked (category, buf, bufsize);
LeaveCriticalSection (lock);
return ret;
}
-# elif HAVE_PTHREAD_API /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin */
+# elif HAVE_PTHREAD_API /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin < 3.4.6 */
extern
# if defined _WIN32 || defined __CYGWIN__
@@ -223,7 +111,7 @@ extern
# endif
static int
-setlocale_null_with_lock (int category, char *buf, size_t bufsize)
+setlocale_null_r_with_lock (int category, char *buf, size_t bufsize)
{
if (pthread_in_use())
{
@@ -232,14 +120,14 @@ setlocale_null_with_lock (int category, char *buf, size_t bufsize)
if (pthread_mutex_lock (lock))
abort ();
- ret = setlocale_null_unlocked (category, buf, bufsize);
+ ret = setlocale_null_r_unlocked (category, buf, bufsize);
if (pthread_mutex_unlock (lock))
abort ();
return ret;
}
else
- return setlocale_null_unlocked (category, buf, bufsize);
+ return setlocale_null_r_unlocked (category, buf, bufsize);
}
# elif HAVE_THREADS_H
@@ -247,14 +135,14 @@ setlocale_null_with_lock (int category, char *buf, size_t bufsize)
extern mtx_t *gl_get_setlocale_null_lock (void);
static int
-setlocale_null_with_lock (int category, char *buf, size_t bufsize)
+setlocale_null_r_with_lock (int category, char *buf, size_t bufsize)
{
mtx_t *lock = gl_get_setlocale_null_lock ();
int ret;
if (mtx_lock (lock) != thrd_success)
abort ();
- ret = setlocale_null_unlocked (category, buf, bufsize);
+ ret = setlocale_null_r_unlocked (category, buf, bufsize);
if (mtx_unlock (lock) != thrd_success)
abort ();
@@ -271,27 +159,27 @@ setlocale_null_r (int category, char *buf, size_t bufsize)
#if SETLOCALE_NULL_ALL_MTSAFE
# if SETLOCALE_NULL_ONE_MTSAFE
- return setlocale_null_unlocked (category, buf, bufsize);
+ return setlocale_null_r_unlocked (category, buf, bufsize);
# else
if (category == LC_ALL)
- return setlocale_null_unlocked (category, buf, bufsize);
+ return setlocale_null_r_unlocked (category, buf, bufsize);
else
- return setlocale_null_with_lock (category, buf, bufsize);
+ return setlocale_null_r_with_lock (category, buf, bufsize);
# endif
#else
# if SETLOCALE_NULL_ONE_MTSAFE
if (category == LC_ALL)
- return setlocale_null_with_lock (category, buf, bufsize);
+ return setlocale_null_r_with_lock (category, buf, bufsize);
else
- return setlocale_null_unlocked (category, buf, bufsize);
+ return setlocale_null_r_unlocked (category, buf, bufsize);
# else
- return setlocale_null_with_lock (category, buf, bufsize);
+ return setlocale_null_r_with_lock (category, buf, bufsize);
# endif
#endif
@@ -301,7 +189,7 @@ const char *
setlocale_null (int category)
{
#if SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE
- return setlocale_null_androidfix (category);
+ return setlocale_null_unlocked (category);
#else
/* This call must be multithread-safe. To achieve this without using
@@ -317,7 +205,7 @@ setlocale_null (int category)
if (category == LC_ALL)
{
# if SETLOCALE_NULL_ALL_MTSAFE
- return setlocale_null_androidfix (LC_ALL);
+ return setlocale_null_unlocked (LC_ALL);
# else
char buf[SETLOCALE_NULL_ALL_MAX];
static char resultbuf[SETLOCALE_NULL_ALL_MAX];
@@ -331,7 +219,7 @@ setlocale_null (int category)
else
{
# if SETLOCALE_NULL_ONE_MTSAFE
- return setlocale_null_androidfix (category);
+ return setlocale_null_unlocked (category);
# else
enum
{
diff --git a/lib/setlocale_null.h b/lib/setlocale_null.h
index d1921b09..966c53cf 100644
--- a/lib/setlocale_null.h
+++ b/lib/setlocale_null.h
@@ -1,5 +1,5 @@
/* Query the name of the current global locale.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -44,6 +44,34 @@ extern "C" {
55+5*58. */
#define SETLOCALE_NULL_ALL_MAX (148+12*256+1)
+/* setlocale_null_r_unlocked (CATEGORY, BUF, BUFSIZE) is like
+ setlocale (CATEGORY, NULL), except that
+ - it returns the resulting locale category name or locale name in the
+ user-supplied buffer BUF, which must be BUFSIZE bytes long.
+ The recommended minimum buffer size is
+ - SETLOCALE_NULL_MAX for CATEGORY != LC_ALL, and
+ - SETLOCALE_NULL_ALL_MAX for CATEGORY == LC_ALL.
+ The return value is an error code: 0 if the call is successful, EINVAL if
+ CATEGORY is invalid, or ERANGE if BUFSIZE is smaller than the length needed
+ size (including the trailing NUL byte). In the latter case, a truncated
+ result is returned in BUF, but still NUL-terminated if BUFSIZE > 0.
+ This call is guaranteed to be multithread-safe only if
+ - CATEGORY != LC_ALL and SETLOCALE_NULL_ONE_MTSAFE is true, or
+ - CATEGORY == LC_ALL and SETLOCALE_NULL_ALL_MTSAFE is true,
+ and the other threads must not make other setlocale invocations (since
+ changing the global locale has side effects on all threads). */
+extern int setlocale_null_r_unlocked (int category, char *buf, size_t bufsize)
+ _GL_ARG_NONNULL ((2));
+
+/* setlocale_null_unlocked (CATEGORY) is like setlocale (CATEGORY, NULL).
+ The return value is NULL if CATEGORY is invalid.
+ This call is guaranteed to be multithread-safe only if
+ - CATEGORY != LC_ALL and SETLOCALE_NULL_ONE_MTSAFE is true, or
+ - CATEGORY == LC_ALL and SETLOCALE_NULL_ALL_MTSAFE is true,
+ and the other threads must not make other setlocale invocations (since
+ changing the global locale has side effects on all threads). */
+extern const char *setlocale_null_unlocked (int category);
+
/* setlocale_null_r (CATEGORY, BUF, BUFSIZE) is like setlocale (CATEGORY, NULL),
except that
- it is guaranteed to be multithread-safe,
diff --git a/lib/signbitd.c b/lib/signbitd.c
index 776dd732..d662192a 100644
--- a/lib/signbitd.c
+++ b/lib/signbitd.c
@@ -1,5 +1,5 @@
/* signbit() macro: Determine the sign bit of a floating-point number.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/signbitf.c b/lib/signbitf.c
index 0adf0011..f24caf4a 100644
--- a/lib/signbitf.c
+++ b/lib/signbitf.c
@@ -1,5 +1,5 @@
/* signbit() macro: Determine the sign bit of a floating-point number.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/signbitl.c b/lib/signbitl.c
index 865d2765..164b89ac 100644
--- a/lib/signbitl.c
+++ b/lib/signbitl.c
@@ -1,5 +1,5 @@
/* signbit() macro: Determine the sign bit of a floating-point number.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/size_max.h b/lib/size_max.h
index dee2b8ee..bd2eb43e 100644
--- a/lib/size_max.h
+++ b/lib/size_max.h
@@ -1,5 +1,5 @@
/* size_max.h -- declare SIZE_MAX through system headers
- Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2024 Free Software Foundation, Inc.
Written by Simon Josefsson.
This file is free software: you can redistribute it and/or modify
@@ -18,6 +18,11 @@
#ifndef GNULIB_SIZE_MAX_H
#define GNULIB_SIZE_MAX_H
+/* This file uses HAVE_STDINT_H. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get SIZE_MAX declaration on systems like Solaris 7/8/9. */
# include <limits.h>
/* Get SIZE_MAX declaration on systems like glibc 2. */
diff --git a/lib/stdckdint.in.h b/lib/stdckdint.in.h
index 762d3fdb..91848806 100644
--- a/lib/stdckdint.in.h
+++ b/lib/stdckdint.in.h
@@ -1,6 +1,6 @@
/* stdckdint.h -- checked integer arithmetic
- Copyright 2022 Free Software Foundation, Inc.
+ Copyright 2022-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/lib/stddef.in.h b/lib/stddef.in.h
index 5c9a747d..fa8998d9 100644
--- a/lib/stddef.in.h
+++ b/lib/stddef.in.h
@@ -1,6 +1,6 @@
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,7 +18,7 @@
/* Written by Eric Blake. */
/*
- * POSIX 2008 <stddef.h> for platforms that have issues.
+ * POSIX 2008 and ISO C 23 <stddef.h> for platforms that have issues.
* <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html>
*/
@@ -37,9 +37,9 @@
remember if special invocation has ever been used to obtain wint_t,
in which case we need to clean up NULL yet again. */
-# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
+# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _@GUARD_PREFIX@_STDDEF_WINT_T)
# ifdef __need_wint_t
-# define _GL_STDDEF_WINT_T
+# define _@GUARD_PREFIX@_STDDEF_WINT_T
# endif
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
/* On TinyCC, make sure that the macros that indicate the special invocation
@@ -58,7 +58,7 @@
/* On AIX 7.2, with xlc in 64-bit mode, <stddef.h> defines max_align_t to a
type with alignment 4, but 'long' has alignment 8. */
-# if defined _AIX && defined __LP64__
+# if defined _AIX && defined __LP64__ && !@HAVE_MAX_ALIGN_T@
# if !GNULIB_defined_max_align_t
# ifdef _MAX_ALIGN_T
/* /usr/include/stddef.h has already defined max_align_t. Override it. */
@@ -69,6 +69,7 @@ typedef long rpl_max_align_t;
typedef long max_align_t;
# define _MAX_ALIGN_T
# endif
+# define __CLANG_MAX_ALIGN_T_DEFINED
# define GNULIB_defined_max_align_t 1
# endif
# endif
@@ -79,7 +80,7 @@ typedef long max_align_t;
/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */
# if (@REPLACE_NULL@ \
- && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T))
+ && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _@GUARD_PREFIX@_STDDEF_WINT_T))
# undef NULL
# ifdef __cplusplus
/* ISO C++ says that the macro NULL must expand to an integer constant
@@ -100,6 +101,33 @@ typedef long max_align_t;
# ifndef _@GUARD_PREFIX@_STDDEF_H
# define _@GUARD_PREFIX@_STDDEF_H
+/* This file uses _Noreturn, _GL_ATTRIBUTE_NOTHROW. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
+#endif
+
/* Some platforms lack wchar_t. */
#if !@HAVE_WCHAR_T@
# define wchar_t int
@@ -137,11 +165,49 @@ typedef union
long int __i _GL_STDDEF_ALIGNAS (long int);
} rpl_max_align_t;
# define max_align_t rpl_max_align_t
+# define __CLANG_MAX_ALIGN_T_DEFINED
# define GNULIB_defined_max_align_t 1
# endif
# endif
#endif
+/* ISO C 23 § 7.21.1 The unreachable macro */
+#ifndef unreachable
+
+/* Code borrowed from verify.h. */
+# ifndef _GL_HAS_BUILTIN_UNREACHABLE
+# if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+# define _GL_HAS_BUILTIN_UNREACHABLE 1
+# elif defined __has_builtin
+# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+# else
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# endif
+# endif
+
+# if _GL_HAS_BUILTIN_UNREACHABLE
+# define unreachable() __builtin_unreachable ()
+# elif 1200 <= _MSC_VER
+# define unreachable() __assume (0)
+# else
+/* Declare abort(), without including <stdlib.h>. */
+extern
+# if defined __cplusplus
+"C"
+# endif
+_Noreturn
+void abort (void)
+# if defined __cplusplus && (__GLIBC__ >= 2)
+_GL_ATTRIBUTE_NOTHROW
+# endif
+;
+# define unreachable() abort ()
+# endif
+
+#endif
+
# endif /* _@GUARD_PREFIX@_STDDEF_H */
# endif /* _@GUARD_PREFIX@_STDDEF_H */
#endif /* __need_XXX */
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
index eaa7874f..fea7483b 100644
--- a/lib/stdint.in.h
+++ b/lib/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2024 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
@@ -306,6 +306,8 @@ typedef gl_uint_fast32_t gl_uint_fast16_t;
uintptr_t to avoid conflicting declarations of system functions like
_findclose in <io.h>. */
# if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \
+ || (defined __INTPTR_WIDTH__ \
+ && __INTPTR_WIDTH__ != (defined _WIN64 ? LLONG_WIDTH : LONG_WIDTH)) \
|| defined __MINGW32__)
# undef intptr_t
# undef uintptr_t
diff --git a/lib/stdio-impl.h b/lib/stdio-impl.h
index ed32e698..63ebf7c6 100644
--- a/lib/stdio-impl.h
+++ b/lib/stdio-impl.h
@@ -1,5 +1,5 @@
/* Implementation details of FILE streams.
- Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2008, 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -71,6 +71,12 @@
# else
# define _gl_flags_file_t short
# endif
+# ifdef __LP64__
+# define _gl_file_offset_t int64_t
+# else
+ /* see https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md */
+# define _gl_file_offset_t __kernel_off_t
+# endif
/* Up to this commit from 2015-10-12
<https://android.googlesource.com/platform/bionic.git/+/f0141dfab10a4b332769d52fa76631a64741297a>
the innards of FILE were public, and fp_ub could be defined like for OpenBSD,
@@ -96,7 +102,7 @@
unsigned char _nbuf[1]; \
struct { unsigned char *_base; size_t _size; } _lb; \
int _blksize; \
- fpos_t _offset; \
+ _gl_file_offset_t _offset; \
/* More fields, not relevant here. */ \
} *) fp)
# else
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index 8e0a609f..e74e7c18 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdlib.h>.
- Copyright (C) 1995, 2001-2004, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2004, 2006-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -37,6 +37,13 @@
#ifndef _@GUARD_PREFIX@_STDLIB_H
#define _@GUARD_PREFIX@_STDLIB_H
+/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. */
#include <stddef.h>
@@ -67,9 +74,7 @@
# include <random.h>
# endif
-# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
-# include <stdint.h>
-# endif
+# include <stdint.h>
# if !@HAVE_STRUCT_RANDOM_DATA@
/* Define 'struct random_data'.
@@ -128,6 +133,28 @@ struct random_data
# endif
#endif
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
+#endif
+
/* The __attribute__ feature is available in gcc versions 2.5 and later.
The attribute __pure__ was added in gcc 2.96. */
#ifndef _GL_ATTRIBUTE_PURE
@@ -164,11 +191,22 @@ struct random_data
#if @GNULIB__EXIT@
/* Terminate the current process with the given return code, without running
the 'atexit' handlers. */
-# if !@HAVE__EXIT@
+# if @REPLACE__EXIT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef _Exit
+# define _Exit rpl__Exit
+# endif
+_GL_FUNCDECL_RPL (_Exit, _Noreturn void, (int status));
+_GL_CXXALIAS_RPL (_Exit, void, (int status));
+# else
+# if !@HAVE__EXIT@
_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
-# endif
+# endif
_GL_CXXALIAS_SYS (_Exit, void, (int status));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (_Exit);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef _Exit
# if HAVE_RAW_DECL__EXIT
@@ -185,7 +223,7 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
# define free rpl_free
# endif
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
-_GL_FUNCDECL_RPL (free, void, (void *ptr) throw ());
+_GL_FUNCDECL_RPL (free, void, (void *ptr) _GL_ATTRIBUTE_NOTHROW);
# else
_GL_FUNCDECL_RPL (free, void, (void *ptr));
# endif
@@ -219,9 +257,16 @@ _GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size));
# if @HAVE_ALIGNED_ALLOC@
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+ (size_t alignment, size_t size)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
_GL_FUNCDECL_SYS (aligned_alloc, void *,
(size_t alignment, size_t size)
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size));
# endif
@@ -232,9 +277,16 @@ _GL_CXXALIASWARN (aligned_alloc);
#else
# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined aligned_alloc
/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
_GL_FUNCDECL_SYS (aligned_alloc, void *,
(size_t alignment, size_t size)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+ (size_t alignment, size_t size)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef aligned_alloc
@@ -277,9 +329,16 @@ _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
# else
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
_GL_FUNCDECL_SYS (calloc, void *,
(size_t nmemb, size_t size)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (calloc, void *,
+ (size_t nmemb, size_t size)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
# endif
@@ -289,9 +348,16 @@ _GL_CXXALIASWARN (calloc);
#else
# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc
/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (calloc, void *,
+ (size_t nmemb, size_t size)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
_GL_FUNCDECL_SYS (calloc, void *,
(size_t nmemb, size_t size)
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef calloc
@@ -313,10 +379,18 @@ _GL_FUNCDECL_RPL (canonicalize_file_name, char *,
_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
# else
# if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
(const char *name)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ARG_NONNULL ((1))
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+ (const char *name)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
# endif
@@ -329,10 +403,18 @@ _GL_CXXALIASWARN (canonicalize_file_name);
# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined canonicalize_file_name
/* For -Wmismatched-dealloc: Associate canonicalize_file_name with free or
rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
(const char *name)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ARG_NONNULL ((1))
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+ (const char *name)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef canonicalize_file_name
@@ -416,12 +498,24 @@ _GL_CXXALIASWARN (gcvt);
The three numbers are the load average of the last 1 minute, the last 5
minutes, and the last 15 minutes, respectively.
LOADAVG is an array of NELEM numbers. */
-# if !@HAVE_DECL_GETLOADAVG@
+# if @REPLACE_GETLOADAVG@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getloadavg
+# define getloadavg rpl_getloadavg
+# endif
+_GL_FUNCDECL_RPL (getloadavg, int, (double loadavg[], int nelem)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getloadavg, int, (double loadavg[], int nelem));
+# else
+# if !@HAVE_DECL_GETLOADAVG@
_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getloadavg);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getloadavg
# if HAVE_RAW_DECL_GETLOADAVG
@@ -430,6 +524,41 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
# endif
#endif
+#if @GNULIB_GETPROGNAME@
+/* Return the base name of the executing program.
+ On native Windows this will usually end in ".exe" or ".EXE". */
+# if @REPLACE_GETPROGNAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getprogname
+# define getprogname rpl_getprogname
+# endif
+# if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+_GL_FUNCDECL_RPL (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
+# else
+_GL_FUNCDECL_RPL (getprogname, const char *, (void));
+# endif
+_GL_CXXALIAS_RPL (getprogname, const char *, (void));
+# else
+# if !@HAVE_GETPROGNAME@
+# if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+_GL_FUNCDECL_SYS (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
+# else
+_GL_FUNCDECL_SYS (getprogname, const char *, (void));
+# endif
+# endif
+_GL_CXXALIAS_SYS (getprogname, const char *, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getprogname);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getprogname
+# if HAVE_RAW_DECL_GETPROGNAME
+_GL_WARN_ON_USE (getprogname, "getprogname is unportable - "
+ "use gnulib module getprogname for portability");
+# endif
+#endif
+
#if @GNULIB_GETSUBOPT@
/* Assuming *OPTIONP is a comma separated list of elements of the form
"token" or "token=value", getsubopt parses the first of these elements.
@@ -442,14 +571,28 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
For more details see the POSIX specification.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */
-# if !@HAVE_GETSUBOPT@
+# if @REPLACE_GETSUBOPT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getsubopt
+# define getsubopt rpl_getsubopt
+# endif
+_GL_FUNCDECL_RPL (getsubopt, int,
+ (char **optionp, char *const *tokens, char **valuep)
+ _GL_ARG_NONNULL ((1, 2, 3)));
+_GL_CXXALIAS_RPL (getsubopt, int,
+ (char **optionp, char *const *tokens, char **valuep));
+# else
+# if !@HAVE_GETSUBOPT@
_GL_FUNCDECL_SYS (getsubopt, int,
(char **optionp, char *const *tokens, char **valuep)
_GL_ARG_NONNULL ((1, 2, 3)));
-# endif
+# endif
_GL_CXXALIAS_SYS (getsubopt, int,
(char **optionp, char *const *tokens, char **valuep));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getsubopt);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getsubopt
# if HAVE_RAW_DECL_GETSUBOPT
@@ -493,9 +636,16 @@ _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
# else
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
_GL_FUNCDECL_SYS (malloc, void *,
(size_t size)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (malloc, void *,
+ (size_t size)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
# endif
@@ -505,9 +655,16 @@ _GL_CXXALIASWARN (malloc);
#else
# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc
/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (malloc, void *,
+ (size_t size)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
_GL_FUNCDECL_SYS (malloc, void *,
(size_t size)
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
# undef malloc
@@ -517,6 +674,51 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
# endif
#endif
+/* Return maximum number of bytes of a multibyte character. */
+#if @REPLACE_MB_CUR_MAX@
+# if !GNULIB_defined_MB_CUR_MAX
+static inline
+int gl_MB_CUR_MAX (void)
+{
+ /* Turn the value 3 to the value 4, as needed for the UTF-8 encoding. */
+ return MB_CUR_MAX + (MB_CUR_MAX == 3);
+}
+# undef MB_CUR_MAX
+# define MB_CUR_MAX gl_MB_CUR_MAX ()
+# define GNULIB_defined_MB_CUR_MAX 1
+# endif
+#endif
+
+/* Convert a string to a wide string. */
+#if @GNULIB_MBSTOWCS@
+# if @REPLACE_MBSTOWCS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbstowcs
+# define mbstowcs rpl_mbstowcs
+# endif
+_GL_FUNCDECL_RPL (mbstowcs, size_t,
+ (wchar_t *restrict dest, const char *restrict src,
+ size_t len)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbstowcs, size_t,
+ (wchar_t *restrict dest, const char *restrict src,
+ size_t len));
+# else
+_GL_CXXALIAS_SYS (mbstowcs, size_t,
+ (wchar_t *restrict dest, const char *restrict src,
+ size_t len));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbstowcs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbstowcs
+# if HAVE_RAW_DECL_MBSTOWCS
+_GL_WARN_ON_USE (mbstowcs, "mbstowcs is unportable - "
+ "use gnulib module mbstowcs for portability");
+# endif
+#endif
+
/* Convert a multibyte character to a wide character. */
#if @GNULIB_MBTOWC@
# if @REPLACE_MBTOWC@
@@ -579,12 +781,24 @@ _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
implementation.
Returns the open file descriptor if successful, otherwise -1 and errno
set. */
-# if !@HAVE_MKOSTEMP@
+# if @REPLACE_MKOSTEMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mkostemp
+# define mkostemp rpl_mkostemp
+# endif
+_GL_FUNCDECL_RPL (mkostemp, int, (char * /*template*/, int /*flags*/)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkostemp, int, (char * /*template*/, int /*flags*/));
+# else
+# if !@HAVE_MKOSTEMP@
_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mkostemp);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef mkostemp
# if HAVE_RAW_DECL_MKOSTEMP
@@ -607,14 +821,28 @@ _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
implementation.
Returns the open file descriptor if successful, otherwise -1 and errno
set. */
-# if !@HAVE_MKOSTEMPS@
+# if @REPLACE_MKOSTEMPS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mkostemps
+# define mkostemps rpl_mkostemps
+# endif
+_GL_FUNCDECL_RPL (mkostemps, int,
+ (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkostemps, int,
+ (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+# else
+# if !@HAVE_MKOSTEMPS@
_GL_FUNCDECL_SYS (mkostemps, int,
(char * /*template*/, int /*suffixlen*/, int /*flags*/)
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (mkostemps, int,
(char * /*template*/, int /*suffixlen*/, int /*flags*/));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mkostemps);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef mkostemps
# if HAVE_RAW_DECL_MKOSTEMPS
@@ -713,7 +941,7 @@ _GL_CXXALIAS_SYS (posix_memalign, int,
(void **memptr, size_t alignment, size_t size));
# endif
# endif
-# if @HAVE_POSIX_MEMALIGN@
+# if __GLIBC__ >= 2 && @HAVE_POSIX_MEMALIGN@
_GL_CXXALIASWARN (posix_memalign);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -727,11 +955,22 @@ _GL_WARN_ON_USE (posix_memalign, "posix_memalign is not portable - "
#if @GNULIB_POSIX_OPENPT@
/* Return an FD open to the master side of a pseudo-terminal. Flags should
include O_RDWR, and may also include O_NOCTTY. */
-# if !@HAVE_POSIX_OPENPT@
+# if @REPLACE_POSIX_OPENPT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef posix_openpt
+# define posix_openpt rpl_posix_openpt
+# endif
+_GL_FUNCDECL_RPL (posix_openpt, int, (int flags));
+_GL_CXXALIAS_RPL (posix_openpt, int, (int flags));
+# else
+# if !@HAVE_POSIX_OPENPT@
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
-# endif
+# endif
_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (posix_openpt);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef posix_openpt
# if HAVE_RAW_DECL_POSIX_OPENPT
@@ -808,6 +1047,10 @@ _GL_CXXALIAS_RPL (putenv, int, (char *string));
# define putenv _putenv
# endif
_GL_CXXALIAS_MDA (putenv, int, (char *string));
+# elif defined __KLIBC__
+/* Need to cast, because on OS/2 kLIBC, the first parameter is
+ const char *string. */
+_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string));
# else
_GL_CXXALIAS_SYS (putenv, int, (char *string));
# endif
@@ -824,6 +1067,10 @@ _GL_CXXALIASWARN (putenv);
/* Need to cast, because on mingw, the parameter is either
'const char *string' or 'char *string'. */
_GL_CXXALIAS_MDA_CAST (putenv, int, (char *string));
+# elif defined __KLIBC__
+/* Need to cast, because on OS/2 kLIBC, the first parameter is
+ const char *string. */
+_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string));
# else
_GL_CXXALIAS_SYS (putenv, int, (char *string));
# endif
@@ -865,7 +1112,9 @@ _GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
_gl_qsort_r_compar_fn compare,
void *arg));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (qsort_r);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef qsort_r
# if HAVE_RAW_DECL_QSORT_R
@@ -875,11 +1124,26 @@ _GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
#endif
-#if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
-# ifndef RAND_MAX
-# define RAND_MAX 2147483647
+#if @GNULIB_RAND@ || (@GNULIB_RANDOM_R@ && !@HAVE_RANDOM_R@)
+# ifndef RAND_MAX
+# define RAND_MAX 2147483647
+# endif
+#endif
+
+
+#if @GNULIB_RAND@
+# if @REPLACE_RAND@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef rand
+# define rand rpl_rand
# endif
+_GL_FUNCDECL_RPL (rand, int, (void));
+_GL_CXXALIAS_RPL (rand, int, (void));
+# else
+_GL_CXXALIAS_SYS (rand, int, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (rand);
# endif
#endif
@@ -900,7 +1164,9 @@ _GL_FUNCDECL_SYS (random, long, (void));
int. */
_GL_CXXALIAS_SYS_CAST (random, long, (void));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (random);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef random
# if HAVE_RAW_DECL_RANDOM
@@ -925,7 +1191,9 @@ _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
unsigned long seed. */
_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (srandom);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef srandom
# if HAVE_RAW_DECL_SRANDOM
@@ -956,7 +1224,9 @@ _GL_FUNCDECL_SYS (initstate, char *,
_GL_CXXALIAS_SYS_CAST (initstate, char *,
(unsigned int seed, char *buf, size_t buf_size));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (initstate);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef initstate
# if HAVE_RAW_DECL_INITSTATE
@@ -981,7 +1251,9 @@ _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
is const char *arg_state. */
_GL_CXXALIAS_SYS_CAST (setstate, char *, (char *arg_state));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (setstate);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef setstate
# if HAVE_RAW_DECL_SETSTATE
@@ -1126,8 +1398,16 @@ _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
# else
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */
-_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size)
- _GL_ATTRIBUTE_DEALLOC_FREE);
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (realloc, void *,
+ (void *ptr, size_t size)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (realloc, void *,
+ (void *ptr, size_t size)
+ _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
# endif
@@ -1137,8 +1417,16 @@ _GL_CXXALIASWARN (realloc);
#else
# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc
/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */
-_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size)
- _GL_ATTRIBUTE_DEALLOC_FREE);
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (realloc, void *,
+ (void *ptr, size_t size)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (realloc, void *,
+ (void *ptr, size_t size)
+ _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
# undef realloc
@@ -1167,7 +1455,9 @@ _GL_FUNCDECL_SYS (reallocarray, void *,
_GL_CXXALIAS_SYS (reallocarray, void *,
(void *ptr, size_t nmemb, size_t size));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (reallocarray);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef reallocarray
# if HAVE_RAW_DECL_REALLOCARRAY
@@ -1301,6 +1591,38 @@ _GL_WARN_ON_USE (strtod, "strtod is unportable - "
# endif
#endif
+#if @GNULIB_STRTOF@
+ /* Parse a float from STRING, updating ENDP if appropriate. */
+# if @REPLACE_STRTOF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strtof rpl_strtof
+# endif
+# define GNULIB_defined_strtof_function 1
+_GL_FUNCDECL_RPL (strtof, float,
+ (const char *restrict str, char **restrict endp)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtof, float,
+ (const char *restrict str, char **restrict endp));
+# else
+# if !@HAVE_STRTOF@
+_GL_FUNCDECL_SYS (strtof, float,
+ (const char *restrict str, char **restrict endp)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtof, float,
+ (const char *restrict str, char **restrict endp));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtof);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtof
+# if HAVE_RAW_DECL_STRTOF
+_GL_WARN_ON_USE (strtof, "strtof is unportable - "
+ "use gnulib module strtof for portability");
+# endif
+#endif
+
#if @GNULIB_STRTOLD@
/* Parse a 'long double' from STRING, updating ENDP if appropriate. */
# if @REPLACE_STRTOLD@
diff --git a/lib/str-kmp.h b/lib/str-kmp.h
deleted file mode 100644
index 959ff65a..00000000
--- a/lib/str-kmp.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/* Substring search in a NUL terminated string of UNIT elements,
- using the Knuth-Morris-Pratt algorithm.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2005.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file 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 and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Before including this file, you need to define:
- UNIT The element type of the needle and haystack.
- CANON_ELEMENT(c) A macro that canonicalizes an element right after
- it has been fetched from needle or haystack.
- The argument is of type UNIT; the result must be
- of type UNIT as well. */
-
-/* Knuth-Morris-Pratt algorithm.
- See https://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm
- HAYSTACK is the NUL terminated string in which to search for.
- NEEDLE is the string to search for in HAYSTACK, consisting of NEEDLE_LEN
- units.
- Return a boolean indicating success:
- Return true and set *RESULTP if the search was completed.
- Return false if it was aborted because not enough memory was available. */
-static bool
-knuth_morris_pratt (const UNIT *haystack,
- const UNIT *needle, size_t needle_len,
- const UNIT **resultp)
-{
- size_t m = needle_len;
-
- /* Allocate the table. */
- size_t *table = (size_t *) nmalloca (m, sizeof (size_t));
- if (table == NULL)
- return false;
- /* Fill the table.
- For 0 < i < m:
- 0 < table[i] <= i is defined such that
- forall 0 < x < table[i]: needle[x..i-1] != needle[0..i-1-x],
- and table[i] is as large as possible with this property.
- This implies:
- 1) For 0 < i < m:
- If table[i] < i,
- needle[table[i]..i-1] = needle[0..i-1-table[i]].
- 2) For 0 < i < m:
- rhaystack[0..i-1] == needle[0..i-1]
- and exists h, i <= h < m: rhaystack[h] != needle[h]
- implies
- forall 0 <= x < table[i]: rhaystack[x..x+m-1] != needle[0..m-1].
- table[0] remains uninitialized. */
- {
- size_t i, j;
-
- /* i = 1: Nothing to verify for x = 0. */
- table[1] = 1;
- j = 0;
-
- for (i = 2; i < m; i++)
- {
- /* Here: j = i-1 - table[i-1].
- The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold
- for x < table[i-1], by induction.
- Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */
- UNIT b = CANON_ELEMENT (needle[i - 1]);
-
- for (;;)
- {
- /* Invariants: The inequality needle[x..i-1] != needle[0..i-1-x]
- is known to hold for x < i-1-j.
- Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */
- if (b == CANON_ELEMENT (needle[j]))
- {
- /* Set table[i] := i-1-j. */
- table[i] = i - ++j;
- break;
- }
- /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds
- for x = i-1-j, because
- needle[i-1] != needle[j] = needle[i-1-x]. */
- if (j == 0)
- {
- /* The inequality holds for all possible x. */
- table[i] = i;
- break;
- }
- /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds
- for i-1-j < x < i-1-j+table[j], because for these x:
- needle[x..i-2]
- = needle[x-(i-1-j)..j-1]
- != needle[0..j-1-(x-(i-1-j))] (by definition of table[j])
- = needle[0..i-2-x],
- hence needle[x..i-1] != needle[0..i-1-x].
- Furthermore
- needle[i-1-j+table[j]..i-2]
- = needle[table[j]..j-1]
- = needle[0..j-1-table[j]] (by definition of table[j]). */
- j = j - table[j];
- }
- /* Here: j = i - table[i]. */
- }
- }
-
- /* Search, using the table to accelerate the processing. */
- {
- size_t j;
- const UNIT *rhaystack;
- const UNIT *phaystack;
-
- *resultp = NULL;
- j = 0;
- rhaystack = haystack;
- phaystack = haystack;
- /* Invariant: phaystack = rhaystack + j. */
- while (*phaystack != 0)
- if (CANON_ELEMENT (needle[j]) == CANON_ELEMENT (*phaystack))
- {
- j++;
- phaystack++;
- if (j == m)
- {
- /* The entire needle has been found. */
- *resultp = rhaystack;
- break;
- }
- }
- else if (j > 0)
- {
- /* Found a match of needle[0..j-1], mismatch at needle[j]. */
- rhaystack += table[j];
- j -= table[j];
- }
- else
- {
- /* Found a mismatch at needle[0] already. */
- rhaystack++;
- phaystack++;
- }
- }
-
- freea (table);
- return true;
-}
-
-#undef CANON_ELEMENT
diff --git a/lib/str-two-way.h b/lib/str-two-way.h
index b00017c0..cf85e268 100644
--- a/lib/str-two-way.h
+++ b/lib/str-two-way.h
@@ -1,5 +1,5 @@
/* Byte-wise substring search, using the Two-Way algorithm.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Eric Blake <ebb9@byu.net>, 2008.
diff --git a/lib/streq.h b/lib/streq.h
index 49f73c1b..12343463 100644
--- a/lib/streq.h
+++ b/lib/streq.h
@@ -1,5 +1,5 @@
/* Optimized string comparison.
- Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/striconveh.c b/lib/striconveh.c
index 01b4e327..db83a1dd 100644
--- a/lib/striconveh.c
+++ b/lib/striconveh.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2024 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This file is free software: you can redistribute it and/or modify
@@ -81,7 +81,8 @@ iconveh_open (const char *to_codeset, const char *from_codeset, iconveh_t *cdp)
if (STRCASEEQ (to_codeset, "UTF-8", 'U','T','F','-','8',0,0,0,0)
# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
|| c_strcasecmp (to_codeset, "UTF-8//TRANSLIT") == 0
# endif
)
@@ -138,11 +139,12 @@ iconveh_close (const iconveh_t *cd)
/* iconv_carefully is like iconv, except that it stops as soon as it encounters
a conversion error, and it returns in *INCREMENTED a boolean telling whether
it has incremented the input pointers past the error location. */
-# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
+# if !(defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ && !(defined __GLIBC__ && !defined __UCLIBC__)
/* Irix iconv() inserts a NUL byte if it cannot convert.
NetBSD iconv() inserts a question mark if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer to fail rather
- than doing a lossy conversion. */
+ Only GNU libiconv (excluding the bastard Apple iconv) and GNU libc are
+ known to prefer to fail rather than doing a lossy conversion. */
static size_t
iconv_carefully (iconv_t cd,
const char **inbuf, size_t *inbytesleft,
@@ -246,11 +248,12 @@ iconv_carefully_1 (iconv_t cd,
*inbuf = inptr;
*inbytesleft = inptr_end - inptr;
-# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
+# if !(defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ && !(defined __GLIBC__ && !defined __UCLIBC__)
/* Irix iconv() inserts a NUL byte if it cannot convert.
NetBSD iconv() inserts a question mark if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer to fail rather
- than doing a lossy conversion. */
+ Only GNU libiconv (excluding the bastard Apple iconv) and GNU libc are
+ known to prefer to fail rather than doing a lossy conversion. */
if (res != (size_t)(-1) && res > 0)
{
/* iconv() has already incremented INPTR. We cannot go back to a
@@ -810,7 +813,7 @@ mem_cd_iconveh_internal (const char *src, size_t srclen,
if (handler == iconveh_escape_sequence)
{
- static char hex[16] = "0123456789ABCDEF";
+ static char const hex[16] = "0123456789ABCDEF";
scratchlen = 0;
scratchbuf[scratchlen++] = '\\';
if (uc < 0x10000)
@@ -947,13 +950,15 @@ mem_cd_iconveh_internal (const char *src, size_t srclen,
}
length = out2ptr - result;
}
-# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
+# if !(defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ && !(defined __GLIBC__ && !defined __UCLIBC__)
/* IRIX iconv() inserts a NUL byte if it cannot convert.
FreeBSD iconv(), NetBSD iconv(), and Solaris 11
iconv() insert a '?' if they cannot convert.
musl libc iconv() inserts a '*' if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer
- to fail rather than doing a lossy conversion. */
+ Only GNU libiconv (excluding the bastard Apple iconv)
+ and GNU libc are known to prefer to fail rather than
+ doing a lossy conversion. */
if (res != (size_t)(-1) && res > 0)
{
errno = EILSEQ;
diff --git a/lib/striconveh.h b/lib/striconveh.h
index e152a046..dee51eb1 100644
--- a/lib/striconveh.h
+++ b/lib/striconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This file is free software: you can redistribute it and/or modify
@@ -18,6 +18,11 @@
#ifndef _STRICONVEH_H
#define _STRICONVEH_H
+/* This file uses _GL_ATTRIBUTE_MALLOC, HAVE_ICONV. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stdlib.h>
#if HAVE_ICONV
#include <iconv.h>
diff --git a/lib/striconveha.c b/lib/striconveha.c
index 66bff721..08008d8b 100644
--- a/lib/striconveha.c
+++ b/lib/striconveha.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible.
This file is free software: you can redistribute it and/or modify
@@ -88,10 +88,6 @@ uniconv_register_autodetect (const char *name,
size_t listlen;
size_t memneed;
size_t i;
- char *memory;
- struct autodetect_alias *new_alias;
- char *new_name;
- const char **new_try_in_order;
/* The TRY_IN_ORDER list must not be empty. */
if (try_in_order[0] == NULL)
@@ -108,25 +104,24 @@ uniconv_register_autodetect (const char *name,
memneed += sizeof (char *) + strlen (try_in_order[i]) + 1;
listlen = i;
- memory = (char *) malloc (memneed);
+ void *memory = malloc (memneed);
if (memory != NULL)
{
- new_alias = (struct autodetect_alias *) memory;
- memory += sizeof (struct autodetect_alias);
+ struct autodetect_alias *new_alias = memory;
+ memory = new_alias + 1;
- new_try_in_order = (const char **) memory;
- memory += (listlen + 1) * sizeof (char *);
+ char const **new_try_in_order = memory;
+ memory = new_try_in_order + listlen + 1;
- new_name = (char *) memory;
- memcpy (new_name, name, namelen);
- memory += namelen;
+ char *new_name = memcpy (memory, name, namelen);
+ memory = new_name + namelen;
for (i = 0; i < listlen; i++)
{
size_t len = strlen (try_in_order[i]) + 1;
- memcpy (memory, try_in_order[i], len);
- new_try_in_order[i] = (const char *) memory;
- memory += len;
+ char *copy = memcpy (memory, try_in_order[i], len);
+ new_try_in_order[i] = copy;
+ memory = copy + len;
}
new_try_in_order[i] = NULL;
@@ -224,16 +219,22 @@ mem_iconveha (const char *src, size_t srclen,
return 0;
}
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
+ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5 or Citrus/FreeBSD/macOS
+ iconv, we want to use transliteration. */
#if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
if (transliterate)
{
int retval;
size_t len = strlen (to_codeset);
char *to_codeset_suffixed = (char *) malloca (len + 10 + 1);
+ if (to_codeset_suffixed == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
memcpy (to_codeset_suffixed, to_codeset, len);
memcpy (to_codeset_suffixed + len, "//TRANSLIT", 10 + 1);
@@ -326,16 +327,22 @@ str_iconveha (const char *src,
return result;
}
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
+ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5 or Citrus/FreeBSD/macOS
+ iconv, we want to use transliteration. */
#if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
&& !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
+ || _LIBICONV_VERSION >= 0x0105 \
+ || defined ICONV_SET_TRANSLITERATE
if (transliterate)
{
char *result;
size_t len = strlen (to_codeset);
char *to_codeset_suffixed = (char *) malloca (len + 10 + 1);
+ if (to_codeset_suffixed == NULL)
+ {
+ errno = ENOMEM;
+ return NULL;
+ }
memcpy (to_codeset_suffixed, to_codeset, len);
memcpy (to_codeset_suffixed + len, "//TRANSLIT", 10 + 1);
diff --git a/lib/striconveha.h b/lib/striconveha.h
index 4a4426fe..e93d0b4c 100644
--- a/lib/striconveha.h
+++ b/lib/striconveha.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007-2024 Free Software Foundation, Inc.
Written by Bruno Haible.
This file is free software: you can redistribute it and/or modify
@@ -18,6 +18,11 @@
#ifndef _STRICONVEHA_H
#define _STRICONVEHA_H
+/* This file uses _GL_ATTRIBUTE_MALLOC. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stdlib.h>
#include "iconveh.h"
diff --git a/lib/string.in.h b/lib/string.in.h
index e56f6db0..44ec2e7e 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2022 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -44,6 +44,13 @@
#ifndef _@GUARD_PREFIX@_STRING_H
#define _@GUARD_PREFIX@_STRING_H
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. */
#include <stddef.h>
@@ -59,10 +66,11 @@
# include <unistd.h>
#endif
-/* AIX 7.2 declares ffsl and ffsll in <strings.h>, not in <string.h>. */
+/* AIX 7.2 and Android 13 declare ffsl and ffsll in <strings.h>, not in
+ <string.h>. */
/* But in any case avoid namespace pollution on glibc systems. */
#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \
- && defined _AIX) \
+ && (defined _AIX || defined __ANDROID__)) \
&& ! defined __GLIBC__
# include <strings.h>
#endif
@@ -82,7 +90,14 @@
can be freed via 'free'; it can be used only after declaring 'free'. */
/* Applies to: functions. Cannot be used on inline functions. */
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
-# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
#endif
/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
@@ -96,6 +111,28 @@
# endif
#endif
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
+#endif
+
/* The __attribute__ feature is available in gcc versions 2.5 and later.
The attribute __pure__ was added in gcc 2.96. */
#ifndef _GL_ATTRIBUTE_PURE
@@ -118,7 +155,11 @@
# if (@REPLACE_FREE@ && !defined free \
&& !(defined __cplusplus && defined GNULIB_NAMESPACE))
/* We can't do '#define free rpl_free' here. */
+# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW;
+# else
_GL_EXTERN_C void rpl_free (void *);
+# endif
# undef _GL_ATTRIBUTE_DEALLOC_FREE
# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
# else
@@ -130,7 +171,7 @@ _GL_EXTERN_C
void __cdecl free (void *);
# else
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
-_GL_EXTERN_C void free (void *) throw ();
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
# else
_GL_EXTERN_C void free (void *);
# endif
@@ -145,7 +186,7 @@ _GL_EXTERN_C
void __cdecl free (void *);
# else
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
-_GL_EXTERN_C void free (void *) throw ();
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
# else
_GL_EXTERN_C void free (void *);
# endif
@@ -248,9 +289,12 @@ _GL_CXXALIAS_SYS_CAST2 (memchr,
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
-_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n) throw ());
+_GL_CXXALIASWARN1 (memchr, void *,
+ (void *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_NOTHROW);
_GL_CXXALIASWARN1 (memchr, void const *,
- (void const *__s, int __c, size_t __n) throw ());
+ (void const *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_NOTHROW);
# elif __GLIBC__ >= 2
_GL_CXXALIASWARN (memchr);
# endif
@@ -300,16 +344,32 @@ _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - "
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
last written byte. */
#if @GNULIB_MEMPCPY@
-# if ! @HAVE_MEMPCPY@
+# if @REPLACE_MEMPCPY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mempcpy
+# define mempcpy rpl_mempcpy
+# endif
+_GL_FUNCDECL_RPL (mempcpy, void *,
+ (void *restrict __dest, void const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (mempcpy, void *,
+ (void *restrict __dest, void const *restrict __src,
+ size_t __n));
+# else
+# if !@HAVE_MEMPCPY@
_GL_FUNCDECL_SYS (mempcpy, void *,
(void *restrict __dest, void const *restrict __src,
size_t __n)
_GL_ARG_NONNULL ((1, 2)));
-# endif
+# endif
_GL_CXXALIAS_SYS (mempcpy, void *,
(void *restrict __dest, void const *restrict __src,
size_t __n));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mempcpy);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef mempcpy
# if HAVE_RAW_DECL_MEMPCPY
@@ -334,9 +394,13 @@ _GL_CXXALIAS_SYS_CAST2 (memrchr,
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
-_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ());
-_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ());
-# else
+_GL_CXXALIASWARN1 (memrchr, void *,
+ (void *, int, size_t)
+ _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (memrchr, void const *,
+ (void const *, int, size_t)
+ _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
_GL_CXXALIASWARN (memrchr);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -347,6 +411,33 @@ _GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
# endif
#endif
+/* Overwrite a block of memory. The compiler will not optimize
+ effects away, even if the block is dead after the call. */
+#if @GNULIB_MEMSET_EXPLICIT@
+# if @REPLACE_MEMSET_EXPLICIT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef memset_explicit
+# define memset_explicit rpl_memset_explicit
+# endif
+_GL_FUNCDECL_RPL (memset_explicit, void *,
+ (void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (memset_explicit, void *, (void *__dest, int __c, size_t __n));
+# else
+# if !@HAVE_MEMSET_EXPLICIT@
+_GL_FUNCDECL_SYS (memset_explicit, void *,
+ (void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (memset_explicit, void *, (void *__dest, int __c, size_t __n));
+# endif
+_GL_CXXALIASWARN (memset_explicit);
+#elif defined GNULIB_POSIXCHECK
+# undef memset_explicit
+# if HAVE_RAW_DECL_MEMSET_EXPLICIT
+_GL_WARN_ON_USE (memset_explicit, "memset_explicit is unportable - "
+ "use gnulib module memset_explicit for portability");
+# endif
+#endif
+
/* Find the first occurrence of C in S. More efficient than
memchr(S,C,N), at the expense of undefined behavior if C does not
occur within N bytes. */
@@ -365,9 +456,12 @@ _GL_CXXALIAS_SYS_CAST2 (rawmemchr,
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
-_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in) throw ());
+_GL_CXXALIASWARN1 (rawmemchr, void *,
+ (void *__s, int __c_in)
+ _GL_ATTRIBUTE_NOTHROW);
_GL_CXXALIASWARN1 (rawmemchr, void const *,
- (void const *__s, int __c_in) throw ());
+ (void const *__s, int __c_in)
+ _GL_ATTRIBUTE_NOTHROW);
# else
_GL_CXXALIASWARN (rawmemchr);
# endif
@@ -381,14 +475,28 @@ _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - "
/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */
#if @GNULIB_STPCPY@
-# if ! @HAVE_STPCPY@
+# if @REPLACE_STPCPY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef stpcpy
+# define stpcpy rpl_stpcpy
+# endif
+_GL_FUNCDECL_RPL (stpcpy, char *,
+ (char *restrict __dst, char const *restrict __src)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (stpcpy, char *,
+ (char *restrict __dst, char const *restrict __src));
+# else
+# if !@HAVE_STPCPY@
_GL_FUNCDECL_SYS (stpcpy, char *,
(char *restrict __dst, char const *restrict __src)
_GL_ARG_NONNULL ((1, 2)));
-# endif
+# endif
_GL_CXXALIAS_SYS (stpcpy, char *,
(char *restrict __dst, char const *restrict __src));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (stpcpy);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef stpcpy
# if HAVE_RAW_DECL_STPCPY
@@ -423,7 +531,9 @@ _GL_CXXALIAS_SYS (stpncpy, char *,
(char *restrict __dst, char const *restrict __src,
size_t __n));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (stpncpy);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef stpncpy
# if HAVE_RAW_DECL_STPNCPY
@@ -471,10 +581,13 @@ _GL_CXXALIAS_SYS_CAST2 (strchrnul,
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
-_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ());
+_GL_CXXALIASWARN1 (strchrnul, char *,
+ (char *__s, int __c_in)
+ _GL_ATTRIBUTE_NOTHROW);
_GL_CXXALIASWARN1 (strchrnul, char const *,
- (char const *__s, int __c_in) throw ());
-# else
+ (char const *__s, int __c_in)
+ _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
_GL_CXXALIASWARN (strchrnul);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -509,10 +622,18 @@ _GL_CXXALIAS_MDA (strdup, char *, (char const *__s));
# undef strdup
# endif
# if (!@HAVE_DECL_STRDUP@ || __GNUC__ >= 11) && !defined strdup
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (strdup, char *,
(char const *__s)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ARG_NONNULL ((1))
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (strdup, char *,
+ (char const *__s)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
# endif
@@ -520,10 +641,18 @@ _GL_CXXALIASWARN (strdup);
#else
# if __GNUC__ >= 11 && !defined strdup
/* For -Wmismatched-dealloc: Associate strdup with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (strdup, char *,
(char const *__s)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ARG_NONNULL ((1))
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (strdup, char *,
+ (char const *__s)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef strdup
@@ -592,10 +721,18 @@ _GL_FUNCDECL_RPL (strndup, char *,
_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
# else
# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup)
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (strndup, char *,
(char const *__s, size_t __n)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ARG_NONNULL ((1))
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (strndup, char *,
+ (char const *__s, size_t __n)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
# endif
@@ -603,10 +740,18 @@ _GL_CXXALIASWARN (strndup);
#else
# if __GNUC__ >= 11 && !defined strndup
/* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strndup, char *,
+ (char const *__s, size_t __n)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
_GL_FUNCDECL_SYS (strndup, char *,
(char const *__s, size_t __n)
_GL_ARG_NONNULL ((1))
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef strndup
@@ -675,9 +820,12 @@ _GL_CXXALIAS_SYS_CAST2 (strpbrk,
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
-_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept) throw ());
+_GL_CXXALIASWARN1 (strpbrk, char *,
+ (char *__s, char const *__accept)
+ _GL_ATTRIBUTE_NOTHROW);
_GL_CXXALIASWARN1 (strpbrk, char const *,
- (char const *__s, char const *__accept) throw ());
+ (char const *__s, char const *__accept)
+ _GL_ATTRIBUTE_NOTHROW);
# elif __GLIBC__ >= 2
_GL_CXXALIASWARN (strpbrk);
# endif
@@ -785,9 +933,11 @@ _GL_CXXALIAS_SYS_CAST2 (strstr,
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
_GL_CXXALIASWARN1 (strstr, char *,
- (char *haystack, const char *needle) throw ());
+ (char *haystack, const char *needle)
+ _GL_ATTRIBUTE_NOTHROW);
_GL_CXXALIASWARN1 (strstr, const char *,
- (const char *haystack, const char *needle) throw ());
+ (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_NOTHROW);
# elif __GLIBC__ >= 2
_GL_CXXALIASWARN (strstr);
# endif
@@ -836,10 +986,12 @@ _GL_CXXALIAS_SYS_CAST2 (strcasestr,
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
|| defined __clang__)
_GL_CXXALIASWARN1 (strcasestr, char *,
- (char *haystack, const char *needle) throw ());
+ (char *haystack, const char *needle)
+ _GL_ATTRIBUTE_NOTHROW);
_GL_CXXALIASWARN1 (strcasestr, const char *,
- (const char *haystack, const char *needle) throw ());
-# else
+ (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
_GL_CXXALIASWARN (strcasestr);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -1187,7 +1339,7 @@ _GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)
# endif
_GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen));
# endif
-# if @HAVE_DECL_STRERROR_R@
+# if __GLIBC__ >= 2 && @HAVE_DECL_STRERROR_R@
_GL_CXXALIASWARN (strerror_r);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -1277,12 +1429,22 @@ _GL_WARN_ON_USE (strsignal, "strsignal is unportable - "
#endif
#if @GNULIB_STRVERSCMP@
-# if !@HAVE_STRVERSCMP@
+# if @REPLACE_STRVERSCMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strverscmp rpl_strverscmp
+# endif
+_GL_FUNCDECL_RPL (strverscmp, int, (const char *, const char *)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strverscmp, int, (const char *, const char *));
+# else
+# if !@HAVE_STRVERSCMP@
_GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *)
_GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1, 2)));
-# endif
+# endif
_GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *));
+# endif
_GL_CXXALIASWARN (strverscmp);
#elif defined GNULIB_POSIXCHECK
# undef strverscmp
diff --git a/lib/strncat.c b/lib/strncat.c
index 1bfbc991..a13e89ca 100644
--- a/lib/strncat.c
+++ b/lib/strncat.c
@@ -1,5 +1,5 @@
/* Concatenate strings.
- Copyright (C) 1999, 2002, 2006, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2010-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/strstr.c b/lib/strstr.c
index 65bf21b7..7ea28603 100644
--- a/lib/strstr.c
+++ b/lib/strstr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2022 Free Software
+/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2024 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/lib/struniq.h b/lib/struniq.h
new file mode 100644
index 00000000..e67ea0fe
--- /dev/null
+++ b/lib/struniq.h
@@ -0,0 +1,119 @@
+/* Define a file-local string uniquification function.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
+
+
+/* This file needs the following includes:
+
+ #include <limits.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "flexmember.h"
+ #include "glthread/lock.h"
+ #include "thread-optim.h"
+
+ and the following gnulib modules as dependencies:
+
+ flexmember
+ lock
+ stdbool
+ thread-optim
+ */
+
+
+/* Simple hash set of strings. We don't want to drag in lots of hash table
+ code here. */
+
+#define SIZE_BITS (sizeof (size_t) * CHAR_BIT)
+
+/* A hash function for NUL-terminated char* strings using
+ the method described by Bruno Haible.
+ See https://www.haible.de/bruno/hashfunc.html. */
+static size_t _GL_ATTRIBUTE_PURE
+string_hash (const void *x)
+{
+ const char *s = (const char *) x;
+ size_t h = 0;
+
+ for (; *s; s++)
+ h = *s + ((h << 9) | (h >> (SIZE_BITS - 9)));
+
+ return h;
+}
+
+/* A hash table of fixed size. Multiple threads can access it read-only
+ simultaneously, but only one thread can insert into it at the same time. */
+
+/* A node in a hash bucket collision list. */
+struct struniq_hash_node
+ {
+ struct struniq_hash_node * volatile next;
+ char contents[FLEXIBLE_ARRAY_MEMBER];
+ };
+
+#define STRUNIQ_HASH_TABLE_SIZE 257
+static struct struniq_hash_node * volatile struniq_hash_table[STRUNIQ_HASH_TABLE_SIZE]
+ /* = { NULL, ..., NULL } */;
+
+/* This lock protects the struniq_hash_table against multiple simultaneous
+ insertions. */
+gl_lock_define_initialized(static, struniq_lock)
+
+/* Store a copy of the given string in a string pool with indefinite extent.
+ Return a pointer to this copy. */
+static const char *
+struniq (const char *string)
+{
+ size_t hashcode = string_hash (string);
+ size_t slot = hashcode % STRUNIQ_HASH_TABLE_SIZE;
+ size_t size;
+ struct struniq_hash_node *new_node;
+ struct struniq_hash_node *p;
+ for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
+ if (strcmp (p->contents, string) == 0)
+ return p->contents;
+ size = strlen (string) + 1;
+ new_node =
+ (struct struniq_hash_node *)
+ malloc (FLEXSIZEOF (struct struniq_hash_node, contents, size));
+ if (new_node == NULL)
+ /* Out of memory. Return a statically allocated string. */
+ return "C";
+ memcpy (new_node->contents, string, size);
+ {
+ bool mt = gl_multithreaded ();
+ /* Lock while inserting new_node. */
+ if (mt) gl_lock_lock (struniq_lock);
+ /* Check whether another thread already added the string while we were
+ waiting on the lock. */
+ for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
+ if (strcmp (p->contents, string) == 0)
+ {
+ free (new_node);
+ new_node = p;
+ goto done;
+ }
+ /* Really insert new_node into the hash table. Fill new_node entirely
+ first, because other threads may be iterating over the linked list. */
+ new_node->next = struniq_hash_table[slot];
+ struniq_hash_table[slot] = new_node;
+ done:
+ /* Unlock after new_node is inserted. */
+ if (mt) gl_lock_unlock (struniq_lock);
+ }
+ return new_node->contents;
+}
diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h
index 698e88d6..0a0ccc3c 100644
--- a/lib/sys_types.in.h
+++ b/lib/sys_types.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/types.h.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,6 +20,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if defined _WIN32 && !defined __CYGWIN__ \
&& (defined __need_off_t || defined __need___off64_t \
|| defined __need_ssize_t || defined __need_time_t)
diff --git a/lib/thread-optim.h b/lib/thread-optim.h
index dc1ad862..4bcc8afd 100644
--- a/lib/thread-optim.h
+++ b/lib/thread-optim.h
@@ -1,6 +1,6 @@
/* Optimization of multithreaded code.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -50,6 +50,11 @@
same optimization cannot be applied to locks that synchronize different
processes (e.g. through shared memory mappings). */
+/* This file uses HAVE_SYS_SINGLE_THREADED_H. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if HAVE_SYS_SINGLE_THREADED_H /* glibc >= 2.32 */
# include <sys/single_threaded.h>
# define gl_multithreaded() (!__libc_single_threaded)
diff --git a/lib/uchar.in.h b/lib/uchar.in.h
new file mode 100644
index 00000000..166cbecc
--- /dev/null
+++ b/lib/uchar.in.h
@@ -0,0 +1,910 @@
+/* <uchar.h> substitute - 16-bit and 32-bit wide character types.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
+
+/*
+ * ISO C 23 <uchar.h> for platforms that lack it.
+ */
+
+#ifndef _@GUARD_PREFIX@_UCHAR_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_UCHAR_H@
+# if defined __HAIKU__
+/* Work around <https://dev.haiku-os.org/ticket/17040>. */
+# include <stdint.h>
+# endif
+/* On AIX 7.2 with xlclang++, /usr/include/uchar.h produces compilation errors
+ because it contains typedef definitions of char16_t and char32_t, however
+ char16_t and char32_t are keywords in this situation. To work around it,
+ define char16_t and char32_t as macros. */
+# if defined __cplusplus && defined _AIX && defined __ibmxl__ && defined __clang__
+# define char16_t gl_char16_t
+# define char32_t gl_char32_t
+# endif
+# @INCLUDE_NEXT@ @NEXT_UCHAR_H@
+#endif
+
+#ifndef _@GUARD_PREFIX@_UCHAR_H
+#define _@GUARD_PREFIX@_UCHAR_H
+
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_BEGIN_C_LINKAGE,
+ _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* Get uint_least16_t, uint_least32_t. */
+#include <stdint.h>
+
+/* Get mbstate_t, size_t. */
+#include <wchar.h>
+
+/* For the inline functions. */
+#include <string.h>
+#include <wctype.h>
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+ The attribute __pure__ was added in gcc 2.96. */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+# define _GL_ATTRIBUTE_PURE /* empty */
+# endif
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+_GL_INLINE_HEADER_BEGIN
+
+
+#if !(@HAVE_UCHAR_H@ || (defined __cplusplus && @CXX_HAS_CHAR8_TYPE@))
+
+/* An 8-bit variant of wchar_t.
+ Note: This type is only mandated by ISO C 23 or newer, and it does
+ denote UTF-8 units. */
+typedef unsigned char char8_t;
+
+#elif @GNULIBHEADERS_OVERRIDE_CHAR8_T@
+
+typedef unsigned char gl_char8_t;
+# define char8_t gl_char8_t
+
+#endif
+
+#if !(@HAVE_UCHAR_H@ || (defined __cplusplus && @CXX_HAS_UCHAR_TYPES@))
+
+/* A 16-bit variant of wchar_t.
+ Note: This type is only mandated by ISO C 11 or newer. In ISO C 23
+ and newer, it denotes UTF-16 units; in older versions of ISO C it did
+ so only on platforms on which __STDC_UTF_16__ was defined. */
+typedef uint_least16_t char16_t;
+
+#elif @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+
+typedef uint_least16_t gl_char16_t;
+# define char16_t gl_char16_t
+
+#endif
+
+#if !(@HAVE_UCHAR_H@ || (defined __cplusplus && @CXX_HAS_UCHAR_TYPES@))
+
+/* A 32-bit variant of wchar_t.
+ Note: This type is only mandated by ISO C 11 or newer. In ISO C 23
+ and newer, it denotes UTF-32 code points; in older versions of ISO C
+ it did so only on platforms on which __STDC_UTF_32__ was defined.
+ In gnulib, we guarantee that it denotes UTF-32 code points if and
+ only if the module 'uchar-c23' is in use. */
+typedef uint_least32_t char32_t;
+
+#elif @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+
+typedef uint_least32_t gl_char32_t;
+# define char32_t gl_char32_t
+
+#endif
+
+/* Define if a 'char32_t' can hold more characters than a 'wchar_t'. */
+#if @SMALL_WCHAR_T@ /* 32-bit AIX, Cygwin, native Windows */
+# define _GL_SMALL_WCHAR_T 1
+#endif
+
+/* Define if 'wchar_t', like 'char32_t',
+ - is a 32-bit type, and
+ - represents Unicode code points.
+ For this test, we can use __STDC_ISO_10646__ (defined by glibc, musl libc,
+ Cygwin) but need to consider _GL_SMALL_WCHAR_T, so as to exclude Cygwin.
+ We cannot use __STDC_UTF_16__ or __STDC_UTF_32__
+ - because these macros provide info about char16_t and char32_t (not
+ wchar_t!), and
+ - because GCC >= 4.9 defines these macros on all platforms, even on
+ FreeBSD and Solaris.
+ We should better not use __STD_UTF_16__, __STD_UTF_32__ either, because
+ these macros are misspellings, only defined by Android's <uchar.h>. */
+#if defined __STDC_ISO_10646__ && !_GL_SMALL_WCHAR_T
+/* glibc, musl libc */
+# define _GL_WCHAR_T_IS_UCS4 1
+#endif
+#if _GL_WCHAR_T_IS_UCS4
+static_assert (sizeof (char32_t) == sizeof (wchar_t));
+#endif
+
+
+/* Convert a single-byte character to a 32-bit wide character. */
+#if @GNULIB_BTOC32@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_BTOC32
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ATTRIBUTE_PURE wint_t
+btoc32 (int c)
+{
+ return
+# if @GNULIB_BTOWC@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ btowc (c);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (btoc32, wint_t, (int c) _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (btoc32, wint_t, (int c));
+_GL_CXXALIASWARN (btoc32);
+#endif
+
+
+/* Test a specific property of a 32-bit wide character. */
+#if @GNULIB_C32ISALNUM@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISALNUM
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isalnum (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswalnum (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isalnum, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isalnum, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isalnum);
+#endif
+#if @GNULIB_C32ISALPHA@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISALPHA
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isalpha (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswalpha (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isalpha, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isalpha, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isalpha);
+#endif
+#if @GNULIB_C32ISBLANK@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISBLANK
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isblank (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswblank (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isblank, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isblank, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isblank);
+#endif
+#if @GNULIB_C32ISCNTRL@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISCNTRL
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32iscntrl (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswcntrl (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32iscntrl, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32iscntrl, int, (wint_t wc));
+_GL_CXXALIASWARN (c32iscntrl);
+#endif
+#if @GNULIB_C32ISDIGIT@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISDIGIT
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isdigit (wint_t wc)
+{
+ return
+# if @GNULIB_ISWDIGIT@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswdigit (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isdigit, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isdigit, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isdigit);
+#endif
+#if @GNULIB_C32ISGRAPH@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISGRAPH
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isgraph (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswgraph (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isgraph, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isgraph, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isgraph);
+#endif
+#if @GNULIB_C32ISLOWER@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISLOWER
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32islower (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswlower (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32islower, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32islower, int, (wint_t wc));
+_GL_CXXALIASWARN (c32islower);
+#endif
+#if @GNULIB_C32ISPRINT@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISPRINT
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isprint (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswprint (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isprint, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isprint, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isprint);
+#endif
+#if @GNULIB_C32ISPUNCT@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISPUNCT
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32ispunct (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswpunct (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32ispunct, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32ispunct, int, (wint_t wc));
+_GL_CXXALIASWARN (c32ispunct);
+#endif
+#if @GNULIB_C32ISSPACE@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISSPACE
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isspace (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswspace (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isspace, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isspace, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isspace);
+#endif
+#if @GNULIB_C32ISUPPER@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISUPPER
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isupper (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswupper (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isupper, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isupper, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isupper);
+#endif
+#if @GNULIB_C32ISXDIGIT@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32ISXDIGIT
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32isxdigit (wint_t wc)
+{
+ return
+# if @GNULIB_ISWXDIGIT@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswxdigit (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32isxdigit, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32isxdigit, int, (wint_t wc));
+_GL_CXXALIASWARN (c32isxdigit);
+#endif
+
+
+/* Case mapping of a 32-bit wide character. */
+#if @GNULIB_C32TOLOWER@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32TOLOWER
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE wint_t
+c32tolower (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ towlower (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32tolower, wint_t, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32tolower, wint_t, (wint_t wc));
+_GL_CXXALIASWARN (c32tolower);
+#endif
+#if @GNULIB_C32TOUPPER@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32TOUPPER
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE wint_t
+c32toupper (wint_t wc)
+{
+ return
+# if defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ towupper (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32toupper, wint_t, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32toupper, wint_t, (wint_t wc));
+_GL_CXXALIASWARN (c32toupper);
+#endif
+
+
+/* Number of screen columns needed for a 32-bit wide character. */
+#if @GNULIB_C32WIDTH@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32WIDTH
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32width (char32_t wc)
+{
+ return
+# if @GNULIB_WCWIDTH@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wcwidth (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32width, int, (char32_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32width, int, (char32_t wc));
+_GL_CXXALIASWARN (c32width);
+#endif
+
+
+/* Converts a 32-bit wide character to a multibyte character. */
+#if @GNULIB_C32RTOMB@
+# if @REPLACE_C32RTOMB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef c32rtomb
+# define c32rtomb rpl_c32rtomb
+# endif
+_GL_FUNCDECL_RPL (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
+_GL_CXXALIAS_RPL (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
+# else
+# if !@HAVE_C32RTOMB@
+_GL_FUNCDECL_SYS (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (c32rtomb, size_t, (char *s, char32_t wc, mbstate_t *ps));
+# endif
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_CXXALIASWARN (c32rtomb);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef c32rtomb
+# if HAVE_RAW_DECL_C32RTOMB
+_GL_WARN_ON_USE (c32rtomb, "c32rtomb is not portable - "
+ "use gnulib module c32rtomb for portability");
+# endif
+#endif
+
+
+/* Convert a 32-bit wide string to a string. */
+#if @GNULIB_C32SNRTOMBS@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32SNRTOMBS
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) size_t
+c32snrtombs (char *dest, const char32_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+{
+ return
+# if @GNULIB_WCSNRTOMBS@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wcsnrtombs (dest, (const wchar_t **) srcp, srclen, len, ps);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32snrtombs, size_t,
+ (char *dest, const char32_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (c32snrtombs, size_t,
+ (char *dest, const char32_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+_GL_CXXALIASWARN (c32snrtombs);
+#endif
+
+
+/* Convert a 32-bit wide string to a string. */
+#if @GNULIB_C32SRTOMBS@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32SRTOMBS
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) size_t
+c32srtombs (char *dest, const char32_t **srcp, size_t len, mbstate_t *ps)
+{
+ return
+# if @GNULIB_WCSRTOMBS@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wcsrtombs (dest, (const wchar_t **) srcp, len, ps);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32srtombs, size_t,
+ (char *dest, const char32_t **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (c32srtombs, size_t,
+ (char *dest, const char32_t **srcp, size_t len,
+ mbstate_t *ps));
+_GL_CXXALIASWARN (c32srtombs);
+#endif
+
+
+/* Convert a 32-bit wide string to a string. */
+#if @GNULIB_C32STOMBS@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32STOMBS
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) size_t
+c32stombs (char *dest, const char32_t *src, size_t len)
+{
+ mbstate_t state;
+
+ mbszero (&state);
+ return c32srtombs (dest, &src, len, &state);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32stombs, size_t,
+ (char *dest, const char32_t *src, size_t len)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (c32stombs, size_t,
+ (char *dest, const char32_t *src, size_t len));
+_GL_CXXALIASWARN (c32stombs);
+#endif
+
+
+/* Number of screen columns needed for a size-bounded 32-bit wide string. */
+#if @GNULIB_C32SWIDTH@
+# if (_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t) && !defined IN_C32SWIDTH
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((1)) int
+c32swidth (const char32_t *s, size_t n)
+{
+ return
+# if @GNULIB_WCSWIDTH@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wcswidth ((const wchar_t *) s, n);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32swidth, int, (const char32_t *s, size_t n)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (c32swidth, int, (const char32_t *s, size_t n));
+_GL_CXXALIASWARN (c32swidth);
+#endif
+
+
+/* Converts a 32-bit wide character to unibyte character.
+ Returns the single-byte representation of WC if it exists,
+ or EOF otherwise. */
+#if @GNULIB_C32TOB@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32TOB
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32tob (wint_t wc)
+{
+ return
+# if @GNULIB_WCTOB@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wctob (wc);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32tob, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (c32tob, int, (wint_t wc));
+_GL_CXXALIASWARN (c32tob);
+#endif
+
+
+/* Converts a multibyte character to a 32-bit wide character. */
+#if @GNULIB_MBRTOC32@
+# if @REPLACE_MBRTOC32@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbrtoc32
+# define mbrtoc32 rpl_mbrtoc32
+# endif
+_GL_FUNCDECL_RPL (mbrtoc32, size_t,
+ (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbrtoc32, size_t,
+ (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
+# else
+# if !@HAVE_MBRTOC32@
+_GL_FUNCDECL_SYS (mbrtoc32, size_t,
+ (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbrtoc32, size_t,
+ (char32_t *pc, const char *s, size_t n, mbstate_t *ps));
+# endif
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_CXXALIASWARN (mbrtoc32);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbrtoc32
+# if HAVE_RAW_DECL_MBRTOC32
+_GL_WARN_ON_USE (mbrtoc32, "mbrtoc32 is not portable - "
+ "use gnulib module mbrtoc32 for portability");
+# endif
+#endif
+
+
+/* Converts a multibyte character and returns the next 16-bit wide
+ character. */
+#if @GNULIB_MBRTOC16@
+# if @REPLACE_MBRTOC16@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbrtoc16
+# define mbrtoc16 rpl_mbrtoc16
+# endif
+_GL_FUNCDECL_RPL (mbrtoc16, size_t,
+ (char16_t *pc, const char *s, size_t n, mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbrtoc16, size_t,
+ (char16_t *pc, const char *s, size_t n, mbstate_t *ps));
+# else
+# if !@HAVE_MBRTOC32@
+_GL_FUNCDECL_SYS (mbrtoc16, size_t,
+ (char16_t *pc, const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbrtoc16, size_t,
+ (char16_t *pc, const char *s, size_t n, mbstate_t *ps));
+# endif
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_CXXALIASWARN (mbrtoc16);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbrtoc16
+# if HAVE_RAW_DECL_MBRTOC16
+_GL_WARN_ON_USE (mbrtoc16, "mbrtoc16 is not portable - "
+ "use gnulib module mbrtoc16 for portability");
+# endif
+#endif
+
+
+/* Convert a string to a 32-bit wide string. */
+#if @GNULIB_MBSNRTOC32S@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_MBSNRTOC32S
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) size_t
+mbsnrtoc32s (char32_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+{
+ return
+# if @GNULIB_MBSNRTOWCS@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ mbsnrtowcs ((wchar_t *) dest, srcp, srclen, len, ps);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (mbsnrtoc32s, size_t,
+ (char32_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbsnrtoc32s, size_t,
+ (char32_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+_GL_CXXALIASWARN (mbsnrtoc32s);
+#endif
+
+
+/* Convert a string to a 32-bit wide string. */
+#if @GNULIB_MBSRTOC32S@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_MBSRTOC32S
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) size_t
+mbsrtoc32s (char32_t *dest, const char **srcp, size_t len, mbstate_t *ps)
+{
+ return
+# if @GNULIB_MBSRTOWCS@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ mbsrtowcs ((wchar_t *) dest, srcp, len, ps);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (mbsrtoc32s, size_t,
+ (char32_t *dest, const char **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbsrtoc32s, size_t,
+ (char32_t *dest, const char **srcp, size_t len,
+ mbstate_t *ps));
+_GL_CXXALIASWARN (mbsrtoc32s);
+#endif
+
+
+/* Convert a string to a 32-bit wide string. */
+#if @GNULIB_MBSTOC32S@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_MBSTOC32S
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) size_t
+mbstoc32s (char32_t *dest, const char *src, size_t len)
+{
+ mbstate_t state;
+
+ mbszero (&state);
+ return mbsrtoc32s (dest, &src, len, &state);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (mbstoc32s, size_t,
+ (char32_t *dest, const char *src, size_t len)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbstoc32s, size_t,
+ (char32_t *dest, const char *src, size_t len));
+_GL_CXXALIASWARN (mbstoc32s);
+#endif
+
+
+#if @GNULIB_C32_GET_TYPE_TEST@ || @GNULIB_C32_APPLY_TYPE_TEST@
+/* A scalar type. Instances of this type, other than (c32_type_test_t) 0,
+ represent a character property, sometimes also viewed as a "character class".
+ It can be applied to 32-bit wide characters. It is the counterpart of
+ type 'wctype_t' for wide characters.
+ To test whether a given character has a certain property, use the function
+ 'c32_apply_type_test'. */
+# if _GL_WCHAR_T_IS_UCS4
+typedef wctype_t c32_type_test_t;
+# else
+typedef /*bool*/int (*c32_type_test_t) (wint_t wc);
+# endif
+#endif
+
+/* Return a character property with the given name, or (c32_type_test_t) 0
+ if the designated property does not exist.
+ This function is the counterpart of function 'wctype' for wide characters.
+ */
+#if @GNULIB_C32_GET_TYPE_TEST@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32_GET_TYPE_TEST
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((1)) c32_type_test_t
+c32_get_type_test (const char *name)
+{
+ return
+# if @GNULIB_WCTYPE@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wctype (name);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32_get_type_test, c32_type_test_t, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (c32_get_type_test, c32_type_test_t, (const char *name));
+_GL_CXXALIASWARN (c32_get_type_test);
+#endif
+
+/* Test whether a given 32-bit wide character has the specified character
+ property.
+ Return non-zero if true, zero if false or if the argument is WEOF.
+ This function is the counterpart of function 'iswctype' for wide characters.
+ */
+#if @GNULIB_C32_APPLY_TYPE_TEST@
+# if _GL_WCHAR_T_IS_UCS4
+# if !defined IN_C32_APPLY_TYPE_TEST
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE int
+c32_apply_type_test (wint_t wc, c32_type_test_t property)
+{
+ return
+# if @GNULIB_ISWCTYPE@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ iswctype (wc, property);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32_apply_type_test, int,
+ (wint_t wc, c32_type_test_t property));
+# endif
+# else
+_GL_FUNCDECL_SYS (c32_apply_type_test, int,
+ (wint_t wc, c32_type_test_t property)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (c32_apply_type_test, int,
+ (wint_t wc, c32_type_test_t property));
+_GL_CXXALIASWARN (c32_apply_type_test);
+#endif
+
+
+#if @GNULIB_C32_GET_MAPPING@ || @GNULIB_C32_APPLY_MAPPING@
+/* A scalar type. Instances of this type, other than (c32_mapping_t) 0,
+ represent a character mapping. It can be applied to 32-bit wide characters.
+ It is the counterpart of type 'wctrans_t' for wide characters.
+ To apply a certain mapping to a given character, use the function
+ 'c32_apply_mapping'. */
+# if _GL_WCHAR_T_IS_UCS4
+typedef wctrans_t c32_mapping_t;
+# else
+typedef wint_t (*c32_mapping_t) (wint_t wc);
+# endif
+#endif
+
+/* Return a character mapping with the given name, or (c32_mapping_t) 0
+ if the designated mapping does not exist.
+ This function is the counterpart of function 'wctrans' for wide characters.
+ */
+#if @GNULIB_C32_GET_MAPPING@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32_GET_MAPPING
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((1)) c32_mapping_t
+c32_get_mapping (const char *name)
+{
+ return
+# if @GNULIB_WCTRANS@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ wctrans (name);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32_get_mapping, c32_mapping_t, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (c32_get_mapping, c32_mapping_t, (const char *name));
+_GL_CXXALIASWARN (c32_get_mapping);
+#endif
+
+/* Apply the specified character mapping to a given 32-bit wide character.
+ Return the result of this mapping. Return the WC argument unchanged if it is
+ WEOF.
+ This function is the counterpart of function 'towctrans' for wide characters.
+ */
+#if @GNULIB_C32_APPLY_MAPPING@
+# if _GL_WCHAR_T_IS_UCS4 && !defined IN_C32_APPLY_MAPPING
+_GL_BEGIN_C_LINKAGE
+_GL_INLINE _GL_ARG_NONNULL ((2)) wint_t
+c32_apply_mapping (wint_t wc, c32_mapping_t mapping)
+{
+ return
+# if @GNULIB_TOWCTRANS@ && defined __cplusplus && defined GNULIB_NAMESPACE
+ GNULIB_NAMESPACE::
+# endif
+ towctrans (wc, mapping);
+}
+_GL_END_C_LINKAGE
+# else
+_GL_FUNCDECL_SYS (c32_apply_mapping, wint_t,
+ (wint_t wc, c32_mapping_t mapping)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (c32_apply_mapping, wint_t,
+ (wint_t wc, c32_mapping_t mapping));
+_GL_CXXALIASWARN (c32_apply_mapping);
+#endif
+
+
+_GL_INLINE_HEADER_END
+
+#endif /* _@GUARD_PREFIX@_UCHAR_H */
+#endif /* _@GUARD_PREFIX@_UCHAR_H */
diff --git a/lib/unicase.in.h b/lib/unicase.in.h
index e1cc2596..af97bf35 100644
--- a/lib/unicase.in.h
+++ b/lib/unicase.in.h
@@ -1,26 +1,18 @@
/* Unicode character case mappings.
- Copyright (C) 2002, 2009-2022 Free Software Foundation, Inc.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ Copyright (C) 2002, 2009-2024 Free Software Foundation, Inc.
+
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#ifndef _UNICASE_H
#define _UNICASE_H
@@ -36,6 +28,12 @@
/* Get uninorm_t. */
#include "uninorm.h"
+#if @HAVE_UNISTRING_WOE32DLL_H@
+# include <unistring/woe32dll.h>
+#else
+# define LIBUNISTRING_DLL_VARIABLE
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -155,7 +153,7 @@ typedef struct casing_prefix_context
}
casing_prefix_context_t;
/* The case-mapping context of the empty prefix string. */
-extern LIBUNISTRING_DLL_VARIABLE const casing_prefix_context_t unicase_empty_prefix_context;
+extern @GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@ const casing_prefix_context_t unicase_empty_prefix_context;
/* Return the case-mapping context of a given prefix string. */
extern casing_prefix_context_t
u8_casing_prefix_context (const uint8_t *s, size_t n);
@@ -184,7 +182,7 @@ typedef struct casing_suffix_context
}
casing_suffix_context_t;
/* The case-mapping context of the empty suffix string. */
-extern LIBUNISTRING_DLL_VARIABLE const casing_suffix_context_t unicase_empty_suffix_context;
+extern @GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@ const casing_suffix_context_t unicase_empty_suffix_context;
/* Return the case-mapping context of a given suffix string. */
extern casing_suffix_context_t
u8_casing_suffix_context (const uint8_t *s, size_t n);
diff --git a/lib/unicase/cased.c b/lib/unicase/cased.c
index 05e51982..6014c62d 100644
--- a/lib/unicase/cased.c
+++ b/lib/unicase/cased.c
@@ -1,5 +1,5 @@
/* Test whether a Unicode character is cased.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/cased.h b/lib/unicase/cased.h
index 2fe12689..dca12035 100644
--- a/lib/unicase/cased.h
+++ b/lib/unicase/cased.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Casing Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unicase/casefold.h b/lib/unicase/casefold.h
index fb612534..647e05fc 100644
--- a/lib/unicase/casefold.h
+++ b/lib/unicase/casefold.h
@@ -1,5 +1,5 @@
/* Casefolding of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/caseprop.h b/lib/unicase/caseprop.h
index e599a3f1..ac764689 100644
--- a/lib/unicase/caseprop.h
+++ b/lib/unicase/caseprop.h
@@ -1,5 +1,5 @@
/* Case related properties of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/context.h b/lib/unicase/context.h
index 8040a069..541da561 100644
--- a/lib/unicase/context.h
+++ b/lib/unicase/context.h
@@ -1,5 +1,5 @@
/* Case-mapping contexts of UTF-8/UTF-16/UTF-32 substring.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/empty-prefix-context.c b/lib/unicase/empty-prefix-context.c
index 233f20c3..1a99d6f2 100644
--- a/lib/unicase/empty-prefix-context.c
+++ b/lib/unicase/empty-prefix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of empty prefix string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/empty-suffix-context.c b/lib/unicase/empty-suffix-context.c
index 39ce29e6..2e5bc33c 100644
--- a/lib/unicase/empty-suffix-context.c
+++ b/lib/unicase/empty-suffix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of empty suffix string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/ignorable.c b/lib/unicase/ignorable.c
index 1ebf8013..c4d41351 100644
--- a/lib/unicase/ignorable.c
+++ b/lib/unicase/ignorable.c
@@ -1,5 +1,5 @@
/* Test whether a Unicode character is case-ignorable.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/ignorable.h b/lib/unicase/ignorable.h
index 5b986e19..bf41d94e 100644
--- a/lib/unicase/ignorable.h
+++ b/lib/unicase/ignorable.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Casing Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unicase/invariant.h b/lib/unicase/invariant.h
index c8b9319b..e0ec3a33 100644
--- a/lib/unicase/invariant.h
+++ b/lib/unicase/invariant.h
@@ -1,5 +1,5 @@
/* Internal functions for Unicode character case mappings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/locale-language.c b/lib/unicase/locale-language.c
index 5f02dabd..b7103e4a 100644
--- a/lib/unicase/locale-language.c
+++ b/lib/unicase/locale-language.c
@@ -1,5 +1,5 @@
/* Language code of current locale.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/locale-languages.gperf b/lib/unicase/locale-languages.gperf
index ea09e36a..9db15582 100644
--- a/lib/unicase/locale-languages.gperf
+++ b/lib/unicase/locale-languages.gperf
@@ -1,5 +1,5 @@
/* Language codes of locales.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unicase/locale-languages.h b/lib/unicase/locale-languages.h
index 1deb4c4d..07dae3c5 100644
--- a/lib/unicase/locale-languages.h
+++ b/lib/unicase/locale-languages.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unicase/locale-languages.gperf */
+/* Command-line: gperf -m 10 ../../lib/unicase/locale-languages.gperf */
/* Computed positions: -k'1-3' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -1036,7 +1036,7 @@ uc_locale_languages_lookup (register const char *str, register size_t len)
}
return 0;
}
-#line 295 "./unicase/locale-languages.gperf"
+#line 295 "../../lib/unicase/locale-languages.gperf"
/*
* Local Variables:
diff --git a/lib/unicase/simple-mapping.h b/lib/unicase/simple-mapping.h
index d3a80130..6102b768 100644
--- a/lib/unicase/simple-mapping.h
+++ b/lib/unicase/simple-mapping.h
@@ -1,27 +1,19 @@
/* Simple case mapping for Unicode characters.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
ucs4_t
FUNC (ucs4_t uc)
diff --git a/lib/unicase/special-casing-table.gperf b/lib/unicase/special-casing-table.gperf
index 54bfb4ad..39e1f5d6 100644
--- a/lib/unicase/special-casing-table.gperf
+++ b/lib/unicase/special-casing-table.gperf
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Special casing rules of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unicase/special-casing.c b/lib/unicase/special-casing.c
index 37156f6d..856b904f 100644
--- a/lib/unicase/special-casing.c
+++ b/lib/unicase/special-casing.c
@@ -1,5 +1,5 @@
/* Special casing table.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/special-casing.in.h b/lib/unicase/special-casing.in.h
index 2a011df3..5683a452 100644
--- a/lib/unicase/special-casing.in.h
+++ b/lib/unicase/special-casing.in.h
@@ -1,5 +1,5 @@
/* Special casing table.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/tocasefold.c b/lib/unicase/tocasefold.c
index c73252cc..eac68a25 100644
--- a/lib/unicase/tocasefold.c
+++ b/lib/unicase/tocasefold.c
@@ -1,5 +1,5 @@
/* Casefold mapping for Unicode characters (locale and context independent).
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/tocasefold.h b/lib/unicase/tocasefold.h
index 19b49c43..a8738ec8 100644
--- a/lib/unicase/tocasefold.h
+++ b/lib/unicase/tocasefold.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unicase/tolower.c b/lib/unicase/tolower.c
index b3e11720..0a62cd50 100644
--- a/lib/unicase/tolower.c
+++ b/lib/unicase/tolower.c
@@ -1,27 +1,19 @@
/* Lowercase mapping for Unicode characters (locale and context independent).
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unicase/tolower.h b/lib/unicase/tolower.h
index 607128c2..9c125f50 100644
--- a/lib/unicase/tolower.h
+++ b/lib/unicase/tolower.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define mapping_header_0 16
#define mapping_header_1 2
diff --git a/lib/unicase/totitle.c b/lib/unicase/totitle.c
index 49bf28f4..db6b2847 100644
--- a/lib/unicase/totitle.c
+++ b/lib/unicase/totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for Unicode characters (locale and context independent).
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/totitle.h b/lib/unicase/totitle.h
index 8561de0d..9a3a3ea9 100644
--- a/lib/unicase/totitle.h
+++ b/lib/unicase/totitle.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unicase/toupper.c b/lib/unicase/toupper.c
index 6ad2d77a..c7f86157 100644
--- a/lib/unicase/toupper.c
+++ b/lib/unicase/toupper.c
@@ -1,27 +1,19 @@
/* Uppercase mapping for Unicode characters (locale and context independent).
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unicase/toupper.h b/lib/unicase/toupper.h
index bcca4043..4df2f32c 100644
--- a/lib/unicase/toupper.h
+++ b/lib/unicase/toupper.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define mapping_header_0 16
#define mapping_header_1 2
diff --git a/lib/unicase/u-casecmp.h b/lib/unicase/u-casecmp.h
index cbc55d6a..f960b6b9 100644
--- a/lib/unicase/u-casecmp.h
+++ b/lib/unicase/u-casecmp.h
@@ -1,5 +1,5 @@
/* Case and normalization insensitive comparison of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-casecoll.h b/lib/unicase/u-casecoll.h
index 46a13b3c..f65d958d 100644
--- a/lib/unicase/u-casecoll.h
+++ b/lib/unicase/u-casecoll.h
@@ -1,6 +1,6 @@
/* Locale dependent, case and normalization insensitive comparison of Unicode
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-casefold.h b/lib/unicase/u-casefold.h
index 8123a02a..173a6d4c 100644
--- a/lib/unicase/u-casefold.h
+++ b/lib/unicase/u-casefold.h
@@ -1,5 +1,5 @@
/* Casefolding mapping for Unicode strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-casemap.h b/lib/unicase/u-casemap.h
index 973866a8..20690dfa 100644
--- a/lib/unicase/u-casemap.h
+++ b/lib/unicase/u-casemap.h
@@ -1,5 +1,5 @@
/* Case mapping for UTF-8/UTF-16/UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-casexfrm.h b/lib/unicase/u-casexfrm.h
index 5d905b44..2c382973 100644
--- a/lib/unicase/u-casexfrm.h
+++ b/lib/unicase/u-casexfrm.h
@@ -1,6 +1,6 @@
/* Locale dependent transformation for case insensitive comparison of Unicode
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-ct-casefold.h b/lib/unicase/u-ct-casefold.h
index 5eba00e5..2ee011fb 100644
--- a/lib/unicase/u-ct-casefold.h
+++ b/lib/unicase/u-ct-casefold.h
@@ -1,5 +1,5 @@
/* Casefolding mapping for Unicode substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-ct-totitle.h b/lib/unicase/u-ct-totitle.h
index 36742b1d..b670f518 100644
--- a/lib/unicase/u-ct-totitle.h
+++ b/lib/unicase/u-ct-totitle.h
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-8/UTF-16/UTF-32 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-is-cased.h b/lib/unicase/u-is-cased.h
index 0448685a..a86d9b8f 100644
--- a/lib/unicase/u-is-cased.h
+++ b/lib/unicase/u-is-cased.h
@@ -1,5 +1,5 @@
/* Test whether case matters for a Unicode string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-is-invariant.h b/lib/unicase/u-is-invariant.h
index 3f378710..2301b7f6 100644
--- a/lib/unicase/u-is-invariant.h
+++ b/lib/unicase/u-is-invariant.h
@@ -1,5 +1,5 @@
/* Test whether a Unicode string is invariant under a given case mapping.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-prefix-context.h b/lib/unicase/u-prefix-context.h
index 7ec634e5..b69fd5a0 100644
--- a/lib/unicase/u-prefix-context.h
+++ b/lib/unicase/u-prefix-context.h
@@ -1,5 +1,5 @@
/* Case-mapping context of prefix UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-suffix-context.h b/lib/unicase/u-suffix-context.h
index f218e1ad..173d32d0 100644
--- a/lib/unicase/u-suffix-context.h
+++ b/lib/unicase/u-suffix-context.h
@@ -1,5 +1,5 @@
/* Case-mapping context of suffix UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u-totitle.h b/lib/unicase/u-totitle.h
index 78bc7695..effa1a16 100644
--- a/lib/unicase/u-totitle.h
+++ b/lib/unicase/u-totitle.h
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-8/UTF-16/UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-casecmp.c b/lib/unicase/u16-casecmp.c
index b914c29e..6f6a8a38 100644
--- a/lib/unicase/u16-casecmp.c
+++ b/lib/unicase/u16-casecmp.c
@@ -1,5 +1,5 @@
/* Case and normalization insensitive comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-casecoll.c b/lib/unicase/u16-casecoll.c
index f46426ee..085eebbb 100644
--- a/lib/unicase/u16-casecoll.c
+++ b/lib/unicase/u16-casecoll.c
@@ -1,6 +1,6 @@
/* Locale dependent, case and normalization insensitive comparison of UTF-16
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-casefold.c b/lib/unicase/u16-casefold.c
index 62c934a0..e5eca52e 100644
--- a/lib/unicase/u16-casefold.c
+++ b/lib/unicase/u16-casefold.c
@@ -1,5 +1,5 @@
/* Casefolding mapping for UTF-16 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-casemap.c b/lib/unicase/u16-casemap.c
index ecbaa82c..a01944e5 100644
--- a/lib/unicase/u16-casemap.c
+++ b/lib/unicase/u16-casemap.c
@@ -1,5 +1,5 @@
/* Case mapping for UTF-16 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-casexfrm.c b/lib/unicase/u16-casexfrm.c
index cd9a470d..530d988c 100644
--- a/lib/unicase/u16-casexfrm.c
+++ b/lib/unicase/u16-casexfrm.c
@@ -1,6 +1,6 @@
/* Locale dependent transformation for case insensitive comparison of UTF-16
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-ct-casefold.c b/lib/unicase/u16-ct-casefold.c
index 9b66d8f2..f043a1ed 100644
--- a/lib/unicase/u16-ct-casefold.c
+++ b/lib/unicase/u16-ct-casefold.c
@@ -1,5 +1,5 @@
/* Casefolding mapping for UTF-16 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-ct-tolower.c b/lib/unicase/u16-ct-tolower.c
index 5d62502f..5e301ddf 100644
--- a/lib/unicase/u16-ct-tolower.c
+++ b/lib/unicase/u16-ct-tolower.c
@@ -1,5 +1,5 @@
/* Lowercase mapping for UTF-16 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-ct-totitle.c b/lib/unicase/u16-ct-totitle.c
index ce52c704..b594d6e3 100644
--- a/lib/unicase/u16-ct-totitle.c
+++ b/lib/unicase/u16-ct-totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-16 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-ct-toupper.c b/lib/unicase/u16-ct-toupper.c
index 260c9793..3599a29d 100644
--- a/lib/unicase/u16-ct-toupper.c
+++ b/lib/unicase/u16-ct-toupper.c
@@ -1,5 +1,5 @@
/* Uppercase mapping for UTF-16 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-is-cased.c b/lib/unicase/u16-is-cased.c
index 7ba2efad..9288050e 100644
--- a/lib/unicase/u16-is-cased.c
+++ b/lib/unicase/u16-is-cased.c
@@ -1,5 +1,5 @@
/* Test whether case matters for an UTF-16 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-is-casefolded.c b/lib/unicase/u16-is-casefolded.c
index 84cf6a57..2bf47724 100644
--- a/lib/unicase/u16-is-casefolded.c
+++ b/lib/unicase/u16-is-casefolded.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-16 string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-is-invariant.c b/lib/unicase/u16-is-invariant.c
index a4656576..676a2ed6 100644
--- a/lib/unicase/u16-is-invariant.c
+++ b/lib/unicase/u16-is-invariant.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-16 string is invariant under a given case mapping.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-is-lowercase.c b/lib/unicase/u16-is-lowercase.c
index 46cb2769..058c0501 100644
--- a/lib/unicase/u16-is-lowercase.c
+++ b/lib/unicase/u16-is-lowercase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-16 string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-is-titlecase.c b/lib/unicase/u16-is-titlecase.c
index 31188aaa..5110b7e8 100644
--- a/lib/unicase/u16-is-titlecase.c
+++ b/lib/unicase/u16-is-titlecase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-16 string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-is-uppercase.c b/lib/unicase/u16-is-uppercase.c
index c5ffe138..60a722f6 100644
--- a/lib/unicase/u16-is-uppercase.c
+++ b/lib/unicase/u16-is-uppercase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-16 string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-prefix-context.c b/lib/unicase/u16-prefix-context.c
index 1297f5e9..e668af9b 100644
--- a/lib/unicase/u16-prefix-context.c
+++ b/lib/unicase/u16-prefix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of prefix UTF-16 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-suffix-context.c b/lib/unicase/u16-suffix-context.c
index 3b30bc7d..e0845b7b 100644
--- a/lib/unicase/u16-suffix-context.c
+++ b/lib/unicase/u16-suffix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of suffix UTF-16 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-tolower.c b/lib/unicase/u16-tolower.c
index 9e10c1fe..b440edde 100644
--- a/lib/unicase/u16-tolower.c
+++ b/lib/unicase/u16-tolower.c
@@ -1,5 +1,5 @@
/* Lowercase mapping for UTF-16 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-totitle.c b/lib/unicase/u16-totitle.c
index 29b2cc97..49e9fe0e 100644
--- a/lib/unicase/u16-totitle.c
+++ b/lib/unicase/u16-totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-16 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u16-toupper.c b/lib/unicase/u16-toupper.c
index 2023ffbc..14fc1962 100644
--- a/lib/unicase/u16-toupper.c
+++ b/lib/unicase/u16-toupper.c
@@ -1,5 +1,5 @@
/* Uppercase mapping for UTF-16 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-casecmp.c b/lib/unicase/u32-casecmp.c
index fc29b1e7..fa2497d2 100644
--- a/lib/unicase/u32-casecmp.c
+++ b/lib/unicase/u32-casecmp.c
@@ -1,5 +1,5 @@
/* Case and normalization insensitive comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-casecoll.c b/lib/unicase/u32-casecoll.c
index 7a28a6b9..f328d4bd 100644
--- a/lib/unicase/u32-casecoll.c
+++ b/lib/unicase/u32-casecoll.c
@@ -1,6 +1,6 @@
/* Locale dependent, case and normalization insensitive comparison of UTF-32
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-casefold.c b/lib/unicase/u32-casefold.c
index b17f27cb..c4ae6f49 100644
--- a/lib/unicase/u32-casefold.c
+++ b/lib/unicase/u32-casefold.c
@@ -1,5 +1,5 @@
/* Casefolding mapping for UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-casemap.c b/lib/unicase/u32-casemap.c
index 280bac9b..51704d3e 100644
--- a/lib/unicase/u32-casemap.c
+++ b/lib/unicase/u32-casemap.c
@@ -1,5 +1,5 @@
/* Case mapping for UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-casexfrm.c b/lib/unicase/u32-casexfrm.c
index 04596b7c..da0374c8 100644
--- a/lib/unicase/u32-casexfrm.c
+++ b/lib/unicase/u32-casexfrm.c
@@ -1,6 +1,6 @@
/* Locale dependent transformation for case insensitive comparison of UTF-32
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-ct-casefold.c b/lib/unicase/u32-ct-casefold.c
index 0e7c4443..790e20a2 100644
--- a/lib/unicase/u32-ct-casefold.c
+++ b/lib/unicase/u32-ct-casefold.c
@@ -1,5 +1,5 @@
/* Casefolding mapping for UTF-32 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-ct-tolower.c b/lib/unicase/u32-ct-tolower.c
index 2d137983..0892b62a 100644
--- a/lib/unicase/u32-ct-tolower.c
+++ b/lib/unicase/u32-ct-tolower.c
@@ -1,5 +1,5 @@
/* Lowercase mapping for UTF-32 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-ct-totitle.c b/lib/unicase/u32-ct-totitle.c
index 9786d352..e6c8d4e3 100644
--- a/lib/unicase/u32-ct-totitle.c
+++ b/lib/unicase/u32-ct-totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-32 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-ct-toupper.c b/lib/unicase/u32-ct-toupper.c
index e753bba8..b39940da 100644
--- a/lib/unicase/u32-ct-toupper.c
+++ b/lib/unicase/u32-ct-toupper.c
@@ -1,5 +1,5 @@
/* Uppercase mapping for UTF-32 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-is-cased.c b/lib/unicase/u32-is-cased.c
index b10cc04b..02fc45c1 100644
--- a/lib/unicase/u32-is-cased.c
+++ b/lib/unicase/u32-is-cased.c
@@ -1,5 +1,5 @@
/* Test whether case matters for an UTF-32 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-is-casefolded.c b/lib/unicase/u32-is-casefolded.c
index 9f22ed5f..ea6d8226 100644
--- a/lib/unicase/u32-is-casefolded.c
+++ b/lib/unicase/u32-is-casefolded.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-32 string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-is-invariant.c b/lib/unicase/u32-is-invariant.c
index f46b2d0e..e30c1aaf 100644
--- a/lib/unicase/u32-is-invariant.c
+++ b/lib/unicase/u32-is-invariant.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-32 string is invariant under a given case mapping.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-is-lowercase.c b/lib/unicase/u32-is-lowercase.c
index e0fc137f..f02a93a2 100644
--- a/lib/unicase/u32-is-lowercase.c
+++ b/lib/unicase/u32-is-lowercase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-32 string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-is-titlecase.c b/lib/unicase/u32-is-titlecase.c
index 08f8be8b..a3ecd6ab 100644
--- a/lib/unicase/u32-is-titlecase.c
+++ b/lib/unicase/u32-is-titlecase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-32 string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-is-uppercase.c b/lib/unicase/u32-is-uppercase.c
index 05d180b8..6b3f9000 100644
--- a/lib/unicase/u32-is-uppercase.c
+++ b/lib/unicase/u32-is-uppercase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-32 string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-prefix-context.c b/lib/unicase/u32-prefix-context.c
index a636e0a1..d2f25f21 100644
--- a/lib/unicase/u32-prefix-context.c
+++ b/lib/unicase/u32-prefix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of prefix UTF-32 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-suffix-context.c b/lib/unicase/u32-suffix-context.c
index 73095e92..aed6a74a 100644
--- a/lib/unicase/u32-suffix-context.c
+++ b/lib/unicase/u32-suffix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of suffix UTF-32 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-tolower.c b/lib/unicase/u32-tolower.c
index 1f557bf6..85c1f9e4 100644
--- a/lib/unicase/u32-tolower.c
+++ b/lib/unicase/u32-tolower.c
@@ -1,5 +1,5 @@
/* Lowercase mapping for UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-totitle.c b/lib/unicase/u32-totitle.c
index 29ebb512..ba3c0343 100644
--- a/lib/unicase/u32-totitle.c
+++ b/lib/unicase/u32-totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u32-toupper.c b/lib/unicase/u32-toupper.c
index fcb70dcb..abf900db 100644
--- a/lib/unicase/u32-toupper.c
+++ b/lib/unicase/u32-toupper.c
@@ -1,5 +1,5 @@
/* Uppercase mapping for UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-casecmp.c b/lib/unicase/u8-casecmp.c
index ee7b590c..86e165b0 100644
--- a/lib/unicase/u8-casecmp.c
+++ b/lib/unicase/u8-casecmp.c
@@ -1,5 +1,5 @@
/* Case and normalization insensitive comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-casecoll.c b/lib/unicase/u8-casecoll.c
index e7ae83b0..56847c63 100644
--- a/lib/unicase/u8-casecoll.c
+++ b/lib/unicase/u8-casecoll.c
@@ -1,6 +1,6 @@
/* Locale dependent, case and normalization insensitive comparison of UTF-8
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-casefold.c b/lib/unicase/u8-casefold.c
index b81bba4d..918f6163 100644
--- a/lib/unicase/u8-casefold.c
+++ b/lib/unicase/u8-casefold.c
@@ -1,5 +1,5 @@
/* Casefolding mapping for UTF-8 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-casemap.c b/lib/unicase/u8-casemap.c
index 1dbac0bf..b94f5096 100644
--- a/lib/unicase/u8-casemap.c
+++ b/lib/unicase/u8-casemap.c
@@ -1,5 +1,5 @@
/* Case mapping for UTF-8 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-casexfrm.c b/lib/unicase/u8-casexfrm.c
index 67f6f4ad..259b9114 100644
--- a/lib/unicase/u8-casexfrm.c
+++ b/lib/unicase/u8-casexfrm.c
@@ -1,6 +1,6 @@
/* Locale dependent transformation for case insensitive comparison of UTF-8
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-ct-casefold.c b/lib/unicase/u8-ct-casefold.c
index f0491c27..ca3fe93e 100644
--- a/lib/unicase/u8-ct-casefold.c
+++ b/lib/unicase/u8-ct-casefold.c
@@ -1,5 +1,5 @@
/* Casefolding mapping for UTF-8 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-ct-tolower.c b/lib/unicase/u8-ct-tolower.c
index 4e28c29e..b7500d25 100644
--- a/lib/unicase/u8-ct-tolower.c
+++ b/lib/unicase/u8-ct-tolower.c
@@ -1,5 +1,5 @@
/* Lowercase mapping for UTF-8 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-ct-totitle.c b/lib/unicase/u8-ct-totitle.c
index 787d5ab8..d321bacf 100644
--- a/lib/unicase/u8-ct-totitle.c
+++ b/lib/unicase/u8-ct-totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-8 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-ct-toupper.c b/lib/unicase/u8-ct-toupper.c
index 6f39cee9..9e18bf42 100644
--- a/lib/unicase/u8-ct-toupper.c
+++ b/lib/unicase/u8-ct-toupper.c
@@ -1,5 +1,5 @@
/* Uppercase mapping for UTF-8 substrings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-is-cased.c b/lib/unicase/u8-is-cased.c
index 5e56aafb..5a3012a8 100644
--- a/lib/unicase/u8-is-cased.c
+++ b/lib/unicase/u8-is-cased.c
@@ -1,5 +1,5 @@
/* Test whether case matters for an UTF-8 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-is-casefolded.c b/lib/unicase/u8-is-casefolded.c
index 75dfa7b3..acdd1225 100644
--- a/lib/unicase/u8-is-casefolded.c
+++ b/lib/unicase/u8-is-casefolded.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-8 string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-is-invariant.c b/lib/unicase/u8-is-invariant.c
index 57c72a59..d30164bd 100644
--- a/lib/unicase/u8-is-invariant.c
+++ b/lib/unicase/u8-is-invariant.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-8 string is invariant under a given case mapping.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-is-lowercase.c b/lib/unicase/u8-is-lowercase.c
index 3ddb074b..2e813ce1 100644
--- a/lib/unicase/u8-is-lowercase.c
+++ b/lib/unicase/u8-is-lowercase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-8 string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-is-titlecase.c b/lib/unicase/u8-is-titlecase.c
index 946c390e..6e88557b 100644
--- a/lib/unicase/u8-is-titlecase.c
+++ b/lib/unicase/u8-is-titlecase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-8 string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-is-uppercase.c b/lib/unicase/u8-is-uppercase.c
index 25adbb19..28eaaeff 100644
--- a/lib/unicase/u8-is-uppercase.c
+++ b/lib/unicase/u8-is-uppercase.c
@@ -1,5 +1,5 @@
/* Test whether an UTF-8 string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-prefix-context.c b/lib/unicase/u8-prefix-context.c
index 2e479b1e..997214b3 100644
--- a/lib/unicase/u8-prefix-context.c
+++ b/lib/unicase/u8-prefix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of prefix UTF-8 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-suffix-context.c b/lib/unicase/u8-suffix-context.c
index b897e5e7..66acf564 100644
--- a/lib/unicase/u8-suffix-context.c
+++ b/lib/unicase/u8-suffix-context.c
@@ -1,5 +1,5 @@
/* Case-mapping context of suffix UTF-8 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-tolower.c b/lib/unicase/u8-tolower.c
index 63459fcf..2ec21ade 100644
--- a/lib/unicase/u8-tolower.c
+++ b/lib/unicase/u8-tolower.c
@@ -1,5 +1,5 @@
/* Lowercase mapping for UTF-8 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-totitle.c b/lib/unicase/u8-totitle.c
index 856d5159..31862b13 100644
--- a/lib/unicase/u8-totitle.c
+++ b/lib/unicase/u8-totitle.c
@@ -1,5 +1,5 @@
/* Titlecase mapping for UTF-8 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/u8-toupper.c b/lib/unicase/u8-toupper.c
index 1d7e22c3..064d735f 100644
--- a/lib/unicase/u8-toupper.c
+++ b/lib/unicase/u8-toupper.c
@@ -1,5 +1,5 @@
/* Uppercase mapping for UTF-8 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/ulc-casecmp.c b/lib/unicase/ulc-casecmp.c
index fda5558e..e10bea8f 100644
--- a/lib/unicase/ulc-casecmp.c
+++ b/lib/unicase/ulc-casecmp.c
@@ -1,5 +1,5 @@
/* Case and normalization insensitive comparison of strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/ulc-casecoll.c b/lib/unicase/ulc-casecoll.c
index 0ef8bf5a..ea4bdf16 100644
--- a/lib/unicase/ulc-casecoll.c
+++ b/lib/unicase/ulc-casecoll.c
@@ -1,5 +1,5 @@
/* Locale dependent, case and normalization insensitive comparison of strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/ulc-casexfrm.c b/lib/unicase/ulc-casexfrm.c
index e83dae57..ce523c9d 100644
--- a/lib/unicase/ulc-casexfrm.c
+++ b/lib/unicase/ulc-casexfrm.c
@@ -1,5 +1,5 @@
/* Locale dependent transformation for case insensitive comparison of strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unicase/unicasemap.h b/lib/unicase/unicasemap.h
index a03088e1..783b3930 100644
--- a/lib/unicase/unicasemap.h
+++ b/lib/unicase/unicasemap.h
@@ -1,5 +1,5 @@
/* Case mapping for UTF-8/UTF-16/UTF-32 strings (locale dependent).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniconv.in.h b/lib/uniconv.in.h
index be9ad8d7..6513e70e 100644
--- a/lib/uniconv.in.h
+++ b/lib/uniconv.in.h
@@ -1,5 +1,5 @@
/* Conversions between Unicode and legacy encodings.
- Copyright (C) 2002, 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uniconv/u-conv-from-enc.h b/lib/uniconv/u-conv-from-enc.h
index ba9abbb3..31e30e1e 100644
--- a/lib/uniconv/u-conv-from-enc.h
+++ b/lib/uniconv/u-conv-from-enc.h
@@ -1,5 +1,5 @@
/* Conversion to UTF-16/UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u-conv-to-enc.h b/lib/uniconv/u-conv-to-enc.h
index 437d6887..74c7fa39 100644
--- a/lib/uniconv/u-conv-to-enc.h
+++ b/lib/uniconv/u-conv-to-enc.h
@@ -1,5 +1,5 @@
/* Conversion from UTF-16/UTF-32 to legacy encodings.
- Copyright (C) 2002, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u-strconv-from-enc.h b/lib/uniconv/u-strconv-from-enc.h
index 67540946..9f3e099d 100644
--- a/lib/uniconv/u-strconv-from-enc.h
+++ b/lib/uniconv/u-strconv-from-enc.h
@@ -1,5 +1,5 @@
/* Conversion to UTF-8/UTF-16/UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uniconv/u-strconv-to-enc.h b/lib/uniconv/u-strconv-to-enc.h
index 36a51adc..ee7f9646 100644
--- a/lib/uniconv/u-strconv-to-enc.h
+++ b/lib/uniconv/u-strconv-to-enc.h
@@ -1,5 +1,5 @@
/* Conversion from UTF-16/UTF-32 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u16-conv-from-enc.c b/lib/uniconv/u16-conv-from-enc.c
index ef60f358..272cba3f 100644
--- a/lib/uniconv/u16-conv-from-enc.c
+++ b/lib/uniconv/u16-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-16 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -36,7 +36,8 @@
#include "unistr.h"
/* Name of UTF-16 encoding with machine dependent endianness and alignment. */
-#if defined _LIBICONV_VERSION || (((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__)
+#if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || (((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__)
# ifdef WORDS_BIGENDIAN
# define UTF16_NAME "UTF-16BE"
# else
diff --git a/lib/uniconv/u16-conv-to-enc.c b/lib/uniconv/u16-conv-to-enc.c
index faf84014..08f4e063 100644
--- a/lib/uniconv/u16-conv-to-enc.c
+++ b/lib/uniconv/u16-conv-to-enc.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-16 to legacy encodings.
- Copyright (C) 2002, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -39,7 +39,8 @@
#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
/* Name of UTF-16 encoding with machine dependent endianness and alignment. */
-#if defined _LIBICONV_VERSION || (((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__)
+#if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || (((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__)
# ifdef WORDS_BIGENDIAN
# define UTF16_NAME "UTF-16BE"
# else
diff --git a/lib/uniconv/u16-strconv-from-enc.c b/lib/uniconv/u16-strconv-from-enc.c
index a417e228..1572978f 100644
--- a/lib/uniconv/u16-strconv-from-enc.c
+++ b/lib/uniconv/u16-strconv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-16 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u16-strconv-from-locale.c b/lib/uniconv/u16-strconv-from-locale.c
index 85dd17bd..24025787 100644
--- a/lib/uniconv/u16-strconv-from-locale.c
+++ b/lib/uniconv/u16-strconv-from-locale.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-16 from the locale encoding.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u16-strconv-to-enc.c b/lib/uniconv/u16-strconv-to-enc.c
index 5e0d6727..7a5ab818 100644
--- a/lib/uniconv/u16-strconv-to-enc.c
+++ b/lib/uniconv/u16-strconv-to-enc.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-16 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -39,7 +39,8 @@
#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
/* Name of UTF-16 encoding with machine dependent endianness and alignment. */
-#if defined _LIBICONV_VERSION || (((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__)
+#if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || (((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__)
# ifdef WORDS_BIGENDIAN
# define UTF16_NAME "UTF-16BE"
# else
diff --git a/lib/uniconv/u16-strconv-to-locale.c b/lib/uniconv/u16-strconv-to-locale.c
index a9ea0392..e0290a17 100644
--- a/lib/uniconv/u16-strconv-to-locale.c
+++ b/lib/uniconv/u16-strconv-to-locale.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-16 to the locale encoding.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u32-conv-from-enc.c b/lib/uniconv/u32-conv-from-enc.c
index ba1a1252..6e5f0495 100644
--- a/lib/uniconv/u32-conv-from-enc.c
+++ b/lib/uniconv/u32-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -37,7 +37,7 @@
/* Name of UTF-32 or UCS-4 encoding with machine dependent endianness and
alignment. */
-#if defined _LIBICONV_VERSION
+#if defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)
# define UTF32_NAME "UCS-4-INTERNAL"
#elif ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__
# define UTF32_NAME "WCHAR_T"
diff --git a/lib/uniconv/u32-conv-to-enc.c b/lib/uniconv/u32-conv-to-enc.c
index e12aae99..e446c692 100644
--- a/lib/uniconv/u32-conv-to-enc.c
+++ b/lib/uniconv/u32-conv-to-enc.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-32 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -40,7 +40,7 @@
/* Name of UTF-32 or UCS-4 encoding with machine dependent endianness and
alignment. */
-#if defined _LIBICONV_VERSION
+#if defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)
# define UTF32_NAME "UCS-4-INTERNAL"
#elif ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__
# define UTF32_NAME "WCHAR_T"
diff --git a/lib/uniconv/u32-strconv-from-enc.c b/lib/uniconv/u32-strconv-from-enc.c
index ebf4ede3..9254a75e 100644
--- a/lib/uniconv/u32-strconv-from-enc.c
+++ b/lib/uniconv/u32-strconv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u32-strconv-from-locale.c b/lib/uniconv/u32-strconv-from-locale.c
index 1290f810..6f194370 100644
--- a/lib/uniconv/u32-strconv-from-locale.c
+++ b/lib/uniconv/u32-strconv-from-locale.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-32 from the locale encoding.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u32-strconv-to-enc.c b/lib/uniconv/u32-strconv-to-enc.c
index fd89ee1e..c7fb3f0d 100644
--- a/lib/uniconv/u32-strconv-to-enc.c
+++ b/lib/uniconv/u32-strconv-to-enc.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-32 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -40,7 +40,7 @@
/* Name of UTF-32 or UCS-4 encoding with machine dependent endianness and
alignment. */
-#if defined _LIBICONV_VERSION
+#if defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)
# define UTF32_NAME "UCS-4-INTERNAL"
#elif ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined __UCLIBC__
# define UTF32_NAME "WCHAR_T"
diff --git a/lib/uniconv/u32-strconv-to-locale.c b/lib/uniconv/u32-strconv-to-locale.c
index acc1a3b0..f3b91e31 100644
--- a/lib/uniconv/u32-strconv-to-locale.c
+++ b/lib/uniconv/u32-strconv-to-locale.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-32 to the locale encoding.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u8-conv-from-enc.c b/lib/uniconv/u8-conv-from-enc.c
index b8f0fd39..424a949e 100644
--- a/lib/uniconv/u8-conv-from-enc.c
+++ b/lib/uniconv/u8-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-8 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uniconv/u8-conv-to-enc.c b/lib/uniconv/u8-conv-to-enc.c
index 7c2e6e11..60cb7893 100644
--- a/lib/uniconv/u8-conv-to-enc.c
+++ b/lib/uniconv/u8-conv-to-enc.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-8 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u8-strconv-from-enc.c b/lib/uniconv/u8-strconv-from-enc.c
index 83b6dd3a..22811c77 100644
--- a/lib/uniconv/u8-strconv-from-enc.c
+++ b/lib/uniconv/u8-strconv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-8 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uniconv/u8-strconv-from-locale.c b/lib/uniconv/u8-strconv-from-locale.c
index 485593e2..9e50163d 100644
--- a/lib/uniconv/u8-strconv-from-locale.c
+++ b/lib/uniconv/u8-strconv-from-locale.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-8 from the locale encoding.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uniconv/u8-strconv-to-enc.c b/lib/uniconv/u8-strconv-to-enc.c
index aa6873fc..7745b619 100644
--- a/lib/uniconv/u8-strconv-to-enc.c
+++ b/lib/uniconv/u8-strconv-to-enc.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-8 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/uniconv/u8-strconv-to-locale.c b/lib/uniconv/u8-strconv-to-locale.c
index 7faa3ffd..14fe37c6 100644
--- a/lib/uniconv/u8-strconv-to-locale.c
+++ b/lib/uniconv/u8-strconv-to-locale.c
@@ -1,5 +1,5 @@
/* Conversion from UTF-8 to the locale encoding.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype.in.h b/lib/unictype.in.h
index 1145b769..153df34d 100644
--- a/lib/unictype.in.h
+++ b/lib/unictype.in.h
@@ -1,5 +1,5 @@
/* Unicode character classification and properties.
- Copyright (C) 2002, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -19,15 +19,18 @@
#include "unitypes.h"
-/* Get LIBUNISTRING_DLL_VARIABLE. */
-#include <unistring/woe32dll.h>
-
/* Get bool. */
#include <unistring/stdbool.h>
/* Get size_t. */
#include <stddef.h>
+#if @HAVE_UNISTRING_WOE32DLL_H@
+# include <unistring/woe32dll.h>
+#else
+# define LIBUNISTRING_DLL_VARIABLE
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -104,44 +107,44 @@ enum
};
/* Predefined General category values. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_L;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_LC;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Lu;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Ll;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Lt;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Lm;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Lo;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_M;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Mn;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Mc;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Me;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_N;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Nd;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Nl;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_No;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_P;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Pc;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Pd;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Ps;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Pe;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Pi;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Pf;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Po;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_S;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Sm;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Sc;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Sk;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_So;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Z;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Zs;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Zl;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Zp;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_C;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Cc;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Cf;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Cs;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Co;
-extern LIBUNISTRING_DLL_VARIABLE const uc_general_category_t UC_CATEGORY_Cn;
+extern @GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_L;
+extern @GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_LC;
+extern @GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Lu;
+extern @GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Ll;
+extern @GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Lt;
+extern @GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Lm;
+extern @GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Lo;
+extern @GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_M;
+extern @GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Mn;
+extern @GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Mc;
+extern @GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Me;
+extern @GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_N;
+extern @GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Nd;
+extern @GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Nl;
+extern @GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_No;
+extern @GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_P;
+extern @GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Pc;
+extern @GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Pd;
+extern @GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Ps;
+extern @GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Pe;
+extern @GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Pi;
+extern @GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Pf;
+extern @GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Po;
+extern @GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_S;
+extern @GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Sm;
+extern @GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Sc;
+extern @GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Sk;
+extern @GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_So;
+extern @GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Z;
+extern @GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Zs;
+extern @GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Zl;
+extern @GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Zp;
+extern @GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_C;
+extern @GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Cc;
+extern @GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Cf;
+extern @GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Cs;
+extern @GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Co;
+extern @GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@ const uc_general_category_t UC_CATEGORY_Cn;
/* Non-public. */
extern const uc_general_category_t _UC_CATEGORY_NONE;
@@ -605,107 +608,111 @@ uc_property_t;
/* Predefined properties. */
/* General. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_WHITE_SPACE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_ALPHABETIC;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_NOT_A_CHARACTER;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_DEPRECATED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_VARIATION_SELECTOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_PRIVATE_USE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE;
+extern @GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_WHITE_SPACE;
+extern @GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ALPHABETIC;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC;
+extern @GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_NOT_A_CHARACTER;
+extern @GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT;
+extern @GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DEPRECATED;
+extern @GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION;
+extern @GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_VARIATION_SELECTOR;
+extern @GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PRIVATE_USE;
+extern @GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE;
/* Case. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_UPPERCASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_UPPERCASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_LOWERCASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_LOWERCASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_TITLECASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CASED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CASE_IGNORABLE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CHANGES_WHEN_LOWERCASED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CHANGES_WHEN_TITLECASED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEFOLDED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEMAPPED;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_SOFT_DOTTED;
+extern @GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_UPPERCASE;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_UPPERCASE;
+extern @GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_LOWERCASE;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_LOWERCASE;
+extern @GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_TITLECASE;
+extern @GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CASED;
+extern @GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CASE_IGNORABLE;
+extern @GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CHANGES_WHEN_LOWERCASED;
+extern @GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED;
+extern @GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CHANGES_WHEN_TITLECASED;
+extern @GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEFOLDED;
+extern @GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEMAPPED;
+extern @GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_SOFT_DOTTED;
/* Identifiers. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_ID_START;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_ID_START;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_ID_CONTINUE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_XID_START;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_XID_CONTINUE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ID_START;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_ID_START;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ID_CONTINUE;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
+extern @GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_XID_START;
+extern @GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_XID_CONTINUE;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE;
+extern @GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
+extern @GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
/* Shaping and rendering. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_JOIN_CONTROL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_GRAPHEME_BASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_GRAPHEME_LINK;
+extern @GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_JOIN_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_GRAPHEME_BASE;
+extern @GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
+extern @GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_GRAPHEME_LINK;
/* Bidi. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_CONTROL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_WHITESPACE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_PDF;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_WHITESPACE;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_PDF;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE;
+extern @GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL;
/* Numeric. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_HEX_DIGIT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT;
+extern @GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_HEX_DIGIT;
+extern @GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT;
/* CJK. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_IDEOGRAPHIC;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_RADICAL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDEOGRAPHIC;
+extern @GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
+extern @GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_RADICAL;
+extern @GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
/* Emoji. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EMOJI;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EMOJI_PRESENTATION;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EMOJI_MODIFIER;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EMOJI_MODIFIER_BASE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EMOJI_COMPONENT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EXTENDED_PICTOGRAPHIC;
+extern @GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EMOJI;
+extern @GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EMOJI_PRESENTATION;
+extern @GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EMOJI_MODIFIER;
+extern @GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EMOJI_MODIFIER_BASE;
+extern @GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EMOJI_COMPONENT;
+extern @GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EXTENDED_PICTOGRAPHIC;
/* Misc. */
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_ZERO_WIDTH;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_SPACE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_NON_BREAK;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_ISO_CONTROL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_FORMAT_CONTROL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_DASH;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_HYPHEN;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_PUNCTUATION;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_LINE_SEPARATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_QUOTATION_MARK;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_MATH;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_OTHER_MATH;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_LEFT_OF_PAIR;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_COMBINING;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_COMPOSITE;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_DECIMAL_DIGIT;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_NUMERIC;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_DIACRITIC;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_EXTENDER;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL;
-extern LIBUNISTRING_DLL_VARIABLE const uc_property_t UC_PROPERTY_REGIONAL_INDICATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ZERO_WIDTH;
+extern @GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_SPACE;
+extern @GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_NON_BREAK;
+extern @GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_ISO_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_FORMAT_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK;
+extern @GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DASH;
+extern @GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_HYPHEN;
+extern @GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PUNCTUATION;
+extern @GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_LINE_SEPARATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR;
+extern @GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_QUOTATION_MARK;
+extern @GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL;
+extern @GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION;
+extern @GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL;
+extern @GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_MATH;
+extern @GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_OTHER_MATH;
+extern @GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION;
+extern @GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_LEFT_OF_PAIR;
+extern @GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_COMBINING;
+extern @GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_COMPOSITE;
+extern @GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DECIMAL_DIGIT;
+extern @GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_NUMERIC;
+extern @GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_DIACRITIC;
+extern @GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_EXTENDER;
+extern @GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@ const uc_property_t UC_PROPERTY_REGIONAL_INDICATOR;
/* Return the property given by name, e.g. "White space". */
extern uc_property_t
@@ -777,6 +784,10 @@ extern bool uc_is_property_xid_start (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_xid_continue (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_compat_math_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_compat_math_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
extern bool uc_is_property_pattern_white_space (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_pattern_syntax (ucs4_t uc)
@@ -835,6 +846,8 @@ extern bool uc_is_property_unified_ideograph (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_radical (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_unary_operator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
extern bool uc_is_property_ids_binary_operator (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_ids_trinary_operator (ucs4_t uc)
@@ -861,6 +874,8 @@ extern bool uc_is_property_iso_control (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_format_control (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_prepended_concatenation_mark (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
extern bool uc_is_property_dash (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_hyphen (ucs4_t uc)
@@ -906,6 +921,40 @@ extern bool uc_is_property_regional_indicator (ucs4_t uc)
/* ========================================================================= */
+/* Other attributes. */
+
+/* ------------------------------------------------------------------------- */
+
+/* Indic_Conjunct_Break (InCB): from the file DerivedCoreProperties.txt
+ in the Unicode Character Database. */
+
+/* Possible values of the Indic_Conjunct_Break attribute.
+ This enumeration may be extended in the future. */
+enum
+{
+ UC_INDIC_CONJUNCT_BREAK_NONE, /* None */
+ UC_INDIC_CONJUNCT_BREAK_CONSONANT, /* Consonant */
+ UC_INDIC_CONJUNCT_BREAK_LINKER, /* Linker */
+ UC_INDIC_CONJUNCT_BREAK_EXTEND /* Extend */
+};
+
+/* Return the name of an Indic_Conjunct_Break value. */
+extern const char *
+ uc_indic_conjunct_break_name (int indic_conjunct_break)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the Indic_Conjunct_Break value given by name, e.g. "Consonant". */
+extern int
+ uc_indic_conjunct_break_byname (const char *indic_conjunct_break_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the Indic_Conjunct_Break attribute of a Unicode character. */
+extern int
+ uc_indic_conjunct_break (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
/* Subdivision of the Unicode characters into scripts. */
typedef struct
diff --git a/lib/unictype/bidi_byname.c b/lib/unictype/bidi_byname.c
index 232d59c4..9f8fc256 100644
--- a/lib/unictype/bidi_byname.c
+++ b/lib/unictype/bidi_byname.c
@@ -1,5 +1,5 @@
/* Bidi classes of Unicode characters.
- Copyright (C) 2002, 2006, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/bidi_byname.gperf b/lib/unictype/bidi_byname.gperf
index 7ff7eb6e..59c10725 100644
--- a/lib/unictype/bidi_byname.gperf
+++ b/lib/unictype/bidi_byname.gperf
@@ -1,5 +1,5 @@
/* Bidi classes of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/bidi_byname.h b/lib/unictype/bidi_byname.h
index c289fe75..1dfdab65 100644
--- a/lib/unictype/bidi_byname.h
+++ b/lib/unictype/bidi_byname.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unictype/bidi_byname.gperf */
+/* Command-line: gperf -m 10 ../../lib/unictype/bidi_byname.gperf */
/* Computed positions: -k'1,9,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 25 "./unictype/bidi_byname.gperf"
+#line 25 "../../lib/unictype/bidi_byname.gperf"
struct named_bidi_class { int name; int bidi_class; };
#define TOTAL_KEYWORDS 69
@@ -294,153 +294,153 @@ static const struct bidi_class_stringpool_t bidi_class_stringpool_contents =
static const struct named_bidi_class bidi_class_names[] =
{
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 54 "./unictype/bidi_byname.gperf"
+#line 54 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str5, UC_BIDI_R},
-#line 42 "./unictype/bidi_byname.gperf"
+#line 42 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str6, UC_BIDI_EN},
-#line 55 "./unictype/bidi_byname.gperf"
+#line 55 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str7, UC_BIDI_RLE},
{-1},
-#line 38 "./unictype/bidi_byname.gperf"
+#line 38 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str9, UC_BIDI_AN},
-#line 47 "./unictype/bidi_byname.gperf"
+#line 47 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str10, UC_BIDI_LRE},
-#line 46 "./unictype/bidi_byname.gperf"
+#line 46 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str11, UC_BIDI_L},
-#line 37 "./unictype/bidi_byname.gperf"
+#line 37 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str12, UC_BIDI_AL},
-#line 51 "./unictype/bidi_byname.gperf"
+#line 51 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str13, UC_BIDI_ON},
-#line 57 "./unictype/bidi_byname.gperf"
+#line 57 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str14, UC_BIDI_RLO},
{-1},
-#line 56 "./unictype/bidi_byname.gperf"
+#line 56 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str16, UC_BIDI_RLI},
-#line 49 "./unictype/bidi_byname.gperf"
+#line 49 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str17, UC_BIDI_LRO},
-#line 53 "./unictype/bidi_byname.gperf"
+#line 53 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str18, UC_BIDI_PDI},
-#line 48 "./unictype/bidi_byname.gperf"
+#line 48 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str19, UC_BIDI_LRI},
-#line 71 "./unictype/bidi_byname.gperf"
+#line 71 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str20, UC_BIDI_EN},
{-1},
-#line 60 "./unictype/bidi_byname.gperf"
+#line 60 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str22, UC_BIDI_AL},
{-1},
-#line 99 "./unictype/bidi_byname.gperf"
+#line 99 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str24, UC_BIDI_RLI},
-#line 101 "./unictype/bidi_byname.gperf"
+#line 101 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str25, UC_BIDI_RLO},
-#line 97 "./unictype/bidi_byname.gperf"
+#line 97 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str26, UC_BIDI_RLE},
-#line 83 "./unictype/bidi_byname.gperf"
+#line 83 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str27, UC_BIDI_LRI},
-#line 85 "./unictype/bidi_byname.gperf"
+#line 85 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str28, UC_BIDI_LRO},
-#line 81 "./unictype/bidi_byname.gperf"
+#line 81 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str29, UC_BIDI_LRE},
-#line 82 "./unictype/bidi_byname.gperf"
+#line 82 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str30, UC_BIDI_LRI},
-#line 84 "./unictype/bidi_byname.gperf"
+#line 84 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str31, UC_BIDI_LRO},
-#line 80 "./unictype/bidi_byname.gperf"
+#line 80 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str32, UC_BIDI_LRE},
-#line 70 "./unictype/bidi_byname.gperf"
+#line 70 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str33, UC_BIDI_EN},
-#line 44 "./unictype/bidi_byname.gperf"
+#line 44 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str34, UC_BIDI_ET},
-#line 40 "./unictype/bidi_byname.gperf"
+#line 40 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str35, UC_BIDI_BN},
-#line 72 "./unictype/bidi_byname.gperf"
+#line 72 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str36, UC_BIDI_ES},
-#line 74 "./unictype/bidi_byname.gperf"
+#line 74 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str37, UC_BIDI_ET},
-#line 43 "./unictype/bidi_byname.gperf"
+#line 43 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str38, UC_BIDI_ES},
-#line 98 "./unictype/bidi_byname.gperf"
+#line 98 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str39, UC_BIDI_RLI},
-#line 100 "./unictype/bidi_byname.gperf"
+#line 100 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str40, UC_BIDI_RLO},
-#line 96 "./unictype/bidi_byname.gperf"
+#line 96 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str41, UC_BIDI_RLE},
-#line 68 "./unictype/bidi_byname.gperf"
+#line 68 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str42, UC_BIDI_CS},
-#line 69 "./unictype/bidi_byname.gperf"
+#line 69 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str43, UC_BIDI_CS},
{-1},
-#line 95 "./unictype/bidi_byname.gperf"
+#line 95 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str45, UC_BIDI_R},
-#line 104 "./unictype/bidi_byname.gperf"
+#line 104 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str46, UC_BIDI_WS},
{-1},
-#line 79 "./unictype/bidi_byname.gperf"
+#line 79 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str48, UC_BIDI_L},
-#line 61 "./unictype/bidi_byname.gperf"
+#line 61 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str49, UC_BIDI_AL},
-#line 78 "./unictype/bidi_byname.gperf"
+#line 78 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str50, UC_BIDI_L},
-#line 92 "./unictype/bidi_byname.gperf"
+#line 92 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str51, UC_BIDI_PDI},
-#line 75 "./unictype/bidi_byname.gperf"
+#line 75 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str52, UC_BIDI_ET},
-#line 67 "./unictype/bidi_byname.gperf"
+#line 67 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str53, UC_BIDI_BN},
-#line 103 "./unictype/bidi_byname.gperf"
+#line 103 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str54, UC_BIDI_S},
-#line 73 "./unictype/bidi_byname.gperf"
+#line 73 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str55, UC_BIDI_ES},
-#line 89 "./unictype/bidi_byname.gperf"
+#line 89 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str56, UC_BIDI_ON},
-#line 93 "./unictype/bidi_byname.gperf"
+#line 93 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str57, UC_BIDI_PDI},
-#line 41 "./unictype/bidi_byname.gperf"
+#line 41 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str58, UC_BIDI_CS},
-#line 94 "./unictype/bidi_byname.gperf"
+#line 94 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str59, UC_BIDI_R},
-#line 52 "./unictype/bidi_byname.gperf"
+#line 52 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str60, UC_BIDI_PDF},
-#line 62 "./unictype/bidi_byname.gperf"
+#line 62 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str61, UC_BIDI_AN},
-#line 105 "./unictype/bidi_byname.gperf"
+#line 105 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str62, UC_BIDI_WS},
-#line 39 "./unictype/bidi_byname.gperf"
+#line 39 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str63, UC_BIDI_B},
-#line 59 "./unictype/bidi_byname.gperf"
+#line 59 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str64, UC_BIDI_WS},
-#line 50 "./unictype/bidi_byname.gperf"
+#line 50 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str65, UC_BIDI_NSM},
-#line 66 "./unictype/bidi_byname.gperf"
+#line 66 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str66, UC_BIDI_BN},
-#line 45 "./unictype/bidi_byname.gperf"
+#line 45 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str67, UC_BIDI_FSI},
-#line 88 "./unictype/bidi_byname.gperf"
+#line 88 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str68, UC_BIDI_ON},
-#line 58 "./unictype/bidi_byname.gperf"
+#line 58 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str69, UC_BIDI_S},
-#line 87 "./unictype/bidi_byname.gperf"
+#line 87 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str70, UC_BIDI_NSM},
-#line 86 "./unictype/bidi_byname.gperf"
+#line 86 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str71, UC_BIDI_NSM},
-#line 65 "./unictype/bidi_byname.gperf"
+#line 65 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str72, UC_BIDI_B},
-#line 64 "./unictype/bidi_byname.gperf"
+#line 64 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str73, UC_BIDI_B},
{-1}, {-1}, {-1},
-#line 76 "./unictype/bidi_byname.gperf"
+#line 76 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str77, UC_BIDI_FSI},
-#line 90 "./unictype/bidi_byname.gperf"
+#line 90 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str78, UC_BIDI_PDF},
-#line 63 "./unictype/bidi_byname.gperf"
+#line 63 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str79, UC_BIDI_AN},
{-1}, {-1},
-#line 77 "./unictype/bidi_byname.gperf"
+#line 77 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str82, UC_BIDI_FSI},
{-1},
-#line 91 "./unictype/bidi_byname.gperf"
+#line 91 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str84, UC_BIDI_PDF},
{-1}, {-1},
-#line 102 "./unictype/bidi_byname.gperf"
+#line 102 "../../lib/unictype/bidi_byname.gperf"
{(int)(size_t)&((struct bidi_class_stringpool_t *)0)->bidi_class_stringpool_str87, UC_BIDI_S}
};
diff --git a/lib/unictype/bidi_longname.c b/lib/unictype/bidi_longname.c
index a4fd2358..aec89d9f 100644
--- a/lib/unictype/bidi_longname.c
+++ b/lib/unictype/bidi_longname.c
@@ -1,5 +1,5 @@
/* Bidi classes of Unicode characters.
- Copyright (C) 2002, 2006, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/bidi_name.c b/lib/unictype/bidi_name.c
index c289295c..7e0c3bd6 100644
--- a/lib/unictype/bidi_name.c
+++ b/lib/unictype/bidi_name.c
@@ -1,5 +1,5 @@
/* Bidi classes of Unicode characters.
- Copyright (C) 2002, 2006, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/bidi_of.c b/lib/unictype/bidi_of.c
index eed2a3d8..379b686c 100644
--- a/lib/unictype/bidi_of.c
+++ b/lib/unictype/bidi_of.c
@@ -1,5 +1,5 @@
/* Bidi classes of Unicode characters.
- Copyright (C) 2002, 2006, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/bidi_of.h b/lib/unictype/bidi_of.h
index 45bfee8c..8b577189 100644
--- a/lib/unictype/bidi_of.h
+++ b/lib/unictype/bidi_of.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Bidi categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -624,7 +624,7 @@ u_bidi_category =
0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
0x94a5, 0x4a52, 0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x094a, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
0x4a51, 0x0129, 0x5200, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
0x294a, 0x94a5, 0x0012, 0x0000, 0x0000, 0xd6b4, 0x001a, 0x0012,
0x8000, 0x0094, 0x0000, 0x94a4, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -639,7 +639,7 @@ u_bidi_category =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a,
0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0009,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x9000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x04a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
diff --git a/lib/unictype/bidi_test.c b/lib/unictype/bidi_test.c
index fab5ae2b..5e6da725 100644
--- a/lib/unictype/bidi_test.c
+++ b/lib/unictype/bidi_test.c
@@ -1,5 +1,5 @@
/* Bidi classes of Unicode characters.
- Copyright (C) 2002, 2006, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/bitmap.h b/lib/unictype/bitmap.h
index 5bd46368..dba23655 100644
--- a/lib/unictype/bitmap.h
+++ b/lib/unictype/bitmap.h
@@ -1,5 +1,5 @@
/* Three-level bitmap lookup.
- Copyright (C) 2000-2002, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2000-2002, 2005-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/block_test.c b/lib/unictype/block_test.c
index 569ff80e..305f9a3c 100644
--- a/lib/unictype/block_test.c
+++ b/lib/unictype/block_test.c
@@ -1,5 +1,5 @@
/* Blocks of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/blocks.c b/lib/unictype/blocks.c
index a025da0a..987fe67b 100644
--- a/lib/unictype/blocks.c
+++ b/lib/unictype/blocks.c
@@ -1,5 +1,5 @@
/* Blocks of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/blocks.h b/lib/unictype/blocks.h
index e8e56d0f..792dd784 100644
--- a/lib/unictype/blocks.h
+++ b/lib/unictype/blocks.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Unicode blocks. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -347,6 +347,7 @@ static const uc_block_t blocks[] =
{ 0x2B740, 0x2B81F, "CJK Unified Ideographs Extension D" },
{ 0x2B820, 0x2CEAF, "CJK Unified Ideographs Extension E" },
{ 0x2CEB0, 0x2EBEF, "CJK Unified Ideographs Extension F" },
+ { 0x2EBF0, 0x2EE5F, "CJK Unified Ideographs Extension I" },
{ 0x2F800, 0x2FA1F, "CJK Compatibility Ideographs Supplement" },
{ 0x30000, 0x3134F, "CJK Unified Ideographs Extension G" },
{ 0x31350, 0x323AF, "CJK Unified Ideographs Extension H" },
@@ -1001,4 +1002,4 @@ static const uint16_t blocks_level1[640 * 2] =
315, 316
};
#define blocks_upper_first_index 315
-#define blocks_upper_last_index 327
+#define blocks_upper_last_index 328
diff --git a/lib/unictype/categ_C.c b/lib/unictype/categ_C.c
index 5333f45d..7bae9d2b 100644
--- a/lib/unictype/categ_C.c
+++ b/lib/unictype/categ_C.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_C.h b/lib/unictype/categ_C.h
index 2e1b3a0a..d897481e 100644
--- a/lib/unictype/categ_C.h
+++ b/lib/unictype/categ_C.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[17];
short level2[6 << 7];
- unsigned int level3[89 << 4];
+ unsigned int level3[90 << 4];
}
u_categ_C =
{
@@ -434,14 +434,14 @@ u_categ_C =
-1,
-1,
18 + 768 * sizeof (short) / sizeof (int) + 1344,
- 18 + 768 * sizeof (short) / sizeof (int) + 432,
- 18 + 768 * sizeof (short) / sizeof (int) + 432,
+ -1,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1360,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
-1,
- 18 + 768 * sizeof (short) / sizeof (int) + 1360,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1376,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
-1,
@@ -453,7 +453,7 @@ u_categ_C =
-1,
-1,
-1,
- 18 + 768 * sizeof (short) / sizeof (int) + 1376,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1392,
-1,
-1,
-1,
@@ -461,7 +461,7 @@ u_categ_C =
-1,
-1,
-1,
- 18 + 768 * sizeof (short) / sizeof (int) + 1392,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1408,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
@@ -700,7 +700,7 @@ u_categ_C =
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
- 18 + 768 * sizeof (short) / sizeof (int) + 1408,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1424,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
18 + 768 * sizeof (short) / sizeof (int) + 432,
@@ -909,11 +909,11 @@ u_categ_C =
0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
0x04000000U, 0x00000000U, 0x00000000U, 0xFFF00000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0xFFC00000U, 0xF000FFFFU,
+ 0x00000000U, 0x00000000U, 0xFFC00000U, 0x0000FFFFU,
0x00000000U, 0x00000000U, 0x00000001U, 0x00000000U,
0x01800000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x0000001FU, 0x00010000U, 0x00000000U, 0x00000000U,
- 0x00008000U, 0x00000000U, 0x00000000U, 0x0000FFF0U,
+ 0x00008000U, 0x00000000U, 0x00000000U, 0x00007FF0U,
0x80000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -1169,7 +1169,11 @@ u_categ_C =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0xFFFFFFFEU,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x0000FFFEU,
+ 0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xC0000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/categ_Cc.c b/lib/unictype/categ_Cc.c
index a07bb294..82afa5c7 100644
--- a/lib/unictype/categ_Cc.c
+++ b/lib/unictype/categ_Cc.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Cc.h b/lib/unictype/categ_Cc.h
index b6c71ab4..c13e4890 100644
--- a/lib/unictype/categ_Cc.h
+++ b/lib/unictype/categ_Cc.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Cf.c b/lib/unictype/categ_Cf.c
index df2e5956..b69f10a7 100644
--- a/lib/unictype/categ_Cf.c
+++ b/lib/unictype/categ_Cf.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Cf.h b/lib/unictype/categ_Cf.h
index dd087c61..15917012 100644
--- a/lib/unictype/categ_Cf.h
+++ b/lib/unictype/categ_Cf.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Cn.c b/lib/unictype/categ_Cn.c
index 3f7cdb64..97b54e7d 100644
--- a/lib/unictype/categ_Cn.c
+++ b/lib/unictype/categ_Cn.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Cn.h b/lib/unictype/categ_Cn.h
index 39745f3c..313ede02 100644
--- a/lib/unictype/categ_Cn.h
+++ b/lib/unictype/categ_Cn.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[17];
short level2[7 << 7];
- unsigned int level3[88 << 4];
+ unsigned int level3[89 << 4];
}
u_categ_Cn =
{
@@ -434,14 +434,14 @@ u_categ_Cn =
-1,
-1,
18 + 896 * sizeof (short) / sizeof (int) + 1312,
- 18 + 896 * sizeof (short) / sizeof (int) + 752,
- 18 + 896 * sizeof (short) / sizeof (int) + 752,
+ -1,
+ 18 + 896 * sizeof (short) / sizeof (int) + 1328,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
-1,
- 18 + 896 * sizeof (short) / sizeof (int) + 1328,
+ 18 + 896 * sizeof (short) / sizeof (int) + 1344,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
-1,
@@ -453,7 +453,7 @@ u_categ_Cn =
-1,
-1,
-1,
- 18 + 896 * sizeof (short) / sizeof (int) + 1344,
+ 18 + 896 * sizeof (short) / sizeof (int) + 1360,
-1,
-1,
-1,
@@ -461,7 +461,7 @@ u_categ_Cn =
-1,
-1,
-1,
- 18 + 896 * sizeof (short) / sizeof (int) + 1360,
+ 18 + 896 * sizeof (short) / sizeof (int) + 1376,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
@@ -700,7 +700,7 @@ u_categ_Cn =
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
- 18 + 896 * sizeof (short) / sizeof (int) + 1376,
+ 18 + 896 * sizeof (short) / sizeof (int) + 1392,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
18 + 896 * sizeof (short) / sizeof (int) + 752,
@@ -955,7 +955,7 @@ u_categ_Cn =
-1,
-1,
-1,
- 18 + 896 * sizeof (short) / sizeof (int) + 1392
+ 18 + 896 * sizeof (short) / sizeof (int) + 1408
},
{
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -1033,11 +1033,11 @@ u_categ_Cn =
0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
0x04000000U, 0x00000000U, 0x00000000U, 0xFFF00000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0xFFC00000U, 0xF000FFFFU,
+ 0x00000000U, 0x00000000U, 0xFFC00000U, 0x0000FFFFU,
0x00000000U, 0x00000000U, 0x00000001U, 0x00000000U,
0x01800000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x0000001FU, 0x00010000U, 0x00000000U, 0x00000000U,
- 0x00008000U, 0x00000000U, 0x00000000U, 0x0000FFF0U,
+ 0x00008000U, 0x00000000U, 0x00000000U, 0x00007FF0U,
0x80000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -1289,7 +1289,11 @@ u_categ_Cn =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0xFFFFFFFEU,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x0000FFFEU,
+ 0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xC0000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/categ_Co.c b/lib/unictype/categ_Co.c
index 375aec95..12cacd59 100644
--- a/lib/unictype/categ_Co.c
+++ b/lib/unictype/categ_Co.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Co.h b/lib/unictype/categ_Co.h
index 6620c15b..bafa2e90 100644
--- a/lib/unictype/categ_Co.h
+++ b/lib/unictype/categ_Co.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Cs.c b/lib/unictype/categ_Cs.c
index 7f23bc15..c45cab91 100644
--- a/lib/unictype/categ_Cs.c
+++ b/lib/unictype/categ_Cs.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Cs.h b/lib/unictype/categ_Cs.h
index 57faf524..9a0da998 100644
--- a/lib/unictype/categ_Cs.h
+++ b/lib/unictype/categ_Cs.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_L.c b/lib/unictype/categ_L.c
index 906d9e6f..86140625 100644
--- a/lib/unictype/categ_L.c
+++ b/lib/unictype/categ_L.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_L.h b/lib/unictype/categ_L.h
index e28ae89f..a1b12ad2 100644
--- a/lib/unictype/categ_L.h
+++ b/lib/unictype/categ_L.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[77 << 4];
+ unsigned int level3[78 << 4];
}
u_categ_L =
{
@@ -421,14 +421,14 @@ u_categ_L =
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 1168,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 320,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1184,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 320,
- 5 + 512 * sizeof (short) / sizeof (int) + 1184,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1200,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 320,
@@ -440,7 +440,7 @@ u_categ_L =
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
- 5 + 512 * sizeof (short) / sizeof (int) + 1200,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1216,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
@@ -448,7 +448,7 @@ u_categ_L =
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
- 5 + 512 * sizeof (short) / sizeof (int) + 1216,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1232,
-1,
-1,
-1,
@@ -856,7 +856,11 @@ u_categ_L =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/categ_LC.c b/lib/unictype/categ_LC.c
index 508e3941..6ca28507 100644
--- a/lib/unictype/categ_LC.c
+++ b/lib/unictype/categ_LC.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/categ_LC.h b/lib/unictype/categ_LC.h
index fbe7a37f..fe9ab9f1 100644
--- a/lib/unictype/categ_LC.h
+++ b/lib/unictype/categ_LC.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Ll.c b/lib/unictype/categ_Ll.c
index f42c33b4..dba117b8 100644
--- a/lib/unictype/categ_Ll.c
+++ b/lib/unictype/categ_Ll.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Ll.h b/lib/unictype/categ_Ll.h
index b932c07a..afc663e6 100644
--- a/lib/unictype/categ_Ll.h
+++ b/lib/unictype/categ_Ll.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Lm.c b/lib/unictype/categ_Lm.c
index 0b777a2d..f8e56044 100644
--- a/lib/unictype/categ_Lm.c
+++ b/lib/unictype/categ_Lm.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Lm.h b/lib/unictype/categ_Lm.h
index 40b5ff90..6ea41acb 100644
--- a/lib/unictype/categ_Lm.h
+++ b/lib/unictype/categ_Lm.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Lo.c b/lib/unictype/categ_Lo.c
index ddaf4852..82a64810 100644
--- a/lib/unictype/categ_Lo.c
+++ b/lib/unictype/categ_Lo.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Lo.h b/lib/unictype/categ_Lo.h
index ce5aa253..489448e2 100644
--- a/lib/unictype/categ_Lo.h
+++ b/lib/unictype/categ_Lo.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[73 << 4];
+ unsigned int level3[74 << 4];
}
u_categ_Lo =
{
@@ -421,14 +421,14 @@ u_categ_Lo =
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 1104,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 288,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1120,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 288,
- 5 + 512 * sizeof (short) / sizeof (int) + 1120,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1136,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 288,
@@ -440,7 +440,7 @@ u_categ_Lo =
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
- 5 + 512 * sizeof (short) / sizeof (int) + 1136,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1152,
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
@@ -448,7 +448,7 @@ u_categ_Lo =
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
5 + 512 * sizeof (short) / sizeof (int) + 288,
- 5 + 512 * sizeof (short) / sizeof (int) + 1152,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1168,
-1,
-1,
-1,
@@ -840,7 +840,11 @@ u_categ_Lo =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/categ_Lt.c b/lib/unictype/categ_Lt.c
index 5b843405..966fc42e 100644
--- a/lib/unictype/categ_Lt.c
+++ b/lib/unictype/categ_Lt.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Lt.h b/lib/unictype/categ_Lt.h
index c19cdaed..64059148 100644
--- a/lib/unictype/categ_Lt.h
+++ b/lib/unictype/categ_Lt.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Lu.c b/lib/unictype/categ_Lu.c
index 846c53ef..6512faaa 100644
--- a/lib/unictype/categ_Lu.c
+++ b/lib/unictype/categ_Lu.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Lu.h b/lib/unictype/categ_Lu.h
index f78619da..6aecd619 100644
--- a/lib/unictype/categ_Lu.h
+++ b/lib/unictype/categ_Lu.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_M.c b/lib/unictype/categ_M.c
index ec724399..ac6fc995 100644
--- a/lib/unictype/categ_M.c
+++ b/lib/unictype/categ_M.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/categ_M.h b/lib/unictype/categ_M.h
index 508b137d..b316a2d8 100644
--- a/lib/unictype/categ_M.h
+++ b/lib/unictype/categ_M.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/unictype/categ_Mc.c b/lib/unictype/categ_Mc.c
index 6432b025..b37e636d 100644
--- a/lib/unictype/categ_Mc.c
+++ b/lib/unictype/categ_Mc.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Mc.h b/lib/unictype/categ_Mc.h
index 11978670..53ce6ef3 100644
--- a/lib/unictype/categ_Mc.h
+++ b/lib/unictype/categ_Mc.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Me.c b/lib/unictype/categ_Me.c
index 744a6432..d52c53a1 100644
--- a/lib/unictype/categ_Me.c
+++ b/lib/unictype/categ_Me.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Me.h b/lib/unictype/categ_Me.h
index 045af893..770b65bb 100644
--- a/lib/unictype/categ_Me.h
+++ b/lib/unictype/categ_Me.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Mn.c b/lib/unictype/categ_Mn.c
index 26ae688d..7d7d6bcf 100644
--- a/lib/unictype/categ_Mn.c
+++ b/lib/unictype/categ_Mn.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Mn.h b/lib/unictype/categ_Mn.h
index 3a0b853b..c24a8f61 100644
--- a/lib/unictype/categ_Mn.h
+++ b/lib/unictype/categ_Mn.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_N.c b/lib/unictype/categ_N.c
index eef974bc..d8e7c083 100644
--- a/lib/unictype/categ_N.c
+++ b/lib/unictype/categ_N.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_N.h b/lib/unictype/categ_N.h
index ee9005ed..c1141829 100644
--- a/lib/unictype/categ_N.h
+++ b/lib/unictype/categ_N.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Nd.c b/lib/unictype/categ_Nd.c
index cf0cce94..32c068c3 100644
--- a/lib/unictype/categ_Nd.c
+++ b/lib/unictype/categ_Nd.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Nd.h b/lib/unictype/categ_Nd.h
index 43831d01..9d3a21f3 100644
--- a/lib/unictype/categ_Nd.h
+++ b/lib/unictype/categ_Nd.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Nl.c b/lib/unictype/categ_Nl.c
index 255ebc4a..78acbea2 100644
--- a/lib/unictype/categ_Nl.c
+++ b/lib/unictype/categ_Nl.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Nl.h b/lib/unictype/categ_Nl.h
index 188de4f4..ad8026e0 100644
--- a/lib/unictype/categ_Nl.h
+++ b/lib/unictype/categ_Nl.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_No.c b/lib/unictype/categ_No.c
index e52ecc7f..f4789de4 100644
--- a/lib/unictype/categ_No.c
+++ b/lib/unictype/categ_No.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_No.h b/lib/unictype/categ_No.h
index 1d5383d7..30bbf519 100644
--- a/lib/unictype/categ_No.h
+++ b/lib/unictype/categ_No.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_P.c b/lib/unictype/categ_P.c
index 910dc13b..f921dc3e 100644
--- a/lib/unictype/categ_P.c
+++ b/lib/unictype/categ_P.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_P.h b/lib/unictype/categ_P.h
index f031b539..df48ef8a 100644
--- a/lib/unictype/categ_P.h
+++ b/lib/unictype/categ_P.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Pc.c b/lib/unictype/categ_Pc.c
index 696d8756..139212dc 100644
--- a/lib/unictype/categ_Pc.c
+++ b/lib/unictype/categ_Pc.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Pc.h b/lib/unictype/categ_Pc.h
index 490eb445..22fe9eeb 100644
--- a/lib/unictype/categ_Pc.h
+++ b/lib/unictype/categ_Pc.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Pd.c b/lib/unictype/categ_Pd.c
index 6fbc9b09..537bca0b 100644
--- a/lib/unictype/categ_Pd.c
+++ b/lib/unictype/categ_Pd.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Pd.h b/lib/unictype/categ_Pd.h
index a3297c09..2f87774a 100644
--- a/lib/unictype/categ_Pd.h
+++ b/lib/unictype/categ_Pd.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Pe.c b/lib/unictype/categ_Pe.c
index 20cf1d25..766e5b20 100644
--- a/lib/unictype/categ_Pe.c
+++ b/lib/unictype/categ_Pe.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Pe.h b/lib/unictype/categ_Pe.h
index 68ba0b2f..5f4a46a1 100644
--- a/lib/unictype/categ_Pe.h
+++ b/lib/unictype/categ_Pe.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Pf.c b/lib/unictype/categ_Pf.c
index 96e1f16b..fc188c29 100644
--- a/lib/unictype/categ_Pf.c
+++ b/lib/unictype/categ_Pf.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Pf.h b/lib/unictype/categ_Pf.h
index 3a78688d..18c2fa96 100644
--- a/lib/unictype/categ_Pf.h
+++ b/lib/unictype/categ_Pf.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Pi.c b/lib/unictype/categ_Pi.c
index b0bf8d59..18303e80 100644
--- a/lib/unictype/categ_Pi.c
+++ b/lib/unictype/categ_Pi.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Pi.h b/lib/unictype/categ_Pi.h
index 693abcab..760afe81 100644
--- a/lib/unictype/categ_Pi.h
+++ b/lib/unictype/categ_Pi.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Po.c b/lib/unictype/categ_Po.c
index fe863163..f1d507ee 100644
--- a/lib/unictype/categ_Po.c
+++ b/lib/unictype/categ_Po.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Po.h b/lib/unictype/categ_Po.h
index 51f0893a..d6794e65 100644
--- a/lib/unictype/categ_Po.h
+++ b/lib/unictype/categ_Po.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Ps.c b/lib/unictype/categ_Ps.c
index db89374b..226d484b 100644
--- a/lib/unictype/categ_Ps.c
+++ b/lib/unictype/categ_Ps.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Ps.h b/lib/unictype/categ_Ps.h
index 28857b9a..71ca51ae 100644
--- a/lib/unictype/categ_Ps.h
+++ b/lib/unictype/categ_Ps.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_S.c b/lib/unictype/categ_S.c
index 66afcaad..2c90f4ab 100644
--- a/lib/unictype/categ_S.c
+++ b/lib/unictype/categ_S.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_S.h b/lib/unictype/categ_S.h
index 01cfb3cd..7ba3dea6 100644
--- a/lib/unictype/categ_S.h
+++ b/lib/unictype/categ_S.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -390,11 +390,11 @@ u_categ_S =
0x00000000U, 0x00000000U, 0x00030000U, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0x000C0010U, 0xC0C00001U, 0x00000000U, 0x00000000U,
0x18000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0xFFC30000U, 0x00000000U, 0xFFFFFFFFU, 0x0000000FU,
+ 0xFFC30000U, 0x00000000U, 0xFFFFFFFFU, 0x0000800FU,
0x7FFFFFFFU, 0xFFFFFC00U, 0x000100FFU, 0xFFFFFFFFU,
0xFFFFFC00U, 0x0001FFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/categ_Sc.c b/lib/unictype/categ_Sc.c
index 5f6f7f32..0c02da62 100644
--- a/lib/unictype/categ_Sc.c
+++ b/lib/unictype/categ_Sc.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Sc.h b/lib/unictype/categ_Sc.h
index e93224aa..79860548 100644
--- a/lib/unictype/categ_Sc.h
+++ b/lib/unictype/categ_Sc.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Sk.c b/lib/unictype/categ_Sk.c
index 988f1b4d..4f99c63b 100644
--- a/lib/unictype/categ_Sk.c
+++ b/lib/unictype/categ_Sk.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Sk.h b/lib/unictype/categ_Sk.h
index c9f177db..526eb8fb 100644
--- a/lib/unictype/categ_Sk.h
+++ b/lib/unictype/categ_Sk.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Sm.c b/lib/unictype/categ_Sm.c
index a170ebe3..49ee738e 100644
--- a/lib/unictype/categ_Sm.c
+++ b/lib/unictype/categ_Sm.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Sm.h b/lib/unictype/categ_Sm.h
index f20efc2a..6b467190 100644
--- a/lib/unictype/categ_Sm.h
+++ b/lib/unictype/categ_Sm.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_So.c b/lib/unictype/categ_So.c
index 962a0783..9d82d2ef 100644
--- a/lib/unictype/categ_So.c
+++ b/lib/unictype/categ_So.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_So.h b/lib/unictype/categ_So.h
index 66ad95f1..bf754165 100644
--- a/lib/unictype/categ_So.h
+++ b/lib/unictype/categ_So.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -382,11 +382,11 @@ u_categ_So =
0x00000000U, 0x00000000U, 0x00030000U, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0x000C0010U, 0xC0C00001U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0xFFC30000U, 0x00000000U, 0xFFFFFFFFU, 0x0000000FU,
+ 0xFFC30000U, 0x00000000U, 0xFFFFFFFFU, 0x0000800FU,
0x7FFFFFFFU, 0xFFFFFC00U, 0x000100FFU, 0xFFFFFFFFU,
0xFFFFFC00U, 0x0001FFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/categ_Z.c b/lib/unictype/categ_Z.c
index 0cfda616..eb4c72d1 100644
--- a/lib/unictype/categ_Z.c
+++ b/lib/unictype/categ_Z.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Z.h b/lib/unictype/categ_Z.h
index 28da0f15..49515c22 100644
--- a/lib/unictype/categ_Z.h
+++ b/lib/unictype/categ_Z.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Zl.c b/lib/unictype/categ_Zl.c
index 6866a314..1e3796b8 100644
--- a/lib/unictype/categ_Zl.c
+++ b/lib/unictype/categ_Zl.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Zl.h b/lib/unictype/categ_Zl.h
index 7ccd53f7..1aa4763c 100644
--- a/lib/unictype/categ_Zl.h
+++ b/lib/unictype/categ_Zl.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Zp.c b/lib/unictype/categ_Zp.c
index aa4360f8..6c4ed5d7 100644
--- a/lib/unictype/categ_Zp.c
+++ b/lib/unictype/categ_Zp.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Zp.h b/lib/unictype/categ_Zp.h
index 5aea22da..514f7375 100644
--- a/lib/unictype/categ_Zp.h
+++ b/lib/unictype/categ_Zp.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_Zs.c b/lib/unictype/categ_Zs.c
index 3e5c58d8..721515c4 100644
--- a/lib/unictype/categ_Zs.c
+++ b/lib/unictype/categ_Zs.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_Zs.h b/lib/unictype/categ_Zs.h
index e156dc91..08afcd87 100644
--- a/lib/unictype/categ_Zs.h
+++ b/lib/unictype/categ_Zs.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_and.c b/lib/unictype/categ_and.c
index 4b0b07e0..b3ee4b12 100644
--- a/lib/unictype/categ_and.c
+++ b/lib/unictype/categ_and.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/categ_and_not.c b/lib/unictype/categ_and_not.c
index b5de520d..f78b930c 100644
--- a/lib/unictype/categ_and_not.c
+++ b/lib/unictype/categ_and_not.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/categ_byname.c b/lib/unictype/categ_byname.c
index ce2b3ecf..26626183 100644
--- a/lib/unictype/categ_byname.c
+++ b/lib/unictype/categ_byname.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_byname.gperf b/lib/unictype/categ_byname.gperf
index b699a33e..e8c53995 100644
--- a/lib/unictype/categ_byname.gperf
+++ b/lib/unictype/categ_byname.gperf
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/categ_byname.h b/lib/unictype/categ_byname.h
index 39003854..600f9fcd 100644
--- a/lib/unictype/categ_byname.h
+++ b/lib/unictype/categ_byname.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unictype/categ_byname.gperf */
+/* Command-line: gperf -m 10 ../../lib/unictype/categ_byname.gperf */
/* Computed positions: -k'1-2,7,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 25 "./unictype/categ_byname.gperf"
+#line 25 "../../lib/unictype/categ_byname.gperf"
struct named_category { int name; unsigned int category_index; };
#define TOTAL_KEYWORDS 103
@@ -367,239 +367,239 @@ static const struct general_category_stringpool_t general_category_stringpool_co
static const struct named_category general_category_names[] =
{
{-1},
-#line 37 "./unictype/categ_byname.gperf"
+#line 37 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str1, UC_CATEGORY_INDEX_L},
-#line 40 "./unictype/categ_byname.gperf"
+#line 40 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str2, UC_CATEGORY_INDEX_Ll},
-#line 69 "./unictype/categ_byname.gperf"
+#line 69 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str3, UC_CATEGORY_INDEX_C},
-#line 38 "./unictype/categ_byname.gperf"
+#line 38 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str4, UC_CATEGORY_INDEX_LC},
-#line 70 "./unictype/categ_byname.gperf"
+#line 70 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str5, UC_CATEGORY_INDEX_Cc},
-#line 50 "./unictype/categ_byname.gperf"
+#line 50 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str6, UC_CATEGORY_INDEX_Nl},
{-1}, {-1},
-#line 48 "./unictype/categ_byname.gperf"
+#line 48 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str9, UC_CATEGORY_INDEX_N},
-#line 53 "./unictype/categ_byname.gperf"
+#line 53 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str10, UC_CATEGORY_INDEX_Pc},
-#line 74 "./unictype/categ_byname.gperf"
+#line 74 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str11, UC_CATEGORY_INDEX_Cn},
-#line 41 "./unictype/categ_byname.gperf"
+#line 41 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str12, UC_CATEGORY_INDEX_Lt},
-#line 52 "./unictype/categ_byname.gperf"
+#line 52 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str13, UC_CATEGORY_INDEX_P},
{-1},
-#line 134 "./unictype/categ_byname.gperf"
+#line 134 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str15, UC_CATEGORY_INDEX_Cc},
-#line 43 "./unictype/categ_byname.gperf"
+#line 43 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str16, UC_CATEGORY_INDEX_Lo},
-#line 73 "./unictype/categ_byname.gperf"
+#line 73 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str17, UC_CATEGORY_INDEX_Co},
-#line 39 "./unictype/categ_byname.gperf"
+#line 39 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str18, UC_CATEGORY_INDEX_Lu},
{-1},
-#line 51 "./unictype/categ_byname.gperf"
+#line 51 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str20, UC_CATEGORY_INDEX_No},
-#line 71 "./unictype/categ_byname.gperf"
+#line 71 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str21, UC_CATEGORY_INDEX_Cf},
-#line 59 "./unictype/categ_byname.gperf"
+#line 59 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str22, UC_CATEGORY_INDEX_Po},
-#line 125 "./unictype/categ_byname.gperf"
+#line 125 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str23, UC_CATEGORY_INDEX_So},
-#line 121 "./unictype/categ_byname.gperf"
+#line 121 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str24, UC_CATEGORY_INDEX_Sc},
-#line 120 "./unictype/categ_byname.gperf"
+#line 120 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str25, UC_CATEGORY_INDEX_Sc},
-#line 58 "./unictype/categ_byname.gperf"
+#line 58 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str26, UC_CATEGORY_INDEX_Pf},
-#line 135 "./unictype/categ_byname.gperf"
+#line 135 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str27, UC_CATEGORY_INDEX_Cf},
-#line 109 "./unictype/categ_byname.gperf"
+#line 109 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str28, UC_CATEGORY_INDEX_Pe},
-#line 110 "./unictype/categ_byname.gperf"
+#line 110 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str29, UC_CATEGORY_INDEX_Pe},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 108 "./unictype/categ_byname.gperf"
+#line 108 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str36, UC_CATEGORY_INDEX_Ps},
-#line 104 "./unictype/categ_byname.gperf"
+#line 104 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str37, UC_CATEGORY_INDEX_Pc},
-#line 103 "./unictype/categ_byname.gperf"
+#line 103 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str38, UC_CATEGORY_INDEX_Pc},
-#line 115 "./unictype/categ_byname.gperf"
+#line 115 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str39, UC_CATEGORY_INDEX_Po},
-#line 116 "./unictype/categ_byname.gperf"
+#line 116 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str40, UC_CATEGORY_INDEX_Po},
-#line 107 "./unictype/categ_byname.gperf"
+#line 107 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str41, UC_CATEGORY_INDEX_Ps},
-#line 133 "./unictype/categ_byname.gperf"
+#line 133 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str42, UC_CATEGORY_INDEX_C},
-#line 95 "./unictype/categ_byname.gperf"
+#line 95 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str43, UC_CATEGORY_INDEX_N},
{-1},
-#line 102 "./unictype/categ_byname.gperf"
+#line 102 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str45, UC_CATEGORY_INDEX_P},
-#line 62 "./unictype/categ_byname.gperf"
+#line 62 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str46, UC_CATEGORY_INDEX_Sc},
-#line 67 "./unictype/categ_byname.gperf"
+#line 67 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str47, UC_CATEGORY_INDEX_Zl},
-#line 117 "./unictype/categ_byname.gperf"
+#line 117 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str48, UC_CATEGORY_INDEX_S},
-#line 86 "./unictype/categ_byname.gperf"
+#line 86 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str49, UC_CATEGORY_INDEX_Lo},
-#line 56 "./unictype/categ_byname.gperf"
+#line 56 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str50, UC_CATEGORY_INDEX_Pe},
{-1},
-#line 75 "./unictype/categ_byname.gperf"
+#line 75 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str52, UC_CATEGORY_INDEX_L},
-#line 100 "./unictype/categ_byname.gperf"
+#line 100 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str53, UC_CATEGORY_INDEX_No},
-#line 76 "./unictype/categ_byname.gperf"
+#line 76 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str54, UC_CATEGORY_INDEX_LC},
-#line 46 "./unictype/categ_byname.gperf"
+#line 46 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str55, UC_CATEGORY_INDEX_Mc},
-#line 101 "./unictype/categ_byname.gperf"
+#line 101 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str56, UC_CATEGORY_INDEX_No},
{-1},
-#line 64 "./unictype/categ_byname.gperf"
+#line 64 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str58, UC_CATEGORY_INDEX_So},
-#line 68 "./unictype/categ_byname.gperf"
+#line 68 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str59, UC_CATEGORY_INDEX_Zp},
-#line 98 "./unictype/categ_byname.gperf"
+#line 98 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str60, UC_CATEGORY_INDEX_Nl},
-#line 45 "./unictype/categ_byname.gperf"
+#line 45 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str61, UC_CATEGORY_INDEX_Mn},
-#line 99 "./unictype/categ_byname.gperf"
+#line 99 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str62, UC_CATEGORY_INDEX_Nl},
-#line 81 "./unictype/categ_byname.gperf"
+#line 81 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str63, UC_CATEGORY_INDEX_Ll},
-#line 80 "./unictype/categ_byname.gperf"
+#line 80 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str64, UC_CATEGORY_INDEX_Ll},
{-1},
-#line 124 "./unictype/categ_byname.gperf"
+#line 124 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str66, UC_CATEGORY_INDEX_So},
{-1}, {-1},
-#line 87 "./unictype/categ_byname.gperf"
+#line 87 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str69, UC_CATEGORY_INDEX_Lo},
-#line 79 "./unictype/categ_byname.gperf"
+#line 79 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str70, UC_CATEGORY_INDEX_Lu},
-#line 78 "./unictype/categ_byname.gperf"
+#line 78 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str71, UC_CATEGORY_INDEX_Lu},
{-1}, {-1},
-#line 77 "./unictype/categ_byname.gperf"
+#line 77 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str74, UC_CATEGORY_INDEX_LC},
-#line 90 "./unictype/categ_byname.gperf"
+#line 90 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str75, UC_CATEGORY_INDEX_Mn},
-#line 89 "./unictype/categ_byname.gperf"
+#line 89 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str76, UC_CATEGORY_INDEX_Mn},
{-1},
-#line 118 "./unictype/categ_byname.gperf"
+#line 118 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str78, UC_CATEGORY_INDEX_Sm},
{-1}, {-1},
-#line 132 "./unictype/categ_byname.gperf"
+#line 132 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str81, UC_CATEGORY_INDEX_Zp},
-#line 131 "./unictype/categ_byname.gperf"
+#line 131 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str82, UC_CATEGORY_INDEX_Zp},
-#line 138 "./unictype/categ_byname.gperf"
+#line 138 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str83, UC_CATEGORY_INDEX_Co},
-#line 137 "./unictype/categ_byname.gperf"
+#line 137 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str84, UC_CATEGORY_INDEX_Co},
-#line 60 "./unictype/categ_byname.gperf"
+#line 60 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str85, UC_CATEGORY_INDEX_S},
{-1},
-#line 72 "./unictype/categ_byname.gperf"
+#line 72 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str87, UC_CATEGORY_INDEX_Cs},
-#line 112 "./unictype/categ_byname.gperf"
+#line 112 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str88, UC_CATEGORY_INDEX_Pi},
-#line 111 "./unictype/categ_byname.gperf"
+#line 111 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str89, UC_CATEGORY_INDEX_Pi},
{-1},
-#line 65 "./unictype/categ_byname.gperf"
+#line 65 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str91, UC_CATEGORY_INDEX_Z},
-#line 55 "./unictype/categ_byname.gperf"
+#line 55 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str92, UC_CATEGORY_INDEX_Ps},
-#line 123 "./unictype/categ_byname.gperf"
+#line 123 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str93, UC_CATEGORY_INDEX_Sk},
-#line 122 "./unictype/categ_byname.gperf"
+#line 122 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str94, UC_CATEGORY_INDEX_Sk},
-#line 47 "./unictype/categ_byname.gperf"
+#line 47 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str95, UC_CATEGORY_INDEX_Me},
-#line 136 "./unictype/categ_byname.gperf"
+#line 136 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str96, UC_CATEGORY_INDEX_Cs},
{-1},
-#line 113 "./unictype/categ_byname.gperf"
+#line 113 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str98, UC_CATEGORY_INDEX_Pf},
-#line 114 "./unictype/categ_byname.gperf"
+#line 114 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str99, UC_CATEGORY_INDEX_Pf},
{-1}, {-1},
-#line 126 "./unictype/categ_byname.gperf"
+#line 126 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str102, UC_CATEGORY_INDEX_Z},
-#line 44 "./unictype/categ_byname.gperf"
+#line 44 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str103, UC_CATEGORY_INDEX_M},
-#line 42 "./unictype/categ_byname.gperf"
+#line 42 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str104, UC_CATEGORY_INDEX_Lm},
-#line 106 "./unictype/categ_byname.gperf"
+#line 106 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str105, UC_CATEGORY_INDEX_Pd},
-#line 130 "./unictype/categ_byname.gperf"
+#line 130 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str106, UC_CATEGORY_INDEX_Zl},
{-1},
-#line 128 "./unictype/categ_byname.gperf"
+#line 128 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str108, UC_CATEGORY_INDEX_Zs},
{-1},
-#line 105 "./unictype/categ_byname.gperf"
+#line 105 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str110, UC_CATEGORY_INDEX_Pd},
{-1}, {-1},
-#line 139 "./unictype/categ_byname.gperf"
+#line 139 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str113, UC_CATEGORY_INDEX_Cn},
{-1}, {-1}, {-1}, {-1},
-#line 85 "./unictype/categ_byname.gperf"
+#line 85 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str118, UC_CATEGORY_INDEX_Lm},
-#line 84 "./unictype/categ_byname.gperf"
+#line 84 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str119, UC_CATEGORY_INDEX_Lm},
-#line 88 "./unictype/categ_byname.gperf"
+#line 88 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str120, UC_CATEGORY_INDEX_M},
{-1},
-#line 129 "./unictype/categ_byname.gperf"
+#line 129 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str122, UC_CATEGORY_INDEX_Zl},
-#line 83 "./unictype/categ_byname.gperf"
+#line 83 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str123, UC_CATEGORY_INDEX_Lt},
-#line 82 "./unictype/categ_byname.gperf"
+#line 82 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str124, UC_CATEGORY_INDEX_Lt},
-#line 97 "./unictype/categ_byname.gperf"
+#line 97 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str125, UC_CATEGORY_INDEX_Nd},
-#line 96 "./unictype/categ_byname.gperf"
+#line 96 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str126, UC_CATEGORY_INDEX_Nd},
{-1},
-#line 119 "./unictype/categ_byname.gperf"
+#line 119 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str128, UC_CATEGORY_INDEX_Sm},
{-1},
-#line 127 "./unictype/categ_byname.gperf"
+#line 127 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str130, UC_CATEGORY_INDEX_Zs},
-#line 66 "./unictype/categ_byname.gperf"
+#line 66 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str131, UC_CATEGORY_INDEX_Zs},
-#line 57 "./unictype/categ_byname.gperf"
+#line 57 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str132, UC_CATEGORY_INDEX_Pi},
-#line 92 "./unictype/categ_byname.gperf"
+#line 92 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str133, UC_CATEGORY_INDEX_Mc},
-#line 91 "./unictype/categ_byname.gperf"
+#line 91 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str134, UC_CATEGORY_INDEX_Mc},
{-1}, {-1}, {-1},
-#line 49 "./unictype/categ_byname.gperf"
+#line 49 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str138, UC_CATEGORY_INDEX_Nd},
{-1},
-#line 54 "./unictype/categ_byname.gperf"
+#line 54 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str140, UC_CATEGORY_INDEX_Pd},
{-1},
-#line 63 "./unictype/categ_byname.gperf"
+#line 63 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str142, UC_CATEGORY_INDEX_Sk},
{-1}, {-1}, {-1},
-#line 61 "./unictype/categ_byname.gperf"
+#line 61 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str146, UC_CATEGORY_INDEX_Sm},
{-1}, {-1},
-#line 94 "./unictype/categ_byname.gperf"
+#line 94 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str149, UC_CATEGORY_INDEX_Me},
-#line 93 "./unictype/categ_byname.gperf"
+#line 93 "../../lib/unictype/categ_byname.gperf"
{(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str150, UC_CATEGORY_INDEX_Me}
};
diff --git a/lib/unictype/categ_longname.c b/lib/unictype/categ_longname.c
index cdcebb03..b3397174 100644
--- a/lib/unictype/categ_longname.c
+++ b/lib/unictype/categ_longname.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/categ_name.c b/lib/unictype/categ_name.c
index 44b42c8e..c328a984 100644
--- a/lib/unictype/categ_name.c
+++ b/lib/unictype/categ_name.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/categ_none.c b/lib/unictype/categ_none.c
index cb91810b..89b1b7ee 100644
--- a/lib/unictype/categ_none.c
+++ b/lib/unictype/categ_none.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software: you can redistribute it and/or modify
@@ -27,4 +27,4 @@ always_false (ucs4_t uc, uint32_t bitmask)
}
const uc_general_category_t _UC_CATEGORY_NONE =
- { 0, 1, { &always_false } };
+ { 0, 1, { .lookup_fn = &always_false } };
diff --git a/lib/unictype/categ_of.c b/lib/unictype/categ_of.c
index 99101b5e..b61f12ec 100644
--- a/lib/unictype/categ_of.c
+++ b/lib/unictype/categ_of.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/categ_of.h b/lib/unictype/categ_of.h
index 2b0f98c1..daa0884f 100644
--- a/lib/unictype/categ_of.h
+++ b/lib/unictype/categ_of.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -27,7 +27,7 @@ struct
{
int level1[17];
short level2[6 << 9];
- unsigned short level3[253 * 40 + 1];
+ unsigned short level3[254 * 40 + 1];
}
u_category =
{
@@ -224,20 +224,20 @@ u_category =
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 31360,
+ 4352, 4352, 4352, 4352, 31488, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 4352, 4352, 4352, 4352, 31488, -1, -1, -1,
+ 4352, 4352, 4352, 4352, 31616, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
- 4352, 4352, 4352, 4352, 4352, 4352, 31616, 4352,
+ 4352, 4352, 4352, 4352, 4352, 4352, 31744, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352,
- 4352, 4352, 4352, 4352, 4352, 4352, 4352, 31744,
+ 4352, 4352, 4352, 4352, 4352, 4352, 4352, 31872,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -293,7 +293,7 @@ u_category =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 31872, -1, 32000, 32128, -1, -1, -1, -1,
+ 32000, -1, 32128, 32256, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -420,7 +420,7 @@ u_category =
13696, 13696, 13696, 13696, 13696, 13696, 13696, 13696,
13696, 13696, 13696, 13696, 13696, 13696, 13696, 13696,
13696, 13696, 13696, 13696, 13696, 13696, 13696, 13696,
- 13696, 13696, 13696, 13696, 13696, 13696, 13696, 32256
+ 13696, 13696, 13696, 13696, 13696, 13696, 13696, 32384
},
{
0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
@@ -842,7 +842,7 @@ u_category =
0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
0xad6b, 0xd6b5, 0x6b5a, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
- 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6, 0xef7b,
+ 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
0xc636, 0x0758, 0xcd49, 0xd735, 0x735c, 0xd5cd, 0x5cda, 0xcd73,
0xc735, 0x739a, 0xa535, 0x5294, 0x294a, 0x5295, 0x318a, 0x8c6c,
0x4631, 0x29ad, 0x41a5, 0xad62, 0x109d, 0x0842, 0x8421, 0x4210,
@@ -862,7 +862,7 @@ u_category =
0x5ad6, 0xad6b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
0x0842, 0x8421, 0x4210, 0x2108, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda,
- 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+ 0xbdef, 0xdef7, 0xaf7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
0x5ad6, 0xed6b, 0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5,
0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x4aad, 0xa529,
@@ -1652,6 +1652,11 @@ u_category =
0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xf7a4, 0x7bde,
+ 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+ 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+ 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+ 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+ 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef48, 0xf7bd, 0x7bde,
0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
diff --git a/lib/unictype/categ_or.c b/lib/unictype/categ_or.c
index cea9b236..46c79999 100644
--- a/lib/unictype/categ_or.c
+++ b/lib/unictype/categ_or.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/categ_test.c b/lib/unictype/categ_test.c
index 18614332..d2b314f4 100644
--- a/lib/unictype/categ_test.c
+++ b/lib/unictype/categ_test.c
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/combiningclass.c b/lib/unictype/combiningclass.c
index 4c691d50..af78bff6 100644
--- a/lib/unictype/combiningclass.c
+++ b/lib/unictype/combiningclass.c
@@ -1,5 +1,5 @@
/* Combining classes of Unicode characters.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/combiningclass.h b/lib/unictype/combiningclass.h
index 1e473951..4b114e6d 100644
--- a/lib/unictype/combiningclass.h
+++ b/lib/unictype/combiningclass.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Combining class of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/unictype/combiningclass_byname.c b/lib/unictype/combiningclass_byname.c
index d02d17a8..fc57a479 100644
--- a/lib/unictype/combiningclass_byname.c
+++ b/lib/unictype/combiningclass_byname.c
@@ -1,5 +1,5 @@
/* Canonical combining classes of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/combiningclass_byname.gperf b/lib/unictype/combiningclass_byname.gperf
index f4acbc0d..b7c509fd 100644
--- a/lib/unictype/combiningclass_byname.gperf
+++ b/lib/unictype/combiningclass_byname.gperf
@@ -1,5 +1,5 @@
/* Categories of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/combiningclass_byname.h b/lib/unictype/combiningclass_byname.h
index 7932a941..b21d51cc 100644
--- a/lib/unictype/combiningclass_byname.h
+++ b/lib/unictype/combiningclass_byname.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unictype/combiningclass_byname.gperf */
+/* Command-line: gperf -m 10 ../../lib/unictype/combiningclass_byname.gperf */
/* Computed positions: -k'1,6,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 25 "./unictype/combiningclass_byname.gperf"
+#line 25 "../../lib/unictype/combiningclass_byname.gperf"
struct named_combining_class { int name; int combining_class; };
#define TOTAL_KEYWORDS 53
@@ -259,119 +259,119 @@ static const struct combining_class_stringpool_t combining_class_stringpool_cont
static const struct named_combining_class combining_class_names[] =
{
{-1}, {-1}, {-1},
-#line 47 "./unictype/combiningclass_byname.gperf"
+#line 47 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str3, UC_CCC_B},
{-1},
-#line 38 "./unictype/combiningclass_byname.gperf"
+#line 38 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str5, UC_CCC_OV},
{-1}, {-1},
-#line 43 "./unictype/combiningclass_byname.gperf"
+#line 43 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str8, UC_CCC_ATB},
-#line 52 "./unictype/combiningclass_byname.gperf"
+#line 52 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str9, UC_CCC_A},
-#line 81 "./unictype/combiningclass_byname.gperf"
+#line 81 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str10, UC_CCC_A},
-#line 44 "./unictype/combiningclass_byname.gperf"
+#line 44 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str11, UC_CCC_ATA},
-#line 48 "./unictype/combiningclass_byname.gperf"
+#line 48 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str12, UC_CCC_BR},
-#line 41 "./unictype/combiningclass_byname.gperf"
+#line 41 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str13, UC_CCC_VR},
-#line 56 "./unictype/combiningclass_byname.gperf"
+#line 56 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str14, UC_CCC_IS},
-#line 53 "./unictype/combiningclass_byname.gperf"
+#line 53 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str15, UC_CCC_AR},
-#line 63 "./unictype/combiningclass_byname.gperf"
+#line 63 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str16, UC_CCC_VR},
-#line 45 "./unictype/combiningclass_byname.gperf"
+#line 45 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str17, UC_CCC_ATAR},
-#line 46 "./unictype/combiningclass_byname.gperf"
+#line 46 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str18, UC_CCC_BL},
-#line 50 "./unictype/combiningclass_byname.gperf"
+#line 50 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str19, UC_CCC_R},
-#line 60 "./unictype/combiningclass_byname.gperf"
+#line 60 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str20, UC_CCC_NK},
-#line 51 "./unictype/combiningclass_byname.gperf"
+#line 51 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str21, UC_CCC_AL},
-#line 37 "./unictype/combiningclass_byname.gperf"
+#line 37 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str22, UC_CCC_NR},
-#line 42 "./unictype/combiningclass_byname.gperf"
+#line 42 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str23, UC_CCC_ATBL},
-#line 78 "./unictype/combiningclass_byname.gperf"
+#line 78 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str24, UC_CCC_R},
-#line 59 "./unictype/combiningclass_byname.gperf"
+#line 59 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str25, UC_CCC_OV},
-#line 69 "./unictype/combiningclass_byname.gperf"
+#line 69 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str26, UC_CCC_ATA},
-#line 68 "./unictype/combiningclass_byname.gperf"
+#line 68 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str27, UC_CCC_ATA},
-#line 74 "./unictype/combiningclass_byname.gperf"
+#line 74 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str28, UC_CCC_B},
-#line 77 "./unictype/combiningclass_byname.gperf"
+#line 77 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str29, UC_CCC_L},
-#line 76 "./unictype/combiningclass_byname.gperf"
+#line 76 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str30, UC_CCC_BR},
-#line 49 "./unictype/combiningclass_byname.gperf"
+#line 49 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str31, UC_CCC_L},
-#line 89 "./unictype/combiningclass_byname.gperf"
+#line 89 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str32, UC_CCC_IS},
-#line 83 "./unictype/combiningclass_byname.gperf"
+#line 83 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str33, UC_CCC_AR},
-#line 54 "./unictype/combiningclass_byname.gperf"
+#line 54 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str34, UC_CCC_DB},
-#line 73 "./unictype/combiningclass_byname.gperf"
+#line 73 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str35, UC_CCC_BL},
-#line 88 "./unictype/combiningclass_byname.gperf"
+#line 88 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str36, UC_CCC_IS},
-#line 55 "./unictype/combiningclass_byname.gperf"
+#line 55 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str37, UC_CCC_DA},
-#line 80 "./unictype/combiningclass_byname.gperf"
+#line 80 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str38, UC_CCC_AL},
-#line 65 "./unictype/combiningclass_byname.gperf"
+#line 65 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str39, UC_CCC_ATBL},
-#line 71 "./unictype/combiningclass_byname.gperf"
+#line 71 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str40, UC_CCC_ATAR},
-#line 64 "./unictype/combiningclass_byname.gperf"
+#line 64 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str41, UC_CCC_ATBL},
-#line 70 "./unictype/combiningclass_byname.gperf"
+#line 70 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str42, UC_CCC_ATAR},
{-1},
-#line 87 "./unictype/combiningclass_byname.gperf"
+#line 87 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str44, UC_CCC_DA},
-#line 86 "./unictype/combiningclass_byname.gperf"
+#line 86 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str45, UC_CCC_DA},
{-1},
-#line 67 "./unictype/combiningclass_byname.gperf"
+#line 67 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str47, UC_CCC_ATB},
-#line 66 "./unictype/combiningclass_byname.gperf"
+#line 66 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str48, UC_CCC_ATB},
-#line 72 "./unictype/combiningclass_byname.gperf"
+#line 72 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str49, UC_CCC_BL},
-#line 75 "./unictype/combiningclass_byname.gperf"
+#line 75 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str50, UC_CCC_BR},
-#line 40 "./unictype/combiningclass_byname.gperf"
+#line 40 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str51, UC_CCC_KV},
-#line 79 "./unictype/combiningclass_byname.gperf"
+#line 79 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str52, UC_CCC_AL},
-#line 82 "./unictype/combiningclass_byname.gperf"
+#line 82 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str53, UC_CCC_AR},
{-1},
-#line 58 "./unictype/combiningclass_byname.gperf"
+#line 58 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str55, UC_CCC_NR},
-#line 57 "./unictype/combiningclass_byname.gperf"
+#line 57 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str56, UC_CCC_NR},
{-1}, {-1}, {-1},
-#line 39 "./unictype/combiningclass_byname.gperf"
+#line 39 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str60, UC_CCC_NK},
-#line 62 "./unictype/combiningclass_byname.gperf"
+#line 62 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str61, UC_CCC_KV},
{-1},
-#line 61 "./unictype/combiningclass_byname.gperf"
+#line 61 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str63, UC_CCC_KV},
{-1},
-#line 85 "./unictype/combiningclass_byname.gperf"
+#line 85 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str65, UC_CCC_DB},
-#line 84 "./unictype/combiningclass_byname.gperf"
+#line 84 "../../lib/unictype/combiningclass_byname.gperf"
{(int)(size_t)&((struct combining_class_stringpool_t *)0)->combining_class_stringpool_str66, UC_CCC_DB}
};
diff --git a/lib/unictype/combiningclass_longname.c b/lib/unictype/combiningclass_longname.c
index 5c46a789..df263c3d 100644
--- a/lib/unictype/combiningclass_longname.c
+++ b/lib/unictype/combiningclass_longname.c
@@ -1,5 +1,5 @@
/* Canonical combining classes of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/combiningclass_name.c b/lib/unictype/combiningclass_name.c
index ee68ac65..43c2b82a 100644
--- a/lib/unictype/combiningclass_name.c
+++ b/lib/unictype/combiningclass_name.c
@@ -1,5 +1,5 @@
/* Canonical combining classes of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/ctype_alnum.c b/lib/unictype/ctype_alnum.c
index c891df3f..1f69c14a 100644
--- a/lib/unictype/ctype_alnum.c
+++ b/lib/unictype/ctype_alnum.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_alnum.h b/lib/unictype/ctype_alnum.h
index 2e857993..9e28bb67 100644
--- a/lib/unictype/ctype_alnum.h
+++ b/lib/unictype/ctype_alnum.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
@@ -35,7 +27,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[80 << 4];
+ unsigned int level3[81 << 4];
}
u_is_alnum =
{
@@ -421,14 +413,14 @@ u_is_alnum =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 1216,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 336,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1232,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1232,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1248,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -440,7 +432,7 @@ u_is_alnum =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1248,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1264,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -448,7 +440,7 @@ u_is_alnum =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1264,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1280,
-1,
-1,
-1,
@@ -868,7 +860,11 @@ u_is_alnum =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/ctype_alpha.c b/lib/unictype/ctype_alpha.c
index 5c0ddd66..16cddc92 100644
--- a/lib/unictype/ctype_alpha.c
+++ b/lib/unictype/ctype_alpha.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_alpha.h b/lib/unictype/ctype_alpha.h
index dfd18405..7709886b 100644
--- a/lib/unictype/ctype_alpha.h
+++ b/lib/unictype/ctype_alpha.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
@@ -35,7 +27,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[80 << 4];
+ unsigned int level3[81 << 4];
}
u_is_alpha =
{
@@ -421,14 +413,14 @@ u_is_alpha =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 1216,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 336,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1232,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1232,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1248,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -440,7 +432,7 @@ u_is_alpha =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1248,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1264,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -448,7 +440,7 @@ u_is_alpha =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1264,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1280,
-1,
-1,
-1,
@@ -868,7 +860,11 @@ u_is_alpha =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/ctype_blank.c b/lib/unictype/ctype_blank.c
index e89423e0..cec8e023 100644
--- a/lib/unictype/ctype_blank.c
+++ b/lib/unictype/ctype_blank.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_blank.h b/lib/unictype/ctype_blank.h
index 0e26dabc..5ba76c72 100644
--- a/lib/unictype/ctype_blank.h
+++ b/lib/unictype/ctype_blank.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/ctype_cntrl.c b/lib/unictype/ctype_cntrl.c
index 5160e5af..6ed52739 100644
--- a/lib/unictype/ctype_cntrl.c
+++ b/lib/unictype/ctype_cntrl.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_cntrl.h b/lib/unictype/ctype_cntrl.h
index ac64a15c..8eb16513 100644
--- a/lib/unictype/ctype_cntrl.h
+++ b/lib/unictype/ctype_cntrl.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/ctype_digit.c b/lib/unictype/ctype_digit.c
index 0d69d336..906e7375 100644
--- a/lib/unictype/ctype_digit.c
+++ b/lib/unictype/ctype_digit.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_digit.h b/lib/unictype/ctype_digit.h
index c4389255..4421f6f4 100644
--- a/lib/unictype/ctype_digit.h
+++ b/lib/unictype/ctype_digit.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/ctype_graph.c b/lib/unictype/ctype_graph.c
index 1c86aa1e..e58f69e4 100644
--- a/lib/unictype/ctype_graph.c
+++ b/lib/unictype/ctype_graph.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_graph.h b/lib/unictype/ctype_graph.h
index 05c49ceb..bb5281b9 100644
--- a/lib/unictype/ctype_graph.h
+++ b/lib/unictype/ctype_graph.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
@@ -35,7 +27,7 @@ struct
int header[1];
int level1[17];
short level2[6 << 7];
- unsigned int level3[89 << 4];
+ unsigned int level3[90 << 4];
}
u_is_graph =
{
@@ -434,14 +426,14 @@ u_is_graph =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 1328,
- -1,
- -1,
+ 18 + 768 * sizeof (short) / sizeof (int) + 160,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1344,
-1,
-1,
-1,
-1,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1344,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1360,
-1,
-1,
18 + 768 * sizeof (short) / sizeof (int) + 160,
@@ -453,7 +445,7 @@ u_is_graph =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1360,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1376,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
@@ -461,7 +453,7 @@ u_is_graph =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1376,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1392,
-1,
-1,
-1,
@@ -572,7 +564,7 @@ u_is_graph =
-1,
-1,
-1,
- 18 + 768 * sizeof (short) / sizeof (int) + 1392,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1408,
-1,
-1,
-1,
@@ -827,7 +819,7 @@ u_is_graph =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1408
+ 18 + 768 * sizeof (short) / sizeof (int) + 1424
},
{
0x00000000U, 0xFFFFFFFEU, 0xFFFFFFFFU, 0x7FFFFFFFU,
@@ -913,11 +905,11 @@ u_is_graph =
0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0xFFFFFFFEU, 0xFFFFFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU,
0xFE7FFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFE0U, 0xFFFEFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFF7FFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF000FU,
+ 0xFFFF7FFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF800FU,
0x7FFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
@@ -1165,7 +1157,11 @@ u_is_graph =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/ctype_lower.c b/lib/unictype/ctype_lower.c
index 327a50c8..76c67635 100644
--- a/lib/unictype/ctype_lower.c
+++ b/lib/unictype/ctype_lower.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_lower.h b/lib/unictype/ctype_lower.h
index 4eea7c62..6bde4107 100644
--- a/lib/unictype/ctype_lower.h
+++ b/lib/unictype/ctype_lower.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/ctype_print.c b/lib/unictype/ctype_print.c
index 24a21894..5e73e42d 100644
--- a/lib/unictype/ctype_print.c
+++ b/lib/unictype/ctype_print.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_print.h b/lib/unictype/ctype_print.h
index 506b1a2f..d5d6a2a7 100644
--- a/lib/unictype/ctype_print.h
+++ b/lib/unictype/ctype_print.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
@@ -35,7 +27,7 @@ struct
int header[1];
int level1[17];
short level2[6 << 7];
- unsigned int level3[89 << 4];
+ unsigned int level3[90 << 4];
}
u_is_print =
{
@@ -434,14 +426,14 @@ u_is_print =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 1328,
- -1,
- -1,
+ 18 + 768 * sizeof (short) / sizeof (int) + 160,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1344,
-1,
-1,
-1,
-1,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1344,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1360,
-1,
-1,
18 + 768 * sizeof (short) / sizeof (int) + 160,
@@ -453,7 +445,7 @@ u_is_print =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1360,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1376,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
@@ -461,7 +453,7 @@ u_is_print =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1376,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1392,
-1,
-1,
-1,
@@ -572,7 +564,7 @@ u_is_print =
-1,
-1,
-1,
- 18 + 768 * sizeof (short) / sizeof (int) + 1392,
+ 18 + 768 * sizeof (short) / sizeof (int) + 1408,
-1,
-1,
-1,
@@ -827,7 +819,7 @@ u_is_print =
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
18 + 768 * sizeof (short) / sizeof (int) + 160,
- 18 + 768 * sizeof (short) / sizeof (int) + 1408
+ 18 + 768 * sizeof (short) / sizeof (int) + 1424
},
{
0x00000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x7FFFFFFFU,
@@ -913,11 +905,11 @@ u_is_print =
0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU,
0xFE7FFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFE0U, 0xFFFEFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFF7FFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF000FU,
+ 0xFFFF7FFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF800FU,
0x7FFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
@@ -1165,7 +1157,11 @@ u_is_print =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/ctype_punct.c b/lib/unictype/ctype_punct.c
index 7b5e8f5a..3991feed 100644
--- a/lib/unictype/ctype_punct.c
+++ b/lib/unictype/ctype_punct.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_punct.h b/lib/unictype/ctype_punct.h
index a9388b3b..6a0f2878 100644
--- a/lib/unictype/ctype_punct.h
+++ b/lib/unictype/ctype_punct.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
@@ -661,11 +653,11 @@ u_is_punct =
0xFFFFFFFFU, 0xFFFF7FFFU, 0x3FFFFFFFU, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0xFFFFFF1EU, 0xE0C1FC01U, 0x00000000U, 0x00000000U,
0x1E000000U, 0x00000001U, 0x00000000U, 0x08000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0xFFFF0000U, 0x00000000U, 0xFFFFFFFFU, 0x0000000FU,
+ 0xFFFF0000U, 0x00000000U, 0xFFFFFFFFU, 0x0000800FU,
0x7FFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/ctype_space.c b/lib/unictype/ctype_space.c
index 39662bc3..cdfe54d9 100644
--- a/lib/unictype/ctype_space.c
+++ b/lib/unictype/ctype_space.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_space.h b/lib/unictype/ctype_space.h
index e9547563..89e3a329 100644
--- a/lib/unictype/ctype_space.h
+++ b/lib/unictype/ctype_space.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/ctype_upper.c b/lib/unictype/ctype_upper.c
index bf588ef5..02110cc6 100644
--- a/lib/unictype/ctype_upper.c
+++ b/lib/unictype/ctype_upper.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_upper.h b/lib/unictype/ctype_upper.h
index fb3e7706..d9259bf8 100644
--- a/lib/unictype/ctype_upper.h
+++ b/lib/unictype/ctype_upper.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/ctype_xdigit.c b/lib/unictype/ctype_xdigit.c
index e51397dd..1e5a1627 100644
--- a/lib/unictype/ctype_xdigit.c
+++ b/lib/unictype/ctype_xdigit.c
@@ -1,27 +1,19 @@
/* ISO C <ctype.h> like properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unictype/ctype_xdigit.h b/lib/unictype/ctype_xdigit.h
index ef3dd344..02d9c2df 100644
--- a/lib/unictype/ctype_xdigit.h
+++ b/lib/unictype/ctype_xdigit.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/unictype/decdigit.c b/lib/unictype/decdigit.c
index f66b11ca..eb779109 100644
--- a/lib/unictype/decdigit.c
+++ b/lib/unictype/decdigit.c
@@ -1,5 +1,5 @@
/* Values of decimal digit Unicode characters.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/decdigit.h b/lib/unictype/decdigit.h
index 3cff36e3..19236ebb 100644
--- a/lib/unictype/decdigit.h
+++ b/lib/unictype/decdigit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decimal digit values of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/digit.c b/lib/unictype/digit.c
index 3704d7b5..16cd909c 100644
--- a/lib/unictype/digit.c
+++ b/lib/unictype/digit.c
@@ -1,5 +1,5 @@
/* Values of digit Unicode characters.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/digit.h b/lib/unictype/digit.h
index 79a74049..2e0b4e7d 100644
--- a/lib/unictype/digit.h
+++ b/lib/unictype/digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Digit values of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/identsyntaxmap.h b/lib/unictype/identsyntaxmap.h
index 48fe7622..49aa2656 100644
--- a/lib/unictype/identsyntaxmap.h
+++ b/lib/unictype/identsyntaxmap.h
@@ -1,5 +1,5 @@
/* Three-level bitmap lookup.
- Copyright (C) 2000-2002, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2000-2002, 2005-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
This file is free software.
diff --git a/lib/unictype/incb_byname.c b/lib/unictype/incb_byname.c
new file mode 100644
index 00000000..6d7f04a8
--- /dev/null
+++ b/lib/unictype/incb_byname.c
@@ -0,0 +1,72 @@
+/* Indic_Conjunct_Break values.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include <string.h>
+
+#include "unictype/incb_byname.h"
+
+int
+uc_indic_conjunct_break_byname (const char *indic_conjunct_break_name)
+{
+ size_t len;
+
+ len = strlen (indic_conjunct_break_name);
+ if (len <= MAX_WORD_LENGTH)
+ {
+ char buf[MAX_WORD_LENGTH + 1];
+ const struct named_indic_conjunct_break *found;
+
+ /* Copy indic_conjunct_break_name into buf, converting '_' and '-'
+ to ' '. */
+ {
+ const char *p = indic_conjunct_break_name;
+ char *q = buf;
+
+ for (;; p++, q++)
+ {
+ char c = *p;
+
+ if (c == '_' || c == '-')
+ c = ' ';
+ *q = c;
+ if (c == '\0')
+ break;
+ }
+ }
+ /* Here q == buf + len. */
+
+ /* Do a hash table lookup, with case-insensitive comparison. */
+ found = uc_indic_conjunct_break_lookup (buf, len);
+ if (found != NULL)
+ return found->indic_conjunct_break;
+ }
+ /* Invalid Indic Conjunct Break name. */
+ return -1;
+}
diff --git a/lib/unictype/incb_byname.gperf b/lib/unictype/incb_byname.gperf
new file mode 100644
index 00000000..89d3bdfe
--- /dev/null
+++ b/lib/unictype/incb_byname.gperf
@@ -0,0 +1,40 @@
+/* Indic_Conjunct_Break values.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+struct named_indic_conjunct_break { int name; int indic_conjunct_break; };
+%struct-type
+%ignore-case
+%language=ANSI-C
+%define hash-function-name indic_conjunct_break_hash
+%define lookup-function-name uc_indic_conjunct_break_lookup
+%readonly-tables
+%global-table
+%define word-array-name indic_conjunct_break_names
+%pic
+%define string-pool-name indic_conjunct_break_stringpool
+%%
+None, UC_INDIC_CONJUNCT_BREAK_NONE
+Consonant, UC_INDIC_CONJUNCT_BREAK_CONSONANT
+Linker, UC_INDIC_CONJUNCT_BREAK_LINKER
+Extend, UC_INDIC_CONJUNCT_BREAK_EXTEND
diff --git a/lib/unictype/incb_byname.h b/lib/unictype/incb_byname.h
new file mode 100644
index 00000000..7ec38887
--- /dev/null
+++ b/lib/unictype/incb_byname.h
@@ -0,0 +1,176 @@
+/* ANSI-C code produced by gperf version 3.2 */
+/* Command-line: gperf -m 10 ./unictype/incb_byname.gperf */
+/* Computed positions: -k'1' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646. */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
+#endif
+
+#line 25 "./unictype/incb_byname.gperf"
+struct named_indic_conjunct_break { int name; int indic_conjunct_break; };
+
+#define TOTAL_KEYWORDS 4
+#define MIN_WORD_LENGTH 4
+#define MAX_WORD_LENGTH 9
+#define MIN_HASH_VALUE 4
+#define MAX_HASH_VALUE 9
+/* maximum key range = 6, duplicates = 0 */
+
+#ifndef GPERF_DOWNCASE
+#define GPERF_DOWNCASE 1
+static const unsigned char gperf_downcase[256] =
+ {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255
+ };
+#endif
+
+#ifndef GPERF_CASE_STRCMP
+#define GPERF_CASE_STRCMP 1
+static int
+gperf_case_strcmp (register const char *s1, register const char *s2)
+{
+ for (;;)
+ {
+ unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
+ unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
+ if (c1 != 0 && c1 == c2)
+ continue;
+ return (int)c1 - (int)c2;
+ }
+}
+#endif
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+indic_conjunct_break_hash (register const char *str, register size_t len)
+{
+ static const unsigned char asso_values[] =
+ {
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 0, 10, 1,
+ 10, 10, 10, 10, 10, 10, 0, 10, 0, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 0,
+ 10, 1, 10, 10, 10, 10, 10, 10, 0, 10,
+ 0, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10
+ };
+ return len + asso_values[(unsigned char)str[0]];
+}
+
+struct indic_conjunct_break_stringpool_t
+ {
+ char indic_conjunct_break_stringpool_str4[sizeof("None")];
+ char indic_conjunct_break_stringpool_str6[sizeof("Linker")];
+ char indic_conjunct_break_stringpool_str7[sizeof("Extend")];
+ char indic_conjunct_break_stringpool_str9[sizeof("Consonant")];
+ };
+static const struct indic_conjunct_break_stringpool_t indic_conjunct_break_stringpool_contents =
+ {
+ "None",
+ "Linker",
+ "Extend",
+ "Consonant"
+ };
+#define indic_conjunct_break_stringpool ((const char *) &indic_conjunct_break_stringpool_contents)
+
+static const struct named_indic_conjunct_break indic_conjunct_break_names[] =
+ {
+ {-1}, {-1}, {-1}, {-1},
+#line 37 "./unictype/incb_byname.gperf"
+ {(int)(size_t)&((struct indic_conjunct_break_stringpool_t *)0)->indic_conjunct_break_stringpool_str4, UC_INDIC_CONJUNCT_BREAK_NONE},
+ {-1},
+#line 39 "./unictype/incb_byname.gperf"
+ {(int)(size_t)&((struct indic_conjunct_break_stringpool_t *)0)->indic_conjunct_break_stringpool_str6, UC_INDIC_CONJUNCT_BREAK_LINKER},
+#line 40 "./unictype/incb_byname.gperf"
+ {(int)(size_t)&((struct indic_conjunct_break_stringpool_t *)0)->indic_conjunct_break_stringpool_str7, UC_INDIC_CONJUNCT_BREAK_EXTEND},
+ {-1},
+#line 38 "./unictype/incb_byname.gperf"
+ {(int)(size_t)&((struct indic_conjunct_break_stringpool_t *)0)->indic_conjunct_break_stringpool_str9, UC_INDIC_CONJUNCT_BREAK_CONSONANT}
+ };
+
+static const struct named_indic_conjunct_break *
+uc_indic_conjunct_break_lookup (register const char *str, register size_t len)
+{
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ register unsigned int key = indic_conjunct_break_hash (str, len);
+
+ if (key <= MAX_HASH_VALUE)
+ {
+ register int o = indic_conjunct_break_names[key].name;
+ if (o >= 0)
+ {
+ register const char *s = o + indic_conjunct_break_stringpool;
+
+ if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strcmp (str, s))
+ return &indic_conjunct_break_names[key];
+ }
+ }
+ }
+ return 0;
+}
diff --git a/lib/unictype/incb_name.c b/lib/unictype/incb_name.c
new file mode 100644
index 00000000..cb4fae55
--- /dev/null
+++ b/lib/unictype/incb_name.c
@@ -0,0 +1,45 @@
+/* Indic_Conjunct_Break values.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+static const char u_indic_conjunct_break_name[4][10] =
+ {
+#define ELEM(tag,string) string,
+#include "unictype/incb_name.h"
+#undef ELEM
+ };
+
+const char *
+uc_indic_conjunct_break_name (int indic_conjunct_break)
+{
+ if (indic_conjunct_break >= 0
+ && indic_conjunct_break < sizeof (u_indic_conjunct_break_name) / sizeof (u_indic_conjunct_break_name[0]))
+ return u_indic_conjunct_break_name[indic_conjunct_break];
+ return NULL;
+}
diff --git a/lib/unictype/incb_name.h b/lib/unictype/incb_name.h
new file mode 100644
index 00000000..b8245fa6
--- /dev/null
+++ b/lib/unictype/incb_name.h
@@ -0,0 +1,29 @@
+/* Indic_Conjunct_Break values.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+ELEM (NONE, "None")
+ELEM (CONSONANT, "Consonant")
+ELEM (LINKER, "Linker")
+ELEM (EXTEND, "Extend")
diff --git a/lib/unictype/incb_of.c b/lib/unictype/incb_of.c
new file mode 100644
index 00000000..91f5121f
--- /dev/null
+++ b/lib/unictype/incb_of.c
@@ -0,0 +1,56 @@
+/* Indic_Conjunct_Break attribute of Unicode characters.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+/* Define u_indic_conjunct_break table. */
+#include "incb_of.h"
+
+int
+uc_indic_conjunct_break (ucs4_t uc)
+{
+ unsigned int index1 = uc >> indic_conjunct_break_header_0;
+ if (index1 < indic_conjunct_break_header_1)
+ {
+ int lookup1 = u_indic_conjunct_break.level1[index1];
+ if (lookup1 >= 0)
+ {
+ unsigned int index2 = (uc >> indic_conjunct_break_header_2) & indic_conjunct_break_header_3;
+ int lookup2 = u_indic_conjunct_break.level2[lookup1 + index2];
+ if (lookup2 >= 0)
+ {
+ unsigned int index3 = (uc & indic_conjunct_break_header_4) + lookup2;
+ /* level3 contains 2-bit values. */
+ unsigned int lookup3 = u_indic_conjunct_break.level3[index3 >> 3];
+
+ return (lookup3 >> (2 * (index3 & 7))) & 3;
+ }
+ }
+ }
+ return UC_INDIC_CONJUNCT_BREAK_NONE;
+}
diff --git a/lib/unictype/incb_of.h b/lib/unictype/incb_of.h
new file mode 100644
index 00000000..97018b82
--- /dev/null
+++ b/lib/unictype/incb_of.h
@@ -0,0 +1,226 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Indic_Conjunct_Break attribute of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#define indic_conjunct_break_header_0 10
+#define indic_conjunct_break_header_1 123
+#define indic_conjunct_break_header_2 6
+#define indic_conjunct_break_header_3 15
+#define indic_conjunct_break_header_4 63
+static const
+struct
+ {
+ int level1[123];
+ short level2[28 << 4];
+ unsigned short level3[106 * 8];
+ }
+u_indic_conjunct_break =
+{
+ {
+ 0, 16, 32, 48, 64, 80, 96, 112,
+ 128, -1, -1, 144, 160, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 176, 192, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 208, 224,
+ 240, -1, 256, 272, 288, 304, 320, 336,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 352, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 368,
+ -1, -1, -1, -1, 384, -1, -1, -1,
+ 400, 416, 432
+ },
+ {
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 0, 64, -1, -1,
+ -1, -1, 128, -1, -1, -1, 192, 256,
+ 320, 384, -1, 448, 512, 576, -1, 640,
+ 704, 768, 832, 896, 960, 1024, 1088, 1152,
+ 1216, -1, 1280, 1344, 1280, 1408, -1, -1,
+ 1472, 1536, 1216, -1, 1600, 1664, -1, -1,
+ 1728, 1792, 1728, 1792, 1856, 1920, 1984, 2048,
+ 2112, -1, 2176, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2240, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2304, -1, -1, 2368,
+ -1, -1, 2432, -1, 2496, -1, -1, -1,
+ 2560, 2624, 2688, 2752, 2816, 2880, 2944, 3008,
+ 3072, -1, -1, 3136, -1, -1, -1, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 2176, -1, -1, 3200, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3264, -1, 3328, -1, 3392,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 3456, -1, 3520, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3584, 3648, 3712, -1, -1, -1, -1,
+ 3776, -1, -1, 3840, 3904, -1, 3968, -1,
+ -1, -1, 4032, 4096, -1, -1, -1, 4160,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4224, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 4288, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4352,
+ -1, -1, -1, 4416, -1, 4480, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 4544, -1, -1, 4608, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4672, -1, -1, -1,
+ -1, -1, 4736, 4800, -1, 4864, 4928, -1,
+ -1, 4992, 5056, -1, 5120, 3968, -1, 5184,
+ 5248, -1, -1, 5312, 5376, 5440, -1, -1,
+ -1, 5504, -1, 5568, -1, -1, -1, 5632,
+ -1, -1, 3072, -1, 2944, -1, -1, -1,
+ 5056, -1, -1, -1, 5696, 5568, -1, -1,
+ 2816, 5760, 5824, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 5888, 5952, -1,
+ -1, -1, -1, -1, -1, 6016, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 6080, 6144, -1, -1, -1,
+ -1, -1, 4224, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 6208, 6272, -1,
+ -1, 6336, -1, -1, -1, -1, -1, -1,
+ 6400, -1, 6464, -1, 6144, -1, -1, -1,
+ -1, -1, 6528, 6592, -1, -1, -1, -1,
+ -1, -1, -1, 6592, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 6656, -1, 6720, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1
+ },
+ {
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x3fff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000,
+ 0xffc0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0xfffc, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfff,
+ 0xcf3c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0xffff, 0x003f, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0xffc0, 0xffff, 0xffff, 0x0000, 0x0000, 0x0003, 0x0000,
+ 0x0000, 0x0000, 0xf000, 0xc3ff, 0xc3ff, 0x0ff3, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x000c, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff,
+ 0xffff, 0x003f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc0, 0x00ff, 0x0c00,
+ 0x0000, 0x0000, 0xf000, 0xffcf, 0xfcff, 0x0ffc, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x00fc, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0xfff0, 0xffff, 0xffff, 0xffcf, 0xffff, 0xffff, 0xffff,
+ 0x0000, 0x0000, 0x5400, 0x5555, 0x5555, 0x5555, 0x5555, 0x0305,
+ 0x0000, 0x0800, 0x03fc, 0x5555, 0x0000, 0x0000, 0x0000, 0x5555,
+ 0x0000, 0x0000, 0x5400, 0x5555, 0x5555, 0x5551, 0x5011, 0x0305,
+ 0x0000, 0x0800, 0x0000, 0x4500, 0x0000, 0x0000, 0x0005, 0x3000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0300,
+ 0x0000, 0x0000, 0x5400, 0x5555, 0x5555, 0x5551, 0x5451, 0x0305,
+ 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+ 0x0000, 0x0800, 0x0000, 0x4500, 0x0000, 0x0000, 0x0004, 0x0000,
+ 0x0000, 0x0000, 0x5400, 0x5555, 0x5555, 0x5551, 0x5555, 0x0305,
+ 0x0000, 0x0800, 0x3c00, 0x0015, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x5400, 0x5555, 0x5555, 0x5555, 0x5555, 0x03d5,
+ 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
+ 0x0000, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x000f, 0x0000, 0x0000, 0xcc00, 0x000c,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x033c, 0x0ff0,
+ 0xf3f3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x3000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc000, 0x003c,
+ 0x0000, 0x0c00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0xfc00, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0030, 0x0c00, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000c, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00fc,
+ 0x0000, 0x0000, 0xc000, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0000, 0xfc00, 0xc3ff,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xcfff,
+ 0xffff, 0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0300, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc0, 0x00ff, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c0, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc000, 0x0000,
+ 0x0000, 0x0000, 0xff3f, 0xffff, 0xfff3, 0x0c03, 0x0300, 0x000f,
+ 0x0000, 0x0000, 0xffff, 0x03ff, 0xfc0c, 0xffff, 0x0003, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc000, 0x000f, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfff0, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x003c, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc000, 0xff00, 0x0fff,
+ 0x0000, 0x0000, 0x0000, 0xf000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000f, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0300, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x000f, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fc0, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c0, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc3f3, 0xf003,
+ 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c00, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x3000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c00,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf000, 0x003f,
+ 0x0000, 0xcc00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc03f,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3c00, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xff00, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c0, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfc00,
+ 0xf000, 0xffff, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0ff0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0xc000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0030,
+ 0x003f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c0, 0x0000,
+ 0x0000, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003c, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c0,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xf000, 0x03ff, 0x03ff, 0x0000,
+ 0x3000, 0x0000, 0x0000, 0x3000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x00c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3000,
+ 0xc000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0f30, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0xc000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ff, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xcc00, 0xf00f, 0x003f, 0xffc0,
+ 0xfc3f, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0ff0, 0x0000, 0x0000,
+ 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x3fff, 0xffff, 0xffff, 0xffc3, 0xf3cf, 0x003f, 0x0000, 0x0000,
+ 0x0000, 0xc000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff00, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xff00, 0x003f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
+ }
+};
diff --git a/lib/unictype/joininggroup_byname.c b/lib/unictype/joininggroup_byname.c
index cf7efa93..b97c0eaa 100644
--- a/lib/unictype/joininggroup_byname.c
+++ b/lib/unictype/joininggroup_byname.c
@@ -1,5 +1,5 @@
/* Arabic joining group of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joininggroup_byname.gperf b/lib/unictype/joininggroup_byname.gperf
index 3feadf80..2d998f36 100644
--- a/lib/unictype/joininggroup_byname.gperf
+++ b/lib/unictype/joininggroup_byname.gperf
@@ -1,5 +1,5 @@
/* Arabic joining group of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/joininggroup_byname.h b/lib/unictype/joininggroup_byname.h
index e62d36d6..6e34eb02 100644
--- a/lib/unictype/joininggroup_byname.h
+++ b/lib/unictype/joininggroup_byname.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unictype/joininggroup_byname.gperf */
+/* Command-line: gperf -m 10 ../../lib/unictype/joininggroup_byname.gperf */
/* Computed positions: -k'1-2,10-12,$' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 25 "./unictype/joininggroup_byname.gperf"
+#line 25 "../../lib/unictype/joininggroup_byname.gperf"
struct named_joining_group { int name; int joining_group; };
#define TOTAL_KEYWORDS 160
@@ -502,392 +502,392 @@ static const struct named_joining_group joining_group_names[] =
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1},
-#line 49 "./unictype/joininggroup_byname.gperf"
+#line 49 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str19, UC_JOINING_GROUP_E},
-#line 60 "./unictype/joininggroup_byname.gperf"
+#line 60 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str20, UC_JOINING_GROUP_HEH},
-#line 63 "./unictype/joininggroup_byname.gperf"
+#line 63 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str21, UC_JOINING_GROUP_HETH},
{-1},
-#line 71 "./unictype/joininggroup_byname.gperf"
+#line 71 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str23, UC_JOINING_GROUP_MEEM},
-#line 59 "./unictype/joininggroup_byname.gperf"
+#line 59 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str24, UC_JOINING_GROUP_HE},
{-1},
-#line 58 "./unictype/joininggroup_byname.gperf"
+#line 58 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str26, UC_JOINING_GROUP_HAH},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 42 "./unictype/joininggroup_byname.gperf"
+#line 42 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str34, UC_JOINING_GROUP_BEH},
-#line 43 "./unictype/joininggroup_byname.gperf"
+#line 43 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str35, UC_JOINING_GROUP_BETH},
-#line 62 "./unictype/joininggroup_byname.gperf"
+#line 62 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str36, UC_JOINING_GROUP_HEH_GOAL},
-#line 61 "./unictype/joininggroup_byname.gperf"
+#line 61 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str37, UC_JOINING_GROUP_HEH_GOAL},
{-1},
-#line 69 "./unictype/joininggroup_byname.gperf"
+#line 69 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str39, UC_JOINING_GROUP_LAM},
-#line 40 "./unictype/joininggroup_byname.gperf"
+#line 40 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str40, UC_JOINING_GROUP_ALAPH},
-#line 70 "./unictype/joininggroup_byname.gperf"
+#line 70 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str41, UC_JOINING_GROUP_LAMADH},
{-1},
-#line 194 "./unictype/joininggroup_byname.gperf"
+#line 194 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str43, UC_JOINING_GROUP_THIN_YEH},
-#line 193 "./unictype/joininggroup_byname.gperf"
+#line 193 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str44, UC_JOINING_GROUP_THIN_YEH},
-#line 97 "./unictype/joininggroup_byname.gperf"
+#line 97 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str45, UC_JOINING_GROUP_TETH},
{-1}, {-1},
-#line 72 "./unictype/joininggroup_byname.gperf"
+#line 72 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str48, UC_JOINING_GROUP_MIM},
{-1},
-#line 91 "./unictype/joininggroup_byname.gperf"
+#line 91 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str50, UC_JOINING_GROUP_TAH},
{-1}, {-1},
-#line 139 "./unictype/joininggroup_byname.gperf"
+#line 139 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str53, UC_JOINING_GROUP_MANICHAEAN_MEM},
-#line 123 "./unictype/joininggroup_byname.gperf"
+#line 123 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str54, UC_JOINING_GROUP_MANICHAEAN_ZAYIN},
-#line 115 "./unictype/joininggroup_byname.gperf"
+#line 115 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str55, UC_JOINING_GROUP_MANICHAEAN_BETH},
-#line 133 "./unictype/joininggroup_byname.gperf"
+#line 133 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str56, UC_JOINING_GROUP_MANICHAEAN_LAMEDH},
-#line 39 "./unictype/joininggroup_byname.gperf"
+#line 39 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str57, UC_JOINING_GROUP_AIN},
{-1},
-#line 76 "./unictype/joininggroup_byname.gperf"
+#line 76 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str59, UC_JOINING_GROUP_PE},
-#line 119 "./unictype/joininggroup_byname.gperf"
+#line 119 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str60, UC_JOINING_GROUP_MANICHAEAN_DALETH},
-#line 135 "./unictype/joininggroup_byname.gperf"
+#line 135 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str61, UC_JOINING_GROUP_MANICHAEAN_DHAMEDH},
-#line 167 "./unictype/joininggroup_byname.gperf"
+#line 167 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str62, UC_JOINING_GROUP_MALAYALAM_NGA},
-#line 114 "./unictype/joininggroup_byname.gperf"
+#line 114 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str63, UC_JOINING_GROUP_MANICHAEAN_ALEPH},
-#line 142 "./unictype/joininggroup_byname.gperf"
+#line 142 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str64, UC_JOINING_GROUP_MANICHAEAN_NUN},
-#line 131 "./unictype/joininggroup_byname.gperf"
+#line 131 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str65, UC_JOINING_GROUP_MANICHAEAN_KAPH},
-#line 117 "./unictype/joininggroup_byname.gperf"
+#line 117 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str66, UC_JOINING_GROUP_MANICHAEAN_GIMEL},
-#line 145 "./unictype/joininggroup_byname.gperf"
+#line 145 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str67, UC_JOINING_GROUP_MANICHAEAN_AYIN},
-#line 113 "./unictype/joininggroup_byname.gperf"
+#line 113 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str68, UC_JOINING_GROUP_MANICHAEAN_ALEPH},
{-1},
-#line 53 "./unictype/joininggroup_byname.gperf"
+#line 53 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str70, UC_JOINING_GROUP_FEH},
{-1}, {-1},
-#line 176 "./unictype/joininggroup_byname.gperf"
+#line 176 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str73, UC_JOINING_GROUP_MALAYALAM_NNA},
-#line 52 "./unictype/joininggroup_byname.gperf"
+#line 52 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str74, UC_JOINING_GROUP_FE},
-#line 183 "./unictype/joininggroup_byname.gperf"
+#line 183 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str75, UC_JOINING_GROUP_MALAYALAM_LLA},
-#line 185 "./unictype/joininggroup_byname.gperf"
+#line 185 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str76, UC_JOINING_GROUP_MALAYALAM_LLLA},
-#line 94 "./unictype/joininggroup_byname.gperf"
+#line 94 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str77, UC_JOINING_GROUP_TEH_MARBUTA},
-#line 134 "./unictype/joininggroup_byname.gperf"
+#line 134 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str78, UC_JOINING_GROUP_MANICHAEAN_LAMEDH},
-#line 143 "./unictype/joininggroup_byname.gperf"
+#line 143 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str79, UC_JOINING_GROUP_MANICHAEAN_SAMEKH},
{-1},
-#line 51 "./unictype/joininggroup_byname.gperf"
+#line 51 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str81, UC_JOINING_GROUP_FARSI_YEH},
-#line 50 "./unictype/joininggroup_byname.gperf"
+#line 50 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str82, UC_JOINING_GROUP_FARSI_YEH},
-#line 149 "./unictype/joininggroup_byname.gperf"
+#line 149 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str83, UC_JOINING_GROUP_MANICHAEAN_SADHE},
-#line 125 "./unictype/joininggroup_byname.gperf"
+#line 125 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str84, UC_JOINING_GROUP_MANICHAEAN_HETH},
-#line 186 "./unictype/joininggroup_byname.gperf"
+#line 186 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str85, UC_JOINING_GROUP_MALAYALAM_LLLA},
-#line 57 "./unictype/joininggroup_byname.gperf"
+#line 57 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str86, UC_JOINING_GROUP_GAMAL},
-#line 180 "./unictype/joininggroup_byname.gperf"
+#line 180 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str87, UC_JOINING_GROUP_MALAYALAM_BHA},
-#line 99 "./unictype/joininggroup_byname.gperf"
+#line 99 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str88, UC_JOINING_GROUP_YEH},
-#line 41 "./unictype/joininggroup_byname.gperf"
+#line 41 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str89, UC_JOINING_GROUP_ALEF},
{-1},
-#line 74 "./unictype/joininggroup_byname.gperf"
+#line 74 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str91, UC_JOINING_GROUP_NUN},
-#line 157 "./unictype/joininggroup_byname.gperf"
+#line 157 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str92, UC_JOINING_GROUP_MANICHAEAN_ONE},
-#line 190 "./unictype/joininggroup_byname.gperf"
+#line 190 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str93, UC_JOINING_GROUP_HANIFI_ROHINGYA_PA},
-#line 75 "./unictype/joininggroup_byname.gperf"
+#line 75 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str94, UC_JOINING_GROUP_NYA},
{-1},
-#line 92 "./unictype/joininggroup_byname.gperf"
+#line 92 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str96, UC_JOINING_GROUP_TAW},
-#line 184 "./unictype/joininggroup_byname.gperf"
+#line 184 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str97, UC_JOINING_GROUP_MALAYALAM_LLA},
-#line 192 "./unictype/joininggroup_byname.gperf"
+#line 192 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str98, UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA},
-#line 101 "./unictype/joininggroup_byname.gperf"
+#line 101 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str99, UC_JOINING_GROUP_YEH_BARREE},
-#line 126 "./unictype/joininggroup_byname.gperf"
+#line 126 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str100, UC_JOINING_GROUP_MANICHAEAN_HETH},
-#line 140 "./unictype/joininggroup_byname.gperf"
+#line 140 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str101, UC_JOINING_GROUP_MANICHAEAN_MEM},
-#line 121 "./unictype/joininggroup_byname.gperf"
+#line 121 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str102, UC_JOINING_GROUP_MANICHAEAN_WAW},
-#line 73 "./unictype/joininggroup_byname.gperf"
+#line 73 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str103, UC_JOINING_GROUP_NOON},
-#line 159 "./unictype/joininggroup_byname.gperf"
+#line 159 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str104, UC_JOINING_GROUP_MANICHAEAN_FIVE},
{-1},
-#line 93 "./unictype/joininggroup_byname.gperf"
+#line 93 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str106, UC_JOINING_GROUP_TEH_MARBUTA},
-#line 179 "./unictype/joininggroup_byname.gperf"
+#line 179 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str107, UC_JOINING_GROUP_MALAYALAM_BHA},
-#line 138 "./unictype/joininggroup_byname.gperf"
+#line 138 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str108, UC_JOINING_GROUP_MANICHAEAN_THAMEDH},
-#line 100 "./unictype/joininggroup_byname.gperf"
+#line 100 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str109, UC_JOINING_GROUP_YEH_BARREE},
{-1},
-#line 196 "./unictype/joininggroup_byname.gperf"
+#line 196 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str111, UC_JOINING_GROUP_VERTICAL_TAIL},
{-1}, {-1},
-#line 116 "./unictype/joininggroup_byname.gperf"
+#line 116 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str114, UC_JOINING_GROUP_MANICHAEAN_BETH},
{-1},
-#line 95 "./unictype/joininggroup_byname.gperf"
+#line 95 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str116, UC_JOINING_GROUP_TEH_MARBUTA_GOAL},
{-1},
-#line 98 "./unictype/joininggroup_byname.gperf"
+#line 98 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str118, UC_JOINING_GROUP_WAW},
-#line 168 "./unictype/joininggroup_byname.gperf"
+#line 168 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str119, UC_JOINING_GROUP_MALAYALAM_NGA},
{-1},
-#line 174 "./unictype/joininggroup_byname.gperf"
+#line 174 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str121, UC_JOINING_GROUP_MALAYALAM_TTA},
-#line 56 "./unictype/joininggroup_byname.gperf"
+#line 56 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str122, UC_JOINING_GROUP_GAF},
-#line 162 "./unictype/joininggroup_byname.gperf"
+#line 162 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str123, UC_JOINING_GROUP_MANICHAEAN_TEN},
-#line 128 "./unictype/joininggroup_byname.gperf"
+#line 128 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str124, UC_JOINING_GROUP_MANICHAEAN_TETH},
{-1},
-#line 86 "./unictype/joininggroup_byname.gperf"
+#line 86 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str126, UC_JOINING_GROUP_SHIN},
{-1},
-#line 161 "./unictype/joininggroup_byname.gperf"
+#line 161 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str128, UC_JOINING_GROUP_MANICHAEAN_TEN},
-#line 127 "./unictype/joininggroup_byname.gperf"
+#line 127 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str129, UC_JOINING_GROUP_MANICHAEAN_TETH},
{-1},
-#line 84 "./unictype/joininggroup_byname.gperf"
+#line 84 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str131, UC_JOINING_GROUP_SEEN},
-#line 137 "./unictype/joininggroup_byname.gperf"
+#line 137 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str132, UC_JOINING_GROUP_MANICHAEAN_THAMEDH},
-#line 156 "./unictype/joininggroup_byname.gperf"
+#line 156 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str133, UC_JOINING_GROUP_MANICHAEAN_TAW},
-#line 85 "./unictype/joininggroup_byname.gperf"
+#line 85 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str134, UC_JOINING_GROUP_SEMKATH},
{-1},
-#line 79 "./unictype/joininggroup_byname.gperf"
+#line 79 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str136, UC_JOINING_GROUP_REH},
{-1},
-#line 148 "./unictype/joininggroup_byname.gperf"
+#line 148 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str138, UC_JOINING_GROUP_MANICHAEAN_PE},
-#line 141 "./unictype/joininggroup_byname.gperf"
+#line 141 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str139, UC_JOINING_GROUP_MANICHAEAN_NUN},
{-1},
-#line 172 "./unictype/joininggroup_byname.gperf"
+#line 172 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str141, UC_JOINING_GROUP_MALAYALAM_NYA},
-#line 108 "./unictype/joininggroup_byname.gperf"
+#line 108 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str142, UC_JOINING_GROUP_ZHAIN},
-#line 83 "./unictype/joininggroup_byname.gperf"
+#line 83 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str143, UC_JOINING_GROUP_SADHE},
{-1}, {-1}, {-1},
-#line 178 "./unictype/joininggroup_byname.gperf"
+#line 178 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str147, UC_JOINING_GROUP_MALAYALAM_NNNA},
-#line 164 "./unictype/joininggroup_byname.gperf"
+#line 164 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str148, UC_JOINING_GROUP_MANICHAEAN_TWENTY},
-#line 175 "./unictype/joininggroup_byname.gperf"
+#line 175 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str149, UC_JOINING_GROUP_MALAYALAM_NNA},
-#line 177 "./unictype/joininggroup_byname.gperf"
+#line 177 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str150, UC_JOINING_GROUP_MALAYALAM_NNNA},
{-1},
-#line 107 "./unictype/joininggroup_byname.gperf"
+#line 107 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str152, UC_JOINING_GROUP_ZAIN},
-#line 130 "./unictype/joininggroup_byname.gperf"
+#line 130 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str153, UC_JOINING_GROUP_MANICHAEAN_YODH},
{-1},
-#line 122 "./unictype/joininggroup_byname.gperf"
+#line 122 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str155, UC_JOINING_GROUP_MANICHAEAN_WAW},
{-1},
-#line 81 "./unictype/joininggroup_byname.gperf"
+#line 81 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str157, UC_JOINING_GROUP_REVERSED_PE},
{-1},
-#line 103 "./unictype/joininggroup_byname.gperf"
+#line 103 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str159, UC_JOINING_GROUP_YEH_WITH_TAIL},
-#line 104 "./unictype/joininggroup_byname.gperf"
+#line 104 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str160, UC_JOINING_GROUP_YUDH},
{-1},
-#line 173 "./unictype/joininggroup_byname.gperf"
+#line 173 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str162, UC_JOINING_GROUP_MALAYALAM_TTA},
-#line 153 "./unictype/joininggroup_byname.gperf"
+#line 153 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str163, UC_JOINING_GROUP_MANICHAEAN_RESH},
-#line 48 "./unictype/joininggroup_byname.gperf"
+#line 48 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str164, UC_JOINING_GROUP_DALATH_RISH},
-#line 46 "./unictype/joininggroup_byname.gperf"
+#line 46 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str165, UC_JOINING_GROUP_DAL},
{-1},
-#line 106 "./unictype/joininggroup_byname.gperf"
+#line 106 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str167, UC_JOINING_GROUP_YUDH_HE},
-#line 105 "./unictype/joininggroup_byname.gperf"
+#line 105 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str168, UC_JOINING_GROUP_YUDH_HE},
-#line 151 "./unictype/joininggroup_byname.gperf"
+#line 151 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str169, UC_JOINING_GROUP_MANICHAEAN_QOPH},
{-1},
-#line 96 "./unictype/joininggroup_byname.gperf"
+#line 96 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str171, UC_JOINING_GROUP_TEH_MARBUTA_GOAL},
-#line 78 "./unictype/joininggroup_byname.gperf"
+#line 78 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str172, UC_JOINING_GROUP_QAPH},
{-1},
-#line 155 "./unictype/joininggroup_byname.gperf"
+#line 155 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str174, UC_JOINING_GROUP_MANICHAEAN_TAW},
-#line 66 "./unictype/joininggroup_byname.gperf"
+#line 66 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str175, UC_JOINING_GROUP_KHAPH},
-#line 144 "./unictype/joininggroup_byname.gperf"
+#line 144 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str176, UC_JOINING_GROUP_MANICHAEAN_SAMEKH},
{-1},
-#line 129 "./unictype/joininggroup_byname.gperf"
+#line 129 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str178, UC_JOINING_GROUP_MANICHAEAN_YODH},
-#line 170 "./unictype/joininggroup_byname.gperf"
+#line 170 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str179, UC_JOINING_GROUP_MALAYALAM_JA},
-#line 150 "./unictype/joininggroup_byname.gperf"
+#line 150 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str180, UC_JOINING_GROUP_MANICHAEAN_SADHE},
-#line 182 "./unictype/joininggroup_byname.gperf"
+#line 182 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str181, UC_JOINING_GROUP_MALAYALAM_RA},
-#line 189 "./unictype/joininggroup_byname.gperf"
+#line 189 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str182, UC_JOINING_GROUP_HANIFI_ROHINGYA_PA},
-#line 55 "./unictype/joininggroup_byname.gperf"
+#line 55 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str183, UC_JOINING_GROUP_FINAL_SEMKATH},
-#line 68 "./unictype/joininggroup_byname.gperf"
+#line 68 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str184, UC_JOINING_GROUP_KNOTTED_HEH},
-#line 65 "./unictype/joininggroup_byname.gperf"
+#line 65 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str185, UC_JOINING_GROUP_KAPH},
-#line 146 "./unictype/joininggroup_byname.gperf"
+#line 146 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str186, UC_JOINING_GROUP_MANICHAEAN_AYIN},
-#line 171 "./unictype/joininggroup_byname.gperf"
+#line 171 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str187, UC_JOINING_GROUP_MALAYALAM_NYA},
-#line 191 "./unictype/joininggroup_byname.gperf"
+#line 191 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str188, UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA},
-#line 169 "./unictype/joininggroup_byname.gperf"
+#line 169 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str189, UC_JOINING_GROUP_MALAYALAM_JA},
-#line 124 "./unictype/joininggroup_byname.gperf"
+#line 124 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str190, UC_JOINING_GROUP_MANICHAEAN_ZAYIN},
-#line 181 "./unictype/joininggroup_byname.gperf"
+#line 181 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str191, UC_JOINING_GROUP_MALAYALAM_RA},
{-1},
-#line 120 "./unictype/joininggroup_byname.gperf"
+#line 120 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str193, UC_JOINING_GROUP_MANICHAEAN_DALETH},
-#line 67 "./unictype/joininggroup_byname.gperf"
+#line 67 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str194, UC_JOINING_GROUP_KNOTTED_HEH},
-#line 166 "./unictype/joininggroup_byname.gperf"
+#line 166 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str195, UC_JOINING_GROUP_MANICHAEAN_HUNDRED},
-#line 187 "./unictype/joininggroup_byname.gperf"
+#line 187 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str196, UC_JOINING_GROUP_MALAYALAM_SSA},
-#line 80 "./unictype/joininggroup_byname.gperf"
+#line 80 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str197, UC_JOINING_GROUP_REVERSED_PE},
{-1},
-#line 163 "./unictype/joininggroup_byname.gperf"
+#line 163 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str199, UC_JOINING_GROUP_MANICHAEAN_TWENTY},
{-1},
-#line 147 "./unictype/joininggroup_byname.gperf"
+#line 147 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str201, UC_JOINING_GROUP_MANICHAEAN_PE},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 37 "./unictype/joininggroup_byname.gperf"
+#line 37 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str210, UC_JOINING_GROUP_NONE},
-#line 136 "./unictype/joininggroup_byname.gperf"
+#line 136 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str211, UC_JOINING_GROUP_MANICHAEAN_DHAMEDH},
{-1}, {-1},
-#line 165 "./unictype/joininggroup_byname.gperf"
+#line 165 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str214, UC_JOINING_GROUP_MANICHAEAN_HUNDRED},
{-1},
-#line 154 "./unictype/joininggroup_byname.gperf"
+#line 154 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str216, UC_JOINING_GROUP_MANICHAEAN_RESH},
{-1},
-#line 195 "./unictype/joininggroup_byname.gperf"
+#line 195 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str218, UC_JOINING_GROUP_VERTICAL_TAIL},
-#line 160 "./unictype/joininggroup_byname.gperf"
+#line 160 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str219, UC_JOINING_GROUP_MANICHAEAN_FIVE},
{-1},
-#line 77 "./unictype/joininggroup_byname.gperf"
+#line 77 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str221, UC_JOINING_GROUP_QAF},
-#line 132 "./unictype/joininggroup_byname.gperf"
+#line 132 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str222, UC_JOINING_GROUP_MANICHAEAN_KAPH},
-#line 118 "./unictype/joininggroup_byname.gperf"
+#line 118 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str223, UC_JOINING_GROUP_MANICHAEAN_GIMEL},
{-1}, {-1},
-#line 88 "./unictype/joininggroup_byname.gperf"
+#line 88 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str226, UC_JOINING_GROUP_SWASH_KAF},
-#line 87 "./unictype/joininggroup_byname.gperf"
+#line 87 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str227, UC_JOINING_GROUP_SWASH_KAF},
-#line 158 "./unictype/joininggroup_byname.gperf"
+#line 158 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str228, UC_JOINING_GROUP_MANICHAEAN_ONE},
{-1},
-#line 152 "./unictype/joininggroup_byname.gperf"
+#line 152 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str230, UC_JOINING_GROUP_MANICHAEAN_QOPH},
{-1}, {-1}, {-1},
-#line 64 "./unictype/joininggroup_byname.gperf"
+#line 64 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str234, UC_JOINING_GROUP_KAF},
{-1}, {-1}, {-1}, {-1},
-#line 110 "./unictype/joininggroup_byname.gperf"
+#line 110 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str239, UC_JOINING_GROUP_ROHINGYA_YEH},
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 90 "./unictype/joininggroup_byname.gperf"
+#line 90 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str245, UC_JOINING_GROUP_SYRIAC_WAW},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 82 "./unictype/joininggroup_byname.gperf"
+#line 82 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str263, UC_JOINING_GROUP_SAD},
{-1}, {-1}, {-1}, {-1},
-#line 112 "./unictype/joininggroup_byname.gperf"
+#line 112 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str268, UC_JOINING_GROUP_STRAIGHT_WAW},
{-1}, {-1},
-#line 102 "./unictype/joininggroup_byname.gperf"
+#line 102 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str271, UC_JOINING_GROUP_YEH_WITH_TAIL},
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 111 "./unictype/joininggroup_byname.gperf"
+#line 111 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str277, UC_JOINING_GROUP_STRAIGHT_WAW},
{-1},
-#line 47 "./unictype/joininggroup_byname.gperf"
+#line 47 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str279, UC_JOINING_GROUP_DALATH_RISH},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 45 "./unictype/joininggroup_byname.gperf"
+#line 45 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str287, UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE},
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 188 "./unictype/joininggroup_byname.gperf"
+#line 188 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str293, UC_JOINING_GROUP_MALAYALAM_SSA},
{-1}, {-1},
-#line 89 "./unictype/joininggroup_byname.gperf"
+#line 89 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str296, UC_JOINING_GROUP_SYRIAC_WAW},
{-1},
-#line 44 "./unictype/joininggroup_byname.gperf"
+#line 44 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str298, UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 109 "./unictype/joininggroup_byname.gperf"
+#line 109 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str343, UC_JOINING_GROUP_ROHINGYA_YEH},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1},
-#line 38 "./unictype/joininggroup_byname.gperf"
+#line 38 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str357, UC_JOINING_GROUP_NONE},
{-1}, {-1}, {-1}, {-1}, {-1},
-#line 54 "./unictype/joininggroup_byname.gperf"
+#line 54 "../../lib/unictype/joininggroup_byname.gperf"
{(int)(size_t)&((struct joining_group_stringpool_t *)0)->joining_group_stringpool_str363, UC_JOINING_GROUP_FINAL_SEMKATH}
};
diff --git a/lib/unictype/joininggroup_name.c b/lib/unictype/joininggroup_name.c
index 6c9a1be5..b3da3eac 100644
--- a/lib/unictype/joininggroup_name.c
+++ b/lib/unictype/joininggroup_name.c
@@ -1,5 +1,5 @@
/* Arabic joining group of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joininggroup_name.h b/lib/unictype/joininggroup_name.h
index 639422c1..0640b11c 100644
--- a/lib/unictype/joininggroup_name.h
+++ b/lib/unictype/joininggroup_name.h
@@ -1,5 +1,5 @@
/* Arabic joining group of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joininggroup_of.c b/lib/unictype/joininggroup_of.c
index e1dcb1d1..c327c51c 100644
--- a/lib/unictype/joininggroup_of.c
+++ b/lib/unictype/joininggroup_of.c
@@ -1,5 +1,5 @@
/* Arabic joining group of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joininggroup_of.h b/lib/unictype/joininggroup_of.h
index 325d2281..29cfcd5e 100644
--- a/lib/unictype/joininggroup_of.h
+++ b/lib/unictype/joininggroup_of.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Arabic joining group of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/joiningtype_byname.c b/lib/unictype/joiningtype_byname.c
index 92348e6c..6b443477 100644
--- a/lib/unictype/joiningtype_byname.c
+++ b/lib/unictype/joiningtype_byname.c
@@ -1,5 +1,5 @@
/* Arabic joining type of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joiningtype_byname.gperf b/lib/unictype/joiningtype_byname.gperf
index 417d0acd..1b32723c 100644
--- a/lib/unictype/joiningtype_byname.gperf
+++ b/lib/unictype/joiningtype_byname.gperf
@@ -1,5 +1,5 @@
/* Arabic joining type of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/joiningtype_byname.h b/lib/unictype/joiningtype_byname.h
index cd3e3705..00a05ff2 100644
--- a/lib/unictype/joiningtype_byname.h
+++ b/lib/unictype/joiningtype_byname.h
@@ -1,5 +1,5 @@
/* ANSI-C code produced by gperf version 3.2 */
-/* Command-line: gperf -m 10 ./unictype/joiningtype_byname.gperf */
+/* Command-line: gperf -m 10 ../../lib/unictype/joiningtype_byname.gperf */
/* Computed positions: -k'1' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -29,7 +29,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
-#line 25 "./unictype/joiningtype_byname.gperf"
+#line 25 "../../lib/unictype/joiningtype_byname.gperf"
struct named_joining_type { int name; int joining_type; };
#define TOTAL_KEYWORDS 17
@@ -167,41 +167,41 @@ static const struct joining_type_stringpool_t joining_type_stringpool_contents =
static const struct named_joining_type joining_type_names[] =
{
{-1},
-#line 39 "./unictype/joiningtype_byname.gperf"
+#line 39 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str1, UC_JOINING_TYPE_L},
-#line 40 "./unictype/joiningtype_byname.gperf"
+#line 40 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str2, UC_JOINING_TYPE_R},
-#line 42 "./unictype/joiningtype_byname.gperf"
+#line 42 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str3, UC_JOINING_TYPE_U},
-#line 37 "./unictype/joiningtype_byname.gperf"
+#line 37 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str4, UC_JOINING_TYPE_C},
-#line 38 "./unictype/joiningtype_byname.gperf"
+#line 38 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str5, UC_JOINING_TYPE_D},
{-1},
-#line 41 "./unictype/joiningtype_byname.gperf"
+#line 41 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str7, UC_JOINING_TYPE_T},
{-1}, {-1}, {-1},
-#line 48 "./unictype/joiningtype_byname.gperf"
+#line 48 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str11, UC_JOINING_TYPE_L},
-#line 47 "./unictype/joiningtype_byname.gperf"
+#line 47 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str12, UC_JOINING_TYPE_L},
-#line 50 "./unictype/joiningtype_byname.gperf"
+#line 50 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str13, UC_JOINING_TYPE_R},
-#line 49 "./unictype/joiningtype_byname.gperf"
+#line 49 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str14, UC_JOINING_TYPE_R},
-#line 46 "./unictype/joiningtype_byname.gperf"
+#line 46 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str15, UC_JOINING_TYPE_D},
-#line 45 "./unictype/joiningtype_byname.gperf"
+#line 45 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str16, UC_JOINING_TYPE_D},
-#line 51 "./unictype/joiningtype_byname.gperf"
+#line 51 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str17, UC_JOINING_TYPE_T},
-#line 53 "./unictype/joiningtype_byname.gperf"
+#line 53 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str18, UC_JOINING_TYPE_U},
-#line 52 "./unictype/joiningtype_byname.gperf"
+#line 52 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str19, UC_JOINING_TYPE_U},
-#line 44 "./unictype/joiningtype_byname.gperf"
+#line 44 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str20, UC_JOINING_TYPE_C},
-#line 43 "./unictype/joiningtype_byname.gperf"
+#line 43 "../../lib/unictype/joiningtype_byname.gperf"
{(int)(size_t)&((struct joining_type_stringpool_t *)0)->joining_type_stringpool_str21, UC_JOINING_TYPE_C}
};
diff --git a/lib/unictype/joiningtype_longname.c b/lib/unictype/joiningtype_longname.c
index 81926328..e2a870ab 100644
--- a/lib/unictype/joiningtype_longname.c
+++ b/lib/unictype/joiningtype_longname.c
@@ -1,5 +1,5 @@
/* Arabic joining type of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joiningtype_name.c b/lib/unictype/joiningtype_name.c
index cccc1634..4da53159 100644
--- a/lib/unictype/joiningtype_name.c
+++ b/lib/unictype/joiningtype_name.c
@@ -1,5 +1,5 @@
/* Arabic joining type of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/joiningtype_of.c b/lib/unictype/joiningtype_of.c
index 573c0e69..8160994b 100644
--- a/lib/unictype/joiningtype_of.c
+++ b/lib/unictype/joiningtype_of.c
@@ -1,5 +1,5 @@
/* Arabic joining type of Unicode characters.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/joiningtype_of.h b/lib/unictype/joiningtype_of.h
index b6e61457..599489ce 100644
--- a/lib/unictype/joiningtype_of.h
+++ b/lib/unictype/joiningtype_of.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Arabic joining type of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/unictype/mirror.c b/lib/unictype/mirror.c
index 0efb7c2b..024206c5 100644
--- a/lib/unictype/mirror.c
+++ b/lib/unictype/mirror.c
@@ -1,5 +1,5 @@
/* Mirrored Unicode characters.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/mirror.h b/lib/unictype/mirror.h
index 32623fd3..b2924115 100644
--- a/lib/unictype/mirror.h
+++ b/lib/unictype/mirror.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Mirrored Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -210,7 +210,7 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 61635, 61634, 61633, 61632, 0, 0,
+ 0, 0, 1, -1, 1, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -222,7 +222,7 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 59746, 59745, 0, 0, 0,
+ 0, 0, 0, 1, -1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -284,37 +284,37 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 56828, 56827, 56826, 56825, 0, 0, 0,
- 3, 56820, 3, -3, 56817, -3, 0, 0,
- 0, 56812, 0, 0, 0, 56808, 56807, 0,
- 0, 0, 56803, 56802, 56801, 56800, 0, 56798,
- 56797, 56796, 56795, 0, 56793, 0, 56791, 0,
+ 3, 3, 3, -3, -3, -3, 0, 0,
+ 0, 56812, 0, 0, 0, 2016, 56807, 0,
+ 0, 0, 56803, 56802, 56801, 56800, 0, 2527,
+ 1923, 1914, 1918, 0, 2250, 0, 56791, 0,
0, 0, 0, 56786, 56785, 56784, 56783, 56782,
56781, 56780, 56779, 56778, 0, 0, 0, 0,
0, 56772, 0, 56770, 1, -1, 56767, 56766,
- 56765, 56764, 56763, 138, 56761, 56760, 56759, 56758,
- 56757, 56756, 56755, 56754, 56753, 0, 0, 0,
+ 56765, 56764, 56763, 138, 56761, 7, 56759, 56758,
+ 56757, 56756, 56755, 56754, -7, 0, 0, 0,
0, 0, 1, -1, 1, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 56734,
56733, 0, 56731, 0, 1, -1, 1, -1,
- 56725, 56724, 1, -1, 0, 0, 56719, 56718,
- 56717, 56716, 56715, 56714, 56713, 56712, 1, -1,
- 1, -1, 1, -1, 1, -1, 56703, 56702,
- 56701, 56700, 1, -1, 56697, 56696, 1, -1,
- 56693, 56692, 56691, 56690, 56689, 0, 0, 1,
+ 1, -1, 1, -1, 0, 0, 1, -1,
+ 1, -1, 1, -1, 1, -1, 1, -1,
+ 1, -1, 1, -1, 1, -1, 1, -1,
+ 1, -1, 1, -1, 1, -1, 1, -1,
+ 1, -1, 1, -1, 56689, 0, 0, 1,
-1, 1, -1, 0, 0, 0, 0, 0,
- 56677, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, -1, 0, 0, 56663, 56662,
- 56661, 56660, 56659, 56658, 56657, 56656, 56655, 56654,
+ 1824, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, -1, 0, 0, 2104, 56662,
+ 2108, 2106, 56659, 2106, 56657, 56656, 56655, 56654,
1, -1, 1, -1, 1, -1, 1, -1,
- 56645, 0, 0, 0, 0, 0, 56639, 56638,
+ 1316, 0, 0, 0, 0, 0, 56639, 56638,
0, 0, 0, 0, 0, 0, 0, 0,
0, 1, -1, 1, -1, -138, 0, 0,
1, -1, 0, 0, 0, 0, 1, -1,
1, -1, 1, -1, 1, -1, 1, -1,
- 56605, 56604, 56603, 56602, 56601, 56600, 56599, 56598,
- 56597, 56596, 56595, 56594, 56593, 56592, 0, 0,
- 1, -1, 56587, 56586, 56585, 56584, 56583, 56582,
- 56581, 56580, 56579, 56578, 56577, 56576, 56575, 56574,
+ 1, -1, 1, -1, 1, -1, 1, -1,
+ 1, -1, 1, -1, 1, -1, 0, 0,
+ 1, -1, 8, 8, 8, 56584, 7, 7,
+ 56581, 56580, -8, -8, -8, -7, -7, 56574,
0, 0, 0, 0, 0, 0, 0, 0,
1, -1, 1, -1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -344,8 +344,8 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 55445, 55444, 55443, 55442, 55441, 55440, 55439, 55438,
- 55437, 55436, 55435, 55434, 55433, 55432, 0, 0,
+ 1, -1, 1, -1, 1, -1, 1, -1,
+ 1, -1, 1, -1, 1, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -355,62 +355,62 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 55357, 0, 0, 55354, 55353, 55352, 55351, 0,
- 55349, 55348, 0, 55346, 55345, 55344, 0, 0,
- 0, 0, 0, 55338, 55337, 55336, 55335, 0,
- 0, 0, 0, 0, 55329, 55328, 55327, 0,
- 0, 0, 55323, 55322, 55321, 55320, 55319, 55318,
- 55317, 55316, 55315, 55314, 55313, 55312, 55311, 55310,
+ 55357, 0, 0, 1, -1, 1, -1, 0,
+ 1, -1, 0, 2, 55345, -2, 0, 0,
+ 0, 0, 0, 55338, 55337, 1, -1, 0,
+ 0, 0, 0, 0, -1316, 1, -1, 0,
+ 0, 0, 1, -1, 1, -1, 1, -1,
+ 1, -1, 1, -1, 1, -1, 1, -1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 54906, 54905, 54904, 54903, 54902,
- 54901, 54900, 54899, 54898, 54897, 54896, 54895, 54894,
- 54893, 54892, 54891, 54890, 54889, 54888, 54887, 54886,
- 54885, 0, 0, 54882, 54881, 54880, 54879, 54878,
- 54877, 0, 54875, 54874, 54873, 54872, 54871, 54870,
- 54869, 54868, 54867, 54866, 54865, 54864, 54863, 54862,
+ 0, 0, 0, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 3, 1, -1,
+ -3, 1, -1, 1, -1, 1, -1, 1,
+ -1, 0, 0, -1914, 54881, 54880, 54879, 54878,
+ -1918, 0, 54875, -1923, 1, -1, 54871, 54870,
+ 1, -1, 1, -1, 1, -1, 1, -1,
0, 0, 0, 0, 0, 0, 0, 0,
- 54853, 0, 0, 0, 0, 0, 0, 0,
- 54845, 54844, 54843, 54842, 54841, 54840, 0, 0,
- 0, 54836, 0, 0, 0, 0, 54831, 54830,
- 54829, 54828, 54827, 0, 54825, 54824, 0, 0,
- 54821, 54820, 54819, 54818, 54817, 0, 0, 0,
+ -1824, 0, 0, 0, 0, 0, 0, 0,
+ 1, -1, 54843, 54842, 1, -1, 0, 0,
+ 0, 54836, 0, 0, 0, 0, 54831, 1,
+ -1, 1, -1, 0, 1, -1, 0, 0,
+ 1, -1, 1, -1, 54817, 0, 0, 0,
0, 54812, 0, 54810, 54809, 54808, 0, 0,
- 54805, 54804, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54793, 54792, 54791, 54790,
- 54789, 54788, 0, 0, 54785, 54784, 0, 0,
+ 1, -1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 54793, -2016, 54791, 54790,
+ 1, -1, 0, 0, 1, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 54771, 54770, 54769, 54768, 54767, 54766,
54765, 54764, 54763, 54762, 54761, 54760, 54759, 54758,
54757, 54756, 54755, 54754, 54753, 0, 54751, 54750,
54749, 54748, 0, 0, 54745, 0, 54743, 0,
- 0, 54740, 0, 54738, 54737, 54736, 54735, 0,
- 0, 0, 0, 0, 54729, 54728, 0, 0,
- 0, 0, 0, 0, 54721, 54720, 54719, 0,
+ 0, 54740, 0, 1, -1, 1, -1, 0,
+ 0, 0, 0, 0, 1, -1, 0, 0,
+ 0, 0, 0, 0, 1, -1, 54719, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 54694,
54693, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54681, 54680, 0, 0,
+ 0, 0, 0, 0, 1, -1, 0, 0,
0, 0, 54675, 54674, 54673, 54672, 0, 54670,
54669, 0, 0, 54666, 54665, 0, 0, 0,
- 0, 54660, 54659, 54658, 54657, 54656, 54655, 54654,
- 54653, 54652, 54651, 54650, 54649, 54648, 54647, 54646,
- 54645, 54644, 54643, 54642, 54641, 54640, 54639, 54638,
- 54637, 54636, 54635, 54634, 54633, 54632, 54631, 54630,
- 54629, 54628, 54627, 54626, 54625, 54624, 54623, 54622,
- 54621, 54620, 54619, 54618, 0, 0, 54615, 54614,
- 54613, 54612, 54611, 54610, 54609, 54608, 0, 54606,
- 54605, 54604, 54603, 54602, 54601, 54600, 54599, 54598,
- 54597, 54596, 54595, 54594, 54593, 54592, 54591, 54590,
- 54589, 54588, 54587, 54586, 54585, 54584, 54583, 54582,
- 54581, 54580, 54579, 54578, 54577, 54576, 54575, 54574,
- 54573, 54572, 54571, 54570, 54569, 54568, 54567, 0,
- 0, 0, 0, 0, 54561, 0, 54559, 0,
- 0, 0, 54555, 54554, 54553, 54552, 54551, 0,
- 0, 0, 0, 0, 54545, 54544, 54543, 0,
- 0, 0, 0, 54538, 0, 0, 0, 54534,
- 54533, 54532, 54531, 54530, 0, 54528, 0, 0,
+ 0, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 54618, 0, 0, 1, -1,
+ 1, -1, 1, -1, 1, -1, 0, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 1,
+ -1, 1, -1, 1, -1, 1, -1, 0,
+ 0, 0, 0, 0, 54561, 0, -2104, 0,
+ 0, 0, 54555, -2106, -2108, -2106, 54551, 0,
+ 0, 0, 0, 0, 1, -1, -2250, 0,
+ 0, 0, 0, 54538, 0, 0, 0, 1,
+ -1, 1, -1, 54530, 0, 54528, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -426,19 +426,19 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 54271, 0,
- 0, 0, 53755, 53754, 53753, 53752, 0, 0,
- 0, 53748, 53747, 0, 53745, 53744, 0, 0,
+ 0, 0, 0, 0, 0, 0, -2527, 0,
+ 0, 0, 1, -1, 1, -1, 0, 0,
+ 0, 1, -1, 0, 1, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 53729, 53728, 0, 0,
- 53725, 53724, 53723, 53722, 53721, 53720, 53719, 53718,
- 53717, 53716, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, -1, 0, 0,
+ 1, -1, 1, -1, 1, -1, 1, -1,
+ 1, -1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 53672, 53671, 53670,
- 53669, 53668, 53667, 53666, 53665, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, -1, 1,
+ -1, 1, -1, 1, -1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -470,24 +470,24 @@ u_mirror =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 420, 419, 418, 417, 416, 415, 0,
- 0, 0, 0, 0, 409, 408, 0, 0,
+ 0, 1, -1, 1, -1, 1, -1, 0,
+ 0, 0, 0, 0, 1, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 245, 244, 0, 0, 0, 0, 0, 0,
+ 1, -1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 225, 0, 223, 0,
+ 0, 0, 0, 0, 2, 0, -2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 194, 0, 192, 0, 0,
+ 0, 0, 0, 2, 0, -2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 162, 0, 160, 0, 158,
- 157, 0, 155, 154, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, -2, 0, 1,
+ -1, 0, 1, -1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/lib/unictype/numeric.c b/lib/unictype/numeric.c
index 0594dd67..a2de9be9 100644
--- a/lib/unictype/numeric.c
+++ b/lib/unictype/numeric.c
@@ -1,5 +1,5 @@
/* Values of numeric Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/numeric.h b/lib/unictype/numeric.h
index cfb6dab8..71b7173c 100644
--- a/lib/unictype/numeric.h
+++ b/lib/unictype/numeric.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Numeric values of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_alphabetic.c b/lib/unictype/pr_alphabetic.c
index a9435f50..a25c351a 100644
--- a/lib/unictype/pr_alphabetic.c
+++ b/lib/unictype/pr_alphabetic.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_alphabetic.h b/lib/unictype/pr_alphabetic.h
index 645d8c7a..a5560326 100644
--- a/lib/unictype/pr_alphabetic.h
+++ b/lib/unictype/pr_alphabetic.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[79 << 4];
+ unsigned int level3[80 << 4];
}
u_property_alphabetic =
{
@@ -421,14 +421,14 @@ u_property_alphabetic =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 1200,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 336,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1216,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1216,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1232,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -440,7 +440,7 @@ u_property_alphabetic =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1232,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1248,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -448,7 +448,7 @@ u_property_alphabetic =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1248,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1264,
-1,
-1,
-1,
@@ -864,7 +864,11 @@ u_property_alphabetic =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_ascii_hex_digit.c b/lib/unictype/pr_ascii_hex_digit.c
index 054d8af8..c53cc7d2 100644
--- a/lib/unictype/pr_ascii_hex_digit.c
+++ b/lib/unictype/pr_ascii_hex_digit.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_ascii_hex_digit.h b/lib/unictype/pr_ascii_hex_digit.h
index 073ed7ab..32753936 100644
--- a/lib/unictype/pr_ascii_hex_digit.h
+++ b/lib/unictype/pr_ascii_hex_digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_arabic_digit.c b/lib/unictype/pr_bidi_arabic_digit.c
index 882976a8..43ae548a 100644
--- a/lib/unictype/pr_bidi_arabic_digit.c
+++ b/lib/unictype/pr_bidi_arabic_digit.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_arabic_digit.h b/lib/unictype/pr_bidi_arabic_digit.h
index 7a53887c..6d48e790 100644
--- a/lib/unictype/pr_bidi_arabic_digit.h
+++ b/lib/unictype/pr_bidi_arabic_digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_arabic_right_to_left.c b/lib/unictype/pr_bidi_arabic_right_to_left.c
index abb5bade..c2e961f6 100644
--- a/lib/unictype/pr_bidi_arabic_right_to_left.c
+++ b/lib/unictype/pr_bidi_arabic_right_to_left.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_arabic_right_to_left.h b/lib/unictype/pr_bidi_arabic_right_to_left.h
index 9a2ca50b..37536c29 100644
--- a/lib/unictype/pr_bidi_arabic_right_to_left.h
+++ b/lib/unictype/pr_bidi_arabic_right_to_left.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_block_separator.c b/lib/unictype/pr_bidi_block_separator.c
index 7bcefc2e..a418c1a4 100644
--- a/lib/unictype/pr_bidi_block_separator.c
+++ b/lib/unictype/pr_bidi_block_separator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_block_separator.h b/lib/unictype/pr_bidi_block_separator.h
index 089f446e..5e41e117 100644
--- a/lib/unictype/pr_bidi_block_separator.h
+++ b/lib/unictype/pr_bidi_block_separator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_boundary_neutral.c b/lib/unictype/pr_bidi_boundary_neutral.c
index 96f05419..088bd642 100644
--- a/lib/unictype/pr_bidi_boundary_neutral.c
+++ b/lib/unictype/pr_bidi_boundary_neutral.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_boundary_neutral.h b/lib/unictype/pr_bidi_boundary_neutral.h
index 723fbf0b..c6119ad1 100644
--- a/lib/unictype/pr_bidi_boundary_neutral.h
+++ b/lib/unictype/pr_bidi_boundary_neutral.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_common_separator.c b/lib/unictype/pr_bidi_common_separator.c
index a8bdccfc..6e49f701 100644
--- a/lib/unictype/pr_bidi_common_separator.c
+++ b/lib/unictype/pr_bidi_common_separator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_common_separator.h b/lib/unictype/pr_bidi_common_separator.h
index 1fd518e2..d46a7898 100644
--- a/lib/unictype/pr_bidi_common_separator.h
+++ b/lib/unictype/pr_bidi_common_separator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_control.c b/lib/unictype/pr_bidi_control.c
index be6e6845..96297b97 100644
--- a/lib/unictype/pr_bidi_control.c
+++ b/lib/unictype/pr_bidi_control.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_control.h b/lib/unictype/pr_bidi_control.h
index 58852caa..cd816d4a 100644
--- a/lib/unictype/pr_bidi_control.h
+++ b/lib/unictype/pr_bidi_control.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_embedding_or_override.c b/lib/unictype/pr_bidi_embedding_or_override.c
index f9f0a1ea..ff44b9ed 100644
--- a/lib/unictype/pr_bidi_embedding_or_override.c
+++ b/lib/unictype/pr_bidi_embedding_or_override.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_embedding_or_override.h b/lib/unictype/pr_bidi_embedding_or_override.h
index db66f731..9535add8 100644
--- a/lib/unictype/pr_bidi_embedding_or_override.h
+++ b/lib/unictype/pr_bidi_embedding_or_override.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_eur_num_separator.c b/lib/unictype/pr_bidi_eur_num_separator.c
index 6ece30d6..40b4b09a 100644
--- a/lib/unictype/pr_bidi_eur_num_separator.c
+++ b/lib/unictype/pr_bidi_eur_num_separator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_eur_num_separator.h b/lib/unictype/pr_bidi_eur_num_separator.h
index 53e0a964..a11abf4d 100644
--- a/lib/unictype/pr_bidi_eur_num_separator.h
+++ b/lib/unictype/pr_bidi_eur_num_separator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_eur_num_terminator.c b/lib/unictype/pr_bidi_eur_num_terminator.c
index f47aea5e..6de09c05 100644
--- a/lib/unictype/pr_bidi_eur_num_terminator.c
+++ b/lib/unictype/pr_bidi_eur_num_terminator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_eur_num_terminator.h b/lib/unictype/pr_bidi_eur_num_terminator.h
index cb49e176..a2d2710d 100644
--- a/lib/unictype/pr_bidi_eur_num_terminator.h
+++ b/lib/unictype/pr_bidi_eur_num_terminator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_european_digit.c b/lib/unictype/pr_bidi_european_digit.c
index 5c25f133..eba39836 100644
--- a/lib/unictype/pr_bidi_european_digit.c
+++ b/lib/unictype/pr_bidi_european_digit.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_european_digit.h b/lib/unictype/pr_bidi_european_digit.h
index 7a3aab5e..f6388bf9 100644
--- a/lib/unictype/pr_bidi_european_digit.h
+++ b/lib/unictype/pr_bidi_european_digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_hebrew_right_to_left.c b/lib/unictype/pr_bidi_hebrew_right_to_left.c
index 8322eb8e..1c808b27 100644
--- a/lib/unictype/pr_bidi_hebrew_right_to_left.c
+++ b/lib/unictype/pr_bidi_hebrew_right_to_left.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_hebrew_right_to_left.h b/lib/unictype/pr_bidi_hebrew_right_to_left.h
index 511606a4..e7764161 100644
--- a/lib/unictype/pr_bidi_hebrew_right_to_left.h
+++ b/lib/unictype/pr_bidi_hebrew_right_to_left.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_left_to_right.c b/lib/unictype/pr_bidi_left_to_right.c
index 3754d148..caa75ec1 100644
--- a/lib/unictype/pr_bidi_left_to_right.c
+++ b/lib/unictype/pr_bidi_left_to_right.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_left_to_right.h b/lib/unictype/pr_bidi_left_to_right.h
index ebf42b56..9e38bdbe 100644
--- a/lib/unictype/pr_bidi_left_to_right.h
+++ b/lib/unictype/pr_bidi_left_to_right.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -665,11 +665,11 @@ u_property_bidi_left_to_right =
0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
0x04000000U, 0x00000000U, 0x00000000U, 0xFFF00000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0xFFC00000U, 0xF000FFFFU,
+ 0x00000000U, 0x00000000U, 0xFFC00000U, 0x0000FFFFU,
0x000000E0U, 0x1F3EC3FEU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xE1FFFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU, 0xF7FFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U, 0xFFFFFFF0U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U, 0xFFFF7FF0U,
0x9FFFFFFFU, 0xFFFFFFFFU, 0x0000FFFFU, 0x8FFFFFFFU,
0xFFFFFFFFU, 0x0001FFFFU, 0xFFFF0FFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xF87FFFFFU,
diff --git a/lib/unictype/pr_bidi_non_spacing_mark.c b/lib/unictype/pr_bidi_non_spacing_mark.c
index a2e4257d..cb2f10e7 100644
--- a/lib/unictype/pr_bidi_non_spacing_mark.c
+++ b/lib/unictype/pr_bidi_non_spacing_mark.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_non_spacing_mark.h b/lib/unictype/pr_bidi_non_spacing_mark.h
index 9d6021d1..af36057c 100644
--- a/lib/unictype/pr_bidi_non_spacing_mark.h
+++ b/lib/unictype/pr_bidi_non_spacing_mark.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_other_neutral.c b/lib/unictype/pr_bidi_other_neutral.c
index 588eb76a..d59e1c59 100644
--- a/lib/unictype/pr_bidi_other_neutral.c
+++ b/lib/unictype/pr_bidi_other_neutral.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_other_neutral.h b/lib/unictype/pr_bidi_other_neutral.h
index d787421b..2c8c36ef 100644
--- a/lib/unictype/pr_bidi_other_neutral.h
+++ b/lib/unictype/pr_bidi_other_neutral.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -382,11 +382,11 @@ u_property_bidi_other_neutral =
0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0xFFFFFF1EU, 0xE0C10001U, 0x00000000U, 0x00000000U,
0x18000000U, 0x00000001U, 0x00000000U, 0x08000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0xFFFFFFFFU, 0x0000000FU,
+ 0x00000000U, 0x00000000U, 0xFFFFFFFFU, 0x0000800FU,
0x60000000U, 0x00000000U, 0xFFFF0000U, 0x70000000U,
0x00000000U, 0xFFFE0000U, 0x0000F000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x07800000U,
diff --git a/lib/unictype/pr_bidi_pdf.c b/lib/unictype/pr_bidi_pdf.c
index 823f497d..5ea37631 100644
--- a/lib/unictype/pr_bidi_pdf.c
+++ b/lib/unictype/pr_bidi_pdf.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_pdf.h b/lib/unictype/pr_bidi_pdf.h
index e4e4d77d..91378002 100644
--- a/lib/unictype/pr_bidi_pdf.h
+++ b/lib/unictype/pr_bidi_pdf.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_segment_separator.c b/lib/unictype/pr_bidi_segment_separator.c
index 9adf59f1..ff1cd236 100644
--- a/lib/unictype/pr_bidi_segment_separator.c
+++ b/lib/unictype/pr_bidi_segment_separator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_segment_separator.h b/lib/unictype/pr_bidi_segment_separator.h
index 9c7ba54a..cb2cecd1 100644
--- a/lib/unictype/pr_bidi_segment_separator.h
+++ b/lib/unictype/pr_bidi_segment_separator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_bidi_whitespace.c b/lib/unictype/pr_bidi_whitespace.c
index 6bdb2b8c..b8c7b85b 100644
--- a/lib/unictype/pr_bidi_whitespace.c
+++ b/lib/unictype/pr_bidi_whitespace.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_bidi_whitespace.h b/lib/unictype/pr_bidi_whitespace.h
index 6a5ad9dd..42052b43 100644
--- a/lib/unictype/pr_bidi_whitespace.h
+++ b/lib/unictype/pr_bidi_whitespace.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_byname.c b/lib/unictype/pr_byname.c
index 4de1197c..802e25f8 100644
--- a/lib/unictype/pr_byname.c
+++ b/lib/unictype/pr_byname.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2007, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
@@ -69,6 +69,8 @@ enum
UC_PROPERTY_INDEX_OTHER_ID_CONTINUE,
UC_PROPERTY_INDEX_XID_START,
UC_PROPERTY_INDEX_XID_CONTINUE,
+ UC_PROPERTY_INDEX_ID_COMPAT_MATH_START,
+ UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE,
UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE,
UC_PROPERTY_INDEX_PATTERN_SYNTAX,
/* Shaping and rendering. */
@@ -102,6 +104,7 @@ enum
UC_PROPERTY_INDEX_IDEOGRAPHIC,
UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH,
UC_PROPERTY_INDEX_RADICAL,
+ UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR,
UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR,
UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR,
/* Misc. */
@@ -110,6 +113,7 @@ enum
UC_PROPERTY_INDEX_NON_BREAK,
UC_PROPERTY_INDEX_ISO_CONTROL,
UC_PROPERTY_INDEX_FORMAT_CONTROL,
+ UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK,
UC_PROPERTY_INDEX_DASH,
UC_PROPERTY_INDEX_HYPHEN,
UC_PROPERTY_INDEX_PUNCTUATION,
@@ -227,6 +231,10 @@ uc_property_byname (const char *property_name)
return UC_PROPERTY_XID_START;
case UC_PROPERTY_INDEX_XID_CONTINUE:
return UC_PROPERTY_XID_CONTINUE;
+ case UC_PROPERTY_INDEX_ID_COMPAT_MATH_START:
+ return UC_PROPERTY_ID_COMPAT_MATH_START;
+ case UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE:
+ return UC_PROPERTY_ID_COMPAT_MATH_CONTINUE;
case UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE:
return UC_PROPERTY_PATTERN_WHITE_SPACE;
case UC_PROPERTY_INDEX_PATTERN_SYNTAX:
@@ -285,6 +293,8 @@ uc_property_byname (const char *property_name)
return UC_PROPERTY_UNIFIED_IDEOGRAPH;
case UC_PROPERTY_INDEX_RADICAL:
return UC_PROPERTY_RADICAL;
+ case UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR:
+ return UC_PROPERTY_IDS_UNARY_OPERATOR;
case UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR:
return UC_PROPERTY_IDS_BINARY_OPERATOR;
case UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR:
@@ -299,6 +309,8 @@ uc_property_byname (const char *property_name)
return UC_PROPERTY_ISO_CONTROL;
case UC_PROPERTY_INDEX_FORMAT_CONTROL:
return UC_PROPERTY_FORMAT_CONTROL;
+ case UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK:
+ return UC_PROPERTY_PREPENDED_CONCATENATION_MARK;
case UC_PROPERTY_INDEX_DASH:
return UC_PROPERTY_DASH;
case UC_PROPERTY_INDEX_HYPHEN:
diff --git a/lib/unictype/pr_byname.gperf b/lib/unictype/pr_byname.gperf
index 97c5fae7..8a654de1 100644
--- a/lib/unictype/pr_byname.gperf
+++ b/lib/unictype/pr_byname.gperf
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -113,6 +113,12 @@ xids, UC_PROPERTY_INDEX_XID_START
xid_continue, UC_PROPERTY_INDEX_XID_CONTINUE
xidcontinue, UC_PROPERTY_INDEX_XID_CONTINUE
xidc, UC_PROPERTY_INDEX_XID_CONTINUE
+id_compat_math_start, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START
+idcompatmathstart, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START
+idcms, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START
+id_compat_math_continue, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE
+idcompatmathcontinue, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE
+idcmc, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE
pattern_white_space, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE
patternwhitespace, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE
pat_ws, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE
@@ -189,6 +195,9 @@ unified_ideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH
unifiedideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH
uideo, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH
radical, UC_PROPERTY_INDEX_RADICAL
+ids_unary_operator, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR
+idsunaryoperator, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR
+idsu, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR
ids_binary_operator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR
idsbinaryoperator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR
idsb, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR
@@ -204,6 +213,8 @@ iso_control, UC_PROPERTY_INDEX_ISO_CONTROL
isocontrol, UC_PROPERTY_INDEX_ISO_CONTROL
format_control, UC_PROPERTY_INDEX_FORMAT_CONTROL
formatcontrol, UC_PROPERTY_INDEX_FORMAT_CONTROL
+prepended_concatenation_mark, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK
+prependedconcatenationmark, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK
dash, UC_PROPERTY_INDEX_DASH
hyphen, UC_PROPERTY_INDEX_HYPHEN
punctuation, UC_PROPERTY_INDEX_PUNCTUATION
diff --git a/lib/unictype/pr_byname.h b/lib/unictype/pr_byname.h
index fa9d3413..452de0f3 100644
--- a/lib/unictype/pr_byname.h
+++ b/lib/unictype/pr_byname.h
@@ -32,12 +32,12 @@
#line 25 "./unictype/pr_byname.gperf"
struct named_property { int name; int property_index; };
-#define TOTAL_KEYWORDS 206
+#define TOTAL_KEYWORDS 217
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 34
-#define MIN_HASH_VALUE 8
-#define MAX_HASH_VALUE 619
-/* maximum key range = 612, duplicates = 0 */
+#define MIN_HASH_VALUE 14
+#define MAX_HASH_VALUE 555
+/* maximum key range = 542, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -51,19 +51,19 @@ properties_hash (register const char *str, register size_t len)
{
static const unsigned short asso_values[] =
{
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 110, 620, 29, 17, 101,
- 2, 2, 167, 230, 92, 2, 65, 62, 41, 152,
- 74, 2, 104, 14, 14, 20, 5, 80, 41, 140,
- 181, 68, 35, 620, 620, 620, 620, 620
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 88, 556, 36, 45, 84,
+ 4, 4, 127, 202, 118, 4, 108, 102, 6, 154,
+ 63, 4, 92, 14, 9, 25, 7, 57, 34, 122,
+ 159, 60, 13, 556, 556, 556, 556, 556
};
register unsigned int hval = len;
@@ -123,957 +123,984 @@ properties_hash (register const char *str, register size_t len)
struct properties_stringpool_t
{
- char properties_stringpool_str8[sizeof("di")];
- char properties_stringpool_str9[sizeof("odi")];
- char properties_stringpool_str10[sizeof("ideo")];
- char properties_stringpool_str13[sizeof("idst")];
- char properties_stringpool_str16[sizeof("idstart")];
- char properties_stringpool_str19[sizeof("id_continue")];
- char properties_stringpool_str21[sizeof("deprecated")];
- char properties_stringpool_str22[sizeof("id_start")];
- char properties_stringpool_str23[sizeof("decimaldigit")];
- char properties_stringpool_str25[sizeof("idsb")];
- char properties_stringpool_str26[sizeof("sd")];
- char properties_stringpool_str27[sizeof("ids")];
- char properties_stringpool_str28[sizeof("oids")];
- char properties_stringpool_str30[sizeof("other_id_continue")];
- char properties_stringpool_str33[sizeof("other_id_start")];
- char properties_stringpool_str36[sizeof("dia")];
- char properties_stringpool_str38[sizeof("titlecase")];
- char properties_stringpool_str39[sizeof("softdotted")];
- char properties_stringpool_str40[sizeof("soft_dotted")];
- char properties_stringpool_str42[sizeof("bidiwhitespace")];
- char properties_stringpool_str44[sizeof("otheridstart")];
- char properties_stringpool_str45[sizeof("bidieuropeandigit")];
- char properties_stringpool_str46[sizeof("other_lowercase")];
- char properties_stringpool_str48[sizeof("loe")];
- char properties_stringpool_str50[sizeof("bidiembeddingoroverride")];
- char properties_stringpool_str51[sizeof("other_grapheme_extend")];
- char properties_stringpool_str55[sizeof("defaultignorablecodepoint")];
- char properties_stringpool_str58[sizeof("bidiarabicdigit")];
- char properties_stringpool_str62[sizeof("lower")];
- char properties_stringpool_str63[sizeof("olower")];
- char properties_stringpool_str66[sizeof("oalpha")];
- char properties_stringpool_str70[sizeof("ids_binary_operator")];
- char properties_stringpool_str72[sizeof("bidi_arabic_digit")];
- char properties_stringpool_str73[sizeof("ascii_hex_digit")];
- char properties_stringpool_str74[sizeof("lowercase")];
- char properties_stringpool_str76[sizeof("bidicontrol")];
- char properties_stringpool_str77[sizeof("bidi_eur_num_terminator")];
- char properties_stringpool_str78[sizeof("idsbinaryoperator")];
- char properties_stringpool_str79[sizeof("iso_control")];
- char properties_stringpool_str83[sizeof("vs")];
- char properties_stringpool_str84[sizeof("sentence_terminal")];
- char properties_stringpool_str87[sizeof("isocontrol")];
- char properties_stringpool_str89[sizeof("uideo")];
- char properties_stringpool_str90[sizeof("idcontinue")];
- char properties_stringpool_str91[sizeof("radical")];
- char properties_stringpool_str92[sizeof("bidiotherneutral")];
- char properties_stringpool_str93[sizeof("idstrinaryoperator")];
- char properties_stringpool_str96[sizeof("leftofpair")];
- char properties_stringpool_str99[sizeof("lineseparator")];
- char properties_stringpool_str102[sizeof("oupper")];
- char properties_stringpool_str103[sizeof("bidi_eur_num_separator")];
- char properties_stringpool_str104[sizeof("alpha")];
- char properties_stringpool_str107[sizeof("ci")];
- char properties_stringpool_str108[sizeof("idc")];
- char properties_stringpool_str109[sizeof("oidc")];
- char properties_stringpool_str110[sizeof("hex_digit")];
- char properties_stringpool_str111[sizeof("dep")];
- char properties_stringpool_str112[sizeof("hexdigit")];
- char properties_stringpool_str113[sizeof("othermath")];
- char properties_stringpool_str116[sizeof("diacritic")];
- char properties_stringpool_str117[sizeof("notacharacter")];
- char properties_stringpool_str119[sizeof("composite")];
- char properties_stringpool_str120[sizeof("variation_selector")];
- char properties_stringpool_str124[sizeof("joincontrol")];
- char properties_stringpool_str125[sizeof("bidic")];
- char properties_stringpool_str126[sizeof("bidi_c")];
- char properties_stringpool_str127[sizeof("dash")];
- char properties_stringpool_str129[sizeof("otheruppercase")];
- char properties_stringpool_str131[sizeof("space")];
- char properties_stringpool_str132[sizeof("decimal_digit")];
- char properties_stringpool_str133[sizeof("othergraphemeextend")];
- char properties_stringpool_str136[sizeof("bidilefttoright")];
- char properties_stringpool_str137[sizeof("cased")];
- char properties_stringpool_str138[sizeof("other_math")];
- char properties_stringpool_str139[sizeof("bidi_whitespace")];
- char properties_stringpool_str141[sizeof("zero_width")];
- char properties_stringpool_str143[sizeof("zerowidth")];
- char properties_stringpool_str146[sizeof("bidi_control")];
- char properties_stringpool_str147[sizeof("caseignorable")];
- char properties_stringpool_str148[sizeof("other_uppercase")];
- char properties_stringpool_str149[sizeof("terminal_punctuation")];
- char properties_stringpool_str155[sizeof("sentenceterminal")];
- char properties_stringpool_str157[sizeof("bidieurnumseparator")];
+ char properties_stringpool_str14[sizeof("di")];
+ char properties_stringpool_str15[sizeof("odi")];
+ char properties_stringpool_str16[sizeof("ideo")];
+ char properties_stringpool_str17[sizeof("loe")];
+ char properties_stringpool_str19[sizeof("idst")];
+ char properties_stringpool_str22[sizeof("idstart")];
+ char properties_stringpool_str24[sizeof("lower")];
+ char properties_stringpool_str25[sizeof("olower")];
+ char properties_stringpool_str27[sizeof("id_continue")];
+ char properties_stringpool_str29[sizeof("deprecated")];
+ char properties_stringpool_str30[sizeof("id_start")];
+ char properties_stringpool_str31[sizeof("decimaldigit")];
+ char properties_stringpool_str35[sizeof("sd")];
+ char properties_stringpool_str36[sizeof("ids")];
+ char properties_stringpool_str37[sizeof("oids")];
+ char properties_stringpool_str38[sizeof("idcms")];
+ char properties_stringpool_str40[sizeof("other_id_continue")];
+ char properties_stringpool_str43[sizeof("other_id_start")];
+ char properties_stringpool_str46[sizeof("idcompatmathstart")];
+ char properties_stringpool_str47[sizeof("dia")];
+ char properties_stringpool_str48[sizeof("lowercase")];
+ char properties_stringpool_str49[sizeof("titlecase")];
+ char properties_stringpool_str50[sizeof("softdotted")];
+ char properties_stringpool_str51[sizeof("soft_dotted")];
+ char properties_stringpool_str53[sizeof("iso_control")];
+ char properties_stringpool_str54[sizeof("isocontrol")];
+ char properties_stringpool_str55[sizeof("otheridstart")];
+ char properties_stringpool_str56[sizeof("other_grapheme_extend")];
+ char properties_stringpool_str57[sizeof("idsb")];
+ char properties_stringpool_str58[sizeof("radical")];
+ char properties_stringpool_str59[sizeof("other_lowercase")];
+ char properties_stringpool_str60[sizeof("sentence_terminal")];
+ char properties_stringpool_str62[sizeof("ids_unary_operator")];
+ char properties_stringpool_str65[sizeof("leftofpair")];
+ char properties_stringpool_str68[sizeof("lineseparator")];
+ char properties_stringpool_str69[sizeof("idsu")];
+ char properties_stringpool_str70[sizeof("uideo")];
+ char properties_stringpool_str73[sizeof("bidicontrol")];
+ char properties_stringpool_str76[sizeof("oupper")];
+ char properties_stringpool_str78[sizeof("bidiwhitespace")];
+ char properties_stringpool_str79[sizeof("idsbinaryoperator")];
+ char properties_stringpool_str80[sizeof("ids_binary_operator")];
+ char properties_stringpool_str81[sizeof("bidieuropeandigit")];
+ char properties_stringpool_str82[sizeof("oalpha")];
+ char properties_stringpool_str83[sizeof("alpha")];
+ char properties_stringpool_str84[sizeof("bidiotherneutral")];
+ char properties_stringpool_str85[sizeof("idcontinue")];
+ char properties_stringpool_str86[sizeof("vs")];
+ char properties_stringpool_str88[sizeof("bidiembeddingoroverride")];
+ char properties_stringpool_str89[sizeof("idstrinaryoperator")];
+ char properties_stringpool_str91[sizeof("ascii_hex_digit")];
+ char properties_stringpool_str93[sizeof("defaultignorablecodepoint")];
+ char properties_stringpool_str94[sizeof("ci")];
+ char properties_stringpool_str95[sizeof("idc")];
+ char properties_stringpool_str96[sizeof("oidc")];
+ char properties_stringpool_str97[sizeof("idcmc")];
+ char properties_stringpool_str98[sizeof("notacharacter")];
+ char properties_stringpool_str100[sizeof("idsunaryoperator")];
+ char properties_stringpool_str101[sizeof("bidi_eur_num_terminator")];
+ char properties_stringpool_str103[sizeof("dep")];
+ char properties_stringpool_str105[sizeof("diacritic")];
+ char properties_stringpool_str106[sizeof("idcompatmathcontinue")];
+ char properties_stringpool_str108[sizeof("composite")];
+ char properties_stringpool_str111[sizeof("terminal_punctuation")];
+ char properties_stringpool_str113[sizeof("bidi_arabic_digit")];
+ char properties_stringpool_str114[sizeof("variation_selector")];
+ char properties_stringpool_str116[sizeof("decimal_digit")];
+ char properties_stringpool_str118[sizeof("sentenceterminal")];
+ char properties_stringpool_str119[sizeof("left_of_pair")];
+ char properties_stringpool_str120[sizeof("bidiarabicdigit")];
+ char properties_stringpool_str123[sizeof("bidi_eur_num_separator")];
+ char properties_stringpool_str124[sizeof("other_alphabetic")];
+ char properties_stringpool_str125[sizeof("otheruppercase")];
+ char properties_stringpool_str126[sizeof("space")];
+ char properties_stringpool_str129[sizeof("cased")];
+ char properties_stringpool_str130[sizeof("bidi_control")];
+ char properties_stringpool_str134[sizeof("line_separator")];
+ char properties_stringpool_str136[sizeof("joincontrol")];
+ char properties_stringpool_str137[sizeof("othergraphemeextend")];
+ char properties_stringpool_str138[sizeof("bidic")];
+ char properties_stringpool_str139[sizeof("bidi_c")];
+ char properties_stringpool_str141[sizeof("caseignorable")];
+ char properties_stringpool_str142[sizeof("hex_digit")];
+ char properties_stringpool_str143[sizeof("alphabetic")];
+ char properties_stringpool_str144[sizeof("hexdigit")];
+ char properties_stringpool_str145[sizeof("othermath")];
+ char properties_stringpool_str147[sizeof("other_uppercase")];
+ char properties_stringpool_str148[sizeof("other_default_ignorable_code_point")];
+ char properties_stringpool_str149[sizeof("zero_width")];
+ char properties_stringpool_str151[sizeof("zerowidth")];
+ char properties_stringpool_str154[sizeof("formatcontrol")];
+ char properties_stringpool_str155[sizeof("otherlowercase")];
+ char properties_stringpool_str156[sizeof("bidi_whitespace")];
+ char properties_stringpool_str157[sizeof("wspace")];
char properties_stringpool_str158[sizeof("patws")];
char properties_stringpool_str159[sizeof("pat_ws")];
- char properties_stringpool_str160[sizeof("other_default_ignorable_code_point")];
- char properties_stringpool_str163[sizeof("term")];
- char properties_stringpool_str164[sizeof("bidi_block_separator")];
- char properties_stringpool_str165[sizeof("otherlowercase")];
- char properties_stringpool_str168[sizeof("wspace")];
- char properties_stringpool_str169[sizeof("bidi_european_digit")];
- char properties_stringpool_str170[sizeof("other_alphabetic")];
- char properties_stringpool_str171[sizeof("quotationmark")];
- char properties_stringpool_str173[sizeof("joinc")];
- char properties_stringpool_str174[sizeof("join_c")];
- char properties_stringpool_str176[sizeof("non_break")];
- char properties_stringpool_str178[sizeof("bidi_hebrew_right_to_left")];
- char properties_stringpool_str179[sizeof("left_of_pair")];
- char properties_stringpool_str180[sizeof("bidiblockseparator")];
- char properties_stringpool_str184[sizeof("bidiboundaryneutral")];
- char properties_stringpool_str186[sizeof("alphabetic")];
- char properties_stringpool_str189[sizeof("line_separator")];
- char properties_stringpool_str190[sizeof("bidi_arabic_right_to_left")];
- char properties_stringpool_str191[sizeof("ext")];
- char properties_stringpool_str192[sizeof("bidihebrewrighttoleft")];
- char properties_stringpool_str193[sizeof("bidipdf")];
- char properties_stringpool_str194[sizeof("join_control")];
- char properties_stringpool_str195[sizeof("bidiarabicrighttoleft")];
- char properties_stringpool_str198[sizeof("xidcontinue")];
- char properties_stringpool_str199[sizeof("not_a_character")];
- char properties_stringpool_str201[sizeof("xidstart")];
- char properties_stringpool_str202[sizeof("xid_continue")];
- char properties_stringpool_str203[sizeof("upper")];
- char properties_stringpool_str204[sizeof("variationselector")];
- char properties_stringpool_str205[sizeof("otheridcontinue")];
- char properties_stringpool_str207[sizeof("xids")];
- char properties_stringpool_str208[sizeof("nonbreak")];
- char properties_stringpool_str210[sizeof("privateuse")];
- char properties_stringpool_str211[sizeof("xid_start")];
- char properties_stringpool_str213[sizeof("patsyn")];
- char properties_stringpool_str214[sizeof("pat_syn")];
- char properties_stringpool_str215[sizeof("uppercase")];
- char properties_stringpool_str219[sizeof("extender")];
- char properties_stringpool_str220[sizeof("ideographic")];
- char properties_stringpool_str221[sizeof("ids_trinary_operator")];
- char properties_stringpool_str222[sizeof("case_ignorable")];
- char properties_stringpool_str223[sizeof("terminalpunctuation")];
- char properties_stringpool_str225[sizeof("formatcontrol")];
- char properties_stringpool_str228[sizeof("bidi_left_to_right")];
- char properties_stringpool_str229[sizeof("otheralphabetic")];
- char properties_stringpool_str233[sizeof("qmark")];
- char properties_stringpool_str234[sizeof("quotation_mark")];
- char properties_stringpool_str235[sizeof("bidicommonseparator")];
- char properties_stringpool_str237[sizeof("bidi_common_separator")];
- char properties_stringpool_str240[sizeof("hyphen")];
- char properties_stringpool_str241[sizeof("private_use")];
- char properties_stringpool_str243[sizeof("ogrext")];
- char properties_stringpool_str244[sizeof("ogr_ext")];
- char properties_stringpool_str248[sizeof("asciihexdigit")];
- char properties_stringpool_str249[sizeof("cwt")];
- char properties_stringpool_str251[sizeof("omath")];
- char properties_stringpool_str252[sizeof("grbase")];
- char properties_stringpool_str253[sizeof("gr_base")];
- char properties_stringpool_str254[sizeof("grext")];
- char properties_stringpool_str255[sizeof("gr_ext")];
- char properties_stringpool_str260[sizeof("graphemebase")];
- char properties_stringpool_str261[sizeof("grapheme_base")];
- char properties_stringpool_str262[sizeof("numeric")];
- char properties_stringpool_str264[sizeof("graphemeextend")];
- char properties_stringpool_str273[sizeof("whitespace")];
- char properties_stringpool_str274[sizeof("punctuation")];
- char properties_stringpool_str276[sizeof("bidi_boundary_neutral")];
- char properties_stringpool_str277[sizeof("math")];
- char properties_stringpool_str278[sizeof("hex")];
- char properties_stringpool_str282[sizeof("unassigned_code_value")];
- char properties_stringpool_str284[sizeof("bidieurnumterminator")];
- char properties_stringpool_str285[sizeof("cwl")];
- char properties_stringpool_str286[sizeof("default_ignorable_code_point")];
- char properties_stringpool_str288[sizeof("xidc")];
- char properties_stringpool_str291[sizeof("bidi_other_neutral")];
- char properties_stringpool_str293[sizeof("unifiedideograph")];
- char properties_stringpool_str297[sizeof("paragraphseparator")];
- char properties_stringpool_str301[sizeof("paragraph_separator")];
- char properties_stringpool_str306[sizeof("ahex")];
- char properties_stringpool_str307[sizeof("currency_symbol")];
- char properties_stringpool_str309[sizeof("pairedpunctuation")];
- char properties_stringpool_str312[sizeof("grlink")];
- char properties_stringpool_str313[sizeof("gr_link")];
- char properties_stringpool_str314[sizeof("bidisegmentseparator")];
- char properties_stringpool_str319[sizeof("bidi_segment_separator")];
- char properties_stringpool_str320[sizeof("graphemelink")];
- char properties_stringpool_str321[sizeof("grapheme_link")];
- char properties_stringpool_str324[sizeof("cwu")];
- char properties_stringpool_str326[sizeof("logicalorderexception")];
- char properties_stringpool_str330[sizeof("bidi_non_spacing_mark")];
- char properties_stringpool_str331[sizeof("unassignedcodevalue")];
- char properties_stringpool_str335[sizeof("changes_when_titlecased")];
- char properties_stringpool_str336[sizeof("ignorable_control")];
- char properties_stringpool_str337[sizeof("grapheme_extend")];
- char properties_stringpool_str344[sizeof("ignorablecontrol")];
- char properties_stringpool_str345[sizeof("currencysymbol")];
- char properties_stringpool_str347[sizeof("patternsyntax")];
- char properties_stringpool_str349[sizeof("white_space")];
- char properties_stringpool_str361[sizeof("bidi_pdf")];
- char properties_stringpool_str362[sizeof("logical_order_exception")];
- char properties_stringpool_str366[sizeof("format_control")];
- char properties_stringpool_str383[sizeof("changes_when_lowercased")];
- char properties_stringpool_str387[sizeof("unified_ideograph")];
- char properties_stringpool_str390[sizeof("changeswhentitlecased")];
- char properties_stringpool_str396[sizeof("patternwhitespace")];
- char properties_stringpool_str397[sizeof("cwcm")];
- char properties_stringpool_str404[sizeof("bidi_embedding_or_override")];
- char properties_stringpool_str411[sizeof("bidinonspacingmark")];
- char properties_stringpool_str412[sizeof("cwcf")];
- char properties_stringpool_str416[sizeof("combining")];
- char properties_stringpool_str417[sizeof("changeswhencasefolded")];
- char properties_stringpool_str422[sizeof("changes_when_uppercased")];
- char properties_stringpool_str432[sizeof("paired_punctuation")];
- char properties_stringpool_str468[sizeof("otherdefaultignorablecodepoint")];
- char properties_stringpool_str475[sizeof("pattern_white_space")];
- char properties_stringpool_str480[sizeof("changeswhencasemapped")];
- char properties_stringpool_str489[sizeof("changeswhenuppercased")];
- char properties_stringpool_str525[sizeof("changeswhenlowercased")];
- char properties_stringpool_str581[sizeof("changes_when_casemapped")];
- char properties_stringpool_str596[sizeof("changes_when_casefolded")];
- char properties_stringpool_str619[sizeof("pattern_syntax")];
+ char properties_stringpool_str160[sizeof("terminalpunctuation")];
+ char properties_stringpool_str162[sizeof("dash")];
+ char properties_stringpool_str163[sizeof("upper")];
+ char properties_stringpool_str169[sizeof("term")];
+ char properties_stringpool_str171[sizeof("otheridcontinue")];
+ char properties_stringpool_str172[sizeof("privateuse")];
+ char properties_stringpool_str173[sizeof("ext")];
+ char properties_stringpool_str175[sizeof("other_math")];
+ char properties_stringpool_str176[sizeof("bidi_european_digit")];
+ char properties_stringpool_str177[sizeof("bidiboundaryneutral")];
+ char properties_stringpool_str178[sizeof("bidiblockseparator")];
+ char properties_stringpool_str180[sizeof("bidieurnumseparator")];
+ char properties_stringpool_str181[sizeof("bidi_block_separator")];
+ char properties_stringpool_str182[sizeof("xidcontinue")];
+ char properties_stringpool_str183[sizeof("bidipdf")];
+ char properties_stringpool_str184[sizeof("variationselector")];
+ char properties_stringpool_str185[sizeof("xidstart")];
+ char properties_stringpool_str186[sizeof("xid_continue")];
+ char properties_stringpool_str187[sizeof("uppercase")];
+ char properties_stringpool_str188[sizeof("xid_start")];
+ char properties_stringpool_str189[sizeof("extender")];
+ char properties_stringpool_str190[sizeof("quotationmark")];
+ char properties_stringpool_str192[sizeof("xids")];
+ char properties_stringpool_str193[sizeof("join_control")];
+ char properties_stringpool_str195[sizeof("ideographic")];
+ char properties_stringpool_str196[sizeof("bidilefttoright")];
+ char properties_stringpool_str197[sizeof("patsyn")];
+ char properties_stringpool_str198[sizeof("pat_syn")];
+ char properties_stringpool_str199[sizeof("ids_trinary_operator")];
+ char properties_stringpool_str201[sizeof("joinc")];
+ char properties_stringpool_str202[sizeof("join_c")];
+ char properties_stringpool_str204[sizeof("private_use")];
+ char properties_stringpool_str205[sizeof("case_ignorable")];
+ char properties_stringpool_str206[sizeof("otheralphabetic")];
+ char properties_stringpool_str209[sizeof("bidi_arabic_right_to_left")];
+ char properties_stringpool_str210[sizeof("bidihebrewrighttoleft")];
+ char properties_stringpool_str211[sizeof("numeric")];
+ char properties_stringpool_str213[sizeof("not_a_character")];
+ char properties_stringpool_str214[sizeof("non_break")];
+ char properties_stringpool_str215[sizeof("cwl")];
+ char properties_stringpool_str216[sizeof("cwt")];
+ char properties_stringpool_str217[sizeof("bidi_left_to_right")];
+ char properties_stringpool_str218[sizeof("bidi_hebrew_right_to_left")];
+ char properties_stringpool_str219[sizeof("ogrext")];
+ char properties_stringpool_str220[sizeof("ogr_ext")];
+ char properties_stringpool_str221[sizeof("grbase")];
+ char properties_stringpool_str222[sizeof("gr_base")];
+ char properties_stringpool_str223[sizeof("grext")];
+ char properties_stringpool_str224[sizeof("gr_ext")];
+ char properties_stringpool_str225[sizeof("id_compat_math_start")];
+ char properties_stringpool_str226[sizeof("currency_symbol")];
+ char properties_stringpool_str227[sizeof("currencysymbol")];
+ char properties_stringpool_str228[sizeof("bidi_boundary_neutral")];
+ char properties_stringpool_str230[sizeof("punctuation")];
+ char properties_stringpool_str231[sizeof("graphemebase")];
+ char properties_stringpool_str232[sizeof("grapheme_base")];
+ char properties_stringpool_str237[sizeof("graphemeextend")];
+ char properties_stringpool_str240[sizeof("asciihexdigit")];
+ char properties_stringpool_str241[sizeof("format_control")];
+ char properties_stringpool_str242[sizeof("ignorable_control")];
+ char properties_stringpool_str243[sizeof("ignorablecontrol")];
+ char properties_stringpool_str246[sizeof("bidiarabicrighttoleft")];
+ char properties_stringpool_str247[sizeof("hyphen")];
+ char properties_stringpool_str248[sizeof("unassigned_code_value")];
+ char properties_stringpool_str251[sizeof("xidc")];
+ char properties_stringpool_str252[sizeof("id_compat_math_continue")];
+ char properties_stringpool_str254[sizeof("bidi_other_neutral")];
+ char properties_stringpool_str255[sizeof("default_ignorable_code_point")];
+ char properties_stringpool_str264[sizeof("logicalorderexception")];
+ char properties_stringpool_str265[sizeof("paragraphseparator")];
+ char properties_stringpool_str266[sizeof("cwu")];
+ char properties_stringpool_str267[sizeof("unassignedcodevalue")];
+ char properties_stringpool_str271[sizeof("bidicommonseparator")];
+ char properties_stringpool_str272[sizeof("pairedpunctuation")];
+ char properties_stringpool_str273[sizeof("bidi_common_separator")];
+ char properties_stringpool_str275[sizeof("qmark")];
+ char properties_stringpool_str276[sizeof("logical_order_exception")];
+ char properties_stringpool_str279[sizeof("nonbreak")];
+ char properties_stringpool_str281[sizeof("omath")];
+ char properties_stringpool_str284[sizeof("hex")];
+ char properties_stringpool_str288[sizeof("paragraph_separator")];
+ char properties_stringpool_str290[sizeof("whitespace")];
+ char properties_stringpool_str293[sizeof("quotation_mark")];
+ char properties_stringpool_str294[sizeof("unifiedideograph")];
+ char properties_stringpool_str297[sizeof("grapheme_extend")];
+ char properties_stringpool_str302[sizeof("bidieurnumterminator")];
+ char properties_stringpool_str305[sizeof("prependedconcatenationmark")];
+ char properties_stringpool_str311[sizeof("bidi_pdf")];
+ char properties_stringpool_str312[sizeof("math")];
+ char properties_stringpool_str316[sizeof("bidi_segment_separator")];
+ char properties_stringpool_str317[sizeof("ahex")];
+ char properties_stringpool_str319[sizeof("grlink")];
+ char properties_stringpool_str320[sizeof("gr_link")];
+ char properties_stringpool_str325[sizeof("patternsyntax")];
+ char properties_stringpool_str328[sizeof("changes_when_titlecased")];
+ char properties_stringpool_str329[sizeof("graphemelink")];
+ char properties_stringpool_str330[sizeof("grapheme_link")];
+ char properties_stringpool_str331[sizeof("bidisegmentseparator")];
+ char properties_stringpool_str332[sizeof("changes_when_lowercased")];
+ char properties_stringpool_str337[sizeof("cwcf")];
+ char properties_stringpool_str347[sizeof("white_space")];
+ char properties_stringpool_str352[sizeof("unified_ideograph")];
+ char properties_stringpool_str362[sizeof("combining")];
+ char properties_stringpool_str363[sizeof("patternwhitespace")];
+ char properties_stringpool_str364[sizeof("cwcm")];
+ char properties_stringpool_str380[sizeof("changeswhencasefolded")];
+ char properties_stringpool_str382[sizeof("prepended_concatenation_mark")];
+ char properties_stringpool_str383[sizeof("changes_when_uppercased")];
+ char properties_stringpool_str392[sizeof("changeswhentitlecased")];
+ char properties_stringpool_str393[sizeof("bidi_non_spacing_mark")];
+ char properties_stringpool_str400[sizeof("paired_punctuation")];
+ char properties_stringpool_str411[sizeof("pattern_white_space")];
+ char properties_stringpool_str413[sizeof("otherdefaultignorablecodepoint")];
+ char properties_stringpool_str414[sizeof("bidi_embedding_or_override")];
+ char properties_stringpool_str466[sizeof("changeswhencasemapped")];
+ char properties_stringpool_str477[sizeof("changeswhenuppercased")];
+ char properties_stringpool_str498[sizeof("bidinonspacingmark")];
+ char properties_stringpool_str507[sizeof("changeswhenlowercased")];
+ char properties_stringpool_str528[sizeof("changes_when_casefolded")];
+ char properties_stringpool_str548[sizeof("pattern_syntax")];
+ char properties_stringpool_str555[sizeof("changes_when_casemapped")];
};
static const struct properties_stringpool_t properties_stringpool_contents =
{
"di",
"odi",
"ideo",
+ "loe",
"idst",
"idstart",
+ "lower",
+ "olower",
"id_continue",
"deprecated",
"id_start",
"decimaldigit",
- "idsb",
"sd",
"ids",
"oids",
+ "idcms",
"other_id_continue",
"other_id_start",
+ "idcompatmathstart",
"dia",
+ "lowercase",
"titlecase",
"softdotted",
"soft_dotted",
- "bidiwhitespace",
- "otheridstart",
- "bidieuropeandigit",
- "other_lowercase",
- "loe",
- "bidiembeddingoroverride",
- "other_grapheme_extend",
- "defaultignorablecodepoint",
- "bidiarabicdigit",
- "lower",
- "olower",
- "oalpha",
- "ids_binary_operator",
- "bidi_arabic_digit",
- "ascii_hex_digit",
- "lowercase",
- "bidicontrol",
- "bidi_eur_num_terminator",
- "idsbinaryoperator",
"iso_control",
- "vs",
- "sentence_terminal",
"isocontrol",
- "uideo",
- "idcontinue",
+ "otheridstart",
+ "other_grapheme_extend",
+ "idsb",
"radical",
- "bidiotherneutral",
- "idstrinaryoperator",
+ "other_lowercase",
+ "sentence_terminal",
+ "ids_unary_operator",
"leftofpair",
"lineseparator",
+ "idsu",
+ "uideo",
+ "bidicontrol",
"oupper",
- "bidi_eur_num_separator",
+ "bidiwhitespace",
+ "idsbinaryoperator",
+ "ids_binary_operator",
+ "bidieuropeandigit",
+ "oalpha",
"alpha",
+ "bidiotherneutral",
+ "idcontinue",
+ "vs",
+ "bidiembeddingoroverride",
+ "idstrinaryoperator",
+ "ascii_hex_digit",
+ "defaultignorablecodepoint",
"ci",
"idc",
"oidc",
- "hex_digit",
+ "idcmc",
+ "notacharacter",
+ "idsunaryoperator",
+ "bidi_eur_num_terminator",
"dep",
- "hexdigit",
- "othermath",
"diacritic",
- "notacharacter",
+ "idcompatmathcontinue",
"composite",
+ "terminal_punctuation",
+ "bidi_arabic_digit",
"variation_selector",
- "joincontrol",
- "bidic",
- "bidi_c",
- "dash",
+ "decimal_digit",
+ "sentenceterminal",
+ "left_of_pair",
+ "bidiarabicdigit",
+ "bidi_eur_num_separator",
+ "other_alphabetic",
"otheruppercase",
"space",
- "decimal_digit",
- "othergraphemeextend",
- "bidilefttoright",
"cased",
- "other_math",
- "bidi_whitespace",
- "zero_width",
- "zerowidth",
"bidi_control",
+ "line_separator",
+ "joincontrol",
+ "othergraphemeextend",
+ "bidic",
+ "bidi_c",
"caseignorable",
+ "hex_digit",
+ "alphabetic",
+ "hexdigit",
+ "othermath",
"other_uppercase",
- "terminal_punctuation",
- "sentenceterminal",
- "bidieurnumseparator",
- "patws",
- "pat_ws",
"other_default_ignorable_code_point",
- "term",
- "bidi_block_separator",
+ "zero_width",
+ "zerowidth",
+ "formatcontrol",
"otherlowercase",
+ "bidi_whitespace",
"wspace",
+ "patws",
+ "pat_ws",
+ "terminalpunctuation",
+ "dash",
+ "upper",
+ "term",
+ "otheridcontinue",
+ "privateuse",
+ "ext",
+ "other_math",
"bidi_european_digit",
- "other_alphabetic",
- "quotationmark",
- "joinc",
- "join_c",
- "non_break",
- "bidi_hebrew_right_to_left",
- "left_of_pair",
- "bidiblockseparator",
"bidiboundaryneutral",
- "alphabetic",
- "line_separator",
- "bidi_arabic_right_to_left",
- "ext",
- "bidihebrewrighttoleft",
- "bidipdf",
- "join_control",
- "bidiarabicrighttoleft",
+ "bidiblockseparator",
+ "bidieurnumseparator",
+ "bidi_block_separator",
"xidcontinue",
- "not_a_character",
+ "bidipdf",
+ "variationselector",
"xidstart",
"xid_continue",
- "upper",
- "variationselector",
- "otheridcontinue",
- "xids",
- "nonbreak",
- "privateuse",
- "xid_start",
- "patsyn",
- "pat_syn",
"uppercase",
+ "xid_start",
"extender",
+ "quotationmark",
+ "xids",
+ "join_control",
"ideographic",
+ "bidilefttoright",
+ "patsyn",
+ "pat_syn",
"ids_trinary_operator",
+ "joinc",
+ "join_c",
+ "private_use",
"case_ignorable",
- "terminalpunctuation",
- "formatcontrol",
- "bidi_left_to_right",
"otheralphabetic",
- "qmark",
- "quotation_mark",
- "bidicommonseparator",
- "bidi_common_separator",
- "hyphen",
- "private_use",
+ "bidi_arabic_right_to_left",
+ "bidihebrewrighttoleft",
+ "numeric",
+ "not_a_character",
+ "non_break",
+ "cwl",
+ "cwt",
+ "bidi_left_to_right",
+ "bidi_hebrew_right_to_left",
"ogrext",
"ogr_ext",
- "asciihexdigit",
- "cwt",
- "omath",
"grbase",
"gr_base",
"grext",
"gr_ext",
+ "id_compat_math_start",
+ "currency_symbol",
+ "currencysymbol",
+ "bidi_boundary_neutral",
+ "punctuation",
"graphemebase",
"grapheme_base",
- "numeric",
"graphemeextend",
- "whitespace",
- "punctuation",
- "bidi_boundary_neutral",
- "math",
- "hex",
+ "asciihexdigit",
+ "format_control",
+ "ignorable_control",
+ "ignorablecontrol",
+ "bidiarabicrighttoleft",
+ "hyphen",
"unassigned_code_value",
- "bidieurnumterminator",
- "cwl",
- "default_ignorable_code_point",
"xidc",
+ "id_compat_math_continue",
"bidi_other_neutral",
- "unifiedideograph",
+ "default_ignorable_code_point",
+ "logicalorderexception",
"paragraphseparator",
+ "cwu",
+ "unassignedcodevalue",
+ "bidicommonseparator",
+ "pairedpunctuation",
+ "bidi_common_separator",
+ "qmark",
+ "logical_order_exception",
+ "nonbreak",
+ "omath",
+ "hex",
"paragraph_separator",
+ "whitespace",
+ "quotation_mark",
+ "unifiedideograph",
+ "grapheme_extend",
+ "bidieurnumterminator",
+ "prependedconcatenationmark",
+ "bidi_pdf",
+ "math",
+ "bidi_segment_separator",
"ahex",
- "currency_symbol",
- "pairedpunctuation",
"grlink",
"gr_link",
- "bidisegmentseparator",
- "bidi_segment_separator",
+ "patternsyntax",
+ "changes_when_titlecased",
"graphemelink",
"grapheme_link",
- "cwu",
- "logicalorderexception",
- "bidi_non_spacing_mark",
- "unassignedcodevalue",
- "changes_when_titlecased",
- "ignorable_control",
- "grapheme_extend",
- "ignorablecontrol",
- "currencysymbol",
- "patternsyntax",
- "white_space",
- "bidi_pdf",
- "logical_order_exception",
- "format_control",
+ "bidisegmentseparator",
"changes_when_lowercased",
+ "cwcf",
+ "white_space",
"unified_ideograph",
- "changeswhentitlecased",
+ "combining",
"patternwhitespace",
"cwcm",
- "bidi_embedding_or_override",
- "bidinonspacingmark",
- "cwcf",
- "combining",
"changeswhencasefolded",
+ "prepended_concatenation_mark",
"changes_when_uppercased",
+ "changeswhentitlecased",
+ "bidi_non_spacing_mark",
"paired_punctuation",
- "otherdefaultignorablecodepoint",
"pattern_white_space",
+ "otherdefaultignorablecodepoint",
+ "bidi_embedding_or_override",
"changeswhencasemapped",
"changeswhenuppercased",
+ "bidinonspacingmark",
"changeswhenlowercased",
- "changes_when_casemapped",
"changes_when_casefolded",
- "pattern_syntax"
+ "pattern_syntax",
+ "changes_when_casemapped"
};
#define properties_stringpool ((const char *) &properties_stringpool_contents)
static const struct named_property properties[] =
{
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {-1}, {-1}, {-1}, {-1}, {-1},
#line 49 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str8, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str14, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT},
#line 52 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str9, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT},
-#line 187 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str10, UC_PROPERTY_INDEX_IDEOGRAPHIC},
- {-1}, {-1},
-#line 197 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str13, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str15, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT},
+#line 193 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str16, UC_PROPERTY_INDEX_IDEOGRAPHIC},
+#line 57 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str17, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION},
+ {-1},
+#line 206 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str19, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR},
{-1}, {-1},
#line 99 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str16, UC_PROPERTY_INDEX_ID_START},
- {-1}, {-1},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str22, UC_PROPERTY_INDEX_ID_START},
+ {-1},
+#line 71 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str24, UC_PROPERTY_INDEX_LOWERCASE},
+#line 74 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str25, UC_PROPERTY_INDEX_OTHER_LOWERCASE},
+ {-1},
#line 104 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str19, UC_PROPERTY_INDEX_ID_CONTINUE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str27, UC_PROPERTY_INDEX_ID_CONTINUE},
{-1},
#line 53 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str21, UC_PROPERTY_INDEX_DEPRECATED},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str29, UC_PROPERTY_INDEX_DEPRECATED},
#line 98 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str22, UC_PROPERTY_INDEX_ID_START},
-#line 235 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str23, UC_PROPERTY_INDEX_DECIMAL_DIGIT},
- {-1},
-#line 194 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str25, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str30, UC_PROPERTY_INDEX_ID_START},
+#line 246 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str31, UC_PROPERTY_INDEX_DECIMAL_DIGIT},
+ {-1}, {-1}, {-1},
#line 97 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str26, UC_PROPERTY_INDEX_SOFT_DOTTED},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str35, UC_PROPERTY_INDEX_SOFT_DOTTED},
#line 100 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str27, UC_PROPERTY_INDEX_ID_START},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str36, UC_PROPERTY_INDEX_ID_START},
#line 103 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str28, UC_PROPERTY_INDEX_OTHER_ID_START},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str37, UC_PROPERTY_INDEX_OTHER_ID_START},
+#line 118 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str38, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START},
{-1},
#line 107 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str30, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str40, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE},
{-1}, {-1},
#line 101 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str33, UC_PROPERTY_INDEX_OTHER_ID_START},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str43, UC_PROPERTY_INDEX_OTHER_ID_START},
{-1}, {-1},
-#line 238 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str36, UC_PROPERTY_INDEX_DIACRITIC},
- {-1},
+#line 117 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str46, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START},
+#line 249 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str47, UC_PROPERTY_INDEX_DIACRITIC},
+#line 70 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str48, UC_PROPERTY_INDEX_LOWERCASE},
#line 75 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str38, UC_PROPERTY_INDEX_TITLECASE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str49, UC_PROPERTY_INDEX_TITLECASE},
#line 96 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str39, UC_PROPERTY_INDEX_SOFT_DOTTED},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str50, UC_PROPERTY_INDEX_SOFT_DOTTED},
#line 95 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str40, UC_PROPERTY_INDEX_SOFT_DOTTED},
- {-1},
-#line 169 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str42, UC_PROPERTY_INDEX_BIDI_WHITESPACE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str51, UC_PROPERTY_INDEX_SOFT_DOTTED},
{-1},
+#line 212 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str53, UC_PROPERTY_INDEX_ISO_CONTROL},
+#line 213 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str54, UC_PROPERTY_INDEX_ISO_CONTROL},
#line 102 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str44, UC_PROPERTY_INDEX_OTHER_ID_START},
-#line 155 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str45, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str55, UC_PROPERTY_INDEX_OTHER_ID_START},
+#line 142 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str56, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
+#line 203 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str57, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR},
+#line 197 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str58, UC_PROPERTY_INDEX_RADICAL},
#line 72 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str46, UC_PROPERTY_INDEX_OTHER_LOWERCASE},
- {-1},
-#line 57 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str48, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str59, UC_PROPERTY_INDEX_OTHER_LOWERCASE},
+#line 228 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str60, UC_PROPERTY_INDEX_SENTENCE_TERMINAL},
{-1},
-#line 177 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str50, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE},
-#line 136 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str51, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
- {-1}, {-1}, {-1},
-#line 48 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str55, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT},
- {-1}, {-1},
-#line 161 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str58, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT},
- {-1}, {-1}, {-1},
-#line 71 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str62, UC_PROPERTY_INDEX_LOWERCASE},
-#line 74 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str63, UC_PROPERTY_INDEX_OTHER_LOWERCASE},
+#line 198 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str62, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR},
{-1}, {-1},
-#line 44 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str66, UC_PROPERTY_INDEX_OTHER_ALPHABETIC},
- {-1}, {-1}, {-1},
-#line 192 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str70, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR},
- {-1},
-#line 160 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str72, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT},
-#line 183 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str73, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT},
-#line 70 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str74, UC_PROPERTY_INDEX_LOWERCASE},
- {-1},
-#line 145 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str76, UC_PROPERTY_INDEX_BIDI_CONTROL},
-#line 158 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str77, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR},
-#line 193 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str78, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR},
-#line 203 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str79, UC_PROPERTY_INDEX_ISO_CONTROL},
- {-1}, {-1}, {-1},
-#line 60 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str83, UC_PROPERTY_INDEX_VARIATION_SELECTOR},
-#line 217 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str84, UC_PROPERTY_INDEX_SENTENCE_TERMINAL},
+#line 242 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str65, UC_PROPERTY_INDEX_LEFT_OF_PAIR},
{-1}, {-1},
-#line 204 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str87, UC_PROPERTY_INDEX_ISO_CONTROL},
- {-1},
-#line 190 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str89, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH},
-#line 105 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str90, UC_PROPERTY_INDEX_ID_CONTINUE},
-#line 191 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str91, UC_PROPERTY_INDEX_RADICAL},
-#line 179 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str92, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL},
+#line 222 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str68, UC_PROPERTY_INDEX_LINE_SEPARATOR},
+#line 200 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str69, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR},
#line 196 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str93, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR},
- {-1}, {-1},
-#line 231 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str96, UC_PROPERTY_INDEX_LEFT_OF_PAIR},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str70, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH},
{-1}, {-1},
-#line 211 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str99, UC_PROPERTY_INDEX_LINE_SEPARATOR},
+#line 151 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str73, UC_PROPERTY_INDEX_BIDI_CONTROL},
{-1}, {-1},
#line 69 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str102, UC_PROPERTY_INDEX_OTHER_UPPERCASE},
-#line 156 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str103, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str76, UC_PROPERTY_INDEX_OTHER_UPPERCASE},
+ {-1},
+#line 175 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str78, UC_PROPERTY_INDEX_BIDI_WHITESPACE},
+#line 202 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str79, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR},
+#line 201 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str80, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR},
+#line 161 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str81, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT},
+#line 44 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str82, UC_PROPERTY_INDEX_OTHER_ALPHABETIC},
#line 41 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str104, UC_PROPERTY_INDEX_ALPHABETIC},
- {-1}, {-1},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str83, UC_PROPERTY_INDEX_ALPHABETIC},
+#line 185 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str84, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL},
+#line 105 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str85, UC_PROPERTY_INDEX_ID_CONTINUE},
+#line 60 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str86, UC_PROPERTY_INDEX_VARIATION_SELECTOR},
+ {-1},
+#line 183 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str88, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE},
+#line 205 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str89, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR},
+ {-1},
+#line 189 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str91, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT},
+ {-1},
+#line 48 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str93, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT},
#line 79 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str107, UC_PROPERTY_INDEX_CASE_IGNORABLE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str94, UC_PROPERTY_INDEX_CASE_IGNORABLE},
#line 106 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str108, UC_PROPERTY_INDEX_ID_CONTINUE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str95, UC_PROPERTY_INDEX_ID_CONTINUE},
#line 109 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str109, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE},
-#line 180 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str110, UC_PROPERTY_INDEX_HEX_DIGIT},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str96, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE},
+#line 121 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str97, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE},
+#line 46 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str98, UC_PROPERTY_INDEX_NOT_A_CHARACTER},
+ {-1},
+#line 199 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str100, UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR},
+#line 164 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str101, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR},
+ {-1},
#line 54 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str111, UC_PROPERTY_INDEX_DEPRECATED},
-#line 181 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str112, UC_PROPERTY_INDEX_HEX_DIGIT},
-#line 226 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str113, UC_PROPERTY_INDEX_OTHER_MATH},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str103, UC_PROPERTY_INDEX_DEPRECATED},
+ {-1},
+#line 248 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str105, UC_PROPERTY_INDEX_DIACRITIC},
+#line 120 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str106, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE},
+ {-1},
+#line 244 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str108, UC_PROPERTY_INDEX_COMPOSITE},
{-1}, {-1},
-#line 237 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str116, UC_PROPERTY_INDEX_DIACRITIC},
-#line 46 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str117, UC_PROPERTY_INDEX_NOT_A_CHARACTER},
+#line 230 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str111, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION},
{-1},
-#line 233 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str119, UC_PROPERTY_INDEX_COMPOSITE},
+#line 166 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str113, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT},
#line 58 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str120, UC_PROPERTY_INDEX_VARIATION_SELECTOR},
- {-1}, {-1}, {-1},
-#line 125 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str124, UC_PROPERTY_INDEX_JOIN_CONTROL},
-#line 147 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str125, UC_PROPERTY_INDEX_BIDI_CONTROL},
-#line 146 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str126, UC_PROPERTY_INDEX_BIDI_CONTROL},
-#line 207 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str127, UC_PROPERTY_INDEX_DASH},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str114, UC_PROPERTY_INDEX_VARIATION_SELECTOR},
{-1},
-#line 68 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str129, UC_PROPERTY_INDEX_OTHER_UPPERCASE},
+#line 245 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str116, UC_PROPERTY_INDEX_DECIMAL_DIGIT},
{-1},
-#line 200 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str131, UC_PROPERTY_INDEX_SPACE},
-#line 234 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str132, UC_PROPERTY_INDEX_DECIMAL_DIGIT},
-#line 137 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str133, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
+#line 229 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str118, UC_PROPERTY_INDEX_SENTENCE_TERMINAL},
+#line 241 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str119, UC_PROPERTY_INDEX_LEFT_OF_PAIR},
+#line 167 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str120, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT},
+ {-1}, {-1},
+#line 162 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str123, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR},
+#line 42 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str124, UC_PROPERTY_INDEX_OTHER_ALPHABETIC},
+#line 68 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str125, UC_PROPERTY_INDEX_OTHER_UPPERCASE},
+#line 209 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str126, UC_PROPERTY_INDEX_SPACE},
{-1}, {-1},
-#line 149 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str136, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT},
#line 76 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str137, UC_PROPERTY_INDEX_CASED},
-#line 225 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str138, UC_PROPERTY_INDEX_OTHER_MATH},
-#line 168 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str139, UC_PROPERTY_INDEX_BIDI_WHITESPACE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str129, UC_PROPERTY_INDEX_CASED},
+#line 150 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str130, UC_PROPERTY_INDEX_BIDI_CONTROL},
+ {-1}, {-1}, {-1},
+#line 221 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str134, UC_PROPERTY_INDEX_LINE_SEPARATOR},
{-1},
-#line 198 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str141, UC_PROPERTY_INDEX_ZERO_WIDTH},
+#line 131 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str136, UC_PROPERTY_INDEX_JOIN_CONTROL},
+#line 143 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str137, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
+#line 153 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str138, UC_PROPERTY_INDEX_BIDI_CONTROL},
+#line 152 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str139, UC_PROPERTY_INDEX_BIDI_CONTROL},
{-1},
-#line 199 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str143, UC_PROPERTY_INDEX_ZERO_WIDTH},
- {-1}, {-1},
-#line 144 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str146, UC_PROPERTY_INDEX_BIDI_CONTROL},
#line 78 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str147, UC_PROPERTY_INDEX_CASE_IGNORABLE},
-#line 67 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str148, UC_PROPERTY_INDEX_OTHER_UPPERCASE},
-#line 219 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str149, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION},
- {-1}, {-1}, {-1}, {-1}, {-1},
-#line 218 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str155, UC_PROPERTY_INDEX_SENTENCE_TERMINAL},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str141, UC_PROPERTY_INDEX_CASE_IGNORABLE},
+#line 186 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str142, UC_PROPERTY_INDEX_HEX_DIGIT},
+#line 40 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str143, UC_PROPERTY_INDEX_ALPHABETIC},
+#line 187 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str144, UC_PROPERTY_INDEX_HEX_DIGIT},
+#line 237 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str145, UC_PROPERTY_INDEX_OTHER_MATH},
{-1},
-#line 157 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str157, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR},
-#line 119 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str158, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
-#line 118 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str159, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
+#line 67 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str147, UC_PROPERTY_INDEX_OTHER_UPPERCASE},
#line 50 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str160, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str148, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT},
+#line 207 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str149, UC_PROPERTY_INDEX_ZERO_WIDTH},
+ {-1},
+#line 208 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str151, UC_PROPERTY_INDEX_ZERO_WIDTH},
{-1}, {-1},
-#line 221 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str163, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION},
-#line 164 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str164, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR},
+#line 215 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str154, UC_PROPERTY_INDEX_FORMAT_CONTROL},
#line 73 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str165, UC_PROPERTY_INDEX_OTHER_LOWERCASE},
- {-1}, {-1},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str155, UC_PROPERTY_INDEX_OTHER_LOWERCASE},
+#line 174 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str156, UC_PROPERTY_INDEX_BIDI_WHITESPACE},
#line 39 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str168, UC_PROPERTY_INDEX_WHITE_SPACE},
-#line 154 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str169, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT},
-#line 42 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str170, UC_PROPERTY_INDEX_OTHER_ALPHABETIC},
-#line 215 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str171, UC_PROPERTY_INDEX_QUOTATION_MARK},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str157, UC_PROPERTY_INDEX_WHITE_SPACE},
+#line 125 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str158, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
+#line 124 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str159, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
+#line 231 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str160, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION},
{-1},
-#line 127 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str173, UC_PROPERTY_INDEX_JOIN_CONTROL},
-#line 126 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str174, UC_PROPERTY_INDEX_JOIN_CONTROL},
+#line 218 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str162, UC_PROPERTY_INDEX_DASH},
+#line 66 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str163, UC_PROPERTY_INDEX_UPPERCASE},
+ {-1}, {-1}, {-1}, {-1}, {-1},
+#line 232 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str169, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION},
{-1},
-#line 201 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str176, UC_PROPERTY_INDEX_NON_BREAK},
+#line 108 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str171, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE},
+#line 62 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str172, UC_PROPERTY_INDEX_PRIVATE_USE},
+#line 251 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str173, UC_PROPERTY_INDEX_EXTENDER},
{-1},
-#line 150 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str178, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT},
-#line 230 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str179, UC_PROPERTY_INDEX_LEFT_OF_PAIR},
-#line 165 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str180, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR},
- {-1}, {-1}, {-1},
-#line 173 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str184, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL},
+#line 236 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str175, UC_PROPERTY_INDEX_OTHER_MATH},
+#line 160 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str176, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT},
+#line 179 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str177, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL},
+#line 171 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str178, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR},
{-1},
-#line 40 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str186, UC_PROPERTY_INDEX_ALPHABETIC},
- {-1}, {-1},
-#line 210 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str189, UC_PROPERTY_INDEX_LINE_SEPARATOR},
-#line 152 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str190, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT},
-#line 240 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str191, UC_PROPERTY_INDEX_EXTENDER},
-#line 151 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str192, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT},
-#line 175 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str193, UC_PROPERTY_INDEX_BIDI_PDF},
-#line 124 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str194, UC_PROPERTY_INDEX_JOIN_CONTROL},
-#line 153 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str195, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT},
- {-1}, {-1},
+#line 163 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str180, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR},
+#line 170 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str181, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR},
#line 114 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str198, UC_PROPERTY_INDEX_XID_CONTINUE},
-#line 45 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str199, UC_PROPERTY_INDEX_NOT_A_CHARACTER},
- {-1},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str182, UC_PROPERTY_INDEX_XID_CONTINUE},
+#line 181 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str183, UC_PROPERTY_INDEX_BIDI_PDF},
+#line 59 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str184, UC_PROPERTY_INDEX_VARIATION_SELECTOR},
#line 111 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str201, UC_PROPERTY_INDEX_XID_START},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str185, UC_PROPERTY_INDEX_XID_START},
#line 113 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str202, UC_PROPERTY_INDEX_XID_CONTINUE},
-#line 66 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str203, UC_PROPERTY_INDEX_UPPERCASE},
-#line 59 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str204, UC_PROPERTY_INDEX_VARIATION_SELECTOR},
-#line 108 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str205, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str186, UC_PROPERTY_INDEX_XID_CONTINUE},
+#line 65 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str187, UC_PROPERTY_INDEX_UPPERCASE},
+#line 110 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str188, UC_PROPERTY_INDEX_XID_START},
+#line 250 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str189, UC_PROPERTY_INDEX_EXTENDER},
+#line 226 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str190, UC_PROPERTY_INDEX_QUOTATION_MARK},
{-1},
#line 112 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str207, UC_PROPERTY_INDEX_XID_START},
-#line 202 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str208, UC_PROPERTY_INDEX_NON_BREAK},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str192, UC_PROPERTY_INDEX_XID_START},
+#line 130 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str193, UC_PROPERTY_INDEX_JOIN_CONTROL},
{-1},
-#line 62 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str210, UC_PROPERTY_INDEX_PRIVATE_USE},
-#line 110 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str211, UC_PROPERTY_INDEX_XID_START},
+#line 192 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str195, UC_PROPERTY_INDEX_IDEOGRAPHIC},
+#line 155 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str196, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT},
+#line 129 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str197, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
+#line 128 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str198, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
+#line 204 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str199, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR},
{-1},
-#line 123 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str213, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
-#line 122 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str214, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
-#line 65 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str215, UC_PROPERTY_INDEX_UPPERCASE},
- {-1}, {-1}, {-1},
-#line 239 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str219, UC_PROPERTY_INDEX_EXTENDER},
-#line 186 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str220, UC_PROPERTY_INDEX_IDEOGRAPHIC},
-#line 195 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str221, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR},
-#line 77 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str222, UC_PROPERTY_INDEX_CASE_IGNORABLE},
-#line 220 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str223, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION},
+#line 133 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str201, UC_PROPERTY_INDEX_JOIN_CONTROL},
+#line 132 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str202, UC_PROPERTY_INDEX_JOIN_CONTROL},
{-1},
-#line 206 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str225, UC_PROPERTY_INDEX_FORMAT_CONTROL},
- {-1}, {-1},
-#line 148 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str228, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT},
+#line 61 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str204, UC_PROPERTY_INDEX_PRIVATE_USE},
+#line 77 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str205, UC_PROPERTY_INDEX_CASE_IGNORABLE},
#line 43 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str229, UC_PROPERTY_INDEX_OTHER_ALPHABETIC},
- {-1}, {-1}, {-1},
-#line 216 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str233, UC_PROPERTY_INDEX_QUOTATION_MARK},
-#line 214 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str234, UC_PROPERTY_INDEX_QUOTATION_MARK},
-#line 163 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str235, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR},
- {-1},
-#line 162 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str237, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str206, UC_PROPERTY_INDEX_OTHER_ALPHABETIC},
{-1}, {-1},
-#line 208 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str240, UC_PROPERTY_INDEX_HYPHEN},
-#line 61 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str241, UC_PROPERTY_INDEX_PRIVATE_USE},
+#line 158 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str209, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT},
+#line 157 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str210, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT},
+#line 247 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str211, UC_PROPERTY_INDEX_NUMERIC},
{-1},
-#line 139 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str243, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
-#line 138 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str244, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
- {-1}, {-1}, {-1},
-#line 184 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str248, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT},
+#line 45 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str213, UC_PROPERTY_INDEX_NOT_A_CHARACTER},
+#line 210 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str214, UC_PROPERTY_INDEX_NON_BREAK},
+#line 82 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str215, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED},
#line 88 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str249, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str216, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED},
+#line 154 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str217, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT},
+#line 156 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str218, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT},
+#line 145 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str219, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
+#line 144 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str220, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND},
+#line 137 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str221, UC_PROPERTY_INDEX_GRAPHEME_BASE},
+#line 136 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str222, UC_PROPERTY_INDEX_GRAPHEME_BASE},
+#line 141 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str223, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
+#line 140 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str224, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
+#line 116 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str225, UC_PROPERTY_INDEX_ID_COMPAT_MATH_START},
+#line 233 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str226, UC_PROPERTY_INDEX_CURRENCY_SYMBOL},
+#line 234 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str227, UC_PROPERTY_INDEX_CURRENCY_SYMBOL},
+#line 178 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str228, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL},
{-1},
-#line 227 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str251, UC_PROPERTY_INDEX_OTHER_MATH},
-#line 131 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str252, UC_PROPERTY_INDEX_GRAPHEME_BASE},
-#line 130 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str253, UC_PROPERTY_INDEX_GRAPHEME_BASE},
+#line 220 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str230, UC_PROPERTY_INDEX_PUNCTUATION},
#line 135 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str254, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str231, UC_PROPERTY_INDEX_GRAPHEME_BASE},
#line 134 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str255, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str232, UC_PROPERTY_INDEX_GRAPHEME_BASE},
{-1}, {-1}, {-1}, {-1},
-#line 129 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str260, UC_PROPERTY_INDEX_GRAPHEME_BASE},
-#line 128 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str261, UC_PROPERTY_INDEX_GRAPHEME_BASE},
-#line 236 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str262, UC_PROPERTY_INDEX_NUMERIC},
+#line 139 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str237, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
+ {-1}, {-1},
+#line 190 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str240, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT},
+#line 214 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str241, UC_PROPERTY_INDEX_FORMAT_CONTROL},
+#line 252 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str242, UC_PROPERTY_INDEX_IGNORABLE_CONTROL},
+#line 253 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str243, UC_PROPERTY_INDEX_IGNORABLE_CONTROL},
+ {-1}, {-1},
+#line 159 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str246, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT},
+#line 219 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str247, UC_PROPERTY_INDEX_HYPHEN},
+#line 63 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str248, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE},
+ {-1}, {-1},
+#line 115 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str251, UC_PROPERTY_INDEX_XID_CONTINUE},
+#line 119 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str252, UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE},
{-1},
-#line 133 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str264, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
+#line 184 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str254, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL},
+#line 47 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str255, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 38 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str273, UC_PROPERTY_INDEX_WHITE_SPACE},
-#line 209 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str274, UC_PROPERTY_INDEX_PUNCTUATION},
- {-1},
-#line 172 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str276, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL},
+#line 56 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str264, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION},
#line 224 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str277, UC_PROPERTY_INDEX_MATH},
-#line 182 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str278, UC_PROPERTY_INDEX_HEX_DIGIT},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str265, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR},
+#line 85 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str266, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED},
+#line 64 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str267, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE},
{-1}, {-1}, {-1},
-#line 63 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str282, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE},
- {-1},
-#line 159 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str284, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR},
-#line 82 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str285, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED},
-#line 47 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str286, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT},
+#line 169 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str271, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR},
+#line 240 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str272, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION},
+#line 168 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str273, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR},
{-1},
-#line 115 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str288, UC_PROPERTY_INDEX_XID_CONTINUE},
+#line 227 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str275, UC_PROPERTY_INDEX_QUOTATION_MARK},
+#line 55 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str276, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION},
{-1}, {-1},
-#line 178 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str291, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL},
+#line 211 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str279, UC_PROPERTY_INDEX_NON_BREAK},
{-1},
-#line 189 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str293, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH},
- {-1}, {-1}, {-1},
-#line 213 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str297, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR},
+#line 238 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str281, UC_PROPERTY_INDEX_OTHER_MATH},
+ {-1}, {-1},
+#line 188 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str284, UC_PROPERTY_INDEX_HEX_DIGIT},
{-1}, {-1}, {-1},
-#line 212 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str301, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR},
- {-1}, {-1}, {-1}, {-1},
-#line 185 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str306, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT},
-#line 222 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str307, UC_PROPERTY_INDEX_CURRENCY_SYMBOL},
+#line 223 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str288, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR},
{-1},
-#line 229 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str309, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION},
+#line 38 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str290, UC_PROPERTY_INDEX_WHITE_SPACE},
{-1}, {-1},
-#line 143 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str312, UC_PROPERTY_INDEX_GRAPHEME_LINK},
-#line 142 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str313, UC_PROPERTY_INDEX_GRAPHEME_LINK},
-#line 167 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str314, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR},
+#line 225 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str293, UC_PROPERTY_INDEX_QUOTATION_MARK},
+#line 195 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str294, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH},
+ {-1}, {-1},
+#line 138 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str297, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
{-1}, {-1}, {-1}, {-1},
-#line 166 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str319, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR},
-#line 141 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str320, UC_PROPERTY_INDEX_GRAPHEME_LINK},
-#line 140 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str321, UC_PROPERTY_INDEX_GRAPHEME_LINK},
+#line 165 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str302, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR},
{-1}, {-1},
-#line 85 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str324, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED},
- {-1},
-#line 56 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str326, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION},
- {-1}, {-1}, {-1},
-#line 170 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str330, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK},
-#line 64 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str331, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE},
+#line 217 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str305, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK},
+ {-1}, {-1}, {-1}, {-1}, {-1},
+#line 180 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str311, UC_PROPERTY_INDEX_BIDI_PDF},
+#line 235 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str312, UC_PROPERTY_INDEX_MATH},
{-1}, {-1}, {-1},
-#line 86 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str335, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED},
-#line 241 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str336, UC_PROPERTY_INDEX_IGNORABLE_CONTROL},
-#line 132 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str337, UC_PROPERTY_INDEX_GRAPHEME_EXTEND},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 242 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str344, UC_PROPERTY_INDEX_IGNORABLE_CONTROL},
-#line 223 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str345, UC_PROPERTY_INDEX_CURRENCY_SYMBOL},
- {-1},
-#line 121 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str347, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
+#line 172 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str316, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR},
+#line 191 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str317, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT},
{-1},
-#line 37 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str349, UC_PROPERTY_INDEX_WHITE_SPACE},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 149 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str319, UC_PROPERTY_INDEX_GRAPHEME_LINK},
+#line 148 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str320, UC_PROPERTY_INDEX_GRAPHEME_LINK},
+ {-1}, {-1}, {-1}, {-1},
+#line 127 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str325, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
{-1}, {-1},
-#line 174 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str361, UC_PROPERTY_INDEX_BIDI_PDF},
-#line 55 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str362, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION},
- {-1}, {-1}, {-1},
-#line 205 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str366, UC_PROPERTY_INDEX_FORMAT_CONTROL},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 86 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str328, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED},
+#line 147 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str329, UC_PROPERTY_INDEX_GRAPHEME_LINK},
+#line 146 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str330, UC_PROPERTY_INDEX_GRAPHEME_LINK},
+#line 173 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str331, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR},
#line 80 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str383, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED},
- {-1}, {-1}, {-1},
-#line 188 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str387, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH},
- {-1}, {-1},
-#line 87 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str390, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED},
- {-1}, {-1}, {-1}, {-1}, {-1},
-#line 117 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str396, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str332, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED},
+ {-1}, {-1}, {-1}, {-1},
+#line 91 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str337, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 37 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str347, UC_PROPERTY_INDEX_WHITE_SPACE},
+ {-1}, {-1}, {-1}, {-1},
+#line 194 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str352, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 243 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str362, UC_PROPERTY_INDEX_COMBINING},
+#line 123 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str363, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
#line 94 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str397, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 176 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str404, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str364, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 171 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str411, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK},
-#line 91 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str412, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED},
- {-1}, {-1}, {-1},
-#line 232 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str416, UC_PROPERTY_INDEX_COMBINING},
#line 90 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str417, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED},
- {-1}, {-1}, {-1}, {-1},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str380, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED},
+ {-1},
+#line 216 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str382, UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK},
#line 83 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str422, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str383, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 87 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str392, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED},
+#line 176 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str393, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 239 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str400, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {-1},
+#line 122 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str411, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
+ {-1},
+#line 51 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str413, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT},
+#line 182 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str414, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 228 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str432, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 51 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str468, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 116 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str475, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE},
- {-1}, {-1}, {-1}, {-1},
#line 93 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str480, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 84 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str489, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str466, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {-1},
+#line 84 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str477, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {-1}, {-1},
+#line 177 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str498, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
#line 81 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str525, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str507, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+ {-1}, {-1},
+#line 89 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str528, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
{-1},
+#line 126 "./unictype/pr_byname.gperf"
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str548, UC_PROPERTY_INDEX_PATTERN_SYNTAX},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
#line 92 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str581, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
- {-1}, {-1}, {-1}, {-1}, {-1},
-#line 89 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str596, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
- {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
- {-1}, {-1}, {-1}, {-1},
-#line 120 "./unictype/pr_byname.gperf"
- {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str619, UC_PROPERTY_INDEX_PATTERN_SYNTAX}
+ {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str555, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED}
};
static const struct named_property *
diff --git a/lib/unictype/pr_case_ignorable.c b/lib/unictype/pr_case_ignorable.c
index 7983f41f..17483a25 100644
--- a/lib/unictype/pr_case_ignorable.c
+++ b/lib/unictype/pr_case_ignorable.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_case_ignorable.h b/lib/unictype/pr_case_ignorable.h
index 51227b30..4426ab38 100644
--- a/lib/unictype/pr_case_ignorable.h
+++ b/lib/unictype/pr_case_ignorable.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_cased.c b/lib/unictype/pr_cased.c
index 7fcd980c..4a3e647b 100644
--- a/lib/unictype/pr_cased.c
+++ b/lib/unictype/pr_cased.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_cased.h b/lib/unictype/pr_cased.h
index 79235bee..8f686e14 100644
--- a/lib/unictype/pr_cased.h
+++ b/lib/unictype/pr_cased.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_changes_when_casefolded.c b/lib/unictype/pr_changes_when_casefolded.c
index 3621a8e1..68fac17e 100644
--- a/lib/unictype/pr_changes_when_casefolded.c
+++ b/lib/unictype/pr_changes_when_casefolded.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_changes_when_casefolded.h b/lib/unictype/pr_changes_when_casefolded.h
index 2df92e1f..edd278e0 100644
--- a/lib/unictype/pr_changes_when_casefolded.h
+++ b/lib/unictype/pr_changes_when_casefolded.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_changes_when_casemapped.c b/lib/unictype/pr_changes_when_casemapped.c
index 2156f413..1fb0a8d8 100644
--- a/lib/unictype/pr_changes_when_casemapped.c
+++ b/lib/unictype/pr_changes_when_casemapped.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_changes_when_casemapped.h b/lib/unictype/pr_changes_when_casemapped.h
index c9895730..17f71e53 100644
--- a/lib/unictype/pr_changes_when_casemapped.h
+++ b/lib/unictype/pr_changes_when_casemapped.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_changes_when_lowercased.c b/lib/unictype/pr_changes_when_lowercased.c
index 86d35450..d74d95fe 100644
--- a/lib/unictype/pr_changes_when_lowercased.c
+++ b/lib/unictype/pr_changes_when_lowercased.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_changes_when_lowercased.h b/lib/unictype/pr_changes_when_lowercased.h
index 79ea699a..dfe6e265 100644
--- a/lib/unictype/pr_changes_when_lowercased.h
+++ b/lib/unictype/pr_changes_when_lowercased.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_changes_when_titlecased.c b/lib/unictype/pr_changes_when_titlecased.c
index c684587d..7697e4fc 100644
--- a/lib/unictype/pr_changes_when_titlecased.c
+++ b/lib/unictype/pr_changes_when_titlecased.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_changes_when_titlecased.h b/lib/unictype/pr_changes_when_titlecased.h
index 65d9e277..2c1d8800 100644
--- a/lib/unictype/pr_changes_when_titlecased.h
+++ b/lib/unictype/pr_changes_when_titlecased.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_changes_when_uppercased.c b/lib/unictype/pr_changes_when_uppercased.c
index de30a608..13293a9a 100644
--- a/lib/unictype/pr_changes_when_uppercased.c
+++ b/lib/unictype/pr_changes_when_uppercased.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software.
diff --git a/lib/unictype/pr_changes_when_uppercased.h b/lib/unictype/pr_changes_when_uppercased.h
index 80379a18..023aaf0b 100644
--- a/lib/unictype/pr_changes_when_uppercased.h
+++ b/lib/unictype/pr_changes_when_uppercased.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_combining.c b/lib/unictype/pr_combining.c
index 7627a5f3..0ad3a136 100644
--- a/lib/unictype/pr_combining.c
+++ b/lib/unictype/pr_combining.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_combining.h b/lib/unictype/pr_combining.h
index 9e1df8ca..4777c220 100644
--- a/lib/unictype/pr_combining.h
+++ b/lib/unictype/pr_combining.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_composite.c b/lib/unictype/pr_composite.c
index 5317ef5a..7bd24fb1 100644
--- a/lib/unictype/pr_composite.c
+++ b/lib/unictype/pr_composite.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_composite.h b/lib/unictype/pr_composite.h
index f567134e..b436c55d 100644
--- a/lib/unictype/pr_composite.h
+++ b/lib/unictype/pr_composite.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_currency_symbol.c b/lib/unictype/pr_currency_symbol.c
index e888136f..879b0658 100644
--- a/lib/unictype/pr_currency_symbol.c
+++ b/lib/unictype/pr_currency_symbol.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_currency_symbol.h b/lib/unictype/pr_currency_symbol.h
index 00ad1e1b..9a863554 100644
--- a/lib/unictype/pr_currency_symbol.h
+++ b/lib/unictype/pr_currency_symbol.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_dash.c b/lib/unictype/pr_dash.c
index 64b027b6..e87d9665 100644
--- a/lib/unictype/pr_dash.c
+++ b/lib/unictype/pr_dash.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_dash.h b/lib/unictype/pr_dash.h
index bc9be354..f5f2a852 100644
--- a/lib/unictype/pr_dash.h
+++ b/lib/unictype/pr_dash.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_decimal_digit.c b/lib/unictype/pr_decimal_digit.c
index 00404298..4dc5c247 100644
--- a/lib/unictype/pr_decimal_digit.c
+++ b/lib/unictype/pr_decimal_digit.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_decimal_digit.h b/lib/unictype/pr_decimal_digit.h
index 37c17668..19ac3ed0 100644
--- a/lib/unictype/pr_decimal_digit.h
+++ b/lib/unictype/pr_decimal_digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_default_ignorable_code_point.c b/lib/unictype/pr_default_ignorable_code_point.c
index 328e008a..0e2cd297 100644
--- a/lib/unictype/pr_default_ignorable_code_point.c
+++ b/lib/unictype/pr_default_ignorable_code_point.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_default_ignorable_code_point.h b/lib/unictype/pr_default_ignorable_code_point.h
index d31c582b..410c4463 100644
--- a/lib/unictype/pr_default_ignorable_code_point.h
+++ b/lib/unictype/pr_default_ignorable_code_point.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_deprecated.c b/lib/unictype/pr_deprecated.c
index 24b40156..5a10ba81 100644
--- a/lib/unictype/pr_deprecated.c
+++ b/lib/unictype/pr_deprecated.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_deprecated.h b/lib/unictype/pr_deprecated.h
index 642ed1b5..df53eb55 100644
--- a/lib/unictype/pr_deprecated.h
+++ b/lib/unictype/pr_deprecated.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_diacritic.c b/lib/unictype/pr_diacritic.c
index 232089f3..512a81dc 100644
--- a/lib/unictype/pr_diacritic.c
+++ b/lib/unictype/pr_diacritic.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_diacritic.h b/lib/unictype/pr_diacritic.h
index 1e797894..a159190e 100644
--- a/lib/unictype/pr_diacritic.h
+++ b/lib/unictype/pr_diacritic.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_emoji.c b/lib/unictype/pr_emoji.c
index dc106722..9f9ee216 100644
--- a/lib/unictype/pr_emoji.c
+++ b/lib/unictype/pr_emoji.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_emoji.h b/lib/unictype/pr_emoji.h
index d3a05d32..d734fc64 100644
--- a/lib/unictype/pr_emoji.h
+++ b/lib/unictype/pr_emoji.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_emoji_component.c b/lib/unictype/pr_emoji_component.c
index 17f95a7e..71bea43b 100644
--- a/lib/unictype/pr_emoji_component.c
+++ b/lib/unictype/pr_emoji_component.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_emoji_component.h b/lib/unictype/pr_emoji_component.h
index 04f33b92..2b3c1530 100644
--- a/lib/unictype/pr_emoji_component.h
+++ b/lib/unictype/pr_emoji_component.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_emoji_modifier.c b/lib/unictype/pr_emoji_modifier.c
index 85107dca..6110af72 100644
--- a/lib/unictype/pr_emoji_modifier.c
+++ b/lib/unictype/pr_emoji_modifier.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_emoji_modifier.h b/lib/unictype/pr_emoji_modifier.h
index 6d4a60c5..2b55769b 100644
--- a/lib/unictype/pr_emoji_modifier.h
+++ b/lib/unictype/pr_emoji_modifier.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_emoji_modifier_base.c b/lib/unictype/pr_emoji_modifier_base.c
index be68f638..634f324f 100644
--- a/lib/unictype/pr_emoji_modifier_base.c
+++ b/lib/unictype/pr_emoji_modifier_base.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_emoji_modifier_base.h b/lib/unictype/pr_emoji_modifier_base.h
index b86e42f1..21766839 100644
--- a/lib/unictype/pr_emoji_modifier_base.h
+++ b/lib/unictype/pr_emoji_modifier_base.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_emoji_presentation.c b/lib/unictype/pr_emoji_presentation.c
index 9b2bb493..3775b149 100644
--- a/lib/unictype/pr_emoji_presentation.c
+++ b/lib/unictype/pr_emoji_presentation.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_emoji_presentation.h b/lib/unictype/pr_emoji_presentation.h
index 659714f7..40753ffa 100644
--- a/lib/unictype/pr_emoji_presentation.h
+++ b/lib/unictype/pr_emoji_presentation.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_extended_pictographic.c b/lib/unictype/pr_extended_pictographic.c
index 0029947e..25fb1a2d 100644
--- a/lib/unictype/pr_extended_pictographic.c
+++ b/lib/unictype/pr_extended_pictographic.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_extended_pictographic.h b/lib/unictype/pr_extended_pictographic.h
index 4c8faa4a..dda5adbb 100644
--- a/lib/unictype/pr_extended_pictographic.h
+++ b/lib/unictype/pr_extended_pictographic.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_extender.c b/lib/unictype/pr_extender.c
index f3013781..4cb21cf9 100644
--- a/lib/unictype/pr_extender.c
+++ b/lib/unictype/pr_extender.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_extender.h b/lib/unictype/pr_extender.h
index d29f59ac..9b0021a1 100644
--- a/lib/unictype/pr_extender.h
+++ b/lib/unictype/pr_extender.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_format_control.c b/lib/unictype/pr_format_control.c
index 19085d66..b268c8ad 100644
--- a/lib/unictype/pr_format_control.c
+++ b/lib/unictype/pr_format_control.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_format_control.h b/lib/unictype/pr_format_control.h
index b2066443..ae2018fe 100644
--- a/lib/unictype/pr_format_control.h
+++ b/lib/unictype/pr_format_control.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_grapheme_base.c b/lib/unictype/pr_grapheme_base.c
index bf70b46a..945725bf 100644
--- a/lib/unictype/pr_grapheme_base.c
+++ b/lib/unictype/pr_grapheme_base.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_grapheme_base.h b/lib/unictype/pr_grapheme_base.h
index 9dd8ba4d..590e9f1a 100644
--- a/lib/unictype/pr_grapheme_base.h
+++ b/lib/unictype/pr_grapheme_base.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[88 << 4];
+ unsigned int level3[89 << 4];
}
u_property_grapheme_base =
{
@@ -421,14 +421,14 @@ u_property_grapheme_base =
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 1344,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 160,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1360,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 160,
- 5 + 512 * sizeof (short) / sizeof (int) + 1360,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1376,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 160,
@@ -440,7 +440,7 @@ u_property_grapheme_base =
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
- 5 + 512 * sizeof (short) / sizeof (int) + 1376,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1392,
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
@@ -448,7 +448,7 @@ u_property_grapheme_base =
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
5 + 512 * sizeof (short) / sizeof (int) + 160,
- 5 + 512 * sizeof (short) / sizeof (int) + 1392,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1408,
-1,
-1,
-1,
@@ -644,11 +644,11 @@ u_property_grapheme_base =
0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
0xFBFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x000FFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x0FFF0000U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0xFFFF0000U,
0xFFFFFFFFU, 0xFFFF03FFU, 0xFFFFFFFEU, 0xFFFFFFFFU,
0xF87FFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFE0U, 0xFFFEFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFF7FFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF000FU,
+ 0xFFFF7FFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF800FU,
0x7FFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
@@ -900,7 +900,11 @@ u_property_grapheme_base =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_grapheme_extend.c b/lib/unictype/pr_grapheme_extend.c
index 9122b9df..2806c829 100644
--- a/lib/unictype/pr_grapheme_extend.c
+++ b/lib/unictype/pr_grapheme_extend.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_grapheme_extend.h b/lib/unictype/pr_grapheme_extend.h
index 2099241c..e7c38fd3 100644
--- a/lib/unictype/pr_grapheme_extend.h
+++ b/lib/unictype/pr_grapheme_extend.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_grapheme_link.c b/lib/unictype/pr_grapheme_link.c
index 77afd57d..84223654 100644
--- a/lib/unictype/pr_grapheme_link.c
+++ b/lib/unictype/pr_grapheme_link.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_grapheme_link.h b/lib/unictype/pr_grapheme_link.h
index 608a181a..c8521556 100644
--- a/lib/unictype/pr_grapheme_link.h
+++ b/lib/unictype/pr_grapheme_link.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_hex_digit.c b/lib/unictype/pr_hex_digit.c
index 507be0a7..dc0648c7 100644
--- a/lib/unictype/pr_hex_digit.c
+++ b/lib/unictype/pr_hex_digit.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_hex_digit.h b/lib/unictype/pr_hex_digit.h
index c92d126a..6dff7cf5 100644
--- a/lib/unictype/pr_hex_digit.h
+++ b/lib/unictype/pr_hex_digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_hyphen.c b/lib/unictype/pr_hyphen.c
index 07522088..767faf5a 100644
--- a/lib/unictype/pr_hyphen.c
+++ b/lib/unictype/pr_hyphen.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_hyphen.h b/lib/unictype/pr_hyphen.h
index 6b07b365..d0421a6a 100644
--- a/lib/unictype/pr_hyphen.h
+++ b/lib/unictype/pr_hyphen.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_id_compat_math_continue.c b/lib/unictype/pr_id_compat_math_continue.c
new file mode 100644
index 00000000..d522dc22
--- /dev/null
+++ b/lib/unictype/pr_id_compat_math_continue.c
@@ -0,0 +1,43 @@
+/* Properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_id_compat_math_continue table. */
+#include "pr_id_compat_math_continue.h"
+
+bool
+uc_is_property_id_compat_math_continue (ucs4_t uc)
+{
+ return bitmap_lookup (&u_property_id_compat_math_continue, uc);
+}
+
+const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE =
+ { &uc_is_property_id_compat_math_continue };
diff --git a/lib/unictype/pr_id_compat_math_continue.h b/lib/unictype/pr_id_compat_math_continue.h
new file mode 100644
index 00000000..83f1b329
--- /dev/null
+++ b/lib/unictype/pr_id_compat_math_continue.h
@@ -0,0 +1,323 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+ {
+ int header[1];
+ int level1[2];
+ short level2[2 << 7];
+ unsigned int level3[4 << 4];
+ }
+u_property_id_compat_math_continue =
+{
+ { 2 },
+ {
+ 3 * sizeof (int) / sizeof (short) + 0,
+ 3 * sizeof (int) / sizeof (short) + 128
+ },
+ {
+ 3 + 256 * sizeof (short) / sizeof (int) + 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 3 + 256 * sizeof (short) / sizeof (int) + 16,
+ 3 + 256 * sizeof (short) / sizeof (int) + 32,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 3 + 256 * sizeof (short) / sizeof (int) + 48,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ },
+ {
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x020C0000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x7FF10000U,
+ 0x00007FFFU, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x40000084U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x08000002U, 0x08000000U,
+ 0x00200000U, 0x00200000U, 0x00008000U, 0x00008000U,
+ 0x00000200U, 0x00000200U, 0x00000008U, 0x00000000U
+ }
+};
diff --git a/lib/unictype/pr_id_compat_math_start.c b/lib/unictype/pr_id_compat_math_start.c
new file mode 100644
index 00000000..73bd88b8
--- /dev/null
+++ b/lib/unictype/pr_id_compat_math_start.c
@@ -0,0 +1,43 @@
+/* Properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_id_compat_math_start table. */
+#include "pr_id_compat_math_start.h"
+
+bool
+uc_is_property_id_compat_math_start (ucs4_t uc)
+{
+ return bitmap_lookup (&u_property_id_compat_math_start, uc);
+}
+
+const uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START =
+ { &uc_is_property_id_compat_math_start };
diff --git a/lib/unictype/pr_id_compat_math_start.h b/lib/unictype/pr_id_compat_math_start.h
new file mode 100644
index 00000000..0a040f60
--- /dev/null
+++ b/lib/unictype/pr_id_compat_math_start.h
@@ -0,0 +1,315 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+ {
+ int header[1];
+ int level1[2];
+ short level2[2 << 7];
+ unsigned int level3[2 << 4];
+ }
+u_property_id_compat_math_start =
+{
+ { 2 },
+ {
+ 3 * sizeof (int) / sizeof (short) + 0,
+ 3 * sizeof (int) / sizeof (short) + 128
+ },
+ {
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 3 + 256 * sizeof (short) / sizeof (int) + 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 3 + 256 * sizeof (short) / sizeof (int) + 16,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ },
+ {
+ 0x40000084U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x08000002U, 0x08000000U,
+ 0x00200000U, 0x00200000U, 0x00008000U, 0x00008000U,
+ 0x00000200U, 0x00000200U, 0x00000008U, 0x00000000U
+ }
+};
diff --git a/lib/unictype/pr_id_continue.c b/lib/unictype/pr_id_continue.c
index d9d5a812..0903607a 100644
--- a/lib/unictype/pr_id_continue.c
+++ b/lib/unictype/pr_id_continue.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_id_continue.h b/lib/unictype/pr_id_continue.h
index 451c8b6a..71c25f3d 100644
--- a/lib/unictype/pr_id_continue.h
+++ b/lib/unictype/pr_id_continue.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[15];
short level2[5 << 7];
- unsigned int level3[82 << 4];
+ unsigned int level3[83 << 4];
}
u_property_id_continue =
{
@@ -432,14 +432,14 @@ u_property_id_continue =
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 1232,
- -1,
- -1,
+ 16 + 640 * sizeof (short) / sizeof (int) + 304,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1248,
-1,
-1,
-1,
-1,
16 + 640 * sizeof (short) / sizeof (int) + 304,
- 16 + 640 * sizeof (short) / sizeof (int) + 1248,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1264,
-1,
-1,
16 + 640 * sizeof (short) / sizeof (int) + 304,
@@ -451,7 +451,7 @@ u_property_id_continue =
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
- 16 + 640 * sizeof (short) / sizeof (int) + 1264,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1280,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
@@ -459,7 +459,7 @@ u_property_id_continue =
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
- 16 + 640 * sizeof (short) / sizeof (int) + 1280,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1296,
-1,
-1,
-1,
@@ -570,7 +570,7 @@ u_property_id_continue =
-1,
-1,
-1,
- 16 + 640 * sizeof (short) / sizeof (int) + 1296,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1312,
-1,
-1,
-1,
@@ -764,7 +764,7 @@ u_property_id_continue =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0x3F3FFFFFU, 0xFFFFFFFFU, 0xAAFF3F3FU, 0x3FFFFFFFU,
0xFFFFFFFFU, 0x5FDFFFFFU, 0x0FCF1FDCU, 0x1FDC1FFFU,
- 0x00000000U, 0x80000000U, 0x00100001U, 0x80020000U,
+ 0x00003000U, 0x80000000U, 0x00100001U, 0x80020000U,
0x1FFF0000U, 0x00000000U, 0x1FFF0000U, 0x0001FFE2U,
0x3F2FFC84U, 0xF3FFFD50U, 0x000043E0U, 0xFFFFFFFFU,
0x000001FFU, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -773,7 +773,7 @@ u_property_id_continue =
0xFFFFFFFFU, 0xFFFF20BFU, 0xFFFFFFFFU, 0x800080FFU,
0x007FFFFFU, 0x7F7F7F7FU, 0x7F7F7F7FU, 0xFFFFFFFFU,
0x000000E0U, 0x1F3EFFFEU, 0xFFFFFFFEU, 0xFFFFFFFFU,
- 0xFE7FFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU, 0xF7FFFFFFU,
+ 0xFE7FFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFE0U, 0xFFFEFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0x00007FFFU, 0xFFFFFFFFU, 0x00000000U, 0xFFFF0000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
@@ -818,7 +818,7 @@ u_property_id_continue =
0xFFFCFFFFU, 0xFFFFFFFFU, 0x000000FFU, 0x0FFF0000U,
0x0000FFFFU, 0x0018FFFFU, 0x0000E000U, 0xFFDF0000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x1FFFFFFFU,
- 0x03FF0000U, 0x87FFFFFEU, 0x07FFFFFEU, 0xFFFFFFC0U,
+ 0x03FF0000U, 0x87FFFFFEU, 0x07FFFFFEU, 0xFFFFFFE0U,
0xFFFFFFFFU, 0x7FFFFFFFU, 0x1CFCFCFCU, 0x00000000U,
0xFFFFEFFFU, 0xB7FFFF7FU, 0x3FFF3FFFU, 0x00000000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x07FFFFFFU,
@@ -1011,7 +1011,11 @@ u_property_id_continue =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_id_start.c b/lib/unictype/pr_id_start.c
index c05535fb..602ffd0f 100644
--- a/lib/unictype/pr_id_start.c
+++ b/lib/unictype/pr_id_start.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_id_start.h b/lib/unictype/pr_id_start.h
index b099a717..bb852f0d 100644
--- a/lib/unictype/pr_id_start.h
+++ b/lib/unictype/pr_id_start.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[76 << 4];
+ unsigned int level3[77 << 4];
}
u_property_id_start =
{
@@ -421,14 +421,14 @@ u_property_id_start =
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 1152,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 304,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1168,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 304,
- 5 + 512 * sizeof (short) / sizeof (int) + 1168,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1184,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 304,
@@ -440,7 +440,7 @@ u_property_id_start =
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
- 5 + 512 * sizeof (short) / sizeof (int) + 1184,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1200,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
@@ -448,7 +448,7 @@ u_property_id_start =
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
- 5 + 512 * sizeof (short) / sizeof (int) + 1200,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1216,
-1,
-1,
-1,
@@ -852,7 +852,11 @@ u_property_id_start =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_ideographic.c b/lib/unictype/pr_ideographic.c
index f2e5a00a..756360f3 100644
--- a/lib/unictype/pr_ideographic.c
+++ b/lib/unictype/pr_ideographic.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_ideographic.h b/lib/unictype/pr_ideographic.h
index 2ccf2742..02263c98 100644
--- a/lib/unictype/pr_ideographic.h
+++ b/lib/unictype/pr_ideographic.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[18 << 4];
+ unsigned int level3[19 << 4];
}
u_property_ideographic =
{
@@ -421,14 +421,14 @@ u_property_ideographic =
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 224,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 16,
+ 5 + 512 * sizeof (short) / sizeof (int) + 240,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 16,
- 5 + 512 * sizeof (short) / sizeof (int) + 240,
+ 5 + 512 * sizeof (short) / sizeof (int) + 256,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 16,
@@ -440,7 +440,7 @@ u_property_ideographic =
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
- 5 + 512 * sizeof (short) / sizeof (int) + 256,
+ 5 + 512 * sizeof (short) / sizeof (int) + 272,
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
@@ -448,7 +448,7 @@ u_property_ideographic =
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
5 + 512 * sizeof (short) / sizeof (int) + 16,
- 5 + 512 * sizeof (short) / sizeof (int) + 272,
+ 5 + 512 * sizeof (short) / sizeof (int) + 288,
-1,
-1,
-1,
@@ -620,7 +620,11 @@ u_property_ideographic =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_ids_binary_operator.c b/lib/unictype/pr_ids_binary_operator.c
index 6faf78ed..ea7f5c83 100644
--- a/lib/unictype/pr_ids_binary_operator.c
+++ b/lib/unictype/pr_ids_binary_operator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_ids_binary_operator.h b/lib/unictype/pr_ids_binary_operator.h
index f23c84c8..fe030cfd 100644
--- a/lib/unictype/pr_ids_binary_operator.h
+++ b/lib/unictype/pr_ids_binary_operator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[1];
short level2[1 << 7];
- unsigned int level3[1 << 4];
+ unsigned int level3[2 << 4];
}
u_property_ids_binary_operator =
{
@@ -66,7 +66,7 @@ u_property_ids_binary_operator =
-1,
-1,
2 + 128 * sizeof (short) / sizeof (int) + 0,
- -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 16,
-1,
-1,
-1,
@@ -175,6 +175,10 @@ u_property_ids_binary_operator =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0x0FF30000U
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x3FF30000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00008000U
}
};
diff --git a/lib/unictype/pr_ids_trinary_operator.c b/lib/unictype/pr_ids_trinary_operator.c
index ceeae947..65515ba8 100644
--- a/lib/unictype/pr_ids_trinary_operator.c
+++ b/lib/unictype/pr_ids_trinary_operator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_ids_trinary_operator.h b/lib/unictype/pr_ids_trinary_operator.h
index f1eede88..02cbaa69 100644
--- a/lib/unictype/pr_ids_trinary_operator.h
+++ b/lib/unictype/pr_ids_trinary_operator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_ids_unary_operator.c b/lib/unictype/pr_ids_unary_operator.c
new file mode 100644
index 00000000..c665964b
--- /dev/null
+++ b/lib/unictype/pr_ids_unary_operator.c
@@ -0,0 +1,38 @@
+/* Properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+bool
+uc_is_property_ids_unary_operator (ucs4_t uc)
+{
+ return (uc >= 0x2FFE && uc <= 0x2FFF);
+}
+
+const uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR =
+ { &uc_is_property_ids_unary_operator };
diff --git a/lib/unictype/pr_ignorable_control.c b/lib/unictype/pr_ignorable_control.c
index a503c344..900df1d7 100644
--- a/lib/unictype/pr_ignorable_control.c
+++ b/lib/unictype/pr_ignorable_control.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_ignorable_control.h b/lib/unictype/pr_ignorable_control.h
index 7d859d33..0ab0d160 100644
--- a/lib/unictype/pr_ignorable_control.h
+++ b/lib/unictype/pr_ignorable_control.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_iso_control.c b/lib/unictype/pr_iso_control.c
index fc5cefc2..00b9106a 100644
--- a/lib/unictype/pr_iso_control.c
+++ b/lib/unictype/pr_iso_control.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_iso_control.h b/lib/unictype/pr_iso_control.h
index 3f8ebd25..01556673 100644
--- a/lib/unictype/pr_iso_control.h
+++ b/lib/unictype/pr_iso_control.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_join_control.c b/lib/unictype/pr_join_control.c
index 94eeb7cf..eabf4c3d 100644
--- a/lib/unictype/pr_join_control.c
+++ b/lib/unictype/pr_join_control.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_join_control.h b/lib/unictype/pr_join_control.h
index 3bbfe389..37e303b8 100644
--- a/lib/unictype/pr_join_control.h
+++ b/lib/unictype/pr_join_control.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_left_of_pair.c b/lib/unictype/pr_left_of_pair.c
index 24230cb9..c9fe4272 100644
--- a/lib/unictype/pr_left_of_pair.c
+++ b/lib/unictype/pr_left_of_pair.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_left_of_pair.h b/lib/unictype/pr_left_of_pair.h
index 5e639d81..dd557c20 100644
--- a/lib/unictype/pr_left_of_pair.h
+++ b/lib/unictype/pr_left_of_pair.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_line_separator.c b/lib/unictype/pr_line_separator.c
index 5c33f3ee..48476dc9 100644
--- a/lib/unictype/pr_line_separator.c
+++ b/lib/unictype/pr_line_separator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_line_separator.h b/lib/unictype/pr_line_separator.h
index 9dfc050d..2ab0ec15 100644
--- a/lib/unictype/pr_line_separator.h
+++ b/lib/unictype/pr_line_separator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_logical_order_exception.c b/lib/unictype/pr_logical_order_exception.c
index 1f521086..7d794852 100644
--- a/lib/unictype/pr_logical_order_exception.c
+++ b/lib/unictype/pr_logical_order_exception.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_logical_order_exception.h b/lib/unictype/pr_logical_order_exception.h
index 4a0ca8d0..7a9f4429 100644
--- a/lib/unictype/pr_logical_order_exception.h
+++ b/lib/unictype/pr_logical_order_exception.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_lowercase.c b/lib/unictype/pr_lowercase.c
index c6d61e44..82e20cd1 100644
--- a/lib/unictype/pr_lowercase.c
+++ b/lib/unictype/pr_lowercase.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_lowercase.h b/lib/unictype/pr_lowercase.h
index e4aeff2c..de4bdc3c 100644
--- a/lib/unictype/pr_lowercase.h
+++ b/lib/unictype/pr_lowercase.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_math.c b/lib/unictype/pr_math.c
index aea7c02f..dcf972c8 100644
--- a/lib/unictype/pr_math.c
+++ b/lib/unictype/pr_math.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_math.h b/lib/unictype/pr_math.h
index d6f3f676..1aea6b79 100644
--- a/lib/unictype/pr_math.h
+++ b/lib/unictype/pr_math.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_non_break.c b/lib/unictype/pr_non_break.c
index a84b3163..932b14da 100644
--- a/lib/unictype/pr_non_break.c
+++ b/lib/unictype/pr_non_break.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_non_break.h b/lib/unictype/pr_non_break.h
index b7f0a4dd..8dadfd02 100644
--- a/lib/unictype/pr_non_break.h
+++ b/lib/unictype/pr_non_break.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_not_a_character.c b/lib/unictype/pr_not_a_character.c
index 30bfb0ff..d1bfea45 100644
--- a/lib/unictype/pr_not_a_character.c
+++ b/lib/unictype/pr_not_a_character.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_not_a_character.h b/lib/unictype/pr_not_a_character.h
index db15b3f0..71da59ff 100644
--- a/lib/unictype/pr_not_a_character.h
+++ b/lib/unictype/pr_not_a_character.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_numeric.c b/lib/unictype/pr_numeric.c
index 064bda64..7d57cf18 100644
--- a/lib/unictype/pr_numeric.c
+++ b/lib/unictype/pr_numeric.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_numeric.h b/lib/unictype/pr_numeric.h
index af08c977..c79e5b5a 100644
--- a/lib/unictype/pr_numeric.h
+++ b/lib/unictype/pr_numeric.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_alphabetic.c b/lib/unictype/pr_other_alphabetic.c
index d60238b8..1119771b 100644
--- a/lib/unictype/pr_other_alphabetic.c
+++ b/lib/unictype/pr_other_alphabetic.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_alphabetic.h b/lib/unictype/pr_other_alphabetic.h
index fdf2af0e..0d38494b 100644
--- a/lib/unictype/pr_other_alphabetic.h
+++ b/lib/unictype/pr_other_alphabetic.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_default_ignorable_code_point.c b/lib/unictype/pr_other_default_ignorable_code_point.c
index 600e352b..3cc890fb 100644
--- a/lib/unictype/pr_other_default_ignorable_code_point.c
+++ b/lib/unictype/pr_other_default_ignorable_code_point.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_default_ignorable_code_point.h b/lib/unictype/pr_other_default_ignorable_code_point.h
index 1a8a062a..e3e49bf3 100644
--- a/lib/unictype/pr_other_default_ignorable_code_point.h
+++ b/lib/unictype/pr_other_default_ignorable_code_point.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_grapheme_extend.c b/lib/unictype/pr_other_grapheme_extend.c
index 8b5dda5d..8ee0c3f7 100644
--- a/lib/unictype/pr_other_grapheme_extend.c
+++ b/lib/unictype/pr_other_grapheme_extend.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_grapheme_extend.h b/lib/unictype/pr_other_grapheme_extend.h
index a927ee1c..afdfa042 100644
--- a/lib/unictype/pr_other_grapheme_extend.h
+++ b/lib/unictype/pr_other_grapheme_extend.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_id_continue.c b/lib/unictype/pr_other_id_continue.c
index 29db052a..4e03f277 100644
--- a/lib/unictype/pr_other_id_continue.c
+++ b/lib/unictype/pr_other_id_continue.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_id_continue.h b/lib/unictype/pr_other_id_continue.h
index ad6124bf..f8901f35 100644
--- a/lib/unictype/pr_other_id_continue.h
+++ b/lib/unictype/pr_other_id_continue.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[1];
short level2[1 << 7];
- unsigned int level3[4 << 4];
+ unsigned int level3[7 << 4];
}
u_property_other_id_continue =
{
@@ -58,6 +58,7 @@ u_property_other_id_continue =
-1,
-1,
-1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 64,
-1,
-1,
-1,
@@ -65,6 +66,7 @@ u_property_other_id_continue =
-1,
-1,
-1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 80,
-1,
-1,
-1,
@@ -167,9 +169,7 @@ u_property_other_id_continue =
-1,
-1,
-1,
- -1,
- -1,
- -1
+ 2 + 128 * sizeof (short) / sizeof (int) + 96
},
{
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -187,6 +187,18 @@ u_property_other_id_continue =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x04000000U, 0x00000000U
+ 0x00000000U, 0x00000000U, 0x04000000U, 0x00000000U,
+ 0x00003000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x08000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000020U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U
}
};
diff --git a/lib/unictype/pr_other_id_start.c b/lib/unictype/pr_other_id_start.c
index ac1f5c48..105f9d20 100644
--- a/lib/unictype/pr_other_id_start.c
+++ b/lib/unictype/pr_other_id_start.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_id_start.h b/lib/unictype/pr_other_id_start.h
index 78e28ab8..5198b293 100644
--- a/lib/unictype/pr_other_id_start.h
+++ b/lib/unictype/pr_other_id_start.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_lowercase.c b/lib/unictype/pr_other_lowercase.c
index 62fcd07c..5c1bbb1c 100644
--- a/lib/unictype/pr_other_lowercase.c
+++ b/lib/unictype/pr_other_lowercase.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_lowercase.h b/lib/unictype/pr_other_lowercase.h
index 159f23bd..50a9f6c0 100644
--- a/lib/unictype/pr_other_lowercase.h
+++ b/lib/unictype/pr_other_lowercase.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_math.c b/lib/unictype/pr_other_math.c
index cf1f9265..f139e1aa 100644
--- a/lib/unictype/pr_other_math.c
+++ b/lib/unictype/pr_other_math.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_math.h b/lib/unictype/pr_other_math.h
index 90894abc..92f1be12 100644
--- a/lib/unictype/pr_other_math.h
+++ b/lib/unictype/pr_other_math.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_other_uppercase.c b/lib/unictype/pr_other_uppercase.c
index e564b438..b5f00dfd 100644
--- a/lib/unictype/pr_other_uppercase.c
+++ b/lib/unictype/pr_other_uppercase.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_other_uppercase.h b/lib/unictype/pr_other_uppercase.h
index 28565fee..e018ae41 100644
--- a/lib/unictype/pr_other_uppercase.h
+++ b/lib/unictype/pr_other_uppercase.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_paired_punctuation.c b/lib/unictype/pr_paired_punctuation.c
index c8bcadb0..24978f9e 100644
--- a/lib/unictype/pr_paired_punctuation.c
+++ b/lib/unictype/pr_paired_punctuation.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_paired_punctuation.h b/lib/unictype/pr_paired_punctuation.h
index a2088fe0..3310ed11 100644
--- a/lib/unictype/pr_paired_punctuation.h
+++ b/lib/unictype/pr_paired_punctuation.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_paragraph_separator.c b/lib/unictype/pr_paragraph_separator.c
index 67ec5d62..5d00ae88 100644
--- a/lib/unictype/pr_paragraph_separator.c
+++ b/lib/unictype/pr_paragraph_separator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_paragraph_separator.h b/lib/unictype/pr_paragraph_separator.h
index 4ac62c07..48adc0ca 100644
--- a/lib/unictype/pr_paragraph_separator.h
+++ b/lib/unictype/pr_paragraph_separator.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_pattern_syntax.c b/lib/unictype/pr_pattern_syntax.c
index 0624f0f1..3112e819 100644
--- a/lib/unictype/pr_pattern_syntax.c
+++ b/lib/unictype/pr_pattern_syntax.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_pattern_syntax.h b/lib/unictype/pr_pattern_syntax.h
index 5da6e92d..71d47023 100644
--- a/lib/unictype/pr_pattern_syntax.h
+++ b/lib/unictype/pr_pattern_syntax.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_pattern_white_space.c b/lib/unictype/pr_pattern_white_space.c
index 0847f66a..1b12950a 100644
--- a/lib/unictype/pr_pattern_white_space.c
+++ b/lib/unictype/pr_pattern_white_space.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_pattern_white_space.h b/lib/unictype/pr_pattern_white_space.h
index f37beecd..fa011926 100644
--- a/lib/unictype/pr_pattern_white_space.h
+++ b/lib/unictype/pr_pattern_white_space.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_prepended_concatenation_mark.c b/lib/unictype/pr_prepended_concatenation_mark.c
new file mode 100644
index 00000000..8e8ea7a2
--- /dev/null
+++ b/lib/unictype/pr_prepended_concatenation_mark.c
@@ -0,0 +1,43 @@
+/* Properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_property_prepended_concatenation_mark table. */
+#include "pr_prepended_concatenation_mark.h"
+
+bool
+uc_is_property_prepended_concatenation_mark (ucs4_t uc)
+{
+ return bitmap_lookup (&u_property_prepended_concatenation_mark, uc);
+}
+
+const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK =
+ { &uc_is_property_prepended_concatenation_mark };
diff --git a/lib/unictype/pr_prepended_concatenation_mark.h b/lib/unictype/pr_prepended_concatenation_mark.h
new file mode 100644
index 00000000..49a73f1f
--- /dev/null
+++ b/lib/unictype/pr_prepended_concatenation_mark.h
@@ -0,0 +1,319 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Properties of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+ {
+ int header[1];
+ int level1[2];
+ short level2[2 << 7];
+ unsigned int level3[3 << 4];
+ }
+u_property_prepended_concatenation_mark =
+{
+ { 2 },
+ {
+ 3 * sizeof (int) / sizeof (short) + 0,
+ 3 * sizeof (int) / sizeof (short) + 128
+ },
+ {
+ -1,
+ -1,
+ -1,
+ 3 + 256 * sizeof (short) / sizeof (int) + 0,
+ 3 + 256 * sizeof (short) / sizeof (int) + 16,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 3 + 256 * sizeof (short) / sizeof (int) + 32,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ },
+ {
+ 0x0000003FU, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x20000000U, 0x00000000U,
+ 0x00008000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00030000U, 0x00000000U, 0x00000000U, 0x00000004U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x20000000U, 0x00002000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U
+ }
+};
diff --git a/lib/unictype/pr_private_use.c b/lib/unictype/pr_private_use.c
index 2fc785c0..bf1637a7 100644
--- a/lib/unictype/pr_private_use.c
+++ b/lib/unictype/pr_private_use.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_private_use.h b/lib/unictype/pr_private_use.h
index 67d6fdcd..23c914f1 100644
--- a/lib/unictype/pr_private_use.h
+++ b/lib/unictype/pr_private_use.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_punctuation.c b/lib/unictype/pr_punctuation.c
index 1509143a..b5332f1f 100644
--- a/lib/unictype/pr_punctuation.c
+++ b/lib/unictype/pr_punctuation.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_punctuation.h b/lib/unictype/pr_punctuation.h
index 3bca78f1..60a98feb 100644
--- a/lib/unictype/pr_punctuation.h
+++ b/lib/unictype/pr_punctuation.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_quotation_mark.c b/lib/unictype/pr_quotation_mark.c
index e8e51b5b..df3e66cf 100644
--- a/lib/unictype/pr_quotation_mark.c
+++ b/lib/unictype/pr_quotation_mark.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_quotation_mark.h b/lib/unictype/pr_quotation_mark.h
index 3712d5eb..0bfe54f6 100644
--- a/lib/unictype/pr_quotation_mark.h
+++ b/lib/unictype/pr_quotation_mark.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_radical.c b/lib/unictype/pr_radical.c
index dfc9585c..14c85fae 100644
--- a/lib/unictype/pr_radical.c
+++ b/lib/unictype/pr_radical.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_radical.h b/lib/unictype/pr_radical.h
index 78903591..e4b6698e 100644
--- a/lib/unictype/pr_radical.h
+++ b/lib/unictype/pr_radical.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_regional_indicator.c b/lib/unictype/pr_regional_indicator.c
index 47044957..bd5eb894 100644
--- a/lib/unictype/pr_regional_indicator.c
+++ b/lib/unictype/pr_regional_indicator.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2021-2022 Free Software Foundation, Inc.
+ Copyright (C) 2021-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2021.
This file is free software.
diff --git a/lib/unictype/pr_sentence_terminal.c b/lib/unictype/pr_sentence_terminal.c
index 3a727eea..6523db89 100644
--- a/lib/unictype/pr_sentence_terminal.c
+++ b/lib/unictype/pr_sentence_terminal.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_sentence_terminal.h b/lib/unictype/pr_sentence_terminal.h
index 7e29be72..25587a7b 100644
--- a/lib/unictype/pr_sentence_terminal.h
+++ b/lib/unictype/pr_sentence_terminal.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -330,7 +330,7 @@ u_property_sentence_terminal =
0x00000000U, 0x00000000U, 0x00000000U, 0x00004000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00600000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00300000U, 0x00000000U,
0x00000208U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000030U, 0x00000000U,
diff --git a/lib/unictype/pr_soft_dotted.c b/lib/unictype/pr_soft_dotted.c
index daf812d0..61792a6f 100644
--- a/lib/unictype/pr_soft_dotted.c
+++ b/lib/unictype/pr_soft_dotted.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_soft_dotted.h b/lib/unictype/pr_soft_dotted.h
index 95958a23..5239a99d 100644
--- a/lib/unictype/pr_soft_dotted.h
+++ b/lib/unictype/pr_soft_dotted.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_space.c b/lib/unictype/pr_space.c
index 255a6637..cef0a076 100644
--- a/lib/unictype/pr_space.c
+++ b/lib/unictype/pr_space.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_space.h b/lib/unictype/pr_space.h
index 079ef695..6b3c5a80 100644
--- a/lib/unictype/pr_space.h
+++ b/lib/unictype/pr_space.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_terminal_punctuation.c b/lib/unictype/pr_terminal_punctuation.c
index 8363cb18..0a93be80 100644
--- a/lib/unictype/pr_terminal_punctuation.c
+++ b/lib/unictype/pr_terminal_punctuation.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_terminal_punctuation.h b/lib/unictype/pr_terminal_punctuation.h
index c2cdfe6e..d7e05be2 100644
--- a/lib/unictype/pr_terminal_punctuation.h
+++ b/lib/unictype/pr_terminal_punctuation.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_test.c b/lib/unictype/pr_test.c
index 02d0e77e..0a37d6ef 100644
--- a/lib/unictype/pr_test.c
+++ b/lib/unictype/pr_test.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_titlecase.c b/lib/unictype/pr_titlecase.c
index ef827dfb..c37ba23e 100644
--- a/lib/unictype/pr_titlecase.c
+++ b/lib/unictype/pr_titlecase.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_titlecase.h b/lib/unictype/pr_titlecase.h
index 088a6536..a2bfe7c4 100644
--- a/lib/unictype/pr_titlecase.h
+++ b/lib/unictype/pr_titlecase.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_unassigned_code_value.c b/lib/unictype/pr_unassigned_code_value.c
index 0c38074b..b5601e45 100644
--- a/lib/unictype/pr_unassigned_code_value.c
+++ b/lib/unictype/pr_unassigned_code_value.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_unassigned_code_value.h b/lib/unictype/pr_unassigned_code_value.h
index f162b986..cc904898 100644
--- a/lib/unictype/pr_unassigned_code_value.h
+++ b/lib/unictype/pr_unassigned_code_value.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[15];
short level2[6 << 7];
- unsigned int level3[88 << 4];
+ unsigned int level3[89 << 4];
}
u_property_unassigned_code_value =
{
@@ -432,14 +432,14 @@ u_property_unassigned_code_value =
-1,
-1,
16 + 768 * sizeof (short) / sizeof (int) + 1328,
- 16 + 768 * sizeof (short) / sizeof (int) + 752,
- 16 + 768 * sizeof (short) / sizeof (int) + 752,
+ -1,
+ 16 + 768 * sizeof (short) / sizeof (int) + 1344,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
-1,
- 16 + 768 * sizeof (short) / sizeof (int) + 1344,
+ 16 + 768 * sizeof (short) / sizeof (int) + 1360,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 1248,
-1,
@@ -451,7 +451,7 @@ u_property_unassigned_code_value =
-1,
-1,
-1,
- 16 + 768 * sizeof (short) / sizeof (int) + 1360,
+ 16 + 768 * sizeof (short) / sizeof (int) + 1376,
-1,
-1,
-1,
@@ -459,7 +459,7 @@ u_property_unassigned_code_value =
-1,
-1,
-1,
- 16 + 768 * sizeof (short) / sizeof (int) + 1376,
+ 16 + 768 * sizeof (short) / sizeof (int) + 1392,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
@@ -698,7 +698,7 @@ u_property_unassigned_code_value =
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 1248,
- 16 + 768 * sizeof (short) / sizeof (int) + 1392,
+ 16 + 768 * sizeof (short) / sizeof (int) + 1408,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
16 + 768 * sizeof (short) / sizeof (int) + 752,
@@ -903,11 +903,11 @@ u_property_unassigned_code_value =
0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
0x04000000U, 0x00000000U, 0x00000000U, 0xFFF00000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0xFFC00000U, 0xF000FFFFU,
+ 0x00000000U, 0x00000000U, 0xFFC00000U, 0x0000FFFFU,
0x00000000U, 0x00000000U, 0x00000001U, 0x00000000U,
0x01800000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x0000001FU, 0x00010000U, 0x00000000U, 0x00000000U,
- 0x00008000U, 0x00000000U, 0x00000000U, 0x0000FFF0U,
+ 0x00008000U, 0x00000000U, 0x00000000U, 0x00007FF0U,
0x80000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -1163,7 +1163,11 @@ u_property_unassigned_code_value =
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
- 0x00000000U, 0x00000000U, 0x00000000U, 0xFFFFFFFEU,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x0000FFFEU,
+ 0x00000000U, 0x00000000U, 0xC0000000U, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xC0000000U, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/pr_unified_ideograph.c b/lib/unictype/pr_unified_ideograph.c
index af4875bc..0e0b8419 100644
--- a/lib/unictype/pr_unified_ideograph.c
+++ b/lib/unictype/pr_unified_ideograph.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_unified_ideograph.h b/lib/unictype/pr_unified_ideograph.h
index 146c8339..3b84922b 100644
--- a/lib/unictype/pr_unified_ideograph.h
+++ b/lib/unictype/pr_unified_ideograph.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[3 << 7];
- unsigned int level3[10 << 4];
+ unsigned int level3[11 << 4];
}
u_property_unified_ideograph =
{
@@ -293,8 +293,8 @@ u_property_unified_ideograph =
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 112,
- -1,
- -1,
+ 5 + 384 * sizeof (short) / sizeof (int) + 0,
+ 5 + 384 * sizeof (short) / sizeof (int) + 128,
-1,
-1,
-1,
@@ -312,7 +312,7 @@ u_property_unified_ideograph =
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
- 5 + 384 * sizeof (short) / sizeof (int) + 128,
+ 5 + 384 * sizeof (short) / sizeof (int) + 144,
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
@@ -320,7 +320,7 @@ u_property_unified_ideograph =
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
5 + 384 * sizeof (short) / sizeof (int) + 0,
- 5 + 384 * sizeof (short) / sizeof (int) + 144,
+ 5 + 384 * sizeof (short) / sizeof (int) + 160,
-1,
-1,
-1,
@@ -464,7 +464,11 @@ u_property_unified_ideograph =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF07FFU, 0xFFFFFFFFU,
diff --git a/lib/unictype/pr_uppercase.c b/lib/unictype/pr_uppercase.c
index 5ef082f0..1191d66f 100644
--- a/lib/unictype/pr_uppercase.c
+++ b/lib/unictype/pr_uppercase.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_uppercase.h b/lib/unictype/pr_uppercase.h
index a9279b42..aa3efc06 100644
--- a/lib/unictype/pr_uppercase.h
+++ b/lib/unictype/pr_uppercase.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_variation_selector.c b/lib/unictype/pr_variation_selector.c
index 709aaae5..6f683ca3 100644
--- a/lib/unictype/pr_variation_selector.c
+++ b/lib/unictype/pr_variation_selector.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_variation_selector.h b/lib/unictype/pr_variation_selector.h
index e993d650..ad4c392d 100644
--- a/lib/unictype/pr_variation_selector.h
+++ b/lib/unictype/pr_variation_selector.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_white_space.c b/lib/unictype/pr_white_space.c
index 8a05810c..88315cfc 100644
--- a/lib/unictype/pr_white_space.c
+++ b/lib/unictype/pr_white_space.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_white_space.h b/lib/unictype/pr_white_space.h
index 8903061f..2874def7 100644
--- a/lib/unictype/pr_white_space.h
+++ b/lib/unictype/pr_white_space.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/pr_xid_continue.c b/lib/unictype/pr_xid_continue.c
index 00f0f96a..60c3a1d4 100644
--- a/lib/unictype/pr_xid_continue.c
+++ b/lib/unictype/pr_xid_continue.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_xid_continue.h b/lib/unictype/pr_xid_continue.h
index fea14704..9d3fcd84 100644
--- a/lib/unictype/pr_xid_continue.h
+++ b/lib/unictype/pr_xid_continue.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[15];
short level2[5 << 7];
- unsigned int level3[82 << 4];
+ unsigned int level3[83 << 4];
}
u_property_xid_continue =
{
@@ -432,14 +432,14 @@ u_property_xid_continue =
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 1232,
- -1,
- -1,
+ 16 + 640 * sizeof (short) / sizeof (int) + 304,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1248,
-1,
-1,
-1,
-1,
16 + 640 * sizeof (short) / sizeof (int) + 304,
- 16 + 640 * sizeof (short) / sizeof (int) + 1248,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1264,
-1,
-1,
16 + 640 * sizeof (short) / sizeof (int) + 304,
@@ -451,7 +451,7 @@ u_property_xid_continue =
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
- 16 + 640 * sizeof (short) / sizeof (int) + 1264,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1280,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
@@ -459,7 +459,7 @@ u_property_xid_continue =
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
16 + 640 * sizeof (short) / sizeof (int) + 304,
- 16 + 640 * sizeof (short) / sizeof (int) + 1280,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1296,
-1,
-1,
-1,
@@ -570,7 +570,7 @@ u_property_xid_continue =
-1,
-1,
-1,
- 16 + 640 * sizeof (short) / sizeof (int) + 1296,
+ 16 + 640 * sizeof (short) / sizeof (int) + 1312,
-1,
-1,
-1,
@@ -764,7 +764,7 @@ u_property_xid_continue =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0x3F3FFFFFU, 0xFFFFFFFFU, 0xAAFF3F3FU, 0x3FFFFFFFU,
0xFFFFFFFFU, 0x5FDFFFFFU, 0x0FCF1FDCU, 0x1FDC1FFFU,
- 0x00000000U, 0x80000000U, 0x00100001U, 0x80020000U,
+ 0x00003000U, 0x80000000U, 0x00100001U, 0x80020000U,
0x1FFF0000U, 0x00000000U, 0x1FFF0000U, 0x0001FFE2U,
0x3F2FFC84U, 0xF3FFFD50U, 0x000043E0U, 0xFFFFFFFFU,
0x000001FFU, 0x00000000U, 0x00000000U, 0x00000000U,
@@ -773,7 +773,7 @@ u_property_xid_continue =
0xFFFFFFFFU, 0xFFFF20BFU, 0xFFFFFFFFU, 0x800080FFU,
0x007FFFFFU, 0x7F7F7F7FU, 0x7F7F7F7FU, 0xFFFFFFFFU,
0x000000E0U, 0x1F3EFFFEU, 0xFFFFFFFEU, 0xFFFFFFFFU,
- 0xE67FFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU, 0xF7FFFFFFU,
+ 0xE67FFFFFU, 0xFFFFFFFEU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFE0U, 0xFFFEFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0x00007FFFU, 0xFFFFFFFFU, 0x00000000U, 0xFFFF0000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
@@ -818,7 +818,7 @@ u_property_xid_continue =
0xFFFCFFFFU, 0xFFFFFFFFU, 0x000000FFU, 0x03FF0000U,
0x0000FFFFU, 0x0018FFFFU, 0x0000E000U, 0xAA8A0000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x1FFFFFFFU,
- 0x03FF0000U, 0x87FFFFFEU, 0x07FFFFFEU, 0xFFFFFFC0U,
+ 0x03FF0000U, 0x87FFFFFEU, 0x07FFFFFEU, 0xFFFFFFE0U,
0xFFFFFFFFU, 0x7FFFFFFFU, 0x1CFCFCFCU, 0x00000000U,
0xFFFFEFFFU, 0xB7FFFF7FU, 0x3FFF3FFFU, 0x00000000U,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x07FFFFFFU,
@@ -1011,7 +1011,11 @@ u_property_xid_continue =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_xid_start.c b/lib/unictype/pr_xid_start.c
index 15710e25..94feb35d 100644
--- a/lib/unictype/pr_xid_start.c
+++ b/lib/unictype/pr_xid_start.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_xid_start.h b/lib/unictype/pr_xid_start.h
index 36b9bd03..e9d0cd07 100644
--- a/lib/unictype/pr_xid_start.h
+++ b/lib/unictype/pr_xid_start.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[76 << 4];
+ unsigned int level3[77 << 4];
}
u_property_xid_start =
{
@@ -421,14 +421,14 @@ u_property_xid_start =
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 1152,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 304,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1168,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 304,
- 5 + 512 * sizeof (short) / sizeof (int) + 1168,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1184,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 304,
@@ -440,7 +440,7 @@ u_property_xid_start =
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
- 5 + 512 * sizeof (short) / sizeof (int) + 1184,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1200,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
@@ -448,7 +448,7 @@ u_property_xid_start =
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
5 + 512 * sizeof (short) / sizeof (int) + 304,
- 5 + 512 * sizeof (short) / sizeof (int) + 1200,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1216,
-1,
-1,
-1,
@@ -852,7 +852,11 @@ u_property_xid_start =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/lib/unictype/pr_zero_width.c b/lib/unictype/pr_zero_width.c
index 995ba22b..00bbcc1b 100644
--- a/lib/unictype/pr_zero_width.c
+++ b/lib/unictype/pr_zero_width.c
@@ -1,5 +1,5 @@
/* Properties of Unicode characters.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unictype/pr_zero_width.h b/lib/unictype/pr_zero_width.h
index c695c5a6..0f89b819 100644
--- a/lib/unictype/pr_zero_width.h
+++ b/lib/unictype/pr_zero_width.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/scripts.c b/lib/unictype/scripts.c
index b730212a..a226d8da 100644
--- a/lib/unictype/scripts.c
+++ b/lib/unictype/scripts.c
@@ -1,5 +1,5 @@
/* Scripts of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unictype/scripts.h b/lib/unictype/scripts.h
index d9caa8c7..46ef3dda 100644
--- a/lib/unictype/scripts.h
+++ b/lib/unictype/scripts.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Unicode scripts. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -73,8 +73,7 @@ static const uc_interval_t script_common_intervals[] =
{ 0x2B76, 1, 0 }, { 0x2B95, 0, 1 },
{ 0x2B97, 1, 0 }, { 0x2BFF, 0, 1 },
{ 0x2E00, 1, 0 }, { 0x2E5D, 0, 1 },
- { 0x2FF0, 1, 0 }, { 0x2FFB, 0, 1 },
- { 0x3000, 1, 0 }, { 0x3004, 0, 1 },
+ { 0x2FF0, 1, 0 }, { 0x3004, 0, 1 },
{ 0x3006, 1, 1 },
{ 0x3008, 1, 0 }, { 0x3020, 0, 1 },
{ 0x3030, 1, 0 }, { 0x3037, 0, 1 },
@@ -84,6 +83,7 @@ static const uc_interval_t script_common_intervals[] =
{ 0x30FB, 1, 0 }, { 0x30FC, 0, 1 },
{ 0x3190, 1, 0 }, { 0x319F, 0, 1 },
{ 0x31C0, 1, 0 }, { 0x31E3, 0, 1 },
+ { 0x31EF, 1, 1 },
{ 0x3220, 1, 0 }, { 0x325F, 0, 1 },
{ 0x327F, 1, 0 }, { 0x32CF, 0, 1 },
{ 0x32FF, 1, 1 },
@@ -728,6 +728,7 @@ static const uc_interval_t script_han_intervals[] =
{ 0x2B740, 1, 0 }, { 0x2B81D, 0, 1 },
{ 0x2B820, 1, 0 }, { 0x2CEA1, 0, 1 },
{ 0x2CEB0, 1, 0 }, { 0x2EBE0, 0, 1 },
+ { 0x2EBF0, 1, 0 }, { 0x2EE5D, 0, 1 },
{ 0x2F800, 1, 0 }, { 0x2FA1D, 0, 1 },
{ 0x30000, 1, 0 }, { 0x3134A, 0, 1 },
{ 0x31350, 1, 0 }, { 0x323AF, 0, 1 }
@@ -2286,7 +2287,7 @@ struct
{
int level1[15];
short level2[5 << 9];
- unsigned char level3[247 << 7];
+ unsigned char level3[248 << 7];
}
u_script =
{
@@ -2482,20 +2483,20 @@ u_script =
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 30720,
+ 8960, 8960, 8960, 8960, 30848, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 8960, 8960, 8960, 8960, 30848, -1, -1, -1,
+ 8960, 8960, 8960, 8960, 30976, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
- 8960, 8960, 8960, 8960, 8960, 8960, 30976, 8960,
+ 8960, 8960, 8960, 8960, 8960, 8960, 31104, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
8960, 8960, 8960, 8960, 8960, 8960, 8960, 8960,
- 8960, 8960, 8960, 8960, 8960, 8960, 8960, 31104,
+ 8960, 8960, 8960, 8960, 8960, 8960, 8960, 31232,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -2551,7 +2552,7 @@ u_script =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 31232, -1, 31360, 31488, -1, -1, -1, -1,
+ 31360, -1, 31488, 31616, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -3768,7 +3769,7 @@ u_script =
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 255, 255, 255, 255,
+ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 35, 0, 35,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -3830,7 +3831,7 @@ u_script =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 0,
33, 33, 33, 33, 33, 33, 33, 33,
33, 33, 33, 33, 33, 33, 33, 33,
24, 24, 24, 24, 24, 24, 24, 24,
@@ -6471,6 +6472,22 @@ u_script =
35, 35, 35, 35, 35, 35, 35, 35,
35, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
35, 35, 35, 35, 35, 35, 35, 35,
diff --git a/lib/unictype/scripts_byname.gperf b/lib/unictype/scripts_byname.gperf
index 4d7eba99..9f37f65d 100644
--- a/lib/unictype/scripts_byname.gperf
+++ b/lib/unictype/scripts_byname.gperf
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Unicode scripts. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/unictype/sy_c_ident.c b/lib/unictype/sy_c_ident.c
index a7432746..1cca275a 100644
--- a/lib/unictype/sy_c_ident.c
+++ b/lib/unictype/sy_c_ident.c
@@ -1,5 +1,5 @@
/* Syntax properties of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/sy_c_ident.h b/lib/unictype/sy_c_ident.h
index 96472b37..0b223f43 100644
--- a/lib/unictype/sy_c_ident.h
+++ b/lib/unictype/sy_c_ident.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Language syntax properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unictype/sy_c_whitespace.c b/lib/unictype/sy_c_whitespace.c
index e5b02fe9..db05c836 100644
--- a/lib/unictype/sy_c_whitespace.c
+++ b/lib/unictype/sy_c_whitespace.c
@@ -1,5 +1,5 @@
/* Syntax properties of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/sy_java_ident.c b/lib/unictype/sy_java_ident.c
index ba96dd0e..830a29ce 100644
--- a/lib/unictype/sy_java_ident.c
+++ b/lib/unictype/sy_java_ident.c
@@ -1,5 +1,5 @@
/* Syntax properties of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unictype/sy_java_ident.h b/lib/unictype/sy_java_ident.h
index 14c08457..732ff9a2 100644
--- a/lib/unictype/sy_java_ident.h
+++ b/lib/unictype/sy_java_ident.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Language syntax properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
{
int level1[225];
short level2[30 << 5];
- unsigned short level3[198 * 16];
+ unsigned short level3[199 * 16];
}
u_java_ident =
{
@@ -174,20 +174,20 @@ u_java_ident =
256, 256, 256, 256, 256, 256, 256, 256,
256, 256, 256, 256, 256, 256, 256, 256,
256, 256, 256, 256, 256, 256, 256, 24448,
+ 256, 256, 256, 256, 24576, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 24704, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 24576, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 256, 256, 24704, 256,
+ 256, 256, 256, 256, 256, 256, 24832, 256,
256, 256, 256, 256, 256, 256, 256, 256,
256, 256, 256, 256, 256, 256, 256, 256,
256, 256, 256, 256, 256, 256, 256, 256,
- 256, 256, 256, 256, 256, 256, 256, 24832,
+ 256, 256, 256, 256, 256, 256, 256, 24960,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 24960, -1, 25088, 25216, -1, -1, -1, -1,
+ 25088, -1, 25216, 25344, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1
@@ -576,7 +576,9 @@ u_java_ident =
0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0, 0xaaaa, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa8, 0xaaaa, 0xaaaa, 0xaaaa,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa8, 0xaaaa, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
diff --git a/lib/unictype/sy_java_whitespace.c b/lib/unictype/sy_java_whitespace.c
index 56c1f8dd..cdf06d6e 100644
--- a/lib/unictype/sy_java_whitespace.c
+++ b/lib/unictype/sy_java_whitespace.c
@@ -1,5 +1,5 @@
/* Syntax properties of Unicode characters.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unigbrk.in.h b/lib/unigbrk.in.h
index 4001c6e7..2026284a 100644
--- a/lib/unigbrk.in.h
+++ b/lib/unigbrk.in.h
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks in Unicode strings.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
@@ -88,6 +88,9 @@ extern int
Implements extended (not legacy) grapheme cluster rules, because UAX #29
indicates that they are preferred.
+ Note: This function does not work right with syllables in Indic scripts or
+ emojis, because it does not look at the characters before A and after B.
+
Use A == 0 or B == 0 to indicate start of text or end of text,
respectively. */
extern bool
@@ -95,7 +98,9 @@ extern bool
_UC_ATTRIBUTE_CONST;
/* Returns the start of the next grapheme cluster following S, or NULL if the
- end of the string has been reached. */
+ end of the string has been reached.
+ Note: These functions do not work right with syllables in Indic scripts or
+ emojis, because they do not consider the characters before S. */
extern const uint8_t *
u8_grapheme_next (const uint8_t *s, const uint8_t *end)
_UC_ATTRIBUTE_PURE;
@@ -107,7 +112,9 @@ extern const uint32_t *
_UC_ATTRIBUTE_PURE;
/* Returns the start of the previous grapheme cluster before S, or NULL if the
- start of the string has been reached. */
+ start of the string has been reached.
+ Note: These functions do not work right with syllables in Indic scripts or
+ emojis, because they do not consider the characters at or after S. */
extern const uint8_t *
u8_grapheme_prev (const uint8_t *s, const uint8_t *start)
_UC_ATTRIBUTE_PURE;
diff --git a/lib/unigbrk/gbrkprop.h b/lib/unigbrk/gbrkprop.h
index b91ce07a..1cc9c497 100644
--- a/lib/unigbrk/gbrkprop.h
+++ b/lib/unigbrk/gbrkprop.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Grapheme break property of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unigbrk/u-grapheme-breaks.h b/lib/unigbrk/u-grapheme-breaks.h
index 9adce155..3e8f4953 100644
--- a/lib/unigbrk/u-grapheme-breaks.h
+++ b/lib/unigbrk/u-grapheme-breaks.h
@@ -1,5 +1,5 @@
/* Grapheme cluster break function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
@@ -37,6 +37,16 @@ FUNC (const UNIT *s, size_t n, char *p)
-1 at the very beginning of the string. */
int last_char_prop = -1;
+ /* True if the last character ends a sequence of Indic_Conjunct_Break
+ values: consonant {extend|linker}* */
+ bool incb_consonant_extended = false;
+ /* True if the last character ends a sequence of Indic_Conjunct_Break
+ values: consonant {extend|linker}* linker */
+ bool incb_consonant_extended_linker = false;
+ /* True if the last character ends a sequence of Indic_Conjunct_Break
+ values: consonant {extend|linker}* linker {extend|linker}* */
+ bool incb_consonant_extended_linker_extended = false;
+
/* True if the last character ends an emoji modifier sequence
\p{Extended_Pictographic} Extend*. */
bool emoji_modifier_sequence = false;
@@ -56,6 +66,7 @@ FUNC (const UNIT *s, size_t n, char *p)
ucs4_t uc;
int count = U_MBTOUC (&uc, s, s_end - s);
int prop = uc_graphemeclusterbreak_property (uc);
+ int incb = uc_indic_conjunct_break (uc);
/* Break at the start of the string (GB1). */
if (last_char_prop < 0)
@@ -96,6 +107,15 @@ FUNC (const UNIT *s, size_t n, char *p)
/* No break after Prepend characters (GB9b). */
else if (last_char_prop == GBP_PREPEND)
/* *p = 0 */;
+ /* No break within certain combinations of Indic_Conjunct_Break
+ values: Between
+ consonant {extend|linker}* linker {extend|linker}*
+ and
+ consonant
+ (GB9c). */
+ else if (incb_consonant_extended_linker_extended
+ && incb == UC_INDIC_CONJUNCT_BREAK_CONSONANT)
+ /* *p = 0 */;
/* No break within emoji modifier sequences or emoji zwj sequences
(GB11). */
else if (last_char_prop == GBP_ZWJ
@@ -111,6 +131,17 @@ FUNC (const UNIT *s, size_t n, char *p)
*p = 1;
}
+ incb_consonant_extended_linker =
+ incb_consonant_extended && incb == UC_INDIC_CONJUNCT_BREAK_LINKER;
+ incb_consonant_extended_linker_extended =
+ (incb_consonant_extended_linker
+ || (incb_consonant_extended_linker_extended
+ && incb >= UC_INDIC_CONJUNCT_BREAK_LINKER));
+ incb_consonant_extended =
+ (incb == UC_INDIC_CONJUNCT_BREAK_CONSONANT
+ || (incb_consonant_extended
+ && incb >= UC_INDIC_CONJUNCT_BREAK_LINKER));
+
emoji_modifier_sequence_before_last_char = emoji_modifier_sequence;
emoji_modifier_sequence =
(emoji_modifier_sequence && prop == GBP_EXTEND)
diff --git a/lib/unigbrk/u16-grapheme-breaks.c b/lib/unigbrk/u16-grapheme-breaks.c
index 43939747..0ae5b4aa 100644
--- a/lib/unigbrk/u16-grapheme-breaks.c
+++ b/lib/unigbrk/u16-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u16-grapheme-next.c b/lib/unigbrk/u16-grapheme-next.c
index 79ba2ee1..1df56740 100644
--- a/lib/unigbrk/u16-grapheme-next.c
+++ b/lib/unigbrk/u16-grapheme-next.c
@@ -1,5 +1,5 @@
/* Next grapheme cluster function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u16-grapheme-prev.c b/lib/unigbrk/u16-grapheme-prev.c
index 6bff9566..804d7bc1 100644
--- a/lib/unigbrk/u16-grapheme-prev.c
+++ b/lib/unigbrk/u16-grapheme-prev.c
@@ -1,5 +1,5 @@
/* Previous grapheme cluster function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u32-grapheme-breaks.c b/lib/unigbrk/u32-grapheme-breaks.c
index 92795584..c4872c27 100644
--- a/lib/unigbrk/u32-grapheme-breaks.c
+++ b/lib/unigbrk/u32-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u32-grapheme-next.c b/lib/unigbrk/u32-grapheme-next.c
index 419e3d5b..198857d9 100644
--- a/lib/unigbrk/u32-grapheme-next.c
+++ b/lib/unigbrk/u32-grapheme-next.c
@@ -1,5 +1,5 @@
/* Next grapheme cluster function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u32-grapheme-prev.c b/lib/unigbrk/u32-grapheme-prev.c
index f01c6c11..a6b6983a 100644
--- a/lib/unigbrk/u32-grapheme-prev.c
+++ b/lib/unigbrk/u32-grapheme-prev.c
@@ -1,5 +1,5 @@
/* Previous grapheme cluster function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u8-grapheme-breaks.c b/lib/unigbrk/u8-grapheme-breaks.c
index b21ba262..887c1864 100644
--- a/lib/unigbrk/u8-grapheme-breaks.c
+++ b/lib/unigbrk/u8-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks function.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010,
based on code written by Bruno Haible <bruno@clisp.org>, 2009.
diff --git a/lib/unigbrk/u8-grapheme-next.c b/lib/unigbrk/u8-grapheme-next.c
index 44df62ee..431c5ee7 100644
--- a/lib/unigbrk/u8-grapheme-next.c
+++ b/lib/unigbrk/u8-grapheme-next.c
@@ -1,5 +1,5 @@
/* Next grapheme cluster function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/u8-grapheme-prev.c b/lib/unigbrk/u8-grapheme-prev.c
index f61d01f9..8a63f55f 100644
--- a/lib/unigbrk/u8-grapheme-prev.c
+++ b/lib/unigbrk/u8-grapheme-prev.c
@@ -1,5 +1,5 @@
/* Previous grapheme cluster function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/uc-gbrk-prop.c b/lib/unigbrk/uc-gbrk-prop.c
index fb618fa1..953fe006 100644
--- a/lib/unigbrk/uc-gbrk-prop.c
+++ b/lib/unigbrk/uc-gbrk-prop.c
@@ -1,5 +1,5 @@
/* Grapheme cluster break property function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/uc-grapheme-breaks.c b/lib/unigbrk/uc-grapheme-breaks.c
index 73130a59..fbebdac2 100644
--- a/lib/unigbrk/uc-grapheme-breaks.c
+++ b/lib/unigbrk/uc-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/uc-is-grapheme-break.c b/lib/unigbrk/uc-is-grapheme-break.c
index 2cf82f16..acf4bf3e 100644
--- a/lib/unigbrk/uc-is-grapheme-break.c
+++ b/lib/unigbrk/uc-is-grapheme-break.c
@@ -1,5 +1,5 @@
/* Grapheme cluster break function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010.
This file is free software.
diff --git a/lib/unigbrk/ulc-grapheme-breaks.c b/lib/unigbrk/ulc-grapheme-breaks.c
index 97e4c9e8..7b32ad8d 100644
--- a/lib/unigbrk/ulc-grapheme-breaks.c
+++ b/lib/unigbrk/ulc-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks function.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@cs.stanford.edu>, 2010,
based on code written by Bruno Haible <bruno@clisp.org>, 2009.
diff --git a/lib/unilbrk.in.h b/lib/unilbrk.in.h
index 1e0a94ee..b95b903a 100644
--- a/lib/unilbrk.in.h
+++ b/lib/unilbrk.in.h
@@ -1,5 +1,5 @@
/* Line breaking of Unicode strings.
- Copyright (C) 2001-2003, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unilbrk/internal.h b/lib/unilbrk/internal.h
index d5843fb5..b1e9ba09 100644
--- a/lib/unilbrk/internal.h
+++ b/lib/unilbrk/internal.h
@@ -1,5 +1,5 @@
/* Internal functions for line breaking of Unicode strings.
- Copyright (C) 2001-2003, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2021.
This file is free software.
diff --git a/lib/unilbrk/lbrkprop1.h b/lib/unilbrk/lbrkprop1.h
index 7ba04130..d4afed86 100644
--- a/lib/unilbrk/lbrkprop1.h
+++ b/lib/unilbrk/lbrkprop1.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Line breaking properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unilbrk/lbrkprop2.h b/lib/unilbrk/lbrkprop2.h
index 3424be98..fb4c18af 100644
--- a/lib/unilbrk/lbrkprop2.h
+++ b/lib/unilbrk/lbrkprop2.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Line breaking properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -294,7 +294,7 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_BA, LBP_LF, LBP_BK, LBP_BK, LBP_CR, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_SP, LBP_EX, LBP_QU, LBP_AL, LBP_PR, LBP_PO, LBP_AL, LBP_QU,
+ LBP_SP, LBP_EX, LBP_QU1, LBP_AL, LBP_PR, LBP_PO, LBP_AL, LBP_QU1,
LBP_OP1, LBP_CP1, LBP_AL, LBP_PR, LBP_IS, LBP_HY, LBP_IS, LBP_SY,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_IS, LBP_IS, LBP_AL, LBP_AL, LBP_AL, LBP_EX,
@@ -311,9 +311,9 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_GL, LBP_OP1, LBP_PO, LBP_PR, LBP_PR, LBP_PR, LBP_AL, LBP_AI,
- LBP_AI, LBP_AL, LBP_AI, LBP_QU, LBP_AL, LBP_BA, LBP_AL, LBP_AL,
+ LBP_AI, LBP_AL, LBP_AI, LBP_QU2, LBP_AL, LBP_BA, LBP_AL, LBP_AL,
LBP_PO, LBP_PR, LBP_AI, LBP_AI, LBP_BB, LBP_AL, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_QU, LBP_AI, LBP_AI, LBP_AI, LBP_OP1,
+ LBP_AI, LBP_AI, LBP_AI, LBP_QU3, LBP_AI, LBP_AI, LBP_AI, LBP_OP1,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI,
@@ -434,7 +434,7 @@ const lbrkprop_t unilbrkprop =
LBP_HL, LBP_HL, LBP_HL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_HL,
LBP_HL, LBP_HL, LBP_HL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_AL, LBP_AL,
LBP_AL, LBP_PO, LBP_PO, LBP_PO, LBP_IS, LBP_IS, LBP_AL, LBP_AL,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_EX, LBP_CM, LBP_EX, LBP_EX, LBP_EX,
@@ -461,7 +461,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_EX, LBP_AL, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_NU, LBP_AL, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_CM,
LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
@@ -516,7 +516,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -526,7 +526,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_NU, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -1042,22 +1042,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
- LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
- LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_VI, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_BA, LBP_BA, LBP_ID1, LBP_BA, LBP_BA, LBP_BA,
+ LBP_BA, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_BA, LBP_BA, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1066,13 +1066,13 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_VF, LBP_VF, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1157,11 +1157,11 @@ const lbrkprop_t unilbrkprop =
LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_GL,
LBP_BA, LBP_BA, LBP_BA, LBP_ZW, LBP_CM, LBP_ZWJ, LBP_CM, LBP_CM,
LBP_BA, LBP_GL, LBP_BA, LBP_BA, LBP_B2, LBP_AI, LBP_AI, LBP_AL,
- LBP_QU, LBP_QU, LBP_OP1, LBP_QU, LBP_QU, LBP_QU, LBP_OP1, LBP_QU,
+ LBP_QU2, LBP_QU3, LBP_OP1, LBP_QU2, LBP_QU2, LBP_QU3, LBP_OP1, LBP_QU2,
LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_IN, LBP_IN, LBP_IN, LBP_BA,
LBP_BK, LBP_BK, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_GL,
LBP_PO, LBP_PO, LBP_PO, LBP_PO, LBP_PO, LBP_PO, LBP_PO, LBP_PO,
- LBP_AL, LBP_QU, LBP_QU, LBP_AI, LBP_NS, LBP_NS, LBP_AL, LBP_AL,
+ LBP_AL, LBP_QU2, LBP_QU3, LBP_AI, LBP_NS, LBP_NS, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IS, LBP_OP1, LBP_CL, LBP_NS,
LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_PO,
@@ -1389,8 +1389,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU,
- LBP_QU, LBP_AL, LBP_EX, LBP_EX, LBP_ID1, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_QU1, LBP_QU1, LBP_QU1, LBP_QU1, LBP_QU1,
+ LBP_QU1, LBP_AL, LBP_EX, LBP_EX, LBP_ID1, LBP_AL, LBP_AL, LBP_AL,
LBP_OP1, LBP_CL, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL,
LBP_OP1, LBP_CL, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -1506,11 +1506,11 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU,
- LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_BA, LBP_BA,
+ LBP_QU1, LBP_QU1, LBP_QU2, LBP_QU3, LBP_QU2, LBP_QU3, LBP_QU1, LBP_QU1,
+ LBP_QU1, LBP_QU2, LBP_QU3, LBP_QU1, LBP_QU2, LBP_QU3, LBP_BA, LBP_BA,
LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_BA,
- LBP_OP1, LBP_BA, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_AL, LBP_AL,
- LBP_QU, LBP_QU, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL,
+ LBP_OP1, LBP_BA, LBP_AL, LBP_AL, LBP_QU2, LBP_QU3, LBP_AL, LBP_AL,
+ LBP_QU2, LBP_QU3, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL,
LBP_OP1, LBP_CL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_EX, LBP_AL,
LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_B2, LBP_B2, LBP_BA, LBP_BA, LBP_BA, LBP_AL,
@@ -1569,7 +1569,7 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
- LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
LBP_BA, LBP_CL, LBP_CL, LBP_ID1, LBP_ID1, LBP_NS, LBP_ID1, LBP_ID1,
LBP_OP2, LBP_CL, LBP_OP2, LBP_CL, LBP_OP2, LBP_CL, LBP_OP2, LBP_CL,
LBP_OP2, LBP_CL, LBP_ID1, LBP_ID1, LBP_OP2, LBP_CL, LBP_OP2, LBP_CL,
@@ -1631,7 +1631,7 @@ const lbrkprop_t unilbrkprop =
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_ID1,
LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS,
LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS, LBP_NS,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
@@ -1794,34 +1794,34 @@ const lbrkprop_t unilbrkprop =
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA,
- LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
- LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_VI, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_BA,
+ LBP_BA, LBP_BA, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_XX, LBP_BA,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_ID1, LBP_ID1,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
- LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
+ LBP_BA, LBP_BA, LBP_BA, LBP_CM, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_XX, LBP_XX, LBP_ID1, LBP_BA, LBP_BA, LBP_BA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
@@ -2562,22 +2562,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AP, LBP_AP, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA,
- LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_CM, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_VI, LBP_BA,
+ LBP_BA, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_CM, LBP_AK, LBP_AK, LBP_CM, LBP_CM, LBP_AK, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_GL,
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2585,9 +2585,9 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_NU, LBP_BA, LBP_BA,
LBP_BA, LBP_BA, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_NU, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2658,19 +2658,19 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_XX, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_XX, LBP_XX, LBP_AK,
+ LBP_AK, LBP_XX, LBP_XX, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_XX, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_XX, LBP_AK, LBP_AK, LBP_XX, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_XX, LBP_CM, LBP_CM, LBP_BA, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM,
- LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM,
+ LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_VI, LBP_XX, LBP_XX,
+ LBP_AS, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_BA, LBP_AS, LBP_AS,
+ LBP_AK, LBP_AK, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2802,18 +2802,18 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_XX,
+ LBP_XX, LBP_AK, LBP_XX, LBP_XX, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_XX, LBP_AK, LBP_AK, LBP_XX,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM,
- LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL,
- LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_BA, LBP_BA, LBP_BA, LBP_XX,
+ LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_VI, LBP_AP,
+ LBP_CM, LBP_AP, LBP_CM, LBP_CM, LBP_BA, LBP_BA, LBP_BA, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_ID1, LBP_ID1, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2958,22 +2958,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_BA, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA,
+ LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_AP, LBP_CM, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_XX, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_AK,
+ LBP_AK, LBP_AK, LBP_AK, LBP_AK, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_BA, LBP_BA, LBP_ID1, LBP_ID1, LBP_ID1,
+ LBP_CM, LBP_CM, LBP_VI, LBP_BA, LBP_BA, LBP_ID1, LBP_ID1, LBP_ID1,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
- LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS, LBP_AS,
+ LBP_AS, LBP_AS, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -3111,7 +3111,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP1,
LBP_GL, LBP_GL, LBP_GL, LBP_GL, LBP_GL, LBP_GL, LBP_GL, LBP_OP1,
LBP_CL, LBP_GL, LBP_GL, LBP_GL, LBP_OP1, LBP_CL, LBP_OP1, LBP_CL,
LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
@@ -4048,8 +4048,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU,
- LBP_QU, LBP_NS, LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_QU1, LBP_QU1,
+ LBP_QU1, LBP_NS, LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1, LBP_ID1,
diff --git a/lib/unilbrk/lbrktables.c b/lib/unilbrk/lbrktables.c
index 2cc72a21..e0595966 100644
--- a/lib/unilbrk/lbrktables.c
+++ b/lib/unilbrk/lbrktables.c
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Table that encodes several line breaking rules. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2001-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -33,43 +33,50 @@
/* Define unilbrkprop, table of line breaking properties. */
#include "unilbrk/lbrkprop2.h"
-const unsigned char unilbrk_table[33][33] =
+const unsigned char unilbrk_table[40][40] =
{
/* after */
- /* WJ GL B2 BA BB HY CL CP1 CP2 EX IN NS OP1 OP2 QU IS NU PO PR SY AL H2 H3 ID1 ID2 JL JV JT HL RI ZWJ EB EM */
-/* WJ */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, },
-/* GL */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, },
-/* B2 */ { P, I, P, I, D, I, P, P, P, P, I, I, D, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* BA */ { P, D, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* BB */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, },
-/* HY */ { P, D, D, I, D, I, P, P, P, P, I, I, D, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* CL */ { P, I, D, I, D, I, P, P, P, P, I, P, D, D, I, P, D, I, I, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* CP1 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, I, D, D, },
-/* CP2 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, I, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* EX */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* IN */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* NS */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* OP1 */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
-/* OP2 */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
-/* QU */ { P, I, I, I, I, I, P, P, P, P, I, I, P, P, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, },
-/* IS */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* NU */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, I, D, D, },
-/* PO */ { P, I, D, I, D, I, P, P, P, P, I, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, D, I, D, I, D, D, },
-/* PR */ { P, I, D, I, D, I, P, P, P, P, I, I, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, I, I, D, I, I, I, },
-/* SY */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, I, D, D, D, D, },
-/* AL */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, I, D, D, },
-/* H2 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, I, I, D, D, D, D, D, },
-/* H3 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, D, I, D, D, D, D, D, },
-/* ID1 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* ID2 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, I, },
-/* JL */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, I, I, D, D, I, I, D, D, D, D, D, D, },
-/* JV */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, I, I, D, D, D, D, D, },
-/* JT */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, D, I, D, D, D, D, D, },
-/* HL */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, I, D, D, },
-/* RI */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
-/* ZWJ */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, P, I, I, I, P, I, D, D, I, I, D, D, D, I, D, I, I, I, },
-/* EB */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, I, },
-/* EM */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+ /* WJ GL B2 BA BB HY CL CP1 CP2 EX IN NS OP1 OP2 QU1 QU2 QU3 IS NU PO PR SY AL H2 H3 ID1 ID2 JL JV JT HL AP AK AS VI VF RI ZWJ EB EM */
+/* WJ */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, I, P, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, },
+/* GL */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, I, P, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, },
+/* B2 */ { P, I, P, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* BA */ { P, D, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* BB */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, I, P, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, },
+/* HY */ { P, D, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, I, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* CL */ { P, I, D, I, D, I, P, P, P, P, I, P, D, D, I, I, P, P, D, I, I, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* CP1 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, D, D, D, D, D, I, D, D, },
+/* CP2 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, I, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* EX */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* IN */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* NS */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* OP1 */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
+/* OP2 */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
+/* QU1 */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, I, P, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, },
+/* QU2 */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
+/* QU3 */ { P, I, I, I, I, I, P, P, P, P, I, I, I, I, I, I, P, P, I, I, I, P, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, },
+/* IS */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, I, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* NU */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, I, P, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, D, D, D, D, D, I, D, D, },
+/* PO */ { P, I, D, I, D, I, P, P, P, P, I, I, I, I, I, I, P, P, I, D, D, P, I, D, D, D, D, D, D, D, I, D, D, D, D, D, D, I, D, D, },
+/* PR */ { P, I, D, I, D, I, P, P, P, P, I, I, I, I, I, I, P, P, I, D, D, P, I, I, I, I, I, I, I, I, I, D, D, D, D, D, D, I, I, I, },
+/* SY */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, I, D, D, P, D, D, D, D, D, D, D, D, I, D, D, D, D, D, D, D, D, D, },
+/* AL */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, I, P, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, D, D, D, D, D, I, D, D, },
+/* H2 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, I, I, D, D, D, D, D, D, D, D, D, D, },
+/* H3 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, D, I, D, D, D, D, D, D, D, D, D, D, },
+/* ID1 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* ID2 */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, I, },
+/* JL */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, I, I, D, D, I, I, D, D, D, D, D, D, D, D, D, D, D, },
+/* JV */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, I, I, D, D, D, D, D, D, D, D, D, D, },
+/* JT */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, D, I, D, D, D, D, D, D, D, D, D, D, },
+/* HL */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, I, P, P, I, I, I, P, I, D, D, D, D, D, D, D, I, D, D, D, D, D, D, I, D, D, },
+/* AP */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* AK */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* AS */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* VI */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* VF */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* RI */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, D, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
+/* ZWJ */ { P, I, D, I, D, I, P, P, P, P, I, I, I, D, I, I, P, P, I, I, I, P, I, D, D, I, I, D, D, D, I, D, D, D, D, D, D, I, I, I, },
+/* EB */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, I, },
+/* EM */ { P, I, D, I, D, I, P, P, P, P, I, I, D, D, I, I, P, P, D, I, D, P, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, },
/* "" */
/* before */
};
diff --git a/lib/unilbrk/lbrktables.h b/lib/unilbrk/lbrktables.h
index 2f23ea8c..85116575 100644
--- a/lib/unilbrk/lbrktables.h
+++ b/lib/unilbrk/lbrktables.h
@@ -1,5 +1,5 @@
/* Line breaking auxiliary tables.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -29,22 +29,22 @@
enum
{
- /* Values >= 33 are resolved at run time. */
- LBP_BK = 33, /* mandatory break */
- LBP_CR = 34, /* carriage return */
- LBP_LF = 35, /* line feed */
- LBP_CM = 36, /* attached characters and combining marks */
+ /* Values >= 40 are resolved at run time. */
+ LBP_BK = 40, /* mandatory break */
+ LBP_CR = 41, /* carriage return */
+ LBP_LF = 42, /* line feed */
+ LBP_CM = 43, /* attached characters and combining marks */
/*LBP_NL, next line - not used here because it's equivalent to LBP_BK */
/*LBP_SG, surrogates - not used here because they are not characters */
LBP_WJ = 0, /* word joiner */
- LBP_ZW = 37, /* zero width space */
+ LBP_ZW = 44, /* zero width space */
LBP_GL = 1, /* non-breaking (glue) */
- LBP_SP = 38, /* space */
+ LBP_SP = 45, /* space */
LBP_B2 = 2, /* break opportunity before and after */
LBP_BA = 3, /* break opportunity after */
LBP_BB = 4, /* break opportunity before */
LBP_HY = 5, /* hyphen */
- LBP_CB = 39, /* contingent break opportunity */
+ LBP_CB = 46, /* contingent break opportunity */
LBP_CL = 6, /* closing punctuation */
LBP_CP1 = 7, /* closing parenthesis, non-EastAsian character */
LBP_CP2 = 8, /* closing parenthesis, EastAsian character */
@@ -53,29 +53,36 @@ enum
LBP_NS = 11, /* non starter */
LBP_OP1 = 12, /* opening punctuation, non-EastAsian character */
LBP_OP2 = 13, /* opening punctuation, EastAsian character */
- LBP_QU = 14, /* ambiguous quotation */
- LBP_IS = 15, /* infix separator (numeric) */
- LBP_NU = 16, /* numeric */
- LBP_PO = 17, /* postfix (numeric) */
- LBP_PR = 18, /* prefix (numeric) */
- LBP_SY = 19, /* symbols allowing breaks */
- LBP_AI = 40, /* ambiguous (alphabetic or ideograph) */
- LBP_AL = 20, /* ordinary alphabetic and symbol characters */
+ LBP_QU1 = 14, /* ambiguous quotation, neither initial nor final punctuation */
+ LBP_QU2 = 15, /* ambiguous quotation, initial punctuation */
+ LBP_QU3 = 16, /* ambiguous quotation, final punctuation */
+ LBP_IS = 17, /* infix separator (numeric) */
+ LBP_NU = 18, /* numeric */
+ LBP_PO = 19, /* postfix (numeric) */
+ LBP_PR = 20, /* prefix (numeric) */
+ LBP_SY = 21, /* symbols allowing breaks */
+ LBP_AI = 47, /* ambiguous (alphabetic or ideograph) */
+ LBP_AL = 22, /* ordinary alphabetic and symbol characters */
/*LBP_CJ, conditional Japanese starter, resolved to NS */
- LBP_H2 = 21, /* Hangul LV syllable */
- LBP_H3 = 22, /* Hangul LVT syllable */
- LBP_HL = 28, /* Hebrew letter */
- LBP_ID1 = 23, /* ideographic */
- LBP_ID2 = 24, /* ideographic and potential future emoji */
- LBP_JL = 25, /* Hangul L Jamo */
- LBP_JV = 26, /* Hangul V Jamo */
- LBP_JT = 27, /* Hangul T Jamo */
- LBP_RI = 29, /* regional indicator */
- LBP_SA = 41, /* complex context (South East Asian) */
- LBP_ZWJ = 30, /* zero width joiner */
- LBP_EB = 31, /* emoji base */
- LBP_EM = 32, /* emoji modifier */
- LBP_XX = 42, /* unknown */
+ LBP_H2 = 23, /* Hangul LV syllable */
+ LBP_H3 = 24, /* Hangul LVT syllable */
+ LBP_HL = 30, /* Hebrew letter */
+ LBP_ID1 = 25, /* ideographic */
+ LBP_ID2 = 26, /* ideographic and potential future emoji */
+ LBP_JL = 27, /* Hangul L Jamo */
+ LBP_JV = 28, /* Hangul V Jamo */
+ LBP_JT = 29, /* Hangul T Jamo */
+ LBP_AP = 31, /* Brahmic scripts: pre-base repha */
+ LBP_AK = 32, /* Brahmic scripts: consonants */
+ LBP_AS = 33, /* Brahmic scripts: independent vowels */
+ LBP_VI = 34, /* Brahmic scripts: conjoining viramas */
+ LBP_VF = 35, /* Brahmic scripts: viramas for final consonants */
+ LBP_RI = 36, /* regional indicator */
+ LBP_SA = 48, /* complex context (South East Asian) */
+ LBP_ZWJ = 37, /* zero width joiner */
+ LBP_EB = 38, /* emoji base */
+ LBP_EM = 39, /* emoji modifier */
+ LBP_XX = 49, /* unknown */
/* Artificial values that exist only at runtime, not in the tables. */
LBP_HL_BA = 100
};
@@ -108,7 +115,7 @@ unilbrkprop_lookup (ucs4_t uc)
#define I 2 /* indirect break opportunity, '%' in table 7.3 of UTR #14 */
#define P 3 /* prohibited break, '^' in table 7.3 of UTR #14 */
-extern const unsigned char unilbrk_table[33][33];
+extern const unsigned char unilbrk_table[40][40];
/* We don't support line breaking of complex-context dependent characters
(Thai, Lao, Myanmar, Khmer) yet, because it requires dictionary lookup. */
diff --git a/lib/unilbrk/u16-possible-linebreaks.c b/lib/unilbrk/u16-possible-linebreaks.c
index 2b79d6aa..6a9c15b7 100644
--- a/lib/unilbrk/u16-possible-linebreaks.c
+++ b/lib/unilbrk/u16-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-16 strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -62,6 +62,7 @@ u16_possible_linebreaks_loop (const uint16_t *s, size_t n, const char *encoding,
{
ucs4_t uc;
int count = u16_mbtouc_unsafe (&uc, s, s_end - s);
+ s += count;
int prop = unilbrkprop_lookup (uc);
if (prop == LBP_BK || prop == LBP_LF || prop == LBP_CR)
@@ -96,6 +97,62 @@ u16_possible_linebreaks_loop (const uint16_t *s, size_t n, const char *encoding,
/* This is arbitrary. */
prop = LBP_AL;
break;
+ case LBP_QU2:
+ /* For (LB15a): Replace LBP_QU2 with LBP_QU1 if the previous
+ character's line break property was not one of
+ BK, CR, LF, OP, QU, GL, SP, ZW. */
+ switch (prev_prop)
+ {
+ case LBP_BK:
+ case LBP_CR:
+ case LBP_LF:
+ case LBP_OP1: case LBP_OP2:
+ case LBP_QU1: case LBP_QU2: case LBP_QU3:
+ case LBP_GL:
+ case LBP_SP:
+ case LBP_ZW:
+ break;
+ default:
+ prop = LBP_QU1;
+ break;
+ }
+ break;
+ case LBP_QU3:
+ /* For (LB15b): Replace LBP_QU3 with LBP_QU1 if the next
+ character's line break property is not one of
+ BK, CR, LF, SP, GL, WJ, CL, QU, CP, EX, IS, SY, ZW. */
+ {
+ int next_prop;
+ if (s < s_end)
+ {
+ ucs4_t next_uc;
+ (void) u16_mbtouc_unsafe (&next_uc, s, s_end - s);
+ next_prop = unilbrkprop_lookup (next_uc);
+ }
+ else
+ next_prop = LBP_BK;
+ switch (next_prop)
+ {
+ case LBP_BK:
+ case LBP_CR:
+ case LBP_LF:
+ case LBP_SP:
+ case LBP_GL:
+ case LBP_WJ:
+ case LBP_CL:
+ case LBP_QU1: case LBP_QU2: case LBP_QU3:
+ case LBP_CP1: case LBP_CP2:
+ case LBP_EX:
+ case LBP_IS:
+ case LBP_SY:
+ case LBP_ZW:
+ break;
+ default:
+ prop = LBP_QU1;
+ break;
+ }
+ }
+ break;
}
/* Deal with spaces and combining characters. */
@@ -209,14 +266,16 @@ u16_possible_linebreaks_loop (const uint16_t *s, size_t n, const char *encoding,
else
ri_count = 0;
- s += count;
p += count;
}
while (s < s_end);
}
}
-#undef u16_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef u16_possible_linebreaks
void
u16_possible_linebreaks (const uint16_t *s, size_t n, const char *encoding,
@@ -225,6 +284,8 @@ u16_possible_linebreaks (const uint16_t *s, size_t n, const char *encoding,
u16_possible_linebreaks_loop (s, n, encoding, -1, p);
}
+#endif
+
void
u16_possible_linebreaks_v2 (const uint16_t *s, size_t n, const char *encoding,
char *p)
diff --git a/lib/unilbrk/u16-width-linebreaks.c b/lib/unilbrk/u16-width-linebreaks.c
index fed5282c..cdf46111 100644
--- a/lib/unilbrk/u16-width-linebreaks.c
+++ b/lib/unilbrk/u16-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-16 strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -118,7 +118,10 @@ u16_width_linebreaks_internal (const uint16_t *s, size_t n,
return last_column + piece_width;
}
-#undef u16_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef u16_width_linebreaks
int
u16_width_linebreaks (const uint16_t *s, size_t n,
@@ -131,6 +134,8 @@ u16_width_linebreaks (const uint16_t *s, size_t n,
o, encoding, -1, p);
}
+#endif
+
int
u16_width_linebreaks_v2 (const uint16_t *s, size_t n,
int width, int start_column, int at_end_columns,
diff --git a/lib/unilbrk/u32-possible-linebreaks.c b/lib/unilbrk/u32-possible-linebreaks.c
index 05fda96e..eb28891d 100644
--- a/lib/unilbrk/u32-possible-linebreaks.c
+++ b/lib/unilbrk/u32-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-32 strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -56,6 +56,7 @@ u32_possible_linebreaks_loop (const uint32_t *s, size_t n, const char *encoding,
do
{
ucs4_t uc = *s;
+ s++;
int prop = unilbrkprop_lookup (uc);
if (prop == LBP_BK || prop == LBP_LF || prop == LBP_CR)
@@ -90,6 +91,61 @@ u32_possible_linebreaks_loop (const uint32_t *s, size_t n, const char *encoding,
/* This is arbitrary. */
prop = LBP_AL;
break;
+ case LBP_QU2:
+ /* For (LB15a): Replace LBP_QU2 with LBP_QU1 if the previous
+ character's line break property was not one of
+ BK, CR, LF, OP, QU, GL, SP, ZW. */
+ switch (prev_prop)
+ {
+ case LBP_BK:
+ case LBP_CR:
+ case LBP_LF:
+ case LBP_OP1: case LBP_OP2:
+ case LBP_QU1: case LBP_QU2: case LBP_QU3:
+ case LBP_GL:
+ case LBP_SP:
+ case LBP_ZW:
+ break;
+ default:
+ prop = LBP_QU1;
+ break;
+ }
+ break;
+ case LBP_QU3:
+ /* For (LB15b): Replace LBP_QU3 with LBP_QU1 if the next
+ character's line break property is not one of
+ BK, CR, LF, SP, GL, WJ, CL, QU, CP, EX, IS, SY, ZW. */
+ {
+ int next_prop;
+ if (s < s_end)
+ {
+ ucs4_t next_uc = *s;
+ next_prop = unilbrkprop_lookup (next_uc);
+ }
+ else
+ next_prop = LBP_BK;
+ switch (next_prop)
+ {
+ case LBP_BK:
+ case LBP_CR:
+ case LBP_LF:
+ case LBP_SP:
+ case LBP_GL:
+ case LBP_WJ:
+ case LBP_CL:
+ case LBP_QU1: case LBP_QU2: case LBP_QU3:
+ case LBP_CP1: case LBP_CP2:
+ case LBP_EX:
+ case LBP_IS:
+ case LBP_SY:
+ case LBP_ZW:
+ break;
+ default:
+ prop = LBP_QU1;
+ break;
+ }
+ }
+ break;
}
/* Deal with spaces and combining characters. */
@@ -203,14 +259,16 @@ u32_possible_linebreaks_loop (const uint32_t *s, size_t n, const char *encoding,
else
ri_count = 0;
- s++;
p++;
}
while (s < s_end);
}
}
-#undef u32_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef u32_possible_linebreaks
void
u32_possible_linebreaks (const uint32_t *s, size_t n, const char *encoding,
@@ -219,6 +277,8 @@ u32_possible_linebreaks (const uint32_t *s, size_t n, const char *encoding,
u32_possible_linebreaks_loop (s, n, encoding, -1, p);
}
+#endif
+
void
u32_possible_linebreaks_v2 (const uint32_t *s, size_t n, const char *encoding,
char *p)
diff --git a/lib/unilbrk/u32-width-linebreaks.c b/lib/unilbrk/u32-width-linebreaks.c
index 554ef915..c731ff5e 100644
--- a/lib/unilbrk/u32-width-linebreaks.c
+++ b/lib/unilbrk/u32-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-32 strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -116,7 +116,10 @@ u32_width_linebreaks_internal (const uint32_t *s, size_t n,
return last_column + piece_width;
}
-#undef u32_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef u32_width_linebreaks
int
u32_width_linebreaks (const uint32_t *s, size_t n,
@@ -129,6 +132,8 @@ u32_width_linebreaks (const uint32_t *s, size_t n,
o, encoding, -1, p);
}
+#endif
+
int
u32_width_linebreaks_v2 (const uint32_t *s, size_t n,
int width, int start_column, int at_end_columns,
diff --git a/lib/unilbrk/u8-possible-linebreaks.c b/lib/unilbrk/u8-possible-linebreaks.c
index bc19f801..72d0749b 100644
--- a/lib/unilbrk/u8-possible-linebreaks.c
+++ b/lib/unilbrk/u8-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-8 strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -62,6 +62,7 @@ u8_possible_linebreaks_loop (const uint8_t *s, size_t n, const char *encoding,
{
ucs4_t uc;
int count = u8_mbtouc_unsafe (&uc, s, s_end - s);
+ s += count;
int prop = unilbrkprop_lookup (uc);
if (prop == LBP_BK || prop == LBP_LF || prop == LBP_CR)
@@ -96,6 +97,62 @@ u8_possible_linebreaks_loop (const uint8_t *s, size_t n, const char *encoding,
/* This is arbitrary. */
prop = LBP_AL;
break;
+ case LBP_QU2:
+ /* For (LB15a): Replace LBP_QU2 with LBP_QU1 if the previous
+ character's line break property was not one of
+ BK, CR, LF, OP, QU, GL, SP, ZW. */
+ switch (prev_prop)
+ {
+ case LBP_BK:
+ case LBP_CR:
+ case LBP_LF:
+ case LBP_OP1: case LBP_OP2:
+ case LBP_QU1: case LBP_QU2: case LBP_QU3:
+ case LBP_GL:
+ case LBP_SP:
+ case LBP_ZW:
+ break;
+ default:
+ prop = LBP_QU1;
+ break;
+ }
+ break;
+ case LBP_QU3:
+ /* For (LB15b): Replace LBP_QU3 with LBP_QU1 if the next
+ character's line break property is not one of
+ BK, CR, LF, SP, GL, WJ, CL, QU, CP, EX, IS, SY, ZW. */
+ {
+ int next_prop;
+ if (s < s_end)
+ {
+ ucs4_t next_uc;
+ (void) u8_mbtouc_unsafe (&next_uc, s, s_end - s);
+ next_prop = unilbrkprop_lookup (next_uc);
+ }
+ else
+ next_prop = LBP_BK;
+ switch (next_prop)
+ {
+ case LBP_BK:
+ case LBP_CR:
+ case LBP_LF:
+ case LBP_SP:
+ case LBP_GL:
+ case LBP_WJ:
+ case LBP_CL:
+ case LBP_QU1: case LBP_QU2: case LBP_QU3:
+ case LBP_CP1: case LBP_CP2:
+ case LBP_EX:
+ case LBP_IS:
+ case LBP_SY:
+ case LBP_ZW:
+ break;
+ default:
+ prop = LBP_QU1;
+ break;
+ }
+ }
+ break;
}
/* Deal with spaces and combining characters. */
@@ -209,14 +266,16 @@ u8_possible_linebreaks_loop (const uint8_t *s, size_t n, const char *encoding,
else
ri_count = 0;
- s += count;
p += count;
}
while (s < s_end);
}
}
-#undef u8_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef u8_possible_linebreaks
void
u8_possible_linebreaks (const uint8_t *s, size_t n, const char *encoding,
@@ -225,6 +284,8 @@ u8_possible_linebreaks (const uint8_t *s, size_t n, const char *encoding,
u8_possible_linebreaks_loop (s, n, encoding, -1, p);
}
+#endif
+
void
u8_possible_linebreaks_v2 (const uint8_t *s, size_t n, const char *encoding,
char *p)
diff --git a/lib/unilbrk/u8-width-linebreaks.c b/lib/unilbrk/u8-width-linebreaks.c
index 9e11ca87..f86ce4a9 100644
--- a/lib/unilbrk/u8-width-linebreaks.c
+++ b/lib/unilbrk/u8-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-8 strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -118,7 +118,10 @@ u8_width_linebreaks_internal (const uint8_t *s, size_t n,
return last_column + piece_width;
}
-#undef u8_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef u8_width_linebreaks
int
u8_width_linebreaks (const uint8_t *s, size_t n,
@@ -131,6 +134,8 @@ u8_width_linebreaks (const uint8_t *s, size_t n,
o, encoding, -1, p);
}
+#endif
+
int
u8_width_linebreaks_v2 (const uint8_t *s, size_t n,
int width, int start_column, int at_end_columns,
diff --git a/lib/unilbrk/ulc-common.c b/lib/unilbrk/ulc-common.c
index f859dae6..2eb0fc38 100644
--- a/lib/unilbrk/ulc-common.c
+++ b/lib/unilbrk/ulc-common.c
@@ -1,5 +1,5 @@
/* Line breaking auxiliary functions.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unilbrk/ulc-common.h b/lib/unilbrk/ulc-common.h
index d4e422e5..d2d9f2ec 100644
--- a/lib/unilbrk/ulc-common.h
+++ b/lib/unilbrk/ulc-common.h
@@ -1,5 +1,5 @@
/* Line breaking auxiliary functions.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unilbrk/ulc-possible-linebreaks.c b/lib/unilbrk/ulc-possible-linebreaks.c
index 7b81685e..4be1f987 100644
--- a/lib/unilbrk/ulc-possible-linebreaks.c
+++ b/lib/unilbrk/ulc-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -132,7 +132,10 @@ ulc_possible_linebreaks_internal (const char *s, size_t n, const char *encoding,
}
}
-#undef ulc_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef ulc_possible_linebreaks
void
ulc_possible_linebreaks (const char *s, size_t n, const char *encoding,
@@ -141,6 +144,8 @@ ulc_possible_linebreaks (const char *s, size_t n, const char *encoding,
ulc_possible_linebreaks_internal (s, n, encoding, -1, p);
}
+#endif
+
void
ulc_possible_linebreaks_v2 (const char *s, size_t n, const char *encoding,
char *p)
diff --git a/lib/unilbrk/ulc-width-linebreaks.c b/lib/unilbrk/ulc-width-linebreaks.c
index dc72306c..bae6a57f 100644
--- a/lib/unilbrk/ulc-width-linebreaks.c
+++ b/lib/unilbrk/ulc-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
@@ -151,7 +151,10 @@ ulc_width_linebreaks_internal (const char *s, size_t n,
return start_column;
}
-#undef ulc_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring. */
+
+# undef ulc_width_linebreaks
int
ulc_width_linebreaks (const char *s, size_t n,
@@ -164,6 +167,8 @@ ulc_width_linebreaks (const char *s, size_t n,
o, encoding, -1, p);
}
+#endif
+
int
ulc_width_linebreaks_v2 (const char *s, size_t n,
int width, int start_column, int at_end_columns,
diff --git a/lib/unimetadata.in.h b/lib/unimetadata.in.h
new file mode 100644
index 00000000..4e23350d
--- /dev/null
+++ b/lib/unimetadata.in.h
@@ -0,0 +1,39 @@
+/* Meta information about GNU libunistring.
+ Copyright (C) 2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _UNIMETADATA_H
+#define _UNIMETADATA_H
+
+#if @HAVE_UNISTRING_WOE32DLL_H@
+# include <unistring/woe32dll.h>
+#else
+# define LIBUNISTRING_DLL_VARIABLE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Supported Unicode version number: (major<<8) + minor */
+extern @GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE@ const int _libunistring_unicode_version;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNIMETADATA_H */
diff --git a/lib/unimetadata/u-version.c b/lib/unimetadata/u-version.c
new file mode 100644
index 00000000..95ff0dcf
--- /dev/null
+++ b/lib/unimetadata/u-version.c
@@ -0,0 +1,33 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Supported Unicode version. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+
+/* Copyright (C) 2024 Free Software Foundation, Inc.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unimetadata.h"
+
+const int _libunistring_unicode_version = (15 << 8) | 1;
diff --git a/lib/uniname.in.h b/lib/uniname.in.h
index affdb73d..e5d6ee63 100644
--- a/lib/uniname.in.h
+++ b/lib/uniname.in.h
@@ -1,5 +1,5 @@
/* Association between Unicode characters and their names.
- Copyright (C) 2000-2002, 2005, 2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 2000-2002, 2005, 2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/uniname/gen-uninames.lisp b/lib/uniname/gen-uninames.lisp
index 7a462220..1b0c60cf 100755
--- a/lib/uniname/gen-uninames.lisp
+++ b/lib/uniname/gen-uninames.lisp
@@ -2,7 +2,7 @@
;;; Creation of gnulib's uninames.h from the UnicodeData.txt table.
-;;; Copyright (C) 2000-2022 Free Software Foundation, Inc.
+;;; Copyright (C) 2000-2024 Free Software Foundation, Inc.
;;; Written by Bruno Haible <bruno@clisp.org>, 2000-12-28.
;;;
;;; This program is free software.
@@ -176,7 +176,7 @@
(format ostream " * Unicode character name table.~%")
(format ostream " * Generated automatically by the gen-uninames utility.~%")
(format ostream " */~%")
- (format ostream "/* Copyright (C) 2000-2022 Free Software Foundation, Inc.~%")
+ (format ostream "/* Copyright (C) 2000-2024 Free Software Foundation, Inc.~%")
(format ostream "~%")
(format ostream " This file is free software.~%")
(format ostream " It is dual-licensed under \"the GNU LGPLv3+ or the GNU GPLv2+\".~%")
diff --git a/lib/uniname/uniname.c b/lib/uniname/uniname.c
index 000b00fe..28e2eb70 100644
--- a/lib/uniname/uniname.c
+++ b/lib/uniname/uniname.c
@@ -1,5 +1,5 @@
/* Association between Unicode characters and their names.
- Copyright (C) 2000-2002, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2000-2002, 2005-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -245,7 +245,7 @@ unicode_character_name (ucs4_t c, char *buf)
unsigned int index3;
const char *q;
- /* buf needs to have at least 16 + 7 bytes here. */
+ /* buf needs to have at least 16 + 7 + 1 bytes here. */
memcpy (buf, "HANGUL SYLLABLE ", 16);
ptr = buf + 16;
@@ -274,7 +274,7 @@ unicode_character_name (ucs4_t c, char *buf)
char *ptr;
int i;
- /* buf needs to have at least 28 + 5 bytes here. */
+ /* buf needs to have at least 28 + 5 + 1 bytes here. */
memcpy (buf, "CJK COMPATIBILITY IDEOGRAPH-", 28);
ptr = buf + 28;
@@ -291,8 +291,8 @@ unicode_character_name (ucs4_t c, char *buf)
/* Special case for variation selectors. Keeps the tables
small. */
- /* buf needs to have at least 19 + 3 bytes here. */
- sprintf (buf, "VARIATION SELECTOR-%d",
+ /* buf needs to have at least 19 + 3 + 1 bytes here. */
+ sprintf (buf, "VARIATION SELECTOR-%u",
c <= 0xFE0F ? c - 0xFE00 + 1 : c - 0xE0100 + 17);
return buf;
}
@@ -339,7 +339,8 @@ unicode_character_name (ucs4_t c, char *buf)
if (words != NULL)
{
/* Found it in unicode_index_to_name. Now concatenate the words. */
- /* buf needs to have at least UNICODE_CHARNAME_MAX_LENGTH bytes. */
+ /* buf needs to have at least UNICODE_CHARNAME_MAX_LENGTH + 1
+ bytes. */
char *ptr = buf;
for (;;)
{
diff --git a/lib/uniname/uninames.h b/lib/uniname/uninames.h
index 85aeec78..c4b596ca 100644
--- a/lib/uniname/uninames.h
+++ b/lib/uniname/uninames.h
@@ -5,7 +5,7 @@
* Unicode character name table.
* Generated automatically by the gen-uninames utility.
*/
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -28,7 +28,7 @@
License and of the GNU General Public License along with this
program. If not, see <https://www.gnu.org/licenses/>. */
-static const char unicode_name_words[91509] = {
+static const char unicode_name_words[91530] = {
'A',
'B',
'C',
@@ -11226,6 +11226,7 @@ static const char unicode_name_words[91509] = {
'Q', 'U', 'A', 'T', 'E', 'R', 'N', 'I', 'O', 'N',
'Q', 'U', 'E', 'S', 'T', 'I', 'O', 'N', 'E', 'D',
'R', 'E', 'C', 'I', 'T', 'A', 'T', 'I', 'V', 'E',
+ 'R', 'E', 'F', 'L', 'E', 'C', 'T', 'I', 'O', 'N',
'R', 'E', 'G', 'I', 'S', 'T', 'E', 'R', 'E', 'D',
'R', 'E', 'L', 'A', 'T', 'I', 'O', 'N', 'A', 'L',
'R', 'E', 'P', 'E', 'T', 'I', 'T', 'I', 'O', 'N',
@@ -11581,6 +11582,7 @@ static const char unicode_name_words[91509] = {
'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', '-', '2',
'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', '-', '3',
'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'I', 'O', 'N',
+ 'S', 'U', 'B', 'T', 'R', 'A', 'C', 'T', 'I', 'O', 'N',
'S', 'U', 'P', 'E', 'R', 'S', 'C', 'R', 'I', 'P', 'T',
'S', 'U', 'P', 'R', 'A', 'L', 'I', 'N', 'E', 'A', 'R',
'S', 'Y', 'N', 'C', 'H', 'R', 'O', 'N', 'O', 'U', 'S',
@@ -13834,7 +13836,7 @@ static const char unicode_name_words[91509] = {
'P', 'A', 'S', 'S', 'I', 'V', 'E', '-', 'P', 'U', 'L', 'L', '-', 'D', 'O', 'W', 'N', '-', 'O', 'U', 'T', 'P', 'U', 'T',
'T', 'H', 'R', 'E', 'E', '-', 'H', 'U', 'N', 'D', 'R', 'E', 'D', '-', 'A', 'N', 'D', '-', 'T', 'W', 'E', 'N', 'T', 'I', 'E', 'T', 'H',
};
-#define UNICODE_CHARNAME_NUM_WORDS 13804
+#define UNICODE_CHARNAME_NUM_WORDS 13806
static const struct { uint32_t extra_offset; uint16_t ind_offset; } unicode_name_by_length[29] = {
{ 0, 0 },
{ 0, 0 },
@@ -13847,31 +13849,31 @@ static const struct { uint32_t extra_offset; uint16_t ind_offset; } unicode_name
{ 42543, 9636 },
{ 48447, 10374 },
{ 53397, 10924 },
- { 57207, 11305 },
- { 60243, 11581 },
- { 62247, 11748 },
- { 73544, 12617 },
- { 75616, 12765 },
- { 89131, 13666 },
- { 90315, 13740 },
- { 90655, 13760 },
- { 91033, 13781 },
- { 91223, 13791 },
- { 91283, 13794 },
- { 91367, 13798 },
- { 91411, 13800 },
- { 91434, 13801 },
- { 91482, 13803 },
- { 91482, 13803 },
- { 91482, 13803 },
- { 91509, 13804 }
+ { 57217, 11306 },
+ { 60264, 11583 },
+ { 62268, 11750 },
+ { 73565, 12619 },
+ { 75637, 12767 },
+ { 89152, 13668 },
+ { 90336, 13742 },
+ { 90676, 13762 },
+ { 91054, 13783 },
+ { 91244, 13793 },
+ { 91304, 13796 },
+ { 91388, 13800 },
+ { 91432, 13802 },
+ { 91455, 13803 },
+ { 91503, 13805 },
+ { 91503, 13805 },
+ { 91503, 13805 },
+ { 91530, 13806 }
};
#define UNICODE_CHARNAME_WORD_HANGUL 8090
#define UNICODE_CHARNAME_WORD_SYLLABLE 10273
#define UNICODE_CHARNAME_WORD_CJK 569
-#define UNICODE_CHARNAME_WORD_COMPATIBILITY 11758
+#define UNICODE_CHARNAME_WORD_COMPATIBILITY 11760
#define UNICODE_CHARNAME_WORD_VARIATION 10901
-static const uint16_t unicode_names[132374] = {
+static const uint16_t unicode_names[132400] = {
17, 8311, 3921, 7389, 10510,
23, 3, 959, 17140,
37, 323, 20626,
@@ -13881,14 +13883,14 @@ static const uint16_t unicode_names[132374] = {
51, 20167, 8229, 17611, 17646,
51, 20167, 10572,
51, 20167, 11073, 12838,
- 51, 20167, 14521, 25534,
+ 51, 20167, 14521, 25538,
51, 20167, 14557, 13501, 17646,
51, 20167, 14557, 17611, 17646,
- 51, 20167, 15943, 25534,
+ 51, 20167, 15943, 25538,
51, 20167, 16941, 16774,
51, 20167, 16941, 22376,
- 51, 20167, 16941, 22662,
- 51, 20167, 22397, 22662,
+ 51, 20167, 16941, 22664,
+ 51, 20167, 22399, 22664,
63, 17774,
169, 2623, 16423, 17140,
203, 6502,
@@ -13904,7 +13906,7 @@ static const uint16_t unicode_names[132374] = {
487, 16776,
487, 18947, 17140,
487, 19410,
- 487, 22970,
+ 487, 22972,
515, 7389, 10510,
517, 12597, 455, 19150,
517, 12597, 5420,
@@ -13952,10 +13954,10 @@ static const uint16_t unicode_names[132374] = {
517, 12597, 18015, 20664,
517, 12597, 20262,
517, 12597, 22297, 20664,
- 517, 12597, 22999, 15969, 16548,
- 517, 12597, 22999, 16548,
+ 517, 12597, 23001, 15969, 16548,
+ 517, 12597, 23001, 16548,
519, 17140,
- 521, 11445, 22789, 8757, 11445, 8229, 14557, 12343, 12248,
+ 521, 11445, 22791, 8757, 11445, 8229, 14557, 12343, 12248,
529, 11445, 1285, 16248,
540,
630,
@@ -13968,8 +13970,8 @@ static const uint16_t unicode_names[132374] = {
697, 6657, 12449, 12342,
697, 6657, 15335, 12342,
697, 6657, 15969, 12342,
- 697, 6657, 22421, 12342,
- 697, 6657, 27323, 12342,
+ 697, 6657, 22423, 12342,
+ 697, 6657, 27327, 12342,
697, 6987, 10790,
697, 10784,
697, 10785, 11445, 15815, 12248,
@@ -15202,7 +15204,7 @@ static const uint16_t unicode_names[132374] = {
781, 20547, 21275, 8756,
845, 16980,
885, 13093, 660,
- 885, 25236,
+ 885, 25240,
886,
893, 11445, 1284,
902,
@@ -15243,8 +15245,8 @@ static const uint16_t unicode_names[132374] = {
911, 22165, 17141, 9933, 21109, 12342,
911, 22165, 17141, 9933, 21313, 12342,
911, 22165, 17141, 9933, 21314,
- 911, 22165, 17141, 9933, 22417, 12342,
- 911, 22165, 17141, 9933, 23278,
+ 911, 22165, 17141, 9933, 22419, 12342,
+ 911, 22165, 17141, 9933, 23282,
911, 22165, 17141, 10625, 20950,
911, 22165, 17141, 12296,
911, 22165, 17141, 12297, 20688,
@@ -15274,8 +15276,8 @@ static const uint16_t unicode_names[132374] = {
911, 22165, 17141, 21109, 11292,
911, 22165, 17141, 21313, 11292,
911, 22165, 17141, 21561, 20688,
- 911, 22165, 17141, 22417, 11292,
- 911, 22165, 17141, 23279, 20950,
+ 911, 22165, 17141, 22419, 11292,
+ 911, 22165, 17141, 23283, 20950,
912,
936,
959, 507, 10560,
@@ -15562,42 +15564,42 @@ static const uint16_t unicode_names[132374] = {
1139, 18777, 17728,
1139, 18777, 19498,
1139, 18777, 21992,
- 1139, 18777, 22481, 7385, 10979, 15096,
- 1139, 18777, 22481, 7624,
- 1139, 18777, 22481, 11398,
- 1139, 18777, 22481, 15330,
- 1139, 18777, 22481, 17436,
- 1139, 18777, 23203, 1348,
- 1139, 18777, 23203, 1472,
- 1139, 18777, 23203, 3168,
- 1139, 18777, 23203, 6040,
- 1139, 18777, 23203, 6188,
- 1139, 18777, 23203, 6836,
- 1139, 18777, 23203, 6986,
- 1139, 18777, 23203, 7018,
- 1139, 18777, 23203, 7168,
- 1139, 18777, 23203, 7288,
- 1139, 18777, 23203, 8224,
- 1139, 18777, 23203, 8298,
- 1139, 18777, 23203, 10322,
- 1139, 18777, 23203, 10516,
- 1139, 18777, 23203, 11436,
- 1139, 18777, 23203, 13448,
- 1139, 18777, 23203, 14708,
- 1139, 18777, 23203, 15066,
- 1139, 18777, 23203, 15970,
- 1139, 18777, 23203, 17054,
- 1139, 18777, 23203, 17167, 18324,
- 1139, 18777, 23203, 17306,
- 1139, 18777, 23313, 6836,
- 1139, 18777, 23313, 15066,
- 1139, 18777, 23313, 15970,
- 1139, 18777, 23313, 17306,
- 1139, 23517, 25360,
- 1139, 23517, 25362,
- 1139, 23517, 25364,
- 1139, 23517, 25366,
- 1139, 23517, 25368,
+ 1139, 18777, 22483, 7385, 10979, 15096,
+ 1139, 18777, 22483, 7624,
+ 1139, 18777, 22483, 11398,
+ 1139, 18777, 22483, 15330,
+ 1139, 18777, 22483, 17436,
+ 1139, 18777, 23207, 1348,
+ 1139, 18777, 23207, 1472,
+ 1139, 18777, 23207, 3168,
+ 1139, 18777, 23207, 6040,
+ 1139, 18777, 23207, 6188,
+ 1139, 18777, 23207, 6836,
+ 1139, 18777, 23207, 6986,
+ 1139, 18777, 23207, 7018,
+ 1139, 18777, 23207, 7168,
+ 1139, 18777, 23207, 7288,
+ 1139, 18777, 23207, 8224,
+ 1139, 18777, 23207, 8298,
+ 1139, 18777, 23207, 10322,
+ 1139, 18777, 23207, 10516,
+ 1139, 18777, 23207, 11436,
+ 1139, 18777, 23207, 13448,
+ 1139, 18777, 23207, 14708,
+ 1139, 18777, 23207, 15066,
+ 1139, 18777, 23207, 15970,
+ 1139, 18777, 23207, 17054,
+ 1139, 18777, 23207, 17167, 18324,
+ 1139, 18777, 23207, 17306,
+ 1139, 18777, 23317, 6836,
+ 1139, 18777, 23317, 15066,
+ 1139, 18777, 23317, 15970,
+ 1139, 18777, 23317, 17306,
+ 1139, 23521, 25364,
+ 1139, 23521, 25366,
+ 1139, 23521, 25368,
+ 1139, 23521, 25370,
+ 1139, 23521, 25372,
1150,
1151, 6952,
1159, 521, 12449, 17076,
@@ -15734,7 +15736,7 @@ static const uint16_t unicode_names[132374] = {
2187, 21392,
2187, 21563, 10511, 412,
2187, 21563, 10511, 2682,
- 2187, 23207, 8756,
+ 2187, 23211, 8756,
2212,
2218,
2279, 507, 18006,
@@ -15987,10 +15989,10 @@ static const uint16_t unicode_names[132374] = {
2603, 20891, 14735, 7475, 10964,
2603, 20891, 14735, 16895, 10964,
2603, 20891, 15969, 1285, 12248,
- 2603, 20891, 23345, 8756,
+ 2603, 20891, 23349, 8756,
2603, 21966,
2603, 22236,
- 2603, 22789, 8756,
+ 2603, 22791, 8756,
2620,
2623, 1, 17115, 506,
2623, 1, 20535, 506,
@@ -16009,8 +16011,8 @@ static const uint16_t unicode_names[132374] = {
2623, 21243, 660,
2623, 21314,
2623, 22139, 660,
- 2623, 23278,
- 2623, 25241, 13093, 660,
+ 2623, 23282,
+ 2623, 25245, 13093, 660,
2663, 893, 6060,
2713, 1029, 3400,
2713, 6017, 15734,
@@ -16019,7 +16021,7 @@ static const uint16_t unicode_names[132374] = {
2713, 7612,
2713, 12574,
2713, 15587, 507, 12580,
- 2713, 15717, 5945, 25260,
+ 2713, 15717, 5945, 25264,
2713, 15969, 20808,
2713, 19553, 17479, 16646,
2713, 19955, 7010,
@@ -16262,10 +16264,10 @@ static const uint16_t unicode_names[132374] = {
2733, 17355, 20891, 1285, 12426,
2733, 17355, 20891, 3501, 6653, 12248,
2733, 17355, 20891, 3501, 6653, 12426,
- 2733, 17355, 22999, 958,
- 2733, 17355, 22999, 3501, 5948,
- 2733, 17355, 22999, 3501, 6652,
- 2733, 17355, 22999, 7015, 6652,
+ 2733, 17355, 23001, 958,
+ 2733, 17355, 23001, 3501, 5948,
+ 2733, 17355, 23001, 3501, 6652,
+ 2733, 17355, 23001, 7015, 6652,
2733, 17709, 7613, 8756,
2733, 17709, 21275, 8756,
2733, 18659, 10511, 0,
@@ -16308,10 +16310,10 @@ static const uint16_t unicode_names[132374] = {
2733, 18659, 10511, 17662,
2733, 18659, 10511, 20930,
2733, 18659, 10511, 21898,
- 2733, 18659, 10511, 22686,
- 2733, 18659, 10511, 23190,
- 2733, 18659, 10511, 23192,
- 2733, 18659, 10511, 23490,
+ 2733, 18659, 10511, 22688,
+ 2733, 18659, 10511, 23194,
+ 2733, 18659, 10511, 23196,
+ 2733, 18659, 10511, 23494,
2733, 18659, 11469, 17846,
2733, 18659, 16647, 2736,
2733, 18659, 16647, 3376,
@@ -16346,7 +16348,7 @@ static const uint16_t unicode_names[132374] = {
2733, 18953, 16393, 16372,
2733, 18953, 16393, 16918,
2733, 18953, 16393, 20771, 5514,
- 2733, 18953, 16393, 27452,
+ 2733, 18953, 16393, 27456,
2733, 18953, 16647, 2736,
2733, 18953, 16647, 2737, 18102,
2733, 18953, 16647, 3376,
@@ -16357,7 +16359,7 @@ static const uint16_t unicode_names[132374] = {
2733, 18953, 16647, 17214,
2733, 18953, 16647, 17314,
2733, 18953, 19849, 2737, 7384,
- 2733, 18953, 20031, 22636,
+ 2733, 18953, 20031, 22638,
2733, 20259, 19514,
2733, 21239, 14807, 16393, 0,
2733, 21239, 14807, 16393, 8,
@@ -16467,7 +16469,7 @@ static const uint16_t unicode_names[132374] = {
2733, 21239, 17671, 16393, 22125, 10510,
2733, 21239, 17671, 16393, 22311, 504,
2733, 21239, 17671, 16393, 22311, 682,
- 2737, 1285, 9725, 3501, 6653, 22998,
+ 2737, 1285, 9725, 3501, 6653, 23000,
2737, 1285, 16378,
2737, 15741, 13928,
2760,
@@ -16524,10 +16526,10 @@ static const uint16_t unicode_names[132374] = {
2779, 1131, 1689, 21349, 10964,
2779, 1131, 1689, 21349, 10965, 8299, 13174,
2779, 1131, 1689, 21349, 10965, 13174,
- 2779, 1131, 1689, 22885, 10964,
- 2779, 1131, 1689, 22885, 10965, 8298,
- 2779, 1131, 1689, 22885, 10965, 8299, 13174,
- 2779, 1131, 1689, 22885, 10965, 13174,
+ 2779, 1131, 1689, 22887, 10964,
+ 2779, 1131, 1689, 22887, 10965, 8298,
+ 2779, 1131, 1689, 22887, 10965, 8299, 13174,
+ 2779, 1131, 1689, 22887, 10965, 13174,
2781, 16828,
2786,
2788,
@@ -16540,8 +16542,8 @@ static const uint16_t unicode_names[132374] = {
2816,
2817, 6952,
2817, 9382,
- 2839, 22709, 18136,
- 2839, 22709, 22160,
+ 2839, 22711, 18136,
+ 2839, 22711, 22160,
2841, 507, 7004,
2873, 16423, 323, 1881, 14443, 17140,
3008,
@@ -16567,7 +16569,7 @@ static const uint16_t unicode_names[132374] = {
3335, 7029, 10630,
3335, 8229, 12863, 17646,
3335, 8229, 17077, 17646,
- 3335, 8229, 22966,
+ 3335, 8229, 22968,
3335, 9843, 10510,
3335, 12838,
3335, 12844,
@@ -16636,7 +16638,7 @@ static const uint16_t unicode_names[132374] = {
3335, 13685, 17671, 16393, 50,
3335, 14557, 12863, 17646,
3335, 14557, 17077, 17646,
- 3335, 14557, 22966,
+ 3335, 14557, 22968,
3335, 14828,
3335, 15028,
3335, 15941, 10510,
@@ -16655,9 +16657,9 @@ static const uint16_t unicode_names[132374] = {
3335, 21876,
3335, 21927, 15560,
3335, 21929, 94,
- 3335, 22789, 8756,
- 3335, 23279, 10510,
- 3335, 23294,
+ 3335, 22791, 8756,
+ 3335, 23283, 10510,
+ 3335, 23298,
3339, 399, 16393, 0,
3339, 399, 16393, 8,
3339, 399, 16393, 16,
@@ -16727,7 +16729,7 @@ static const uint16_t unicode_names[132374] = {
3339, 10863, 10511, 20365, 18831, 10034,
3339, 10863, 10511, 21293, 13562,
3339, 10863, 10511, 21830,
- 3339, 10863, 10511, 22422,
+ 3339, 10863, 10511, 22424,
3339, 10863, 10863, 12989, 2736,
3339, 10863, 10863, 12989, 3208,
3339, 10863, 10863, 12989, 3500,
@@ -16810,7 +16812,7 @@ static const uint16_t unicode_names[132374] = {
3339, 10863, 16393, 10034,
3339, 10863, 16393, 10036,
3339, 10863, 16393, 13333, 614,
- 3339, 10863, 20891, 25059, 1284,
+ 3339, 10863, 20891, 25063, 1284,
3339, 10863, 20907, 10511, 108,
3339, 10863, 20907, 10511, 395, 10801, 2178,
3339, 10863, 20907, 10511, 426,
@@ -16894,12 +16896,12 @@ static const uint16_t unicode_names[132374] = {
3339, 11319, 17141, 14232,
3401, 9725, 19944,
3437, 913, 20883, 12343, 11445, 13904,
- 3437, 913, 23499, 12342,
- 3437, 913, 23499, 12343, 11445, 9842,
+ 3437, 913, 23503, 12342,
+ 3437, 913, 23503, 12343, 11445, 9842,
3437, 1686,
- 3437, 7385, 8229, 22966,
+ 3437, 7385, 8229, 22968,
3437, 7385, 12449, 15814,
- 3437, 7385, 14557, 22966,
+ 3437, 7385, 14557, 22968,
3437, 7385, 18873, 10510,
3437, 7385, 19948,
3437, 8229, 6324,
@@ -16912,11 +16914,11 @@ static const uint16_t unicode_names[132374] = {
3437, 14557, 15850,
3437, 17077, 17646,
3437, 20615, 14709, 17646,
- 3437, 22966,
+ 3437, 22968,
3501, 1285, 16378,
- 3501, 1285, 22998,
+ 3501, 1285, 23000,
3501, 2389, 18097, 13370,
- 3501, 6653, 9725, 2737, 1285, 22998,
+ 3501, 6653, 9725, 2737, 1285, 23000,
3501, 15353, 18097, 13370,
3501, 15741, 13928,
3501, 16190,
@@ -16924,10 +16926,10 @@ static const uint16_t unicode_names[132374] = {
3501, 17055, 17656,
3501, 18349, 529, 20188,
3501, 18349, 893, 20188,
- 3501, 20799, 17509, 22588,
- 3501, 22669, 15993, 14766,
- 3501, 23307, 18349, 528,
- 3501, 23307, 18349, 892,
+ 3501, 20799, 17509, 22590,
+ 3501, 22671, 15993, 14766,
+ 3501, 23311, 18349, 528,
+ 3501, 23311, 18349, 892,
3619, 7029, 10630,
3619, 12844,
3619, 12989, 2736,
@@ -17315,7 +17317,7 @@ static const uint16_t unicode_names[132374] = {
6007, 6952,
6013, 2450,
6014,
- 6015, 11445, 23207, 17106,
+ 6015, 11445, 23211, 17106,
6015, 16742,
6015, 17140,
6021, 12343, 20283, 21109, 10875, 14155, 6788,
@@ -17336,7 +17338,7 @@ static const uint16_t unicode_names[132374] = {
6073, 507, 18104,
6073, 11445, 14844,
6075, 17140,
- 6101, 323, 22476,
+ 6101, 323, 22478,
6107, 14337, 8756,
6165, 3572,
6171, 435, 7388,
@@ -17426,16 +17428,16 @@ static const uint16_t unicode_names[132374] = {
6221, 20907, 10511, 13175, 14,
6221, 20907, 10511, 13175, 24,
6221, 20907, 10511, 13175, 474,
- 6221, 22999, 12938,
- 6221, 22999, 15969, 12938,
- 6221, 22999, 17058,
- 6221, 22999, 17275, 12938,
+ 6221, 23001, 12938,
+ 6221, 23001, 15969, 12938,
+ 6221, 23001, 17058,
+ 6221, 23001, 17275, 12938,
6304,
6308,
6322,
6329, 10122,
6499, 14680,
- 6499, 22534,
+ 6499, 22536,
6503, 11445, 8229, 17344,
6503, 17140,
6571, 16748,
@@ -17492,9 +17494,9 @@ static const uint16_t unicode_names[132374] = {
6953, 11445, 20277, 6838,
6953, 11445, 21629, 17270,
6953, 11445, 21629, 17271, 893, 19243, 1424,
- 6953, 11445, 21629, 17271, 893, 25415, 6838,
- 6953, 11445, 23116,
- 6953, 11445, 23282,
+ 6953, 11445, 21629, 17271, 893, 25419, 6838,
+ 6953, 11445, 23120,
+ 6953, 11445, 23286,
6953, 18097, 5925, 14956,
6953, 18408,
6953, 19245, 13930,
@@ -17507,24 +17509,24 @@ static const uint16_t unicode_names[132374] = {
6981, 21480,
6982,
6983, 15990,
- 6983, 23264,
+ 6983, 23268,
6986,
6987, 6167, 11445, 14915, 15908,
6993, 1285, 8756,
- 6993, 1285, 22998,
+ 6993, 1285, 23000,
6995, 323, 7608,
6997, 10424,
7008,
7011, 893, 13616,
7011, 893, 13617, 11445, 14448,
7015, 1285, 8756,
- 7015, 1285, 22998,
+ 7015, 1285, 23000,
7015, 8225, 15828,
- 7015, 15851, 15621, 19493, 23498,
+ 7015, 15851, 15621, 19493, 23502,
7015, 18705, 12449, 10624,
- 7015, 22659, 19374,
- 7015, 25243, 19374,
- 7015, 27319, 19374,
+ 7015, 22661, 19374,
+ 7015, 25247, 19374,
+ 7015, 27323, 19374,
7019, 6952,
7023, 9862,
7029, 8929, 11445, 6952,
@@ -17563,7 +17565,7 @@ static const uint16_t unicode_names[132374] = {
7967, 10511, 16320,
7967, 10511, 19210,
7967, 10511, 19342,
- 7967, 10511, 22648,
+ 7967, 10511, 22650,
7967, 12938,
7967, 12989, 2736,
7967, 12989, 3208,
@@ -17634,17 +17636,17 @@ static const uint16_t unicode_names[132374] = {
7967, 16393, 19217, 406,
7967, 16393, 19217, 608,
7967, 20902,
- 7967, 22999, 1284,
- 7967, 22999, 14829, 16044,
- 7967, 22999, 15814,
- 7967, 22999, 15969, 1284,
- 7967, 22999, 16043, 15814,
- 7967, 22999, 16072,
- 7967, 22999, 17058,
- 7967, 22999, 17275, 1284,
- 7967, 22999, 17725, 17058,
- 7967, 22999, 18873, 16474,
- 7967, 22999, 20771, 18873, 16474,
+ 7967, 23001, 1284,
+ 7967, 23001, 14829, 16044,
+ 7967, 23001, 15814,
+ 7967, 23001, 15969, 1284,
+ 7967, 23001, 16043, 15814,
+ 7967, 23001, 16072,
+ 7967, 23001, 17058,
+ 7967, 23001, 17275, 1284,
+ 7967, 23001, 17725, 17058,
+ 7967, 23001, 18873, 16474,
+ 7967, 23001, 20771, 18873, 16474,
8062,
8063, 8756,
8064,
@@ -17655,12 +17657,12 @@ static const uint16_t unicode_names[132374] = {
8213, 18767, 8929, 11445, 6952,
8213, 18767, 8929, 17140,
8225, 22157, 323, 11436,
- 8229, 893, 13739, 893, 14557, 22561, 15005, 20327, 12456,
+ 8229, 893, 13739, 893, 14557, 22563, 15005, 20327, 12456,
8229, 893, 13739, 2737, 15981, 12456,
8229, 893, 14557, 10784,
8229, 893, 14557, 15969, 21786,
- 8229, 893, 14557, 22561, 7385, 12456,
- 8229, 893, 15173, 893, 14557, 22561, 15005, 20327, 12456,
+ 8229, 893, 14557, 22563, 7385, 12456,
+ 8229, 893, 15173, 893, 14557, 22563, 15005, 20327, 12456,
8229, 893, 15173, 2737, 15981, 12456,
8229, 913, 21315, 17646,
8229, 2281, 22341, 17646,
@@ -17710,9 +17712,9 @@ static const uint16_t unicode_names[132374] = {
8229, 14557, 15969, 12342,
8229, 14557, 15969, 12343, 11445, 17106,
8229, 14557, 15969, 12343, 11445, 20701, 17106,
- 8229, 14557, 22421, 12342,
- 8229, 14557, 22949, 12342,
- 8229, 14557, 27323, 12342,
+ 8229, 14557, 22423, 12342,
+ 8229, 14557, 22951, 12342,
+ 8229, 14557, 27327, 12342,
8229, 14677, 17935, 12456,
8229, 14997, 15335, 14557, 20283, 13506,
8229, 15005, 17935, 12456,
@@ -17722,15 +17724,15 @@ static const uint16_t unicode_names[132374] = {
8229, 15335, 17077, 17646,
8229, 15335, 20615, 14709, 17646,
8229, 15335, 22241, 17646,
- 8229, 15335, 22966,
+ 8229, 15335, 22968,
8229, 15825, 13082,
8229, 15851, 17646,
- 8229, 15967, 23455, 17646,
+ 8229, 15967, 23459, 17646,
8229, 15969, 12309, 17646,
8229, 15969, 17409, 13162,
8229, 15969, 21495, 8756,
- 8229, 15969, 22966,
- 8229, 16621, 16023, 22431, 18748,
+ 8229, 15969, 22968,
+ 8229, 16621, 16023, 22433, 18748,
8229, 16865, 20183, 17646,
8229, 17025, 21495, 8756,
8229, 17055, 15730,
@@ -17756,18 +17758,18 @@ static const uint16_t unicode_names[132374] = {
8229, 20627, 15685, 20701, 958,
8229, 20701, 959, 11445, 14498,
8229, 20701, 1031, 8268,
- 8229, 22431, 18748,
- 8229, 22561, 2737, 18767, 12456,
- 8229, 22966,
- 8229, 22967, 13739, 7612,
- 8229, 22967, 15173, 7612,
- 8229, 22967, 21140,
- 8229, 23455, 17646,
- 8229, 25217, 17646,
+ 8229, 22433, 18748,
+ 8229, 22563, 2737, 18767, 12456,
+ 8229, 22968,
+ 8229, 22969, 13739, 7612,
+ 8229, 22969, 15173, 7612,
+ 8229, 22969, 21140,
+ 8229, 23459, 17646,
+ 8229, 25221, 17646,
8269, 21566,
- 8269, 22851, 2623, 21251, 3389, 9844,
- 8269, 22851, 11445, 23005, 9771, 15615, 9844,
- 8269, 22851, 11445, 23395, 9771, 15615, 9844,
+ 8269, 22853, 2623, 21251, 3389, 9844,
+ 8269, 22853, 11445, 23007, 9771, 15615, 9844,
+ 8269, 22853, 11445, 23399, 9771, 15615, 9844,
8273, 17140,
8275, 6952,
8276,
@@ -17819,8 +17821,8 @@ static const uint16_t unicode_names[132374] = {
8283, 16393, 10965, 2481, 1174,
8283, 16393, 10965, 2481, 1898,
8283, 16393, 10990,
- 8283, 22999, 7029, 10630,
- 8283, 22999, 12844,
+ 8283, 23001, 7029, 10630,
+ 8283, 23001, 12844,
8292,
8293, 11445, 1865, 2796,
8299, 6503, 7021, 8229, 16503, 507, 15969, 20700,
@@ -17835,11 +17837,11 @@ static const uint16_t unicode_names[132374] = {
8299, 21313, 15969, 12342,
8299, 21313, 15969, 12343, 7021, 958,
8299, 21313, 20475, 12342,
- 8299, 22417, 12342,
- 8299, 22417, 12343, 7021, 958,
- 8299, 22417, 15969, 12342,
- 8299, 22417, 15969, 12343, 7021, 958,
- 8299, 22417, 20475, 12342,
+ 8299, 22419, 12342,
+ 8299, 22419, 12343, 7021, 958,
+ 8299, 22419, 15969, 12342,
+ 8299, 22419, 15969, 12343, 7021, 958,
+ 8299, 22419, 20475, 12342,
8311, 13450,
8311, 16392,
8746,
@@ -18002,7 +18004,7 @@ static const uint16_t unicode_names[132374] = {
8881, 16393, 20343, 17248,
8881, 16393, 20343, 17250,
8881, 16393, 20343, 17254,
- 8881, 16393, 23344,
+ 8881, 16393, 23348,
8883, 521, 703, 17140,
8883, 6503, 17140,
8897, 10510,
@@ -18012,7 +18014,7 @@ static const uint16_t unicode_names[132374] = {
8923, 10511, 17372,
8923, 10511, 19210,
8923, 10511, 19342,
- 8923, 10511, 22630,
+ 8923, 10511, 22632,
8923, 12938,
8923, 12989, 2736,
8923, 12989, 3208,
@@ -18086,12 +18088,12 @@ static const uint16_t unicode_names[132374] = {
8923, 16393, 19217, 34,
8923, 16393, 19217, 406,
8923, 16393, 19217, 608,
- 8923, 23163, 10510,
+ 8923, 23167, 10510,
8927, 15730,
8929, 6166,
8929, 19205, 19464,
8947, 21314,
- 8947, 23278,
+ 8947, 23282,
9085, 16806,
9089, 12384,
9092,
@@ -18106,9 +18108,9 @@ static const uint16_t unicode_names[132374] = {
9203, 10511, 19210,
9203, 10511, 19342,
9203, 10511, 19386,
- 9203, 10511, 22648,
- 9203, 10511, 22862,
- 9203, 10511, 23148,
+ 9203, 10511, 22650,
+ 9203, 10511, 22864,
+ 9203, 10511, 23152,
9203, 12844,
9203, 12938,
9203, 12989, 2736,
@@ -18193,8 +18195,8 @@ static const uint16_t unicode_names[132374] = {
9203, 16927, 8756,
9203, 17018,
9203, 21265, 10510,
- 9203, 22993, 8756,
- 9203, 23163, 10510,
+ 9203, 22995, 8756,
+ 9203, 23167, 10510,
9205, 9756,
9303, 18705, 15335, 10624,
9382,
@@ -18210,7 +18212,7 @@ static const uint16_t unicode_names[132374] = {
9721, 15779, 12449, 10624,
9721, 15779, 12856,
9721, 15779, 19374,
- 9721, 15779, 27319, 19374,
+ 9721, 15779, 27323, 19374,
9721, 16078,
9721, 17114,
9721, 18373, 11445, 16865, 6994,
@@ -18224,7 +18226,7 @@ static const uint16_t unicode_names[132374] = {
9761, 6657, 7388,
9761, 10978,
9761, 15716,
- 9769, 22621, 8756,
+ 9769, 22623, 8756,
9776,
9785, 10510,
9808,
@@ -18303,7 +18305,7 @@ static const uint16_t unicode_names[132374] = {
10563, 1841, 12852,
10563, 14709, 16069, 6628,
10563, 16226,
- 10567, 11445, 22417, 12343, 12248,
+ 10567, 11445, 22419, 12343, 12248,
10569, 18959, 12989, 2736,
10569, 18959, 12989, 3208,
10569, 18959, 12989, 3500,
@@ -18437,13 +18439,13 @@ static const uint16_t unicode_names[132374] = {
10857, 20865, 21328,
10857, 20865, 21426,
10857, 20865, 21862,
- 10857, 20865, 22872,
- 10857, 20865, 23112,
+ 10857, 20865, 22874,
+ 10857, 20865, 23116,
10883, 13335, 12856,
10883, 14828,
10883, 18848,
10930,
- 10931, 3501, 6653, 9725, 2737, 1285, 22998,
+ 10931, 3501, 6653, 9725, 2737, 1285, 23000,
10971, 10511, 16895, 10964,
10971, 16393, 0,
10971, 16393, 8,
@@ -18482,7 +18484,7 @@ static const uint16_t unicode_names[132374] = {
11189, 17140,
11303, 6059, 13335, 12856,
11303, 8947, 21314,
- 11303, 8947, 23278,
+ 11303, 8947, 23282,
11303, 13385, 3209, 17063, 19374,
11303, 13385, 6993, 17063, 19374,
11303, 13385, 13067, 17063, 19374,
@@ -18565,7 +18567,7 @@ static const uint16_t unicode_names[132374] = {
12255, 14807, 16393, 8890,
12255, 14807, 16393, 9900,
12255, 14807, 16393, 12918,
- 12255, 14807, 16393, 22482,
+ 12255, 14807, 16393, 22484,
12255, 15289, 22238,
12255, 17671, 16393, 8,
12255, 17671, 16393, 16,
@@ -18600,13 +18602,13 @@ static const uint16_t unicode_names[132374] = {
12255, 17671, 16393, 8890,
12255, 17671, 16393, 9900,
12255, 17671, 16393, 12918,
- 12255, 17671, 16393, 22482,
+ 12255, 17671, 16393, 22484,
12255, 18125, 20329, 8756,
- 12255, 18125, 22789, 8756,
+ 12255, 18125, 22791, 8756,
12255, 19867, 20907, 20108,
12255, 20907, 20108,
12255, 22169, 8756,
- 12255, 23345, 8756,
+ 12255, 23349, 8756,
12256,
12283, 12630,
12291, 18454,
@@ -18618,10 +18620,10 @@ static const uint16_t unicode_names[132374] = {
12336,
12343, 20283, 19183, 10875, 14155, 11420,
12343, 20283, 21109, 10875, 17779, 21312,
- 12343, 20283, 21109, 10875, 17779, 22416,
- 12343, 20283, 22417, 10875, 17779, 14827, 11420,
- 12343, 20283, 22417, 10875, 17779, 19182,
- 12343, 20283, 22417, 10875, 17779, 21108,
+ 12343, 20283, 21109, 10875, 17779, 22418,
+ 12343, 20283, 22419, 10875, 17779, 14827, 11420,
+ 12343, 20283, 22419, 10875, 17779, 19182,
+ 12343, 20283, 22419, 10875, 17779, 21108,
12347, 17140,
12382,
12386,
@@ -18725,9 +18727,9 @@ static const uint16_t unicode_names[132374] = {
12391, 16393, 18665, 2687, 8826,
12391, 16393, 18665, 2802,
12391, 16393, 18665, 2835, 549, 2593, 20272,
- 12391, 16393, 18665, 2835, 549, 2593, 22990,
+ 12391, 16393, 18665, 2835, 549, 2593, 22992,
12391, 16393, 18665, 2835, 8827, 20272,
- 12391, 16393, 18665, 2835, 8827, 22990,
+ 12391, 16393, 18665, 2835, 8827, 22992,
12391, 16393, 18665, 2866,
12391, 16393, 18665, 3076,
12391, 16393, 18665, 3230,
@@ -18791,10 +18793,10 @@ static const uint16_t unicode_names[132374] = {
12391, 16393, 18665, 22250,
12391, 16393, 18665, 22298,
12391, 16393, 18665, 22306,
- 12391, 16393, 18665, 22474,
- 12391, 16393, 18665, 23274,
- 12391, 16393, 18665, 23336,
- 12391, 16393, 18665, 23346,
+ 12391, 16393, 18665, 22476,
+ 12391, 16393, 18665, 23278,
+ 12391, 16393, 18665, 23340,
+ 12391, 16393, 18665, 23350,
12391, 16393, 18667, 426,
12391, 16393, 18667, 427, 14098,
12391, 16393, 18667, 427, 20160,
@@ -18850,7 +18852,7 @@ static const uint16_t unicode_names[132374] = {
12391, 16393, 18667, 19872,
12391, 16393, 18667, 20116,
12391, 16393, 18667, 21588,
- 12391, 16393, 18667, 22808,
+ 12391, 16393, 18667, 22810,
12391, 16393, 18669, 416,
12391, 16393, 18669, 427, 14174,
12391, 16393, 18669, 427, 18174,
@@ -18881,7 +18883,7 @@ static const uint16_t unicode_names[132374] = {
12391, 16393, 18669, 7990,
12391, 16393, 18669, 8129, 18530,
12391, 16393, 18669, 8769, 16766,
- 12391, 16393, 18669, 8769, 23204,
+ 12391, 16393, 18669, 8769, 23208,
12391, 16393, 18669, 8776,
12391, 16393, 18669, 8780,
12391, 16393, 18669, 8884,
@@ -19324,7 +19326,7 @@ static const uint16_t unicode_names[132374] = {
12399, 15289, 10511, 16,
12399, 15289, 10511, 28,
12399, 15289, 10511, 40,
- 12399, 15289, 10511, 41, 1485, 22479, 614,
+ 12399, 15289, 10511, 41, 1485, 22481, 614,
12399, 15289, 10511, 186,
12399, 15289, 10511, 7955, 16,
12399, 15289, 10511, 7955, 28,
@@ -19357,16 +19359,16 @@ static const uint16_t unicode_names[132374] = {
12399, 16393, 22255, 272,
12399, 16393, 22255, 466,
12399, 16393, 22255, 614,
- 12399, 16393, 22479, 0,
- 12399, 16393, 22479, 248,
- 12399, 16393, 22479, 272,
- 12399, 16393, 22479, 394,
- 12399, 16393, 22479, 426,
- 12399, 16393, 22479, 548,
- 12399, 16393, 22479, 598,
- 12399, 16393, 22479, 614,
- 12399, 16393, 22479, 736,
- 12399, 16393, 22479, 776,
+ 12399, 16393, 22481, 0,
+ 12399, 16393, 22481, 248,
+ 12399, 16393, 22481, 272,
+ 12399, 16393, 22481, 394,
+ 12399, 16393, 22481, 426,
+ 12399, 16393, 22481, 548,
+ 12399, 16393, 22481, 598,
+ 12399, 16393, 22481, 614,
+ 12399, 16393, 22481, 736,
+ 12399, 16393, 22481, 776,
12399, 17141, 12441, 467, 13866,
12399, 17141, 12441, 13540,
12399, 17141, 12441, 20226,
@@ -19414,9 +19416,9 @@ static const uint16_t unicode_names[132374] = {
12449, 12589, 15697, 18831, 3501, 18103, 18887, 17810,
12449, 12589, 15697, 18831, 16605, 17810,
12449, 12589, 16334,
- 12449, 12589, 16335, 18831, 2737, 18103, 23121, 17810,
+ 12449, 12589, 16335, 18831, 2737, 18103, 23125, 17810,
12449, 12589, 16335, 18831, 3501, 18103, 18887, 17810,
- 12449, 12589, 16335, 18831, 3501, 18103, 23137, 17810,
+ 12449, 12589, 16335, 18831, 3501, 18103, 23141, 17810,
12449, 12589, 16335, 18831, 15005, 18103, 17985, 17810,
12449, 12589, 16335, 18831, 16605, 17810,
12449, 12589, 16335, 18831, 22163, 17810,
@@ -19428,9 +19430,9 @@ static const uint16_t unicode_names[132374] = {
12449, 12589, 17305, 16334,
12449, 12589, 22136,
12449, 12589, 22137, 18831, 16605, 17810,
- 12449, 12589, 22870,
- 12449, 12589, 23324,
- 12449, 12589, 25114,
+ 12449, 12589, 22872,
+ 12449, 12589, 23328,
+ 12449, 12589, 25118,
12449, 12857, 521, 16996,
12449, 13382,
12449, 13383, 10660,
@@ -19458,13 +19460,13 @@ static const uint16_t unicode_names[132374] = {
12449, 15815, 11445, 6657, 12342,
12449, 15815, 11445, 15335, 1285, 14556,
12449, 15875, 19183, 893, 21313, 12342,
- 12449, 15875, 19183, 893, 22417, 12342,
+ 12449, 15875, 19183, 893, 22419, 12342,
12449, 15875, 21109, 893, 21313, 12342,
- 12449, 15875, 21109, 893, 22417, 12342,
+ 12449, 15875, 21109, 893, 22419, 12342,
12449, 15875, 21313, 893, 19183, 12342,
12449, 15875, 21313, 893, 21109, 12342,
- 12449, 15875, 22417, 893, 19183, 12342,
- 12449, 15875, 22417, 893, 21109, 12342,
+ 12449, 15875, 22419, 893, 19183, 12342,
+ 12449, 15875, 22419, 893, 21109, 12342,
12449, 16078,
12449, 16497, 14807, 17076,
12449, 16497, 14807, 17824,
@@ -19472,14 +19474,14 @@ static const uint16_t unicode_names[132374] = {
12449, 16497, 17076,
12449, 16497, 17824,
12449, 16497, 18354,
- 12449, 16497, 23147, 20626,
- 12449, 16497, 23147, 20627, 17688,
- 12449, 16497, 25069, 20626,
- 12449, 16497, 25069, 20627, 17688,
- 12449, 16497, 25119, 20626,
- 12449, 16497, 25119, 20627, 17688,
- 12449, 16497, 25401, 20626,
- 12449, 16497, 25401, 20627, 17688,
+ 12449, 16497, 23151, 20626,
+ 12449, 16497, 23151, 20627, 17688,
+ 12449, 16497, 25073, 20626,
+ 12449, 16497, 25073, 20627, 17688,
+ 12449, 16497, 25123, 20626,
+ 12449, 16497, 25123, 20627, 17688,
+ 12449, 16497, 25405, 20626,
+ 12449, 16497, 25405, 20627, 17688,
12449, 16913, 20398,
12449, 17076,
12449, 17077, 1485, 10630,
@@ -19501,7 +19503,7 @@ static const uint16_t unicode_names[132374] = {
12449, 18945, 6952,
12449, 18948,
12449, 19163, 8229, 3715, 19110,
- 12449, 19183, 22787, 20788,
+ 12449, 19183, 22789, 20788,
12449, 19747, 2348,
12449, 19747, 8056,
12449, 19832,
@@ -19512,42 +19514,42 @@ static const uint16_t unicode_names[132374] = {
12449, 20447, 14807, 17076,
12449, 20701, 17944,
12449, 20701, 21506,
- 12449, 21109, 22787, 20788,
+ 12449, 21109, 22789, 20788,
12449, 21236,
12449, 21313, 15736,
- 12449, 21313, 22787, 20788,
+ 12449, 21313, 22789, 20788,
12449, 21506,
12449, 21742,
12449, 21759, 21742,
12449, 21799, 21509, 17140,
12449, 22199, 17944,
- 12449, 22417, 12342,
- 12449, 22417, 15736,
- 12449, 22417, 20788,
- 12449, 22417, 22787, 20788,
- 12449, 23147, 14807, 20626,
- 12449, 23147, 15969, 20626,
- 12449, 23147, 20626,
- 12449, 23147, 21273, 14557, 20626,
- 12449, 25069, 14807, 20626,
- 12449, 25069, 15969, 20626,
- 12449, 25069, 20626,
- 12449, 25069, 21273, 14557, 20626,
- 12449, 25119, 14807, 20626,
- 12449, 25119, 15969, 20626,
- 12449, 25119, 15969, 20627, 11445, 20701, 958,
- 12449, 25119, 18706,
- 12449, 25119, 20626,
- 12449, 25119, 21273, 14557, 20626,
- 12449, 25140,
- 12449, 25401, 14807, 20626,
- 12449, 25401, 15969, 20626,
- 12449, 25401, 15969, 20627, 11445, 20701, 958,
- 12449, 25401, 18706,
- 12449, 25401, 20254,
- 12449, 25401, 20626,
- 12449, 25401, 20627, 11445, 15969, 20701, 958,
- 12449, 25401, 21273, 14557, 20626,
+ 12449, 22419, 12342,
+ 12449, 22419, 15736,
+ 12449, 22419, 20788,
+ 12449, 22419, 22789, 20788,
+ 12449, 23151, 14807, 20626,
+ 12449, 23151, 15969, 20626,
+ 12449, 23151, 20626,
+ 12449, 23151, 21273, 14557, 20626,
+ 12449, 25073, 14807, 20626,
+ 12449, 25073, 15969, 20626,
+ 12449, 25073, 20626,
+ 12449, 25073, 21273, 14557, 20626,
+ 12449, 25123, 14807, 20626,
+ 12449, 25123, 15969, 20626,
+ 12449, 25123, 15969, 20627, 11445, 20701, 958,
+ 12449, 25123, 18706,
+ 12449, 25123, 20626,
+ 12449, 25123, 21273, 14557, 20626,
+ 12449, 25144,
+ 12449, 25405, 14807, 20626,
+ 12449, 25405, 15969, 20626,
+ 12449, 25405, 15969, 20627, 11445, 20701, 958,
+ 12449, 25405, 18706,
+ 12449, 25405, 20254,
+ 12449, 25405, 20626,
+ 12449, 25405, 20627, 11445, 15969, 20701, 958,
+ 12449, 25405, 21273, 14557, 20626,
12453, 17140,
12457, 21574,
12457, 21576,
@@ -19555,7 +19557,6 @@ static const uint16_t unicode_names[132374] = {
12457, 21580,
12457, 21582,
12457, 21584,
- 12457, 22438,
12457, 22440,
12457, 22442,
12457, 22444,
@@ -19570,7 +19571,7 @@ static const uint16_t unicode_names[132374] = {
12457, 22462,
12457, 22464,
12457, 22466,
- 12457, 23038,
+ 12457, 22468,
12457, 23040,
12457, 23042,
12457, 23044,
@@ -19588,8 +19589,7 @@ static const uint16_t unicode_names[132374] = {
12457, 23068,
12457, 23070,
12457, 23072,
- 12457, 23398,
- 12457, 23400,
+ 12457, 23074,
12457, 23402,
12457, 23404,
12457, 23406,
@@ -19603,12 +19603,14 @@ static const uint16_t unicode_names[132374] = {
12457, 23422,
12457, 23424,
12457, 23426,
- 12457, 25180,
- 12457, 25182,
+ 12457, 23428,
+ 12457, 23430,
12457, 25184,
12457, 25186,
12457, 25188,
12457, 25190,
+ 12457, 25192,
+ 12457, 25194,
12464,
12474,
12476,
@@ -19637,7 +19639,7 @@ static const uint16_t unicode_names[132374] = {
12501, 16393, 736,
12501, 16393, 776,
12501, 16393, 2554,
- 12511, 323, 22476,
+ 12511, 323, 22478,
12530,
12532,
12538,
@@ -19664,17 +19666,17 @@ static const uint16_t unicode_names[132374] = {
12631, 6953, 15985, 16660,
12631, 6953, 17313, 16660,
12631, 6953, 22316,
- 12631, 6953, 22502,
- 12631, 6953, 22546,
- 12631, 6953, 22584,
- 12631, 6953, 22798,
- 12631, 6953, 22804,
- 12631, 6953, 22940,
- 12631, 6953, 23260,
- 12631, 6953, 23396,
- 12631, 6953, 23466,
- 12631, 6953, 25074,
- 12631, 6953, 25218,
+ 12631, 6953, 22504,
+ 12631, 6953, 22548,
+ 12631, 6953, 22586,
+ 12631, 6953, 22800,
+ 12631, 6953, 22806,
+ 12631, 6953, 22942,
+ 12631, 6953, 23264,
+ 12631, 6953, 23400,
+ 12631, 6953, 23470,
+ 12631, 6953, 25078,
+ 12631, 6953, 25222,
12633, 696,
12636,
12637, 11445, 10030,
@@ -19695,7 +19697,7 @@ static const uint16_t unicode_names[132374] = {
12857, 14395, 11445, 8229, 19538,
12857, 14395, 11445, 14557, 19538,
12857, 16808,
- 12857, 16809, 11445, 22813, 12426,
+ 12857, 16809, 11445, 22815, 12426,
12858,
12863, 8304,
12863, 17647, 21140,
@@ -19741,7 +19743,7 @@ static const uint16_t unicode_names[132374] = {
12999, 12279, 10511, 14234,
12999, 12279, 10511, 18066,
12999, 12279, 10511, 19342,
- 12999, 12279, 10511, 22648,
+ 12999, 12279, 10511, 22650,
12999, 12279, 12989, 2736,
12999, 12279, 12989, 3208,
12999, 12279, 12989, 3500,
@@ -19869,27 +19871,27 @@ static const uint16_t unicode_names[132374] = {
13009, 16393, 3466,
13009, 16393, 6530,
13009, 16393, 11014,
- 13009, 23163, 10510,
+ 13009, 23167, 10510,
13018,
13023, 10539, 10510,
13052,
13056,
13057, 13309, 19334,
- 13057, 13309, 25080,
- 13057, 13309, 25238,
+ 13057, 13309, 25084,
+ 13057, 13309, 25242,
13057, 16156,
13067, 17063, 19374,
13067, 18705, 12449, 10624,
13067, 18705, 20271, 10624,
- 13067, 18705, 23007, 12449, 10624,
+ 13067, 18705, 23009, 12449, 10624,
13067, 20261, 20201, 12449, 19832,
- 13067, 27319, 21485, 19374,
+ 13067, 27323, 21485, 19374,
13069, 17140,
- 13075, 20109, 22797, 17324,
- 13075, 20109, 22797, 17326,
- 13075, 20109, 22797, 17328,
- 13075, 20109, 22797, 17330,
- 13075, 20109, 22797, 20674,
+ 13075, 20109, 22799, 17324,
+ 13075, 20109, 22799, 17326,
+ 13075, 20109, 22799, 17328,
+ 13075, 20109, 22799, 17330,
+ 13075, 20109, 22799, 20674,
13075, 20895, 3027, 7380,
13075, 20895, 5934,
13075, 20895, 12863, 7380,
@@ -19911,7 +19913,7 @@ static const uint16_t unicode_names[132374] = {
13093, 661, 529, 20300,
13093, 661, 529, 20530,
13093, 661, 529, 21314,
- 13093, 661, 529, 23278,
+ 13093, 661, 529, 23282,
13093, 893, 20237, 660,
13097, 661, 3389, 8228,
13097, 661, 3389, 14556,
@@ -19961,14 +19963,14 @@ static const uint16_t unicode_names[132374] = {
13335, 12948,
13335, 12949, 893, 9726,
13335, 12949, 893, 15260,
- 13335, 12949, 893, 22974,
+ 13335, 12949, 893, 22976,
13335, 13561, 17140,
13335, 13721, 10510,
13335, 13739, 18545, 10510,
13335, 14476,
13335, 14477, 893, 9726,
13335, 14477, 893, 15260,
- 13335, 14477, 893, 22974,
+ 13335, 14477, 893, 22976,
13335, 14807, 15967, 16439, 14765, 17140,
13335, 14807, 16393, 454,
13335, 14807, 16393, 490,
@@ -19977,29 +19979,29 @@ static const uint16_t unicode_names[132374] = {
13335, 14807, 16393, 1114,
13335, 14807, 16393, 1412,
13335, 14807, 16393, 1413, 11445, 9726,
- 13335, 14807, 16393, 1413, 11445, 9727, 893, 25230,
+ 13335, 14807, 16393, 1413, 11445, 9727, 893, 25234,
13335, 14807, 16393, 1413, 11445, 12948,
13335, 14807, 16393, 1413, 11445, 12949, 893, 9726,
- 13335, 14807, 16393, 1413, 11445, 12949, 893, 9727, 893, 25230,
+ 13335, 14807, 16393, 1413, 11445, 12949, 893, 9727, 893, 25234,
13335, 14807, 16393, 1413, 11445, 12949, 893, 15260,
- 13335, 14807, 16393, 1413, 11445, 12949, 893, 15261, 893, 25230,
- 13335, 14807, 16393, 1413, 11445, 12949, 893, 22974,
- 13335, 14807, 16393, 1413, 11445, 12949, 893, 22975, 893, 25230,
- 13335, 14807, 16393, 1413, 11445, 12949, 893, 25230,
+ 13335, 14807, 16393, 1413, 11445, 12949, 893, 15261, 893, 25234,
+ 13335, 14807, 16393, 1413, 11445, 12949, 893, 22976,
+ 13335, 14807, 16393, 1413, 11445, 12949, 893, 22977, 893, 25234,
+ 13335, 14807, 16393, 1413, 11445, 12949, 893, 25234,
13335, 14807, 16393, 1413, 11445, 14476,
13335, 14807, 16393, 1413, 11445, 14477, 893, 9726,
- 13335, 14807, 16393, 1413, 11445, 14477, 893, 9727, 893, 25230,
+ 13335, 14807, 16393, 1413, 11445, 14477, 893, 9727, 893, 25234,
13335, 14807, 16393, 1413, 11445, 14477, 893, 15260,
- 13335, 14807, 16393, 1413, 11445, 14477, 893, 15261, 893, 25230,
- 13335, 14807, 16393, 1413, 11445, 14477, 893, 22974,
- 13335, 14807, 16393, 1413, 11445, 14477, 893, 22975, 893, 25230,
- 13335, 14807, 16393, 1413, 11445, 14477, 893, 25230,
+ 13335, 14807, 16393, 1413, 11445, 14477, 893, 15261, 893, 25234,
+ 13335, 14807, 16393, 1413, 11445, 14477, 893, 22976,
+ 13335, 14807, 16393, 1413, 11445, 14477, 893, 22977, 893, 25234,
+ 13335, 14807, 16393, 1413, 11445, 14477, 893, 25234,
13335, 14807, 16393, 1413, 11445, 15064,
13335, 14807, 16393, 1413, 11445, 15260,
- 13335, 14807, 16393, 1413, 11445, 15261, 893, 25230,
- 13335, 14807, 16393, 1413, 11445, 22974,
- 13335, 14807, 16393, 1413, 11445, 22975, 893, 25230,
- 13335, 14807, 16393, 1413, 11445, 25230,
+ 13335, 14807, 16393, 1413, 11445, 15261, 893, 25234,
+ 13335, 14807, 16393, 1413, 11445, 22976,
+ 13335, 14807, 16393, 1413, 11445, 22977, 893, 25234,
+ 13335, 14807, 16393, 1413, 11445, 25234,
13335, 14807, 16393, 2808,
13335, 14807, 16393, 2852,
13335, 14807, 16393, 3044,
@@ -20015,11 +20017,11 @@ static const uint16_t unicode_names[132374] = {
13335, 14807, 16393, 7771, 11445, 12948,
13335, 14807, 16393, 7771, 11445, 12949, 893, 9726,
13335, 14807, 16393, 7771, 11445, 12949, 893, 15260,
- 13335, 14807, 16393, 7771, 11445, 12949, 893, 22974,
+ 13335, 14807, 16393, 7771, 11445, 12949, 893, 22976,
13335, 14807, 16393, 7771, 11445, 14476,
13335, 14807, 16393, 7771, 11445, 14477, 893, 9726,
13335, 14807, 16393, 7771, 11445, 14477, 893, 15260,
- 13335, 14807, 16393, 7771, 11445, 14477, 893, 22974,
+ 13335, 14807, 16393, 7771, 11445, 14477, 893, 22976,
13335, 14807, 16393, 7771, 11445, 15064,
13335, 14807, 16393, 7771, 11445, 15260,
13335, 14807, 16393, 7771, 11445, 16446,
@@ -20028,36 +20030,36 @@ static const uint16_t unicode_names[132374] = {
13335, 14807, 16393, 7771, 11445, 20955, 893, 9726,
13335, 14807, 16393, 7771, 11445, 20955, 893, 15064,
13335, 14807, 16393, 7771, 11445, 20955, 893, 15260,
- 13335, 14807, 16393, 7771, 11445, 20955, 893, 22974,
- 13335, 14807, 16393, 7771, 11445, 22974,
+ 13335, 14807, 16393, 7771, 11445, 20955, 893, 22976,
+ 13335, 14807, 16393, 7771, 11445, 22976,
13335, 14807, 16393, 11756,
13335, 14807, 16393, 12296,
13335, 14807, 16393, 12297, 11445, 9726,
- 13335, 14807, 16393, 12297, 11445, 9727, 893, 25230,
+ 13335, 14807, 16393, 12297, 11445, 9727, 893, 25234,
13335, 14807, 16393, 12297, 11445, 12948,
13335, 14807, 16393, 12297, 11445, 12949, 893, 9726,
- 13335, 14807, 16393, 12297, 11445, 12949, 893, 9727, 893, 25230,
+ 13335, 14807, 16393, 12297, 11445, 12949, 893, 9727, 893, 25234,
13335, 14807, 16393, 12297, 11445, 12949, 893, 15260,
- 13335, 14807, 16393, 12297, 11445, 12949, 893, 15261, 893, 25230,
- 13335, 14807, 16393, 12297, 11445, 12949, 893, 22974,
- 13335, 14807, 16393, 12297, 11445, 12949, 893, 22975, 893, 25230,
- 13335, 14807, 16393, 12297, 11445, 12949, 893, 25230,
+ 13335, 14807, 16393, 12297, 11445, 12949, 893, 15261, 893, 25234,
+ 13335, 14807, 16393, 12297, 11445, 12949, 893, 22976,
+ 13335, 14807, 16393, 12297, 11445, 12949, 893, 22977, 893, 25234,
+ 13335, 14807, 16393, 12297, 11445, 12949, 893, 25234,
13335, 14807, 16393, 12297, 11445, 14476,
13335, 14807, 16393, 12297, 11445, 14477, 893, 9726,
- 13335, 14807, 16393, 12297, 11445, 14477, 893, 9727, 893, 25230,
+ 13335, 14807, 16393, 12297, 11445, 14477, 893, 9727, 893, 25234,
13335, 14807, 16393, 12297, 11445, 14477, 893, 15260,
- 13335, 14807, 16393, 12297, 11445, 14477, 893, 15261, 893, 25230,
- 13335, 14807, 16393, 12297, 11445, 14477, 893, 22974,
- 13335, 14807, 16393, 12297, 11445, 14477, 893, 22975, 893, 25230,
- 13335, 14807, 16393, 12297, 11445, 14477, 893, 25230,
+ 13335, 14807, 16393, 12297, 11445, 14477, 893, 15261, 893, 25234,
+ 13335, 14807, 16393, 12297, 11445, 14477, 893, 22976,
+ 13335, 14807, 16393, 12297, 11445, 14477, 893, 22977, 893, 25234,
+ 13335, 14807, 16393, 12297, 11445, 14477, 893, 25234,
13335, 14807, 16393, 12297, 11445, 15064,
13335, 14807, 16393, 12297, 11445, 15260,
- 13335, 14807, 16393, 12297, 11445, 15261, 893, 25230,
+ 13335, 14807, 16393, 12297, 11445, 15261, 893, 25234,
13335, 14807, 16393, 12297, 11445, 16446,
13335, 14807, 16393, 12297, 11445, 17382,
- 13335, 14807, 16393, 12297, 11445, 22974,
- 13335, 14807, 16393, 12297, 11445, 22975, 893, 25230,
- 13335, 14807, 16393, 12297, 11445, 25230,
+ 13335, 14807, 16393, 12297, 11445, 22976,
+ 13335, 14807, 16393, 12297, 11445, 22977, 893, 25234,
+ 13335, 14807, 16393, 12297, 11445, 25234,
13335, 14807, 16393, 12972,
13335, 14807, 16393, 13175, 14764,
13335, 14807, 16393, 13248,
@@ -20066,29 +20068,29 @@ static const uint16_t unicode_names[132374] = {
13335, 14807, 16393, 13672,
13335, 14807, 16393, 14328,
13335, 14807, 16393, 14329, 11445, 9726,
- 13335, 14807, 16393, 14329, 11445, 9727, 893, 25230,
+ 13335, 14807, 16393, 14329, 11445, 9727, 893, 25234,
13335, 14807, 16393, 14329, 11445, 12948,
13335, 14807, 16393, 14329, 11445, 12949, 893, 9726,
- 13335, 14807, 16393, 14329, 11445, 12949, 893, 9727, 893, 25230,
+ 13335, 14807, 16393, 14329, 11445, 12949, 893, 9727, 893, 25234,
13335, 14807, 16393, 14329, 11445, 12949, 893, 15260,
- 13335, 14807, 16393, 14329, 11445, 12949, 893, 15261, 893, 25230,
- 13335, 14807, 16393, 14329, 11445, 12949, 893, 22974,
- 13335, 14807, 16393, 14329, 11445, 12949, 893, 22975, 893, 25230,
- 13335, 14807, 16393, 14329, 11445, 12949, 893, 25230,
+ 13335, 14807, 16393, 14329, 11445, 12949, 893, 15261, 893, 25234,
+ 13335, 14807, 16393, 14329, 11445, 12949, 893, 22976,
+ 13335, 14807, 16393, 14329, 11445, 12949, 893, 22977, 893, 25234,
+ 13335, 14807, 16393, 14329, 11445, 12949, 893, 25234,
13335, 14807, 16393, 14329, 11445, 14476,
13335, 14807, 16393, 14329, 11445, 14477, 893, 9726,
- 13335, 14807, 16393, 14329, 11445, 14477, 893, 9727, 893, 25230,
+ 13335, 14807, 16393, 14329, 11445, 14477, 893, 9727, 893, 25234,
13335, 14807, 16393, 14329, 11445, 14477, 893, 15260,
- 13335, 14807, 16393, 14329, 11445, 14477, 893, 15261, 893, 25230,
- 13335, 14807, 16393, 14329, 11445, 14477, 893, 22974,
- 13335, 14807, 16393, 14329, 11445, 14477, 893, 22975, 893, 25230,
- 13335, 14807, 16393, 14329, 11445, 14477, 893, 25230,
+ 13335, 14807, 16393, 14329, 11445, 14477, 893, 15261, 893, 25234,
+ 13335, 14807, 16393, 14329, 11445, 14477, 893, 22976,
+ 13335, 14807, 16393, 14329, 11445, 14477, 893, 22977, 893, 25234,
+ 13335, 14807, 16393, 14329, 11445, 14477, 893, 25234,
13335, 14807, 16393, 14329, 11445, 15064,
13335, 14807, 16393, 14329, 11445, 15260,
- 13335, 14807, 16393, 14329, 11445, 15261, 893, 25230,
- 13335, 14807, 16393, 14329, 11445, 22974,
- 13335, 14807, 16393, 14329, 11445, 22975, 893, 25230,
- 13335, 14807, 16393, 14329, 11445, 25230,
+ 13335, 14807, 16393, 14329, 11445, 15261, 893, 25234,
+ 13335, 14807, 16393, 14329, 11445, 22976,
+ 13335, 14807, 16393, 14329, 11445, 22977, 893, 25234,
+ 13335, 14807, 16393, 14329, 11445, 25234,
13335, 14807, 16393, 14640,
13335, 14807, 16393, 14764,
13335, 14807, 16393, 14984,
@@ -20121,11 +20123,11 @@ static const uint16_t unicode_names[132374] = {
13335, 14807, 16393, 19181, 11445, 12948,
13335, 14807, 16393, 19181, 11445, 12949, 893, 9726,
13335, 14807, 16393, 19181, 11445, 12949, 893, 15260,
- 13335, 14807, 16393, 19181, 11445, 12949, 893, 22974,
+ 13335, 14807, 16393, 19181, 11445, 12949, 893, 22976,
13335, 14807, 16393, 19181, 11445, 14476,
13335, 14807, 16393, 19181, 11445, 14477, 893, 9726,
13335, 14807, 16393, 19181, 11445, 14477, 893, 15260,
- 13335, 14807, 16393, 19181, 11445, 14477, 893, 22974,
+ 13335, 14807, 16393, 19181, 11445, 14477, 893, 22976,
13335, 14807, 16393, 19181, 11445, 15064,
13335, 14807, 16393, 19181, 11445, 15260,
13335, 14807, 16393, 19181, 11445, 16446,
@@ -20134,8 +20136,8 @@ static const uint16_t unicode_names[132374] = {
13335, 14807, 16393, 19181, 11445, 20955, 893, 9726,
13335, 14807, 16393, 19181, 11445, 20955, 893, 15064,
13335, 14807, 16393, 19181, 11445, 20955, 893, 15260,
- 13335, 14807, 16393, 19181, 11445, 20955, 893, 22974,
- 13335, 14807, 16393, 19181, 11445, 22974,
+ 13335, 14807, 16393, 19181, 11445, 20955, 893, 22976,
+ 13335, 14807, 16393, 19181, 11445, 22976,
13335, 14807, 16393, 22331, 17828,
13335, 14807, 20365, 15967, 16439, 14765, 17140,
13335, 14807, 20365, 16439, 14765, 17140,
@@ -20206,23 +20208,23 @@ static const uint16_t unicode_names[132374] = {
13335, 17671, 16393, 1413, 11445, 9726,
13335, 17671, 16393, 1413, 11445, 12948,
13335, 17671, 16393, 1413, 11445, 12949, 893, 9726,
- 13335, 17671, 16393, 1413, 11445, 12949, 893, 9727, 893, 25394,
+ 13335, 17671, 16393, 1413, 11445, 12949, 893, 9727, 893, 25398,
13335, 17671, 16393, 1413, 11445, 12949, 893, 15260,
- 13335, 17671, 16393, 1413, 11445, 12949, 893, 15261, 893, 25394,
- 13335, 17671, 16393, 1413, 11445, 12949, 893, 22974,
- 13335, 17671, 16393, 1413, 11445, 12949, 893, 22975, 893, 25394,
- 13335, 17671, 16393, 1413, 11445, 12949, 893, 25394,
+ 13335, 17671, 16393, 1413, 11445, 12949, 893, 15261, 893, 25398,
+ 13335, 17671, 16393, 1413, 11445, 12949, 893, 22976,
+ 13335, 17671, 16393, 1413, 11445, 12949, 893, 22977, 893, 25398,
+ 13335, 17671, 16393, 1413, 11445, 12949, 893, 25398,
13335, 17671, 16393, 1413, 11445, 14476,
13335, 17671, 16393, 1413, 11445, 14477, 893, 9726,
- 13335, 17671, 16393, 1413, 11445, 14477, 893, 9727, 893, 25394,
+ 13335, 17671, 16393, 1413, 11445, 14477, 893, 9727, 893, 25398,
13335, 17671, 16393, 1413, 11445, 14477, 893, 15260,
- 13335, 17671, 16393, 1413, 11445, 14477, 893, 15261, 893, 25394,
- 13335, 17671, 16393, 1413, 11445, 14477, 893, 22974,
- 13335, 17671, 16393, 1413, 11445, 14477, 893, 22975, 893, 25394,
- 13335, 17671, 16393, 1413, 11445, 14477, 893, 25394,
+ 13335, 17671, 16393, 1413, 11445, 14477, 893, 15261, 893, 25398,
+ 13335, 17671, 16393, 1413, 11445, 14477, 893, 22976,
+ 13335, 17671, 16393, 1413, 11445, 14477, 893, 22977, 893, 25398,
+ 13335, 17671, 16393, 1413, 11445, 14477, 893, 25398,
13335, 17671, 16393, 1413, 11445, 15064,
13335, 17671, 16393, 1413, 11445, 15260,
- 13335, 17671, 16393, 1413, 11445, 25394,
+ 13335, 17671, 16393, 1413, 11445, 25398,
13335, 17671, 16393, 2808,
13335, 17671, 16393, 2852,
13335, 17671, 16393, 3044,
@@ -20238,11 +20240,11 @@ static const uint16_t unicode_names[132374] = {
13335, 17671, 16393, 7771, 11445, 12948,
13335, 17671, 16393, 7771, 11445, 12949, 893, 9726,
13335, 17671, 16393, 7771, 11445, 12949, 893, 15260,
- 13335, 17671, 16393, 7771, 11445, 12949, 893, 22974,
+ 13335, 17671, 16393, 7771, 11445, 12949, 893, 22976,
13335, 17671, 16393, 7771, 11445, 14476,
13335, 17671, 16393, 7771, 11445, 14477, 893, 9726,
13335, 17671, 16393, 7771, 11445, 14477, 893, 15260,
- 13335, 17671, 16393, 7771, 11445, 14477, 893, 22974,
+ 13335, 17671, 16393, 7771, 11445, 14477, 893, 22976,
13335, 17671, 16393, 7771, 11445, 15064,
13335, 17671, 16393, 7771, 11445, 15260,
13335, 17671, 16393, 7771, 11445, 16446,
@@ -20253,25 +20255,25 @@ static const uint16_t unicode_names[132374] = {
13335, 17671, 16393, 12297, 11445, 9726,
13335, 17671, 16393, 12297, 11445, 12948,
13335, 17671, 16393, 12297, 11445, 12949, 893, 9726,
- 13335, 17671, 16393, 12297, 11445, 12949, 893, 9727, 893, 25394,
+ 13335, 17671, 16393, 12297, 11445, 12949, 893, 9727, 893, 25398,
13335, 17671, 16393, 12297, 11445, 12949, 893, 15260,
- 13335, 17671, 16393, 12297, 11445, 12949, 893, 15261, 893, 25394,
- 13335, 17671, 16393, 12297, 11445, 12949, 893, 22974,
- 13335, 17671, 16393, 12297, 11445, 12949, 893, 22975, 893, 25394,
- 13335, 17671, 16393, 12297, 11445, 12949, 893, 25394,
+ 13335, 17671, 16393, 12297, 11445, 12949, 893, 15261, 893, 25398,
+ 13335, 17671, 16393, 12297, 11445, 12949, 893, 22976,
+ 13335, 17671, 16393, 12297, 11445, 12949, 893, 22977, 893, 25398,
+ 13335, 17671, 16393, 12297, 11445, 12949, 893, 25398,
13335, 17671, 16393, 12297, 11445, 14476,
13335, 17671, 16393, 12297, 11445, 14477, 893, 9726,
- 13335, 17671, 16393, 12297, 11445, 14477, 893, 9727, 893, 25394,
+ 13335, 17671, 16393, 12297, 11445, 14477, 893, 9727, 893, 25398,
13335, 17671, 16393, 12297, 11445, 14477, 893, 15260,
- 13335, 17671, 16393, 12297, 11445, 14477, 893, 15261, 893, 25394,
- 13335, 17671, 16393, 12297, 11445, 14477, 893, 22974,
- 13335, 17671, 16393, 12297, 11445, 14477, 893, 22975, 893, 25394,
- 13335, 17671, 16393, 12297, 11445, 14477, 893, 25394,
+ 13335, 17671, 16393, 12297, 11445, 14477, 893, 15261, 893, 25398,
+ 13335, 17671, 16393, 12297, 11445, 14477, 893, 22976,
+ 13335, 17671, 16393, 12297, 11445, 14477, 893, 22977, 893, 25398,
+ 13335, 17671, 16393, 12297, 11445, 14477, 893, 25398,
13335, 17671, 16393, 12297, 11445, 15064,
13335, 17671, 16393, 12297, 11445, 15260,
13335, 17671, 16393, 12297, 11445, 16446,
13335, 17671, 16393, 12297, 11445, 17382,
- 13335, 17671, 16393, 12297, 11445, 25394,
+ 13335, 17671, 16393, 12297, 11445, 25398,
13335, 17671, 16393, 12972,
13335, 17671, 16393, 13248,
13335, 17671, 16393, 13560,
@@ -20280,23 +20282,23 @@ static const uint16_t unicode_names[132374] = {
13335, 17671, 16393, 14329, 11445, 9726,
13335, 17671, 16393, 14329, 11445, 12948,
13335, 17671, 16393, 14329, 11445, 12949, 893, 9726,
- 13335, 17671, 16393, 14329, 11445, 12949, 893, 9727, 893, 25394,
+ 13335, 17671, 16393, 14329, 11445, 12949, 893, 9727, 893, 25398,
13335, 17671, 16393, 14329, 11445, 12949, 893, 15260,
- 13335, 17671, 16393, 14329, 11445, 12949, 893, 15261, 893, 25394,
- 13335, 17671, 16393, 14329, 11445, 12949, 893, 22974,
- 13335, 17671, 16393, 14329, 11445, 12949, 893, 22975, 893, 25394,
- 13335, 17671, 16393, 14329, 11445, 12949, 893, 25394,
+ 13335, 17671, 16393, 14329, 11445, 12949, 893, 15261, 893, 25398,
+ 13335, 17671, 16393, 14329, 11445, 12949, 893, 22976,
+ 13335, 17671, 16393, 14329, 11445, 12949, 893, 22977, 893, 25398,
+ 13335, 17671, 16393, 14329, 11445, 12949, 893, 25398,
13335, 17671, 16393, 14329, 11445, 14476,
13335, 17671, 16393, 14329, 11445, 14477, 893, 9726,
- 13335, 17671, 16393, 14329, 11445, 14477, 893, 9727, 893, 25394,
+ 13335, 17671, 16393, 14329, 11445, 14477, 893, 9727, 893, 25398,
13335, 17671, 16393, 14329, 11445, 14477, 893, 15260,
- 13335, 17671, 16393, 14329, 11445, 14477, 893, 15261, 893, 25394,
- 13335, 17671, 16393, 14329, 11445, 14477, 893, 22974,
- 13335, 17671, 16393, 14329, 11445, 14477, 893, 22975, 893, 25394,
- 13335, 17671, 16393, 14329, 11445, 14477, 893, 25394,
+ 13335, 17671, 16393, 14329, 11445, 14477, 893, 15261, 893, 25398,
+ 13335, 17671, 16393, 14329, 11445, 14477, 893, 22976,
+ 13335, 17671, 16393, 14329, 11445, 14477, 893, 22977, 893, 25398,
+ 13335, 17671, 16393, 14329, 11445, 14477, 893, 25398,
13335, 17671, 16393, 14329, 11445, 15064,
13335, 17671, 16393, 14329, 11445, 15260,
- 13335, 17671, 16393, 14329, 11445, 25394,
+ 13335, 17671, 16393, 14329, 11445, 25398,
13335, 17671, 16393, 14764,
13335, 17671, 16393, 14984,
13335, 17671, 16393, 17547, 14640,
@@ -20325,7 +20327,7 @@ static const uint16_t unicode_names[132374] = {
13335, 17671, 16393, 19181, 11445, 12948,
13335, 17671, 16393, 19181, 11445, 12949, 893, 9726,
13335, 17671, 16393, 19181, 11445, 12949, 893, 15260,
- 13335, 17671, 16393, 19181, 11445, 12949, 893, 22974,
+ 13335, 17671, 16393, 19181, 11445, 12949, 893, 22976,
13335, 17671, 16393, 19181, 11445, 15064,
13335, 17671, 16393, 19181, 11445, 15260,
13335, 17671, 16393, 19181, 11445, 16446,
@@ -20350,7 +20352,7 @@ static const uint16_t unicode_names[132374] = {
13335, 20661, 5951, 10510,
13335, 20955, 893, 9726,
13335, 20955, 893, 15260,
- 13335, 20955, 893, 22974,
+ 13335, 20955, 893, 22976,
13335, 20955, 15064,
13335, 21259, 10510,
13335, 21639, 14807, 16393, 1114,
@@ -20405,52 +20407,52 @@ static const uint16_t unicode_names[132374] = {
13335, 21849, 22189, 2736,
13335, 21849, 22189, 3376,
13335, 21849, 22189, 13170,
- 13335, 21849, 22567, 3376,
- 13335, 21849, 22567, 3377, 20771, 7012,
- 13335, 21849, 22567, 6992,
- 13335, 21849, 22567, 6993, 18102,
- 13335, 21849, 22567, 13170,
- 13335, 21849, 22567, 13171, 20771, 7012,
- 13335, 22974,
- 13335, 23305, 20167, 20548,
- 13335, 23305, 20167, 20550,
- 13335, 23305, 20167, 20554,
- 13335, 23305, 20167, 20556,
- 13335, 23305, 20167, 20560,
- 13335, 23305, 20167, 20562,
- 13335, 23305, 20167, 21654,
- 13335, 23305, 20167, 21656,
- 13335, 23305, 20167, 21658,
- 13335, 23305, 20167, 21660,
- 13335, 23305, 20167, 21666,
- 13335, 23305, 20167, 21668,
- 13335, 23305, 20167, 21670,
- 13335, 23305, 20167, 21678,
- 13335, 23305, 20167, 21680,
- 13335, 23305, 20167, 21682,
- 13335, 23305, 20167, 21684,
- 13335, 23305, 20167, 21686,
- 13335, 23305, 20167, 21688,
- 13335, 23305, 20167, 21690,
- 13335, 23305, 20167, 21692,
- 13335, 23305, 20167, 21694,
- 13335, 23305, 20167, 21696,
- 13335, 23305, 20167, 21698,
- 13335, 23305, 20167, 21700,
- 13335, 23305, 20167, 21702,
- 13335, 23305, 20167, 21704,
- 13335, 23305, 20167, 21706,
- 13335, 23305, 20167, 21708,
- 13335, 23305, 20167, 21710,
- 13335, 23305, 20167, 21712,
- 13335, 23305, 20167, 21714,
- 13335, 23305, 20167, 21716,
- 13335, 23305, 20167, 21718,
- 13335, 23305, 20167, 21720,
- 13335, 23305, 20167, 21722,
- 13335, 23305, 20167, 21724,
- 13335, 25230,
- 13335, 25394,
+ 13335, 21849, 22569, 3376,
+ 13335, 21849, 22569, 3377, 20771, 7012,
+ 13335, 21849, 22569, 6992,
+ 13335, 21849, 22569, 6993, 18102,
+ 13335, 21849, 22569, 13170,
+ 13335, 21849, 22569, 13171, 20771, 7012,
+ 13335, 22976,
+ 13335, 23309, 20167, 20548,
+ 13335, 23309, 20167, 20550,
+ 13335, 23309, 20167, 20554,
+ 13335, 23309, 20167, 20556,
+ 13335, 23309, 20167, 20560,
+ 13335, 23309, 20167, 20562,
+ 13335, 23309, 20167, 21654,
+ 13335, 23309, 20167, 21656,
+ 13335, 23309, 20167, 21658,
+ 13335, 23309, 20167, 21660,
+ 13335, 23309, 20167, 21666,
+ 13335, 23309, 20167, 21668,
+ 13335, 23309, 20167, 21670,
+ 13335, 23309, 20167, 21678,
+ 13335, 23309, 20167, 21680,
+ 13335, 23309, 20167, 21682,
+ 13335, 23309, 20167, 21684,
+ 13335, 23309, 20167, 21686,
+ 13335, 23309, 20167, 21688,
+ 13335, 23309, 20167, 21690,
+ 13335, 23309, 20167, 21692,
+ 13335, 23309, 20167, 21694,
+ 13335, 23309, 20167, 21696,
+ 13335, 23309, 20167, 21698,
+ 13335, 23309, 20167, 21700,
+ 13335, 23309, 20167, 21702,
+ 13335, 23309, 20167, 21704,
+ 13335, 23309, 20167, 21706,
+ 13335, 23309, 20167, 21708,
+ 13335, 23309, 20167, 21710,
+ 13335, 23309, 20167, 21712,
+ 13335, 23309, 20167, 21714,
+ 13335, 23309, 20167, 21716,
+ 13335, 23309, 20167, 21718,
+ 13335, 23309, 20167, 21720,
+ 13335, 23309, 20167, 21722,
+ 13335, 23309, 20167, 21724,
+ 13335, 25234,
+ 13335, 25398,
13337, 6066,
13337, 12326,
13337, 13382,
@@ -20471,7 +20473,7 @@ static const uint16_t unicode_names[132374] = {
13385, 3209, 18705, 12449, 10624,
13385, 6993, 17063, 19374,
13385, 6993, 18705, 12449, 10624,
- 13385, 7015, 25243, 19374,
+ 13385, 7015, 25247, 19374,
13385, 9721, 15779, 12856,
13385, 9723, 11445, 9723, 16248,
13385, 9843, 10510,
@@ -20480,19 +20482,19 @@ static const uint16_t unicode_names[132374] = {
13385, 12343, 14683, 15341, 2737, 14996,
13385, 12343, 14683, 15341, 3501, 17212,
13385, 12449, 13382,
- 13385, 12449, 15875, 19183, 893, 22417, 12342,
- 13385, 12449, 15875, 21109, 893, 22417, 12342,
+ 13385, 12449, 15875, 19183, 893, 22419, 12342,
+ 13385, 12449, 15875, 21109, 893, 22419, 12342,
13385, 12581, 8756,
13385, 13067, 17063, 19374,
13385, 13067, 18705, 12449, 10624,
13385, 13067, 18705, 20271, 10624,
- 13385, 13067, 18705, 23007, 12449, 10624,
- 13385, 13067, 27319, 21485, 19374,
+ 13385, 13067, 18705, 23009, 12449, 10624,
+ 13385, 13067, 27323, 21485, 19374,
13385, 13335, 12856,
- 13385, 13383, 22789, 8757, 20194,
+ 13385, 13383, 22791, 8757, 20194,
13385, 13681, 15814,
13385, 13685, 12856,
- 13385, 13739, 25403, 15335, 22417, 12342,
+ 13385, 13739, 25407, 15335, 22419, 12342,
13385, 13905, 10510,
13385, 14155, 6789, 12342,
13385, 14155, 6789, 20283, 1038,
@@ -20504,15 +20506,15 @@ static const uint16_t unicode_names[132374] = {
13385, 14827, 6789, 20283, 11323, 8224,
13385, 14827, 11421, 20283, 1038,
13385, 14827, 11421, 20283, 11323, 8224,
- 13385, 15173, 25403, 15335, 22417, 12342,
+ 13385, 15173, 25407, 15335, 22419, 12342,
13385, 15335, 15814,
13385, 15335, 17076,
- 13385, 15335, 25069, 20626,
+ 13385, 15335, 25073, 20626,
13385, 15653, 46,
13385, 15814,
13385, 15815, 11445, 15815, 16248,
13385, 15815, 11445, 17107, 893, 3501, 6653, 12248,
- 13385, 15893, 27323, 22417, 12342,
+ 13385, 15893, 27327, 22419, 12342,
13385, 15941, 10510,
13385, 15969, 12845, 21495, 8757, 20194,
13385, 15969, 17305, 12845, 21495, 8757, 20194,
@@ -20526,42 +20528,42 @@ static const uint16_t unicode_names[132374] = {
13385, 17717, 18848,
13385, 18848,
13385, 18964,
- 13385, 19183, 12343, 11445, 13681, 22787, 20788,
- 13385, 19183, 12343, 11445, 22787, 20788,
+ 13385, 19183, 12343, 11445, 13681, 22789, 20788,
+ 13385, 19183, 12343, 11445, 22789, 20788,
13385, 19374,
13385, 19615, 10510,
13385, 20031, 9721, 217, 20194,
13385, 20201, 12449, 10624,
13385, 20701, 958,
13385, 20775, 20194,
- 13385, 21109, 12343, 11445, 13681, 22787, 20788,
- 13385, 21109, 12343, 11445, 22787, 20788,
- 13385, 21313, 12343, 11445, 13681, 22787, 20788,
- 13385, 21313, 12343, 11445, 22787, 20788,
+ 13385, 21109, 12343, 11445, 13681, 22789, 20788,
+ 13385, 21109, 12343, 11445, 22789, 20788,
+ 13385, 21313, 12343, 11445, 13681, 22789, 20788,
+ 13385, 21313, 12343, 11445, 22789, 20788,
13385, 22199, 6978,
- 13385, 22417, 12342,
- 13385, 22417, 12343, 11445, 13681, 22787, 20788,
- 13385, 22417, 12343, 11445, 22787, 20788,
- 13385, 22421, 22859, 20194,
- 13385, 22789, 8757, 17140,
- 13385, 22789, 8757, 20194,
- 13385, 22859, 20194,
- 13385, 23159, 22417, 12342,
- 13385, 23389, 22417, 12342,
- 13385, 23489, 22417, 12342,
- 13385, 25119, 12309, 17647, 20194,
- 13385, 25119, 12309, 21495, 8757, 20194,
- 13385, 25389, 46,
- 13385, 25401, 12309, 17647, 20194,
- 13385, 25401, 12309, 21495, 8757, 20194,
- 13385, 25537, 14155, 6789, 12342,
- 13385, 25537, 14827, 6789, 12342,
- 13385, 25537, 22417, 12342,
- 13385, 27279, 12449, 22417, 12342,
- 13385, 27319, 19374,
- 13385, 27319, 20271, 19374,
- 13385, 27323, 22417, 12342,
- 13385, 27469, 22417, 12342,
+ 13385, 22419, 12342,
+ 13385, 22419, 12343, 11445, 13681, 22789, 20788,
+ 13385, 22419, 12343, 11445, 22789, 20788,
+ 13385, 22423, 22861, 20194,
+ 13385, 22791, 8757, 17140,
+ 13385, 22791, 8757, 20194,
+ 13385, 22861, 20194,
+ 13385, 23163, 22419, 12342,
+ 13385, 23393, 22419, 12342,
+ 13385, 23493, 22419, 12342,
+ 13385, 25123, 12309, 17647, 20194,
+ 13385, 25123, 12309, 21495, 8757, 20194,
+ 13385, 25393, 46,
+ 13385, 25405, 12309, 17647, 20194,
+ 13385, 25405, 12309, 21495, 8757, 20194,
+ 13385, 25541, 14155, 6789, 12342,
+ 13385, 25541, 14827, 6789, 12342,
+ 13385, 25541, 22419, 12342,
+ 13385, 27283, 12449, 22419, 12342,
+ 13385, 27323, 19374,
+ 13385, 27323, 20271, 19374,
+ 13385, 27327, 22419, 12342,
+ 13385, 27473, 22419, 12342,
13399, 17190,
13438,
13443, 2840,
@@ -20574,7 +20576,7 @@ static const uint16_t unicode_names[132374] = {
13453, 19440,
13453, 20842,
13501, 506,
- 13501, 507, 529, 23501, 13093, 660,
+ 13501, 507, 529, 23505, 13093, 660,
13505, 10976,
13507, 20283, 95, 3389, 17368,
13509, 14775, 8199, 8756,
@@ -20644,7 +20646,7 @@ static const uint16_t unicode_names[132374] = {
13509, 14775, 19849, 2737, 18766,
13509, 14775, 19849, 15005, 20326,
13509, 14775, 20771, 8199, 8756,
- 13509, 14775, 22992,
+ 13509, 14775, 22994,
13513, 17141, 1485, 13685, 14807, 18330,
13513, 17141, 1485, 13685, 17671, 18330,
13513, 17141, 1485, 13685, 18330,
@@ -20719,10 +20721,10 @@ static const uint16_t unicode_names[132374] = {
13601, 10511, 19384,
13601, 10511, 21902,
13601, 10511, 21906,
- 13601, 10511, 22922,
- 13601, 10511, 23124,
- 13601, 10511, 23504,
- 13601, 10511, 25232,
+ 13601, 10511, 22924,
+ 13601, 10511, 23128,
+ 13601, 10511, 23508,
+ 13601, 10511, 25236,
13601, 12989, 2736,
13601, 12989, 3208,
13601, 12989, 3500,
@@ -20829,32 +20831,32 @@ static const uint16_t unicode_names[132374] = {
13601, 17141, 21788,
13601, 17141, 22344,
13601, 19551, 17141, 10086,
- 13601, 22847, 15289, 422,
- 13601, 22847, 15289, 584,
- 13601, 22847, 15289, 586,
- 13601, 22847, 15289, 594,
- 13601, 22847, 15289, 612,
- 13601, 22847, 15289, 2336,
- 13601, 22847, 15289, 2892,
- 13601, 22847, 15289, 2896,
- 13601, 22847, 15289, 2898,
- 13601, 22847, 15289, 2902,
- 13601, 22847, 15289, 2924,
- 13601, 22847, 15289, 2937, 11073, 2736,
- 13601, 22847, 15289, 2937, 11073, 3500,
- 13601, 22847, 15289, 2952,
- 13601, 22847, 15289, 2962,
- 13601, 22847, 15289, 3136,
- 13601, 22847, 15289, 9942,
+ 13601, 22849, 15289, 422,
+ 13601, 22849, 15289, 584,
+ 13601, 22849, 15289, 586,
+ 13601, 22849, 15289, 594,
+ 13601, 22849, 15289, 612,
+ 13601, 22849, 15289, 2336,
+ 13601, 22849, 15289, 2892,
+ 13601, 22849, 15289, 2896,
+ 13601, 22849, 15289, 2898,
+ 13601, 22849, 15289, 2902,
+ 13601, 22849, 15289, 2924,
+ 13601, 22849, 15289, 2937, 11073, 2736,
+ 13601, 22849, 15289, 2937, 11073, 3500,
+ 13601, 22849, 15289, 2952,
+ 13601, 22849, 15289, 2962,
+ 13601, 22849, 15289, 3136,
+ 13601, 22849, 15289, 9942,
13622,
13660,
13681, 697, 10784,
- 13681, 2737, 1285, 9725, 3501, 6653, 22998,
- 13681, 2737, 10089, 9725, 3501, 14559, 22998,
+ 13681, 2737, 1285, 9725, 3501, 6653, 23000,
+ 13681, 2737, 10089, 9725, 3501, 14559, 23000,
13681, 3027, 15814,
13681, 3027, 17076,
- 13681, 3501, 6653, 9725, 2737, 1285, 22998,
- 13681, 3501, 14559, 9725, 2737, 10089, 22998,
+ 13681, 3501, 6653, 9725, 2737, 1285, 23000,
+ 13681, 3501, 14559, 9725, 2737, 10089, 23000,
13681, 6051, 15814,
13681, 6051, 17076,
13681, 6051, 17824,
@@ -20907,7 +20909,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 1, 11445, 21927, 893, 12250,
13685, 14807, 16393, 1, 11445, 21927, 893, 13330,
13685, 14807, 16393, 1, 11445, 21927, 893, 15028,
- 13685, 14807, 16393, 1, 25396,
+ 13685, 14807, 16393, 1, 25400,
13685, 14807, 16393, 2,
13685, 14807, 16393, 3, 11445, 1285, 12248,
13685, 14807, 16393, 3, 11445, 1285, 12426,
@@ -21032,7 +21034,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 19, 11445, 12542,
13685, 14807, 16393, 19, 11445, 17106,
13685, 14807, 16393, 19, 11445, 21926,
- 13685, 14807, 16393, 19, 11445, 23216,
+ 13685, 14807, 16393, 19, 11445, 23220,
13685, 14807, 16393, 20,
13685, 14807, 16393, 21, 11445, 1285, 12426,
13685, 14807, 16393, 21, 11445, 7612,
@@ -21078,7 +21080,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 25, 11445, 12250,
13685, 14807, 16393, 25, 11445, 16521, 15028,
13685, 14807, 16393, 25, 11445, 18607, 7612,
- 13685, 14807, 16393, 25, 11445, 23216,
+ 13685, 14807, 16393, 25, 11445, 23220,
13685, 14807, 16393, 26,
13685, 14807, 16393, 27, 11445, 1285, 12248,
13685, 14807, 16393, 27, 11445, 1285, 12426,
@@ -21098,7 +21100,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 27, 11445, 21529, 7612,
13685, 14807, 16393, 27, 11445, 21927, 12426,
13685, 14807, 16393, 27, 11445, 22267, 8229, 7612,
- 13685, 14807, 16393, 27, 11445, 23216,
+ 13685, 14807, 16393, 27, 11445, 23220,
13685, 14807, 16393, 27, 20299, 125, 21876,
13685, 14807, 16393, 28,
13685, 14807, 16393, 29, 11445, 1285, 12248,
@@ -21176,7 +21178,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 35, 11445, 19827, 893, 18607, 7612,
13685, 14807, 16393, 35, 11445, 19955, 12478,
13685, 14807, 16393, 35, 11445, 22267, 8229, 7612,
- 13685, 14807, 16393, 35, 11445, 23216,
+ 13685, 14807, 16393, 35, 11445, 23220,
13685, 14807, 16393, 35, 18832,
13685, 14807, 16393, 35, 19245, 16178,
13685, 14807, 16393, 36,
@@ -21335,7 +21337,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 534,
13685, 14807, 16393, 593, 17830,
13685, 14807, 16393, 651, 17831, 11445, 6334,
- 13685, 14807, 16393, 655, 11445, 25204,
+ 13685, 14807, 16393, 655, 11445, 25208,
13685, 14807, 16393, 665, 17830,
13685, 14807, 16393, 665, 17831, 11445, 21529, 7612,
13685, 14807, 16393, 670,
@@ -21351,7 +21353,7 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 1298,
13685, 14807, 16393, 1386,
13685, 14807, 16393, 1387, 11445, 18607, 7612,
- 13685, 14807, 16393, 1387, 11445, 23216,
+ 13685, 14807, 16393, 1387, 11445, 23220,
13685, 14807, 16393, 1404,
13685, 14807, 16393, 1405, 11445, 6334,
13685, 14807, 16393, 1405, 11445, 15969, 958,
@@ -21434,13 +21436,13 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 15825, 18127, 12,
13685, 14807, 16393, 15825, 20365, 9721, 8,
13685, 14807, 16393, 15969, 34,
- 13685, 14807, 16393, 15969, 35, 11445, 23216,
+ 13685, 14807, 16393, 15969, 35, 11445, 23220,
13685, 14807, 16393, 15969, 11482,
13685, 14807, 16393, 15969, 15002,
13685, 14807, 16393, 16371, 11445, 17106,
13685, 14807, 16393, 16521, 14659, 36,
13685, 14807, 16393, 16947, 12,
- 13685, 14807, 16393, 16947, 13, 11445, 23216,
+ 13685, 14807, 16393, 16947, 13, 11445, 23220,
13685, 14807, 16393, 16947, 34,
13685, 14807, 16393, 16947, 35, 11445, 10088,
13685, 14807, 16393, 17305, 0,
@@ -21520,20 +21522,20 @@ static const uint16_t unicode_names[132374] = {
13685, 14807, 16393, 20435, 40,
13685, 14807, 16393, 20435, 9721, 28,
13685, 14807, 16393, 20435, 17305, 24,
- 13685, 14807, 16393, 20435, 22705, 40,
+ 13685, 14807, 16393, 20435, 22707, 40,
13685, 14807, 16393, 20571, 2808,
13685, 14807, 16393, 20624,
13685, 14807, 16393, 20779, 44,
13685, 14807, 16393, 20926,
13685, 14807, 16393, 20927, 11445, 12844,
- 13685, 14807, 16393, 22593, 50,
- 13685, 14807, 16393, 22645, 8,
- 13685, 14807, 16393, 22645, 28,
- 13685, 14807, 16393, 22645, 29, 11445, 17106,
- 13685, 14807, 16393, 23339, 42,
- 13685, 14807, 16393, 23339, 406,
- 13685, 14807, 16393, 25073, 876,
- 13685, 14807, 16393, 25073, 5440,
+ 13685, 14807, 16393, 22595, 50,
+ 13685, 14807, 16393, 22647, 8,
+ 13685, 14807, 16393, 22647, 28,
+ 13685, 14807, 16393, 22647, 29, 11445, 17106,
+ 13685, 14807, 16393, 23343, 42,
+ 13685, 14807, 16393, 23343, 406,
+ 13685, 14807, 16393, 25077, 876,
+ 13685, 14807, 16393, 25077, 5440,
13685, 14807, 17671, 16393, 17, 11445, 17106,
13685, 14807, 17671, 16393, 41, 11445, 17106,
13685, 14807, 20031, 232,
@@ -21613,7 +21615,7 @@ static const uint16_t unicode_names[132374] = {
13685, 16393, 21623, 4,
13685, 16393, 21623, 5, 11445, 6334,
13685, 16393, 22355, 17377, 21178,
- 13685, 16393, 23081, 1284,
+ 13685, 16393, 23083, 1284,
13685, 17671, 16393, 0,
13685, 17671, 16393, 1, 11445, 1285, 12248,
13685, 17671, 16393, 1, 11445, 1285, 12249, 893, 16446,
@@ -21751,7 +21753,7 @@ static const uint16_t unicode_names[132374] = {
13685, 17671, 16393, 18,
13685, 17671, 16393, 19, 11445, 17106,
13685, 17671, 16393, 19, 11445, 21926,
- 13685, 17671, 16393, 19, 11445, 23216,
+ 13685, 17671, 16393, 19, 11445, 23220,
13685, 17671, 16393, 20,
13685, 17671, 16393, 21, 11445, 1285, 12426,
13685, 17671, 16393, 21, 11445, 7612,
@@ -22058,11 +22060,11 @@ static const uint16_t unicode_names[132374] = {
13685, 17671, 16393, 20779, 44,
13685, 17671, 16393, 20926,
13685, 17671, 16393, 20927, 11445, 12844,
- 13685, 17671, 16393, 22593, 50,
- 13685, 17671, 16393, 23339, 42,
- 13685, 17671, 16393, 23339, 406,
- 13685, 17671, 16393, 25073, 876,
- 13685, 17671, 16393, 25073, 5440,
+ 13685, 17671, 16393, 22595, 50,
+ 13685, 17671, 16393, 23343, 42,
+ 13685, 17671, 16393, 23343, 406,
+ 13685, 17671, 16393, 25077, 876,
+ 13685, 17671, 16393, 25077, 5440,
13685, 17671, 20031, 316,
13685, 17671, 20031, 504,
13685, 21639, 14807, 16393, 0,
@@ -22177,8 +22179,8 @@ static const uint16_t unicode_names[132374] = {
13713, 21631, 16393, 598,
13713, 21631, 16393, 736,
13713, 21631, 16393, 776,
- 13713, 22789, 8756,
- 13713, 25225, 16392,
+ 13713, 22791, 8756,
+ 13713, 25229, 16392,
13723, 20619, 10510,
13724,
13732,
@@ -22207,8 +22209,8 @@ static const uint16_t unicode_names[132374] = {
13739, 8229, 20626,
13739, 8229, 20815, 2796,
13739, 8229, 22328,
- 13739, 8229, 22561, 16497, 14680,
- 13739, 8229, 23395, 23499, 12342,
+ 13739, 8229, 22563, 16497, 14680,
+ 13739, 8229, 23399, 23503, 12342,
13739, 12451, 20398,
13739, 14557, 12457, 19589, 13739, 8229, 661, 13739, 16521, 14556,
13739, 14557, 12457, 19589, 13739, 8229, 661, 15173, 15778,
@@ -22227,13 +22229,13 @@ static const uint16_t unicode_names[132374] = {
13739, 14557, 20417, 15335, 15814,
13739, 14557, 20417, 15335, 17076,
13739, 14557, 20626,
- 13739, 14557, 22561, 16497, 14680,
- 13739, 14557, 23395, 20883, 12342,
- 13739, 14557, 25071, 15335, 17076,
+ 13739, 14557, 22563, 16497, 14680,
+ 13739, 14557, 23399, 20883, 12342,
+ 13739, 14557, 25075, 15335, 17076,
13739, 14677, 17935, 12456,
13739, 15005, 17935, 12456,
13739, 15005, 20327, 12456,
- 13739, 22561, 2737, 18767, 12456,
+ 13739, 22563, 2737, 18767, 12456,
13747, 17930,
13748,
13751, 6952,
@@ -22506,7 +22508,7 @@ static const uint16_t unicode_names[132374] = {
13955, 15169, 20189, 11445, 9842,
13955, 15335, 20701, 958,
13955, 17077, 15169, 20188,
- 13955, 17077, 23309, 20188,
+ 13955, 17077, 23313, 20188,
13955, 17717, 1285, 20188,
13955, 17717, 9843, 20188,
13955, 17717, 15035, 20188,
@@ -22515,7 +22517,7 @@ static const uint16_t unicode_names[132374] = {
13955, 18748,
13955, 20912,
13955, 21640,
- 13955, 23308,
+ 13955, 23312,
13970,
13977, 10510,
13983, 15588,
@@ -22534,9 +22536,9 @@ static const uint16_t unicode_names[132374] = {
14155, 6789, 20283, 1038,
14155, 6789, 20283, 8224,
14155, 6789, 20283, 11323, 8224,
- 14155, 6789, 22421, 12342,
- 14155, 6789, 27323, 12342,
- 14155, 6789, 27323, 12343, 661, 958,
+ 14155, 6789, 22423, 12342,
+ 14155, 6789, 27327, 12342,
+ 14155, 6789, 27327, 12343, 661, 958,
14155, 11421, 893, 14827, 6789, 12342,
14155, 11421, 12342,
14155, 11421, 12343, 661, 8299, 958,
@@ -22550,9 +22552,9 @@ static const uint16_t unicode_names[132374] = {
14155, 11421, 20283, 1038,
14155, 11421, 20283, 8224,
14155, 11421, 20283, 11323, 8224,
- 14155, 11421, 22421, 12342,
- 14155, 11421, 27323, 12342,
- 14155, 11421, 27323, 12343, 661, 958,
+ 14155, 11421, 22423, 12342,
+ 14155, 11421, 27327, 12342,
+ 14155, 11421, 27327, 12343, 661, 958,
14155, 13509, 14597, 8756,
14155, 13509, 18767, 8756,
14155, 13509, 19849, 2737, 7384,
@@ -22560,12 +22562,10 @@ static const uint16_t unicode_names[132374] = {
14155, 13509, 19849, 2737, 18766,
14155, 13509, 19849, 2737, 21596,
14155, 13509, 19849, 15005, 20326,
- 14155, 13509, 19849, 15005, 22504,
+ 14155, 13509, 19849, 15005, 22506,
14155, 13509, 20325, 8756,
- 14155, 13509, 22993, 8756,
+ 14155, 13509, 22995, 8756,
14239, 21275, 8756,
- 14239, 26480,
- 14239, 26482,
14239, 26484,
14239, 26486,
14239, 26488,
@@ -22960,6 +22960,8 @@ static const uint16_t unicode_names[132374] = {
14239, 27266,
14239, 27268,
14239, 27270,
+ 14239, 27272,
+ 14239, 27274,
14319, 14829, 8756,
14319, 16393, 528,
14319, 16393, 700,
@@ -22986,7 +22988,7 @@ static const uint16_t unicode_names[132374] = {
14319, 16393, 18130,
14319, 16393, 18502,
14319, 16393, 20682,
- 14319, 16393, 22774,
+ 14319, 16393, 22776,
14319, 17981, 8756,
14319, 20365, 17981, 8756,
14325, 2348,
@@ -23003,7 +23005,7 @@ static const uint16_t unicode_names[132374] = {
14341, 10511, 19342,
14341, 10511, 19386,
14341, 10511, 20204,
- 14341, 10511, 22648,
+ 14341, 10511, 22650,
14341, 12989, 2736,
14341, 12989, 3208,
14341, 12989, 3500,
@@ -23085,7 +23087,7 @@ static const uint16_t unicode_names[132374] = {
14341, 19849, 2737, 18766,
14341, 19849, 2737, 21596,
14341, 19849, 15005, 20326,
- 14341, 19849, 15005, 22504,
+ 14341, 19849, 15005, 22506,
14343, 14807, 16393, 0,
14343, 14807, 16393, 8,
14343, 14807, 16393, 16,
@@ -23191,7 +23193,7 @@ static const uint16_t unicode_names[132374] = {
14554,
14557, 893, 13739, 2737, 15981, 12456,
14557, 893, 15173, 2737, 15981, 12456,
- 14557, 913, 23279, 17646,
+ 14557, 913, 23283, 17646,
14557, 2281, 22341, 17646,
14557, 2737, 15981, 12456,
14557, 2737, 18767, 12456,
@@ -23210,11 +23212,11 @@ static const uint16_t unicode_names[132374] = {
14557, 12308,
14557, 12309, 11445, 912,
14557, 12309, 11445, 21109, 17463, 12342,
- 14557, 12309, 15967, 23455, 16474,
+ 14557, 12309, 15967, 23459, 16474,
14557, 12309, 17646,
14557, 12309, 17647, 11445, 1284,
14557, 12309, 19197, 11445, 17076,
- 14557, 12309, 23455, 16474,
+ 14557, 12309, 23459, 16474,
14557, 12343, 11445, 14807, 15814,
14557, 12343, 11445, 17717, 9842,
14557, 12449, 20615, 14709, 17646,
@@ -23234,15 +23236,15 @@ static const uint16_t unicode_names[132374] = {
14557, 15335, 17077, 17646,
14557, 15335, 20615, 14709, 17646,
14557, 15335, 22241, 17646,
- 14557, 15335, 22966,
+ 14557, 15335, 22968,
14557, 15851, 17646,
- 14557, 15967, 23455, 17646,
+ 14557, 15967, 23459, 17646,
14557, 15969, 12309, 17646,
14557, 15969, 12343, 11445, 18835, 7414,
14557, 15969, 17409, 13162,
14557, 15969, 21495, 8756,
- 14557, 15969, 22966,
- 14557, 16621, 16023, 22431, 18748,
+ 14557, 15969, 22968,
+ 14557, 16621, 16023, 22433, 18748,
14557, 16865, 20183, 17646,
14557, 17025, 21495, 8756,
14557, 17055, 15730,
@@ -23269,14 +23271,14 @@ static const uint16_t unicode_names[132374] = {
14557, 20627, 12249, 8229, 20626,
14557, 20701, 959, 11445, 14498,
14557, 20701, 1031, 8268,
- 14557, 22431, 18748,
- 14557, 22561, 2737, 18767, 12456,
- 14557, 22966,
- 14557, 22967, 13739, 7612,
- 14557, 22967, 15173, 7612,
- 14557, 22967, 21140,
- 14557, 23455, 17646,
- 14557, 25217, 17646,
+ 14557, 22433, 18748,
+ 14557, 22563, 2737, 18767, 12456,
+ 14557, 22968,
+ 14557, 22969, 13739, 7612,
+ 14557, 22969, 15173, 7612,
+ 14557, 22969, 21140,
+ 14557, 23459, 17646,
+ 14557, 25221, 17646,
14569, 6952,
14573, 93, 10510,
14573, 15165, 10510,
@@ -23313,12 +23315,12 @@ static const uint16_t unicode_names[132374] = {
14573, 20863, 10510,
14573, 21113, 10510,
14573, 21493, 10510,
- 14573, 22437, 10510,
+ 14573, 22439, 10510,
14575, 17168,
14575, 18762,
14585, 10510,
14587, 19836,
- 14595, 12857, 22998,
+ 14595, 12857, 23000,
14595, 15611, 17140,
14595, 16393, 4,
14595, 16393, 6,
@@ -23365,7 +23367,7 @@ static const uint16_t unicode_names[132374] = {
14595, 16393, 13523, 18,
14595, 16393, 13570,
14595, 16393, 14519, 3001, 10051, 34,
- 14595, 16393, 14763, 27295, 36,
+ 14595, 16393, 14763, 27299, 36,
14595, 16393, 15047, 3411, 3513, 38,
14595, 16393, 15365, 11483, 44,
14595, 16393, 16095, 15767, 62,
@@ -23388,24 +23390,24 @@ static const uint16_t unicode_names[132374] = {
14595, 16393, 19734,
14595, 16393, 19736,
14595, 16393, 20603, 15011, 15002,
- 14595, 16393, 23298,
- 14595, 16393, 25193, 0,
- 14595, 16393, 25194,
- 14595, 16393, 25379, 66,
- 14595, 16393, 25380,
- 14595, 16393, 25407, 28,
- 14595, 16393, 25409, 36,
- 14595, 16393, 25411, 38,
- 14595, 16393, 27293, 28,
- 14595, 16393, 27311, 24,
- 14595, 16393, 27313, 26,
- 14595, 16393, 27441, 24,
- 14595, 16393, 27511, 14,
- 14595, 16393, 27533, 14,
- 14595, 16393, 27553, 2,
- 14595, 17025, 22998,
+ 14595, 16393, 23302,
+ 14595, 16393, 25197, 0,
+ 14595, 16393, 25198,
+ 14595, 16393, 25383, 66,
+ 14595, 16393, 25384,
+ 14595, 16393, 25411, 28,
+ 14595, 16393, 25413, 36,
+ 14595, 16393, 25415, 38,
+ 14595, 16393, 27297, 28,
+ 14595, 16393, 27315, 24,
+ 14595, 16393, 27317, 26,
+ 14595, 16393, 27445, 24,
+ 14595, 16393, 27515, 14,
+ 14595, 16393, 27537, 14,
+ 14595, 16393, 27557, 2,
+ 14595, 17025, 23000,
14595, 19405, 17140,
- 14595, 20131, 22998,
+ 14595, 20131, 23000,
14595, 20667, 17140,
14597, 10510,
14652,
@@ -23420,8 +23422,8 @@ static const uint16_t unicode_names[132374] = {
14735, 6657, 10785, 11445, 18594,
14735, 8229, 10784,
14735, 18937, 14155, 12342,
- 14735, 22417, 12343, 12249, 21313, 12342,
- 14735, 22641, 14827, 12342,
+ 14735, 22419, 12343, 12249, 21313, 12342,
+ 14735, 22643, 14827, 12342,
14742,
14778,
14782,
@@ -23431,19 +23433,19 @@ static const uint16_t unicode_names[132374] = {
14800,
14802,
14807, 203, 6502,
- 14807, 3501, 6653, 9725, 2737, 1285, 22998,
+ 14807, 3501, 6653, 9725, 2737, 1285, 23000,
14807, 3633, 11445, 20688,
14807, 6051, 17824,
14807, 7029, 10630,
14807, 8229, 12863, 17646,
14807, 8229, 20615, 14709, 17646,
- 14807, 8229, 22966,
+ 14807, 8229, 22968,
14807, 9843, 10510,
14807, 12838,
14807, 12844,
14807, 14557, 12863, 17646,
14807, 14557, 20615, 14709, 17646,
- 14807, 14557, 22966,
+ 14807, 14557, 22968,
14807, 14573, 18545, 2736,
14807, 14573, 18545, 2737, 18102,
14807, 14573, 18545, 2737, 20596,
@@ -23480,10 +23482,10 @@ static const uint16_t unicode_names[132374] = {
14807, 21315, 10510,
14807, 21560,
14807, 21929, 94,
- 14807, 22789, 8756,
- 14807, 22833, 12844,
- 14807, 23279, 10510,
- 14807, 23294,
+ 14807, 22791, 8756,
+ 14807, 22835, 12844,
+ 14807, 23283, 10510,
+ 14807, 23298,
14809, 18748,
14812,
14814,
@@ -23503,9 +23505,9 @@ static const uint16_t unicode_names[132374] = {
14827, 6789, 20283, 1038,
14827, 6789, 20283, 8224,
14827, 6789, 20283, 11323, 8224,
- 14827, 6789, 22421, 12342,
- 14827, 6789, 27323, 12342,
- 14827, 6789, 27323, 12343, 661, 958,
+ 14827, 6789, 22423, 12342,
+ 14827, 6789, 27327, 12342,
+ 14827, 6789, 27327, 12343, 661, 958,
14827, 11421, 12342,
14827, 11421, 12343, 893, 14155, 11421, 12342,
14827, 11421, 12343, 11445, 7612,
@@ -23515,16 +23517,16 @@ static const uint16_t unicode_names[132374] = {
14827, 11421, 20283, 1038,
14827, 11421, 20283, 8224,
14827, 11421, 20283, 11323, 8224,
- 14827, 11421, 22421, 12342,
- 14827, 11421, 27323, 12342,
- 14827, 11421, 27323, 12343, 661, 958,
+ 14827, 11421, 22423, 12342,
+ 14827, 11421, 27327, 12342,
+ 14827, 11421, 27327, 12343, 661, 958,
14828,
14843, 507, 17218,
14844,
- 14847, 12449, 22417, 12342,
+ 14847, 12449, 22419, 12342,
14848,
14859, 507, 16202,
- 14859, 507, 22612,
+ 14859, 507, 22614,
14869, 22248,
14871, 16040,
14871, 16041, 11445, 5485, 16864,
@@ -23605,7 +23607,7 @@ static const uint16_t unicode_names[132374] = {
14943, 16393, 6530,
14943, 16393, 11014,
14943, 16393, 17547, 2018,
- 14943, 23163, 10510,
+ 14943, 23167, 10510,
14945, 8757, 2736,
14945, 8757, 6992,
14949, 93, 12249, 10510,
@@ -23614,8 +23616,8 @@ static const uint16_t unicode_names[132374] = {
14949, 518,
14949, 893, 2715, 10510,
14949, 1207, 10510,
- 14949, 1289, 22685, 10510,
- 14949, 3729, 22685, 10510,
+ 14949, 1289, 22687, 10510,
+ 14949, 3729, 22687, 10510,
14949, 8207, 10510,
14949, 10323, 2769, 10510,
14949, 10511, 2540,
@@ -23636,8 +23638,8 @@ static const uint16_t unicode_names[132374] = {
14949, 10511, 20750,
14949, 10511, 21368,
14949, 10511, 21372,
- 14949, 10511, 22586,
- 14949, 10511, 22924,
+ 14949, 10511, 22588,
+ 14949, 10511, 22926,
14949, 11605, 10510,
14949, 12971, 10510,
14949, 12989, 2736,
@@ -23715,29 +23717,29 @@ static const uint16_t unicode_names[132374] = {
14949, 19849, 2737, 19842,
14949, 19849, 2737, 21118,
14949, 19849, 2737, 21790,
- 14949, 19849, 2737, 23086,
14949, 19849, 2737, 23088,
- 14949, 19849, 2737, 23440,
- 14949, 19849, 2737, 25210,
- 14949, 19849, 2737, 27602,
+ 14949, 19849, 2737, 23090,
+ 14949, 19849, 2737, 23444,
+ 14949, 19849, 2737, 25214,
14949, 19849, 2737, 27606,
+ 14949, 19849, 2737, 27610,
14949, 19849, 15005, 20326,
14949, 19849, 15005, 22110,
- 14949, 19849, 15005, 22504,
- 14949, 19849, 15005, 22572,
- 14949, 19849, 15005, 25196,
- 14949, 19849, 22773, 16023, 13610,
+ 14949, 19849, 15005, 22506,
+ 14949, 19849, 15005, 22574,
+ 14949, 19849, 15005, 25200,
+ 14949, 19849, 22775, 16023, 13610,
14949, 20487, 7021, 10510,
- 14949, 22999, 1385, 507, 10852,
- 14949, 23129, 15861, 10510,
- 14949, 23129, 16647, 10510,
+ 14949, 23001, 1385, 507, 10852,
+ 14949, 23133, 15861, 10510,
+ 14949, 23133, 16647, 10510,
14959, 6006,
14973, 10510,
14983, 6643, 2623, 13120,
14983, 16002,
14997, 14443, 13844,
15001, 16924,
- 15005, 1285, 22998,
+ 15005, 1285, 23000,
15005, 10039, 8228,
15005, 10039, 12248,
15005, 10039, 12426,
@@ -23749,12 +23751,12 @@ static const uint16_t unicode_names[132374] = {
15005, 18705, 12449, 10624,
15005, 21313, 15620,
15005, 21389, 20896,
- 15005, 22417, 15620,
- 15005, 22669, 15993, 14766,
- 15005, 22707, 12308,
+ 15005, 22419, 15620,
+ 15005, 22671, 15993, 14766,
+ 15005, 22709, 12308,
15022,
15023, 6952,
- 15025, 22563, 21602,
+ 15025, 22565, 21602,
15028,
15029, 11445, 1285, 12248,
15029, 11445, 1285, 12426,
@@ -23763,7 +23765,7 @@ static const uint16_t unicode_names[132374] = {
15029, 20189, 11445, 1285, 12248,
15029, 20189, 11445, 16895, 6652,
15029, 20189, 12249, 21313, 12342,
- 15029, 20189, 12249, 22417, 12342,
+ 15029, 20189, 12249, 22419, 12342,
15033, 12630,
15035, 11445, 8229, 7385, 12448,
15035, 11445, 14557, 7385, 12448,
@@ -23779,13 +23781,13 @@ static const uint16_t unicode_names[132374] = {
15169, 11445, 13905, 10510,
15169, 11445, 18349, 528,
15169, 11445, 18594,
- 15169, 12249, 959, 12249, 23308,
- 15169, 12249, 23308,
+ 15169, 12249, 959, 12249, 23312,
+ 15169, 12249, 23312,
15169, 15685, 893, 16265, 11445, 15168,
- 15173, 893, 8229, 893, 13739, 22561, 15005, 20327, 12456,
+ 15173, 893, 8229, 893, 13739, 22563, 15005, 20327, 12456,
15173, 893, 13739, 2737, 15981, 12456,
- 15173, 893, 13739, 22561, 7385, 12456,
- 15173, 893, 14557, 893, 13739, 22561, 15005, 20327, 12456,
+ 15173, 893, 13739, 22563, 7385, 12456,
+ 15173, 893, 14557, 893, 13739, 22563, 15005, 20327, 12456,
15173, 2737, 15981, 12456,
15173, 2737, 18767, 12456,
15173, 6993, 17935, 12456,
@@ -23811,7 +23813,7 @@ static const uint16_t unicode_names[132374] = {
15173, 8229, 15851, 11445, 1284,
15173, 8229, 20323, 19495, 912,
15173, 8229, 20626,
- 15173, 8229, 22561, 16497, 14680,
+ 15173, 8229, 22563, 16497, 14680,
15173, 12451, 20398,
15173, 14557, 529, 13739, 8229, 12863, 17647, 18872,
15173, 14557, 661, 13739, 8229, 6978,
@@ -23831,36 +23833,36 @@ static const uint16_t unicode_names[132374] = {
15173, 14557, 20417, 15335, 15814,
15173, 14557, 20417, 15335, 17076,
15173, 14557, 20626,
- 15173, 14557, 22561, 16497, 14680,
- 15173, 14557, 25071, 15335, 17076,
+ 15173, 14557, 22563, 16497, 14680,
+ 15173, 14557, 25075, 15335, 17076,
15173, 14677, 17935, 12456,
15173, 15005, 17935, 12456,
15173, 15005, 20327, 12456,
- 15173, 22561, 2737, 18767, 12456,
+ 15173, 22563, 2737, 18767, 12456,
15269, 10511, 8299, 19342,
- 15269, 10511, 15969, 19343, 23174,
+ 15269, 10511, 15969, 19343, 23178,
15269, 10511, 16905, 8299, 19342,
15269, 10511, 17230,
- 15269, 10511, 18831, 23178,
+ 15269, 10511, 18831, 23182,
15269, 10511, 19211, 17336,
15269, 10511, 19211, 17337, 11445, 10790,
15269, 10511, 19211, 19026,
15269, 10511, 19211, 19340,
15269, 10511, 19211, 19341, 11445, 10790,
15269, 10511, 19343, 20679, 13942,
- 15269, 10511, 19343, 23152,
- 15269, 10511, 19343, 23153, 11445, 10790,
- 15269, 10511, 19343, 23174,
- 15269, 10511, 19343, 23194,
+ 15269, 10511, 19343, 23156,
+ 15269, 10511, 19343, 23157, 11445, 10790,
+ 15269, 10511, 19343, 23178,
+ 15269, 10511, 19343, 23198,
15269, 10511, 19380,
15269, 10511, 19911, 8299, 19342,
15269, 10511, 20365, 19211, 17336,
15269, 10511, 20365, 19211, 19340,
15269, 10511, 21398,
- 15269, 10511, 22607, 18443, 19026,
- 15269, 10511, 22862,
- 15269, 10511, 23148,
- 15269, 10511, 23178,
+ 15269, 10511, 22609, 18443, 19026,
+ 15269, 10511, 22864,
+ 15269, 10511, 23152,
+ 15269, 10511, 23182,
15269, 10965, 1285, 12426,
15269, 10965, 3501, 6653, 12426,
15269, 10965, 10089, 12248,
@@ -23874,12 +23876,12 @@ static const uint16_t unicode_names[132374] = {
15269, 10965, 18165, 19340,
15269, 10965, 18732,
15269, 10965, 19978,
- 15269, 10965, 20369, 19981, 22847, 19026,
- 15269, 10965, 22607, 18165, 22847, 19026,
- 15269, 10965, 22607, 18165, 22847, 19027, 21552,
- 15269, 10965, 22607, 21855, 22847, 19026,
- 15269, 10965, 22607, 22847, 19026,
- 15269, 10965, 23187, 22847, 19026,
+ 15269, 10965, 20369, 19981, 22849, 19026,
+ 15269, 10965, 22609, 18165, 22849, 19026,
+ 15269, 10965, 22609, 18165, 22849, 19027, 21552,
+ 15269, 10965, 22609, 21855, 22849, 19026,
+ 15269, 10965, 22609, 22849, 19026,
+ 15269, 10965, 23191, 22849, 19026,
15274,
15279, 7160,
15279, 15744,
@@ -23935,9 +23937,9 @@ static const uint16_t unicode_names[132374] = {
15335, 12589, 15697, 18831, 3501, 18103, 18887, 17810,
15335, 12589, 15697, 18831, 16605, 17810,
15335, 12589, 16334,
- 15335, 12589, 16335, 18831, 2737, 18103, 23121, 17810,
+ 15335, 12589, 16335, 18831, 2737, 18103, 23125, 17810,
15335, 12589, 16335, 18831, 3501, 18103, 18887, 17810,
- 15335, 12589, 16335, 18831, 3501, 18103, 23137, 17810,
+ 15335, 12589, 16335, 18831, 3501, 18103, 23141, 17810,
15335, 12589, 16335, 18831, 15005, 18103, 17985, 17810,
15335, 12589, 16335, 18831, 16605, 17810,
15335, 12589, 16335, 18831, 22163, 17810,
@@ -23949,9 +23951,9 @@ static const uint16_t unicode_names[132374] = {
15335, 12589, 17305, 16334,
15335, 12589, 22136,
15335, 12589, 22137, 18831, 16605, 17810,
- 15335, 12589, 22870,
- 15335, 12589, 23324,
- 15335, 12589, 25114,
+ 15335, 12589, 22872,
+ 15335, 12589, 23328,
+ 15335, 12589, 25118,
15335, 13382,
15335, 13383, 10660,
15335, 13385, 12581, 8756,
@@ -23991,7 +23993,7 @@ static const uint16_t unicode_names[132374] = {
15335, 17077, 11445, 18835, 17752,
15335, 17077, 11445, 20701, 20829, 8268,
15335, 17077, 11445, 21313, 10916,
- 15335, 17077, 11445, 22417, 10916,
+ 15335, 17077, 11445, 22419, 10916,
15335, 17077, 15740,
15335, 17077, 21943, 12449, 11303, 14807, 17076,
15335, 17077, 21943, 12449, 14807, 17076,
@@ -24025,24 +24027,24 @@ static const uint16_t unicode_names[132374] = {
15335, 21759, 21742,
15335, 21762,
15335, 22199, 17944,
- 15335, 22789, 8757, 20194,
- 15335, 23147, 14807, 20626,
- 15335, 23147, 17702,
- 15335, 23147, 20626,
- 15335, 23147, 20627, 11445, 1284,
- 15335, 25055, 17824,
- 15335, 25055, 17825, 11445, 21313, 10916,
- 15335, 25055, 17825, 11445, 22417, 10916,
- 15335, 25069, 14807, 20626,
- 15335, 25069, 20626,
- 15335, 25119, 14807, 20626,
- 15335, 25119, 18706,
- 15335, 25119, 20626,
- 15335, 25140,
- 15335, 25401, 14807, 20626,
- 15335, 25401, 18706,
- 15335, 25401, 20254,
- 15335, 25401, 20626,
+ 15335, 22791, 8757, 20194,
+ 15335, 23151, 14807, 20626,
+ 15335, 23151, 17702,
+ 15335, 23151, 20626,
+ 15335, 23151, 20627, 11445, 1284,
+ 15335, 25059, 17824,
+ 15335, 25059, 17825, 11445, 21313, 10916,
+ 15335, 25059, 17825, 11445, 22419, 10916,
+ 15335, 25073, 14807, 20626,
+ 15335, 25073, 20626,
+ 15335, 25123, 14807, 20626,
+ 15335, 25123, 18706,
+ 15335, 25123, 20626,
+ 15335, 25144,
+ 15335, 25405, 14807, 20626,
+ 15335, 25405, 18706,
+ 15335, 25405, 20254,
+ 15335, 25405, 20626,
15349, 19988,
15350,
15351, 11445, 12509, 6784,
@@ -24134,10 +24136,10 @@ static const uint16_t unicode_names[132374] = {
15607, 10511, 15577, 19370,
15607, 10511, 16920,
15607, 10511, 17023, 20774,
- 15607, 10511, 17023, 23363, 2388,
+ 15607, 10511, 17023, 23367, 2388,
15607, 10511, 21736,
- 15607, 10511, 23003, 15576,
- 15607, 10511, 23029, 15577, 21826,
+ 15607, 10511, 23005, 15576,
+ 15607, 10511, 23031, 15577, 21826,
15607, 10791, 19850,
15607, 10965, 2737, 1285, 12248,
15607, 10965, 2737, 1285, 12426,
@@ -24217,14 +24219,14 @@ static const uint16_t unicode_names[132374] = {
15607, 14807, 7475, 11469, 15604,
15607, 14807, 7475, 11469, 17518,
15607, 14807, 7475, 11469, 19368,
- 15607, 14807, 7475, 11469, 23184,
+ 15607, 14807, 7475, 11469, 23188,
15607, 14807, 7475, 11742,
15607, 14807, 7475, 13155, 3876,
15607, 14807, 7475, 13796,
15607, 14807, 7475, 15005, 6652,
15607, 14807, 7475, 17855, 7415, 507, 8002,
15607, 14807, 7475, 18835, 11754,
- 15607, 14807, 7475, 19179, 23005, 11754,
+ 15607, 14807, 7475, 19179, 23007, 11754,
15607, 14807, 7475, 19839, 16474,
15607, 14807, 7475, 20031, 2895, 11445, 2183, 11445, 5441, 18378,
15607, 14807, 7475, 20031, 3143, 11445, 2183, 11445, 5441, 18378,
@@ -24271,7 +24273,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 789, 19963, 7012,
15607, 16393, 876,
15607, 16393, 877, 11445, 3501, 6653, 12248,
- 15607, 16393, 877, 11445, 3501, 6653, 22589, 12248,
+ 15607, 16393, 877, 11445, 3501, 6653, 22591, 12248,
15607, 16393, 877, 11445, 15005, 6653, 12248,
15607, 16393, 877, 11445, 15005, 6653, 12426,
15607, 16393, 877, 11445, 15005, 6653, 20283, 21109, 12248,
@@ -24288,7 +24290,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 983, 11445, 14807, 8799, 12248,
15607, 16393, 983, 11445, 15005, 6653, 20283, 19183, 12426,
15607, 16393, 983, 11445, 15005, 6653, 20283, 19183, 12427, 893, 3501, 6653, 12248,
- 15607, 16393, 983, 11445, 15005, 6653, 23293, 12426,
+ 15607, 16393, 983, 11445, 15005, 6653, 23297, 12426,
15607, 16393, 983, 11445, 19955, 14807, 43, 12426,
15607, 16393, 983, 13175, 7012,
15607, 16393, 983, 16495, 7012,
@@ -24303,7 +24305,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 1194,
15607, 16393, 1195, 11445, 1285, 12426,
15607, 16393, 1195, 11445, 1285, 12427, 893, 14807, 3336,
- 15607, 16393, 1195, 11445, 3501, 6653, 22589, 12427, 893, 14807, 3336,
+ 15607, 16393, 1195, 11445, 3501, 6653, 22591, 12427, 893, 14807, 3336,
15607, 16393, 1195, 11445, 7015, 6653, 12248,
15607, 16393, 1195, 11445, 10088,
15607, 16393, 1195, 11445, 15005, 6653, 12249, 21108,
@@ -24344,7 +24346,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 1671, 11445, 14807, 15607, 16393, 3337, 12426,
15607, 16393, 1671, 11445, 15005, 6653, 12248,
15607, 16393, 1671, 11445, 15005, 6653, 20283, 19183, 12426,
- 15607, 16393, 1671, 11445, 19801, 23177, 12989, 7015, 12426,
+ 15607, 16393, 1671, 11445, 19801, 23181, 12989, 7015, 12426,
15607, 16393, 1671, 11445, 19955, 14807, 43, 12426,
15607, 16393, 1671, 13175, 7012,
15607, 16393, 1671, 16495, 7012,
@@ -24365,11 +24367,11 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 1699, 16495, 7012,
15607, 16393, 1699, 18125, 7012,
15607, 16393, 1699, 19963, 7012,
- 15607, 16393, 1699, 22712,
- 15607, 16393, 1699, 22713, 13175, 7012,
- 15607, 16393, 1699, 22713, 16495, 7012,
- 15607, 16393, 1699, 22713, 18125, 7012,
- 15607, 16393, 1699, 22713, 19963, 7012,
+ 15607, 16393, 1699, 22714,
+ 15607, 16393, 1699, 22715, 13175, 7012,
+ 15607, 16393, 1699, 22715, 16495, 7012,
+ 15607, 16393, 1699, 22715, 18125, 7012,
+ 15607, 16393, 1699, 22715, 19963, 7012,
15607, 16393, 1894,
15607, 16393, 1895, 13175, 7012,
15607, 16393, 1895, 19963, 7012,
@@ -24416,7 +24418,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 3031, 11445, 1285, 12426,
15607, 16393, 3031, 11445, 1285, 12427, 893, 1285, 12248,
15607, 16393, 3031, 11445, 3501, 6653, 12248,
- 15607, 16393, 3031, 11445, 3501, 6653, 22589, 12248,
+ 15607, 16393, 3031, 11445, 3501, 6653, 22591, 12248,
15607, 16393, 3031, 11445, 7015, 6653, 12248,
15607, 16393, 3031, 11445, 8304,
15607, 16393, 3031, 11445, 10088,
@@ -24472,8 +24474,8 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 3711, 11445, 13369, 12248,
15607, 16393, 3711, 11445, 13369, 12249, 13175, 7012,
15607, 16393, 3711, 11445, 13369, 12249, 19963, 7012,
- 15607, 16393, 3711, 11445, 19801, 23177, 12989, 3501, 12248,
- 15607, 16393, 3711, 11445, 19801, 23177, 12989, 15005, 12248,
+ 15607, 16393, 3711, 11445, 19801, 23181, 12989, 3501, 12248,
+ 15607, 16393, 3711, 11445, 19801, 23181, 12989, 15005, 12248,
15607, 16393, 3711, 13175, 7012,
15607, 16393, 3711, 19963, 7012,
15607, 16393, 3876,
@@ -24493,8 +24495,8 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 3877, 15669, 11445, 13369, 12248,
15607, 16393, 3877, 15669, 11445, 13369, 12249, 13175, 7012,
15607, 16393, 3877, 15669, 11445, 13369, 12249, 19963, 7012,
- 15607, 16393, 3877, 15669, 11445, 19801, 23177, 12989, 3501, 12248,
- 15607, 16393, 3877, 15669, 11445, 19801, 23177, 12989, 15005, 12248,
+ 15607, 16393, 3877, 15669, 11445, 19801, 23181, 12989, 3501, 12248,
+ 15607, 16393, 3877, 15669, 11445, 19801, 23181, 12989, 15005, 12248,
15607, 16393, 3877, 15669, 13175, 7012,
15607, 16393, 3877, 15669, 19963, 7012,
15607, 16393, 3877, 16495, 7012,
@@ -24536,8 +24538,8 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 5441, 11445, 19383, 15707, 14557, 13568,
15607, 16393, 5441, 11445, 19383, 15707, 14557, 13569, 893, 1285, 12248,
15607, 16393, 5441, 11445, 19383, 15707, 14557, 13569, 893, 8229, 10088,
- 15607, 16393, 5441, 11445, 19801, 23177, 12989, 3501, 12248,
- 15607, 16393, 5441, 11445, 19801, 23177, 12989, 15005, 12248,
+ 15607, 16393, 5441, 11445, 19801, 23181, 12989, 3501, 12248,
+ 15607, 16393, 5441, 11445, 19801, 23181, 12989, 15005, 12248,
15607, 16393, 5441, 13175, 7012,
15607, 16393, 5441, 15314,
15607, 16393, 5441, 15315, 13175, 7012,
@@ -24616,12 +24618,12 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 10131, 19963, 7012,
15607, 16393, 10354,
15607, 16393, 10355, 11445, 1285, 12427, 893, 1285, 12248,
- 15607, 16393, 10355, 11445, 3501, 6653, 22589, 12248,
+ 15607, 16393, 10355, 11445, 3501, 6653, 22591, 12248,
15607, 16393, 10355, 11445, 7015, 6653, 12248,
15607, 16393, 10355, 11445, 14807, 15607, 16393, 3337, 893, 3501, 6652,
15607, 16393, 10355, 11445, 15005, 6653, 12426,
15607, 16393, 10355, 11445, 15005, 6653, 12427, 893, 15005, 6653, 12248,
- 15607, 16393, 10355, 11445, 19801, 23177, 12989, 7015, 12248,
+ 15607, 16393, 10355, 11445, 19801, 23181, 12989, 7015, 12248,
15607, 16393, 10355, 11445, 19955, 42,
15607, 16393, 10355, 13175, 7012,
15607, 16393, 10355, 16495, 7012,
@@ -24657,9 +24659,9 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 13155, 3876,
15607, 16393, 13155, 3877, 11445, 3501, 6653, 12248,
15607, 16393, 13155, 3877, 11445, 15005, 6653, 12248,
- 15607, 16393, 13155, 3877, 11445, 19801, 23177, 12989, 3501, 12248,
- 15607, 16393, 13155, 3877, 11445, 19801, 23177, 12989, 7015, 12426,
- 15607, 16393, 13155, 3877, 11445, 19801, 23177, 12989, 15005, 12248,
+ 15607, 16393, 13155, 3877, 11445, 19801, 23181, 12989, 3501, 12248,
+ 15607, 16393, 13155, 3877, 11445, 19801, 23181, 12989, 7015, 12426,
+ 15607, 16393, 13155, 3877, 11445, 19801, 23181, 12989, 15005, 12248,
15607, 16393, 13155, 3877, 11445, 19955, 42,
15607, 16393, 13155, 3877, 13175, 7012,
15607, 16393, 13155, 3877, 16495, 7012,
@@ -24677,7 +24679,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 13580,
15607, 16393, 13581, 11445, 1285, 12248,
15607, 16393, 13581, 11445, 3501, 6653, 12248,
- 15607, 16393, 13581, 11445, 3501, 6653, 22589, 12426,
+ 15607, 16393, 13581, 11445, 3501, 6653, 22591, 12426,
15607, 16393, 13581, 11445, 14807, 42,
15607, 16393, 13581, 11445, 15005, 6653, 12248,
15607, 16393, 13581, 11445, 15005, 6653, 12426,
@@ -24751,7 +24753,7 @@ static const uint16_t unicode_names[132374] = {
15607, 16393, 19981, 3876,
15607, 16393, 20371, 3876,
15607, 16393, 20499, 3710,
- 15607, 16393, 23105, 5440,
+ 15607, 16393, 23109, 5440,
15607, 16449, 12248,
15607, 16647, 8757, 12248,
15607, 16647, 10510,
@@ -24764,8 +24766,8 @@ static const uint16_t unicode_names[132374] = {
15607, 17141, 1285, 12426,
15607, 17141, 3501, 6653, 12248,
15607, 17141, 3501, 6653, 12426,
- 15607, 17141, 3501, 6653, 22589, 12248,
- 15607, 17141, 3501, 6653, 22589, 12426,
+ 15607, 17141, 3501, 6653, 22591, 12248,
+ 15607, 17141, 3501, 6653, 22591, 12426,
15607, 17141, 7015, 6653, 12248,
15607, 17141, 7015, 6653, 12426,
15607, 17141, 10088,
@@ -24777,7 +24779,7 @@ static const uint16_t unicode_names[132374] = {
15607, 17141, 15005, 6653, 20283, 21109, 12426,
15607, 17141, 15315, 12248,
15607, 17141, 15969, 20701, 959, 12426,
- 15607, 17275, 1285, 22999, 8756,
+ 15607, 17275, 1285, 23001, 8756,
15607, 17305, 12937, 12426,
15607, 17809, 21566,
15607, 17913, 13796,
@@ -24886,7 +24888,7 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 1699, 11445, 8799, 11445, 8799, 18125, 7012,
15607, 20031, 1699, 11445, 8799, 18125, 7012,
15607, 20031, 1699, 11445, 8799, 19963, 7012,
- 15607, 20031, 1699, 11445, 23105, 5441, 18125, 7012,
+ 15607, 20031, 1699, 11445, 23109, 5441, 18125, 7012,
15607, 20031, 1971, 11445, 1671, 18125, 7012,
15607, 20031, 1971, 11445, 1671, 19963, 7012,
15607, 20031, 1971, 11445, 2183, 13175, 7012,
@@ -24959,7 +24961,7 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 2895, 11445, 8799, 11445, 8799, 13175, 7012,
15607, 20031, 2895, 11445, 8799, 18125, 7012,
15607, 20031, 2895, 11445, 8799, 19963, 7012,
- 15607, 20031, 3031, 11445, 23105, 5441, 19963, 7012,
+ 15607, 20031, 3031, 11445, 23109, 5441, 19963, 7012,
15607, 20031, 3143, 11445, 1671, 11445, 1671, 13175, 7012,
15607, 20031, 3143, 11445, 1671, 11445, 1671, 18125, 7012,
15607, 20031, 3143, 11445, 1671, 11445, 3877, 13175, 7012,
@@ -25084,8 +25086,8 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 3979, 11445, 8799, 19963, 7012,
15607, 20031, 5441, 11445, 19805, 13175, 7012,
15607, 20031, 5441, 11445, 19805, 19963, 7012,
- 15607, 20031, 5441, 18379, 11445, 23105, 5441, 13175, 7012,
- 15607, 20031, 5441, 18379, 11445, 23105, 5441, 19963, 7012,
+ 15607, 20031, 5441, 18379, 11445, 23109, 5441, 13175, 7012,
+ 15607, 20031, 5441, 18379, 11445, 23109, 5441, 19963, 7012,
15607, 20031, 5517, 737, 7794,
15607, 20031, 7799, 11445, 1671, 11445, 3877, 13175, 7012,
15607, 20031, 7799, 11445, 1671, 11445, 5441, 18379, 13175, 7012,
@@ -25199,7 +25201,7 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 10355, 11445, 8799, 16495, 7012,
15607, 20031, 10355, 11445, 8799, 18125, 7012,
15607, 20031, 10355, 11445, 8799, 19963, 7012,
- 15607, 20031, 10861, 11445, 23105, 5441, 19963, 7012,
+ 15607, 20031, 10861, 11445, 23109, 5441, 19963, 7012,
15607, 20031, 10873, 11445, 1699, 16495, 7012,
15607, 20031, 10873, 11445, 3031, 13175, 7012,
15607, 20031, 10873, 11445, 3877, 13175, 7012,
@@ -25263,7 +25265,7 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 14701, 11445, 8799, 19963, 7012,
15607, 20031, 15577, 19963, 7012,
15607, 20031, 15579, 20790,
- 15607, 20031, 15579, 21889, 22598,
+ 15607, 20031, 15579, 21889, 22600,
15607, 20031, 16869, 19963, 7012,
15607, 20031, 16975, 11445, 12937, 16495, 7012,
15607, 20031, 16975, 11445, 12937, 19963, 7012,
@@ -25273,7 +25275,7 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 16975, 11445, 13569, 19963, 7012,
15607, 20031, 16975, 11445, 19559, 19963, 7012,
15607, 20031, 16975, 11445, 19983, 19963, 7012,
- 15607, 20031, 16975, 11445, 23105, 5441, 19963, 7012,
+ 15607, 20031, 16975, 11445, 23109, 5441, 19963, 7012,
15607, 20031, 17339, 18189, 3877, 11445, 13369, 12249, 11445, 5441, 18379, 13175, 7012,
15607, 20031, 17339, 18189, 3877, 11445, 13369, 12249, 11445, 5441, 18379, 18125, 7012,
15607, 20031, 17339, 18189, 3877, 11445, 13369, 12249, 11445, 5441, 18379, 19963, 7012,
@@ -25287,12 +25289,12 @@ static const uint16_t unicode_names[132374] = {
15607, 20031, 20831, 20787, 20784,
15607, 20031, 21499, 15582,
15607, 20031, 21541, 17504,
- 15607, 20031, 21735, 22596,
- 15607, 20031, 22419, 15579, 21823, 21820,
- 15607, 20031, 22529, 737, 19040,
- 15607, 20031, 23027, 15579, 20714,
- 15607, 20031, 23029, 15577, 20720,
- 15607, 20031, 27284,
+ 15607, 20031, 21735, 22598,
+ 15607, 20031, 22421, 15579, 21823, 21820,
+ 15607, 20031, 22531, 737, 19040,
+ 15607, 20031, 23029, 15579, 20714,
+ 15607, 20031, 23031, 15577, 20720,
+ 15607, 20031, 27288,
15607, 20329, 8756,
15607, 20365, 12936,
15607, 20701, 10790,
@@ -25300,150 +25302,150 @@ static const uint16_t unicode_names[132374] = {
15607, 21560,
15607, 21639, 5440,
15607, 21755, 21566,
- 15607, 23105, 5441, 21352,
- 15607, 23335, 876,
- 15607, 23335, 982,
- 15607, 23335, 1186,
- 15607, 23335, 1194,
- 15607, 23335, 1454,
- 15607, 23335, 1670,
- 15607, 23335, 1970,
- 15607, 23335, 2182,
- 15607, 23335, 2894,
- 15607, 23335, 3030,
- 15607, 23335, 3142,
- 15607, 23335, 3336,
- 15607, 23335, 3372,
- 15607, 23335, 3710,
- 15607, 23335, 3876,
- 15607, 23335, 3978,
- 15607, 23335, 5440,
- 15607, 23335, 7798,
- 15607, 23335, 8002,
- 15607, 23335, 8798,
- 15607, 23335, 9380,
- 15607, 23335, 10354,
- 15607, 23335, 10860,
- 15607, 23335, 10872,
- 15607, 23335, 11742,
- 15607, 23335, 13284,
- 15607, 23335, 14700,
- 15607, 23335, 16433, 876,
- 15607, 23335, 16433, 982,
- 15607, 23335, 16433, 1186,
- 15607, 23335, 16433, 1194,
- 15607, 23335, 16433, 1454,
- 15607, 23335, 16433, 1670,
- 15607, 23335, 16433, 1698,
- 15607, 23335, 16433, 2182,
- 15607, 23335, 16433, 2894,
- 15607, 23335, 16433, 3030,
- 15607, 23335, 16433, 3142,
- 15607, 23335, 16433, 3336,
- 15607, 23335, 16433, 3372,
- 15607, 23335, 16433, 3710,
- 15607, 23335, 16433, 3876,
- 15607, 23335, 16433, 3978,
- 15607, 23335, 16433, 5440,
- 15607, 23335, 16433, 7798,
- 15607, 23335, 16433, 8002,
- 15607, 23335, 16433, 8798,
- 15607, 23335, 16433, 9380,
- 15607, 23335, 16433, 10354,
- 15607, 23335, 16433, 10860,
- 15607, 23335, 16433, 10872,
- 15607, 23335, 16433, 11742,
- 15607, 23335, 16433, 13284,
- 15607, 23335, 16433, 14700,
- 15607, 23335, 17153, 876,
- 15607, 23335, 17153, 1186,
- 15607, 23335, 17153, 1670,
- 15607, 23335, 17153, 2182,
- 15607, 23335, 17153, 2894,
- 15607, 23335, 17153, 3142,
- 15607, 23335, 17153, 3876,
- 15607, 23335, 17153, 7798,
- 15607, 23335, 17153, 8002,
- 15607, 23335, 17153, 9380,
- 15607, 23335, 17153, 10354,
- 15607, 23335, 17153, 13284,
- 15607, 23335, 17153, 14700,
- 15607, 23335, 17153, 17855, 2894,
- 15607, 23335, 17153, 17855, 9380,
- 15607, 23335, 17855, 982,
- 15607, 23335, 17855, 1454,
- 15607, 23335, 17855, 2894,
- 15607, 23335, 17855, 9380,
- 15607, 23335, 18125, 876,
- 15607, 23335, 18125, 982,
- 15607, 23335, 18125, 1186,
- 15607, 23335, 18125, 1454,
- 15607, 23335, 18125, 1670,
- 15607, 23335, 18125, 1698,
- 15607, 23335, 18125, 1970,
- 15607, 23335, 18125, 2182,
- 15607, 23335, 18125, 2894,
- 15607, 23335, 18125, 3142,
- 15607, 23335, 18125, 3372,
- 15607, 23335, 18125, 3876,
- 15607, 23335, 18125, 7798,
- 15607, 23335, 18125, 8002,
- 15607, 23335, 18125, 8798,
- 15607, 23335, 18125, 9380,
- 15607, 23335, 18125, 10354,
- 15607, 23335, 18125, 10872,
- 15607, 23335, 18125, 13284,
- 15607, 23335, 18125, 14700,
- 15607, 23335, 20189, 1671, 11445, 1194,
- 15607, 23335, 20189, 8799, 11445, 1671, 11445, 19058,
- 15607, 23335, 21623, 876,
- 15607, 23335, 21623, 982,
- 15607, 23335, 21623, 1186,
- 15607, 23335, 21623, 1454,
- 15607, 23335, 21623, 1670,
- 15607, 23335, 21623, 1698,
- 15607, 23335, 21623, 1970,
- 15607, 23335, 21623, 2894,
- 15607, 23335, 21623, 3142,
- 15607, 23335, 21623, 3336,
- 15607, 23335, 21623, 3372,
- 15607, 23335, 21623, 3876,
- 15607, 23335, 21623, 3978,
- 15607, 23335, 21623, 7798,
- 15607, 23335, 21623, 8002,
- 15607, 23335, 21623, 8798,
- 15607, 23335, 21623, 9380,
- 15607, 23335, 21623, 10354,
- 15607, 23335, 21623, 10872,
- 15607, 23335, 21623, 13284,
- 15607, 23335, 21623, 14700,
- 15607, 23335, 21623, 17855, 982,
- 15607, 23335, 21623, 17855, 1454,
- 15607, 23335, 25067, 876,
- 15607, 23335, 25067, 982,
- 15607, 23335, 25067, 1186,
- 15607, 23335, 25067, 1194,
- 15607, 23335, 25067, 1454,
- 15607, 23335, 25067, 1670,
- 15607, 23335, 25067, 2182,
- 15607, 23335, 25067, 2894,
- 15607, 23335, 25067, 3030,
- 15607, 23335, 25067, 3142,
- 15607, 23335, 25067, 3336,
- 15607, 23335, 25067, 3372,
- 15607, 23335, 25067, 3710,
- 15607, 23335, 25067, 3876,
- 15607, 23335, 25067, 3978,
- 15607, 23335, 25067, 7798,
- 15607, 23335, 25067, 8002,
- 15607, 23335, 25067, 8798,
- 15607, 23335, 25067, 9380,
- 15607, 23335, 25067, 10354,
- 15607, 23335, 25067, 10860,
- 15607, 23335, 25067, 10872,
- 15607, 23335, 25067, 11742,
- 15607, 23335, 25067, 13284,
- 15607, 23335, 25067, 14700,
+ 15607, 23109, 5441, 21352,
+ 15607, 23339, 876,
+ 15607, 23339, 982,
+ 15607, 23339, 1186,
+ 15607, 23339, 1194,
+ 15607, 23339, 1454,
+ 15607, 23339, 1670,
+ 15607, 23339, 1970,
+ 15607, 23339, 2182,
+ 15607, 23339, 2894,
+ 15607, 23339, 3030,
+ 15607, 23339, 3142,
+ 15607, 23339, 3336,
+ 15607, 23339, 3372,
+ 15607, 23339, 3710,
+ 15607, 23339, 3876,
+ 15607, 23339, 3978,
+ 15607, 23339, 5440,
+ 15607, 23339, 7798,
+ 15607, 23339, 8002,
+ 15607, 23339, 8798,
+ 15607, 23339, 9380,
+ 15607, 23339, 10354,
+ 15607, 23339, 10860,
+ 15607, 23339, 10872,
+ 15607, 23339, 11742,
+ 15607, 23339, 13284,
+ 15607, 23339, 14700,
+ 15607, 23339, 16433, 876,
+ 15607, 23339, 16433, 982,
+ 15607, 23339, 16433, 1186,
+ 15607, 23339, 16433, 1194,
+ 15607, 23339, 16433, 1454,
+ 15607, 23339, 16433, 1670,
+ 15607, 23339, 16433, 1698,
+ 15607, 23339, 16433, 2182,
+ 15607, 23339, 16433, 2894,
+ 15607, 23339, 16433, 3030,
+ 15607, 23339, 16433, 3142,
+ 15607, 23339, 16433, 3336,
+ 15607, 23339, 16433, 3372,
+ 15607, 23339, 16433, 3710,
+ 15607, 23339, 16433, 3876,
+ 15607, 23339, 16433, 3978,
+ 15607, 23339, 16433, 5440,
+ 15607, 23339, 16433, 7798,
+ 15607, 23339, 16433, 8002,
+ 15607, 23339, 16433, 8798,
+ 15607, 23339, 16433, 9380,
+ 15607, 23339, 16433, 10354,
+ 15607, 23339, 16433, 10860,
+ 15607, 23339, 16433, 10872,
+ 15607, 23339, 16433, 11742,
+ 15607, 23339, 16433, 13284,
+ 15607, 23339, 16433, 14700,
+ 15607, 23339, 17153, 876,
+ 15607, 23339, 17153, 1186,
+ 15607, 23339, 17153, 1670,
+ 15607, 23339, 17153, 2182,
+ 15607, 23339, 17153, 2894,
+ 15607, 23339, 17153, 3142,
+ 15607, 23339, 17153, 3876,
+ 15607, 23339, 17153, 7798,
+ 15607, 23339, 17153, 8002,
+ 15607, 23339, 17153, 9380,
+ 15607, 23339, 17153, 10354,
+ 15607, 23339, 17153, 13284,
+ 15607, 23339, 17153, 14700,
+ 15607, 23339, 17153, 17855, 2894,
+ 15607, 23339, 17153, 17855, 9380,
+ 15607, 23339, 17855, 982,
+ 15607, 23339, 17855, 1454,
+ 15607, 23339, 17855, 2894,
+ 15607, 23339, 17855, 9380,
+ 15607, 23339, 18125, 876,
+ 15607, 23339, 18125, 982,
+ 15607, 23339, 18125, 1186,
+ 15607, 23339, 18125, 1454,
+ 15607, 23339, 18125, 1670,
+ 15607, 23339, 18125, 1698,
+ 15607, 23339, 18125, 1970,
+ 15607, 23339, 18125, 2182,
+ 15607, 23339, 18125, 2894,
+ 15607, 23339, 18125, 3142,
+ 15607, 23339, 18125, 3372,
+ 15607, 23339, 18125, 3876,
+ 15607, 23339, 18125, 7798,
+ 15607, 23339, 18125, 8002,
+ 15607, 23339, 18125, 8798,
+ 15607, 23339, 18125, 9380,
+ 15607, 23339, 18125, 10354,
+ 15607, 23339, 18125, 10872,
+ 15607, 23339, 18125, 13284,
+ 15607, 23339, 18125, 14700,
+ 15607, 23339, 20189, 1671, 11445, 1194,
+ 15607, 23339, 20189, 8799, 11445, 1671, 11445, 19058,
+ 15607, 23339, 21623, 876,
+ 15607, 23339, 21623, 982,
+ 15607, 23339, 21623, 1186,
+ 15607, 23339, 21623, 1454,
+ 15607, 23339, 21623, 1670,
+ 15607, 23339, 21623, 1698,
+ 15607, 23339, 21623, 1970,
+ 15607, 23339, 21623, 2894,
+ 15607, 23339, 21623, 3142,
+ 15607, 23339, 21623, 3336,
+ 15607, 23339, 21623, 3372,
+ 15607, 23339, 21623, 3876,
+ 15607, 23339, 21623, 3978,
+ 15607, 23339, 21623, 7798,
+ 15607, 23339, 21623, 8002,
+ 15607, 23339, 21623, 8798,
+ 15607, 23339, 21623, 9380,
+ 15607, 23339, 21623, 10354,
+ 15607, 23339, 21623, 10872,
+ 15607, 23339, 21623, 13284,
+ 15607, 23339, 21623, 14700,
+ 15607, 23339, 21623, 17855, 982,
+ 15607, 23339, 21623, 17855, 1454,
+ 15607, 23339, 25071, 876,
+ 15607, 23339, 25071, 982,
+ 15607, 23339, 25071, 1186,
+ 15607, 23339, 25071, 1194,
+ 15607, 23339, 25071, 1454,
+ 15607, 23339, 25071, 1670,
+ 15607, 23339, 25071, 2182,
+ 15607, 23339, 25071, 2894,
+ 15607, 23339, 25071, 3030,
+ 15607, 23339, 25071, 3142,
+ 15607, 23339, 25071, 3336,
+ 15607, 23339, 25071, 3372,
+ 15607, 23339, 25071, 3710,
+ 15607, 23339, 25071, 3876,
+ 15607, 23339, 25071, 3978,
+ 15607, 23339, 25071, 7798,
+ 15607, 23339, 25071, 8002,
+ 15607, 23339, 25071, 8798,
+ 15607, 23339, 25071, 9380,
+ 15607, 23339, 25071, 10354,
+ 15607, 23339, 25071, 10860,
+ 15607, 23339, 25071, 10872,
+ 15607, 23339, 25071, 11742,
+ 15607, 23339, 25071, 13284,
+ 15607, 23339, 25071, 14700,
15627, 18610,
15644,
15651, 14726,
@@ -25471,10 +25473,10 @@ static const uint16_t unicode_names[132374] = {
15693, 1080,
15699, 2246,
15705, 11445, 18713, 6320,
- 15707, 913, 23499, 12342,
- 15707, 7385, 8229, 22966,
+ 15707, 913, 23503, 12342,
+ 15707, 7385, 8229, 22968,
15707, 7385, 12449, 15814,
- 15707, 7385, 14557, 22966,
+ 15707, 7385, 14557, 22968,
15707, 7385, 19948,
15707, 8229, 6324,
15707, 8229, 7385, 17646,
@@ -25486,7 +25488,7 @@ static const uint16_t unicode_names[132374] = {
15707, 17077, 17646,
15707, 17077, 17647, 9725, 3437, 17077, 17646,
15707, 20615, 14709, 17646,
- 15707, 22966,
+ 15707, 22968,
15710,
15711, 11445, 8229, 7385, 12448,
15711, 11445, 14557, 7385, 12448,
@@ -25494,9 +25496,9 @@ static const uint16_t unicode_names[132374] = {
15715, 10511, 2733, 14949, 17372,
15715, 10511, 19210,
15715, 10511, 19342,
- 15715, 10511, 22648,
- 15715, 10511, 22862,
- 15715, 10511, 23148,
+ 15715, 10511, 22650,
+ 15715, 10511, 22864,
+ 15715, 10511, 23152,
15715, 12938,
15715, 12989, 2736,
15715, 12989, 3208,
@@ -25523,7 +25525,7 @@ static const uint16_t unicode_names[132374] = {
15715, 15289, 10511, 19217, 34,
15715, 15289, 10511, 19217, 406,
15715, 15289, 10511, 19217, 608,
- 15715, 15289, 10511, 22643, 58,
+ 15715, 15289, 10511, 22645, 58,
15715, 15969, 12938,
15715, 16393, 0,
15715, 16393, 8,
@@ -25601,11 +25603,11 @@ static const uint16_t unicode_names[132374] = {
15715, 16647, 17314,
15715, 16647, 18886,
15715, 17372,
- 15715, 22999, 1284,
- 15715, 22999, 8268,
- 15715, 22999, 13732,
- 15715, 22999, 15969, 1284,
- 15715, 22999, 19537, 958,
+ 15715, 23001, 1284,
+ 15715, 23001, 8268,
+ 15715, 23001, 13732,
+ 15715, 23001, 15969, 1284,
+ 15715, 23001, 19537, 958,
15723, 95, 14066,
15724,
15727, 958,
@@ -25681,7 +25683,7 @@ static const uint16_t unicode_names[132374] = {
15787, 97, 8756,
15787, 10511, 19210,
15787, 10511, 19342,
- 15787, 10511, 22648,
+ 15787, 10511, 22650,
15787, 12938,
15787, 12989, 2736,
15787, 12989, 3208,
@@ -25763,7 +25765,7 @@ static const uint16_t unicode_names[132374] = {
15815, 11445, 15173, 14557, 20323, 12448,
15815, 11445, 20701, 6978,
15815, 11445, 22199, 958,
- 15815, 11445, 23457, 46,
+ 15815, 11445, 23461, 46,
15815, 17845, 125, 22199, 959, 893, 3437, 7385, 17845, 125, 20701, 958,
15817, 10838,
15825, 6066,
@@ -25777,7 +25779,7 @@ static const uint16_t unicode_names[132374] = {
15825, 20534,
15825, 20535, 529, 13093, 660,
15825, 20684,
- 15825, 23309, 11445, 16964,
+ 15825, 23313, 11445, 16964,
15834,
15843, 10082,
15844,
@@ -25870,10 +25872,10 @@ static const uint16_t unicode_names[132374] = {
15849, 14807, 16393, 20953, 5440,
15849, 14807, 16393, 20953, 7622,
15849, 14807, 16393, 20953, 7948,
- 15849, 14807, 16393, 25059, 478,
- 15849, 14807, 16393, 25059, 1364,
- 15849, 14807, 16393, 25059, 10396,
- 15849, 14807, 16393, 25059, 16100,
+ 15849, 14807, 16393, 25063, 478,
+ 15849, 14807, 16393, 25063, 1364,
+ 15849, 14807, 16393, 25063, 10396,
+ 15849, 14807, 16393, 25063, 16100,
15849, 17141, 441, 606,
15849, 17141, 563, 606,
15849, 17141, 1974,
@@ -25937,15 +25939,15 @@ static const uint16_t unicode_names[132374] = {
15849, 17671, 16393, 20953, 5440,
15849, 17671, 16393, 20953, 7622,
15849, 17671, 16393, 20953, 7948,
- 15849, 17671, 16393, 25059, 478,
- 15849, 17671, 16393, 25059, 1364,
- 15849, 17671, 16393, 25059, 10396,
- 15849, 17671, 16393, 25059, 16100,
+ 15849, 17671, 16393, 25063, 478,
+ 15849, 17671, 16393, 25063, 1364,
+ 15849, 17671, 16393, 25063, 10396,
+ 15849, 17671, 16393, 25063, 16100,
15849, 19849, 2737, 7384,
15849, 20891, 479, 12248,
15849, 20891, 20469, 12350,
15849, 20891, 20469, 13702,
- 15849, 25129, 17846,
+ 15849, 25133, 17846,
15855, 11445, 13382,
15861, 6180,
15864,
@@ -25960,7 +25962,7 @@ static const uint16_t unicode_names[132374] = {
15888,
15893, 2281, 8268,
15893, 20204,
- 15893, 27323, 22417, 12342,
+ 15893, 27327, 22419, 12342,
15899, 10510,
15899, 17686,
15899, 22148,
@@ -25982,8 +25984,6 @@ static const uint16_t unicode_names[132374] = {
15941, 10510,
15945, 10923, 20701, 5924,
15945, 10923, 22199, 5924,
- 15945, 10923, 25428,
- 15945, 10923, 25430,
15945, 10923, 25432,
15945, 10923, 25434,
15945, 10923, 25436,
@@ -26031,8 +26031,8 @@ static const uint16_t unicode_names[132374] = {
15945, 10923, 25520,
15945, 10923, 25522,
15945, 10923, 25524,
- 15945, 10923, 27340,
- 15945, 10923, 27342,
+ 15945, 10923, 25526,
+ 15945, 10923, 25528,
15945, 10923, 27344,
15945, 10923, 27346,
15945, 10923, 27348,
@@ -26080,6 +26080,8 @@ static const uint16_t unicode_names[132374] = {
15945, 10923, 27432,
15945, 10923, 27434,
15945, 10923, 27436,
+ 15945, 10923, 27438,
+ 15945, 10923, 27440,
15946,
15967, 8269, 6952,
15967, 12856,
@@ -26088,12 +26090,12 @@ static const uint16_t unicode_names[132374] = {
15967, 16650,
15967, 17076,
15967, 18956,
- 15967, 25217, 16474,
- 15967, 25401, 12308,
+ 15967, 25221, 16474,
+ 15967, 25405, 12308,
15969, 697, 10784,
15969, 2281, 8268,
15969, 6657, 10784,
- 15969, 8229, 913, 23279, 17646,
+ 15969, 8229, 913, 23283, 17646,
15969, 9842,
15969, 11407, 20204,
15969, 12251, 15560,
@@ -26108,9 +26110,9 @@ static const uint16_t unicode_names[132374] = {
15969, 16226,
15969, 16577, 21314,
15969, 16577, 21315, 11445, 20688,
- 15969, 16577, 23278,
+ 15969, 16577, 23282,
15969, 17077, 15168,
- 15969, 17077, 23308,
+ 15969, 17077, 23312,
15969, 17107, 2623, 10510,
15969, 17114,
15969, 17717, 12989, 2736,
@@ -26138,11 +26140,11 @@ static const uint16_t unicode_names[132374] = {
15969, 20701, 959, 15969, 8229, 21786,
15969, 20701, 959, 15969, 14557, 21786,
15969, 20701, 8268,
- 15969, 22539, 8756,
- 15969, 22789, 8756,
- 15969, 23308,
- 15969, 25383, 21495, 8756,
- 15969, 27283, 21495, 8756,
+ 15969, 22541, 8756,
+ 15969, 22791, 8756,
+ 15969, 23312,
+ 15969, 25387, 21495, 8756,
+ 15969, 27287, 21495, 8756,
15970,
15971, 6952,
15979, 17140,
@@ -26157,7 +26159,7 @@ static const uint16_t unicode_names[132374] = {
15993, 10511, 12249, 9843, 10510,
15993, 10511, 12249, 15029, 20188,
15993, 10511, 12249, 21313, 12342,
- 15993, 10511, 12249, 22417, 12342,
+ 15993, 10511, 12249, 22419, 12342,
15993, 11445, 19374,
15993, 12838,
15998,
@@ -26176,14 +26178,14 @@ static const uint16_t unicode_names[132374] = {
16071, 13382,
16072,
16073, 18699, 12536,
- 16073, 22999, 8756,
+ 16073, 23001, 8756,
16075, 6624,
16075, 16934,
16075, 19784,
16078,
16080,
16082,
- 16085, 22956,
+ 16085, 22958,
16091, 10122,
16097, 13205, 10510,
16097, 13208,
@@ -26278,50 +26280,50 @@ static const uint16_t unicode_names[132374] = {
16181, 16393, 22268,
16181, 16393, 22308,
16181, 16393, 22360,
- 16181, 16393, 22410,
- 16181, 16393, 22484,
- 16181, 16393, 22492,
+ 16181, 16393, 22412,
+ 16181, 16393, 22486,
16181, 16393, 22494,
- 16181, 16393, 22510,
+ 16181, 16393, 22496,
16181, 16393, 22512,
16181, 16393, 22514,
- 16181, 16393, 22518,
+ 16181, 16393, 22516,
16181, 16393, 22520,
- 16181, 16393, 22866,
- 16181, 16393, 22898,
- 16181, 16393, 22932,
+ 16181, 16393, 22522,
+ 16181, 16393, 22868,
+ 16181, 16393, 22900,
16181, 16393, 22934,
- 16181, 16393, 22980,
- 16181, 16393, 23012,
+ 16181, 16393, 22936,
+ 16181, 16393, 22982,
16181, 16393, 23014,
- 16181, 16393, 23018,
- 16181, 16393, 23082,
+ 16181, 16393, 23016,
+ 16181, 16393, 23020,
16181, 16393, 23084,
- 16181, 16393, 23092,
+ 16181, 16393, 23086,
16181, 16393, 23094,
- 16181, 16393, 23160,
- 16181, 16393, 23350,
- 16181, 16393, 23358,
- 16181, 16393, 23360,
- 16181, 16393, 23378,
- 16181, 16393, 23380,
- 16181, 16393, 25106,
- 16181, 16393, 25108,
- 16181, 16393, 25124,
- 16181, 16393, 25132,
- 16181, 16393, 25158,
- 16181, 16393, 25170,
- 16181, 16393, 25172,
+ 16181, 16393, 23096,
+ 16181, 16393, 23164,
+ 16181, 16393, 23354,
+ 16181, 16393, 23362,
+ 16181, 16393, 23364,
+ 16181, 16393, 23382,
+ 16181, 16393, 23384,
+ 16181, 16393, 25110,
+ 16181, 16393, 25112,
+ 16181, 16393, 25128,
+ 16181, 16393, 25136,
+ 16181, 16393, 25162,
16181, 16393, 25174,
- 16181, 16393, 25228,
- 16181, 16393, 27286,
- 16181, 16393, 27456,
- 16181, 16393, 27478,
- 16181, 16393, 27494,
- 16181, 16393, 27496,
+ 16181, 16393, 25176,
+ 16181, 16393, 25178,
+ 16181, 16393, 25232,
+ 16181, 16393, 27290,
+ 16181, 16393, 27460,
+ 16181, 16393, 27482,
16181, 16393, 27498,
- 16181, 16393, 27508,
- 16181, 16393, 27526,
+ 16181, 16393, 27500,
+ 16181, 16393, 27502,
+ 16181, 16393, 27512,
+ 16181, 16393, 27530,
16181, 17025, 1285, 10965, 8756,
16181, 19489, 10522,
16181, 19489, 12620,
@@ -26346,108 +26348,108 @@ static const uint16_t unicode_names[132374] = {
16181, 19489, 22268,
16181, 19489, 22308,
16181, 19489, 22360,
- 16181, 19489, 22410,
- 16181, 19489, 22484,
+ 16181, 19489, 22412,
16181, 19489, 22486,
16181, 19489, 22488,
16181, 19489, 22490,
16181, 19489, 22492,
16181, 19489, 22494,
16181, 19489, 22496,
- 16181, 19489, 22510,
+ 16181, 19489, 22498,
16181, 19489, 22512,
16181, 19489, 22514,
- 16181, 19489, 22518,
+ 16181, 19489, 22516,
16181, 19489, 22520,
16181, 19489, 22522,
- 16181, 19489, 22652,
- 16181, 19489, 22834,
+ 16181, 19489, 22524,
+ 16181, 19489, 22654,
16181, 19489, 22836,
16181, 19489, 22838,
16181, 19489, 22840,
16181, 19489, 22842,
- 16181, 19489, 22898,
- 16181, 19489, 22932,
+ 16181, 19489, 22844,
+ 16181, 19489, 22900,
16181, 19489, 22934,
16181, 19489, 22936,
- 16181, 19489, 22980,
+ 16181, 19489, 22938,
16181, 19489, 22982,
- 16181, 19489, 22986,
- 16181, 19489, 23010,
+ 16181, 19489, 22984,
+ 16181, 19489, 22988,
16181, 19489, 23012,
16181, 19489, 23014,
16181, 19489, 23016,
16181, 19489, 23018,
- 16181, 19489, 23082,
+ 16181, 19489, 23020,
16181, 19489, 23084,
- 16181, 19489, 23092,
+ 16181, 19489, 23086,
16181, 19489, 23094,
- 16181, 19489, 23122,
- 16181, 19489, 23160,
- 16181, 19489, 23210,
- 16181, 19489, 23300,
- 16181, 19489, 23302,
- 16181, 19489, 23340,
- 16181, 19489, 23342,
- 16181, 19489, 23348,
- 16181, 19489, 23350,
- 16181, 19489, 23358,
- 16181, 19489, 23360,
- 16181, 19489, 23378,
- 16181, 19489, 23380,
- 16181, 19489, 23430,
- 16181, 19489, 23432,
+ 16181, 19489, 23096,
+ 16181, 19489, 23126,
+ 16181, 19489, 23164,
+ 16181, 19489, 23214,
+ 16181, 19489, 23304,
+ 16181, 19489, 23306,
+ 16181, 19489, 23344,
+ 16181, 19489, 23346,
+ 16181, 19489, 23352,
+ 16181, 19489, 23354,
+ 16181, 19489, 23362,
+ 16181, 19489, 23364,
+ 16181, 19489, 23382,
+ 16181, 19489, 23384,
+ 16181, 19489, 23434,
16181, 19489, 23436,
- 16181, 19489, 23438,
- 16181, 19489, 23446,
- 16181, 19489, 23470,
- 16181, 19489, 23472,
+ 16181, 19489, 23440,
+ 16181, 19489, 23442,
+ 16181, 19489, 23450,
16181, 19489, 23474,
16181, 19489, 23476,
- 16181, 19489, 23508,
- 16181, 19489, 23510,
- 16181, 19489, 25088,
+ 16181, 19489, 23478,
+ 16181, 19489, 23480,
+ 16181, 19489, 23512,
+ 16181, 19489, 23514,
16181, 19489, 25092,
- 16181, 19489, 25094,
16181, 19489, 25096,
- 16181, 19489, 25106,
- 16181, 19489, 25108,
+ 16181, 19489, 25098,
+ 16181, 19489, 25100,
16181, 19489, 25110,
16181, 19489, 25112,
- 16181, 19489, 25148,
- 16181, 19489, 25150,
+ 16181, 19489, 25114,
+ 16181, 19489, 25116,
16181, 19489, 25152,
16181, 19489, 25154,
16181, 19489, 25156,
16181, 19489, 25158,
- 16181, 19489, 25168,
- 16181, 19489, 25214,
- 16181, 19489, 25412,
- 16181, 19489, 25538,
- 16181, 19489, 27272,
- 16181, 19489, 27274,
- 16181, 19489, 27286,
- 16181, 19489, 27302,
- 16181, 19489, 27314,
- 16181, 19489, 27334,
- 16181, 19489, 27448,
- 16181, 19489, 27450,
- 16181, 19489, 27458,
- 16181, 19489, 27460,
- 16181, 19489, 27466,
- 16181, 19489, 27482,
- 16181, 19489, 27494,
- 16181, 19489, 27496,
- 16181, 19489, 27504,
- 16181, 19489, 27506,
- 16181, 19489, 27512,
- 16181, 19489, 27520,
- 16181, 19489, 27522,
+ 16181, 19489, 25160,
+ 16181, 19489, 25162,
+ 16181, 19489, 25172,
+ 16181, 19489, 25218,
+ 16181, 19489, 25416,
+ 16181, 19489, 25542,
+ 16181, 19489, 27276,
+ 16181, 19489, 27278,
+ 16181, 19489, 27290,
+ 16181, 19489, 27306,
+ 16181, 19489, 27318,
+ 16181, 19489, 27338,
+ 16181, 19489, 27452,
+ 16181, 19489, 27454,
+ 16181, 19489, 27462,
+ 16181, 19489, 27464,
+ 16181, 19489, 27470,
+ 16181, 19489, 27486,
+ 16181, 19489, 27498,
+ 16181, 19489, 27500,
+ 16181, 19489, 27508,
+ 16181, 19489, 27510,
+ 16181, 19489, 27516,
+ 16181, 19489, 27524,
16181, 19489, 27526,
- 16181, 19489, 27540,
- 16181, 19489, 27576,
- 16181, 19489, 27582,
- 16181, 19489, 27590,
+ 16181, 19489, 27530,
+ 16181, 19489, 27544,
+ 16181, 19489, 27580,
+ 16181, 19489, 27586,
+ 16181, 19489, 27594,
16181, 21281, 10522,
16181, 21281, 12620,
16181, 21281, 13396,
@@ -26468,127 +26470,127 @@ static const uint16_t unicode_names[132374] = {
16181, 21281, 22268,
16181, 21281, 22308,
16181, 21281, 22360,
- 16181, 21281, 22410,
- 16181, 21281, 22484,
+ 16181, 21281, 22412,
16181, 21281, 22486,
- 16181, 21281, 22490,
- 16181, 21281, 22494,
+ 16181, 21281, 22488,
+ 16181, 21281, 22492,
16181, 21281, 22496,
- 16181, 21281, 22510,
- 16181, 21281, 22514,
+ 16181, 21281, 22498,
+ 16181, 21281, 22512,
16181, 21281, 22516,
16181, 21281, 22518,
16181, 21281, 22520,
16181, 21281, 22522,
- 16181, 21281, 22654,
- 16181, 21281, 22820,
+ 16181, 21281, 22524,
+ 16181, 21281, 22656,
16181, 21281, 22822,
16181, 21281, 22824,
16181, 21281, 22826,
- 16181, 21281, 22866,
- 16181, 21281, 22892,
+ 16181, 21281, 22828,
+ 16181, 21281, 22868,
16181, 21281, 22894,
16181, 21281, 22896,
16181, 21281, 22898,
16181, 21281, 22900,
- 16181, 21281, 22932,
+ 16181, 21281, 22902,
16181, 21281, 22934,
- 16181, 21281, 22938,
- 16181, 21281, 22980,
+ 16181, 21281, 22936,
+ 16181, 21281, 22940,
16181, 21281, 22982,
16181, 21281, 22984,
- 16181, 21281, 22988,
- 16181, 21281, 23012,
+ 16181, 21281, 22986,
+ 16181, 21281, 22990,
16181, 21281, 23014,
16181, 21281, 23016,
16181, 21281, 23018,
- 16181, 21281, 23082,
+ 16181, 21281, 23020,
16181, 21281, 23084,
- 16181, 21281, 23092,
+ 16181, 21281, 23086,
16181, 21281, 23094,
- 16181, 21281, 23122,
- 16181, 21281, 23160,
- 16181, 21281, 23300,
- 16181, 21281, 23316,
- 16181, 21281, 23318,
+ 16181, 21281, 23096,
+ 16181, 21281, 23126,
+ 16181, 21281, 23164,
+ 16181, 21281, 23304,
16181, 21281, 23320,
16181, 21281, 23322,
- 16181, 21281, 23340,
- 16181, 21281, 23348,
- 16181, 21281, 23350,
+ 16181, 21281, 23324,
+ 16181, 21281, 23326,
+ 16181, 21281, 23344,
+ 16181, 21281, 23352,
16181, 21281, 23354,
- 16181, 21281, 23360,
- 16181, 21281, 23378,
- 16181, 21281, 23380,
- 16181, 21281, 23430,
+ 16181, 21281, 23358,
+ 16181, 21281, 23364,
+ 16181, 21281, 23382,
+ 16181, 21281, 23384,
16181, 21281, 23434,
16181, 21281, 23438,
- 16181, 21281, 23470,
+ 16181, 21281, 23442,
16181, 21281, 23474,
- 16181, 21281, 23476,
- 16181, 21281, 25090,
- 16181, 21281, 25106,
- 16181, 21281, 25108,
+ 16181, 21281, 23478,
+ 16181, 21281, 23480,
+ 16181, 21281, 25094,
16181, 21281, 25110,
- 16181, 21281, 25122,
- 16181, 21281, 25124,
- 16181, 21281, 25130,
- 16181, 21281, 25132,
+ 16181, 21281, 25112,
+ 16181, 21281, 25114,
+ 16181, 21281, 25126,
+ 16181, 21281, 25128,
16181, 21281, 25134,
+ 16181, 21281, 25136,
16181, 21281, 25138,
- 16181, 21281, 25150,
- 16181, 21281, 25152,
+ 16181, 21281, 25142,
+ 16181, 21281, 25154,
16181, 21281, 25156,
- 16181, 21281, 25168,
- 16181, 21281, 25170,
+ 16181, 21281, 25160,
16181, 21281, 25172,
16181, 21281, 25174,
- 16181, 21281, 25200,
- 16181, 21281, 25214,
- 16181, 21281, 25228,
- 16181, 21281, 25372,
- 16181, 21281, 25374,
- 16181, 21281, 25398,
- 16181, 21281, 25416,
- 16181, 21281, 25418,
- 16181, 21281, 25526,
- 16181, 21281, 25528,
- 16181, 21281, 27286,
- 16181, 21281, 27296,
+ 16181, 21281, 25176,
+ 16181, 21281, 25178,
+ 16181, 21281, 25204,
+ 16181, 21281, 25218,
+ 16181, 21281, 25232,
+ 16181, 21281, 25376,
+ 16181, 21281, 25378,
+ 16181, 21281, 25402,
+ 16181, 21281, 25420,
+ 16181, 21281, 25422,
+ 16181, 21281, 25530,
+ 16181, 21281, 25532,
+ 16181, 21281, 27290,
16181, 21281, 27300,
- 16181, 21281, 27308,
- 16181, 21281, 27330,
- 16181, 21281, 27336,
- 16181, 21281, 27444,
- 16181, 21281, 27446,
- 16181, 21281, 27454,
- 16181, 21281, 27456,
- 16181, 21281, 27462,
- 16181, 21281, 27464,
- 16181, 21281, 27476,
- 16181, 21281, 27478,
- 16181, 21281, 27488,
- 16181, 21281, 27496,
- 16181, 21281, 27498,
+ 16181, 21281, 27304,
+ 16181, 21281, 27312,
+ 16181, 21281, 27334,
+ 16181, 21281, 27340,
+ 16181, 21281, 27448,
+ 16181, 21281, 27450,
+ 16181, 21281, 27458,
+ 16181, 21281, 27460,
+ 16181, 21281, 27466,
+ 16181, 21281, 27468,
+ 16181, 21281, 27480,
+ 16181, 21281, 27482,
+ 16181, 21281, 27492,
16181, 21281, 27500,
16181, 21281, 27502,
16181, 21281, 27504,
+ 16181, 21281, 27506,
16181, 21281, 27508,
- 16181, 21281, 27516,
- 16181, 21281, 27528,
- 16181, 21281, 27542,
- 16181, 21281, 27544,
+ 16181, 21281, 27512,
+ 16181, 21281, 27520,
+ 16181, 21281, 27532,
16181, 21281, 27546,
16181, 21281, 27548,
- 16181, 21281, 27554,
- 16181, 21281, 27556,
+ 16181, 21281, 27550,
+ 16181, 21281, 27552,
16181, 21281, 27558,
- 16181, 21281, 27572,
+ 16181, 21281, 27560,
+ 16181, 21281, 27562,
16181, 21281, 27576,
- 16181, 21281, 27578,
- 16181, 21281, 27586,
- 16181, 21281, 27594,
- 16181, 21281, 27600,
+ 16181, 21281, 27580,
+ 16181, 21281, 27582,
+ 16181, 21281, 27590,
+ 16181, 21281, 27598,
+ 16181, 21281, 27604,
16181, 21283, 0,
16181, 21283, 8,
16181, 21283, 16,
@@ -26683,7 +26685,7 @@ static const uint16_t unicode_names[132374] = {
16181, 21283, 18106,
16181, 21283, 19164,
16181, 21283, 19354,
- 16181, 21283, 22508,
+ 16181, 21283, 22510,
16183, 20371, 8757, 467, 16314,
16183, 20371, 8757, 14624,
16183, 20371, 10511, 10798,
@@ -26754,7 +26756,7 @@ static const uint16_t unicode_names[132374] = {
16185, 16393, 14618,
16185, 16393, 16372,
16185, 16393, 16918,
- 16185, 16393, 22688,
+ 16185, 16393, 22690,
16185, 16647, 2736,
16185, 16647, 2737, 18102,
16185, 16647, 3376,
@@ -26783,7 +26785,7 @@ static const uint16_t unicode_names[132374] = {
16195, 14457, 16848,
16195, 14457, 16849, 14484,
16195, 14457, 16856,
- 16195, 14457, 25105, 17360,
+ 16195, 14457, 25109, 17360,
16195, 15561, 2734,
16195, 15561, 6576,
16195, 15561, 7754,
@@ -26813,7 +26815,7 @@ static const uint16_t unicode_names[132374] = {
16195, 15561, 19065, 16852,
16195, 15561, 20054,
16195, 15561, 21186,
- 16195, 15561, 22468,
+ 16195, 15561, 22470,
16195, 16393, 276,
16195, 16393, 277, 11445, 13816,
16195, 16393, 554,
@@ -26882,19 +26884,19 @@ static const uint16_t unicode_names[132374] = {
16195, 16393, 15489, 11445, 15878,
16195, 16393, 16918,
16195, 16393, 16919, 11445, 15878,
- 16195, 16393, 22623, 5514,
- 16195, 16393, 22623, 9843, 10510,
+ 16195, 16393, 22625, 5514,
+ 16195, 16393, 22625, 9843, 10510,
16195, 20031, 5441, 13674,
16195, 20031, 19265, 3629, 3910,
16195, 20031, 19265, 3911, 3911, 14390,
16195, 20031, 19265, 15969, 3628,
16195, 20031, 19265, 15969, 3910,
- 16195, 22999, 2655, 18062,
- 16195, 22999, 3221, 14388,
- 16195, 22999, 13820,
- 16195, 22999, 14386,
- 16195, 22999, 16118,
- 16195, 22999, 21186,
+ 16195, 23001, 2655, 18062,
+ 16195, 23001, 3221, 14388,
+ 16195, 23001, 13820,
+ 16195, 23001, 14386,
+ 16195, 23001, 16118,
+ 16195, 23001, 21186,
16201, 11445, 15335, 12856,
16211, 6068,
16217, 14501, 17077, 20194,
@@ -26910,7 +26912,7 @@ static const uint16_t unicode_names[132374] = {
16275, 10511, 17372,
16275, 10511, 19210,
16275, 10511, 19342,
- 16275, 10511, 22648,
+ 16275, 10511, 22650,
16275, 12938,
16275, 15289, 10511, 8,
16275, 15289, 10511, 16,
@@ -26972,8 +26974,8 @@ static const uint16_t unicode_names[132374] = {
16275, 16647, 10510,
16275, 16647, 10511, 12248,
16275, 18873, 8756,
- 16275, 22783, 10510,
- 16275, 23163, 10510,
+ 16275, 22785, 10510,
+ 16275, 23167, 10510,
16279, 18777, 169, 2622,
16279, 18777, 262,
16279, 18777, 263, 17038,
@@ -27186,14 +27188,12 @@ static const uint16_t unicode_names[132374] = {
16279, 18777, 21124,
16279, 18777, 21992,
16279, 18777, 22116,
- 16279, 18777, 22710,
- 16279, 18777, 23023, 11438,
+ 16279, 18777, 22712,
+ 16279, 18777, 23025, 11438,
16291, 10510,
16303, 3376,
16306,
16309, 14807, 16947, 16044,
- 16309, 14807, 16947, 25540,
- 16309, 14807, 16947, 25542,
16309, 14807, 16947, 25544,
16309, 14807, 16947, 25546,
16309, 14807, 16947, 25548,
@@ -27662,6 +27662,8 @@ static const uint16_t unicode_names[132374] = {
16309, 14807, 16947, 26474,
16309, 14807, 16947, 26476,
16309, 14807, 16947, 26478,
+ 16309, 14807, 16947, 26480,
+ 16309, 14807, 16947, 26482,
16311, 10511, 14234,
16311, 10511, 14896,
16311, 10511, 16974,
@@ -27726,7 +27728,7 @@ static const uint16_t unicode_names[132374] = {
16311, 16393, 11014,
16311, 16393, 14735, 16,
16311, 18873, 8756,
- 16311, 23163, 10510,
+ 16311, 23167, 10510,
16322,
16341, 20483, 17140,
16346,
@@ -27803,11 +27805,11 @@ static const uint16_t unicode_names[132374] = {
16389, 20907, 10511, 18556,
16389, 21631, 16393, 598,
16389, 21631, 16393, 776,
- 16389, 22999, 9505, 17223, 17148,
- 16389, 22999, 15780,
- 16389, 22999, 17148,
- 16389, 22999, 17288,
- 16389, 22999, 17289, 15780,
+ 16389, 23001, 9505, 17223, 17148,
+ 16389, 23001, 15780,
+ 16389, 23001, 17148,
+ 16389, 23001, 17288,
+ 16389, 23001, 17289, 15780,
16415, 1, 10511, 4686,
16415, 1, 10511, 4688,
16415, 1, 10511, 4690,
@@ -28419,10 +28421,10 @@ static const uint16_t unicode_names[132374] = {
16445, 16393, 484,
16445, 16393, 634,
16445, 16393, 666,
- 16445, 22561, 8756,
+ 16445, 22563, 8756,
16446,
16456,
- 16465, 22602,
+ 16465, 22604,
16497, 3209, 17063, 19374,
16497, 3209, 18705, 12449, 10624,
16497, 6059, 15335, 15814,
@@ -28430,13 +28432,13 @@ static const uint16_t unicode_names[132374] = {
16497, 7015, 18705, 12449, 10624,
16497, 7015, 18705, 20271, 10624,
16497, 8229, 12863, 17647, 20194,
- 16497, 8229, 22967, 20194,
+ 16497, 8229, 22969, 20194,
16497, 12449, 15814,
16497, 13067, 17063, 19374,
16497, 13067, 18705, 12449, 10624,
16497, 13335, 12856,
16497, 14557, 12863, 17647, 20194,
- 16497, 14557, 22967, 20194,
+ 16497, 14557, 22969, 20194,
16497, 14680,
16497, 14807, 15335, 15814,
16497, 15005, 18705, 12449, 10624,
@@ -28445,15 +28447,15 @@ static const uint16_t unicode_names[132374] = {
16497, 15335, 17076,
16497, 18848,
16497, 20701, 958,
- 16497, 21167, 8229, 22967, 20194,
- 16497, 21167, 14557, 22967, 20194,
- 16497, 23335, 14828,
- 16497, 25119, 12309, 17647, 20194,
- 16497, 25401, 12309, 17647, 20194,
+ 16497, 21167, 8229, 22969, 20194,
+ 16497, 21167, 14557, 22969, 20194,
+ 16497, 23339, 14828,
+ 16497, 25123, 12309, 17647, 20194,
+ 16497, 25405, 12309, 17647, 20194,
16499, 13831, 2305, 7784,
16499, 13831, 5466,
16499, 13831, 5475, 7784,
- 16499, 13831, 11469, 22399, 8756,
+ 16499, 13831, 11469, 22401, 8756,
16499, 13831, 12269, 16316,
16499, 13831, 12989, 2736,
16499, 13831, 12989, 3208,
@@ -28528,14 +28530,14 @@ static const uint16_t unicode_names[132374] = {
16499, 13831, 17372,
16499, 13831, 19472,
16499, 13831, 19474,
- 16499, 13831, 20547, 22399, 8756,
+ 16499, 13831, 20547, 22401, 8756,
16521, 1284,
16521, 14997, 15335, 14557, 20283, 13506,
16530,
16531, 5936,
16533, 14424,
16533, 14425, 2724,
- 16533, 14425, 11445, 22417, 12343, 95, 8228,
+ 16533, 14425, 11445, 22419, 12343, 95, 8228,
16534,
16537, 22348,
16539, 3501, 3274,
@@ -28562,14 +28564,14 @@ static const uint16_t unicode_names[132374] = {
16647, 20595, 7029, 10630,
16647, 21571, 7029, 10630,
16649, 10510,
- 16655, 23009, 20864,
+ 16655, 23011, 20864,
16663, 19440,
16664,
16679, 2016,
16681, 6066,
16681, 13382,
- 16689, 8229, 22966,
- 16689, 14557, 22966,
+ 16689, 8229, 22968,
+ 16689, 14557, 22968,
16697, 10976,
16702,
16710,
@@ -28634,7 +28636,7 @@ static const uint16_t unicode_names[132374] = {
16713, 13421, 10511, 15381, 6954,
16713, 13421, 10511, 15381, 14186,
16713, 13421, 10511, 17319, 6212,
- 16713, 13421, 10511, 23119, 1734,
+ 16713, 13421, 10511, 23123, 1734,
16713, 13421, 12989, 2736,
16713, 13421, 12989, 3208,
16713, 13421, 12989, 3500,
@@ -28715,7 +28717,7 @@ static const uint16_t unicode_names[132374] = {
16749, 11445, 21228,
16749, 13011, 20856,
16749, 15709, 15896,
- 16749, 18783, 6071, 13371, 323, 22650,
+ 16749, 18783, 6071, 13371, 323, 22652,
16749, 19504,
16749, 19856,
16753, 10510,
@@ -28738,7 +28740,7 @@ static const uint16_t unicode_names[132374] = {
16819, 14446,
16825, 12414,
16826,
- 16837, 17481, 22882,
+ 16837, 17481, 22884,
16845, 13382,
16854,
16860,
@@ -28755,9 +28757,9 @@ static const uint16_t unicode_names[132374] = {
16865, 7389, 11445, 9769, 17607, 16521, 893, 10089, 17986,
16865, 7389, 11445, 17987, 18974,
16865, 12844,
- 16865, 15967, 25101, 16474,
+ 16865, 15967, 25105, 16474,
16865, 17076,
- 16865, 25101, 16474,
+ 16865, 25105, 16474,
16873, 15289, 10511, 8,
16873, 15289, 10511, 16,
16873, 15289, 10511, 28,
@@ -28848,9 +28850,9 @@ static const uint16_t unicode_names[132374] = {
17008,
17010,
17025, 13737, 21495, 8756,
- 17025, 25119, 12309, 21495, 8756,
- 17025, 25401, 12309, 21495, 8756,
- 17025, 27283, 21495, 8756,
+ 17025, 25123, 12309, 21495, 8756,
+ 17025, 25405, 12309, 21495, 8756,
+ 17025, 27287, 21495, 8756,
17033, 6952,
17035, 529, 3252,
17041, 5936,
@@ -29097,8 +29099,8 @@ static const uint16_t unicode_names[132374] = {
17077, 21350,
17077, 21458,
17077, 22226,
- 17077, 22676,
- 17077, 22864,
+ 17077, 22678,
+ 17077, 22866,
17083, 507, 18336,
17099, 20201, 15335, 10624,
17111, 22262,
@@ -29112,10 +29114,10 @@ static const uint16_t unicode_names[132374] = {
17115, 507, 12249, 15993, 10510,
17115, 11445, 1284,
17115, 11445, 9843, 10511, 12426,
- 17115, 11445, 25389, 10511, 12426,
+ 17115, 11445, 25393, 10511, 12426,
17115, 12249, 17114,
17115, 12249, 20534,
- 17115, 12249, 22417, 12342,
+ 17115, 12249, 22419, 12342,
17125, 9725, 20842,
17128,
17139, 13975, 10511, 18080,
@@ -29165,15 +29167,15 @@ static const uint16_t unicode_names[132374] = {
17139, 13975, 16797, 16472,
17141, 1485, 1385, 507, 10852,
17141, 1485, 1385, 507, 16496,
- 17141, 1485, 1385, 507, 23478,
- 17141, 1485, 1385, 507, 23479, 12456,
+ 17141, 1485, 1385, 507, 23482,
+ 17141, 1485, 1385, 507, 23483, 12456,
17141, 1485, 6014,
17141, 1485, 6505, 8273, 15994,
17141, 1485, 6977, 21566,
17141, 1485, 7013, 6962,
17141, 1485, 8269, 6962,
17141, 1485, 9468,
- 17141, 1485, 11073, 1, 22778,
+ 17141, 1485, 11073, 1, 22780,
17141, 1485, 11191, 21566,
17141, 1485, 13339, 21566,
17141, 1485, 13825, 17692,
@@ -29194,15 +29196,15 @@ static const uint16_t unicode_names[132374] = {
17141, 1485, 17950,
17141, 1485, 18500,
17141, 1485, 19461, 16880,
- 17141, 1485, 20145, 22610,
- 17141, 1485, 20701, 22540,
+ 17141, 1485, 20145, 22612,
+ 17141, 1485, 20701, 22542,
17141, 1485, 20810,
17141, 1485, 21543, 17046,
- 17141, 1485, 22199, 22540,
- 17141, 1485, 22532,
- 17141, 1485, 22533, 7013, 3500,
- 17141, 1485, 22610,
- 17141, 1485, 23109, 7746,
+ 17141, 1485, 22199, 22542,
+ 17141, 1485, 22534,
+ 17141, 1485, 22535, 7013, 3500,
+ 17141, 1485, 22612,
+ 17141, 1485, 23113, 7746,
17147, 1385, 507, 21444,
17147, 3501, 20701, 6653, 12248,
17147, 3501, 20701, 6653, 12426,
@@ -29265,7 +29267,7 @@ static const uint16_t unicode_names[132374] = {
17147, 16393, 21331, 3466,
17147, 16393, 21331, 8290,
17147, 16393, 21331, 9364,
- 17147, 16393, 23105, 12280,
+ 17147, 16393, 23109, 12280,
17147, 16835, 12248,
17147, 16835, 12426,
17147, 16835, 15966,
@@ -29286,12 +29288,12 @@ static const uint16_t unicode_names[132374] = {
17147, 21637, 12839, 17031, 8228,
17147, 21637, 12839, 17031, 14556,
17147, 22199, 12838,
- 17147, 22670,
- 17147, 22819, 15966,
- 17147, 23107, 7029, 10630,
- 17147, 23107, 12838,
- 17147, 23107, 12839, 17031, 8228,
- 17147, 23163, 8756,
+ 17147, 22672,
+ 17147, 22821, 15966,
+ 17147, 23111, 7029, 10630,
+ 17147, 23111, 12838,
+ 17147, 23111, 12839, 17031, 8228,
+ 17147, 23167, 8756,
17158,
17163, 12989, 2736,
17163, 12989, 3208,
@@ -29383,8 +29385,6 @@ static const uint16_t unicode_names[132374] = {
17163, 16393, 14735, 932,
17163, 16393, 14735, 3556,
17165, 21275, 8756,
- 17165, 23518,
- 17165, 23520,
17165, 23522,
17165, 23524,
17165, 23526,
@@ -30151,6 +30151,8 @@ static const uint16_t unicode_names[132374] = {
17165, 25048,
17165, 25050,
17165, 25052,
+ 17165, 25054,
+ 17165, 25056,
17174,
17177, 19245, 16178,
17178,
@@ -30163,8 +30165,8 @@ static const uint16_t unicode_names[132374] = {
17189, 10511, 19342,
17189, 10511, 19386,
17189, 10511, 20891, 19343, 12248,
- 17189, 10511, 20891, 22649, 12248,
- 17189, 10511, 22648,
+ 17189, 10511, 20891, 22651, 12248,
+ 17189, 10511, 22650,
17189, 12989, 2736,
17189, 12989, 3208,
17189, 12989, 3500,
@@ -30317,7 +30319,7 @@ static const uint16_t unicode_names[132374] = {
17275, 15028,
17275, 15880,
17275, 16577, 21314,
- 17275, 16577, 23278,
+ 17275, 16577, 23282,
17275, 18957, 15695, 20346,
17275, 19948,
17275, 20701, 959, 11445, 22199, 17106,
@@ -30348,9 +30350,9 @@ static const uint16_t unicode_names[132374] = {
17305, 17671, 10,
17305, 20774,
17305, 21560,
- 17305, 22421, 17671, 12,
- 17305, 22421, 17671, 22,
- 17305, 22421, 17671, 48,
+ 17305, 22423, 17671, 12,
+ 17305, 22423, 17671, 22,
+ 17305, 22423, 17671, 48,
17306,
17313, 18705, 12449, 10624,
17317, 6502,
@@ -30588,7 +30590,7 @@ static const uint16_t unicode_names[132374] = {
17445, 16393, 15376,
17445, 20891, 13369, 8756,
17445, 20891, 13797, 8756,
- 17445, 22831, 8756,
+ 17445, 22833, 8756,
17464,
17468,
17479, 506,
@@ -30654,7 +30656,7 @@ static const uint16_t unicode_names[132374] = {
17563, 16393, 9272,
17563, 16393, 10476,
17563, 16393, 10590,
- 17563, 23163, 8756,
+ 17563, 23167, 8756,
17564,
17569, 12622,
17572,
@@ -30671,7 +30673,7 @@ static const uint16_t unicode_names[132374] = {
17603, 10511, 19210,
17603, 10511, 19342,
17603, 10511, 19386,
- 17603, 10511, 22648,
+ 17603, 10511, 22650,
17603, 12989, 2736,
17603, 12989, 3208,
17603, 12989, 3500,
@@ -30754,12 +30756,12 @@ static const uint16_t unicode_names[132374] = {
17603, 16393, 19217, 608,
17603, 16927, 8756,
17603, 19551, 21405, 2736,
- 17603, 19551, 21405, 2737, 8235, 10865, 3389, 22696,
+ 17603, 19551, 21405, 2737, 8235, 10865, 3389, 22698,
17603, 19551, 21405, 3500,
17603, 19551, 21405, 7014,
17603, 19551, 21405, 15004,
- 17603, 19551, 22697, 18932,
- 17603, 23163, 10510,
+ 17603, 19551, 22699, 18932,
+ 17603, 23167, 10510,
17605, 10088,
17605, 10089, 11445, 15814,
17606,
@@ -30988,7 +30990,6 @@ static const uint16_t unicode_names[132374] = {
17649, 18637, 22100,
17649, 18637, 22102,
17649, 18637, 22104,
- 17649, 18637, 22714,
17649, 18637, 22716,
17649, 18637, 22718,
17649, 18637, 22720,
@@ -31016,15 +31017,16 @@ static const uint16_t unicode_names[132374] = {
17649, 18637, 22764,
17649, 18637, 22766,
17649, 18637, 22768,
- 17649, 18637, 23238,
- 17649, 18637, 23240,
+ 17649, 18637, 22770,
17649, 18637, 23242,
17649, 18637, 23244,
17649, 18637, 23246,
17649, 18637, 23248,
17649, 18637, 23250,
17649, 18637, 23252,
- 17649, 18637, 25064,
+ 17649, 18637, 23254,
+ 17649, 18637, 23256,
+ 17649, 18637, 25068,
17656,
17660,
17668,
@@ -31059,7 +31061,7 @@ static const uint16_t unicode_names[132374] = {
17717, 12989, 13066,
17717, 12989, 14676,
17717, 12989, 15004,
- 17717, 13385, 15335, 22417, 12342,
+ 17717, 13385, 15335, 22419, 12342,
17717, 13455, 16040,
17717, 13685, 14807, 16393, 0,
17717, 13685, 14807, 16393, 2,
@@ -31313,16 +31315,16 @@ static const uint16_t unicode_names[132374] = {
17717, 21245, 21156,
17717, 21245, 21648,
17717, 21245, 22126,
- 17717, 21245, 23314,
- 17717, 21245, 25250,
+ 17717, 21245, 23318,
+ 17717, 21245, 25254,
17717, 21314,
17717, 22199, 959, 11445, 14156,
- 17717, 22849, 17046,
- 17717, 23278,
- 17717, 23499, 12342,
- 17717, 25146,
- 17717, 25389, 10511, 11445, 21927, 15560,
- 17717, 27589, 19615, 10510,
+ 17717, 22851, 17046,
+ 17717, 23282,
+ 17717, 23503, 12342,
+ 17717, 25150,
+ 17717, 25393, 10511, 11445, 21927, 15560,
+ 17717, 27593, 19615, 10510,
17721, 12462,
17734,
17738,
@@ -31488,17 +31490,17 @@ static const uint16_t unicode_names[132374] = {
17825, 14687, 11445, 1, 1285, 16248,
17825, 17168,
17825, 20188,
- 17837, 17717, 22421, 12989, 2736,
- 17837, 17717, 22421, 12989, 3208,
- 17837, 17717, 22421, 12989, 3500,
- 17837, 17717, 22421, 12989, 6992,
- 17837, 17717, 22421, 12989, 7014,
- 17837, 17717, 22421, 12989, 9302,
- 17837, 17717, 22421, 12989, 11754,
- 17837, 17717, 22421, 12989, 13066,
- 17837, 17717, 22421, 12989, 14676,
- 17837, 17717, 22421, 12989, 15004,
- 17837, 17717, 22421, 16647, 3376,
+ 17837, 17717, 22423, 12989, 2736,
+ 17837, 17717, 22423, 12989, 3208,
+ 17837, 17717, 22423, 12989, 3500,
+ 17837, 17717, 22423, 12989, 6992,
+ 17837, 17717, 22423, 12989, 7014,
+ 17837, 17717, 22423, 12989, 9302,
+ 17837, 17717, 22423, 12989, 11754,
+ 17837, 17717, 22423, 12989, 13066,
+ 17837, 17717, 22423, 12989, 14676,
+ 17837, 17717, 22423, 12989, 15004,
+ 17837, 17717, 22423, 16647, 3376,
17837, 20145, 17717, 12989, 2736,
17837, 20145, 17717, 12989, 3208,
17837, 20145, 17717, 12989, 3500,
@@ -31509,17 +31511,17 @@ static const uint16_t unicode_names[132374] = {
17837, 20145, 17717, 12989, 14676,
17837, 20145, 17717, 12989, 15004,
17837, 20145, 17717, 16647, 3376,
- 17837, 20145, 17717, 22421, 12989, 2736,
- 17837, 20145, 17717, 22421, 12989, 3208,
- 17837, 20145, 17717, 22421, 12989, 3500,
- 17837, 20145, 17717, 22421, 12989, 6992,
- 17837, 20145, 17717, 22421, 12989, 7014,
- 17837, 20145, 17717, 22421, 12989, 9302,
- 17837, 20145, 17717, 22421, 12989, 11754,
- 17837, 20145, 17717, 22421, 12989, 13066,
- 17837, 20145, 17717, 22421, 12989, 14676,
- 17837, 20145, 17717, 22421, 12989, 15004,
- 17837, 20145, 17717, 22421, 16647, 3376,
+ 17837, 20145, 17717, 22423, 12989, 2736,
+ 17837, 20145, 17717, 22423, 12989, 3208,
+ 17837, 20145, 17717, 22423, 12989, 3500,
+ 17837, 20145, 17717, 22423, 12989, 6992,
+ 17837, 20145, 17717, 22423, 12989, 7014,
+ 17837, 20145, 17717, 22423, 12989, 9302,
+ 17837, 20145, 17717, 22423, 12989, 11754,
+ 17837, 20145, 17717, 22423, 12989, 13066,
+ 17837, 20145, 17717, 22423, 12989, 14676,
+ 17837, 20145, 17717, 22423, 12989, 15004,
+ 17837, 20145, 17717, 22423, 16647, 3376,
17848,
17851, 17140,
17852,
@@ -31599,7 +31601,7 @@ static const uint16_t unicode_names[132374] = {
17947, 16393, 15884,
17947, 16393, 16372,
17947, 16393, 16918,
- 17947, 20031, 22608,
+ 17947, 20031, 22610,
17966,
17970,
17973, 19589, 323, 15335, 15815, 323, 12449, 17076,
@@ -31627,7 +31629,7 @@ static const uint16_t unicode_names[132374] = {
18053, 10511, 19342,
18053, 10511, 19386,
18053, 10511, 20891, 19343, 12248,
- 18053, 10511, 22648,
+ 18053, 10511, 22650,
18053, 15289, 10511, 16,
18053, 15289, 10511, 40,
18053, 15289, 10511, 58,
@@ -31797,14 +31799,14 @@ static const uint16_t unicode_names[132374] = {
18155, 10511, 14234,
18155, 10511, 17372,
18155, 10511, 18916,
- 18155, 10511, 18963, 22648,
+ 18155, 10511, 18963, 22650,
18155, 10511, 19210,
18155, 10511, 19342,
18155, 10511, 19386,
18155, 10511, 20891, 19343, 12249, 14556,
- 18155, 10511, 22648,
- 18155, 10511, 22862,
- 18155, 10511, 23148,
+ 18155, 10511, 22650,
+ 18155, 10511, 22864,
+ 18155, 10511, 23152,
18155, 12989, 2736,
18155, 12989, 3208,
18155, 12989, 3500,
@@ -31898,7 +31900,7 @@ static const uint16_t unicode_names[132374] = {
18349, 529, 11445, 15969, 20688,
18349, 529, 11445, 16521, 10626,
18349, 529, 11445, 22199, 6502,
- 18349, 529, 22951, 18349, 892,
+ 18349, 529, 22953, 18349, 892,
18349, 892,
18349, 893, 11445, 1285, 12248,
18349, 893, 11445, 15969, 18594,
@@ -31952,7 +31954,7 @@ static const uint16_t unicode_names[132374] = {
18369, 10923, 17070,
18369, 10923, 17122,
18369, 10923, 17414,
- 18369, 10923, 23512,
+ 18369, 10923, 23516,
18377, 1385, 507, 18872,
18377, 12306,
18377, 15289, 10511, 8,
@@ -32006,14 +32008,14 @@ static const uint16_t unicode_names[132374] = {
18389, 16393, 19184,
18389, 16393, 19758,
18389, 22169, 8756,
- 18389, 22615, 8756,
- 18389, 22998,
- 18389, 23487, 8756,
+ 18389, 22617, 8756,
+ 18389, 23000,
+ 18389, 23491, 8756,
18394,
18401, 7415, 8756,
18401, 8757, 10380,
18401, 10511, 19342,
- 18401, 10511, 22648,
+ 18401, 10511, 22650,
18401, 15289, 10511, 8,
18401, 15289, 10511, 16,
18401, 15289, 10511, 28,
@@ -32218,9 +32220,9 @@ static const uint16_t unicode_names[132374] = {
18473, 17141, 1385, 6002,
18473, 17141, 1385, 10540,
18473, 17141, 1385, 16762,
- 18473, 17141, 2737, 18103, 25221, 9384,
- 18473, 17141, 2737, 18103, 25221, 10060,
- 18473, 17141, 2801, 22530,
+ 18473, 17141, 2737, 18103, 25225, 9384,
+ 18473, 17141, 2737, 18103, 25225, 10060,
+ 18473, 17141, 2801, 22532,
18473, 17141, 6306,
18473, 17141, 6494,
18473, 17141, 6495, 884,
@@ -32243,7 +32245,7 @@ static const uint16_t unicode_names[132374] = {
18473, 17141, 11057, 696,
18473, 17141, 11057, 14786,
18473, 17141, 11327, 20170,
- 18473, 17141, 11445, 22792,
+ 18473, 17141, 11445, 22794,
18473, 17141, 12421, 3400,
18473, 17141, 12421, 6002,
18473, 17141, 12421, 10540,
@@ -32309,13 +32311,13 @@ static const uint16_t unicode_names[132374] = {
18473, 17141, 17077, 20171, 15334,
18473, 17141, 17112,
18473, 17141, 17193, 21455, 1155, 22381, 20256,
- 18473, 17141, 17193, 21455, 1155, 22381, 20257, 23230,
+ 18473, 17141, 17193, 21455, 1155, 22381, 20257, 23234,
18473, 17141, 17193, 21455, 1155, 22381, 22208,
- 18473, 17141, 17193, 22845, 1155, 22381, 20256,
- 18473, 17141, 17193, 22845, 1155, 22381, 22208,
- 18473, 17141, 17193, 22845, 1155, 22381, 22209, 23230,
- 18473, 17141, 17193, 22845, 1155, 22381, 22209, 23232,
- 18473, 17141, 17193, 22845, 1155, 22381, 22209, 23234,
+ 18473, 17141, 17193, 22847, 1155, 22381, 20256,
+ 18473, 17141, 17193, 22847, 1155, 22381, 22208,
+ 18473, 17141, 17193, 22847, 1155, 22381, 22209, 23234,
+ 18473, 17141, 17193, 22847, 1155, 22381, 22209, 23236,
+ 18473, 17141, 17193, 22847, 1155, 22381, 22209, 23238,
18473, 17141, 17646,
18473, 17141, 17666,
18473, 17141, 17731, 20171, 12448,
@@ -32391,11 +32393,11 @@ static const uint16_t unicode_names[132374] = {
18473, 17141, 20891, 21766,
18473, 17141, 20891, 21768,
18473, 17141, 20891, 21770,
- 18473, 17141, 20891, 23189, 1284,
- 18473, 17141, 20891, 23445, 10626,
- 18473, 17141, 20891, 25202,
- 18473, 17141, 20891, 25530,
- 18473, 17141, 20891, 27442,
+ 18473, 17141, 20891, 23193, 1284,
+ 18473, 17141, 20891, 23449, 10626,
+ 18473, 17141, 20891, 25206,
+ 18473, 17141, 20891, 25534,
+ 18473, 17141, 20891, 27446,
18473, 17141, 20916,
18473, 17141, 21163, 14858,
18473, 17141, 21175, 14858,
@@ -32411,28 +32413,28 @@ static const uint16_t unicode_names[132374] = {
18473, 17141, 21597, 10060,
18473, 17141, 21883, 696,
18473, 17141, 21883, 6656,
- 18473, 17141, 22427, 10060,
- 18473, 17141, 22427, 12448,
- 18473, 17141, 22427, 15334,
- 18473, 17141, 22433, 10060,
- 18473, 17141, 22433, 12448,
- 18473, 17141, 22433, 15334,
- 18473, 17141, 22501, 21176,
- 18473, 17141, 22555, 14858,
- 18473, 17141, 22690,
- 18473, 17141, 22803, 21176,
- 18473, 17141, 22816,
- 18473, 17141, 22930,
- 18473, 17141, 22967, 20170,
- 18473, 17141, 23020,
- 18473, 17141, 23373, 5452,
- 18473, 17141, 23373, 12396,
- 18473, 17141, 23441, 9384,
- 18473, 17141, 23441, 10060,
- 18473, 17141, 25211, 9384,
- 18473, 17141, 25211, 10060,
- 18473, 17141, 25421, 20171, 6657, 12448,
- 18473, 17141, 25421, 20171, 6657, 15334,
+ 18473, 17141, 22429, 10060,
+ 18473, 17141, 22429, 12448,
+ 18473, 17141, 22429, 15334,
+ 18473, 17141, 22435, 10060,
+ 18473, 17141, 22435, 12448,
+ 18473, 17141, 22435, 15334,
+ 18473, 17141, 22503, 21176,
+ 18473, 17141, 22557, 14858,
+ 18473, 17141, 22692,
+ 18473, 17141, 22805, 21176,
+ 18473, 17141, 22818,
+ 18473, 17141, 22932,
+ 18473, 17141, 22969, 20170,
+ 18473, 17141, 23022,
+ 18473, 17141, 23377, 5452,
+ 18473, 17141, 23377, 12396,
+ 18473, 17141, 23445, 9384,
+ 18473, 17141, 23445, 10060,
+ 18473, 17141, 25215, 9384,
+ 18473, 17141, 25215, 10060,
+ 18473, 17141, 25425, 20171, 6657, 12448,
+ 18473, 17141, 25425, 20171, 6657, 15334,
18473, 19988,
18473, 19989, 11445, 13514,
18475, 3339, 13671, 12989, 2736,
@@ -32638,19 +32640,19 @@ static const uint16_t unicode_names[132374] = {
18475, 16393, 19235, 2883, 13565, 2876,
18475, 16393, 19235, 2883, 13565, 3386,
18475, 17141, 10385, 2736,
- 18475, 17141, 10385, 22788,
+ 18475, 17141, 10385, 22790,
18475, 17141, 12273, 2736,
18475, 17141, 12273, 3500,
- 18475, 17141, 12273, 22788,
+ 18475, 17141, 12273, 22790,
18475, 17141, 19868,
18475, 17141, 20036,
18475, 17141, 20892,
- 18475, 17141, 25234,
+ 18475, 17141, 25238,
18475, 20039, 16305, 286,
18475, 20039, 16305, 588,
18475, 20039, 16305, 2710,
- 18475, 20109, 16393, 10385, 25166,
- 18475, 20109, 16393, 16305, 25166,
+ 18475, 20109, 16393, 10385, 25170,
+ 18475, 20109, 16393, 16305, 25170,
18475, 20907, 10511, 2435, 16495, 394,
18475, 20907, 10511, 2435, 16495, 426,
18475, 20907, 10511, 2435, 16495, 466,
@@ -32665,11 +32667,11 @@ static const uint16_t unicode_names[132374] = {
18491, 1, 20535, 507, 2621, 13093, 660,
18491, 21315, 2621, 13093, 660,
18491, 21315, 2621, 22139, 660,
- 18491, 21315, 2621, 23278,
- 18491, 23279, 2621, 13093, 660,
- 18491, 23279, 2621, 21314,
- 18491, 23279, 2621, 22139, 660,
- 18491, 23501, 2621, 19315, 13093, 660,
+ 18491, 21315, 2621, 23282,
+ 18491, 23283, 2621, 13093, 660,
+ 18491, 23283, 2621, 21314,
+ 18491, 23283, 2621, 22139, 660,
+ 18491, 23505, 2621, 19315, 13093, 660,
18492,
18493, 7013, 3500,
18497, 13012,
@@ -32690,9 +32692,9 @@ static const uint16_t unicode_names[132374] = {
18499, 12589, 15697, 18831, 3501, 18103, 18887, 17810,
18499, 12589, 15697, 18831, 16605, 17810,
18499, 12589, 16334,
- 18499, 12589, 16335, 18831, 2737, 18103, 23121, 17810,
+ 18499, 12589, 16335, 18831, 2737, 18103, 23125, 17810,
18499, 12589, 16335, 18831, 3501, 18103, 18887, 17810,
- 18499, 12589, 16335, 18831, 3501, 18103, 23137, 17810,
+ 18499, 12589, 16335, 18831, 3501, 18103, 23141, 17810,
18499, 12589, 16335, 18831, 15005, 18103, 17985, 17810,
18499, 12589, 16335, 18831, 16605, 17810,
18499, 12589, 16335, 18831, 22163, 17810,
@@ -32708,10 +32710,10 @@ static const uint16_t unicode_names[132374] = {
18501, 14556,
18533, 12989, 16982,
18535, 10510,
- 18537, 8229, 22429, 11445, 15005, 6652,
- 18537, 13739, 25403, 15335, 22417, 12342,
- 18537, 14557, 22429, 11445, 15005, 6652,
- 18537, 15173, 25403, 15335, 22417, 12342,
+ 18537, 8229, 22431, 11445, 15005, 6652,
+ 18537, 13739, 25407, 15335, 22419, 12342,
+ 18537, 14557, 22431, 11445, 15005, 6652,
+ 18537, 15173, 25407, 15335, 22419, 12342,
18559, 12309, 18581, 696,
18559, 12309, 18581, 6656,
18559, 16226,
@@ -32821,7 +32823,7 @@ static const uint16_t unicode_names[132374] = {
18591, 14775, 20771, 16647, 15004,
18596,
18600,
- 18635, 23224,
+ 18635, 23228,
18642,
18644,
18650,
@@ -32943,7 +32945,7 @@ static const uint16_t unicode_names[132374] = {
18751, 18605, 16393, 16372,
18751, 18605, 16393, 16918,
18751, 18605, 16393, 20090,
- 18751, 18605, 16393, 25226,
+ 18751, 18605, 16393, 25230,
18751, 18605, 16647, 2736,
18751, 18605, 16647, 2737, 18102,
18751, 18605, 16647, 3376,
@@ -32964,7 +32966,7 @@ static const uint16_t unicode_names[132374] = {
18800,
18815, 13709, 7015, 18705, 20271, 10624,
18815, 15029, 20189, 12249, 21313, 12342,
- 18815, 15029, 20189, 12249, 22417, 12342,
+ 18815, 15029, 20189, 12249, 22419, 12342,
18815, 17699, 12462,
18815, 18956,
18815, 18957, 11445, 22199, 17106,
@@ -32988,12 +32990,12 @@ static const uint16_t unicode_names[132374] = {
18835, 17141, 1485, 20430,
18836,
18839, 14723, 11445, 10332,
- 18841, 23181, 17141, 16622,
- 18841, 23181, 17141, 19418,
- 18841, 23181, 17141, 20332,
- 18841, 23181, 17141, 20412,
- 18841, 23181, 17141, 21764,
- 18841, 23181, 17141, 21808,
+ 18841, 23185, 17141, 16622,
+ 18841, 23185, 17141, 19418,
+ 18841, 23185, 17141, 20332,
+ 18841, 23185, 17141, 20412,
+ 18841, 23185, 17141, 21764,
+ 18841, 23185, 17141, 21808,
18848,
18866,
18868,
@@ -33012,10 +33014,10 @@ static const uint16_t unicode_names[132374] = {
18901, 10511, 19210,
18901, 10511, 19342,
18901, 10511, 19386,
- 18901, 10511, 19955, 22648,
- 18901, 10511, 22648,
- 18901, 10511, 22862,
- 18901, 10511, 23148,
+ 18901, 10511, 19955, 22650,
+ 18901, 10511, 22650,
+ 18901, 10511, 22864,
+ 18901, 10511, 23152,
18901, 12938,
18901, 12989, 2736,
18901, 12989, 3208,
@@ -33042,7 +33044,7 @@ static const uint16_t unicode_names[132374] = {
18901, 15289, 10511, 19217, 34,
18901, 15289, 10511, 19217, 406,
18901, 15289, 10511, 19217, 608,
- 18901, 15289, 10511, 25165, 8,
+ 18901, 15289, 10511, 25169, 8,
18901, 15289, 20109, 8756,
18901, 15969, 12938,
18901, 16393, 0,
@@ -33098,8 +33100,8 @@ static const uint16_t unicode_names[132374] = {
18901, 18873, 16468,
18901, 21566,
18901, 22182,
- 18901, 23163, 10510,
- 18901, 23215, 10510,
+ 18901, 23167, 10510,
+ 18901, 23219, 10510,
18903, 16393, 70,
18903, 16393, 308,
18903, 16393, 520,
@@ -33156,7 +33158,7 @@ static const uint16_t unicode_names[132374] = {
18917, 10511, 18916,
18917, 10511, 19210,
18917, 10511, 19342,
- 18917, 10511, 22648,
+ 18917, 10511, 22650,
18917, 12938,
18917, 15289, 10511, 8,
18917, 15289, 10511, 16,
@@ -33220,9 +33222,9 @@ static const uint16_t unicode_names[132374] = {
18917, 16393, 19217, 406,
18917, 16393, 19217, 608,
18917, 16393, 20771, 40,
- 18917, 16393, 22581, 20771, 16,
- 18917, 16393, 22581, 20771, 314,
- 18917, 16393, 23461, 20771, 16,
+ 18917, 16393, 22583, 20771, 16,
+ 18917, 16393, 22583, 20771, 314,
+ 18917, 16393, 23465, 20771, 16,
18917, 18873, 8757, 11445, 10039, 893, 15967, 15969, 20918,
18917, 18873, 8757, 11445, 10039, 893, 15967, 17275, 20918,
18917, 18873, 8757, 11445, 10039, 893, 15967, 20918,
@@ -33239,13 +33241,13 @@ static const uint16_t unicode_names[132374] = {
18917, 18873, 8757, 15969, 10089, 11445, 10038,
18917, 21567, 958,
18917, 21567, 1284,
- 18917, 22399, 16466,
- 18917, 22399, 16468,
- 18917, 22399, 16470,
+ 18917, 22401, 16466,
+ 18917, 22401, 16468,
+ 18917, 22401, 16470,
18923, 529, 21314,
- 18923, 529, 23278,
+ 18923, 529, 23282,
18923, 12249, 21315, 12249, 15993, 10510,
- 18923, 12249, 23279, 12249, 15993, 10510,
+ 18923, 12249, 23283, 12249, 15993, 10510,
18923, 13905, 18922,
18927, 8285, 12989, 2736,
18927, 8285, 12989, 3208,
@@ -33260,13 +33262,13 @@ static const uint16_t unicode_names[132374] = {
18927, 10511, 20764,
18927, 10511, 21814,
18927, 10511, 21870,
- 18927, 10511, 22648,
+ 18927, 10511, 22650,
18927, 15289, 10511, 6619, 18194,
18927, 15289, 10511, 6619, 19960,
18927, 15289, 10511, 6619, 21424,
18927, 15289, 10511, 6619, 21850,
- 18927, 15289, 10511, 6619, 22806,
- 18927, 15289, 10511, 6619, 23272,
+ 18927, 15289, 10511, 6619, 22808,
+ 18927, 15289, 10511, 6619, 23276,
18927, 15289, 10511, 13589, 19960,
18927, 15289, 10511, 13589, 21424,
18927, 15289, 10511, 13589, 21850,
@@ -33274,10 +33276,10 @@ static const uint16_t unicode_names[132374] = {
18927, 15289, 10511, 18194,
18927, 15289, 10511, 18195, 1667, 6619, 21852,
18927, 15289, 10511, 18195, 1667, 21852,
- 18927, 15289, 10511, 18195, 1667, 22806,
+ 18927, 15289, 10511, 18195, 1667, 22808,
18927, 15289, 10511, 21852,
- 18927, 15289, 10511, 22806,
- 18927, 15289, 10511, 23272,
+ 18927, 15289, 10511, 22808,
+ 18927, 15289, 10511, 23276,
18927, 16393, 5459, 17590,
18927, 16393, 15642,
18927, 16393, 16004,
@@ -33304,7 +33306,7 @@ static const uint16_t unicode_names[132374] = {
18927, 16393, 18853, 18144,
18927, 16393, 18853, 19568,
18927, 16393, 19043, 18860,
- 18927, 16393, 19043, 20393, 22926,
+ 18927, 16393, 19043, 20393, 22928,
18927, 16393, 19043, 22300,
18927, 16393, 19186,
18927, 16393, 19198,
@@ -33327,16 +33329,16 @@ static const uint16_t unicode_names[132374] = {
18927, 16393, 21859, 19060,
18927, 16393, 21859, 19568,
18927, 16393, 21859, 20662,
- 18927, 16393, 22887, 17590,
- 18927, 16393, 22887, 17680,
- 18927, 16393, 22887, 17804,
- 18927, 16393, 22887, 18018,
- 18927, 16393, 22887, 18144,
- 18927, 16393, 22887, 18166,
- 18927, 16393, 22887, 18638,
- 18927, 16393, 22887, 19060,
- 18927, 16393, 22887, 19568,
- 18927, 16393, 22887, 20662,
+ 18927, 16393, 22889, 17590,
+ 18927, 16393, 22889, 17680,
+ 18927, 16393, 22889, 17804,
+ 18927, 16393, 22889, 18018,
+ 18927, 16393, 22889, 18144,
+ 18927, 16393, 22889, 18166,
+ 18927, 16393, 22889, 18638,
+ 18927, 16393, 22889, 19060,
+ 18927, 16393, 22889, 19568,
+ 18927, 16393, 22889, 20662,
18927, 17547, 12989, 2736,
18927, 17547, 12989, 3208,
18927, 17547, 12989, 3500,
@@ -33357,12 +33359,12 @@ static const uint16_t unicode_names[132374] = {
18927, 17547, 16647, 17214,
18927, 17547, 16647, 17314,
18927, 17547, 16647, 18886,
- 18927, 22999, 22234,
+ 18927, 23001, 22234,
18933, 18705, 19374,
18937, 13093, 661, 529, 21314,
18937, 13093, 661, 529, 21315, 11445, 1285, 16248,
- 18937, 13093, 661, 529, 23278,
- 18937, 13093, 661, 529, 23279, 11445, 1285, 16248,
+ 18937, 13093, 661, 529, 23282,
+ 18937, 13093, 661, 529, 23283, 11445, 1285, 16248,
18937, 14155, 12343, 11445, 16219, 7414,
18937, 14155, 12343, 11445, 22199, 10790,
18941, 13681, 528,
@@ -33370,19 +33372,19 @@ static const uint16_t unicode_names[132374] = {
18943, 10864,
18943, 10865, 529, 13093, 660,
18945, 1085, 6953, 11445, 9721, 13930,
- 18945, 1085, 6953, 11445, 23287, 6838,
+ 18945, 1085, 6953, 11445, 23291, 6838,
18945, 6953, 11445, 7386,
18945, 6953, 11445, 9721, 13930,
18945, 6953, 11445, 9721, 13931, 893, 6311, 14910,
18945, 6953, 11445, 9721, 13931, 893, 18945, 6838,
- 18945, 6953, 11445, 9721, 13931, 893, 25415, 6838,
+ 18945, 6953, 11445, 9721, 13931, 893, 25419, 6838,
18945, 6953, 11445, 10832,
18945, 6953, 11445, 13446,
18945, 6953, 11445, 18945, 6838,
18945, 6953, 11445, 18945, 6839, 893, 7389, 19533, 13930,
18945, 6953, 11445, 18945, 6839, 893, 15005, 16190,
- 18945, 6953, 11445, 22534,
- 18945, 6953, 11445, 23287, 6838,
+ 18945, 6953, 11445, 22536,
+ 18945, 6953, 11445, 23291, 6838,
18947, 17140,
18948,
18949, 19245, 10544,
@@ -33422,12 +33424,12 @@ static const uint16_t unicode_names[132374] = {
18953, 20891, 12867, 12248,
18953, 20891, 12867, 12426,
18953, 20891, 17107, 12426,
- 18953, 22847, 10414,
- 18953, 22999, 3501, 17719, 11445, 6652,
- 18953, 22999, 3501, 20701, 5948,
- 18953, 22999, 3501, 20701, 5949, 11445, 6652,
- 18953, 22999, 7385, 15815, 11445, 1284,
- 18953, 22999, 15815, 11445, 1284,
+ 18953, 22849, 10414,
+ 18953, 23001, 3501, 17719, 11445, 6652,
+ 18953, 23001, 3501, 20701, 5948,
+ 18953, 23001, 3501, 20701, 5949, 11445, 6652,
+ 18953, 23001, 7385, 15815, 11445, 1284,
+ 18953, 23001, 15815, 11445, 1284,
18956,
18957, 11445, 18594,
18961, 7415, 8757, 11445, 8929, 893, 3276,
@@ -33439,8 +33441,8 @@ static const uint16_t unicode_names[132374] = {
18961, 8757, 15969, 10380,
18961, 10511, 19210,
18961, 10511, 19342,
- 18961, 10511, 22862,
- 18961, 10511, 23148,
+ 18961, 10511, 22864,
+ 18961, 10511, 23152,
18961, 13175, 20907, 10511, 2,
18961, 13175, 20907, 10511, 6,
18961, 13175, 20907, 10511, 12,
@@ -33509,15 +33511,15 @@ static const uint16_t unicode_names[132374] = {
18961, 20583, 16468,
18961, 21632,
18961, 22169, 8756,
- 18961, 27277, 16393, 394,
- 18961, 27277, 16393, 598,
- 18961, 27277, 16393, 614,
- 18961, 27277, 16393, 3180,
+ 18961, 27281, 16393, 394,
+ 18961, 27281, 16393, 598,
+ 18961, 27281, 16393, 614,
+ 18961, 27281, 16393, 3180,
18964,
18966,
18967, 11445, 2737, 14825, 11404,
18967, 11445, 15005, 14825, 15322,
- 18967, 11445, 23207, 17106,
+ 18967, 11445, 23211, 17106,
18979, 138,
18979, 274,
18979, 294,
@@ -33527,11 +33529,9 @@ static const uint16_t unicode_names[132374] = {
18979, 514,
18979, 616,
18979, 634,
- 18979, 697, 11445, 22789, 8756,
+ 18979, 697, 11445, 22791, 8756,
18979, 724,
18979, 740,
- 18979, 1139, 19173, 25262,
- 18979, 1139, 19173, 25264,
18979, 1139, 19173, 25266,
18979, 1139, 19173, 25268,
18979, 1139, 19173, 25270,
@@ -33539,8 +33539,8 @@ static const uint16_t unicode_names[132374] = {
18979, 1139, 19173, 25274,
18979, 1139, 19173, 25276,
18979, 1139, 19173, 25278,
+ 18979, 1139, 19173, 25280,
18979, 1139, 19173, 25282,
- 18979, 1139, 19173, 25284,
18979, 1139, 19173, 25286,
18979, 1139, 19173, 25288,
18979, 1139, 19173, 25290,
@@ -33548,31 +33548,33 @@ static const uint16_t unicode_names[132374] = {
18979, 1139, 19173, 25294,
18979, 1139, 19173, 25296,
18979, 1139, 19173, 25298,
+ 18979, 1139, 19173, 25300,
18979, 1139, 19173, 25302,
- 18979, 1139, 19173, 25304,
18979, 1139, 19173, 25306,
18979, 1139, 19173, 25308,
18979, 1139, 19173, 25310,
18979, 1139, 19173, 25312,
18979, 1139, 19173, 25314,
+ 18979, 1139, 19173, 25316,
18979, 1139, 19173, 25318,
- 18979, 1139, 19173, 25320,
18979, 1139, 19173, 25322,
18979, 1139, 19173, 25324,
18979, 1139, 19173, 25326,
+ 18979, 1139, 19173, 25328,
18979, 1139, 19173, 25330,
- 18979, 1139, 19173, 25332,
+ 18979, 1139, 19173, 25334,
18979, 1139, 19173, 25336,
- 18979, 1139, 19173, 25338,
18979, 1139, 19173, 25340,
+ 18979, 1139, 19173, 25342,
18979, 1139, 19173, 25344,
- 18979, 1139, 19173, 25346,
18979, 1139, 19173, 25348,
18979, 1139, 19173, 25350,
18979, 1139, 19173, 25352,
18979, 1139, 19173, 25354,
18979, 1139, 19173, 25356,
18979, 1139, 19173, 25358,
+ 18979, 1139, 19173, 25360,
+ 18979, 1139, 19173, 25362,
18979, 1285, 20188,
18979, 1694,
18979, 2016,
@@ -33587,7 +33589,7 @@ static const uint16_t unicode_names[132374] = {
18979, 6316,
18979, 6993, 14457, 2736,
18979, 7015, 20,
- 18979, 7015, 1285, 22998,
+ 18979, 7015, 1285, 23000,
18979, 7016,
18979, 9842,
18979, 13067, 20,
@@ -33637,7 +33639,7 @@ static const uint16_t unicode_names[132374] = {
18979, 19985, 614,
18979, 19985, 8080,
18979, 20046,
- 18979, 22579, 14457, 3500,
+ 18979, 22581, 14457, 3500,
18986,
18989, 19784,
18994,
@@ -33673,12 +33675,12 @@ static const uint16_t unicode_names[132374] = {
19047, 16393, 17547, 598,
19051, 1030,
19079, 17572,
- 19081, 23127, 21313, 22787, 20788,
- 19081, 23127, 22417, 20788,
- 19081, 23127, 22417, 22787, 20788,
- 19081, 23327, 21109, 22787, 20788,
- 19081, 25177, 19183, 22787, 20788,
- 19081, 25245, 22417, 20788,
+ 19081, 23131, 21313, 22789, 20788,
+ 19081, 23131, 22419, 20788,
+ 19081, 23131, 22419, 22789, 20788,
+ 19081, 23331, 21109, 22789, 20788,
+ 19081, 25181, 19183, 22789, 20788,
+ 19081, 25249, 22419, 20788,
19085, 12637, 893, 10030,
19087, 381, 611, 2018,
19087, 381, 611, 2019, 6109, 2413, 1078,
@@ -33721,7 +33723,7 @@ static const uint16_t unicode_names[132374] = {
19087, 8757, 18321, 13841, 14582,
19087, 8757, 20621, 13841, 14582,
19087, 8757, 20941, 15111, 12498,
- 19087, 8757, 25103, 15110,
+ 19087, 8757, 25107, 15110,
19087, 10511, 1625, 1079, 18816,
19087, 10511, 1625, 2383, 18816,
19087, 10511, 2205, 3453, 1078,
@@ -33881,13 +33883,13 @@ static const uint16_t unicode_names[132374] = {
19087, 21631, 16393, 22153, 598,
19087, 21631, 16393, 22153, 736,
19087, 21631, 16393, 22153, 776,
- 19087, 23181, 10511, 10373, 7181, 11881, 14582,
- 19087, 23181, 10511, 14661, 17290,
- 19087, 23181, 10511, 15531, 548,
- 19087, 23209, 10511, 6177, 10830,
- 19087, 23209, 10511, 10335, 11878,
- 19087, 23209, 10511, 13385, 6008,
- 19087, 23209, 10511, 13709, 6008,
+ 19087, 23185, 10511, 10373, 7181, 11881, 14582,
+ 19087, 23185, 10511, 14661, 17290,
+ 19087, 23185, 10511, 15531, 548,
+ 19087, 23213, 10511, 6177, 10830,
+ 19087, 23213, 10511, 10335, 11878,
+ 19087, 23213, 10511, 13385, 6008,
+ 19087, 23213, 10511, 13709, 6008,
19097, 518,
19097, 5466,
19097, 10511, 14234,
@@ -33895,7 +33897,7 @@ static const uint16_t unicode_names[132374] = {
19097, 10511, 19210,
19097, 10511, 19342,
19097, 10511, 19386,
- 19097, 10511, 22648,
+ 19097, 10511, 22650,
19097, 12989, 2736,
19097, 12989, 3208,
19097, 12989, 3500,
@@ -33969,7 +33971,7 @@ static const uint16_t unicode_names[132374] = {
19097, 16393, 19217, 34,
19097, 16393, 19217, 406,
19097, 16393, 19217, 608,
- 19097, 23163, 10510,
+ 19097, 23167, 10510,
19100,
19108,
19115, 15986,
@@ -33984,7 +33986,7 @@ static const uint16_t unicode_names[132374] = {
19144,
19153, 13306,
19157, 8279, 10510,
- 19161, 22417, 15620,
+ 19161, 22419, 15620,
19171, 6952,
19183, 3501, 16189, 12342,
19183, 12342,
@@ -33992,15 +33994,15 @@ static const uint16_t unicode_names[132374] = {
19183, 12343, 893, 14557, 2737, 15981, 12456,
19183, 12343, 7021, 958,
19183, 12343, 11445, 3409, 21312,
- 19183, 12343, 11445, 3409, 22416,
+ 19183, 12343, 11445, 3409, 22418,
19183, 12343, 11445, 13681, 20627, 20788,
19183, 12343, 11445, 14807, 20627, 20788,
- 19183, 12343, 11445, 14807, 22787, 20788,
+ 19183, 12343, 11445, 14807, 22789, 20788,
19183, 12343, 11445, 15969, 17106,
19183, 12343, 11445, 16497, 20627, 20788,
19183, 12343, 11445, 18537, 10790,
19183, 12343, 11445, 22199, 17106,
- 19183, 12343, 11445, 22787, 20788,
+ 19183, 12343, 11445, 22789, 20788,
19183, 12343, 21313, 507, 21109, 12342,
19183, 12449, 12342,
19183, 12449, 17717, 15335, 12342,
@@ -34028,28 +34030,28 @@ static const uint16_t unicode_names[132374] = {
19183, 18079, 11445, 5947, 14557, 661, 958,
19183, 18079, 11445, 5947, 14557, 7021, 958,
19183, 18079, 11445, 5947, 21312,
- 19183, 18079, 11445, 5947, 22416,
+ 19183, 18079, 11445, 5947, 22418,
19183, 18979, 12342,
19183, 20627, 20788,
19183, 21491, 12342,
19183, 21937, 12342,
- 19183, 22421, 12342,
- 19183, 22583, 12343, 7021, 14807, 15814,
- 19183, 22583, 12343, 11445, 20627, 21886,
- 19183, 22791, 12342,
- 19183, 27323, 12342,
- 19183, 27323, 12343, 661, 958,
- 19183, 27323, 12343, 11445, 6059, 14682,
- 19183, 27323, 12343, 11445, 8299, 3409, 21312,
- 19183, 27323, 12343, 11445, 8299, 3409, 22416,
- 19183, 27323, 12343, 11445, 11303, 13385, 14682,
- 19183, 27323, 12343, 11445, 13385, 14682,
- 19183, 27323, 12343, 11445, 15969, 22199, 17106,
- 19183, 27323, 12343, 11445, 16497, 14682,
- 19183, 27323, 12343, 11445, 16561, 14682,
- 19183, 27323, 12343, 21313, 507, 21109, 27323, 12342,
- 19183, 27323, 15893, 12342,
- 19183, 27323, 16715, 15620,
+ 19183, 22423, 12342,
+ 19183, 22585, 12343, 7021, 14807, 15814,
+ 19183, 22585, 12343, 11445, 20627, 21886,
+ 19183, 22793, 12342,
+ 19183, 27327, 12342,
+ 19183, 27327, 12343, 661, 958,
+ 19183, 27327, 12343, 11445, 6059, 14682,
+ 19183, 27327, 12343, 11445, 8299, 3409, 21312,
+ 19183, 27327, 12343, 11445, 8299, 3409, 22418,
+ 19183, 27327, 12343, 11445, 11303, 13385, 14682,
+ 19183, 27327, 12343, 11445, 13385, 14682,
+ 19183, 27327, 12343, 11445, 15969, 22199, 17106,
+ 19183, 27327, 12343, 11445, 16497, 14682,
+ 19183, 27327, 12343, 11445, 16561, 14682,
+ 19183, 27327, 12343, 21313, 507, 21109, 27327, 12342,
+ 19183, 27327, 15893, 12342,
+ 19183, 27327, 16715, 15620,
19190,
19203, 7388,
19222,
@@ -34175,8 +34177,8 @@ static const uint16_t unicode_names[132374] = {
19363, 20109, 16393, 8229, 7385, 10088,
19363, 20329, 8756,
19363, 21876,
- 19363, 22789, 8756,
- 19363, 23163, 8756,
+ 19363, 22791, 8756,
+ 19363, 23167, 8756,
19374,
19375, 20188,
19376,
@@ -34302,10 +34304,10 @@ static const uint16_t unicode_names[132374] = {
19395, 18473, 17141, 21307, 9721, 9864,
19395, 18473, 17141, 21307, 15825, 9832,
19395, 18473, 17141, 21307, 15825, 9838,
- 19395, 18473, 17141, 22413, 9721, 1188,
- 19395, 18473, 17141, 22413, 9721, 1292,
- 19395, 18473, 17141, 22413, 15825, 3340,
- 19395, 18473, 17141, 22413, 15825, 3480,
+ 19395, 18473, 17141, 22415, 9721, 1188,
+ 19395, 18473, 17141, 22415, 9721, 1292,
+ 19395, 18473, 17141, 22415, 15825, 3340,
+ 19395, 18473, 17141, 22415, 15825, 3480,
19395, 20216,
19397, 11445, 3879, 10510,
19397, 11445, 6835, 10510,
@@ -34423,7 +34425,7 @@ static const uint16_t unicode_names[132374] = {
19439, 16393, 9246,
19439, 16393, 9496,
19439, 18612,
- 19441, 23212,
+ 19441, 23216,
19442,
19443, 11445, 14825, 15322,
19444,
@@ -35138,23 +35140,23 @@ static const uint16_t unicode_names[132374] = {
19457, 21651, 21897, 36,
19457, 21651, 21909, 48,
19457, 21651, 22293, 626,
- 19457, 21651, 22605, 654,
- 19457, 21651, 22605, 3386,
- 19457, 21651, 22605, 3388,
- 19457, 21651, 22605, 3390,
- 19457, 21651, 22605, 3392,
- 19457, 21651, 22605, 10894,
- 19457, 21651, 22605, 10898,
- 19457, 21651, 22605, 10900,
- 19457, 21651, 22605, 13175, 654,
- 19457, 21651, 22605, 15012,
- 19457, 21651, 22605, 15014,
- 19457, 21651, 22605, 15016,
- 19457, 21651, 22605, 15018,
- 19457, 21651, 23443, 1972,
- 19457, 21651, 23443, 2002,
- 19457, 21651, 23443, 2036,
- 19457, 21651, 23443, 2072,
+ 19457, 21651, 22607, 654,
+ 19457, 21651, 22607, 3386,
+ 19457, 21651, 22607, 3388,
+ 19457, 21651, 22607, 3390,
+ 19457, 21651, 22607, 3392,
+ 19457, 21651, 22607, 10894,
+ 19457, 21651, 22607, 10898,
+ 19457, 21651, 22607, 10900,
+ 19457, 21651, 22607, 13175, 654,
+ 19457, 21651, 22607, 15012,
+ 19457, 21651, 22607, 15014,
+ 19457, 21651, 22607, 15016,
+ 19457, 21651, 22607, 15018,
+ 19457, 21651, 23447, 1972,
+ 19457, 21651, 23447, 2002,
+ 19457, 21651, 23447, 2036,
+ 19457, 21651, 23447, 2072,
19459, 13448,
19471, 21338,
19477, 14807, 16393, 0,
@@ -35558,16 +35560,16 @@ static const uint16_t unicode_names[132374] = {
19557, 14807, 16393, 21793, 306,
19557, 14807, 16393, 21795, 688,
19557, 14807, 16393, 22223, 1112,
- 19557, 14807, 16393, 22881, 156,
- 19557, 14807, 16393, 23463, 652,
- 19557, 14807, 16393, 27597, 16,
+ 19557, 14807, 16393, 22883, 156,
+ 19557, 14807, 16393, 23467, 652,
+ 19557, 14807, 16393, 27601, 16,
19557, 14807, 20031, 1, 306,
19557, 14807, 20031, 205, 1582,
19557, 14807, 20031, 653, 3454,
19557, 16284,
19557, 16393, 14807, 17671, 200,
19557, 16393, 20214,
- 19557, 16393, 22921, 28,
+ 19557, 16393, 22923, 28,
19557, 17671, 16393, 0,
19557, 17671, 16393, 1, 11445, 12478,
19557, 17671, 16393, 1, 11445, 20950,
@@ -35748,7 +35750,7 @@ static const uint16_t unicode_names[132374] = {
19557, 17671, 16393, 21359, 688,
19557, 17671, 16393, 21793, 306,
19557, 17671, 16393, 22223, 1112,
- 19557, 17671, 16393, 27597, 16,
+ 19557, 17671, 16393, 27601, 16,
19557, 17671, 20031, 1, 306,
19557, 17671, 20031, 205, 1582,
19557, 17671, 20031, 653, 3454,
@@ -35778,7 +35780,7 @@ static const uint16_t unicode_names[132374] = {
19557, 21639, 14807, 16393, 6698,
19557, 21639, 14807, 16393, 7393, 10510,
19557, 21639, 14807, 16393, 11612,
- 19557, 21639, 14807, 16393, 27597, 16,
+ 19557, 21639, 14807, 16393, 27601, 16,
19557, 21755, 10510,
19573, 7003, 10529, 17140,
19577, 15094,
@@ -35797,7 +35799,7 @@ static const uint16_t unicode_names[132374] = {
19741, 16021, 7613, 11445, 1284,
19741, 16021, 18537, 7612,
19741, 16021, 18537, 7613, 11445, 1284,
- 19745, 14457, 22417, 12342,
+ 19745, 14457, 22419, 12342,
19751, 6952,
19752,
19755, 10511, 29, 11445, 12856,
@@ -35832,7 +35834,7 @@ static const uint16_t unicode_names[132374] = {
19755, 12259, 19383, 16950,
19755, 12259, 19383, 19054,
19755, 12259, 19383, 19055, 7612,
- 19755, 12259, 19383, 25121, 16950,
+ 19755, 12259, 19383, 25125, 16950,
19755, 14991, 16393, 20406,
19755, 15969, 8756,
19755, 16393, 0,
@@ -35942,7 +35944,7 @@ static const uint16_t unicode_names[132374] = {
19755, 16393, 19217, 24,
19755, 16393, 20373, 16,
19755, 16393, 20373, 40,
- 19755, 22999, 17711, 7029, 10630,
+ 19755, 23001, 17711, 7029, 10630,
19763, 22191, 1385, 17393, 21124,
19763, 22191, 1385, 18874,
19763, 22191, 1385, 21124,
@@ -37028,7 +37030,7 @@ static const uint16_t unicode_names[132374] = {
19763, 22191, 16247, 95, 15707, 1384,
19763, 22191, 16247, 95, 15707, 14866,
19763, 22191, 16247, 95, 16520,
- 19763, 22191, 16531, 23292,
+ 19763, 22191, 16531, 23296,
19763, 22191, 16612,
19763, 22191, 16614,
19763, 22191, 16636,
@@ -37084,7 +37086,7 @@ static const uint16_t unicode_names[132374] = {
19793, 15063, 8757, 15414,
19793, 15063, 8757, 15802,
19793, 15063, 8757, 16886,
- 19793, 15063, 8757, 22698,
+ 19793, 15063, 8757, 22700,
19793, 16647, 3376,
19793, 16647, 3377, 20596,
19793, 16647, 13170,
@@ -37588,16 +37590,16 @@ static const uint16_t unicode_names[132374] = {
19793, 21832,
19795, 9853, 16662,
19795, 15768,
- 19801, 23177, 12989, 2736,
- 19801, 23177, 12989, 3208,
- 19801, 23177, 12989, 3500,
- 19801, 23177, 12989, 6992,
- 19801, 23177, 12989, 7014,
- 19801, 23177, 12989, 9302,
- 19801, 23177, 12989, 11754,
- 19801, 23177, 12989, 13066,
- 19801, 23177, 12989, 14676,
- 19801, 23177, 12989, 15004,
+ 19801, 23181, 12989, 2736,
+ 19801, 23181, 12989, 3208,
+ 19801, 23181, 12989, 3500,
+ 19801, 23181, 12989, 6992,
+ 19801, 23181, 12989, 7014,
+ 19801, 23181, 12989, 9302,
+ 19801, 23181, 12989, 11754,
+ 19801, 23181, 12989, 13066,
+ 19801, 23181, 12989, 14676,
+ 19801, 23181, 12989, 15004,
19809, 18585, 21256,
19825, 20460,
19828,
@@ -37607,7 +37609,7 @@ static const uint16_t unicode_names[132374] = {
19849, 21405, 2736,
19855, 6952,
19857, 6953, 11445, 9721, 13930,
- 19861, 22626,
+ 19861, 22628,
19871, 14807, 16393, 82,
19871, 14807, 16393, 204,
19871, 14807, 16393, 276,
@@ -37798,8 +37800,8 @@ static const uint16_t unicode_names[132374] = {
19883, 10511, 19342,
19883, 10511, 19386,
19883, 10511, 21757, 14235, 12248,
- 19883, 10511, 22581, 14235, 12248,
- 19883, 10511, 22648,
+ 19883, 10511, 22583, 14235, 12248,
+ 19883, 10511, 22650,
19883, 12989, 2736,
19883, 12989, 3208,
19883, 12989, 3500,
@@ -37877,7 +37879,7 @@ static const uint16_t unicode_names[132374] = {
19883, 16393, 19217, 34,
19883, 16393, 19217, 406,
19883, 16393, 19217, 608,
- 19883, 23163, 10510,
+ 19883, 23167, 10510,
19885, 199, 14332,
19885, 1874,
19885, 3592,
@@ -37957,7 +37959,7 @@ static const uint16_t unicode_names[132374] = {
19885, 16393, 7256,
19885, 16393, 8016,
19885, 16393, 11014,
- 19885, 23163, 10510,
+ 19885, 23167, 10510,
19890,
19893, 18545, 2736,
19893, 18545, 3208,
@@ -37993,12 +37995,12 @@ static const uint16_t unicode_names[132374] = {
19909, 1485, 13333, 14466,
19909, 1485, 13333, 17160,
19909, 1485, 13333, 22372,
- 19909, 1485, 13333, 25162,
+ 19909, 1485, 13333, 25166,
19909, 1485, 13511, 15098,
19909, 1485, 13931, 17752,
19909, 1485, 14400,
19909, 1485, 14807, 17160,
- 19909, 1485, 14807, 25162,
+ 19909, 1485, 14807, 25166,
19909, 1485, 15679, 21932,
19909, 1485, 15699, 19082,
19909, 1485, 15839, 661, 8800,
@@ -38030,13 +38032,13 @@ static const uint16_t unicode_names[132374] = {
19909, 1485, 22246,
19909, 1485, 22318,
19909, 1485, 22320,
- 19909, 1485, 22406,
- 19909, 1485, 22524,
- 19909, 1485, 22692,
- 19909, 1485, 22702,
- 19909, 1485, 22944,
- 19909, 1485, 23198,
- 19909, 1485, 25056,
+ 19909, 1485, 22408,
+ 19909, 1485, 22526,
+ 19909, 1485, 22694,
+ 19909, 1485, 22704,
+ 19909, 1485, 22946,
+ 19909, 1485, 23202,
+ 19909, 1485, 25060,
19912,
19917, 16393, 0,
19917, 16393, 8,
@@ -38179,7 +38181,7 @@ static const uint16_t unicode_names[132374] = {
19949, 11445, 18594,
19949, 11445, 20688,
19949, 11445, 21313, 12343, 11445, 7612,
- 19949, 11445, 23308,
+ 19949, 11445, 23312,
19949, 15615, 1, 14457, 20188,
19949, 17561, 11445, 14786,
19949, 21140,
@@ -38191,8 +38193,8 @@ static const uint16_t unicode_names[132374] = {
19955, 20329, 8756,
19955, 20692,
19955, 21448,
- 19955, 22789, 8756,
- 19955, 22858,
+ 19955, 22791, 8756,
+ 19955, 22860,
19965, 5945, 17140,
19965, 9704,
19965, 9853, 16662,
@@ -38291,7 +38293,7 @@ static const uint16_t unicode_names[132374] = {
19967, 20907, 10511, 12524,
19967, 20907, 10511, 13584,
19967, 20907, 10511, 18648,
- 19967, 22954,
+ 19967, 22956,
19970,
19972,
19975, 18545, 2736,
@@ -38493,7 +38495,7 @@ static const uint16_t unicode_names[132374] = {
20053, 16393, 11014,
20053, 18873, 8756,
20053, 20031, 10444,
- 20053, 23163, 10510,
+ 20053, 23167, 10510,
20060,
20071, 17140,
20078,
@@ -38511,7 +38513,7 @@ static const uint16_t unicode_names[132374] = {
20085, 14557, 12309, 11445, 1284,
20089, 12844,
20089, 20329, 8756,
- 20089, 22789, 8756,
+ 20089, 22791, 8756,
20093, 17777, 16393, 0,
20093, 17777, 16393, 8,
20093, 17777, 16393, 16,
@@ -38602,38 +38604,38 @@ static const uint16_t unicode_names[132374] = {
20093, 17777, 19849, 15985, 20668,
20093, 17777, 20039, 1856,
20093, 17777, 20039, 3064,
- 20093, 23289, 16393, 0,
- 20093, 23289, 16393, 8,
- 20093, 23289, 16393, 16,
- 20093, 23289, 16393, 28,
- 20093, 23289, 16393, 108,
- 20093, 23289, 16393, 150,
- 20093, 23289, 16393, 358,
- 20093, 23289, 16393, 394,
- 20093, 23289, 16393, 426,
- 20093, 23289, 16393, 466,
- 20093, 23289, 16393, 470,
- 20093, 23289, 16393, 548,
- 20093, 23289, 16393, 582,
- 20093, 23289, 16393, 598,
- 20093, 23289, 16393, 614,
- 20093, 23289, 16393, 618,
- 20093, 23289, 16393, 648,
- 20093, 23289, 16393, 652,
- 20093, 23289, 16393, 660,
- 20093, 23289, 16393, 736,
- 20093, 23289, 16393, 776,
- 20093, 23289, 16393, 1710,
- 20093, 23289, 16393, 2018,
- 20093, 23289, 16393, 5920,
- 20093, 23289, 16393, 9064,
- 20093, 23289, 16393, 9186,
- 20093, 23289, 16393, 10014,
- 20093, 23289, 16393, 10294,
- 20093, 23289, 16393, 10768,
- 20093, 23289, 16393, 10814,
- 20093, 23289, 17141, 11314,
- 20093, 23289, 17141, 17366,
+ 20093, 23293, 16393, 0,
+ 20093, 23293, 16393, 8,
+ 20093, 23293, 16393, 16,
+ 20093, 23293, 16393, 28,
+ 20093, 23293, 16393, 108,
+ 20093, 23293, 16393, 150,
+ 20093, 23293, 16393, 358,
+ 20093, 23293, 16393, 394,
+ 20093, 23293, 16393, 426,
+ 20093, 23293, 16393, 466,
+ 20093, 23293, 16393, 470,
+ 20093, 23293, 16393, 548,
+ 20093, 23293, 16393, 582,
+ 20093, 23293, 16393, 598,
+ 20093, 23293, 16393, 614,
+ 20093, 23293, 16393, 618,
+ 20093, 23293, 16393, 648,
+ 20093, 23293, 16393, 652,
+ 20093, 23293, 16393, 660,
+ 20093, 23293, 16393, 736,
+ 20093, 23293, 16393, 776,
+ 20093, 23293, 16393, 1710,
+ 20093, 23293, 16393, 2018,
+ 20093, 23293, 16393, 5920,
+ 20093, 23293, 16393, 9064,
+ 20093, 23293, 16393, 9186,
+ 20093, 23293, 16393, 10014,
+ 20093, 23293, 16393, 10294,
+ 20093, 23293, 16393, 10768,
+ 20093, 23293, 16393, 10814,
+ 20093, 23293, 17141, 11314,
+ 20093, 23293, 17141, 17366,
20097, 3501, 17007, 9725, 8298,
20097, 3501, 17007, 16264,
20097, 8299, 9725, 3501, 17006,
@@ -38669,7 +38671,7 @@ static const uint16_t unicode_names[132374] = {
20109, 16393, 2281, 15967, 10965, 958,
20109, 16393, 2281, 15967, 21311, 10965, 958,
20109, 16393, 2281, 16446,
- 20109, 16393, 2281, 19955, 22789, 8756,
+ 20109, 16393, 2281, 19955, 22791, 8756,
20109, 16393, 2281, 20701, 8268,
20109, 16393, 2281, 21311, 10965, 958,
20109, 16393, 2281, 21927, 15560,
@@ -38680,7 +38682,7 @@ static const uint16_t unicode_names[132374] = {
20109, 16393, 3901, 20945, 10965, 8756,
20109, 16393, 6657, 10784,
20109, 16393, 6657, 20788,
- 20109, 16393, 7385, 22561, 12838,
+ 20109, 16393, 7385, 22563, 12838,
20109, 16393, 7475, 10965, 958,
20109, 16393, 7475, 15967, 10965, 958,
20109, 16393, 7475, 15967, 21311, 10965, 958,
@@ -38723,7 +38725,7 @@ static const uint16_t unicode_names[132374] = {
20109, 16393, 14807, 15, 11445, 17106,
20109, 16393, 14807, 17, 11445, 17106,
20109, 16393, 14807, 18,
- 20109, 16393, 14807, 19, 11445, 23216,
+ 20109, 16393, 14807, 19, 11445, 23220,
20109, 16393, 14807, 20,
20109, 16393, 14807, 22,
20109, 16393, 14807, 23, 11445, 6016,
@@ -38851,8 +38853,8 @@ static const uint16_t unicode_names[132374] = {
20109, 16393, 16865, 697, 12342,
20109, 16393, 16865, 6657, 12342,
20109, 16393, 16865, 12838,
- 20109, 16393, 16865, 19955, 22789, 8756,
- 20109, 16393, 16865, 22789, 8756,
+ 20109, 16393, 16865, 19955, 22791, 8756,
+ 20109, 16393, 16865, 22791, 8756,
20109, 16393, 16883, 7612,
20109, 16393, 17099, 893, 2281, 10964,
20109, 16393, 17099, 893, 7475, 10964,
@@ -38939,7 +38941,7 @@ static const uint16_t unicode_names[132374] = {
20109, 16393, 19557, 14807, 20214,
20109, 16393, 19557, 14807, 20499, 40,
20109, 16393, 19557, 14807, 20499, 41, 11445, 17106,
- 20109, 16393, 19557, 14807, 27597, 16,
+ 20109, 16393, 19557, 14807, 27601, 16,
20109, 16393, 19871, 2508,
20109, 16393, 20365, 12844,
20109, 16393, 20365, 18041, 10630,
@@ -38956,10 +38958,10 @@ static const uint16_t unicode_names[132374] = {
20109, 16393, 22145, 15967, 10965, 958,
20109, 16393, 22145, 15967, 21311, 10965, 958,
20109, 16393, 22145, 21311, 10965, 958,
- 20109, 16393, 22561, 12838,
- 20109, 16393, 23105, 7385, 22561, 12838,
- 20109, 16393, 23105, 22561, 12838,
- 20109, 16393, 23142,
+ 20109, 16393, 22563, 12838,
+ 20109, 16393, 23109, 7385, 22563, 12838,
+ 20109, 16393, 23109, 22563, 12838,
+ 20109, 16393, 23146,
20113, 1485, 3900,
20113, 1485, 11580,
20113, 1485, 13056,
@@ -38974,7 +38976,7 @@ static const uint16_t unicode_names[132374] = {
20131, 18473, 14158,
20132,
20133, 15168,
- 20133, 25388,
+ 20133, 25392,
20134,
20139, 9766,
20139, 12989, 16982,
@@ -39061,7 +39063,7 @@ static const uint16_t unicode_names[132374] = {
20177, 18753, 13421, 10511, 1485, 15596,
20177, 18753, 13421, 10511, 1485, 16748,
20177, 18753, 13421, 10511, 1485, 20034,
- 20177, 18753, 13421, 10511, 1485, 23310,
+ 20177, 18753, 13421, 10511, 1485, 23314,
20177, 18753, 13421, 12989, 2736,
20177, 18753, 13421, 12989, 3208,
20177, 18753, 13421, 12989, 3500,
@@ -39196,12 +39198,12 @@ static const uint16_t unicode_names[132374] = {
20265, 16393, 20771, 776,
20265, 16393, 20795, 228,
20265, 16393, 21819, 3180,
- 20265, 16393, 22648,
+ 20265, 16393, 22650,
20265, 17025, 7415, 8756,
20265, 21631, 16393, 598,
20265, 21631, 16393, 736,
20265, 21631, 16393, 776,
- 20265, 22537, 16393, 598,
+ 20265, 22539, 16393, 598,
20267, 6625, 10511, 541, 5924,
20267, 6625, 10511, 980,
20267, 6625, 10511, 1028,
@@ -39261,8 +39263,8 @@ static const uint16_t unicode_names[132374] = {
20301, 12249, 2623, 15585, 13093, 660,
20301, 12249, 15585, 13093, 660,
20301, 12249, 15993, 10510,
- 20301, 12249, 23079, 2623, 13093, 660,
- 20301, 12249, 23079, 15993, 10510,
+ 20301, 12249, 23081, 2623, 13093, 660,
+ 20301, 12249, 23081, 15993, 10510,
20301, 15167, 20346,
20305, 2348,
20305, 15350,
@@ -39281,7 +39283,7 @@ static const uint16_t unicode_names[132374] = {
20323, 15173, 14557, 893, 13739, 8228,
20323, 15173, 14557, 893, 13739, 8229, 893, 13739, 14556,
20329, 8756,
- 20329, 22789, 8756,
+ 20329, 22791, 8756,
20330,
20341, 14381, 17140,
20345, 21257, 17141, 16393, 0,
@@ -39327,7 +39329,7 @@ static const uint16_t unicode_names[132374] = {
20365, 15969, 14468,
20365, 15969, 14469, 21495, 8756,
20365, 15969, 17107, 2623, 10510,
- 20365, 16085, 22956,
+ 20365, 16085, 22958,
20365, 16865, 7389, 11445, 17987, 18974,
20365, 17221, 697, 10510,
20365, 17221, 6657, 10510,
@@ -39337,7 +39339,7 @@ static const uint16_t unicode_names[132374] = {
20365, 19203, 7388,
20365, 20329, 8756,
20365, 21560,
- 20365, 22421, 17671, 22,
+ 20365, 22423, 17671, 22,
20380,
20385, 6952,
20386,
@@ -39363,14 +39365,14 @@ static const uint16_t unicode_names[132374] = {
20443, 19374,
20445, 6952,
20445, 17140,
- 20445, 23496,
+ 20445, 23500,
20447, 18945, 6952,
20447, 19857, 6952,
20449, 6952,
20451, 6952,
20452,
20462,
- 20465, 7415, 323, 22476,
+ 20465, 7415, 323, 22478,
20467, 10510,
20471, 15328,
20485, 16748,
@@ -39385,8 +39387,8 @@ static const uint16_t unicode_names[132374] = {
20531, 12249, 2623, 15585, 13093, 660,
20531, 12249, 15585, 13093, 660,
20531, 12249, 15993, 10510,
- 20531, 12249, 23079, 2623, 13093, 660,
- 20531, 12249, 23079, 15993, 10510,
+ 20531, 12249, 23081, 2623, 13093, 660,
+ 20531, 12249, 23081, 15993, 10510,
20531, 15167, 20346,
20535, 506,
20535, 507, 529, 13093, 660,
@@ -39398,7 +39400,7 @@ static const uint16_t unicode_names[132374] = {
20535, 507, 12249, 15993, 10510,
20535, 11445, 1284,
20535, 11445, 9843, 10511, 12426,
- 20535, 11445, 25389, 10511, 12426,
+ 20535, 11445, 25393, 10511, 12426,
20535, 12249, 17114,
20535, 12249, 20534,
20535, 12249, 21313, 12342,
@@ -39483,21 +39485,21 @@ static const uint16_t unicode_names[132374] = {
20605, 16393, 17295, 11580,
20605, 16393, 17295, 11600,
20605, 16393, 17495, 11600,
- 20605, 16393, 22543, 3870,
- 20605, 20109, 16393, 25117, 8756,
+ 20605, 16393, 22545, 3870,
+ 20605, 20109, 16393, 25121, 8756,
20605, 20907, 16266,
20605, 21567, 8756,
20609, 10511, 216,
20609, 10511, 17671, 216,
- 20615, 14709, 20837, 1139, 19173, 25264,
20615, 14709, 20837, 1139, 19173, 25268,
- 20615, 14709, 20837, 1139, 19173, 25280,
- 20615, 14709, 20837, 1139, 19173, 25300,
- 20615, 14709, 20837, 1139, 19173, 25308,
- 20615, 14709, 20837, 1139, 19173, 25316,
- 20615, 14709, 20837, 1139, 19173, 25328,
- 20615, 14709, 20837, 1139, 19173, 25334,
- 20615, 14709, 20837, 1139, 19173, 25342,
+ 20615, 14709, 20837, 1139, 19173, 25272,
+ 20615, 14709, 20837, 1139, 19173, 25284,
+ 20615, 14709, 20837, 1139, 19173, 25304,
+ 20615, 14709, 20837, 1139, 19173, 25312,
+ 20615, 14709, 20837, 1139, 19173, 25320,
+ 20615, 14709, 20837, 1139, 19173, 25332,
+ 20615, 14709, 20837, 1139, 19173, 25338,
+ 20615, 14709, 20837, 1139, 19173, 25346,
20615, 14709, 20837, 13685, 17671, 16393, 36,
20627, 11445, 1285, 12248,
20627, 11445, 16965, 95, 15706,
@@ -39571,7 +39573,7 @@ static const uint16_t unicode_names[132374] = {
20701, 17463, 8268,
20701, 19111, 13708,
20701, 19774,
- 20701, 22833, 21275, 8756,
+ 20701, 22835, 21275, 8756,
20705, 17076,
20707, 14807, 16393, 0,
20707, 14807, 16393, 8,
@@ -39657,9 +39659,9 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 14344,
20745, 14015, 14345, 20538,
20745, 14015, 14345, 22231, 20538,
- 20745, 14015, 14345, 22869, 20538,
- 20745, 14015, 14345, 22869, 25390,
- 20745, 14015, 14345, 23132,
+ 20745, 14015, 14345, 22871, 20538,
+ 20745, 14015, 14345, 22871, 25394,
+ 20745, 14015, 14345, 23136,
20745, 14015, 14370,
20745, 14015, 15969, 21844,
20745, 14015, 16332,
@@ -39667,8 +39669,8 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 16492,
20745, 14015, 16493, 18724,
20745, 14015, 16493, 22228,
- 20745, 14015, 16493, 25376,
- 20745, 14015, 16493, 27564,
+ 20745, 14015, 16493, 25380,
+ 20745, 14015, 16493, 27568,
20745, 14015, 16656,
20745, 14015, 17084,
20745, 14015, 17085, 37, 14570,
@@ -39677,10 +39679,10 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 17085, 37, 18207, 17, 20740,
20745, 14015, 17085, 37, 20740,
20745, 14015, 17085, 37, 20741, 17, 18206,
- 20745, 14015, 17085, 37, 20741, 17, 22994,
+ 20745, 14015, 17085, 37, 20741, 17, 22996,
20745, 14015, 17085, 21840,
20745, 14015, 17085, 21841, 37, 20740,
- 20745, 14015, 17085, 25390,
+ 20745, 14015, 17085, 25394,
20745, 14015, 17097, 19091, 18764,
20745, 14015, 17097, 19880,
20745, 14015, 17097, 19881, 11445, 17025, 21844,
@@ -39691,30 +39693,30 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 17097, 22231, 19880,
20745, 14015, 17097, 22231, 19881, 11445, 17025, 21844,
20745, 14015, 17097, 22231, 21472,
- 20745, 14015, 17097, 22231, 25258,
- 20745, 14015, 17097, 22231, 25259, 11445, 15969, 21844,
- 20745, 14015, 17097, 22231, 25259, 11445, 17025, 21844,
- 20745, 14015, 17097, 22231, 27280,
- 20745, 14015, 17097, 22231, 27281, 21472,
+ 20745, 14015, 17097, 22231, 25262,
+ 20745, 14015, 17097, 22231, 25263, 11445, 15969, 21844,
+ 20745, 14015, 17097, 22231, 25263, 11445, 17025, 21844,
+ 20745, 14015, 17097, 22231, 27284,
+ 20745, 14015, 17097, 22231, 27285, 21472,
20745, 14015, 17097, 22232,
- 20745, 14015, 17097, 23258,
- 20745, 14015, 17097, 23259, 22868,
- 20745, 14015, 17097, 25160,
- 20745, 14015, 17097, 25258,
- 20745, 14015, 17097, 25259, 11445, 15969, 21844,
- 20745, 14015, 17097, 25259, 11445, 17025, 21844,
- 20745, 14015, 17097, 25386,
+ 20745, 14015, 17097, 23262,
+ 20745, 14015, 17097, 23263, 22870,
+ 20745, 14015, 17097, 25164,
+ 20745, 14015, 17097, 25262,
+ 20745, 14015, 17097, 25263, 11445, 15969, 21844,
+ 20745, 14015, 17097, 25263, 11445, 17025, 21844,
20745, 14015, 17097, 25390,
- 20745, 14015, 17097, 25426,
- 20745, 14015, 17097, 27280,
- 20745, 14015, 17097, 27281, 21472,
- 20745, 14015, 17097, 27324,
- 20745, 14015, 17097, 27326,
- 20745, 14015, 17097, 27438,
- 20745, 14015, 17097, 27562,
- 20745, 14015, 17097, 27563, 22868,
- 20745, 14015, 17097, 27584,
- 20745, 14015, 17097, 27592,
+ 20745, 14015, 17097, 25394,
+ 20745, 14015, 17097, 25430,
+ 20745, 14015, 17097, 27284,
+ 20745, 14015, 17097, 27285, 21472,
+ 20745, 14015, 17097, 27328,
+ 20745, 14015, 17097, 27330,
+ 20745, 14015, 17097, 27442,
+ 20745, 14015, 17097, 27566,
+ 20745, 14015, 17097, 27567, 22870,
+ 20745, 14015, 17097, 27588,
+ 20745, 14015, 17097, 27596,
20745, 14015, 17696,
20745, 14015, 18180,
20745, 14015, 18208,
@@ -39728,11 +39730,11 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 20711, 20316,
20745, 14015, 20711, 20538,
20745, 14015, 20711, 21366,
- 20745, 14015, 20711, 22869, 20316,
- 20745, 14015, 20711, 22869, 20538,
- 20745, 14015, 20711, 22869, 21366,
- 20745, 14015, 20711, 22869, 23132,
- 20745, 14015, 20711, 23132,
+ 20745, 14015, 20711, 22871, 20316,
+ 20745, 14015, 20711, 22871, 20538,
+ 20745, 14015, 20711, 22871, 21366,
+ 20745, 14015, 20711, 22871, 23136,
+ 20745, 14015, 20711, 23136,
20745, 14015, 20738,
20745, 14015, 21195, 12470,
20745, 14015, 21195, 15026,
@@ -39740,18 +39742,18 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 21195, 18466,
20745, 14015, 21195, 21774,
20745, 14015, 21452,
- 20745, 14015, 21453, 25390,
+ 20745, 14015, 21453, 25394,
20745, 14015, 21599, 19090,
20745, 14015, 21599, 20538,
20745, 14015, 21599, 21366,
- 20745, 14015, 21599, 22869, 19090,
- 20745, 14015, 21599, 22869, 20538,
- 20745, 14015, 21599, 23132,
- 20745, 14015, 21599, 23259, 20316,
- 20745, 14015, 21599, 23259, 20538,
- 20745, 14015, 21599, 23259, 22868,
- 20745, 14015, 21599, 23259, 25390,
- 20745, 14015, 21599, 27592,
+ 20745, 14015, 21599, 22871, 19090,
+ 20745, 14015, 21599, 22871, 20538,
+ 20745, 14015, 21599, 23136,
+ 20745, 14015, 21599, 23263, 20316,
+ 20745, 14015, 21599, 23263, 20538,
+ 20745, 14015, 21599, 23263, 22870,
+ 20745, 14015, 21599, 23263, 25394,
+ 20745, 14015, 21599, 27596,
20745, 14015, 21600,
20745, 14015, 21601, 37, 18206,
20745, 14015, 21601, 37, 20740,
@@ -39760,7 +39762,7 @@ static const uint16_t unicode_names[132374] = {
20745, 14015, 21920,
20745, 14015, 22368,
20745, 14015, 22370,
- 20745, 14015, 22695, 16332,
+ 20745, 14015, 22697, 16332,
20745, 18745, 20109, 3074,
20745, 18745, 20109, 13640,
20745, 18745, 20109, 18332,
@@ -39824,7 +39826,7 @@ static const uint16_t unicode_names[132374] = {
20745, 20891, 8757, 22108,
20745, 20891, 8757, 22368,
20745, 20891, 8757, 22369, 11445, 20701, 17106,
- 20745, 20891, 8757, 22695, 21838,
+ 20745, 20891, 8757, 22697, 21838,
20745, 20891, 13739, 15063, 14521, 21256,
20745, 20891, 15063, 14521, 8757, 17132,
20745, 20891, 15063, 14521, 8757, 18464,
@@ -40424,14 +40426,14 @@ static const uint16_t unicode_names[132374] = {
20796,
20804,
20807, 17185, 18362,
- 20813, 18775, 893, 23074,
+ 20813, 18775, 893, 23076,
20819, 1537, 19818,
20819, 1537, 19820,
20819, 10511, 17372,
20819, 10511, 19210,
20819, 10511, 19342,
20819, 10511, 19386,
- 20819, 10511, 22648,
+ 20819, 10511, 22650,
20819, 11469, 21566,
20819, 12938,
20819, 12989, 2736,
@@ -40529,7 +40531,7 @@ static const uint16_t unicode_names[132374] = {
20840,
20844,
20847, 18473, 17141, 1322,
- 20847, 18473, 17141, 1423, 22776,
+ 20847, 18473, 17141, 1423, 22778,
20847, 18473, 17141, 5472,
20847, 18473, 17141, 7777, 2544,
20847, 18473, 17141, 7777, 19356,
@@ -40547,7 +40549,7 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 12265, 19358,
20847, 18473, 17141, 12265, 21196,
20847, 18473, 17141, 12325, 1423, 2544,
- 20847, 18473, 17141, 12325, 22776,
+ 20847, 18473, 17141, 12325, 22778,
20847, 18473, 17141, 12334,
20847, 18473, 17141, 12607, 15514,
20847, 18473, 17141, 12607, 16330,
@@ -40557,7 +40559,7 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 13696,
20847, 18473, 17141, 14357, 2544,
20847, 18473, 17141, 14357, 12990,
- 20847, 18473, 17141, 14357, 22776,
+ 20847, 18473, 17141, 14357, 22778,
20847, 18473, 17141, 14476,
20847, 18473, 17141, 14546,
20847, 18473, 17141, 14920,
@@ -40569,14 +40571,14 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 15890,
20847, 18473, 17141, 15921, 5473, 1323, 19618,
20847, 18473, 17141, 15921, 20961, 225, 19618,
- 20847, 18473, 17141, 15921, 22565, 9709, 19618,
- 20847, 18473, 17141, 15921, 22919, 19067, 19618,
- 20847, 18473, 17141, 15921, 23134,
- 20847, 18473, 17141, 15921, 25206,
- 20847, 18473, 17141, 15997, 22960,
- 20847, 18473, 17141, 15997, 23502,
+ 20847, 18473, 17141, 15921, 22567, 9709, 19618,
+ 20847, 18473, 17141, 15921, 22921, 19067, 19618,
+ 20847, 18473, 17141, 15921, 23138,
+ 20847, 18473, 17141, 15921, 25210,
+ 20847, 18473, 17141, 15997, 22962,
+ 20847, 18473, 17141, 15997, 23506,
20847, 18473, 17141, 16037, 18935, 15809, 15264,
- 20847, 18473, 17141, 16099, 17, 17447, 25206,
+ 20847, 18473, 17141, 16099, 17, 17447, 25210,
20847, 18473, 17141, 16099, 9097, 13490,
20847, 18473, 17141, 16099, 16572,
20847, 18473, 17141, 16099, 18381, 15809, 19598,
@@ -40599,8 +40601,8 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 16147, 2545, 900,
20847, 18473, 17141, 16147, 2545, 7956,
20847, 18473, 17141, 16147, 19356,
- 20847, 18473, 17141, 16147, 25145, 12980,
- 20847, 18473, 17141, 16147, 25145, 19360,
+ 20847, 18473, 17141, 16147, 25149, 12980,
+ 20847, 18473, 17141, 16147, 25149, 19360,
20847, 18473, 17141, 16251, 17187, 21240,
20847, 18473, 17141, 16283, 20632,
20847, 18473, 17141, 16328,
@@ -40626,12 +40628,12 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 17276,
20847, 18473, 17141, 17359, 2544,
20847, 18473, 17141, 17359, 12990,
- 20847, 18473, 17141, 17359, 22776,
+ 20847, 18473, 17141, 17359, 22778,
20847, 18473, 17141, 17447, 5473, 1323, 19618,
20847, 18473, 17141, 17447, 20961, 225, 19618,
- 20847, 18473, 17141, 17447, 22565, 9709, 19618,
- 20847, 18473, 17141, 17447, 22919, 19067, 19618,
- 20847, 18473, 17141, 17447, 23134,
+ 20847, 18473, 17141, 17447, 22567, 9709, 19618,
+ 20847, 18473, 17141, 17447, 22921, 19067, 19618,
+ 20847, 18473, 17141, 17447, 23138,
20847, 18473, 17141, 17452,
20847, 18473, 17141, 17551, 160,
20847, 18473, 17141, 17551, 248,
@@ -40679,9 +40681,9 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 19595, 12990,
20847, 18473, 17141, 19595, 19074,
20847, 18473, 17141, 19600,
- 20847, 18473, 17141, 19601, 25145, 12980,
- 20847, 18473, 17141, 19601, 25145, 19361, 900,
- 20847, 18473, 17141, 19601, 25145, 19361, 7956,
+ 20847, 18473, 17141, 19601, 25149, 12980,
+ 20847, 18473, 17141, 19601, 25149, 19361, 900,
+ 20847, 18473, 17141, 19601, 25149, 19361, 7956,
20847, 18473, 17141, 19603, 254,
20847, 18473, 17141, 19786,
20847, 18473, 17141, 19934,
@@ -40710,11 +40712,11 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 20437, 15622,
20847, 18473, 17141, 20437, 15623, 17840,
20847, 18473, 17141, 20437, 15623, 20630,
- 20847, 18473, 17141, 20437, 15623, 22550,
+ 20847, 18473, 17141, 20437, 15623, 22552,
20847, 18473, 17141, 20437, 19074,
20847, 18473, 17141, 20437, 19075, 17840,
20847, 18473, 17141, 20437, 19075, 20630,
- 20847, 18473, 17141, 20437, 19075, 22550,
+ 20847, 18473, 17141, 20437, 19075, 22552,
20847, 18473, 17141, 20588,
20847, 18473, 17141, 20633, 2544,
20847, 18473, 17141, 20633, 5448,
@@ -40723,7 +40725,7 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 21128,
20847, 18473, 17141, 21153, 19598,
20847, 18473, 17141, 21153, 22288,
- 20847, 18473, 17141, 21153, 23110,
+ 20847, 18473, 17141, 21153, 23114,
20847, 18473, 17141, 21248,
20847, 18473, 17141, 21284,
20847, 18473, 17141, 21288,
@@ -40751,30 +40753,30 @@ static const uint16_t unicode_names[132374] = {
20847, 18473, 17141, 22175, 27, 17838,
20847, 18473, 17141, 22204,
20847, 18473, 17141, 22206,
- 20847, 18473, 17141, 22961, 2544,
- 20847, 18473, 17141, 22961, 19356,
- 20847, 18473, 17141, 22962,
20847, 18473, 17141, 22963, 2544,
20847, 18473, 17141, 22963, 19356,
- 20847, 18473, 17141, 22974,
- 20847, 18473, 17141, 23115, 1406,
- 20847, 18473, 17141, 23115, 1422,
- 20847, 18473, 17141, 23172,
- 20847, 18473, 17141, 23280,
- 20847, 18473, 17141, 23450,
- 20847, 18473, 17141, 23502,
- 20847, 18473, 17141, 25256,
- 20847, 18473, 17141, 25422,
- 20847, 18473, 17141, 25424,
- 20847, 18473, 17141, 25532,
- 20847, 18473, 17141, 27288,
- 20847, 18473, 17141, 27290,
- 20847, 18473, 17141, 27298,
- 20847, 18473, 17141, 27304,
- 20847, 18473, 17141, 27306,
- 20847, 18473, 17141, 27474,
- 20847, 18473, 17141, 27560,
- 20847, 18473, 17141, 27574,
+ 20847, 18473, 17141, 22964,
+ 20847, 18473, 17141, 22965, 2544,
+ 20847, 18473, 17141, 22965, 19356,
+ 20847, 18473, 17141, 22976,
+ 20847, 18473, 17141, 23119, 1406,
+ 20847, 18473, 17141, 23119, 1422,
+ 20847, 18473, 17141, 23176,
+ 20847, 18473, 17141, 23284,
+ 20847, 18473, 17141, 23454,
+ 20847, 18473, 17141, 23506,
+ 20847, 18473, 17141, 25260,
+ 20847, 18473, 17141, 25426,
+ 20847, 18473, 17141, 25428,
+ 20847, 18473, 17141, 25536,
+ 20847, 18473, 17141, 27292,
+ 20847, 18473, 17141, 27294,
+ 20847, 18473, 17141, 27302,
+ 20847, 18473, 17141, 27308,
+ 20847, 18473, 17141, 27310,
+ 20847, 18473, 17141, 27478,
+ 20847, 18473, 17141, 27564,
+ 20847, 18473, 17141, 27578,
20848,
20850,
20853, 3162,
@@ -40840,17 +40842,17 @@ static const uint16_t unicode_names[132374] = {
20877, 16533, 14424,
20879, 19440,
20880,
- 20883, 3437, 22429, 12342,
+ 20883, 3437, 22431, 12342,
20883, 9721, 15815, 12342,
- 20883, 14557, 893, 8229, 22429, 15620,
+ 20883, 14557, 893, 8229, 22431, 15620,
20883, 15825, 15815, 12342,
20883, 16103, 15815, 12342,
20883, 17747, 19948,
20883, 19948,
20883, 21109, 893, 19183, 9721, 15815, 15620,
- 20883, 22417, 893, 21313, 9721, 15815, 15620,
- 20883, 22417, 893, 21313, 9721, 15815, 15621, 11445, 17717, 2737, 18598,
- 20883, 27323, 9721, 15815, 12342,
+ 20883, 22419, 893, 21313, 9721, 15815, 15620,
+ 20883, 22419, 893, 21313, 9721, 15815, 15621, 11445, 17717, 2737, 18598,
+ 20883, 27327, 9721, 15815, 12342,
20886,
20889, 17140,
20891, 47, 12248,
@@ -40889,8 +40891,8 @@ static const uint16_t unicode_names[132374] = {
20891, 8229, 18079, 12248,
20891, 8229, 20789, 12248,
20891, 8229, 20789, 12426,
- 20891, 8229, 22967, 12249, 8228,
- 20891, 8229, 22967, 12427, 8228,
+ 20891, 8229, 22969, 12249, 8228,
+ 20891, 8229, 22969, 12427, 8228,
20891, 8299, 15969, 18957, 18598,
20891, 8299, 17107, 18598,
20891, 8299, 18957, 18598,
@@ -40922,8 +40924,8 @@ static const uint16_t unicode_names[132374] = {
20891, 13335, 18473, 21450,
20891, 13335, 18473, 21748,
20891, 13335, 20955, 15064,
- 20891, 13335, 22974,
- 20891, 13335, 25230,
+ 20891, 13335, 22976,
+ 20891, 13335, 25234,
20891, 13685, 14807, 16393, 0,
20891, 13685, 14807, 16393, 1, 11445, 20950,
20891, 13685, 14807, 16393, 2,
@@ -40941,7 +40943,7 @@ static const uint16_t unicode_names[132374] = {
20891, 13685, 14807, 16393, 24,
20891, 13685, 14807, 16393, 26,
20891, 13685, 14807, 16393, 28,
- 20891, 13685, 14807, 16393, 29, 11445, 13709, 25249, 17106,
+ 20891, 13685, 14807, 16393, 29, 11445, 13709, 25253, 17106,
20891, 13685, 14807, 16393, 29, 11445, 20950,
20891, 13685, 14807, 16393, 30,
20891, 13685, 14807, 16393, 34,
@@ -40950,7 +40952,7 @@ static const uint16_t unicode_names[132374] = {
20891, 13685, 14807, 16393, 36,
20891, 13685, 14807, 16393, 38,
20891, 13685, 14807, 16393, 40,
- 20891, 13685, 14807, 16393, 41, 11445, 13709, 25249, 17106,
+ 20891, 13685, 14807, 16393, 41, 11445, 13709, 25253, 17106,
20891, 13685, 14807, 16393, 41, 11445, 20950,
20891, 13685, 14807, 16393, 42,
20891, 13685, 14807, 16393, 44,
@@ -40977,7 +40979,7 @@ static const uint16_t unicode_names[132374] = {
20891, 13685, 16393, 14807, 17671, 24,
20891, 13685, 16393, 14807, 17671, 26,
20891, 13685, 16393, 14807, 17671, 34,
- 20891, 13709, 25249, 17107, 12426,
+ 20891, 13709, 25253, 17107, 12426,
20891, 13905, 10511, 12426,
20891, 14557, 7385, 10089, 12248,
20891, 14557, 7385, 10089, 12426,
@@ -40989,8 +40991,8 @@ static const uint16_t unicode_names[132374] = {
20891, 14557, 20789, 893, 6657, 20789, 12426,
20891, 14557, 20789, 12248,
20891, 14557, 20789, 12426,
- 20891, 14557, 22967, 12249, 14556,
- 20891, 14557, 22967, 12427, 14556,
+ 20891, 14557, 22969, 12249, 14556,
+ 20891, 14557, 22969, 12427, 14556,
20891, 14735, 17107, 18598,
20891, 14735, 18957, 18598,
20891, 14735, 20701, 8269, 18598,
@@ -41028,8 +41030,8 @@ static const uint16_t unicode_names[132374] = {
20891, 15969, 20701, 8269, 12426,
20891, 15969, 20701, 17107, 18598,
20891, 15969, 21927, 12248,
- 20891, 15969, 22417, 12343, 12426,
- 20891, 15969, 22965, 12248,
+ 20891, 15969, 22419, 12343, 12426,
+ 20891, 15969, 22967, 12248,
20891, 15993, 10511, 12426,
20891, 16285, 12249, 8228,
20891, 16285, 12249, 14556,
@@ -41044,7 +41046,7 @@ static const uint16_t unicode_names[132374] = {
20891, 16665, 12248,
20891, 17077, 12426,
20891, 17077, 19433, 12248,
- 20891, 17109, 25249, 17107, 12426,
+ 20891, 17109, 25253, 17107, 12426,
20891, 17275, 1284,
20891, 17275, 12251, 15560,
20891, 17275, 20690,
@@ -41076,7 +41078,7 @@ static const uint16_t unicode_names[132374] = {
20891, 19557, 3377, 20101, 10510,
20891, 19557, 12949, 20280,
20891, 19557, 14477, 20280,
- 20891, 19557, 14807, 16393, 27597, 16,
+ 20891, 19557, 14807, 16393, 27601, 16,
20891, 19557, 15044,
20891, 19557, 15045, 8229, 7384,
20891, 19557, 15045, 14557, 7384,
@@ -41130,7 +41132,7 @@ static const uint16_t unicode_names[132374] = {
20891, 19557, 20101, 10510,
20891, 19557, 20284,
20891, 19557, 20597, 20101, 10510,
- 20891, 19557, 25392,
+ 20891, 19557, 25396,
20891, 19575, 8756,
20891, 19877, 16266,
20891, 19944,
@@ -41224,26 +41226,26 @@ static const uint16_t unicode_names[132374] = {
20891, 22173, 16393, 18476,
20891, 22173, 16393, 19268,
20891, 22197, 12248,
- 20891, 22417, 18079, 11445, 5947, 21108,
- 20891, 22539, 8756,
- 20891, 22648,
- 20891, 22953, 7613, 12426,
- 20891, 22965, 12248,
- 20891, 22965, 12426,
- 20891, 22965, 18598,
- 20891, 23166,
- 20891, 23200,
- 20891, 23276,
- 20891, 23328,
- 20891, 23330,
+ 20891, 22419, 18079, 11445, 5947, 21108,
+ 20891, 22541, 8756,
+ 20891, 22650,
+ 20891, 22955, 7613, 12426,
+ 20891, 22967, 12248,
+ 20891, 22967, 12426,
+ 20891, 22967, 18598,
+ 20891, 23170,
+ 20891, 23204,
+ 20891, 23280,
20891, 23332,
- 20891, 23499, 10089, 18598,
- 20891, 23499, 12343, 12248,
- 20891, 25252,
- 20891, 27480,
- 20891, 27486,
- 20891, 27491, 17377, 14825, 8756,
- 20891, 27491, 23035, 14825, 8756,
+ 20891, 23334,
+ 20891, 23336,
+ 20891, 23503, 10089, 18598,
+ 20891, 23503, 12343, 12248,
+ 20891, 25256,
+ 20891, 27484,
+ 20891, 27490,
+ 20891, 27495, 17377, 14825, 8756,
+ 20891, 27495, 23037, 14825, 8756,
20899, 11445, 1285, 12248,
20915, 10510,
20920,
@@ -42479,11 +42481,11 @@ static const uint16_t unicode_names[132374] = {
20929, 18547, 10511, 17939, 13200,
20929, 18547, 10511, 21394,
20929, 18547, 10511, 21396,
- 20929, 22999, 10511, 2733, 19373, 11469, 17846,
- 20929, 22999, 10511, 19589, 12838,
- 20929, 22999, 10511, 19589, 20628,
- 20929, 22999, 10511, 19589, 21488,
- 20929, 22999, 10511, 20701, 12838,
+ 20929, 23001, 10511, 2733, 19373, 11469, 17846,
+ 20929, 23001, 10511, 19589, 12838,
+ 20929, 23001, 10511, 19589, 20628,
+ 20929, 23001, 10511, 19589, 21488,
+ 20929, 23001, 10511, 20701, 12838,
20937, 10978,
20943, 17141, 13709, 697, 893, 22198,
20943, 17141, 13709, 697, 893, 22199, 11445, 11404,
@@ -42509,16 +42511,16 @@ static const uint16_t unicode_names[132374] = {
21109, 12343, 893, 14557, 2737, 15981, 12456,
21109, 12343, 7021, 958,
21109, 12343, 11445, 3409, 21312,
- 21109, 12343, 11445, 3409, 22416,
+ 21109, 12343, 11445, 3409, 22418,
21109, 12343, 11445, 13681, 20627, 20788,
21109, 12343, 11445, 14807, 20627, 20788,
- 21109, 12343, 11445, 14807, 22787, 20788,
+ 21109, 12343, 11445, 14807, 22789, 20788,
21109, 12343, 11445, 15851, 21312,
21109, 12343, 11445, 15969, 17106,
21109, 12343, 11445, 16497, 20627, 20788,
21109, 12343, 11445, 18537, 10790,
21109, 12343, 11445, 22199, 17106,
- 21109, 12343, 11445, 22787, 20788,
+ 21109, 12343, 11445, 22789, 20788,
21109, 12343, 21313, 507, 19183, 12342,
21109, 12449, 12342,
21109, 12449, 17717, 15335, 12342,
@@ -42540,28 +42542,28 @@ static const uint16_t unicode_names[132374] = {
21109, 18079, 11445, 5947, 14557, 661, 958,
21109, 18079, 11445, 5947, 14557, 7021, 958,
21109, 18079, 11445, 5947, 21312,
- 21109, 18079, 11445, 5947, 22416,
+ 21109, 18079, 11445, 5947, 22418,
21109, 18979, 12342,
21109, 20627, 20788,
21109, 21491, 12342,
21109, 21937, 12342,
- 21109, 22421, 12342,
- 21109, 22583, 12343, 11445, 20627, 21886,
- 21109, 22791, 12342,
- 21109, 27323, 12342,
- 21109, 27323, 12343, 661, 958,
- 21109, 27323, 12343, 11445, 6059, 14682,
- 21109, 27323, 12343, 11445, 8299, 3409, 21312,
- 21109, 27323, 12343, 11445, 8299, 3409, 22416,
- 21109, 27323, 12343, 11445, 11303, 13385, 14682,
- 21109, 27323, 12343, 11445, 13385, 14682,
- 21109, 27323, 12343, 11445, 15969, 22199, 17106,
- 21109, 27323, 12343, 11445, 16497, 14682,
- 21109, 27323, 12343, 11445, 16561, 14682,
- 21109, 27323, 12343, 21313, 507, 19183, 27323, 12342,
- 21109, 27323, 15893, 12342,
- 21109, 27323, 16715, 15620,
- 21109, 27323, 17463, 12342,
+ 21109, 22423, 12342,
+ 21109, 22585, 12343, 11445, 20627, 21886,
+ 21109, 22793, 12342,
+ 21109, 27327, 12342,
+ 21109, 27327, 12343, 661, 958,
+ 21109, 27327, 12343, 11445, 6059, 14682,
+ 21109, 27327, 12343, 11445, 8299, 3409, 21312,
+ 21109, 27327, 12343, 11445, 8299, 3409, 22418,
+ 21109, 27327, 12343, 11445, 11303, 13385, 14682,
+ 21109, 27327, 12343, 11445, 13385, 14682,
+ 21109, 27327, 12343, 11445, 15969, 22199, 17106,
+ 21109, 27327, 12343, 11445, 16497, 14682,
+ 21109, 27327, 12343, 11445, 16561, 14682,
+ 21109, 27327, 12343, 21313, 507, 19183, 27327, 12342,
+ 21109, 27327, 15893, 12342,
+ 21109, 27327, 16715, 15620,
+ 21109, 27327, 17463, 12342,
21111, 12528,
21115, 17756,
21131, 17140,
@@ -42583,9 +42585,9 @@ static const uint16_t unicode_names[132374] = {
21181, 6215, 10510,
21181, 7029, 10630,
21181, 8229, 12863, 17646,
- 21181, 8229, 15335, 22966,
+ 21181, 8229, 15335, 22968,
21181, 8229, 17077, 17646,
- 21181, 8229, 22966,
+ 21181, 8229, 22968,
21181, 9843, 10510,
21181, 12838,
21181, 12844,
@@ -42654,9 +42656,9 @@ static const uint16_t unicode_names[132374] = {
21181, 13685, 17671, 16393, 50,
21181, 14465, 10510,
21181, 14557, 12863, 17646,
- 21181, 14557, 15335, 22966,
+ 21181, 14557, 15335, 22968,
21181, 14557, 17077, 17646,
- 21181, 14557, 22966,
+ 21181, 14557, 22968,
21181, 15028,
21181, 15727, 958,
21181, 15941, 10510,
@@ -42676,9 +42678,9 @@ static const uint16_t unicode_names[132374] = {
21181, 21876,
21181, 21927, 15560,
21181, 21929, 94,
- 21181, 22789, 8756,
- 21181, 23279, 10510,
- 21181, 23294,
+ 21181, 22791, 8756,
+ 21181, 23283, 10510,
+ 21181, 23298,
21185, 22382,
21205, 6952,
21206,
@@ -42725,20 +42727,20 @@ static const uint16_t unicode_names[132374] = {
21211, 16181, 16393, 19076,
21211, 16181, 16393, 21616,
21211, 16181, 16393, 22360,
- 21211, 16181, 16393, 22410,
- 21211, 16181, 16393, 22510,
- 21211, 16181, 16393, 22520,
- 21211, 16181, 16393, 22866,
- 21211, 16181, 16393, 22932,
+ 21211, 16181, 16393, 22412,
+ 21211, 16181, 16393, 22512,
+ 21211, 16181, 16393, 22522,
+ 21211, 16181, 16393, 22868,
21211, 16181, 16393, 22934,
- 21211, 16181, 16393, 23012,
+ 21211, 16181, 16393, 22936,
21211, 16181, 16393, 23014,
- 21211, 16181, 16393, 23018,
- 21211, 16181, 16393, 23092,
+ 21211, 16181, 16393, 23016,
+ 21211, 16181, 16393, 23020,
21211, 16181, 16393, 23094,
- 21211, 16181, 16393, 23378,
- 21211, 16181, 16393, 25172,
- 21211, 16181, 16393, 25174,
+ 21211, 16181, 16393, 23096,
+ 21211, 16181, 16393, 23382,
+ 21211, 16181, 16393, 25176,
+ 21211, 16181, 16393, 25178,
21211, 19183, 12342,
21211, 19985, 16393, 0,
21211, 19985, 16393, 8,
@@ -42797,13 +42799,13 @@ static const uint16_t unicode_names[132374] = {
21211, 19985, 16393, 14807, 788,
21211, 19985, 16521, 1284,
21211, 19985, 17377, 14825, 8756,
- 21211, 19985, 23035, 14825, 8756,
+ 21211, 19985, 23037, 14825, 8756,
21211, 21109, 12342,
21211, 21313, 12342,
- 21211, 22417, 12342,
- 21211, 22833, 7029, 10630,
- 21211, 22833, 12844,
- 21211, 27491, 21483, 14825, 8756,
+ 21211, 22419, 12342,
+ 21211, 22835, 7029, 10630,
+ 21211, 22835, 12844,
+ 21211, 27495, 21483, 14825, 8756,
21212,
21224,
21226,
@@ -42892,19 +42894,19 @@ static const uint16_t unicode_names[132374] = {
21291, 16393, 6530,
21291, 16393, 11014,
21296,
- 21309, 913, 23499, 12342,
+ 21309, 913, 23503, 12342,
21313, 3437, 16977, 15335, 12342,
21313, 3501, 16189, 12342,
21313, 7388,
21313, 11405, 12342,
21313, 12342,
21313, 12343, 661, 958,
- 21313, 12343, 661, 959, 9725, 22417, 12343, 661, 958,
+ 21313, 12343, 661, 959, 9725, 22419, 12343, 661, 958,
21313, 12343, 661, 12449, 17824,
21313, 12343, 893, 15173, 893, 13739, 2737, 15981, 12456,
21313, 12343, 7021, 958,
21313, 12343, 7021, 959, 661, 12449, 17824,
- 21313, 12343, 9725, 22417, 12342,
+ 21313, 12343, 9725, 22419, 12342,
21313, 12343, 11445, 3409, 19182,
21313, 12343, 11445, 3409, 21108,
21313, 12343, 11445, 7612,
@@ -42915,15 +42917,15 @@ static const uint16_t unicode_names[132374] = {
21313, 12343, 11445, 10791, 11445, 20701, 17106,
21313, 12343, 11445, 13681, 20627, 20788,
21313, 12343, 11445, 14807, 20627, 20788,
- 21313, 12343, 11445, 14807, 22787, 20788,
+ 21313, 12343, 11445, 14807, 22789, 20788,
21313, 12343, 11445, 15967, 10626,
21313, 12343, 11445, 15969, 20701, 17106,
21313, 12343, 11445, 16497, 20627, 20788,
21313, 12343, 11445, 17106,
21313, 12343, 11445, 18537, 10790,
21313, 12343, 11445, 20701, 17106,
- 21313, 12343, 11445, 22787, 20788,
- 21313, 12343, 12249, 14735, 22417, 12342,
+ 21313, 12343, 11445, 22789, 20788,
+ 21313, 12343, 12249, 14735, 22419, 12342,
21313, 12343, 12249, 15029, 20188,
21313, 12343, 12249, 15585, 13093, 660,
21313, 12343, 12249, 18815, 15029, 20188,
@@ -42948,15 +42950,15 @@ static const uint16_t unicode_names[132374] = {
21313, 16900,
21313, 17275, 6503, 12342,
21313, 17275, 12342,
- 21313, 18079, 9725, 22417, 18078,
+ 21313, 18079, 9725, 22419, 18078,
21313, 18079, 11445, 5947, 697, 661, 958,
21313, 18079, 11445, 5947, 697, 7021, 958,
21313, 18079, 11445, 5947, 697, 12249, 8299, 6502,
21313, 18079, 11445, 5947, 697, 12249, 21313, 18079, 11445, 5947, 6656,
- 21313, 18079, 11445, 5947, 697, 12249, 22417, 18079, 11445, 5947, 696,
+ 21313, 18079, 11445, 5947, 697, 12249, 22419, 18079, 11445, 5947, 696,
21313, 18079, 11445, 5947, 6657, 661, 958,
21313, 18079, 11445, 5947, 6657, 7021, 958,
- 21313, 18079, 11445, 5947, 6657, 12249, 22417, 18079, 11445, 5947, 6656,
+ 21313, 18079, 11445, 5947, 6657, 12249, 22419, 18079, 11445, 5947, 6656,
21313, 18079, 11445, 5947, 6657, 12427, 8299, 6502,
21313, 18079, 11445, 5947, 19182,
21313, 18079, 11445, 5947, 21108,
@@ -42967,46 +42969,46 @@ static const uint16_t unicode_names[132374] = {
21313, 21491, 12342,
21313, 21884,
21313, 21937, 12342,
- 21313, 22421, 12342,
- 21313, 22583, 12343, 7021, 958,
- 21313, 22583, 12343, 11445, 10790,
- 21313, 22583, 12343, 11445, 10791, 11445, 15969, 20701, 17106,
- 21313, 22583, 12343, 11445, 10791, 11445, 20701, 17106,
- 21313, 22583, 12343, 11445, 15969, 20701, 17106,
- 21313, 22583, 12343, 11445, 20627, 21886,
- 21313, 22583, 12343, 11445, 20701, 17106,
- 21313, 22583, 17275, 6503, 12342,
- 21313, 22639, 20417, 15335, 12342,
- 21313, 22791, 12342,
- 21313, 22879, 15335, 12342,
- 21313, 22949, 12342,
- 21313, 23271, 20417, 15335, 12342,
- 21313, 23387, 15335, 12342,
- 21313, 23507, 15335, 12342,
- 21313, 27323, 12342,
- 21313, 27323, 12343, 661, 958,
- 21313, 27323, 12343, 9725, 22417, 27323, 12342,
- 21313, 27323, 12343, 11445, 6059, 14682,
- 21313, 27323, 12343, 11445, 8299, 3409, 19182,
- 21313, 27323, 12343, 11445, 8299, 3409, 21108,
- 21313, 27323, 12343, 11445, 11303, 13385, 14682,
- 21313, 27323, 12343, 11445, 13385, 14682,
- 21313, 27323, 12343, 11445, 15969, 20701, 17106,
- 21313, 27323, 12343, 11445, 15969, 22199, 17106,
- 21313, 27323, 12343, 11445, 16497, 14682,
- 21313, 27323, 12343, 11445, 16561, 14682,
- 21313, 27323, 15893, 12342,
- 21313, 27323, 16715, 15620,
+ 21313, 22423, 12342,
+ 21313, 22585, 12343, 7021, 958,
+ 21313, 22585, 12343, 11445, 10790,
+ 21313, 22585, 12343, 11445, 10791, 11445, 15969, 20701, 17106,
+ 21313, 22585, 12343, 11445, 10791, 11445, 20701, 17106,
+ 21313, 22585, 12343, 11445, 15969, 20701, 17106,
+ 21313, 22585, 12343, 11445, 20627, 21886,
+ 21313, 22585, 12343, 11445, 20701, 17106,
+ 21313, 22585, 17275, 6503, 12342,
+ 21313, 22641, 20417, 15335, 12342,
+ 21313, 22793, 12342,
+ 21313, 22881, 15335, 12342,
+ 21313, 22951, 12342,
+ 21313, 23275, 20417, 15335, 12342,
+ 21313, 23391, 15335, 12342,
+ 21313, 23511, 15335, 12342,
+ 21313, 27327, 12342,
+ 21313, 27327, 12343, 661, 958,
+ 21313, 27327, 12343, 9725, 22419, 27327, 12342,
+ 21313, 27327, 12343, 11445, 6059, 14682,
+ 21313, 27327, 12343, 11445, 8299, 3409, 19182,
+ 21313, 27327, 12343, 11445, 8299, 3409, 21108,
+ 21313, 27327, 12343, 11445, 11303, 13385, 14682,
+ 21313, 27327, 12343, 11445, 13385, 14682,
+ 21313, 27327, 12343, 11445, 15969, 20701, 17106,
+ 21313, 27327, 12343, 11445, 15969, 22199, 17106,
+ 21313, 27327, 12343, 11445, 16497, 14682,
+ 21313, 27327, 12343, 11445, 16561, 14682,
+ 21313, 27327, 15893, 12342,
+ 21313, 27327, 16715, 15620,
21315, 529, 13093, 660,
21315, 529, 18937, 13093, 660,
21315, 529, 18937, 13093, 661, 11445, 1285, 12248,
21315, 529, 18937, 13093, 661, 11445, 1285, 12249, 14556,
21315, 529, 18937, 13093, 661, 11445, 1285, 16248,
21315, 529, 22139, 660,
- 21315, 529, 22628,
- 21315, 529, 23278,
- 21315, 893, 2623, 22628,
- 21315, 893, 23079, 2623, 13093, 660,
+ 21315, 529, 22630,
+ 21315, 529, 23282,
+ 21315, 893, 2623, 22630,
+ 21315, 893, 23081, 2623, 13093, 660,
21315, 1051, 2623, 13093, 660,
21315, 1051, 2623, 22139, 660,
21315, 9725, 13093, 660,
@@ -43015,12 +43017,12 @@ static const uint16_t unicode_names[132374] = {
21315, 11445, 15815, 16248,
21315, 11445, 20329, 8757, 12248,
21315, 12249, 18923, 529, 13092,
- 21315, 12249, 18923, 12249, 23278,
- 21315, 12249, 18937, 13093, 12249, 23279, 12249, 18937, 13092,
+ 21315, 12249, 18923, 12249, 23282,
+ 21315, 12249, 18937, 13093, 12249, 23283, 12249, 18937, 13092,
21315, 12249, 21313, 12342,
- 21315, 12249, 22771, 13093, 12249, 23278,
- 21315, 12249, 23279, 12249, 22771, 13092,
- 21315, 13093, 661, 529, 23278,
+ 21315, 12249, 22773, 13093, 12249, 23282,
+ 21315, 12249, 23283, 12249, 22773, 13092,
+ 21315, 13093, 661, 529, 23282,
21315, 15825, 125, 12866,
21315, 15825, 125, 12867, 12249, 18937, 13092,
21320,
@@ -43036,7 +43038,7 @@ static const uint16_t unicode_names[132374] = {
21331, 10511, 19495, 17372,
21331, 10511, 20701, 959, 17372,
21331, 10511, 20891, 19343, 12248,
- 21331, 10511, 22648,
+ 21331, 10511, 22650,
21331, 12989, 2736,
21331, 12989, 3208,
21331, 12989, 3500,
@@ -43139,11 +43141,11 @@ static const uint16_t unicode_names[132374] = {
21331, 19849, 2737, 19842,
21331, 19849, 2737, 21596,
21331, 19849, 2737, 21790,
- 21331, 19849, 2737, 27602,
+ 21331, 19849, 2737, 27606,
21331, 19849, 15005, 20326,
21331, 19849, 15005, 22110,
- 21331, 19849, 15005, 22504,
- 21331, 19849, 15005, 22572,
+ 21331, 19849, 15005, 22506,
+ 21331, 19849, 15005, 22574,
21335, 18585, 21256,
21342,
21355, 7015, 6652,
@@ -43317,7 +43319,7 @@ static const uint16_t unicode_names[132374] = {
21355, 19774,
21355, 19955, 12442,
21355, 19955, 12443, 11445, 15969, 20194,
- 21363, 22602,
+ 21363, 22604,
21381, 16393, 276,
21381, 16393, 554,
21381, 16393, 2386,
@@ -43394,8 +43396,8 @@ static const uint16_t unicode_names[132374] = {
21429, 16647, 7014,
21429, 16647, 15004,
21429, 16647, 17314,
- 21429, 25119, 17992,
- 21429, 25401, 17992,
+ 21429, 25123, 17992,
+ 21429, 25405, 17992,
21440,
21442,
21445, 21566,
@@ -43466,21 +43468,21 @@ static const uint16_t unicode_names[132374] = {
21543, 20109, 16393, 16,
21543, 20109, 16393, 14735, 0,
21543, 20109, 16393, 22131, 3948,
- 21543, 22999, 962,
- 21543, 22999, 3221, 20076,
- 21543, 22999, 11058,
- 21543, 22999, 11740,
- 21543, 22999, 12300,
- 21543, 22999, 14492,
- 21543, 22999, 15508,
- 21543, 22999, 15568,
- 21543, 22999, 15598,
- 21543, 22999, 15636,
- 21543, 22999, 17548,
- 21543, 22999, 18429, 14492,
- 21543, 22999, 18494,
- 21543, 22999, 22470,
- 21543, 23163, 8756,
+ 21543, 23001, 962,
+ 21543, 23001, 3221, 20076,
+ 21543, 23001, 11058,
+ 21543, 23001, 11740,
+ 21543, 23001, 12300,
+ 21543, 23001, 14492,
+ 21543, 23001, 15508,
+ 21543, 23001, 15568,
+ 21543, 23001, 15598,
+ 21543, 23001, 15636,
+ 21543, 23001, 17548,
+ 21543, 23001, 18429, 14492,
+ 21543, 23001, 18494,
+ 21543, 23001, 22472,
+ 21543, 23167, 8756,
21544,
21545, 17528,
21548,
@@ -43515,13 +43517,13 @@ static const uint16_t unicode_names[132374] = {
21639, 3500,
21639, 6992,
21639, 7014,
- 21639, 8229, 22966,
+ 21639, 8229, 22968,
21639, 9302,
21639, 9843, 10510,
21639, 11754,
21639, 13066,
21639, 13904,
- 21639, 14557, 22966,
+ 21639, 14557, 22968,
21639, 14676,
21639, 15004,
21639, 15993, 10510,
@@ -43593,14 +43595,14 @@ static const uint16_t unicode_names[132374] = {
21643, 20907, 10511, 20243, 426,
21643, 20907, 10511, 20243, 736,
21643, 20907, 10511, 21430,
- 21643, 22999, 12441, 109, 18854,
- 21643, 22999, 12441, 151, 18854,
- 21643, 22999, 12441, 359, 18854,
- 21643, 22999, 12441, 2225, 18854,
- 21643, 22999, 12441, 12524,
- 21643, 22999, 12441, 14900,
- 21643, 22999, 12441, 18758,
- 21643, 22999, 12441, 20224,
+ 21643, 23001, 12441, 109, 18854,
+ 21643, 23001, 12441, 151, 18854,
+ 21643, 23001, 12441, 359, 18854,
+ 21643, 23001, 12441, 2225, 18854,
+ 21643, 23001, 12441, 12524,
+ 21643, 23001, 12441, 14900,
+ 21643, 23001, 12441, 18758,
+ 21643, 23001, 12441, 20224,
21644,
21646,
21728,
@@ -43615,7 +43617,7 @@ static const uint16_t unicode_names[132374] = {
21747, 1485, 521, 3389, 15270,
21747, 1485, 1938,
21747, 1485, 2199, 529, 13912,
- 21747, 1485, 6059, 22402,
+ 21747, 1485, 6059, 22404,
21747, 1485, 6786,
21747, 1485, 7029, 15814,
21747, 1485, 13016,
@@ -43680,23 +43682,23 @@ static const uint16_t unicode_names[132374] = {
21747, 1485, 22122,
21747, 1485, 22142,
21747, 1485, 22318,
- 21747, 1485, 22400,
- 21747, 1485, 22616,
- 21747, 1485, 22672,
- 21747, 1485, 22780,
- 21747, 1485, 22810,
- 21747, 1485, 22972,
- 21747, 1485, 23164,
- 21747, 1485, 23222,
+ 21747, 1485, 22402,
+ 21747, 1485, 22618,
+ 21747, 1485, 22674,
+ 21747, 1485, 22782,
+ 21747, 1485, 22812,
+ 21747, 1485, 22974,
+ 21747, 1485, 23168,
21747, 1485, 23226,
- 21747, 1485, 23228,
- 21747, 1485, 23492,
- 21747, 1485, 25061, 529, 21988,
- 21747, 1485, 25076,
+ 21747, 1485, 23230,
+ 21747, 1485, 23232,
+ 21747, 1485, 23496,
+ 21747, 1485, 25065, 529, 21988,
+ 21747, 1485, 25080,
21752,
21760,
21799, 21509, 17140,
- 21801, 22969, 17140,
+ 21801, 22971, 17140,
21807, 8920,
21834,
21843, 17077, 8757, 8299, 15110,
@@ -43707,8 +43709,8 @@ static const uint16_t unicode_names[132374] = {
21843, 17077, 10511, 17372,
21843, 17077, 10511, 19210,
21843, 17077, 10511, 19342,
- 21843, 17077, 10511, 22648,
- 21843, 17077, 10511, 22649, 11445, 20194,
+ 21843, 17077, 10511, 22650,
+ 21843, 17077, 10511, 22651, 11445, 20194,
21843, 17077, 13175, 20907, 8756,
21843, 17077, 15289, 10511, 8,
21843, 17077, 15289, 10511, 16,
@@ -43762,15 +43764,15 @@ static const uint16_t unicode_names[132374] = {
21843, 17077, 16393, 10990,
21843, 17077, 16393, 11014,
21843, 17077, 17725, 7415, 8756,
- 21843, 17077, 17725, 23257, 7415, 8756,
+ 21843, 17077, 17725, 23261, 7415, 8756,
21843, 17077, 18125, 7415, 8756,
- 21843, 17077, 18125, 23257, 7415, 8756,
+ 21843, 17077, 18125, 23261, 7415, 8756,
21843, 17077, 21632,
- 21843, 17077, 23515, 16393, 394,
- 21843, 17077, 23515, 16393, 598,
- 21843, 17077, 23515, 16393, 712,
- 21843, 17077, 23515, 16393, 776,
- 21843, 17077, 27277, 16393, 598,
+ 21843, 17077, 23519, 16393, 394,
+ 21843, 17077, 23519, 16393, 598,
+ 21843, 17077, 23519, 16393, 712,
+ 21843, 17077, 23519, 16393, 776,
+ 21843, 17077, 27281, 16393, 598,
21857, 17141, 1485, 878,
21857, 17141, 1485, 1636,
21857, 17141, 1485, 2728,
@@ -43796,7 +43798,7 @@ static const uint16_t unicode_names[132374] = {
21857, 17141, 1485, 10113, 10322,
21857, 17141, 1485, 10113, 16916,
21857, 17141, 1485, 10322,
- 21857, 17141, 1485, 10323, 507, 15847, 22624,
+ 21857, 17141, 1485, 10323, 507, 15847, 22626,
21857, 17141, 1485, 10323, 507, 19338,
21857, 17141, 1485, 10560,
21857, 17141, 1485, 12348,
@@ -43815,7 +43817,7 @@ static const uint16_t unicode_names[132374] = {
21857, 17141, 1485, 15318,
21857, 17141, 1485, 15580,
21857, 17141, 1485, 15847, 2752,
- 21857, 17141, 1485, 15847, 22624,
+ 21857, 17141, 1485, 15847, 22626,
21857, 17141, 1485, 15863, 507, 7772,
21857, 17141, 1485, 15863, 507, 15846,
21857, 17141, 1485, 15863, 507, 19526,
@@ -43834,8 +43836,8 @@ static const uint16_t unicode_names[132374] = {
21857, 17141, 1485, 17638,
21857, 17141, 1485, 17842,
21857, 17141, 1485, 18435, 21634,
- 21857, 17141, 1485, 18435, 23098,
21857, 17141, 1485, 18435, 23100,
+ 21857, 17141, 1485, 18435, 23102,
21857, 17141, 1485, 18798,
21857, 17141, 1485, 18804,
21857, 17141, 1485, 18805, 507, 7772,
@@ -43879,14 +43881,14 @@ static const uint16_t unicode_names[132374] = {
21857, 17141, 1485, 21960,
21857, 17141, 1485, 21962,
21857, 17141, 1485, 21986,
- 21857, 17141, 1485, 22634,
- 21857, 17141, 1485, 22861, 2752,
- 21857, 17141, 1485, 22996,
- 21857, 17141, 1485, 23102,
- 21857, 17141, 1485, 23357, 17118,
- 21857, 17141, 1485, 23370,
+ 21857, 17141, 1485, 22636,
+ 21857, 17141, 1485, 22863, 2752,
+ 21857, 17141, 1485, 22998,
+ 21857, 17141, 1485, 23104,
+ 21857, 17141, 1485, 23361, 17118,
21857, 17141, 1485, 23374,
- 21857, 17141, 1485, 23392,
+ 21857, 17141, 1485, 23378,
+ 21857, 17141, 1485, 23396,
21861, 13382,
21876,
21879, 3389, 13714,
@@ -43942,10 +43944,10 @@ static const uint16_t unicode_names[132374] = {
21979, 10511, 12435, 11445, 7612,
21979, 10511, 13902,
21979, 10511, 14234,
- 21979, 10511, 15969, 22649, 17372,
+ 21979, 10511, 15969, 22651, 17372,
21979, 10511, 17372,
21979, 10511, 18916,
- 21979, 10511, 18963, 22648,
+ 21979, 10511, 18963, 22650,
21979, 10511, 19210,
21979, 10511, 19235, 21161, 12434,
21979, 10511, 19235, 21401, 12434,
@@ -43953,14 +43955,14 @@ static const uint16_t unicode_names[132374] = {
21979, 10511, 19386,
21979, 10511, 19801, 12434,
21979, 10511, 19801, 12435, 11445, 7612,
- 21979, 10511, 19955, 22648,
+ 21979, 10511, 19955, 22650,
21979, 10511, 20318,
21979, 10511, 20365, 21401, 12434,
- 21979, 10511, 22648,
- 21979, 10511, 22649, 3500,
- 21979, 10511, 22649, 15004,
- 21979, 10511, 22649, 17372,
- 21979, 10511, 22649, 19386,
+ 21979, 10511, 22650,
+ 21979, 10511, 22651, 3500,
+ 21979, 10511, 22651, 15004,
+ 21979, 10511, 22651, 17372,
+ 21979, 10511, 22651, 19386,
21979, 12251, 15560,
21979, 12538,
21979, 12938,
@@ -43999,7 +44001,7 @@ static const uint16_t unicode_names[132374] = {
21979, 15289, 10511, 19217, 34,
21979, 15289, 10511, 19217, 406,
21979, 15289, 10511, 19217, 608,
- 21979, 15289, 10511, 25165, 8,
+ 21979, 15289, 10511, 25169, 8,
21979, 15969, 12938,
21979, 16393, 0,
21979, 16393, 8,
@@ -44083,9 +44085,9 @@ static const uint16_t unicode_names[132374] = {
21979, 17099, 10511, 17336,
21979, 17099, 10511, 19340,
21979, 22182,
- 21979, 23163, 10510,
+ 21979, 23167, 10510,
21981, 17606,
- 22115, 23308,
+ 22115, 23312,
22139, 660,
22139, 11445, 7015, 6653, 12248,
22146,
@@ -44137,7 +44139,7 @@ static const uint16_t unicode_names[132374] = {
22173, 14807, 16393, 18971, 272,
22173, 14807, 16393, 19268,
22173, 14807, 16393, 20009, 18476,
- 22173, 14807, 16393, 22569, 0,
+ 22173, 14807, 16393, 22571, 0,
22173, 17671, 16393, 16,
22173, 17671, 16393, 554,
22173, 17671, 16393, 784,
@@ -44185,7 +44187,7 @@ static const uint16_t unicode_names[132374] = {
22173, 17671, 16393, 18971, 272,
22173, 17671, 16393, 19268,
22173, 17671, 16393, 20009, 18476,
- 22173, 17671, 16393, 22569, 0,
+ 22173, 17671, 16393, 22571, 0,
22177, 1080,
22184,
22187, 16393, 810,
@@ -44557,15 +44559,15 @@ static const uint16_t unicode_names[132374] = {
22225, 16647, 17314,
22225, 17372,
22225, 19849, 2737, 7384,
- 22225, 22999, 1284,
- 22225, 22999, 12938,
- 22225, 22999, 13718,
- 22225, 22999, 13732,
- 22225, 22999, 14807, 15814,
- 22225, 22999, 15814,
- 22225, 22999, 15969, 12938,
- 22225, 22999, 19537, 958,
- 22225, 22999, 20066,
+ 22225, 23001, 1284,
+ 22225, 23001, 12938,
+ 22225, 23001, 13718,
+ 22225, 23001, 13732,
+ 22225, 23001, 14807, 15814,
+ 22225, 23001, 15814,
+ 22225, 23001, 15969, 12938,
+ 22225, 23001, 19537, 958,
+ 22225, 23001, 20066,
22257, 10511, 680,
22257, 16393, 230,
22257, 16393, 276,
@@ -44608,15 +44610,15 @@ static const uint16_t unicode_names[132374] = {
22257, 16647, 3376,
22257, 16647, 6992,
22257, 16647, 17314,
- 22257, 22999, 1284,
- 22257, 22999, 1285, 17417, 1284,
- 22257, 22999, 3501, 6652,
- 22257, 22999, 8269, 16044,
- 22257, 22999, 10624,
- 22257, 22999, 15969, 1285, 17417, 1284,
- 22257, 22999, 17992,
- 22257, 23163, 8757, 12248,
- 22257, 23163, 8757, 12426,
+ 22257, 23001, 1284,
+ 22257, 23001, 1285, 17417, 1284,
+ 22257, 23001, 3501, 6652,
+ 22257, 23001, 8269, 16044,
+ 22257, 23001, 10624,
+ 22257, 23001, 15969, 1285, 17417, 1284,
+ 22257, 23001, 17992,
+ 22257, 23167, 8757, 12248,
+ 22257, 23167, 8757, 12426,
22259, 916,
22259, 2212,
22262,
@@ -44627,8 +44629,8 @@ static const uint16_t unicode_names[132374] = {
22325, 6952,
22346,
22353, 5490,
- 22357, 15969, 22998,
- 22357, 17025, 22998,
+ 22357, 15969, 23000,
+ 22357, 17025, 23000,
22359, 11469, 21566,
22359, 16393, 276,
22359, 16393, 554,
@@ -44666,2834 +44668,2839 @@ static const uint16_t unicode_names[132374] = {
22384,
22389, 19949, 20188,
22391, 13093, 660,
- 22395, 10510,
- 22405, 8229, 17952,
- 22405, 8229, 17954,
- 22408,
- 22415, 913, 20883, 12342,
- 22417, 3437, 16977, 15335, 12342,
- 22417, 3501, 16189, 12342,
- 22417, 7388,
- 22417, 11405, 12342,
- 22417, 12342,
- 22417, 12343, 661, 958,
- 22417, 12343, 661, 12449, 17824,
- 22417, 12343, 893, 15173, 893, 13739, 2737, 15981, 12456,
- 22417, 12343, 7021, 958,
- 22417, 12343, 7021, 959, 661, 12449, 17824,
- 22417, 12343, 9725, 21313, 12342,
- 22417, 12343, 11445, 3409, 19182,
- 22417, 12343, 11445, 3409, 21108,
- 22417, 12343, 11445, 7612,
- 22417, 12343, 11445, 8304,
- 22417, 12343, 11445, 9843, 12426,
- 22417, 12343, 11445, 10790,
- 22417, 12343, 11445, 10791, 11445, 15969, 20701, 17106,
- 22417, 12343, 11445, 10791, 11445, 20701, 17106,
- 22417, 12343, 11445, 13681, 20627, 20788,
- 22417, 12343, 11445, 14807, 20627, 20788,
- 22417, 12343, 11445, 14807, 22787, 20788,
- 22417, 12343, 11445, 15851, 21108,
- 22417, 12343, 11445, 15967, 10626,
- 22417, 12343, 11445, 15969, 20701, 17106,
- 22417, 12343, 11445, 16497, 20627, 20788,
- 22417, 12343, 11445, 17106,
- 22417, 12343, 11445, 18537, 10790,
- 22417, 12343, 11445, 20701, 17106,
- 22417, 12343, 11445, 22787, 20788,
- 22417, 12343, 12249, 14735, 21313, 12342,
- 22417, 12343, 12249, 15029, 20188,
- 22417, 12343, 12249, 15585, 13093, 660,
- 22417, 12343, 12249, 18815, 15029, 20188,
- 22417, 12343, 12249, 18815, 15585, 13093, 660,
- 22417, 12343, 19083, 46,
- 22417, 12343, 19083, 20534,
- 22417, 12343, 19083, 23278,
- 22417, 12449, 12342,
- 22417, 12449, 17717, 15335, 12342,
- 22417, 13385, 12342,
- 22417, 13385, 21937, 12342,
- 22417, 15335, 12342,
- 22417, 15335, 12343, 7021, 11400,
- 22417, 15335, 12343, 17417, 20627, 20788,
- 22417, 15707, 16977, 15335, 12342,
- 22417, 15893, 12342,
- 22417, 15969, 6503, 12342,
- 22417, 15969, 12342,
- 22417, 15969, 12343, 7021, 958,
- 22417, 15969, 12343, 11445, 17106,
- 22417, 15969, 12343, 11445, 20701, 17106,
- 22417, 15969, 21884,
- 22417, 16715, 15620,
- 22417, 16900,
- 22417, 17275, 6503, 12342,
- 22417, 17275, 12342,
- 22417, 18079, 9725, 21313, 18078,
- 22417, 18079, 11445, 5947, 697, 661, 958,
- 22417, 18079, 11445, 5947, 697, 7021, 958,
- 22417, 18079, 11445, 5947, 697, 12249, 8299, 6502,
- 22417, 18079, 11445, 5947, 697, 12249, 21313, 18079, 11445, 5947, 696,
- 22417, 18079, 11445, 5947, 697, 12249, 22417, 18079, 11445, 5947, 6656,
- 22417, 18079, 11445, 5947, 6657, 661, 958,
- 22417, 18079, 11445, 5947, 6657, 7021, 958,
- 22417, 18079, 11445, 5947, 6657, 12249, 21313, 18079, 11445, 5947, 6656,
- 22417, 18079, 11445, 5947, 6657, 12427, 8299, 6502,
- 22417, 18079, 11445, 5947, 19182,
- 22417, 18079, 11445, 5947, 21108,
- 22417, 18761, 7388,
- 22417, 18979, 12342,
- 22417, 20475, 12342,
- 22417, 20627, 20788,
- 22417, 21491, 12342,
- 22417, 21884,
- 22417, 21937, 12342,
- 22417, 22421, 12342,
- 22417, 22583, 12343, 7021, 958,
- 22417, 22583, 12343, 11445, 10790,
- 22417, 22583, 12343, 11445, 10791, 11445, 15969, 20701, 17106,
- 22417, 22583, 12343, 11445, 10791, 11445, 20701, 17106,
- 22417, 22583, 12343, 11445, 15969, 20701, 17106,
- 22417, 22583, 12343, 11445, 20627, 21886,
- 22417, 22583, 12343, 11445, 20701, 17106,
- 22417, 22583, 17275, 6503, 12342,
- 22417, 22639, 20417, 15335, 12342,
- 22417, 22791, 12342,
- 22417, 22879, 15335, 12342,
- 22417, 22949, 12342,
- 22417, 23271, 20417, 15335, 12342,
- 22417, 23387, 15335, 12342,
- 22417, 27323, 12342,
- 22417, 27323, 12343, 661, 958,
- 22417, 27323, 12343, 9725, 21313, 27323, 12342,
- 22417, 27323, 12343, 11445, 6059, 14682,
- 22417, 27323, 12343, 11445, 8299, 3409, 19182,
- 22417, 27323, 12343, 11445, 8299, 3409, 21108,
- 22417, 27323, 12343, 11445, 11303, 13385, 14682,
- 22417, 27323, 12343, 11445, 13385, 14682,
- 22417, 27323, 12343, 11445, 15969, 20701, 17106,
- 22417, 27323, 12343, 11445, 15969, 22199, 17106,
- 22417, 27323, 12343, 11445, 16497, 14682,
- 22417, 27323, 12343, 11445, 16561, 14682,
- 22417, 27323, 15893, 12342,
- 22417, 27323, 16715, 15620,
- 22421, 13385, 2281, 15969, 12845, 21495, 8757, 20194,
- 22421, 13385, 15969, 12845, 21495, 8757, 20194,
- 22421, 13385, 15969, 17305, 12845, 21495, 8757, 20194,
- 22421, 22859, 20194,
- 22425, 10511, 17372,
- 22425, 10511, 19210,
- 22425, 10511, 19342,
- 22425, 10511, 22648,
- 22425, 12938,
- 22425, 12989, 2736,
- 22425, 12989, 3208,
- 22425, 12989, 3500,
- 22425, 12989, 6992,
- 22425, 12989, 7014,
- 22425, 12989, 9302,
- 22425, 12989, 11754,
- 22425, 12989, 13066,
- 22425, 12989, 14676,
- 22425, 12989, 15004,
- 22425, 15289, 10511, 8,
- 22425, 15289, 10511, 16,
- 22425, 15289, 10511, 28,
- 22425, 15289, 10511, 40,
- 22425, 15289, 10511, 58,
- 22425, 15289, 10511, 72,
- 22425, 15289, 10511, 96,
- 22425, 15289, 10511, 186,
- 22425, 15289, 10511, 314,
- 22425, 15289, 10511, 522,
- 22425, 15289, 10511, 704,
- 22425, 15289, 10511, 19217, 22,
- 22425, 15289, 10511, 19217, 34,
- 22425, 15289, 10511, 19217, 406,
- 22425, 15289, 10511, 19217, 608,
- 22425, 15969, 12938,
- 22425, 16393, 0,
- 22425, 16393, 8,
- 22425, 16393, 16,
- 22425, 16393, 28,
- 22425, 16393, 40,
- 22425, 16393, 58,
- 22425, 16393, 72,
- 22425, 16393, 96,
- 22425, 16393, 108,
- 22425, 16393, 126,
- 22425, 16393, 150,
- 22425, 16393, 186,
- 22425, 16393, 248,
- 22425, 16393, 272,
- 22425, 16393, 314,
- 22425, 16393, 344,
- 22425, 16393, 358,
- 22425, 16393, 394,
- 22425, 16393, 426,
- 22425, 16393, 466,
- 22425, 16393, 522,
- 22425, 16393, 548,
- 22425, 16393, 598,
- 22425, 16393, 614,
- 22425, 16393, 648,
- 22425, 16393, 704,
- 22425, 16393, 712,
- 22425, 16393, 776,
- 22425, 16393, 994,
- 22425, 16393, 1110,
- 22425, 16393, 1208,
- 22425, 16393, 1230,
- 22425, 16393, 1580,
- 22425, 16393, 1900,
- 22425, 16393, 2018,
- 22425, 16393, 2258,
- 22425, 16393, 2554,
- 22425, 16393, 2604,
- 22425, 16393, 2674,
- 22425, 16393, 2804,
- 22425, 16393, 3180,
- 22425, 16393, 3254,
- 22425, 16393, 3386,
- 22425, 16393, 3466,
- 22425, 16393, 6530,
- 22425, 16393, 11014,
- 22425, 16393, 19217, 22,
- 22425, 16393, 19217, 34,
- 22425, 16393, 19217, 406,
- 22425, 16393, 19217, 608,
- 22425, 20907, 10511, 13356,
- 22431, 18749, 11445, 15707, 15824,
- 22473, 9721, 1030,
- 22477, 507, 13516,
- 22499, 14828,
- 22506,
- 22526,
- 22539, 18778,
- 22544,
- 22556,
+ 22397, 10510,
+ 22407, 8229, 17952,
+ 22407, 8229, 17954,
+ 22410,
+ 22417, 913, 20883, 12342,
+ 22419, 3437, 16977, 15335, 12342,
+ 22419, 3501, 16189, 12342,
+ 22419, 7388,
+ 22419, 11405, 12342,
+ 22419, 12342,
+ 22419, 12343, 661, 958,
+ 22419, 12343, 661, 12449, 17824,
+ 22419, 12343, 893, 15173, 893, 13739, 2737, 15981, 12456,
+ 22419, 12343, 7021, 958,
+ 22419, 12343, 7021, 959, 661, 12449, 17824,
+ 22419, 12343, 9725, 21313, 12342,
+ 22419, 12343, 11445, 3409, 19182,
+ 22419, 12343, 11445, 3409, 21108,
+ 22419, 12343, 11445, 7612,
+ 22419, 12343, 11445, 8304,
+ 22419, 12343, 11445, 9843, 12426,
+ 22419, 12343, 11445, 10790,
+ 22419, 12343, 11445, 10791, 11445, 15969, 20701, 17106,
+ 22419, 12343, 11445, 10791, 11445, 20701, 17106,
+ 22419, 12343, 11445, 13681, 20627, 20788,
+ 22419, 12343, 11445, 14807, 20627, 20788,
+ 22419, 12343, 11445, 14807, 22789, 20788,
+ 22419, 12343, 11445, 15851, 21108,
+ 22419, 12343, 11445, 15967, 10626,
+ 22419, 12343, 11445, 15969, 20701, 17106,
+ 22419, 12343, 11445, 16497, 20627, 20788,
+ 22419, 12343, 11445, 17106,
+ 22419, 12343, 11445, 18537, 10790,
+ 22419, 12343, 11445, 20701, 17106,
+ 22419, 12343, 11445, 22789, 20788,
+ 22419, 12343, 12249, 14735, 21313, 12342,
+ 22419, 12343, 12249, 15029, 20188,
+ 22419, 12343, 12249, 15585, 13093, 660,
+ 22419, 12343, 12249, 18815, 15029, 20188,
+ 22419, 12343, 12249, 18815, 15585, 13093, 660,
+ 22419, 12343, 19083, 46,
+ 22419, 12343, 19083, 20534,
+ 22419, 12343, 19083, 23282,
+ 22419, 12449, 12342,
+ 22419, 12449, 17717, 15335, 12342,
+ 22419, 13385, 12342,
+ 22419, 13385, 21937, 12342,
+ 22419, 15335, 12342,
+ 22419, 15335, 12343, 7021, 11400,
+ 22419, 15335, 12343, 17417, 20627, 20788,
+ 22419, 15707, 16977, 15335, 12342,
+ 22419, 15893, 12342,
+ 22419, 15969, 6503, 12342,
+ 22419, 15969, 12342,
+ 22419, 15969, 12343, 7021, 958,
+ 22419, 15969, 12343, 11445, 17106,
+ 22419, 15969, 12343, 11445, 20701, 17106,
+ 22419, 15969, 21884,
+ 22419, 16715, 15620,
+ 22419, 16900,
+ 22419, 17275, 6503, 12342,
+ 22419, 17275, 12342,
+ 22419, 18079, 9725, 21313, 18078,
+ 22419, 18079, 11445, 5947, 697, 661, 958,
+ 22419, 18079, 11445, 5947, 697, 7021, 958,
+ 22419, 18079, 11445, 5947, 697, 12249, 8299, 6502,
+ 22419, 18079, 11445, 5947, 697, 12249, 21313, 18079, 11445, 5947, 696,
+ 22419, 18079, 11445, 5947, 697, 12249, 22419, 18079, 11445, 5947, 6656,
+ 22419, 18079, 11445, 5947, 6657, 661, 958,
+ 22419, 18079, 11445, 5947, 6657, 7021, 958,
+ 22419, 18079, 11445, 5947, 6657, 12249, 21313, 18079, 11445, 5947, 6656,
+ 22419, 18079, 11445, 5947, 6657, 12427, 8299, 6502,
+ 22419, 18079, 11445, 5947, 19182,
+ 22419, 18079, 11445, 5947, 21108,
+ 22419, 18761, 7388,
+ 22419, 18979, 12342,
+ 22419, 20475, 12342,
+ 22419, 20627, 20788,
+ 22419, 21491, 12342,
+ 22419, 21884,
+ 22419, 21937, 12342,
+ 22419, 22423, 12342,
+ 22419, 22585, 12343, 7021, 958,
+ 22419, 22585, 12343, 11445, 10790,
+ 22419, 22585, 12343, 11445, 10791, 11445, 15969, 20701, 17106,
+ 22419, 22585, 12343, 11445, 10791, 11445, 20701, 17106,
+ 22419, 22585, 12343, 11445, 15969, 20701, 17106,
+ 22419, 22585, 12343, 11445, 20627, 21886,
+ 22419, 22585, 12343, 11445, 20701, 17106,
+ 22419, 22585, 17275, 6503, 12342,
+ 22419, 22641, 20417, 15335, 12342,
+ 22419, 22793, 12342,
+ 22419, 22881, 15335, 12342,
+ 22419, 22951, 12342,
+ 22419, 23275, 20417, 15335, 12342,
+ 22419, 23391, 15335, 12342,
+ 22419, 27327, 12342,
+ 22419, 27327, 12343, 661, 958,
+ 22419, 27327, 12343, 9725, 21313, 27327, 12342,
+ 22419, 27327, 12343, 11445, 6059, 14682,
+ 22419, 27327, 12343, 11445, 8299, 3409, 19182,
+ 22419, 27327, 12343, 11445, 8299, 3409, 21108,
+ 22419, 27327, 12343, 11445, 11303, 13385, 14682,
+ 22419, 27327, 12343, 11445, 13385, 14682,
+ 22419, 27327, 12343, 11445, 15969, 20701, 17106,
+ 22419, 27327, 12343, 11445, 15969, 22199, 17106,
+ 22419, 27327, 12343, 11445, 16497, 14682,
+ 22419, 27327, 12343, 11445, 16561, 14682,
+ 22419, 27327, 15893, 12342,
+ 22419, 27327, 16715, 15620,
+ 22423, 13385, 2281, 15969, 12845, 21495, 8757, 20194,
+ 22423, 13385, 15969, 12845, 21495, 8757, 20194,
+ 22423, 13385, 15969, 17305, 12845, 21495, 8757, 20194,
+ 22423, 22861, 20194,
+ 22427, 10511, 17372,
+ 22427, 10511, 19210,
+ 22427, 10511, 19342,
+ 22427, 10511, 22650,
+ 22427, 12938,
+ 22427, 12989, 2736,
+ 22427, 12989, 3208,
+ 22427, 12989, 3500,
+ 22427, 12989, 6992,
+ 22427, 12989, 7014,
+ 22427, 12989, 9302,
+ 22427, 12989, 11754,
+ 22427, 12989, 13066,
+ 22427, 12989, 14676,
+ 22427, 12989, 15004,
+ 22427, 15289, 10511, 8,
+ 22427, 15289, 10511, 16,
+ 22427, 15289, 10511, 28,
+ 22427, 15289, 10511, 40,
+ 22427, 15289, 10511, 58,
+ 22427, 15289, 10511, 72,
+ 22427, 15289, 10511, 96,
+ 22427, 15289, 10511, 186,
+ 22427, 15289, 10511, 314,
+ 22427, 15289, 10511, 522,
+ 22427, 15289, 10511, 704,
+ 22427, 15289, 10511, 19217, 22,
+ 22427, 15289, 10511, 19217, 34,
+ 22427, 15289, 10511, 19217, 406,
+ 22427, 15289, 10511, 19217, 608,
+ 22427, 15969, 12938,
+ 22427, 16393, 0,
+ 22427, 16393, 8,
+ 22427, 16393, 16,
+ 22427, 16393, 28,
+ 22427, 16393, 40,
+ 22427, 16393, 58,
+ 22427, 16393, 72,
+ 22427, 16393, 96,
+ 22427, 16393, 108,
+ 22427, 16393, 126,
+ 22427, 16393, 150,
+ 22427, 16393, 186,
+ 22427, 16393, 248,
+ 22427, 16393, 272,
+ 22427, 16393, 314,
+ 22427, 16393, 344,
+ 22427, 16393, 358,
+ 22427, 16393, 394,
+ 22427, 16393, 426,
+ 22427, 16393, 466,
+ 22427, 16393, 522,
+ 22427, 16393, 548,
+ 22427, 16393, 598,
+ 22427, 16393, 614,
+ 22427, 16393, 648,
+ 22427, 16393, 704,
+ 22427, 16393, 712,
+ 22427, 16393, 776,
+ 22427, 16393, 994,
+ 22427, 16393, 1110,
+ 22427, 16393, 1208,
+ 22427, 16393, 1230,
+ 22427, 16393, 1580,
+ 22427, 16393, 1900,
+ 22427, 16393, 2018,
+ 22427, 16393, 2258,
+ 22427, 16393, 2554,
+ 22427, 16393, 2604,
+ 22427, 16393, 2674,
+ 22427, 16393, 2804,
+ 22427, 16393, 3180,
+ 22427, 16393, 3254,
+ 22427, 16393, 3386,
+ 22427, 16393, 3466,
+ 22427, 16393, 6530,
+ 22427, 16393, 11014,
+ 22427, 16393, 19217, 22,
+ 22427, 16393, 19217, 34,
+ 22427, 16393, 19217, 406,
+ 22427, 16393, 19217, 608,
+ 22427, 20907, 10511, 13356,
+ 22433, 18749, 11445, 15707, 15824,
+ 22475, 9721, 1030,
+ 22479, 507, 13516,
+ 22501, 14828,
+ 22508,
+ 22528,
+ 22541, 18778,
+ 22546,
22558,
- 22561, 6995, 521, 9852,
- 22561, 14590,
- 22561, 15736,
- 22570,
- 22591, 20771, 18795, 8757, 126,
- 22591, 20771, 18795, 8757, 9274,
- 22594,
- 22600,
- 22603, 17140,
- 22623, 2017, 17140,
- 22633, 13730,
- 22639, 20417, 15335, 22417, 12342,
- 22641, 14827, 12343, 11445, 16219, 10790,
- 22641, 14827, 12343, 11445, 22199, 10790,
- 22646,
- 22657, 19860,
- 22663, 17140,
- 22664,
+ 22560,
+ 22563, 6995, 521, 9852,
+ 22563, 14590,
+ 22563, 15736,
+ 22572,
+ 22593, 20771, 18795, 8757, 126,
+ 22593, 20771, 18795, 8757, 9274,
+ 22596,
+ 22602,
+ 22605, 17140,
+ 22625, 2017, 17140,
+ 22635, 13730,
+ 22641, 20417, 15335, 22419, 12342,
+ 22643, 14827, 12343, 11445, 16219, 10790,
+ 22643, 14827, 12343, 11445, 22199, 10790,
+ 22648,
+ 22659, 19860,
+ 22665, 17140,
22666,
- 22675, 14880,
- 22679, 660,
- 22680,
+ 22668,
+ 22677, 14880,
+ 22681, 660,
22682,
- 22771, 13093, 661, 529, 21314,
- 22771, 13093, 661, 529, 23278,
- 22771, 18937, 13093, 661, 529, 21314,
- 22771, 18937, 13093, 661, 529, 23278,
- 22771, 18937, 21315, 529, 13093, 660,
- 22771, 18937, 23279, 529, 13093, 660,
- 22785, 660,
- 22789, 8756,
- 22789, 20329, 8756,
- 22794,
- 22801, 14828,
- 22829, 10424,
- 22831, 14456,
- 22833, 7029, 10630,
- 22833, 7385, 6979, 14828,
- 22833, 12844,
- 22833, 13705, 10965, 8756,
- 22833, 14828,
- 22833, 14945, 8757, 2736,
- 22833, 14945, 8757, 3500,
- 22833, 14945, 8757, 6992,
- 22833, 14945, 8757, 7014,
- 22833, 14945, 8757, 15004,
- 22833, 16647, 11754,
- 22833, 16895, 10965, 8756,
- 22833, 17725, 8756,
- 22833, 19783, 10965, 8756,
- 22833, 20945, 10965, 8756,
- 22833, 21275, 8756,
- 22833, 21741, 8269, 6963, 21567, 17140,
- 22833, 21741, 17141, 1485, 1207, 2736,
- 22833, 21741, 17141, 1485, 1207, 3208,
- 22833, 21741, 17141, 1485, 1207, 3376,
- 22833, 21741, 17141, 1485, 1207, 3500,
- 22833, 21741, 17141, 1485, 1207, 6992,
- 22833, 21741, 17141, 1485, 1207, 7014,
- 22833, 21741, 17141, 1485, 1207, 9302,
- 22833, 21741, 17141, 1485, 1207, 13066,
- 22833, 21741, 17141, 1485, 1207, 14676,
- 22833, 21741, 17141, 1485, 1207, 15004,
- 22833, 21741, 17141, 1485, 1207, 15984,
- 22833, 21741, 17141, 1485, 1207, 17214,
- 22833, 21741, 17141, 1485, 1207, 17312,
- 22833, 21741, 17141, 1485, 1207, 17314,
- 22833, 21741, 17141, 1485, 1207, 17984,
- 22833, 21741, 17141, 1485, 1207, 18932,
- 22833, 21741, 17141, 1485, 1207, 19764,
- 22833, 21741, 17141, 1485, 1207, 19846,
- 22833, 21741, 17141, 1485, 1207, 20158,
- 22833, 21741, 17141, 1485, 1207, 20594,
- 22833, 21741, 17141, 1485, 1207, 21570,
- 22833, 21741, 17141, 1485, 1207, 22552,
- 22833, 21741, 17141, 1485, 1207, 22574,
- 22833, 21741, 17141, 1485, 1207, 22576,
- 22833, 21741, 17141, 1485, 1207, 22578,
- 22833, 21741, 17141, 1485, 1207, 23136,
- 22833, 21741, 17141, 1485, 1207, 23138,
- 22833, 21741, 17141, 1485, 1207, 23140,
- 22833, 21741, 17141, 1485, 1207, 23480,
- 22833, 21741, 17141, 1485, 1207, 23482,
- 22833, 21741, 17141, 1485, 1207, 23484,
- 22833, 21741, 17141, 1485, 2364,
- 22833, 21741, 17141, 1485, 7631, 2736,
- 22833, 21741, 17141, 1485, 7631, 3208,
- 22833, 21741, 17141, 1485, 7631, 3376,
- 22833, 21741, 17141, 1485, 7631, 3500,
- 22833, 21741, 17141, 1485, 7631, 6992,
- 22833, 21741, 17141, 1485, 7631, 7014,
- 22833, 21741, 17141, 1485, 7631, 9302,
- 22833, 21741, 17141, 1485, 7631, 11754,
- 22833, 21741, 17141, 1485, 7631, 13066,
- 22833, 21741, 17141, 1485, 7631, 14676,
- 22833, 21741, 17141, 1485, 7631, 15004,
- 22833, 21741, 17141, 1485, 7631, 15984,
- 22833, 21741, 17141, 1485, 7631, 17312,
- 22833, 21741, 17141, 1485, 7631, 17314,
- 22833, 21741, 17141, 1485, 7631, 17984,
- 22833, 21741, 17141, 1485, 7631, 18932,
- 22833, 21741, 17141, 1485, 7631, 19764,
- 22833, 21741, 17141, 1485, 7631, 19846,
- 22833, 21741, 17141, 1485, 7631, 20158,
- 22833, 21741, 17141, 1485, 7631, 20594,
- 22833, 21741, 17141, 1485, 7631, 21570,
- 22833, 21741, 17141, 1485, 7631, 22574,
- 22833, 21741, 17141, 1485, 7631, 22578,
- 22833, 21741, 17141, 1485, 7631, 23138,
- 22833, 21741, 17141, 1485, 7631, 23484,
- 22833, 21741, 17141, 1485, 7862,
- 22833, 21741, 17141, 1485, 7864,
- 22833, 21741, 17141, 1485, 12328,
- 22833, 21741, 17141, 1485, 13822,
- 22833, 21741, 17141, 1485, 15638,
- 22833, 21741, 17141, 1485, 18142,
- 22833, 21741, 17141, 1485, 18564,
- 22833, 21741, 17141, 1485, 19570,
- 22833, 21741, 17141, 1485, 19806,
- 22833, 21741, 17141, 1485, 20172,
- 22833, 21741, 17141, 1485, 21568,
- 22833, 21803, 21256,
- 22833, 21865, 2349, 8756,
- 22833, 21865, 2737, 8756,
- 22833, 21865, 3437, 8756,
- 22833, 21865, 3501, 8756,
- 22833, 21865, 7015, 8756,
- 22833, 21865, 13057, 8756,
- 22833, 21865, 13177, 8756,
- 22833, 21865, 14997, 8756,
- 22833, 21865, 15005, 8756,
- 22833, 21865, 15707, 8756,
- 22833, 21865, 16091, 8756,
- 22833, 21865, 16193, 8756,
- 22833, 21865, 16521, 8756,
- 22833, 21865, 16953, 8756,
- 22833, 21865, 18343, 8756,
- 22833, 21865, 18815, 8756,
- 22833, 22701, 20865, 7029, 20536,
- 22833, 22701, 20865, 8229, 661, 14556,
- 22833, 22701, 20865, 8229, 661, 16521, 893, 14556,
- 22833, 22701, 20865, 12249, 661, 12426,
- 22833, 22701, 20865, 12249, 661, 16521, 893, 12426,
- 22833, 22701, 20865, 20202,
- 22833, 22701, 20865, 20537, 7021, 8228,
- 22833, 22701, 20865, 20537, 7021, 12248,
- 22833, 22701, 20865, 20537, 7021, 12426,
- 22833, 22701, 20865, 20537, 7021, 13739, 8228,
- 22833, 22701, 20865, 20537, 7021, 15173, 8228,
- 22833, 22701, 20865, 20537, 7021, 15173, 14556,
- 22849, 6589, 16748,
- 22849, 17046,
- 22852,
- 22855, 21865, 15590,
- 22855, 21865, 21566,
- 22855, 21865, 22548,
- 22857, 16031, 893, 8749, 10510,
- 22858,
- 22875, 6988,
- 22875, 17131, 10510,
- 22875, 17131, 10511, 11445, 6652,
- 22875, 19363, 19791, 10510,
- 22877, 22215, 21448,
- 22879, 15335, 22417, 12342,
- 22889, 12630,
- 22891, 7029, 10630,
- 22891, 12844,
- 22891, 12989, 2736,
- 22891, 12989, 2737, 20771, 7012,
- 22891, 12989, 3208,
- 22891, 12989, 3500,
- 22891, 12989, 3501, 20771, 7012,
- 22891, 12989, 6992,
- 22891, 12989, 7014,
- 22891, 12989, 9302,
- 22891, 12989, 11754,
- 22891, 12989, 13066,
- 22891, 12989, 14676,
- 22891, 12989, 15004,
- 22891, 12989, 15005, 20771, 7012,
- 22891, 14807, 16393, 0,
- 22891, 14807, 16393, 2,
- 22891, 14807, 16393, 4,
- 22891, 14807, 16393, 6,
- 22891, 14807, 16393, 8,
- 22891, 14807, 16393, 10,
- 22891, 14807, 16393, 12,
- 22891, 14807, 16393, 14,
- 22891, 14807, 16393, 16,
- 22891, 14807, 16393, 18,
- 22891, 14807, 16393, 20,
- 22891, 14807, 16393, 22,
- 22891, 14807, 16393, 24,
- 22891, 14807, 16393, 26,
- 22891, 14807, 16393, 28,
- 22891, 14807, 16393, 30,
- 22891, 14807, 16393, 32,
- 22891, 14807, 16393, 34,
- 22891, 14807, 16393, 36,
- 22891, 14807, 16393, 38,
- 22891, 14807, 16393, 40,
- 22891, 14807, 16393, 42,
- 22891, 14807, 16393, 44,
- 22891, 14807, 16393, 46,
- 22891, 14807, 16393, 48,
- 22891, 14807, 16393, 50,
- 22891, 14807, 16393, 72,
- 22891, 14807, 16393, 290,
- 22891, 14807, 16393, 376,
- 22891, 14807, 16393, 474,
- 22891, 14807, 16393, 496,
- 22891, 14807, 16393, 504,
- 22891, 14807, 16393, 788,
- 22891, 14807, 16393, 5500,
- 22891, 16647, 3376,
- 22891, 16647, 15984,
- 22891, 16647, 17312,
- 22891, 16647, 17984,
- 22891, 16647, 18932,
- 22891, 16647, 19764,
- 22891, 16647, 19846,
- 22891, 16647, 20158,
- 22891, 16647, 20594,
- 22891, 16647, 21570,
- 22891, 17141, 5432,
- 22891, 17671, 16393, 0,
- 22891, 17671, 16393, 2,
- 22891, 17671, 16393, 4,
- 22891, 17671, 16393, 6,
- 22891, 17671, 16393, 8,
- 22891, 17671, 16393, 10,
- 22891, 17671, 16393, 12,
- 22891, 17671, 16393, 14,
- 22891, 17671, 16393, 16,
- 22891, 17671, 16393, 18,
- 22891, 17671, 16393, 20,
- 22891, 17671, 16393, 22,
- 22891, 17671, 16393, 24,
- 22891, 17671, 16393, 26,
- 22891, 17671, 16393, 28,
- 22891, 17671, 16393, 30,
- 22891, 17671, 16393, 32,
- 22891, 17671, 16393, 34,
- 22891, 17671, 16393, 36,
- 22891, 17671, 16393, 38,
- 22891, 17671, 16393, 40,
- 22891, 17671, 16393, 42,
- 22891, 17671, 16393, 44,
- 22891, 17671, 16393, 46,
- 22891, 17671, 16393, 48,
- 22891, 17671, 16393, 50,
- 22891, 17671, 16393, 72,
- 22891, 17671, 16393, 290,
- 22891, 17671, 16393, 376,
- 22891, 17671, 16393, 474,
- 22891, 17671, 16393, 496,
- 22891, 17671, 16393, 504,
- 22891, 17671, 16393, 788,
- 22891, 17671, 16393, 5500,
- 22891, 22789, 510,
- 22917, 6952,
- 22929, 10511, 17372,
- 22929, 10511, 18916,
- 22929, 10511, 19210,
- 22929, 10511, 19342,
- 22929, 10511, 19386,
- 22929, 15289, 10511, 8,
- 22929, 15289, 10511, 16,
- 22929, 15289, 10511, 28,
- 22929, 15289, 10511, 40,
- 22929, 15289, 10511, 58,
- 22929, 15289, 10511, 72,
- 22929, 15289, 10511, 96,
- 22929, 15289, 10511, 314,
- 22929, 15289, 10511, 704,
- 22929, 15289, 10511, 19217, 34,
- 22929, 15289, 10511, 19217, 608,
- 22929, 15289, 10511, 25165, 8,
- 22929, 16393, 0,
- 22929, 16393, 8,
- 22929, 16393, 16,
- 22929, 16393, 28,
- 22929, 16393, 40,
- 22929, 16393, 58,
- 22929, 16393, 72,
- 22929, 16393, 96,
- 22929, 16393, 108,
- 22929, 16393, 126,
- 22929, 16393, 150,
- 22929, 16393, 248,
- 22929, 16393, 272,
- 22929, 16393, 314,
- 22929, 16393, 344,
- 22929, 16393, 358,
- 22929, 16393, 394,
- 22929, 16393, 426,
- 22929, 16393, 466,
- 22929, 16393, 548,
- 22929, 16393, 598,
- 22929, 16393, 614,
- 22929, 16393, 648,
- 22929, 16393, 704,
- 22929, 16393, 712,
- 22929, 16393, 776,
- 22929, 16393, 994,
- 22929, 16393, 1110,
- 22929, 16393, 1208,
- 22929, 16393, 1230,
- 22929, 16393, 1580,
- 22929, 16393, 1900,
- 22929, 16393, 2018,
- 22929, 16393, 2258,
- 22929, 16393, 2554,
- 22929, 16393, 2604,
- 22929, 16393, 2674,
- 22929, 16393, 2804,
- 22929, 16393, 3086,
- 22929, 16393, 3180,
- 22929, 16393, 3254,
- 22929, 16393, 3386,
- 22929, 16393, 3466,
- 22929, 16393, 6530,
- 22929, 16393, 11014,
- 22929, 16393, 19217, 34,
- 22929, 16393, 19217, 608,
- 22929, 22182,
- 22943, 15319, 17140,
- 22946,
- 22951, 12449, 18980,
- 22951, 15335, 893, 12449, 18980,
- 22951, 15335, 18980,
- 22956,
- 22959, 8756,
- 22969, 10510,
- 22977, 6952,
- 22978,
- 22999, 14828,
- 23001, 10510,
- 23009, 20864,
- 23024,
- 23030,
- 23033, 16540,
- 23036,
- 23077, 879, 6049, 14807, 21536,
- 23077, 879, 10657, 14807, 21536,
- 23077, 879, 17635, 2758,
- 23077, 879, 19021, 322,
- 23077, 1425, 11442,
- 23077, 1425, 12455, 17024,
- 23077, 1425, 12455, 20130,
- 23077, 2247, 13739, 9725, 15172,
- 23077, 2247, 15173, 9725, 13738,
- 23077, 3101, 17024,
- 23077, 3101, 17606,
- 23077, 3101, 20130,
- 23077, 6784,
- 23077, 6839, 7385, 9720,
- 23077, 6839, 7385, 15824,
- 23077, 6839, 9720,
- 23077, 6839, 11435, 9720,
- 23077, 6839, 15824,
- 23077, 6839, 20472,
- 23077, 6839, 20723, 20124,
- 23077, 6953, 20965, 20291, 9383, 697, 529, 6656,
- 23077, 6953, 20965, 20291, 9383, 697, 529, 6657, 19092,
- 23077, 6953, 20965, 20291, 9383, 18009, 19092,
- 23077, 6979, 22270,
- 23077, 6979, 22272,
- 23077, 6979, 22274,
- 23077, 6979, 22276,
- 23077, 6979, 22278,
- 23077, 7029, 10630,
- 23077, 7380,
- 23077, 7414,
- 23077, 7415, 3048,
- 23077, 7415, 20125, 15814,
- 23077, 7415, 27535, 10924,
- 23077, 7415, 27535, 12866,
- 23077, 7415, 27535, 20498,
- 23077, 7415, 27569, 12866,
- 23077, 7415, 27569, 20498,
- 23077, 8265, 20014,
- 23077, 8265, 20016,
- 23077, 8265, 20018,
- 23077, 8265, 20020,
- 23077, 8265, 20022,
- 23077, 8265, 20024,
- 23077, 8265, 20026,
- 23077, 8265, 22660,
- 23077, 8277, 18737, 20610,
- 23077, 9196,
- 23077, 9383, 17742,
- 23077, 9383, 18498,
- 23077, 9383, 19238,
- 23077, 9383, 20728,
- 23077, 12491, 17024,
- 23077, 12491, 17606,
- 23077, 12491, 20130,
- 23077, 12838,
- 23077, 12844,
- 23077, 13185, 13681, 17024,
- 23077, 13185, 13681, 20130,
- 23077, 13185, 14807, 17024,
- 23077, 13185, 14807, 20130,
- 23077, 13185, 22434,
- 23077, 13327, 17024,
- 23077, 13327, 17606,
- 23077, 13327, 20130,
- 23077, 13931, 8062,
- 23077, 13931, 8063, 18008,
- 23077, 13931, 8063, 20726,
- 23077, 13931, 9721, 9722,
- 23077, 13931, 9721, 9723, 11596,
- 23077, 13931, 9721, 9723, 20726,
- 23077, 13931, 9721, 15814,
- 23077, 13931, 9721, 18008,
- 23077, 13931, 9721, 20726,
- 23077, 13931, 9721, 21506,
- 23077, 13931, 9721, 21507, 11596,
- 23077, 13931, 9721, 21507, 20726,
- 23077, 13931, 13214,
- 23077, 13931, 13215, 9720,
- 23077, 13931, 13215, 20726,
- 23077, 13931, 14812,
- 23077, 13931, 14813, 9720,
- 23077, 13931, 14813, 20726,
- 23077, 13931, 14974,
- 23077, 13931, 14975, 17116,
- 23077, 13931, 14975, 18008,
- 23077, 13931, 15825, 17742,
- 23077, 13931, 15825, 18008,
- 23077, 13931, 15825, 18498,
- 23077, 13931, 17752,
- 23077, 13931, 20729, 15968,
- 23077, 13931, 20729, 17024,
- 23077, 14964,
- 23077, 14965, 521, 8276,
- 23077, 14965, 521, 8277, 20124,
- 23077, 14965, 521, 17270,
- 23077, 14965, 521, 17271, 20124,
- 23077, 14965, 6045, 8276,
- 23077, 14965, 20124,
- 23077, 14975, 15793, 2280,
- 23077, 14975, 15793, 7474,
- 23077, 14975, 15793, 16520,
- 23077, 15075, 17024,
- 23077, 15075, 17606,
- 23077, 15075, 20130,
- 23077, 15173, 6057, 19093, 7021, 1727, 16268,
- 23077, 15719, 16000,
- 23077, 15719, 16240,
- 23077, 15793, 16838,
- 23077, 15793, 17116,
- 23077, 15793, 18498,
- 23077, 15973, 19803, 697, 18498,
- 23077, 15973, 19803, 6657, 18498,
- 23077, 15973, 19803, 18499, 696,
- 23077, 15973, 19803, 18499, 6656,
- 23077, 16046,
- 23077, 17103, 17024,
- 23077, 17103, 17606,
- 23077, 17103, 20130,
- 23077, 17271, 3409, 17607, 8276,
- 23077, 17271, 3409, 20617, 16249, 13930,
- 23077, 17271, 13935, 17493, 12582,
- 23077, 17271, 15779, 16249, 13930,
- 23077, 17271, 15779, 20491, 2758,
- 23077, 17271, 16249, 13931, 18806,
- 23077, 17271, 18339, 8276,
- 23077, 17271, 20491, 2759, 1444,
- 23077, 17919, 6958,
- 23077, 17919, 10538,
- 23077, 17919, 13119, 14349, 10926,
- 23077, 17919, 14974,
- 23077, 17919, 18050,
- 23077, 17919, 18806,
- 23077, 17919, 20789, 13680,
- 23077, 17919, 20789, 14806,
- 23077, 17919, 23428,
- 23077, 17919, 23429, 22618,
- 23077, 18983, 13185, 22618,
- 23077, 18983, 13681, 17024,
- 23077, 18983, 13681, 20130,
- 23077, 18983, 14807, 17024,
- 23077, 18983, 14807, 20130,
- 23077, 18983, 22434,
- 23077, 19025, 17606,
- 23077, 19025, 19030,
- 23077, 19803, 20499, 696,
- 23077, 19803, 20499, 6656,
- 23077, 19803, 20499, 18498,
- 23077, 19841, 17742,
- 23077, 19841, 18498,
- 23077, 19841, 20726,
- 23077, 19888,
- 23077, 19889, 487, 15006,
- 23077, 19889, 6993, 17987, 17068,
- 23077, 19889, 6993, 17987, 17069, 9720,
- 23077, 19889, 9720,
- 23077, 19889, 9721, 487, 15006,
- 23077, 19889, 9721, 15007, 10500,
- 23077, 19889, 9721, 15007, 18008,
- 23077, 19889, 13506,
- 23077, 19889, 13507, 10089, 16424,
- 23077, 19889, 13507, 15006,
- 23077, 19889, 13507, 15007, 9720,
- 23077, 19889, 15007, 10500,
- 23077, 19889, 15007, 18008,
- 23077, 19889, 16521, 10089, 16424,
- 23077, 20035, 7415, 9196,
- 23077, 20035, 12974,
- 23077, 20035, 13711, 15922,
- 23077, 20035, 15070,
- 23077, 20035, 15340,
- 23077, 20035, 16196,
- 23077, 20375, 22270,
- 23077, 20375, 22272,
- 23077, 20375, 22274,
- 23077, 20375, 22276,
- 23077, 20375, 22278,
- 23077, 20375, 22280,
- 23077, 20375, 22282,
- 23077, 20375, 22284,
- 23077, 20375, 22902,
- 23077, 20375, 22904,
- 23077, 20375, 22906,
- 23077, 20375, 22908,
- 23077, 20375, 22910,
- 23077, 20375, 22912,
- 23077, 20375, 22914,
- 23077, 20429, 1727, 14838,
- 23077, 20429, 1727, 21470,
- 23077, 20429, 19093, 7021, 15310,
- 23077, 21149, 696,
- 23077, 21149, 6656,
- 23077, 21149, 22156,
- 23077, 21214,
- 23077, 21215, 487, 15006,
- 23077, 21215, 7015, 17987, 20900,
- 23077, 21215, 13507, 15007, 12867, 15007, 16248,
- 23077, 21215, 15007, 10500,
- 23077, 21215, 15007, 18008,
- 23077, 21215, 16521, 10089, 16425, 20900,
- 23077, 21215, 16521, 10089, 16425, 20901, 10500,
- 23077, 21216,
- 23077, 21217, 7015, 17987, 20901, 6020,
- 23077, 21217, 7418,
- 23077, 21217, 10089, 696,
- 23077, 21217, 10089, 6656,
- 23077, 21217, 10089, 13506,
- 23077, 21217, 10089, 15006,
- 23077, 21217, 10089, 16424,
- 23077, 21217, 10089, 16520,
- 23077, 21217, 10089, 16521, 16865, 19994,
- 23077, 21217, 10089, 16521, 20900,
- 23077, 21217, 10089, 16865, 18192,
- 23077, 21217, 13506,
- 23077, 21217, 13507, 697, 16521, 16212,
- 23077, 21217, 13507, 697, 16521, 16213, 15007, 10500,
- 23077, 21217, 13507, 697, 16521, 16213, 15007, 20900,
- 23077, 21217, 13507, 6020,
- 23077, 21217, 13507, 6021, 9725, 16520,
- 23077, 21217, 13507, 10089, 16424,
- 23077, 21217, 13507, 15007, 7612,
- 23077, 21217, 13507, 15007, 10500,
- 23077, 21217, 13507, 15007, 10501, 6071, 6020,
- 23077, 21217, 13507, 15007, 10501, 13507, 6020,
- 23077, 21217, 13507, 15007, 10501, 13507, 13400,
- 23077, 21217, 13507, 15007, 10501, 15007, 6020,
- 23077, 21217, 13507, 15007, 10501, 15007, 19588,
- 23077, 21217, 13507, 15007, 10501, 15007, 20900,
- 23077, 21217, 13507, 15007, 12867, 15007, 15166,
- 23077, 21217, 13507, 15007, 12867, 15007, 16248,
- 23077, 21217, 13507, 15007, 15595, 323, 16521, 696,
- 23077, 21217, 13507, 15007, 15595, 2759, 16521, 696,
- 23077, 21217, 13507, 15007, 15814,
- 23077, 21217, 13507, 15007, 15871, 16521, 696,
- 23077, 21217, 13507, 15007, 16219, 16521, 696,
- 23077, 21217, 13507, 15007, 16219, 16521, 16212,
- 23077, 21217, 13507, 15007, 17717, 16521, 696,
- 23077, 21217, 13507, 15007, 18009, 13507, 6020,
- 23077, 21217, 13507, 15007, 18009, 13507, 20498,
- 23077, 21217, 13507, 15007, 19548,
- 23077, 21217, 13507, 15870,
- 23077, 21217, 13507, 16212,
- 23077, 21217, 13507, 16213, 2280,
- 23077, 21217, 13507, 16213, 16521, 696,
- 23077, 21217, 13507, 16213, 16521, 697, 15007, 10500,
- 23077, 21217, 13507, 16520,
- 23077, 21217, 13507, 16521, 697, 17069, 15007, 18008,
- 23077, 21217, 13507, 16521, 6020,
- 23077, 21217, 13507, 16521, 6021, 15007, 20498,
- 23077, 21217, 13507, 16521, 10088,
- 23077, 21217, 13507, 16521, 10089, 6020,
- 23077, 21217, 13507, 16521, 10089, 20900,
- 23077, 21217, 13507, 16521, 12857, 16424,
- 23077, 21217, 13507, 16521, 15006,
- 23077, 21217, 13507, 16521, 15007, 6020,
- 23077, 21217, 13507, 16521, 15007, 15594,
- 23077, 21217, 13507, 16521, 15007, 15595, 2758,
- 23077, 21217, 13507, 16521, 15007, 15870,
- 23077, 21217, 13507, 16521, 15007, 16212,
- 23077, 21217, 13507, 16521, 15007, 16218,
- 23077, 21217, 13507, 16521, 15007, 17716,
- 23077, 21217, 13507, 16521, 15007, 20901, 16212,
- 23077, 21217, 13507, 16521, 16212,
- 23077, 21217, 13507, 16521, 16213, 17069, 15007, 10500,
- 23077, 21217, 13507, 16521, 16424,
- 23077, 21217, 13507, 16521, 16865, 19994,
- 23077, 21217, 13507, 16521, 17766,
- 23077, 21217, 13507, 16521, 17767, 15007, 10500,
- 23077, 21217, 13507, 16521, 20499, 15007, 6020,
- 23077, 21217, 13507, 16521, 20900,
- 23077, 21217, 13507, 16521, 20901, 13507, 6020,
- 23077, 21217, 13507, 16521, 20901, 15007, 10500,
- 23077, 21217, 13507, 16521, 20901, 15007, 10501, 6020,
- 23077, 21217, 13507, 16521, 20901, 15007, 10501, 20900,
- 23077, 21217, 13507, 16521, 20901, 15007, 18008,
- 23077, 21217, 13507, 16521, 20901, 15870,
- 23077, 21217, 13507, 16521, 20901, 15871, 15007, 18008,
- 23077, 21217, 13507, 16521, 20901, 16212,
- 23077, 21217, 13507, 16521, 20901, 16213, 15007, 10500,
- 23077, 21217, 13507, 16521, 20901, 16521, 6020,
- 23077, 21217, 13507, 16865, 18192,
- 23077, 21217, 15006,
- 23077, 21217, 15007, 7418,
- 23077, 21217, 15007, 9725, 3501, 17986,
- 23077, 21217, 15007, 9725, 7015, 16865, 19994,
- 23077, 21217, 15007, 10501, 6020,
- 23077, 21217, 15007, 10501, 19588,
- 23077, 21217, 15007, 10501, 20900,
- 23077, 21217, 15007, 15167, 3501, 17986,
- 23077, 21217, 15007, 15167, 7015, 17986,
- 23077, 21217, 15007, 15167, 13507, 6020,
- 23077, 21217, 15007, 15167, 15005, 17986,
- 23077, 21217, 15007, 15167, 16425, 696,
- 23077, 21217, 15007, 17607, 10089, 16424,
- 23077, 21217, 15007, 17607, 13507, 16520,
- 23077, 21217, 15007, 17607, 13507, 16521, 20498,
- 23077, 21217, 15007, 17607, 16521, 10088,
- 23077, 21217, 15007, 18008,
- 23077, 21217, 16425, 696,
- 23077, 21217, 16425, 6020,
- 23077, 21217, 16425, 6656,
- 23077, 21217, 16425, 6657, 16691, 17716,
- 23077, 21217, 16425, 6657, 16893, 15874,
- 23077, 21217, 16425, 6657, 16893, 20498,
- 23077, 21217, 16425, 13506,
- 23077, 21217, 16425, 13507, 15006,
- 23077, 21217, 16425, 15006,
- 23077, 21217, 16425, 16865, 18192,
- 23077, 21217, 16425, 19105, 15006,
- 23077, 21217, 16521, 696,
- 23077, 21217, 16521, 697, 15007, 10500,
- 23077, 21217, 16521, 6021, 9725, 13506,
- 23077, 21217, 16521, 6656,
- 23077, 21217, 16521, 10089, 16424,
- 23077, 21217, 16521, 15007, 15595, 2759, 13507, 696,
- 23077, 21217, 16521, 15007, 15595, 2759, 13507, 17766,
- 23077, 21217, 16521, 15007, 15595, 13507, 696,
- 23077, 21217, 16521, 15007, 15871, 13507, 696,
- 23077, 21217, 16521, 15007, 16219, 13507, 696,
- 23077, 21217, 16521, 15007, 16424,
- 23077, 21217, 16521, 15007, 17717, 13507, 696,
- 23077, 21217, 16521, 15007, 17717, 13507, 16212,
- 23077, 21217, 16521, 16424,
- 23077, 21217, 16521, 16865, 18192,
- 23077, 21218,
- 23077, 21219, 6993, 17987, 17068,
- 23077, 21219, 6993, 17987, 17069, 6020,
- 23077, 21219, 6993, 17987, 17069, 7015, 6020,
- 23077, 21219, 6993, 17987, 17069, 15007, 18008,
- 23077, 21219, 6993, 17987, 17069, 16212,
- 23077, 21219, 6993, 17987, 17069, 16213, 487, 15006,
- 23077, 21219, 6993, 17987, 17069, 16213, 15007, 10500,
- 23077, 21219, 7015, 17986,
- 23077, 21219, 7015, 17987, 6020,
- 23077, 21219, 7015, 17987, 16212,
- 23077, 21219, 7015, 17987, 20900,
- 23077, 21219, 7015, 17987, 20901, 14840,
- 23077, 21219, 7418,
- 23077, 21219, 7419, 6993, 17987, 17068,
- 23077, 21219, 7419, 6993, 17987, 17069, 6020,
- 23077, 21219, 7419, 6993, 17987, 17069, 7015, 6020,
- 23077, 21219, 7419, 15007, 10500,
- 23077, 21219, 14841, 13507, 15007, 10500,
- 23077, 21219, 14841, 15778,
- 23077, 21219, 14841, 15779, 15007, 10500,
- 23077, 21219, 14841, 15779, 15007, 10501, 6020,
- 23077, 21219, 14841, 16424,
- 23077, 21219, 15007, 6020,
- 23077, 21219, 15007, 10500,
- 23077, 21219, 15007, 18008,
- 23077, 21219, 17607, 9761, 17964,
- 23077, 21220,
- 23077, 21221, 10089, 15006,
- 23077, 21221, 13507, 10089, 16425, 322,
- 23077, 21221, 13507, 10089, 16425, 2758,
- 23077, 21221, 13507, 10089, 16425, 15166,
- 23077, 21221, 16521, 10089, 16425, 20900,
- 23077, 21221, 16521, 10089, 16425, 20901, 322,
- 23077, 21221, 16521, 10089, 16425, 20901, 2758,
- 23077, 21221, 16521, 15006,
- 23077, 21221, 19548,
- 23077, 21222,
- 23077, 21223, 487, 15006,
- 23077, 21223, 6993, 17987, 17068,
- 23077, 21223, 10089, 16424,
- 23077, 21223, 13506,
- 23077, 21223, 15007, 10500,
- 23077, 21223, 15007, 18008,
- 23077, 21223, 16425, 696,
- 23077, 21560,
- 23077, 21825, 20429, 1727, 8930,
- 23077, 22140,
- 23077, 22155, 20429, 1727, 8930,
- 23077, 22178,
- 23077, 22179, 10089, 6657, 16521, 15007, 13507, 12856,
- 23077, 22179, 10089, 16424,
- 23077, 22179, 13506,
- 23077, 22179, 13507, 10089, 16424,
- 23077, 22179, 13507, 10089, 16425, 2758,
- 23077, 22179, 13507, 15006,
- 23077, 22179, 13507, 15007, 322,
- 23077, 22179, 13507, 15007, 2758,
- 23077, 22179, 13507, 16521, 10088,
- 23077, 22179, 13507, 16521, 16424,
- 23077, 22179, 16425, 696,
- 23077, 22179, 16425, 13506,
- 23077, 22179, 16425, 13507, 15007, 13507, 15006,
- 23077, 22179, 16425, 13507, 15007, 13507, 15007, 2758,
- 23077, 22179, 16521, 10089, 16424,
- 23077, 22179, 16521, 10089, 16425, 322,
- 23077, 22179, 16521, 10089, 16425, 2758,
- 23077, 22180,
- 23077, 22181, 487, 15006,
- 23077, 22181, 6993, 17987, 17069, 9720,
- 23077, 22181, 7015, 17987, 20900,
- 23077, 22181, 9720,
- 23077, 22181, 9721, 487, 15006,
- 23077, 22181, 9721, 15007, 10500,
- 23077, 22181, 9721, 15007, 18008,
- 23077, 22181, 10088,
- 23077, 22181, 10089, 6657, 13507, 15007, 7613, 16520,
- 23077, 22181, 13506,
- 23077, 22181, 13507, 10089, 16424,
- 23077, 22181, 13507, 15006,
- 23077, 22181, 13507, 15007, 9720,
- 23077, 22181, 13507, 15007, 10500,
- 23077, 22181, 13507, 15007, 13680,
- 23077, 22181, 13507, 15007, 14806,
- 23077, 22181, 13507, 16212,
- 23077, 22181, 13507, 16521, 10088,
- 23077, 22181, 13507, 16521, 10089, 20900,
- 23077, 22181, 13507, 16521, 16424,
- 23077, 22181, 14806,
- 23077, 22181, 15007, 10500,
- 23077, 22181, 15007, 10501, 20617, 13506,
- 23077, 22181, 15007, 17607, 16521, 10088,
- 23077, 22181, 16424,
- 23077, 22181, 16425, 13506,
- 23077, 22181, 16425, 13507, 15006,
- 23077, 22181, 16425, 15006,
- 23077, 22181, 16520,
- 23077, 22181, 16521, 10089, 16424,
- 23077, 22814,
- 23077, 22815, 10089, 16424,
- 23077, 22815, 13506,
- 23077, 22815, 13507, 6020,
- 23077, 22815, 13507, 10089, 16424,
- 23077, 22815, 13507, 13400,
- 23077, 22815, 13507, 16520,
- 23077, 22815, 13507, 16521, 10088,
- 23077, 22815, 13507, 16521, 12857, 16424,
- 23077, 22815, 13507, 16521, 15006,
- 23077, 22815, 13507, 16521, 16424,
- 23077, 22815, 13507, 16521, 17766,
- 23077, 22815, 16425, 696,
- 23077, 22815, 16425, 13506,
- 23077, 22815, 16521, 696,
- 23077, 22815, 16521, 10089, 16424,
- 23077, 22815, 16521, 10089, 16425, 6020,
- 23077, 22966,
- 23077, 25084,
- 23077, 25085, 9720,
- 23077, 25085, 13507, 10089, 16425, 520,
- 23077, 25085, 16521, 10089, 16425, 520,
- 23077, 25385, 697, 6657, 13680,
- 23077, 25385, 697, 6657, 14806,
- 23077, 25385, 697, 6657, 22619, 13680,
- 23077, 25385, 697, 6657, 22619, 14806,
- 23077, 25385, 697, 22434,
- 23077, 25385, 6657, 22434,
- 23077, 25385, 10501, 661, 10501, 20398,
- 23077, 27321, 15875, 6018,
- 23077, 27321, 20499, 19008,
- 23077, 27471, 20670,
- 23077, 27473, 917, 17059, 15968,
- 23077, 27473, 917, 17059, 17024,
- 23077, 27473, 917, 17059, 17274,
- 23077, 27473, 18894,
- 23077, 27473, 27551, 15968,
- 23077, 27473, 27551, 17024,
- 23077, 27473, 27551, 22618,
- 23077, 27473, 27581, 15968,
- 23077, 27473, 27581, 17024,
- 23077, 27473, 27581, 22618,
- 23077, 27485, 15874,
- 23077, 27485, 19492,
- 23077, 27485, 20498,
- 23077, 27485, 20499, 15968,
- 23077, 27485, 20499, 22618,
- 23077, 27493, 5509, 13680,
- 23077, 27493, 5509, 14806,
- 23077, 27493, 5509, 16496,
- 23077, 27493, 5509, 18314,
- 23077, 27493, 17607, 5509, 13680,
- 23077, 27493, 17607, 5509, 14806,
- 23077, 27493, 17607, 5509, 16496,
- 23077, 27493, 17607, 5509, 18314,
- 23077, 27493, 17607, 19107, 13680,
- 23077, 27493, 17607, 19107, 14806,
- 23077, 27493, 17607, 19107, 16496,
- 23077, 27493, 17607, 19107, 18314,
- 23077, 27493, 19107, 13680,
- 23077, 27493, 19107, 14806,
- 23077, 27493, 19107, 16496,
- 23077, 27493, 19107, 18314,
- 23077, 27519, 18894,
- 23077, 27519, 27551, 15968,
- 23077, 27519, 27551, 17024,
- 23077, 27519, 27551, 22618,
- 23077, 27519, 27581, 15968,
- 23077, 27519, 27581, 17024,
- 23077, 27519, 27581, 22618,
- 23077, 27525, 15874,
- 23077, 27525, 20498,
- 23077, 27525, 20499, 15968,
- 23077, 27525, 20499, 22618,
- 23077, 27531, 14828,
- 23077, 27535, 917, 15815, 14807, 15968,
- 23077, 27535, 917, 15815, 14807, 17024,
- 23077, 27535, 917, 15815, 16497, 15968,
- 23077, 27535, 917, 15815, 16497, 17024,
- 23077, 27535, 1031, 13680,
- 23077, 27535, 1031, 14806,
- 23077, 27535, 1031, 16496,
- 23077, 27535, 1890,
- 23077, 27535, 6019, 13680,
- 23077, 27535, 6019, 14806,
- 23077, 27535, 6019, 16496,
- 23077, 27535, 7649, 13680,
- 23077, 27535, 7649, 14806,
- 23077, 27535, 7649, 16496,
- 23077, 27535, 7649, 18095, 12590,
- 23077, 27535, 7649, 18095, 13213, 11400,
- 23077, 27535, 8305, 13680,
- 23077, 27535, 8305, 14806,
- 23077, 27535, 8305, 14807, 15968,
- 23077, 27535, 8305, 16496,
- 23077, 27535, 8305, 18095, 12590,
- 23077, 27535, 8305, 18095, 13213, 11400,
- 23077, 27535, 11405, 12867, 15969, 13680,
- 23077, 27535, 11405, 12867, 15969, 14806,
- 23077, 27535, 11405, 12867, 15969, 16496,
- 23077, 27535, 11405, 12867, 17275, 13680,
- 23077, 27535, 11405, 12867, 17275, 14806,
- 23077, 27535, 11405, 12867, 17275, 16496,
- 23077, 27535, 11405, 18095, 12590,
- 23077, 27535, 11405, 18095, 13213, 11400,
- 23077, 27535, 11405, 19589, 9771, 13680,
- 23077, 27535, 11405, 19589, 9771, 14806,
- 23077, 27535, 11405, 19589, 9771, 16496,
- 23077, 27535, 12581, 13680,
- 23077, 27535, 12581, 14806,
- 23077, 27535, 12581, 16496,
- 23077, 27535, 12856,
- 23077, 27535, 12867, 10875, 20498,
- 23077, 27535, 12867, 18095, 12590,
- 23077, 27535, 12867, 18095, 13213, 11400,
- 23077, 27535, 12867, 18767, 13680,
- 23077, 27535, 12867, 18767, 14806,
- 23077, 27535, 12867, 18767, 16496,
- 23077, 27535, 12867, 18767, 18314,
- 23077, 27535, 12867, 22813, 13680,
- 23077, 27535, 12867, 22813, 14806,
- 23077, 27535, 12867, 22813, 16496,
- 23077, 27535, 12867, 22813, 18314,
- 23077, 27535, 12867, 25213, 15815, 14806,
- 23077, 27535, 12867, 25213, 15815, 16496,
- 23077, 27535, 14405, 13680,
- 23077, 27535, 14405, 14806,
- 23077, 27535, 14405, 16496,
- 23077, 27535, 15357, 15815, 13213, 15968,
- 23077, 27535, 15357, 15815, 13213, 17024,
- 23077, 27535, 15851, 13680,
- 23077, 27535, 15851, 14806,
- 23077, 27535, 15851, 16496,
- 23077, 27535, 15851, 20374,
- 23077, 27535, 15875, 12857, 14806,
- 23077, 27535, 15875, 12857, 16496,
- 23077, 27535, 15969, 15357, 6998,
- 23077, 27535, 15969, 20498,
- 23077, 27535, 15969, 22618,
- 23077, 27535, 15969, 22619, 15357, 6998,
- 23077, 27535, 16047, 17719, 15968,
- 23077, 27535, 16047, 17719, 17024,
- 23077, 27535, 16047, 17742,
- 23077, 27535, 17025, 15357, 6998,
- 23077, 27535, 17025, 20499, 13680,
- 23077, 27535, 17025, 20499, 14806,
- 23077, 27535, 17025, 20499, 16496,
- 23077, 27535, 17025, 20499, 18314,
- 23077, 27535, 17275, 15357, 6998,
- 23077, 27535, 17275, 20499, 20124,
- 23077, 27535, 17275, 22618,
- 23077, 27535, 17275, 22619, 15357, 6998,
- 23077, 27535, 17463, 13680,
- 23077, 27535, 17463, 14806,
- 23077, 27535, 17463, 16496,
- 23077, 27535, 18894,
- 23077, 27551, 15968,
- 23077, 27551, 15969, 18095, 12590,
- 23077, 27551, 15969, 18095, 13213, 11400,
- 23077, 27551, 17024,
- 23077, 27551, 17025, 18095, 12590,
- 23077, 27551, 17025, 18095, 13213, 11400,
- 23077, 27551, 20770,
- 23077, 27551, 22619, 18095, 12590,
- 23077, 27551, 22619, 18095, 13213, 11400,
- 23077, 27567, 14828,
- 23077, 27569, 917, 15815, 18095, 11401, 13681, 15968,
- 23077, 27569, 917, 15815, 18095, 11401, 13681, 17024,
- 23077, 27569, 917, 15815, 18095, 11401, 14807, 15968,
- 23077, 27569, 917, 15815, 18095, 11401, 14807, 17024,
- 23077, 27569, 917, 15815, 18095, 11401, 16497, 15968,
- 23077, 27569, 917, 15815, 18095, 11401, 16497, 17024,
- 23077, 27569, 1031, 13680,
- 23077, 27569, 1031, 14806,
- 23077, 27569, 1031, 16496,
- 23077, 27569, 1890,
- 23077, 27569, 6018,
- 23077, 27569, 7649, 14806,
- 23077, 27569, 7649, 18095, 13187, 13681, 15968,
- 23077, 27569, 7649, 18095, 13187, 14807, 15968,
- 23077, 27569, 7649, 18095, 13187, 17275, 13681, 17274,
- 23077, 27569, 7649, 18095, 13187, 17275, 14807, 17274,
- 23077, 27569, 7649, 18095, 17685, 13681, 15968,
- 23077, 27569, 7649, 18095, 17685, 13681, 17274,
- 23077, 27569, 7649, 18095, 17685, 14807, 15968,
- 23077, 27569, 7649, 18095, 17685, 14807, 17274,
- 23077, 27569, 8305, 14806,
- 23077, 27569, 8305, 18095, 13187, 13681, 15968,
- 23077, 27569, 8305, 18095, 13187, 13681, 17024,
- 23077, 27569, 8305, 18095, 13187, 14807, 15968,
- 23077, 27569, 8305, 18095, 13187, 14807, 17024,
- 23077, 27569, 8305, 18095, 17685, 13681, 15968,
- 23077, 27569, 8305, 18095, 17685, 13681, 17024,
- 23077, 27569, 8305, 18095, 17685, 14807, 15968,
- 23077, 27569, 8305, 18095, 17685, 14807, 17024,
- 23077, 27569, 11405, 13680,
- 23077, 27569, 11405, 14806,
- 23077, 27569, 11405, 14816,
- 23077, 27569, 11405, 18095, 13187, 13680,
- 23077, 27569, 11405, 18095, 13187, 14806,
- 23077, 27569, 11405, 18095, 17685, 13680,
- 23077, 27569, 11405, 18095, 17685, 14806,
- 23077, 27569, 12580,
- 23077, 27569, 12856,
- 23077, 27569, 12867, 13680,
- 23077, 27569, 12867, 14806,
- 23077, 27569, 12867, 16496,
- 23077, 27569, 12867, 18095, 13187, 13680,
- 23077, 27569, 12867, 18095, 13187, 14806,
- 23077, 27569, 12867, 18095, 17685, 13680,
- 23077, 27569, 12867, 18095, 17685, 14806,
- 23077, 27569, 12867, 18314,
- 23077, 27569, 12867, 19512,
- 23077, 27569, 14405, 13680,
- 23077, 27569, 14405, 14806,
- 23077, 27569, 14405, 16496,
- 23077, 27569, 15357, 15815, 18095, 11401, 15968,
- 23077, 27569, 15357, 15815, 18095, 11401, 17024,
- 23077, 27569, 15851, 13680,
- 23077, 27569, 15851, 14806,
- 23077, 27569, 15851, 16496,
- 23077, 27569, 15969, 15357, 6998,
- 23077, 27569, 15969, 20498,
- 23077, 27569, 15969, 22618,
- 23077, 27569, 15969, 22619, 15357, 6998,
- 23077, 27569, 16047, 17719, 18095, 11401, 15968,
- 23077, 27569, 16047, 17719, 18095, 11401, 17024,
- 23077, 27569, 16047, 17742,
- 23077, 27569, 17025, 15357, 6998,
- 23077, 27569, 17025, 20499, 13680,
- 23077, 27569, 17025, 20499, 14806,
- 23077, 27569, 17025, 20499, 16496,
- 23077, 27569, 17025, 20499, 18314,
- 23077, 27569, 17275, 15357, 6998,
- 23077, 27569, 17275, 20499, 20124,
- 23077, 27569, 17275, 22619, 15357, 6998,
- 23077, 27569, 17275, 22619, 20124,
- 23077, 27569, 17463, 13680,
- 23077, 27569, 17463, 14806,
- 23077, 27569, 17463, 16496,
- 23077, 27569, 18895, 20236,
- 23077, 27581, 15968,
- 23077, 27581, 15969, 18095, 13186,
- 23077, 27581, 15969, 18095, 17684,
- 23077, 27581, 17024,
- 23077, 27581, 17025, 18095, 13186,
- 23077, 27581, 17025, 18095, 17684,
- 23077, 27581, 22618,
- 23077, 27581, 22619, 18095, 13186,
- 23077, 27581, 22619, 18095, 17684,
- 23090,
- 23096,
- 23105, 2736,
- 23105, 3208,
- 23105, 3500,
- 23105, 6992,
- 23105, 7014,
- 23105, 8229, 22966,
- 23105, 9302,
- 23105, 9843, 10510,
- 23105, 11754,
- 23105, 13066,
- 23105, 13685, 14807, 16393, 16,
- 23105, 13685, 14807, 16393, 26,
- 23105, 13904,
- 23105, 14557, 22966,
- 23105, 14676,
- 23105, 15004,
- 23105, 15993, 10510,
- 23116,
- 23131, 23308,
- 23145, 10510,
- 23147, 3027, 20626,
- 23147, 14807, 3027, 20626,
- 23147, 14807, 19320,
- 23147, 19320,
- 23147, 20099, 19320,
- 23147, 20627, 11445, 8229, 7385, 12448,
- 23147, 20627, 11445, 14557, 7385, 12448,
- 23151, 6952,
- 23154,
- 23157, 19777, 19860,
- 23159, 14155, 6789, 5947, 12342,
- 23159, 14155, 6789, 11303, 13385, 5947, 12342,
- 23159, 14155, 6789, 13385, 5947, 12342,
- 23159, 14155, 6789, 13709, 5947, 12342,
- 23159, 14155, 6789, 16497, 5947, 12342,
- 23159, 14155, 11421, 5947, 12342,
- 23159, 14155, 11421, 11303, 13385, 5947, 12342,
- 23159, 14155, 11421, 13385, 5947, 12342,
- 23159, 14155, 11421, 13709, 5947, 12342,
- 23159, 14155, 11421, 16497, 5947, 12342,
- 23159, 14827, 6789, 5947, 12342,
- 23159, 14827, 6789, 11303, 13385, 5947, 12342,
- 23159, 14827, 6789, 13385, 5947, 12342,
- 23159, 14827, 6789, 13709, 5947, 12342,
- 23159, 14827, 6789, 16497, 5947, 12342,
- 23159, 14827, 11421, 5947, 12342,
- 23159, 14827, 11421, 11303, 13385, 5947, 12342,
- 23159, 14827, 11421, 13385, 5947, 12342,
- 23159, 14827, 11421, 13709, 5947, 12342,
- 23159, 14827, 11421, 16497, 5947, 12342,
- 23159, 19183, 5947, 12342,
- 23159, 19183, 11303, 13385, 5947, 12342,
- 23159, 19183, 13385, 5947, 12342,
- 23159, 19183, 13709, 5947, 12342,
- 23159, 19183, 16497, 5947, 12342,
- 23159, 21109, 5947, 12342,
- 23159, 21109, 11303, 13385, 5947, 12342,
- 23159, 21109, 13385, 5947, 12342,
- 23159, 21109, 13709, 5947, 12342,
- 23159, 21109, 16497, 5947, 12342,
- 23159, 21313, 5947, 12342,
- 23159, 21313, 11303, 13385, 5947, 12342,
- 23159, 21313, 13385, 5947, 12342,
- 23159, 21313, 13709, 5947, 12342,
- 23159, 21313, 16497, 5947, 12342,
- 23159, 22417, 5947, 12342,
- 23159, 22417, 11303, 13385, 5947, 12342,
- 23159, 22417, 13385, 5947, 12342,
- 23159, 22417, 13709, 5947, 12342,
- 23159, 22417, 16497, 5947, 12342,
- 23168,
- 23171, 529, 20912,
- 23177, 2799, 3377, 20597, 10510,
- 23177, 2799, 13901, 10510,
- 23177, 6329, 10122,
- 23177, 12989, 2736,
- 23177, 12989, 3208,
- 23177, 12989, 3500,
- 23177, 12989, 6992,
- 23177, 12989, 7014,
- 23177, 12989, 9302,
- 23177, 12989, 11754,
- 23177, 12989, 13066,
- 23177, 12989, 14676,
- 23177, 12989, 15004,
- 23177, 16091, 10122,
- 23183, 17141, 1485, 17348,
- 23197, 17671, 4,
- 23197, 17671, 14,
- 23197, 17671, 16,
- 23197, 17671, 34,
- 23197, 17671, 50,
- 23207, 46,
- 23213, 10510,
- 23213, 17424,
- 23218,
- 23221, 10511, 12642,
- 23221, 10511, 12644,
- 23221, 10511, 12646,
- 23221, 10511, 12648,
- 23221, 10511, 12650,
- 23221, 10511, 12652,
- 23221, 10511, 12654,
- 23221, 10511, 12656,
- 23221, 10511, 12658,
- 23221, 10511, 12660,
- 23221, 10511, 12662,
- 23221, 10511, 12664,
- 23221, 10511, 12666,
- 23221, 10511, 12668,
- 23221, 10511, 12670,
- 23221, 10511, 12672,
- 23221, 10511, 12674,
- 23221, 10511, 12676,
- 23221, 10511, 12678,
- 23221, 10511, 12680,
- 23221, 10511, 12682,
- 23221, 10511, 12684,
- 23221, 10511, 12686,
- 23221, 10511, 12688,
- 23221, 10511, 12690,
- 23221, 10511, 12692,
- 23221, 10511, 12694,
- 23221, 10511, 12696,
- 23221, 10511, 12698,
- 23221, 10511, 12700,
- 23221, 10511, 12702,
- 23221, 10511, 12704,
- 23221, 10511, 12706,
- 23221, 10511, 12708,
- 23221, 10511, 12710,
- 23221, 10511, 12712,
- 23221, 10511, 12714,
- 23221, 10511, 12716,
- 23221, 10511, 12718,
- 23221, 10511, 12720,
- 23221, 10511, 12722,
- 23221, 10511, 12724,
- 23221, 10511, 12726,
- 23221, 10511, 12728,
- 23221, 10511, 12730,
- 23221, 10511, 12732,
- 23221, 10511, 12734,
- 23221, 10511, 12736,
- 23221, 10511, 12738,
- 23221, 10511, 12740,
- 23221, 10511, 12742,
- 23221, 10511, 12744,
- 23221, 10511, 12746,
- 23221, 10511, 12748,
- 23221, 10511, 12750,
- 23221, 10511, 12752,
- 23221, 10511, 12754,
- 23221, 10511, 12756,
- 23221, 10511, 12758,
- 23221, 10511, 12760,
- 23221, 10511, 12762,
- 23221, 10511, 12764,
- 23221, 10511, 12766,
- 23221, 10511, 12768,
- 23221, 10511, 12770,
- 23221, 10511, 12772,
- 23221, 10511, 12774,
- 23221, 10511, 12776,
- 23221, 10511, 12778,
- 23221, 10511, 12780,
- 23221, 10511, 12782,
- 23221, 10511, 12784,
- 23221, 10511, 12786,
- 23221, 10511, 12788,
- 23221, 10511, 12790,
- 23221, 10511, 12792,
- 23221, 10511, 12794,
- 23221, 10511, 12796,
- 23221, 10511, 12798,
- 23221, 10511, 12800,
- 23221, 10511, 12802,
- 23221, 10511, 12804,
- 23221, 10511, 12806,
- 23221, 10511, 12808,
- 23221, 10511, 12810,
- 23221, 10511, 12812,
- 23221, 10511, 12814,
- 23221, 10511, 12816,
- 23221, 10511, 12818,
- 23221, 10511, 12820,
- 23221, 10511, 12822,
- 23221, 10511, 12824,
- 23221, 10511, 12826,
- 23221, 10511, 12828,
- 23221, 10511, 12830,
- 23221, 10511, 12832,
- 23221, 10511, 12834,
- 23221, 10511, 15830,
- 23221, 10511, 15832,
- 23237, 1051, 20349, 6952,
- 23237, 6952,
- 23255, 20128,
- 23263, 12449, 15814,
- 23263, 12449, 17076,
- 23263, 12449, 17824,
- 23263, 15335, 15814,
- 23263, 15335, 17076,
- 23263, 15335, 17824,
- 23266,
- 23269, 5923, 12594,
- 23271, 20417, 15335, 22417, 12342,
- 23279, 529, 13093, 660,
- 23279, 529, 18937, 13093, 660,
- 23279, 529, 18937, 13093, 661, 11445, 1285, 12248,
- 23279, 529, 18937, 13093, 661, 11445, 1285, 12249, 8228,
- 23279, 529, 18937, 13093, 661, 11445, 1285, 16248,
- 23279, 529, 21314,
- 23279, 529, 22139, 660,
- 23279, 529, 22628,
- 23279, 893, 2623, 22628,
- 23279, 893, 23079, 2623, 13093, 660,
- 23279, 1051, 2623, 13093, 660,
- 23279, 1051, 2623, 22139, 660,
- 23279, 9725, 13093, 660,
- 23279, 10510,
- 23279, 11445, 1284,
- 23279, 11445, 15815, 16248,
- 23279, 11445, 20329, 8757, 12248,
- 23279, 12249, 18923, 529, 13092,
- 23279, 12249, 18923, 12249, 21314,
- 23279, 12249, 18937, 13093, 12249, 21315, 12249, 18937, 13092,
- 23279, 12249, 21315, 12249, 22771, 13092,
- 23279, 12249, 22417, 12342,
- 23279, 12249, 22771, 13093, 12249, 21314,
- 23279, 13093, 661, 529, 21314,
- 23279, 15685, 21314,
- 23279, 15825, 125, 12866,
- 23279, 15825, 125, 12867, 12249, 18937, 13092,
- 23279, 22951, 21314,
- 23285, 16540,
- 23290,
+ 22684,
+ 22773, 13093, 661, 529, 21314,
+ 22773, 13093, 661, 529, 23282,
+ 22773, 18937, 13093, 661, 529, 21314,
+ 22773, 18937, 13093, 661, 529, 23282,
+ 22773, 18937, 21315, 529, 13093, 660,
+ 22773, 18937, 23283, 529, 13093, 660,
+ 22787, 660,
+ 22791, 8756,
+ 22791, 20329, 8756,
+ 22796,
+ 22803, 14828,
+ 22831, 10424,
+ 22833, 14456,
+ 22835, 7029, 10630,
+ 22835, 7385, 6979, 14828,
+ 22835, 12844,
+ 22835, 13705, 10965, 8756,
+ 22835, 14828,
+ 22835, 14945, 8757, 2736,
+ 22835, 14945, 8757, 3500,
+ 22835, 14945, 8757, 6992,
+ 22835, 14945, 8757, 7014,
+ 22835, 14945, 8757, 15004,
+ 22835, 16647, 11754,
+ 22835, 16895, 10965, 8756,
+ 22835, 17725, 8756,
+ 22835, 19783, 10965, 8756,
+ 22835, 20945, 10965, 8756,
+ 22835, 21275, 8756,
+ 22835, 21741, 8269, 6963, 21567, 17140,
+ 22835, 21741, 17141, 1485, 1207, 2736,
+ 22835, 21741, 17141, 1485, 1207, 3208,
+ 22835, 21741, 17141, 1485, 1207, 3376,
+ 22835, 21741, 17141, 1485, 1207, 3500,
+ 22835, 21741, 17141, 1485, 1207, 6992,
+ 22835, 21741, 17141, 1485, 1207, 7014,
+ 22835, 21741, 17141, 1485, 1207, 9302,
+ 22835, 21741, 17141, 1485, 1207, 13066,
+ 22835, 21741, 17141, 1485, 1207, 14676,
+ 22835, 21741, 17141, 1485, 1207, 15004,
+ 22835, 21741, 17141, 1485, 1207, 15984,
+ 22835, 21741, 17141, 1485, 1207, 17214,
+ 22835, 21741, 17141, 1485, 1207, 17312,
+ 22835, 21741, 17141, 1485, 1207, 17314,
+ 22835, 21741, 17141, 1485, 1207, 17984,
+ 22835, 21741, 17141, 1485, 1207, 18932,
+ 22835, 21741, 17141, 1485, 1207, 19764,
+ 22835, 21741, 17141, 1485, 1207, 19846,
+ 22835, 21741, 17141, 1485, 1207, 20158,
+ 22835, 21741, 17141, 1485, 1207, 20594,
+ 22835, 21741, 17141, 1485, 1207, 21570,
+ 22835, 21741, 17141, 1485, 1207, 22554,
+ 22835, 21741, 17141, 1485, 1207, 22576,
+ 22835, 21741, 17141, 1485, 1207, 22578,
+ 22835, 21741, 17141, 1485, 1207, 22580,
+ 22835, 21741, 17141, 1485, 1207, 23140,
+ 22835, 21741, 17141, 1485, 1207, 23142,
+ 22835, 21741, 17141, 1485, 1207, 23144,
+ 22835, 21741, 17141, 1485, 1207, 23484,
+ 22835, 21741, 17141, 1485, 1207, 23486,
+ 22835, 21741, 17141, 1485, 1207, 23488,
+ 22835, 21741, 17141, 1485, 2364,
+ 22835, 21741, 17141, 1485, 7631, 2736,
+ 22835, 21741, 17141, 1485, 7631, 3208,
+ 22835, 21741, 17141, 1485, 7631, 3376,
+ 22835, 21741, 17141, 1485, 7631, 3500,
+ 22835, 21741, 17141, 1485, 7631, 6992,
+ 22835, 21741, 17141, 1485, 7631, 7014,
+ 22835, 21741, 17141, 1485, 7631, 9302,
+ 22835, 21741, 17141, 1485, 7631, 11754,
+ 22835, 21741, 17141, 1485, 7631, 13066,
+ 22835, 21741, 17141, 1485, 7631, 14676,
+ 22835, 21741, 17141, 1485, 7631, 15004,
+ 22835, 21741, 17141, 1485, 7631, 15984,
+ 22835, 21741, 17141, 1485, 7631, 17312,
+ 22835, 21741, 17141, 1485, 7631, 17314,
+ 22835, 21741, 17141, 1485, 7631, 17984,
+ 22835, 21741, 17141, 1485, 7631, 18932,
+ 22835, 21741, 17141, 1485, 7631, 19764,
+ 22835, 21741, 17141, 1485, 7631, 19846,
+ 22835, 21741, 17141, 1485, 7631, 20158,
+ 22835, 21741, 17141, 1485, 7631, 20594,
+ 22835, 21741, 17141, 1485, 7631, 21570,
+ 22835, 21741, 17141, 1485, 7631, 22576,
+ 22835, 21741, 17141, 1485, 7631, 22580,
+ 22835, 21741, 17141, 1485, 7631, 23142,
+ 22835, 21741, 17141, 1485, 7631, 23488,
+ 22835, 21741, 17141, 1485, 7862,
+ 22835, 21741, 17141, 1485, 7864,
+ 22835, 21741, 17141, 1485, 12328,
+ 22835, 21741, 17141, 1485, 13822,
+ 22835, 21741, 17141, 1485, 15638,
+ 22835, 21741, 17141, 1485, 18142,
+ 22835, 21741, 17141, 1485, 18564,
+ 22835, 21741, 17141, 1485, 19570,
+ 22835, 21741, 17141, 1485, 19806,
+ 22835, 21741, 17141, 1485, 20172,
+ 22835, 21741, 17141, 1485, 21568,
+ 22835, 21803, 21256,
+ 22835, 21865, 2349, 8756,
+ 22835, 21865, 2737, 8756,
+ 22835, 21865, 3437, 8756,
+ 22835, 21865, 3501, 8756,
+ 22835, 21865, 7015, 8756,
+ 22835, 21865, 13057, 8756,
+ 22835, 21865, 13177, 8756,
+ 22835, 21865, 14997, 8756,
+ 22835, 21865, 15005, 8756,
+ 22835, 21865, 15707, 8756,
+ 22835, 21865, 16091, 8756,
+ 22835, 21865, 16193, 8756,
+ 22835, 21865, 16521, 8756,
+ 22835, 21865, 16953, 8756,
+ 22835, 21865, 18343, 8756,
+ 22835, 21865, 18815, 8756,
+ 22835, 22703, 20865, 7029, 20536,
+ 22835, 22703, 20865, 8229, 661, 14556,
+ 22835, 22703, 20865, 8229, 661, 16521, 893, 14556,
+ 22835, 22703, 20865, 12249, 661, 12426,
+ 22835, 22703, 20865, 12249, 661, 16521, 893, 12426,
+ 22835, 22703, 20865, 20202,
+ 22835, 22703, 20865, 20374,
+ 22835, 22703, 20865, 20537, 7021, 8228,
+ 22835, 22703, 20865, 20537, 7021, 12248,
+ 22835, 22703, 20865, 20537, 7021, 12426,
+ 22835, 22703, 20865, 20537, 7021, 13739, 8228,
+ 22835, 22703, 20865, 20537, 7021, 13739, 14556,
+ 22835, 22703, 20865, 20537, 7021, 14556,
+ 22835, 22703, 20865, 20537, 7021, 15173, 8228,
+ 22835, 22703, 20865, 20537, 7021, 15173, 14556,
+ 22835, 22703, 20865, 22199, 22394,
+ 22835, 22703, 20865, 23106,
+ 22851, 6589, 16748,
+ 22851, 17046,
+ 22854,
+ 22857, 21865, 15590,
+ 22857, 21865, 21566,
+ 22857, 21865, 22550,
+ 22859, 16031, 893, 8749, 10510,
+ 22860,
+ 22877, 6988,
+ 22877, 17131, 10510,
+ 22877, 17131, 10511, 11445, 6652,
+ 22877, 19363, 19791, 10510,
+ 22879, 22215, 21448,
+ 22881, 15335, 22419, 12342,
+ 22891, 12630,
+ 22893, 7029, 10630,
+ 22893, 12844,
+ 22893, 12989, 2736,
+ 22893, 12989, 2737, 20771, 7012,
+ 22893, 12989, 3208,
+ 22893, 12989, 3500,
+ 22893, 12989, 3501, 20771, 7012,
+ 22893, 12989, 6992,
+ 22893, 12989, 7014,
+ 22893, 12989, 9302,
+ 22893, 12989, 11754,
+ 22893, 12989, 13066,
+ 22893, 12989, 14676,
+ 22893, 12989, 15004,
+ 22893, 12989, 15005, 20771, 7012,
+ 22893, 14807, 16393, 0,
+ 22893, 14807, 16393, 2,
+ 22893, 14807, 16393, 4,
+ 22893, 14807, 16393, 6,
+ 22893, 14807, 16393, 8,
+ 22893, 14807, 16393, 10,
+ 22893, 14807, 16393, 12,
+ 22893, 14807, 16393, 14,
+ 22893, 14807, 16393, 16,
+ 22893, 14807, 16393, 18,
+ 22893, 14807, 16393, 20,
+ 22893, 14807, 16393, 22,
+ 22893, 14807, 16393, 24,
+ 22893, 14807, 16393, 26,
+ 22893, 14807, 16393, 28,
+ 22893, 14807, 16393, 30,
+ 22893, 14807, 16393, 32,
+ 22893, 14807, 16393, 34,
+ 22893, 14807, 16393, 36,
+ 22893, 14807, 16393, 38,
+ 22893, 14807, 16393, 40,
+ 22893, 14807, 16393, 42,
+ 22893, 14807, 16393, 44,
+ 22893, 14807, 16393, 46,
+ 22893, 14807, 16393, 48,
+ 22893, 14807, 16393, 50,
+ 22893, 14807, 16393, 72,
+ 22893, 14807, 16393, 290,
+ 22893, 14807, 16393, 376,
+ 22893, 14807, 16393, 474,
+ 22893, 14807, 16393, 496,
+ 22893, 14807, 16393, 504,
+ 22893, 14807, 16393, 788,
+ 22893, 14807, 16393, 5500,
+ 22893, 16647, 3376,
+ 22893, 16647, 15984,
+ 22893, 16647, 17312,
+ 22893, 16647, 17984,
+ 22893, 16647, 18932,
+ 22893, 16647, 19764,
+ 22893, 16647, 19846,
+ 22893, 16647, 20158,
+ 22893, 16647, 20594,
+ 22893, 16647, 21570,
+ 22893, 17141, 5432,
+ 22893, 17671, 16393, 0,
+ 22893, 17671, 16393, 2,
+ 22893, 17671, 16393, 4,
+ 22893, 17671, 16393, 6,
+ 22893, 17671, 16393, 8,
+ 22893, 17671, 16393, 10,
+ 22893, 17671, 16393, 12,
+ 22893, 17671, 16393, 14,
+ 22893, 17671, 16393, 16,
+ 22893, 17671, 16393, 18,
+ 22893, 17671, 16393, 20,
+ 22893, 17671, 16393, 22,
+ 22893, 17671, 16393, 24,
+ 22893, 17671, 16393, 26,
+ 22893, 17671, 16393, 28,
+ 22893, 17671, 16393, 30,
+ 22893, 17671, 16393, 32,
+ 22893, 17671, 16393, 34,
+ 22893, 17671, 16393, 36,
+ 22893, 17671, 16393, 38,
+ 22893, 17671, 16393, 40,
+ 22893, 17671, 16393, 42,
+ 22893, 17671, 16393, 44,
+ 22893, 17671, 16393, 46,
+ 22893, 17671, 16393, 48,
+ 22893, 17671, 16393, 50,
+ 22893, 17671, 16393, 72,
+ 22893, 17671, 16393, 290,
+ 22893, 17671, 16393, 376,
+ 22893, 17671, 16393, 474,
+ 22893, 17671, 16393, 496,
+ 22893, 17671, 16393, 504,
+ 22893, 17671, 16393, 788,
+ 22893, 17671, 16393, 5500,
+ 22893, 22791, 510,
+ 22919, 6952,
+ 22931, 10511, 17372,
+ 22931, 10511, 18916,
+ 22931, 10511, 19210,
+ 22931, 10511, 19342,
+ 22931, 10511, 19386,
+ 22931, 15289, 10511, 8,
+ 22931, 15289, 10511, 16,
+ 22931, 15289, 10511, 28,
+ 22931, 15289, 10511, 40,
+ 22931, 15289, 10511, 58,
+ 22931, 15289, 10511, 72,
+ 22931, 15289, 10511, 96,
+ 22931, 15289, 10511, 314,
+ 22931, 15289, 10511, 704,
+ 22931, 15289, 10511, 19217, 34,
+ 22931, 15289, 10511, 19217, 608,
+ 22931, 15289, 10511, 25169, 8,
+ 22931, 16393, 0,
+ 22931, 16393, 8,
+ 22931, 16393, 16,
+ 22931, 16393, 28,
+ 22931, 16393, 40,
+ 22931, 16393, 58,
+ 22931, 16393, 72,
+ 22931, 16393, 96,
+ 22931, 16393, 108,
+ 22931, 16393, 126,
+ 22931, 16393, 150,
+ 22931, 16393, 248,
+ 22931, 16393, 272,
+ 22931, 16393, 314,
+ 22931, 16393, 344,
+ 22931, 16393, 358,
+ 22931, 16393, 394,
+ 22931, 16393, 426,
+ 22931, 16393, 466,
+ 22931, 16393, 548,
+ 22931, 16393, 598,
+ 22931, 16393, 614,
+ 22931, 16393, 648,
+ 22931, 16393, 704,
+ 22931, 16393, 712,
+ 22931, 16393, 776,
+ 22931, 16393, 994,
+ 22931, 16393, 1110,
+ 22931, 16393, 1208,
+ 22931, 16393, 1230,
+ 22931, 16393, 1580,
+ 22931, 16393, 1900,
+ 22931, 16393, 2018,
+ 22931, 16393, 2258,
+ 22931, 16393, 2554,
+ 22931, 16393, 2604,
+ 22931, 16393, 2674,
+ 22931, 16393, 2804,
+ 22931, 16393, 3086,
+ 22931, 16393, 3180,
+ 22931, 16393, 3254,
+ 22931, 16393, 3386,
+ 22931, 16393, 3466,
+ 22931, 16393, 6530,
+ 22931, 16393, 11014,
+ 22931, 16393, 19217, 34,
+ 22931, 16393, 19217, 608,
+ 22931, 22182,
+ 22945, 15319, 17140,
+ 22948,
+ 22953, 12449, 18980,
+ 22953, 15335, 893, 12449, 18980,
+ 22953, 15335, 18980,
+ 22958,
+ 22961, 8756,
+ 22971, 10510,
+ 22979, 6952,
+ 22980,
+ 23001, 14828,
+ 23003, 10510,
+ 23011, 20864,
+ 23026,
+ 23032,
+ 23035, 16540,
+ 23038,
+ 23079, 879, 6049, 14807, 21536,
+ 23079, 879, 10657, 14807, 21536,
+ 23079, 879, 17635, 2758,
+ 23079, 879, 19021, 322,
+ 23079, 1425, 11442,
+ 23079, 1425, 12455, 17024,
+ 23079, 1425, 12455, 20130,
+ 23079, 2247, 13739, 9725, 15172,
+ 23079, 2247, 15173, 9725, 13738,
+ 23079, 3101, 17024,
+ 23079, 3101, 17606,
+ 23079, 3101, 20130,
+ 23079, 6784,
+ 23079, 6839, 7385, 9720,
+ 23079, 6839, 7385, 15824,
+ 23079, 6839, 9720,
+ 23079, 6839, 11435, 9720,
+ 23079, 6839, 15824,
+ 23079, 6839, 20472,
+ 23079, 6839, 20723, 20124,
+ 23079, 6953, 20965, 20291, 9383, 697, 529, 6656,
+ 23079, 6953, 20965, 20291, 9383, 697, 529, 6657, 19092,
+ 23079, 6953, 20965, 20291, 9383, 18009, 19092,
+ 23079, 6979, 22270,
+ 23079, 6979, 22272,
+ 23079, 6979, 22274,
+ 23079, 6979, 22276,
+ 23079, 6979, 22278,
+ 23079, 7029, 10630,
+ 23079, 7380,
+ 23079, 7414,
+ 23079, 7415, 3048,
+ 23079, 7415, 20125, 15814,
+ 23079, 7415, 27539, 10924,
+ 23079, 7415, 27539, 12866,
+ 23079, 7415, 27539, 20498,
+ 23079, 7415, 27573, 12866,
+ 23079, 7415, 27573, 20498,
+ 23079, 8265, 20014,
+ 23079, 8265, 20016,
+ 23079, 8265, 20018,
+ 23079, 8265, 20020,
+ 23079, 8265, 20022,
+ 23079, 8265, 20024,
+ 23079, 8265, 20026,
+ 23079, 8265, 22662,
+ 23079, 8277, 18737, 20610,
+ 23079, 9196,
+ 23079, 9383, 17742,
+ 23079, 9383, 18498,
+ 23079, 9383, 19238,
+ 23079, 9383, 20728,
+ 23079, 12491, 17024,
+ 23079, 12491, 17606,
+ 23079, 12491, 20130,
+ 23079, 12838,
+ 23079, 12844,
+ 23079, 13185, 13681, 17024,
+ 23079, 13185, 13681, 20130,
+ 23079, 13185, 14807, 17024,
+ 23079, 13185, 14807, 20130,
+ 23079, 13185, 22436,
+ 23079, 13327, 17024,
+ 23079, 13327, 17606,
+ 23079, 13327, 20130,
+ 23079, 13931, 8062,
+ 23079, 13931, 8063, 18008,
+ 23079, 13931, 8063, 20726,
+ 23079, 13931, 9721, 9722,
+ 23079, 13931, 9721, 9723, 11596,
+ 23079, 13931, 9721, 9723, 20726,
+ 23079, 13931, 9721, 15814,
+ 23079, 13931, 9721, 18008,
+ 23079, 13931, 9721, 20726,
+ 23079, 13931, 9721, 21506,
+ 23079, 13931, 9721, 21507, 11596,
+ 23079, 13931, 9721, 21507, 20726,
+ 23079, 13931, 13214,
+ 23079, 13931, 13215, 9720,
+ 23079, 13931, 13215, 20726,
+ 23079, 13931, 14812,
+ 23079, 13931, 14813, 9720,
+ 23079, 13931, 14813, 20726,
+ 23079, 13931, 14974,
+ 23079, 13931, 14975, 17116,
+ 23079, 13931, 14975, 18008,
+ 23079, 13931, 15825, 17742,
+ 23079, 13931, 15825, 18008,
+ 23079, 13931, 15825, 18498,
+ 23079, 13931, 17752,
+ 23079, 13931, 20729, 15968,
+ 23079, 13931, 20729, 17024,
+ 23079, 14964,
+ 23079, 14965, 521, 8276,
+ 23079, 14965, 521, 8277, 20124,
+ 23079, 14965, 521, 17270,
+ 23079, 14965, 521, 17271, 20124,
+ 23079, 14965, 6045, 8276,
+ 23079, 14965, 20124,
+ 23079, 14975, 15793, 2280,
+ 23079, 14975, 15793, 7474,
+ 23079, 14975, 15793, 16520,
+ 23079, 15075, 17024,
+ 23079, 15075, 17606,
+ 23079, 15075, 20130,
+ 23079, 15173, 6057, 19093, 7021, 1727, 16268,
+ 23079, 15719, 16000,
+ 23079, 15719, 16240,
+ 23079, 15793, 16838,
+ 23079, 15793, 17116,
+ 23079, 15793, 18498,
+ 23079, 15973, 19803, 697, 18498,
+ 23079, 15973, 19803, 6657, 18498,
+ 23079, 15973, 19803, 18499, 696,
+ 23079, 15973, 19803, 18499, 6656,
+ 23079, 16046,
+ 23079, 17103, 17024,
+ 23079, 17103, 17606,
+ 23079, 17103, 20130,
+ 23079, 17271, 3409, 17607, 8276,
+ 23079, 17271, 3409, 20617, 16249, 13930,
+ 23079, 17271, 13935, 17493, 12582,
+ 23079, 17271, 15779, 16249, 13930,
+ 23079, 17271, 15779, 20491, 2758,
+ 23079, 17271, 16249, 13931, 18806,
+ 23079, 17271, 18339, 8276,
+ 23079, 17271, 20491, 2759, 1444,
+ 23079, 17919, 6958,
+ 23079, 17919, 10538,
+ 23079, 17919, 13119, 14349, 10926,
+ 23079, 17919, 14974,
+ 23079, 17919, 18050,
+ 23079, 17919, 18806,
+ 23079, 17919, 20789, 13680,
+ 23079, 17919, 20789, 14806,
+ 23079, 17919, 23432,
+ 23079, 17919, 23433, 22620,
+ 23079, 18983, 13185, 22620,
+ 23079, 18983, 13681, 17024,
+ 23079, 18983, 13681, 20130,
+ 23079, 18983, 14807, 17024,
+ 23079, 18983, 14807, 20130,
+ 23079, 18983, 22436,
+ 23079, 19025, 17606,
+ 23079, 19025, 19030,
+ 23079, 19803, 20499, 696,
+ 23079, 19803, 20499, 6656,
+ 23079, 19803, 20499, 18498,
+ 23079, 19841, 17742,
+ 23079, 19841, 18498,
+ 23079, 19841, 20726,
+ 23079, 19888,
+ 23079, 19889, 487, 15006,
+ 23079, 19889, 6993, 17987, 17068,
+ 23079, 19889, 6993, 17987, 17069, 9720,
+ 23079, 19889, 9720,
+ 23079, 19889, 9721, 487, 15006,
+ 23079, 19889, 9721, 15007, 10500,
+ 23079, 19889, 9721, 15007, 18008,
+ 23079, 19889, 13506,
+ 23079, 19889, 13507, 10089, 16424,
+ 23079, 19889, 13507, 15006,
+ 23079, 19889, 13507, 15007, 9720,
+ 23079, 19889, 15007, 10500,
+ 23079, 19889, 15007, 18008,
+ 23079, 19889, 16521, 10089, 16424,
+ 23079, 20035, 7415, 9196,
+ 23079, 20035, 12974,
+ 23079, 20035, 13711, 15922,
+ 23079, 20035, 15070,
+ 23079, 20035, 15340,
+ 23079, 20035, 16196,
+ 23079, 20375, 22270,
+ 23079, 20375, 22272,
+ 23079, 20375, 22274,
+ 23079, 20375, 22276,
+ 23079, 20375, 22278,
+ 23079, 20375, 22280,
+ 23079, 20375, 22282,
+ 23079, 20375, 22284,
+ 23079, 20375, 22904,
+ 23079, 20375, 22906,
+ 23079, 20375, 22908,
+ 23079, 20375, 22910,
+ 23079, 20375, 22912,
+ 23079, 20375, 22914,
+ 23079, 20375, 22916,
+ 23079, 20429, 1727, 14838,
+ 23079, 20429, 1727, 21470,
+ 23079, 20429, 19093, 7021, 15310,
+ 23079, 21149, 696,
+ 23079, 21149, 6656,
+ 23079, 21149, 22156,
+ 23079, 21214,
+ 23079, 21215, 487, 15006,
+ 23079, 21215, 7015, 17987, 20900,
+ 23079, 21215, 13507, 15007, 12867, 15007, 16248,
+ 23079, 21215, 15007, 10500,
+ 23079, 21215, 15007, 18008,
+ 23079, 21215, 16521, 10089, 16425, 20900,
+ 23079, 21215, 16521, 10089, 16425, 20901, 10500,
+ 23079, 21216,
+ 23079, 21217, 7015, 17987, 20901, 6020,
+ 23079, 21217, 7418,
+ 23079, 21217, 10089, 696,
+ 23079, 21217, 10089, 6656,
+ 23079, 21217, 10089, 13506,
+ 23079, 21217, 10089, 15006,
+ 23079, 21217, 10089, 16424,
+ 23079, 21217, 10089, 16520,
+ 23079, 21217, 10089, 16521, 16865, 19994,
+ 23079, 21217, 10089, 16521, 20900,
+ 23079, 21217, 10089, 16865, 18192,
+ 23079, 21217, 13506,
+ 23079, 21217, 13507, 697, 16521, 16212,
+ 23079, 21217, 13507, 697, 16521, 16213, 15007, 10500,
+ 23079, 21217, 13507, 697, 16521, 16213, 15007, 20900,
+ 23079, 21217, 13507, 6020,
+ 23079, 21217, 13507, 6021, 9725, 16520,
+ 23079, 21217, 13507, 10089, 16424,
+ 23079, 21217, 13507, 15007, 7612,
+ 23079, 21217, 13507, 15007, 10500,
+ 23079, 21217, 13507, 15007, 10501, 6071, 6020,
+ 23079, 21217, 13507, 15007, 10501, 13507, 6020,
+ 23079, 21217, 13507, 15007, 10501, 13507, 13400,
+ 23079, 21217, 13507, 15007, 10501, 15007, 6020,
+ 23079, 21217, 13507, 15007, 10501, 15007, 19588,
+ 23079, 21217, 13507, 15007, 10501, 15007, 20900,
+ 23079, 21217, 13507, 15007, 12867, 15007, 15166,
+ 23079, 21217, 13507, 15007, 12867, 15007, 16248,
+ 23079, 21217, 13507, 15007, 15595, 323, 16521, 696,
+ 23079, 21217, 13507, 15007, 15595, 2759, 16521, 696,
+ 23079, 21217, 13507, 15007, 15814,
+ 23079, 21217, 13507, 15007, 15871, 16521, 696,
+ 23079, 21217, 13507, 15007, 16219, 16521, 696,
+ 23079, 21217, 13507, 15007, 16219, 16521, 16212,
+ 23079, 21217, 13507, 15007, 17717, 16521, 696,
+ 23079, 21217, 13507, 15007, 18009, 13507, 6020,
+ 23079, 21217, 13507, 15007, 18009, 13507, 20498,
+ 23079, 21217, 13507, 15007, 19548,
+ 23079, 21217, 13507, 15870,
+ 23079, 21217, 13507, 16212,
+ 23079, 21217, 13507, 16213, 2280,
+ 23079, 21217, 13507, 16213, 16521, 696,
+ 23079, 21217, 13507, 16213, 16521, 697, 15007, 10500,
+ 23079, 21217, 13507, 16520,
+ 23079, 21217, 13507, 16521, 697, 17069, 15007, 18008,
+ 23079, 21217, 13507, 16521, 6020,
+ 23079, 21217, 13507, 16521, 6021, 15007, 20498,
+ 23079, 21217, 13507, 16521, 10088,
+ 23079, 21217, 13507, 16521, 10089, 6020,
+ 23079, 21217, 13507, 16521, 10089, 20900,
+ 23079, 21217, 13507, 16521, 12857, 16424,
+ 23079, 21217, 13507, 16521, 15006,
+ 23079, 21217, 13507, 16521, 15007, 6020,
+ 23079, 21217, 13507, 16521, 15007, 15594,
+ 23079, 21217, 13507, 16521, 15007, 15595, 2758,
+ 23079, 21217, 13507, 16521, 15007, 15870,
+ 23079, 21217, 13507, 16521, 15007, 16212,
+ 23079, 21217, 13507, 16521, 15007, 16218,
+ 23079, 21217, 13507, 16521, 15007, 17716,
+ 23079, 21217, 13507, 16521, 15007, 20901, 16212,
+ 23079, 21217, 13507, 16521, 16212,
+ 23079, 21217, 13507, 16521, 16213, 17069, 15007, 10500,
+ 23079, 21217, 13507, 16521, 16424,
+ 23079, 21217, 13507, 16521, 16865, 19994,
+ 23079, 21217, 13507, 16521, 17766,
+ 23079, 21217, 13507, 16521, 17767, 15007, 10500,
+ 23079, 21217, 13507, 16521, 20499, 15007, 6020,
+ 23079, 21217, 13507, 16521, 20900,
+ 23079, 21217, 13507, 16521, 20901, 13507, 6020,
+ 23079, 21217, 13507, 16521, 20901, 15007, 10500,
+ 23079, 21217, 13507, 16521, 20901, 15007, 10501, 6020,
+ 23079, 21217, 13507, 16521, 20901, 15007, 10501, 20900,
+ 23079, 21217, 13507, 16521, 20901, 15007, 18008,
+ 23079, 21217, 13507, 16521, 20901, 15870,
+ 23079, 21217, 13507, 16521, 20901, 15871, 15007, 18008,
+ 23079, 21217, 13507, 16521, 20901, 16212,
+ 23079, 21217, 13507, 16521, 20901, 16213, 15007, 10500,
+ 23079, 21217, 13507, 16521, 20901, 16521, 6020,
+ 23079, 21217, 13507, 16865, 18192,
+ 23079, 21217, 15006,
+ 23079, 21217, 15007, 7418,
+ 23079, 21217, 15007, 9725, 3501, 17986,
+ 23079, 21217, 15007, 9725, 7015, 16865, 19994,
+ 23079, 21217, 15007, 10501, 6020,
+ 23079, 21217, 15007, 10501, 19588,
+ 23079, 21217, 15007, 10501, 20900,
+ 23079, 21217, 15007, 15167, 3501, 17986,
+ 23079, 21217, 15007, 15167, 7015, 17986,
+ 23079, 21217, 15007, 15167, 13507, 6020,
+ 23079, 21217, 15007, 15167, 15005, 17986,
+ 23079, 21217, 15007, 15167, 16425, 696,
+ 23079, 21217, 15007, 17607, 10089, 16424,
+ 23079, 21217, 15007, 17607, 13507, 16520,
+ 23079, 21217, 15007, 17607, 13507, 16521, 20498,
+ 23079, 21217, 15007, 17607, 16521, 10088,
+ 23079, 21217, 15007, 18008,
+ 23079, 21217, 16425, 696,
+ 23079, 21217, 16425, 6020,
+ 23079, 21217, 16425, 6656,
+ 23079, 21217, 16425, 6657, 16691, 17716,
+ 23079, 21217, 16425, 6657, 16893, 15874,
+ 23079, 21217, 16425, 6657, 16893, 20498,
+ 23079, 21217, 16425, 13506,
+ 23079, 21217, 16425, 13507, 15006,
+ 23079, 21217, 16425, 15006,
+ 23079, 21217, 16425, 16865, 18192,
+ 23079, 21217, 16425, 19105, 15006,
+ 23079, 21217, 16521, 696,
+ 23079, 21217, 16521, 697, 15007, 10500,
+ 23079, 21217, 16521, 6021, 9725, 13506,
+ 23079, 21217, 16521, 6656,
+ 23079, 21217, 16521, 10089, 16424,
+ 23079, 21217, 16521, 15007, 15595, 2759, 13507, 696,
+ 23079, 21217, 16521, 15007, 15595, 2759, 13507, 17766,
+ 23079, 21217, 16521, 15007, 15595, 13507, 696,
+ 23079, 21217, 16521, 15007, 15871, 13507, 696,
+ 23079, 21217, 16521, 15007, 16219, 13507, 696,
+ 23079, 21217, 16521, 15007, 16424,
+ 23079, 21217, 16521, 15007, 17717, 13507, 696,
+ 23079, 21217, 16521, 15007, 17717, 13507, 16212,
+ 23079, 21217, 16521, 16424,
+ 23079, 21217, 16521, 16865, 18192,
+ 23079, 21218,
+ 23079, 21219, 6993, 17987, 17068,
+ 23079, 21219, 6993, 17987, 17069, 6020,
+ 23079, 21219, 6993, 17987, 17069, 7015, 6020,
+ 23079, 21219, 6993, 17987, 17069, 15007, 18008,
+ 23079, 21219, 6993, 17987, 17069, 16212,
+ 23079, 21219, 6993, 17987, 17069, 16213, 487, 15006,
+ 23079, 21219, 6993, 17987, 17069, 16213, 15007, 10500,
+ 23079, 21219, 7015, 17986,
+ 23079, 21219, 7015, 17987, 6020,
+ 23079, 21219, 7015, 17987, 16212,
+ 23079, 21219, 7015, 17987, 20900,
+ 23079, 21219, 7015, 17987, 20901, 14840,
+ 23079, 21219, 7418,
+ 23079, 21219, 7419, 6993, 17987, 17068,
+ 23079, 21219, 7419, 6993, 17987, 17069, 6020,
+ 23079, 21219, 7419, 6993, 17987, 17069, 7015, 6020,
+ 23079, 21219, 7419, 15007, 10500,
+ 23079, 21219, 14841, 13507, 15007, 10500,
+ 23079, 21219, 14841, 15778,
+ 23079, 21219, 14841, 15779, 15007, 10500,
+ 23079, 21219, 14841, 15779, 15007, 10501, 6020,
+ 23079, 21219, 14841, 16424,
+ 23079, 21219, 15007, 6020,
+ 23079, 21219, 15007, 10500,
+ 23079, 21219, 15007, 18008,
+ 23079, 21219, 17607, 9761, 17964,
+ 23079, 21220,
+ 23079, 21221, 10089, 15006,
+ 23079, 21221, 13507, 10089, 16425, 322,
+ 23079, 21221, 13507, 10089, 16425, 2758,
+ 23079, 21221, 13507, 10089, 16425, 15166,
+ 23079, 21221, 16521, 10089, 16425, 20900,
+ 23079, 21221, 16521, 10089, 16425, 20901, 322,
+ 23079, 21221, 16521, 10089, 16425, 20901, 2758,
+ 23079, 21221, 16521, 15006,
+ 23079, 21221, 19548,
+ 23079, 21222,
+ 23079, 21223, 487, 15006,
+ 23079, 21223, 6993, 17987, 17068,
+ 23079, 21223, 10089, 16424,
+ 23079, 21223, 13506,
+ 23079, 21223, 15007, 10500,
+ 23079, 21223, 15007, 18008,
+ 23079, 21223, 16425, 696,
+ 23079, 21560,
+ 23079, 21825, 20429, 1727, 8930,
+ 23079, 22140,
+ 23079, 22155, 20429, 1727, 8930,
+ 23079, 22178,
+ 23079, 22179, 10089, 6657, 16521, 15007, 13507, 12856,
+ 23079, 22179, 10089, 16424,
+ 23079, 22179, 13506,
+ 23079, 22179, 13507, 10089, 16424,
+ 23079, 22179, 13507, 10089, 16425, 2758,
+ 23079, 22179, 13507, 15006,
+ 23079, 22179, 13507, 15007, 322,
+ 23079, 22179, 13507, 15007, 2758,
+ 23079, 22179, 13507, 16521, 10088,
+ 23079, 22179, 13507, 16521, 16424,
+ 23079, 22179, 16425, 696,
+ 23079, 22179, 16425, 13506,
+ 23079, 22179, 16425, 13507, 15007, 13507, 15006,
+ 23079, 22179, 16425, 13507, 15007, 13507, 15007, 2758,
+ 23079, 22179, 16521, 10089, 16424,
+ 23079, 22179, 16521, 10089, 16425, 322,
+ 23079, 22179, 16521, 10089, 16425, 2758,
+ 23079, 22180,
+ 23079, 22181, 487, 15006,
+ 23079, 22181, 6993, 17987, 17069, 9720,
+ 23079, 22181, 7015, 17987, 20900,
+ 23079, 22181, 9720,
+ 23079, 22181, 9721, 487, 15006,
+ 23079, 22181, 9721, 15007, 10500,
+ 23079, 22181, 9721, 15007, 18008,
+ 23079, 22181, 10088,
+ 23079, 22181, 10089, 6657, 13507, 15007, 7613, 16520,
+ 23079, 22181, 13506,
+ 23079, 22181, 13507, 10089, 16424,
+ 23079, 22181, 13507, 15006,
+ 23079, 22181, 13507, 15007, 9720,
+ 23079, 22181, 13507, 15007, 10500,
+ 23079, 22181, 13507, 15007, 13680,
+ 23079, 22181, 13507, 15007, 14806,
+ 23079, 22181, 13507, 16212,
+ 23079, 22181, 13507, 16521, 10088,
+ 23079, 22181, 13507, 16521, 10089, 20900,
+ 23079, 22181, 13507, 16521, 16424,
+ 23079, 22181, 14806,
+ 23079, 22181, 15007, 10500,
+ 23079, 22181, 15007, 10501, 20617, 13506,
+ 23079, 22181, 15007, 17607, 16521, 10088,
+ 23079, 22181, 16424,
+ 23079, 22181, 16425, 13506,
+ 23079, 22181, 16425, 13507, 15006,
+ 23079, 22181, 16425, 15006,
+ 23079, 22181, 16520,
+ 23079, 22181, 16521, 10089, 16424,
+ 23079, 22816,
+ 23079, 22817, 10089, 16424,
+ 23079, 22817, 13506,
+ 23079, 22817, 13507, 6020,
+ 23079, 22817, 13507, 10089, 16424,
+ 23079, 22817, 13507, 13400,
+ 23079, 22817, 13507, 16520,
+ 23079, 22817, 13507, 16521, 10088,
+ 23079, 22817, 13507, 16521, 12857, 16424,
+ 23079, 22817, 13507, 16521, 15006,
+ 23079, 22817, 13507, 16521, 16424,
+ 23079, 22817, 13507, 16521, 17766,
+ 23079, 22817, 16425, 696,
+ 23079, 22817, 16425, 13506,
+ 23079, 22817, 16521, 696,
+ 23079, 22817, 16521, 10089, 16424,
+ 23079, 22817, 16521, 10089, 16425, 6020,
+ 23079, 22968,
+ 23079, 25088,
+ 23079, 25089, 9720,
+ 23079, 25089, 13507, 10089, 16425, 520,
+ 23079, 25089, 16521, 10089, 16425, 520,
+ 23079, 25389, 697, 6657, 13680,
+ 23079, 25389, 697, 6657, 14806,
+ 23079, 25389, 697, 6657, 22621, 13680,
+ 23079, 25389, 697, 6657, 22621, 14806,
+ 23079, 25389, 697, 22436,
+ 23079, 25389, 6657, 22436,
+ 23079, 25389, 10501, 661, 10501, 20398,
+ 23079, 27325, 15875, 6018,
+ 23079, 27325, 20499, 19008,
+ 23079, 27475, 20670,
+ 23079, 27477, 917, 17059, 15968,
+ 23079, 27477, 917, 17059, 17024,
+ 23079, 27477, 917, 17059, 17274,
+ 23079, 27477, 18894,
+ 23079, 27477, 27555, 15968,
+ 23079, 27477, 27555, 17024,
+ 23079, 27477, 27555, 22620,
+ 23079, 27477, 27585, 15968,
+ 23079, 27477, 27585, 17024,
+ 23079, 27477, 27585, 22620,
+ 23079, 27489, 15874,
+ 23079, 27489, 19492,
+ 23079, 27489, 20498,
+ 23079, 27489, 20499, 15968,
+ 23079, 27489, 20499, 22620,
+ 23079, 27497, 5509, 13680,
+ 23079, 27497, 5509, 14806,
+ 23079, 27497, 5509, 16496,
+ 23079, 27497, 5509, 18314,
+ 23079, 27497, 17607, 5509, 13680,
+ 23079, 27497, 17607, 5509, 14806,
+ 23079, 27497, 17607, 5509, 16496,
+ 23079, 27497, 17607, 5509, 18314,
+ 23079, 27497, 17607, 19107, 13680,
+ 23079, 27497, 17607, 19107, 14806,
+ 23079, 27497, 17607, 19107, 16496,
+ 23079, 27497, 17607, 19107, 18314,
+ 23079, 27497, 19107, 13680,
+ 23079, 27497, 19107, 14806,
+ 23079, 27497, 19107, 16496,
+ 23079, 27497, 19107, 18314,
+ 23079, 27523, 18894,
+ 23079, 27523, 27555, 15968,
+ 23079, 27523, 27555, 17024,
+ 23079, 27523, 27555, 22620,
+ 23079, 27523, 27585, 15968,
+ 23079, 27523, 27585, 17024,
+ 23079, 27523, 27585, 22620,
+ 23079, 27529, 15874,
+ 23079, 27529, 20498,
+ 23079, 27529, 20499, 15968,
+ 23079, 27529, 20499, 22620,
+ 23079, 27535, 14828,
+ 23079, 27539, 917, 15815, 14807, 15968,
+ 23079, 27539, 917, 15815, 14807, 17024,
+ 23079, 27539, 917, 15815, 16497, 15968,
+ 23079, 27539, 917, 15815, 16497, 17024,
+ 23079, 27539, 1031, 13680,
+ 23079, 27539, 1031, 14806,
+ 23079, 27539, 1031, 16496,
+ 23079, 27539, 1890,
+ 23079, 27539, 6019, 13680,
+ 23079, 27539, 6019, 14806,
+ 23079, 27539, 6019, 16496,
+ 23079, 27539, 7649, 13680,
+ 23079, 27539, 7649, 14806,
+ 23079, 27539, 7649, 16496,
+ 23079, 27539, 7649, 18095, 12590,
+ 23079, 27539, 7649, 18095, 13213, 11400,
+ 23079, 27539, 8305, 13680,
+ 23079, 27539, 8305, 14806,
+ 23079, 27539, 8305, 14807, 15968,
+ 23079, 27539, 8305, 16496,
+ 23079, 27539, 8305, 18095, 12590,
+ 23079, 27539, 8305, 18095, 13213, 11400,
+ 23079, 27539, 11405, 12867, 15969, 13680,
+ 23079, 27539, 11405, 12867, 15969, 14806,
+ 23079, 27539, 11405, 12867, 15969, 16496,
+ 23079, 27539, 11405, 12867, 17275, 13680,
+ 23079, 27539, 11405, 12867, 17275, 14806,
+ 23079, 27539, 11405, 12867, 17275, 16496,
+ 23079, 27539, 11405, 18095, 12590,
+ 23079, 27539, 11405, 18095, 13213, 11400,
+ 23079, 27539, 11405, 19589, 9771, 13680,
+ 23079, 27539, 11405, 19589, 9771, 14806,
+ 23079, 27539, 11405, 19589, 9771, 16496,
+ 23079, 27539, 12581, 13680,
+ 23079, 27539, 12581, 14806,
+ 23079, 27539, 12581, 16496,
+ 23079, 27539, 12856,
+ 23079, 27539, 12867, 10875, 20498,
+ 23079, 27539, 12867, 18095, 12590,
+ 23079, 27539, 12867, 18095, 13213, 11400,
+ 23079, 27539, 12867, 18767, 13680,
+ 23079, 27539, 12867, 18767, 14806,
+ 23079, 27539, 12867, 18767, 16496,
+ 23079, 27539, 12867, 18767, 18314,
+ 23079, 27539, 12867, 22815, 13680,
+ 23079, 27539, 12867, 22815, 14806,
+ 23079, 27539, 12867, 22815, 16496,
+ 23079, 27539, 12867, 22815, 18314,
+ 23079, 27539, 12867, 25217, 15815, 14806,
+ 23079, 27539, 12867, 25217, 15815, 16496,
+ 23079, 27539, 14405, 13680,
+ 23079, 27539, 14405, 14806,
+ 23079, 27539, 14405, 16496,
+ 23079, 27539, 15357, 15815, 13213, 15968,
+ 23079, 27539, 15357, 15815, 13213, 17024,
+ 23079, 27539, 15851, 13680,
+ 23079, 27539, 15851, 14806,
+ 23079, 27539, 15851, 16496,
+ 23079, 27539, 15851, 20374,
+ 23079, 27539, 15875, 12857, 14806,
+ 23079, 27539, 15875, 12857, 16496,
+ 23079, 27539, 15969, 15357, 6998,
+ 23079, 27539, 15969, 20498,
+ 23079, 27539, 15969, 22620,
+ 23079, 27539, 15969, 22621, 15357, 6998,
+ 23079, 27539, 16047, 17719, 15968,
+ 23079, 27539, 16047, 17719, 17024,
+ 23079, 27539, 16047, 17742,
+ 23079, 27539, 17025, 15357, 6998,
+ 23079, 27539, 17025, 20499, 13680,
+ 23079, 27539, 17025, 20499, 14806,
+ 23079, 27539, 17025, 20499, 16496,
+ 23079, 27539, 17025, 20499, 18314,
+ 23079, 27539, 17275, 15357, 6998,
+ 23079, 27539, 17275, 20499, 20124,
+ 23079, 27539, 17275, 22620,
+ 23079, 27539, 17275, 22621, 15357, 6998,
+ 23079, 27539, 17463, 13680,
+ 23079, 27539, 17463, 14806,
+ 23079, 27539, 17463, 16496,
+ 23079, 27539, 18894,
+ 23079, 27555, 15968,
+ 23079, 27555, 15969, 18095, 12590,
+ 23079, 27555, 15969, 18095, 13213, 11400,
+ 23079, 27555, 17024,
+ 23079, 27555, 17025, 18095, 12590,
+ 23079, 27555, 17025, 18095, 13213, 11400,
+ 23079, 27555, 20770,
+ 23079, 27555, 22621, 18095, 12590,
+ 23079, 27555, 22621, 18095, 13213, 11400,
+ 23079, 27571, 14828,
+ 23079, 27573, 917, 15815, 18095, 11401, 13681, 15968,
+ 23079, 27573, 917, 15815, 18095, 11401, 13681, 17024,
+ 23079, 27573, 917, 15815, 18095, 11401, 14807, 15968,
+ 23079, 27573, 917, 15815, 18095, 11401, 14807, 17024,
+ 23079, 27573, 917, 15815, 18095, 11401, 16497, 15968,
+ 23079, 27573, 917, 15815, 18095, 11401, 16497, 17024,
+ 23079, 27573, 1031, 13680,
+ 23079, 27573, 1031, 14806,
+ 23079, 27573, 1031, 16496,
+ 23079, 27573, 1890,
+ 23079, 27573, 6018,
+ 23079, 27573, 7649, 14806,
+ 23079, 27573, 7649, 18095, 13187, 13681, 15968,
+ 23079, 27573, 7649, 18095, 13187, 14807, 15968,
+ 23079, 27573, 7649, 18095, 13187, 17275, 13681, 17274,
+ 23079, 27573, 7649, 18095, 13187, 17275, 14807, 17274,
+ 23079, 27573, 7649, 18095, 17685, 13681, 15968,
+ 23079, 27573, 7649, 18095, 17685, 13681, 17274,
+ 23079, 27573, 7649, 18095, 17685, 14807, 15968,
+ 23079, 27573, 7649, 18095, 17685, 14807, 17274,
+ 23079, 27573, 8305, 14806,
+ 23079, 27573, 8305, 18095, 13187, 13681, 15968,
+ 23079, 27573, 8305, 18095, 13187, 13681, 17024,
+ 23079, 27573, 8305, 18095, 13187, 14807, 15968,
+ 23079, 27573, 8305, 18095, 13187, 14807, 17024,
+ 23079, 27573, 8305, 18095, 17685, 13681, 15968,
+ 23079, 27573, 8305, 18095, 17685, 13681, 17024,
+ 23079, 27573, 8305, 18095, 17685, 14807, 15968,
+ 23079, 27573, 8305, 18095, 17685, 14807, 17024,
+ 23079, 27573, 11405, 13680,
+ 23079, 27573, 11405, 14806,
+ 23079, 27573, 11405, 14816,
+ 23079, 27573, 11405, 18095, 13187, 13680,
+ 23079, 27573, 11405, 18095, 13187, 14806,
+ 23079, 27573, 11405, 18095, 17685, 13680,
+ 23079, 27573, 11405, 18095, 17685, 14806,
+ 23079, 27573, 12580,
+ 23079, 27573, 12856,
+ 23079, 27573, 12867, 13680,
+ 23079, 27573, 12867, 14806,
+ 23079, 27573, 12867, 16496,
+ 23079, 27573, 12867, 18095, 13187, 13680,
+ 23079, 27573, 12867, 18095, 13187, 14806,
+ 23079, 27573, 12867, 18095, 17685, 13680,
+ 23079, 27573, 12867, 18095, 17685, 14806,
+ 23079, 27573, 12867, 18314,
+ 23079, 27573, 12867, 19512,
+ 23079, 27573, 14405, 13680,
+ 23079, 27573, 14405, 14806,
+ 23079, 27573, 14405, 16496,
+ 23079, 27573, 15357, 15815, 18095, 11401, 15968,
+ 23079, 27573, 15357, 15815, 18095, 11401, 17024,
+ 23079, 27573, 15851, 13680,
+ 23079, 27573, 15851, 14806,
+ 23079, 27573, 15851, 16496,
+ 23079, 27573, 15969, 15357, 6998,
+ 23079, 27573, 15969, 20498,
+ 23079, 27573, 15969, 22620,
+ 23079, 27573, 15969, 22621, 15357, 6998,
+ 23079, 27573, 16047, 17719, 18095, 11401, 15968,
+ 23079, 27573, 16047, 17719, 18095, 11401, 17024,
+ 23079, 27573, 16047, 17742,
+ 23079, 27573, 17025, 15357, 6998,
+ 23079, 27573, 17025, 20499, 13680,
+ 23079, 27573, 17025, 20499, 14806,
+ 23079, 27573, 17025, 20499, 16496,
+ 23079, 27573, 17025, 20499, 18314,
+ 23079, 27573, 17275, 15357, 6998,
+ 23079, 27573, 17275, 20499, 20124,
+ 23079, 27573, 17275, 22621, 15357, 6998,
+ 23079, 27573, 17275, 22621, 20124,
+ 23079, 27573, 17463, 13680,
+ 23079, 27573, 17463, 14806,
+ 23079, 27573, 17463, 16496,
+ 23079, 27573, 18895, 20236,
+ 23079, 27585, 15968,
+ 23079, 27585, 15969, 18095, 13186,
+ 23079, 27585, 15969, 18095, 17684,
+ 23079, 27585, 17024,
+ 23079, 27585, 17025, 18095, 13186,
+ 23079, 27585, 17025, 18095, 17684,
+ 23079, 27585, 22620,
+ 23079, 27585, 22621, 18095, 13186,
+ 23079, 27585, 22621, 18095, 17684,
+ 23092,
+ 23098,
+ 23109, 2736,
+ 23109, 3208,
+ 23109, 3500,
+ 23109, 6992,
+ 23109, 7014,
+ 23109, 8229, 22968,
+ 23109, 9302,
+ 23109, 9843, 10510,
+ 23109, 11754,
+ 23109, 13066,
+ 23109, 13685, 14807, 16393, 16,
+ 23109, 13685, 14807, 16393, 26,
+ 23109, 13904,
+ 23109, 14557, 22968,
+ 23109, 14676,
+ 23109, 15004,
+ 23109, 15993, 10510,
+ 23120,
+ 23135, 23312,
+ 23149, 10510,
+ 23151, 3027, 20626,
+ 23151, 14807, 3027, 20626,
+ 23151, 14807, 19320,
+ 23151, 19320,
+ 23151, 20099, 19320,
+ 23151, 20627, 11445, 8229, 7385, 12448,
+ 23151, 20627, 11445, 14557, 7385, 12448,
+ 23155, 6952,
+ 23158,
+ 23161, 19777, 19860,
+ 23163, 14155, 6789, 5947, 12342,
+ 23163, 14155, 6789, 11303, 13385, 5947, 12342,
+ 23163, 14155, 6789, 13385, 5947, 12342,
+ 23163, 14155, 6789, 13709, 5947, 12342,
+ 23163, 14155, 6789, 16497, 5947, 12342,
+ 23163, 14155, 11421, 5947, 12342,
+ 23163, 14155, 11421, 11303, 13385, 5947, 12342,
+ 23163, 14155, 11421, 13385, 5947, 12342,
+ 23163, 14155, 11421, 13709, 5947, 12342,
+ 23163, 14155, 11421, 16497, 5947, 12342,
+ 23163, 14827, 6789, 5947, 12342,
+ 23163, 14827, 6789, 11303, 13385, 5947, 12342,
+ 23163, 14827, 6789, 13385, 5947, 12342,
+ 23163, 14827, 6789, 13709, 5947, 12342,
+ 23163, 14827, 6789, 16497, 5947, 12342,
+ 23163, 14827, 11421, 5947, 12342,
+ 23163, 14827, 11421, 11303, 13385, 5947, 12342,
+ 23163, 14827, 11421, 13385, 5947, 12342,
+ 23163, 14827, 11421, 13709, 5947, 12342,
+ 23163, 14827, 11421, 16497, 5947, 12342,
+ 23163, 19183, 5947, 12342,
+ 23163, 19183, 11303, 13385, 5947, 12342,
+ 23163, 19183, 13385, 5947, 12342,
+ 23163, 19183, 13709, 5947, 12342,
+ 23163, 19183, 16497, 5947, 12342,
+ 23163, 21109, 5947, 12342,
+ 23163, 21109, 11303, 13385, 5947, 12342,
+ 23163, 21109, 13385, 5947, 12342,
+ 23163, 21109, 13709, 5947, 12342,
+ 23163, 21109, 16497, 5947, 12342,
+ 23163, 21313, 5947, 12342,
+ 23163, 21313, 11303, 13385, 5947, 12342,
+ 23163, 21313, 13385, 5947, 12342,
+ 23163, 21313, 13709, 5947, 12342,
+ 23163, 21313, 16497, 5947, 12342,
+ 23163, 22419, 5947, 12342,
+ 23163, 22419, 11303, 13385, 5947, 12342,
+ 23163, 22419, 13385, 5947, 12342,
+ 23163, 22419, 13709, 5947, 12342,
+ 23163, 22419, 16497, 5947, 12342,
+ 23172,
+ 23175, 529, 20912,
+ 23181, 2799, 3377, 20597, 10510,
+ 23181, 2799, 13901, 10510,
+ 23181, 6329, 10122,
+ 23181, 12989, 2736,
+ 23181, 12989, 3208,
+ 23181, 12989, 3500,
+ 23181, 12989, 6992,
+ 23181, 12989, 7014,
+ 23181, 12989, 9302,
+ 23181, 12989, 11754,
+ 23181, 12989, 13066,
+ 23181, 12989, 14676,
+ 23181, 12989, 15004,
+ 23181, 16091, 10122,
+ 23187, 17141, 1485, 17348,
+ 23201, 17671, 4,
+ 23201, 17671, 14,
+ 23201, 17671, 16,
+ 23201, 17671, 34,
+ 23201, 17671, 50,
+ 23211, 46,
+ 23217, 10510,
+ 23217, 17424,
+ 23222,
+ 23225, 10511, 12642,
+ 23225, 10511, 12644,
+ 23225, 10511, 12646,
+ 23225, 10511, 12648,
+ 23225, 10511, 12650,
+ 23225, 10511, 12652,
+ 23225, 10511, 12654,
+ 23225, 10511, 12656,
+ 23225, 10511, 12658,
+ 23225, 10511, 12660,
+ 23225, 10511, 12662,
+ 23225, 10511, 12664,
+ 23225, 10511, 12666,
+ 23225, 10511, 12668,
+ 23225, 10511, 12670,
+ 23225, 10511, 12672,
+ 23225, 10511, 12674,
+ 23225, 10511, 12676,
+ 23225, 10511, 12678,
+ 23225, 10511, 12680,
+ 23225, 10511, 12682,
+ 23225, 10511, 12684,
+ 23225, 10511, 12686,
+ 23225, 10511, 12688,
+ 23225, 10511, 12690,
+ 23225, 10511, 12692,
+ 23225, 10511, 12694,
+ 23225, 10511, 12696,
+ 23225, 10511, 12698,
+ 23225, 10511, 12700,
+ 23225, 10511, 12702,
+ 23225, 10511, 12704,
+ 23225, 10511, 12706,
+ 23225, 10511, 12708,
+ 23225, 10511, 12710,
+ 23225, 10511, 12712,
+ 23225, 10511, 12714,
+ 23225, 10511, 12716,
+ 23225, 10511, 12718,
+ 23225, 10511, 12720,
+ 23225, 10511, 12722,
+ 23225, 10511, 12724,
+ 23225, 10511, 12726,
+ 23225, 10511, 12728,
+ 23225, 10511, 12730,
+ 23225, 10511, 12732,
+ 23225, 10511, 12734,
+ 23225, 10511, 12736,
+ 23225, 10511, 12738,
+ 23225, 10511, 12740,
+ 23225, 10511, 12742,
+ 23225, 10511, 12744,
+ 23225, 10511, 12746,
+ 23225, 10511, 12748,
+ 23225, 10511, 12750,
+ 23225, 10511, 12752,
+ 23225, 10511, 12754,
+ 23225, 10511, 12756,
+ 23225, 10511, 12758,
+ 23225, 10511, 12760,
+ 23225, 10511, 12762,
+ 23225, 10511, 12764,
+ 23225, 10511, 12766,
+ 23225, 10511, 12768,
+ 23225, 10511, 12770,
+ 23225, 10511, 12772,
+ 23225, 10511, 12774,
+ 23225, 10511, 12776,
+ 23225, 10511, 12778,
+ 23225, 10511, 12780,
+ 23225, 10511, 12782,
+ 23225, 10511, 12784,
+ 23225, 10511, 12786,
+ 23225, 10511, 12788,
+ 23225, 10511, 12790,
+ 23225, 10511, 12792,
+ 23225, 10511, 12794,
+ 23225, 10511, 12796,
+ 23225, 10511, 12798,
+ 23225, 10511, 12800,
+ 23225, 10511, 12802,
+ 23225, 10511, 12804,
+ 23225, 10511, 12806,
+ 23225, 10511, 12808,
+ 23225, 10511, 12810,
+ 23225, 10511, 12812,
+ 23225, 10511, 12814,
+ 23225, 10511, 12816,
+ 23225, 10511, 12818,
+ 23225, 10511, 12820,
+ 23225, 10511, 12822,
+ 23225, 10511, 12824,
+ 23225, 10511, 12826,
+ 23225, 10511, 12828,
+ 23225, 10511, 12830,
+ 23225, 10511, 12832,
+ 23225, 10511, 12834,
+ 23225, 10511, 15830,
+ 23225, 10511, 15832,
+ 23241, 1051, 20349, 6952,
+ 23241, 6952,
+ 23259, 20128,
+ 23267, 12449, 15814,
+ 23267, 12449, 17076,
+ 23267, 12449, 17824,
+ 23267, 15335, 15814,
+ 23267, 15335, 17076,
+ 23267, 15335, 17824,
+ 23270,
+ 23273, 5923, 12594,
+ 23275, 20417, 15335, 22419, 12342,
+ 23283, 529, 13093, 660,
+ 23283, 529, 18937, 13093, 660,
+ 23283, 529, 18937, 13093, 661, 11445, 1285, 12248,
+ 23283, 529, 18937, 13093, 661, 11445, 1285, 12249, 8228,
+ 23283, 529, 18937, 13093, 661, 11445, 1285, 16248,
+ 23283, 529, 21314,
+ 23283, 529, 22139, 660,
+ 23283, 529, 22630,
+ 23283, 893, 2623, 22630,
+ 23283, 893, 23081, 2623, 13093, 660,
+ 23283, 1051, 2623, 13093, 660,
+ 23283, 1051, 2623, 22139, 660,
+ 23283, 9725, 13093, 660,
+ 23283, 10510,
+ 23283, 11445, 1284,
+ 23283, 11445, 15815, 16248,
+ 23283, 11445, 20329, 8757, 12248,
+ 23283, 12249, 18923, 529, 13092,
+ 23283, 12249, 18923, 12249, 21314,
+ 23283, 12249, 18937, 13093, 12249, 21315, 12249, 18937, 13092,
+ 23283, 12249, 21315, 12249, 22773, 13092,
+ 23283, 12249, 22419, 12342,
+ 23283, 12249, 22773, 13093, 12249, 21314,
+ 23283, 13093, 661, 529, 21314,
+ 23283, 15685, 21314,
+ 23283, 15825, 125, 12866,
+ 23283, 15825, 125, 12867, 12249, 18937, 13092,
+ 23283, 22953, 21314,
+ 23289, 16540,
23294,
- 23296,
- 23308,
- 23309, 11445, 1284,
- 23309, 11445, 18349, 892,
- 23309, 11445, 18594,
- 23309, 12249, 959, 12249, 15168,
- 23309, 12249, 15168,
- 23309, 15685, 893, 16265, 11445, 23308,
- 23335, 6059, 563, 17140,
- 23335, 6059, 2809, 17140,
- 23335, 6059, 3045, 17140,
- 23335, 6059, 12989, 2736,
- 23335, 6059, 12989, 3208,
- 23335, 6059, 12989, 3500,
- 23335, 6059, 12989, 6992,
- 23335, 6059, 12989, 7014,
- 23335, 6059, 12989, 9302,
- 23335, 6059, 12989, 11754,
- 23335, 6059, 12989, 13066,
- 23335, 6059, 12989, 14676,
- 23335, 6059, 12989, 15004,
- 23335, 6059, 13561, 17140,
- 23335, 6059, 13970,
- 23335, 6059, 14807, 0,
- 23335, 6059, 14807, 2,
- 23335, 6059, 14807, 4,
- 23335, 6059, 14807, 6,
- 23335, 6059, 14807, 8,
- 23335, 6059, 14807, 10,
- 23335, 6059, 14807, 12,
- 23335, 6059, 14807, 14,
- 23335, 6059, 14807, 16,
- 23335, 6059, 14807, 18,
- 23335, 6059, 14807, 20,
- 23335, 6059, 14807, 22,
- 23335, 6059, 14807, 24,
- 23335, 6059, 14807, 26,
- 23335, 6059, 14807, 28,
- 23335, 6059, 14807, 30,
- 23335, 6059, 14807, 32,
- 23335, 6059, 14807, 34,
- 23335, 6059, 14807, 36,
- 23335, 6059, 14807, 38,
- 23335, 6059, 14807, 40,
- 23335, 6059, 14807, 42,
- 23335, 6059, 14807, 44,
- 23335, 6059, 14807, 46,
- 23335, 6059, 14807, 48,
- 23335, 6059, 14807, 50,
- 23335, 6059, 14807, 454,
- 23335, 6059, 14807, 490,
- 23335, 6059, 14807, 562,
- 23335, 6059, 14807, 766,
- 23335, 6059, 14807, 1114,
- 23335, 6059, 14807, 1412,
- 23335, 6059, 14807, 2808,
- 23335, 6059, 14807, 2852,
- 23335, 6059, 14807, 3044,
- 23335, 6059, 14807, 3358,
- 23335, 6059, 14807, 6022,
- 23335, 6059, 14807, 7770,
- 23335, 6059, 14807, 11756,
- 23335, 6059, 14807, 12296,
- 23335, 6059, 14807, 12972,
- 23335, 6059, 14807, 13175, 14764,
- 23335, 6059, 14807, 13248,
- 23335, 6059, 14807, 13560,
- 23335, 6059, 14807, 13672,
- 23335, 6059, 14807, 14328,
- 23335, 6059, 14807, 14764,
- 23335, 6059, 14807, 14984,
- 23335, 6059, 14807, 17828,
- 23335, 6059, 14807, 17956,
- 23335, 6059, 14807, 18572,
- 23335, 6059, 14807, 19180,
- 23335, 6059, 14985, 17140,
- 23335, 6059, 16257, 563, 17140,
- 23335, 6059, 16257, 2809, 17140,
- 23335, 6059, 16257, 3045, 17140,
- 23335, 6059, 16257, 13561, 17140,
- 23335, 6059, 16257, 13970,
- 23335, 6059, 16257, 14807, 0,
- 23335, 6059, 16257, 14807, 2,
- 23335, 6059, 16257, 14807, 4,
- 23335, 6059, 16257, 14807, 6,
- 23335, 6059, 16257, 14807, 8,
- 23335, 6059, 16257, 14807, 10,
- 23335, 6059, 16257, 14807, 12,
- 23335, 6059, 16257, 14807, 14,
- 23335, 6059, 16257, 14807, 16,
- 23335, 6059, 16257, 14807, 18,
- 23335, 6059, 16257, 14807, 20,
- 23335, 6059, 16257, 14807, 22,
- 23335, 6059, 16257, 14807, 24,
- 23335, 6059, 16257, 14807, 26,
- 23335, 6059, 16257, 14807, 28,
- 23335, 6059, 16257, 14807, 30,
- 23335, 6059, 16257, 14807, 32,
- 23335, 6059, 16257, 14807, 34,
- 23335, 6059, 16257, 14807, 36,
- 23335, 6059, 16257, 14807, 38,
- 23335, 6059, 16257, 14807, 40,
- 23335, 6059, 16257, 14807, 42,
- 23335, 6059, 16257, 14807, 44,
- 23335, 6059, 16257, 14807, 46,
- 23335, 6059, 16257, 14807, 48,
- 23335, 6059, 16257, 14807, 50,
- 23335, 6059, 16257, 14807, 454,
- 23335, 6059, 16257, 14807, 490,
- 23335, 6059, 16257, 14807, 562,
- 23335, 6059, 16257, 14807, 766,
- 23335, 6059, 16257, 14807, 1114,
- 23335, 6059, 16257, 14807, 1412,
- 23335, 6059, 16257, 14807, 2808,
- 23335, 6059, 16257, 14807, 2852,
- 23335, 6059, 16257, 14807, 3044,
- 23335, 6059, 16257, 14807, 3358,
- 23335, 6059, 16257, 14807, 6022,
- 23335, 6059, 16257, 14807, 7770,
- 23335, 6059, 16257, 14807, 11756,
- 23335, 6059, 16257, 14807, 12296,
- 23335, 6059, 16257, 14807, 12972,
- 23335, 6059, 16257, 14807, 13175, 14764,
- 23335, 6059, 16257, 14807, 13248,
- 23335, 6059, 16257, 14807, 13560,
- 23335, 6059, 16257, 14807, 13672,
- 23335, 6059, 16257, 14807, 14328,
- 23335, 6059, 16257, 14807, 14764,
- 23335, 6059, 16257, 14807, 14984,
- 23335, 6059, 16257, 14807, 17956,
- 23335, 6059, 16257, 14807, 18572,
- 23335, 6059, 16257, 14807, 19180,
- 23335, 6059, 16257, 14985, 17140,
- 23335, 6059, 16257, 17671, 0,
- 23335, 6059, 16257, 17671, 2,
- 23335, 6059, 16257, 17671, 4,
- 23335, 6059, 16257, 17671, 6,
- 23335, 6059, 16257, 17671, 8,
- 23335, 6059, 16257, 17671, 10,
- 23335, 6059, 16257, 17671, 12,
- 23335, 6059, 16257, 17671, 14,
- 23335, 6059, 16257, 17671, 16,
- 23335, 6059, 16257, 17671, 18,
- 23335, 6059, 16257, 17671, 20,
- 23335, 6059, 16257, 17671, 22,
- 23335, 6059, 16257, 17671, 24,
- 23335, 6059, 16257, 17671, 26,
- 23335, 6059, 16257, 17671, 28,
- 23335, 6059, 16257, 17671, 30,
- 23335, 6059, 16257, 17671, 32,
- 23335, 6059, 16257, 17671, 34,
- 23335, 6059, 16257, 17671, 36,
- 23335, 6059, 16257, 17671, 38,
- 23335, 6059, 16257, 17671, 40,
- 23335, 6059, 16257, 17671, 42,
- 23335, 6059, 16257, 17671, 44,
- 23335, 6059, 16257, 17671, 46,
- 23335, 6059, 16257, 17671, 48,
- 23335, 6059, 16257, 17671, 50,
- 23335, 6059, 16257, 17671, 454,
- 23335, 6059, 16257, 17671, 490,
- 23335, 6059, 16257, 17671, 562,
- 23335, 6059, 16257, 17671, 766,
- 23335, 6059, 16257, 17671, 1114,
- 23335, 6059, 16257, 17671, 1412,
- 23335, 6059, 16257, 17671, 2808,
- 23335, 6059, 16257, 17671, 2852,
- 23335, 6059, 16257, 17671, 3044,
- 23335, 6059, 16257, 17671, 3358,
- 23335, 6059, 16257, 17671, 6022,
- 23335, 6059, 16257, 17671, 7770,
- 23335, 6059, 16257, 17671, 11756,
- 23335, 6059, 16257, 17671, 12296,
- 23335, 6059, 16257, 17671, 12972,
- 23335, 6059, 16257, 17671, 13248,
- 23335, 6059, 16257, 17671, 13560,
- 23335, 6059, 16257, 17671, 13672,
- 23335, 6059, 16257, 17671, 14328,
- 23335, 6059, 16257, 17671, 14764,
- 23335, 6059, 16257, 17671, 14984,
- 23335, 6059, 16257, 17671, 14985, 17140,
- 23335, 6059, 16257, 17671, 17956,
- 23335, 6059, 16257, 17671, 18572,
- 23335, 6059, 16257, 17671, 19180,
- 23335, 6059, 16257, 17957, 17140,
- 23335, 6059, 16257, 18635, 23224,
- 23335, 6059, 16947, 14807, 0,
- 23335, 6059, 16947, 14807, 2,
- 23335, 6059, 16947, 14807, 4,
- 23335, 6059, 16947, 14807, 6,
- 23335, 6059, 16947, 14807, 8,
- 23335, 6059, 16947, 14807, 10,
- 23335, 6059, 16947, 14807, 12,
- 23335, 6059, 16947, 14807, 14,
- 23335, 6059, 16947, 14807, 16,
- 23335, 6059, 16947, 14807, 18,
- 23335, 6059, 16947, 14807, 20,
- 23335, 6059, 16947, 14807, 22,
- 23335, 6059, 16947, 14807, 24,
- 23335, 6059, 16947, 14807, 26,
- 23335, 6059, 16947, 14807, 28,
- 23335, 6059, 16947, 14807, 30,
- 23335, 6059, 16947, 14807, 32,
- 23335, 6059, 16947, 14807, 34,
- 23335, 6059, 16947, 14807, 36,
- 23335, 6059, 16947, 14807, 38,
- 23335, 6059, 16947, 14807, 40,
- 23335, 6059, 16947, 14807, 42,
- 23335, 6059, 16947, 14807, 44,
- 23335, 6059, 16947, 14807, 46,
- 23335, 6059, 16947, 14807, 48,
- 23335, 6059, 16947, 14807, 50,
- 23335, 6059, 16947, 17671, 0,
- 23335, 6059, 16947, 17671, 2,
- 23335, 6059, 16947, 17671, 4,
- 23335, 6059, 16947, 17671, 6,
- 23335, 6059, 16947, 17671, 8,
- 23335, 6059, 16947, 17671, 10,
- 23335, 6059, 16947, 17671, 12,
- 23335, 6059, 16947, 17671, 14,
- 23335, 6059, 16947, 17671, 16,
- 23335, 6059, 16947, 17671, 18,
- 23335, 6059, 16947, 17671, 20,
- 23335, 6059, 16947, 17671, 22,
- 23335, 6059, 16947, 17671, 24,
- 23335, 6059, 16947, 17671, 26,
- 23335, 6059, 16947, 17671, 28,
- 23335, 6059, 16947, 17671, 30,
- 23335, 6059, 16947, 17671, 32,
- 23335, 6059, 16947, 17671, 34,
- 23335, 6059, 16947, 17671, 36,
- 23335, 6059, 16947, 17671, 38,
- 23335, 6059, 16947, 17671, 40,
- 23335, 6059, 16947, 17671, 42,
- 23335, 6059, 16947, 17671, 44,
- 23335, 6059, 16947, 17671, 46,
- 23335, 6059, 16947, 17671, 48,
- 23335, 6059, 16947, 17671, 50,
- 23335, 6059, 17671, 0,
- 23335, 6059, 17671, 2,
- 23335, 6059, 17671, 4,
- 23335, 6059, 17671, 6,
- 23335, 6059, 17671, 8,
- 23335, 6059, 17671, 10,
- 23335, 6059, 17671, 12,
- 23335, 6059, 17671, 14,
- 23335, 6059, 17671, 16,
- 23335, 6059, 17671, 18,
- 23335, 6059, 17671, 20,
- 23335, 6059, 17671, 22,
- 23335, 6059, 17671, 24,
- 23335, 6059, 17671, 26,
- 23335, 6059, 17671, 28,
- 23335, 6059, 17671, 30,
- 23335, 6059, 17671, 32,
- 23335, 6059, 17671, 34,
- 23335, 6059, 17671, 36,
- 23335, 6059, 17671, 38,
- 23335, 6059, 17671, 40,
- 23335, 6059, 17671, 42,
- 23335, 6059, 17671, 44,
- 23335, 6059, 17671, 46,
- 23335, 6059, 17671, 48,
- 23335, 6059, 17671, 50,
- 23335, 6059, 17671, 454,
- 23335, 6059, 17671, 490,
- 23335, 6059, 17671, 562,
- 23335, 6059, 17671, 766,
- 23335, 6059, 17671, 1114,
- 23335, 6059, 17671, 1412,
- 23335, 6059, 17671, 2808,
- 23335, 6059, 17671, 2852,
- 23335, 6059, 17671, 3044,
- 23335, 6059, 17671, 3358,
- 23335, 6059, 17671, 6022,
- 23335, 6059, 17671, 7770,
- 23335, 6059, 17671, 11756,
- 23335, 6059, 17671, 12296,
- 23335, 6059, 17671, 12972,
- 23335, 6059, 17671, 13248,
- 23335, 6059, 17671, 13560,
- 23335, 6059, 17671, 13672,
- 23335, 6059, 17671, 14328,
- 23335, 6059, 17671, 14764,
- 23335, 6059, 17671, 14984,
- 23335, 6059, 17671, 14985, 17140,
- 23335, 6059, 17671, 17828,
- 23335, 6059, 17671, 17956,
- 23335, 6059, 17671, 18572,
- 23335, 6059, 17671, 19180,
- 23335, 6059, 17957, 17140,
- 23335, 6059, 18011, 14807, 0,
- 23335, 6059, 18011, 14807, 2,
- 23335, 6059, 18011, 14807, 4,
- 23335, 6059, 18011, 14807, 6,
- 23335, 6059, 18011, 14807, 8,
- 23335, 6059, 18011, 14807, 10,
- 23335, 6059, 18011, 14807, 12,
- 23335, 6059, 18011, 14807, 14,
- 23335, 6059, 18011, 14807, 16,
- 23335, 6059, 18011, 14807, 18,
- 23335, 6059, 18011, 14807, 20,
- 23335, 6059, 18011, 14807, 22,
- 23335, 6059, 18011, 14807, 24,
- 23335, 6059, 18011, 14807, 26,
- 23335, 6059, 18011, 14807, 28,
- 23335, 6059, 18011, 14807, 30,
- 23335, 6059, 18011, 14807, 32,
- 23335, 6059, 18011, 14807, 34,
- 23335, 6059, 18011, 14807, 36,
- 23335, 6059, 18011, 14807, 38,
- 23335, 6059, 18011, 14807, 40,
- 23335, 6059, 18011, 14807, 42,
- 23335, 6059, 18011, 14807, 44,
- 23335, 6059, 18011, 14807, 46,
- 23335, 6059, 18011, 14807, 48,
- 23335, 6059, 18011, 14807, 50,
- 23335, 6059, 18011, 17671, 0,
- 23335, 6059, 18011, 17671, 2,
- 23335, 6059, 18011, 17671, 4,
- 23335, 6059, 18011, 17671, 6,
- 23335, 6059, 18011, 17671, 8,
- 23335, 6059, 18011, 17671, 10,
- 23335, 6059, 18011, 17671, 12,
- 23335, 6059, 18011, 17671, 14,
- 23335, 6059, 18011, 17671, 16,
- 23335, 6059, 18011, 17671, 18,
- 23335, 6059, 18011, 17671, 20,
- 23335, 6059, 18011, 17671, 22,
- 23335, 6059, 18011, 17671, 24,
- 23335, 6059, 18011, 17671, 26,
- 23335, 6059, 18011, 17671, 28,
- 23335, 6059, 18011, 17671, 30,
- 23335, 6059, 18011, 17671, 32,
- 23335, 6059, 18011, 17671, 34,
- 23335, 6059, 18011, 17671, 36,
- 23335, 6059, 18011, 17671, 38,
- 23335, 6059, 18011, 17671, 40,
- 23335, 6059, 18011, 17671, 42,
- 23335, 6059, 18011, 17671, 44,
- 23335, 6059, 18011, 17671, 46,
- 23335, 6059, 18011, 17671, 48,
- 23335, 6059, 18011, 17671, 50,
- 23335, 6059, 18635, 23224,
- 23335, 8229, 12309, 17646,
- 23335, 8229, 15335, 17077, 17646,
- 23335, 8229, 15335, 20615, 14709, 17646,
- 23335, 8229, 15969, 12309, 17646,
- 23335, 8229, 21167, 22966,
- 23335, 14557, 12309, 17646,
- 23335, 14557, 15335, 17077, 17646,
- 23335, 14557, 15335, 20615, 14709, 17646,
- 23335, 14557, 15969, 12309, 17646,
- 23335, 14557, 21167, 22966,
- 23335, 16257, 563, 17140,
- 23335, 16257, 2809, 17140,
- 23335, 16257, 3045, 17140,
- 23335, 16257, 13561, 17140,
- 23335, 16257, 13970,
- 23335, 16257, 14807, 0,
- 23335, 16257, 14807, 2,
- 23335, 16257, 14807, 4,
- 23335, 16257, 14807, 6,
- 23335, 16257, 14807, 8,
- 23335, 16257, 14807, 10,
- 23335, 16257, 14807, 12,
- 23335, 16257, 14807, 16,
- 23335, 16257, 14807, 18,
- 23335, 16257, 14807, 20,
- 23335, 16257, 14807, 22,
- 23335, 16257, 14807, 24,
- 23335, 16257, 14807, 26,
- 23335, 16257, 14807, 28,
- 23335, 16257, 14807, 30,
- 23335, 16257, 14807, 32,
- 23335, 16257, 14807, 34,
- 23335, 16257, 14807, 36,
- 23335, 16257, 14807, 38,
- 23335, 16257, 14807, 40,
- 23335, 16257, 14807, 42,
- 23335, 16257, 14807, 44,
- 23335, 16257, 14807, 46,
- 23335, 16257, 14807, 48,
- 23335, 16257, 14807, 50,
- 23335, 16257, 14807, 454,
- 23335, 16257, 14807, 490,
- 23335, 16257, 14807, 562,
- 23335, 16257, 14807, 766,
- 23335, 16257, 14807, 1114,
- 23335, 16257, 14807, 1412,
- 23335, 16257, 14807, 2808,
- 23335, 16257, 14807, 2852,
- 23335, 16257, 14807, 3044,
- 23335, 16257, 14807, 3358,
- 23335, 16257, 14807, 6022,
- 23335, 16257, 14807, 7770,
- 23335, 16257, 14807, 11756,
- 23335, 16257, 14807, 12296,
- 23335, 16257, 14807, 12972,
- 23335, 16257, 14807, 13175, 14764,
- 23335, 16257, 14807, 13248,
- 23335, 16257, 14807, 13560,
- 23335, 16257, 14807, 13672,
- 23335, 16257, 14807, 14328,
- 23335, 16257, 14807, 14764,
- 23335, 16257, 14807, 14984,
- 23335, 16257, 14807, 17855, 16,
- 23335, 16257, 14807, 17855, 18,
- 23335, 16257, 14807, 17956,
- 23335, 16257, 14807, 18572,
- 23335, 16257, 14807, 19180,
- 23335, 16257, 14985, 17140,
- 23335, 16257, 17671, 0,
- 23335, 16257, 17671, 2,
- 23335, 16257, 17671, 4,
- 23335, 16257, 17671, 6,
- 23335, 16257, 17671, 8,
- 23335, 16257, 17671, 10,
- 23335, 16257, 17671, 12,
- 23335, 16257, 17671, 14,
- 23335, 16257, 17671, 16,
- 23335, 16257, 17671, 18,
- 23335, 16257, 17671, 20,
- 23335, 16257, 17671, 22,
- 23335, 16257, 17671, 24,
- 23335, 16257, 17671, 26,
- 23335, 16257, 17671, 28,
- 23335, 16257, 17671, 30,
- 23335, 16257, 17671, 32,
- 23335, 16257, 17671, 34,
- 23335, 16257, 17671, 36,
- 23335, 16257, 17671, 38,
- 23335, 16257, 17671, 40,
- 23335, 16257, 17671, 42,
- 23335, 16257, 17671, 44,
- 23335, 16257, 17671, 46,
- 23335, 16257, 17671, 48,
- 23335, 16257, 17671, 50,
- 23335, 16257, 17671, 454,
- 23335, 16257, 17671, 490,
- 23335, 16257, 17671, 562,
- 23335, 16257, 17671, 766,
- 23335, 16257, 17671, 1114,
- 23335, 16257, 17671, 1412,
- 23335, 16257, 17671, 2808,
- 23335, 16257, 17671, 2852,
- 23335, 16257, 17671, 3044,
- 23335, 16257, 17671, 3358,
- 23335, 16257, 17671, 6022,
- 23335, 16257, 17671, 7770,
- 23335, 16257, 17671, 11756,
- 23335, 16257, 17671, 12296,
- 23335, 16257, 17671, 12972,
- 23335, 16257, 17671, 13248,
- 23335, 16257, 17671, 13560,
- 23335, 16257, 17671, 13672,
- 23335, 16257, 17671, 14328,
- 23335, 16257, 17671, 14764,
- 23335, 16257, 17671, 14984,
- 23335, 16257, 17671, 14985, 17140,
- 23335, 16257, 17671, 17956,
- 23335, 16257, 17671, 18572,
- 23335, 16257, 17671, 19180,
- 23335, 16257, 17957, 17140,
- 23335, 16257, 18635, 23224,
- 23335, 16895, 19588,
- 23335, 16947, 14807, 0,
- 23335, 16947, 14807, 2,
- 23335, 16947, 14807, 4,
- 23335, 16947, 14807, 6,
- 23335, 16947, 14807, 10,
- 23335, 16947, 14807, 14,
- 23335, 16947, 14807, 16,
- 23335, 16947, 14807, 18,
- 23335, 16947, 14807, 20,
- 23335, 16947, 14807, 22,
- 23335, 16947, 14807, 24,
- 23335, 16947, 14807, 26,
- 23335, 16947, 14807, 30,
- 23335, 16947, 14807, 32,
- 23335, 16947, 14807, 34,
- 23335, 16947, 14807, 36,
- 23335, 16947, 14807, 38,
- 23335, 16947, 14807, 40,
- 23335, 16947, 14807, 42,
- 23335, 16947, 14807, 44,
- 23335, 16947, 14807, 46,
- 23335, 16947, 14807, 48,
- 23335, 16947, 14807, 50,
- 23335, 16947, 17671, 0,
- 23335, 16947, 17671, 4,
- 23335, 16947, 17671, 6,
- 23335, 16947, 17671, 12,
- 23335, 16947, 17671, 18,
- 23335, 16947, 17671, 20,
- 23335, 16947, 17671, 26,
- 23335, 16947, 17671, 28,
- 23335, 16947, 17671, 30,
- 23335, 16947, 17671, 32,
- 23335, 16947, 17671, 36,
- 23335, 16947, 17671, 38,
- 23335, 16947, 17671, 40,
- 23335, 16947, 17671, 42,
- 23335, 16947, 17671, 44,
- 23335, 16947, 17671, 46,
- 23335, 16947, 17671, 48,
- 23335, 16947, 17671, 50,
- 23335, 17973, 19588,
- 23335, 18011, 14807, 0,
- 23335, 18011, 14807, 2,
- 23335, 18011, 14807, 4,
- 23335, 18011, 14807, 6,
- 23335, 18011, 14807, 8,
- 23335, 18011, 14807, 10,
- 23335, 18011, 14807, 12,
- 23335, 18011, 14807, 14,
- 23335, 18011, 14807, 16,
- 23335, 18011, 14807, 18,
- 23335, 18011, 14807, 20,
- 23335, 18011, 14807, 22,
- 23335, 18011, 14807, 24,
- 23335, 18011, 14807, 26,
- 23335, 18011, 14807, 28,
- 23335, 18011, 14807, 30,
- 23335, 18011, 14807, 32,
- 23335, 18011, 14807, 34,
- 23335, 18011, 14807, 36,
- 23335, 18011, 14807, 38,
- 23335, 18011, 14807, 40,
- 23335, 18011, 14807, 42,
- 23335, 18011, 14807, 44,
- 23335, 18011, 14807, 46,
- 23335, 18011, 14807, 48,
- 23335, 18011, 14807, 50,
- 23335, 18011, 17671, 0,
- 23335, 18011, 17671, 2,
- 23335, 18011, 17671, 6,
- 23335, 18011, 17671, 8,
- 23335, 18011, 17671, 10,
- 23335, 18011, 17671, 12,
- 23335, 18011, 17671, 18,
- 23335, 18011, 17671, 20,
- 23335, 18011, 17671, 22,
- 23335, 18011, 17671, 24,
- 23335, 18011, 17671, 26,
- 23335, 18011, 17671, 28,
- 23335, 18011, 17671, 30,
- 23335, 18011, 17671, 32,
- 23335, 18011, 17671, 36,
- 23335, 18011, 17671, 38,
- 23335, 18011, 17671, 40,
- 23335, 18011, 17671, 42,
- 23335, 18011, 17671, 44,
- 23335, 18011, 17671, 46,
- 23335, 18011, 17671, 48,
- 23335, 21361, 12989, 2736,
- 23335, 21361, 12989, 3208,
- 23335, 21361, 12989, 3500,
- 23335, 21361, 12989, 6992,
- 23335, 21361, 12989, 7014,
- 23335, 21361, 12989, 9302,
- 23335, 21361, 12989, 11754,
- 23335, 21361, 12989, 13066,
- 23335, 21361, 12989, 14676,
- 23335, 21361, 12989, 15004,
- 23335, 21361, 14807, 0,
- 23335, 21361, 14807, 2,
- 23335, 21361, 14807, 4,
- 23335, 21361, 14807, 6,
- 23335, 21361, 14807, 8,
- 23335, 21361, 14807, 10,
- 23335, 21361, 14807, 12,
- 23335, 21361, 14807, 14,
- 23335, 21361, 14807, 16,
- 23335, 21361, 14807, 18,
- 23335, 21361, 14807, 20,
- 23335, 21361, 14807, 22,
- 23335, 21361, 14807, 24,
- 23335, 21361, 14807, 26,
- 23335, 21361, 14807, 28,
- 23335, 21361, 14807, 30,
- 23335, 21361, 14807, 32,
- 23335, 21361, 14807, 34,
- 23335, 21361, 14807, 36,
- 23335, 21361, 14807, 38,
- 23335, 21361, 14807, 40,
- 23335, 21361, 14807, 42,
- 23335, 21361, 14807, 44,
- 23335, 21361, 14807, 46,
- 23335, 21361, 14807, 48,
- 23335, 21361, 14807, 50,
- 23335, 21361, 17671, 0,
- 23335, 21361, 17671, 2,
- 23335, 21361, 17671, 4,
- 23335, 21361, 17671, 6,
- 23335, 21361, 17671, 8,
- 23335, 21361, 17671, 10,
- 23335, 21361, 17671, 12,
- 23335, 21361, 17671, 14,
- 23335, 21361, 17671, 16,
- 23335, 21361, 17671, 18,
- 23335, 21361, 17671, 20,
- 23335, 21361, 17671, 22,
- 23335, 21361, 17671, 24,
- 23335, 21361, 17671, 26,
- 23335, 21361, 17671, 28,
- 23335, 21361, 17671, 30,
- 23335, 21361, 17671, 32,
- 23335, 21361, 17671, 34,
- 23335, 21361, 17671, 36,
- 23335, 21361, 17671, 38,
- 23335, 21361, 17671, 40,
- 23335, 21361, 17671, 42,
- 23335, 21361, 17671, 44,
- 23335, 21361, 17671, 46,
- 23335, 21361, 17671, 48,
- 23335, 21361, 17671, 50,
- 23335, 22421, 6059, 563, 17140,
- 23335, 22421, 6059, 2809, 17140,
- 23335, 22421, 6059, 3045, 17140,
- 23335, 22421, 6059, 12989, 2736,
- 23335, 22421, 6059, 12989, 3208,
- 23335, 22421, 6059, 12989, 3500,
- 23335, 22421, 6059, 12989, 6992,
- 23335, 22421, 6059, 12989, 7014,
- 23335, 22421, 6059, 12989, 9302,
- 23335, 22421, 6059, 12989, 11754,
- 23335, 22421, 6059, 12989, 13066,
- 23335, 22421, 6059, 12989, 14676,
- 23335, 22421, 6059, 12989, 15004,
- 23335, 22421, 6059, 13561, 17140,
- 23335, 22421, 6059, 13970,
- 23335, 22421, 6059, 14807, 0,
- 23335, 22421, 6059, 14807, 2,
- 23335, 22421, 6059, 14807, 4,
- 23335, 22421, 6059, 14807, 6,
- 23335, 22421, 6059, 14807, 8,
- 23335, 22421, 6059, 14807, 10,
- 23335, 22421, 6059, 14807, 12,
- 23335, 22421, 6059, 14807, 14,
- 23335, 22421, 6059, 14807, 16,
- 23335, 22421, 6059, 14807, 18,
- 23335, 22421, 6059, 14807, 20,
- 23335, 22421, 6059, 14807, 22,
- 23335, 22421, 6059, 14807, 24,
- 23335, 22421, 6059, 14807, 26,
- 23335, 22421, 6059, 14807, 28,
- 23335, 22421, 6059, 14807, 30,
- 23335, 22421, 6059, 14807, 32,
- 23335, 22421, 6059, 14807, 34,
- 23335, 22421, 6059, 14807, 36,
- 23335, 22421, 6059, 14807, 38,
- 23335, 22421, 6059, 14807, 40,
- 23335, 22421, 6059, 14807, 42,
- 23335, 22421, 6059, 14807, 44,
- 23335, 22421, 6059, 14807, 46,
- 23335, 22421, 6059, 14807, 48,
- 23335, 22421, 6059, 14807, 50,
- 23335, 22421, 6059, 14807, 454,
- 23335, 22421, 6059, 14807, 490,
- 23335, 22421, 6059, 14807, 562,
- 23335, 22421, 6059, 14807, 766,
- 23335, 22421, 6059, 14807, 1114,
- 23335, 22421, 6059, 14807, 1412,
- 23335, 22421, 6059, 14807, 2808,
- 23335, 22421, 6059, 14807, 2852,
- 23335, 22421, 6059, 14807, 3044,
- 23335, 22421, 6059, 14807, 3358,
- 23335, 22421, 6059, 14807, 6022,
- 23335, 22421, 6059, 14807, 7770,
- 23335, 22421, 6059, 14807, 11756,
- 23335, 22421, 6059, 14807, 12296,
- 23335, 22421, 6059, 14807, 12972,
- 23335, 22421, 6059, 14807, 13175, 14764,
- 23335, 22421, 6059, 14807, 13248,
- 23335, 22421, 6059, 14807, 13560,
- 23335, 22421, 6059, 14807, 13672,
- 23335, 22421, 6059, 14807, 14328,
- 23335, 22421, 6059, 14807, 14764,
- 23335, 22421, 6059, 14807, 14984,
- 23335, 22421, 6059, 14807, 17956,
- 23335, 22421, 6059, 14807, 18572,
- 23335, 22421, 6059, 14807, 19180,
- 23335, 22421, 6059, 14985, 17140,
- 23335, 22421, 6059, 16257, 563, 17140,
- 23335, 22421, 6059, 16257, 2809, 17140,
- 23335, 22421, 6059, 16257, 3045, 17140,
- 23335, 22421, 6059, 16257, 13561, 17140,
- 23335, 22421, 6059, 16257, 13970,
- 23335, 22421, 6059, 16257, 14807, 0,
- 23335, 22421, 6059, 16257, 14807, 2,
- 23335, 22421, 6059, 16257, 14807, 4,
- 23335, 22421, 6059, 16257, 14807, 6,
- 23335, 22421, 6059, 16257, 14807, 8,
- 23335, 22421, 6059, 16257, 14807, 10,
- 23335, 22421, 6059, 16257, 14807, 12,
- 23335, 22421, 6059, 16257, 14807, 14,
- 23335, 22421, 6059, 16257, 14807, 16,
- 23335, 22421, 6059, 16257, 14807, 18,
- 23335, 22421, 6059, 16257, 14807, 20,
- 23335, 22421, 6059, 16257, 14807, 22,
- 23335, 22421, 6059, 16257, 14807, 24,
- 23335, 22421, 6059, 16257, 14807, 26,
- 23335, 22421, 6059, 16257, 14807, 28,
- 23335, 22421, 6059, 16257, 14807, 30,
- 23335, 22421, 6059, 16257, 14807, 32,
- 23335, 22421, 6059, 16257, 14807, 34,
- 23335, 22421, 6059, 16257, 14807, 36,
- 23335, 22421, 6059, 16257, 14807, 38,
- 23335, 22421, 6059, 16257, 14807, 40,
- 23335, 22421, 6059, 16257, 14807, 42,
- 23335, 22421, 6059, 16257, 14807, 44,
- 23335, 22421, 6059, 16257, 14807, 46,
- 23335, 22421, 6059, 16257, 14807, 48,
- 23335, 22421, 6059, 16257, 14807, 50,
- 23335, 22421, 6059, 16257, 14807, 454,
- 23335, 22421, 6059, 16257, 14807, 490,
- 23335, 22421, 6059, 16257, 14807, 562,
- 23335, 22421, 6059, 16257, 14807, 766,
- 23335, 22421, 6059, 16257, 14807, 1114,
- 23335, 22421, 6059, 16257, 14807, 1412,
- 23335, 22421, 6059, 16257, 14807, 2808,
- 23335, 22421, 6059, 16257, 14807, 2852,
- 23335, 22421, 6059, 16257, 14807, 3044,
- 23335, 22421, 6059, 16257, 14807, 3358,
- 23335, 22421, 6059, 16257, 14807, 6022,
- 23335, 22421, 6059, 16257, 14807, 7770,
- 23335, 22421, 6059, 16257, 14807, 11756,
- 23335, 22421, 6059, 16257, 14807, 12296,
- 23335, 22421, 6059, 16257, 14807, 12972,
- 23335, 22421, 6059, 16257, 14807, 13175, 14764,
- 23335, 22421, 6059, 16257, 14807, 13248,
- 23335, 22421, 6059, 16257, 14807, 13560,
- 23335, 22421, 6059, 16257, 14807, 13672,
- 23335, 22421, 6059, 16257, 14807, 14328,
- 23335, 22421, 6059, 16257, 14807, 14764,
- 23335, 22421, 6059, 16257, 14807, 14984,
- 23335, 22421, 6059, 16257, 14807, 17956,
- 23335, 22421, 6059, 16257, 14807, 18572,
- 23335, 22421, 6059, 16257, 14807, 19180,
- 23335, 22421, 6059, 16257, 14985, 17140,
- 23335, 22421, 6059, 16257, 17671, 0,
- 23335, 22421, 6059, 16257, 17671, 2,
- 23335, 22421, 6059, 16257, 17671, 4,
- 23335, 22421, 6059, 16257, 17671, 6,
- 23335, 22421, 6059, 16257, 17671, 8,
- 23335, 22421, 6059, 16257, 17671, 10,
- 23335, 22421, 6059, 16257, 17671, 12,
- 23335, 22421, 6059, 16257, 17671, 14,
- 23335, 22421, 6059, 16257, 17671, 16,
- 23335, 22421, 6059, 16257, 17671, 18,
- 23335, 22421, 6059, 16257, 17671, 20,
- 23335, 22421, 6059, 16257, 17671, 22,
- 23335, 22421, 6059, 16257, 17671, 24,
- 23335, 22421, 6059, 16257, 17671, 26,
- 23335, 22421, 6059, 16257, 17671, 28,
- 23335, 22421, 6059, 16257, 17671, 30,
- 23335, 22421, 6059, 16257, 17671, 32,
- 23335, 22421, 6059, 16257, 17671, 34,
- 23335, 22421, 6059, 16257, 17671, 36,
- 23335, 22421, 6059, 16257, 17671, 38,
- 23335, 22421, 6059, 16257, 17671, 40,
- 23335, 22421, 6059, 16257, 17671, 42,
- 23335, 22421, 6059, 16257, 17671, 44,
- 23335, 22421, 6059, 16257, 17671, 46,
- 23335, 22421, 6059, 16257, 17671, 48,
- 23335, 22421, 6059, 16257, 17671, 50,
- 23335, 22421, 6059, 16257, 17671, 454,
- 23335, 22421, 6059, 16257, 17671, 490,
- 23335, 22421, 6059, 16257, 17671, 562,
- 23335, 22421, 6059, 16257, 17671, 766,
- 23335, 22421, 6059, 16257, 17671, 1114,
- 23335, 22421, 6059, 16257, 17671, 1412,
- 23335, 22421, 6059, 16257, 17671, 2808,
- 23335, 22421, 6059, 16257, 17671, 2852,
- 23335, 22421, 6059, 16257, 17671, 3044,
- 23335, 22421, 6059, 16257, 17671, 3358,
- 23335, 22421, 6059, 16257, 17671, 6022,
- 23335, 22421, 6059, 16257, 17671, 7770,
- 23335, 22421, 6059, 16257, 17671, 11756,
- 23335, 22421, 6059, 16257, 17671, 12296,
- 23335, 22421, 6059, 16257, 17671, 12972,
- 23335, 22421, 6059, 16257, 17671, 13248,
- 23335, 22421, 6059, 16257, 17671, 13560,
- 23335, 22421, 6059, 16257, 17671, 13672,
- 23335, 22421, 6059, 16257, 17671, 14328,
- 23335, 22421, 6059, 16257, 17671, 14764,
- 23335, 22421, 6059, 16257, 17671, 14984,
- 23335, 22421, 6059, 16257, 17671, 14985, 17140,
- 23335, 22421, 6059, 16257, 17671, 17956,
- 23335, 22421, 6059, 16257, 17671, 18572,
- 23335, 22421, 6059, 16257, 17671, 19180,
- 23335, 22421, 6059, 16257, 17957, 17140,
- 23335, 22421, 6059, 16257, 18635, 23224,
- 23335, 22421, 6059, 17671, 0,
- 23335, 22421, 6059, 17671, 2,
- 23335, 22421, 6059, 17671, 4,
- 23335, 22421, 6059, 17671, 6,
- 23335, 22421, 6059, 17671, 8,
- 23335, 22421, 6059, 17671, 10,
- 23335, 22421, 6059, 17671, 12,
- 23335, 22421, 6059, 17671, 14,
- 23335, 22421, 6059, 17671, 16,
- 23335, 22421, 6059, 17671, 18,
- 23335, 22421, 6059, 17671, 20,
- 23335, 22421, 6059, 17671, 22,
- 23335, 22421, 6059, 17671, 24,
- 23335, 22421, 6059, 17671, 26,
- 23335, 22421, 6059, 17671, 28,
- 23335, 22421, 6059, 17671, 30,
- 23335, 22421, 6059, 17671, 32,
- 23335, 22421, 6059, 17671, 34,
- 23335, 22421, 6059, 17671, 36,
- 23335, 22421, 6059, 17671, 38,
- 23335, 22421, 6059, 17671, 40,
- 23335, 22421, 6059, 17671, 42,
- 23335, 22421, 6059, 17671, 44,
- 23335, 22421, 6059, 17671, 46,
- 23335, 22421, 6059, 17671, 48,
- 23335, 22421, 6059, 17671, 50,
- 23335, 22421, 6059, 17671, 454,
- 23335, 22421, 6059, 17671, 490,
- 23335, 22421, 6059, 17671, 562,
- 23335, 22421, 6059, 17671, 766,
- 23335, 22421, 6059, 17671, 1114,
- 23335, 22421, 6059, 17671, 1412,
- 23335, 22421, 6059, 17671, 2808,
- 23335, 22421, 6059, 17671, 2852,
- 23335, 22421, 6059, 17671, 3044,
- 23335, 22421, 6059, 17671, 3358,
- 23335, 22421, 6059, 17671, 6022,
- 23335, 22421, 6059, 17671, 7770,
- 23335, 22421, 6059, 17671, 11756,
- 23335, 22421, 6059, 17671, 12296,
- 23335, 22421, 6059, 17671, 12972,
- 23335, 22421, 6059, 17671, 13248,
- 23335, 22421, 6059, 17671, 13560,
- 23335, 22421, 6059, 17671, 13672,
- 23335, 22421, 6059, 17671, 14328,
- 23335, 22421, 6059, 17671, 14764,
- 23335, 22421, 6059, 17671, 14984,
- 23335, 22421, 6059, 17671, 14985, 17140,
- 23335, 22421, 6059, 17671, 17956,
- 23335, 22421, 6059, 17671, 18572,
- 23335, 22421, 6059, 17671, 19180,
- 23335, 22421, 6059, 17957, 17140,
- 23335, 22421, 6059, 18635, 23224,
- 23335, 22421, 12989, 2736,
- 23335, 22421, 12989, 3208,
- 23335, 22421, 12989, 3500,
- 23335, 22421, 12989, 6992,
- 23335, 22421, 12989, 7014,
- 23335, 22421, 12989, 9302,
- 23335, 22421, 12989, 11754,
- 23335, 22421, 12989, 13066,
- 23335, 22421, 12989, 14676,
- 23335, 22421, 12989, 15004,
- 23335, 22421, 14807, 0,
- 23335, 22421, 14807, 2,
- 23335, 22421, 14807, 4,
- 23335, 22421, 14807, 6,
- 23335, 22421, 14807, 8,
- 23335, 22421, 14807, 10,
- 23335, 22421, 14807, 12,
- 23335, 22421, 14807, 14,
- 23335, 22421, 14807, 16,
- 23335, 22421, 14807, 18,
- 23335, 22421, 14807, 20,
- 23335, 22421, 14807, 22,
- 23335, 22421, 14807, 24,
- 23335, 22421, 14807, 26,
- 23335, 22421, 14807, 28,
- 23335, 22421, 14807, 30,
- 23335, 22421, 14807, 32,
- 23335, 22421, 14807, 34,
- 23335, 22421, 14807, 36,
- 23335, 22421, 14807, 38,
- 23335, 22421, 14807, 40,
- 23335, 22421, 14807, 42,
- 23335, 22421, 14807, 44,
- 23335, 22421, 14807, 46,
- 23335, 22421, 14807, 48,
- 23335, 22421, 14807, 50,
- 23335, 22421, 16257, 14807, 0,
- 23335, 22421, 16257, 14807, 2,
- 23335, 22421, 16257, 14807, 4,
- 23335, 22421, 16257, 14807, 6,
- 23335, 22421, 16257, 14807, 8,
- 23335, 22421, 16257, 14807, 10,
- 23335, 22421, 16257, 14807, 12,
- 23335, 22421, 16257, 14807, 14,
- 23335, 22421, 16257, 14807, 16,
- 23335, 22421, 16257, 14807, 18,
- 23335, 22421, 16257, 14807, 20,
- 23335, 22421, 16257, 14807, 22,
- 23335, 22421, 16257, 14807, 24,
- 23335, 22421, 16257, 14807, 26,
- 23335, 22421, 16257, 14807, 28,
- 23335, 22421, 16257, 14807, 30,
- 23335, 22421, 16257, 14807, 32,
- 23335, 22421, 16257, 14807, 34,
- 23335, 22421, 16257, 14807, 36,
- 23335, 22421, 16257, 14807, 38,
- 23335, 22421, 16257, 14807, 40,
- 23335, 22421, 16257, 14807, 42,
- 23335, 22421, 16257, 14807, 44,
- 23335, 22421, 16257, 14807, 46,
- 23335, 22421, 16257, 14807, 48,
- 23335, 22421, 16257, 14807, 50,
- 23335, 22421, 16257, 17671, 0,
- 23335, 22421, 16257, 17671, 2,
- 23335, 22421, 16257, 17671, 4,
- 23335, 22421, 16257, 17671, 6,
- 23335, 22421, 16257, 17671, 8,
- 23335, 22421, 16257, 17671, 10,
- 23335, 22421, 16257, 17671, 12,
- 23335, 22421, 16257, 17671, 14,
- 23335, 22421, 16257, 17671, 16,
- 23335, 22421, 16257, 17671, 18,
- 23335, 22421, 16257, 17671, 20,
- 23335, 22421, 16257, 17671, 22,
- 23335, 22421, 16257, 17671, 24,
- 23335, 22421, 16257, 17671, 26,
- 23335, 22421, 16257, 17671, 28,
- 23335, 22421, 16257, 17671, 30,
- 23335, 22421, 16257, 17671, 32,
- 23335, 22421, 16257, 17671, 34,
- 23335, 22421, 16257, 17671, 36,
- 23335, 22421, 16257, 17671, 38,
- 23335, 22421, 16257, 17671, 40,
- 23335, 22421, 16257, 17671, 42,
- 23335, 22421, 16257, 17671, 44,
- 23335, 22421, 16257, 17671, 46,
- 23335, 22421, 16257, 17671, 48,
- 23335, 22421, 16257, 17671, 50,
- 23335, 22421, 17671, 0,
- 23335, 22421, 17671, 2,
- 23335, 22421, 17671, 4,
- 23335, 22421, 17671, 6,
- 23335, 22421, 17671, 8,
- 23335, 22421, 17671, 10,
- 23335, 22421, 17671, 12,
- 23335, 22421, 17671, 14,
- 23335, 22421, 17671, 16,
- 23335, 22421, 17671, 18,
- 23335, 22421, 17671, 20,
- 23335, 22421, 17671, 22,
- 23335, 22421, 17671, 24,
- 23335, 22421, 17671, 26,
- 23335, 22421, 17671, 28,
- 23335, 22421, 17671, 30,
- 23335, 22421, 17671, 32,
- 23335, 22421, 17671, 34,
- 23335, 22421, 17671, 36,
- 23335, 22421, 17671, 38,
- 23335, 22421, 17671, 40,
- 23335, 22421, 17671, 42,
- 23335, 22421, 17671, 44,
- 23335, 22421, 17671, 46,
- 23335, 22421, 17671, 48,
- 23335, 22421, 17671, 50,
- 23335, 25067, 12989, 2736,
- 23335, 25067, 12989, 3208,
- 23335, 25067, 12989, 3500,
- 23335, 25067, 12989, 6992,
- 23335, 25067, 12989, 7014,
- 23335, 25067, 12989, 9302,
- 23335, 25067, 12989, 11754,
- 23335, 25067, 12989, 13066,
- 23335, 25067, 12989, 14676,
- 23335, 25067, 12989, 15004,
- 23335, 25067, 14807, 0,
- 23335, 25067, 14807, 2,
- 23335, 25067, 14807, 4,
- 23335, 25067, 14807, 6,
- 23335, 25067, 14807, 8,
- 23335, 25067, 14807, 10,
- 23335, 25067, 14807, 12,
- 23335, 25067, 14807, 14,
- 23335, 25067, 14807, 16,
- 23335, 25067, 14807, 18,
- 23335, 25067, 14807, 20,
- 23335, 25067, 14807, 22,
- 23335, 25067, 14807, 24,
- 23335, 25067, 14807, 26,
- 23335, 25067, 14807, 28,
- 23335, 25067, 14807, 30,
- 23335, 25067, 14807, 32,
- 23335, 25067, 14807, 34,
- 23335, 25067, 14807, 36,
- 23335, 25067, 14807, 38,
- 23335, 25067, 14807, 40,
- 23335, 25067, 14807, 42,
- 23335, 25067, 14807, 44,
- 23335, 25067, 14807, 46,
- 23335, 25067, 14807, 48,
- 23335, 25067, 14807, 50,
- 23335, 25067, 17671, 0,
- 23335, 25067, 17671, 2,
- 23335, 25067, 17671, 6,
- 23335, 25067, 17671, 8,
- 23335, 25067, 17671, 10,
- 23335, 25067, 17671, 12,
- 23335, 25067, 17671, 16,
- 23335, 25067, 17671, 18,
- 23335, 25067, 17671, 20,
- 23335, 25067, 17671, 22,
- 23335, 25067, 17671, 24,
- 23335, 25067, 17671, 28,
- 23335, 25067, 17671, 36,
- 23335, 25067, 17671, 38,
- 23335, 25067, 17671, 40,
- 23335, 25067, 17671, 42,
- 23335, 25067, 17671, 44,
- 23335, 25067, 17671, 46,
- 23335, 25067, 17671, 48,
- 23353, 16226,
- 23365, 10794,
- 23367, 7013, 1485, 20701, 203, 6502,
- 23367, 7013, 1485, 20701, 205, 6502,
- 23367, 7013, 1485, 20701, 2281, 8268,
- 23367, 7013, 1485, 20701, 3501, 1285, 16378,
- 23367, 7013, 1485, 20701, 8229, 12309, 17646,
- 23367, 7013, 1485, 20701, 8229, 12449, 22241, 17646,
- 23367, 7013, 1485, 20701, 8229, 12863, 17646,
- 23367, 7013, 1485, 20701, 8229, 15335, 15851, 17646,
- 23367, 7013, 1485, 20701, 8229, 15335, 22241, 17646,
- 23367, 7013, 1485, 20701, 8229, 15851, 17646,
- 23367, 7013, 1485, 20701, 8229, 15969, 12309, 17646,
- 23367, 7013, 1485, 20701, 8229, 17077, 17646,
- 23367, 7013, 1485, 20701, 8229, 20615, 14709, 17646,
- 23367, 7013, 1485, 20701, 8229, 22966,
- 23367, 7013, 1485, 20701, 11407, 2281, 8268,
- 23367, 7013, 1485, 20701, 12838,
- 23367, 7013, 1485, 20701, 12844,
- 23367, 7013, 1485, 20701, 14557, 12309, 17646,
- 23367, 7013, 1485, 20701, 14557, 12449, 22241, 17646,
- 23367, 7013, 1485, 20701, 14557, 12863, 17646,
- 23367, 7013, 1485, 20701, 14557, 15335, 15851, 17646,
- 23367, 7013, 1485, 20701, 14557, 15335, 22241, 17646,
- 23367, 7013, 1485, 20701, 14557, 15335, 22241, 17650,
- 23367, 7013, 1485, 20701, 14557, 15851, 17646,
- 23367, 7013, 1485, 20701, 14557, 15969, 12309, 17646,
- 23367, 7013, 1485, 20701, 14557, 17077, 17646,
- 23367, 7013, 1485, 20701, 14557, 20615, 14709, 17646,
- 23367, 7013, 1485, 20701, 14557, 22966,
- 23367, 7013, 1485, 20701, 20329, 8756,
- 23367, 7013, 1485, 20701, 21560,
- 23367, 7013, 1485, 20701, 22199, 19774,
- 23367, 7013, 1485, 20701, 22789, 8756,
- 23367, 7013, 1485, 20701, 22833, 7029, 10630,
- 23367, 7013, 1485, 20701, 22833, 12844,
- 23369, 660,
- 23377, 19200,
- 23383, 6988,
- 23383, 17131, 10510,
- 23383, 17131, 10511, 11445, 6652,
- 23383, 19363, 19791, 10510,
- 23385, 22215, 21448,
- 23387, 15335, 22417, 12342,
- 23390,
- 23449, 7029, 10630,
- 23452,
- 23458,
- 23465, 14828,
- 23468,
- 23489, 22417, 12342,
- 23495, 6952,
- 23499, 3437, 22429, 12342,
- 23499, 9721, 15815, 12342,
- 23499, 15825, 15815, 12342,
- 23499, 16103, 15815, 12342,
- 23499, 17747, 19948,
- 23499, 21109, 893, 19183, 9721, 15815, 15620,
- 23499, 22850,
- 23499, 27323, 3437, 20677, 12342,
- 23499, 27323, 8229, 20677, 12342,
- 23499, 27323, 9721, 15815, 12342,
- 23499, 27323, 14557, 20677, 12342,
- 23499, 27323, 15707, 20677, 12342,
- 23501, 1051, 2623, 19315, 13093, 660,
- 23501, 13093, 529, 13093, 660,
- 23501, 13093, 660,
- 23501, 13093, 661, 529, 3389, 13501, 506,
- 25063, 21797, 17140,
- 25067, 13955, 21640,
- 25067, 14807, 562,
- 25067, 14807, 13248,
- 25067, 16257, 14807, 6,
- 25067, 16257, 14807, 8,
- 25067, 16257, 14807, 16,
- 25067, 16257, 14807, 18,
- 25067, 16257, 17671, 6,
- 25067, 17671, 4,
- 25067, 17671, 14,
- 25067, 17671, 26,
- 25067, 17671, 30,
- 25067, 17671, 32,
- 25067, 17671, 34,
- 25067, 17671, 50,
- 25067, 17671, 562,
- 25067, 17671, 13248,
- 25069, 3027, 20626,
- 25069, 14807, 3027, 20626,
- 25069, 20627, 11445, 8229, 7385, 12448,
- 25069, 20627, 11445, 14557, 7385, 12448,
- 25079, 10510,
- 25083, 13093, 660,
- 25083, 22139, 660,
- 25087, 14397, 17140,
- 25099, 18605, 16393, 276,
- 25099, 18605, 16393, 554,
- 25099, 18605, 16393, 2654,
- 25099, 18605, 16393, 3362,
- 25099, 18605, 16393, 6024,
- 25099, 18605, 16393, 7432,
- 25099, 18605, 16393, 7950,
- 25099, 18605, 16393, 10414,
- 25099, 18605, 16393, 10846,
- 25099, 18605, 16393, 11654,
- 25099, 18605, 16393, 12284,
- 25099, 18605, 16393, 13298,
- 25099, 18605, 16393, 14618,
- 25099, 18605, 16393, 15488,
- 25099, 18605, 16393, 15884,
- 25099, 18605, 16393, 16372,
- 25099, 18605, 16393, 16918,
- 25099, 18605, 16393, 20090,
- 25099, 18605, 16393, 25226,
- 25099, 18605, 16647, 2736,
- 25099, 18605, 16647, 2737, 18102,
- 25099, 18605, 16647, 2737, 20596,
- 25099, 18605, 16647, 3376,
- 25099, 18605, 16647, 3500,
- 25099, 18605, 16647, 7014,
- 25099, 18605, 16647, 15004,
- 25099, 18605, 16647, 17314,
- 25099, 20241, 16393, 276,
- 25099, 20241, 16393, 554,
- 25099, 20241, 16393, 2386,
- 25099, 20241, 16393, 2654,
- 25099, 20241, 16393, 3362,
- 25099, 20241, 16393, 3710,
- 25099, 20241, 16393, 5514,
- 25099, 20241, 16393, 6024,
- 25099, 20241, 16393, 7432,
- 25099, 20241, 16393, 7950,
- 25099, 20241, 16393, 9930,
- 25099, 20241, 16393, 10058,
- 25099, 20241, 16393, 10414,
- 25099, 20241, 16393, 10846,
- 25099, 20241, 16393, 11654,
- 25099, 20241, 16393, 12284,
- 25099, 20241, 16393, 13298,
- 25099, 20241, 16393, 14618,
- 25099, 20241, 16393, 15488,
- 25099, 20241, 16393, 15884,
- 25099, 20241, 16393, 16372,
- 25099, 20241, 16393, 16918,
- 25099, 20241, 16647, 2736,
- 25099, 20241, 16647, 2737, 18102,
- 25099, 20241, 16647, 2737, 20596,
- 25099, 20241, 16647, 3376,
- 25099, 20241, 16647, 3500,
- 25099, 20241, 16647, 7014,
- 25099, 20241, 16647, 15004,
- 25099, 20241, 16647, 17314,
- 25119, 12309, 17646,
- 25119, 15875, 12309, 17646,
- 25119, 15969, 12309, 21495, 8756,
- 25119, 22253, 13306,
- 25121, 8756,
- 25121, 18136,
- 25121, 20208,
- 25121, 21120,
- 25127, 10510,
- 25137, 22417, 12342,
- 25143, 12989, 2736,
- 25143, 12989, 3208,
- 25143, 12989, 3500,
- 25143, 12989, 6992,
- 25143, 12989, 7014,
- 25143, 12989, 9302,
- 25143, 12989, 13066,
- 25143, 12989, 14676,
- 25143, 12989, 15004,
- 25143, 13685, 14807, 16393, 0,
- 25143, 13685, 14807, 16393, 2,
- 25143, 13685, 14807, 16393, 4,
- 25143, 13685, 14807, 16393, 6,
- 25143, 13685, 14807, 16393, 8,
- 25143, 13685, 14807, 16393, 10,
- 25143, 13685, 14807, 16393, 12,
- 25143, 13685, 14807, 16393, 14,
- 25143, 13685, 14807, 16393, 16,
- 25143, 13685, 14807, 16393, 18,
- 25143, 13685, 14807, 16393, 20,
- 25143, 13685, 14807, 16393, 22,
- 25143, 13685, 14807, 16393, 24,
- 25143, 13685, 14807, 16393, 26,
- 25143, 13685, 14807, 16393, 28,
- 25143, 13685, 14807, 16393, 30,
- 25143, 13685, 14807, 16393, 32,
- 25143, 13685, 14807, 16393, 34,
- 25143, 13685, 14807, 16393, 36,
- 25143, 13685, 14807, 16393, 38,
- 25143, 13685, 14807, 16393, 40,
- 25143, 13685, 14807, 16393, 42,
- 25143, 13685, 14807, 16393, 44,
- 25143, 13685, 14807, 16393, 46,
- 25143, 13685, 14807, 16393, 48,
- 25143, 13685, 14807, 16393, 50,
- 25143, 13685, 17671, 16393, 0,
- 25143, 13685, 17671, 16393, 2,
- 25143, 13685, 17671, 16393, 4,
- 25143, 13685, 17671, 16393, 6,
- 25143, 13685, 17671, 16393, 8,
- 25143, 13685, 17671, 16393, 10,
- 25143, 13685, 17671, 16393, 12,
- 25143, 13685, 17671, 16393, 14,
- 25143, 13685, 17671, 16393, 16,
- 25143, 13685, 17671, 16393, 18,
- 25143, 13685, 17671, 16393, 20,
- 25143, 13685, 17671, 16393, 22,
- 25143, 13685, 17671, 16393, 24,
- 25143, 13685, 17671, 16393, 26,
- 25143, 13685, 17671, 16393, 28,
- 25143, 13685, 17671, 16393, 30,
- 25143, 13685, 17671, 16393, 32,
- 25143, 13685, 17671, 16393, 34,
- 25143, 13685, 17671, 16393, 36,
- 25143, 13685, 17671, 16393, 38,
- 25143, 13685, 17671, 16393, 40,
- 25143, 13685, 17671, 16393, 42,
- 25143, 13685, 17671, 16393, 44,
- 25143, 13685, 17671, 16393, 46,
- 25143, 13685, 17671, 16393, 48,
- 25143, 13685, 17671, 16393, 50,
- 25143, 16181, 10522,
- 25143, 16181, 10523, 0,
- 25143, 16181, 12620,
- 25143, 16181, 12621, 0,
- 25143, 16181, 12621, 40,
- 25143, 16181, 13396,
- 25143, 16181, 13397, 0,
- 25143, 16181, 13494,
- 25143, 16181, 13495, 0,
- 25143, 16181, 13894,
- 25143, 16181, 13895, 0,
- 25143, 16181, 14064,
- 25143, 16181, 14065, 0,
- 25143, 16181, 14436,
- 25143, 16181, 14437, 0,
- 25143, 16181, 14552,
- 25143, 16181, 14553, 0,
- 25143, 16181, 16326,
- 25143, 16181, 16327, 0,
- 25143, 16181, 17226,
- 25143, 16181, 17227, 0,
- 25143, 16181, 17706,
- 25143, 16181, 17707, 0,
- 25143, 16181, 18182,
- 25143, 16181, 18183, 0,
- 25143, 16181, 18676,
- 25143, 16181, 18677, 0,
- 25143, 16181, 19076,
- 25143, 16181, 19077, 0,
- 25143, 16341, 20865, 29, 292,
- 25143, 16341, 20865, 14320,
- 25143, 16647, 3376,
- 25143, 16647, 15984,
- 25143, 16647, 17312,
- 25143, 16647, 17314,
- 25143, 16647, 17984,
- 25143, 16647, 18932,
- 25143, 16647, 19764,
- 25143, 16647, 19846,
- 25143, 16647, 20158,
- 25143, 16647, 20594,
- 25143, 16647, 21570,
- 25143, 21245, 2736,
- 25143, 21245, 3208,
- 25143, 21245, 3276,
- 25143, 21245, 3376,
- 25143, 21245, 3500,
- 25143, 21245, 6170,
- 25143, 21245, 6982,
- 25143, 21245, 6992,
- 25143, 21245, 7014,
- 25143, 21245, 7396,
- 25143, 21245, 8928,
- 25143, 21245, 9088,
- 25143, 21245, 9302,
- 25143, 21245, 10060,
- 25143, 21245, 10358,
- 25143, 21245, 11462,
- 25143, 21245, 13056,
- 25143, 21245, 13066,
- 25143, 21245, 13662,
- 25143, 21245, 13862,
- 25143, 21245, 14534,
- 25143, 21245, 14676,
- 25143, 21245, 14876,
- 25143, 21245, 14886,
- 25143, 21245, 15004,
- 25143, 21245, 15318,
- 25143, 21245, 18950,
- 25143, 21245, 18968,
- 25143, 21245, 19328,
- 25143, 21245, 19810,
- 25143, 21245, 20358,
- 25143, 21245, 21156,
- 25143, 21245, 21518,
- 25143, 21245, 21648,
- 25143, 21245, 22126,
- 25143, 21245, 25250,
- 25146,
- 25147, 11445, 36,
- 25179, 8756,
- 25179, 18136,
- 25179, 20208,
- 25179, 21120,
- 25199, 16540,
- 25208,
- 25222,
- 25241, 13093, 660,
- 25243, 19374,
- 25246,
- 25255, 6952,
- 25261, 6180,
- 25370,
- 25389, 46,
- 25389, 10510,
- 25389, 10511, 323, 8229, 7385, 15814,
- 25389, 10511, 323, 14557, 7385, 15814,
- 25389, 10511, 323, 15969, 15814,
- 25389, 10511, 323, 20626,
- 25389, 10511, 11445, 1285, 12248,
- 25389, 10511, 11445, 20688,
- 25401, 12309, 17646,
- 25401, 15875, 12309, 17646,
- 25401, 15969, 12309, 21495, 8756,
- 25401, 22253, 13306,
- 25404,
- 25537, 14155, 6789, 12342,
- 25537, 14827, 6789, 12342,
- 25537, 22417, 12342,
- 27317, 22417, 12342,
- 27319, 19374,
- 27323, 22417, 12342,
- 27329, 22417, 12342,
- 27333, 18706,
- 27339, 12290,
- 27491, 15969, 16226,
- 27491, 17377, 14825, 8756,
- 27491, 21483, 14825, 8756,
- 27491, 23035, 14825, 8756,
- 27515, 17140,
- 27537, 19320,
- 27539, 14381, 17140,
- 27571, 16167, 17140,
- 27571, 16357, 17140,
- 27599, 17140,
- 27605, 17140,
+ 23298,
+ 23300,
+ 23312,
+ 23313, 11445, 1284,
+ 23313, 11445, 18349, 892,
+ 23313, 11445, 18594,
+ 23313, 12249, 959, 12249, 15168,
+ 23313, 12249, 15168,
+ 23313, 15685, 893, 16265, 11445, 23312,
+ 23339, 6059, 563, 17140,
+ 23339, 6059, 2809, 17140,
+ 23339, 6059, 3045, 17140,
+ 23339, 6059, 12989, 2736,
+ 23339, 6059, 12989, 3208,
+ 23339, 6059, 12989, 3500,
+ 23339, 6059, 12989, 6992,
+ 23339, 6059, 12989, 7014,
+ 23339, 6059, 12989, 9302,
+ 23339, 6059, 12989, 11754,
+ 23339, 6059, 12989, 13066,
+ 23339, 6059, 12989, 14676,
+ 23339, 6059, 12989, 15004,
+ 23339, 6059, 13561, 17140,
+ 23339, 6059, 13970,
+ 23339, 6059, 14807, 0,
+ 23339, 6059, 14807, 2,
+ 23339, 6059, 14807, 4,
+ 23339, 6059, 14807, 6,
+ 23339, 6059, 14807, 8,
+ 23339, 6059, 14807, 10,
+ 23339, 6059, 14807, 12,
+ 23339, 6059, 14807, 14,
+ 23339, 6059, 14807, 16,
+ 23339, 6059, 14807, 18,
+ 23339, 6059, 14807, 20,
+ 23339, 6059, 14807, 22,
+ 23339, 6059, 14807, 24,
+ 23339, 6059, 14807, 26,
+ 23339, 6059, 14807, 28,
+ 23339, 6059, 14807, 30,
+ 23339, 6059, 14807, 32,
+ 23339, 6059, 14807, 34,
+ 23339, 6059, 14807, 36,
+ 23339, 6059, 14807, 38,
+ 23339, 6059, 14807, 40,
+ 23339, 6059, 14807, 42,
+ 23339, 6059, 14807, 44,
+ 23339, 6059, 14807, 46,
+ 23339, 6059, 14807, 48,
+ 23339, 6059, 14807, 50,
+ 23339, 6059, 14807, 454,
+ 23339, 6059, 14807, 490,
+ 23339, 6059, 14807, 562,
+ 23339, 6059, 14807, 766,
+ 23339, 6059, 14807, 1114,
+ 23339, 6059, 14807, 1412,
+ 23339, 6059, 14807, 2808,
+ 23339, 6059, 14807, 2852,
+ 23339, 6059, 14807, 3044,
+ 23339, 6059, 14807, 3358,
+ 23339, 6059, 14807, 6022,
+ 23339, 6059, 14807, 7770,
+ 23339, 6059, 14807, 11756,
+ 23339, 6059, 14807, 12296,
+ 23339, 6059, 14807, 12972,
+ 23339, 6059, 14807, 13175, 14764,
+ 23339, 6059, 14807, 13248,
+ 23339, 6059, 14807, 13560,
+ 23339, 6059, 14807, 13672,
+ 23339, 6059, 14807, 14328,
+ 23339, 6059, 14807, 14764,
+ 23339, 6059, 14807, 14984,
+ 23339, 6059, 14807, 17828,
+ 23339, 6059, 14807, 17956,
+ 23339, 6059, 14807, 18572,
+ 23339, 6059, 14807, 19180,
+ 23339, 6059, 14985, 17140,
+ 23339, 6059, 16257, 563, 17140,
+ 23339, 6059, 16257, 2809, 17140,
+ 23339, 6059, 16257, 3045, 17140,
+ 23339, 6059, 16257, 13561, 17140,
+ 23339, 6059, 16257, 13970,
+ 23339, 6059, 16257, 14807, 0,
+ 23339, 6059, 16257, 14807, 2,
+ 23339, 6059, 16257, 14807, 4,
+ 23339, 6059, 16257, 14807, 6,
+ 23339, 6059, 16257, 14807, 8,
+ 23339, 6059, 16257, 14807, 10,
+ 23339, 6059, 16257, 14807, 12,
+ 23339, 6059, 16257, 14807, 14,
+ 23339, 6059, 16257, 14807, 16,
+ 23339, 6059, 16257, 14807, 18,
+ 23339, 6059, 16257, 14807, 20,
+ 23339, 6059, 16257, 14807, 22,
+ 23339, 6059, 16257, 14807, 24,
+ 23339, 6059, 16257, 14807, 26,
+ 23339, 6059, 16257, 14807, 28,
+ 23339, 6059, 16257, 14807, 30,
+ 23339, 6059, 16257, 14807, 32,
+ 23339, 6059, 16257, 14807, 34,
+ 23339, 6059, 16257, 14807, 36,
+ 23339, 6059, 16257, 14807, 38,
+ 23339, 6059, 16257, 14807, 40,
+ 23339, 6059, 16257, 14807, 42,
+ 23339, 6059, 16257, 14807, 44,
+ 23339, 6059, 16257, 14807, 46,
+ 23339, 6059, 16257, 14807, 48,
+ 23339, 6059, 16257, 14807, 50,
+ 23339, 6059, 16257, 14807, 454,
+ 23339, 6059, 16257, 14807, 490,
+ 23339, 6059, 16257, 14807, 562,
+ 23339, 6059, 16257, 14807, 766,
+ 23339, 6059, 16257, 14807, 1114,
+ 23339, 6059, 16257, 14807, 1412,
+ 23339, 6059, 16257, 14807, 2808,
+ 23339, 6059, 16257, 14807, 2852,
+ 23339, 6059, 16257, 14807, 3044,
+ 23339, 6059, 16257, 14807, 3358,
+ 23339, 6059, 16257, 14807, 6022,
+ 23339, 6059, 16257, 14807, 7770,
+ 23339, 6059, 16257, 14807, 11756,
+ 23339, 6059, 16257, 14807, 12296,
+ 23339, 6059, 16257, 14807, 12972,
+ 23339, 6059, 16257, 14807, 13175, 14764,
+ 23339, 6059, 16257, 14807, 13248,
+ 23339, 6059, 16257, 14807, 13560,
+ 23339, 6059, 16257, 14807, 13672,
+ 23339, 6059, 16257, 14807, 14328,
+ 23339, 6059, 16257, 14807, 14764,
+ 23339, 6059, 16257, 14807, 14984,
+ 23339, 6059, 16257, 14807, 17956,
+ 23339, 6059, 16257, 14807, 18572,
+ 23339, 6059, 16257, 14807, 19180,
+ 23339, 6059, 16257, 14985, 17140,
+ 23339, 6059, 16257, 17671, 0,
+ 23339, 6059, 16257, 17671, 2,
+ 23339, 6059, 16257, 17671, 4,
+ 23339, 6059, 16257, 17671, 6,
+ 23339, 6059, 16257, 17671, 8,
+ 23339, 6059, 16257, 17671, 10,
+ 23339, 6059, 16257, 17671, 12,
+ 23339, 6059, 16257, 17671, 14,
+ 23339, 6059, 16257, 17671, 16,
+ 23339, 6059, 16257, 17671, 18,
+ 23339, 6059, 16257, 17671, 20,
+ 23339, 6059, 16257, 17671, 22,
+ 23339, 6059, 16257, 17671, 24,
+ 23339, 6059, 16257, 17671, 26,
+ 23339, 6059, 16257, 17671, 28,
+ 23339, 6059, 16257, 17671, 30,
+ 23339, 6059, 16257, 17671, 32,
+ 23339, 6059, 16257, 17671, 34,
+ 23339, 6059, 16257, 17671, 36,
+ 23339, 6059, 16257, 17671, 38,
+ 23339, 6059, 16257, 17671, 40,
+ 23339, 6059, 16257, 17671, 42,
+ 23339, 6059, 16257, 17671, 44,
+ 23339, 6059, 16257, 17671, 46,
+ 23339, 6059, 16257, 17671, 48,
+ 23339, 6059, 16257, 17671, 50,
+ 23339, 6059, 16257, 17671, 454,
+ 23339, 6059, 16257, 17671, 490,
+ 23339, 6059, 16257, 17671, 562,
+ 23339, 6059, 16257, 17671, 766,
+ 23339, 6059, 16257, 17671, 1114,
+ 23339, 6059, 16257, 17671, 1412,
+ 23339, 6059, 16257, 17671, 2808,
+ 23339, 6059, 16257, 17671, 2852,
+ 23339, 6059, 16257, 17671, 3044,
+ 23339, 6059, 16257, 17671, 3358,
+ 23339, 6059, 16257, 17671, 6022,
+ 23339, 6059, 16257, 17671, 7770,
+ 23339, 6059, 16257, 17671, 11756,
+ 23339, 6059, 16257, 17671, 12296,
+ 23339, 6059, 16257, 17671, 12972,
+ 23339, 6059, 16257, 17671, 13248,
+ 23339, 6059, 16257, 17671, 13560,
+ 23339, 6059, 16257, 17671, 13672,
+ 23339, 6059, 16257, 17671, 14328,
+ 23339, 6059, 16257, 17671, 14764,
+ 23339, 6059, 16257, 17671, 14984,
+ 23339, 6059, 16257, 17671, 14985, 17140,
+ 23339, 6059, 16257, 17671, 17956,
+ 23339, 6059, 16257, 17671, 18572,
+ 23339, 6059, 16257, 17671, 19180,
+ 23339, 6059, 16257, 17957, 17140,
+ 23339, 6059, 16257, 18635, 23228,
+ 23339, 6059, 16947, 14807, 0,
+ 23339, 6059, 16947, 14807, 2,
+ 23339, 6059, 16947, 14807, 4,
+ 23339, 6059, 16947, 14807, 6,
+ 23339, 6059, 16947, 14807, 8,
+ 23339, 6059, 16947, 14807, 10,
+ 23339, 6059, 16947, 14807, 12,
+ 23339, 6059, 16947, 14807, 14,
+ 23339, 6059, 16947, 14807, 16,
+ 23339, 6059, 16947, 14807, 18,
+ 23339, 6059, 16947, 14807, 20,
+ 23339, 6059, 16947, 14807, 22,
+ 23339, 6059, 16947, 14807, 24,
+ 23339, 6059, 16947, 14807, 26,
+ 23339, 6059, 16947, 14807, 28,
+ 23339, 6059, 16947, 14807, 30,
+ 23339, 6059, 16947, 14807, 32,
+ 23339, 6059, 16947, 14807, 34,
+ 23339, 6059, 16947, 14807, 36,
+ 23339, 6059, 16947, 14807, 38,
+ 23339, 6059, 16947, 14807, 40,
+ 23339, 6059, 16947, 14807, 42,
+ 23339, 6059, 16947, 14807, 44,
+ 23339, 6059, 16947, 14807, 46,
+ 23339, 6059, 16947, 14807, 48,
+ 23339, 6059, 16947, 14807, 50,
+ 23339, 6059, 16947, 17671, 0,
+ 23339, 6059, 16947, 17671, 2,
+ 23339, 6059, 16947, 17671, 4,
+ 23339, 6059, 16947, 17671, 6,
+ 23339, 6059, 16947, 17671, 8,
+ 23339, 6059, 16947, 17671, 10,
+ 23339, 6059, 16947, 17671, 12,
+ 23339, 6059, 16947, 17671, 14,
+ 23339, 6059, 16947, 17671, 16,
+ 23339, 6059, 16947, 17671, 18,
+ 23339, 6059, 16947, 17671, 20,
+ 23339, 6059, 16947, 17671, 22,
+ 23339, 6059, 16947, 17671, 24,
+ 23339, 6059, 16947, 17671, 26,
+ 23339, 6059, 16947, 17671, 28,
+ 23339, 6059, 16947, 17671, 30,
+ 23339, 6059, 16947, 17671, 32,
+ 23339, 6059, 16947, 17671, 34,
+ 23339, 6059, 16947, 17671, 36,
+ 23339, 6059, 16947, 17671, 38,
+ 23339, 6059, 16947, 17671, 40,
+ 23339, 6059, 16947, 17671, 42,
+ 23339, 6059, 16947, 17671, 44,
+ 23339, 6059, 16947, 17671, 46,
+ 23339, 6059, 16947, 17671, 48,
+ 23339, 6059, 16947, 17671, 50,
+ 23339, 6059, 17671, 0,
+ 23339, 6059, 17671, 2,
+ 23339, 6059, 17671, 4,
+ 23339, 6059, 17671, 6,
+ 23339, 6059, 17671, 8,
+ 23339, 6059, 17671, 10,
+ 23339, 6059, 17671, 12,
+ 23339, 6059, 17671, 14,
+ 23339, 6059, 17671, 16,
+ 23339, 6059, 17671, 18,
+ 23339, 6059, 17671, 20,
+ 23339, 6059, 17671, 22,
+ 23339, 6059, 17671, 24,
+ 23339, 6059, 17671, 26,
+ 23339, 6059, 17671, 28,
+ 23339, 6059, 17671, 30,
+ 23339, 6059, 17671, 32,
+ 23339, 6059, 17671, 34,
+ 23339, 6059, 17671, 36,
+ 23339, 6059, 17671, 38,
+ 23339, 6059, 17671, 40,
+ 23339, 6059, 17671, 42,
+ 23339, 6059, 17671, 44,
+ 23339, 6059, 17671, 46,
+ 23339, 6059, 17671, 48,
+ 23339, 6059, 17671, 50,
+ 23339, 6059, 17671, 454,
+ 23339, 6059, 17671, 490,
+ 23339, 6059, 17671, 562,
+ 23339, 6059, 17671, 766,
+ 23339, 6059, 17671, 1114,
+ 23339, 6059, 17671, 1412,
+ 23339, 6059, 17671, 2808,
+ 23339, 6059, 17671, 2852,
+ 23339, 6059, 17671, 3044,
+ 23339, 6059, 17671, 3358,
+ 23339, 6059, 17671, 6022,
+ 23339, 6059, 17671, 7770,
+ 23339, 6059, 17671, 11756,
+ 23339, 6059, 17671, 12296,
+ 23339, 6059, 17671, 12972,
+ 23339, 6059, 17671, 13248,
+ 23339, 6059, 17671, 13560,
+ 23339, 6059, 17671, 13672,
+ 23339, 6059, 17671, 14328,
+ 23339, 6059, 17671, 14764,
+ 23339, 6059, 17671, 14984,
+ 23339, 6059, 17671, 14985, 17140,
+ 23339, 6059, 17671, 17828,
+ 23339, 6059, 17671, 17956,
+ 23339, 6059, 17671, 18572,
+ 23339, 6059, 17671, 19180,
+ 23339, 6059, 17957, 17140,
+ 23339, 6059, 18011, 14807, 0,
+ 23339, 6059, 18011, 14807, 2,
+ 23339, 6059, 18011, 14807, 4,
+ 23339, 6059, 18011, 14807, 6,
+ 23339, 6059, 18011, 14807, 8,
+ 23339, 6059, 18011, 14807, 10,
+ 23339, 6059, 18011, 14807, 12,
+ 23339, 6059, 18011, 14807, 14,
+ 23339, 6059, 18011, 14807, 16,
+ 23339, 6059, 18011, 14807, 18,
+ 23339, 6059, 18011, 14807, 20,
+ 23339, 6059, 18011, 14807, 22,
+ 23339, 6059, 18011, 14807, 24,
+ 23339, 6059, 18011, 14807, 26,
+ 23339, 6059, 18011, 14807, 28,
+ 23339, 6059, 18011, 14807, 30,
+ 23339, 6059, 18011, 14807, 32,
+ 23339, 6059, 18011, 14807, 34,
+ 23339, 6059, 18011, 14807, 36,
+ 23339, 6059, 18011, 14807, 38,
+ 23339, 6059, 18011, 14807, 40,
+ 23339, 6059, 18011, 14807, 42,
+ 23339, 6059, 18011, 14807, 44,
+ 23339, 6059, 18011, 14807, 46,
+ 23339, 6059, 18011, 14807, 48,
+ 23339, 6059, 18011, 14807, 50,
+ 23339, 6059, 18011, 17671, 0,
+ 23339, 6059, 18011, 17671, 2,
+ 23339, 6059, 18011, 17671, 4,
+ 23339, 6059, 18011, 17671, 6,
+ 23339, 6059, 18011, 17671, 8,
+ 23339, 6059, 18011, 17671, 10,
+ 23339, 6059, 18011, 17671, 12,
+ 23339, 6059, 18011, 17671, 14,
+ 23339, 6059, 18011, 17671, 16,
+ 23339, 6059, 18011, 17671, 18,
+ 23339, 6059, 18011, 17671, 20,
+ 23339, 6059, 18011, 17671, 22,
+ 23339, 6059, 18011, 17671, 24,
+ 23339, 6059, 18011, 17671, 26,
+ 23339, 6059, 18011, 17671, 28,
+ 23339, 6059, 18011, 17671, 30,
+ 23339, 6059, 18011, 17671, 32,
+ 23339, 6059, 18011, 17671, 34,
+ 23339, 6059, 18011, 17671, 36,
+ 23339, 6059, 18011, 17671, 38,
+ 23339, 6059, 18011, 17671, 40,
+ 23339, 6059, 18011, 17671, 42,
+ 23339, 6059, 18011, 17671, 44,
+ 23339, 6059, 18011, 17671, 46,
+ 23339, 6059, 18011, 17671, 48,
+ 23339, 6059, 18011, 17671, 50,
+ 23339, 6059, 18635, 23228,
+ 23339, 8229, 12309, 17646,
+ 23339, 8229, 15335, 17077, 17646,
+ 23339, 8229, 15335, 20615, 14709, 17646,
+ 23339, 8229, 15969, 12309, 17646,
+ 23339, 8229, 21167, 22968,
+ 23339, 14557, 12309, 17646,
+ 23339, 14557, 15335, 17077, 17646,
+ 23339, 14557, 15335, 20615, 14709, 17646,
+ 23339, 14557, 15969, 12309, 17646,
+ 23339, 14557, 21167, 22968,
+ 23339, 16257, 563, 17140,
+ 23339, 16257, 2809, 17140,
+ 23339, 16257, 3045, 17140,
+ 23339, 16257, 13561, 17140,
+ 23339, 16257, 13970,
+ 23339, 16257, 14807, 0,
+ 23339, 16257, 14807, 2,
+ 23339, 16257, 14807, 4,
+ 23339, 16257, 14807, 6,
+ 23339, 16257, 14807, 8,
+ 23339, 16257, 14807, 10,
+ 23339, 16257, 14807, 12,
+ 23339, 16257, 14807, 16,
+ 23339, 16257, 14807, 18,
+ 23339, 16257, 14807, 20,
+ 23339, 16257, 14807, 22,
+ 23339, 16257, 14807, 24,
+ 23339, 16257, 14807, 26,
+ 23339, 16257, 14807, 28,
+ 23339, 16257, 14807, 30,
+ 23339, 16257, 14807, 32,
+ 23339, 16257, 14807, 34,
+ 23339, 16257, 14807, 36,
+ 23339, 16257, 14807, 38,
+ 23339, 16257, 14807, 40,
+ 23339, 16257, 14807, 42,
+ 23339, 16257, 14807, 44,
+ 23339, 16257, 14807, 46,
+ 23339, 16257, 14807, 48,
+ 23339, 16257, 14807, 50,
+ 23339, 16257, 14807, 454,
+ 23339, 16257, 14807, 490,
+ 23339, 16257, 14807, 562,
+ 23339, 16257, 14807, 766,
+ 23339, 16257, 14807, 1114,
+ 23339, 16257, 14807, 1412,
+ 23339, 16257, 14807, 2808,
+ 23339, 16257, 14807, 2852,
+ 23339, 16257, 14807, 3044,
+ 23339, 16257, 14807, 3358,
+ 23339, 16257, 14807, 6022,
+ 23339, 16257, 14807, 7770,
+ 23339, 16257, 14807, 11756,
+ 23339, 16257, 14807, 12296,
+ 23339, 16257, 14807, 12972,
+ 23339, 16257, 14807, 13175, 14764,
+ 23339, 16257, 14807, 13248,
+ 23339, 16257, 14807, 13560,
+ 23339, 16257, 14807, 13672,
+ 23339, 16257, 14807, 14328,
+ 23339, 16257, 14807, 14764,
+ 23339, 16257, 14807, 14984,
+ 23339, 16257, 14807, 17855, 16,
+ 23339, 16257, 14807, 17855, 18,
+ 23339, 16257, 14807, 17956,
+ 23339, 16257, 14807, 18572,
+ 23339, 16257, 14807, 19180,
+ 23339, 16257, 14985, 17140,
+ 23339, 16257, 17671, 0,
+ 23339, 16257, 17671, 2,
+ 23339, 16257, 17671, 4,
+ 23339, 16257, 17671, 6,
+ 23339, 16257, 17671, 8,
+ 23339, 16257, 17671, 10,
+ 23339, 16257, 17671, 12,
+ 23339, 16257, 17671, 14,
+ 23339, 16257, 17671, 16,
+ 23339, 16257, 17671, 18,
+ 23339, 16257, 17671, 20,
+ 23339, 16257, 17671, 22,
+ 23339, 16257, 17671, 24,
+ 23339, 16257, 17671, 26,
+ 23339, 16257, 17671, 28,
+ 23339, 16257, 17671, 30,
+ 23339, 16257, 17671, 32,
+ 23339, 16257, 17671, 34,
+ 23339, 16257, 17671, 36,
+ 23339, 16257, 17671, 38,
+ 23339, 16257, 17671, 40,
+ 23339, 16257, 17671, 42,
+ 23339, 16257, 17671, 44,
+ 23339, 16257, 17671, 46,
+ 23339, 16257, 17671, 48,
+ 23339, 16257, 17671, 50,
+ 23339, 16257, 17671, 454,
+ 23339, 16257, 17671, 490,
+ 23339, 16257, 17671, 562,
+ 23339, 16257, 17671, 766,
+ 23339, 16257, 17671, 1114,
+ 23339, 16257, 17671, 1412,
+ 23339, 16257, 17671, 2808,
+ 23339, 16257, 17671, 2852,
+ 23339, 16257, 17671, 3044,
+ 23339, 16257, 17671, 3358,
+ 23339, 16257, 17671, 6022,
+ 23339, 16257, 17671, 7770,
+ 23339, 16257, 17671, 11756,
+ 23339, 16257, 17671, 12296,
+ 23339, 16257, 17671, 12972,
+ 23339, 16257, 17671, 13248,
+ 23339, 16257, 17671, 13560,
+ 23339, 16257, 17671, 13672,
+ 23339, 16257, 17671, 14328,
+ 23339, 16257, 17671, 14764,
+ 23339, 16257, 17671, 14984,
+ 23339, 16257, 17671, 14985, 17140,
+ 23339, 16257, 17671, 17956,
+ 23339, 16257, 17671, 18572,
+ 23339, 16257, 17671, 19180,
+ 23339, 16257, 17957, 17140,
+ 23339, 16257, 18635, 23228,
+ 23339, 16895, 19588,
+ 23339, 16947, 14807, 0,
+ 23339, 16947, 14807, 2,
+ 23339, 16947, 14807, 4,
+ 23339, 16947, 14807, 6,
+ 23339, 16947, 14807, 10,
+ 23339, 16947, 14807, 14,
+ 23339, 16947, 14807, 16,
+ 23339, 16947, 14807, 18,
+ 23339, 16947, 14807, 20,
+ 23339, 16947, 14807, 22,
+ 23339, 16947, 14807, 24,
+ 23339, 16947, 14807, 26,
+ 23339, 16947, 14807, 30,
+ 23339, 16947, 14807, 32,
+ 23339, 16947, 14807, 34,
+ 23339, 16947, 14807, 36,
+ 23339, 16947, 14807, 38,
+ 23339, 16947, 14807, 40,
+ 23339, 16947, 14807, 42,
+ 23339, 16947, 14807, 44,
+ 23339, 16947, 14807, 46,
+ 23339, 16947, 14807, 48,
+ 23339, 16947, 14807, 50,
+ 23339, 16947, 17671, 0,
+ 23339, 16947, 17671, 4,
+ 23339, 16947, 17671, 6,
+ 23339, 16947, 17671, 12,
+ 23339, 16947, 17671, 18,
+ 23339, 16947, 17671, 20,
+ 23339, 16947, 17671, 26,
+ 23339, 16947, 17671, 28,
+ 23339, 16947, 17671, 30,
+ 23339, 16947, 17671, 32,
+ 23339, 16947, 17671, 36,
+ 23339, 16947, 17671, 38,
+ 23339, 16947, 17671, 40,
+ 23339, 16947, 17671, 42,
+ 23339, 16947, 17671, 44,
+ 23339, 16947, 17671, 46,
+ 23339, 16947, 17671, 48,
+ 23339, 16947, 17671, 50,
+ 23339, 17973, 19588,
+ 23339, 18011, 14807, 0,
+ 23339, 18011, 14807, 2,
+ 23339, 18011, 14807, 4,
+ 23339, 18011, 14807, 6,
+ 23339, 18011, 14807, 8,
+ 23339, 18011, 14807, 10,
+ 23339, 18011, 14807, 12,
+ 23339, 18011, 14807, 14,
+ 23339, 18011, 14807, 16,
+ 23339, 18011, 14807, 18,
+ 23339, 18011, 14807, 20,
+ 23339, 18011, 14807, 22,
+ 23339, 18011, 14807, 24,
+ 23339, 18011, 14807, 26,
+ 23339, 18011, 14807, 28,
+ 23339, 18011, 14807, 30,
+ 23339, 18011, 14807, 32,
+ 23339, 18011, 14807, 34,
+ 23339, 18011, 14807, 36,
+ 23339, 18011, 14807, 38,
+ 23339, 18011, 14807, 40,
+ 23339, 18011, 14807, 42,
+ 23339, 18011, 14807, 44,
+ 23339, 18011, 14807, 46,
+ 23339, 18011, 14807, 48,
+ 23339, 18011, 14807, 50,
+ 23339, 18011, 17671, 0,
+ 23339, 18011, 17671, 2,
+ 23339, 18011, 17671, 6,
+ 23339, 18011, 17671, 8,
+ 23339, 18011, 17671, 10,
+ 23339, 18011, 17671, 12,
+ 23339, 18011, 17671, 18,
+ 23339, 18011, 17671, 20,
+ 23339, 18011, 17671, 22,
+ 23339, 18011, 17671, 24,
+ 23339, 18011, 17671, 26,
+ 23339, 18011, 17671, 28,
+ 23339, 18011, 17671, 30,
+ 23339, 18011, 17671, 32,
+ 23339, 18011, 17671, 36,
+ 23339, 18011, 17671, 38,
+ 23339, 18011, 17671, 40,
+ 23339, 18011, 17671, 42,
+ 23339, 18011, 17671, 44,
+ 23339, 18011, 17671, 46,
+ 23339, 18011, 17671, 48,
+ 23339, 21361, 12989, 2736,
+ 23339, 21361, 12989, 3208,
+ 23339, 21361, 12989, 3500,
+ 23339, 21361, 12989, 6992,
+ 23339, 21361, 12989, 7014,
+ 23339, 21361, 12989, 9302,
+ 23339, 21361, 12989, 11754,
+ 23339, 21361, 12989, 13066,
+ 23339, 21361, 12989, 14676,
+ 23339, 21361, 12989, 15004,
+ 23339, 21361, 14807, 0,
+ 23339, 21361, 14807, 2,
+ 23339, 21361, 14807, 4,
+ 23339, 21361, 14807, 6,
+ 23339, 21361, 14807, 8,
+ 23339, 21361, 14807, 10,
+ 23339, 21361, 14807, 12,
+ 23339, 21361, 14807, 14,
+ 23339, 21361, 14807, 16,
+ 23339, 21361, 14807, 18,
+ 23339, 21361, 14807, 20,
+ 23339, 21361, 14807, 22,
+ 23339, 21361, 14807, 24,
+ 23339, 21361, 14807, 26,
+ 23339, 21361, 14807, 28,
+ 23339, 21361, 14807, 30,
+ 23339, 21361, 14807, 32,
+ 23339, 21361, 14807, 34,
+ 23339, 21361, 14807, 36,
+ 23339, 21361, 14807, 38,
+ 23339, 21361, 14807, 40,
+ 23339, 21361, 14807, 42,
+ 23339, 21361, 14807, 44,
+ 23339, 21361, 14807, 46,
+ 23339, 21361, 14807, 48,
+ 23339, 21361, 14807, 50,
+ 23339, 21361, 17671, 0,
+ 23339, 21361, 17671, 2,
+ 23339, 21361, 17671, 4,
+ 23339, 21361, 17671, 6,
+ 23339, 21361, 17671, 8,
+ 23339, 21361, 17671, 10,
+ 23339, 21361, 17671, 12,
+ 23339, 21361, 17671, 14,
+ 23339, 21361, 17671, 16,
+ 23339, 21361, 17671, 18,
+ 23339, 21361, 17671, 20,
+ 23339, 21361, 17671, 22,
+ 23339, 21361, 17671, 24,
+ 23339, 21361, 17671, 26,
+ 23339, 21361, 17671, 28,
+ 23339, 21361, 17671, 30,
+ 23339, 21361, 17671, 32,
+ 23339, 21361, 17671, 34,
+ 23339, 21361, 17671, 36,
+ 23339, 21361, 17671, 38,
+ 23339, 21361, 17671, 40,
+ 23339, 21361, 17671, 42,
+ 23339, 21361, 17671, 44,
+ 23339, 21361, 17671, 46,
+ 23339, 21361, 17671, 48,
+ 23339, 21361, 17671, 50,
+ 23339, 22423, 6059, 563, 17140,
+ 23339, 22423, 6059, 2809, 17140,
+ 23339, 22423, 6059, 3045, 17140,
+ 23339, 22423, 6059, 12989, 2736,
+ 23339, 22423, 6059, 12989, 3208,
+ 23339, 22423, 6059, 12989, 3500,
+ 23339, 22423, 6059, 12989, 6992,
+ 23339, 22423, 6059, 12989, 7014,
+ 23339, 22423, 6059, 12989, 9302,
+ 23339, 22423, 6059, 12989, 11754,
+ 23339, 22423, 6059, 12989, 13066,
+ 23339, 22423, 6059, 12989, 14676,
+ 23339, 22423, 6059, 12989, 15004,
+ 23339, 22423, 6059, 13561, 17140,
+ 23339, 22423, 6059, 13970,
+ 23339, 22423, 6059, 14807, 0,
+ 23339, 22423, 6059, 14807, 2,
+ 23339, 22423, 6059, 14807, 4,
+ 23339, 22423, 6059, 14807, 6,
+ 23339, 22423, 6059, 14807, 8,
+ 23339, 22423, 6059, 14807, 10,
+ 23339, 22423, 6059, 14807, 12,
+ 23339, 22423, 6059, 14807, 14,
+ 23339, 22423, 6059, 14807, 16,
+ 23339, 22423, 6059, 14807, 18,
+ 23339, 22423, 6059, 14807, 20,
+ 23339, 22423, 6059, 14807, 22,
+ 23339, 22423, 6059, 14807, 24,
+ 23339, 22423, 6059, 14807, 26,
+ 23339, 22423, 6059, 14807, 28,
+ 23339, 22423, 6059, 14807, 30,
+ 23339, 22423, 6059, 14807, 32,
+ 23339, 22423, 6059, 14807, 34,
+ 23339, 22423, 6059, 14807, 36,
+ 23339, 22423, 6059, 14807, 38,
+ 23339, 22423, 6059, 14807, 40,
+ 23339, 22423, 6059, 14807, 42,
+ 23339, 22423, 6059, 14807, 44,
+ 23339, 22423, 6059, 14807, 46,
+ 23339, 22423, 6059, 14807, 48,
+ 23339, 22423, 6059, 14807, 50,
+ 23339, 22423, 6059, 14807, 454,
+ 23339, 22423, 6059, 14807, 490,
+ 23339, 22423, 6059, 14807, 562,
+ 23339, 22423, 6059, 14807, 766,
+ 23339, 22423, 6059, 14807, 1114,
+ 23339, 22423, 6059, 14807, 1412,
+ 23339, 22423, 6059, 14807, 2808,
+ 23339, 22423, 6059, 14807, 2852,
+ 23339, 22423, 6059, 14807, 3044,
+ 23339, 22423, 6059, 14807, 3358,
+ 23339, 22423, 6059, 14807, 6022,
+ 23339, 22423, 6059, 14807, 7770,
+ 23339, 22423, 6059, 14807, 11756,
+ 23339, 22423, 6059, 14807, 12296,
+ 23339, 22423, 6059, 14807, 12972,
+ 23339, 22423, 6059, 14807, 13175, 14764,
+ 23339, 22423, 6059, 14807, 13248,
+ 23339, 22423, 6059, 14807, 13560,
+ 23339, 22423, 6059, 14807, 13672,
+ 23339, 22423, 6059, 14807, 14328,
+ 23339, 22423, 6059, 14807, 14764,
+ 23339, 22423, 6059, 14807, 14984,
+ 23339, 22423, 6059, 14807, 17956,
+ 23339, 22423, 6059, 14807, 18572,
+ 23339, 22423, 6059, 14807, 19180,
+ 23339, 22423, 6059, 14985, 17140,
+ 23339, 22423, 6059, 16257, 563, 17140,
+ 23339, 22423, 6059, 16257, 2809, 17140,
+ 23339, 22423, 6059, 16257, 3045, 17140,
+ 23339, 22423, 6059, 16257, 13561, 17140,
+ 23339, 22423, 6059, 16257, 13970,
+ 23339, 22423, 6059, 16257, 14807, 0,
+ 23339, 22423, 6059, 16257, 14807, 2,
+ 23339, 22423, 6059, 16257, 14807, 4,
+ 23339, 22423, 6059, 16257, 14807, 6,
+ 23339, 22423, 6059, 16257, 14807, 8,
+ 23339, 22423, 6059, 16257, 14807, 10,
+ 23339, 22423, 6059, 16257, 14807, 12,
+ 23339, 22423, 6059, 16257, 14807, 14,
+ 23339, 22423, 6059, 16257, 14807, 16,
+ 23339, 22423, 6059, 16257, 14807, 18,
+ 23339, 22423, 6059, 16257, 14807, 20,
+ 23339, 22423, 6059, 16257, 14807, 22,
+ 23339, 22423, 6059, 16257, 14807, 24,
+ 23339, 22423, 6059, 16257, 14807, 26,
+ 23339, 22423, 6059, 16257, 14807, 28,
+ 23339, 22423, 6059, 16257, 14807, 30,
+ 23339, 22423, 6059, 16257, 14807, 32,
+ 23339, 22423, 6059, 16257, 14807, 34,
+ 23339, 22423, 6059, 16257, 14807, 36,
+ 23339, 22423, 6059, 16257, 14807, 38,
+ 23339, 22423, 6059, 16257, 14807, 40,
+ 23339, 22423, 6059, 16257, 14807, 42,
+ 23339, 22423, 6059, 16257, 14807, 44,
+ 23339, 22423, 6059, 16257, 14807, 46,
+ 23339, 22423, 6059, 16257, 14807, 48,
+ 23339, 22423, 6059, 16257, 14807, 50,
+ 23339, 22423, 6059, 16257, 14807, 454,
+ 23339, 22423, 6059, 16257, 14807, 490,
+ 23339, 22423, 6059, 16257, 14807, 562,
+ 23339, 22423, 6059, 16257, 14807, 766,
+ 23339, 22423, 6059, 16257, 14807, 1114,
+ 23339, 22423, 6059, 16257, 14807, 1412,
+ 23339, 22423, 6059, 16257, 14807, 2808,
+ 23339, 22423, 6059, 16257, 14807, 2852,
+ 23339, 22423, 6059, 16257, 14807, 3044,
+ 23339, 22423, 6059, 16257, 14807, 3358,
+ 23339, 22423, 6059, 16257, 14807, 6022,
+ 23339, 22423, 6059, 16257, 14807, 7770,
+ 23339, 22423, 6059, 16257, 14807, 11756,
+ 23339, 22423, 6059, 16257, 14807, 12296,
+ 23339, 22423, 6059, 16257, 14807, 12972,
+ 23339, 22423, 6059, 16257, 14807, 13175, 14764,
+ 23339, 22423, 6059, 16257, 14807, 13248,
+ 23339, 22423, 6059, 16257, 14807, 13560,
+ 23339, 22423, 6059, 16257, 14807, 13672,
+ 23339, 22423, 6059, 16257, 14807, 14328,
+ 23339, 22423, 6059, 16257, 14807, 14764,
+ 23339, 22423, 6059, 16257, 14807, 14984,
+ 23339, 22423, 6059, 16257, 14807, 17956,
+ 23339, 22423, 6059, 16257, 14807, 18572,
+ 23339, 22423, 6059, 16257, 14807, 19180,
+ 23339, 22423, 6059, 16257, 14985, 17140,
+ 23339, 22423, 6059, 16257, 17671, 0,
+ 23339, 22423, 6059, 16257, 17671, 2,
+ 23339, 22423, 6059, 16257, 17671, 4,
+ 23339, 22423, 6059, 16257, 17671, 6,
+ 23339, 22423, 6059, 16257, 17671, 8,
+ 23339, 22423, 6059, 16257, 17671, 10,
+ 23339, 22423, 6059, 16257, 17671, 12,
+ 23339, 22423, 6059, 16257, 17671, 14,
+ 23339, 22423, 6059, 16257, 17671, 16,
+ 23339, 22423, 6059, 16257, 17671, 18,
+ 23339, 22423, 6059, 16257, 17671, 20,
+ 23339, 22423, 6059, 16257, 17671, 22,
+ 23339, 22423, 6059, 16257, 17671, 24,
+ 23339, 22423, 6059, 16257, 17671, 26,
+ 23339, 22423, 6059, 16257, 17671, 28,
+ 23339, 22423, 6059, 16257, 17671, 30,
+ 23339, 22423, 6059, 16257, 17671, 32,
+ 23339, 22423, 6059, 16257, 17671, 34,
+ 23339, 22423, 6059, 16257, 17671, 36,
+ 23339, 22423, 6059, 16257, 17671, 38,
+ 23339, 22423, 6059, 16257, 17671, 40,
+ 23339, 22423, 6059, 16257, 17671, 42,
+ 23339, 22423, 6059, 16257, 17671, 44,
+ 23339, 22423, 6059, 16257, 17671, 46,
+ 23339, 22423, 6059, 16257, 17671, 48,
+ 23339, 22423, 6059, 16257, 17671, 50,
+ 23339, 22423, 6059, 16257, 17671, 454,
+ 23339, 22423, 6059, 16257, 17671, 490,
+ 23339, 22423, 6059, 16257, 17671, 562,
+ 23339, 22423, 6059, 16257, 17671, 766,
+ 23339, 22423, 6059, 16257, 17671, 1114,
+ 23339, 22423, 6059, 16257, 17671, 1412,
+ 23339, 22423, 6059, 16257, 17671, 2808,
+ 23339, 22423, 6059, 16257, 17671, 2852,
+ 23339, 22423, 6059, 16257, 17671, 3044,
+ 23339, 22423, 6059, 16257, 17671, 3358,
+ 23339, 22423, 6059, 16257, 17671, 6022,
+ 23339, 22423, 6059, 16257, 17671, 7770,
+ 23339, 22423, 6059, 16257, 17671, 11756,
+ 23339, 22423, 6059, 16257, 17671, 12296,
+ 23339, 22423, 6059, 16257, 17671, 12972,
+ 23339, 22423, 6059, 16257, 17671, 13248,
+ 23339, 22423, 6059, 16257, 17671, 13560,
+ 23339, 22423, 6059, 16257, 17671, 13672,
+ 23339, 22423, 6059, 16257, 17671, 14328,
+ 23339, 22423, 6059, 16257, 17671, 14764,
+ 23339, 22423, 6059, 16257, 17671, 14984,
+ 23339, 22423, 6059, 16257, 17671, 14985, 17140,
+ 23339, 22423, 6059, 16257, 17671, 17956,
+ 23339, 22423, 6059, 16257, 17671, 18572,
+ 23339, 22423, 6059, 16257, 17671, 19180,
+ 23339, 22423, 6059, 16257, 17957, 17140,
+ 23339, 22423, 6059, 16257, 18635, 23228,
+ 23339, 22423, 6059, 17671, 0,
+ 23339, 22423, 6059, 17671, 2,
+ 23339, 22423, 6059, 17671, 4,
+ 23339, 22423, 6059, 17671, 6,
+ 23339, 22423, 6059, 17671, 8,
+ 23339, 22423, 6059, 17671, 10,
+ 23339, 22423, 6059, 17671, 12,
+ 23339, 22423, 6059, 17671, 14,
+ 23339, 22423, 6059, 17671, 16,
+ 23339, 22423, 6059, 17671, 18,
+ 23339, 22423, 6059, 17671, 20,
+ 23339, 22423, 6059, 17671, 22,
+ 23339, 22423, 6059, 17671, 24,
+ 23339, 22423, 6059, 17671, 26,
+ 23339, 22423, 6059, 17671, 28,
+ 23339, 22423, 6059, 17671, 30,
+ 23339, 22423, 6059, 17671, 32,
+ 23339, 22423, 6059, 17671, 34,
+ 23339, 22423, 6059, 17671, 36,
+ 23339, 22423, 6059, 17671, 38,
+ 23339, 22423, 6059, 17671, 40,
+ 23339, 22423, 6059, 17671, 42,
+ 23339, 22423, 6059, 17671, 44,
+ 23339, 22423, 6059, 17671, 46,
+ 23339, 22423, 6059, 17671, 48,
+ 23339, 22423, 6059, 17671, 50,
+ 23339, 22423, 6059, 17671, 454,
+ 23339, 22423, 6059, 17671, 490,
+ 23339, 22423, 6059, 17671, 562,
+ 23339, 22423, 6059, 17671, 766,
+ 23339, 22423, 6059, 17671, 1114,
+ 23339, 22423, 6059, 17671, 1412,
+ 23339, 22423, 6059, 17671, 2808,
+ 23339, 22423, 6059, 17671, 2852,
+ 23339, 22423, 6059, 17671, 3044,
+ 23339, 22423, 6059, 17671, 3358,
+ 23339, 22423, 6059, 17671, 6022,
+ 23339, 22423, 6059, 17671, 7770,
+ 23339, 22423, 6059, 17671, 11756,
+ 23339, 22423, 6059, 17671, 12296,
+ 23339, 22423, 6059, 17671, 12972,
+ 23339, 22423, 6059, 17671, 13248,
+ 23339, 22423, 6059, 17671, 13560,
+ 23339, 22423, 6059, 17671, 13672,
+ 23339, 22423, 6059, 17671, 14328,
+ 23339, 22423, 6059, 17671, 14764,
+ 23339, 22423, 6059, 17671, 14984,
+ 23339, 22423, 6059, 17671, 14985, 17140,
+ 23339, 22423, 6059, 17671, 17956,
+ 23339, 22423, 6059, 17671, 18572,
+ 23339, 22423, 6059, 17671, 19180,
+ 23339, 22423, 6059, 17957, 17140,
+ 23339, 22423, 6059, 18635, 23228,
+ 23339, 22423, 12989, 2736,
+ 23339, 22423, 12989, 3208,
+ 23339, 22423, 12989, 3500,
+ 23339, 22423, 12989, 6992,
+ 23339, 22423, 12989, 7014,
+ 23339, 22423, 12989, 9302,
+ 23339, 22423, 12989, 11754,
+ 23339, 22423, 12989, 13066,
+ 23339, 22423, 12989, 14676,
+ 23339, 22423, 12989, 15004,
+ 23339, 22423, 14807, 0,
+ 23339, 22423, 14807, 2,
+ 23339, 22423, 14807, 4,
+ 23339, 22423, 14807, 6,
+ 23339, 22423, 14807, 8,
+ 23339, 22423, 14807, 10,
+ 23339, 22423, 14807, 12,
+ 23339, 22423, 14807, 14,
+ 23339, 22423, 14807, 16,
+ 23339, 22423, 14807, 18,
+ 23339, 22423, 14807, 20,
+ 23339, 22423, 14807, 22,
+ 23339, 22423, 14807, 24,
+ 23339, 22423, 14807, 26,
+ 23339, 22423, 14807, 28,
+ 23339, 22423, 14807, 30,
+ 23339, 22423, 14807, 32,
+ 23339, 22423, 14807, 34,
+ 23339, 22423, 14807, 36,
+ 23339, 22423, 14807, 38,
+ 23339, 22423, 14807, 40,
+ 23339, 22423, 14807, 42,
+ 23339, 22423, 14807, 44,
+ 23339, 22423, 14807, 46,
+ 23339, 22423, 14807, 48,
+ 23339, 22423, 14807, 50,
+ 23339, 22423, 16257, 14807, 0,
+ 23339, 22423, 16257, 14807, 2,
+ 23339, 22423, 16257, 14807, 4,
+ 23339, 22423, 16257, 14807, 6,
+ 23339, 22423, 16257, 14807, 8,
+ 23339, 22423, 16257, 14807, 10,
+ 23339, 22423, 16257, 14807, 12,
+ 23339, 22423, 16257, 14807, 14,
+ 23339, 22423, 16257, 14807, 16,
+ 23339, 22423, 16257, 14807, 18,
+ 23339, 22423, 16257, 14807, 20,
+ 23339, 22423, 16257, 14807, 22,
+ 23339, 22423, 16257, 14807, 24,
+ 23339, 22423, 16257, 14807, 26,
+ 23339, 22423, 16257, 14807, 28,
+ 23339, 22423, 16257, 14807, 30,
+ 23339, 22423, 16257, 14807, 32,
+ 23339, 22423, 16257, 14807, 34,
+ 23339, 22423, 16257, 14807, 36,
+ 23339, 22423, 16257, 14807, 38,
+ 23339, 22423, 16257, 14807, 40,
+ 23339, 22423, 16257, 14807, 42,
+ 23339, 22423, 16257, 14807, 44,
+ 23339, 22423, 16257, 14807, 46,
+ 23339, 22423, 16257, 14807, 48,
+ 23339, 22423, 16257, 14807, 50,
+ 23339, 22423, 16257, 17671, 0,
+ 23339, 22423, 16257, 17671, 2,
+ 23339, 22423, 16257, 17671, 4,
+ 23339, 22423, 16257, 17671, 6,
+ 23339, 22423, 16257, 17671, 8,
+ 23339, 22423, 16257, 17671, 10,
+ 23339, 22423, 16257, 17671, 12,
+ 23339, 22423, 16257, 17671, 14,
+ 23339, 22423, 16257, 17671, 16,
+ 23339, 22423, 16257, 17671, 18,
+ 23339, 22423, 16257, 17671, 20,
+ 23339, 22423, 16257, 17671, 22,
+ 23339, 22423, 16257, 17671, 24,
+ 23339, 22423, 16257, 17671, 26,
+ 23339, 22423, 16257, 17671, 28,
+ 23339, 22423, 16257, 17671, 30,
+ 23339, 22423, 16257, 17671, 32,
+ 23339, 22423, 16257, 17671, 34,
+ 23339, 22423, 16257, 17671, 36,
+ 23339, 22423, 16257, 17671, 38,
+ 23339, 22423, 16257, 17671, 40,
+ 23339, 22423, 16257, 17671, 42,
+ 23339, 22423, 16257, 17671, 44,
+ 23339, 22423, 16257, 17671, 46,
+ 23339, 22423, 16257, 17671, 48,
+ 23339, 22423, 16257, 17671, 50,
+ 23339, 22423, 17671, 0,
+ 23339, 22423, 17671, 2,
+ 23339, 22423, 17671, 4,
+ 23339, 22423, 17671, 6,
+ 23339, 22423, 17671, 8,
+ 23339, 22423, 17671, 10,
+ 23339, 22423, 17671, 12,
+ 23339, 22423, 17671, 14,
+ 23339, 22423, 17671, 16,
+ 23339, 22423, 17671, 18,
+ 23339, 22423, 17671, 20,
+ 23339, 22423, 17671, 22,
+ 23339, 22423, 17671, 24,
+ 23339, 22423, 17671, 26,
+ 23339, 22423, 17671, 28,
+ 23339, 22423, 17671, 30,
+ 23339, 22423, 17671, 32,
+ 23339, 22423, 17671, 34,
+ 23339, 22423, 17671, 36,
+ 23339, 22423, 17671, 38,
+ 23339, 22423, 17671, 40,
+ 23339, 22423, 17671, 42,
+ 23339, 22423, 17671, 44,
+ 23339, 22423, 17671, 46,
+ 23339, 22423, 17671, 48,
+ 23339, 22423, 17671, 50,
+ 23339, 25071, 12989, 2736,
+ 23339, 25071, 12989, 3208,
+ 23339, 25071, 12989, 3500,
+ 23339, 25071, 12989, 6992,
+ 23339, 25071, 12989, 7014,
+ 23339, 25071, 12989, 9302,
+ 23339, 25071, 12989, 11754,
+ 23339, 25071, 12989, 13066,
+ 23339, 25071, 12989, 14676,
+ 23339, 25071, 12989, 15004,
+ 23339, 25071, 14807, 0,
+ 23339, 25071, 14807, 2,
+ 23339, 25071, 14807, 4,
+ 23339, 25071, 14807, 6,
+ 23339, 25071, 14807, 8,
+ 23339, 25071, 14807, 10,
+ 23339, 25071, 14807, 12,
+ 23339, 25071, 14807, 14,
+ 23339, 25071, 14807, 16,
+ 23339, 25071, 14807, 18,
+ 23339, 25071, 14807, 20,
+ 23339, 25071, 14807, 22,
+ 23339, 25071, 14807, 24,
+ 23339, 25071, 14807, 26,
+ 23339, 25071, 14807, 28,
+ 23339, 25071, 14807, 30,
+ 23339, 25071, 14807, 32,
+ 23339, 25071, 14807, 34,
+ 23339, 25071, 14807, 36,
+ 23339, 25071, 14807, 38,
+ 23339, 25071, 14807, 40,
+ 23339, 25071, 14807, 42,
+ 23339, 25071, 14807, 44,
+ 23339, 25071, 14807, 46,
+ 23339, 25071, 14807, 48,
+ 23339, 25071, 14807, 50,
+ 23339, 25071, 17671, 0,
+ 23339, 25071, 17671, 2,
+ 23339, 25071, 17671, 6,
+ 23339, 25071, 17671, 8,
+ 23339, 25071, 17671, 10,
+ 23339, 25071, 17671, 12,
+ 23339, 25071, 17671, 16,
+ 23339, 25071, 17671, 18,
+ 23339, 25071, 17671, 20,
+ 23339, 25071, 17671, 22,
+ 23339, 25071, 17671, 24,
+ 23339, 25071, 17671, 28,
+ 23339, 25071, 17671, 36,
+ 23339, 25071, 17671, 38,
+ 23339, 25071, 17671, 40,
+ 23339, 25071, 17671, 42,
+ 23339, 25071, 17671, 44,
+ 23339, 25071, 17671, 46,
+ 23339, 25071, 17671, 48,
+ 23357, 16226,
+ 23369, 10794,
+ 23371, 7013, 1485, 20701, 203, 6502,
+ 23371, 7013, 1485, 20701, 205, 6502,
+ 23371, 7013, 1485, 20701, 2281, 8268,
+ 23371, 7013, 1485, 20701, 3501, 1285, 16378,
+ 23371, 7013, 1485, 20701, 8229, 12309, 17646,
+ 23371, 7013, 1485, 20701, 8229, 12449, 22241, 17646,
+ 23371, 7013, 1485, 20701, 8229, 12863, 17646,
+ 23371, 7013, 1485, 20701, 8229, 15335, 15851, 17646,
+ 23371, 7013, 1485, 20701, 8229, 15335, 22241, 17646,
+ 23371, 7013, 1485, 20701, 8229, 15851, 17646,
+ 23371, 7013, 1485, 20701, 8229, 15969, 12309, 17646,
+ 23371, 7013, 1485, 20701, 8229, 17077, 17646,
+ 23371, 7013, 1485, 20701, 8229, 20615, 14709, 17646,
+ 23371, 7013, 1485, 20701, 8229, 22968,
+ 23371, 7013, 1485, 20701, 11407, 2281, 8268,
+ 23371, 7013, 1485, 20701, 12838,
+ 23371, 7013, 1485, 20701, 12844,
+ 23371, 7013, 1485, 20701, 14557, 12309, 17646,
+ 23371, 7013, 1485, 20701, 14557, 12449, 22241, 17646,
+ 23371, 7013, 1485, 20701, 14557, 12863, 17646,
+ 23371, 7013, 1485, 20701, 14557, 15335, 15851, 17646,
+ 23371, 7013, 1485, 20701, 14557, 15335, 22241, 17646,
+ 23371, 7013, 1485, 20701, 14557, 15335, 22241, 17650,
+ 23371, 7013, 1485, 20701, 14557, 15851, 17646,
+ 23371, 7013, 1485, 20701, 14557, 15969, 12309, 17646,
+ 23371, 7013, 1485, 20701, 14557, 17077, 17646,
+ 23371, 7013, 1485, 20701, 14557, 20615, 14709, 17646,
+ 23371, 7013, 1485, 20701, 14557, 22968,
+ 23371, 7013, 1485, 20701, 20329, 8756,
+ 23371, 7013, 1485, 20701, 21560,
+ 23371, 7013, 1485, 20701, 22199, 19774,
+ 23371, 7013, 1485, 20701, 22791, 8756,
+ 23371, 7013, 1485, 20701, 22835, 7029, 10630,
+ 23371, 7013, 1485, 20701, 22835, 12844,
+ 23373, 660,
+ 23381, 19200,
+ 23387, 6988,
+ 23387, 17131, 10510,
+ 23387, 17131, 10511, 11445, 6652,
+ 23387, 19363, 19791, 10510,
+ 23389, 22215, 21448,
+ 23391, 15335, 22419, 12342,
+ 23394,
+ 23453, 7029, 10630,
+ 23456,
+ 23462,
+ 23469, 14828,
+ 23472,
+ 23493, 22419, 12342,
+ 23499, 6952,
+ 23503, 3437, 22431, 12342,
+ 23503, 9721, 15815, 12342,
+ 23503, 15825, 15815, 12342,
+ 23503, 16103, 15815, 12342,
+ 23503, 17747, 19948,
+ 23503, 21109, 893, 19183, 9721, 15815, 15620,
+ 23503, 22852,
+ 23503, 27327, 3437, 20677, 12342,
+ 23503, 27327, 8229, 20677, 12342,
+ 23503, 27327, 9721, 15815, 12342,
+ 23503, 27327, 14557, 20677, 12342,
+ 23503, 27327, 15707, 20677, 12342,
+ 23505, 1051, 2623, 19315, 13093, 660,
+ 23505, 13093, 529, 13093, 660,
+ 23505, 13093, 660,
+ 23505, 13093, 661, 529, 3389, 13501, 506,
+ 25067, 21797, 17140,
+ 25071, 13955, 21640,
+ 25071, 14807, 562,
+ 25071, 14807, 13248,
+ 25071, 16257, 14807, 6,
+ 25071, 16257, 14807, 8,
+ 25071, 16257, 14807, 16,
+ 25071, 16257, 14807, 18,
+ 25071, 16257, 17671, 6,
+ 25071, 17671, 4,
+ 25071, 17671, 14,
+ 25071, 17671, 26,
+ 25071, 17671, 30,
+ 25071, 17671, 32,
+ 25071, 17671, 34,
+ 25071, 17671, 50,
+ 25071, 17671, 562,
+ 25071, 17671, 13248,
+ 25073, 3027, 20626,
+ 25073, 14807, 3027, 20626,
+ 25073, 20627, 11445, 8229, 7385, 12448,
+ 25073, 20627, 11445, 14557, 7385, 12448,
+ 25083, 10510,
+ 25087, 13093, 660,
+ 25087, 22139, 660,
+ 25091, 14397, 17140,
+ 25103, 18605, 16393, 276,
+ 25103, 18605, 16393, 554,
+ 25103, 18605, 16393, 2654,
+ 25103, 18605, 16393, 3362,
+ 25103, 18605, 16393, 6024,
+ 25103, 18605, 16393, 7432,
+ 25103, 18605, 16393, 7950,
+ 25103, 18605, 16393, 10414,
+ 25103, 18605, 16393, 10846,
+ 25103, 18605, 16393, 11654,
+ 25103, 18605, 16393, 12284,
+ 25103, 18605, 16393, 13298,
+ 25103, 18605, 16393, 14618,
+ 25103, 18605, 16393, 15488,
+ 25103, 18605, 16393, 15884,
+ 25103, 18605, 16393, 16372,
+ 25103, 18605, 16393, 16918,
+ 25103, 18605, 16393, 20090,
+ 25103, 18605, 16393, 25230,
+ 25103, 18605, 16647, 2736,
+ 25103, 18605, 16647, 2737, 18102,
+ 25103, 18605, 16647, 2737, 20596,
+ 25103, 18605, 16647, 3376,
+ 25103, 18605, 16647, 3500,
+ 25103, 18605, 16647, 7014,
+ 25103, 18605, 16647, 15004,
+ 25103, 18605, 16647, 17314,
+ 25103, 20241, 16393, 276,
+ 25103, 20241, 16393, 554,
+ 25103, 20241, 16393, 2386,
+ 25103, 20241, 16393, 2654,
+ 25103, 20241, 16393, 3362,
+ 25103, 20241, 16393, 3710,
+ 25103, 20241, 16393, 5514,
+ 25103, 20241, 16393, 6024,
+ 25103, 20241, 16393, 7432,
+ 25103, 20241, 16393, 7950,
+ 25103, 20241, 16393, 9930,
+ 25103, 20241, 16393, 10058,
+ 25103, 20241, 16393, 10414,
+ 25103, 20241, 16393, 10846,
+ 25103, 20241, 16393, 11654,
+ 25103, 20241, 16393, 12284,
+ 25103, 20241, 16393, 13298,
+ 25103, 20241, 16393, 14618,
+ 25103, 20241, 16393, 15488,
+ 25103, 20241, 16393, 15884,
+ 25103, 20241, 16393, 16372,
+ 25103, 20241, 16393, 16918,
+ 25103, 20241, 16647, 2736,
+ 25103, 20241, 16647, 2737, 18102,
+ 25103, 20241, 16647, 2737, 20596,
+ 25103, 20241, 16647, 3376,
+ 25103, 20241, 16647, 3500,
+ 25103, 20241, 16647, 7014,
+ 25103, 20241, 16647, 15004,
+ 25103, 20241, 16647, 17314,
+ 25123, 12309, 17646,
+ 25123, 15875, 12309, 17646,
+ 25123, 15969, 12309, 21495, 8756,
+ 25123, 22253, 13306,
+ 25125, 8756,
+ 25125, 18136,
+ 25125, 20208,
+ 25125, 21120,
+ 25131, 10510,
+ 25141, 22419, 12342,
+ 25147, 12989, 2736,
+ 25147, 12989, 3208,
+ 25147, 12989, 3500,
+ 25147, 12989, 6992,
+ 25147, 12989, 7014,
+ 25147, 12989, 9302,
+ 25147, 12989, 13066,
+ 25147, 12989, 14676,
+ 25147, 12989, 15004,
+ 25147, 13685, 14807, 16393, 0,
+ 25147, 13685, 14807, 16393, 2,
+ 25147, 13685, 14807, 16393, 4,
+ 25147, 13685, 14807, 16393, 6,
+ 25147, 13685, 14807, 16393, 8,
+ 25147, 13685, 14807, 16393, 10,
+ 25147, 13685, 14807, 16393, 12,
+ 25147, 13685, 14807, 16393, 14,
+ 25147, 13685, 14807, 16393, 16,
+ 25147, 13685, 14807, 16393, 18,
+ 25147, 13685, 14807, 16393, 20,
+ 25147, 13685, 14807, 16393, 22,
+ 25147, 13685, 14807, 16393, 24,
+ 25147, 13685, 14807, 16393, 26,
+ 25147, 13685, 14807, 16393, 28,
+ 25147, 13685, 14807, 16393, 30,
+ 25147, 13685, 14807, 16393, 32,
+ 25147, 13685, 14807, 16393, 34,
+ 25147, 13685, 14807, 16393, 36,
+ 25147, 13685, 14807, 16393, 38,
+ 25147, 13685, 14807, 16393, 40,
+ 25147, 13685, 14807, 16393, 42,
+ 25147, 13685, 14807, 16393, 44,
+ 25147, 13685, 14807, 16393, 46,
+ 25147, 13685, 14807, 16393, 48,
+ 25147, 13685, 14807, 16393, 50,
+ 25147, 13685, 17671, 16393, 0,
+ 25147, 13685, 17671, 16393, 2,
+ 25147, 13685, 17671, 16393, 4,
+ 25147, 13685, 17671, 16393, 6,
+ 25147, 13685, 17671, 16393, 8,
+ 25147, 13685, 17671, 16393, 10,
+ 25147, 13685, 17671, 16393, 12,
+ 25147, 13685, 17671, 16393, 14,
+ 25147, 13685, 17671, 16393, 16,
+ 25147, 13685, 17671, 16393, 18,
+ 25147, 13685, 17671, 16393, 20,
+ 25147, 13685, 17671, 16393, 22,
+ 25147, 13685, 17671, 16393, 24,
+ 25147, 13685, 17671, 16393, 26,
+ 25147, 13685, 17671, 16393, 28,
+ 25147, 13685, 17671, 16393, 30,
+ 25147, 13685, 17671, 16393, 32,
+ 25147, 13685, 17671, 16393, 34,
+ 25147, 13685, 17671, 16393, 36,
+ 25147, 13685, 17671, 16393, 38,
+ 25147, 13685, 17671, 16393, 40,
+ 25147, 13685, 17671, 16393, 42,
+ 25147, 13685, 17671, 16393, 44,
+ 25147, 13685, 17671, 16393, 46,
+ 25147, 13685, 17671, 16393, 48,
+ 25147, 13685, 17671, 16393, 50,
+ 25147, 16181, 10522,
+ 25147, 16181, 10523, 0,
+ 25147, 16181, 12620,
+ 25147, 16181, 12621, 0,
+ 25147, 16181, 12621, 40,
+ 25147, 16181, 13396,
+ 25147, 16181, 13397, 0,
+ 25147, 16181, 13494,
+ 25147, 16181, 13495, 0,
+ 25147, 16181, 13894,
+ 25147, 16181, 13895, 0,
+ 25147, 16181, 14064,
+ 25147, 16181, 14065, 0,
+ 25147, 16181, 14436,
+ 25147, 16181, 14437, 0,
+ 25147, 16181, 14552,
+ 25147, 16181, 14553, 0,
+ 25147, 16181, 16326,
+ 25147, 16181, 16327, 0,
+ 25147, 16181, 17226,
+ 25147, 16181, 17227, 0,
+ 25147, 16181, 17706,
+ 25147, 16181, 17707, 0,
+ 25147, 16181, 18182,
+ 25147, 16181, 18183, 0,
+ 25147, 16181, 18676,
+ 25147, 16181, 18677, 0,
+ 25147, 16181, 19076,
+ 25147, 16181, 19077, 0,
+ 25147, 16341, 20865, 29, 292,
+ 25147, 16341, 20865, 14320,
+ 25147, 16647, 3376,
+ 25147, 16647, 15984,
+ 25147, 16647, 17312,
+ 25147, 16647, 17314,
+ 25147, 16647, 17984,
+ 25147, 16647, 18932,
+ 25147, 16647, 19764,
+ 25147, 16647, 19846,
+ 25147, 16647, 20158,
+ 25147, 16647, 20594,
+ 25147, 16647, 21570,
+ 25147, 21245, 2736,
+ 25147, 21245, 3208,
+ 25147, 21245, 3276,
+ 25147, 21245, 3376,
+ 25147, 21245, 3500,
+ 25147, 21245, 6170,
+ 25147, 21245, 6982,
+ 25147, 21245, 6992,
+ 25147, 21245, 7014,
+ 25147, 21245, 7396,
+ 25147, 21245, 8928,
+ 25147, 21245, 9088,
+ 25147, 21245, 9302,
+ 25147, 21245, 10060,
+ 25147, 21245, 10358,
+ 25147, 21245, 11462,
+ 25147, 21245, 13056,
+ 25147, 21245, 13066,
+ 25147, 21245, 13662,
+ 25147, 21245, 13862,
+ 25147, 21245, 14534,
+ 25147, 21245, 14676,
+ 25147, 21245, 14876,
+ 25147, 21245, 14886,
+ 25147, 21245, 15004,
+ 25147, 21245, 15318,
+ 25147, 21245, 18950,
+ 25147, 21245, 18968,
+ 25147, 21245, 19328,
+ 25147, 21245, 19810,
+ 25147, 21245, 20358,
+ 25147, 21245, 21156,
+ 25147, 21245, 21518,
+ 25147, 21245, 21648,
+ 25147, 21245, 22126,
+ 25147, 21245, 25254,
+ 25150,
+ 25151, 11445, 36,
+ 25183, 8756,
+ 25183, 18136,
+ 25183, 20208,
+ 25183, 21120,
+ 25203, 16540,
+ 25212,
+ 25226,
+ 25245, 13093, 660,
+ 25247, 19374,
+ 25250,
+ 25259, 6952,
+ 25265, 6180,
+ 25374,
+ 25393, 46,
+ 25393, 10510,
+ 25393, 10511, 323, 8229, 7385, 15814,
+ 25393, 10511, 323, 14557, 7385, 15814,
+ 25393, 10511, 323, 15969, 15814,
+ 25393, 10511, 323, 20626,
+ 25393, 10511, 11445, 1285, 12248,
+ 25393, 10511, 11445, 20688,
+ 25405, 12309, 17646,
+ 25405, 15875, 12309, 17646,
+ 25405, 15969, 12309, 21495, 8756,
+ 25405, 22253, 13306,
+ 25408,
+ 25541, 14155, 6789, 12342,
+ 25541, 14827, 6789, 12342,
+ 25541, 22419, 12342,
+ 27321, 22419, 12342,
+ 27323, 19374,
+ 27327, 22419, 12342,
+ 27333, 22419, 12342,
+ 27337, 18706,
+ 27343, 12290,
+ 27495, 15969, 16226,
+ 27495, 17377, 14825, 8756,
+ 27495, 21483, 14825, 8756,
+ 27495, 23037, 14825, 8756,
+ 27519, 17140,
+ 27541, 19320,
+ 27543, 14381, 17140,
+ 27575, 16167, 17140,
+ 27575, 16357, 17140,
+ 27603, 17140,
+ 27609, 17140,
};
-static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unicode_name_to_index[33619] = {
- { 0x8033, 0 },
+static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unicode_name_to_index[33624] = {
+ { 0x8038, 0 },
{ 0x1D69, 5 },
{ 0x25EF, 9 },
{ 0x1F78, 12 },
@@ -47511,22 +47518,22 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2642, 64 },
{ 0x2661, 68 },
{ 0x2037, 72 },
- { 0x7E54, 74 },
+ { 0x7E59, 74 },
{ 0x1C8E, 78 },
{ 0x1C7B, 80 },
{ 0x1C7D, 82 },
{ 0x1C8D, 84 },
{ 0x1C7A, 86 },
{ 0x1C7C, 88 },
- { 0x7CC3, 90 },
+ { 0x7CC8, 90 },
{ 0x22F7, 95 },
- { 0x7E50, 97 },
- { 0x7C9A, 100 },
- { 0x7D17, 103 },
- { 0x7E52, 105 },
- { 0x7E58, 108 },
- { 0x7E5C, 110 },
- { 0x7BF1, 112 },
+ { 0x7E55, 97 },
+ { 0x7C9F, 100 },
+ { 0x7D1C, 103 },
+ { 0x7E57, 105 },
+ { 0x7E5D, 108 },
+ { 0x7E61, 110 },
+ { 0x7BF6, 112 },
{ 0x191F, 115 },
{ 0x1924, 119 },
{ 0x18F8, 122 },
@@ -47575,10 +47582,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1921, 292 },
{ 0x1926, 296 },
{ 0x1925, 301 },
- { 0x7CEE, 305 },
- { 0x7CC0, 307 },
+ { 0x7CF3, 305 },
+ { 0x7CC5, 307 },
{ 0x23EA, 316 },
- { 0x7BA7, 320 },
+ { 0x7BAC, 320 },
{ 0x0000, 321 },
{ 0x2574, 322 },
{ 0x2570, 329 },
@@ -47589,7 +47596,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2730, 358 },
{ 0x1E44, 362 },
{ 0x1E26, 366 },
- { 0x7FCB, 370 },
+ { 0x7FD0, 370 },
{ 0x2788, 374 },
{ 0x25A1, 378 },
{ 0x1EF6, 381 },
@@ -47600,1233 +47607,1233 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27D9, 398 },
{ 0x1F75, 404 },
{ 0x1CDA, 410 },
- { 0x3482, 411 },
- { 0x347F, 414 },
- { 0x3467, 417 },
- { 0x3479, 420 },
- { 0x348C, 423 },
- { 0x3457, 426 },
- { 0x345E, 429 },
- { 0x346F, 432 },
- { 0x346E, 435 },
- { 0x347E, 438 },
- { 0x3463, 441 },
- { 0x3478, 444 },
- { 0x346B, 447 },
- { 0x3489, 450 },
- { 0x3484, 453 },
- { 0x345A, 456 },
- { 0x3469, 459 },
- { 0x345D, 462 },
- { 0x347C, 465 },
- { 0x3473, 468 },
- { 0x347B, 471 },
- { 0x3458, 474 },
- { 0x3481, 477 },
- { 0x3460, 480 },
- { 0x3462, 483 },
- { 0x3464, 486 },
- { 0x3472, 489 },
- { 0x3456, 492 },
- { 0x3476, 495 },
- { 0x345B, 498 },
- { 0x3466, 501 },
- { 0x3477, 504 },
- { 0x3475, 507 },
- { 0x3474, 510 },
- { 0x3471, 513 },
- { 0x3468, 516 },
- { 0x3487, 519 },
- { 0x3461, 522 },
- { 0x3483, 525 },
- { 0x346A, 528 },
- { 0x345C, 531 },
- { 0x346C, 534 },
- { 0x345F, 537 },
- { 0x3485, 540 },
- { 0x3465, 543 },
- { 0x347D, 546 },
- { 0x3470, 549 },
- { 0x348B, 552 },
- { 0x3459, 555 },
- { 0x346D, 558 },
- { 0x347A, 561 },
- { 0x3486, 564 },
- { 0x3488, 567 },
- { 0x3480, 570 },
- { 0x348A, 573 },
- { 0x2FD3, 576 },
- { 0x2FDD, 579 },
- { 0x2FCB, 582 },
- { 0x2FDA, 585 },
- { 0x2FD4, 588 },
- { 0x2FD1, 591 },
- { 0x2FD2, 594 },
- { 0x2FE9, 597 },
- { 0x2FF3, 600 },
- { 0x2FE1, 603 },
- { 0x2FF0, 606 },
- { 0x2FF7, 609 },
- { 0x2FFD, 612 },
- { 0x3281, 615 },
- { 0x328B, 618 },
- { 0x3279, 621 },
- { 0x3288, 624 },
- { 0x328F, 627 },
- { 0x3295, 630 },
- { 0x30D2, 633 },
- { 0x30DB, 636 },
- { 0x30CB, 639 },
- { 0x30D8, 642 },
- { 0x30DF, 645 },
- { 0x2FDC, 648 },
- { 0x309C, 651 },
- { 0x3098, 654 },
- { 0x309F, 657 },
- { 0x30A3, 660 },
- { 0x30A9, 663 },
- { 0x31AD, 666 },
- { 0x31B9, 669 },
- { 0x31A5, 672 },
- { 0x31B5, 675 },
- { 0x31BD, 678 },
- { 0x323C, 681 },
- { 0x3247, 684 },
- { 0x3244, 687 },
- { 0x2FCF, 690 },
- { 0x2FCC, 693 },
- { 0x2FC9, 696 },
- { 0x2FCA, 699 },
- { 0x33AB, 702 },
- { 0x33B7, 705 },
- { 0x33BB, 708 },
- { 0x33C1, 711 },
- { 0x31CA, 714 },
- { 0x31D5, 717 },
- { 0x31C3, 720 },
- { 0x31D1, 723 },
- { 0x31D9, 726 },
- { 0x318A, 729 },
- { 0x3195, 732 },
- { 0x3182, 735 },
- { 0x3192, 738 },
- { 0x3199, 741 },
- { 0x319F, 744 },
- { 0x3080, 747 },
- { 0x308B, 750 },
- { 0x3079, 753 },
- { 0x3088, 756 },
- { 0x308E, 759 },
- { 0x3094, 762 },
- { 0x314E, 765 },
- { 0x3158, 768 },
- { 0x3148, 771 },
- { 0x3155, 774 },
- { 0x315C, 777 },
- { 0x2FDB, 780 },
- { 0x2FD8, 783 },
- { 0x2FD9, 786 },
- { 0x300A, 789 },
- { 0x3003, 792 },
- { 0x3011, 795 },
- { 0x3015, 798 },
- { 0x301B, 801 },
- { 0x33C7, 804 },
- { 0x33D3, 807 },
- { 0x33D7, 810 },
- { 0x33DD, 813 },
- { 0x3391, 816 },
- { 0x339B, 819 },
- { 0x3398, 822 },
- { 0x339F, 825 },
- { 0x33A5, 828 },
- { 0x32DB, 831 },
- { 0x32E5, 834 },
- { 0x32D4, 837 },
- { 0x32E2, 840 },
- { 0x32E9, 843 },
- { 0x32EF, 846 },
- { 0x30EC, 849 },
- { 0x30F7, 852 },
- { 0x30E5, 855 },
- { 0x30F4, 858 },
- { 0x30FB, 861 },
- { 0x2FD6, 864 },
- { 0x30B5, 867 },
- { 0x30AD, 870 },
- { 0x30B9, 873 },
- { 0x30BF, 876 },
- { 0x30C5, 879 },
- { 0x324B, 882 },
- { 0x3254, 885 },
- { 0x3251, 888 },
- { 0x2FDE, 891 },
- { 0x3428, 894 },
- { 0x3432, 897 },
- { 0x3436, 900 },
- { 0x343C, 903 },
- { 0x3448, 906 },
- { 0x344C, 909 },
- { 0x3452, 912 },
- { 0x325F, 915 },
- { 0x3269, 918 },
- { 0x3258, 921 },
- { 0x3266, 924 },
- { 0x326D, 927 },
- { 0x3273, 930 },
- { 0x2FEA, 933 },
- { 0x2FE7, 936 },
- { 0x2FE8, 939 },
- { 0x3029, 942 },
- { 0x3033, 945 },
- { 0x3021, 948 },
- { 0x3030, 951 },
- { 0x3037, 954 },
- { 0x303D, 957 },
- { 0x2FF4, 960 },
- { 0x2FF2, 963 },
- { 0x2FE5, 966 },
- { 0x2FE2, 969 },
- { 0x2FDF, 972 },
- { 0x2FE0, 975 },
- { 0x2FF1, 978 },
- { 0x2FEE, 981 },
- { 0x2FEF, 984 },
- { 0x2FEC, 987 },
- { 0x2FF8, 990 },
- { 0x2FFA, 993 },
- { 0x2FF5, 996 },
- { 0x2FF6, 999 },
- { 0x2FFE, 1002 },
- { 0x3000, 1005 },
- { 0x2FFB, 1008 },
- { 0x2FFC, 1011 },
- { 0x3282, 1014 },
- { 0x327F, 1017 },
- { 0x3280, 1020 },
- { 0x328C, 1023 },
- { 0x328A, 1026 },
- { 0x332C, 1029 },
- { 0x3338, 1032 },
- { 0x3334, 1035 },
- { 0x333B, 1038 },
- { 0x3341, 1041 },
- { 0x327D, 1044 },
- { 0x327A, 1047 },
- { 0x3277, 1050 },
- { 0x3278, 1053 },
- { 0x3289, 1056 },
- { 0x3286, 1059 },
- { 0x3287, 1062 },
- { 0x3284, 1065 },
- { 0x3290, 1068 },
- { 0x3292, 1071 },
- { 0x328D, 1074 },
- { 0x328E, 1077 },
- { 0x3296, 1080 },
- { 0x3298, 1083 },
- { 0x3293, 1086 },
- { 0x3294, 1089 },
- { 0x30D3, 1092 },
- { 0x30D0, 1095 },
- { 0x30D1, 1098 },
- { 0x3108, 1101 },
- { 0x3112, 1104 },
- { 0x3101, 1107 },
- { 0x310F, 1110 },
- { 0x3116, 1113 },
- { 0x30DC, 1116 },
- { 0x30DA, 1119 },
- { 0x30CE, 1122 },
- { 0x30CC, 1125 },
- { 0x30C9, 1128 },
- { 0x30CA, 1131 },
- { 0x30D9, 1134 },
- { 0x30D6, 1137 },
- { 0x30D7, 1140 },
- { 0x30D5, 1143 },
- { 0x30E0, 1146 },
- { 0x30E2, 1149 },
- { 0x30DD, 1152 },
- { 0x30DE, 1155 },
- { 0x309D, 1158 },
- { 0x309A, 1161 },
- { 0x309B, 1164 },
- { 0x3099, 1167 },
- { 0x3096, 1170 },
- { 0x3097, 1173 },
- { 0x30A0, 1176 },
- { 0x309E, 1179 },
- { 0x30A4, 1182 },
- { 0x30A6, 1185 },
- { 0x30A1, 1188 },
- { 0x30A2, 1191 },
- { 0x30AA, 1194 },
- { 0x30A7, 1197 },
- { 0x30A8, 1200 },
- { 0x31AE, 1203 },
- { 0x31AB, 1206 },
- { 0x31AC, 1209 },
- { 0x31BA, 1212 },
- { 0x31B7, 1215 },
- { 0x31B8, 1218 },
- { 0x31E5, 1221 },
- { 0x31F1, 1224 },
- { 0x31DF, 1227 },
- { 0x31ED, 1230 },
- { 0x31F5, 1233 },
- { 0x31A9, 1236 },
- { 0x31A6, 1239 },
- { 0x31A3, 1242 },
- { 0x31A4, 1245 },
- { 0x31B6, 1248 },
- { 0x31B3, 1251 },
- { 0x31B4, 1254 },
- { 0x31B1, 1257 },
- { 0x31BE, 1260 },
- { 0x31C0, 1263 },
- { 0x31BB, 1266 },
- { 0x31BC, 1269 },
- { 0x323D, 1272 },
- { 0x323A, 1275 },
- { 0x323B, 1278 },
- { 0x3248, 1281 },
- { 0x3246, 1284 },
- { 0x3239, 1287 },
- { 0x3237, 1290 },
- { 0x3169, 1293 },
- { 0x3172, 1296 },
- { 0x3162, 1299 },
- { 0x316F, 1302 },
- { 0x3176, 1305 },
- { 0x317C, 1308 },
- { 0x3063, 1311 },
- { 0x305C, 1314 },
- { 0x306A, 1317 },
- { 0x306E, 1320 },
- { 0x3073, 1323 },
- { 0x313B, 1326 },
- { 0x3143, 1329 },
- { 0x3133, 1332 },
- { 0x3245, 1335 },
- { 0x3242, 1338 },
- { 0x3243, 1341 },
- { 0x3240, 1344 },
- { 0x3219, 1347 },
- { 0x3224, 1350 },
- { 0x3211, 1353 },
- { 0x3221, 1356 },
- { 0x2FD0, 1359 },
- { 0x2FCD, 1362 },
- { 0x2FCE, 1365 },
- { 0x33AF, 1368 },
- { 0x33AC, 1371 },
- { 0x33A9, 1374 },
- { 0x33AA, 1377 },
- { 0x33E3, 1380 },
- { 0x33EE, 1383 },
- { 0x33F2, 1386 },
- { 0x33F8, 1389 },
- { 0x33B8, 1392 },
- { 0x33B5, 1395 },
- { 0x33B6, 1398 },
- { 0x33B3, 1401 },
- { 0x33BC, 1404 },
- { 0x33BE, 1407 },
- { 0x33B9, 1410 },
- { 0x33BA, 1413 },
- { 0x33C2, 1416 },
- { 0x33C4, 1419 },
- { 0x33BF, 1422 },
- { 0x33C0, 1425 },
- { 0x31CB, 1428 },
- { 0x31C8, 1431 },
- { 0x31C9, 1434 },
- { 0x31D6, 1437 },
- { 0x31D3, 1440 },
- { 0x31D4, 1443 },
- { 0x31C6, 1446 },
- { 0x31C4, 1449 },
- { 0x31C1, 1452 },
- { 0x31C2, 1455 },
- { 0x31D2, 1458 },
- { 0x31CF, 1461 },
- { 0x31D0, 1464 },
- { 0x31CD, 1467 },
- { 0x31DA, 1470 },
- { 0x31DC, 1473 },
- { 0x31D7, 1476 },
- { 0x31D8, 1479 },
- { 0x318B, 1482 },
- { 0x3188, 1485 },
- { 0x3189, 1488 },
- { 0x3196, 1491 },
- { 0x3194, 1494 },
- { 0x3186, 1497 },
- { 0x3183, 1500 },
- { 0x3180, 1503 },
- { 0x3181, 1506 },
- { 0x3193, 1509 },
- { 0x3190, 1512 },
- { 0x3191, 1515 },
- { 0x318E, 1518 },
- { 0x319A, 1521 },
- { 0x319C, 1524 },
- { 0x3197, 1527 },
- { 0x3198, 1530 },
- { 0x31A0, 1533 },
- { 0x31A2, 1536 },
- { 0x319D, 1539 },
- { 0x319E, 1542 },
- { 0x3081, 1545 },
- { 0x307E, 1548 },
- { 0x307F, 1551 },
- { 0x308A, 1554 },
- { 0x31FD, 1557 },
- { 0x3207, 1560 },
- { 0x3204, 1563 },
- { 0x320B, 1566 },
- { 0x307C, 1569 },
- { 0x307A, 1572 },
- { 0x3077, 1575 },
- { 0x3078, 1578 },
- { 0x3089, 1581 },
- { 0x3086, 1584 },
- { 0x3087, 1587 },
- { 0x3084, 1590 },
- { 0x308F, 1593 },
- { 0x3091, 1596 },
- { 0x308C, 1599 },
- { 0x308D, 1602 },
- { 0x3095, 1605 },
- { 0x3092, 1608 },
- { 0x3093, 1611 },
- { 0x314F, 1614 },
- { 0x314D, 1617 },
- { 0x3048, 1620 },
- { 0x3041, 1623 },
- { 0x304C, 1626 },
- { 0x3050, 1629 },
- { 0x3056, 1632 },
- { 0x3122, 1635 },
- { 0x3129, 1638 },
- { 0x311C, 1641 },
- { 0x3126, 1644 },
- { 0x312D, 1647 },
- { 0x3159, 1650 },
- { 0x3157, 1653 },
- { 0x322B, 1656 },
- { 0x3235, 1659 },
- { 0x3232, 1662 },
- { 0x314B, 1665 },
- { 0x3149, 1668 },
- { 0x3146, 1671 },
- { 0x3147, 1674 },
- { 0x33FC, 1677 },
- { 0x3406, 1680 },
- { 0x3409, 1683 },
- { 0x340F, 1686 },
- { 0x3156, 1689 },
- { 0x3153, 1692 },
- { 0x3154, 1695 },
- { 0x335F, 1698 },
- { 0x3366, 1701 },
- { 0x3362, 1704 },
- { 0x336A, 1707 },
- { 0x3370, 1710 },
- { 0x3151, 1713 },
- { 0x315D, 1716 },
- { 0x315F, 1719 },
- { 0x315A, 1722 },
- { 0x315B, 1725 },
- { 0x3415, 1728 },
- { 0x3420, 1731 },
- { 0x3424, 1734 },
- { 0x32BF, 1737 },
- { 0x32C6, 1740 },
- { 0x32B8, 1743 },
- { 0x32C8, 1746 },
- { 0x32CE, 1749 },
- { 0x300B, 1752 },
- { 0x3008, 1755 },
- { 0x3009, 1758 },
- { 0x3006, 1761 },
- { 0x3004, 1764 },
- { 0x3001, 1767 },
- { 0x3002, 1770 },
- { 0x3012, 1773 },
- { 0x300F, 1776 },
- { 0x3010, 1779 },
- { 0x300D, 1782 },
- { 0x3016, 1785 },
- { 0x3018, 1788 },
- { 0x3013, 1791 },
- { 0x3014, 1794 },
- { 0x301C, 1797 },
- { 0x301E, 1800 },
- { 0x3019, 1803 },
- { 0x301A, 1806 },
- { 0x33CB, 1809 },
- { 0x33C8, 1812 },
- { 0x33C5, 1815 },
- { 0x33C6, 1818 },
- { 0x33D4, 1821 },
- { 0x33D1, 1824 },
- { 0x33D2, 1827 },
- { 0x33CF, 1830 },
- { 0x33D8, 1833 },
- { 0x33DA, 1836 },
- { 0x33D5, 1839 },
- { 0x33D6, 1842 },
- { 0x33DE, 1845 },
- { 0x33E0, 1848 },
- { 0x33DB, 1851 },
- { 0x33DC, 1854 },
- { 0x3392, 1857 },
- { 0x338F, 1860 },
- { 0x3390, 1863 },
- { 0x339C, 1866 },
- { 0x339A, 1869 },
- { 0x3399, 1872 },
- { 0x3396, 1875 },
- { 0x3397, 1878 },
- { 0x3346, 1881 },
- { 0x334F, 1884 },
- { 0x334B, 1887 },
- { 0x3353, 1890 },
- { 0x3359, 1893 },
- { 0x3394, 1896 },
- { 0x33A0, 1899 },
- { 0x33A2, 1902 },
- { 0x339D, 1905 },
- { 0x339E, 1908 },
- { 0x33A6, 1911 },
- { 0x33A8, 1914 },
- { 0x33A3, 1917 },
- { 0x33A4, 1920 },
- { 0x32DC, 1923 },
- { 0x32D9, 1926 },
- { 0x32DA, 1929 },
- { 0x32E6, 1932 },
- { 0x32E4, 1935 },
- { 0x3376, 1938 },
- { 0x3381, 1941 },
- { 0x337D, 1944 },
- { 0x3385, 1947 },
- { 0x338B, 1950 },
- { 0x32D7, 1953 },
- { 0x32D5, 1956 },
- { 0x32D2, 1959 },
- { 0x32D3, 1962 },
- { 0x32E3, 1965 },
- { 0x32E0, 1968 },
- { 0x32E1, 1971 },
- { 0x32FC, 1974 },
- { 0x3303, 1977 },
- { 0x32F5, 1980 },
- { 0x3300, 1983 },
- { 0x3307, 1986 },
- { 0x330B, 1989 },
- { 0x32DE, 1992 },
- { 0x32EA, 1995 },
- { 0x32EC, 1998 },
- { 0x32E7, 2001 },
- { 0x32E8, 2004 },
- { 0x32F0, 2007 },
- { 0x32F2, 2010 },
- { 0x32ED, 2013 },
- { 0x32EE, 2016 },
- { 0x30ED, 2019 },
- { 0x30EA, 2022 },
- { 0x30EB, 2025 },
- { 0x30F8, 2028 },
- { 0x30F6, 2031 },
- { 0x30E8, 2034 },
- { 0x30E6, 2037 },
- { 0x30E3, 2040 },
- { 0x30E4, 2043 },
- { 0x30F5, 2046 },
- { 0x30F2, 2049 },
- { 0x30F3, 2052 },
- { 0x30F0, 2055 },
- { 0x30FC, 2058 },
- { 0x30FE, 2061 },
- { 0x30F9, 2064 },
- { 0x30FA, 2067 },
- { 0x2FD7, 2070 },
- { 0x2FD5, 2073 },
- { 0x30B6, 2076 },
- { 0x30B3, 2079 },
- { 0x30B4, 2082 },
- { 0x30BC, 2085 },
- { 0x30BB, 2088 },
- { 0x30B1, 2091 },
- { 0x30AE, 2094 },
- { 0x30AB, 2097 },
- { 0x30AC, 2100 },
- { 0x30BA, 2103 },
- { 0x30B7, 2106 },
- { 0x30B8, 2109 },
- { 0x30C0, 2112 },
- { 0x30C2, 2115 },
- { 0x30BD, 2118 },
- { 0x30BE, 2121 },
- { 0x30C6, 2124 },
- { 0x30C8, 2127 },
- { 0x30C3, 2130 },
- { 0x30C4, 2133 },
- { 0x324C, 2136 },
- { 0x3249, 2139 },
- { 0x324A, 2142 },
- { 0x3255, 2145 },
- { 0x3253, 2148 },
- { 0x3252, 2151 },
- { 0x3250, 2154 },
- { 0x324E, 2157 },
- { 0x342C, 2160 },
- { 0x3429, 2163 },
- { 0x3426, 2166 },
- { 0x3427, 2169 },
- { 0x3433, 2172 },
- { 0x3430, 2175 },
- { 0x3431, 2178 },
- { 0x342F, 2181 },
- { 0x3437, 2184 },
- { 0x3439, 2187 },
- { 0x3434, 2190 },
- { 0x3435, 2193 },
- { 0x3440, 2196 },
- { 0x343D, 2199 },
- { 0x343A, 2202 },
- { 0x343B, 2205 },
- { 0x3449, 2208 },
- { 0x3446, 2211 },
- { 0x3447, 2214 },
- { 0x3444, 2217 },
- { 0x344D, 2220 },
- { 0x344F, 2223 },
- { 0x344A, 2226 },
- { 0x344B, 2229 },
- { 0x3453, 2232 },
- { 0x3455, 2235 },
- { 0x3450, 2238 },
- { 0x3451, 2241 },
- { 0x3260, 2244 },
- { 0x325D, 2247 },
- { 0x325E, 2250 },
- { 0x326A, 2253 },
- { 0x3268, 2256 },
- { 0x3311, 2259 },
- { 0x331C, 2262 },
- { 0x3318, 2265 },
- { 0x3320, 2268 },
- { 0x3326, 2271 },
- { 0x325B, 2274 },
- { 0x3259, 2277 },
- { 0x3256, 2280 },
- { 0x3257, 2283 },
- { 0x3267, 2286 },
- { 0x3264, 2289 },
- { 0x3265, 2292 },
- { 0x3262, 2295 },
- { 0x326E, 2298 },
- { 0x3270, 2301 },
- { 0x326B, 2304 },
- { 0x326C, 2307 },
- { 0x3274, 2310 },
- { 0x3276, 2313 },
- { 0x3271, 2316 },
- { 0x3272, 2319 },
- { 0x32A3, 2322 },
- { 0x32A9, 2325 },
- { 0x329B, 2328 },
- { 0x32A6, 2331 },
- { 0x32AC, 2334 },
- { 0x32B2, 2337 },
- { 0x302A, 2340 },
- { 0x3027, 2343 },
- { 0x3028, 2346 },
- { 0x3034, 2349 },
- { 0x3032, 2352 },
- { 0x3025, 2355 },
- { 0x3022, 2358 },
- { 0x301F, 2361 },
- { 0x3020, 2364 },
- { 0x3031, 2367 },
- { 0x302E, 2370 },
- { 0x302F, 2373 },
- { 0x302C, 2376 },
- { 0x3038, 2379 },
- { 0x303A, 2382 },
- { 0x3035, 2385 },
- { 0x3036, 2388 },
- { 0x303E, 2391 },
- { 0x303B, 2394 },
- { 0x303C, 2397 },
- { 0x2FE6, 2400 },
- { 0x2FE3, 2403 },
- { 0x2FE4, 2406 },
- { 0x2FED, 2409 },
- { 0x2FEB, 2412 },
- { 0x2FF9, 2415 },
- { 0x2FFF, 2418 },
- { 0x332D, 2421 },
- { 0x332A, 2424 },
- { 0x332B, 2427 },
- { 0x3339, 2430 },
- { 0x3336, 2433 },
- { 0x3337, 2436 },
- { 0x3335, 2439 },
- { 0x3332, 2442 },
- { 0x3333, 2445 },
- { 0x3330, 2448 },
- { 0x333C, 2451 },
- { 0x333E, 2454 },
- { 0x333A, 2457 },
- { 0x3342, 2460 },
- { 0x3344, 2463 },
- { 0x333F, 2466 },
- { 0x3340, 2469 },
- { 0x327E, 2472 },
- { 0x327B, 2475 },
- { 0x327C, 2478 },
- { 0x3285, 2481 },
- { 0x3283, 2484 },
- { 0x3291, 2487 },
- { 0x3297, 2490 },
- { 0x3109, 2493 },
- { 0x3106, 2496 },
- { 0x3107, 2499 },
- { 0x3113, 2502 },
- { 0x3111, 2505 },
- { 0x3104, 2508 },
- { 0x3102, 2511 },
- { 0x30FF, 2514 },
- { 0x3100, 2517 },
- { 0x3110, 2520 },
- { 0x310D, 2523 },
- { 0x310E, 2526 },
- { 0x310B, 2529 },
- { 0x3117, 2532 },
- { 0x3119, 2535 },
- { 0x3114, 2538 },
- { 0x3115, 2541 },
- { 0x30CF, 2544 },
- { 0x30CD, 2547 },
- { 0x30D4, 2550 },
- { 0x30E1, 2553 },
- { 0x30A5, 2556 },
- { 0x31E6, 2559 },
- { 0x31E3, 2562 },
- { 0x31E4, 2565 },
- { 0x31F2, 2568 },
- { 0x31EF, 2571 },
- { 0x31F0, 2574 },
- { 0x31E1, 2577 },
- { 0x31DD, 2580 },
- { 0x31DE, 2583 },
- { 0x31EE, 2586 },
- { 0x31EB, 2589 },
- { 0x31EC, 2592 },
- { 0x31E9, 2595 },
- { 0x31F6, 2598 },
- { 0x31F8, 2601 },
- { 0x31F3, 2604 },
- { 0x31F4, 2607 },
- { 0x31AA, 2610 },
- { 0x31A7, 2613 },
- { 0x31A8, 2616 },
- { 0x31B2, 2619 },
- { 0x31AF, 2622 },
- { 0x31B0, 2625 },
- { 0x31BF, 2628 },
- { 0x3238, 2631 },
- { 0x316A, 2634 },
- { 0x3167, 2637 },
- { 0x3168, 2640 },
- { 0x3173, 2643 },
- { 0x3171, 2646 },
- { 0x3165, 2649 },
- { 0x3163, 2652 },
- { 0x3160, 2655 },
- { 0x3161, 2658 },
- { 0x3170, 2661 },
- { 0x316E, 2664 },
- { 0x316C, 2667 },
- { 0x3177, 2670 },
- { 0x3179, 2673 },
- { 0x3174, 2676 },
- { 0x3175, 2679 },
- { 0x317D, 2682 },
- { 0x317F, 2685 },
- { 0x317A, 2688 },
- { 0x317B, 2691 },
- { 0x3064, 2694 },
- { 0x3061, 2697 },
- { 0x3062, 2700 },
- { 0x305F, 2703 },
- { 0x305D, 2706 },
- { 0x305A, 2709 },
- { 0x305B, 2712 },
- { 0x306B, 2715 },
- { 0x3068, 2718 },
- { 0x3069, 2721 },
- { 0x3066, 2724 },
- { 0x306F, 2727 },
- { 0x3071, 2730 },
- { 0x306C, 2733 },
- { 0x306D, 2736 },
- { 0x3074, 2739 },
- { 0x3076, 2742 },
- { 0x3072, 2745 },
- { 0x313C, 2748 },
- { 0x3139, 2751 },
- { 0x313A, 2754 },
- { 0x3144, 2757 },
- { 0x3142, 2760 },
- { 0x3137, 2763 },
- { 0x3134, 2766 },
- { 0x3131, 2769 },
- { 0x3132, 2772 },
- { 0x3141, 2775 },
- { 0x313F, 2778 },
- { 0x3140, 2781 },
- { 0x313E, 2784 },
- { 0x3145, 2787 },
- { 0x3241, 2790 },
- { 0x323E, 2793 },
- { 0x323F, 2796 },
- { 0x321A, 2799 },
- { 0x3217, 2802 },
- { 0x3218, 2805 },
- { 0x3225, 2808 },
- { 0x3223, 2811 },
- { 0x3215, 2814 },
- { 0x3212, 2817 },
- { 0x320F, 2820 },
- { 0x3210, 2823 },
- { 0x3222, 2826 },
- { 0x321F, 2829 },
- { 0x3220, 2832 },
- { 0x321D, 2835 },
- { 0x33B0, 2838 },
- { 0x33AD, 2841 },
- { 0x33AE, 2844 },
- { 0x33E7, 2847 },
- { 0x33E4, 2850 },
- { 0x33E1, 2853 },
- { 0x33E2, 2856 },
- { 0x33EF, 2859 },
- { 0x33EC, 2862 },
- { 0x33ED, 2865 },
- { 0x33EA, 2868 },
- { 0x33F3, 2871 },
- { 0x33F5, 2874 },
- { 0x33F0, 2877 },
- { 0x33F1, 2880 },
- { 0x33F9, 2883 },
- { 0x33F6, 2886 },
- { 0x33F7, 2889 },
- { 0x33B4, 2892 },
- { 0x33B1, 2895 },
- { 0x33B2, 2898 },
- { 0x33BD, 2901 },
- { 0x33C3, 2904 },
- { 0x31C7, 2907 },
- { 0x31C5, 2910 },
- { 0x31CE, 2913 },
- { 0x31CC, 2916 },
- { 0x31DB, 2919 },
- { 0x3187, 2922 },
- { 0x3184, 2925 },
- { 0x3185, 2928 },
- { 0x318F, 2931 },
- { 0x318C, 2934 },
- { 0x318D, 2937 },
- { 0x319B, 2940 },
- { 0x31A1, 2943 },
- { 0x31FE, 2946 },
- { 0x31FB, 2949 },
- { 0x31FC, 2952 },
- { 0x3208, 2955 },
- { 0x3206, 2958 },
- { 0x31FA, 2961 },
- { 0x3205, 2964 },
- { 0x3202, 2967 },
- { 0x3203, 2970 },
- { 0x3200, 2973 },
- { 0x320C, 2976 },
- { 0x320E, 2979 },
- { 0x3209, 2982 },
- { 0x320A, 2985 },
- { 0x307D, 2988 },
- { 0x307B, 2991 },
- { 0x3085, 2994 },
- { 0x3082, 2997 },
- { 0x3083, 3000 },
- { 0x3090, 3003 },
- { 0x3049, 3006 },
- { 0x3046, 3009 },
- { 0x3047, 3012 },
- { 0x3044, 3015 },
- { 0x3042, 3018 },
- { 0x303F, 3021 },
- { 0x3040, 3024 },
- { 0x304D, 3027 },
- { 0x304A, 3030 },
- { 0x304B, 3033 },
- { 0x3051, 3036 },
- { 0x3053, 3039 },
- { 0x304E, 3042 },
- { 0x304F, 3045 },
- { 0x3057, 3048 },
- { 0x3059, 3051 },
- { 0x3054, 3054 },
- { 0x3055, 3057 },
- { 0x3123, 3060 },
- { 0x3120, 3063 },
- { 0x3121, 3066 },
- { 0x312A, 3069 },
- { 0x3128, 3072 },
- { 0x311F, 3075 },
- { 0x311D, 3078 },
- { 0x311A, 3081 },
- { 0x311B, 3084 },
- { 0x3127, 3087 },
- { 0x3124, 3090 },
- { 0x3125, 3093 },
- { 0x312E, 3096 },
- { 0x3130, 3099 },
- { 0x312B, 3102 },
- { 0x312C, 3105 },
- { 0x322C, 3108 },
- { 0x3229, 3111 },
- { 0x322A, 3114 },
- { 0x3236, 3117 },
- { 0x3234, 3120 },
- { 0x3227, 3123 },
- { 0x3233, 3126 },
- { 0x3230, 3129 },
- { 0x3231, 3132 },
- { 0x322F, 3135 },
- { 0x314C, 3138 },
- { 0x314A, 3141 },
- { 0x3400, 3144 },
- { 0x33FD, 3147 },
- { 0x33FA, 3150 },
- { 0x33FB, 3153 },
- { 0x3407, 3156 },
- { 0x3404, 3159 },
- { 0x3405, 3162 },
- { 0x3403, 3165 },
- { 0x340A, 3168 },
- { 0x340C, 3171 },
- { 0x3408, 3174 },
- { 0x3410, 3177 },
- { 0x3412, 3180 },
- { 0x340D, 3183 },
- { 0x340E, 3186 },
- { 0x3360, 3189 },
- { 0x335D, 3192 },
- { 0x335E, 3195 },
- { 0x3367, 3198 },
- { 0x3364, 3201 },
- { 0x3365, 3204 },
- { 0x3363, 3207 },
- { 0x3361, 3210 },
- { 0x336B, 3213 },
- { 0x336D, 3216 },
- { 0x3368, 3219 },
- { 0x3369, 3222 },
- { 0x3371, 3225 },
- { 0x3373, 3228 },
- { 0x336E, 3231 },
- { 0x336F, 3234 },
- { 0x3152, 3237 },
- { 0x3150, 3240 },
- { 0x315E, 3243 },
- { 0x3419, 3246 },
- { 0x3416, 3249 },
- { 0x3413, 3252 },
- { 0x3414, 3255 },
- { 0x3421, 3258 },
- { 0x341E, 3261 },
- { 0x341F, 3264 },
- { 0x341C, 3267 },
- { 0x3425, 3270 },
- { 0x3422, 3273 },
- { 0x3423, 3276 },
- { 0x32C0, 3279 },
- { 0x32BD, 3282 },
- { 0x32BE, 3285 },
- { 0x32C5, 3288 },
- { 0x32BB, 3291 },
- { 0x32B9, 3294 },
- { 0x32B6, 3297 },
- { 0x32B7, 3300 },
- { 0x32C4, 3303 },
- { 0x32C3, 3306 },
- { 0x32C2, 3309 },
- { 0x32C9, 3312 },
- { 0x32CB, 3315 },
- { 0x32C7, 3318 },
- { 0x32CF, 3321 },
- { 0x32D1, 3324 },
- { 0x32CC, 3327 },
- { 0x32CD, 3330 },
- { 0x3007, 3333 },
- { 0x3005, 3336 },
- { 0x300E, 3339 },
- { 0x300C, 3342 },
- { 0x3017, 3345 },
- { 0x301D, 3348 },
- { 0x33CC, 3351 },
- { 0x33C9, 3354 },
- { 0x33CA, 3357 },
- { 0x33D0, 3360 },
- { 0x33CD, 3363 },
- { 0x33CE, 3366 },
- { 0x33D9, 3369 },
- { 0x33DF, 3372 },
- { 0x3345, 3375 },
- { 0x3350, 3378 },
- { 0x334D, 3381 },
- { 0x334E, 3384 },
- { 0x334C, 3387 },
- { 0x3349, 3390 },
- { 0x334A, 3393 },
- { 0x3348, 3396 },
- { 0x3354, 3399 },
- { 0x3356, 3402 },
- { 0x3351, 3405 },
- { 0x3352, 3408 },
- { 0x335A, 3411 },
- { 0x335C, 3414 },
- { 0x3357, 3417 },
- { 0x3358, 3420 },
- { 0x3395, 3423 },
- { 0x3393, 3426 },
- { 0x33A1, 3429 },
- { 0x33A7, 3432 },
- { 0x3377, 3435 },
- { 0x3374, 3438 },
- { 0x3375, 3441 },
- { 0x3382, 3444 },
- { 0x337F, 3447 },
- { 0x3380, 3450 },
- { 0x337E, 3453 },
- { 0x337B, 3456 },
- { 0x337C, 3459 },
- { 0x3379, 3462 },
- { 0x3386, 3465 },
- { 0x3388, 3468 },
- { 0x3383, 3471 },
- { 0x3384, 3474 },
- { 0x338C, 3477 },
- { 0x338E, 3480 },
- { 0x3389, 3483 },
- { 0x338A, 3486 },
- { 0x32D8, 3489 },
- { 0x32D6, 3492 },
- { 0x32FD, 3495 },
- { 0x32FA, 3498 },
- { 0x32FB, 3501 },
- { 0x3304, 3504 },
- { 0x3302, 3507 },
- { 0x32F8, 3510 },
- { 0x32F6, 3513 },
- { 0x32F3, 3516 },
- { 0x32F4, 3519 },
- { 0x3301, 3522 },
- { 0x32FE, 3525 },
- { 0x32FF, 3528 },
- { 0x3308, 3531 },
- { 0x3305, 3534 },
- { 0x3306, 3537 },
- { 0x330C, 3540 },
- { 0x330E, 3543 },
- { 0x3309, 3546 },
- { 0x330A, 3549 },
- { 0x32DF, 3552 },
- { 0x32DD, 3555 },
- { 0x32EB, 3558 },
- { 0x32F1, 3561 },
- { 0x30E9, 3564 },
- { 0x30E7, 3567 },
- { 0x30F1, 3570 },
- { 0x30EE, 3573 },
- { 0x30EF, 3576 },
- { 0x30FD, 3579 },
- { 0x30B2, 3582 },
- { 0x30AF, 3585 },
- { 0x30B0, 3588 },
- { 0x30C1, 3591 },
- { 0x30C7, 3594 },
- { 0x324F, 3597 },
- { 0x324D, 3600 },
- { 0x342D, 3603 },
- { 0x342A, 3606 },
- { 0x342B, 3609 },
- { 0x342E, 3612 },
- { 0x3438, 3615 },
- { 0x3441, 3618 },
- { 0x343E, 3621 },
- { 0x343F, 3624 },
- { 0x3445, 3627 },
- { 0x3442, 3630 },
- { 0x3443, 3633 },
- { 0x344E, 3636 },
- { 0x3454, 3639 },
- { 0x3312, 3642 },
- { 0x330F, 3645 },
- { 0x3310, 3648 },
- { 0x331D, 3651 },
- { 0x331A, 3654 },
- { 0x331B, 3657 },
- { 0x3319, 3660 },
- { 0x3316, 3663 },
- { 0x3317, 3666 },
- { 0x3314, 3669 },
- { 0x3321, 3672 },
- { 0x3323, 3675 },
- { 0x331E, 3678 },
- { 0x331F, 3681 },
- { 0x3327, 3684 },
- { 0x3329, 3687 },
- { 0x3324, 3690 },
- { 0x3325, 3693 },
- { 0x325C, 3696 },
- { 0x325A, 3699 },
- { 0x3263, 3702 },
- { 0x3261, 3705 },
- { 0x326F, 3708 },
- { 0x3275, 3711 },
- { 0x32A4, 3714 },
- { 0x32A1, 3717 },
- { 0x32A2, 3720 },
- { 0x32AA, 3723 },
- { 0x32A8, 3726 },
- { 0x329F, 3729 },
- { 0x329C, 3732 },
- { 0x3299, 3735 },
- { 0x329A, 3738 },
- { 0x32A7, 3741 },
- { 0x32A5, 3744 },
- { 0x32AD, 3747 },
- { 0x32AF, 3750 },
- { 0x32AB, 3753 },
- { 0x32B3, 3756 },
- { 0x32B5, 3759 },
- { 0x32B0, 3762 },
- { 0x32B1, 3765 },
- { 0x3026, 3768 },
- { 0x3023, 3771 },
- { 0x3024, 3774 },
- { 0x302D, 3777 },
- { 0x302B, 3780 },
- { 0x3039, 3783 },
- { 0x3331, 3786 },
- { 0x332E, 3789 },
- { 0x332F, 3792 },
- { 0x333D, 3795 },
- { 0x3343, 3798 },
- { 0x3105, 3801 },
- { 0x3103, 3804 },
- { 0x310C, 3807 },
- { 0x310A, 3810 },
- { 0x3118, 3813 },
- { 0x31E2, 3816 },
- { 0x31E0, 3819 },
- { 0x31EA, 3822 },
- { 0x31E7, 3825 },
- { 0x31E8, 3828 },
- { 0x31F7, 3831 },
- { 0x3166, 3834 },
- { 0x3164, 3837 },
- { 0x316D, 3840 },
- { 0x316B, 3843 },
- { 0x3178, 3846 },
- { 0x317E, 3849 },
- { 0x3060, 3852 },
- { 0x305E, 3855 },
- { 0x3067, 3858 },
- { 0x3065, 3861 },
- { 0x3070, 3864 },
- { 0x3075, 3867 },
- { 0x3138, 3870 },
- { 0x3135, 3873 },
- { 0x3136, 3876 },
- { 0x313D, 3879 },
- { 0x3216, 3882 },
- { 0x3213, 3885 },
- { 0x3214, 3888 },
- { 0x321E, 3891 },
- { 0x321B, 3894 },
- { 0x321C, 3897 },
- { 0x33E8, 3900 },
- { 0x33E5, 3903 },
- { 0x33E6, 3906 },
- { 0x33EB, 3909 },
- { 0x33E9, 3912 },
- { 0x33F4, 3915 },
- { 0x31F9, 3918 },
- { 0x3201, 3921 },
- { 0x31FF, 3924 },
- { 0x320D, 3927 },
- { 0x3045, 3930 },
- { 0x3043, 3933 },
- { 0x3052, 3936 },
- { 0x3058, 3939 },
- { 0x311E, 3942 },
- { 0x312F, 3945 },
- { 0x3228, 3948 },
- { 0x3226, 3951 },
- { 0x322D, 3954 },
- { 0x322E, 3957 },
- { 0x3401, 3960 },
- { 0x33FE, 3963 },
- { 0x33FF, 3966 },
- { 0x3402, 3969 },
- { 0x340B, 3972 },
- { 0x3411, 3975 },
- { 0x336C, 3978 },
- { 0x3372, 3981 },
- { 0x341A, 3984 },
- { 0x3417, 3987 },
- { 0x3418, 3990 },
- { 0x341D, 3993 },
- { 0x341B, 3996 },
- { 0x32BC, 3999 },
- { 0x32BA, 4002 },
- { 0x32C1, 4005 },
- { 0x32CA, 4008 },
- { 0x32D0, 4011 },
- { 0x3347, 4014 },
- { 0x3355, 4017 },
- { 0x335B, 4020 },
- { 0x337A, 4023 },
- { 0x3378, 4026 },
- { 0x3387, 4029 },
- { 0x338D, 4032 },
- { 0x32F9, 4035 },
- { 0x32F7, 4038 },
- { 0x330D, 4041 },
- { 0x3315, 4044 },
- { 0x3313, 4047 },
- { 0x3322, 4050 },
- { 0x3328, 4053 },
- { 0x32A0, 4056 },
- { 0x329D, 4059 },
- { 0x329E, 4062 },
- { 0x32AE, 4065 },
- { 0x32B4, 4068 },
- { 0x2FDE, 4071 },
+ { 0x3487, 411 },
+ { 0x3484, 414 },
+ { 0x346C, 417 },
+ { 0x347E, 420 },
+ { 0x3491, 423 },
+ { 0x345C, 426 },
+ { 0x3463, 429 },
+ { 0x3474, 432 },
+ { 0x3473, 435 },
+ { 0x3483, 438 },
+ { 0x3468, 441 },
+ { 0x347D, 444 },
+ { 0x3470, 447 },
+ { 0x348E, 450 },
+ { 0x3489, 453 },
+ { 0x345F, 456 },
+ { 0x346E, 459 },
+ { 0x3462, 462 },
+ { 0x3481, 465 },
+ { 0x3478, 468 },
+ { 0x3480, 471 },
+ { 0x345D, 474 },
+ { 0x3486, 477 },
+ { 0x3465, 480 },
+ { 0x3467, 483 },
+ { 0x3469, 486 },
+ { 0x3477, 489 },
+ { 0x345B, 492 },
+ { 0x347B, 495 },
+ { 0x3460, 498 },
+ { 0x346B, 501 },
+ { 0x347C, 504 },
+ { 0x347A, 507 },
+ { 0x3479, 510 },
+ { 0x3476, 513 },
+ { 0x346D, 516 },
+ { 0x348C, 519 },
+ { 0x3466, 522 },
+ { 0x3488, 525 },
+ { 0x346F, 528 },
+ { 0x3461, 531 },
+ { 0x3471, 534 },
+ { 0x3464, 537 },
+ { 0x348A, 540 },
+ { 0x346A, 543 },
+ { 0x3482, 546 },
+ { 0x3475, 549 },
+ { 0x3490, 552 },
+ { 0x345E, 555 },
+ { 0x3472, 558 },
+ { 0x347F, 561 },
+ { 0x348B, 564 },
+ { 0x348D, 567 },
+ { 0x3485, 570 },
+ { 0x348F, 573 },
+ { 0x2FD8, 576 },
+ { 0x2FE2, 579 },
+ { 0x2FD0, 582 },
+ { 0x2FDF, 585 },
+ { 0x2FD9, 588 },
+ { 0x2FD6, 591 },
+ { 0x2FD7, 594 },
+ { 0x2FEE, 597 },
+ { 0x2FF8, 600 },
+ { 0x2FE6, 603 },
+ { 0x2FF5, 606 },
+ { 0x2FFC, 609 },
+ { 0x3002, 612 },
+ { 0x3286, 615 },
+ { 0x3290, 618 },
+ { 0x327E, 621 },
+ { 0x328D, 624 },
+ { 0x3294, 627 },
+ { 0x329A, 630 },
+ { 0x30D7, 633 },
+ { 0x30E0, 636 },
+ { 0x30D0, 639 },
+ { 0x30DD, 642 },
+ { 0x30E4, 645 },
+ { 0x2FE1, 648 },
+ { 0x30A1, 651 },
+ { 0x309D, 654 },
+ { 0x30A4, 657 },
+ { 0x30A8, 660 },
+ { 0x30AE, 663 },
+ { 0x31B2, 666 },
+ { 0x31BE, 669 },
+ { 0x31AA, 672 },
+ { 0x31BA, 675 },
+ { 0x31C2, 678 },
+ { 0x3241, 681 },
+ { 0x324C, 684 },
+ { 0x3249, 687 },
+ { 0x2FD4, 690 },
+ { 0x2FD1, 693 },
+ { 0x2FCE, 696 },
+ { 0x2FCF, 699 },
+ { 0x33B0, 702 },
+ { 0x33BC, 705 },
+ { 0x33C0, 708 },
+ { 0x33C6, 711 },
+ { 0x31CF, 714 },
+ { 0x31DA, 717 },
+ { 0x31C8, 720 },
+ { 0x31D6, 723 },
+ { 0x31DE, 726 },
+ { 0x318F, 729 },
+ { 0x319A, 732 },
+ { 0x3187, 735 },
+ { 0x3197, 738 },
+ { 0x319E, 741 },
+ { 0x31A4, 744 },
+ { 0x3085, 747 },
+ { 0x3090, 750 },
+ { 0x307E, 753 },
+ { 0x308D, 756 },
+ { 0x3093, 759 },
+ { 0x3099, 762 },
+ { 0x3153, 765 },
+ { 0x315D, 768 },
+ { 0x314D, 771 },
+ { 0x315A, 774 },
+ { 0x3161, 777 },
+ { 0x2FE0, 780 },
+ { 0x2FDD, 783 },
+ { 0x2FDE, 786 },
+ { 0x300F, 789 },
+ { 0x3008, 792 },
+ { 0x3016, 795 },
+ { 0x301A, 798 },
+ { 0x3020, 801 },
+ { 0x33CC, 804 },
+ { 0x33D8, 807 },
+ { 0x33DC, 810 },
+ { 0x33E2, 813 },
+ { 0x3396, 816 },
+ { 0x33A0, 819 },
+ { 0x339D, 822 },
+ { 0x33A4, 825 },
+ { 0x33AA, 828 },
+ { 0x32E0, 831 },
+ { 0x32EA, 834 },
+ { 0x32D9, 837 },
+ { 0x32E7, 840 },
+ { 0x32EE, 843 },
+ { 0x32F4, 846 },
+ { 0x30F1, 849 },
+ { 0x30FC, 852 },
+ { 0x30EA, 855 },
+ { 0x30F9, 858 },
+ { 0x3100, 861 },
+ { 0x2FDB, 864 },
+ { 0x30BA, 867 },
+ { 0x30B2, 870 },
+ { 0x30BE, 873 },
+ { 0x30C4, 876 },
+ { 0x30CA, 879 },
+ { 0x3250, 882 },
+ { 0x3259, 885 },
+ { 0x3256, 888 },
+ { 0x2FE3, 891 },
+ { 0x342D, 894 },
+ { 0x3437, 897 },
+ { 0x343B, 900 },
+ { 0x3441, 903 },
+ { 0x344D, 906 },
+ { 0x3451, 909 },
+ { 0x3457, 912 },
+ { 0x3264, 915 },
+ { 0x326E, 918 },
+ { 0x325D, 921 },
+ { 0x326B, 924 },
+ { 0x3272, 927 },
+ { 0x3278, 930 },
+ { 0x2FEF, 933 },
+ { 0x2FEC, 936 },
+ { 0x2FED, 939 },
+ { 0x302E, 942 },
+ { 0x3038, 945 },
+ { 0x3026, 948 },
+ { 0x3035, 951 },
+ { 0x303C, 954 },
+ { 0x3042, 957 },
+ { 0x2FF9, 960 },
+ { 0x2FF7, 963 },
+ { 0x2FEA, 966 },
+ { 0x2FE7, 969 },
+ { 0x2FE4, 972 },
+ { 0x2FE5, 975 },
+ { 0x2FF6, 978 },
+ { 0x2FF3, 981 },
+ { 0x2FF4, 984 },
+ { 0x2FF1, 987 },
+ { 0x2FFD, 990 },
+ { 0x2FFF, 993 },
+ { 0x2FFA, 996 },
+ { 0x2FFB, 999 },
+ { 0x3003, 1002 },
+ { 0x3005, 1005 },
+ { 0x3000, 1008 },
+ { 0x3001, 1011 },
+ { 0x3287, 1014 },
+ { 0x3284, 1017 },
+ { 0x3285, 1020 },
+ { 0x3291, 1023 },
+ { 0x328F, 1026 },
+ { 0x3331, 1029 },
+ { 0x333D, 1032 },
+ { 0x3339, 1035 },
+ { 0x3340, 1038 },
+ { 0x3346, 1041 },
+ { 0x3282, 1044 },
+ { 0x327F, 1047 },
+ { 0x327C, 1050 },
+ { 0x327D, 1053 },
+ { 0x328E, 1056 },
+ { 0x328B, 1059 },
+ { 0x328C, 1062 },
+ { 0x3289, 1065 },
+ { 0x3295, 1068 },
+ { 0x3297, 1071 },
+ { 0x3292, 1074 },
+ { 0x3293, 1077 },
+ { 0x329B, 1080 },
+ { 0x329D, 1083 },
+ { 0x3298, 1086 },
+ { 0x3299, 1089 },
+ { 0x30D8, 1092 },
+ { 0x30D5, 1095 },
+ { 0x30D6, 1098 },
+ { 0x310D, 1101 },
+ { 0x3117, 1104 },
+ { 0x3106, 1107 },
+ { 0x3114, 1110 },
+ { 0x311B, 1113 },
+ { 0x30E1, 1116 },
+ { 0x30DF, 1119 },
+ { 0x30D3, 1122 },
+ { 0x30D1, 1125 },
+ { 0x30CE, 1128 },
+ { 0x30CF, 1131 },
+ { 0x30DE, 1134 },
+ { 0x30DB, 1137 },
+ { 0x30DC, 1140 },
+ { 0x30DA, 1143 },
+ { 0x30E5, 1146 },
+ { 0x30E7, 1149 },
+ { 0x30E2, 1152 },
+ { 0x30E3, 1155 },
+ { 0x30A2, 1158 },
+ { 0x309F, 1161 },
+ { 0x30A0, 1164 },
+ { 0x309E, 1167 },
+ { 0x309B, 1170 },
+ { 0x309C, 1173 },
+ { 0x30A5, 1176 },
+ { 0x30A3, 1179 },
+ { 0x30A9, 1182 },
+ { 0x30AB, 1185 },
+ { 0x30A6, 1188 },
+ { 0x30A7, 1191 },
+ { 0x30AF, 1194 },
+ { 0x30AC, 1197 },
+ { 0x30AD, 1200 },
+ { 0x31B3, 1203 },
+ { 0x31B0, 1206 },
+ { 0x31B1, 1209 },
+ { 0x31BF, 1212 },
+ { 0x31BC, 1215 },
+ { 0x31BD, 1218 },
+ { 0x31EA, 1221 },
+ { 0x31F6, 1224 },
+ { 0x31E4, 1227 },
+ { 0x31F2, 1230 },
+ { 0x31FA, 1233 },
+ { 0x31AE, 1236 },
+ { 0x31AB, 1239 },
+ { 0x31A8, 1242 },
+ { 0x31A9, 1245 },
+ { 0x31BB, 1248 },
+ { 0x31B8, 1251 },
+ { 0x31B9, 1254 },
+ { 0x31B6, 1257 },
+ { 0x31C3, 1260 },
+ { 0x31C5, 1263 },
+ { 0x31C0, 1266 },
+ { 0x31C1, 1269 },
+ { 0x3242, 1272 },
+ { 0x323F, 1275 },
+ { 0x3240, 1278 },
+ { 0x324D, 1281 },
+ { 0x324B, 1284 },
+ { 0x323E, 1287 },
+ { 0x323C, 1290 },
+ { 0x316E, 1293 },
+ { 0x3177, 1296 },
+ { 0x3167, 1299 },
+ { 0x3174, 1302 },
+ { 0x317B, 1305 },
+ { 0x3181, 1308 },
+ { 0x3068, 1311 },
+ { 0x3061, 1314 },
+ { 0x306F, 1317 },
+ { 0x3073, 1320 },
+ { 0x3078, 1323 },
+ { 0x3140, 1326 },
+ { 0x3148, 1329 },
+ { 0x3138, 1332 },
+ { 0x324A, 1335 },
+ { 0x3247, 1338 },
+ { 0x3248, 1341 },
+ { 0x3245, 1344 },
+ { 0x321E, 1347 },
+ { 0x3229, 1350 },
+ { 0x3216, 1353 },
+ { 0x3226, 1356 },
+ { 0x2FD5, 1359 },
+ { 0x2FD2, 1362 },
+ { 0x2FD3, 1365 },
+ { 0x33B4, 1368 },
+ { 0x33B1, 1371 },
+ { 0x33AE, 1374 },
+ { 0x33AF, 1377 },
+ { 0x33E8, 1380 },
+ { 0x33F3, 1383 },
+ { 0x33F7, 1386 },
+ { 0x33FD, 1389 },
+ { 0x33BD, 1392 },
+ { 0x33BA, 1395 },
+ { 0x33BB, 1398 },
+ { 0x33B8, 1401 },
+ { 0x33C1, 1404 },
+ { 0x33C3, 1407 },
+ { 0x33BE, 1410 },
+ { 0x33BF, 1413 },
+ { 0x33C7, 1416 },
+ { 0x33C9, 1419 },
+ { 0x33C4, 1422 },
+ { 0x33C5, 1425 },
+ { 0x31D0, 1428 },
+ { 0x31CD, 1431 },
+ { 0x31CE, 1434 },
+ { 0x31DB, 1437 },
+ { 0x31D8, 1440 },
+ { 0x31D9, 1443 },
+ { 0x31CB, 1446 },
+ { 0x31C9, 1449 },
+ { 0x31C6, 1452 },
+ { 0x31C7, 1455 },
+ { 0x31D7, 1458 },
+ { 0x31D4, 1461 },
+ { 0x31D5, 1464 },
+ { 0x31D2, 1467 },
+ { 0x31DF, 1470 },
+ { 0x31E1, 1473 },
+ { 0x31DC, 1476 },
+ { 0x31DD, 1479 },
+ { 0x3190, 1482 },
+ { 0x318D, 1485 },
+ { 0x318E, 1488 },
+ { 0x319B, 1491 },
+ { 0x3199, 1494 },
+ { 0x318B, 1497 },
+ { 0x3188, 1500 },
+ { 0x3185, 1503 },
+ { 0x3186, 1506 },
+ { 0x3198, 1509 },
+ { 0x3195, 1512 },
+ { 0x3196, 1515 },
+ { 0x3193, 1518 },
+ { 0x319F, 1521 },
+ { 0x31A1, 1524 },
+ { 0x319C, 1527 },
+ { 0x319D, 1530 },
+ { 0x31A5, 1533 },
+ { 0x31A7, 1536 },
+ { 0x31A2, 1539 },
+ { 0x31A3, 1542 },
+ { 0x3086, 1545 },
+ { 0x3083, 1548 },
+ { 0x3084, 1551 },
+ { 0x308F, 1554 },
+ { 0x3202, 1557 },
+ { 0x320C, 1560 },
+ { 0x3209, 1563 },
+ { 0x3210, 1566 },
+ { 0x3081, 1569 },
+ { 0x307F, 1572 },
+ { 0x307C, 1575 },
+ { 0x307D, 1578 },
+ { 0x308E, 1581 },
+ { 0x308B, 1584 },
+ { 0x308C, 1587 },
+ { 0x3089, 1590 },
+ { 0x3094, 1593 },
+ { 0x3096, 1596 },
+ { 0x3091, 1599 },
+ { 0x3092, 1602 },
+ { 0x309A, 1605 },
+ { 0x3097, 1608 },
+ { 0x3098, 1611 },
+ { 0x3154, 1614 },
+ { 0x3152, 1617 },
+ { 0x304D, 1620 },
+ { 0x3046, 1623 },
+ { 0x3051, 1626 },
+ { 0x3055, 1629 },
+ { 0x305B, 1632 },
+ { 0x3127, 1635 },
+ { 0x312E, 1638 },
+ { 0x3121, 1641 },
+ { 0x312B, 1644 },
+ { 0x3132, 1647 },
+ { 0x315E, 1650 },
+ { 0x315C, 1653 },
+ { 0x3230, 1656 },
+ { 0x323A, 1659 },
+ { 0x3237, 1662 },
+ { 0x3150, 1665 },
+ { 0x314E, 1668 },
+ { 0x314B, 1671 },
+ { 0x314C, 1674 },
+ { 0x3401, 1677 },
+ { 0x340B, 1680 },
+ { 0x340E, 1683 },
+ { 0x3414, 1686 },
+ { 0x315B, 1689 },
+ { 0x3158, 1692 },
+ { 0x3159, 1695 },
+ { 0x3364, 1698 },
+ { 0x336B, 1701 },
+ { 0x3367, 1704 },
+ { 0x336F, 1707 },
+ { 0x3375, 1710 },
+ { 0x3156, 1713 },
+ { 0x3162, 1716 },
+ { 0x3164, 1719 },
+ { 0x315F, 1722 },
+ { 0x3160, 1725 },
+ { 0x341A, 1728 },
+ { 0x3425, 1731 },
+ { 0x3429, 1734 },
+ { 0x32C4, 1737 },
+ { 0x32CB, 1740 },
+ { 0x32BD, 1743 },
+ { 0x32CD, 1746 },
+ { 0x32D3, 1749 },
+ { 0x3010, 1752 },
+ { 0x300D, 1755 },
+ { 0x300E, 1758 },
+ { 0x300B, 1761 },
+ { 0x3009, 1764 },
+ { 0x3006, 1767 },
+ { 0x3007, 1770 },
+ { 0x3017, 1773 },
+ { 0x3014, 1776 },
+ { 0x3015, 1779 },
+ { 0x3012, 1782 },
+ { 0x301B, 1785 },
+ { 0x301D, 1788 },
+ { 0x3018, 1791 },
+ { 0x3019, 1794 },
+ { 0x3021, 1797 },
+ { 0x3023, 1800 },
+ { 0x301E, 1803 },
+ { 0x301F, 1806 },
+ { 0x33D0, 1809 },
+ { 0x33CD, 1812 },
+ { 0x33CA, 1815 },
+ { 0x33CB, 1818 },
+ { 0x33D9, 1821 },
+ { 0x33D6, 1824 },
+ { 0x33D7, 1827 },
+ { 0x33D4, 1830 },
+ { 0x33DD, 1833 },
+ { 0x33DF, 1836 },
+ { 0x33DA, 1839 },
+ { 0x33DB, 1842 },
+ { 0x33E3, 1845 },
+ { 0x33E5, 1848 },
+ { 0x33E0, 1851 },
+ { 0x33E1, 1854 },
+ { 0x3397, 1857 },
+ { 0x3394, 1860 },
+ { 0x3395, 1863 },
+ { 0x33A1, 1866 },
+ { 0x339F, 1869 },
+ { 0x339E, 1872 },
+ { 0x339B, 1875 },
+ { 0x339C, 1878 },
+ { 0x334B, 1881 },
+ { 0x3354, 1884 },
+ { 0x3350, 1887 },
+ { 0x3358, 1890 },
+ { 0x335E, 1893 },
+ { 0x3399, 1896 },
+ { 0x33A5, 1899 },
+ { 0x33A7, 1902 },
+ { 0x33A2, 1905 },
+ { 0x33A3, 1908 },
+ { 0x33AB, 1911 },
+ { 0x33AD, 1914 },
+ { 0x33A8, 1917 },
+ { 0x33A9, 1920 },
+ { 0x32E1, 1923 },
+ { 0x32DE, 1926 },
+ { 0x32DF, 1929 },
+ { 0x32EB, 1932 },
+ { 0x32E9, 1935 },
+ { 0x337B, 1938 },
+ { 0x3386, 1941 },
+ { 0x3382, 1944 },
+ { 0x338A, 1947 },
+ { 0x3390, 1950 },
+ { 0x32DC, 1953 },
+ { 0x32DA, 1956 },
+ { 0x32D7, 1959 },
+ { 0x32D8, 1962 },
+ { 0x32E8, 1965 },
+ { 0x32E5, 1968 },
+ { 0x32E6, 1971 },
+ { 0x3301, 1974 },
+ { 0x3308, 1977 },
+ { 0x32FA, 1980 },
+ { 0x3305, 1983 },
+ { 0x330C, 1986 },
+ { 0x3310, 1989 },
+ { 0x32E3, 1992 },
+ { 0x32EF, 1995 },
+ { 0x32F1, 1998 },
+ { 0x32EC, 2001 },
+ { 0x32ED, 2004 },
+ { 0x32F5, 2007 },
+ { 0x32F7, 2010 },
+ { 0x32F2, 2013 },
+ { 0x32F3, 2016 },
+ { 0x30F2, 2019 },
+ { 0x30EF, 2022 },
+ { 0x30F0, 2025 },
+ { 0x30FD, 2028 },
+ { 0x30FB, 2031 },
+ { 0x30ED, 2034 },
+ { 0x30EB, 2037 },
+ { 0x30E8, 2040 },
+ { 0x30E9, 2043 },
+ { 0x30FA, 2046 },
+ { 0x30F7, 2049 },
+ { 0x30F8, 2052 },
+ { 0x30F5, 2055 },
+ { 0x3101, 2058 },
+ { 0x3103, 2061 },
+ { 0x30FE, 2064 },
+ { 0x30FF, 2067 },
+ { 0x2FDC, 2070 },
+ { 0x2FDA, 2073 },
+ { 0x30BB, 2076 },
+ { 0x30B8, 2079 },
+ { 0x30B9, 2082 },
+ { 0x30C1, 2085 },
+ { 0x30C0, 2088 },
+ { 0x30B6, 2091 },
+ { 0x30B3, 2094 },
+ { 0x30B0, 2097 },
+ { 0x30B1, 2100 },
+ { 0x30BF, 2103 },
+ { 0x30BC, 2106 },
+ { 0x30BD, 2109 },
+ { 0x30C5, 2112 },
+ { 0x30C7, 2115 },
+ { 0x30C2, 2118 },
+ { 0x30C3, 2121 },
+ { 0x30CB, 2124 },
+ { 0x30CD, 2127 },
+ { 0x30C8, 2130 },
+ { 0x30C9, 2133 },
+ { 0x3251, 2136 },
+ { 0x324E, 2139 },
+ { 0x324F, 2142 },
+ { 0x325A, 2145 },
+ { 0x3258, 2148 },
+ { 0x3257, 2151 },
+ { 0x3255, 2154 },
+ { 0x3253, 2157 },
+ { 0x3431, 2160 },
+ { 0x342E, 2163 },
+ { 0x342B, 2166 },
+ { 0x342C, 2169 },
+ { 0x3438, 2172 },
+ { 0x3435, 2175 },
+ { 0x3436, 2178 },
+ { 0x3434, 2181 },
+ { 0x343C, 2184 },
+ { 0x343E, 2187 },
+ { 0x3439, 2190 },
+ { 0x343A, 2193 },
+ { 0x3445, 2196 },
+ { 0x3442, 2199 },
+ { 0x343F, 2202 },
+ { 0x3440, 2205 },
+ { 0x344E, 2208 },
+ { 0x344B, 2211 },
+ { 0x344C, 2214 },
+ { 0x3449, 2217 },
+ { 0x3452, 2220 },
+ { 0x3454, 2223 },
+ { 0x344F, 2226 },
+ { 0x3450, 2229 },
+ { 0x3458, 2232 },
+ { 0x345A, 2235 },
+ { 0x3455, 2238 },
+ { 0x3456, 2241 },
+ { 0x3265, 2244 },
+ { 0x3262, 2247 },
+ { 0x3263, 2250 },
+ { 0x326F, 2253 },
+ { 0x326D, 2256 },
+ { 0x3316, 2259 },
+ { 0x3321, 2262 },
+ { 0x331D, 2265 },
+ { 0x3325, 2268 },
+ { 0x332B, 2271 },
+ { 0x3260, 2274 },
+ { 0x325E, 2277 },
+ { 0x325B, 2280 },
+ { 0x325C, 2283 },
+ { 0x326C, 2286 },
+ { 0x3269, 2289 },
+ { 0x326A, 2292 },
+ { 0x3267, 2295 },
+ { 0x3273, 2298 },
+ { 0x3275, 2301 },
+ { 0x3270, 2304 },
+ { 0x3271, 2307 },
+ { 0x3279, 2310 },
+ { 0x327B, 2313 },
+ { 0x3276, 2316 },
+ { 0x3277, 2319 },
+ { 0x32A8, 2322 },
+ { 0x32AE, 2325 },
+ { 0x32A0, 2328 },
+ { 0x32AB, 2331 },
+ { 0x32B1, 2334 },
+ { 0x32B7, 2337 },
+ { 0x302F, 2340 },
+ { 0x302C, 2343 },
+ { 0x302D, 2346 },
+ { 0x3039, 2349 },
+ { 0x3037, 2352 },
+ { 0x302A, 2355 },
+ { 0x3027, 2358 },
+ { 0x3024, 2361 },
+ { 0x3025, 2364 },
+ { 0x3036, 2367 },
+ { 0x3033, 2370 },
+ { 0x3034, 2373 },
+ { 0x3031, 2376 },
+ { 0x303D, 2379 },
+ { 0x303F, 2382 },
+ { 0x303A, 2385 },
+ { 0x303B, 2388 },
+ { 0x3043, 2391 },
+ { 0x3040, 2394 },
+ { 0x3041, 2397 },
+ { 0x2FEB, 2400 },
+ { 0x2FE8, 2403 },
+ { 0x2FE9, 2406 },
+ { 0x2FF2, 2409 },
+ { 0x2FF0, 2412 },
+ { 0x2FFE, 2415 },
+ { 0x3004, 2418 },
+ { 0x3332, 2421 },
+ { 0x332F, 2424 },
+ { 0x3330, 2427 },
+ { 0x333E, 2430 },
+ { 0x333B, 2433 },
+ { 0x333C, 2436 },
+ { 0x333A, 2439 },
+ { 0x3337, 2442 },
+ { 0x3338, 2445 },
+ { 0x3335, 2448 },
+ { 0x3341, 2451 },
+ { 0x3343, 2454 },
+ { 0x333F, 2457 },
+ { 0x3347, 2460 },
+ { 0x3349, 2463 },
+ { 0x3344, 2466 },
+ { 0x3345, 2469 },
+ { 0x3283, 2472 },
+ { 0x3280, 2475 },
+ { 0x3281, 2478 },
+ { 0x328A, 2481 },
+ { 0x3288, 2484 },
+ { 0x3296, 2487 },
+ { 0x329C, 2490 },
+ { 0x310E, 2493 },
+ { 0x310B, 2496 },
+ { 0x310C, 2499 },
+ { 0x3118, 2502 },
+ { 0x3116, 2505 },
+ { 0x3109, 2508 },
+ { 0x3107, 2511 },
+ { 0x3104, 2514 },
+ { 0x3105, 2517 },
+ { 0x3115, 2520 },
+ { 0x3112, 2523 },
+ { 0x3113, 2526 },
+ { 0x3110, 2529 },
+ { 0x311C, 2532 },
+ { 0x311E, 2535 },
+ { 0x3119, 2538 },
+ { 0x311A, 2541 },
+ { 0x30D4, 2544 },
+ { 0x30D2, 2547 },
+ { 0x30D9, 2550 },
+ { 0x30E6, 2553 },
+ { 0x30AA, 2556 },
+ { 0x31EB, 2559 },
+ { 0x31E8, 2562 },
+ { 0x31E9, 2565 },
+ { 0x31F7, 2568 },
+ { 0x31F4, 2571 },
+ { 0x31F5, 2574 },
+ { 0x31E6, 2577 },
+ { 0x31E2, 2580 },
+ { 0x31E3, 2583 },
+ { 0x31F3, 2586 },
+ { 0x31F0, 2589 },
+ { 0x31F1, 2592 },
+ { 0x31EE, 2595 },
+ { 0x31FB, 2598 },
+ { 0x31FD, 2601 },
+ { 0x31F8, 2604 },
+ { 0x31F9, 2607 },
+ { 0x31AF, 2610 },
+ { 0x31AC, 2613 },
+ { 0x31AD, 2616 },
+ { 0x31B7, 2619 },
+ { 0x31B4, 2622 },
+ { 0x31B5, 2625 },
+ { 0x31C4, 2628 },
+ { 0x323D, 2631 },
+ { 0x316F, 2634 },
+ { 0x316C, 2637 },
+ { 0x316D, 2640 },
+ { 0x3178, 2643 },
+ { 0x3176, 2646 },
+ { 0x316A, 2649 },
+ { 0x3168, 2652 },
+ { 0x3165, 2655 },
+ { 0x3166, 2658 },
+ { 0x3175, 2661 },
+ { 0x3173, 2664 },
+ { 0x3171, 2667 },
+ { 0x317C, 2670 },
+ { 0x317E, 2673 },
+ { 0x3179, 2676 },
+ { 0x317A, 2679 },
+ { 0x3182, 2682 },
+ { 0x3184, 2685 },
+ { 0x317F, 2688 },
+ { 0x3180, 2691 },
+ { 0x3069, 2694 },
+ { 0x3066, 2697 },
+ { 0x3067, 2700 },
+ { 0x3064, 2703 },
+ { 0x3062, 2706 },
+ { 0x305F, 2709 },
+ { 0x3060, 2712 },
+ { 0x3070, 2715 },
+ { 0x306D, 2718 },
+ { 0x306E, 2721 },
+ { 0x306B, 2724 },
+ { 0x3074, 2727 },
+ { 0x3076, 2730 },
+ { 0x3071, 2733 },
+ { 0x3072, 2736 },
+ { 0x3079, 2739 },
+ { 0x307B, 2742 },
+ { 0x3077, 2745 },
+ { 0x3141, 2748 },
+ { 0x313E, 2751 },
+ { 0x313F, 2754 },
+ { 0x3149, 2757 },
+ { 0x3147, 2760 },
+ { 0x313C, 2763 },
+ { 0x3139, 2766 },
+ { 0x3136, 2769 },
+ { 0x3137, 2772 },
+ { 0x3146, 2775 },
+ { 0x3144, 2778 },
+ { 0x3145, 2781 },
+ { 0x3143, 2784 },
+ { 0x314A, 2787 },
+ { 0x3246, 2790 },
+ { 0x3243, 2793 },
+ { 0x3244, 2796 },
+ { 0x321F, 2799 },
+ { 0x321C, 2802 },
+ { 0x321D, 2805 },
+ { 0x322A, 2808 },
+ { 0x3228, 2811 },
+ { 0x321A, 2814 },
+ { 0x3217, 2817 },
+ { 0x3214, 2820 },
+ { 0x3215, 2823 },
+ { 0x3227, 2826 },
+ { 0x3224, 2829 },
+ { 0x3225, 2832 },
+ { 0x3222, 2835 },
+ { 0x33B5, 2838 },
+ { 0x33B2, 2841 },
+ { 0x33B3, 2844 },
+ { 0x33EC, 2847 },
+ { 0x33E9, 2850 },
+ { 0x33E6, 2853 },
+ { 0x33E7, 2856 },
+ { 0x33F4, 2859 },
+ { 0x33F1, 2862 },
+ { 0x33F2, 2865 },
+ { 0x33EF, 2868 },
+ { 0x33F8, 2871 },
+ { 0x33FA, 2874 },
+ { 0x33F5, 2877 },
+ { 0x33F6, 2880 },
+ { 0x33FE, 2883 },
+ { 0x33FB, 2886 },
+ { 0x33FC, 2889 },
+ { 0x33B9, 2892 },
+ { 0x33B6, 2895 },
+ { 0x33B7, 2898 },
+ { 0x33C2, 2901 },
+ { 0x33C8, 2904 },
+ { 0x31CC, 2907 },
+ { 0x31CA, 2910 },
+ { 0x31D3, 2913 },
+ { 0x31D1, 2916 },
+ { 0x31E0, 2919 },
+ { 0x318C, 2922 },
+ { 0x3189, 2925 },
+ { 0x318A, 2928 },
+ { 0x3194, 2931 },
+ { 0x3191, 2934 },
+ { 0x3192, 2937 },
+ { 0x31A0, 2940 },
+ { 0x31A6, 2943 },
+ { 0x3203, 2946 },
+ { 0x3200, 2949 },
+ { 0x3201, 2952 },
+ { 0x320D, 2955 },
+ { 0x320B, 2958 },
+ { 0x31FF, 2961 },
+ { 0x320A, 2964 },
+ { 0x3207, 2967 },
+ { 0x3208, 2970 },
+ { 0x3205, 2973 },
+ { 0x3211, 2976 },
+ { 0x3213, 2979 },
+ { 0x320E, 2982 },
+ { 0x320F, 2985 },
+ { 0x3082, 2988 },
+ { 0x3080, 2991 },
+ { 0x308A, 2994 },
+ { 0x3087, 2997 },
+ { 0x3088, 3000 },
+ { 0x3095, 3003 },
+ { 0x304E, 3006 },
+ { 0x304B, 3009 },
+ { 0x304C, 3012 },
+ { 0x3049, 3015 },
+ { 0x3047, 3018 },
+ { 0x3044, 3021 },
+ { 0x3045, 3024 },
+ { 0x3052, 3027 },
+ { 0x304F, 3030 },
+ { 0x3050, 3033 },
+ { 0x3056, 3036 },
+ { 0x3058, 3039 },
+ { 0x3053, 3042 },
+ { 0x3054, 3045 },
+ { 0x305C, 3048 },
+ { 0x305E, 3051 },
+ { 0x3059, 3054 },
+ { 0x305A, 3057 },
+ { 0x3128, 3060 },
+ { 0x3125, 3063 },
+ { 0x3126, 3066 },
+ { 0x312F, 3069 },
+ { 0x312D, 3072 },
+ { 0x3124, 3075 },
+ { 0x3122, 3078 },
+ { 0x311F, 3081 },
+ { 0x3120, 3084 },
+ { 0x312C, 3087 },
+ { 0x3129, 3090 },
+ { 0x312A, 3093 },
+ { 0x3133, 3096 },
+ { 0x3135, 3099 },
+ { 0x3130, 3102 },
+ { 0x3131, 3105 },
+ { 0x3231, 3108 },
+ { 0x322E, 3111 },
+ { 0x322F, 3114 },
+ { 0x323B, 3117 },
+ { 0x3239, 3120 },
+ { 0x322C, 3123 },
+ { 0x3238, 3126 },
+ { 0x3235, 3129 },
+ { 0x3236, 3132 },
+ { 0x3234, 3135 },
+ { 0x3151, 3138 },
+ { 0x314F, 3141 },
+ { 0x3405, 3144 },
+ { 0x3402, 3147 },
+ { 0x33FF, 3150 },
+ { 0x3400, 3153 },
+ { 0x340C, 3156 },
+ { 0x3409, 3159 },
+ { 0x340A, 3162 },
+ { 0x3408, 3165 },
+ { 0x340F, 3168 },
+ { 0x3411, 3171 },
+ { 0x340D, 3174 },
+ { 0x3415, 3177 },
+ { 0x3417, 3180 },
+ { 0x3412, 3183 },
+ { 0x3413, 3186 },
+ { 0x3365, 3189 },
+ { 0x3362, 3192 },
+ { 0x3363, 3195 },
+ { 0x336C, 3198 },
+ { 0x3369, 3201 },
+ { 0x336A, 3204 },
+ { 0x3368, 3207 },
+ { 0x3366, 3210 },
+ { 0x3370, 3213 },
+ { 0x3372, 3216 },
+ { 0x336D, 3219 },
+ { 0x336E, 3222 },
+ { 0x3376, 3225 },
+ { 0x3378, 3228 },
+ { 0x3373, 3231 },
+ { 0x3374, 3234 },
+ { 0x3157, 3237 },
+ { 0x3155, 3240 },
+ { 0x3163, 3243 },
+ { 0x341E, 3246 },
+ { 0x341B, 3249 },
+ { 0x3418, 3252 },
+ { 0x3419, 3255 },
+ { 0x3426, 3258 },
+ { 0x3423, 3261 },
+ { 0x3424, 3264 },
+ { 0x3421, 3267 },
+ { 0x342A, 3270 },
+ { 0x3427, 3273 },
+ { 0x3428, 3276 },
+ { 0x32C5, 3279 },
+ { 0x32C2, 3282 },
+ { 0x32C3, 3285 },
+ { 0x32CA, 3288 },
+ { 0x32C0, 3291 },
+ { 0x32BE, 3294 },
+ { 0x32BB, 3297 },
+ { 0x32BC, 3300 },
+ { 0x32C9, 3303 },
+ { 0x32C8, 3306 },
+ { 0x32C7, 3309 },
+ { 0x32CE, 3312 },
+ { 0x32D0, 3315 },
+ { 0x32CC, 3318 },
+ { 0x32D4, 3321 },
+ { 0x32D6, 3324 },
+ { 0x32D1, 3327 },
+ { 0x32D2, 3330 },
+ { 0x300C, 3333 },
+ { 0x300A, 3336 },
+ { 0x3013, 3339 },
+ { 0x3011, 3342 },
+ { 0x301C, 3345 },
+ { 0x3022, 3348 },
+ { 0x33D1, 3351 },
+ { 0x33CE, 3354 },
+ { 0x33CF, 3357 },
+ { 0x33D5, 3360 },
+ { 0x33D2, 3363 },
+ { 0x33D3, 3366 },
+ { 0x33DE, 3369 },
+ { 0x33E4, 3372 },
+ { 0x334A, 3375 },
+ { 0x3355, 3378 },
+ { 0x3352, 3381 },
+ { 0x3353, 3384 },
+ { 0x3351, 3387 },
+ { 0x334E, 3390 },
+ { 0x334F, 3393 },
+ { 0x334D, 3396 },
+ { 0x3359, 3399 },
+ { 0x335B, 3402 },
+ { 0x3356, 3405 },
+ { 0x3357, 3408 },
+ { 0x335F, 3411 },
+ { 0x3361, 3414 },
+ { 0x335C, 3417 },
+ { 0x335D, 3420 },
+ { 0x339A, 3423 },
+ { 0x3398, 3426 },
+ { 0x33A6, 3429 },
+ { 0x33AC, 3432 },
+ { 0x337C, 3435 },
+ { 0x3379, 3438 },
+ { 0x337A, 3441 },
+ { 0x3387, 3444 },
+ { 0x3384, 3447 },
+ { 0x3385, 3450 },
+ { 0x3383, 3453 },
+ { 0x3380, 3456 },
+ { 0x3381, 3459 },
+ { 0x337E, 3462 },
+ { 0x338B, 3465 },
+ { 0x338D, 3468 },
+ { 0x3388, 3471 },
+ { 0x3389, 3474 },
+ { 0x3391, 3477 },
+ { 0x3393, 3480 },
+ { 0x338E, 3483 },
+ { 0x338F, 3486 },
+ { 0x32DD, 3489 },
+ { 0x32DB, 3492 },
+ { 0x3302, 3495 },
+ { 0x32FF, 3498 },
+ { 0x3300, 3501 },
+ { 0x3309, 3504 },
+ { 0x3307, 3507 },
+ { 0x32FD, 3510 },
+ { 0x32FB, 3513 },
+ { 0x32F8, 3516 },
+ { 0x32F9, 3519 },
+ { 0x3306, 3522 },
+ { 0x3303, 3525 },
+ { 0x3304, 3528 },
+ { 0x330D, 3531 },
+ { 0x330A, 3534 },
+ { 0x330B, 3537 },
+ { 0x3311, 3540 },
+ { 0x3313, 3543 },
+ { 0x330E, 3546 },
+ { 0x330F, 3549 },
+ { 0x32E4, 3552 },
+ { 0x32E2, 3555 },
+ { 0x32F0, 3558 },
+ { 0x32F6, 3561 },
+ { 0x30EE, 3564 },
+ { 0x30EC, 3567 },
+ { 0x30F6, 3570 },
+ { 0x30F3, 3573 },
+ { 0x30F4, 3576 },
+ { 0x3102, 3579 },
+ { 0x30B7, 3582 },
+ { 0x30B4, 3585 },
+ { 0x30B5, 3588 },
+ { 0x30C6, 3591 },
+ { 0x30CC, 3594 },
+ { 0x3254, 3597 },
+ { 0x3252, 3600 },
+ { 0x3432, 3603 },
+ { 0x342F, 3606 },
+ { 0x3430, 3609 },
+ { 0x3433, 3612 },
+ { 0x343D, 3615 },
+ { 0x3446, 3618 },
+ { 0x3443, 3621 },
+ { 0x3444, 3624 },
+ { 0x344A, 3627 },
+ { 0x3447, 3630 },
+ { 0x3448, 3633 },
+ { 0x3453, 3636 },
+ { 0x3459, 3639 },
+ { 0x3317, 3642 },
+ { 0x3314, 3645 },
+ { 0x3315, 3648 },
+ { 0x3322, 3651 },
+ { 0x331F, 3654 },
+ { 0x3320, 3657 },
+ { 0x331E, 3660 },
+ { 0x331B, 3663 },
+ { 0x331C, 3666 },
+ { 0x3319, 3669 },
+ { 0x3326, 3672 },
+ { 0x3328, 3675 },
+ { 0x3323, 3678 },
+ { 0x3324, 3681 },
+ { 0x332C, 3684 },
+ { 0x332E, 3687 },
+ { 0x3329, 3690 },
+ { 0x332A, 3693 },
+ { 0x3261, 3696 },
+ { 0x325F, 3699 },
+ { 0x3268, 3702 },
+ { 0x3266, 3705 },
+ { 0x3274, 3708 },
+ { 0x327A, 3711 },
+ { 0x32A9, 3714 },
+ { 0x32A6, 3717 },
+ { 0x32A7, 3720 },
+ { 0x32AF, 3723 },
+ { 0x32AD, 3726 },
+ { 0x32A4, 3729 },
+ { 0x32A1, 3732 },
+ { 0x329E, 3735 },
+ { 0x329F, 3738 },
+ { 0x32AC, 3741 },
+ { 0x32AA, 3744 },
+ { 0x32B2, 3747 },
+ { 0x32B4, 3750 },
+ { 0x32B0, 3753 },
+ { 0x32B8, 3756 },
+ { 0x32BA, 3759 },
+ { 0x32B5, 3762 },
+ { 0x32B6, 3765 },
+ { 0x302B, 3768 },
+ { 0x3028, 3771 },
+ { 0x3029, 3774 },
+ { 0x3032, 3777 },
+ { 0x3030, 3780 },
+ { 0x303E, 3783 },
+ { 0x3336, 3786 },
+ { 0x3333, 3789 },
+ { 0x3334, 3792 },
+ { 0x3342, 3795 },
+ { 0x3348, 3798 },
+ { 0x310A, 3801 },
+ { 0x3108, 3804 },
+ { 0x3111, 3807 },
+ { 0x310F, 3810 },
+ { 0x311D, 3813 },
+ { 0x31E7, 3816 },
+ { 0x31E5, 3819 },
+ { 0x31EF, 3822 },
+ { 0x31EC, 3825 },
+ { 0x31ED, 3828 },
+ { 0x31FC, 3831 },
+ { 0x316B, 3834 },
+ { 0x3169, 3837 },
+ { 0x3172, 3840 },
+ { 0x3170, 3843 },
+ { 0x317D, 3846 },
+ { 0x3183, 3849 },
+ { 0x3065, 3852 },
+ { 0x3063, 3855 },
+ { 0x306C, 3858 },
+ { 0x306A, 3861 },
+ { 0x3075, 3864 },
+ { 0x307A, 3867 },
+ { 0x313D, 3870 },
+ { 0x313A, 3873 },
+ { 0x313B, 3876 },
+ { 0x3142, 3879 },
+ { 0x321B, 3882 },
+ { 0x3218, 3885 },
+ { 0x3219, 3888 },
+ { 0x3223, 3891 },
+ { 0x3220, 3894 },
+ { 0x3221, 3897 },
+ { 0x33ED, 3900 },
+ { 0x33EA, 3903 },
+ { 0x33EB, 3906 },
+ { 0x33F0, 3909 },
+ { 0x33EE, 3912 },
+ { 0x33F9, 3915 },
+ { 0x31FE, 3918 },
+ { 0x3206, 3921 },
+ { 0x3204, 3924 },
+ { 0x3212, 3927 },
+ { 0x304A, 3930 },
+ { 0x3048, 3933 },
+ { 0x3057, 3936 },
+ { 0x305D, 3939 },
+ { 0x3123, 3942 },
+ { 0x3134, 3945 },
+ { 0x322D, 3948 },
+ { 0x322B, 3951 },
+ { 0x3232, 3954 },
+ { 0x3233, 3957 },
+ { 0x3406, 3960 },
+ { 0x3403, 3963 },
+ { 0x3404, 3966 },
+ { 0x3407, 3969 },
+ { 0x3410, 3972 },
+ { 0x3416, 3975 },
+ { 0x3371, 3978 },
+ { 0x3377, 3981 },
+ { 0x341F, 3984 },
+ { 0x341C, 3987 },
+ { 0x341D, 3990 },
+ { 0x3422, 3993 },
+ { 0x3420, 3996 },
+ { 0x32C1, 3999 },
+ { 0x32BF, 4002 },
+ { 0x32C6, 4005 },
+ { 0x32CF, 4008 },
+ { 0x32D5, 4011 },
+ { 0x334C, 4014 },
+ { 0x335A, 4017 },
+ { 0x3360, 4020 },
+ { 0x337F, 4023 },
+ { 0x337D, 4026 },
+ { 0x338C, 4029 },
+ { 0x3392, 4032 },
+ { 0x32FE, 4035 },
+ { 0x32FC, 4038 },
+ { 0x3312, 4041 },
+ { 0x331A, 4044 },
+ { 0x3318, 4047 },
+ { 0x3327, 4050 },
+ { 0x332D, 4053 },
+ { 0x32A5, 4056 },
+ { 0x32A2, 4059 },
+ { 0x32A3, 4062 },
+ { 0x32B3, 4065 },
+ { 0x32B9, 4068 },
+ { 0x2FE3, 4071 },
{ 0x224F, 4075 },
{ 0x1E9D, 4077 },
{ 0x1F7F, 4080 },
{ 0x05B5, 4082 },
{ 0x23F4, 4083 },
- { 0x7BC1, 4086 },
+ { 0x7BC6, 4086 },
{ 0x1FAE, 4087 },
{ 0x1FA6, 4093 },
{ 0x1FA2, 4099 },
@@ -48898,16 +48905,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F97, 4437 },
{ 0x1FBA, 4442 },
{ 0x1F63, 4447 },
- { 0x818F, 4448 },
- { 0x8110, 4449 },
- { 0x7C6F, 4452 },
- { 0x809B, 4454 },
- { 0x7E74, 4455 },
+ { 0x8194, 4448 },
+ { 0x8115, 4449 },
+ { 0x7C74, 4452 },
+ { 0x80A0, 4454 },
+ { 0x7E79, 4455 },
{ 0x1D8B, 4456 },
{ 0x261C, 4458 },
{ 0x261B, 4461 },
- { 0x3EE3, 4463 },
- { 0x7B9E, 4464 },
+ { 0x3EE8, 4463 },
+ { 0x7BA3, 4464 },
{ 0x2163, 4467 },
{ 0x2149, 4475 },
{ 0x213D, 4483 },
@@ -48998,21 +49005,21 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2196, 5043 },
{ 0x2195, 5048 },
{ 0x2194, 5057 },
- { 0x8280, 5066 },
- { 0x8284, 5075 },
- { 0x828B, 5087 },
- { 0x8288, 5102 },
- { 0x8281, 5117 },
- { 0x8285, 5126 },
- { 0x828A, 5138 },
- { 0x8289, 5153 },
- { 0x8282, 5168 },
- { 0x8286, 5177 },
- { 0x8287, 5189 },
- { 0x828C, 5201 },
- { 0x8283, 5216 },
- { 0x828D, 5225 },
- { 0x828E, 5240 },
+ { 0x8285, 5066 },
+ { 0x8289, 5075 },
+ { 0x8290, 5087 },
+ { 0x828D, 5102 },
+ { 0x8286, 5117 },
+ { 0x828A, 5126 },
+ { 0x828F, 5138 },
+ { 0x828E, 5153 },
+ { 0x8287, 5168 },
+ { 0x828B, 5177 },
+ { 0x828C, 5189 },
+ { 0x8291, 5201 },
+ { 0x8288, 5216 },
+ { 0x8292, 5225 },
+ { 0x8293, 5240 },
{ 0x2125, 5245 },
{ 0x2147, 5249 },
{ 0x213F, 5255 },
@@ -49020,7 +49027,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x212D, 5267 },
{ 0x212B, 5273 },
{ 0x2123, 5279 },
- { 0x828F, 5283 },
+ { 0x8294, 5283 },
{ 0x2167, 5290 },
{ 0x2169, 5299 },
{ 0x2159, 5308 },
@@ -49052,53 +49059,53 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2184, 5481 },
{ 0x2181, 5488 },
{ 0x218D, 5495 },
- { 0x7C0B, 5502 },
- { 0x7BC0, 5503 },
- { 0x7E31, 5504 },
- { 0x7E34, 5505 },
+ { 0x7C10, 5502 },
+ { 0x7BC5, 5503 },
+ { 0x7E36, 5504 },
+ { 0x7E39, 5505 },
{ 0x22F3, 5507 },
- { 0x7BAD, 5509 },
- { 0x7BD6, 5510 },
- { 0x7DE1, 5512 },
- { 0x7DDE, 5517 },
+ { 0x7BB2, 5509 },
+ { 0x7BDB, 5510 },
+ { 0x7DE6, 5512 },
+ { 0x7DE3, 5517 },
{ 0x030E, 5523 },
{ 0x224A, 5524 },
- { 0x2D6A, 5526 },
- { 0x2D66, 5529 },
- { 0x2D65, 5532 },
- { 0x2D68, 5535 },
- { 0x2D79, 5538 },
- { 0x2D67, 5541 },
- { 0x2D56, 5544 },
- { 0x2D6C, 5547 },
- { 0x2D5D, 5550 },
- { 0x2D6B, 5553 },
- { 0x2D71, 5556 },
- { 0x2D78, 5559 },
- { 0x2D72, 5562 },
- { 0x2D70, 5565 },
- { 0x2D69, 5568 },
- { 0x2D6F, 5571 },
- { 0x2D5A, 5574 },
- { 0x2D6D, 5577 },
- { 0x2D73, 5580 },
- { 0x2D57, 5583 },
- { 0x2D58, 5586 },
- { 0x2D59, 5589 },
- { 0x2D5C, 5592 },
- { 0x2D60, 5595 },
- { 0x2D63, 5598 },
- { 0x2D5B, 5601 },
- { 0x2D75, 5604 },
- { 0x2D6E, 5607 },
- { 0x2D74, 5610 },
- { 0x2D62, 5613 },
- { 0x2D76, 5616 },
- { 0x2D5E, 5619 },
- { 0x2D61, 5622 },
- { 0x2D64, 5625 },
- { 0x2D5F, 5628 },
- { 0x2D77, 5631 },
+ { 0x2D6E, 5526 },
+ { 0x2D6A, 5529 },
+ { 0x2D69, 5532 },
+ { 0x2D6C, 5535 },
+ { 0x2D7D, 5538 },
+ { 0x2D6B, 5541 },
+ { 0x2D5A, 5544 },
+ { 0x2D70, 5547 },
+ { 0x2D61, 5550 },
+ { 0x2D6F, 5553 },
+ { 0x2D75, 5556 },
+ { 0x2D7C, 5559 },
+ { 0x2D76, 5562 },
+ { 0x2D74, 5565 },
+ { 0x2D6D, 5568 },
+ { 0x2D73, 5571 },
+ { 0x2D5E, 5574 },
+ { 0x2D71, 5577 },
+ { 0x2D77, 5580 },
+ { 0x2D5B, 5583 },
+ { 0x2D5C, 5586 },
+ { 0x2D5D, 5589 },
+ { 0x2D60, 5592 },
+ { 0x2D64, 5595 },
+ { 0x2D67, 5598 },
+ { 0x2D5F, 5601 },
+ { 0x2D79, 5604 },
+ { 0x2D72, 5607 },
+ { 0x2D78, 5610 },
+ { 0x2D66, 5613 },
+ { 0x2D7A, 5616 },
+ { 0x2D62, 5619 },
+ { 0x2D65, 5622 },
+ { 0x2D68, 5625 },
+ { 0x2D63, 5628 },
+ { 0x2D7B, 5631 },
{ 0x2A51, 5634 },
{ 0x2A71, 5637 },
{ 0x2A72, 5640 },
@@ -49214,61 +49221,61 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2AB7, 6044 },
{ 0x2AB9, 6048 },
{ 0x2ABC, 6052 },
- { 0x3B4D, 6056 },
- { 0x3B4E, 6059 },
- { 0x3B4F, 6062 },
- { 0x3B50, 6065 },
- { 0x3B51, 6068 },
- { 0x7BA9, 6071 },
- { 0x7BD3, 6072 },
+ { 0x3B52, 6056 },
+ { 0x3B53, 6059 },
+ { 0x3B54, 6062 },
+ { 0x3B55, 6065 },
+ { 0x3B56, 6068 },
+ { 0x7BAE, 6071 },
+ { 0x7BD8, 6072 },
{ 0x2321, 6074 },
- { 0x8078, 6078 },
- { 0x807D, 6081 },
+ { 0x807D, 6078 },
+ { 0x8082, 6081 },
{ 0x22A3, 6084 },
{ 0x22A4, 6086 },
{ 0x22A5, 6088 },
{ 0x22A6, 6090 },
{ 0x22A7, 6092 },
{ 0x22A8, 6094 },
- { 0x8100, 6096 },
- { 0x7BBA, 6099 },
- { 0x7BDB, 6100 },
+ { 0x8105, 6096 },
+ { 0x7BBF, 6099 },
+ { 0x7BE0, 6100 },
{ 0x1E65, 6102 },
{ 0x0298, 6104 },
{ 0x1E89, 6106 },
{ 0x1F16, 6108 },
- { 0x7C65, 6110 },
- { 0x7BE7, 6111 },
- { 0x7AE3, 6112 },
- { 0x7AE2, 6115 },
- { 0x80CF, 6118 },
- { 0x806E, 6122 },
- { 0x80F1, 6123 },
+ { 0x7C6A, 6110 },
+ { 0x7BEC, 6111 },
+ { 0x7AE8, 6112 },
+ { 0x7AE7, 6115 },
+ { 0x80D4, 6118 },
+ { 0x8073, 6122 },
+ { 0x80F6, 6123 },
{ 0x1E5F, 6124 },
- { 0x7CBF, 6127 },
- { 0x7BE6, 6132 },
- { 0x7D5C, 6133 },
- { 0x7C85, 6135 },
- { 0x81AC, 6137 },
- { 0x7AD0, 6138 },
+ { 0x7CC4, 6127 },
+ { 0x7BEB, 6132 },
+ { 0x7D61, 6133 },
+ { 0x7C8A, 6135 },
+ { 0x81B1, 6137 },
+ { 0x7AD5, 6138 },
{ 0x1E51, 6139 },
- { 0x809E, 6141 },
+ { 0x80A3, 6141 },
{ 0x1CE1, 6143 },
- { 0x7C33, 6144 },
- { 0x7AD2, 6146 },
- { 0x7ADB, 6148 },
+ { 0x7C38, 6144 },
+ { 0x7AD7, 6146 },
+ { 0x7AE0, 6148 },
{ 0x228B, 6150 },
{ 0x2238, 6152 },
- { 0x7E7B, 6154 },
- { 0x80DE, 6155 },
- { 0x7B0D, 6157 },
+ { 0x7E80, 6154 },
+ { 0x80E3, 6155 },
+ { 0x7B12, 6157 },
{ 0x231B, 6159 },
- { 0x7B77, 6161 },
- { 0x7C24, 6166 },
- { 0x81CC, 6167 },
- { 0x7CB6, 6168 },
+ { 0x7B7C, 6161 },
+ { 0x7C29, 6166 },
+ { 0x81D1, 6167 },
+ { 0x7CBB, 6168 },
{ 0x1D20, 6169 },
- { 0x8090, 6171 },
+ { 0x8095, 6171 },
{ 0x0CD9, 6173 },
{ 0x0CD8, 6176 },
{ 0x0CC6, 6179 },
@@ -49356,114 +49363,114 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0CBF, 6477 },
{ 0x0CC0, 6481 },
{ 0x0CCB, 6485 },
- { 0x80C9, 6488 },
+ { 0x80CE, 6488 },
{ 0x226F, 6489 },
- { 0x7F0F, 6490 },
+ { 0x7F14, 6490 },
{ 0x003F, 6493 },
- { 0x2BBF, 6495 },
+ { 0x2BC3, 6495 },
{ 0x2A34, 6500 },
{ 0x2A35, 6502 },
- { 0x81A7, 6506 },
+ { 0x81AC, 6506 },
{ 0x1CC8, 6508 },
- { 0x7CAA, 6510 },
+ { 0x7CAF, 6510 },
{ 0x1CA4, 6513 },
{ 0x1CDF, 6514 },
{ 0x1C88, 6515 },
{ 0x1CA7, 6516 },
- { 0x7C0D, 6517 },
- { 0x8049, 6518 },
- { 0x7D19, 6521 },
- { 0x7C10, 6526 },
- { 0x7C17, 6531 },
- { 0x7C18, 6536 },
- { 0x7D1F, 6539 },
+ { 0x7C12, 6517 },
+ { 0x804E, 6518 },
+ { 0x7D1E, 6521 },
+ { 0x7C15, 6526 },
+ { 0x7C1C, 6531 },
+ { 0x7C1D, 6536 },
+ { 0x7D24, 6539 },
{ 0x2312, 6541 },
- { 0x60F0, 6545 },
- { 0x60E7, 6547 },
- { 0x60EC, 6550 },
- { 0x60E8, 6553 },
- { 0x60EB, 6556 },
- { 0x60EA, 6559 },
- { 0x60EF, 6562 },
- { 0x60E6, 6565 },
- { 0x60EE, 6568 },
- { 0x60ED, 6571 },
- { 0x60E9, 6574 },
- { 0x60F1, 6577 },
- { 0x60CD, 6580 },
- { 0x60DF, 6583 },
- { 0x60D9, 6586 },
- { 0x60CB, 6589 },
- { 0x60CC, 6592 },
- { 0x60DD, 6595 },
- { 0x60E0, 6598 },
- { 0x60E2, 6601 },
- { 0x60D4, 6604 },
- { 0x60D8, 6607 },
- { 0x60D7, 6610 },
- { 0x60E4, 6613 },
- { 0x60DA, 6616 },
- { 0x60C7, 6619 },
- { 0x60DE, 6622 },
- { 0x60C9, 6625 },
- { 0x60D2, 6628 },
- { 0x60D1, 6631 },
- { 0x60E3, 6634 },
- { 0x60D0, 6637 },
- { 0x60E1, 6640 },
- { 0x60CA, 6643 },
- { 0x60C8, 6646 },
- { 0x60D6, 6649 },
- { 0x60CE, 6652 },
- { 0x60DB, 6655 },
- { 0x60E5, 6658 },
- { 0x60CF, 6661 },
- { 0x60D5, 6664 },
- { 0x60DC, 6667 },
- { 0x60D3, 6670 },
+ { 0x60F5, 6545 },
+ { 0x60EC, 6547 },
+ { 0x60F1, 6550 },
+ { 0x60ED, 6553 },
+ { 0x60F0, 6556 },
+ { 0x60EF, 6559 },
+ { 0x60F4, 6562 },
+ { 0x60EB, 6565 },
+ { 0x60F3, 6568 },
+ { 0x60F2, 6571 },
+ { 0x60EE, 6574 },
+ { 0x60F6, 6577 },
+ { 0x60D2, 6580 },
+ { 0x60E4, 6583 },
+ { 0x60DE, 6586 },
+ { 0x60D0, 6589 },
+ { 0x60D1, 6592 },
+ { 0x60E2, 6595 },
+ { 0x60E5, 6598 },
+ { 0x60E7, 6601 },
+ { 0x60D9, 6604 },
+ { 0x60DD, 6607 },
+ { 0x60DC, 6610 },
+ { 0x60E9, 6613 },
+ { 0x60DF, 6616 },
+ { 0x60CC, 6619 },
+ { 0x60E3, 6622 },
+ { 0x60CE, 6625 },
+ { 0x60D7, 6628 },
+ { 0x60D6, 6631 },
+ { 0x60E8, 6634 },
+ { 0x60D5, 6637 },
+ { 0x60E6, 6640 },
+ { 0x60CF, 6643 },
+ { 0x60CD, 6646 },
+ { 0x60DB, 6649 },
+ { 0x60D3, 6652 },
+ { 0x60E0, 6655 },
+ { 0x60EA, 6658 },
+ { 0x60D4, 6661 },
+ { 0x60DA, 6664 },
+ { 0x60E1, 6667 },
+ { 0x60D8, 6670 },
{ 0x154D, 6673 },
- { 0x7656, 6674 },
- { 0x7653, 6678 },
- { 0x7654, 6682 },
- { 0x7657, 6686 },
- { 0x7655, 6690 },
- { 0x7659, 6694 },
- { 0x765E, 6698 },
- { 0x765A, 6702 },
- { 0x765D, 6706 },
- { 0x765C, 6710 },
- { 0x7661, 6714 },
- { 0x7658, 6718 },
- { 0x7660, 6722 },
- { 0x765F, 6726 },
- { 0x765B, 6730 },
- { 0x763D, 6734 },
- { 0x764C, 6738 },
- { 0x7642, 6742 },
- { 0x7638, 6746 },
- { 0x7647, 6750 },
- { 0x763F, 6754 },
- { 0x7641, 6758 },
- { 0x763E, 6762 },
- { 0x764E, 6766 },
- { 0x764F, 6770 },
- { 0x7650, 6774 },
- { 0x7646, 6778 },
- { 0x7643, 6782 },
- { 0x7645, 6786 },
- { 0x763A, 6790 },
- { 0x7639, 6794 },
- { 0x763B, 6798 },
- { 0x7648, 6802 },
- { 0x7649, 6806 },
- { 0x764A, 6810 },
- { 0x764B, 6814 },
- { 0x7640, 6818 },
- { 0x7652, 6822 },
- { 0x764D, 6826 },
- { 0x7651, 6830 },
- { 0x7644, 6834 },
- { 0x763C, 6838 },
+ { 0x765B, 6674 },
+ { 0x7658, 6678 },
+ { 0x7659, 6682 },
+ { 0x765C, 6686 },
+ { 0x765A, 6690 },
+ { 0x765E, 6694 },
+ { 0x7663, 6698 },
+ { 0x765F, 6702 },
+ { 0x7662, 6706 },
+ { 0x7661, 6710 },
+ { 0x7666, 6714 },
+ { 0x765D, 6718 },
+ { 0x7665, 6722 },
+ { 0x7664, 6726 },
+ { 0x7660, 6730 },
+ { 0x7642, 6734 },
+ { 0x7651, 6738 },
+ { 0x7647, 6742 },
+ { 0x763D, 6746 },
+ { 0x764C, 6750 },
+ { 0x7644, 6754 },
+ { 0x7646, 6758 },
+ { 0x7643, 6762 },
+ { 0x7653, 6766 },
+ { 0x7654, 6770 },
+ { 0x7655, 6774 },
+ { 0x764B, 6778 },
+ { 0x7648, 6782 },
+ { 0x764A, 6786 },
+ { 0x763F, 6790 },
+ { 0x763E, 6794 },
+ { 0x7640, 6798 },
+ { 0x764D, 6802 },
+ { 0x764E, 6806 },
+ { 0x764F, 6810 },
+ { 0x7650, 6814 },
+ { 0x7645, 6818 },
+ { 0x7657, 6822 },
+ { 0x7652, 6826 },
+ { 0x7656, 6830 },
+ { 0x7649, 6834 },
+ { 0x7641, 6838 },
{ 0x16DB, 6842 },
{ 0x16DC, 6847 },
{ 0x16DA, 6852 },
@@ -49547,8 +49554,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x16C9, 7309 },
{ 0x16C7, 7315 },
{ 0x16C8, 7321 },
- { 0x7ABF, 7327 },
- { 0x7AB6, 7331 },
+ { 0x7AC4, 7327 },
+ { 0x7ABB, 7331 },
{ 0x1D1D, 7334 },
{ 0x077D, 7337 },
{ 0x077C, 7341 },
@@ -49632,7 +49639,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1EBE, 7607 },
{ 0x1EC0, 7610 },
{ 0x1E95, 7612 },
- { 0x7CCE, 7616 },
+ { 0x7CD3, 7616 },
{ 0x207D, 7619 },
{ 0x207C, 7622 },
{ 0x2080, 7625 },
@@ -49645,640 +49652,640 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2081, 7644 },
{ 0x207B, 7648 },
{ 0x1D7B, 7651 },
- { 0x7E83, 7653 },
- { 0x7D82, 7655 },
- { 0x478A, 7657 },
- { 0x4780, 7662 },
- { 0x478B, 7667 },
- { 0x478D, 7672 },
- { 0x4788, 7677 },
- { 0x477A, 7682 },
- { 0x4778, 7687 },
- { 0x4783, 7692 },
- { 0x4779, 7697 },
- { 0x477C, 7702 },
- { 0x477F, 7707 },
- { 0x4786, 7712 },
- { 0x478F, 7717 },
- { 0x4781, 7722 },
- { 0x477D, 7727 },
- { 0x4792, 7732 },
- { 0x4794, 7737 },
- { 0x4789, 7742 },
- { 0x4782, 7747 },
- { 0x477E, 7752 },
- { 0x4787, 7757 },
- { 0x478C, 7762 },
- { 0x4785, 7767 },
- { 0x477B, 7772 },
- { 0x4784, 7777 },
- { 0x4791, 7782 },
- { 0x4793, 7787 },
- { 0x4790, 7792 },
- { 0x478E, 7797 },
- { 0x4795, 7802 },
- { 0x4796, 7807 },
- { 0x4797, 7812 },
- { 0x4768, 7817 },
- { 0x4758, 7822 },
- { 0x476A, 7827 },
- { 0x475B, 7832 },
- { 0x4764, 7837 },
- { 0x4762, 7842 },
- { 0x4761, 7847 },
- { 0x475D, 7852 },
- { 0x4769, 7857 },
- { 0x4760, 7862 },
- { 0x475A, 7867 },
- { 0x4763, 7872 },
- { 0x475C, 7877 },
- { 0x475F, 7882 },
- { 0x475E, 7887 },
- { 0x476F, 7892 },
- { 0x4773, 7897 },
- { 0x4772, 7902 },
- { 0x4770, 7907 },
- { 0x476E, 7912 },
- { 0x476C, 7917 },
- { 0x4765, 7922 },
- { 0x4766, 7927 },
- { 0x4774, 7932 },
- { 0x476D, 7937 },
- { 0x476B, 7942 },
- { 0x4759, 7947 },
- { 0x4767, 7952 },
- { 0x4771, 7957 },
- { 0x4775, 7962 },
- { 0x4776, 7967 },
- { 0x4777, 7972 },
- { 0x41CB, 7977 },
- { 0x41CF, 7981 },
- { 0x41D4, 7985 },
- { 0x41DA, 7989 },
- { 0x41E1, 7993 },
- { 0x41CC, 7997 },
- { 0x41CE, 8001 },
- { 0x41E5, 8005 },
- { 0x41D6, 8009 },
- { 0x41D7, 8013 },
- { 0x41D8, 8017 },
- { 0x41DE, 8021 },
- { 0x41DF, 8025 },
- { 0x41D2, 8029 },
- { 0x41E8, 8033 },
- { 0x41D5, 8037 },
- { 0x41CD, 8041 },
- { 0x41DD, 8045 },
- { 0x41DB, 8049 },
- { 0x41E0, 8053 },
- { 0x41E9, 8057 },
- { 0x41D0, 8061 },
- { 0x41EF, 8065 },
- { 0x41D1, 8069 },
- { 0x41E7, 8073 },
- { 0x41E2, 8077 },
- { 0x41E6, 8081 },
- { 0x41D9, 8085 },
- { 0x41EA, 8089 },
- { 0x41E4, 8093 },
- { 0x41E3, 8097 },
- { 0x41DC, 8101 },
- { 0x41D3, 8105 },
- { 0x41F0, 8109 },
- { 0x41F1, 8114 },
- { 0x41EB, 8119 },
- { 0x41ED, 8123 },
- { 0x41EC, 8127 },
- { 0x41EE, 8131 },
- { 0x4211, 8135 },
- { 0x4216, 8139 },
- { 0x4226, 8143 },
- { 0x4220, 8147 },
- { 0x420D, 8151 },
- { 0x4228, 8155 },
- { 0x4229, 8159 },
- { 0x4232, 8163 },
- { 0x422F, 8167 },
- { 0x4227, 8171 },
- { 0x4231, 8175 },
- { 0x4230, 8179 },
- { 0x420E, 8183 },
- { 0x4210, 8187 },
- { 0x420F, 8191 },
- { 0x4218, 8195 },
- { 0x421D, 8199 },
- { 0x421E, 8203 },
- { 0x421F, 8207 },
- { 0x422B, 8211 },
- { 0x422E, 8215 },
- { 0x422C, 8219 },
- { 0x4224, 8223 },
- { 0x4217, 8227 },
- { 0x421C, 8231 },
- { 0x422A, 8235 },
- { 0x421B, 8239 },
- { 0x422D, 8243 },
- { 0x4225, 8247 },
- { 0x4214, 8251 },
- { 0x4212, 8255 },
- { 0x4221, 8259 },
- { 0x4213, 8263 },
- { 0x4215, 8267 },
- { 0x4219, 8271 },
- { 0x421A, 8275 },
- { 0x4222, 8279 },
- { 0x4223, 8283 },
- { 0x485E, 8287 },
- { 0x4861, 8292 },
- { 0x4864, 8297 },
- { 0x4867, 8302 },
- { 0x486F, 8307 },
- { 0x486B, 8312 },
- { 0x487C, 8317 },
- { 0x4881, 8322 },
- { 0x4892, 8327 },
- { 0x4898, 8332 },
- { 0x489B, 8337 },
- { 0x48A1, 8342 },
- { 0x4874, 8347 },
- { 0x4890, 8352 },
- { 0x4880, 8357 },
- { 0x488D, 8362 },
- { 0x4872, 8367 },
- { 0x488F, 8372 },
- { 0x4894, 8377 },
- { 0x4865, 8382 },
- { 0x488E, 8387 },
- { 0x4896, 8392 },
- { 0x48A5, 8397 },
- { 0x4869, 8402 },
- { 0x4871, 8407 },
- { 0x486D, 8412 },
- { 0x4878, 8417 },
- { 0x487E, 8422 },
- { 0x4882, 8427 },
- { 0x489A, 8432 },
- { 0x489C, 8437 },
- { 0x48A3, 8442 },
- { 0x4876, 8447 },
- { 0x489D, 8452 },
- { 0x487F, 8457 },
- { 0x4886, 8462 },
- { 0x488B, 8467 },
- { 0x4884, 8472 },
- { 0x4888, 8477 },
- { 0x489F, 8482 },
- { 0x487A, 8487 },
- { 0x48A6, 8492 },
- { 0x485F, 8497 },
- { 0x4863, 8502 },
- { 0x4862, 8507 },
- { 0x4868, 8512 },
- { 0x4870, 8517 },
- { 0x4860, 8522 },
- { 0x486C, 8527 },
- { 0x487D, 8532 },
- { 0x4893, 8537 },
- { 0x4899, 8542 },
- { 0x48A2, 8547 },
- { 0x4875, 8552 },
- { 0x4891, 8557 },
- { 0x4873, 8562 },
- { 0x4895, 8567 },
- { 0x4866, 8572 },
- { 0x4897, 8577 },
- { 0x486A, 8582 },
- { 0x486E, 8587 },
- { 0x4879, 8592 },
- { 0x4883, 8597 },
- { 0x48A4, 8602 },
- { 0x4877, 8607 },
- { 0x488A, 8612 },
- { 0x489E, 8617 },
- { 0x4887, 8622 },
- { 0x4885, 8627 },
- { 0x4889, 8632 },
- { 0x48A0, 8637 },
- { 0x487B, 8642 },
- { 0x488C, 8647 },
- { 0x49F4, 8652 },
- { 0x49F1, 8656 },
- { 0x49F2, 8660 },
- { 0x49F8, 8664 },
- { 0x49EB, 8668 },
- { 0x49E9, 8672 },
- { 0x49EF, 8676 },
- { 0x49F9, 8680 },
- { 0x49F6, 8684 },
- { 0x49F7, 8688 },
- { 0x49EE, 8692 },
- { 0x49E8, 8696 },
- { 0x49ED, 8700 },
- { 0x49F5, 8705 },
- { 0x49EC, 8709 },
- { 0x49F0, 8713 },
- { 0x49F3, 8717 },
- { 0x49EA, 8721 },
- { 0x49FA, 8725 },
- { 0x49FB, 8730 },
- { 0x49FC, 8735 },
- { 0x49FD, 8741 },
- { 0x49FE, 8747 },
- { 0x49FF, 8751 },
- { 0x4A00, 8756 },
- { 0x4A01, 8761 },
- { 0x62E0, 8766 },
- { 0x62E1, 8770 },
- { 0x4257, 8774 },
- { 0x4258, 8778 },
- { 0x4259, 8782 },
- { 0x4269, 8786 },
- { 0x425F, 8790 },
- { 0x4264, 8794 },
- { 0x4265, 8798 },
- { 0x4266, 8802 },
- { 0x426A, 8806 },
- { 0x425C, 8810 },
- { 0x425D, 8814 },
- { 0x427A, 8818 },
- { 0x4260, 8822 },
- { 0x4261, 8826 },
- { 0x425A, 8830 },
- { 0x425B, 8834 },
- { 0x4275, 8838 },
- { 0x426D, 8842 },
- { 0x426E, 8846 },
- { 0x426F, 8850 },
- { 0x426B, 8854 },
- { 0x426C, 8858 },
- { 0x4268, 8862 },
- { 0x4273, 8866 },
- { 0x4274, 8870 },
- { 0x4276, 8874 },
- { 0x4262, 8878 },
- { 0x4263, 8882 },
- { 0x4271, 8886 },
- { 0x4272, 8890 },
- { 0x425E, 8894 },
- { 0x4270, 8898 },
- { 0x4277, 8902 },
- { 0x4278, 8906 },
- { 0x4279, 8910 },
- { 0x4267, 8914 },
- { 0x4281, 8918 },
- { 0x4282, 8922 },
- { 0x427F, 8926 },
- { 0x427B, 8930 },
- { 0x4280, 8934 },
- { 0x427C, 8938 },
- { 0x427D, 8942 },
- { 0x427E, 8946 },
- { 0x4283, 8950 },
- { 0x4284, 8954 },
- { 0x4286, 8958 },
- { 0x4285, 8962 },
- { 0x4287, 8966 },
- { 0x4288, 8970 },
- { 0x499B, 8974 },
- { 0x49AA, 8978 },
- { 0x49A3, 8982 },
- { 0x49A4, 8986 },
- { 0x49B0, 8990 },
- { 0x499D, 8994 },
- { 0x49A8, 8998 },
- { 0x4998, 9002 },
- { 0x499F, 9006 },
- { 0x49A1, 9010 },
- { 0x49AF, 9014 },
- { 0x49A0, 9018 },
- { 0x4996, 9022 },
- { 0x499C, 9026 },
- { 0x49A5, 9031 },
- { 0x49A6, 9036 },
- { 0x49B1, 9044 },
- { 0x49B2, 9049 },
- { 0x4999, 9057 },
- { 0x4997, 9062 },
- { 0x49AC, 9067 },
- { 0x49AD, 9072 },
- { 0x499A, 9080 },
- { 0x49AB, 9084 },
- { 0x499E, 9088 },
- { 0x49A2, 9092 },
- { 0x49A7, 9096 },
- { 0x49A9, 9100 },
- { 0x49AE, 9105 },
- { 0x49B3, 9109 },
- { 0x49BB, 9113 },
- { 0x49B8, 9118 },
- { 0x49B4, 9122 },
- { 0x49B7, 9126 },
- { 0x49B6, 9130 },
- { 0x49B5, 9134 },
- { 0x49BA, 9138 },
- { 0x49B9, 9142 },
- { 0x49BC, 9146 },
- { 0x49BD, 9151 },
- { 0x7D58, 9155 },
- { 0x48DA, 9158 },
- { 0x48E3, 9163 },
- { 0x48EA, 9168 },
- { 0x48F5, 9173 },
- { 0x4904, 9178 },
- { 0x48DB, 9183 },
- { 0x48EE, 9188 },
- { 0x48DC, 9193 },
- { 0x48DE, 9198 },
- { 0x48E1, 9203 },
- { 0x48E5, 9208 },
- { 0x48E6, 9213 },
- { 0x48E7, 9218 },
- { 0x48E9, 9223 },
- { 0x48EC, 9228 },
- { 0x48ED, 9233 },
- { 0x48F0, 9238 },
- { 0x48F2, 9243 },
- { 0x48F3, 9248 },
- { 0x48FA, 9253 },
- { 0x48FC, 9258 },
- { 0x48FE, 9263 },
- { 0x4900, 9268 },
- { 0x4908, 9273 },
- { 0x4909, 9278 },
- { 0x48EB, 9283 },
- { 0x48F6, 9288 },
- { 0x490C, 9293 },
- { 0x4905, 9298 },
- { 0x48DD, 9303 },
- { 0x48E2, 9308 },
- { 0x4903, 9313 },
- { 0x48E0, 9318 },
- { 0x48E8, 9323 },
- { 0x48F1, 9328 },
- { 0x48FB, 9333 },
- { 0x48DF, 9338 },
- { 0x4901, 9343 },
- { 0x48F4, 9348 },
- { 0x48FF, 9353 },
- { 0x4902, 9358 },
- { 0x490A, 9363 },
- { 0x48F9, 9368 },
- { 0x48EF, 9373 },
- { 0x48E4, 9378 },
- { 0x48FD, 9384 },
- { 0x48F8, 9390 },
- { 0x4907, 9396 },
- { 0x490B, 9402 },
- { 0x48F7, 9408 },
- { 0x4906, 9414 },
- { 0x490D, 9420 },
- { 0x4911, 9424 },
- { 0x4912, 9429 },
- { 0x490F, 9434 },
- { 0x490E, 9438 },
- { 0x4910, 9442 },
- { 0x48A7, 9446 },
- { 0x48B0, 9451 },
- { 0x48B7, 9456 },
- { 0x48C2, 9461 },
- { 0x48D1, 9466 },
- { 0x48A8, 9471 },
- { 0x48BB, 9476 },
- { 0x48A9, 9481 },
- { 0x48AB, 9486 },
- { 0x48AE, 9491 },
- { 0x48B2, 9496 },
- { 0x48B3, 9501 },
- { 0x48B4, 9506 },
- { 0x48B6, 9511 },
- { 0x48B9, 9516 },
- { 0x48BA, 9521 },
- { 0x48BD, 9526 },
- { 0x48BF, 9531 },
- { 0x48C0, 9536 },
- { 0x48C7, 9541 },
- { 0x48C9, 9546 },
- { 0x48CB, 9551 },
- { 0x48CD, 9556 },
- { 0x48D5, 9561 },
- { 0x48D6, 9566 },
- { 0x48B8, 9571 },
- { 0x48C3, 9576 },
- { 0x48D9, 9581 },
- { 0x48D2, 9586 },
- { 0x48AA, 9591 },
- { 0x48AF, 9596 },
- { 0x48D0, 9601 },
- { 0x48AD, 9606 },
- { 0x48B5, 9611 },
- { 0x48BE, 9616 },
- { 0x48C8, 9621 },
- { 0x48AC, 9626 },
- { 0x48CE, 9631 },
- { 0x48C1, 9636 },
- { 0x48CC, 9641 },
- { 0x48CF, 9646 },
- { 0x48D7, 9651 },
- { 0x48C6, 9656 },
- { 0x48BC, 9661 },
- { 0x48B1, 9666 },
- { 0x48CA, 9672 },
- { 0x48C5, 9678 },
- { 0x48D4, 9684 },
- { 0x48D8, 9690 },
- { 0x48C4, 9696 },
- { 0x48D3, 9702 },
+ { 0x7E88, 7653 },
+ { 0x7D87, 7655 },
+ { 0x478F, 7657 },
+ { 0x4785, 7662 },
+ { 0x4790, 7667 },
+ { 0x4792, 7672 },
+ { 0x478D, 7677 },
+ { 0x477F, 7682 },
+ { 0x477D, 7687 },
+ { 0x4788, 7692 },
+ { 0x477E, 7697 },
+ { 0x4781, 7702 },
+ { 0x4784, 7707 },
+ { 0x478B, 7712 },
+ { 0x4794, 7717 },
+ { 0x4786, 7722 },
+ { 0x4782, 7727 },
+ { 0x4797, 7732 },
+ { 0x4799, 7737 },
+ { 0x478E, 7742 },
+ { 0x4787, 7747 },
+ { 0x4783, 7752 },
+ { 0x478C, 7757 },
+ { 0x4791, 7762 },
+ { 0x478A, 7767 },
+ { 0x4780, 7772 },
+ { 0x4789, 7777 },
+ { 0x4796, 7782 },
+ { 0x4798, 7787 },
+ { 0x4795, 7792 },
+ { 0x4793, 7797 },
+ { 0x479A, 7802 },
+ { 0x479B, 7807 },
+ { 0x479C, 7812 },
+ { 0x476D, 7817 },
+ { 0x475D, 7822 },
+ { 0x476F, 7827 },
+ { 0x4760, 7832 },
+ { 0x4769, 7837 },
+ { 0x4767, 7842 },
+ { 0x4766, 7847 },
+ { 0x4762, 7852 },
+ { 0x476E, 7857 },
+ { 0x4765, 7862 },
+ { 0x475F, 7867 },
+ { 0x4768, 7872 },
+ { 0x4761, 7877 },
+ { 0x4764, 7882 },
+ { 0x4763, 7887 },
+ { 0x4774, 7892 },
+ { 0x4778, 7897 },
+ { 0x4777, 7902 },
+ { 0x4775, 7907 },
+ { 0x4773, 7912 },
+ { 0x4771, 7917 },
+ { 0x476A, 7922 },
+ { 0x476B, 7927 },
+ { 0x4779, 7932 },
+ { 0x4772, 7937 },
+ { 0x4770, 7942 },
+ { 0x475E, 7947 },
+ { 0x476C, 7952 },
+ { 0x4776, 7957 },
+ { 0x477A, 7962 },
+ { 0x477B, 7967 },
+ { 0x477C, 7972 },
+ { 0x41D0, 7977 },
+ { 0x41D4, 7981 },
+ { 0x41D9, 7985 },
+ { 0x41DF, 7989 },
+ { 0x41E6, 7993 },
+ { 0x41D1, 7997 },
+ { 0x41D3, 8001 },
+ { 0x41EA, 8005 },
+ { 0x41DB, 8009 },
+ { 0x41DC, 8013 },
+ { 0x41DD, 8017 },
+ { 0x41E3, 8021 },
+ { 0x41E4, 8025 },
+ { 0x41D7, 8029 },
+ { 0x41ED, 8033 },
+ { 0x41DA, 8037 },
+ { 0x41D2, 8041 },
+ { 0x41E2, 8045 },
+ { 0x41E0, 8049 },
+ { 0x41E5, 8053 },
+ { 0x41EE, 8057 },
+ { 0x41D5, 8061 },
+ { 0x41F4, 8065 },
+ { 0x41D6, 8069 },
+ { 0x41EC, 8073 },
+ { 0x41E7, 8077 },
+ { 0x41EB, 8081 },
+ { 0x41DE, 8085 },
+ { 0x41EF, 8089 },
+ { 0x41E9, 8093 },
+ { 0x41E8, 8097 },
+ { 0x41E1, 8101 },
+ { 0x41D8, 8105 },
+ { 0x41F5, 8109 },
+ { 0x41F6, 8114 },
+ { 0x41F0, 8119 },
+ { 0x41F2, 8123 },
+ { 0x41F1, 8127 },
+ { 0x41F3, 8131 },
+ { 0x4216, 8135 },
+ { 0x421B, 8139 },
+ { 0x422B, 8143 },
+ { 0x4225, 8147 },
+ { 0x4212, 8151 },
+ { 0x422D, 8155 },
+ { 0x422E, 8159 },
+ { 0x4237, 8163 },
+ { 0x4234, 8167 },
+ { 0x422C, 8171 },
+ { 0x4236, 8175 },
+ { 0x4235, 8179 },
+ { 0x4213, 8183 },
+ { 0x4215, 8187 },
+ { 0x4214, 8191 },
+ { 0x421D, 8195 },
+ { 0x4222, 8199 },
+ { 0x4223, 8203 },
+ { 0x4224, 8207 },
+ { 0x4230, 8211 },
+ { 0x4233, 8215 },
+ { 0x4231, 8219 },
+ { 0x4229, 8223 },
+ { 0x421C, 8227 },
+ { 0x4221, 8231 },
+ { 0x422F, 8235 },
+ { 0x4220, 8239 },
+ { 0x4232, 8243 },
+ { 0x422A, 8247 },
+ { 0x4219, 8251 },
+ { 0x4217, 8255 },
+ { 0x4226, 8259 },
+ { 0x4218, 8263 },
+ { 0x421A, 8267 },
+ { 0x421E, 8271 },
+ { 0x421F, 8275 },
+ { 0x4227, 8279 },
+ { 0x4228, 8283 },
+ { 0x4863, 8287 },
+ { 0x4866, 8292 },
+ { 0x4869, 8297 },
+ { 0x486C, 8302 },
+ { 0x4874, 8307 },
+ { 0x4870, 8312 },
+ { 0x4881, 8317 },
+ { 0x4886, 8322 },
+ { 0x4897, 8327 },
+ { 0x489D, 8332 },
+ { 0x48A0, 8337 },
+ { 0x48A6, 8342 },
+ { 0x4879, 8347 },
+ { 0x4895, 8352 },
+ { 0x4885, 8357 },
+ { 0x4892, 8362 },
+ { 0x4877, 8367 },
+ { 0x4894, 8372 },
+ { 0x4899, 8377 },
+ { 0x486A, 8382 },
+ { 0x4893, 8387 },
+ { 0x489B, 8392 },
+ { 0x48AA, 8397 },
+ { 0x486E, 8402 },
+ { 0x4876, 8407 },
+ { 0x4872, 8412 },
+ { 0x487D, 8417 },
+ { 0x4883, 8422 },
+ { 0x4887, 8427 },
+ { 0x489F, 8432 },
+ { 0x48A1, 8437 },
+ { 0x48A8, 8442 },
+ { 0x487B, 8447 },
+ { 0x48A2, 8452 },
+ { 0x4884, 8457 },
+ { 0x488B, 8462 },
+ { 0x4890, 8467 },
+ { 0x4889, 8472 },
+ { 0x488D, 8477 },
+ { 0x48A4, 8482 },
+ { 0x487F, 8487 },
+ { 0x48AB, 8492 },
+ { 0x4864, 8497 },
+ { 0x4868, 8502 },
+ { 0x4867, 8507 },
+ { 0x486D, 8512 },
+ { 0x4875, 8517 },
+ { 0x4865, 8522 },
+ { 0x4871, 8527 },
+ { 0x4882, 8532 },
+ { 0x4898, 8537 },
+ { 0x489E, 8542 },
+ { 0x48A7, 8547 },
+ { 0x487A, 8552 },
+ { 0x4896, 8557 },
+ { 0x4878, 8562 },
+ { 0x489A, 8567 },
+ { 0x486B, 8572 },
+ { 0x489C, 8577 },
+ { 0x486F, 8582 },
+ { 0x4873, 8587 },
+ { 0x487E, 8592 },
+ { 0x4888, 8597 },
+ { 0x48A9, 8602 },
+ { 0x487C, 8607 },
+ { 0x488F, 8612 },
+ { 0x48A3, 8617 },
+ { 0x488C, 8622 },
+ { 0x488A, 8627 },
+ { 0x488E, 8632 },
+ { 0x48A5, 8637 },
+ { 0x4880, 8642 },
+ { 0x4891, 8647 },
+ { 0x49F9, 8652 },
+ { 0x49F6, 8656 },
+ { 0x49F7, 8660 },
+ { 0x49FD, 8664 },
+ { 0x49F0, 8668 },
+ { 0x49EE, 8672 },
+ { 0x49F4, 8676 },
+ { 0x49FE, 8680 },
+ { 0x49FB, 8684 },
+ { 0x49FC, 8688 },
+ { 0x49F3, 8692 },
+ { 0x49ED, 8696 },
+ { 0x49F2, 8700 },
+ { 0x49FA, 8705 },
+ { 0x49F1, 8709 },
+ { 0x49F5, 8713 },
+ { 0x49F8, 8717 },
+ { 0x49EF, 8721 },
+ { 0x49FF, 8725 },
+ { 0x4A00, 8730 },
+ { 0x4A01, 8735 },
+ { 0x4A02, 8741 },
+ { 0x4A03, 8747 },
+ { 0x4A04, 8751 },
+ { 0x4A05, 8756 },
+ { 0x4A06, 8761 },
+ { 0x62E5, 8766 },
+ { 0x62E6, 8770 },
+ { 0x425C, 8774 },
+ { 0x425D, 8778 },
+ { 0x425E, 8782 },
+ { 0x426E, 8786 },
+ { 0x4264, 8790 },
+ { 0x4269, 8794 },
+ { 0x426A, 8798 },
+ { 0x426B, 8802 },
+ { 0x426F, 8806 },
+ { 0x4261, 8810 },
+ { 0x4262, 8814 },
+ { 0x427F, 8818 },
+ { 0x4265, 8822 },
+ { 0x4266, 8826 },
+ { 0x425F, 8830 },
+ { 0x4260, 8834 },
+ { 0x427A, 8838 },
+ { 0x4272, 8842 },
+ { 0x4273, 8846 },
+ { 0x4274, 8850 },
+ { 0x4270, 8854 },
+ { 0x4271, 8858 },
+ { 0x426D, 8862 },
+ { 0x4278, 8866 },
+ { 0x4279, 8870 },
+ { 0x427B, 8874 },
+ { 0x4267, 8878 },
+ { 0x4268, 8882 },
+ { 0x4276, 8886 },
+ { 0x4277, 8890 },
+ { 0x4263, 8894 },
+ { 0x4275, 8898 },
+ { 0x427C, 8902 },
+ { 0x427D, 8906 },
+ { 0x427E, 8910 },
+ { 0x426C, 8914 },
+ { 0x4286, 8918 },
+ { 0x4287, 8922 },
+ { 0x4284, 8926 },
+ { 0x4280, 8930 },
+ { 0x4285, 8934 },
+ { 0x4281, 8938 },
+ { 0x4282, 8942 },
+ { 0x4283, 8946 },
+ { 0x4288, 8950 },
+ { 0x4289, 8954 },
+ { 0x428B, 8958 },
+ { 0x428A, 8962 },
+ { 0x428C, 8966 },
+ { 0x428D, 8970 },
+ { 0x49A0, 8974 },
+ { 0x49AF, 8978 },
+ { 0x49A8, 8982 },
+ { 0x49A9, 8986 },
+ { 0x49B5, 8990 },
+ { 0x49A2, 8994 },
+ { 0x49AD, 8998 },
+ { 0x499D, 9002 },
+ { 0x49A4, 9006 },
+ { 0x49A6, 9010 },
+ { 0x49B4, 9014 },
+ { 0x49A5, 9018 },
+ { 0x499B, 9022 },
+ { 0x49A1, 9026 },
+ { 0x49AA, 9031 },
+ { 0x49AB, 9036 },
+ { 0x49B6, 9044 },
+ { 0x49B7, 9049 },
+ { 0x499E, 9057 },
+ { 0x499C, 9062 },
+ { 0x49B1, 9067 },
+ { 0x49B2, 9072 },
+ { 0x499F, 9080 },
+ { 0x49B0, 9084 },
+ { 0x49A3, 9088 },
+ { 0x49A7, 9092 },
+ { 0x49AC, 9096 },
+ { 0x49AE, 9100 },
+ { 0x49B3, 9105 },
+ { 0x49B8, 9109 },
+ { 0x49C0, 9113 },
+ { 0x49BD, 9118 },
+ { 0x49B9, 9122 },
+ { 0x49BC, 9126 },
+ { 0x49BB, 9130 },
+ { 0x49BA, 9134 },
+ { 0x49BF, 9138 },
+ { 0x49BE, 9142 },
+ { 0x49C1, 9146 },
+ { 0x49C2, 9151 },
+ { 0x7D5D, 9155 },
+ { 0x48DF, 9158 },
+ { 0x48E8, 9163 },
+ { 0x48EF, 9168 },
+ { 0x48FA, 9173 },
+ { 0x4909, 9178 },
+ { 0x48E0, 9183 },
+ { 0x48F3, 9188 },
+ { 0x48E1, 9193 },
+ { 0x48E3, 9198 },
+ { 0x48E6, 9203 },
+ { 0x48EA, 9208 },
+ { 0x48EB, 9213 },
+ { 0x48EC, 9218 },
+ { 0x48EE, 9223 },
+ { 0x48F1, 9228 },
+ { 0x48F2, 9233 },
+ { 0x48F5, 9238 },
+ { 0x48F7, 9243 },
+ { 0x48F8, 9248 },
+ { 0x48FF, 9253 },
+ { 0x4901, 9258 },
+ { 0x4903, 9263 },
+ { 0x4905, 9268 },
+ { 0x490D, 9273 },
+ { 0x490E, 9278 },
+ { 0x48F0, 9283 },
+ { 0x48FB, 9288 },
+ { 0x4911, 9293 },
+ { 0x490A, 9298 },
+ { 0x48E2, 9303 },
+ { 0x48E7, 9308 },
+ { 0x4908, 9313 },
+ { 0x48E5, 9318 },
+ { 0x48ED, 9323 },
+ { 0x48F6, 9328 },
+ { 0x4900, 9333 },
+ { 0x48E4, 9338 },
+ { 0x4906, 9343 },
+ { 0x48F9, 9348 },
+ { 0x4904, 9353 },
+ { 0x4907, 9358 },
+ { 0x490F, 9363 },
+ { 0x48FE, 9368 },
+ { 0x48F4, 9373 },
+ { 0x48E9, 9378 },
+ { 0x4902, 9384 },
+ { 0x48FD, 9390 },
+ { 0x490C, 9396 },
+ { 0x4910, 9402 },
+ { 0x48FC, 9408 },
+ { 0x490B, 9414 },
+ { 0x4912, 9420 },
+ { 0x4916, 9424 },
+ { 0x4917, 9429 },
+ { 0x4914, 9434 },
+ { 0x4913, 9438 },
+ { 0x4915, 9442 },
+ { 0x48AC, 9446 },
+ { 0x48B5, 9451 },
+ { 0x48BC, 9456 },
+ { 0x48C7, 9461 },
+ { 0x48D6, 9466 },
+ { 0x48AD, 9471 },
+ { 0x48C0, 9476 },
+ { 0x48AE, 9481 },
+ { 0x48B0, 9486 },
+ { 0x48B3, 9491 },
+ { 0x48B7, 9496 },
+ { 0x48B8, 9501 },
+ { 0x48B9, 9506 },
+ { 0x48BB, 9511 },
+ { 0x48BE, 9516 },
+ { 0x48BF, 9521 },
+ { 0x48C2, 9526 },
+ { 0x48C4, 9531 },
+ { 0x48C5, 9536 },
+ { 0x48CC, 9541 },
+ { 0x48CE, 9546 },
+ { 0x48D0, 9551 },
+ { 0x48D2, 9556 },
+ { 0x48DA, 9561 },
+ { 0x48DB, 9566 },
+ { 0x48BD, 9571 },
+ { 0x48C8, 9576 },
+ { 0x48DE, 9581 },
+ { 0x48D7, 9586 },
+ { 0x48AF, 9591 },
+ { 0x48B4, 9596 },
+ { 0x48D5, 9601 },
+ { 0x48B2, 9606 },
+ { 0x48BA, 9611 },
+ { 0x48C3, 9616 },
+ { 0x48CD, 9621 },
+ { 0x48B1, 9626 },
+ { 0x48D3, 9631 },
+ { 0x48C6, 9636 },
+ { 0x48D1, 9641 },
+ { 0x48D4, 9646 },
+ { 0x48DC, 9651 },
+ { 0x48CB, 9656 },
+ { 0x48C1, 9661 },
+ { 0x48B6, 9666 },
+ { 0x48CF, 9672 },
+ { 0x48CA, 9678 },
+ { 0x48D9, 9684 },
+ { 0x48DD, 9690 },
+ { 0x48C9, 9696 },
+ { 0x48D8, 9702 },
{ 0x2A18, 9708 },
{ 0x1C9E, 9714 },
- { 0x7D54, 9717 },
- { 0x809D, 9720 },
- { 0x50BC, 9721 },
- { 0x50BD, 9726 },
- { 0x50BE, 9731 },
- { 0x50BF, 9736 },
- { 0x50C0, 9741 },
- { 0x50B3, 9746 },
- { 0x50B4, 9751 },
- { 0x50AB, 9756 },
- { 0x50BA, 9761 },
- { 0x50B0, 9766 },
- { 0x50AF, 9771 },
- { 0x50C2, 9776 },
- { 0x50A8, 9781 },
- { 0x50A9, 9786 },
- { 0x50AA, 9791 },
- { 0x50B7, 9796 },
- { 0x50A7, 9801 },
- { 0x50B9, 9806 },
- { 0x50B2, 9811 },
- { 0x50B5, 9816 },
- { 0x50C1, 9821 },
- { 0x50AD, 9826 },
- { 0x50AC, 9831 },
- { 0x50BB, 9836 },
- { 0x50B1, 9841 },
- { 0x50AE, 9846 },
- { 0x50B8, 9851 },
- { 0x50B6, 9856 },
- { 0x50C4, 9861 },
- { 0x50C8, 9867 },
- { 0x50C6, 9873 },
- { 0x50C7, 9879 },
- { 0x50C3, 9885 },
- { 0x50C5, 9891 },
- { 0x50C9, 9897 },
- { 0x50CB, 9903 },
- { 0x50CA, 9909 },
- { 0x50CD, 9915 },
- { 0x50CC, 9920 },
- { 0x50CF, 9926 },
- { 0x50D0, 9933 },
- { 0x50D3, 9939 },
- { 0x50D2, 9944 },
- { 0x50D4, 9950 },
- { 0x50D5, 9957 },
- { 0x50CE, 9963 },
- { 0x50D1, 9969 },
- { 0x50DC, 9976 },
- { 0x50DF, 9981 },
- { 0x50D7, 9987 },
- { 0x50D6, 9993 },
- { 0x50D8, 9998 },
- { 0x50D9, 10005 },
- { 0x50DB, 10011 },
- { 0x50DA, 10016 },
- { 0x50DD, 10022 },
- { 0x50DE, 10029 },
- { 0x7BE3, 10035 },
+ { 0x7D59, 9717 },
+ { 0x80A2, 9720 },
+ { 0x50C1, 9721 },
+ { 0x50C2, 9726 },
+ { 0x50C3, 9731 },
+ { 0x50C4, 9736 },
+ { 0x50C5, 9741 },
+ { 0x50B8, 9746 },
+ { 0x50B9, 9751 },
+ { 0x50B0, 9756 },
+ { 0x50BF, 9761 },
+ { 0x50B5, 9766 },
+ { 0x50B4, 9771 },
+ { 0x50C7, 9776 },
+ { 0x50AD, 9781 },
+ { 0x50AE, 9786 },
+ { 0x50AF, 9791 },
+ { 0x50BC, 9796 },
+ { 0x50AC, 9801 },
+ { 0x50BE, 9806 },
+ { 0x50B7, 9811 },
+ { 0x50BA, 9816 },
+ { 0x50C6, 9821 },
+ { 0x50B2, 9826 },
+ { 0x50B1, 9831 },
+ { 0x50C0, 9836 },
+ { 0x50B6, 9841 },
+ { 0x50B3, 9846 },
+ { 0x50BD, 9851 },
+ { 0x50BB, 9856 },
+ { 0x50C9, 9861 },
+ { 0x50CD, 9867 },
+ { 0x50CB, 9873 },
+ { 0x50CC, 9879 },
+ { 0x50C8, 9885 },
+ { 0x50CA, 9891 },
+ { 0x50CE, 9897 },
+ { 0x50D0, 9903 },
+ { 0x50CF, 9909 },
+ { 0x50D2, 9915 },
+ { 0x50D1, 9920 },
+ { 0x50D4, 9926 },
+ { 0x50D5, 9933 },
+ { 0x50D8, 9939 },
+ { 0x50D7, 9944 },
+ { 0x50D9, 9950 },
+ { 0x50DA, 9957 },
+ { 0x50D3, 9963 },
+ { 0x50D6, 9969 },
+ { 0x50E1, 9976 },
+ { 0x50E4, 9981 },
+ { 0x50DC, 9987 },
+ { 0x50DB, 9993 },
+ { 0x50DD, 9998 },
+ { 0x50DE, 10005 },
+ { 0x50E0, 10011 },
+ { 0x50DF, 10016 },
+ { 0x50E2, 10022 },
+ { 0x50E3, 10029 },
+ { 0x7BE8, 10035 },
{ 0x1CA6, 10037 },
{ 0x1CE2, 10038 },
- { 0x81CE, 10039 },
- { 0x7D2B, 10041 },
+ { 0x81D3, 10039 },
+ { 0x7D30, 10041 },
{ 0x1CAB, 10045 },
{ 0x1DA1, 10049 },
{ 0x1CAA, 10051 },
- { 0x807B, 10054 },
- { 0x7BBB, 10055 },
- { 0x7BDC, 10056 },
- { 0x7BE2, 10058 },
+ { 0x8080, 10054 },
+ { 0x7BC0, 10055 },
+ { 0x7BE1, 10056 },
+ { 0x7BE7, 10058 },
{ 0x1CE2, 10060 },
{ 0x1CA6, 10063 },
- { 0x7B17, 10066 },
- { 0x7E53, 10069 },
- { 0x7BB4, 10075 },
- { 0x7BA5, 10076 },
- { 0x80FB, 10077 },
- { 0x7AF3, 10080 },
+ { 0x7B1C, 10066 },
+ { 0x7E58, 10069 },
+ { 0x7BB9, 10075 },
+ { 0x7BAA, 10076 },
+ { 0x8100, 10077 },
+ { 0x7AF8, 10080 },
{ 0x1CA5, 10082 },
{ 0x1CE0, 10083 },
{ 0x1C89, 10084 },
{ 0x1CA8, 10085 },
{ 0x1E67, 10086 },
{ 0x006C, 10088 },
- { 0x7CD4, 10089 },
+ { 0x7CD9, 10089 },
{ 0x2359, 10095 },
- { 0x7F64, 10099 },
+ { 0x7F69, 10099 },
{ 0x2361, 10103 },
- { 0x7B64, 10109 },
+ { 0x7B69, 10109 },
{ 0x1D33, 10113 },
{ 0x222C, 10115 },
- { 0x7AC3, 10116 },
+ { 0x7AC8, 10116 },
{ 0x22E8, 10119 },
- { 0x82F5, 10122 },
- { 0x82C4, 10125 },
- { 0x8311, 10128 },
- { 0x82F1, 10132 },
- { 0x82BE, 10136 },
- { 0x82C1, 10139 },
- { 0x82D0, 10142 },
- { 0x82C2, 10144 },
- { 0x82C7, 10146 },
- { 0x82CC, 10149 },
- { 0x82C8, 10152 },
- { 0x82CB, 10155 },
- { 0x82CA, 10158 },
- { 0x82CF, 10161 },
- { 0x82C6, 10164 },
- { 0x82CE, 10167 },
- { 0x82CD, 10170 },
- { 0x82C9, 10173 },
- { 0x82F6, 10176 },
- { 0x82F7, 10179 },
- { 0x82F8, 10184 },
- { 0x82F9, 10189 },
- { 0x82FA, 10194 },
- { 0x82FB, 10199 },
- { 0x82FC, 10204 },
- { 0x82FD, 10209 },
- { 0x82FE, 10214 },
- { 0x82FF, 10219 },
- { 0x8300, 10224 },
- { 0x8301, 10229 },
- { 0x8302, 10234 },
- { 0x8303, 10239 },
- { 0x8304, 10244 },
- { 0x8305, 10249 },
- { 0x8306, 10254 },
- { 0x8307, 10259 },
- { 0x8308, 10264 },
- { 0x8309, 10269 },
- { 0x830A, 10274 },
- { 0x830B, 10279 },
- { 0x830C, 10284 },
- { 0x830D, 10289 },
- { 0x830E, 10294 },
- { 0x830F, 10299 },
- { 0x8310, 10304 },
- { 0x82D7, 10309 },
- { 0x82D8, 10314 },
- { 0x82D9, 10319 },
- { 0x82DA, 10324 },
- { 0x82DB, 10329 },
- { 0x82DC, 10334 },
- { 0x82DD, 10339 },
- { 0x82DE, 10344 },
- { 0x82DF, 10349 },
- { 0x82E0, 10354 },
- { 0x82E1, 10359 },
- { 0x82E2, 10364 },
- { 0x82E3, 10369 },
- { 0x82E4, 10374 },
- { 0x82E5, 10379 },
- { 0x82E6, 10384 },
- { 0x82E7, 10389 },
- { 0x82E8, 10394 },
- { 0x82E9, 10399 },
- { 0x82EA, 10404 },
- { 0x82EB, 10409 },
- { 0x82EC, 10414 },
- { 0x82ED, 10419 },
- { 0x82EE, 10424 },
- { 0x82EF, 10429 },
- { 0x82F0, 10434 },
- { 0x8313, 10439 },
- { 0x82F3, 10443 },
- { 0x82BF, 10447 },
- { 0x82B6, 10450 },
- { 0x8314, 10452 },
- { 0x82BA, 10454 },
- { 0x82D3, 10457 },
- { 0x82B9, 10460 },
- { 0x82BB, 10463 },
- { 0x82F2, 10466 },
- { 0x82C5, 10469 },
- { 0x82C0, 10471 },
- { 0x82D5, 10473 },
- { 0x8312, 10476 },
- { 0x82BC, 10479 },
- { 0x82D2, 10481 },
- { 0x82B8, 10484 },
- { 0x82D1, 10487 },
- { 0x82BD, 10489 },
- { 0x82F4, 10491 },
- { 0x82D6, 10494 },
- { 0x82B7, 10497 },
- { 0x82D4, 10500 },
- { 0x82C3, 10503 },
+ { 0x82FA, 10122 },
+ { 0x82C9, 10125 },
+ { 0x8316, 10128 },
+ { 0x82F6, 10132 },
+ { 0x82C3, 10136 },
+ { 0x82C6, 10139 },
+ { 0x82D5, 10142 },
+ { 0x82C7, 10144 },
+ { 0x82CC, 10146 },
+ { 0x82D1, 10149 },
+ { 0x82CD, 10152 },
+ { 0x82D0, 10155 },
+ { 0x82CF, 10158 },
+ { 0x82D4, 10161 },
+ { 0x82CB, 10164 },
+ { 0x82D3, 10167 },
+ { 0x82D2, 10170 },
+ { 0x82CE, 10173 },
+ { 0x82FB, 10176 },
+ { 0x82FC, 10179 },
+ { 0x82FD, 10184 },
+ { 0x82FE, 10189 },
+ { 0x82FF, 10194 },
+ { 0x8300, 10199 },
+ { 0x8301, 10204 },
+ { 0x8302, 10209 },
+ { 0x8303, 10214 },
+ { 0x8304, 10219 },
+ { 0x8305, 10224 },
+ { 0x8306, 10229 },
+ { 0x8307, 10234 },
+ { 0x8308, 10239 },
+ { 0x8309, 10244 },
+ { 0x830A, 10249 },
+ { 0x830B, 10254 },
+ { 0x830C, 10259 },
+ { 0x830D, 10264 },
+ { 0x830E, 10269 },
+ { 0x830F, 10274 },
+ { 0x8310, 10279 },
+ { 0x8311, 10284 },
+ { 0x8312, 10289 },
+ { 0x8313, 10294 },
+ { 0x8314, 10299 },
+ { 0x8315, 10304 },
+ { 0x82DC, 10309 },
+ { 0x82DD, 10314 },
+ { 0x82DE, 10319 },
+ { 0x82DF, 10324 },
+ { 0x82E0, 10329 },
+ { 0x82E1, 10334 },
+ { 0x82E2, 10339 },
+ { 0x82E3, 10344 },
+ { 0x82E4, 10349 },
+ { 0x82E5, 10354 },
+ { 0x82E6, 10359 },
+ { 0x82E7, 10364 },
+ { 0x82E8, 10369 },
+ { 0x82E9, 10374 },
+ { 0x82EA, 10379 },
+ { 0x82EB, 10384 },
+ { 0x82EC, 10389 },
+ { 0x82ED, 10394 },
+ { 0x82EE, 10399 },
+ { 0x82EF, 10404 },
+ { 0x82F0, 10409 },
+ { 0x82F1, 10414 },
+ { 0x82F2, 10419 },
+ { 0x82F3, 10424 },
+ { 0x82F4, 10429 },
+ { 0x82F5, 10434 },
+ { 0x8318, 10439 },
+ { 0x82F8, 10443 },
+ { 0x82C4, 10447 },
+ { 0x82BB, 10450 },
+ { 0x8319, 10452 },
+ { 0x82BF, 10454 },
+ { 0x82D8, 10457 },
+ { 0x82BE, 10460 },
+ { 0x82C0, 10463 },
+ { 0x82F7, 10466 },
+ { 0x82CA, 10469 },
+ { 0x82C5, 10471 },
+ { 0x82DA, 10473 },
+ { 0x8317, 10476 },
+ { 0x82C1, 10479 },
+ { 0x82D7, 10481 },
+ { 0x82BD, 10484 },
+ { 0x82D6, 10487 },
+ { 0x82C2, 10489 },
+ { 0x82F9, 10491 },
+ { 0x82DB, 10494 },
+ { 0x82BC, 10497 },
+ { 0x82D9, 10500 },
+ { 0x82C8, 10503 },
{ 0x167A, 10505 },
{ 0x1682, 10509 },
{ 0x167B, 10513 },
@@ -50441,83 +50448,83 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1754, 11242 },
{ 0x1751, 11248 },
{ 0x1750, 11254 },
- { 0x39F2, 11260 },
- { 0x39F9, 11264 },
- { 0x3A01, 11268 },
- { 0x3A03, 11273 },
- { 0x3A04, 11278 },
- { 0x3A02, 11283 },
- { 0x39F7, 11288 },
- { 0x39F4, 11292 },
- { 0x39F8, 11296 },
- { 0x39F6, 11300 },
- { 0x39F3, 11304 },
- { 0x3A00, 11308 },
- { 0x39FF, 11312 },
- { 0x39FE, 11316 },
- { 0x39FA, 11320 },
- { 0x39FC, 11324 },
- { 0x39F5, 11328 },
- { 0x39FD, 11332 },
- { 0x39FB, 11336 },
- { 0x39F0, 11340 },
- { 0x39DC, 11345 },
- { 0x39CC, 11350 },
- { 0x39D4, 11355 },
- { 0x39E2, 11360 },
- { 0x39C8, 11365 },
- { 0x39EE, 11370 },
- { 0x39C2, 11375 },
- { 0x39EA, 11380 },
- { 0x39E4, 11385 },
- { 0x39DA, 11390 },
- { 0x39DE, 11395 },
- { 0x39E8, 11400 },
- { 0x39D0, 11405 },
- { 0x39D6, 11410 },
- { 0x39EC, 11415 },
- { 0x39E6, 11420 },
- { 0x39CE, 11425 },
- { 0x39C4, 11430 },
- { 0x39CA, 11435 },
- { 0x39D2, 11440 },
- { 0x39E0, 11445 },
- { 0x39D8, 11450 },
- { 0x39C6, 11455 },
- { 0x39F1, 11460 },
- { 0x39DD, 11465 },
- { 0x39CD, 11470 },
- { 0x39D5, 11475 },
- { 0x39E3, 11480 },
- { 0x39C9, 11485 },
- { 0x39EF, 11490 },
- { 0x39C3, 11495 },
- { 0x39EB, 11500 },
- { 0x39E5, 11505 },
- { 0x39DB, 11510 },
- { 0x39DF, 11515 },
- { 0x39E9, 11520 },
- { 0x39D1, 11525 },
- { 0x39D7, 11530 },
- { 0x39ED, 11535 },
- { 0x39E7, 11540 },
- { 0x39CF, 11545 },
- { 0x39C5, 11550 },
- { 0x39CB, 11555 },
- { 0x39D3, 11560 },
- { 0x39E1, 11565 },
- { 0x39D9, 11570 },
- { 0x39C7, 11575 },
- { 0x3A08, 11580 },
- { 0x3A09, 11585 },
- { 0x3A05, 11590 },
- { 0x3A07, 11594 },
- { 0x3A06, 11598 },
+ { 0x39F7, 11260 },
+ { 0x39FE, 11264 },
+ { 0x3A06, 11268 },
+ { 0x3A08, 11273 },
+ { 0x3A09, 11278 },
+ { 0x3A07, 11283 },
+ { 0x39FC, 11288 },
+ { 0x39F9, 11292 },
+ { 0x39FD, 11296 },
+ { 0x39FB, 11300 },
+ { 0x39F8, 11304 },
+ { 0x3A05, 11308 },
+ { 0x3A04, 11312 },
+ { 0x3A03, 11316 },
+ { 0x39FF, 11320 },
+ { 0x3A01, 11324 },
+ { 0x39FA, 11328 },
+ { 0x3A02, 11332 },
+ { 0x3A00, 11336 },
+ { 0x39F5, 11340 },
+ { 0x39E1, 11345 },
+ { 0x39D1, 11350 },
+ { 0x39D9, 11355 },
+ { 0x39E7, 11360 },
+ { 0x39CD, 11365 },
+ { 0x39F3, 11370 },
+ { 0x39C7, 11375 },
+ { 0x39EF, 11380 },
+ { 0x39E9, 11385 },
+ { 0x39DF, 11390 },
+ { 0x39E3, 11395 },
+ { 0x39ED, 11400 },
+ { 0x39D5, 11405 },
+ { 0x39DB, 11410 },
+ { 0x39F1, 11415 },
+ { 0x39EB, 11420 },
+ { 0x39D3, 11425 },
+ { 0x39C9, 11430 },
+ { 0x39CF, 11435 },
+ { 0x39D7, 11440 },
+ { 0x39E5, 11445 },
+ { 0x39DD, 11450 },
+ { 0x39CB, 11455 },
+ { 0x39F6, 11460 },
+ { 0x39E2, 11465 },
+ { 0x39D2, 11470 },
+ { 0x39DA, 11475 },
+ { 0x39E8, 11480 },
+ { 0x39CE, 11485 },
+ { 0x39F4, 11490 },
+ { 0x39C8, 11495 },
+ { 0x39F0, 11500 },
+ { 0x39EA, 11505 },
+ { 0x39E0, 11510 },
+ { 0x39E4, 11515 },
+ { 0x39EE, 11520 },
+ { 0x39D6, 11525 },
+ { 0x39DC, 11530 },
+ { 0x39F2, 11535 },
+ { 0x39EC, 11540 },
+ { 0x39D4, 11545 },
+ { 0x39CA, 11550 },
+ { 0x39D0, 11555 },
+ { 0x39D8, 11560 },
+ { 0x39E6, 11565 },
+ { 0x39DE, 11570 },
+ { 0x39CC, 11575 },
+ { 0x3A0D, 11580 },
+ { 0x3A0E, 11585 },
+ { 0x3A0A, 11590 },
+ { 0x3A0C, 11594 },
+ { 0x3A0B, 11598 },
{ 0x2600, 11602 },
{ 0x255F, 11605 },
{ 0x255D, 11611 },
{ 0x2560, 11615 },
- { 0x7B4E, 11621 },
+ { 0x7B53, 11621 },
{ 0x2A46, 11623 },
{ 0x27EA, 11627 },
{ 0x2A47, 11631 },
@@ -50526,7 +50533,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F60, 11642 },
{ 0x2A0F, 11645 },
{ 0x1F6D, 11649 },
- { 0x7CC2, 11652 },
+ { 0x7CC7, 11652 },
{ 0x202F, 11657 },
{ 0x1F5F, 11660 },
{ 0x2A10, 11663 },
@@ -50536,533 +50543,533 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x202D, 11677 },
{ 0x1C9F, 11679 },
{ 0x1CD4, 11682 },
- { 0x7C11, 11685 },
+ { 0x7C16, 11685 },
{ 0x2A17, 11689 },
- { 0x7C12, 11695 },
- { 0x7D55, 11699 },
- { 0x7C3A, 11702 },
+ { 0x7C17, 11695 },
+ { 0x7D5A, 11699 },
+ { 0x7C3F, 11702 },
{ 0x25EC, 11704 },
- { 0x7D8F, 11707 },
+ { 0x7D94, 11707 },
{ 0x262B, 11710 },
{ 0x262A, 11714 },
{ 0x1CCB, 11718 },
{ 0x2698, 11722 },
{ 0x2679, 11726 },
{ 0x2678, 11730 },
- { 0x35CB, 11734 },
- { 0x35CA, 11737 },
- { 0x35DE, 11739 },
- { 0x35E3, 11742 },
- { 0x35DF, 11745 },
- { 0x35E2, 11748 },
- { 0x35E1, 11751 },
- { 0x35E6, 11754 },
- { 0x35DD, 11757 },
- { 0x35E5, 11760 },
- { 0x35E4, 11763 },
- { 0x35E0, 11766 },
- { 0x35D5, 11769 },
- { 0x35D3, 11772 },
- { 0x35D6, 11775 },
- { 0x35D4, 11778 },
- { 0x35D7, 11781 },
- { 0x35DB, 11784 },
- { 0x35DC, 11787 },
- { 0x35D9, 11790 },
- { 0x35D2, 11793 },
- { 0x35DA, 11796 },
- { 0x35D8, 11799 },
- { 0x35D0, 11802 },
- { 0x35D1, 11805 },
- { 0x35CC, 11808 },
- { 0x3506, 11811 },
- { 0x359E, 11814 },
- { 0x34E1, 11817 },
- { 0x3577, 11820 },
- { 0x3552, 11823 },
- { 0x3507, 11826 },
- { 0x350F, 11829 },
- { 0x35A7, 11832 },
- { 0x34E9, 11835 },
- { 0x3580, 11838 },
- { 0x355A, 11841 },
- { 0x3523, 11844 },
- { 0x35BC, 11847 },
- { 0x34FC, 11850 },
- { 0x3594, 11853 },
- { 0x356D, 11856 },
- { 0x351D, 11859 },
- { 0x35B6, 11862 },
- { 0x34F6, 11865 },
- { 0x358E, 11868 },
- { 0x3567, 11871 },
- { 0x34BD, 11874 },
- { 0x359F, 11877 },
- { 0x3515, 11880 },
- { 0x35AE, 11883 },
- { 0x34EE, 11886 },
- { 0x3586, 11889 },
- { 0x355F, 11892 },
- { 0x352A, 11895 },
- { 0x35C3, 11898 },
- { 0x3502, 11901 },
- { 0x359A, 11904 },
- { 0x3573, 11907 },
- { 0x3509, 11910 },
- { 0x35A1, 11913 },
- { 0x34E3, 11916 },
- { 0x357A, 11919 },
- { 0x3554, 11922 },
- { 0x34E2, 11925 },
- { 0x3524, 11928 },
- { 0x35BD, 11931 },
- { 0x34FD, 11934 },
- { 0x3595, 11937 },
- { 0x356E, 11940 },
- { 0x3527, 11943 },
- { 0x35C0, 11946 },
- { 0x3500, 11949 },
- { 0x3598, 11952 },
- { 0x3571, 11955 },
- { 0x351B, 11958 },
- { 0x35B4, 11961 },
- { 0x34F4, 11964 },
- { 0x358C, 11967 },
- { 0x3565, 11970 },
- { 0x352B, 11973 },
- { 0x35C5, 11976 },
- { 0x3503, 11979 },
- { 0x359B, 11982 },
- { 0x3574, 11985 },
- { 0x352C, 11988 },
- { 0x35C6, 11991 },
- { 0x35C8, 11994 },
- { 0x3504, 11997 },
- { 0x359C, 12000 },
- { 0x3575, 12003 },
- { 0x3578, 12006 },
- { 0x352E, 12009 },
- { 0x350D, 12012 },
- { 0x35A5, 12015 },
- { 0x34E7, 12018 },
- { 0x357E, 12021 },
- { 0x3558, 12024 },
- { 0x351C, 12027 },
- { 0x35B5, 12030 },
- { 0x34F5, 12033 },
- { 0x358D, 12036 },
- { 0x3566, 12039 },
- { 0x351F, 12042 },
- { 0x35B8, 12045 },
- { 0x34F8, 12048 },
- { 0x3590, 12051 },
- { 0x3569, 12054 },
- { 0x3517, 12057 },
- { 0x35B0, 12060 },
- { 0x34F0, 12063 },
- { 0x3588, 12066 },
- { 0x3561, 12069 },
- { 0x3553, 12072 },
- { 0x3516, 12075 },
- { 0x35AF, 12078 },
- { 0x34EF, 12081 },
- { 0x3587, 12084 },
- { 0x3560, 12087 },
- { 0x350B, 12090 },
- { 0x35A3, 12093 },
- { 0x34E5, 12096 },
- { 0x357C, 12099 },
- { 0x3556, 12102 },
- { 0x3526, 12105 },
- { 0x35BF, 12108 },
- { 0x34FF, 12111 },
- { 0x3597, 12114 },
- { 0x3570, 12117 },
- { 0x3521, 12120 },
- { 0x35BA, 12123 },
- { 0x34FA, 12126 },
- { 0x3592, 12129 },
- { 0x356B, 12132 },
- { 0x34C4, 12135 },
- { 0x350E, 12138 },
- { 0x35A6, 12141 },
- { 0x34E8, 12144 },
- { 0x357F, 12147 },
- { 0x3559, 12150 },
- { 0x3535, 12153 },
- { 0x34D7, 12156 },
- { 0x3548, 12159 },
- { 0x34D1, 12162 },
- { 0x3519, 12165 },
- { 0x35B2, 12168 },
- { 0x34F2, 12171 },
- { 0x358A, 12174 },
- { 0x3563, 12177 },
- { 0x3542, 12180 },
- { 0x34BE, 12183 },
- { 0x34C9, 12186 },
- { 0x353A, 12189 },
- { 0x3514, 12192 },
- { 0x35AC, 12195 },
- { 0x34ED, 12198 },
- { 0x3584, 12201 },
- { 0x355E, 12204 },
- { 0x34DD, 12207 },
- { 0x35C4, 12210 },
- { 0x354E, 12213 },
- { 0x350A, 12216 },
- { 0x34BF, 12219 },
- { 0x35A2, 12222 },
- { 0x34E4, 12225 },
- { 0x357B, 12228 },
- { 0x3530, 12231 },
- { 0x3555, 12234 },
- { 0x34D8, 12237 },
- { 0x3549, 12240 },
- { 0x3528, 12243 },
- { 0x34DB, 12246 },
- { 0x354C, 12249 },
- { 0x3511, 12252 },
- { 0x35A9, 12255 },
- { 0x34EB, 12258 },
- { 0x3582, 12261 },
- { 0x355C, 12264 },
- { 0x34CF, 12267 },
- { 0x3540, 12270 },
- { 0x3510, 12273 },
- { 0x35A8, 12276 },
- { 0x34EA, 12279 },
- { 0x3581, 12282 },
- { 0x355B, 12285 },
- { 0x34DE, 12288 },
- { 0x354F, 12291 },
- { 0x351E, 12294 },
- { 0x35B7, 12297 },
- { 0x34F7, 12300 },
- { 0x358F, 12303 },
- { 0x3568, 12306 },
- { 0x34DF, 12309 },
- { 0x3525, 12312 },
- { 0x35BE, 12315 },
- { 0x34FE, 12318 },
- { 0x3596, 12321 },
- { 0x356F, 12324 },
- { 0x3550, 12327 },
- { 0x352D, 12330 },
- { 0x35C7, 12333 },
- { 0x3505, 12336 },
- { 0x359D, 12339 },
- { 0x3576, 12342 },
- { 0x352F, 12345 },
- { 0x34C2, 12348 },
- { 0x3533, 12351 },
- { 0x34D0, 12354 },
- { 0x3541, 12357 },
- { 0x34D3, 12360 },
- { 0x3520, 12363 },
- { 0x35B9, 12366 },
- { 0x34F9, 12369 },
- { 0x3591, 12372 },
- { 0x356A, 12375 },
- { 0x3544, 12378 },
- { 0x34CB, 12381 },
- { 0x3518, 12384 },
- { 0x35B1, 12387 },
- { 0x34F1, 12390 },
- { 0x3589, 12393 },
- { 0x3562, 12396 },
- { 0x353C, 12399 },
- { 0x34CA, 12402 },
- { 0x353B, 12405 },
- { 0x350C, 12408 },
- { 0x34C0, 12411 },
- { 0x35A4, 12414 },
- { 0x34E6, 12417 },
- { 0x357D, 12420 },
- { 0x3531, 12423 },
- { 0x3557, 12426 },
- { 0x34DA, 12429 },
- { 0x354B, 12432 },
- { 0x34D5, 12435 },
- { 0x3522, 12438 },
- { 0x35BB, 12441 },
- { 0x34FB, 12444 },
- { 0x3593, 12447 },
- { 0x356C, 12450 },
- { 0x3546, 12453 },
- { 0x34C3, 12456 },
- { 0x3534, 12459 },
- { 0x34CD, 12462 },
- { 0x351A, 12465 },
- { 0x35B3, 12468 },
- { 0x34F3, 12471 },
- { 0x358B, 12474 },
- { 0x3564, 12477 },
- { 0x353E, 12480 },
- { 0x34C8, 12483 },
- { 0x35AD, 12486 },
- { 0x3585, 12489 },
- { 0x3539, 12492 },
- { 0x3512, 12495 },
- { 0x34C6, 12498 },
- { 0x35AA, 12501 },
- { 0x3537, 12504 },
- { 0x34C5, 12507 },
- { 0x3536, 12510 },
- { 0x3513, 12513 },
- { 0x35AB, 12516 },
- { 0x34EC, 12519 },
- { 0x3583, 12522 },
- { 0x355D, 12525 },
- { 0x34D2, 12528 },
- { 0x3543, 12531 },
- { 0x3508, 12534 },
- { 0x35A0, 12537 },
- { 0x3529, 12540 },
- { 0x35C1, 12543 },
- { 0x3501, 12546 },
- { 0x3599, 12549 },
- { 0x3572, 12552 },
- { 0x3579, 12555 },
- { 0x34D9, 12558 },
- { 0x354A, 12561 },
- { 0x34E0, 12564 },
- { 0x3551, 12567 },
- { 0x34D4, 12570 },
- { 0x3545, 12573 },
- { 0x34CC, 12576 },
- { 0x353D, 12579 },
- { 0x34C1, 12582 },
- { 0x3532, 12585 },
- { 0x34D6, 12588 },
- { 0x3547, 12591 },
- { 0x34CE, 12594 },
- { 0x353F, 12597 },
- { 0x34C7, 12600 },
- { 0x3538, 12603 },
- { 0x35E8, 12606 },
- { 0x35CD, 12610 },
- { 0x35CE, 12614 },
- { 0x35E7, 12618 },
- { 0x35CF, 12622 },
- { 0x34DC, 12626 },
- { 0x35C2, 12629 },
- { 0x354D, 12632 },
- { 0x35C9, 12635 },
+ { 0x35D0, 11734 },
+ { 0x35CF, 11737 },
+ { 0x35E3, 11739 },
+ { 0x35E8, 11742 },
+ { 0x35E4, 11745 },
+ { 0x35E7, 11748 },
+ { 0x35E6, 11751 },
+ { 0x35EB, 11754 },
+ { 0x35E2, 11757 },
+ { 0x35EA, 11760 },
+ { 0x35E9, 11763 },
+ { 0x35E5, 11766 },
+ { 0x35DA, 11769 },
+ { 0x35D8, 11772 },
+ { 0x35DB, 11775 },
+ { 0x35D9, 11778 },
+ { 0x35DC, 11781 },
+ { 0x35E0, 11784 },
+ { 0x35E1, 11787 },
+ { 0x35DE, 11790 },
+ { 0x35D7, 11793 },
+ { 0x35DF, 11796 },
+ { 0x35DD, 11799 },
+ { 0x35D5, 11802 },
+ { 0x35D6, 11805 },
+ { 0x35D1, 11808 },
+ { 0x350B, 11811 },
+ { 0x35A3, 11814 },
+ { 0x34E6, 11817 },
+ { 0x357C, 11820 },
+ { 0x3557, 11823 },
+ { 0x350C, 11826 },
+ { 0x3514, 11829 },
+ { 0x35AC, 11832 },
+ { 0x34EE, 11835 },
+ { 0x3585, 11838 },
+ { 0x355F, 11841 },
+ { 0x3528, 11844 },
+ { 0x35C1, 11847 },
+ { 0x3501, 11850 },
+ { 0x3599, 11853 },
+ { 0x3572, 11856 },
+ { 0x3522, 11859 },
+ { 0x35BB, 11862 },
+ { 0x34FB, 11865 },
+ { 0x3593, 11868 },
+ { 0x356C, 11871 },
+ { 0x34C2, 11874 },
+ { 0x35A4, 11877 },
+ { 0x351A, 11880 },
+ { 0x35B3, 11883 },
+ { 0x34F3, 11886 },
+ { 0x358B, 11889 },
+ { 0x3564, 11892 },
+ { 0x352F, 11895 },
+ { 0x35C8, 11898 },
+ { 0x3507, 11901 },
+ { 0x359F, 11904 },
+ { 0x3578, 11907 },
+ { 0x350E, 11910 },
+ { 0x35A6, 11913 },
+ { 0x34E8, 11916 },
+ { 0x357F, 11919 },
+ { 0x3559, 11922 },
+ { 0x34E7, 11925 },
+ { 0x3529, 11928 },
+ { 0x35C2, 11931 },
+ { 0x3502, 11934 },
+ { 0x359A, 11937 },
+ { 0x3573, 11940 },
+ { 0x352C, 11943 },
+ { 0x35C5, 11946 },
+ { 0x3505, 11949 },
+ { 0x359D, 11952 },
+ { 0x3576, 11955 },
+ { 0x3520, 11958 },
+ { 0x35B9, 11961 },
+ { 0x34F9, 11964 },
+ { 0x3591, 11967 },
+ { 0x356A, 11970 },
+ { 0x3530, 11973 },
+ { 0x35CA, 11976 },
+ { 0x3508, 11979 },
+ { 0x35A0, 11982 },
+ { 0x3579, 11985 },
+ { 0x3531, 11988 },
+ { 0x35CB, 11991 },
+ { 0x35CD, 11994 },
+ { 0x3509, 11997 },
+ { 0x35A1, 12000 },
+ { 0x357A, 12003 },
+ { 0x357D, 12006 },
+ { 0x3533, 12009 },
+ { 0x3512, 12012 },
+ { 0x35AA, 12015 },
+ { 0x34EC, 12018 },
+ { 0x3583, 12021 },
+ { 0x355D, 12024 },
+ { 0x3521, 12027 },
+ { 0x35BA, 12030 },
+ { 0x34FA, 12033 },
+ { 0x3592, 12036 },
+ { 0x356B, 12039 },
+ { 0x3524, 12042 },
+ { 0x35BD, 12045 },
+ { 0x34FD, 12048 },
+ { 0x3595, 12051 },
+ { 0x356E, 12054 },
+ { 0x351C, 12057 },
+ { 0x35B5, 12060 },
+ { 0x34F5, 12063 },
+ { 0x358D, 12066 },
+ { 0x3566, 12069 },
+ { 0x3558, 12072 },
+ { 0x351B, 12075 },
+ { 0x35B4, 12078 },
+ { 0x34F4, 12081 },
+ { 0x358C, 12084 },
+ { 0x3565, 12087 },
+ { 0x3510, 12090 },
+ { 0x35A8, 12093 },
+ { 0x34EA, 12096 },
+ { 0x3581, 12099 },
+ { 0x355B, 12102 },
+ { 0x352B, 12105 },
+ { 0x35C4, 12108 },
+ { 0x3504, 12111 },
+ { 0x359C, 12114 },
+ { 0x3575, 12117 },
+ { 0x3526, 12120 },
+ { 0x35BF, 12123 },
+ { 0x34FF, 12126 },
+ { 0x3597, 12129 },
+ { 0x3570, 12132 },
+ { 0x34C9, 12135 },
+ { 0x3513, 12138 },
+ { 0x35AB, 12141 },
+ { 0x34ED, 12144 },
+ { 0x3584, 12147 },
+ { 0x355E, 12150 },
+ { 0x353A, 12153 },
+ { 0x34DC, 12156 },
+ { 0x354D, 12159 },
+ { 0x34D6, 12162 },
+ { 0x351E, 12165 },
+ { 0x35B7, 12168 },
+ { 0x34F7, 12171 },
+ { 0x358F, 12174 },
+ { 0x3568, 12177 },
+ { 0x3547, 12180 },
+ { 0x34C3, 12183 },
+ { 0x34CE, 12186 },
+ { 0x353F, 12189 },
+ { 0x3519, 12192 },
+ { 0x35B1, 12195 },
+ { 0x34F2, 12198 },
+ { 0x3589, 12201 },
+ { 0x3563, 12204 },
+ { 0x34E2, 12207 },
+ { 0x35C9, 12210 },
+ { 0x3553, 12213 },
+ { 0x350F, 12216 },
+ { 0x34C4, 12219 },
+ { 0x35A7, 12222 },
+ { 0x34E9, 12225 },
+ { 0x3580, 12228 },
+ { 0x3535, 12231 },
+ { 0x355A, 12234 },
+ { 0x34DD, 12237 },
+ { 0x354E, 12240 },
+ { 0x352D, 12243 },
+ { 0x34E0, 12246 },
+ { 0x3551, 12249 },
+ { 0x3516, 12252 },
+ { 0x35AE, 12255 },
+ { 0x34F0, 12258 },
+ { 0x3587, 12261 },
+ { 0x3561, 12264 },
+ { 0x34D4, 12267 },
+ { 0x3545, 12270 },
+ { 0x3515, 12273 },
+ { 0x35AD, 12276 },
+ { 0x34EF, 12279 },
+ { 0x3586, 12282 },
+ { 0x3560, 12285 },
+ { 0x34E3, 12288 },
+ { 0x3554, 12291 },
+ { 0x3523, 12294 },
+ { 0x35BC, 12297 },
+ { 0x34FC, 12300 },
+ { 0x3594, 12303 },
+ { 0x356D, 12306 },
+ { 0x34E4, 12309 },
+ { 0x352A, 12312 },
+ { 0x35C3, 12315 },
+ { 0x3503, 12318 },
+ { 0x359B, 12321 },
+ { 0x3574, 12324 },
+ { 0x3555, 12327 },
+ { 0x3532, 12330 },
+ { 0x35CC, 12333 },
+ { 0x350A, 12336 },
+ { 0x35A2, 12339 },
+ { 0x357B, 12342 },
+ { 0x3534, 12345 },
+ { 0x34C7, 12348 },
+ { 0x3538, 12351 },
+ { 0x34D5, 12354 },
+ { 0x3546, 12357 },
+ { 0x34D8, 12360 },
+ { 0x3525, 12363 },
+ { 0x35BE, 12366 },
+ { 0x34FE, 12369 },
+ { 0x3596, 12372 },
+ { 0x356F, 12375 },
+ { 0x3549, 12378 },
+ { 0x34D0, 12381 },
+ { 0x351D, 12384 },
+ { 0x35B6, 12387 },
+ { 0x34F6, 12390 },
+ { 0x358E, 12393 },
+ { 0x3567, 12396 },
+ { 0x3541, 12399 },
+ { 0x34CF, 12402 },
+ { 0x3540, 12405 },
+ { 0x3511, 12408 },
+ { 0x34C5, 12411 },
+ { 0x35A9, 12414 },
+ { 0x34EB, 12417 },
+ { 0x3582, 12420 },
+ { 0x3536, 12423 },
+ { 0x355C, 12426 },
+ { 0x34DF, 12429 },
+ { 0x3550, 12432 },
+ { 0x34DA, 12435 },
+ { 0x3527, 12438 },
+ { 0x35C0, 12441 },
+ { 0x3500, 12444 },
+ { 0x3598, 12447 },
+ { 0x3571, 12450 },
+ { 0x354B, 12453 },
+ { 0x34C8, 12456 },
+ { 0x3539, 12459 },
+ { 0x34D2, 12462 },
+ { 0x351F, 12465 },
+ { 0x35B8, 12468 },
+ { 0x34F8, 12471 },
+ { 0x3590, 12474 },
+ { 0x3569, 12477 },
+ { 0x3543, 12480 },
+ { 0x34CD, 12483 },
+ { 0x35B2, 12486 },
+ { 0x358A, 12489 },
+ { 0x353E, 12492 },
+ { 0x3517, 12495 },
+ { 0x34CB, 12498 },
+ { 0x35AF, 12501 },
+ { 0x353C, 12504 },
+ { 0x34CA, 12507 },
+ { 0x353B, 12510 },
+ { 0x3518, 12513 },
+ { 0x35B0, 12516 },
+ { 0x34F1, 12519 },
+ { 0x3588, 12522 },
+ { 0x3562, 12525 },
+ { 0x34D7, 12528 },
+ { 0x3548, 12531 },
+ { 0x350D, 12534 },
+ { 0x35A5, 12537 },
+ { 0x352E, 12540 },
+ { 0x35C6, 12543 },
+ { 0x3506, 12546 },
+ { 0x359E, 12549 },
+ { 0x3577, 12552 },
+ { 0x357E, 12555 },
+ { 0x34DE, 12558 },
+ { 0x354F, 12561 },
+ { 0x34E5, 12564 },
+ { 0x3556, 12567 },
+ { 0x34D9, 12570 },
+ { 0x354A, 12573 },
+ { 0x34D1, 12576 },
+ { 0x3542, 12579 },
+ { 0x34C6, 12582 },
+ { 0x3537, 12585 },
+ { 0x34DB, 12588 },
+ { 0x354C, 12591 },
+ { 0x34D3, 12594 },
+ { 0x3544, 12597 },
+ { 0x34CC, 12600 },
+ { 0x353D, 12603 },
+ { 0x35ED, 12606 },
+ { 0x35D2, 12610 },
+ { 0x35D3, 12614 },
+ { 0x35EC, 12618 },
+ { 0x35D4, 12622 },
+ { 0x34E1, 12626 },
+ { 0x35C7, 12629 },
+ { 0x3552, 12632 },
+ { 0x35CE, 12635 },
{ 0x1D1C, 12638 },
{ 0x1F0C, 12640 },
{ 0x0064, 12641 },
{ 0x2252, 12643 },
{ 0x1C87, 12645 },
- { 0x4EDA, 12646 },
- { 0x4ED8, 12649 },
- { 0x4ECB, 12653 },
- { 0x4ED9, 12656 },
- { 0x4ECD, 12659 },
- { 0x4ED2, 12662 },
- { 0x4ECE, 12665 },
- { 0x4ED1, 12668 },
- { 0x4ED0, 12671 },
- { 0x4ED5, 12674 },
- { 0x4ECC, 12677 },
- { 0x4ED4, 12680 },
- { 0x4ED3, 12683 },
- { 0x4ECF, 12686 },
- { 0x4EC0, 12689 },
- { 0x4EC6, 12693 },
- { 0x4EC2, 12697 },
- { 0x4EC8, 12701 },
- { 0x4EC4, 12705 },
- { 0x4EC1, 12709 },
- { 0x4EC9, 12713 },
- { 0x4ECA, 12717 },
- { 0x4EC7, 12721 },
- { 0x4EC3, 12725 },
- { 0x4EC5, 12729 },
- { 0x4EB4, 12733 },
- { 0x4EAA, 12736 },
- { 0x4EDC, 12739 },
- { 0x4EB5, 12742 },
- { 0x4EB7, 12745 },
- { 0x4EB3, 12748 },
- { 0x4EAC, 12751 },
- { 0x4EA2, 12754 },
- { 0x4EB0, 12757 },
- { 0x4EAB, 12760 },
- { 0x4EA5, 12763 },
- { 0x4EA8, 12766 },
- { 0x4EAF, 12769 },
- { 0x4EB1, 12772 },
- { 0x4EA6, 12775 },
- { 0x4EBA, 12778 },
- { 0x4EAD, 12781 },
- { 0x4EDF, 12784 },
- { 0x4EB6, 12787 },
- { 0x4EB9, 12790 },
- { 0x4EBB, 12793 },
- { 0x4EA3, 12796 },
- { 0x4EE2, 12799 },
- { 0x4EA4, 12802 },
- { 0x4EE1, 12805 },
- { 0x4EB2, 12808 },
- { 0x4EA9, 12811 },
- { 0x4EAE, 12814 },
- { 0x4EDD, 12817 },
- { 0x4EE0, 12820 },
- { 0x4EDE, 12823 },
- { 0x4EBC, 12826 },
- { 0x4EB8, 12830 },
- { 0x4EA7, 12834 },
- { 0x4ED6, 12838 },
- { 0x4ED7, 12841 },
- { 0x4EDB, 12844 },
- { 0x4EBD, 12847 },
- { 0x4EBE, 12852 },
- { 0x4EBF, 12857 },
+ { 0x4EDF, 12646 },
+ { 0x4EDD, 12649 },
+ { 0x4ED0, 12653 },
+ { 0x4EDE, 12656 },
+ { 0x4ED2, 12659 },
+ { 0x4ED7, 12662 },
+ { 0x4ED3, 12665 },
+ { 0x4ED6, 12668 },
+ { 0x4ED5, 12671 },
+ { 0x4EDA, 12674 },
+ { 0x4ED1, 12677 },
+ { 0x4ED9, 12680 },
+ { 0x4ED8, 12683 },
+ { 0x4ED4, 12686 },
+ { 0x4EC5, 12689 },
+ { 0x4ECB, 12693 },
+ { 0x4EC7, 12697 },
+ { 0x4ECD, 12701 },
+ { 0x4EC9, 12705 },
+ { 0x4EC6, 12709 },
+ { 0x4ECE, 12713 },
+ { 0x4ECF, 12717 },
+ { 0x4ECC, 12721 },
+ { 0x4EC8, 12725 },
+ { 0x4ECA, 12729 },
+ { 0x4EB9, 12733 },
+ { 0x4EAF, 12736 },
+ { 0x4EE1, 12739 },
+ { 0x4EBA, 12742 },
+ { 0x4EBC, 12745 },
+ { 0x4EB8, 12748 },
+ { 0x4EB1, 12751 },
+ { 0x4EA7, 12754 },
+ { 0x4EB5, 12757 },
+ { 0x4EB0, 12760 },
+ { 0x4EAA, 12763 },
+ { 0x4EAD, 12766 },
+ { 0x4EB4, 12769 },
+ { 0x4EB6, 12772 },
+ { 0x4EAB, 12775 },
+ { 0x4EBF, 12778 },
+ { 0x4EB2, 12781 },
+ { 0x4EE4, 12784 },
+ { 0x4EBB, 12787 },
+ { 0x4EBE, 12790 },
+ { 0x4EC0, 12793 },
+ { 0x4EA8, 12796 },
+ { 0x4EE7, 12799 },
+ { 0x4EA9, 12802 },
+ { 0x4EE6, 12805 },
+ { 0x4EB7, 12808 },
+ { 0x4EAE, 12811 },
+ { 0x4EB3, 12814 },
+ { 0x4EE2, 12817 },
+ { 0x4EE5, 12820 },
+ { 0x4EE3, 12823 },
+ { 0x4EC1, 12826 },
+ { 0x4EBD, 12830 },
+ { 0x4EAC, 12834 },
+ { 0x4EDB, 12838 },
+ { 0x4EDC, 12841 },
+ { 0x4EE0, 12844 },
+ { 0x4EC2, 12847 },
+ { 0x4EC3, 12852 },
+ { 0x4EC4, 12857 },
{ 0x1D8A, 12863 },
{ 0x2248, 12865 },
{ 0x22BE, 12866 },
- { 0x7E98, 12868 },
- { 0x7C1B, 12870 },
- { 0x7C21, 12871 },
- { 0x7BC9, 12873 },
- { 0x7B21, 12875 },
- { 0x7E61, 12877 },
- { 0x7D27, 12879 },
- { 0x7CBE, 12882 },
- { 0x810A, 12887 },
- { 0x7B8B, 12890 },
- { 0x7E65, 12891 },
- { 0x7BE0, 12892 },
- { 0x7B1F, 12894 },
- { 0x7CB9, 12896 },
- { 0x7CBA, 12897 },
- { 0x81C4, 12901 },
+ { 0x7E9D, 12868 },
+ { 0x7C20, 12870 },
+ { 0x7C26, 12871 },
+ { 0x7BCE, 12873 },
+ { 0x7B26, 12875 },
+ { 0x7E66, 12877 },
+ { 0x7D2C, 12879 },
+ { 0x7CC3, 12882 },
+ { 0x810F, 12887 },
+ { 0x7B90, 12890 },
+ { 0x7E6A, 12891 },
+ { 0x7BE5, 12892 },
+ { 0x7B24, 12894 },
+ { 0x7CBE, 12896 },
+ { 0x7CBF, 12897 },
+ { 0x81C9, 12901 },
{ 0x1FCF, 12903 },
{ 0x2781, 12905 },
- { 0x7BCB, 12912 },
- { 0x7C7D, 12913 },
- { 0x7C3E, 12915 },
- { 0x7BBC, 12917 },
- { 0x7F4E, 12918 },
- { 0x7F48, 12922 },
- { 0x7F54, 12926 },
- { 0x7F3B, 12930 },
- { 0x7F1D, 12933 },
- { 0x7F27, 12936 },
- { 0x7F42, 12939 },
- { 0x7C48, 12941 },
- { 0x80C8, 12942 },
- { 0x7D13, 12943 },
- { 0x7CF4, 12944 },
- { 0x8077, 12947 },
- { 0x7E6E, 12950 },
- { 0x7C09, 12952 },
- { 0x3EE3, 12955 },
+ { 0x7BD0, 12912 },
+ { 0x7C82, 12913 },
+ { 0x7C43, 12915 },
+ { 0x7BC1, 12917 },
+ { 0x7F53, 12918 },
+ { 0x7F4D, 12922 },
+ { 0x7F59, 12926 },
+ { 0x7F40, 12930 },
+ { 0x7F22, 12933 },
+ { 0x7F2C, 12936 },
+ { 0x7F47, 12939 },
+ { 0x7C4D, 12941 },
+ { 0x80CD, 12942 },
+ { 0x7D18, 12943 },
+ { 0x7CF9, 12944 },
+ { 0x807C, 12947 },
+ { 0x7E73, 12950 },
+ { 0x7C0E, 12952 },
+ { 0x3EE8, 12955 },
{ 0x1D5B, 12958 },
- { 0x802D, 12960 },
- { 0x7D68, 12963 },
- { 0x7C6C, 12966 },
- { 0x7D67, 12968 },
+ { 0x8032, 12960 },
+ { 0x7D6D, 12963 },
+ { 0x7C71, 12966 },
+ { 0x7D6C, 12968 },
{ 0x1D5A, 12971 },
- { 0x7B34, 12973 },
+ { 0x7B39, 12973 },
{ 0x1D28, 12975 },
{ 0x0061, 12977 },
- { 0x3995, 12979 },
- { 0x399A, 12982 },
- { 0x3996, 12985 },
- { 0x3999, 12988 },
- { 0x3998, 12991 },
- { 0x399D, 12994 },
- { 0x3994, 12997 },
- { 0x399C, 13000 },
- { 0x399B, 13003 },
- { 0x3997, 13006 },
- { 0x3979, 13009 },
- { 0x397E, 13013 },
- { 0x397C, 13017 },
- { 0x3978, 13021 },
- { 0x397F, 13025 },
- { 0x3980, 13029 },
- { 0x397B, 13033 },
- { 0x397A, 13037 },
- { 0x397D, 13041 },
- { 0x3981, 13045 },
- { 0x394F, 13049 },
- { 0x3952, 13052 },
- { 0x3950, 13055 },
- { 0x3954, 13058 },
- { 0x3951, 13061 },
- { 0x3953, 13064 },
- { 0x396C, 13067 },
- { 0x3964, 13070 },
- { 0x3957, 13073 },
- { 0x3977, 13076 },
- { 0x395D, 13079 },
- { 0x3955, 13082 },
- { 0x3973, 13085 },
- { 0x396F, 13088 },
- { 0x3967, 13091 },
- { 0x3969, 13094 },
- { 0x3972, 13097 },
- { 0x3976, 13100 },
- { 0x3962, 13103 },
- { 0x3974, 13106 },
- { 0x3971, 13109 },
- { 0x3970, 13112 },
- { 0x396D, 13115 },
- { 0x395B, 13118 },
- { 0x3968, 13121 },
- { 0x3965, 13124 },
- { 0x3958, 13127 },
- { 0x395E, 13130 },
- { 0x3956, 13133 },
- { 0x396E, 13136 },
- { 0x395A, 13139 },
- { 0x3960, 13142 },
- { 0x3966, 13145 },
- { 0x396B, 13148 },
- { 0x396A, 13151 },
- { 0x3975, 13154 },
- { 0x3963, 13157 },
- { 0x395C, 13160 },
- { 0x3959, 13163 },
- { 0x3961, 13166 },
- { 0x395F, 13169 },
- { 0x3987, 13172 },
- { 0x3986, 13176 },
- { 0x3990, 13180 },
- { 0x398C, 13184 },
- { 0x398D, 13188 },
- { 0x398F, 13192 },
- { 0x398B, 13196 },
- { 0x398E, 13200 },
- { 0x398A, 13204 },
- { 0x3988, 13208 },
- { 0x3991, 13212 },
- { 0x3984, 13216 },
- { 0x3983, 13220 },
- { 0x3985, 13224 },
- { 0x3982, 13228 },
- { 0x3993, 13232 },
- { 0x3992, 13237 },
- { 0x3989, 13242 },
- { 0x399F, 13247 },
- { 0x39A0, 13250 },
- { 0x399E, 13254 },
- { 0x39A1, 13257 },
- { 0x80F9, 13261 },
- { 0x8195, 13262 },
- { 0x8094, 13263 },
+ { 0x399A, 12979 },
+ { 0x399F, 12982 },
+ { 0x399B, 12985 },
+ { 0x399E, 12988 },
+ { 0x399D, 12991 },
+ { 0x39A2, 12994 },
+ { 0x3999, 12997 },
+ { 0x39A1, 13000 },
+ { 0x39A0, 13003 },
+ { 0x399C, 13006 },
+ { 0x397E, 13009 },
+ { 0x3983, 13013 },
+ { 0x3981, 13017 },
+ { 0x397D, 13021 },
+ { 0x3984, 13025 },
+ { 0x3985, 13029 },
+ { 0x3980, 13033 },
+ { 0x397F, 13037 },
+ { 0x3982, 13041 },
+ { 0x3986, 13045 },
+ { 0x3954, 13049 },
+ { 0x3957, 13052 },
+ { 0x3955, 13055 },
+ { 0x3959, 13058 },
+ { 0x3956, 13061 },
+ { 0x3958, 13064 },
+ { 0x3971, 13067 },
+ { 0x3969, 13070 },
+ { 0x395C, 13073 },
+ { 0x397C, 13076 },
+ { 0x3962, 13079 },
+ { 0x395A, 13082 },
+ { 0x3978, 13085 },
+ { 0x3974, 13088 },
+ { 0x396C, 13091 },
+ { 0x396E, 13094 },
+ { 0x3977, 13097 },
+ { 0x397B, 13100 },
+ { 0x3967, 13103 },
+ { 0x3979, 13106 },
+ { 0x3976, 13109 },
+ { 0x3975, 13112 },
+ { 0x3972, 13115 },
+ { 0x3960, 13118 },
+ { 0x396D, 13121 },
+ { 0x396A, 13124 },
+ { 0x395D, 13127 },
+ { 0x3963, 13130 },
+ { 0x395B, 13133 },
+ { 0x3973, 13136 },
+ { 0x395F, 13139 },
+ { 0x3965, 13142 },
+ { 0x396B, 13145 },
+ { 0x3970, 13148 },
+ { 0x396F, 13151 },
+ { 0x397A, 13154 },
+ { 0x3968, 13157 },
+ { 0x3961, 13160 },
+ { 0x395E, 13163 },
+ { 0x3966, 13166 },
+ { 0x3964, 13169 },
+ { 0x398C, 13172 },
+ { 0x398B, 13176 },
+ { 0x3995, 13180 },
+ { 0x3991, 13184 },
+ { 0x3992, 13188 },
+ { 0x3994, 13192 },
+ { 0x3990, 13196 },
+ { 0x3993, 13200 },
+ { 0x398F, 13204 },
+ { 0x398D, 13208 },
+ { 0x3996, 13212 },
+ { 0x3989, 13216 },
+ { 0x3988, 13220 },
+ { 0x398A, 13224 },
+ { 0x3987, 13228 },
+ { 0x3998, 13232 },
+ { 0x3997, 13237 },
+ { 0x398E, 13242 },
+ { 0x39A4, 13247 },
+ { 0x39A5, 13250 },
+ { 0x39A3, 13254 },
+ { 0x39A6, 13257 },
+ { 0x80FE, 13261 },
+ { 0x819A, 13262 },
+ { 0x8099, 13263 },
{ 0x1E6C, 13264 },
{ 0x21B6, 13266 },
- { 0x7D1B, 13268 },
+ { 0x7D20, 13268 },
{ 0x2A30, 13270 },
- { 0x7C4D, 13274 },
- { 0x80E3, 13276 },
- { 0x80A0, 13278 },
- { 0x8190, 13279 },
- { 0x80B8, 13281 },
+ { 0x7C52, 13274 },
+ { 0x80E8, 13276 },
+ { 0x80A5, 13278 },
+ { 0x8195, 13279 },
+ { 0x80BD, 13281 },
{ 0x1EFF, 13282 },
{ 0x1EFD, 13285 },
{ 0x1E75, 13288 },
@@ -51075,81 +51082,81 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1ED2, 13325 },
{ 0x1F32, 13328 },
{ 0x1D1E, 13333 },
- { 0x7E4F, 13335 },
- { 0x7CEF, 13336 },
+ { 0x7E54, 13335 },
+ { 0x7CF4, 13336 },
{ 0x25A2, 13339 },
{ 0x1EF5, 13342 },
{ 0x2714, 13344 },
{ 0x1F42, 13349 },
{ 0x1F55, 13353 },
- { 0x817E, 13355 },
- { 0x8055, 13358 },
- { 0x809A, 13361 },
+ { 0x8183, 13355 },
+ { 0x805A, 13358 },
+ { 0x809F, 13361 },
{ 0x2294, 13362 },
{ 0x2810, 13365 },
{ 0x2811, 13368 },
{ 0x1D1F, 13371 },
- { 0x7BE5, 13373 },
- { 0x803A, 13374 },
- { 0x7DEA, 13376 },
- { 0x7DEB, 13381 },
- { 0x803C, 13385 },
- { 0x7DB8, 13390 },
- { 0x7DC9, 13394 },
- { 0x81D1, 13399 },
- { 0x7DD3, 13407 },
- { 0x7DD5, 13411 },
- { 0x8042, 13418 },
- { 0x8087, 13423 },
- { 0x7DA7, 13430 },
- { 0x8034, 13435 },
- { 0x803F, 13439 },
- { 0x8088, 13445 },
- { 0x7DDC, 13452 },
- { 0x80E4, 13456 },
- { 0x81D2, 13459 },
- { 0x7DE9, 13463 },
- { 0x81D3, 13467 },
- { 0x808E, 13471 },
- { 0x7DC0, 13475 },
- { 0x7DC1, 13479 },
- { 0x7DC2, 13486 },
- { 0x8026, 13493 },
- { 0x8029, 13496 },
- { 0x808D, 13499 },
- { 0x7C2B, 13503 },
- { 0x7DDB, 13505 },
- { 0x7DBD, 13508 },
- { 0x7DB0, 13512 },
- { 0x7DD6, 13516 },
- { 0x7C66, 13520 },
- { 0x7D69, 13522 },
- { 0x7B43, 13524 },
- { 0x7CA2, 13526 },
- { 0x7CCA, 13528 },
- { 0x7E37, 13529 },
- { 0x8103, 13531 },
- { 0x7BC4, 13533 },
- { 0x7B0A, 13534 },
+ { 0x7BEA, 13373 },
+ { 0x803F, 13374 },
+ { 0x7DEF, 13376 },
+ { 0x7DF0, 13381 },
+ { 0x8041, 13385 },
+ { 0x7DBD, 13390 },
+ { 0x7DCE, 13394 },
+ { 0x81D6, 13399 },
+ { 0x7DD8, 13407 },
+ { 0x7DDA, 13411 },
+ { 0x8047, 13418 },
+ { 0x808C, 13423 },
+ { 0x7DAC, 13430 },
+ { 0x8039, 13435 },
+ { 0x8044, 13439 },
+ { 0x808D, 13445 },
+ { 0x7DE1, 13452 },
+ { 0x80E9, 13456 },
+ { 0x81D7, 13459 },
+ { 0x7DEE, 13463 },
+ { 0x81D8, 13467 },
+ { 0x8093, 13471 },
+ { 0x7DC5, 13475 },
+ { 0x7DC6, 13479 },
+ { 0x7DC7, 13486 },
+ { 0x802B, 13493 },
+ { 0x802E, 13496 },
+ { 0x8092, 13499 },
+ { 0x7C30, 13503 },
+ { 0x7DE0, 13505 },
+ { 0x7DC2, 13508 },
+ { 0x7DB5, 13512 },
+ { 0x7DDB, 13516 },
+ { 0x7C6B, 13520 },
+ { 0x7D6E, 13522 },
+ { 0x7B48, 13524 },
+ { 0x7CA7, 13526 },
+ { 0x7CCF, 13528 },
+ { 0x7E3C, 13529 },
+ { 0x8108, 13531 },
+ { 0x7BC9, 13533 },
+ { 0x7B0F, 13534 },
{ 0x2A1A, 13539 },
{ 0x1CD3, 13542 },
{ 0x2316, 13545 },
- { 0x8093, 13548 },
- { 0x80CA, 13550 },
- { 0x7B19, 13551 },
- { 0x7B22, 13554 },
+ { 0x8098, 13548 },
+ { 0x80CF, 13550 },
+ { 0x7B1E, 13551 },
+ { 0x7B27, 13554 },
{ 0x1CD5, 13559 },
{ 0x1CD2, 13562 },
- { 0x7AE5, 13565 },
+ { 0x7AEA, 13565 },
{ 0x27B5, 13568 },
- { 0x7F5D, 13573 },
+ { 0x7F62, 13573 },
{ 0x2348, 13577 },
{ 0x2346, 13580 },
{ 0x2345, 13583 },
- { 0x7BDD, 13586 },
+ { 0x7BE2, 13586 },
{ 0x2320, 13588 },
- { 0x7AC2, 13590 },
- { 0x7ABA, 13594 },
+ { 0x7AC7, 13590 },
+ { 0x7ABF, 13594 },
{ 0x000E, 13597 },
{ 0x21AB, 13599 },
{ 0x23FA, 13601 },
@@ -51158,131 +51165,131 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x154B, 13606 },
{ 0x154C, 13607 },
{ 0x154E, 13608 },
- { 0x7B57, 13609 },
+ { 0x7B5C, 13609 },
{ 0x22BC, 13611 },
{ 0x2311, 13612 },
{ 0x2310, 13615 },
- { 0x2BB3, 13618 },
- { 0x7C0C, 13620 },
- { 0x8059, 13621 },
- { 0x7BB5, 13623 },
- { 0x817C, 13624 },
- { 0x81AA, 13626 },
+ { 0x2BB7, 13618 },
+ { 0x7C11, 13620 },
+ { 0x805E, 13621 },
+ { 0x7BBA, 13623 },
+ { 0x8181, 13624 },
+ { 0x81AF, 13626 },
{ 0x1C84, 13628 },
- { 0x8032, 13630 },
- { 0x81D8, 13637 },
- { 0x7D59, 13644 },
+ { 0x8037, 13630 },
+ { 0x81DD, 13637 },
+ { 0x7D5E, 13644 },
{ 0x1FD9, 13646 },
- { 0x7AE4, 13648 },
+ { 0x7AE9, 13648 },
{ 0x22C4, 13649 },
- { 0x7CAB, 13652 },
- { 0x7D18, 13655 },
- { 0x8199, 13656 },
+ { 0x7CB0, 13652 },
+ { 0x7D1D, 13655 },
+ { 0x819E, 13656 },
{ 0x2640, 13657 },
{ 0x22D8, 13658 },
- { 0x5234, 13659 },
- { 0x526F, 13662 },
- { 0x5235, 13665 },
- { 0x5233, 13668 },
- { 0x5232, 13671 },
- { 0x5271, 13674 },
- { 0x527F, 13676 },
- { 0x5284, 13679 },
- { 0x5280, 13682 },
- { 0x5283, 13685 },
- { 0x5282, 13688 },
- { 0x5287, 13691 },
- { 0x527E, 13694 },
- { 0x5286, 13697 },
- { 0x5285, 13700 },
- { 0x5281, 13703 },
- { 0x526C, 13706 },
- { 0x5267, 13710 },
- { 0x5269, 13714 },
- { 0x5265, 13718 },
- { 0x526D, 13722 },
- { 0x526E, 13726 },
- { 0x5268, 13730 },
- { 0x526A, 13734 },
- { 0x526B, 13738 },
- { 0x5266, 13743 },
- { 0x5272, 13748 },
- { 0x5236, 13751 },
- { 0x5240, 13754 },
- { 0x5238, 13757 },
- { 0x5242, 13760 },
- { 0x523A, 13763 },
- { 0x5237, 13766 },
- { 0x5241, 13769 },
- { 0x5259, 13772 },
- { 0x5248, 13775 },
- { 0x5254, 13778 },
- { 0x5245, 13781 },
- { 0x5263, 13784 },
- { 0x5239, 13787 },
- { 0x524A, 13790 },
- { 0x5243, 13793 },
- { 0x525E, 13796 },
- { 0x525B, 13799 },
- { 0x5256, 13802 },
- { 0x5257, 13805 },
- { 0x525D, 13808 },
- { 0x5262, 13811 },
- { 0x5252, 13814 },
- { 0x523B, 13817 },
- { 0x525F, 13820 },
- { 0x525C, 13823 },
- { 0x525A, 13826 },
- { 0x5249, 13829 },
- { 0x524F, 13832 },
- { 0x5255, 13835 },
- { 0x5246, 13838 },
- { 0x524B, 13841 },
- { 0x5244, 13844 },
- { 0x5247, 13847 },
- { 0x5251, 13850 },
- { 0x524C, 13853 },
- { 0x5258, 13856 },
- { 0x5260, 13859 },
- { 0x5261, 13862 },
- { 0x5253, 13865 },
- { 0x524D, 13868 },
- { 0x5250, 13871 },
- { 0x5264, 13874 },
- { 0x524E, 13877 },
- { 0x523E, 13880 },
- { 0x523C, 13884 },
- { 0x523F, 13888 },
- { 0x523D, 13892 },
- { 0x5270, 13896 },
- { 0x5277, 13898 },
- { 0x5276, 13901 },
- { 0x527A, 13905 },
- { 0x5278, 13908 },
- { 0x527B, 13912 },
- { 0x5275, 13916 },
- { 0x527C, 13919 },
- { 0x5279, 13922 },
- { 0x527D, 13926 },
- { 0x5273, 13930 },
- { 0x5274, 13934 },
- { 0x7C34, 13939 },
- { 0x7C30, 13940 },
- { 0x8184, 13942 },
- { 0x819E, 13943 },
- { 0x7BC3, 13944 },
+ { 0x5239, 13659 },
+ { 0x5274, 13662 },
+ { 0x523A, 13665 },
+ { 0x5238, 13668 },
+ { 0x5237, 13671 },
+ { 0x5276, 13674 },
+ { 0x5284, 13676 },
+ { 0x5289, 13679 },
+ { 0x5285, 13682 },
+ { 0x5288, 13685 },
+ { 0x5287, 13688 },
+ { 0x528C, 13691 },
+ { 0x5283, 13694 },
+ { 0x528B, 13697 },
+ { 0x528A, 13700 },
+ { 0x5286, 13703 },
+ { 0x5271, 13706 },
+ { 0x526C, 13710 },
+ { 0x526E, 13714 },
+ { 0x526A, 13718 },
+ { 0x5272, 13722 },
+ { 0x5273, 13726 },
+ { 0x526D, 13730 },
+ { 0x526F, 13734 },
+ { 0x5270, 13738 },
+ { 0x526B, 13743 },
+ { 0x5277, 13748 },
+ { 0x523B, 13751 },
+ { 0x5245, 13754 },
+ { 0x523D, 13757 },
+ { 0x5247, 13760 },
+ { 0x523F, 13763 },
+ { 0x523C, 13766 },
+ { 0x5246, 13769 },
+ { 0x525E, 13772 },
+ { 0x524D, 13775 },
+ { 0x5259, 13778 },
+ { 0x524A, 13781 },
+ { 0x5268, 13784 },
+ { 0x523E, 13787 },
+ { 0x524F, 13790 },
+ { 0x5248, 13793 },
+ { 0x5263, 13796 },
+ { 0x5260, 13799 },
+ { 0x525B, 13802 },
+ { 0x525C, 13805 },
+ { 0x5262, 13808 },
+ { 0x5267, 13811 },
+ { 0x5257, 13814 },
+ { 0x5240, 13817 },
+ { 0x5264, 13820 },
+ { 0x5261, 13823 },
+ { 0x525F, 13826 },
+ { 0x524E, 13829 },
+ { 0x5254, 13832 },
+ { 0x525A, 13835 },
+ { 0x524B, 13838 },
+ { 0x5250, 13841 },
+ { 0x5249, 13844 },
+ { 0x524C, 13847 },
+ { 0x5256, 13850 },
+ { 0x5251, 13853 },
+ { 0x525D, 13856 },
+ { 0x5265, 13859 },
+ { 0x5266, 13862 },
+ { 0x5258, 13865 },
+ { 0x5252, 13868 },
+ { 0x5255, 13871 },
+ { 0x5269, 13874 },
+ { 0x5253, 13877 },
+ { 0x5243, 13880 },
+ { 0x5241, 13884 },
+ { 0x5244, 13888 },
+ { 0x5242, 13892 },
+ { 0x5275, 13896 },
+ { 0x527C, 13898 },
+ { 0x527B, 13901 },
+ { 0x527F, 13905 },
+ { 0x527D, 13908 },
+ { 0x5280, 13912 },
+ { 0x527A, 13916 },
+ { 0x5281, 13919 },
+ { 0x527E, 13922 },
+ { 0x5282, 13926 },
+ { 0x5278, 13930 },
+ { 0x5279, 13934 },
+ { 0x7C39, 13939 },
+ { 0x7C35, 13940 },
+ { 0x8189, 13942 },
+ { 0x81A3, 13943 },
+ { 0x7BC8, 13944 },
{ 0x1D31, 13946 },
{ 0x2261, 13948 },
- { 0x7AC1, 13951 },
- { 0x7ABC, 13956 },
- { 0x7AE8, 13960 },
- { 0x824A, 13964 },
- { 0x825D, 13973 },
+ { 0x7AC6, 13951 },
+ { 0x7AC1, 13956 },
+ { 0x7AED, 13960 },
+ { 0x824F, 13964 },
+ { 0x8262, 13973 },
{ 0x23FE, 13979 },
{ 0x23FD, 13983 },
- { 0x827B, 13988 },
- { 0x824C, 13994 },
- { 0x825E, 14003 },
+ { 0x8280, 13988 },
+ { 0x8251, 13994 },
+ { 0x8263, 14003 },
{ 0x25B6, 14009 },
{ 0x2A09, 14013 },
{ 0x21B2, 14017 },
@@ -51296,24 +51303,24 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2808, 14060 },
{ 0x21F9, 14064 },
{ 0x21AF, 14068 },
- { 0x801B, 14071 },
- { 0x801A, 14074 },
- { 0x8019, 14079 },
- { 0x8017, 14085 },
- { 0x8018, 14091 },
- { 0x8299, 14097 },
- { 0x826D, 14100 },
- { 0x8274, 14104 },
- { 0x8292, 14113 },
- { 0x7D20, 14117 },
+ { 0x8020, 14071 },
+ { 0x801F, 14074 },
+ { 0x801E, 14079 },
+ { 0x801C, 14085 },
+ { 0x801D, 14091 },
+ { 0x829E, 14097 },
+ { 0x8272, 14100 },
+ { 0x8279, 14104 },
+ { 0x8297, 14113 },
+ { 0x7D25, 14117 },
{ 0x1EF4, 14121 },
- { 0x7D93, 14123 },
- { 0x2BA8, 14126 },
+ { 0x7D98, 14123 },
+ { 0x2BAC, 14126 },
{ 0x25B4, 14129 },
{ 0x2753, 14134 },
{ 0x2755, 14139 },
{ 0x25BA, 14144 },
- { 0x2BB0, 14149 },
+ { 0x2BB4, 14149 },
{ 0x005B, 14153 },
{ 0x1FFA, 14156 },
{ 0x1FF8, 14161 },
@@ -51331,30 +51338,30 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E25, 14215 },
{ 0x1E1F, 14219 },
{ 0x2527, 14225 },
- { 0x7FCA, 14232 },
+ { 0x7FCF, 14232 },
{ 0x1E50, 14236 },
{ 0x2787, 14240 },
{ 0x21AC, 14244 },
- { 0x82A1, 14248 },
+ { 0x82A6, 14248 },
{ 0x21B0, 14254 },
{ 0x21AD, 14258 },
{ 0x25A6, 14262 },
- { 0x2BAE, 14266 },
- { 0x2BBA, 14270 },
- { 0x2BB8, 14274 },
- { 0x2BB6, 14279 },
+ { 0x2BB2, 14266 },
+ { 0x2BBE, 14270 },
+ { 0x2BBC, 14274 },
+ { 0x2BBA, 14279 },
{ 0x25A8, 14283 },
{ 0x22FF, 14286 },
- { 0x2BAC, 14289 },
+ { 0x2BB0, 14289 },
{ 0x29F1, 14292 },
- { 0x2BAA, 14296 },
+ { 0x2BAE, 14296 },
{ 0x25FD, 14300 },
{ 0x1C96, 14304 },
{ 0x2A15, 14308 },
{ 0x1F1A, 14311 },
{ 0x29F9, 14316 },
{ 0x1C92, 14320 },
- { 0x7D8D, 14324 },
+ { 0x7D92, 14324 },
{ 0x003B, 14327 },
{ 0x25B0, 14330 },
{ 0x25B2, 14338 },
@@ -51367,18 +51374,18 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1FF3, 14377 },
{ 0x25FB, 14381 },
{ 0x1F59, 14384 },
- { 0x7E6A, 14386 },
- { 0x7D91, 14388 },
- { 0x7D33, 14391 },
+ { 0x7E6F, 14386 },
+ { 0x7D96, 14388 },
+ { 0x7D38, 14391 },
{ 0x23FF, 14394 },
{ 0x23E8, 14396 },
{ 0x2A13, 14400 },
- { 0x2BB4, 14404 },
+ { 0x2BB8, 14404 },
{ 0x25F2, 14408 },
{ 0x2A0D, 14413 },
{ 0x2009, 14418 },
{ 0x1F1C, 14422 },
- { 0x824D, 14425 },
+ { 0x8252, 14425 },
{ 0x0008, 14430 },
{ 0x1FEE, 14432 },
{ 0x1FEC, 14436 },
@@ -51389,63 +51396,63 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2637, 14451 },
{ 0x2635, 14457 },
{ 0x2636, 14464 },
- { 0x7CBC, 14471 },
- { 0x8095, 14473 },
- { 0x7D87, 14475 },
+ { 0x7CC1, 14471 },
+ { 0x809A, 14473 },
+ { 0x7D8C, 14475 },
{ 0x1D17, 14476 },
- { 0x34AB, 14478 },
- { 0x34AD, 14481 },
- { 0x34AF, 14484 },
- { 0x34B0, 14487 },
- { 0x34B1, 14490 },
- { 0x34AC, 14493 },
- { 0x348D, 14496 },
- { 0x3497, 14499 },
- { 0x3490, 14502 },
- { 0x34AE, 14505 },
- { 0x34A6, 14508 },
- { 0x3493, 14511 },
- { 0x34A3, 14514 },
- { 0x3496, 14517 },
- { 0x3494, 14520 },
- { 0x349E, 14523 },
- { 0x349C, 14526 },
- { 0x349D, 14529 },
- { 0x34B4, 14532 },
- { 0x348E, 14535 },
- { 0x349F, 14538 },
- { 0x3491, 14541 },
- { 0x34B2, 14544 },
- { 0x34B3, 14547 },
- { 0x34A7, 14550 },
- { 0x34A4, 14553 },
- { 0x34A9, 14556 },
- { 0x34A1, 14559 },
- { 0x3498, 14562 },
- { 0x3499, 14565 },
- { 0x34AA, 14568 },
- { 0x34A5, 14571 },
- { 0x3495, 14574 },
- { 0x34A2, 14577 },
- { 0x348F, 14580 },
- { 0x34A8, 14583 },
- { 0x3492, 14586 },
- { 0x349A, 14589 },
- { 0x5288, 14592 },
- { 0x34A0, 14595 },
- { 0x34B6, 14598 },
- { 0x34B8, 14603 },
- { 0x34B9, 14608 },
- { 0x34B5, 14613 },
- { 0x34B7, 14618 },
- { 0x34BA, 14623 },
- { 0x349B, 14628 },
- { 0x34BC, 14631 },
- { 0x34BB, 14635 },
- { 0x7CB7, 14638 },
- { 0x7CB4, 14639 },
+ { 0x34B0, 14478 },
+ { 0x34B2, 14481 },
+ { 0x34B4, 14484 },
+ { 0x34B5, 14487 },
+ { 0x34B6, 14490 },
+ { 0x34B1, 14493 },
+ { 0x3492, 14496 },
+ { 0x349C, 14499 },
+ { 0x3495, 14502 },
+ { 0x34B3, 14505 },
+ { 0x34AB, 14508 },
+ { 0x3498, 14511 },
+ { 0x34A8, 14514 },
+ { 0x349B, 14517 },
+ { 0x3499, 14520 },
+ { 0x34A3, 14523 },
+ { 0x34A1, 14526 },
+ { 0x34A2, 14529 },
+ { 0x34B9, 14532 },
+ { 0x3493, 14535 },
+ { 0x34A4, 14538 },
+ { 0x3496, 14541 },
+ { 0x34B7, 14544 },
+ { 0x34B8, 14547 },
+ { 0x34AC, 14550 },
+ { 0x34A9, 14553 },
+ { 0x34AE, 14556 },
+ { 0x34A6, 14559 },
+ { 0x349D, 14562 },
+ { 0x349E, 14565 },
+ { 0x34AF, 14568 },
+ { 0x34AA, 14571 },
+ { 0x349A, 14574 },
+ { 0x34A7, 14577 },
+ { 0x3494, 14580 },
+ { 0x34AD, 14583 },
+ { 0x3497, 14586 },
+ { 0x349F, 14589 },
+ { 0x528D, 14592 },
+ { 0x34A5, 14595 },
+ { 0x34BB, 14598 },
+ { 0x34BD, 14603 },
+ { 0x34BE, 14608 },
+ { 0x34BA, 14613 },
+ { 0x34BC, 14618 },
+ { 0x34BF, 14623 },
+ { 0x34A0, 14628 },
+ { 0x34C1, 14631 },
+ { 0x34C0, 14635 },
+ { 0x7CBC, 14638 },
+ { 0x7CB9, 14639 },
{ 0x2709, 14643 },
- { 0x8194, 14651 },
+ { 0x8199, 14651 },
{ 0x2401, 14653 },
{ 0x241A, 14656 },
{ 0x241D, 14660 },
@@ -51461,398 +51468,398 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x241C, 14700 },
{ 0x2421, 14704 },
{ 0x2422, 14710 },
- { 0x7B8E, 14714 },
- { 0x7C31, 14716 },
- { 0x80ED, 14718 },
+ { 0x7B93, 14714 },
+ { 0x7C36, 14716 },
+ { 0x80F2, 14718 },
{ 0x22C8, 14719 },
{ 0x2265, 14723 },
{ 0x22CA, 14725 },
{ 0x22C9, 14733 },
- { 0x7C03, 14737 },
- { 0x7A4A, 14739 },
- { 0x2BDC, 14742 },
- { 0x80DD, 14744 },
- { 0x7AFB, 14746 },
- { 0x7C82, 14749 },
- { 0x7E5E, 14750 },
- { 0x6297, 14752 },
- { 0x6298, 14756 },
- { 0x6294, 14760 },
- { 0x6296, 14765 },
- { 0x62CE, 14768 },
- { 0x62CF, 14772 },
- { 0x62D0, 14775 },
- { 0x62CD, 14778 },
- { 0x6299, 14781 },
- { 0x62A2, 14785 },
- { 0x62A6, 14789 },
- { 0x62C2, 14793 },
- { 0x629E, 14797 },
- { 0x62AF, 14801 },
- { 0x62A1, 14805 },
- { 0x62B6, 14809 },
- { 0x629A, 14813 },
- { 0x62B8, 14817 },
- { 0x62BE, 14821 },
- { 0x629C, 14825 },
- { 0x62C0, 14829 },
- { 0x62CA, 14833 },
- { 0x62BF, 14837 },
- { 0x62A3, 14841 },
- { 0x62BC, 14845 },
- { 0x62A7, 14849 },
- { 0x62AB, 14853 },
- { 0x62C9, 14857 },
- { 0x62AC, 14861 },
- { 0x62AA, 14865 },
- { 0x62AD, 14869 },
- { 0x62C3, 14873 },
- { 0x62C6, 14877 },
- { 0x629F, 14881 },
- { 0x62C1, 14885 },
- { 0x62B0, 14889 },
- { 0x62CC, 14893 },
- { 0x62B3, 14897 },
- { 0x62C8, 14901 },
- { 0x62A0, 14905 },
- { 0x62B7, 14909 },
- { 0x62B9, 14913 },
- { 0x629B, 14917 },
- { 0x629D, 14921 },
- { 0x62A4, 14925 },
- { 0x62BA, 14929 },
- { 0x62A8, 14933 },
- { 0x62AE, 14937 },
- { 0x62C7, 14941 },
- { 0x62A5, 14945 },
- { 0x62B1, 14949 },
- { 0x62B4, 14953 },
- { 0x62B5, 14957 },
- { 0x62C4, 14961 },
- { 0x62C5, 14965 },
- { 0x62A9, 14969 },
- { 0x62CB, 14973 },
- { 0x62B2, 14977 },
- { 0x62BD, 14981 },
- { 0x62BB, 14986 },
- { 0x628C, 14991 },
- { 0x624A, 14994 },
- { 0x6254, 14997 },
- { 0x6250, 15000 },
- { 0x6268, 15003 },
- { 0x626F, 15006 },
- { 0x6267, 15009 },
- { 0x625F, 15012 },
- { 0x624D, 15015 },
- { 0x6259, 15018 },
- { 0x6249, 15021 },
- { 0x626A, 15024 },
- { 0x6283, 15027 },
- { 0x6253, 15030 },
- { 0x6291, 15033 },
- { 0x6251, 15036 },
- { 0x628B, 15039 },
- { 0x6270, 15042 },
- { 0x6269, 15045 },
- { 0x624B, 15049 },
- { 0x6256, 15053 },
- { 0x625B, 15057 },
- { 0x6282, 15061 },
- { 0x6255, 15065 },
- { 0x627A, 15069 },
- { 0x6279, 15073 },
- { 0x6284, 15077 },
- { 0x628E, 15080 },
- { 0x6258, 15083 },
- { 0x6281, 15086 },
- { 0x6271, 15089 },
- { 0x628D, 15092 },
- { 0x6261, 15095 },
- { 0x6260, 15098 },
- { 0x624E, 15101 },
- { 0x626C, 15104 },
- { 0x625A, 15107 },
- { 0x625D, 15110 },
- { 0x6275, 15113 },
- { 0x624C, 15116 },
- { 0x626B, 15119 },
- { 0x6293, 15122 },
- { 0x627C, 15125 },
- { 0x627D, 15128 },
- { 0x628F, 15131 },
- { 0x6280, 15134 },
- { 0x6292, 15137 },
- { 0x6257, 15140 },
- { 0x6252, 15143 },
- { 0x627E, 15146 },
- { 0x6285, 15149 },
- { 0x6286, 15152 },
- { 0x6264, 15155 },
- { 0x6278, 15158 },
- { 0x6290, 15161 },
- { 0x6274, 15164 },
- { 0x6272, 15167 },
- { 0x6262, 15170 },
- { 0x626D, 15173 },
- { 0x625E, 15176 },
- { 0x6276, 15179 },
- { 0x6263, 15182 },
- { 0x6277, 15185 },
- { 0x6273, 15188 },
- { 0x627F, 15191 },
- { 0x6287, 15194 },
- { 0x6289, 15197 },
- { 0x6266, 15200 },
- { 0x6265, 15203 },
- { 0x628A, 15206 },
- { 0x62D1, 15209 },
- { 0x62D2, 15212 },
- { 0x62D3, 15215 },
- { 0x62D4, 15218 },
- { 0x62D5, 15221 },
- { 0x62D6, 15224 },
- { 0x62D7, 15227 },
- { 0x624F, 15230 },
- { 0x625C, 15234 },
- { 0x626E, 15238 },
- { 0x6288, 15242 },
- { 0x627B, 15246 },
- { 0x62D8, 15250 },
- { 0x62D9, 15254 },
- { 0x62DA, 15258 },
- { 0x62DB, 15262 },
- { 0x62DC, 15266 },
- { 0x62DD, 15270 },
- { 0x6295, 15274 },
+ { 0x7C08, 14737 },
+ { 0x7A4F, 14739 },
+ { 0x2BE0, 14742 },
+ { 0x80E2, 14744 },
+ { 0x7B00, 14746 },
+ { 0x7C87, 14749 },
+ { 0x7E63, 14750 },
+ { 0x629C, 14752 },
+ { 0x629D, 14756 },
+ { 0x6299, 14760 },
+ { 0x629B, 14765 },
+ { 0x62D3, 14768 },
+ { 0x62D4, 14772 },
+ { 0x62D5, 14775 },
+ { 0x62D2, 14778 },
+ { 0x629E, 14781 },
+ { 0x62A7, 14785 },
+ { 0x62AB, 14789 },
+ { 0x62C7, 14793 },
+ { 0x62A3, 14797 },
+ { 0x62B4, 14801 },
+ { 0x62A6, 14805 },
+ { 0x62BB, 14809 },
+ { 0x629F, 14813 },
+ { 0x62BD, 14817 },
+ { 0x62C3, 14821 },
+ { 0x62A1, 14825 },
+ { 0x62C5, 14829 },
+ { 0x62CF, 14833 },
+ { 0x62C4, 14837 },
+ { 0x62A8, 14841 },
+ { 0x62C1, 14845 },
+ { 0x62AC, 14849 },
+ { 0x62B0, 14853 },
+ { 0x62CE, 14857 },
+ { 0x62B1, 14861 },
+ { 0x62AF, 14865 },
+ { 0x62B2, 14869 },
+ { 0x62C8, 14873 },
+ { 0x62CB, 14877 },
+ { 0x62A4, 14881 },
+ { 0x62C6, 14885 },
+ { 0x62B5, 14889 },
+ { 0x62D1, 14893 },
+ { 0x62B8, 14897 },
+ { 0x62CD, 14901 },
+ { 0x62A5, 14905 },
+ { 0x62BC, 14909 },
+ { 0x62BE, 14913 },
+ { 0x62A0, 14917 },
+ { 0x62A2, 14921 },
+ { 0x62A9, 14925 },
+ { 0x62BF, 14929 },
+ { 0x62AD, 14933 },
+ { 0x62B3, 14937 },
+ { 0x62CC, 14941 },
+ { 0x62AA, 14945 },
+ { 0x62B6, 14949 },
+ { 0x62B9, 14953 },
+ { 0x62BA, 14957 },
+ { 0x62C9, 14961 },
+ { 0x62CA, 14965 },
+ { 0x62AE, 14969 },
+ { 0x62D0, 14973 },
+ { 0x62B7, 14977 },
+ { 0x62C2, 14981 },
+ { 0x62C0, 14986 },
+ { 0x6291, 14991 },
+ { 0x624F, 14994 },
+ { 0x6259, 14997 },
+ { 0x6255, 15000 },
+ { 0x626D, 15003 },
+ { 0x6274, 15006 },
+ { 0x626C, 15009 },
+ { 0x6264, 15012 },
+ { 0x6252, 15015 },
+ { 0x625E, 15018 },
+ { 0x624E, 15021 },
+ { 0x626F, 15024 },
+ { 0x6288, 15027 },
+ { 0x6258, 15030 },
+ { 0x6296, 15033 },
+ { 0x6256, 15036 },
+ { 0x6290, 15039 },
+ { 0x6275, 15042 },
+ { 0x626E, 15045 },
+ { 0x6250, 15049 },
+ { 0x625B, 15053 },
+ { 0x6260, 15057 },
+ { 0x6287, 15061 },
+ { 0x625A, 15065 },
+ { 0x627F, 15069 },
+ { 0x627E, 15073 },
+ { 0x6289, 15077 },
+ { 0x6293, 15080 },
+ { 0x625D, 15083 },
+ { 0x6286, 15086 },
+ { 0x6276, 15089 },
+ { 0x6292, 15092 },
+ { 0x6266, 15095 },
+ { 0x6265, 15098 },
+ { 0x6253, 15101 },
+ { 0x6271, 15104 },
+ { 0x625F, 15107 },
+ { 0x6262, 15110 },
+ { 0x627A, 15113 },
+ { 0x6251, 15116 },
+ { 0x6270, 15119 },
+ { 0x6298, 15122 },
+ { 0x6281, 15125 },
+ { 0x6282, 15128 },
+ { 0x6294, 15131 },
+ { 0x6285, 15134 },
+ { 0x6297, 15137 },
+ { 0x625C, 15140 },
+ { 0x6257, 15143 },
+ { 0x6283, 15146 },
+ { 0x628A, 15149 },
+ { 0x628B, 15152 },
+ { 0x6269, 15155 },
+ { 0x627D, 15158 },
+ { 0x6295, 15161 },
+ { 0x6279, 15164 },
+ { 0x6277, 15167 },
+ { 0x6267, 15170 },
+ { 0x6272, 15173 },
+ { 0x6263, 15176 },
+ { 0x627B, 15179 },
+ { 0x6268, 15182 },
+ { 0x627C, 15185 },
+ { 0x6278, 15188 },
+ { 0x6284, 15191 },
+ { 0x628C, 15194 },
+ { 0x628E, 15197 },
+ { 0x626B, 15200 },
+ { 0x626A, 15203 },
+ { 0x628F, 15206 },
+ { 0x62D6, 15209 },
+ { 0x62D7, 15212 },
+ { 0x62D8, 15215 },
+ { 0x62D9, 15218 },
+ { 0x62DA, 15221 },
+ { 0x62DB, 15224 },
+ { 0x62DC, 15227 },
+ { 0x6254, 15230 },
+ { 0x6261, 15234 },
+ { 0x6273, 15238 },
+ { 0x628D, 15242 },
+ { 0x6280, 15246 },
+ { 0x62DD, 15250 },
+ { 0x62DE, 15254 },
+ { 0x62DF, 15258 },
+ { 0x62E0, 15262 },
+ { 0x62E1, 15266 },
+ { 0x62E2, 15270 },
+ { 0x629A, 15274 },
{ 0x2080, 15277 },
{ 0x2081, 15281 },
{ 0x1D18, 15284 },
{ 0x2622, 15286 },
{ 0x1CD9, 15287 },
- { 0x4E46, 15288 },
- { 0x4E41, 15291 },
- { 0x4E40, 15294 },
- { 0x4E3F, 15297 },
- { 0x4E42, 15300 },
- { 0x4E43, 15303 },
- { 0x4E48, 15305 },
- { 0x4E4D, 15308 },
- { 0x4E49, 15311 },
- { 0x4E4C, 15314 },
- { 0x4E4B, 15317 },
- { 0x4E50, 15320 },
- { 0x4E47, 15323 },
- { 0x4E4F, 15326 },
- { 0x4E4E, 15329 },
- { 0x4E4A, 15332 },
- { 0x4E3B, 15335 },
- { 0x4E33, 15339 },
- { 0x4E3D, 15343 },
- { 0x4E35, 15347 },
- { 0x4E32, 15351 },
- { 0x4E3C, 15355 },
- { 0x4E3E, 15359 },
- { 0x4E34, 15363 },
- { 0x4E36, 15367 },
- { 0x4E39, 15371 },
- { 0x4E37, 15376 },
- { 0x4E3A, 15381 },
- { 0x4E38, 15386 },
- { 0x4E44, 15391 },
- { 0x4E02, 15394 },
- { 0x4E0C, 15397 },
- { 0x4E04, 15400 },
- { 0x4E0E, 15403 },
- { 0x4E06, 15406 },
- { 0x4E03, 15409 },
- { 0x4E0D, 15412 },
- { 0x4E0F, 15415 },
- { 0x4E26, 15418 },
- { 0x4E15, 15421 },
- { 0x4E21, 15424 },
- { 0x4E12, 15427 },
- { 0x4E30, 15430 },
- { 0x4E05, 15433 },
- { 0x4E17, 15436 },
- { 0x4E10, 15439 },
- { 0x4E2B, 15442 },
- { 0x4E28, 15445 },
- { 0x4E23, 15448 },
- { 0x4E24, 15451 },
- { 0x4E2A, 15454 },
- { 0x4E2F, 15457 },
- { 0x4E1F, 15460 },
- { 0x4E07, 15463 },
- { 0x4E2C, 15466 },
- { 0x4E29, 15469 },
- { 0x4E27, 15472 },
- { 0x4E16, 15475 },
- { 0x4E1C, 15478 },
- { 0x4E22, 15481 },
- { 0x4E13, 15484 },
- { 0x4E18, 15487 },
- { 0x4E11, 15490 },
- { 0x4E31, 15493 },
- { 0x4E14, 15496 },
- { 0x4E1E, 15499 },
- { 0x4E19, 15502 },
- { 0x4E25, 15505 },
- { 0x4E2D, 15508 },
- { 0x4E2E, 15511 },
- { 0x4E20, 15514 },
- { 0x4E1A, 15517 },
- { 0x4E1D, 15520 },
- { 0x4E1B, 15523 },
- { 0x4E0A, 15526 },
- { 0x4E08, 15530 },
- { 0x4E0B, 15534 },
- { 0x4E09, 15538 },
- { 0x4E45, 15542 },
- { 0x7D95, 15545 },
- { 0x8082, 15547 },
- { 0x7B36, 15549 },
+ { 0x4E4B, 15288 },
+ { 0x4E46, 15291 },
+ { 0x4E45, 15294 },
+ { 0x4E44, 15297 },
+ { 0x4E47, 15300 },
+ { 0x4E48, 15303 },
+ { 0x4E4D, 15305 },
+ { 0x4E52, 15308 },
+ { 0x4E4E, 15311 },
+ { 0x4E51, 15314 },
+ { 0x4E50, 15317 },
+ { 0x4E55, 15320 },
+ { 0x4E4C, 15323 },
+ { 0x4E54, 15326 },
+ { 0x4E53, 15329 },
+ { 0x4E4F, 15332 },
+ { 0x4E40, 15335 },
+ { 0x4E38, 15339 },
+ { 0x4E42, 15343 },
+ { 0x4E3A, 15347 },
+ { 0x4E37, 15351 },
+ { 0x4E41, 15355 },
+ { 0x4E43, 15359 },
+ { 0x4E39, 15363 },
+ { 0x4E3B, 15367 },
+ { 0x4E3E, 15371 },
+ { 0x4E3C, 15376 },
+ { 0x4E3F, 15381 },
+ { 0x4E3D, 15386 },
+ { 0x4E49, 15391 },
+ { 0x4E07, 15394 },
+ { 0x4E11, 15397 },
+ { 0x4E09, 15400 },
+ { 0x4E13, 15403 },
+ { 0x4E0B, 15406 },
+ { 0x4E08, 15409 },
+ { 0x4E12, 15412 },
+ { 0x4E14, 15415 },
+ { 0x4E2B, 15418 },
+ { 0x4E1A, 15421 },
+ { 0x4E26, 15424 },
+ { 0x4E17, 15427 },
+ { 0x4E35, 15430 },
+ { 0x4E0A, 15433 },
+ { 0x4E1C, 15436 },
+ { 0x4E15, 15439 },
+ { 0x4E30, 15442 },
+ { 0x4E2D, 15445 },
+ { 0x4E28, 15448 },
+ { 0x4E29, 15451 },
+ { 0x4E2F, 15454 },
+ { 0x4E34, 15457 },
+ { 0x4E24, 15460 },
+ { 0x4E0C, 15463 },
+ { 0x4E31, 15466 },
+ { 0x4E2E, 15469 },
+ { 0x4E2C, 15472 },
+ { 0x4E1B, 15475 },
+ { 0x4E21, 15478 },
+ { 0x4E27, 15481 },
+ { 0x4E18, 15484 },
+ { 0x4E1D, 15487 },
+ { 0x4E16, 15490 },
+ { 0x4E36, 15493 },
+ { 0x4E19, 15496 },
+ { 0x4E23, 15499 },
+ { 0x4E1E, 15502 },
+ { 0x4E2A, 15505 },
+ { 0x4E32, 15508 },
+ { 0x4E33, 15511 },
+ { 0x4E25, 15514 },
+ { 0x4E1F, 15517 },
+ { 0x4E22, 15520 },
+ { 0x4E20, 15523 },
+ { 0x4E0F, 15526 },
+ { 0x4E0D, 15530 },
+ { 0x4E10, 15534 },
+ { 0x4E0E, 15538 },
+ { 0x4E4A, 15542 },
+ { 0x7D9A, 15545 },
+ { 0x8087, 15547 },
+ { 0x7B3B, 15549 },
{ 0x1EBB, 15552 },
{ 0x1EBC, 15554 },
- { 0x7C2A, 15556 },
- { 0x7C80, 15558 },
+ { 0x7C2F, 15556 },
+ { 0x7C85, 15558 },
{ 0x1F0D, 15560 },
{ 0x005F, 15561 },
- { 0x8027, 15562 },
- { 0x81B6, 15564 },
- { 0x4D3C, 15567 },
- { 0x4D41, 15569 },
- { 0x4D3B, 15572 },
- { 0x4D39, 15576 },
- { 0x4D35, 15579 },
- { 0x4D38, 15582 },
- { 0x4D37, 15585 },
- { 0x4D3A, 15588 },
- { 0x4D36, 15591 },
- { 0x4D52, 15594 },
- { 0x4D53, 15597 },
- { 0x4D40, 15600 },
- { 0x4D3E, 15602 },
- { 0x4D44, 15604 },
- { 0x4D49, 15607 },
- { 0x4D45, 15610 },
- { 0x4D48, 15613 },
- { 0x4D47, 15616 },
- { 0x4D4C, 15619 },
- { 0x4D43, 15622 },
- { 0x4D4B, 15625 },
- { 0x4D4A, 15628 },
- { 0x4D46, 15631 },
- { 0x4D31, 15634 },
- { 0x4D29, 15638 },
- { 0x4D33, 15642 },
- { 0x4D2B, 15646 },
- { 0x4D28, 15650 },
- { 0x4D32, 15654 },
- { 0x4D34, 15658 },
- { 0x4D2A, 15662 },
- { 0x4D2C, 15666 },
- { 0x4D2F, 15670 },
- { 0x4D2D, 15675 },
- { 0x4D30, 15680 },
- { 0x4D2E, 15685 },
- { 0x4D4D, 15690 },
- { 0x4D3F, 15693 },
- { 0x4CF3, 15696 },
- { 0x4CFD, 15699 },
- { 0x4CF5, 15702 },
- { 0x4CFF, 15705 },
- { 0x4CF7, 15708 },
- { 0x4CF4, 15711 },
- { 0x4CFE, 15714 },
- { 0x4D00, 15717 },
- { 0x4D1A, 15720 },
- { 0x4D07, 15723 },
- { 0x4D14, 15726 },
- { 0x4D03, 15729 },
- { 0x4D27, 15732 },
- { 0x4CF6, 15735 },
- { 0x4D09, 15738 },
- { 0x4D01, 15741 },
- { 0x4D21, 15744 },
- { 0x4D1C, 15747 },
- { 0x4D16, 15750 },
- { 0x4D18, 15753 },
- { 0x4D1F, 15756 },
- { 0x4D26, 15759 },
- { 0x4D12, 15762 },
- { 0x4CF8, 15765 },
- { 0x4D23, 15768 },
- { 0x4D1E, 15771 },
- { 0x4D1B, 15774 },
- { 0x4D08, 15777 },
- { 0x4D0F, 15780 },
- { 0x4D15, 15783 },
- { 0x4D04, 15786 },
- { 0x4D0A, 15789 },
- { 0x4D02, 15792 },
- { 0x4D22, 15795 },
- { 0x4D1D, 15798 },
- { 0x4D05, 15801 },
- { 0x4D17, 15804 },
- { 0x4D11, 15807 },
- { 0x4D0B, 15810 },
- { 0x4D19, 15813 },
- { 0x4D20, 15816 },
- { 0x4D24, 15819 },
- { 0x4D25, 15822 },
- { 0x4D13, 15825 },
- { 0x4D0D, 15828 },
- { 0x4D10, 15831 },
- { 0x4D06, 15834 },
- { 0x4D0C, 15837 },
- { 0x4D0E, 15840 },
- { 0x4D51, 15843 },
- { 0x4CFB, 15847 },
- { 0x4CF9, 15851 },
- { 0x4CFC, 15855 },
- { 0x4CFA, 15859 },
- { 0x4D50, 15863 },
- { 0x4D3D, 15866 },
- { 0x4D4F, 15868 },
- { 0x4D4E, 15871 },
- { 0x4D42, 15874 },
+ { 0x802C, 15562 },
+ { 0x81BB, 15564 },
+ { 0x4D41, 15567 },
+ { 0x4D46, 15569 },
+ { 0x4D40, 15572 },
+ { 0x4D3E, 15576 },
+ { 0x4D3A, 15579 },
+ { 0x4D3D, 15582 },
+ { 0x4D3C, 15585 },
+ { 0x4D3F, 15588 },
+ { 0x4D3B, 15591 },
+ { 0x4D57, 15594 },
+ { 0x4D58, 15597 },
+ { 0x4D45, 15600 },
+ { 0x4D43, 15602 },
+ { 0x4D49, 15604 },
+ { 0x4D4E, 15607 },
+ { 0x4D4A, 15610 },
+ { 0x4D4D, 15613 },
+ { 0x4D4C, 15616 },
+ { 0x4D51, 15619 },
+ { 0x4D48, 15622 },
+ { 0x4D50, 15625 },
+ { 0x4D4F, 15628 },
+ { 0x4D4B, 15631 },
+ { 0x4D36, 15634 },
+ { 0x4D2E, 15638 },
+ { 0x4D38, 15642 },
+ { 0x4D30, 15646 },
+ { 0x4D2D, 15650 },
+ { 0x4D37, 15654 },
+ { 0x4D39, 15658 },
+ { 0x4D2F, 15662 },
+ { 0x4D31, 15666 },
+ { 0x4D34, 15670 },
+ { 0x4D32, 15675 },
+ { 0x4D35, 15680 },
+ { 0x4D33, 15685 },
+ { 0x4D52, 15690 },
+ { 0x4D44, 15693 },
+ { 0x4CF8, 15696 },
+ { 0x4D02, 15699 },
+ { 0x4CFA, 15702 },
+ { 0x4D04, 15705 },
+ { 0x4CFC, 15708 },
+ { 0x4CF9, 15711 },
+ { 0x4D03, 15714 },
+ { 0x4D05, 15717 },
+ { 0x4D1F, 15720 },
+ { 0x4D0C, 15723 },
+ { 0x4D19, 15726 },
+ { 0x4D08, 15729 },
+ { 0x4D2C, 15732 },
+ { 0x4CFB, 15735 },
+ { 0x4D0E, 15738 },
+ { 0x4D06, 15741 },
+ { 0x4D26, 15744 },
+ { 0x4D21, 15747 },
+ { 0x4D1B, 15750 },
+ { 0x4D1D, 15753 },
+ { 0x4D24, 15756 },
+ { 0x4D2B, 15759 },
+ { 0x4D17, 15762 },
+ { 0x4CFD, 15765 },
+ { 0x4D28, 15768 },
+ { 0x4D23, 15771 },
+ { 0x4D20, 15774 },
+ { 0x4D0D, 15777 },
+ { 0x4D14, 15780 },
+ { 0x4D1A, 15783 },
+ { 0x4D09, 15786 },
+ { 0x4D0F, 15789 },
+ { 0x4D07, 15792 },
+ { 0x4D27, 15795 },
+ { 0x4D22, 15798 },
+ { 0x4D0A, 15801 },
+ { 0x4D1C, 15804 },
+ { 0x4D16, 15807 },
+ { 0x4D10, 15810 },
+ { 0x4D1E, 15813 },
+ { 0x4D25, 15816 },
+ { 0x4D29, 15819 },
+ { 0x4D2A, 15822 },
+ { 0x4D18, 15825 },
+ { 0x4D12, 15828 },
+ { 0x4D15, 15831 },
+ { 0x4D0B, 15834 },
+ { 0x4D11, 15837 },
+ { 0x4D13, 15840 },
+ { 0x4D56, 15843 },
+ { 0x4D00, 15847 },
+ { 0x4CFE, 15851 },
+ { 0x4D01, 15855 },
+ { 0x4CFF, 15859 },
+ { 0x4D55, 15863 },
+ { 0x4D42, 15866 },
+ { 0x4D54, 15868 },
+ { 0x4D53, 15871 },
+ { 0x4D47, 15874 },
{ 0x1FE9, 15877 },
- { 0x7F70, 15879 },
- { 0x7BE8, 15883 },
- { 0x7D6D, 15884 },
- { 0x7D6F, 15885 },
- { 0x7D6E, 15887 },
- { 0x7B07, 15889 },
+ { 0x7F75, 15879 },
+ { 0x7BED, 15883 },
+ { 0x7D72, 15884 },
+ { 0x7D74, 15885 },
+ { 0x7D73, 15887 },
+ { 0x7B0C, 15889 },
{ 0x2074, 15890 },
- { 0x7C7B, 15892 },
- { 0x7C67, 15894 },
- { 0x7CB8, 15897 },
- { 0x7BF5, 15899 },
+ { 0x7C80, 15892 },
+ { 0x7C6C, 15894 },
+ { 0x7CBD, 15897 },
+ { 0x7BFA, 15899 },
{ 0x234E, 15902 },
{ 0x233E, 15906 },
{ 0x2355, 15909 },
{ 0x235F, 15912 },
- { 0x7D66, 15916 },
+ { 0x7D6B, 15916 },
{ 0x23E6, 15918 },
- { 0x7C91, 15920 },
- { 0x7C92, 15925 },
+ { 0x7C96, 15920 },
+ { 0x7C97, 15925 },
{ 0x23E7, 15930 },
- { 0x7D74, 15932 },
- { 0x7C68, 15933 },
- { 0x7D84, 15936 },
- { 0x7C69, 15940 },
- { 0x81DC, 15943 },
- { 0x81DB, 15946 },
- { 0x7AD9, 15949 },
+ { 0x7D79, 15932 },
+ { 0x7C6D, 15933 },
+ { 0x7D89, 15936 },
+ { 0x7C6E, 15940 },
+ { 0x81E1, 15943 },
+ { 0x81E0, 15946 },
+ { 0x7ADE, 15949 },
{ 0x2A06, 15951 },
- { 0x2BDD, 15953 },
- { 0x7AF5, 15956 },
+ { 0x2BE1, 15953 },
+ { 0x7AFA, 15956 },
{ 0x1D24, 15957 },
{ 0x22F2, 15959 },
- { 0x7C4E, 15960 },
- { 0x7C2F, 15963 },
- { 0x7B32, 15964 },
- { 0x817D, 15966 },
+ { 0x7C53, 15960 },
+ { 0x7C34, 15963 },
+ { 0x7B37, 15964 },
+ { 0x8182, 15966 },
{ 0x000B, 15968 },
{ 0x2650, 15970 },
{ 0x2651, 15976 },
@@ -51866,113 +51873,113 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2646, 16017 },
{ 0x2695, 16023 },
{ 0x22E9, 16028 },
- { 0x3DFF, 16029 },
- { 0x7AFE, 16031 },
- { 0x7AFD, 16033 },
- { 0x7C32, 16035 },
+ { 0x3E04, 16029 },
+ { 0x7B03, 16031 },
+ { 0x7B02, 16033 },
+ { 0x7C37, 16035 },
{ 0x1EA7, 16036 },
- { 0x7E80, 16040 },
+ { 0x7E85, 16040 },
{ 0x0299, 16042 },
{ 0x1EA8, 16044 },
{ 0x2A1D, 16047 },
{ 0x1E69, 16049 },
- { 0x81A4, 16051 },
- { 0x810F, 16052 },
- { 0x7ADE, 16055 },
- { 0x4945, 16056 },
- { 0x494A, 16059 },
- { 0x4946, 16062 },
- { 0x4949, 16065 },
- { 0x4948, 16068 },
- { 0x494D, 16071 },
- { 0x494C, 16074 },
- { 0x494B, 16077 },
- { 0x4947, 16080 },
- { 0x4957, 16083 },
- { 0x495C, 16087 },
- { 0x494E, 16091 },
- { 0x4958, 16094 },
- { 0x495B, 16098 },
- { 0x495A, 16102 },
- { 0x495F, 16106 },
- { 0x495E, 16110 },
- { 0x4952, 16114 },
- { 0x4951, 16117 },
- { 0x495D, 16120 },
- { 0x4953, 16124 },
- { 0x4959, 16127 },
- { 0x4955, 16131 },
- { 0x4956, 16134 },
- { 0x4950, 16137 },
- { 0x494F, 16140 },
- { 0x4954, 16143 },
- { 0x4960, 16146 },
- { 0x4962, 16150 },
- { 0x4961, 16154 },
- { 0x4963, 16158 },
- { 0x7B1B, 16162 },
- { 0x80D6, 16166 },
- { 0x808F, 16168 },
- { 0x80C1, 16169 },
- { 0x7C5F, 16170 },
- { 0x7E47, 16171 },
- { 0x802C, 16172 },
+ { 0x81A9, 16051 },
+ { 0x8114, 16052 },
+ { 0x7AE3, 16055 },
+ { 0x494A, 16056 },
+ { 0x494F, 16059 },
+ { 0x494B, 16062 },
+ { 0x494E, 16065 },
+ { 0x494D, 16068 },
+ { 0x4952, 16071 },
+ { 0x4951, 16074 },
+ { 0x4950, 16077 },
+ { 0x494C, 16080 },
+ { 0x495C, 16083 },
+ { 0x4961, 16087 },
+ { 0x4953, 16091 },
+ { 0x495D, 16094 },
+ { 0x4960, 16098 },
+ { 0x495F, 16102 },
+ { 0x4964, 16106 },
+ { 0x4963, 16110 },
+ { 0x4957, 16114 },
+ { 0x4956, 16117 },
+ { 0x4962, 16120 },
+ { 0x4958, 16124 },
+ { 0x495E, 16127 },
+ { 0x495A, 16131 },
+ { 0x495B, 16134 },
+ { 0x4955, 16137 },
+ { 0x4954, 16140 },
+ { 0x4959, 16143 },
+ { 0x4965, 16146 },
+ { 0x4967, 16150 },
+ { 0x4966, 16154 },
+ { 0x4968, 16158 },
+ { 0x7B20, 16162 },
+ { 0x80DB, 16166 },
+ { 0x8094, 16168 },
+ { 0x80C6, 16169 },
+ { 0x7C64, 16170 },
+ { 0x7E4C, 16171 },
+ { 0x8031, 16172 },
{ 0x1E90, 16176 },
- { 0x7E95, 16178 },
- { 0x7B55, 16179 },
- { 0x7B79, 16181 },
- { 0x7B0B, 16184 },
- { 0x7D51, 16187 },
+ { 0x7E9A, 16178 },
+ { 0x7B5A, 16179 },
+ { 0x7B7E, 16181 },
+ { 0x7B10, 16184 },
+ { 0x7D56, 16187 },
{ 0x006C, 16191 },
- { 0x7CC1, 16193 },
- { 0x4B06, 16198 },
- { 0x4B0B, 16202 },
- { 0x4B07, 16206 },
- { 0x4B0A, 16210 },
- { 0x4B09, 16214 },
- { 0x4B0E, 16218 },
- { 0x4B05, 16222 },
- { 0x4B0D, 16226 },
- { 0x4B0C, 16230 },
- { 0x4B08, 16234 },
- { 0x4AFE, 16238 },
- { 0x4B03, 16242 },
- { 0x4B00, 16246 },
- { 0x4B02, 16250 },
- { 0x4B01, 16254 },
- { 0x4AEE, 16258 },
- { 0x4AEF, 16262 },
- { 0x4AF0, 16266 },
- { 0x4AFF, 16270 },
- { 0x4AF1, 16274 },
- { 0x4AFA, 16278 },
- { 0x4AFC, 16282 },
- { 0x4AFB, 16286 },
- { 0x4AF4, 16290 },
- { 0x4B04, 16294 },
- { 0x4AF2, 16298 },
- { 0x4AF5, 16302 },
- { 0x4AF7, 16306 },
- { 0x4AF9, 16310 },
- { 0x4AEC, 16314 },
- { 0x4AED, 16318 },
- { 0x4AF6, 16322 },
- { 0x4AF8, 16326 },
- { 0x4AF3, 16330 },
- { 0x4AFD, 16334 },
+ { 0x7CC6, 16193 },
+ { 0x4B0B, 16198 },
+ { 0x4B10, 16202 },
+ { 0x4B0C, 16206 },
+ { 0x4B0F, 16210 },
+ { 0x4B0E, 16214 },
+ { 0x4B13, 16218 },
+ { 0x4B0A, 16222 },
+ { 0x4B12, 16226 },
+ { 0x4B11, 16230 },
+ { 0x4B0D, 16234 },
+ { 0x4B03, 16238 },
+ { 0x4B08, 16242 },
+ { 0x4B05, 16246 },
+ { 0x4B07, 16250 },
+ { 0x4B06, 16254 },
+ { 0x4AF3, 16258 },
+ { 0x4AF4, 16262 },
+ { 0x4AF5, 16266 },
+ { 0x4B04, 16270 },
+ { 0x4AF6, 16274 },
+ { 0x4AFF, 16278 },
+ { 0x4B01, 16282 },
+ { 0x4B00, 16286 },
+ { 0x4AF9, 16290 },
+ { 0x4B09, 16294 },
+ { 0x4AF7, 16298 },
+ { 0x4AFA, 16302 },
+ { 0x4AFC, 16306 },
+ { 0x4AFE, 16310 },
+ { 0x4AF1, 16314 },
+ { 0x4AF2, 16318 },
+ { 0x4AFB, 16322 },
+ { 0x4AFD, 16326 },
+ { 0x4AF8, 16330 },
+ { 0x4B02, 16334 },
{ 0x2344, 16338 },
{ 0x224D, 16341 },
{ 0x280A, 16344 },
{ 0x280B, 16349 },
{ 0x1EAC, 16354 },
{ 0x1F17, 16356 },
- { 0x80B6, 16358 },
- { 0x7AD3, 16359 },
+ { 0x80BB, 16358 },
+ { 0x7AD8, 16359 },
{ 0x232A, 16360 },
- { 0x7D52, 16362 },
- { 0x7E3A, 16364 },
+ { 0x7D57, 16362 },
+ { 0x7E3F, 16364 },
{ 0x231D, 16365 },
- { 0x80FE, 16366 },
+ { 0x8103, 16366 },
{ 0x0C7E, 16368 },
{ 0x0C83, 16371 },
{ 0x0C7F, 16374 },
@@ -52060,886 +52067,886 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0C87, 16686 },
{ 0x0C72, 16689 },
{ 0x0C79, 16692 },
- { 0x7F38, 16695 },
+ { 0x7F3D, 16695 },
{ 0x1C83, 16698 },
- { 0x7F3F, 16700 },
+ { 0x7F44, 16700 },
{ 0x2621, 16702 },
- { 0x4802, 16703 },
- { 0x75FC, 16710 },
- { 0x75FB, 16714 },
- { 0x75F4, 16717 },
- { 0x75EF, 16720 },
- { 0x75F8, 16723 },
- { 0x75F3, 16726 },
- { 0x75F9, 16729 },
- { 0x75DF, 16732 },
- { 0x75E1, 16735 },
- { 0x75F6, 16738 },
- { 0x75E3, 16741 },
- { 0x75EC, 16744 },
- { 0x75F1, 16747 },
- { 0x75EB, 16750 },
- { 0x75E2, 16753 },
- { 0x75EE, 16756 },
- { 0x75E4, 16759 },
- { 0x75E5, 16762 },
- { 0x75DE, 16765 },
- { 0x75ED, 16768 },
- { 0x75E7, 16771 },
- { 0x75E0, 16774 },
- { 0x75EA, 16777 },
- { 0x75E9, 16780 },
- { 0x75E8, 16783 },
- { 0x75E6, 16786 },
- { 0x75F5, 16789 },
- { 0x75F0, 16793 },
- { 0x75FA, 16797 },
- { 0x75F7, 16801 },
- { 0x75F2, 16805 },
- { 0x7E2F, 16809 },
- { 0x7E30, 16810 },
+ { 0x4807, 16703 },
+ { 0x7601, 16710 },
+ { 0x7600, 16714 },
+ { 0x75F9, 16717 },
+ { 0x75F4, 16720 },
+ { 0x75FD, 16723 },
+ { 0x75F8, 16726 },
+ { 0x75FE, 16729 },
+ { 0x75E4, 16732 },
+ { 0x75E6, 16735 },
+ { 0x75FB, 16738 },
+ { 0x75E8, 16741 },
+ { 0x75F1, 16744 },
+ { 0x75F6, 16747 },
+ { 0x75F0, 16750 },
+ { 0x75E7, 16753 },
+ { 0x75F3, 16756 },
+ { 0x75E9, 16759 },
+ { 0x75EA, 16762 },
+ { 0x75E3, 16765 },
+ { 0x75F2, 16768 },
+ { 0x75EC, 16771 },
+ { 0x75E5, 16774 },
+ { 0x75EF, 16777 },
+ { 0x75EE, 16780 },
+ { 0x75ED, 16783 },
+ { 0x75EB, 16786 },
+ { 0x75FA, 16789 },
+ { 0x75F5, 16793 },
+ { 0x75FF, 16797 },
+ { 0x75FC, 16801 },
+ { 0x75F7, 16805 },
+ { 0x7E34, 16809 },
+ { 0x7E35, 16810 },
{ 0x1EF9, 16812 },
{ 0x27FF, 16813 },
{ 0x1FDD, 16817 },
- { 0x7F3C, 16819 },
+ { 0x7F41, 16819 },
{ 0x1F29, 16823 },
{ 0x1F2A, 16826 },
- { 0x7F50, 16829 },
- { 0x7F4A, 16834 },
- { 0x7F56, 16839 },
- { 0x7F67, 16844 },
- { 0x7F3D, 16850 },
- { 0x7F1F, 16854 },
- { 0x7F29, 16858 },
- { 0x7E22, 16862 },
- { 0x7F44, 16866 },
- { 0x7E21, 16869 },
- { 0x2BBC, 16872 },
+ { 0x7F55, 16829 },
+ { 0x7F4F, 16834 },
+ { 0x7F5B, 16839 },
+ { 0x7F6C, 16844 },
+ { 0x7F42, 16850 },
+ { 0x7F24, 16854 },
+ { 0x7F2E, 16858 },
+ { 0x7E27, 16862 },
+ { 0x7F49, 16866 },
+ { 0x7E26, 16869 },
+ { 0x2BC0, 16872 },
{ 0x2762, 16874 },
{ 0x2556, 16879 },
- { 0x3E3C, 16884 },
- { 0x2BD0, 16887 },
+ { 0x3E41, 16884 },
+ { 0x2BD4, 16887 },
{ 0x1F58, 16889 },
- { 0x3E38, 16891 },
+ { 0x3E3D, 16891 },
{ 0x2293, 16893 },
- { 0x7B35, 16896 },
- { 0x7AD1, 16898 },
- { 0x7B1C, 16901 },
- { 0x81B9, 16903 },
- { 0x7BDF, 16904 },
- { 0x81B1, 16906 },
+ { 0x7B3A, 16896 },
+ { 0x7AD6, 16898 },
+ { 0x7B21, 16901 },
+ { 0x81BE, 16903 },
+ { 0x7BE4, 16904 },
+ { 0x81B6, 16906 },
{ 0x1CDA, 16907 },
{ 0x2A1E, 16909 },
- { 0x81AD, 16913 },
+ { 0x81B2, 16913 },
{ 0x1C85, 16914 },
{ 0x1C87, 16917 },
- { 0x3EE3, 16920 },
+ { 0x3EE8, 16920 },
{ 0x1C86, 16924 },
{ 0x2802, 16927 },
{ 0x1C86, 16928 },
{ 0x1C85, 16929 },
{ 0x25C2, 16930 },
{ 0x0073, 16932 },
- { 0x7797, 16934 },
- { 0x77A0, 16937 },
- { 0x77A5, 16940 },
- { 0x77A1, 16943 },
- { 0x77A4, 16946 },
- { 0x77A3, 16949 },
- { 0x77A8, 16952 },
- { 0x779F, 16955 },
- { 0x77A7, 16958 },
- { 0x77A6, 16961 },
- { 0x77A2, 16964 },
- { 0x779A, 16967 },
- { 0x779D, 16969 },
- { 0x777E, 16971 },
- { 0x7780, 16975 },
- { 0x7781, 16979 },
- { 0x7788, 16983 },
- { 0x7779, 16987 },
- { 0x777F, 16991 },
- { 0x778D, 16995 },
- { 0x778B, 16999 },
- { 0x777B, 17003 },
- { 0x777D, 17007 },
- { 0x778F, 17011 },
- { 0x7791, 17015 },
- { 0x7787, 17019 },
- { 0x777C, 17023 },
- { 0x778A, 17027 },
- { 0x7782, 17031 },
- { 0x7793, 17035 },
- { 0x7786, 17039 },
- { 0x7792, 17043 },
- { 0x7795, 17047 },
- { 0x7790, 17051 },
- { 0x7785, 17055 },
- { 0x778E, 17059 },
- { 0x7796, 17063 },
- { 0x7784, 17067 },
- { 0x7783, 17071 },
- { 0x7794, 17075 },
- { 0x7775, 17079 },
- { 0x7789, 17083 },
- { 0x7777, 17087 },
- { 0x7778, 17091 },
- { 0x778C, 17095 },
- { 0x7776, 17099 },
- { 0x777A, 17103 },
- { 0x7798, 17107 },
- { 0x775C, 17110 },
- { 0x775E, 17114 },
- { 0x775F, 17118 },
- { 0x7766, 17122 },
- { 0x7757, 17126 },
- { 0x775D, 17130 },
- { 0x776B, 17134 },
- { 0x7769, 17138 },
- { 0x7759, 17142 },
- { 0x775B, 17146 },
- { 0x776D, 17150 },
- { 0x776F, 17154 },
- { 0x7765, 17158 },
- { 0x775A, 17162 },
- { 0x7768, 17166 },
- { 0x7760, 17170 },
- { 0x7771, 17174 },
- { 0x7764, 17178 },
- { 0x7770, 17182 },
- { 0x7773, 17186 },
- { 0x776E, 17190 },
- { 0x7763, 17194 },
- { 0x776C, 17198 },
- { 0x7774, 17202 },
- { 0x7762, 17206 },
- { 0x7761, 17210 },
- { 0x7772, 17214 },
- { 0x7753, 17218 },
- { 0x7767, 17222 },
- { 0x7755, 17226 },
- { 0x7756, 17230 },
- { 0x776A, 17234 },
- { 0x7754, 17238 },
- { 0x7758, 17242 },
- { 0x77AA, 17246 },
- { 0x77A9, 17250 },
- { 0x779C, 17254 },
- { 0x779B, 17258 },
- { 0x7799, 17261 },
- { 0x779E, 17264 },
- { 0x80E5, 17267 },
+ { 0x779C, 16934 },
+ { 0x77A5, 16937 },
+ { 0x77AA, 16940 },
+ { 0x77A6, 16943 },
+ { 0x77A9, 16946 },
+ { 0x77A8, 16949 },
+ { 0x77AD, 16952 },
+ { 0x77A4, 16955 },
+ { 0x77AC, 16958 },
+ { 0x77AB, 16961 },
+ { 0x77A7, 16964 },
+ { 0x779F, 16967 },
+ { 0x77A2, 16969 },
+ { 0x7783, 16971 },
+ { 0x7785, 16975 },
+ { 0x7786, 16979 },
+ { 0x778D, 16983 },
+ { 0x777E, 16987 },
+ { 0x7784, 16991 },
+ { 0x7792, 16995 },
+ { 0x7790, 16999 },
+ { 0x7780, 17003 },
+ { 0x7782, 17007 },
+ { 0x7794, 17011 },
+ { 0x7796, 17015 },
+ { 0x778C, 17019 },
+ { 0x7781, 17023 },
+ { 0x778F, 17027 },
+ { 0x7787, 17031 },
+ { 0x7798, 17035 },
+ { 0x778B, 17039 },
+ { 0x7797, 17043 },
+ { 0x779A, 17047 },
+ { 0x7795, 17051 },
+ { 0x778A, 17055 },
+ { 0x7793, 17059 },
+ { 0x779B, 17063 },
+ { 0x7789, 17067 },
+ { 0x7788, 17071 },
+ { 0x7799, 17075 },
+ { 0x777A, 17079 },
+ { 0x778E, 17083 },
+ { 0x777C, 17087 },
+ { 0x777D, 17091 },
+ { 0x7791, 17095 },
+ { 0x777B, 17099 },
+ { 0x777F, 17103 },
+ { 0x779D, 17107 },
+ { 0x7761, 17110 },
+ { 0x7763, 17114 },
+ { 0x7764, 17118 },
+ { 0x776B, 17122 },
+ { 0x775C, 17126 },
+ { 0x7762, 17130 },
+ { 0x7770, 17134 },
+ { 0x776E, 17138 },
+ { 0x775E, 17142 },
+ { 0x7760, 17146 },
+ { 0x7772, 17150 },
+ { 0x7774, 17154 },
+ { 0x776A, 17158 },
+ { 0x775F, 17162 },
+ { 0x776D, 17166 },
+ { 0x7765, 17170 },
+ { 0x7776, 17174 },
+ { 0x7769, 17178 },
+ { 0x7775, 17182 },
+ { 0x7778, 17186 },
+ { 0x7773, 17190 },
+ { 0x7768, 17194 },
+ { 0x7771, 17198 },
+ { 0x7779, 17202 },
+ { 0x7767, 17206 },
+ { 0x7766, 17210 },
+ { 0x7777, 17214 },
+ { 0x7758, 17218 },
+ { 0x776C, 17222 },
+ { 0x775A, 17226 },
+ { 0x775B, 17230 },
+ { 0x776F, 17234 },
+ { 0x7759, 17238 },
+ { 0x775D, 17242 },
+ { 0x77AF, 17246 },
+ { 0x77AE, 17250 },
+ { 0x77A1, 17254 },
+ { 0x77A0, 17258 },
+ { 0x779E, 17261 },
+ { 0x77A3, 17264 },
+ { 0x80EA, 17267 },
{ 0x2041, 17268 },
- { 0x7C23, 17270 },
- { 0x7C47, 17272 },
+ { 0x7C28, 17270 },
+ { 0x7C4C, 17272 },
{ 0x1E71, 17274 },
{ 0x25C1, 17275 },
{ 0x25C7, 17279 },
- { 0x7DC5, 17282 },
+ { 0x7DCA, 17282 },
{ 0x226B, 17284 },
- { 0x8012, 17285 },
+ { 0x8017, 17285 },
{ 0x2559, 17291 },
{ 0x255A, 17297 },
- { 0x8013, 17303 },
+ { 0x8018, 17303 },
{ 0x2557, 17310 },
{ 0x2558, 17316 },
- { 0x4131, 17322 },
- { 0x8067, 17324 },
- { 0x8083, 17325 },
- { 0x369C, 17326 },
- { 0x369D, 17329 },
- { 0x369E, 17331 },
- { 0x3649, 17333 },
- { 0x3652, 17336 },
- { 0x365C, 17339 },
- { 0x3650, 17342 },
- { 0x364B, 17345 },
- { 0x364D, 17348 },
- { 0x3681, 17351 },
- { 0x364A, 17354 },
- { 0x368E, 17357 },
- { 0x3688, 17360 },
- { 0x364C, 17363 },
- { 0x3653, 17366 },
- { 0x3685, 17369 },
- { 0x3676, 17372 },
- { 0x368C, 17375 },
- { 0x3677, 17378 },
- { 0x368F, 17381 },
- { 0x365E, 17384 },
- { 0x3684, 17387 },
- { 0x3678, 17390 },
- { 0x3666, 17393 },
- { 0x3654, 17396 },
- { 0x3686, 17399 },
- { 0x3675, 17402 },
- { 0x3660, 17405 },
- { 0x368D, 17408 },
- { 0x3683, 17411 },
- { 0x366B, 17414 },
- { 0x3674, 17417 },
- { 0x3682, 17420 },
- { 0x367B, 17423 },
- { 0x3664, 17426 },
- { 0x3692, 17429 },
- { 0x3687, 17432 },
- { 0x368B, 17435 },
- { 0x367E, 17438 },
- { 0x3651, 17441 },
- { 0x3673, 17444 },
- { 0x3671, 17447 },
- { 0x367A, 17450 },
- { 0x364E, 17453 },
- { 0x368A, 17456 },
- { 0x3655, 17459 },
- { 0x367F, 17462 },
- { 0x3669, 17465 },
- { 0x365D, 17468 },
- { 0x3659, 17471 },
- { 0x364F, 17474 },
- { 0x3693, 17477 },
- { 0x3691, 17480 },
- { 0x3672, 17483 },
- { 0x3668, 17486 },
- { 0x366A, 17489 },
- { 0x366D, 17492 },
- { 0x3663, 17495 },
- { 0x3690, 17498 },
- { 0x3689, 17501 },
- { 0x365A, 17504 },
- { 0x367D, 17507 },
- { 0x366F, 17510 },
- { 0x366C, 17513 },
- { 0x3670, 17516 },
- { 0x3694, 17519 },
- { 0x3665, 17522 },
- { 0x366E, 17525 },
- { 0x3680, 17528 },
- { 0x3679, 17531 },
- { 0x3656, 17534 },
- { 0x3662, 17537 },
- { 0x365F, 17540 },
- { 0x3697, 17543 },
- { 0x3657, 17546 },
- { 0x3658, 17549 },
- { 0x365B, 17552 },
- { 0x3667, 17555 },
- { 0x3695, 17558 },
- { 0x3661, 17561 },
- { 0x3696, 17564 },
- { 0x3698, 17567 },
- { 0x367C, 17570 },
- { 0x5EAE, 17573 },
- { 0x5EE1, 17579 },
- { 0x5EB6, 17583 },
- { 0x5E9A, 17588 },
- { 0x5EDE, 17593 },
- { 0x5EC1, 17597 },
- { 0x5EA6, 17601 },
- { 0x5ECB, 17606 },
- { 0x5EAC, 17611 },
- { 0x5E92, 17616 },
- { 0x5EE3, 17621 },
- { 0x5EB7, 17625 },
- { 0x5EE2, 17630 },
- { 0x5EDD, 17634 },
- { 0x5E95, 17638 },
- { 0x5EB8, 17643 },
- { 0x5E98, 17647 },
- { 0x5E97, 17654 },
- { 0x5E91, 17661 },
- { 0x5E90, 17667 },
- { 0x5EBB, 17673 },
- { 0x5EC8, 17677 },
- { 0x5ECA, 17681 },
- { 0x5ED9, 17685 },
- { 0x5EA3, 17689 },
- { 0x5EE0, 17693 },
- { 0x5EC7, 17697 },
- { 0x5EB5, 17701 },
- { 0x5EC9, 17705 },
- { 0x5EC3, 17709 },
- { 0x5EDC, 17713 },
- { 0x5EE4, 17717 },
- { 0x5EBA, 17721 },
- { 0x5ED5, 17725 },
- { 0x5EDF, 17729 },
- { 0x5ECD, 17733 },
- { 0x5EA7, 17737 },
- { 0x5EB0, 17742 },
- { 0x5ED7, 17747 },
- { 0x5ECF, 17751 },
- { 0x5EAD, 17756 },
- { 0x5EDA, 17761 },
- { 0x5ECE, 17765 },
- { 0x5EC5, 17771 },
- { 0x5EB1, 17775 },
- { 0x5E94, 17779 },
- { 0x5E8F, 17784 },
- { 0x5EA5, 17789 },
- { 0x5EBD, 17793 },
- { 0x5ED4, 17797 },
- { 0x5ED3, 17801 },
- { 0x5E8E, 17805 },
- { 0x5EBC, 17810 },
- { 0x5EC6, 17814 },
- { 0x5EC0, 17818 },
- { 0x5ED6, 17822 },
- { 0x5EB2, 17826 },
- { 0x5E9B, 17830 },
- { 0x5EA2, 17834 },
- { 0x5EDB, 17838 },
- { 0x5ED0, 17842 },
- { 0x5EA9, 17846 },
- { 0x5E96, 17850 },
- { 0x5ECC, 17856 },
- { 0x5EBE, 17860 },
- { 0x5ED8, 17864 },
- { 0x5EA8, 17868 },
- { 0x5E9D, 17872 },
- { 0x5EC4, 17876 },
- { 0x5EB4, 17880 },
- { 0x5ED1, 17884 },
- { 0x5EA0, 17888 },
- { 0x5EAB, 17892 },
- { 0x5E9F, 17896 },
- { 0x5ED2, 17900 },
- { 0x5EB9, 17904 },
- { 0x5E9C, 17908 },
- { 0x5EAA, 17912 },
- { 0x5EBF, 17916 },
- { 0x5EA1, 17920 },
- { 0x5E99, 17924 },
- { 0x5E9E, 17928 },
- { 0x5EA4, 17932 },
- { 0x5E93, 17936 },
- { 0x5EAF, 17940 },
- { 0x5EB3, 17944 },
- { 0x5EC2, 17948 },
- { 0x5F1A, 17952 },
- { 0x5F16, 17956 },
- { 0x5F15, 17961 },
- { 0x5EF6, 17966 },
- { 0x5EE6, 17971 },
- { 0x5F13, 17976 },
- { 0x5EEE, 17980 },
- { 0x5F1B, 17984 },
- { 0x5EF1, 17988 },
- { 0x5F17, 17994 },
- { 0x5EE9, 17998 },
- { 0x5EEA, 18003 },
- { 0x5EF3, 18008 },
- { 0x5EFB, 18013 },
- { 0x5EF5, 18018 },
- { 0x5EE8, 18022 },
- { 0x5F0B, 18027 },
- { 0x5F11, 18031 },
- { 0x5EFA, 18035 },
- { 0x5F07, 18040 },
- { 0x5F10, 18044 },
- { 0x5EF9, 18049 },
- { 0x5F1C, 18054 },
- { 0x5F19, 18058 },
- { 0x5EF7, 18062 },
- { 0x5EE7, 18067 },
- { 0x5F06, 18071 },
- { 0x5F01, 18075 },
- { 0x5EF0, 18079 },
- { 0x5EEB, 18084 },
- { 0x5F12, 18088 },
- { 0x5F03, 18092 },
- { 0x5EF2, 18097 },
- { 0x5F00, 18102 },
- { 0x5F04, 18106 },
- { 0x5F14, 18110 },
- { 0x5EFC, 18114 },
- { 0x5EFF, 18118 },
- { 0x5F0C, 18122 },
- { 0x5F0A, 18126 },
- { 0x5F18, 18130 },
- { 0x5F08, 18134 },
- { 0x5F09, 18138 },
- { 0x5EE5, 18143 },
- { 0x5EEF, 18147 },
- { 0x5EEC, 18151 },
- { 0x5EFE, 18155 },
- { 0x5EED, 18159 },
- { 0x5F02, 18163 },
- { 0x5F0E, 18168 },
- { 0x5F0F, 18172 },
- { 0x5F05, 18176 },
- { 0x5EFD, 18180 },
- { 0x5F0D, 18184 },
- { 0x5EF8, 18188 },
- { 0x5EF4, 18192 },
- { 0x5F5B, 18196 },
- { 0x5F66, 18200 },
- { 0x5F41, 18205 },
- { 0x5F51, 18210 },
- { 0x5F30, 18214 },
- { 0x5F4A, 18219 },
- { 0x5F37, 18223 },
- { 0x5F77, 18227 },
- { 0x5F78, 18232 },
- { 0x5F57, 18237 },
- { 0x5F5C, 18241 },
- { 0x5F53, 18245 },
- { 0x5F44, 18249 },
- { 0x5F7B, 18253 },
- { 0x5F6B, 18257 },
- { 0x5F7A, 18261 },
- { 0x5F4C, 18265 },
- { 0x5F28, 18269 },
- { 0x5F1E, 18274 },
- { 0x5F7D, 18278 },
- { 0x5F7C, 18282 },
- { 0x5F7E, 18286 },
- { 0x5F5F, 18290 },
- { 0x5F67, 18294 },
- { 0x5F1F, 18298 },
- { 0x5F4E, 18302 },
- { 0x5F2E, 18306 },
- { 0x5F70, 18310 },
- { 0x5F63, 18314 },
- { 0x5F71, 18319 },
- { 0x5F2C, 18324 },
- { 0x5F34, 18329 },
- { 0x5F32, 18333 },
- { 0x5F74, 18337 },
- { 0x5F75, 18341 },
- { 0x5F65, 18345 },
- { 0x5F68, 18349 },
- { 0x5F79, 18353 },
- { 0x5F58, 18357 },
- { 0x5F5E, 18361 },
- { 0x5F5D, 18365 },
- { 0x5F61, 18369 },
- { 0x5F64, 18373 },
- { 0x5F42, 18377 },
- { 0x5F62, 18381 },
- { 0x5F27, 18385 },
- { 0x5F38, 18391 },
- { 0x5F76, 18395 },
- { 0x5F3C, 18399 },
- { 0x5F3F, 18404 },
- { 0x5F35, 18408 },
- { 0x5F26, 18412 },
- { 0x5F59, 18416 },
- { 0x5F29, 18420 },
- { 0x5F6F, 18424 },
- { 0x5F4B, 18428 },
- { 0x5F39, 18432 },
- { 0x5F21, 18436 },
- { 0x5F49, 18440 },
- { 0x5F23, 18444 },
- { 0x5F1D, 18448 },
- { 0x5F52, 18453 },
- { 0x5F73, 18457 },
- { 0x5F3B, 18461 },
- { 0x5F4D, 18465 },
- { 0x5F55, 18469 },
- { 0x5F31, 18474 },
- { 0x5F69, 18478 },
- { 0x5F3D, 18482 },
- { 0x5F72, 18486 },
- { 0x5F24, 18490 },
- { 0x5F2F, 18494 },
- { 0x5F36, 18498 },
- { 0x5F6C, 18502 },
- { 0x5F6D, 18506 },
- { 0x5F50, 18510 },
- { 0x5F5A, 18514 },
- { 0x5F2B, 18518 },
- { 0x5F43, 18522 },
- { 0x5F56, 18526 },
- { 0x5F6A, 18530 },
- { 0x5F6E, 18534 },
- { 0x5F46, 18538 },
- { 0x5F3E, 18542 },
- { 0x5F60, 18547 },
- { 0x5F33, 18551 },
- { 0x5F2A, 18555 },
- { 0x5F3A, 18559 },
- { 0x5F48, 18563 },
- { 0x5F54, 18567 },
- { 0x5F25, 18571 },
- { 0x5F45, 18575 },
- { 0x5F40, 18579 },
- { 0x5F47, 18583 },
- { 0x5F4F, 18587 },
- { 0x5F20, 18591 },
- { 0x5F22, 18595 },
- { 0x5F2D, 18599 },
- { 0x5FDF, 18603 },
- { 0x5FD7, 18607 },
- { 0x5FE1, 18611 },
- { 0x5FE9, 18615 },
- { 0x5FE5, 18619 },
- { 0x5FEF, 18623 },
- { 0x5F9F, 18627 },
- { 0x5FF3, 18631 },
- { 0x5F92, 18635 },
- { 0x5FC8, 18639 },
- { 0x5FCD, 18643 },
- { 0x5FBE, 18647 },
- { 0x5FED, 18651 },
- { 0x5FAC, 18655 },
- { 0x5FAB, 18659 },
- { 0x5F81, 18663 },
- { 0x5FDB, 18667 },
- { 0x5FC3, 18671 },
- { 0x5FE8, 18675 },
- { 0x5FBB, 18679 },
- { 0x5FEB, 18683 },
- { 0x5FD8, 18687 },
- { 0x5FEE, 18692 },
- { 0x5FDC, 18697 },
- { 0x5F95, 18701 },
- { 0x5FF2, 18705 },
- { 0x5FE6, 18709 },
- { 0x5FB2, 18713 },
- { 0x5F91, 18717 },
- { 0x5FE0, 18721 },
- { 0x5FD9, 18725 },
- { 0x5FDA, 18729 },
- { 0x5F80, 18733 },
- { 0x5F9B, 18737 },
- { 0x5FA0, 18741 },
- { 0x5FB4, 18745 },
- { 0x5FBA, 18749 },
- { 0x5F94, 18753 },
- { 0x5FE4, 18757 },
- { 0x5FD2, 18761 },
- { 0x5F84, 18765 },
- { 0x5FAE, 18769 },
- { 0x5FF1, 18773 },
- { 0x5F7F, 18778 },
- { 0x5FCC, 18782 },
- { 0x5F99, 18786 },
- { 0x5F82, 18790 },
- { 0x5FA7, 18794 },
- { 0x5FEC, 18798 },
- { 0x5FC5, 18802 },
- { 0x5FA3, 18806 },
- { 0x5FA6, 18810 },
- { 0x5F90, 18814 },
- { 0x5FCE, 18818 },
- { 0x5FE7, 18822 },
- { 0x5FF0, 18826 },
- { 0x5F88, 18830 },
- { 0x5FB0, 18834 },
- { 0x5FBD, 18838 },
- { 0x5FA9, 18842 },
- { 0x5FB5, 18846 },
- { 0x5F8B, 18850 },
- { 0x5FE2, 18854 },
- { 0x5FEA, 18858 },
- { 0x5FC7, 18862 },
- { 0x5FCF, 18866 },
- { 0x5F8E, 18870 },
- { 0x5FCB, 18874 },
- { 0x5FC2, 18878 },
- { 0x5FC4, 18882 },
- { 0x5F9D, 18886 },
- { 0x5FAF, 18891 },
- { 0x5FDD, 18895 },
- { 0x5FDE, 18899 },
- { 0x5F96, 18903 },
- { 0x5FC0, 18907 },
- { 0x5F97, 18911 },
- { 0x5FD1, 18915 },
- { 0x5F8C, 18919 },
- { 0x5F8A, 18923 },
- { 0x5F85, 18927 },
- { 0x5F83, 18931 },
- { 0x5FD5, 18935 },
- { 0x5F86, 18939 },
- { 0x5FD4, 18943 },
- { 0x5FC6, 18947 },
- { 0x5FE3, 18951 },
- { 0x5FB6, 18955 },
- { 0x5F89, 18959 },
- { 0x5FB3, 18963 },
- { 0x5FD6, 18967 },
- { 0x5FA5, 18971 },
- { 0x5FB8, 18975 },
- { 0x5FA8, 18979 },
- { 0x5FAA, 18983 },
- { 0x5FBF, 18987 },
- { 0x5FC9, 18991 },
- { 0x5FD3, 18995 },
- { 0x5FCA, 18999 },
- { 0x5FA1, 19003 },
- { 0x5FAD, 19007 },
- { 0x5FB9, 19011 },
- { 0x5FBC, 19015 },
- { 0x5F9A, 19019 },
- { 0x5F8F, 19023 },
- { 0x5FB1, 19027 },
- { 0x5FD0, 19031 },
- { 0x5F98, 19035 },
- { 0x5FA4, 19039 },
- { 0x5FC1, 19043 },
- { 0x5F9E, 19047 },
- { 0x5F9C, 19051 },
- { 0x5F93, 19055 },
- { 0x5F87, 19059 },
- { 0x5FB7, 19063 },
- { 0x5FA2, 19067 },
- { 0x5F8D, 19071 },
- { 0x6063, 19075 },
- { 0x6066, 19079 },
- { 0x6065, 19083 },
- { 0x6049, 19087 },
- { 0x6056, 19091 },
- { 0x6060, 19096 },
- { 0x6083, 19101 },
- { 0x608C, 19106 },
- { 0x6087, 19110 },
- { 0x607B, 19114 },
- { 0x6089, 19118 },
- { 0x607C, 19122 },
- { 0x6084, 19126 },
- { 0x605F, 19130 },
- { 0x6068, 19135 },
- { 0x6085, 19140 },
- { 0x6026, 19144 },
- { 0x602E, 19148 },
- { 0x608F, 19152 },
- { 0x6079, 19156 },
- { 0x6061, 19160 },
- { 0x6042, 19164 },
- { 0x6045, 19168 },
- { 0x605A, 19172 },
- { 0x5FF7, 19176 },
- { 0x6067, 19180 },
- { 0x6009, 19184 },
- { 0x6086, 19188 },
- { 0x6046, 19192 },
- { 0x6019, 19196 },
- { 0x608A, 19200 },
- { 0x6088, 19204 },
- { 0x608D, 19208 },
- { 0x6057, 19212 },
- { 0x6053, 19216 },
- { 0x6080, 19220 },
- { 0x604E, 19224 },
- { 0x603B, 19229 },
- { 0x5FFA, 19234 },
- { 0x6077, 19238 },
- { 0x601F, 19242 },
- { 0x607E, 19246 },
- { 0x5FFC, 19250 },
- { 0x6013, 19254 },
- { 0x6004, 19258 },
- { 0x601E, 19262 },
- { 0x6081, 19266 },
- { 0x5FFB, 19270 },
- { 0x6069, 19274 },
- { 0x6000, 19278 },
- { 0x606A, 19282 },
- { 0x608E, 19286 },
- { 0x608B, 19290 },
- { 0x6007, 19294 },
- { 0x6064, 19298 },
- { 0x6038, 19302 },
- { 0x607A, 19306 },
- { 0x5FF8, 19310 },
- { 0x6078, 19314 },
- { 0x6003, 19318 },
- { 0x603A, 19322 },
- { 0x603C, 19326 },
- { 0x6071, 19330 },
- { 0x6070, 19335 },
- { 0x6073, 19340 },
- { 0x6072, 19344 },
- { 0x6052, 19348 },
- { 0x6037, 19352 },
- { 0x6048, 19356 },
- { 0x6090, 19360 },
- { 0x6074, 19364 },
- { 0x6039, 19368 },
- { 0x6008, 19372 },
- { 0x602D, 19376 },
- { 0x5FF9, 19380 },
- { 0x601A, 19384 },
- { 0x600C, 19388 },
- { 0x6034, 19392 },
- { 0x6015, 19396 },
- { 0x6051, 19400 },
- { 0x6054, 19404 },
- { 0x606B, 19408 },
- { 0x6020, 19414 },
- { 0x5FF4, 19419 },
- { 0x601C, 19423 },
- { 0x5FFE, 19427 },
- { 0x6001, 19431 },
- { 0x600B, 19435 },
- { 0x600E, 19439 },
- { 0x6062, 19443 },
- { 0x6076, 19447 },
- { 0x6036, 19452 },
- { 0x605C, 19456 },
- { 0x604A, 19460 },
- { 0x6035, 19464 },
- { 0x604F, 19468 },
- { 0x6006, 19472 },
- { 0x6012, 19476 },
- { 0x604B, 19480 },
- { 0x6075, 19484 },
- { 0x605B, 19488 },
- { 0x6050, 19492 },
- { 0x5FFF, 19496 },
- { 0x6058, 19500 },
- { 0x607D, 19504 },
- { 0x606C, 19508 },
- { 0x6082, 19512 },
- { 0x602F, 19516 },
- { 0x601D, 19520 },
- { 0x5FF5, 19525 },
- { 0x6024, 19529 },
- { 0x602C, 19533 },
- { 0x604C, 19537 },
- { 0x606D, 19541 },
- { 0x6022, 19545 },
- { 0x6040, 19549 },
- { 0x6043, 19553 },
- { 0x6023, 19557 },
- { 0x6016, 19561 },
- { 0x6028, 19565 },
- { 0x6002, 19569 },
- { 0x5FF6, 19573 },
- { 0x603D, 19577 },
- { 0x6033, 19581 },
- { 0x603E, 19585 },
- { 0x605E, 19589 },
- { 0x6059, 19593 },
- { 0x6044, 19597 },
- { 0x606E, 19601 },
- { 0x6011, 19605 },
- { 0x600F, 19609 },
- { 0x603F, 19613 },
- { 0x6029, 19617 },
- { 0x6027, 19621 },
- { 0x602B, 19625 },
- { 0x6025, 19629 },
- { 0x606F, 19633 },
- { 0x6055, 19637 },
- { 0x6041, 19641 },
- { 0x600D, 19645 },
- { 0x607F, 19649 },
- { 0x600A, 19653 },
- { 0x5FFD, 19657 },
- { 0x6010, 19661 },
- { 0x602A, 19665 },
- { 0x605D, 19669 },
- { 0x6030, 19673 },
- { 0x601B, 19677 },
- { 0x604D, 19681 },
- { 0x6014, 19685 },
- { 0x6047, 19689 },
- { 0x6018, 19693 },
- { 0x6032, 19697 },
- { 0x6031, 19701 },
- { 0x6005, 19705 },
- { 0x6017, 19709 },
- { 0x6021, 19713 },
- { 0x609F, 19718 },
- { 0x6092, 19722 },
- { 0x6094, 19726 },
- { 0x6091, 19730 },
- { 0x60BD, 19734 },
- { 0x6093, 19738 },
- { 0x6098, 19742 },
- { 0x60BB, 19746 },
- { 0x60C0, 19750 },
- { 0x60C1, 19754 },
- { 0x60B2, 19758 },
- { 0x60A7, 19762 },
- { 0x60B1, 19766 },
- { 0x60A2, 19770 },
- { 0x60BA, 19774 },
- { 0x60AB, 19778 },
- { 0x60B9, 19782 },
- { 0x60B4, 19786 },
- { 0x60A5, 19790 },
- { 0x60C4, 19794 },
- { 0x60BC, 19798 },
- { 0x6097, 19802 },
- { 0x60B0, 19806 },
- { 0x6095, 19810 },
- { 0x60BF, 19814 },
- { 0x6099, 19818 },
- { 0x60B7, 19822 },
- { 0x60AA, 19826 },
- { 0x60A0, 19830 },
- { 0x609C, 19834 },
- { 0x6096, 19838 },
- { 0x60C3, 19842 },
- { 0x60AF, 19846 },
- { 0x60A9, 19850 },
- { 0x60A4, 19854 },
- { 0x60C2, 19858 },
- { 0x60BE, 19862 },
- { 0x609D, 19866 },
- { 0x60B6, 19870 },
- { 0x60AC, 19874 },
- { 0x60AE, 19878 },
- { 0x60A6, 19882 },
- { 0x60AD, 19886 },
- { 0x60B8, 19890 },
- { 0x60B3, 19894 },
- { 0x609A, 19898 },
- { 0x60A3, 19902 },
- { 0x60A1, 19906 },
- { 0x60C6, 19910 },
- { 0x609B, 19914 },
- { 0x609E, 19918 },
- { 0x60A8, 19922 },
- { 0x60C5, 19926 },
- { 0x60B5, 19930 },
- { 0x369B, 19934 },
- { 0x36A0, 19936 },
- { 0x3699, 19939 },
- { 0x369A, 19943 },
- { 0x369F, 19947 },
- { 0x8191, 19949 },
- { 0x616E, 19950 },
- { 0x6162, 19954 },
- { 0x6167, 19958 },
- { 0x6168, 19962 },
- { 0x6163, 19966 },
- { 0x6165, 19970 },
- { 0x615D, 19974 },
- { 0x615A, 19978 },
- { 0x6159, 19982 },
- { 0x6166, 19986 },
- { 0x614E, 19990 },
- { 0x6154, 19994 },
- { 0x614C, 19998 },
- { 0x6164, 20002 },
- { 0x6160, 20006 },
- { 0x614D, 20010 },
- { 0x615C, 20014 },
- { 0x615E, 20018 },
- { 0x6156, 20022 },
- { 0x6157, 20026 },
- { 0x6151, 20030 },
- { 0x6158, 20034 },
- { 0x614F, 20038 },
- { 0x615B, 20042 },
- { 0x6150, 20046 },
- { 0x6152, 20050 },
- { 0x614B, 20054 },
- { 0x6155, 20058 },
- { 0x6153, 20062 },
- { 0x615F, 20066 },
- { 0x6161, 20070 },
- { 0x616A, 20074 },
- { 0x616B, 20079 },
- { 0x6169, 20084 },
- { 0x616C, 20089 },
- { 0x616D, 20094 },
+ { 0x4136, 17322 },
+ { 0x806C, 17324 },
+ { 0x8088, 17325 },
+ { 0x36A1, 17326 },
+ { 0x36A2, 17329 },
+ { 0x36A3, 17331 },
+ { 0x364E, 17333 },
+ { 0x3657, 17336 },
+ { 0x3661, 17339 },
+ { 0x3655, 17342 },
+ { 0x3650, 17345 },
+ { 0x3652, 17348 },
+ { 0x3686, 17351 },
+ { 0x364F, 17354 },
+ { 0x3693, 17357 },
+ { 0x368D, 17360 },
+ { 0x3651, 17363 },
+ { 0x3658, 17366 },
+ { 0x368A, 17369 },
+ { 0x367B, 17372 },
+ { 0x3691, 17375 },
+ { 0x367C, 17378 },
+ { 0x3694, 17381 },
+ { 0x3663, 17384 },
+ { 0x3689, 17387 },
+ { 0x367D, 17390 },
+ { 0x366B, 17393 },
+ { 0x3659, 17396 },
+ { 0x368B, 17399 },
+ { 0x367A, 17402 },
+ { 0x3665, 17405 },
+ { 0x3692, 17408 },
+ { 0x3688, 17411 },
+ { 0x3670, 17414 },
+ { 0x3679, 17417 },
+ { 0x3687, 17420 },
+ { 0x3680, 17423 },
+ { 0x3669, 17426 },
+ { 0x3697, 17429 },
+ { 0x368C, 17432 },
+ { 0x3690, 17435 },
+ { 0x3683, 17438 },
+ { 0x3656, 17441 },
+ { 0x3678, 17444 },
+ { 0x3676, 17447 },
+ { 0x367F, 17450 },
+ { 0x3653, 17453 },
+ { 0x368F, 17456 },
+ { 0x365A, 17459 },
+ { 0x3684, 17462 },
+ { 0x366E, 17465 },
+ { 0x3662, 17468 },
+ { 0x365E, 17471 },
+ { 0x3654, 17474 },
+ { 0x3698, 17477 },
+ { 0x3696, 17480 },
+ { 0x3677, 17483 },
+ { 0x366D, 17486 },
+ { 0x366F, 17489 },
+ { 0x3672, 17492 },
+ { 0x3668, 17495 },
+ { 0x3695, 17498 },
+ { 0x368E, 17501 },
+ { 0x365F, 17504 },
+ { 0x3682, 17507 },
+ { 0x3674, 17510 },
+ { 0x3671, 17513 },
+ { 0x3675, 17516 },
+ { 0x3699, 17519 },
+ { 0x366A, 17522 },
+ { 0x3673, 17525 },
+ { 0x3685, 17528 },
+ { 0x367E, 17531 },
+ { 0x365B, 17534 },
+ { 0x3667, 17537 },
+ { 0x3664, 17540 },
+ { 0x369C, 17543 },
+ { 0x365C, 17546 },
+ { 0x365D, 17549 },
+ { 0x3660, 17552 },
+ { 0x366C, 17555 },
+ { 0x369A, 17558 },
+ { 0x3666, 17561 },
+ { 0x369B, 17564 },
+ { 0x369D, 17567 },
+ { 0x3681, 17570 },
+ { 0x5EB3, 17573 },
+ { 0x5EE6, 17579 },
+ { 0x5EBB, 17583 },
+ { 0x5E9F, 17588 },
+ { 0x5EE3, 17593 },
+ { 0x5EC6, 17597 },
+ { 0x5EAB, 17601 },
+ { 0x5ED0, 17606 },
+ { 0x5EB1, 17611 },
+ { 0x5E97, 17616 },
+ { 0x5EE8, 17621 },
+ { 0x5EBC, 17625 },
+ { 0x5EE7, 17630 },
+ { 0x5EE2, 17634 },
+ { 0x5E9A, 17638 },
+ { 0x5EBD, 17643 },
+ { 0x5E9D, 17647 },
+ { 0x5E9C, 17654 },
+ { 0x5E96, 17661 },
+ { 0x5E95, 17667 },
+ { 0x5EC0, 17673 },
+ { 0x5ECD, 17677 },
+ { 0x5ECF, 17681 },
+ { 0x5EDE, 17685 },
+ { 0x5EA8, 17689 },
+ { 0x5EE5, 17693 },
+ { 0x5ECC, 17697 },
+ { 0x5EBA, 17701 },
+ { 0x5ECE, 17705 },
+ { 0x5EC8, 17709 },
+ { 0x5EE1, 17713 },
+ { 0x5EE9, 17717 },
+ { 0x5EBF, 17721 },
+ { 0x5EDA, 17725 },
+ { 0x5EE4, 17729 },
+ { 0x5ED2, 17733 },
+ { 0x5EAC, 17737 },
+ { 0x5EB5, 17742 },
+ { 0x5EDC, 17747 },
+ { 0x5ED4, 17751 },
+ { 0x5EB2, 17756 },
+ { 0x5EDF, 17761 },
+ { 0x5ED3, 17765 },
+ { 0x5ECA, 17771 },
+ { 0x5EB6, 17775 },
+ { 0x5E99, 17779 },
+ { 0x5E94, 17784 },
+ { 0x5EAA, 17789 },
+ { 0x5EC2, 17793 },
+ { 0x5ED9, 17797 },
+ { 0x5ED8, 17801 },
+ { 0x5E93, 17805 },
+ { 0x5EC1, 17810 },
+ { 0x5ECB, 17814 },
+ { 0x5EC5, 17818 },
+ { 0x5EDB, 17822 },
+ { 0x5EB7, 17826 },
+ { 0x5EA0, 17830 },
+ { 0x5EA7, 17834 },
+ { 0x5EE0, 17838 },
+ { 0x5ED5, 17842 },
+ { 0x5EAE, 17846 },
+ { 0x5E9B, 17850 },
+ { 0x5ED1, 17856 },
+ { 0x5EC3, 17860 },
+ { 0x5EDD, 17864 },
+ { 0x5EAD, 17868 },
+ { 0x5EA2, 17872 },
+ { 0x5EC9, 17876 },
+ { 0x5EB9, 17880 },
+ { 0x5ED6, 17884 },
+ { 0x5EA5, 17888 },
+ { 0x5EB0, 17892 },
+ { 0x5EA4, 17896 },
+ { 0x5ED7, 17900 },
+ { 0x5EBE, 17904 },
+ { 0x5EA1, 17908 },
+ { 0x5EAF, 17912 },
+ { 0x5EC4, 17916 },
+ { 0x5EA6, 17920 },
+ { 0x5E9E, 17924 },
+ { 0x5EA3, 17928 },
+ { 0x5EA9, 17932 },
+ { 0x5E98, 17936 },
+ { 0x5EB4, 17940 },
+ { 0x5EB8, 17944 },
+ { 0x5EC7, 17948 },
+ { 0x5F1F, 17952 },
+ { 0x5F1B, 17956 },
+ { 0x5F1A, 17961 },
+ { 0x5EFB, 17966 },
+ { 0x5EEB, 17971 },
+ { 0x5F18, 17976 },
+ { 0x5EF3, 17980 },
+ { 0x5F20, 17984 },
+ { 0x5EF6, 17988 },
+ { 0x5F1C, 17994 },
+ { 0x5EEE, 17998 },
+ { 0x5EEF, 18003 },
+ { 0x5EF8, 18008 },
+ { 0x5F00, 18013 },
+ { 0x5EFA, 18018 },
+ { 0x5EED, 18022 },
+ { 0x5F10, 18027 },
+ { 0x5F16, 18031 },
+ { 0x5EFF, 18035 },
+ { 0x5F0C, 18040 },
+ { 0x5F15, 18044 },
+ { 0x5EFE, 18049 },
+ { 0x5F21, 18054 },
+ { 0x5F1E, 18058 },
+ { 0x5EFC, 18062 },
+ { 0x5EEC, 18067 },
+ { 0x5F0B, 18071 },
+ { 0x5F06, 18075 },
+ { 0x5EF5, 18079 },
+ { 0x5EF0, 18084 },
+ { 0x5F17, 18088 },
+ { 0x5F08, 18092 },
+ { 0x5EF7, 18097 },
+ { 0x5F05, 18102 },
+ { 0x5F09, 18106 },
+ { 0x5F19, 18110 },
+ { 0x5F01, 18114 },
+ { 0x5F04, 18118 },
+ { 0x5F11, 18122 },
+ { 0x5F0F, 18126 },
+ { 0x5F1D, 18130 },
+ { 0x5F0D, 18134 },
+ { 0x5F0E, 18138 },
+ { 0x5EEA, 18143 },
+ { 0x5EF4, 18147 },
+ { 0x5EF1, 18151 },
+ { 0x5F03, 18155 },
+ { 0x5EF2, 18159 },
+ { 0x5F07, 18163 },
+ { 0x5F13, 18168 },
+ { 0x5F14, 18172 },
+ { 0x5F0A, 18176 },
+ { 0x5F02, 18180 },
+ { 0x5F12, 18184 },
+ { 0x5EFD, 18188 },
+ { 0x5EF9, 18192 },
+ { 0x5F60, 18196 },
+ { 0x5F6B, 18200 },
+ { 0x5F46, 18205 },
+ { 0x5F56, 18210 },
+ { 0x5F35, 18214 },
+ { 0x5F4F, 18219 },
+ { 0x5F3C, 18223 },
+ { 0x5F7C, 18227 },
+ { 0x5F7D, 18232 },
+ { 0x5F5C, 18237 },
+ { 0x5F61, 18241 },
+ { 0x5F58, 18245 },
+ { 0x5F49, 18249 },
+ { 0x5F80, 18253 },
+ { 0x5F70, 18257 },
+ { 0x5F7F, 18261 },
+ { 0x5F51, 18265 },
+ { 0x5F2D, 18269 },
+ { 0x5F23, 18274 },
+ { 0x5F82, 18278 },
+ { 0x5F81, 18282 },
+ { 0x5F83, 18286 },
+ { 0x5F64, 18290 },
+ { 0x5F6C, 18294 },
+ { 0x5F24, 18298 },
+ { 0x5F53, 18302 },
+ { 0x5F33, 18306 },
+ { 0x5F75, 18310 },
+ { 0x5F68, 18314 },
+ { 0x5F76, 18319 },
+ { 0x5F31, 18324 },
+ { 0x5F39, 18329 },
+ { 0x5F37, 18333 },
+ { 0x5F79, 18337 },
+ { 0x5F7A, 18341 },
+ { 0x5F6A, 18345 },
+ { 0x5F6D, 18349 },
+ { 0x5F7E, 18353 },
+ { 0x5F5D, 18357 },
+ { 0x5F63, 18361 },
+ { 0x5F62, 18365 },
+ { 0x5F66, 18369 },
+ { 0x5F69, 18373 },
+ { 0x5F47, 18377 },
+ { 0x5F67, 18381 },
+ { 0x5F2C, 18385 },
+ { 0x5F3D, 18391 },
+ { 0x5F7B, 18395 },
+ { 0x5F41, 18399 },
+ { 0x5F44, 18404 },
+ { 0x5F3A, 18408 },
+ { 0x5F2B, 18412 },
+ { 0x5F5E, 18416 },
+ { 0x5F2E, 18420 },
+ { 0x5F74, 18424 },
+ { 0x5F50, 18428 },
+ { 0x5F3E, 18432 },
+ { 0x5F26, 18436 },
+ { 0x5F4E, 18440 },
+ { 0x5F28, 18444 },
+ { 0x5F22, 18448 },
+ { 0x5F57, 18453 },
+ { 0x5F78, 18457 },
+ { 0x5F40, 18461 },
+ { 0x5F52, 18465 },
+ { 0x5F5A, 18469 },
+ { 0x5F36, 18474 },
+ { 0x5F6E, 18478 },
+ { 0x5F42, 18482 },
+ { 0x5F77, 18486 },
+ { 0x5F29, 18490 },
+ { 0x5F34, 18494 },
+ { 0x5F3B, 18498 },
+ { 0x5F71, 18502 },
+ { 0x5F72, 18506 },
+ { 0x5F55, 18510 },
+ { 0x5F5F, 18514 },
+ { 0x5F30, 18518 },
+ { 0x5F48, 18522 },
+ { 0x5F5B, 18526 },
+ { 0x5F6F, 18530 },
+ { 0x5F73, 18534 },
+ { 0x5F4B, 18538 },
+ { 0x5F43, 18542 },
+ { 0x5F65, 18547 },
+ { 0x5F38, 18551 },
+ { 0x5F2F, 18555 },
+ { 0x5F3F, 18559 },
+ { 0x5F4D, 18563 },
+ { 0x5F59, 18567 },
+ { 0x5F2A, 18571 },
+ { 0x5F4A, 18575 },
+ { 0x5F45, 18579 },
+ { 0x5F4C, 18583 },
+ { 0x5F54, 18587 },
+ { 0x5F25, 18591 },
+ { 0x5F27, 18595 },
+ { 0x5F32, 18599 },
+ { 0x5FE4, 18603 },
+ { 0x5FDC, 18607 },
+ { 0x5FE6, 18611 },
+ { 0x5FEE, 18615 },
+ { 0x5FEA, 18619 },
+ { 0x5FF4, 18623 },
+ { 0x5FA4, 18627 },
+ { 0x5FF8, 18631 },
+ { 0x5F97, 18635 },
+ { 0x5FCD, 18639 },
+ { 0x5FD2, 18643 },
+ { 0x5FC3, 18647 },
+ { 0x5FF2, 18651 },
+ { 0x5FB1, 18655 },
+ { 0x5FB0, 18659 },
+ { 0x5F86, 18663 },
+ { 0x5FE0, 18667 },
+ { 0x5FC8, 18671 },
+ { 0x5FED, 18675 },
+ { 0x5FC0, 18679 },
+ { 0x5FF0, 18683 },
+ { 0x5FDD, 18687 },
+ { 0x5FF3, 18692 },
+ { 0x5FE1, 18697 },
+ { 0x5F9A, 18701 },
+ { 0x5FF7, 18705 },
+ { 0x5FEB, 18709 },
+ { 0x5FB7, 18713 },
+ { 0x5F96, 18717 },
+ { 0x5FE5, 18721 },
+ { 0x5FDE, 18725 },
+ { 0x5FDF, 18729 },
+ { 0x5F85, 18733 },
+ { 0x5FA0, 18737 },
+ { 0x5FA5, 18741 },
+ { 0x5FB9, 18745 },
+ { 0x5FBF, 18749 },
+ { 0x5F99, 18753 },
+ { 0x5FE9, 18757 },
+ { 0x5FD7, 18761 },
+ { 0x5F89, 18765 },
+ { 0x5FB3, 18769 },
+ { 0x5FF6, 18773 },
+ { 0x5F84, 18778 },
+ { 0x5FD1, 18782 },
+ { 0x5F9E, 18786 },
+ { 0x5F87, 18790 },
+ { 0x5FAC, 18794 },
+ { 0x5FF1, 18798 },
+ { 0x5FCA, 18802 },
+ { 0x5FA8, 18806 },
+ { 0x5FAB, 18810 },
+ { 0x5F95, 18814 },
+ { 0x5FD3, 18818 },
+ { 0x5FEC, 18822 },
+ { 0x5FF5, 18826 },
+ { 0x5F8D, 18830 },
+ { 0x5FB5, 18834 },
+ { 0x5FC2, 18838 },
+ { 0x5FAE, 18842 },
+ { 0x5FBA, 18846 },
+ { 0x5F90, 18850 },
+ { 0x5FE7, 18854 },
+ { 0x5FEF, 18858 },
+ { 0x5FCC, 18862 },
+ { 0x5FD4, 18866 },
+ { 0x5F93, 18870 },
+ { 0x5FD0, 18874 },
+ { 0x5FC7, 18878 },
+ { 0x5FC9, 18882 },
+ { 0x5FA2, 18886 },
+ { 0x5FB4, 18891 },
+ { 0x5FE2, 18895 },
+ { 0x5FE3, 18899 },
+ { 0x5F9B, 18903 },
+ { 0x5FC5, 18907 },
+ { 0x5F9C, 18911 },
+ { 0x5FD6, 18915 },
+ { 0x5F91, 18919 },
+ { 0x5F8F, 18923 },
+ { 0x5F8A, 18927 },
+ { 0x5F88, 18931 },
+ { 0x5FDA, 18935 },
+ { 0x5F8B, 18939 },
+ { 0x5FD9, 18943 },
+ { 0x5FCB, 18947 },
+ { 0x5FE8, 18951 },
+ { 0x5FBB, 18955 },
+ { 0x5F8E, 18959 },
+ { 0x5FB8, 18963 },
+ { 0x5FDB, 18967 },
+ { 0x5FAA, 18971 },
+ { 0x5FBD, 18975 },
+ { 0x5FAD, 18979 },
+ { 0x5FAF, 18983 },
+ { 0x5FC4, 18987 },
+ { 0x5FCE, 18991 },
+ { 0x5FD8, 18995 },
+ { 0x5FCF, 18999 },
+ { 0x5FA6, 19003 },
+ { 0x5FB2, 19007 },
+ { 0x5FBE, 19011 },
+ { 0x5FC1, 19015 },
+ { 0x5F9F, 19019 },
+ { 0x5F94, 19023 },
+ { 0x5FB6, 19027 },
+ { 0x5FD5, 19031 },
+ { 0x5F9D, 19035 },
+ { 0x5FA9, 19039 },
+ { 0x5FC6, 19043 },
+ { 0x5FA3, 19047 },
+ { 0x5FA1, 19051 },
+ { 0x5F98, 19055 },
+ { 0x5F8C, 19059 },
+ { 0x5FBC, 19063 },
+ { 0x5FA7, 19067 },
+ { 0x5F92, 19071 },
+ { 0x6068, 19075 },
+ { 0x606B, 19079 },
+ { 0x606A, 19083 },
+ { 0x604E, 19087 },
+ { 0x605B, 19091 },
+ { 0x6065, 19096 },
+ { 0x6088, 19101 },
+ { 0x6091, 19106 },
+ { 0x608C, 19110 },
+ { 0x6080, 19114 },
+ { 0x608E, 19118 },
+ { 0x6081, 19122 },
+ { 0x6089, 19126 },
+ { 0x6064, 19130 },
+ { 0x606D, 19135 },
+ { 0x608A, 19140 },
+ { 0x602B, 19144 },
+ { 0x6033, 19148 },
+ { 0x6094, 19152 },
+ { 0x607E, 19156 },
+ { 0x6066, 19160 },
+ { 0x6047, 19164 },
+ { 0x604A, 19168 },
+ { 0x605F, 19172 },
+ { 0x5FFC, 19176 },
+ { 0x606C, 19180 },
+ { 0x600E, 19184 },
+ { 0x608B, 19188 },
+ { 0x604B, 19192 },
+ { 0x601E, 19196 },
+ { 0x608F, 19200 },
+ { 0x608D, 19204 },
+ { 0x6092, 19208 },
+ { 0x605C, 19212 },
+ { 0x6058, 19216 },
+ { 0x6085, 19220 },
+ { 0x6053, 19224 },
+ { 0x6040, 19229 },
+ { 0x5FFF, 19234 },
+ { 0x607C, 19238 },
+ { 0x6024, 19242 },
+ { 0x6083, 19246 },
+ { 0x6001, 19250 },
+ { 0x6018, 19254 },
+ { 0x6009, 19258 },
+ { 0x6023, 19262 },
+ { 0x6086, 19266 },
+ { 0x6000, 19270 },
+ { 0x606E, 19274 },
+ { 0x6005, 19278 },
+ { 0x606F, 19282 },
+ { 0x6093, 19286 },
+ { 0x6090, 19290 },
+ { 0x600C, 19294 },
+ { 0x6069, 19298 },
+ { 0x603D, 19302 },
+ { 0x607F, 19306 },
+ { 0x5FFD, 19310 },
+ { 0x607D, 19314 },
+ { 0x6008, 19318 },
+ { 0x603F, 19322 },
+ { 0x6041, 19326 },
+ { 0x6076, 19330 },
+ { 0x6075, 19335 },
+ { 0x6078, 19340 },
+ { 0x6077, 19344 },
+ { 0x6057, 19348 },
+ { 0x603C, 19352 },
+ { 0x604D, 19356 },
+ { 0x6095, 19360 },
+ { 0x6079, 19364 },
+ { 0x603E, 19368 },
+ { 0x600D, 19372 },
+ { 0x6032, 19376 },
+ { 0x5FFE, 19380 },
+ { 0x601F, 19384 },
+ { 0x6011, 19388 },
+ { 0x6039, 19392 },
+ { 0x601A, 19396 },
+ { 0x6056, 19400 },
+ { 0x6059, 19404 },
+ { 0x6070, 19408 },
+ { 0x6025, 19414 },
+ { 0x5FF9, 19419 },
+ { 0x6021, 19423 },
+ { 0x6003, 19427 },
+ { 0x6006, 19431 },
+ { 0x6010, 19435 },
+ { 0x6013, 19439 },
+ { 0x6067, 19443 },
+ { 0x607B, 19447 },
+ { 0x603B, 19452 },
+ { 0x6061, 19456 },
+ { 0x604F, 19460 },
+ { 0x603A, 19464 },
+ { 0x6054, 19468 },
+ { 0x600B, 19472 },
+ { 0x6017, 19476 },
+ { 0x6050, 19480 },
+ { 0x607A, 19484 },
+ { 0x6060, 19488 },
+ { 0x6055, 19492 },
+ { 0x6004, 19496 },
+ { 0x605D, 19500 },
+ { 0x6082, 19504 },
+ { 0x6071, 19508 },
+ { 0x6087, 19512 },
+ { 0x6034, 19516 },
+ { 0x6022, 19520 },
+ { 0x5FFA, 19525 },
+ { 0x6029, 19529 },
+ { 0x6031, 19533 },
+ { 0x6051, 19537 },
+ { 0x6072, 19541 },
+ { 0x6027, 19545 },
+ { 0x6045, 19549 },
+ { 0x6048, 19553 },
+ { 0x6028, 19557 },
+ { 0x601B, 19561 },
+ { 0x602D, 19565 },
+ { 0x6007, 19569 },
+ { 0x5FFB, 19573 },
+ { 0x6042, 19577 },
+ { 0x6038, 19581 },
+ { 0x6043, 19585 },
+ { 0x6063, 19589 },
+ { 0x605E, 19593 },
+ { 0x6049, 19597 },
+ { 0x6073, 19601 },
+ { 0x6016, 19605 },
+ { 0x6014, 19609 },
+ { 0x6044, 19613 },
+ { 0x602E, 19617 },
+ { 0x602C, 19621 },
+ { 0x6030, 19625 },
+ { 0x602A, 19629 },
+ { 0x6074, 19633 },
+ { 0x605A, 19637 },
+ { 0x6046, 19641 },
+ { 0x6012, 19645 },
+ { 0x6084, 19649 },
+ { 0x600F, 19653 },
+ { 0x6002, 19657 },
+ { 0x6015, 19661 },
+ { 0x602F, 19665 },
+ { 0x6062, 19669 },
+ { 0x6035, 19673 },
+ { 0x6020, 19677 },
+ { 0x6052, 19681 },
+ { 0x6019, 19685 },
+ { 0x604C, 19689 },
+ { 0x601D, 19693 },
+ { 0x6037, 19697 },
+ { 0x6036, 19701 },
+ { 0x600A, 19705 },
+ { 0x601C, 19709 },
+ { 0x6026, 19713 },
+ { 0x60A4, 19718 },
+ { 0x6097, 19722 },
+ { 0x6099, 19726 },
+ { 0x6096, 19730 },
+ { 0x60C2, 19734 },
+ { 0x6098, 19738 },
+ { 0x609D, 19742 },
+ { 0x60C0, 19746 },
+ { 0x60C5, 19750 },
+ { 0x60C6, 19754 },
+ { 0x60B7, 19758 },
+ { 0x60AC, 19762 },
+ { 0x60B6, 19766 },
+ { 0x60A7, 19770 },
+ { 0x60BF, 19774 },
+ { 0x60B0, 19778 },
+ { 0x60BE, 19782 },
+ { 0x60B9, 19786 },
+ { 0x60AA, 19790 },
+ { 0x60C9, 19794 },
+ { 0x60C1, 19798 },
+ { 0x609C, 19802 },
+ { 0x60B5, 19806 },
+ { 0x609A, 19810 },
+ { 0x60C4, 19814 },
+ { 0x609E, 19818 },
+ { 0x60BC, 19822 },
+ { 0x60AF, 19826 },
+ { 0x60A5, 19830 },
+ { 0x60A1, 19834 },
+ { 0x609B, 19838 },
+ { 0x60C8, 19842 },
+ { 0x60B4, 19846 },
+ { 0x60AE, 19850 },
+ { 0x60A9, 19854 },
+ { 0x60C7, 19858 },
+ { 0x60C3, 19862 },
+ { 0x60A2, 19866 },
+ { 0x60BB, 19870 },
+ { 0x60B1, 19874 },
+ { 0x60B3, 19878 },
+ { 0x60AB, 19882 },
+ { 0x60B2, 19886 },
+ { 0x60BD, 19890 },
+ { 0x60B8, 19894 },
+ { 0x609F, 19898 },
+ { 0x60A8, 19902 },
+ { 0x60A6, 19906 },
+ { 0x60CB, 19910 },
+ { 0x60A0, 19914 },
+ { 0x60A3, 19918 },
+ { 0x60AD, 19922 },
+ { 0x60CA, 19926 },
+ { 0x60BA, 19930 },
+ { 0x36A0, 19934 },
+ { 0x36A5, 19936 },
+ { 0x369E, 19939 },
+ { 0x369F, 19943 },
+ { 0x36A4, 19947 },
+ { 0x8196, 19949 },
+ { 0x6173, 19950 },
+ { 0x6167, 19954 },
+ { 0x616C, 19958 },
+ { 0x616D, 19962 },
+ { 0x6168, 19966 },
+ { 0x616A, 19970 },
+ { 0x6162, 19974 },
+ { 0x615F, 19978 },
+ { 0x615E, 19982 },
+ { 0x616B, 19986 },
+ { 0x6153, 19990 },
+ { 0x6159, 19994 },
+ { 0x6151, 19998 },
+ { 0x6169, 20002 },
+ { 0x6165, 20006 },
+ { 0x6152, 20010 },
+ { 0x6161, 20014 },
+ { 0x6163, 20018 },
+ { 0x615B, 20022 },
+ { 0x615C, 20026 },
+ { 0x6156, 20030 },
+ { 0x615D, 20034 },
+ { 0x6154, 20038 },
+ { 0x6160, 20042 },
+ { 0x6155, 20046 },
+ { 0x6157, 20050 },
+ { 0x6150, 20054 },
+ { 0x615A, 20058 },
+ { 0x6158, 20062 },
+ { 0x6164, 20066 },
+ { 0x6166, 20070 },
+ { 0x616F, 20074 },
+ { 0x6170, 20079 },
+ { 0x616E, 20084 },
+ { 0x6171, 20089 },
+ { 0x6172, 20094 },
{ 0x189B, 20099 },
{ 0x189C, 20102 },
{ 0x189F, 20106 },
@@ -52996,73 +53003,73 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x18A6, 20294 },
{ 0x18A5, 20298 },
{ 0x18A8, 20302 },
- { 0x7B7B, 20304 },
- { 0x81CB, 20307 },
- { 0x7B16, 20308 },
- { 0x80C0, 20310 },
- { 0x7D47, 20311 },
+ { 0x7B80, 20304 },
+ { 0x81D0, 20307 },
+ { 0x7B1B, 20308 },
+ { 0x80C5, 20310 },
+ { 0x7D4C, 20311 },
{ 0x2335, 20316 },
{ 0x2223, 20318 },
{ 0x2286, 20322 },
- { 0x7D48, 20325 },
+ { 0x7D4D, 20325 },
{ 0x22B4, 20330 },
{ 0x2349, 20332 },
- { 0x7D4F, 20336 },
+ { 0x7D54, 20336 },
{ 0x22FB, 20341 },
{ 0x223D, 20345 },
- { 0x7D41, 20349 },
+ { 0x7D46, 20349 },
{ 0x22DB, 20354 },
{ 0x2228, 20357 },
- { 0x7F23, 20359 },
- { 0x7F2E, 20362 },
- { 0x7F34, 20365 },
+ { 0x7F28, 20359 },
+ { 0x7F33, 20362 },
+ { 0x7F39, 20365 },
{ 0x2740, 20368 },
- { 0x7F2F, 20372 },
- { 0x7F35, 20376 },
+ { 0x7F34, 20372 },
+ { 0x7F3A, 20376 },
{ 0x227D, 20380 },
- { 0x814D, 20383 },
- { 0x8123, 20391 },
+ { 0x8152, 20383 },
+ { 0x8128, 20391 },
{ 0x2282, 20397 },
- { 0x8152, 20400 },
- { 0x8128, 20408 },
+ { 0x8157, 20400 },
+ { 0x812D, 20408 },
{ 0x227F, 20414 },
- { 0x814F, 20417 },
- { 0x8125, 20425 },
+ { 0x8154, 20417 },
+ { 0x812A, 20425 },
{ 0x227E, 20431 },
- { 0x814E, 20434 },
- { 0x8124, 20442 },
+ { 0x8153, 20434 },
+ { 0x8129, 20442 },
{ 0x2280, 20448 },
- { 0x8150, 20451 },
- { 0x8126, 20459 },
+ { 0x8155, 20451 },
+ { 0x812B, 20459 },
{ 0x2281, 20465 },
- { 0x8130, 20468 },
- { 0x8151, 20476 },
- { 0x8145, 20484 },
- { 0x815A, 20492 },
- { 0x8127, 20500 },
- { 0x811B, 20506 },
- { 0x8138, 20512 },
- { 0x813D, 20516 },
- { 0x813A, 20520 },
- { 0x8139, 20524 },
- { 0x813B, 20528 },
- { 0x813C, 20532 },
- { 0x815D, 20536 },
- { 0x8160, 20539 },
- { 0x8166, 20545 },
- { 0x8165, 20548 },
- { 0x8167, 20551 },
+ { 0x8135, 20468 },
+ { 0x8156, 20476 },
+ { 0x814A, 20484 },
+ { 0x815F, 20492 },
+ { 0x812C, 20500 },
+ { 0x8120, 20506 },
+ { 0x813D, 20512 },
+ { 0x8142, 20516 },
+ { 0x813F, 20520 },
+ { 0x813E, 20524 },
+ { 0x8140, 20528 },
+ { 0x8141, 20532 },
+ { 0x8162, 20536 },
+ { 0x8165, 20539 },
+ { 0x816B, 20545 },
+ { 0x816A, 20548 },
+ { 0x816C, 20551 },
{ 0x230B, 20554 },
- { 0x7D49, 20558 },
+ { 0x7D4E, 20558 },
{ 0x2288, 20560 },
{ 0x2747, 20563 },
{ 0x273E, 20566 },
{ 0x2206, 20569 },
{ 0x2205, 20573 },
{ 0x223E, 20577 },
- { 0x7D42, 20581 },
+ { 0x7D47, 20581 },
{ 0x223A, 20586 },
- { 0x7D16, 20589 },
+ { 0x7D1B, 20589 },
{ 0x2774, 20593 },
{ 0x21CD, 20596 },
{ 0x274C, 20599 },
@@ -53086,10 +53093,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27CE, 20677 },
{ 0x27CD, 20683 },
{ 0x27CF, 20689 },
- { 0x7D64, 20695 },
+ { 0x7D69, 20695 },
{ 0x2221, 20697 },
- { 0x7F30, 20701 },
- { 0x7F36, 20705 },
+ { 0x7F35, 20701 },
+ { 0x7F3B, 20705 },
{ 0x221F, 20709 },
{ 0x2748, 20712 },
{ 0x274A, 20715 },
@@ -53104,7 +53111,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2323, 20754 },
{ 0x21C3, 20757 },
{ 0x204A, 20759 },
- { 0x7CD7, 20763 },
+ { 0x7CDC, 20763 },
{ 0x27E0, 20766 },
{ 0x21E9, 20769 },
{ 0x27FE, 20771 },
@@ -53112,13 +53119,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x260D, 20778 },
{ 0x2379, 20783 },
{ 0x27E1, 20788 },
- { 0x7AC7, 20791 },
+ { 0x7ACC, 20791 },
{ 0x2745, 20793 },
{ 0x260E, 20795 },
{ 0x27E4, 20797 },
- { 0x7B97, 20799 },
- { 0x7D2D, 20801 },
- { 0x7B9B, 20803 },
+ { 0x7B9C, 20799 },
+ { 0x7D32, 20801 },
+ { 0x7BA0, 20803 },
{ 0x225E, 20805 },
{ 0x22EA, 20808 },
{ 0x22F9, 20810 },
@@ -53129,8 +53136,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2742, 20827 },
{ 0x2376, 20829 },
{ 0x2325, 20833 },
- { 0x7F1B, 20835 },
- { 0x7F24, 20839 },
+ { 0x7F20, 20835 },
+ { 0x7F29, 20839 },
{ 0x2751, 20843 },
{ 0x21D1, 20846 },
{ 0x27BF, 20849 },
@@ -53139,7 +53146,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27BC, 20858 },
{ 0x21CF, 20862 },
{ 0x2231, 20864 },
- { 0x7D24, 20866 },
+ { 0x7D29, 20866 },
{ 0x229E, 20869 },
{ 0x274F, 20873 },
{ 0x23C4, 20876 },
@@ -53149,17 +53156,17 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x21D7, 20889 },
{ 0x203C, 20893 },
{ 0x21D5, 20897 },
- { 0x7F18, 20900 },
+ { 0x7F1D, 20900 },
{ 0x21E1, 20905 },
{ 0x203D, 20909 },
{ 0x21DF, 20913 },
- { 0x7F1A, 20916 },
+ { 0x7F1F, 20916 },
{ 0x21E5, 20921 },
{ 0x203B, 20925 },
{ 0x203F, 20929 },
{ 0x21E7, 20936 },
{ 0x21E3, 20939 },
- { 0x7F17, 20942 },
+ { 0x7F1C, 20942 },
{ 0x21D3, 20947 },
{ 0x21DB, 20949 },
{ 0x203A, 20953 },
@@ -53168,76 +53175,76 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2776, 20967 },
{ 0x21D9, 20970 },
{ 0x2040, 20973 },
- { 0x7F19, 20980 },
+ { 0x7F1E, 20980 },
{ 0x2073, 20985 },
- { 0x81E1, 20987 },
- { 0x81E2, 20989 },
- { 0x81E4, 20991 },
- { 0x81E8, 20993 },
- { 0x81F0, 20995 },
- { 0x81FF, 20997 },
- { 0x81E3, 20999 },
- { 0x81E5, 21001 },
- { 0x81E9, 21003 },
- { 0x81F1, 21005 },
- { 0x8200, 21007 },
- { 0x81E6, 21009 },
- { 0x81EA, 21011 },
- { 0x81F2, 21013 },
- { 0x8201, 21015 },
- { 0x81EC, 21017 },
- { 0x81F4, 21019 },
- { 0x8203, 21021 },
- { 0x81F7, 21023 },
- { 0x8207, 21025 },
- { 0x820E, 21027 },
- { 0x81E7, 21029 },
- { 0x81EB, 21031 },
- { 0x81F3, 21033 },
- { 0x8202, 21035 },
- { 0x81ED, 21037 },
- { 0x8204, 21039 },
- { 0x81F8, 21041 },
- { 0x8208, 21043 },
- { 0x820F, 21045 },
- { 0x81EE, 21047 },
- { 0x81F5, 21049 },
- { 0x8205, 21051 },
- { 0x81F9, 21053 },
- { 0x8210, 21055 },
- { 0x81FB, 21057 },
- { 0x820A, 21059 },
- { 0x8212, 21061 },
- { 0x8216, 21063 },
- { 0x81EF, 21065 },
- { 0x81F6, 21067 },
- { 0x8206, 21069 },
- { 0x81FA, 21071 },
- { 0x8209, 21073 },
- { 0x8211, 21075 },
- { 0x81FC, 21077 },
- { 0x820B, 21079 },
- { 0x8213, 21081 },
- { 0x8217, 21083 },
- { 0x81FD, 21085 },
- { 0x820C, 21087 },
- { 0x8214, 21089 },
- { 0x8218, 21091 },
- { 0x821A, 21093 },
- { 0x81FE, 21095 },
- { 0x820D, 21097 },
- { 0x8215, 21099 },
- { 0x8219, 21101 },
- { 0x821B, 21103 },
- { 0x821C, 21105 },
- { 0x7C7F, 21107 },
- { 0x80F4, 21108 },
- { 0x7B03, 21109 },
+ { 0x81E6, 20987 },
+ { 0x81E7, 20989 },
+ { 0x81E9, 20991 },
+ { 0x81ED, 20993 },
+ { 0x81F5, 20995 },
+ { 0x8204, 20997 },
+ { 0x81E8, 20999 },
+ { 0x81EA, 21001 },
+ { 0x81EE, 21003 },
+ { 0x81F6, 21005 },
+ { 0x8205, 21007 },
+ { 0x81EB, 21009 },
+ { 0x81EF, 21011 },
+ { 0x81F7, 21013 },
+ { 0x8206, 21015 },
+ { 0x81F1, 21017 },
+ { 0x81F9, 21019 },
+ { 0x8208, 21021 },
+ { 0x81FC, 21023 },
+ { 0x820C, 21025 },
+ { 0x8213, 21027 },
+ { 0x81EC, 21029 },
+ { 0x81F0, 21031 },
+ { 0x81F8, 21033 },
+ { 0x8207, 21035 },
+ { 0x81F2, 21037 },
+ { 0x8209, 21039 },
+ { 0x81FD, 21041 },
+ { 0x820D, 21043 },
+ { 0x8214, 21045 },
+ { 0x81F3, 21047 },
+ { 0x81FA, 21049 },
+ { 0x820A, 21051 },
+ { 0x81FE, 21053 },
+ { 0x8215, 21055 },
+ { 0x8200, 21057 },
+ { 0x820F, 21059 },
+ { 0x8217, 21061 },
+ { 0x821B, 21063 },
+ { 0x81F4, 21065 },
+ { 0x81FB, 21067 },
+ { 0x820B, 21069 },
+ { 0x81FF, 21071 },
+ { 0x820E, 21073 },
+ { 0x8216, 21075 },
+ { 0x8201, 21077 },
+ { 0x8210, 21079 },
+ { 0x8218, 21081 },
+ { 0x821C, 21083 },
+ { 0x8202, 21085 },
+ { 0x8211, 21087 },
+ { 0x8219, 21089 },
+ { 0x821D, 21091 },
+ { 0x821F, 21093 },
+ { 0x8203, 21095 },
+ { 0x8212, 21097 },
+ { 0x821A, 21099 },
+ { 0x821E, 21101 },
+ { 0x8220, 21103 },
+ { 0x8221, 21105 },
+ { 0x7C84, 21107 },
+ { 0x80F9, 21108 },
+ { 0x7B08, 21109 },
{ 0x0297, 21110 },
- { 0x8105, 21111 },
- { 0x7C15, 21112 },
- { 0x810D, 21115 },
- { 0x8022, 21116 },
+ { 0x810A, 21111 },
+ { 0x7C1A, 21112 },
+ { 0x8112, 21115 },
+ { 0x8027, 21116 },
{ 0x14B9, 21118 },
{ 0x14BA, 21122 },
{ 0x14A7, 21126 },
@@ -53258,246 +53265,246 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x14B6, 21171 },
{ 0x14B3, 21174 },
{ 0x14AC, 21177 },
- { 0x7C0A, 21180 },
- { 0x7B11, 21183 },
- { 0x7E94, 21184 },
+ { 0x7C0F, 21180 },
+ { 0x7B16, 21183 },
+ { 0x7E99, 21184 },
{ 0x1CB2, 21185 },
{ 0x1CBB, 21186 },
{ 0x0286, 21189 },
{ 0x22D6, 21190 },
- { 0x818D, 21191 },
- { 0x7C6D, 21192 },
- { 0x7C5E, 21196 },
- { 0x7C6E, 21203 },
+ { 0x8192, 21191 },
+ { 0x7C72, 21192 },
+ { 0x7C63, 21196 },
+ { 0x7C73, 21203 },
{ 0x2336, 21207 },
- { 0x80E6, 21209 },
+ { 0x80EB, 21209 },
{ 0x1FEB, 21210 },
- { 0x7CF5, 21213 },
- { 0x7CFA, 21217 },
- { 0x7CFE, 21221 },
- { 0x7CF6, 21225 },
- { 0x7CF9, 21229 },
- { 0x7CF8, 21233 },
- { 0x7CFD, 21237 },
- { 0x7CFC, 21241 },
- { 0x7CFB, 21245 },
- { 0x7CF7, 21249 },
- { 0x7CFF, 21253 },
- { 0x7D00, 21257 },
- { 0x7D01, 21261 },
- { 0x7D06, 21264 },
- { 0x7D0A, 21267 },
- { 0x7D02, 21270 },
- { 0x7D05, 21273 },
- { 0x7D04, 21276 },
- { 0x7D09, 21279 },
- { 0x7D08, 21282 },
- { 0x7D07, 21285 },
- { 0x7D03, 21288 },
- { 0x7D0B, 21291 },
- { 0x7D0C, 21294 },
+ { 0x7CFA, 21213 },
+ { 0x7CFF, 21217 },
+ { 0x7D03, 21221 },
+ { 0x7CFB, 21225 },
+ { 0x7CFE, 21229 },
+ { 0x7CFD, 21233 },
+ { 0x7D02, 21237 },
+ { 0x7D01, 21241 },
+ { 0x7D00, 21245 },
+ { 0x7CFC, 21249 },
+ { 0x7D04, 21253 },
+ { 0x7D05, 21257 },
+ { 0x7D06, 21261 },
+ { 0x7D0B, 21264 },
+ { 0x7D0F, 21267 },
+ { 0x7D07, 21270 },
+ { 0x7D0A, 21273 },
+ { 0x7D09, 21276 },
+ { 0x7D0E, 21279 },
+ { 0x7D0D, 21282 },
+ { 0x7D0C, 21285 },
+ { 0x7D08, 21288 },
+ { 0x7D10, 21291 },
+ { 0x7D11, 21294 },
{ 0x1CCA, 21297 },
{ 0x2224, 21299 },
- { 0x7ACC, 21300 },
- { 0x7ACD, 21303 },
- { 0x7ACF, 21306 },
- { 0x7ACE, 21309 },
- { 0x8035, 21312 },
+ { 0x7AD1, 21300 },
+ { 0x7AD2, 21303 },
+ { 0x7AD4, 21306 },
+ { 0x7AD3, 21309 },
+ { 0x803A, 21312 },
{ 0x001A, 21314 },
{ 0x1D14, 21315 },
{ 0x1EA5, 21317 },
{ 0x2227, 21319 },
{ 0x000C, 21320 },
- { 0x81B4, 21321 },
- { 0x7E70, 21322 },
+ { 0x81B9, 21321 },
+ { 0x7E75, 21322 },
{ 0x224B, 21325 },
{ 0x224C, 21328 },
{ 0x236F, 21331 },
{ 0x2A3E, 21333 },
{ 0x2A3D, 21338 },
- { 0x7CE7, 21343 },
- { 0x7CE6, 21345 },
- { 0x7BF6, 21350 },
+ { 0x7CEC, 21343 },
+ { 0x7CEB, 21345 },
+ { 0x7BFB, 21350 },
{ 0x23D3, 21351 },
{ 0x1FFB, 21353 },
{ 0x1F1F, 21356 },
{ 0x1F20, 21359 },
- { 0x7B00, 21362 },
+ { 0x7B05, 21362 },
{ 0x1D8D, 21365 },
- { 0x7B06, 21367 },
+ { 0x7B0B, 21367 },
{ 0x1EAD, 21368 },
{ 0x0011, 21371 },
{ 0x20AB, 21373 },
- { 0x799F, 21377 },
+ { 0x79A4, 21377 },
{ 0x0016, 21380 },
{ 0x20B0, 21382 },
- { 0x79A4, 21386 },
+ { 0x79A9, 21386 },
{ 0x0012, 21389 },
{ 0x20AC, 21391 },
- { 0x79A0, 21395 },
+ { 0x79A5, 21395 },
{ 0x0015, 21398 },
{ 0x20AF, 21400 },
- { 0x79A3, 21404 },
+ { 0x79A8, 21404 },
{ 0x0014, 21407 },
{ 0x20AE, 21409 },
- { 0x79A2, 21413 },
+ { 0x79A7, 21413 },
{ 0x0019, 21416 },
{ 0x20B3, 21418 },
- { 0x79A7, 21422 },
+ { 0x79AC, 21422 },
{ 0x0010, 21425 },
- { 0x799D, 21427 },
- { 0x799E, 21431 },
+ { 0x79A2, 21427 },
+ { 0x79A3, 21431 },
{ 0x0018, 21434 },
{ 0x20B2, 21436 },
- { 0x79A6, 21440 },
+ { 0x79AB, 21440 },
{ 0x0017, 21443 },
{ 0x20B1, 21445 },
- { 0x79A5, 21449 },
+ { 0x79AA, 21449 },
{ 0x0013, 21452 },
{ 0x20AD, 21454 },
- { 0x79A1, 21458 },
- { 0x2BA3, 21461 },
- { 0x4FB0, 21463 },
- { 0x4FAF, 21469 },
- { 0x4FAD, 21473 },
- { 0x4FA7, 21477 },
- { 0x4FA5, 21481 },
- { 0x4FA6, 21485 },
- { 0x4FB2, 21489 },
- { 0x4FB7, 21493 },
- { 0x4FB3, 21497 },
- { 0x4FB6, 21501 },
- { 0x4FB5, 21505 },
- { 0x4FBA, 21509 },
- { 0x4FB1, 21513 },
- { 0x4FB9, 21517 },
- { 0x4FB8, 21521 },
- { 0x4FB4, 21525 },
- { 0x4FA2, 21529 },
- { 0x4F9E, 21534 },
- { 0x4FA4, 21539 },
- { 0x4FA0, 21544 },
- { 0x4F9D, 21549 },
- { 0x4FA3, 21554 },
- { 0x4F9F, 21559 },
- { 0x4FA1, 21564 },
- { 0x4FAE, 21569 },
- { 0x4F73, 21573 },
- { 0x4F79, 21577 },
- { 0x4F75, 21581 },
- { 0x4F7A, 21585 },
- { 0x4F77, 21589 },
- { 0x4F74, 21593 },
- { 0x4F8F, 21597 },
- { 0x4F80, 21601 },
- { 0x4F8A, 21605 },
- { 0x4F7D, 21609 },
- { 0x4F9A, 21613 },
- { 0x4F76, 21617 },
- { 0x4F82, 21621 },
- { 0x4F7B, 21625 },
- { 0x4F95, 21629 },
- { 0x4F91, 21633 },
- { 0x4F8C, 21637 },
- { 0x4F8D, 21641 },
- { 0x4F94, 21645 },
- { 0x4F99, 21649 },
- { 0x4F88, 21653 },
- { 0x4F78, 21657 },
- { 0x4F96, 21661 },
- { 0x4F92, 21665 },
- { 0x4F9C, 21669 },
- { 0x4F90, 21673 },
- { 0x4F81, 21677 },
- { 0x4F85, 21681 },
- { 0x4F8B, 21685 },
- { 0x4F7E, 21689 },
- { 0x4F7C, 21693 },
- { 0x4F9B, 21697 },
- { 0x4F7F, 21701 },
- { 0x4F87, 21705 },
- { 0x4F83, 21709 },
- { 0x4F8E, 21713 },
- { 0x4F97, 21717 },
- { 0x4F98, 21721 },
- { 0x4F89, 21725 },
- { 0x4F84, 21729 },
- { 0x4F93, 21733 },
- { 0x4F86, 21737 },
- { 0x4FAC, 21741 },
- { 0x4FAA, 21745 },
- { 0x4FA8, 21749 },
- { 0x4FAB, 21752 },
- { 0x4FA9, 21756 },
- { 0x7DDA, 21761 },
- { 0x7C50, 21763 },
- { 0x4F1D, 21765 },
- { 0x4F1C, 21768 },
- { 0x4F1B, 21771 },
- { 0x4F1A, 21774 },
- { 0x4F16, 21777 },
- { 0x4F10, 21781 },
- { 0x4F18, 21785 },
- { 0x4F12, 21789 },
- { 0x4F0F, 21793 },
- { 0x4F17, 21797 },
- { 0x4F19, 21801 },
- { 0x4F11, 21805 },
- { 0x4F13, 21809 },
- { 0x4F14, 21813 },
- { 0x4F15, 21818 },
- { 0x4EE3, 21823 },
- { 0x4EE9, 21826 },
- { 0x4EE5, 21829 },
- { 0x4EEB, 21832 },
- { 0x4EE7, 21835 },
- { 0x4EE4, 21838 },
- { 0x4EEA, 21841 },
- { 0x4EEC, 21844 },
- { 0x4F03, 21847 },
- { 0x4EF2, 21850 },
- { 0x4EFE, 21853 },
- { 0x4EEF, 21856 },
- { 0x4F0D, 21859 },
- { 0x4EE6, 21862 },
- { 0x4EF4, 21865 },
- { 0x4EED, 21868 },
- { 0x4F08, 21871 },
- { 0x4F05, 21874 },
- { 0x4F00, 21877 },
- { 0x4F01, 21880 },
- { 0x4F07, 21883 },
- { 0x4F0C, 21886 },
- { 0x4EFC, 21889 },
- { 0x4EE8, 21892 },
- { 0x4F09, 21895 },
- { 0x4F06, 21898 },
- { 0x4F04, 21901 },
- { 0x4EF3, 21904 },
- { 0x4EF9, 21907 },
- { 0x4EFF, 21910 },
- { 0x4EF0, 21913 },
- { 0x4EF5, 21916 },
- { 0x4EEE, 21919 },
- { 0x4EF1, 21922 },
- { 0x4EFB, 21925 },
- { 0x4EF6, 21928 },
- { 0x4F02, 21931 },
- { 0x4F0E, 21934 },
- { 0x4F0A, 21937 },
- { 0x4F0B, 21940 },
- { 0x4EFD, 21943 },
- { 0x4EF7, 21946 },
- { 0x4EFA, 21949 },
- { 0x4EF8, 21952 },
- { 0x4F1E, 21955 },
- { 0x7BFC, 21958 },
+ { 0x79A6, 21458 },
+ { 0x2BA7, 21461 },
+ { 0x4FB5, 21463 },
+ { 0x4FB4, 21469 },
+ { 0x4FB2, 21473 },
+ { 0x4FAC, 21477 },
+ { 0x4FAA, 21481 },
+ { 0x4FAB, 21485 },
+ { 0x4FB7, 21489 },
+ { 0x4FBC, 21493 },
+ { 0x4FB8, 21497 },
+ { 0x4FBB, 21501 },
+ { 0x4FBA, 21505 },
+ { 0x4FBF, 21509 },
+ { 0x4FB6, 21513 },
+ { 0x4FBE, 21517 },
+ { 0x4FBD, 21521 },
+ { 0x4FB9, 21525 },
+ { 0x4FA7, 21529 },
+ { 0x4FA3, 21534 },
+ { 0x4FA9, 21539 },
+ { 0x4FA5, 21544 },
+ { 0x4FA2, 21549 },
+ { 0x4FA8, 21554 },
+ { 0x4FA4, 21559 },
+ { 0x4FA6, 21564 },
+ { 0x4FB3, 21569 },
+ { 0x4F78, 21573 },
+ { 0x4F7E, 21577 },
+ { 0x4F7A, 21581 },
+ { 0x4F7F, 21585 },
+ { 0x4F7C, 21589 },
+ { 0x4F79, 21593 },
+ { 0x4F94, 21597 },
+ { 0x4F85, 21601 },
+ { 0x4F8F, 21605 },
+ { 0x4F82, 21609 },
+ { 0x4F9F, 21613 },
+ { 0x4F7B, 21617 },
+ { 0x4F87, 21621 },
+ { 0x4F80, 21625 },
+ { 0x4F9A, 21629 },
+ { 0x4F96, 21633 },
+ { 0x4F91, 21637 },
+ { 0x4F92, 21641 },
+ { 0x4F99, 21645 },
+ { 0x4F9E, 21649 },
+ { 0x4F8D, 21653 },
+ { 0x4F7D, 21657 },
+ { 0x4F9B, 21661 },
+ { 0x4F97, 21665 },
+ { 0x4FA1, 21669 },
+ { 0x4F95, 21673 },
+ { 0x4F86, 21677 },
+ { 0x4F8A, 21681 },
+ { 0x4F90, 21685 },
+ { 0x4F83, 21689 },
+ { 0x4F81, 21693 },
+ { 0x4FA0, 21697 },
+ { 0x4F84, 21701 },
+ { 0x4F8C, 21705 },
+ { 0x4F88, 21709 },
+ { 0x4F93, 21713 },
+ { 0x4F9C, 21717 },
+ { 0x4F9D, 21721 },
+ { 0x4F8E, 21725 },
+ { 0x4F89, 21729 },
+ { 0x4F98, 21733 },
+ { 0x4F8B, 21737 },
+ { 0x4FB1, 21741 },
+ { 0x4FAF, 21745 },
+ { 0x4FAD, 21749 },
+ { 0x4FB0, 21752 },
+ { 0x4FAE, 21756 },
+ { 0x7DDF, 21761 },
+ { 0x7C55, 21763 },
+ { 0x4F22, 21765 },
+ { 0x4F21, 21768 },
+ { 0x4F20, 21771 },
+ { 0x4F1F, 21774 },
+ { 0x4F1B, 21777 },
+ { 0x4F15, 21781 },
+ { 0x4F1D, 21785 },
+ { 0x4F17, 21789 },
+ { 0x4F14, 21793 },
+ { 0x4F1C, 21797 },
+ { 0x4F1E, 21801 },
+ { 0x4F16, 21805 },
+ { 0x4F18, 21809 },
+ { 0x4F19, 21813 },
+ { 0x4F1A, 21818 },
+ { 0x4EE8, 21823 },
+ { 0x4EEE, 21826 },
+ { 0x4EEA, 21829 },
+ { 0x4EF0, 21832 },
+ { 0x4EEC, 21835 },
+ { 0x4EE9, 21838 },
+ { 0x4EEF, 21841 },
+ { 0x4EF1, 21844 },
+ { 0x4F08, 21847 },
+ { 0x4EF7, 21850 },
+ { 0x4F03, 21853 },
+ { 0x4EF4, 21856 },
+ { 0x4F12, 21859 },
+ { 0x4EEB, 21862 },
+ { 0x4EF9, 21865 },
+ { 0x4EF2, 21868 },
+ { 0x4F0D, 21871 },
+ { 0x4F0A, 21874 },
+ { 0x4F05, 21877 },
+ { 0x4F06, 21880 },
+ { 0x4F0C, 21883 },
+ { 0x4F11, 21886 },
+ { 0x4F01, 21889 },
+ { 0x4EED, 21892 },
+ { 0x4F0E, 21895 },
+ { 0x4F0B, 21898 },
+ { 0x4F09, 21901 },
+ { 0x4EF8, 21904 },
+ { 0x4EFE, 21907 },
+ { 0x4F04, 21910 },
+ { 0x4EF5, 21913 },
+ { 0x4EFA, 21916 },
+ { 0x4EF3, 21919 },
+ { 0x4EF6, 21922 },
+ { 0x4F00, 21925 },
+ { 0x4EFB, 21928 },
+ { 0x4F07, 21931 },
+ { 0x4F13, 21934 },
+ { 0x4F0F, 21937 },
+ { 0x4F10, 21940 },
+ { 0x4F02, 21943 },
+ { 0x4EFC, 21946 },
+ { 0x4EFF, 21949 },
+ { 0x4EFD, 21952 },
+ { 0x4F23, 21955 },
+ { 0x7C01, 21958 },
{ 0x22FD, 21959 },
- { 0x8099, 21962 },
+ { 0x809E, 21962 },
{ 0x2264, 21963 },
- { 0x7AB3, 21964 },
- { 0x7AB2, 21967 },
- { 0x7AB4, 21970 },
+ { 0x7AB8, 21964 },
+ { 0x7AB7, 21967 },
+ { 0x7AB9, 21970 },
{ 0x202B, 21973 },
{ 0x2356, 21975 },
{ 0x2357, 21978 },
@@ -53506,27 +53513,27 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2364, 21991 },
{ 0x236D, 21996 },
{ 0x2020, 22000 },
- { 0x7BA1, 22002 },
- { 0x7BA2, 22006 },
- { 0x7BA3, 22010 },
- { 0x7BA4, 22014 },
- { 0x7BA0, 22018 },
- { 0x80C4, 22022 },
- { 0x80C6, 22026 },
- { 0x80C5, 22029 },
- { 0x80C7, 22033 },
+ { 0x7BA6, 22002 },
+ { 0x7BA7, 22006 },
+ { 0x7BA8, 22010 },
+ { 0x7BA9, 22014 },
+ { 0x7BA5, 22018 },
+ { 0x80C9, 22022 },
+ { 0x80CB, 22026 },
+ { 0x80CA, 22029 },
+ { 0x80CC, 22033 },
{ 0x1E56, 22037 },
{ 0x25D7, 22039 },
{ 0x25D6, 22045 },
{ 0x25D5, 22051 },
{ 0x25D4, 22057 },
- { 0x81B5, 22061 },
- { 0x7D6A, 22063 },
- { 0x7D6C, 22065 },
- { 0x7D6B, 22068 },
- { 0x7D71, 22071 },
- { 0x7D72, 22073 },
- { 0x7D70, 22075 },
+ { 0x81BA, 22061 },
+ { 0x7D6F, 22063 },
+ { 0x7D71, 22065 },
+ { 0x7D70, 22068 },
+ { 0x7D76, 22071 },
+ { 0x7D77, 22073 },
+ { 0x7D75, 22075 },
{ 0x1FD7, 22077 },
{ 0x1EAE, 22079 },
{ 0x1F2F, 22083 },
@@ -53537,54 +53544,54 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F7C, 22103 },
{ 0x1F77, 22107 },
{ 0x1D5C, 22111 },
- { 0x80EE, 22113 },
+ { 0x80F3, 22113 },
{ 0x224E, 22114 },
{ 0x2317, 22116 },
- { 0x7B76, 22117 },
- { 0x805B, 22122 },
+ { 0x7B7B, 22117 },
+ { 0x8060, 22122 },
{ 0x1CE1, 22125 },
{ 0x2260, 22128 },
- { 0x7AC0, 22131 },
- { 0x7AB8, 22136 },
- { 0x818B, 22140 },
- { 0x7AA6, 22141 },
- { 0x7D63, 22142 },
- { 0x7D62, 22146 },
- { 0x7D61, 22149 },
- { 0x7B09, 22152 },
+ { 0x7AC5, 22131 },
+ { 0x7ABD, 22136 },
+ { 0x8190, 22140 },
+ { 0x7AAB, 22141 },
+ { 0x7D68, 22142 },
+ { 0x7D67, 22146 },
+ { 0x7D66, 22149 },
+ { 0x7B0E, 22152 },
{ 0x1F73, 22154 },
- { 0x80F2, 22155 },
- { 0x7C20, 22156 },
+ { 0x80F7, 22155 },
+ { 0x7C25, 22156 },
{ 0x1D8C, 22157 },
- { 0x7E6F, 22159 },
- { 0x806F, 22161 },
- { 0x7AB5, 22164 },
- { 0x81BA, 22167 },
+ { 0x7E74, 22159 },
+ { 0x8074, 22161 },
+ { 0x7ABA, 22164 },
+ { 0x81BF, 22167 },
{ 0x0040, 22168 },
{ 0x038C, 22170 },
{ 0x0340, 22173 },
{ 0x038D, 22176 },
- { 0x410B, 22179 },
- { 0x410C, 22183 },
- { 0x4121, 22189 },
+ { 0x4110, 22179 },
+ { 0x4111, 22183 },
+ { 0x4126, 22189 },
{ 0x038B, 22193 },
{ 0x03B2, 22196 },
{ 0x03A7, 22201 },
- { 0x4113, 22204 },
- { 0x410D, 22208 },
+ { 0x4118, 22204 },
+ { 0x4112, 22208 },
{ 0x0386, 22212 },
- { 0x4116, 22215 },
- { 0x4115, 22219 },
- { 0x4112, 22223 },
+ { 0x411B, 22215 },
+ { 0x411A, 22219 },
+ { 0x4117, 22223 },
{ 0x1C78, 22226 },
- { 0x410F, 22228 },
- { 0x4120, 22231 },
+ { 0x4114, 22228 },
+ { 0x4125, 22231 },
{ 0x1C79, 22234 },
{ 0x1C5C, 22236 },
{ 0x1C5B, 22240 },
{ 0x1C5D, 22244 },
{ 0x03A6, 22248 },
- { 0x4119, 22251 },
+ { 0x411E, 22251 },
{ 0x0334, 22254 },
{ 0x1C41, 22258 },
{ 0x1C4F, 22260 },
@@ -53761,42 +53768,42 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x033A, 23408 },
{ 0x0338, 23415 },
{ 0x0387, 23421 },
- { 0x4114, 23424 },
- { 0x410E, 23428 },
+ { 0x4119, 23424 },
+ { 0x4113, 23428 },
{ 0x033D, 23432 },
{ 0x1C6D, 23434 },
- { 0x6DAB, 23436 },
- { 0x6DAC, 23440 },
- { 0x6DAD, 23444 },
- { 0x6DAE, 23448 },
- { 0x6DAF, 23452 },
- { 0x6DB0, 23456 },
- { 0x6DB1, 23460 },
- { 0x6DB2, 23464 },
- { 0x6DB3, 23468 },
- { 0x6DB4, 23472 },
- { 0x6DB5, 23476 },
- { 0x6DB6, 23480 },
- { 0x6DB7, 23484 },
- { 0x6DB8, 23488 },
- { 0x6DB9, 23492 },
- { 0x6DBA, 23496 },
- { 0x6DBB, 23500 },
- { 0x6DBC, 23504 },
- { 0x6DBD, 23508 },
- { 0x6DBE, 23512 },
- { 0x6DBF, 23516 },
- { 0x6DC0, 23520 },
- { 0x6DC1, 23524 },
- { 0x6DC2, 23528 },
- { 0x6DC3, 23532 },
- { 0x6DC4, 23536 },
- { 0x6DC5, 23540 },
- { 0x6DC6, 23544 },
- { 0x6DC7, 23548 },
- { 0x411D, 23552 },
- { 0x411C, 23555 },
- { 0x411E, 23558 },
+ { 0x6DB0, 23436 },
+ { 0x6DB1, 23440 },
+ { 0x6DB2, 23444 },
+ { 0x6DB3, 23448 },
+ { 0x6DB4, 23452 },
+ { 0x6DB5, 23456 },
+ { 0x6DB6, 23460 },
+ { 0x6DB7, 23464 },
+ { 0x6DB8, 23468 },
+ { 0x6DB9, 23472 },
+ { 0x6DBA, 23476 },
+ { 0x6DBB, 23480 },
+ { 0x6DBC, 23484 },
+ { 0x6DBD, 23488 },
+ { 0x6DBE, 23492 },
+ { 0x6DBF, 23496 },
+ { 0x6DC0, 23500 },
+ { 0x6DC1, 23504 },
+ { 0x6DC2, 23508 },
+ { 0x6DC3, 23512 },
+ { 0x6DC4, 23516 },
+ { 0x6DC5, 23520 },
+ { 0x6DC6, 23524 },
+ { 0x6DC7, 23528 },
+ { 0x6DC8, 23532 },
+ { 0x6DC9, 23536 },
+ { 0x6DCA, 23540 },
+ { 0x6DCB, 23544 },
+ { 0x6DCC, 23548 },
+ { 0x4122, 23552 },
+ { 0x4121, 23555 },
+ { 0x4123, 23558 },
{ 0x03A9, 23561 },
{ 0x0394, 23564 },
{ 0x0396, 23567 },
@@ -53805,16 +53812,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x19BA, 23580 },
{ 0x19B7, 23585 },
{ 0x19B8, 23590 },
- { 0x3A76, 23595 },
+ { 0x3A7B, 23595 },
{ 0x0390, 23600 },
{ 0x038E, 23603 },
{ 0x0392, 23607 },
{ 0x03A8, 23610 },
{ 0x03AB, 23614 },
- { 0x411A, 23618 },
- { 0x4132, 23621 },
- { 0x4110, 23625 },
- { 0x411B, 23628 },
+ { 0x411F, 23618 },
+ { 0x4137, 23621 },
+ { 0x4115, 23625 },
+ { 0x4120, 23628 },
{ 0x0385, 23631 },
{ 0x03AA, 23635 },
{ 0x03B4, 23639 },
@@ -53956,217 +53963,217 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x03AF, 24551 },
{ 0x03B5, 24556 },
{ 0x03B3, 24563 },
- { 0x4111, 24569 },
+ { 0x4116, 24569 },
{ 0x1C3F, 24572 },
- { 0x4118, 24574 },
- { 0x6DF0, 24578 },
+ { 0x411D, 24574 },
+ { 0x6DF5, 24578 },
{ 0x0333, 24581 },
{ 0x0388, 24584 },
{ 0x0389, 24589 },
{ 0x038A, 24596 },
- { 0x4117, 24603 },
+ { 0x411C, 24603 },
{ 0x033B, 24606 },
{ 0x03AC, 24609 },
- { 0x4122, 24614 },
- { 0x411F, 24617 },
+ { 0x4127, 24614 },
+ { 0x4124, 24617 },
{ 0x1C6C, 24621 },
{ 0x1C6B, 24625 },
{ 0x1C43, 24629 },
{ 0x033E, 24633 },
- { 0x4123, 24636 },
+ { 0x4128, 24636 },
{ 0x19FB, 24639 },
{ 0x19FA, 24644 },
{ 0x19F9, 24649 },
{ 0x19F7, 24654 },
{ 0x19F8, 24659 },
- { 0x40D7, 24664 },
- { 0x40D8, 24669 },
- { 0x40E8, 24674 },
- { 0x40E1, 24680 },
- { 0x40D6, 24686 },
- { 0x40EA, 24691 },
- { 0x40E3, 24697 },
- { 0x40ED, 24703 },
- { 0x40E6, 24708 },
- { 0x40DF, 24713 },
- { 0x40EB, 24718 },
- { 0x40D9, 24724 },
- { 0x40DB, 24728 },
- { 0x40E9, 24733 },
- { 0x40E2, 24739 },
- { 0x40E5, 24745 },
- { 0x40DE, 24750 },
- { 0x40DC, 24755 },
- { 0x40E4, 24760 },
- { 0x40DA, 24766 },
- { 0x40E7, 24770 },
- { 0x40E0, 24775 },
- { 0x40DD, 24780 },
- { 0x40EC, 24785 },
- { 0x4106, 24791 },
- { 0x4109, 24796 },
- { 0x40EE, 24801 },
- { 0x40F3, 24806 },
- { 0x410A, 24811 },
- { 0x40EF, 24816 },
- { 0x4100, 24820 },
- { 0x4107, 24825 },
- { 0x40FA, 24830 },
- { 0x40F2, 24834 },
- { 0x4104, 24838 },
- { 0x4108, 24843 },
- { 0x40FF, 24848 },
- { 0x4101, 24852 },
- { 0x40FB, 24857 },
- { 0x4105, 24861 },
- { 0x40F9, 24866 },
- { 0x40F1, 24870 },
- { 0x40F4, 24874 },
- { 0x4102, 24879 },
- { 0x40F0, 24884 },
- { 0x40F8, 24888 },
- { 0x40FE, 24892 },
- { 0x40F6, 24896 },
- { 0x40F7, 24900 },
- { 0x40F5, 24906 },
- { 0x4103, 24910 },
- { 0x40FC, 24915 },
- { 0x40FD, 24919 },
+ { 0x40DC, 24664 },
+ { 0x40DD, 24669 },
+ { 0x40ED, 24674 },
+ { 0x40E6, 24680 },
+ { 0x40DB, 24686 },
+ { 0x40EF, 24691 },
+ { 0x40E8, 24697 },
+ { 0x40F2, 24703 },
+ { 0x40EB, 24708 },
+ { 0x40E4, 24713 },
+ { 0x40F0, 24718 },
+ { 0x40DE, 24724 },
+ { 0x40E0, 24728 },
+ { 0x40EE, 24733 },
+ { 0x40E7, 24739 },
+ { 0x40EA, 24745 },
+ { 0x40E3, 24750 },
+ { 0x40E1, 24755 },
+ { 0x40E9, 24760 },
+ { 0x40DF, 24766 },
+ { 0x40EC, 24770 },
+ { 0x40E5, 24775 },
+ { 0x40E2, 24780 },
+ { 0x40F1, 24785 },
+ { 0x410B, 24791 },
+ { 0x410E, 24796 },
+ { 0x40F3, 24801 },
+ { 0x40F8, 24806 },
+ { 0x410F, 24811 },
+ { 0x40F4, 24816 },
+ { 0x4105, 24820 },
+ { 0x410C, 24825 },
+ { 0x40FF, 24830 },
+ { 0x40F7, 24834 },
+ { 0x4109, 24838 },
+ { 0x410D, 24843 },
+ { 0x4104, 24848 },
+ { 0x4106, 24852 },
+ { 0x4100, 24857 },
+ { 0x410A, 24861 },
+ { 0x40FE, 24866 },
+ { 0x40F6, 24870 },
+ { 0x40F9, 24874 },
+ { 0x4107, 24879 },
+ { 0x40F5, 24884 },
+ { 0x40FD, 24888 },
+ { 0x4103, 24892 },
+ { 0x40FB, 24896 },
+ { 0x40FC, 24900 },
+ { 0x40FA, 24906 },
+ { 0x4108, 24910 },
+ { 0x4101, 24915 },
+ { 0x4102, 24919 },
{ 0x1C42, 24925 },
- { 0x6DC8, 24927 },
- { 0x6DC9, 24931 },
- { 0x6DCA, 24935 },
- { 0x6DCB, 24939 },
- { 0x6DCC, 24943 },
- { 0x6DCD, 24947 },
- { 0x6DCE, 24951 },
- { 0x6DCF, 24955 },
- { 0x6DD0, 24959 },
- { 0x6DD1, 24963 },
- { 0x6DD2, 24967 },
- { 0x6DD3, 24971 },
- { 0x6DD4, 24975 },
- { 0x6DD5, 24979 },
- { 0x6DD6, 24983 },
- { 0x6DD7, 24987 },
- { 0x6DD8, 24991 },
- { 0x6DD9, 24995 },
- { 0x6DDA, 24999 },
- { 0x6DDB, 25003 },
- { 0x6DDC, 25007 },
- { 0x6DDD, 25011 },
- { 0x6DDE, 25015 },
- { 0x6DDF, 25019 },
- { 0x6DE0, 25023 },
- { 0x6DE1, 25027 },
- { 0x6DE2, 25031 },
- { 0x6DE3, 25035 },
- { 0x6DE4, 25039 },
- { 0x6DE5, 25043 },
- { 0x6DE6, 25047 },
- { 0x6DE7, 25051 },
- { 0x6DE8, 25055 },
- { 0x6DE9, 25059 },
- { 0x6DEA, 25063 },
- { 0x6DEB, 25067 },
- { 0x6DEC, 25071 },
+ { 0x6DCD, 24927 },
+ { 0x6DCE, 24931 },
+ { 0x6DCF, 24935 },
+ { 0x6DD0, 24939 },
+ { 0x6DD1, 24943 },
+ { 0x6DD2, 24947 },
+ { 0x6DD3, 24951 },
+ { 0x6DD4, 24955 },
+ { 0x6DD5, 24959 },
+ { 0x6DD6, 24963 },
+ { 0x6DD7, 24967 },
+ { 0x6DD8, 24971 },
+ { 0x6DD9, 24975 },
+ { 0x6DDA, 24979 },
+ { 0x6DDB, 24983 },
+ { 0x6DDC, 24987 },
+ { 0x6DDD, 24991 },
+ { 0x6DDE, 24995 },
+ { 0x6DDF, 24999 },
+ { 0x6DE0, 25003 },
+ { 0x6DE1, 25007 },
+ { 0x6DE2, 25011 },
+ { 0x6DE3, 25015 },
+ { 0x6DE4, 25019 },
+ { 0x6DE5, 25023 },
+ { 0x6DE6, 25027 },
+ { 0x6DE7, 25031 },
+ { 0x6DE8, 25035 },
+ { 0x6DE9, 25039 },
+ { 0x6DEA, 25043 },
+ { 0x6DEB, 25047 },
+ { 0x6DEC, 25051 },
+ { 0x6DED, 25055 },
+ { 0x6DEE, 25059 },
+ { 0x6DEF, 25063 },
+ { 0x6DF0, 25067 },
+ { 0x6DF1, 25071 },
{ 0x0337, 25075 },
{ 0x1C40, 25077 },
- { 0x7C7C, 25079 },
- { 0x7AF4, 25081 },
- { 0x7C3F, 25083 },
- { 0x806B, 25085 },
+ { 0x7C81, 25079 },
+ { 0x7AF9, 25081 },
+ { 0x7C44, 25083 },
+ { 0x8070, 25085 },
{ 0x27F2, 25087 },
- { 0x80C2, 25089 },
+ { 0x80C7, 25089 },
{ 0x2801, 25091 },
- { 0x81A8, 25092 },
- { 0x7DF0, 25093 },
- { 0x7B39, 25098 },
- { 0x7C3D, 25104 },
- { 0x7C42, 25107 },
- { 0x81DE, 25110 },
- { 0x7C44, 25112 },
+ { 0x81AD, 25092 },
+ { 0x7DF5, 25093 },
+ { 0x7B3E, 25098 },
+ { 0x7C42, 25104 },
+ { 0x7C47, 25107 },
+ { 0x81E3, 25110 },
+ { 0x7C49, 25112 },
{ 0x2383, 25114 },
{ 0x2382, 25121 },
- { 0x7F4F, 25128 },
- { 0x7F63, 25132 },
- { 0x7F49, 25137 },
- { 0x7F61, 25141 },
+ { 0x7F54, 25128 },
+ { 0x7F68, 25132 },
+ { 0x7F4E, 25137 },
+ { 0x7F66, 25141 },
{ 0x2347, 25146 },
{ 0x233F, 25150 },
{ 0x2779, 25154 },
{ 0x23B8, 25159 },
- { 0x8000, 25162 },
- { 0x8002, 25167 },
- { 0x8003, 25173 },
- { 0x8001, 25179 },
+ { 0x8005, 25162 },
+ { 0x8007, 25167 },
+ { 0x8008, 25173 },
+ { 0x8006, 25179 },
{ 0x2387, 25185 },
{ 0x23C9, 25188 },
{ 0x23C8, 25195 },
{ 0x2337, 25202 },
- { 0x7F55, 25205 },
- { 0x7F66, 25209 },
- { 0x7F68, 25214 },
+ { 0x7F5A, 25205 },
+ { 0x7F6B, 25209 },
+ { 0x7F6D, 25214 },
{ 0x235B, 25219 },
{ 0x236E, 25225 },
{ 0x233D, 25230 },
{ 0x2386, 25233 },
{ 0x2778, 25238 },
- { 0x7CEC, 25241 },
+ { 0x7CF1, 25241 },
{ 0x23D0, 25244 },
{ 0x23B9, 25250 },
{ 0x23BD, 25253 },
- { 0x7E0B, 25257 },
- { 0x7E03, 25262 },
- { 0x7E09, 25268 },
- { 0x7E01, 25273 },
+ { 0x7E10, 25257 },
+ { 0x7E08, 25262 },
+ { 0x7E0E, 25268 },
+ { 0x7E06, 25273 },
{ 0x23BB, 25279 },
- { 0x7E0C, 25283 },
- { 0x7E04, 25288 },
- { 0x7E0A, 25294 },
- { 0x7E02, 25299 },
+ { 0x7E11, 25283 },
+ { 0x7E09, 25288 },
+ { 0x7E0F, 25294 },
+ { 0x7E07, 25299 },
{ 0x23D1, 25305 },
- { 0x7F1E, 25311 },
- { 0x7F28, 25314 },
+ { 0x7F23, 25311 },
+ { 0x7F2D, 25314 },
{ 0x22FE, 25317 },
{ 0x233B, 25321 },
{ 0x277B, 25324 },
{ 0x277A, 25326 },
{ 0x2306, 25331 },
{ 0x23C3, 25339 },
- { 0x7C57, 25344 },
+ { 0x7C5C, 25344 },
{ 0x2381, 25347 },
{ 0x2380, 25353 },
- { 0x7F7D, 25360 },
- { 0x7E16, 25363 },
+ { 0x7F82, 25360 },
+ { 0x7E1B, 25363 },
{ 0x237F, 25368 },
{ 0x237E, 25374 },
- { 0x7F6A, 25381 },
- { 0x7F6B, 25386 },
+ { 0x7F6F, 25381 },
+ { 0x7F70, 25386 },
{ 0x2369, 25391 },
{ 0x277C, 25394 },
- { 0x7F43, 25397 },
+ { 0x7F48, 25397 },
{ 0x236B, 25399 },
- { 0x7F97, 25401 },
- { 0x7F93, 25408 },
+ { 0x7F9C, 25401 },
+ { 0x7F98, 25408 },
{ 0x2354, 25414 },
{ 0x23BA, 25416 },
- { 0x7E18, 25419 },
+ { 0x7E1D, 25419 },
{ 0x2351, 25424 },
{ 0x237D, 25428 },
- { 0x7E19, 25431 },
- { 0x7F99, 25434 },
- { 0x7F95, 25441 },
- { 0x7F96, 25447 },
- { 0x7F92, 25454 },
- { 0x8277, 25460 },
+ { 0x7E1E, 25431 },
+ { 0x7F9E, 25434 },
+ { 0x7F9A, 25441 },
+ { 0x7F9B, 25447 },
+ { 0x7F97, 25454 },
+ { 0x827C, 25460 },
{ 0x23BC, 25463 },
- { 0x7F98, 25466 },
- { 0x7F94, 25473 },
- { 0x7E20, 25479 },
+ { 0x7F9D, 25466 },
+ { 0x7F99, 25473 },
+ { 0x7E25, 25479 },
{ 0x237A, 25483 },
{ 0x2385, 25487 },
- { 0x7E1E, 25491 },
+ { 0x7E23, 25491 },
{ 0x23B7, 25494 },
{ 0x23BF, 25498 },
{ 0x23E0, 25502 },
@@ -54183,144 +54190,144 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2366, 25553 },
{ 0x23C1, 25557 },
{ 0x23DE, 25561 },
- { 0x7E7A, 25565 },
- { 0x7CCF, 25567 },
- { 0x7B14, 25568 },
- { 0x7BB3, 25570 },
- { 0x7BD9, 25571 },
- { 0x7B6C, 25573 },
- { 0x7B8D, 25575 },
+ { 0x7E7F, 25565 },
+ { 0x7CD4, 25567 },
+ { 0x7B19, 25568 },
+ { 0x7BB8, 25570 },
+ { 0x7BDE, 25571 },
+ { 0x7B71, 25573 },
+ { 0x7B92, 25575 },
{ 0x1F53, 25576 },
- { 0x7B86, 25577 },
- { 0x7B85, 25580 },
- { 0x7B7D, 25582 },
+ { 0x7B8B, 25577 },
+ { 0x7B8A, 25580 },
+ { 0x7B82, 25582 },
{ 0x1F08, 25584 },
{ 0x1EA4, 25586 },
- { 0x7C8A, 25592 },
- { 0x81DD, 25594 },
- { 0x77DA, 25599 },
- { 0x77EA, 25603 },
- { 0x77AB, 25607 },
- { 0x77BD, 25611 },
- { 0x77C6, 25616 },
- { 0x77B0, 25621 },
- { 0x77C2, 25625 },
- { 0x77CB, 25630 },
- { 0x77B4, 25635 },
- { 0x77CF, 25639 },
- { 0x77AC, 25644 },
- { 0x77BE, 25648 },
- { 0x77C7, 25653 },
- { 0x77AF, 25658 },
- { 0x77C1, 25662 },
- { 0x77CA, 25667 },
- { 0x77AE, 25672 },
- { 0x77C0, 25676 },
- { 0x77C9, 25681 },
- { 0x77D8, 25686 },
- { 0x77B3, 25690 },
- { 0x77C5, 25694 },
- { 0x77CE, 25699 },
- { 0x77B2, 25704 },
- { 0x77C4, 25708 },
- { 0x77CD, 25713 },
- { 0x77B8, 25718 },
- { 0x77D3, 25722 },
- { 0x77B7, 25727 },
- { 0x77D2, 25731 },
- { 0x77DB, 25736 },
- { 0x77B1, 25740 },
- { 0x77C3, 25744 },
- { 0x77CC, 25749 },
- { 0x77B9, 25754 },
- { 0x77D4, 25758 },
- { 0x77AD, 25763 },
- { 0x77BF, 25767 },
- { 0x77C8, 25772 },
- { 0x77BB, 25777 },
- { 0x77D6, 25781 },
- { 0x77D9, 25786 },
- { 0x77BC, 25790 },
- { 0x77D7, 25794 },
- { 0x77B6, 25799 },
- { 0x77D1, 25803 },
- { 0x77B5, 25808 },
- { 0x77D0, 25812 },
- { 0x77DC, 25817 },
- { 0x77BA, 25821 },
- { 0x77D5, 25825 },
- { 0x77DD, 25830 },
- { 0x77E2, 25835 },
- { 0x77DE, 25840 },
- { 0x77E1, 25845 },
- { 0x77E0, 25850 },
- { 0x77E5, 25855 },
- { 0x77E4, 25860 },
- { 0x77E3, 25865 },
- { 0x77DF, 25870 },
- { 0x77EB, 25875 },
- { 0x77ED, 25880 },
- { 0x77EC, 25886 },
- { 0x77E8, 25891 },
- { 0x77E7, 25896 },
- { 0x77E9, 25901 },
- { 0x77EE, 25906 },
- { 0x77E6, 25911 },
- { 0x7CC6, 25914 },
- { 0x7CC5, 25920 },
- { 0x7CC9, 25926 },
- { 0x7CC7, 25931 },
- { 0x7CC8, 25935 },
- { 0x7BFB, 25939 },
- { 0x7CF0, 25940 },
- { 0x3891, 25941 },
- { 0x3892, 25945 },
- { 0x388F, 25949 },
- { 0x3890, 25953 },
- { 0x388E, 25958 },
- { 0x3864, 25962 },
- { 0x3869, 25966 },
- { 0x3865, 25970 },
- { 0x3868, 25974 },
- { 0x3867, 25978 },
- { 0x386C, 25982 },
- { 0x3863, 25986 },
- { 0x386B, 25990 },
- { 0x386A, 25994 },
- { 0x3866, 25998 },
- { 0x388A, 26002 },
- { 0x388D, 26006 },
- { 0x388B, 26010 },
- { 0x388C, 26014 },
- { 0x3889, 26018 },
- { 0x3885, 26022 },
- { 0x3887, 26026 },
- { 0x387C, 26030 },
- { 0x3884, 26034 },
- { 0x387B, 26038 },
- { 0x386F, 26042 },
- { 0x3882, 26046 },
- { 0x386D, 26050 },
- { 0x387F, 26054 },
- { 0x387A, 26058 },
- { 0x3877, 26062 },
- { 0x3886, 26066 },
- { 0x3888, 26070 },
- { 0x3878, 26074 },
- { 0x387D, 26078 },
- { 0x3871, 26082 },
- { 0x3875, 26086 },
- { 0x3883, 26090 },
- { 0x3880, 26094 },
- { 0x387E, 26098 },
- { 0x3873, 26102 },
- { 0x3876, 26106 },
- { 0x386E, 26110 },
- { 0x3870, 26114 },
- { 0x3874, 26118 },
- { 0x3879, 26122 },
- { 0x3872, 26126 },
- { 0x3881, 26130 },
+ { 0x7C8F, 25592 },
+ { 0x81E2, 25594 },
+ { 0x77DF, 25599 },
+ { 0x77EF, 25603 },
+ { 0x77B0, 25607 },
+ { 0x77C2, 25611 },
+ { 0x77CB, 25616 },
+ { 0x77B5, 25621 },
+ { 0x77C7, 25625 },
+ { 0x77D0, 25630 },
+ { 0x77B9, 25635 },
+ { 0x77D4, 25639 },
+ { 0x77B1, 25644 },
+ { 0x77C3, 25648 },
+ { 0x77CC, 25653 },
+ { 0x77B4, 25658 },
+ { 0x77C6, 25662 },
+ { 0x77CF, 25667 },
+ { 0x77B3, 25672 },
+ { 0x77C5, 25676 },
+ { 0x77CE, 25681 },
+ { 0x77DD, 25686 },
+ { 0x77B8, 25690 },
+ { 0x77CA, 25694 },
+ { 0x77D3, 25699 },
+ { 0x77B7, 25704 },
+ { 0x77C9, 25708 },
+ { 0x77D2, 25713 },
+ { 0x77BD, 25718 },
+ { 0x77D8, 25722 },
+ { 0x77BC, 25727 },
+ { 0x77D7, 25731 },
+ { 0x77E0, 25736 },
+ { 0x77B6, 25740 },
+ { 0x77C8, 25744 },
+ { 0x77D1, 25749 },
+ { 0x77BE, 25754 },
+ { 0x77D9, 25758 },
+ { 0x77B2, 25763 },
+ { 0x77C4, 25767 },
+ { 0x77CD, 25772 },
+ { 0x77C0, 25777 },
+ { 0x77DB, 25781 },
+ { 0x77DE, 25786 },
+ { 0x77C1, 25790 },
+ { 0x77DC, 25794 },
+ { 0x77BB, 25799 },
+ { 0x77D6, 25803 },
+ { 0x77BA, 25808 },
+ { 0x77D5, 25812 },
+ { 0x77E1, 25817 },
+ { 0x77BF, 25821 },
+ { 0x77DA, 25825 },
+ { 0x77E2, 25830 },
+ { 0x77E7, 25835 },
+ { 0x77E3, 25840 },
+ { 0x77E6, 25845 },
+ { 0x77E5, 25850 },
+ { 0x77EA, 25855 },
+ { 0x77E9, 25860 },
+ { 0x77E8, 25865 },
+ { 0x77E4, 25870 },
+ { 0x77F0, 25875 },
+ { 0x77F2, 25880 },
+ { 0x77F1, 25886 },
+ { 0x77ED, 25891 },
+ { 0x77EC, 25896 },
+ { 0x77EE, 25901 },
+ { 0x77F3, 25906 },
+ { 0x77EB, 25911 },
+ { 0x7CCB, 25914 },
+ { 0x7CCA, 25920 },
+ { 0x7CCE, 25926 },
+ { 0x7CCC, 25931 },
+ { 0x7CCD, 25935 },
+ { 0x7C00, 25939 },
+ { 0x7CF5, 25940 },
+ { 0x3896, 25941 },
+ { 0x3897, 25945 },
+ { 0x3894, 25949 },
+ { 0x3895, 25953 },
+ { 0x3893, 25958 },
+ { 0x3869, 25962 },
+ { 0x386E, 25966 },
+ { 0x386A, 25970 },
+ { 0x386D, 25974 },
+ { 0x386C, 25978 },
+ { 0x3871, 25982 },
+ { 0x3868, 25986 },
+ { 0x3870, 25990 },
+ { 0x386F, 25994 },
+ { 0x386B, 25998 },
+ { 0x388F, 26002 },
+ { 0x3892, 26006 },
+ { 0x3890, 26010 },
+ { 0x3891, 26014 },
+ { 0x388E, 26018 },
+ { 0x388A, 26022 },
+ { 0x388C, 26026 },
+ { 0x3881, 26030 },
+ { 0x3889, 26034 },
+ { 0x3880, 26038 },
+ { 0x3874, 26042 },
+ { 0x3887, 26046 },
+ { 0x3872, 26050 },
+ { 0x3884, 26054 },
+ { 0x387F, 26058 },
+ { 0x387C, 26062 },
+ { 0x388B, 26066 },
+ { 0x388D, 26070 },
+ { 0x387D, 26074 },
+ { 0x3882, 26078 },
+ { 0x3876, 26082 },
+ { 0x387A, 26086 },
+ { 0x3888, 26090 },
+ { 0x3885, 26094 },
+ { 0x3883, 26098 },
+ { 0x3878, 26102 },
+ { 0x387B, 26106 },
+ { 0x3873, 26110 },
+ { 0x3875, 26114 },
+ { 0x3879, 26118 },
+ { 0x387E, 26122 },
+ { 0x3877, 26126 },
+ { 0x3886, 26130 },
{ 0x1524, 26134 },
{ 0x1521, 26138 },
{ 0x151C, 26141 },
@@ -54467,33 +54474,33 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x14F6, 26655 },
{ 0x14F9, 26659 },
{ 0x14F7, 26663 },
- { 0x7BCD, 26667 },
- { 0x7B9C, 26668 },
+ { 0x7BD2, 26667 },
+ { 0x7BA1, 26668 },
{ 0x23FB, 26669 },
- { 0x4805, 26672 },
- { 0x4807, 26679 },
- { 0x7CD9, 26686 },
- { 0x7F76, 26689 },
- { 0x4804, 26692 },
- { 0x4806, 26699 },
- { 0x7CDA, 26706 },
- { 0x7F77, 26709 },
- { 0x7CDC, 26712 },
+ { 0x480A, 26672 },
+ { 0x480C, 26679 },
+ { 0x7CDE, 26686 },
+ { 0x7F7B, 26689 },
+ { 0x4809, 26692 },
+ { 0x480B, 26699 },
+ { 0x7CDF, 26706 },
+ { 0x7F7C, 26709 },
+ { 0x7CE1, 26712 },
{ 0x23FC, 26715 },
{ 0x2641, 26718 },
- { 0x7F75, 26722 },
- { 0x7F7C, 26725 },
- { 0x7F73, 26728 },
- { 0x7F7A, 26731 },
+ { 0x7F7A, 26722 },
+ { 0x7F81, 26725 },
+ { 0x7F78, 26728 },
+ { 0x7F7F, 26731 },
{ 0x2212, 26734 },
- { 0x7F71, 26736 },
- { 0x7F78, 26739 },
- { 0x7CDB, 26742 },
- { 0x7F74, 26745 },
- { 0x7F7B, 26748 },
+ { 0x7F76, 26736 },
+ { 0x7F7D, 26739 },
+ { 0x7CE0, 26742 },
+ { 0x7F79, 26745 },
+ { 0x7F80, 26748 },
{ 0x271F, 26751 },
- { 0x7F72, 26756 },
- { 0x7F79, 26759 },
+ { 0x7F77, 26756 },
+ { 0x7F7E, 26759 },
{ 0x2340, 26762 },
{ 0x0041, 26764 },
{ 0x01E6, 26768 },
@@ -54528,7 +54535,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B36, 26978 },
{ 0x1B38, 26986 },
{ 0x1B3C, 26994 },
- { 0x3A42, 27002 },
+ { 0x3A47, 27002 },
{ 0x0042, 27007 },
{ 0x1A94, 27011 },
{ 0x1A96, 27018 },
@@ -54538,9 +54545,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x013F, 27045 },
{ 0x0142, 27051 },
{ 0x1A11, 27057 },
- { 0x3738, 27064 },
+ { 0x373D, 27064 },
{ 0x0043, 27070 },
- { 0x3734, 27074 },
+ { 0x3739, 27074 },
{ 0x00CA, 27080 },
{ 0x0214, 27087 },
{ 0x0147, 27093 },
@@ -54549,8 +54556,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x01FB, 27111 },
{ 0x00A6, 27117 },
{ 0x1A9A, 27123 },
- { 0x3735, 27131 },
- { 0x752A, 27138 },
+ { 0x373A, 27131 },
+ { 0x752F, 27138 },
{ 0x00C8, 27145 },
{ 0x0044, 27151 },
{ 0x1A9C, 27155 },
@@ -54561,14 +54568,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AA0, 27189 },
{ 0x0215, 27196 },
{ 0x00CE, 27202 },
- { 0x3769, 27208 },
+ { 0x376E, 27208 },
{ 0x19FE, 27216 },
{ 0x00D0, 27223 },
{ 0x014B, 27229 },
{ 0x1AA2, 27235 },
{ 0x1A12, 27241 },
{ 0x1AA4, 27248 },
- { 0x752C, 27255 },
+ { 0x7531, 27255 },
{ 0x0045, 27263 },
{ 0x00D6, 27267 },
{ 0x1B4A, 27274 },
@@ -54588,7 +54595,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0206, 27366 },
{ 0x01E8, 27372 },
{ 0x1AAE, 27378 },
- { 0x3A45, 27386 },
+ { 0x3A4A, 27386 },
{ 0x01C6, 27392 },
{ 0x00AA, 27399 },
{ 0x1A23, 27405 },
@@ -54603,7 +54610,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AB0, 27471 },
{ 0x0151, 27478 },
{ 0x19FF, 27484 },
- { 0x373A, 27491 },
+ { 0x373F, 27491 },
{ 0x1A13, 27497 },
{ 0x0047, 27504 },
{ 0x00E0, 27508 },
@@ -54614,7 +54621,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AB2, 27539 },
{ 0x01A4, 27545 },
{ 0x00E2, 27551 },
- { 0x3742, 27557 },
+ { 0x3747, 27557 },
{ 0x1A14, 27564 },
{ 0x00DC, 27571 },
{ 0x0048, 27577 },
@@ -54626,7 +54633,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x01DE, 27615 },
{ 0x00E6, 27621 },
{ 0x1ABA, 27627 },
- { 0x3736, 27633 },
+ { 0x373B, 27633 },
{ 0x2888, 27640 },
{ 0x1AB8, 27646 },
{ 0x00E4, 27652 },
@@ -54643,7 +54650,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x00EA, 27720 },
{ 0x00EE, 27726 },
{ 0x0227, 27732 },
- { 0x7527, 27738 },
+ { 0x752C, 27738 },
{ 0x01CA, 27747 },
{ 0x00AE, 27754 },
{ 0x1AC0, 27760 },
@@ -54660,38 +54667,38 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AC6, 27826 },
{ 0x1AC2, 27833 },
{ 0x01A8, 27839 },
- { 0x36E2, 27845 },
- { 0x36E6, 27851 },
+ { 0x36E7, 27845 },
+ { 0x36EB, 27851 },
{ 0x00F6, 27860 },
- { 0x3744, 27866 },
+ { 0x3749, 27866 },
{ 0x1A15, 27873 },
- { 0x36E4, 27880 },
+ { 0x36E9, 27880 },
{ 0x288A, 27887 },
{ 0x004C, 27893 },
{ 0x0159, 27897 },
{ 0x1AC8, 27903 },
{ 0x1ACA, 27910 },
{ 0x022B, 27919 },
- { 0x7520, 27925 },
+ { 0x7525, 27925 },
{ 0x01F3, 27934 },
- { 0x36EA, 27940 },
+ { 0x36EF, 27940 },
{ 0x1ACC, 27947 },
{ 0x00F9, 27954 },
{ 0x00FD, 27960 },
{ 0x2881, 27966 },
- { 0x3A49, 27973 },
+ { 0x3A4E, 27973 },
{ 0x00FF, 27981 },
- { 0x3A4A, 27988 },
+ { 0x3A4F, 27988 },
{ 0x022A, 27995 },
{ 0x0101, 28002 },
{ 0x00FB, 28008 },
{ 0x1A16, 28014 },
- { 0x751E, 28021 },
- { 0x3A48, 28027 },
+ { 0x7523, 28021 },
+ { 0x3A4D, 28027 },
{ 0x022C, 28035 },
- { 0x372F, 28042 },
+ { 0x3734, 28042 },
{ 0x1ACE, 28051 },
- { 0x752D, 28058 },
+ { 0x7532, 28058 },
{ 0x004D, 28066 },
{ 0x1AD2, 28070 },
{ 0x1AD4, 28077 },
@@ -54699,7 +54706,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AD0, 28090 },
{ 0x1A00, 28096 },
{ 0x1A17, 28103 },
- { 0x3A4B, 28110 },
+ { 0x3A50, 28110 },
{ 0x004E, 28116 },
{ 0x1AD6, 28120 },
{ 0x1AD8, 28127 },
@@ -54713,13 +54720,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x00B0, 28180 },
{ 0x1A01, 28186 },
{ 0x0105, 28193 },
- { 0x3746, 28199 },
+ { 0x374B, 28199 },
{ 0x1A18, 28206 },
- { 0x3732, 28213 },
+ { 0x3737, 28213 },
{ 0x0232, 28219 },
{ 0x1ADC, 28226 },
- { 0x752E, 28233 },
- { 0x3A4C, 28241 },
+ { 0x7533, 28233 },
+ { 0x3A51, 28241 },
{ 0x0108, 28247 },
{ 0x004F, 28254 },
{ 0x01EE, 28258 },
@@ -54733,8 +54740,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B6C, 28320 },
{ 0x1B6E, 28328 },
{ 0x1B72, 28336 },
- { 0x36EC, 28344 },
- { 0x36EE, 28352 },
+ { 0x36F1, 28344 },
+ { 0x36F3, 28352 },
{ 0x00B2, 28358 },
{ 0x010E, 28364 },
{ 0x0191, 28370 },
@@ -54755,7 +54762,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x01CE, 28476 },
{ 0x00B5, 28483 },
{ 0x01EA, 28489 },
- { 0x7528, 28497 },
+ { 0x752D, 28497 },
{ 0x00B3, 28504 },
{ 0x1B6A, 28510 },
{ 0x1B66, 28519 },
@@ -54768,15 +54775,15 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AE6, 28569 },
{ 0x1A02, 28575 },
{ 0x1A0E, 28582 },
- { 0x36F2, 28588 },
+ { 0x36F7, 28588 },
{ 0x1A19, 28596 },
- { 0x36F4, 28603 },
- { 0x36F6, 28609 },
+ { 0x36F9, 28603 },
+ { 0x36FB, 28609 },
{ 0x0051, 28616 },
{ 0x025F, 28620 },
{ 0x020A, 28626 },
- { 0x36F8, 28633 },
- { 0x36FA, 28641 },
+ { 0x36FD, 28633 },
+ { 0x36FF, 28641 },
{ 0x0052, 28648 },
{ 0x1AEA, 28652 },
{ 0x1AEC, 28659 },
@@ -54790,41 +54797,41 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A03, 28714 },
{ 0x020C, 28721 },
{ 0x0116, 28727 },
- { 0x3748, 28733 },
+ { 0x374D, 28733 },
{ 0x1A1A, 28740 },
{ 0x023D, 28747 },
{ 0x1A04, 28753 },
- { 0x7523, 28762 },
+ { 0x7528, 28762 },
{ 0x01D2, 28771 },
- { 0x752F, 28778 },
- { 0x3A5A, 28786 },
- { 0x36FC, 28792 },
- { 0x3A58, 28797 },
+ { 0x7534, 28778 },
+ { 0x3A5F, 28786 },
+ { 0x3701, 28792 },
+ { 0x3A5D, 28797 },
{ 0x0053, 28803 },
{ 0x1AF2, 28807 },
{ 0x1AF4, 28814 },
{ 0x1AFA, 28821 },
- { 0x752B, 28831 },
+ { 0x7530, 28831 },
{ 0x0241, 28837 },
{ 0x011A, 28843 },
{ 0x1AF6, 28849 },
{ 0x0120, 28858 },
{ 0x1AF8, 28864 },
{ 0x01D8, 28873 },
- { 0x376B, 28880 },
+ { 0x3770, 28880 },
{ 0x01FE, 28888 },
{ 0x1A05, 28895 },
{ 0x011E, 28902 },
- { 0x374A, 28908 },
+ { 0x374F, 28908 },
{ 0x1A1B, 28915 },
{ 0x011C, 28922 },
- { 0x7530, 28928 },
+ { 0x7535, 28928 },
{ 0x0054, 28936 },
{ 0x1AFC, 28940 },
{ 0x1AFE, 28947 },
{ 0x01F5, 28954 },
{ 0x016C, 28960 },
- { 0x7516, 28966 },
+ { 0x751B, 28966 },
{ 0x1B00, 28975 },
{ 0x0124, 28982 },
{ 0x01DA, 28988 },
@@ -54836,10 +54843,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B28, 29028 },
{ 0x0247, 29034 },
{ 0x1B02, 29041 },
- { 0x7531, 29048 },
+ { 0x7536, 29048 },
{ 0x0055, 29056 },
{ 0x0248, 29060 },
- { 0x3A60, 29065 },
+ { 0x3A65, 29065 },
{ 0x1B76, 29074 },
{ 0x1B78, 29081 },
{ 0x016F, 29088 },
@@ -54848,13 +54855,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B7A, 29112 },
{ 0x1B7C, 29120 },
{ 0x1B80, 29128 },
- { 0x3A63, 29136 },
+ { 0x3A68, 29136 },
{ 0x012E, 29143 },
{ 0x00B9, 29150 },
{ 0x012C, 29156 },
{ 0x0193, 29162 },
{ 0x00B8, 29168 },
- { 0x3A5F, 29174 },
+ { 0x3A64, 29174 },
{ 0x0128, 29182 },
{ 0x1B0A, 29188 },
{ 0x1B06, 29196 },
@@ -54863,7 +54870,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x012A, 29217 },
{ 0x1B0C, 29223 },
{ 0x0132, 29231 },
- { 0x375A, 29237 },
+ { 0x375F, 29237 },
{ 0x01D6, 29243 },
{ 0x00BB, 29250 },
{ 0x0197, 29256 },
@@ -54881,7 +54888,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2891, 29338 },
{ 0x1B0E, 29345 },
{ 0x1A1D, 29351 },
- { 0x3700, 29358 },
+ { 0x3705, 29358 },
{ 0x0057, 29365 },
{ 0x1B18, 29369 },
{ 0x1B1A, 29376 },
@@ -54893,10 +54900,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0134, 29414 },
{ 0x0058, 29420 },
{ 0x1B1C, 29424 },
- { 0x3A67, 29431 },
- { 0x3A68, 29439 },
- { 0x3A69, 29447 },
- { 0x3A6A, 29459 },
+ { 0x3A6C, 29431 },
+ { 0x3A6D, 29439 },
+ { 0x3A6E, 29447 },
+ { 0x3A6F, 29459 },
{ 0x1A1E, 29469 },
{ 0x1B1E, 29476 },
{ 0x0059, 29482 },
@@ -54908,7 +54915,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B2A, 29519 },
{ 0x00BC, 29526 },
{ 0x1B84, 29532 },
- { 0x3A6B, 29538 },
+ { 0x3A70, 29538 },
{ 0x1B8A, 29546 },
{ 0x01F2, 29552 },
{ 0x020E, 29558 },
@@ -54929,54 +54936,54 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x288C, 29652 },
{ 0x024F, 29658 },
{ 0x1B22, 29665 },
- { 0x36D4, 29671 },
+ { 0x36D9, 29671 },
{ 0x00A5, 29675 },
{ 0x01BC, 29679 },
{ 0x01A2, 29685 },
- { 0x36D6, 29691 },
- { 0x36D8, 29695 },
- { 0x36DA, 29699 },
- { 0x36DC, 29703 },
- { 0x36DE, 29710 },
+ { 0x36DB, 29691 },
+ { 0x36DD, 29695 },
+ { 0x36DF, 29699 },
+ { 0x36E1, 29703 },
+ { 0x36E3, 29710 },
{ 0x01F7, 29714 },
{ 0x01B2, 29719 },
{ 0x0185, 29723 },
{ 0x0262, 29729 },
{ 0x0264, 29734 },
- { 0x3A77, 29741 },
- { 0x370C, 29749 },
+ { 0x3A7C, 29741 },
+ { 0x3711, 29749 },
{ 0x0154, 29753 },
- { 0x370E, 29757 },
+ { 0x3713, 29757 },
{ 0x0188, 29761 },
{ 0x0269, 29765 },
{ 0x026A, 29770 },
{ 0x018B, 29775 },
{ 0x0162, 29779 },
- { 0x36F0, 29783 },
+ { 0x36F5, 29783 },
{ 0x01E2, 29787 },
{ 0x01F8, 29791 },
{ 0x0267, 29796 },
{ 0x1A0B, 29803 },
{ 0x0265, 29809 },
- { 0x3A78, 29814 },
- { 0x36CA, 29822 },
+ { 0x3A7D, 29814 },
+ { 0x36CF, 29822 },
{ 0x19FC, 29826 },
- { 0x3A61, 29830 },
- { 0x3719, 29834 },
- { 0x3A74, 29838 },
- { 0x3702, 29842 },
- { 0x3A64, 29846 },
- { 0x3A66, 29850 },
- { 0x3A65, 29858 },
- { 0x3710, 29866 },
- { 0x3712, 29870 },
+ { 0x3A66, 29830 },
+ { 0x371E, 29834 },
+ { 0x3A79, 29838 },
+ { 0x3707, 29842 },
+ { 0x3A69, 29846 },
+ { 0x3A6B, 29850 },
+ { 0x3A6A, 29858 },
+ { 0x3715, 29866 },
+ { 0x3717, 29870 },
{ 0x010A, 29874 },
- { 0x7521, 29878 },
- { 0x3A4D, 29885 },
+ { 0x7526, 29878 },
+ { 0x3A52, 29885 },
{ 0x0242, 29891 },
{ 0x0245, 29895 },
- { 0x7518, 29901 },
- { 0x7519, 29908 },
+ { 0x751D, 29901 },
+ { 0x751E, 29908 },
{ 0x1A1C, 29917 },
{ 0x1A29, 29924 },
{ 0x00AF, 29931 },
@@ -54984,33 +54991,33 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0252, 29939 },
{ 0x0179, 29945 },
{ 0x01AE, 29951 },
- { 0x7525, 29957 },
+ { 0x752A, 29957 },
{ 0x1A2B, 29964 },
{ 0x0178, 29971 },
{ 0x0162, 29976 },
{ 0x00F7, 29980 },
- { 0x3713, 29984 },
- { 0x3714, 29988 },
- { 0x3715, 29992 },
- { 0x3762, 29996 },
+ { 0x3718, 29984 },
+ { 0x3719, 29988 },
+ { 0x371A, 29992 },
+ { 0x3767, 29996 },
{ 0x0237, 30002 },
- { 0x3716, 30006 },
- { 0x36FE, 30010 },
+ { 0x371B, 30006 },
+ { 0x3703, 30010 },
{ 0x19A7, 30015 },
- { 0x3718, 30021 },
- { 0x3756, 30025 },
+ { 0x371D, 30021 },
+ { 0x375B, 30025 },
{ 0x0263, 30029 },
- { 0x751F, 30034 },
- { 0x7526, 30042 },
+ { 0x7524, 30034 },
+ { 0x752B, 30042 },
{ 0x0268, 30050 },
- { 0x750D, 30055 },
+ { 0x7512, 30055 },
{ 0x2896, 30062 },
- { 0x36C8, 30067 },
+ { 0x36CD, 30067 },
{ 0x0226, 30071 },
{ 0x0228, 30077 },
{ 0x1A0D, 30081 },
{ 0x022D, 30087 },
- { 0x7512, 30091 },
+ { 0x7517, 30091 },
{ 0x013E, 30098 },
{ 0x1B2C, 30103 },
{ 0x1B2E, 30111 },
@@ -55018,52 +55025,52 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x021A, 30127 },
{ 0x1A24, 30132 },
{ 0x0213, 30140 },
- { 0x3A50, 30145 },
+ { 0x3A55, 30145 },
{ 0x1A28, 30152 },
- { 0x3A73, 30160 },
+ { 0x3A78, 30160 },
{ 0x0223, 30165 },
{ 0x0266, 30170 },
- { 0x7524, 30175 },
- { 0x7529, 30183 },
+ { 0x7529, 30175 },
+ { 0x752E, 30183 },
{ 0x0144, 30191 },
{ 0x0167, 30196 },
{ 0x017C, 30201 },
- { 0x370A, 30206 },
+ { 0x370F, 30206 },
{ 0x01DC, 30210 },
{ 0x0210, 30214 },
{ 0x1A21, 30218 },
{ 0x1B30, 30225 },
{ 0x0222, 30229 },
- { 0x3A46, 30233 },
- { 0x3758, 30238 },
- { 0x3A71, 30242 },
+ { 0x3A4B, 30233 },
+ { 0x375D, 30238 },
+ { 0x3A76, 30242 },
{ 0x0218, 30247 },
{ 0x0219, 30251 },
{ 0x1A26, 30257 },
{ 0x009E, 30264 },
{ 0x0244, 30269 },
{ 0x00BD, 30275 },
- { 0x3706, 30279 },
- { 0x3708, 30285 },
- { 0x3A44, 30293 },
+ { 0x370B, 30279 },
+ { 0x370D, 30285 },
+ { 0x3A49, 30293 },
{ 0x0234, 30298 },
- { 0x3A41, 30303 },
+ { 0x3A46, 30303 },
{ 0x19A8, 30308 },
- { 0x36E8, 30314 },
+ { 0x36ED, 30314 },
{ 0x0259, 30319 },
{ 0x0236, 30325 },
- { 0x376D, 30330 },
+ { 0x3772, 30330 },
{ 0x021D, 30336 },
- { 0x3A59, 30343 },
- { 0x3A5B, 30348 },
- { 0x376F, 30355 },
- { 0x376E, 30360 },
+ { 0x3A5E, 30343 },
+ { 0x3A60, 30348 },
+ { 0x3774, 30355 },
+ { 0x3773, 30360 },
{ 0x015A, 30365 },
- { 0x3771, 30371 },
+ { 0x3776, 30371 },
{ 0x0220, 30377 },
- { 0x3A47, 30382 },
- { 0x3A5C, 30389 },
- { 0x3A5D, 30394 },
+ { 0x3A4C, 30382 },
+ { 0x3A61, 30389 },
+ { 0x3A62, 30394 },
{ 0x020F, 30401 },
{ 0x019C, 30406 },
{ 0x1A08, 30411 },
@@ -55072,70 +55079,70 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x026E, 30428 },
{ 0x199A, 30437 },
{ 0x025D, 30442 },
- { 0x3722, 30447 },
+ { 0x3727, 30447 },
{ 0x022E, 30452 },
{ 0x022F, 30457 },
- { 0x3A54, 30465 },
- { 0x3A55, 30471 },
+ { 0x3A59, 30465 },
+ { 0x3A5A, 30471 },
{ 0x0238, 30479 },
{ 0x023A, 30484 },
{ 0x0239, 30491 },
- { 0x7515, 30499 },
+ { 0x751A, 30499 },
{ 0x2899, 30510 },
- { 0x3A79, 30517 },
- { 0x7522, 30525 },
+ { 0x3A7E, 30517 },
+ { 0x7527, 30525 },
{ 0x0246, 30533 },
- { 0x751A, 30538 },
+ { 0x751F, 30538 },
{ 0x024B, 30545 },
{ 0x024C, 30550 },
{ 0x024D, 30555 },
- { 0x7513, 30560 },
+ { 0x7518, 30560 },
{ 0x1993, 30567 },
{ 0x19A5, 30572 },
- { 0x3A52, 30577 },
- { 0x3A53, 30584 },
- { 0x3A62, 30592 },
+ { 0x3A57, 30577 },
+ { 0x3A58, 30584 },
+ { 0x3A67, 30592 },
{ 0x1999, 30597 },
{ 0x0211, 30603 },
{ 0x014C, 30608 },
- { 0x3720, 30613 },
+ { 0x3725, 30613 },
{ 0x00F0, 30619 },
{ 0x01F6, 30624 },
{ 0x021E, 30629 },
{ 0x0243, 30636 },
- { 0x375C, 30645 },
- { 0x375E, 30650 },
- { 0x3760, 30655 },
+ { 0x3761, 30645 },
+ { 0x3763, 30650 },
+ { 0x3765, 30655 },
{ 0x0201, 30660 },
- { 0x371B, 30665 },
- { 0x371D, 30670 },
+ { 0x3720, 30665 },
+ { 0x3722, 30670 },
{ 0x1A0A, 30675 },
- { 0x3724, 30680 },
- { 0x3726, 30685 },
- { 0x3728, 30690 },
- { 0x3773, 30695 },
- { 0x3A56, 30700 },
+ { 0x3729, 30680 },
+ { 0x372B, 30685 },
+ { 0x372D, 30690 },
+ { 0x3778, 30695 },
+ { 0x3A5B, 30700 },
{ 0x0249, 30705 },
{ 0x1A10, 30709 },
- { 0x373C, 30715 },
- { 0x373E, 30720 },
- { 0x3740, 30725 },
- { 0x3A5E, 30730 },
- { 0x3A51, 30735 },
- { 0x3A75, 30740 },
- { 0x3A72, 30745 },
+ { 0x3741, 30715 },
+ { 0x3743, 30720 },
+ { 0x3745, 30725 },
+ { 0x3A63, 30730 },
+ { 0x3A56, 30735 },
+ { 0x3A7A, 30740 },
+ { 0x3A77, 30745 },
{ 0x1DD9, 30750 },
- { 0x36E0, 30755 },
+ { 0x36E5, 30755 },
{ 0x0217, 30762 },
- { 0x7510, 30767 },
+ { 0x7515, 30767 },
{ 0x023E, 30772 },
- { 0x7514, 30779 },
- { 0x3778, 30784 },
+ { 0x7519, 30779 },
+ { 0x377D, 30784 },
{ 0x021B, 30790 },
{ 0x021C, 30796 },
{ 0x1A25, 30804 },
- { 0x750E, 30813 },
- { 0x372D, 30819 },
+ { 0x7513, 30813 },
+ { 0x3732, 30819 },
{ 0x19A2, 30823 },
{ 0x19A4, 30828 },
{ 0x19AE, 30835 },
@@ -55143,29 +55150,29 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x19B0, 30846 },
{ 0x19AF, 30852 },
{ 0x2897, 30858 },
- { 0x36CC, 30863 },
- { 0x3764, 30867 },
- { 0x36CE, 30872 },
- { 0x36D0, 30876 },
- { 0x3704, 30882 },
- { 0x3A43, 30887 },
- { 0x3A4E, 30892 },
- { 0x3A4F, 30897 },
+ { 0x36D1, 30863 },
+ { 0x3769, 30867 },
+ { 0x36D3, 30872 },
+ { 0x36D5, 30876 },
+ { 0x3709, 30882 },
+ { 0x3A48, 30887 },
+ { 0x3A53, 30892 },
+ { 0x3A54, 30897 },
{ 0x1B8E, 30904 },
{ 0x1B8C, 30909 },
- { 0x36C6, 30914 },
- { 0x36C4, 30919 },
+ { 0x36CB, 30914 },
+ { 0x36C9, 30919 },
{ 0x1A0C, 30924 },
{ 0x1A0F, 30931 },
- { 0x3B52, 30938 },
- { 0x3B53, 30942 },
- { 0x3B54, 30946 },
+ { 0x3B57, 30938 },
+ { 0x3B58, 30942 },
+ { 0x3B59, 30946 },
{ 0x00F2, 30950 },
{ 0x0112, 30954 },
- { 0x3B58, 30958 },
- { 0x3B55, 30962 },
- { 0x3B56, 30966 },
- { 0x3B57, 30970 },
+ { 0x3B5D, 30958 },
+ { 0x3B5A, 30962 },
+ { 0x3B5B, 30966 },
+ { 0x3B5C, 30970 },
{ 0x0165, 30976 },
{ 0x19B6, 30979 },
{ 0x017A, 30982 },
@@ -55175,7 +55182,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1995, 31000 },
{ 0x1996, 31005 },
{ 0x1998, 31010 },
- { 0x36D1, 31015 },
+ { 0x36D6, 31015 },
{ 0x0221, 31020 },
{ 0x025A, 31025 },
{ 0x025B, 31032 },
@@ -55183,16 +55190,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x199B, 31042 },
{ 0x199C, 31047 },
{ 0x025E, 31052 },
- { 0x7511, 31057 },
+ { 0x7516, 31057 },
{ 0x199D, 31064 },
{ 0x199E, 31071 },
{ 0x0233, 31076 },
{ 0x19A0, 31081 },
{ 0x19A9, 31086 },
- { 0x3750, 31091 },
+ { 0x3755, 31091 },
{ 0x023F, 31096 },
- { 0x3A57, 31101 },
- { 0x36D2, 31109 },
+ { 0x3A5C, 31101 },
+ { 0x36D7, 31109 },
{ 0x19AC, 31114 },
{ 0x19AD, 31119 },
{ 0x19B1, 31124 },
@@ -55204,13 +55211,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x19A6, 31154 },
{ 0x1997, 31159 },
{ 0x19B4, 31164 },
- { 0x3717, 31169 },
+ { 0x371C, 31169 },
{ 0x19A1, 31174 },
{ 0x1994, 31180 },
{ 0x289B, 31186 },
- { 0x750F, 31192 },
- { 0x751D, 31198 },
- { 0x377C, 31204 },
+ { 0x7514, 31192 },
+ { 0x7522, 31198 },
+ { 0x3781, 31204 },
{ 0x19AB, 31210 },
{ 0x0240, 31216 },
{ 0x199F, 31222 },
@@ -55225,16 +55232,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0257, 31265 },
{ 0x026B, 31269 },
{ 0x0255, 31273 },
- { 0x751B, 31278 },
+ { 0x7520, 31278 },
{ 0x017D, 31285 },
{ 0x0169, 31292 },
{ 0x0261, 31297 },
{ 0x0182, 31304 },
- { 0x7517, 31308 },
+ { 0x751C, 31308 },
{ 0x0256, 31315 },
- { 0x751C, 31319 },
+ { 0x7521, 31319 },
{ 0x0254, 31325 },
- { 0x3730, 31330 },
+ { 0x3735, 31330 },
{ 0x0021, 31334 },
{ 0x01E5, 31338 },
{ 0x019F, 31345 },
@@ -55273,9 +55280,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A97, 31581 },
{ 0x0202, 31588 },
{ 0x0141, 31594 },
- { 0x3737, 31600 },
+ { 0x373C, 31600 },
{ 0x0023, 31606 },
- { 0x3733, 31610 },
+ { 0x3738, 31610 },
{ 0x00C9, 31616 },
{ 0x0146, 31623 },
{ 0x00C5, 31629 },
@@ -55283,7 +55290,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x01FA, 31641 },
{ 0x0086, 31647 },
{ 0x1A99, 31653 },
- { 0x3765, 31661 },
+ { 0x376A, 31661 },
{ 0x00C7, 31668 },
{ 0x0024, 31674 },
{ 0x1A9B, 31678 },
@@ -55291,7 +55298,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0149, 31692 },
{ 0x1A9F, 31698 },
{ 0x00CD, 31705 },
- { 0x3768, 31711 },
+ { 0x376D, 31711 },
{ 0x01B1, 31719 },
{ 0x0184, 31727 },
{ 0x00CF, 31737 },
@@ -55328,7 +55335,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0026, 31947 },
{ 0x1AAF, 31951 },
{ 0x0150, 31958 },
- { 0x3739, 31964 },
+ { 0x373E, 31964 },
{ 0x0027, 31970 },
{ 0x00DF, 31974 },
{ 0x0152, 31981 },
@@ -55338,12 +55345,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1AB1, 32005 },
{ 0x01A3, 32011 },
{ 0x00E1, 32017 },
- { 0x3741, 32023 },
+ { 0x3746, 32023 },
{ 0x00DB, 32030 },
{ 0x0028, 32036 },
{ 0x1AB3, 32040 },
{ 0x1AB5, 32047 },
- { 0x374B, 32054 },
+ { 0x3750, 32054 },
{ 0x1ABB, 32060 },
{ 0x01DD, 32067 },
{ 0x00E5, 32073 },
@@ -55372,25 +55379,25 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x002A, 32217 },
{ 0x0207, 32221 },
{ 0x00F3, 32227 },
- { 0x3753, 32233 },
+ { 0x3758, 32233 },
{ 0x002B, 32239 },
{ 0x1AC3, 32243 },
{ 0x0157, 32250 },
{ 0x1AC5, 32256 },
{ 0x1AC1, 32263 },
{ 0x01A7, 32269 },
- { 0x36E1, 32275 },
- { 0x36E5, 32281 },
+ { 0x36E6, 32275 },
+ { 0x36EA, 32281 },
{ 0x00F5, 32290 },
- { 0x3743, 32296 },
- { 0x36E3, 32303 },
+ { 0x3748, 32296 },
+ { 0x36E8, 32303 },
{ 0x2889, 32310 },
{ 0x002C, 32316 },
{ 0x01FC, 32320 },
{ 0x1AC7, 32326 },
{ 0x1AC9, 32333 },
- { 0x374E, 32342 },
- { 0x36E9, 32348 },
+ { 0x3753, 32342 },
+ { 0x36EE, 32348 },
{ 0x1ACB, 32355 },
{ 0x00F8, 32362 },
{ 0x00FC, 32368 },
@@ -55418,8 +55425,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x018A, 32510 },
{ 0x0090, 32518 },
{ 0x0104, 32524 },
- { 0x3745, 32530 },
- { 0x3731, 32537 },
+ { 0x374A, 32530 },
+ { 0x3736, 32537 },
{ 0x1ADB, 32543 },
{ 0x002F, 32550 },
{ 0x01ED, 32554 },
@@ -55432,8 +55439,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B6B, 32608 },
{ 0x1B6D, 32616 },
{ 0x1B71, 32624 },
- { 0x36EB, 32632 },
- { 0x36ED, 32640 },
+ { 0x36F0, 32632 },
+ { 0x36F2, 32640 },
{ 0x0092, 32646 },
{ 0x010D, 32652 },
{ 0x0190, 32658 },
@@ -55466,12 +55473,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0163, 32851 },
{ 0x1AE5, 32857 },
{ 0x2883, 32863 },
- { 0x36F1, 32869 },
- { 0x36F3, 32877 },
- { 0x36F5, 32883 },
+ { 0x36F6, 32869 },
+ { 0x36F8, 32877 },
+ { 0x36FA, 32883 },
{ 0x0031, 32890 },
- { 0x36F7, 32894 },
- { 0x36F9, 32902 },
+ { 0x36FC, 32894 },
+ { 0x36FE, 32902 },
{ 0x0032, 32909 },
{ 0x1AE9, 32913 },
{ 0x1AEB, 32920 },
@@ -55483,23 +55490,23 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x01CF, 32961 },
{ 0x020B, 32968 },
{ 0x0115, 32974 },
- { 0x3747, 32980 },
+ { 0x374C, 32980 },
{ 0x01D1, 32987 },
- { 0x36FB, 32994 },
+ { 0x3700, 32994 },
{ 0x0033, 32999 },
{ 0x1AF1, 33003 },
{ 0x1AF3, 33010 },
{ 0x1AF9, 33017 },
- { 0x3766, 33027 },
+ { 0x376B, 33027 },
{ 0x0119, 33033 },
{ 0x1AF5, 33039 },
{ 0x011F, 33048 },
{ 0x1AF7, 33054 },
{ 0x01D7, 33063 },
- { 0x376A, 33070 },
+ { 0x376F, 33070 },
{ 0x289E, 33078 },
{ 0x011D, 33085 },
- { 0x3749, 33091 },
+ { 0x374E, 33091 },
{ 0x011B, 33098 },
{ 0x0034, 33104 },
{ 0x1AFB, 33108 },
@@ -55536,7 +55543,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0129, 33318 },
{ 0x1B0B, 33324 },
{ 0x0131, 33332 },
- { 0x3759, 33338 },
+ { 0x375E, 33338 },
{ 0x01D5, 33344 },
{ 0x009B, 33351 },
{ 0x0196, 33357 },
@@ -55550,7 +55557,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1B0F, 33413 },
{ 0x0171, 33420 },
{ 0x1B0D, 33426 },
- { 0x36FF, 33432 },
+ { 0x3704, 33432 },
{ 0x0037, 33439 },
{ 0x1B17, 33443 },
{ 0x1B19, 33450 },
@@ -55584,31 +55591,31 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x013C, 33620 },
{ 0x289F, 33626 },
{ 0x0174, 33633 },
- { 0x3767, 33639 },
+ { 0x376C, 33639 },
{ 0x288B, 33646 },
{ 0x1B21, 33652 },
- { 0x36D3, 33658 },
+ { 0x36D8, 33658 },
{ 0x0085, 33662 },
{ 0x01BB, 33666 },
{ 0x01A1, 33672 },
- { 0x36D5, 33678 },
- { 0x36D7, 33682 },
- { 0x36D9, 33686 },
- { 0x36DB, 33690 },
- { 0x36DD, 33697 },
+ { 0x36DA, 33678 },
+ { 0x36DC, 33682 },
+ { 0x36DE, 33686 },
+ { 0x36E0, 33690 },
+ { 0x36E2, 33697 },
{ 0x01B0, 33701 },
{ 0x0183, 33705 },
- { 0x370B, 33711 },
- { 0x370D, 33715 },
+ { 0x3710, 33711 },
+ { 0x3712, 33715 },
{ 0x0186, 33719 },
{ 0x0189, 33723 },
{ 0x0161, 33727 },
- { 0x36EF, 33731 },
+ { 0x36F4, 33731 },
{ 0x01E1, 33735 },
- { 0x36C9, 33739 },
- { 0x3701, 33743 },
- { 0x3754, 33747 },
- { 0x370F, 33751 },
+ { 0x36CE, 33739 },
+ { 0x3706, 33743 },
+ { 0x3759, 33747 },
+ { 0x3714, 33751 },
{ 0x0109, 33755 },
{ 0x0168, 33759 },
{ 0x008F, 33763 },
@@ -55616,74 +55623,74 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x01AD, 33771 },
{ 0x0177, 33777 },
{ 0x0161, 33782 },
- { 0x3761, 33786 },
- { 0x36FD, 33792 },
- { 0x3755, 33797 },
+ { 0x3766, 33786 },
+ { 0x3702, 33792 },
+ { 0x375A, 33797 },
{ 0x2895, 33801 },
- { 0x36C7, 33806 },
+ { 0x36CC, 33806 },
{ 0x0155, 33810 },
{ 0x014F, 33814 },
{ 0x0145, 33819 },
{ 0x0143, 33824 },
{ 0x0166, 33829 },
{ 0x017B, 33834 },
- { 0x3709, 33839 },
+ { 0x370E, 33839 },
{ 0x01B6, 33843 },
{ 0x01DB, 33847 },
{ 0x288D, 33851 },
{ 0x0153, 33855 },
{ 0x01B5, 33859 },
- { 0x3757, 33863 },
+ { 0x375C, 33863 },
{ 0x014E, 33867 },
{ 0x1B2F, 33871 },
{ 0x0209, 33876 },
- { 0x374F, 33884 },
+ { 0x3754, 33884 },
{ 0x009D, 33890 },
- { 0x3705, 33894 },
- { 0x3707, 33900 },
- { 0x36E7, 33908 },
- { 0x376C, 33913 },
- { 0x3770, 33919 },
- { 0x374D, 33925 },
+ { 0x370A, 33894 },
+ { 0x370C, 33900 },
+ { 0x36EC, 33908 },
+ { 0x3771, 33913 },
+ { 0x3775, 33919 },
+ { 0x3752, 33925 },
{ 0x288F, 33930 },
- { 0x372E, 33935 },
- { 0x3751, 33940 },
- { 0x3721, 33945 },
+ { 0x3733, 33935 },
+ { 0x3756, 33940 },
+ { 0x3726, 33945 },
{ 0x015B, 33950 },
- { 0x3752, 33955 },
+ { 0x3757, 33955 },
{ 0x0204, 33960 },
{ 0x2890, 33965 },
- { 0x371F, 33970 },
+ { 0x3724, 33970 },
{ 0x0148, 33976 },
- { 0x375B, 33981 },
- { 0x375D, 33986 },
- { 0x375F, 33991 },
+ { 0x3760, 33981 },
+ { 0x3762, 33986 },
+ { 0x3764, 33991 },
{ 0x0200, 33996 },
- { 0x371A, 34001 },
- { 0x371C, 34006 },
- { 0x371E, 34011 },
- { 0x3723, 34016 },
- { 0x3725, 34021 },
- { 0x3727, 34026 },
- { 0x3772, 34031 },
+ { 0x371F, 34001 },
+ { 0x3721, 34006 },
+ { 0x3723, 34011 },
+ { 0x3728, 34016 },
+ { 0x372A, 34021 },
+ { 0x372C, 34026 },
+ { 0x3777, 34031 },
{ 0x0170, 34036 },
- { 0x373B, 34040 },
- { 0x373D, 34045 },
- { 0x373F, 34050 },
- { 0x36DF, 34055 },
+ { 0x3740, 34040 },
+ { 0x3742, 34045 },
+ { 0x3744, 34050 },
+ { 0x36E4, 34055 },
{ 0x014D, 34062 },
- { 0x3777, 34067 },
- { 0x374C, 34073 },
- { 0x372C, 34079 },
- { 0x36CB, 34083 },
- { 0x3763, 34087 },
- { 0x36CD, 34092 },
- { 0x36CF, 34096 },
- { 0x3703, 34102 },
+ { 0x377C, 34067 },
+ { 0x3751, 34073 },
+ { 0x3731, 34079 },
+ { 0x36D0, 34083 },
+ { 0x3768, 34087 },
+ { 0x36D2, 34092 },
+ { 0x36D4, 34096 },
+ { 0x3708, 34102 },
{ 0x1B8D, 34107 },
{ 0x1B8B, 34112 },
- { 0x36C5, 34117 },
- { 0x36C3, 34122 },
+ { 0x36CA, 34117 },
+ { 0x36C8, 34122 },
{ 0x00F1, 34127 },
{ 0x0111, 34131 },
{ 0x1D06, 34135 },
@@ -55704,33 +55711,33 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x19F6, 34210 },
{ 0x1D09, 34215 },
{ 0x1D0A, 34220 },
- { 0x3780, 34225 },
- { 0x3781, 34230 },
- { 0x377F, 34235 },
- { 0x377D, 34240 },
- { 0x377E, 34245 },
- { 0x3779, 34250 },
- { 0x8080, 34255 },
- { 0x7AF0, 34257 },
- { 0x7B3F, 34258 },
+ { 0x3785, 34225 },
+ { 0x3786, 34230 },
+ { 0x3784, 34235 },
+ { 0x3782, 34240 },
+ { 0x3783, 34245 },
+ { 0x377E, 34250 },
+ { 0x8085, 34255 },
+ { 0x7AF5, 34257 },
+ { 0x7B44, 34258 },
{ 0x2271, 34260 },
- { 0x7F4C, 34261 },
- { 0x817B, 34265 },
- { 0x7F46, 34268 },
- { 0x7F60, 34272 },
+ { 0x7F51, 34261 },
+ { 0x8180, 34265 },
+ { 0x7F4B, 34268 },
+ { 0x7F65, 34272 },
{ 0x27EC, 34277 },
- { 0x7F5B, 34282 },
+ { 0x7F60, 34282 },
{ 0x2395, 34287 },
- { 0x7E2D, 34293 },
- { 0x7D9D, 34295 },
- { 0x7F52, 34298 },
- { 0x7F39, 34302 },
+ { 0x7E32, 34293 },
+ { 0x7DA2, 34295 },
+ { 0x7F57, 34298 },
+ { 0x7F3E, 34302 },
{ 0x2396, 34305 },
{ 0x21B4, 34311 },
- { 0x7F57, 34313 },
- { 0x7F25, 34318 },
- { 0x7F69, 34321 },
- { 0x7F40, 34326 },
+ { 0x7F5C, 34313 },
+ { 0x7F2A, 34318 },
+ { 0x7F6E, 34321 },
+ { 0x7F45, 34326 },
{ 0x237B, 34328 },
{ 0x165A, 34331 },
{ 0x1659, 34334 },
@@ -55801,304 +55808,304 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x165B, 34550 },
{ 0x1623, 34553 },
{ 0x1D29, 34556 },
- { 0x80AD, 34559 },
- { 0x81B3, 34560 },
+ { 0x80B2, 34559 },
+ { 0x81B8, 34560 },
{ 0x21A4, 34561 },
{ 0x21A5, 34565 },
{ 0x21A8, 34569 },
{ 0x21A7, 34573 },
{ 0x2204, 34576 },
- { 0x8270, 34579 },
+ { 0x8275, 34579 },
{ 0x21FE, 34583 },
- { 0x821E, 34588 },
- { 0x821D, 34598 },
- { 0x8221, 34608 },
- { 0x8230, 34617 },
- { 0x822E, 34627 },
- { 0x8231, 34637 },
- { 0x822F, 34646 },
- { 0x822D, 34656 },
- { 0x8220, 34666 },
- { 0x821F, 34676 },
- { 0x8232, 34686 },
- { 0x7D32, 34697 },
- { 0x7D2E, 34700 },
- { 0x7D30, 34703 },
+ { 0x8223, 34588 },
+ { 0x8222, 34598 },
+ { 0x8226, 34608 },
+ { 0x8235, 34617 },
+ { 0x8233, 34627 },
+ { 0x8236, 34637 },
+ { 0x8234, 34646 },
+ { 0x8232, 34656 },
+ { 0x8225, 34666 },
+ { 0x8224, 34676 },
+ { 0x8237, 34686 },
+ { 0x7D37, 34697 },
+ { 0x7D33, 34700 },
+ { 0x7D35, 34703 },
{ 0x2202, 34707 },
{ 0x221D, 34712 },
- { 0x7D2F, 34715 },
- { 0x7D31, 34719 },
- { 0x827F, 34722 },
+ { 0x7D34, 34715 },
+ { 0x7D36, 34719 },
+ { 0x8284, 34722 },
{ 0x2562, 34727 },
{ 0x2326, 34732 },
- { 0x8229, 34735 },
- { 0x8226, 34745 },
- { 0x822B, 34754 },
- { 0x8228, 34764 },
- { 0x822C, 34774 },
- { 0x822A, 34783 },
- { 0x8225, 34793 },
- { 0x8224, 34803 },
- { 0x8227, 34813 },
- { 0x8223, 34824 },
- { 0x8222, 34834 },
+ { 0x822E, 34735 },
+ { 0x822B, 34745 },
+ { 0x8230, 34754 },
+ { 0x822D, 34764 },
+ { 0x8231, 34774 },
+ { 0x822F, 34783 },
+ { 0x822A, 34793 },
+ { 0x8229, 34803 },
+ { 0x822C, 34813 },
+ { 0x8228, 34824 },
+ { 0x8227, 34834 },
{ 0x23F6, 34844 },
{ 0x2331, 34849 },
{ 0x2201, 34852 },
- { 0x7CE3, 34857 },
+ { 0x7CE8, 34857 },
{ 0x2374, 34862 },
{ 0x2222, 34867 },
- { 0x827E, 34870 },
+ { 0x8283, 34870 },
{ 0x2561, 34875 },
{ 0x2372, 34880 },
{ 0x21AA, 34885 },
{ 0x21A6, 34889 },
{ 0x21A9, 34893 },
- { 0x8250, 34897 },
- { 0x7F11, 34902 },
- { 0x81BC, 34904 },
- { 0x8039, 34905 },
- { 0x8187, 34907 },
+ { 0x8255, 34897 },
+ { 0x7F16, 34902 },
+ { 0x81C1, 34904 },
+ { 0x803E, 34905 },
+ { 0x818C, 34907 },
{ 0x1D2F, 34909 },
- { 0x8081, 34911 },
- { 0x7AE6, 34912 },
- { 0x6E06, 34914 },
- { 0x6E0B, 34917 },
- { 0x6E0F, 34920 },
- { 0x6E07, 34923 },
- { 0x6E0A, 34926 },
- { 0x6E09, 34929 },
- { 0x6E0E, 34932 },
- { 0x6E05, 34935 },
- { 0x6E0D, 34938 },
- { 0x6E0C, 34941 },
- { 0x6E08, 34944 },
- { 0x6E10, 34947 },
- { 0x6E11, 34950 },
- { 0x6E14, 34953 },
- { 0x6E15, 34956 },
- { 0x6E17, 34959 },
- { 0x6E13, 34962 },
- { 0x6E18, 34965 },
- { 0x6E12, 34968 },
- { 0x6E16, 34971 },
- { 0x7AED, 34974 },
- { 0x7743, 34975 },
- { 0x7748, 34979 },
- { 0x7744, 34983 },
- { 0x7747, 34987 },
- { 0x7746, 34991 },
- { 0x774B, 34995 },
- { 0x774A, 34999 },
- { 0x7749, 35003 },
- { 0x7745, 35007 },
- { 0x767E, 35011 },
- { 0x767F, 35016 },
- { 0x7680, 35021 },
- { 0x7686, 35026 },
- { 0x7687, 35031 },
- { 0x7688, 35036 },
- { 0x7692, 35041 },
- { 0x7693, 35046 },
- { 0x7694, 35051 },
- { 0x7699, 35056 },
- { 0x769A, 35061 },
- { 0x769B, 35066 },
- { 0x76A0, 35071 },
- { 0x76A1, 35076 },
- { 0x76A2, 35081 },
- { 0x76BC, 35086 },
- { 0x76BD, 35091 },
- { 0x76BE, 35096 },
- { 0x76AC, 35101 },
- { 0x76AD, 35106 },
- { 0x76AE, 35111 },
- { 0x76C2, 35116 },
- { 0x76C3, 35121 },
- { 0x76C4, 35126 },
- { 0x76B4, 35131 },
- { 0x76B5, 35136 },
- { 0x76B6, 35141 },
- { 0x76C9, 35146 },
- { 0x76CA, 35151 },
- { 0x76CB, 35156 },
- { 0x76D1, 35161 },
- { 0x76D2, 35166 },
- { 0x76D3, 35171 },
- { 0x76D8, 35176 },
- { 0x76D9, 35181 },
- { 0x76DA, 35186 },
- { 0x76E1, 35191 },
- { 0x76E2, 35196 },
- { 0x76E3, 35201 },
- { 0x76E9, 35206 },
- { 0x76E7, 35211 },
- { 0x76EB, 35216 },
- { 0x76F6, 35221 },
- { 0x7720, 35226 },
- { 0x768C, 35231 },
- { 0x76F4, 35236 },
- { 0x7714, 35241 },
- { 0x7684, 35246 },
- { 0x7690, 35251 },
- { 0x770C, 35256 },
- { 0x770E, 35261 },
- { 0x76F2, 35266 },
- { 0x76EF, 35271 },
- { 0x76B9, 35276 },
- { 0x76C6, 35281 },
- { 0x7725, 35286 },
- { 0x7708, 35291 },
- { 0x773F, 35296 },
- { 0x7695, 35301 },
- { 0x7742, 35306 },
- { 0x768F, 35311 },
- { 0x7712, 35316 },
- { 0x76CF, 35321 },
- { 0x7732, 35326 },
- { 0x7681, 35331 },
- { 0x7710, 35336 },
- { 0x7731, 35341 },
- { 0x770A, 35346 },
- { 0x76C8, 35351 },
- { 0x772A, 35356 },
- { 0x7729, 35361 },
- { 0x7716, 35366 },
- { 0x76B8, 35371 },
- { 0x771F, 35376 },
- { 0x76DC, 35381 },
- { 0x7683, 35386 },
- { 0x773D, 35391 },
- { 0x76DB, 35396 },
- { 0x76B2, 35401 },
- { 0x76D5, 35406 },
- { 0x770D, 35411 },
- { 0x76F7, 35416 },
- { 0x76ED, 35421 },
- { 0x76B7, 35426 },
- { 0x773B, 35431 },
- { 0x76FE, 35436 },
- { 0x76F1, 35442 },
- { 0x76DE, 35447 },
- { 0x76BF, 35452 },
- { 0x76F5, 35457 },
- { 0x76C5, 35462 },
- { 0x771E, 35467 },
- { 0x7727, 35472 },
- { 0x7696, 35477 },
- { 0x7682, 35482 },
- { 0x76EA, 35487 },
- { 0x769D, 35492 },
- { 0x7741, 35497 },
- { 0x770B, 35502 },
- { 0x76A4, 35507 },
- { 0x76E0, 35512 },
- { 0x770F, 35517 },
- { 0x769E, 35522 },
- { 0x76C7, 35527 },
- { 0x771B, 35532 },
- { 0x76FF, 35538 },
- { 0x7728, 35544 },
- { 0x7721, 35549 },
- { 0x76D4, 35554 },
- { 0x76BB, 35559 },
- { 0x7702, 35565 },
- { 0x7722, 35570 },
- { 0x76CD, 35575 },
- { 0x768B, 35580 },
- { 0x76F8, 35585 },
- { 0x76B0, 35590 },
- { 0x76E4, 35595 },
- { 0x768A, 35600 },
- { 0x7730, 35605 },
- { 0x76FB, 35610 },
- { 0x76D7, 35615 },
- { 0x7713, 35620 },
- { 0x772C, 35625 },
- { 0x7724, 35630 },
- { 0x772E, 35635 },
- { 0x7689, 35640 },
- { 0x76FD, 35645 },
- { 0x76EE, 35650 },
- { 0x772D, 35655 },
- { 0x76F0, 35660 },
- { 0x76A8, 35665 },
- { 0x771D, 35670 },
- { 0x76DD, 35675 },
- { 0x7736, 35680 },
- { 0x76A9, 35685 },
- { 0x76B1, 35690 },
- { 0x76A7, 35695 },
- { 0x769F, 35700 },
- { 0x7691, 35705 },
- { 0x76EC, 35710 },
- { 0x76D6, 35715 },
- { 0x771C, 35720 },
- { 0x768E, 35726 },
- { 0x773C, 35731 },
- { 0x7711, 35736 },
- { 0x76F9, 35741 },
- { 0x76A6, 35746 },
- { 0x7726, 35751 },
- { 0x7735, 35756 },
- { 0x769C, 35761 },
- { 0x7739, 35766 },
- { 0x7733, 35771 },
- { 0x76BA, 35776 },
- { 0x7697, 35781 },
- { 0x7701, 35786 },
- { 0x76FA, 35791 },
- { 0x76CC, 35796 },
- { 0x7723, 35801 },
- { 0x76FC, 35806 },
- { 0x76CE, 35811 },
- { 0x771A, 35816 },
- { 0x76AF, 35822 },
- { 0x76A3, 35827 },
- { 0x773E, 35832 },
- { 0x76A5, 35837 },
- { 0x7705, 35842 },
- { 0x7706, 35847 },
- { 0x7703, 35852 },
- { 0x76E5, 35857 },
- { 0x7740, 35862 },
- { 0x772B, 35867 },
- { 0x7717, 35872 },
- { 0x773A, 35877 },
- { 0x7718, 35882 },
- { 0x76D0, 35887 },
- { 0x76E6, 35893 },
- { 0x7709, 35898 },
- { 0x76AB, 35903 },
- { 0x7685, 35908 },
- { 0x76C0, 35913 },
- { 0x76C1, 35918 },
- { 0x7737, 35923 },
- { 0x7700, 35928 },
- { 0x7707, 35934 },
- { 0x7738, 35939 },
- { 0x76E8, 35944 },
- { 0x7719, 35949 },
- { 0x7715, 35954 },
- { 0x7698, 35959 },
- { 0x7704, 35964 },
- { 0x772F, 35969 },
- { 0x7734, 35974 },
- { 0x76F3, 35979 },
- { 0x768D, 35984 },
- { 0x76AA, 35989 },
- { 0x76B3, 35994 },
- { 0x76DF, 35999 },
- { 0x7750, 36004 },
- { 0x774D, 36010 },
- { 0x774C, 36015 },
- { 0x7751, 36020 },
- { 0x774E, 36026 },
- { 0x7752, 36031 },
- { 0x774F, 36036 },
- { 0x7E2C, 36041 },
+ { 0x8086, 34911 },
+ { 0x7AEB, 34912 },
+ { 0x6E0B, 34914 },
+ { 0x6E10, 34917 },
+ { 0x6E14, 34920 },
+ { 0x6E0C, 34923 },
+ { 0x6E0F, 34926 },
+ { 0x6E0E, 34929 },
+ { 0x6E13, 34932 },
+ { 0x6E0A, 34935 },
+ { 0x6E12, 34938 },
+ { 0x6E11, 34941 },
+ { 0x6E0D, 34944 },
+ { 0x6E15, 34947 },
+ { 0x6E16, 34950 },
+ { 0x6E19, 34953 },
+ { 0x6E1A, 34956 },
+ { 0x6E1C, 34959 },
+ { 0x6E18, 34962 },
+ { 0x6E1D, 34965 },
+ { 0x6E17, 34968 },
+ { 0x6E1B, 34971 },
+ { 0x7AF2, 34974 },
+ { 0x7748, 34975 },
+ { 0x774D, 34979 },
+ { 0x7749, 34983 },
+ { 0x774C, 34987 },
+ { 0x774B, 34991 },
+ { 0x7750, 34995 },
+ { 0x774F, 34999 },
+ { 0x774E, 35003 },
+ { 0x774A, 35007 },
+ { 0x7683, 35011 },
+ { 0x7684, 35016 },
+ { 0x7685, 35021 },
+ { 0x768B, 35026 },
+ { 0x768C, 35031 },
+ { 0x768D, 35036 },
+ { 0x7697, 35041 },
+ { 0x7698, 35046 },
+ { 0x7699, 35051 },
+ { 0x769E, 35056 },
+ { 0x769F, 35061 },
+ { 0x76A0, 35066 },
+ { 0x76A5, 35071 },
+ { 0x76A6, 35076 },
+ { 0x76A7, 35081 },
+ { 0x76C1, 35086 },
+ { 0x76C2, 35091 },
+ { 0x76C3, 35096 },
+ { 0x76B1, 35101 },
+ { 0x76B2, 35106 },
+ { 0x76B3, 35111 },
+ { 0x76C7, 35116 },
+ { 0x76C8, 35121 },
+ { 0x76C9, 35126 },
+ { 0x76B9, 35131 },
+ { 0x76BA, 35136 },
+ { 0x76BB, 35141 },
+ { 0x76CE, 35146 },
+ { 0x76CF, 35151 },
+ { 0x76D0, 35156 },
+ { 0x76D6, 35161 },
+ { 0x76D7, 35166 },
+ { 0x76D8, 35171 },
+ { 0x76DD, 35176 },
+ { 0x76DE, 35181 },
+ { 0x76DF, 35186 },
+ { 0x76E6, 35191 },
+ { 0x76E7, 35196 },
+ { 0x76E8, 35201 },
+ { 0x76EE, 35206 },
+ { 0x76EC, 35211 },
+ { 0x76F0, 35216 },
+ { 0x76FB, 35221 },
+ { 0x7725, 35226 },
+ { 0x7691, 35231 },
+ { 0x76F9, 35236 },
+ { 0x7719, 35241 },
+ { 0x7689, 35246 },
+ { 0x7695, 35251 },
+ { 0x7711, 35256 },
+ { 0x7713, 35261 },
+ { 0x76F7, 35266 },
+ { 0x76F4, 35271 },
+ { 0x76BE, 35276 },
+ { 0x76CB, 35281 },
+ { 0x772A, 35286 },
+ { 0x770D, 35291 },
+ { 0x7744, 35296 },
+ { 0x769A, 35301 },
+ { 0x7747, 35306 },
+ { 0x7694, 35311 },
+ { 0x7717, 35316 },
+ { 0x76D4, 35321 },
+ { 0x7737, 35326 },
+ { 0x7686, 35331 },
+ { 0x7715, 35336 },
+ { 0x7736, 35341 },
+ { 0x770F, 35346 },
+ { 0x76CD, 35351 },
+ { 0x772F, 35356 },
+ { 0x772E, 35361 },
+ { 0x771B, 35366 },
+ { 0x76BD, 35371 },
+ { 0x7724, 35376 },
+ { 0x76E1, 35381 },
+ { 0x7688, 35386 },
+ { 0x7742, 35391 },
+ { 0x76E0, 35396 },
+ { 0x76B7, 35401 },
+ { 0x76DA, 35406 },
+ { 0x7712, 35411 },
+ { 0x76FC, 35416 },
+ { 0x76F2, 35421 },
+ { 0x76BC, 35426 },
+ { 0x7740, 35431 },
+ { 0x7703, 35436 },
+ { 0x76F6, 35442 },
+ { 0x76E3, 35447 },
+ { 0x76C4, 35452 },
+ { 0x76FA, 35457 },
+ { 0x76CA, 35462 },
+ { 0x7723, 35467 },
+ { 0x772C, 35472 },
+ { 0x769B, 35477 },
+ { 0x7687, 35482 },
+ { 0x76EF, 35487 },
+ { 0x76A2, 35492 },
+ { 0x7746, 35497 },
+ { 0x7710, 35502 },
+ { 0x76A9, 35507 },
+ { 0x76E5, 35512 },
+ { 0x7714, 35517 },
+ { 0x76A3, 35522 },
+ { 0x76CC, 35527 },
+ { 0x7720, 35532 },
+ { 0x7704, 35538 },
+ { 0x772D, 35544 },
+ { 0x7726, 35549 },
+ { 0x76D9, 35554 },
+ { 0x76C0, 35559 },
+ { 0x7707, 35565 },
+ { 0x7727, 35570 },
+ { 0x76D2, 35575 },
+ { 0x7690, 35580 },
+ { 0x76FD, 35585 },
+ { 0x76B5, 35590 },
+ { 0x76E9, 35595 },
+ { 0x768F, 35600 },
+ { 0x7735, 35605 },
+ { 0x7700, 35610 },
+ { 0x76DC, 35615 },
+ { 0x7718, 35620 },
+ { 0x7731, 35625 },
+ { 0x7729, 35630 },
+ { 0x7733, 35635 },
+ { 0x768E, 35640 },
+ { 0x7702, 35645 },
+ { 0x76F3, 35650 },
+ { 0x7732, 35655 },
+ { 0x76F5, 35660 },
+ { 0x76AD, 35665 },
+ { 0x7722, 35670 },
+ { 0x76E2, 35675 },
+ { 0x773B, 35680 },
+ { 0x76AE, 35685 },
+ { 0x76B6, 35690 },
+ { 0x76AC, 35695 },
+ { 0x76A4, 35700 },
+ { 0x7696, 35705 },
+ { 0x76F1, 35710 },
+ { 0x76DB, 35715 },
+ { 0x7721, 35720 },
+ { 0x7693, 35726 },
+ { 0x7741, 35731 },
+ { 0x7716, 35736 },
+ { 0x76FE, 35741 },
+ { 0x76AB, 35746 },
+ { 0x772B, 35751 },
+ { 0x773A, 35756 },
+ { 0x76A1, 35761 },
+ { 0x773E, 35766 },
+ { 0x7738, 35771 },
+ { 0x76BF, 35776 },
+ { 0x769C, 35781 },
+ { 0x7706, 35786 },
+ { 0x76FF, 35791 },
+ { 0x76D1, 35796 },
+ { 0x7728, 35801 },
+ { 0x7701, 35806 },
+ { 0x76D3, 35811 },
+ { 0x771F, 35816 },
+ { 0x76B4, 35822 },
+ { 0x76A8, 35827 },
+ { 0x7743, 35832 },
+ { 0x76AA, 35837 },
+ { 0x770A, 35842 },
+ { 0x770B, 35847 },
+ { 0x7708, 35852 },
+ { 0x76EA, 35857 },
+ { 0x7745, 35862 },
+ { 0x7730, 35867 },
+ { 0x771C, 35872 },
+ { 0x773F, 35877 },
+ { 0x771D, 35882 },
+ { 0x76D5, 35887 },
+ { 0x76EB, 35893 },
+ { 0x770E, 35898 },
+ { 0x76B0, 35903 },
+ { 0x768A, 35908 },
+ { 0x76C5, 35913 },
+ { 0x76C6, 35918 },
+ { 0x773C, 35923 },
+ { 0x7705, 35928 },
+ { 0x770C, 35934 },
+ { 0x773D, 35939 },
+ { 0x76ED, 35944 },
+ { 0x771E, 35949 },
+ { 0x771A, 35954 },
+ { 0x769D, 35959 },
+ { 0x7709, 35964 },
+ { 0x7734, 35969 },
+ { 0x7739, 35974 },
+ { 0x76F8, 35979 },
+ { 0x7692, 35984 },
+ { 0x76AF, 35989 },
+ { 0x76B8, 35994 },
+ { 0x76E4, 35999 },
+ { 0x7755, 36004 },
+ { 0x7752, 36010 },
+ { 0x7751, 36015 },
+ { 0x7756, 36020 },
+ { 0x7753, 36026 },
+ { 0x7757, 36031 },
+ { 0x7754, 36036 },
+ { 0x7E31, 36041 },
{ 0x0074, 36042 },
- { 0x7AB1, 36044 },
+ { 0x7AB6, 36044 },
{ 0x1E63, 36046 },
{ 0x265D, 36048 },
{ 0x264D, 36052 },
@@ -56106,18 +56113,18 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x264F, 36062 },
{ 0x264E, 36067 },
{ 0x1E93, 36072 },
- { 0x7C55, 36074 },
- { 0x7C5D, 36076 },
- { 0x81C1, 36079 },
- { 0x7E86, 36080 },
- { 0x7E93, 36082 },
- { 0x7DA0, 36084 },
- { 0x7BA6, 36086 },
- { 0x7BD2, 36087 },
- { 0x81A0, 36089 },
- { 0x7BE9, 36091 },
- { 0x7B4A, 36092 },
- { 0x7DA4, 36094 },
+ { 0x7C5A, 36074 },
+ { 0x7C62, 36076 },
+ { 0x81C6, 36079 },
+ { 0x7E8B, 36080 },
+ { 0x7E98, 36082 },
+ { 0x7DA5, 36084 },
+ { 0x7BAB, 36086 },
+ { 0x7BD7, 36087 },
+ { 0x81A5, 36089 },
+ { 0x7BEE, 36091 },
+ { 0x7B4F, 36092 },
+ { 0x7DA9, 36094 },
{ 0x2290, 36095 },
{ 0x2292, 36098 },
{ 0x2291, 36101 },
@@ -56139,9 +56146,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F13, 36155 },
{ 0x1E58, 36157 },
{ 0x1D19, 36158 },
- { 0x8113, 36160 },
- { 0x7AA8, 36162 },
- { 0x808B, 36165 },
+ { 0x8118, 36160 },
+ { 0x7AAD, 36162 },
+ { 0x8090, 36165 },
{ 0x1CA9, 36166 },
{ 0x2545, 36167 },
{ 0x1DE8, 36173 },
@@ -56152,10 +56159,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x272B, 36202 },
{ 0x2723, 36206 },
{ 0x1E28, 36210 },
- { 0x7E07, 36214 },
- { 0x7DF7, 36218 },
- { 0x7DFF, 36222 },
- { 0x7FC7, 36227 },
+ { 0x7E0C, 36214 },
+ { 0x7DFC, 36218 },
+ { 0x7E04, 36222 },
+ { 0x7FCC, 36227 },
{ 0x278A, 36231 },
{ 0x2798, 36235 },
{ 0x2544, 36241 },
@@ -56168,419 +56175,419 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x272C, 36280 },
{ 0x2724, 36284 },
{ 0x1E27, 36288 },
- { 0x7E05, 36292 },
- { 0x7DF5, 36296 },
- { 0x7DFD, 36300 },
- { 0x7FC6, 36305 },
+ { 0x7E0A, 36292 },
+ { 0x7DFA, 36296 },
+ { 0x7E02, 36300 },
+ { 0x7FCB, 36305 },
{ 0x2789, 36309 },
{ 0x2797, 36313 },
- { 0x37B7, 36319 },
- { 0x37B5, 36323 },
- { 0x37B0, 36327 },
- { 0x37B3, 36332 },
- { 0x37AF, 36337 },
- { 0x37B2, 36342 },
- { 0x37B1, 36347 },
- { 0x37B4, 36352 },
- { 0x37B8, 36357 },
- { 0x37B6, 36361 },
- { 0x62DF, 36365 },
- { 0x68F4, 36368 },
- { 0x68F5, 36370 },
- { 0x68F6, 36372 },
- { 0x68F7, 36374 },
- { 0x68F8, 36376 },
- { 0x68F9, 36378 },
- { 0x68FA, 36380 },
- { 0x68FB, 36382 },
- { 0x68FC, 36384 },
- { 0x68FD, 36386 },
- { 0x68FE, 36388 },
- { 0x68FF, 36390 },
- { 0x6900, 36392 },
- { 0x6901, 36394 },
- { 0x6902, 36396 },
- { 0x6903, 36398 },
- { 0x6904, 36400 },
- { 0x6905, 36402 },
- { 0x6906, 36404 },
- { 0x6907, 36406 },
- { 0x6908, 36408 },
- { 0x6909, 36410 },
- { 0x690A, 36412 },
- { 0x690B, 36414 },
- { 0x690C, 36416 },
- { 0x690D, 36418 },
- { 0x690E, 36420 },
- { 0x690F, 36422 },
- { 0x6910, 36424 },
- { 0x6911, 36426 },
- { 0x6912, 36428 },
- { 0x6913, 36430 },
- { 0x6914, 36432 },
- { 0x6915, 36434 },
- { 0x6916, 36436 },
- { 0x6917, 36438 },
- { 0x6918, 36440 },
- { 0x6919, 36442 },
- { 0x691A, 36444 },
- { 0x691B, 36446 },
- { 0x691C, 36448 },
- { 0x691D, 36450 },
- { 0x691E, 36452 },
- { 0x691F, 36454 },
- { 0x6920, 36456 },
- { 0x6921, 36458 },
- { 0x6922, 36460 },
- { 0x6923, 36462 },
- { 0x6924, 36464 },
- { 0x6925, 36466 },
- { 0x6926, 36468 },
- { 0x6927, 36470 },
- { 0x6928, 36472 },
- { 0x6929, 36474 },
- { 0x692A, 36476 },
- { 0x692B, 36478 },
- { 0x692C, 36480 },
- { 0x692D, 36482 },
- { 0x692E, 36484 },
- { 0x692F, 36486 },
- { 0x6930, 36488 },
- { 0x6931, 36490 },
- { 0x6932, 36492 },
- { 0x6933, 36494 },
- { 0x6934, 36496 },
- { 0x6935, 36498 },
- { 0x6936, 36500 },
- { 0x6937, 36502 },
- { 0x6938, 36504 },
- { 0x6939, 36506 },
- { 0x693A, 36508 },
- { 0x693B, 36510 },
- { 0x693C, 36512 },
- { 0x693D, 36514 },
- { 0x693E, 36516 },
- { 0x693F, 36518 },
- { 0x6940, 36520 },
- { 0x6941, 36522 },
- { 0x6942, 36524 },
- { 0x6943, 36526 },
- { 0x6944, 36528 },
- { 0x6945, 36530 },
- { 0x6946, 36532 },
- { 0x6947, 36534 },
- { 0x6948, 36536 },
- { 0x6949, 36538 },
- { 0x694A, 36540 },
- { 0x694B, 36542 },
- { 0x694C, 36544 },
- { 0x694D, 36546 },
- { 0x694E, 36548 },
- { 0x694F, 36550 },
- { 0x6950, 36552 },
- { 0x6951, 36554 },
- { 0x6952, 36556 },
- { 0x6953, 36558 },
- { 0x6954, 36560 },
- { 0x6955, 36562 },
- { 0x6956, 36564 },
- { 0x6957, 36566 },
- { 0x6958, 36568 },
- { 0x6959, 36570 },
- { 0x695A, 36572 },
- { 0x695B, 36574 },
- { 0x695C, 36576 },
- { 0x695D, 36578 },
- { 0x695E, 36580 },
- { 0x695F, 36582 },
- { 0x6960, 36584 },
- { 0x6961, 36586 },
- { 0x6962, 36588 },
- { 0x6963, 36590 },
- { 0x6964, 36592 },
- { 0x6965, 36594 },
- { 0x6966, 36596 },
- { 0x6967, 36598 },
- { 0x6968, 36600 },
- { 0x6969, 36602 },
- { 0x696A, 36604 },
- { 0x696B, 36606 },
- { 0x696C, 36608 },
- { 0x696D, 36610 },
- { 0x696E, 36612 },
- { 0x696F, 36614 },
- { 0x6970, 36616 },
- { 0x6971, 36618 },
- { 0x6972, 36620 },
- { 0x6973, 36622 },
- { 0x6974, 36624 },
- { 0x6975, 36626 },
- { 0x6976, 36628 },
- { 0x6977, 36630 },
- { 0x6978, 36632 },
- { 0x6979, 36634 },
- { 0x697A, 36636 },
- { 0x697B, 36638 },
- { 0x697C, 36640 },
- { 0x697D, 36642 },
- { 0x697E, 36644 },
- { 0x697F, 36646 },
- { 0x6980, 36648 },
- { 0x6981, 36650 },
- { 0x6982, 36652 },
- { 0x6983, 36654 },
- { 0x6984, 36656 },
- { 0x6985, 36658 },
- { 0x6986, 36660 },
- { 0x6987, 36662 },
- { 0x6988, 36664 },
- { 0x6989, 36666 },
- { 0x698A, 36668 },
- { 0x698B, 36670 },
- { 0x698C, 36672 },
- { 0x698D, 36674 },
- { 0x698E, 36676 },
- { 0x698F, 36678 },
- { 0x6990, 36680 },
- { 0x6991, 36682 },
- { 0x6992, 36684 },
- { 0x6993, 36686 },
- { 0x6994, 36688 },
- { 0x6995, 36690 },
- { 0x6996, 36692 },
- { 0x6997, 36694 },
- { 0x6998, 36696 },
- { 0x6999, 36698 },
- { 0x699A, 36700 },
- { 0x699B, 36702 },
- { 0x699C, 36704 },
- { 0x699D, 36706 },
- { 0x699E, 36708 },
- { 0x699F, 36710 },
- { 0x69A0, 36712 },
- { 0x69A1, 36714 },
- { 0x69A2, 36716 },
- { 0x69A3, 36718 },
- { 0x69A4, 36720 },
- { 0x69A5, 36722 },
- { 0x69A6, 36724 },
- { 0x69A7, 36726 },
- { 0x69A8, 36728 },
- { 0x69A9, 36730 },
- { 0x69AA, 36732 },
- { 0x69AB, 36734 },
- { 0x69AC, 36736 },
- { 0x69AD, 36738 },
- { 0x69AE, 36740 },
- { 0x69AF, 36742 },
- { 0x69B0, 36744 },
- { 0x69B1, 36746 },
- { 0x69B2, 36748 },
- { 0x69B3, 36750 },
- { 0x69B4, 36752 },
- { 0x69B5, 36754 },
- { 0x69B6, 36756 },
- { 0x69B7, 36758 },
- { 0x69B8, 36760 },
- { 0x69B9, 36762 },
- { 0x69BA, 36764 },
- { 0x69BB, 36766 },
- { 0x69BC, 36768 },
- { 0x69BD, 36770 },
- { 0x69BE, 36772 },
- { 0x69BF, 36774 },
- { 0x69C0, 36776 },
- { 0x69C1, 36778 },
- { 0x69C2, 36780 },
- { 0x69C3, 36782 },
- { 0x69C4, 36784 },
- { 0x69C5, 36786 },
- { 0x69C6, 36788 },
- { 0x69C7, 36790 },
- { 0x69C8, 36792 },
- { 0x69C9, 36794 },
- { 0x69CA, 36796 },
- { 0x69CB, 36798 },
- { 0x69CC, 36800 },
- { 0x69CD, 36802 },
- { 0x69CE, 36804 },
- { 0x69CF, 36806 },
- { 0x69D0, 36808 },
- { 0x69D1, 36810 },
- { 0x69D2, 36812 },
- { 0x69D3, 36814 },
- { 0x69D4, 36816 },
- { 0x69D5, 36818 },
- { 0x69D6, 36820 },
- { 0x69D7, 36822 },
- { 0x69D8, 36824 },
- { 0x69D9, 36826 },
- { 0x69DA, 36828 },
- { 0x69DB, 36830 },
- { 0x69DC, 36832 },
- { 0x69DD, 36834 },
- { 0x69DE, 36836 },
- { 0x69DF, 36838 },
- { 0x69E0, 36840 },
- { 0x69E1, 36842 },
- { 0x69E2, 36844 },
- { 0x69E3, 36846 },
- { 0x69E4, 36848 },
- { 0x69E5, 36850 },
- { 0x69E6, 36852 },
- { 0x69E7, 36854 },
- { 0x69E8, 36856 },
- { 0x69E9, 36858 },
- { 0x69EA, 36860 },
- { 0x69EB, 36862 },
- { 0x69EC, 36864 },
- { 0x69ED, 36866 },
- { 0x69EE, 36868 },
- { 0x69EF, 36870 },
- { 0x69F0, 36872 },
- { 0x69F1, 36874 },
- { 0x69F2, 36876 },
- { 0x69F3, 36878 },
- { 0x69F4, 36880 },
- { 0x69F5, 36882 },
- { 0x69F6, 36884 },
- { 0x69F7, 36886 },
- { 0x69F8, 36888 },
- { 0x69F9, 36890 },
- { 0x69FA, 36892 },
- { 0x69FB, 36894 },
- { 0x69FC, 36896 },
- { 0x69FD, 36898 },
- { 0x69FE, 36900 },
- { 0x69FF, 36902 },
- { 0x6A00, 36904 },
- { 0x6A01, 36906 },
- { 0x6A02, 36908 },
- { 0x6A03, 36910 },
- { 0x6A04, 36912 },
- { 0x6A05, 36914 },
- { 0x6A06, 36916 },
- { 0x6A07, 36918 },
- { 0x6A08, 36920 },
- { 0x6A09, 36922 },
- { 0x6A0A, 36924 },
- { 0x6A0B, 36926 },
- { 0x6A0C, 36928 },
- { 0x6A0D, 36930 },
- { 0x6A0E, 36932 },
- { 0x6A0F, 36934 },
- { 0x6A10, 36936 },
- { 0x6A11, 36938 },
- { 0x6A12, 36940 },
- { 0x6A13, 36942 },
- { 0x6A14, 36944 },
- { 0x6A15, 36946 },
- { 0x6A16, 36948 },
- { 0x6A17, 36950 },
- { 0x6A18, 36952 },
- { 0x6A19, 36954 },
- { 0x6A1A, 36956 },
- { 0x6A1B, 36958 },
- { 0x6A1C, 36960 },
- { 0x6A1D, 36962 },
- { 0x6A1E, 36964 },
- { 0x6A1F, 36966 },
- { 0x6A20, 36968 },
- { 0x6A21, 36970 },
- { 0x6A22, 36972 },
- { 0x6A23, 36974 },
- { 0x6A24, 36976 },
- { 0x6A25, 36978 },
- { 0x6A26, 36980 },
- { 0x6A27, 36982 },
- { 0x6A28, 36984 },
- { 0x6A29, 36986 },
- { 0x6A2A, 36988 },
- { 0x6A2B, 36990 },
- { 0x6A2C, 36992 },
- { 0x6A2D, 36994 },
- { 0x6A2E, 36996 },
- { 0x6A2F, 36998 },
- { 0x6A30, 37000 },
- { 0x6A31, 37002 },
- { 0x6A32, 37004 },
- { 0x6A33, 37006 },
- { 0x6A34, 37008 },
- { 0x6A35, 37010 },
- { 0x6A36, 37012 },
- { 0x6A37, 37014 },
- { 0x6A38, 37016 },
- { 0x6A39, 37018 },
- { 0x6A3A, 37020 },
- { 0x6A3B, 37022 },
- { 0x6A3C, 37024 },
- { 0x6A3D, 37026 },
- { 0x6A3E, 37028 },
- { 0x6A3F, 37030 },
- { 0x6A40, 37032 },
- { 0x6A41, 37034 },
- { 0x6A42, 37036 },
- { 0x6A43, 37038 },
- { 0x6A44, 37040 },
- { 0x6A45, 37042 },
- { 0x6A46, 37044 },
- { 0x6A47, 37046 },
- { 0x6A48, 37048 },
- { 0x6A49, 37050 },
- { 0x6A4A, 37052 },
- { 0x6A4B, 37054 },
- { 0x6A4C, 37056 },
- { 0x6A4D, 37058 },
- { 0x6A4E, 37060 },
- { 0x6A4F, 37062 },
- { 0x6A50, 37064 },
- { 0x6A51, 37066 },
- { 0x6A52, 37068 },
- { 0x6A53, 37070 },
- { 0x6A54, 37072 },
- { 0x6A55, 37074 },
- { 0x6A56, 37076 },
- { 0x6A57, 37078 },
- { 0x6A58, 37080 },
- { 0x6A59, 37082 },
- { 0x6A5A, 37084 },
- { 0x6A5B, 37086 },
- { 0x6A5C, 37088 },
- { 0x6A5D, 37090 },
- { 0x6A5E, 37092 },
- { 0x6A5F, 37094 },
- { 0x6A60, 37096 },
- { 0x6A61, 37098 },
- { 0x6A62, 37100 },
- { 0x6A63, 37102 },
- { 0x6A64, 37104 },
- { 0x6A65, 37106 },
- { 0x6A66, 37108 },
- { 0x6A67, 37110 },
- { 0x6A68, 37112 },
- { 0x6A69, 37114 },
- { 0x6A6A, 37116 },
- { 0x6A6B, 37118 },
- { 0x6A6C, 37120 },
- { 0x6A6D, 37122 },
- { 0x6A6E, 37124 },
- { 0x6A6F, 37126 },
- { 0x6A70, 37128 },
- { 0x6A71, 37130 },
- { 0x6A72, 37132 },
- { 0x6A73, 37134 },
- { 0x6A74, 37136 },
- { 0x6A75, 37138 },
- { 0x6A76, 37140 },
- { 0x6A77, 37142 },
- { 0x6A78, 37144 },
- { 0x6A79, 37146 },
- { 0x6A7A, 37148 },
- { 0x6A7B, 37150 },
- { 0x6A7C, 37152 },
- { 0x6A7D, 37154 },
- { 0x6A7E, 37156 },
- { 0x6A7F, 37158 },
+ { 0x37BC, 36319 },
+ { 0x37BA, 36323 },
+ { 0x37B5, 36327 },
+ { 0x37B8, 36332 },
+ { 0x37B4, 36337 },
+ { 0x37B7, 36342 },
+ { 0x37B6, 36347 },
+ { 0x37B9, 36352 },
+ { 0x37BD, 36357 },
+ { 0x37BB, 36361 },
+ { 0x62E4, 36365 },
+ { 0x68F9, 36368 },
+ { 0x68FA, 36370 },
+ { 0x68FB, 36372 },
+ { 0x68FC, 36374 },
+ { 0x68FD, 36376 },
+ { 0x68FE, 36378 },
+ { 0x68FF, 36380 },
+ { 0x6900, 36382 },
+ { 0x6901, 36384 },
+ { 0x6902, 36386 },
+ { 0x6903, 36388 },
+ { 0x6904, 36390 },
+ { 0x6905, 36392 },
+ { 0x6906, 36394 },
+ { 0x6907, 36396 },
+ { 0x6908, 36398 },
+ { 0x6909, 36400 },
+ { 0x690A, 36402 },
+ { 0x690B, 36404 },
+ { 0x690C, 36406 },
+ { 0x690D, 36408 },
+ { 0x690E, 36410 },
+ { 0x690F, 36412 },
+ { 0x6910, 36414 },
+ { 0x6911, 36416 },
+ { 0x6912, 36418 },
+ { 0x6913, 36420 },
+ { 0x6914, 36422 },
+ { 0x6915, 36424 },
+ { 0x6916, 36426 },
+ { 0x6917, 36428 },
+ { 0x6918, 36430 },
+ { 0x6919, 36432 },
+ { 0x691A, 36434 },
+ { 0x691B, 36436 },
+ { 0x691C, 36438 },
+ { 0x691D, 36440 },
+ { 0x691E, 36442 },
+ { 0x691F, 36444 },
+ { 0x6920, 36446 },
+ { 0x6921, 36448 },
+ { 0x6922, 36450 },
+ { 0x6923, 36452 },
+ { 0x6924, 36454 },
+ { 0x6925, 36456 },
+ { 0x6926, 36458 },
+ { 0x6927, 36460 },
+ { 0x6928, 36462 },
+ { 0x6929, 36464 },
+ { 0x692A, 36466 },
+ { 0x692B, 36468 },
+ { 0x692C, 36470 },
+ { 0x692D, 36472 },
+ { 0x692E, 36474 },
+ { 0x692F, 36476 },
+ { 0x6930, 36478 },
+ { 0x6931, 36480 },
+ { 0x6932, 36482 },
+ { 0x6933, 36484 },
+ { 0x6934, 36486 },
+ { 0x6935, 36488 },
+ { 0x6936, 36490 },
+ { 0x6937, 36492 },
+ { 0x6938, 36494 },
+ { 0x6939, 36496 },
+ { 0x693A, 36498 },
+ { 0x693B, 36500 },
+ { 0x693C, 36502 },
+ { 0x693D, 36504 },
+ { 0x693E, 36506 },
+ { 0x693F, 36508 },
+ { 0x6940, 36510 },
+ { 0x6941, 36512 },
+ { 0x6942, 36514 },
+ { 0x6943, 36516 },
+ { 0x6944, 36518 },
+ { 0x6945, 36520 },
+ { 0x6946, 36522 },
+ { 0x6947, 36524 },
+ { 0x6948, 36526 },
+ { 0x6949, 36528 },
+ { 0x694A, 36530 },
+ { 0x694B, 36532 },
+ { 0x694C, 36534 },
+ { 0x694D, 36536 },
+ { 0x694E, 36538 },
+ { 0x694F, 36540 },
+ { 0x6950, 36542 },
+ { 0x6951, 36544 },
+ { 0x6952, 36546 },
+ { 0x6953, 36548 },
+ { 0x6954, 36550 },
+ { 0x6955, 36552 },
+ { 0x6956, 36554 },
+ { 0x6957, 36556 },
+ { 0x6958, 36558 },
+ { 0x6959, 36560 },
+ { 0x695A, 36562 },
+ { 0x695B, 36564 },
+ { 0x695C, 36566 },
+ { 0x695D, 36568 },
+ { 0x695E, 36570 },
+ { 0x695F, 36572 },
+ { 0x6960, 36574 },
+ { 0x6961, 36576 },
+ { 0x6962, 36578 },
+ { 0x6963, 36580 },
+ { 0x6964, 36582 },
+ { 0x6965, 36584 },
+ { 0x6966, 36586 },
+ { 0x6967, 36588 },
+ { 0x6968, 36590 },
+ { 0x6969, 36592 },
+ { 0x696A, 36594 },
+ { 0x696B, 36596 },
+ { 0x696C, 36598 },
+ { 0x696D, 36600 },
+ { 0x696E, 36602 },
+ { 0x696F, 36604 },
+ { 0x6970, 36606 },
+ { 0x6971, 36608 },
+ { 0x6972, 36610 },
+ { 0x6973, 36612 },
+ { 0x6974, 36614 },
+ { 0x6975, 36616 },
+ { 0x6976, 36618 },
+ { 0x6977, 36620 },
+ { 0x6978, 36622 },
+ { 0x6979, 36624 },
+ { 0x697A, 36626 },
+ { 0x697B, 36628 },
+ { 0x697C, 36630 },
+ { 0x697D, 36632 },
+ { 0x697E, 36634 },
+ { 0x697F, 36636 },
+ { 0x6980, 36638 },
+ { 0x6981, 36640 },
+ { 0x6982, 36642 },
+ { 0x6983, 36644 },
+ { 0x6984, 36646 },
+ { 0x6985, 36648 },
+ { 0x6986, 36650 },
+ { 0x6987, 36652 },
+ { 0x6988, 36654 },
+ { 0x6989, 36656 },
+ { 0x698A, 36658 },
+ { 0x698B, 36660 },
+ { 0x698C, 36662 },
+ { 0x698D, 36664 },
+ { 0x698E, 36666 },
+ { 0x698F, 36668 },
+ { 0x6990, 36670 },
+ { 0x6991, 36672 },
+ { 0x6992, 36674 },
+ { 0x6993, 36676 },
+ { 0x6994, 36678 },
+ { 0x6995, 36680 },
+ { 0x6996, 36682 },
+ { 0x6997, 36684 },
+ { 0x6998, 36686 },
+ { 0x6999, 36688 },
+ { 0x699A, 36690 },
+ { 0x699B, 36692 },
+ { 0x699C, 36694 },
+ { 0x699D, 36696 },
+ { 0x699E, 36698 },
+ { 0x699F, 36700 },
+ { 0x69A0, 36702 },
+ { 0x69A1, 36704 },
+ { 0x69A2, 36706 },
+ { 0x69A3, 36708 },
+ { 0x69A4, 36710 },
+ { 0x69A5, 36712 },
+ { 0x69A6, 36714 },
+ { 0x69A7, 36716 },
+ { 0x69A8, 36718 },
+ { 0x69A9, 36720 },
+ { 0x69AA, 36722 },
+ { 0x69AB, 36724 },
+ { 0x69AC, 36726 },
+ { 0x69AD, 36728 },
+ { 0x69AE, 36730 },
+ { 0x69AF, 36732 },
+ { 0x69B0, 36734 },
+ { 0x69B1, 36736 },
+ { 0x69B2, 36738 },
+ { 0x69B3, 36740 },
+ { 0x69B4, 36742 },
+ { 0x69B5, 36744 },
+ { 0x69B6, 36746 },
+ { 0x69B7, 36748 },
+ { 0x69B8, 36750 },
+ { 0x69B9, 36752 },
+ { 0x69BA, 36754 },
+ { 0x69BB, 36756 },
+ { 0x69BC, 36758 },
+ { 0x69BD, 36760 },
+ { 0x69BE, 36762 },
+ { 0x69BF, 36764 },
+ { 0x69C0, 36766 },
+ { 0x69C1, 36768 },
+ { 0x69C2, 36770 },
+ { 0x69C3, 36772 },
+ { 0x69C4, 36774 },
+ { 0x69C5, 36776 },
+ { 0x69C6, 36778 },
+ { 0x69C7, 36780 },
+ { 0x69C8, 36782 },
+ { 0x69C9, 36784 },
+ { 0x69CA, 36786 },
+ { 0x69CB, 36788 },
+ { 0x69CC, 36790 },
+ { 0x69CD, 36792 },
+ { 0x69CE, 36794 },
+ { 0x69CF, 36796 },
+ { 0x69D0, 36798 },
+ { 0x69D1, 36800 },
+ { 0x69D2, 36802 },
+ { 0x69D3, 36804 },
+ { 0x69D4, 36806 },
+ { 0x69D5, 36808 },
+ { 0x69D6, 36810 },
+ { 0x69D7, 36812 },
+ { 0x69D8, 36814 },
+ { 0x69D9, 36816 },
+ { 0x69DA, 36818 },
+ { 0x69DB, 36820 },
+ { 0x69DC, 36822 },
+ { 0x69DD, 36824 },
+ { 0x69DE, 36826 },
+ { 0x69DF, 36828 },
+ { 0x69E0, 36830 },
+ { 0x69E1, 36832 },
+ { 0x69E2, 36834 },
+ { 0x69E3, 36836 },
+ { 0x69E4, 36838 },
+ { 0x69E5, 36840 },
+ { 0x69E6, 36842 },
+ { 0x69E7, 36844 },
+ { 0x69E8, 36846 },
+ { 0x69E9, 36848 },
+ { 0x69EA, 36850 },
+ { 0x69EB, 36852 },
+ { 0x69EC, 36854 },
+ { 0x69ED, 36856 },
+ { 0x69EE, 36858 },
+ { 0x69EF, 36860 },
+ { 0x69F0, 36862 },
+ { 0x69F1, 36864 },
+ { 0x69F2, 36866 },
+ { 0x69F3, 36868 },
+ { 0x69F4, 36870 },
+ { 0x69F5, 36872 },
+ { 0x69F6, 36874 },
+ { 0x69F7, 36876 },
+ { 0x69F8, 36878 },
+ { 0x69F9, 36880 },
+ { 0x69FA, 36882 },
+ { 0x69FB, 36884 },
+ { 0x69FC, 36886 },
+ { 0x69FD, 36888 },
+ { 0x69FE, 36890 },
+ { 0x69FF, 36892 },
+ { 0x6A00, 36894 },
+ { 0x6A01, 36896 },
+ { 0x6A02, 36898 },
+ { 0x6A03, 36900 },
+ { 0x6A04, 36902 },
+ { 0x6A05, 36904 },
+ { 0x6A06, 36906 },
+ { 0x6A07, 36908 },
+ { 0x6A08, 36910 },
+ { 0x6A09, 36912 },
+ { 0x6A0A, 36914 },
+ { 0x6A0B, 36916 },
+ { 0x6A0C, 36918 },
+ { 0x6A0D, 36920 },
+ { 0x6A0E, 36922 },
+ { 0x6A0F, 36924 },
+ { 0x6A10, 36926 },
+ { 0x6A11, 36928 },
+ { 0x6A12, 36930 },
+ { 0x6A13, 36932 },
+ { 0x6A14, 36934 },
+ { 0x6A15, 36936 },
+ { 0x6A16, 36938 },
+ { 0x6A17, 36940 },
+ { 0x6A18, 36942 },
+ { 0x6A19, 36944 },
+ { 0x6A1A, 36946 },
+ { 0x6A1B, 36948 },
+ { 0x6A1C, 36950 },
+ { 0x6A1D, 36952 },
+ { 0x6A1E, 36954 },
+ { 0x6A1F, 36956 },
+ { 0x6A20, 36958 },
+ { 0x6A21, 36960 },
+ { 0x6A22, 36962 },
+ { 0x6A23, 36964 },
+ { 0x6A24, 36966 },
+ { 0x6A25, 36968 },
+ { 0x6A26, 36970 },
+ { 0x6A27, 36972 },
+ { 0x6A28, 36974 },
+ { 0x6A29, 36976 },
+ { 0x6A2A, 36978 },
+ { 0x6A2B, 36980 },
+ { 0x6A2C, 36982 },
+ { 0x6A2D, 36984 },
+ { 0x6A2E, 36986 },
+ { 0x6A2F, 36988 },
+ { 0x6A30, 36990 },
+ { 0x6A31, 36992 },
+ { 0x6A32, 36994 },
+ { 0x6A33, 36996 },
+ { 0x6A34, 36998 },
+ { 0x6A35, 37000 },
+ { 0x6A36, 37002 },
+ { 0x6A37, 37004 },
+ { 0x6A38, 37006 },
+ { 0x6A39, 37008 },
+ { 0x6A3A, 37010 },
+ { 0x6A3B, 37012 },
+ { 0x6A3C, 37014 },
+ { 0x6A3D, 37016 },
+ { 0x6A3E, 37018 },
+ { 0x6A3F, 37020 },
+ { 0x6A40, 37022 },
+ { 0x6A41, 37024 },
+ { 0x6A42, 37026 },
+ { 0x6A43, 37028 },
+ { 0x6A44, 37030 },
+ { 0x6A45, 37032 },
+ { 0x6A46, 37034 },
+ { 0x6A47, 37036 },
+ { 0x6A48, 37038 },
+ { 0x6A49, 37040 },
+ { 0x6A4A, 37042 },
+ { 0x6A4B, 37044 },
+ { 0x6A4C, 37046 },
+ { 0x6A4D, 37048 },
+ { 0x6A4E, 37050 },
+ { 0x6A4F, 37052 },
+ { 0x6A50, 37054 },
+ { 0x6A51, 37056 },
+ { 0x6A52, 37058 },
+ { 0x6A53, 37060 },
+ { 0x6A54, 37062 },
+ { 0x6A55, 37064 },
+ { 0x6A56, 37066 },
+ { 0x6A57, 37068 },
+ { 0x6A58, 37070 },
+ { 0x6A59, 37072 },
+ { 0x6A5A, 37074 },
+ { 0x6A5B, 37076 },
+ { 0x6A5C, 37078 },
+ { 0x6A5D, 37080 },
+ { 0x6A5E, 37082 },
+ { 0x6A5F, 37084 },
+ { 0x6A60, 37086 },
+ { 0x6A61, 37088 },
+ { 0x6A62, 37090 },
+ { 0x6A63, 37092 },
+ { 0x6A64, 37094 },
+ { 0x6A65, 37096 },
+ { 0x6A66, 37098 },
+ { 0x6A67, 37100 },
+ { 0x6A68, 37102 },
+ { 0x6A69, 37104 },
+ { 0x6A6A, 37106 },
+ { 0x6A6B, 37108 },
+ { 0x6A6C, 37110 },
+ { 0x6A6D, 37112 },
+ { 0x6A6E, 37114 },
+ { 0x6A6F, 37116 },
+ { 0x6A70, 37118 },
+ { 0x6A71, 37120 },
+ { 0x6A72, 37122 },
+ { 0x6A73, 37124 },
+ { 0x6A74, 37126 },
+ { 0x6A75, 37128 },
+ { 0x6A76, 37130 },
+ { 0x6A77, 37132 },
+ { 0x6A78, 37134 },
+ { 0x6A79, 37136 },
+ { 0x6A7A, 37138 },
+ { 0x6A7B, 37140 },
+ { 0x6A7C, 37142 },
+ { 0x6A7D, 37144 },
+ { 0x6A7E, 37146 },
+ { 0x6A7F, 37148 },
+ { 0x6A80, 37150 },
+ { 0x6A81, 37152 },
+ { 0x6A82, 37154 },
+ { 0x6A83, 37156 },
+ { 0x6A84, 37158 },
{ 0x1403, 37160 },
{ 0x1419, 37163 },
{ 0x1415, 37166 },
@@ -56610,12 +56617,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x141C, 37238 },
{ 0x141E, 37241 },
{ 0x141F, 37244 },
- { 0x7C19, 37248 },
- { 0x80E7, 37250 },
- { 0x7C1A, 37252 },
- { 0x81C5, 37254 },
- { 0x80D9, 37255 },
- { 0x7F16, 37256 },
+ { 0x7C1E, 37248 },
+ { 0x80EC, 37250 },
+ { 0x7C1F, 37252 },
+ { 0x81CA, 37254 },
+ { 0x80DE, 37255 },
+ { 0x7F1B, 37256 },
{ 0x0A3F, 37257 },
{ 0x0A40, 37261 },
{ 0x0A30, 37265 },
@@ -56707,96 +56714,96 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0A57, 37546 },
{ 0x0A56, 37550 },
{ 0x0A59, 37554 },
- { 0x4355, 37558 },
- { 0x435C, 37562 },
- { 0x4360, 37566 },
- { 0x4367, 37570 },
- { 0x4373, 37574 },
- { 0x4358, 37578 },
- { 0x4356, 37582 },
- { 0x435E, 37586 },
- { 0x4361, 37590 },
- { 0x4364, 37594 },
- { 0x4365, 37598 },
- { 0x4366, 37602 },
- { 0x4369, 37606 },
- { 0x436B, 37610 },
- { 0x436D, 37614 },
- { 0x4374, 37618 },
- { 0x4377, 37622 },
- { 0x4357, 37626 },
- { 0x4359, 37630 },
- { 0x435A, 37634 },
- { 0x4372, 37638 },
- { 0x435D, 37642 },
- { 0x4376, 37646 },
- { 0x435F, 37650 },
- { 0x4375, 37654 },
- { 0x4363, 37658 },
- { 0x4368, 37662 },
- { 0x436C, 37666 },
- { 0x436F, 37670 },
- { 0x4378, 37674 },
- { 0x4362, 37678 },
- { 0x436A, 37682 },
- { 0x436E, 37686 },
- { 0x4371, 37690 },
- { 0x435B, 37694 },
- { 0x4370, 37698 },
- { 0x4331, 37702 },
- { 0x4338, 37706 },
- { 0x433C, 37710 },
- { 0x4343, 37714 },
- { 0x434F, 37718 },
- { 0x4334, 37722 },
- { 0x4332, 37726 },
- { 0x433A, 37730 },
- { 0x433D, 37734 },
- { 0x4340, 37738 },
- { 0x4341, 37742 },
- { 0x4342, 37746 },
- { 0x4345, 37750 },
- { 0x4347, 37754 },
- { 0x4349, 37758 },
- { 0x4350, 37762 },
- { 0x4353, 37766 },
- { 0x4333, 37770 },
- { 0x4335, 37774 },
- { 0x4336, 37778 },
- { 0x434E, 37782 },
- { 0x4339, 37786 },
- { 0x4352, 37790 },
- { 0x433B, 37794 },
- { 0x4351, 37798 },
- { 0x433F, 37802 },
- { 0x4344, 37806 },
- { 0x4348, 37810 },
- { 0x434B, 37814 },
- { 0x4354, 37818 },
- { 0x433E, 37822 },
- { 0x4346, 37826 },
- { 0x434A, 37830 },
- { 0x434D, 37834 },
- { 0x4337, 37838 },
- { 0x434C, 37842 },
- { 0x80BA, 37846 },
+ { 0x435A, 37558 },
+ { 0x4361, 37562 },
+ { 0x4365, 37566 },
+ { 0x436C, 37570 },
+ { 0x4378, 37574 },
+ { 0x435D, 37578 },
+ { 0x435B, 37582 },
+ { 0x4363, 37586 },
+ { 0x4366, 37590 },
+ { 0x4369, 37594 },
+ { 0x436A, 37598 },
+ { 0x436B, 37602 },
+ { 0x436E, 37606 },
+ { 0x4370, 37610 },
+ { 0x4372, 37614 },
+ { 0x4379, 37618 },
+ { 0x437C, 37622 },
+ { 0x435C, 37626 },
+ { 0x435E, 37630 },
+ { 0x435F, 37634 },
+ { 0x4377, 37638 },
+ { 0x4362, 37642 },
+ { 0x437B, 37646 },
+ { 0x4364, 37650 },
+ { 0x437A, 37654 },
+ { 0x4368, 37658 },
+ { 0x436D, 37662 },
+ { 0x4371, 37666 },
+ { 0x4374, 37670 },
+ { 0x437D, 37674 },
+ { 0x4367, 37678 },
+ { 0x436F, 37682 },
+ { 0x4373, 37686 },
+ { 0x4376, 37690 },
+ { 0x4360, 37694 },
+ { 0x4375, 37698 },
+ { 0x4336, 37702 },
+ { 0x433D, 37706 },
+ { 0x4341, 37710 },
+ { 0x4348, 37714 },
+ { 0x4354, 37718 },
+ { 0x4339, 37722 },
+ { 0x4337, 37726 },
+ { 0x433F, 37730 },
+ { 0x4342, 37734 },
+ { 0x4345, 37738 },
+ { 0x4346, 37742 },
+ { 0x4347, 37746 },
+ { 0x434A, 37750 },
+ { 0x434C, 37754 },
+ { 0x434E, 37758 },
+ { 0x4355, 37762 },
+ { 0x4358, 37766 },
+ { 0x4338, 37770 },
+ { 0x433A, 37774 },
+ { 0x433B, 37778 },
+ { 0x4353, 37782 },
+ { 0x433E, 37786 },
+ { 0x4357, 37790 },
+ { 0x4340, 37794 },
+ { 0x4356, 37798 },
+ { 0x4344, 37802 },
+ { 0x4349, 37806 },
+ { 0x434D, 37810 },
+ { 0x4350, 37814 },
+ { 0x4359, 37818 },
+ { 0x4343, 37822 },
+ { 0x434B, 37826 },
+ { 0x434F, 37830 },
+ { 0x4352, 37834 },
+ { 0x433C, 37838 },
+ { 0x4351, 37842 },
+ { 0x80BF, 37846 },
{ 0x1D7A, 37847 },
- { 0x7C84, 37849 },
- { 0x7D75, 37850 },
- { 0x8046, 37851 },
- { 0x7BE1, 37854 },
- { 0x7B2E, 37856 },
+ { 0x7C89, 37849 },
+ { 0x7D7A, 37850 },
+ { 0x804B, 37851 },
+ { 0x7BE6, 37854 },
+ { 0x7B33, 37856 },
{ 0x2251, 37858 },
- { 0x7AF6, 37860 },
- { 0x80FF, 37861 },
- { 0x7E75, 37863 },
+ { 0x7AFB, 37860 },
+ { 0x8104, 37861 },
+ { 0x7E7A, 37863 },
{ 0x1F69, 37866 },
{ 0x226A, 37870 },
{ 0x27F3, 37871 },
{ 0x27F6, 37874 },
{ 0x27F5, 37877 },
{ 0x27F4, 37880 },
- { 0x7C02, 37883 },
+ { 0x7C07, 37883 },
{ 0x0062, 37884 },
{ 0x204E, 37886 },
{ 0x204F, 37889 },
@@ -56804,61 +56811,61 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x204C, 37895 },
{ 0x1CAC, 37897 },
{ 0x1FEA, 37898 },
- { 0x7C00, 37901 },
- { 0x7CA0, 37902 },
- { 0x7CBD, 37903 },
+ { 0x7C05, 37901 },
+ { 0x7CA5, 37902 },
+ { 0x7CC2, 37903 },
{ 0x1E87, 37905 },
- { 0x818E, 37906 },
- { 0x805A, 37907 },
- { 0x8260, 37908 },
- { 0x825F, 37914 },
+ { 0x8193, 37906 },
+ { 0x805F, 37907 },
+ { 0x8265, 37908 },
+ { 0x8264, 37914 },
{ 0x25B7, 37920 },
{ 0x2A0A, 37924 },
{ 0x21B8, 37928 },
- { 0x8268, 37932 },
+ { 0x826D, 37932 },
{ 0x25A0, 37936 },
- { 0x826A, 37939 },
+ { 0x826F, 37939 },
{ 0x2809, 37943 },
{ 0x21FA, 37947 },
{ 0x21B3, 37951 },
- { 0x829A, 37954 },
- { 0x826E, 37957 },
- { 0x8293, 37961 },
- { 0x7D22, 37965 },
- { 0x829C, 37969 },
+ { 0x829F, 37954 },
+ { 0x8273, 37957 },
+ { 0x8298, 37961 },
+ { 0x7D27, 37965 },
+ { 0x82A1, 37969 },
{ 0x1EF3, 37973 },
- { 0x7D94, 37975 },
+ { 0x7D99, 37975 },
{ 0x1E70, 37978 },
{ 0x1F0F, 37980 },
{ 0x1FCD, 37984 },
{ 0x29EE, 37990 },
- { 0x2BA9, 37995 },
+ { 0x2BAD, 37995 },
{ 0x25B5, 37998 },
{ 0x25BF, 38003 },
{ 0x29ED, 38008 },
{ 0x1E45, 38012 },
{ 0x2417, 38017 },
{ 0x25BB, 38022 },
- { 0x2BB1, 38027 },
+ { 0x2BB5, 38027 },
{ 0x005D, 38031 },
{ 0x1FFE, 38034 },
{ 0x1FFC, 38039 },
{ 0x1FFD, 38044 },
{ 0x1F5C, 38049 },
{ 0x23F9, 38051 },
- { 0x826C, 38054 },
- { 0x82A3, 38058 },
- { 0x8269, 38064 },
- { 0x826B, 38068 },
+ { 0x8271, 38054 },
+ { 0x82A8, 38058 },
+ { 0x826E, 38064 },
+ { 0x8270, 38068 },
{ 0x25A7, 38072 },
- { 0x2BAF, 38076 },
- { 0x2BBB, 38080 },
- { 0x2BB9, 38084 },
- { 0x2BB7, 38089 },
+ { 0x2BB3, 38076 },
+ { 0x2BBF, 38080 },
+ { 0x2BBD, 38084 },
+ { 0x2BBB, 38089 },
{ 0x25A9, 38093 },
- { 0x2BAD, 38096 },
+ { 0x2BB1, 38096 },
{ 0x29F2, 38099 },
- { 0x2BAB, 38103 },
+ { 0x2BAF, 38103 },
{ 0x2593, 38107 },
{ 0x25FE, 38113 },
{ 0x1C97, 38117 },
@@ -56866,7 +56873,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F1B, 38124 },
{ 0x29FA, 38129 },
{ 0x1C93, 38133 },
- { 0x7D8E, 38137 },
+ { 0x7D93, 38137 },
{ 0x003D, 38140 },
{ 0x25B3, 38143 },
{ 0x25B1, 38151 },
@@ -56879,29 +56886,29 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1FF6, 38190 },
{ 0x25FC, 38194 },
{ 0x1F5A, 38197 },
- { 0x7D0D, 38199 },
- { 0x7D0E, 38201 },
- { 0x7D0F, 38207 },
- { 0x7D92, 38213 },
+ { 0x7D12, 38199 },
+ { 0x7D13, 38201 },
+ { 0x7D14, 38207 },
+ { 0x7D97, 38213 },
{ 0x23E9, 38216 },
{ 0x2A14, 38220 },
- { 0x2BB5, 38224 },
+ { 0x2BB9, 38224 },
{ 0x1F10, 38228 },
{ 0x25F1, 38230 },
{ 0x2A0E, 38235 },
{ 0x200A, 38240 },
{ 0x1F1D, 38244 },
- { 0x824F, 38247 },
+ { 0x8254, 38247 },
{ 0x0009, 38252 },
{ 0x1FF1, 38254 },
{ 0x1FEF, 38258 },
{ 0x1FF0, 38262 },
{ 0x29F0, 38265 },
{ 0x29F7, 38268 },
- { 0x802A, 38271 },
- { 0x412F, 38273 },
- { 0x4126, 38276 },
- { 0x4129, 38279 },
+ { 0x802F, 38271 },
+ { 0x4134, 38273 },
+ { 0x412B, 38276 },
+ { 0x412E, 38279 },
{ 0x1DB5, 38283 },
{ 0x1DC2, 38286 },
{ 0x1DDD, 38290 },
@@ -56926,19 +56933,19 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1DBF, 38361 },
{ 0x1DC0, 38364 },
{ 0x1DD8, 38367 },
- { 0x4125, 38372 },
- { 0x4128, 38375 },
- { 0x412A, 38378 },
- { 0x412B, 38381 },
- { 0x4127, 38384 },
- { 0x4130, 38387 },
- { 0x412E, 38390 },
- { 0x412C, 38393 },
- { 0x412D, 38396 },
- { 0x7F22, 38399 },
- { 0x7C72, 38401 },
+ { 0x412A, 38372 },
+ { 0x412D, 38375 },
+ { 0x412F, 38378 },
+ { 0x4130, 38381 },
+ { 0x412C, 38384 },
+ { 0x4135, 38387 },
+ { 0x4133, 38390 },
+ { 0x4131, 38393 },
+ { 0x4132, 38396 },
+ { 0x7F27, 38399 },
+ { 0x7C77, 38401 },
{ 0x1D30, 38403 },
- { 0x7B6E, 38405 },
+ { 0x7B73, 38405 },
{ 0x146D, 38407 },
{ 0x146E, 38410 },
{ 0x144D, 38413 },
@@ -57029,10 +57036,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x146C, 38741 },
{ 0x146F, 38744 },
{ 0x1D1B, 38747 },
- { 0x80F7, 38749 },
+ { 0x80FC, 38749 },
{ 0x2812, 38750 },
- { 0x809C, 38751 },
- { 0x7BB6, 38752 },
+ { 0x80A1, 38751 },
+ { 0x7BBB, 38752 },
{ 0x2703, 38753 },
{ 0x270B, 38756 },
{ 0x270C, 38761 },
@@ -57043,28 +57050,28 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2771, 38787 },
{ 0x2567, 38791 },
{ 0x2772, 38797 },
- { 0x804B, 38801 },
+ { 0x8050, 38801 },
{ 0x231A, 38802 },
- { 0x7C25, 38803 },
+ { 0x7C2A, 38803 },
{ 0x2243, 38804 },
- { 0x80BC, 38807 },
- { 0x7AFA, 38808 },
+ { 0x80C1, 38807 },
+ { 0x7AFF, 38808 },
{ 0x1F84, 38811 },
- { 0x80B9, 38812 },
- { 0x3E44, 38813 },
- { 0x4803, 38816 },
+ { 0x80BE, 38812 },
+ { 0x3E49, 38813 },
+ { 0x4808, 38816 },
{ 0x2684, 38823 },
- { 0x7CDE, 38827 },
- { 0x3E3F, 38830 },
- { 0x3E47, 38833 },
- { 0x3E49, 38837 },
- { 0x3E45, 38842 },
- { 0x3E4E, 38845 },
- { 0x3E41, 38848 },
- { 0x3E3D, 38850 },
- { 0x3E48, 38852 },
- { 0x3E4A, 38856 },
- { 0x3E46, 38861 },
+ { 0x7CE3, 38827 },
+ { 0x3E44, 38830 },
+ { 0x3E4C, 38833 },
+ { 0x3E4E, 38837 },
+ { 0x3E4A, 38842 },
+ { 0x3E53, 38845 },
+ { 0x3E46, 38848 },
+ { 0x3E42, 38850 },
+ { 0x3E4D, 38852 },
+ { 0x3E4F, 38856 },
+ { 0x3E4B, 38861 },
{ 0x1DC5, 38864 },
{ 0x1DD2, 38868 },
{ 0x1DD4, 38873 },
@@ -57082,36 +57089,36 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1DCF, 38923 },
{ 0x1DD0, 38927 },
{ 0x029B, 38931 },
- { 0x3E54, 38933 },
- { 0x3E52, 38936 },
- { 0x3E4B, 38939 },
- { 0x7CDD, 38942 },
+ { 0x3E59, 38933 },
+ { 0x3E57, 38936 },
+ { 0x3E50, 38939 },
+ { 0x7CE2, 38942 },
{ 0x1E5B, 38945 },
{ 0x1F48, 38948 },
{ 0x1F45, 38953 },
- { 0x3E55, 38964 },
- { 0x3E53, 38967 },
- { 0x7E8A, 38970 },
- { 0x3E4D, 38972 },
+ { 0x3E5A, 38964 },
+ { 0x3E58, 38967 },
+ { 0x7E8F, 38970 },
+ { 0x3E52, 38972 },
{ 0x1E5E, 38974 },
{ 0x1F4F, 38978 },
{ 0x1F4D, 38982 },
- { 0x3E42, 38992 },
- { 0x3E4C, 38995 },
- { 0x3E50, 38997 },
- { 0x3E40, 39000 },
- { 0x3E56, 39002 },
- { 0x3E43, 39005 },
- { 0x3E3E, 39008 },
- { 0x3E51, 39011 },
- { 0x3E4F, 39014 },
+ { 0x3E47, 38992 },
+ { 0x3E51, 38995 },
+ { 0x3E55, 38997 },
+ { 0x3E45, 39000 },
+ { 0x3E5B, 39002 },
+ { 0x3E48, 39005 },
+ { 0x3E43, 39008 },
+ { 0x3E56, 39011 },
+ { 0x3E54, 39014 },
{ 0x2656, 39016 },
{ 0x1F74, 39018 },
- { 0x7BB1, 39019 },
- { 0x7BB2, 39020 },
- { 0x80FA, 39021 },
- { 0x7E0F, 39022 },
- { 0x7E10, 39026 },
+ { 0x7BB6, 39019 },
+ { 0x7BB7, 39020 },
+ { 0x80FF, 39021 },
+ { 0x7E14, 39022 },
+ { 0x7E15, 39026 },
{ 0x1D6C, 39033 },
{ 0x1DE9, 39036 },
{ 0x1E43, 39039 },
@@ -57121,10 +57128,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x272D, 39063 },
{ 0x2725, 39067 },
{ 0x1E29, 39071 },
- { 0x7E08, 39075 },
- { 0x7DF8, 39079 },
- { 0x7E00, 39083 },
- { 0x7FC8, 39088 },
+ { 0x7E0D, 39075 },
+ { 0x7DFD, 39079 },
+ { 0x7E05, 39083 },
+ { 0x7FCD, 39088 },
{ 0x278B, 39092 },
{ 0x2799, 39096 },
{ 0x1DEA, 39102 },
@@ -57133,132 +57140,132 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x272E, 39117 },
{ 0x2726, 39121 },
{ 0x1E2A, 39125 },
- { 0x7E06, 39129 },
- { 0x7DF6, 39133 },
- { 0x7DFE, 39137 },
- { 0x7FC9, 39142 },
+ { 0x7E0B, 39129 },
+ { 0x7DFB, 39133 },
+ { 0x7E03, 39137 },
+ { 0x7FCE, 39142 },
{ 0x278C, 39146 },
{ 0x279A, 39150 },
{ 0x0000, 39156 },
- { 0x8109, 39157 },
- { 0x8058, 39160 },
+ { 0x810E, 39157 },
+ { 0x805D, 39160 },
{ 0x23CA, 39161 },
- { 0x80A5, 39165 },
+ { 0x80AA, 39165 },
{ 0x22BD, 39166 },
{ 0x22B8, 39169 },
- { 0x7E27, 39172 },
- { 0x82A5, 39174 },
- { 0x82A6, 39176 },
- { 0x82A9, 39181 },
- { 0x82A7, 39185 },
- { 0x82A8, 39189 },
- { 0x7D85, 39193 },
- { 0x7E78, 39195 },
- { 0x7B08, 39196 },
- { 0x7E1A, 39197 },
+ { 0x7E2C, 39172 },
+ { 0x82AA, 39174 },
+ { 0x82AB, 39176 },
+ { 0x82AE, 39181 },
+ { 0x82AC, 39185 },
+ { 0x82AD, 39189 },
+ { 0x7D8A, 39193 },
+ { 0x7E7D, 39195 },
+ { 0x7B0D, 39196 },
+ { 0x7E1F, 39197 },
{ 0x1CCD, 39200 },
- { 0x80AA, 39202 },
- { 0x7B78, 39203 },
- { 0x4E95, 39208 },
- { 0x4E94, 39211 },
- { 0x4E8A, 39214 },
- { 0x4E89, 39217 },
- { 0x4E99, 39220 },
- { 0x4E9E, 39223 },
- { 0x4E9A, 39226 },
- { 0x4E9D, 39229 },
- { 0x4E9C, 39232 },
- { 0x4EA1, 39235 },
- { 0x4E98, 39238 },
- { 0x4EA0, 39241 },
- { 0x4E9F, 39244 },
- { 0x4E9B, 39247 },
- { 0x4E90, 39250 },
- { 0x4E8C, 39254 },
- { 0x4E92, 39258 },
- { 0x4E8E, 39262 },
- { 0x4E8B, 39266 },
- { 0x4E91, 39270 },
- { 0x4E93, 39274 },
- { 0x4E8D, 39278 },
- { 0x4E8F, 39282 },
- { 0x4E5E, 39286 },
- { 0x4E64, 39289 },
- { 0x4E60, 39292 },
- { 0x4E66, 39295 },
- { 0x4E62, 39298 },
- { 0x4E5F, 39301 },
- { 0x4E65, 39304 },
- { 0x4E67, 39307 },
- { 0x4E7E, 39310 },
- { 0x4E6D, 39313 },
- { 0x4E79, 39316 },
- { 0x4E6A, 39319 },
- { 0x4E87, 39322 },
- { 0x4E61, 39325 },
- { 0x4E6F, 39328 },
- { 0x4E68, 39331 },
- { 0x4E83, 39334 },
- { 0x4E80, 39337 },
- { 0x4E7B, 39340 },
- { 0x4E7C, 39343 },
- { 0x4E82, 39346 },
- { 0x4E86, 39349 },
- { 0x4E77, 39352 },
- { 0x4E63, 39355 },
- { 0x4E84, 39358 },
- { 0x4E81, 39361 },
- { 0x4E7F, 39364 },
- { 0x4E6E, 39367 },
- { 0x4E74, 39370 },
- { 0x4E7A, 39373 },
- { 0x4E6B, 39376 },
- { 0x4E70, 39379 },
- { 0x4E69, 39382 },
- { 0x4E6C, 39385 },
- { 0x4E76, 39388 },
- { 0x4E71, 39391 },
- { 0x4E7D, 39394 },
- { 0x4E88, 39397 },
- { 0x4E85, 39400 },
- { 0x4E78, 39403 },
- { 0x4E72, 39406 },
- { 0x4E75, 39409 },
- { 0x4E73, 39412 },
- { 0x4E96, 39415 },
- { 0x4E97, 39419 },
- { 0x6E87, 39422 },
- { 0x6E88, 39425 },
+ { 0x80AF, 39202 },
+ { 0x7B7D, 39203 },
+ { 0x4E9A, 39208 },
+ { 0x4E99, 39211 },
+ { 0x4E8F, 39214 },
+ { 0x4E8E, 39217 },
+ { 0x4E9E, 39220 },
+ { 0x4EA3, 39223 },
+ { 0x4E9F, 39226 },
+ { 0x4EA2, 39229 },
+ { 0x4EA1, 39232 },
+ { 0x4EA6, 39235 },
+ { 0x4E9D, 39238 },
+ { 0x4EA5, 39241 },
+ { 0x4EA4, 39244 },
+ { 0x4EA0, 39247 },
+ { 0x4E95, 39250 },
+ { 0x4E91, 39254 },
+ { 0x4E97, 39258 },
+ { 0x4E93, 39262 },
+ { 0x4E90, 39266 },
+ { 0x4E96, 39270 },
+ { 0x4E98, 39274 },
+ { 0x4E92, 39278 },
+ { 0x4E94, 39282 },
+ { 0x4E63, 39286 },
+ { 0x4E69, 39289 },
+ { 0x4E65, 39292 },
+ { 0x4E6B, 39295 },
+ { 0x4E67, 39298 },
+ { 0x4E64, 39301 },
+ { 0x4E6A, 39304 },
+ { 0x4E6C, 39307 },
+ { 0x4E83, 39310 },
+ { 0x4E72, 39313 },
+ { 0x4E7E, 39316 },
+ { 0x4E6F, 39319 },
+ { 0x4E8C, 39322 },
+ { 0x4E66, 39325 },
+ { 0x4E74, 39328 },
+ { 0x4E6D, 39331 },
+ { 0x4E88, 39334 },
+ { 0x4E85, 39337 },
+ { 0x4E80, 39340 },
+ { 0x4E81, 39343 },
+ { 0x4E87, 39346 },
+ { 0x4E8B, 39349 },
+ { 0x4E7C, 39352 },
+ { 0x4E68, 39355 },
+ { 0x4E89, 39358 },
+ { 0x4E86, 39361 },
+ { 0x4E84, 39364 },
+ { 0x4E73, 39367 },
+ { 0x4E79, 39370 },
+ { 0x4E7F, 39373 },
+ { 0x4E70, 39376 },
+ { 0x4E75, 39379 },
+ { 0x4E6E, 39382 },
+ { 0x4E71, 39385 },
+ { 0x4E7B, 39388 },
+ { 0x4E76, 39391 },
+ { 0x4E82, 39394 },
+ { 0x4E8D, 39397 },
+ { 0x4E8A, 39400 },
+ { 0x4E7D, 39403 },
+ { 0x4E77, 39406 },
+ { 0x4E7A, 39409 },
+ { 0x4E78, 39412 },
+ { 0x4E9B, 39415 },
+ { 0x4E9C, 39419 },
+ { 0x6E8C, 39422 },
+ { 0x6E8D, 39425 },
{ 0x0A9F, 39428 },
{ 0x0A8C, 39432 },
- { 0x52B7, 39436 },
+ { 0x52BC, 39436 },
{ 0x0A8B, 39440 },
- { 0x52B4, 39442 },
+ { 0x52B9, 39442 },
{ 0x0A9A, 39446 },
- { 0x52AE, 39449 },
- { 0x52AD, 39453 },
- { 0x52AF, 39457 },
- { 0x52B0, 39460 },
- { 0x529E, 39464 },
- { 0x52A8, 39467 },
- { 0x52AC, 39470 },
- { 0x52A6, 39473 },
- { 0x52AB, 39476 },
- { 0x52A7, 39479 },
- { 0x529F, 39482 },
- { 0x52A3, 39485 },
- { 0x52AA, 39488 },
+ { 0x52B3, 39449 },
+ { 0x52B2, 39453 },
+ { 0x52B4, 39457 },
+ { 0x52B5, 39460 },
+ { 0x52A3, 39464 },
+ { 0x52AD, 39467 },
+ { 0x52B1, 39470 },
+ { 0x52AB, 39473 },
+ { 0x52B0, 39476 },
+ { 0x52AC, 39479 },
+ { 0x52A4, 39482 },
+ { 0x52A8, 39485 },
+ { 0x52AF, 39488 },
{ 0x0A8A, 39491 },
- { 0x52A1, 39494 },
+ { 0x52A6, 39494 },
{ 0x0A5B, 39497 },
{ 0x0A5A, 39500 },
- { 0x52A4, 39503 },
- { 0x52A9, 39506 },
- { 0x52A0, 39509 },
- { 0x52A5, 39512 },
- { 0x52B9, 39515 },
- { 0x52BA, 39518 },
- { 0x52A2, 39521 },
+ { 0x52A9, 39503 },
+ { 0x52AE, 39506 },
+ { 0x52A5, 39509 },
+ { 0x52AA, 39512 },
+ { 0x52BE, 39515 },
+ { 0x52BF, 39518 },
+ { 0x52A7, 39521 },
{ 0x0A9C, 39524 },
{ 0x0A9D, 39527 },
{ 0x0A8E, 39530 },
@@ -57273,8 +57280,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0A90, 39557 },
{ 0x0A9B, 39560 },
{ 0x0AA0, 39563 },
- { 0x52B5, 39566 },
- { 0x52B6, 39569 },
+ { 0x52BA, 39566 },
+ { 0x52BB, 39569 },
{ 0x0A84, 39572 },
{ 0x0A80, 39576 },
{ 0x0A87, 39580 },
@@ -57326,55 +57333,55 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0A99, 39728 },
{ 0x0A97, 39732 },
{ 0x0AA1, 39735 },
- { 0x52B3, 39738 },
- { 0x5298, 39741 },
- { 0x5294, 39745 },
- { 0x5295, 39749 },
- { 0x529A, 39753 },
- { 0x529B, 39757 },
- { 0x5299, 39761 },
- { 0x528D, 39765 },
- { 0x528B, 39769 },
- { 0x5291, 39773 },
- { 0x5292, 39777 },
- { 0x5293, 39781 },
- { 0x528C, 39785 },
- { 0x528E, 39789 },
- { 0x528A, 39793 },
- { 0x5289, 39797 },
- { 0x529C, 39801 },
- { 0x528F, 39805 },
- { 0x5297, 39809 },
- { 0x5296, 39813 },
- { 0x5290, 39817 },
- { 0x529D, 39821 },
- { 0x52B8, 39826 },
- { 0x52BB, 39830 },
- { 0x52B1, 39835 },
- { 0x52B2, 39839 },
- { 0x810C, 39843 },
+ { 0x52B8, 39738 },
+ { 0x529D, 39741 },
+ { 0x5299, 39745 },
+ { 0x529A, 39749 },
+ { 0x529F, 39753 },
+ { 0x52A0, 39757 },
+ { 0x529E, 39761 },
+ { 0x5292, 39765 },
+ { 0x5290, 39769 },
+ { 0x5296, 39773 },
+ { 0x5297, 39777 },
+ { 0x5298, 39781 },
+ { 0x5291, 39785 },
+ { 0x5293, 39789 },
+ { 0x528F, 39793 },
+ { 0x528E, 39797 },
+ { 0x52A1, 39801 },
+ { 0x5294, 39805 },
+ { 0x529C, 39809 },
+ { 0x529B, 39813 },
+ { 0x5295, 39817 },
+ { 0x52A2, 39821 },
+ { 0x52BD, 39826 },
+ { 0x52C0, 39830 },
+ { 0x52B6, 39835 },
+ { 0x52B7, 39839 },
+ { 0x8111, 39843 },
{ 0x1D2B, 39845 },
{ 0x1E55, 39847 },
{ 0x1E54, 39851 },
- { 0x805D, 39853 },
- { 0x817A, 39856 },
+ { 0x8062, 39853 },
+ { 0x817F, 39856 },
{ 0x1CD0, 39858 },
- { 0x7D8B, 39861 },
- { 0x7D89, 39864 },
- { 0x7D8A, 39867 },
- { 0x7D8C, 39870 },
+ { 0x7D90, 39861 },
+ { 0x7D8E, 39864 },
+ { 0x7D8F, 39867 },
+ { 0x7D91, 39870 },
{ 0x22C2, 39873 },
{ 0x22C1, 39877 },
- { 0x7D56, 39881 },
- { 0x7D90, 39884 },
- { 0x7F59, 39887 },
+ { 0x7D5B, 39881 },
+ { 0x7D95, 39884 },
+ { 0x7F5E, 39887 },
{ 0x2754, 39891 },
- { 0x7D4C, 39894 },
+ { 0x7D51, 39894 },
{ 0x1E47, 39897 },
{ 0x2699, 39900 },
{ 0x23E3, 39904 },
- { 0x7BAA, 39907 },
- { 0x7BD4, 39908 },
+ { 0x7BAF, 39907 },
+ { 0x7BD9, 39908 },
{ 0x2368, 39910 },
{ 0x005E, 39913 },
{ 0x2A0B, 39914 },
@@ -57388,14 +57395,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2043, 39948 },
{ 0x25F7, 39950 },
{ 0x25F8, 39955 },
- { 0x7DD0, 39960 },
- { 0x7DA1, 39962 },
- { 0x80CB, 39964 },
+ { 0x7DD5, 39960 },
+ { 0x7DA6, 39962 },
+ { 0x80D0, 39964 },
{ 0x1F81, 39965 },
{ 0x1D77, 39967 },
- { 0x7E2B, 39970 },
- { 0x80E0, 39971 },
- { 0x7ADC, 39972 },
+ { 0x7E30, 39970 },
+ { 0x80E5, 39971 },
+ { 0x7AE1, 39972 },
{ 0x1E7B, 39973 },
{ 0x2664, 39974 },
{ 0x2668, 39978 },
@@ -57403,61 +57410,61 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x266B, 39985 },
{ 0x2669, 39990 },
{ 0x266D, 39993 },
- { 0x824B, 39999 },
- { 0x8261, 40008 },
- { 0x827A, 40014 },
- { 0x8249, 40020 },
+ { 0x8250, 39999 },
+ { 0x8266, 40008 },
+ { 0x827F, 40014 },
+ { 0x824E, 40020 },
{ 0x21B7, 40029 },
- { 0x8263, 40033 },
- { 0x8265, 40037 },
+ { 0x8268, 40033 },
+ { 0x826A, 40037 },
{ 0x21A3, 40041 },
- { 0x8272, 40044 },
+ { 0x8277, 40044 },
{ 0x2203, 40053 },
- { 0x826F, 40056 },
+ { 0x8274, 40056 },
{ 0x21FD, 40060 },
- { 0x8273, 40065 },
+ { 0x8278, 40065 },
{ 0x2001, 40074 },
- { 0x8278, 40082 },
- { 0x823F, 40088 },
- { 0x823C, 40098 },
- { 0x8241, 40107 },
- { 0x823E, 40117 },
- { 0x8242, 40127 },
- { 0x8240, 40136 },
- { 0x823B, 40146 },
- { 0x823A, 40156 },
- { 0x823D, 40166 },
- { 0x8239, 40177 },
- { 0x8238, 40187 },
+ { 0x827D, 40082 },
+ { 0x8244, 40088 },
+ { 0x8241, 40098 },
+ { 0x8246, 40107 },
+ { 0x8243, 40117 },
+ { 0x8247, 40127 },
+ { 0x8245, 40136 },
+ { 0x8240, 40146 },
+ { 0x823F, 40156 },
+ { 0x8242, 40166 },
+ { 0x823E, 40177 },
+ { 0x823D, 40187 },
{ 0x23F7, 40197 },
{ 0x21FF, 40202 },
{ 0x221B, 40207 },
- { 0x827C, 40210 },
+ { 0x8281, 40210 },
{ 0x2324, 40215 },
{ 0x2002, 40218 },
- { 0x8279, 40226 },
- { 0x8234, 40232 },
- { 0x8233, 40242 },
- { 0x8237, 40252 },
- { 0x8246, 40261 },
- { 0x8244, 40271 },
- { 0x8247, 40281 },
- { 0x8245, 40290 },
- { 0x8243, 40300 },
- { 0x8236, 40310 },
- { 0x8235, 40320 },
- { 0x8248, 40330 },
+ { 0x827E, 40226 },
+ { 0x8239, 40232 },
+ { 0x8238, 40242 },
+ { 0x823C, 40252 },
+ { 0x824B, 40261 },
+ { 0x8249, 40271 },
+ { 0x824C, 40281 },
+ { 0x824A, 40290 },
+ { 0x8248, 40300 },
+ { 0x823B, 40310 },
+ { 0x823A, 40320 },
+ { 0x824D, 40330 },
{ 0x2333, 40341 },
{ 0x2200, 40344 },
- { 0x7CE4, 40349 },
+ { 0x7CE9, 40349 },
{ 0x2375, 40354 },
{ 0x221C, 40359 },
- { 0x827D, 40362 },
+ { 0x8282, 40362 },
{ 0x2373, 40367 },
- { 0x8267, 40372 },
- { 0x8264, 40376 },
- { 0x8266, 40380 },
- { 0x824E, 40384 },
+ { 0x826C, 40372 },
+ { 0x8269, 40376 },
+ { 0x826B, 40380 },
+ { 0x8253, 40384 },
{ 0x1985, 40389 },
{ 0x1990, 40393 },
{ 0x1986, 40398 },
@@ -57502,85 +57509,85 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x196C, 40569 },
{ 0x1977, 40574 },
{ 0x22D9, 40579 },
- { 0x7B53, 40580 },
- { 0x7C9E, 40582 },
+ { 0x7B58, 40580 },
+ { 0x7CA3, 40582 },
{ 0x2270, 40584 },
{ 0x1F6B, 40585 },
- { 0x8051, 40586 },
- { 0x7AAF, 40588 },
- { 0x7E63, 40590 },
- { 0x7BA8, 40592 },
- { 0x7DE5, 40594 },
- { 0x7DCE, 40597 },
- { 0x7BB0, 40599 },
- { 0x7E7F, 40600 },
+ { 0x8056, 40586 },
+ { 0x7AB4, 40588 },
+ { 0x7E68, 40590 },
+ { 0x7BAD, 40592 },
+ { 0x7DEA, 40594 },
+ { 0x7DD3, 40597 },
+ { 0x7BB5, 40599 },
+ { 0x7E84, 40600 },
{ 0x225B, 40601 },
{ 0x2240, 40604 },
- { 0x7BEB, 40608 },
+ { 0x7BF0, 40608 },
{ 0x2334, 40613 },
- { 0x7AC8, 40615 },
+ { 0x7ACD, 40615 },
{ 0x225F, 40617 },
- { 0x7AC9, 40621 },
- { 0x7ACA, 40626 },
- { 0x7ACB, 40630 },
+ { 0x7ACE, 40621 },
+ { 0x7ACF, 40626 },
+ { 0x7AD0, 40630 },
{ 0x228A, 40636 },
- { 0x7D3C, 40639 },
+ { 0x7D41, 40639 },
{ 0x2242, 40645 },
- { 0x7BEC, 40649 },
+ { 0x7BF1, 40649 },
{ 0x22B3, 40654 },
{ 0x2322, 40656 },
{ 0x27EE, 40663 },
{ 0x234A, 40667 },
- { 0x7D50, 40671 },
+ { 0x7D55, 40671 },
{ 0x22FC, 40676 },
{ 0x223F, 40680 },
- { 0x7BED, 40684 },
+ { 0x7BF2, 40684 },
{ 0x27FD, 40689 },
{ 0x2229, 40692 },
{ 0x2741, 40694 },
- { 0x8010, 40698 },
- { 0x8011, 40703 },
+ { 0x8015, 40698 },
+ { 0x8016, 40703 },
{ 0x2277, 40709 },
- { 0x8147, 40712 },
- { 0x811D, 40720 },
+ { 0x814C, 40712 },
+ { 0x8122, 40720 },
{ 0x227C, 40726 },
- { 0x814C, 40729 },
- { 0x8122, 40737 },
+ { 0x8151, 40729 },
+ { 0x8127, 40737 },
{ 0x2279, 40743 },
- { 0x8149, 40746 },
- { 0x811F, 40754 },
+ { 0x814E, 40746 },
+ { 0x8124, 40754 },
{ 0x2278, 40760 },
- { 0x8148, 40763 },
- { 0x811E, 40771 },
+ { 0x814D, 40763 },
+ { 0x8123, 40771 },
{ 0x227A, 40777 },
- { 0x814A, 40780 },
- { 0x8120, 40788 },
+ { 0x814F, 40780 },
+ { 0x8125, 40788 },
{ 0x227B, 40794 },
- { 0x812F, 40797 },
- { 0x814B, 40805 },
- { 0x8144, 40813 },
- { 0x8159, 40821 },
- { 0x8121, 40829 },
- { 0x811A, 40835 },
- { 0x8132, 40841 },
- { 0x8137, 40845 },
- { 0x8134, 40849 },
- { 0x8133, 40853 },
- { 0x8135, 40857 },
- { 0x8136, 40861 },
- { 0x815C, 40865 },
- { 0x815F, 40868 },
- { 0x8163, 40874 },
- { 0x8162, 40877 },
- { 0x8164, 40880 },
- { 0x8021, 40883 },
+ { 0x8134, 40797 },
+ { 0x8150, 40805 },
+ { 0x8149, 40813 },
+ { 0x815E, 40821 },
+ { 0x8126, 40829 },
+ { 0x811F, 40835 },
+ { 0x8137, 40841 },
+ { 0x813C, 40845 },
+ { 0x8139, 40849 },
+ { 0x8138, 40853 },
+ { 0x813A, 40857 },
+ { 0x813B, 40861 },
+ { 0x8161, 40865 },
+ { 0x8164, 40868 },
+ { 0x8168, 40874 },
+ { 0x8167, 40877 },
+ { 0x8169, 40880 },
+ { 0x8026, 40883 },
{ 0x2284, 40885 },
{ 0x2328, 40888 },
- { 0x82A0, 40892 },
+ { 0x82A5, 40892 },
{ 0x273F, 40898 },
- { 0x7CEB, 40901 },
+ { 0x7CF0, 40901 },
{ 0x2241, 40904 },
- { 0x7BEE, 40908 },
+ { 0x7BF3, 40908 },
{ 0x2239, 40913 },
{ 0x2775, 40916 },
{ 0x21CE, 40919 },
@@ -57595,14 +57602,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2219, 40953 },
{ 0x2217, 40959 },
{ 0x221A, 40965 },
- { 0x7F21, 40971 },
- { 0x7C53, 40977 },
+ { 0x7F26, 40971 },
+ { 0x7C58, 40977 },
{ 0x2773, 40979 },
{ 0x2220, 40982 },
{ 0x221E, 40986 },
{ 0x2749, 40989 },
{ 0x274B, 40992 },
- { 0x3E33, 40995 },
+ { 0x3E38, 40995 },
{ 0x21C4, 40998 },
{ 0x2214, 41000 },
{ 0x2215, 41006 },
@@ -57613,20 +57620,20 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x220E, 41035 },
{ 0x2407, 41041 },
{ 0x2408, 41046 },
- { 0x7CD8, 41051 },
- { 0x7F2B, 41054 },
+ { 0x7CDD, 41051 },
+ { 0x7F30, 41054 },
{ 0x21C6, 41061 },
- { 0x7F2C, 41067 },
+ { 0x7F31, 41067 },
{ 0x21EA, 41073 },
{ 0x22EE, 41075 },
{ 0x2285, 41079 },
{ 0x23F3, 41082 },
- { 0x7F31, 41087 },
+ { 0x7F36, 41087 },
{ 0x21EB, 41094 },
- { 0x7F32, 41100 },
+ { 0x7F37, 41100 },
{ 0x2744, 41106 },
- { 0x7F37, 41108 },
- { 0x7B96, 41114 },
+ { 0x7F3C, 41108 },
+ { 0x7B9B, 41114 },
{ 0x225D, 41116 },
{ 0x22FA, 41119 },
{ 0x22E3, 41124 },
@@ -57643,12 +57650,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x25F9, 41158 },
{ 0x21D0, 41160 },
{ 0x2232, 41162 },
- { 0x7D23, 41164 },
+ { 0x7D28, 41164 },
{ 0x2033, 41167 },
{ 0x2750, 41169 },
{ 0x2378, 41172 },
{ 0x21D8, 41176 },
- { 0x82AA, 41180 },
+ { 0x82AF, 41180 },
{ 0x21D6, 41183 },
{ 0x220F, 41186 },
{ 0x2404, 41191 },
@@ -57664,72 +57671,72 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x21DE, 41229 },
{ 0x2777, 41232 },
{ 0x21DA, 41235 },
- { 0x7D53, 41238 },
- { 0x7C0E, 41240 },
- { 0x7C14, 41241 },
- { 0x7D9F, 41245 },
- { 0x8181, 41247 },
- { 0x8183, 41248 },
- { 0x80A7, 41249 },
- { 0x8102, 41251 },
- { 0x40D2, 41252 },
- { 0x409E, 41257 },
- { 0x409D, 41261 },
- { 0x409F, 41265 },
- { 0x40D3, 41268 },
- { 0x40A0, 41273 },
- { 0x40B2, 41276 },
- { 0x40BB, 41280 },
- { 0x40A5, 41284 },
- { 0x40B7, 41287 },
- { 0x40C0, 41291 },
- { 0x40A9, 41295 },
- { 0x40C4, 41298 },
- { 0x40A1, 41302 },
- { 0x40B3, 41305 },
- { 0x40BC, 41309 },
- { 0x40A4, 41313 },
- { 0x40B6, 41316 },
- { 0x40BF, 41320 },
- { 0x40A3, 41324 },
- { 0x40B5, 41327 },
- { 0x40BE, 41331 },
- { 0x40A8, 41335 },
- { 0x40BA, 41338 },
- { 0x40C3, 41342 },
- { 0x40A7, 41346 },
- { 0x40B9, 41349 },
- { 0x40C2, 41353 },
- { 0x40AD, 41357 },
- { 0x40C8, 41360 },
- { 0x40AC, 41364 },
- { 0x40C7, 41367 },
- { 0x40A6, 41371 },
- { 0x40B8, 41374 },
- { 0x40C1, 41378 },
- { 0x40AE, 41382 },
- { 0x40C9, 41385 },
- { 0x40A2, 41389 },
- { 0x40B4, 41392 },
- { 0x40BD, 41396 },
- { 0x40B0, 41400 },
- { 0x40CB, 41403 },
- { 0x40B1, 41407 },
- { 0x40CC, 41410 },
- { 0x40AB, 41414 },
- { 0x40C6, 41417 },
- { 0x40AA, 41421 },
- { 0x40C5, 41424 },
- { 0x40AF, 41428 },
- { 0x40CA, 41431 },
- { 0x40CD, 41435 },
- { 0x40CE, 41439 },
- { 0x40D0, 41443 },
- { 0x40D1, 41447 },
- { 0x40CF, 41451 },
- { 0x40D5, 41455 },
- { 0x40D4, 41459 },
- { 0x7E46, 41463 },
+ { 0x7D58, 41238 },
+ { 0x7C13, 41240 },
+ { 0x7C19, 41241 },
+ { 0x7DA4, 41245 },
+ { 0x8186, 41247 },
+ { 0x8188, 41248 },
+ { 0x80AC, 41249 },
+ { 0x8107, 41251 },
+ { 0x40D7, 41252 },
+ { 0x40A3, 41257 },
+ { 0x40A2, 41261 },
+ { 0x40A4, 41265 },
+ { 0x40D8, 41268 },
+ { 0x40A5, 41273 },
+ { 0x40B7, 41276 },
+ { 0x40C0, 41280 },
+ { 0x40AA, 41284 },
+ { 0x40BC, 41287 },
+ { 0x40C5, 41291 },
+ { 0x40AE, 41295 },
+ { 0x40C9, 41298 },
+ { 0x40A6, 41302 },
+ { 0x40B8, 41305 },
+ { 0x40C1, 41309 },
+ { 0x40A9, 41313 },
+ { 0x40BB, 41316 },
+ { 0x40C4, 41320 },
+ { 0x40A8, 41324 },
+ { 0x40BA, 41327 },
+ { 0x40C3, 41331 },
+ { 0x40AD, 41335 },
+ { 0x40BF, 41338 },
+ { 0x40C8, 41342 },
+ { 0x40AC, 41346 },
+ { 0x40BE, 41349 },
+ { 0x40C7, 41353 },
+ { 0x40B2, 41357 },
+ { 0x40CD, 41360 },
+ { 0x40B1, 41364 },
+ { 0x40CC, 41367 },
+ { 0x40AB, 41371 },
+ { 0x40BD, 41374 },
+ { 0x40C6, 41378 },
+ { 0x40B3, 41382 },
+ { 0x40CE, 41385 },
+ { 0x40A7, 41389 },
+ { 0x40B9, 41392 },
+ { 0x40C2, 41396 },
+ { 0x40B5, 41400 },
+ { 0x40D0, 41403 },
+ { 0x40B6, 41407 },
+ { 0x40D1, 41410 },
+ { 0x40B0, 41414 },
+ { 0x40CB, 41417 },
+ { 0x40AF, 41421 },
+ { 0x40CA, 41424 },
+ { 0x40B4, 41428 },
+ { 0x40CF, 41431 },
+ { 0x40D2, 41435 },
+ { 0x40D3, 41439 },
+ { 0x40D5, 41443 },
+ { 0x40D6, 41447 },
+ { 0x40D4, 41451 },
+ { 0x40DA, 41455 },
+ { 0x40D9, 41459 },
+ { 0x7E4B, 41463 },
{ 0x1E9B, 41465 },
{ 0x1E99, 41470 },
{ 0x2692, 41473 },
@@ -57759,7 +57766,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x05AD, 41562 },
{ 0x05AB, 41565 },
{ 0x05A9, 41569 },
- { 0x3E5A, 41574 },
+ { 0x3E5F, 41574 },
{ 0x085E, 41577 },
{ 0x0861, 41582 },
{ 0x085F, 41587 },
@@ -57776,22 +57783,22 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x085D, 41626 },
{ 0x05E8, 41629 },
{ 0x0872, 41631 },
- { 0x3E5F, 41635 },
- { 0x3E5E, 41639 },
+ { 0x3E64, 41635 },
+ { 0x3E63, 41639 },
{ 0x0683, 41643 },
{ 0x0684, 41648 },
{ 0x05E7, 41653 },
{ 0x0869, 41655 },
{ 0x05F7, 41660 },
{ 0x0868, 41665 },
- { 0x3E5D, 41669 },
- { 0x3E5C, 41673 },
+ { 0x3E62, 41669 },
+ { 0x3E61, 41673 },
{ 0x05ED, 41677 },
{ 0x05EE, 41680 },
{ 0x05E9, 41683 },
{ 0x086A, 41685 },
- { 0x3E61, 41690 },
- { 0x3E60, 41694 },
+ { 0x3E66, 41690 },
+ { 0x3E65, 41694 },
{ 0x0842, 41698 },
{ 0x0843, 41703 },
{ 0x0846, 41708 },
@@ -57806,9 +57813,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0686, 41748 },
{ 0x084D, 41752 },
{ 0x067C, 41758 },
- { 0x4994, 41762 },
- { 0x4995, 41767 },
- { 0x4993, 41772 },
+ { 0x4999, 41762 },
+ { 0x499A, 41767 },
+ { 0x4998, 41772 },
{ 0x080E, 41777 },
{ 0x080D, 41782 },
{ 0x080F, 41787 },
@@ -57858,48 +57865,48 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0677, 42011 },
{ 0x05EB, 42017 },
{ 0x0844, 42019 },
- { 0x3E65, 42022 },
- { 0x3E64, 42026 },
+ { 0x3E6A, 42022 },
+ { 0x3E69, 42026 },
{ 0x05F5, 42030 },
{ 0x05F3, 42035 },
{ 0x05F4, 42041 },
{ 0x086F, 42048 },
{ 0x0870, 42053 },
{ 0x0669, 42060 },
- { 0x3C11, 42063 },
- { 0x3C13, 42068 },
- { 0x3C12, 42073 },
- { 0x3C10, 42078 },
+ { 0x3C16, 42063 },
+ { 0x3C18, 42068 },
+ { 0x3C17, 42073 },
+ { 0x3C15, 42078 },
{ 0x0660, 42083 },
{ 0x0610, 42086 },
- { 0x3C09, 42092 },
- { 0x3C04, 42100 },
- { 0x3C03, 42105 },
+ { 0x3C0E, 42092 },
+ { 0x3C09, 42100 },
+ { 0x3C08, 42105 },
{ 0x066E, 42110 },
{ 0x0646, 42113 },
- { 0x3C00, 42116 },
- { 0x3C02, 42121 },
- { 0x3C01, 42126 },
- { 0x3BFF, 42131 },
+ { 0x3C05, 42116 },
+ { 0x3C07, 42121 },
+ { 0x3C06, 42126 },
+ { 0x3C04, 42131 },
{ 0x065F, 42136 },
- { 0x3C06, 42139 },
- { 0x3C05, 42144 },
+ { 0x3C0B, 42139 },
+ { 0x3C0A, 42144 },
{ 0x0664, 42149 },
- { 0x3C0B, 42152 },
- { 0x3C0A, 42157 },
+ { 0x3C10, 42152 },
+ { 0x3C0F, 42157 },
{ 0x0661, 42162 },
- { 0x3C08, 42165 },
- { 0x3C07, 42170 },
+ { 0x3C0D, 42165 },
+ { 0x3C0C, 42170 },
{ 0x05D2, 42175 },
{ 0x06F3, 42178 },
{ 0x06F5, 42185 },
{ 0x0639, 42193 },
{ 0x0827, 42200 },
{ 0x06F4, 42207 },
- { 0x3EB0, 42216 },
- { 0x3EB2, 42221 },
- { 0x3EB1, 42226 },
- { 0x3EAF, 42231 },
+ { 0x3EB5, 42216 },
+ { 0x3EB7, 42221 },
+ { 0x3EB6, 42226 },
+ { 0x3EB4, 42231 },
{ 0x05C1, 42236 },
{ 0x06E7, 42239 },
{ 0x06EA, 42249 },
@@ -57911,16 +57918,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x06E9, 42294 },
{ 0x06E6, 42307 },
{ 0x06EB, 42315 },
- { 0x3E76, 42323 },
- { 0x3E78, 42328 },
- { 0x3E77, 42333 },
- { 0x3E75, 42338 },
+ { 0x3E7B, 42323 },
+ { 0x3E7D, 42328 },
+ { 0x3E7C, 42333 },
+ { 0x3E7A, 42338 },
{ 0x05CF, 42343 },
{ 0x0694, 42346 },
- { 0x3EA4, 42352 },
- { 0x3EA6, 42357 },
- { 0x3EA5, 42362 },
- { 0x3EA3, 42367 },
+ { 0x3EA9, 42352 },
+ { 0x3EAB, 42357 },
+ { 0x3EAA, 42362 },
+ { 0x3EA8, 42367 },
{ 0x05C8, 42372 },
{ 0x0623, 42375 },
{ 0x0624, 42381 },
@@ -57931,11 +57938,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0822, 42421 },
{ 0x0687, 42428 },
{ 0x06F0, 42434 },
- { 0x3E90, 42442 },
- { 0x3E8F, 42447 },
+ { 0x3E95, 42442 },
+ { 0x3E94, 42447 },
{ 0x0627, 42452 },
- { 0x3BC3, 42455 },
- { 0x3BC2, 42460 },
+ { 0x3BC8, 42455 },
+ { 0x3BC7, 42460 },
{ 0x05DA, 42465 },
{ 0x063C, 42468 },
{ 0x0818, 42474 },
@@ -57943,19 +57950,19 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x06F6, 42491 },
{ 0x063E, 42498 },
{ 0x06F7, 42505 },
- { 0x3EB8, 42514 },
- { 0x3EBA, 42519 },
- { 0x3EB9, 42524 },
- { 0x3EB7, 42529 },
+ { 0x3EBD, 42514 },
+ { 0x3EBF, 42519 },
+ { 0x3EBE, 42524 },
+ { 0x3EBC, 42529 },
{ 0x0648, 42534 },
{ 0x064B, 42537 },
{ 0x0649, 42544 },
{ 0x064D, 42549 },
{ 0x0824, 42556 },
- { 0x3BCF, 42562 },
- { 0x3BD1, 42567 },
- { 0x3BD0, 42572 },
- { 0x3BCE, 42577 },
+ { 0x3BD4, 42562 },
+ { 0x3BD6, 42567 },
+ { 0x3BD5, 42572 },
+ { 0x3BD3, 42577 },
{ 0x05C6, 42582 },
{ 0x06ED, 42585 },
{ 0x061B, 42592 },
@@ -57967,43 +57974,43 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x06EE, 42642 },
{ 0x0712, 42651 },
{ 0x0805, 42660 },
- { 0x3E88, 42668 },
- { 0x3E8A, 42673 },
- { 0x3E89, 42678 },
- { 0x3E87, 42683 },
+ { 0x3E8D, 42668 },
+ { 0x3E8F, 42673 },
+ { 0x3E8E, 42678 },
+ { 0x3E8C, 42683 },
{ 0x05E0, 42688 },
{ 0x065A, 42691 },
{ 0x065B, 42695 },
- { 0x3BE3, 42702 },
- { 0x3BE5, 42708 },
- { 0x3BE4, 42714 },
- { 0x3BE2, 42720 },
+ { 0x3BE8, 42702 },
+ { 0x3BEA, 42708 },
+ { 0x3BE9, 42714 },
+ { 0x3BE7, 42720 },
{ 0x0659, 42726 },
- { 0x3BE1, 42732 },
- { 0x3BE0, 42740 },
+ { 0x3BE6, 42732 },
+ { 0x3BE5, 42740 },
{ 0x0698, 42748 },
- { 0x3ED0, 42754 },
- { 0x3ED2, 42759 },
- { 0x3ED1, 42764 },
- { 0x3ECF, 42769 },
+ { 0x3ED5, 42754 },
+ { 0x3ED7, 42759 },
+ { 0x3ED6, 42764 },
+ { 0x3ED4, 42769 },
{ 0x0657, 42774 },
- { 0x3BE7, 42778 },
- { 0x3BE9, 42784 },
- { 0x3BE8, 42790 },
- { 0x3BE6, 42796 },
+ { 0x3BEC, 42778 },
+ { 0x3BEE, 42784 },
+ { 0x3BED, 42790 },
+ { 0x3BEB, 42796 },
{ 0x0631, 42802 },
- { 0x3BC7, 42805 },
- { 0x3BC6, 42810 },
+ { 0x3BCC, 42805 },
+ { 0x3BCB, 42810 },
{ 0x05DC, 42815 },
{ 0x0645, 42818 },
{ 0x0828, 42824 },
{ 0x0715, 42830 },
{ 0x0644, 42837 },
{ 0x0647, 42842 },
- { 0x3EC0, 42849 },
- { 0x3EC2, 42854 },
- { 0x3EC1, 42859 },
- { 0x3EBF, 42864 },
+ { 0x3EC5, 42849 },
+ { 0x3EC7, 42854 },
+ { 0x3EC6, 42859 },
+ { 0x3EC4, 42864 },
{ 0x05DD, 42869 },
{ 0x0700, 42872 },
{ 0x064F, 42877 },
@@ -58012,27 +58019,27 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0650, 42898 },
{ 0x0651, 42905 },
{ 0x081A, 42912 },
- { 0x3EC4, 42918 },
- { 0x3EC6, 42923 },
- { 0x3EC5, 42928 },
- { 0x3EC3, 42933 },
+ { 0x3EC9, 42918 },
+ { 0x3ECB, 42923 },
+ { 0x3ECA, 42928 },
+ { 0x3EC8, 42933 },
{ 0x0821, 42938 },
{ 0x0617, 42942 },
{ 0x0832, 42945 },
{ 0x082B, 42951 },
- { 0x3B93, 42958 },
- { 0x3B95, 42963 },
- { 0x3B94, 42968 },
- { 0x3B92, 42973 },
+ { 0x3B98, 42958 },
+ { 0x3B9A, 42963 },
+ { 0x3B99, 42968 },
+ { 0x3B97, 42973 },
{ 0x05DB, 42978 },
{ 0x0640, 42981 },
{ 0x0819, 42987 },
{ 0x0829, 42993 },
{ 0x0641, 43003 },
- { 0x3EBC, 43010 },
- { 0x3EBE, 43015 },
- { 0x3EBD, 43020 },
- { 0x3EBB, 43025 },
+ { 0x3EC1, 43010 },
+ { 0x3EC3, 43015 },
+ { 0x3EC2, 43020 },
+ { 0x3EC0, 43025 },
{ 0x05CA, 43030 },
{ 0x062D, 43033 },
{ 0x062F, 43039 },
@@ -58048,98 +58055,98 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0707, 43106 },
{ 0x06F1, 43117 },
{ 0x0688, 43122 },
- { 0x3E94, 43128 },
- { 0x3E93, 43133 },
+ { 0x3E99, 43128 },
+ { 0x3E98, 43133 },
{ 0x05CE, 43138 },
{ 0x0636, 43141 },
{ 0x0637, 43148 },
{ 0x0823, 43155 },
- { 0x3EA0, 43162 },
- { 0x3EA2, 43167 },
- { 0x3EA1, 43172 },
- { 0x3E9F, 43177 },
+ { 0x3EA5, 43162 },
+ { 0x3EA7, 43167 },
+ { 0x3EA6, 43172 },
+ { 0x3EA4, 43177 },
{ 0x05D0, 43182 },
{ 0x0806, 43185 },
{ 0x0817, 43191 },
{ 0x0638, 43198 },
{ 0x0807, 43205 },
- { 0x3EA8, 43212 },
- { 0x3EAA, 43217 },
- { 0x3EA9, 43222 },
- { 0x3EA7, 43227 },
+ { 0x3EAD, 43212 },
+ { 0x3EAF, 43217 },
+ { 0x3EAE, 43222 },
+ { 0x3EAC, 43227 },
{ 0x05C3, 43232 },
{ 0x0615, 43235 },
{ 0x0833, 43240 },
{ 0x082C, 43246 },
{ 0x0616, 43253 },
- { 0x3E7C, 43261 },
- { 0x3E7E, 43266 },
- { 0x3E7D, 43271 },
+ { 0x3E81, 43261 },
+ { 0x3E83, 43266 },
+ { 0x3E82, 43271 },
{ 0x05C2, 43276 },
{ 0x065C, 43280 },
- { 0x3E7A, 43285 },
- { 0x3E79, 43291 },
- { 0x3E7B, 43297 },
+ { 0x3E7F, 43285 },
+ { 0x3E7E, 43291 },
+ { 0x3E80, 43297 },
{ 0x063D, 43302 },
- { 0x3BA7, 43305 },
- { 0x3BA9, 43310 },
- { 0x3BA8, 43315 },
- { 0x3BA6, 43320 },
+ { 0x3BAC, 43305 },
+ { 0x3BAE, 43310 },
+ { 0x3BAD, 43315 },
+ { 0x3BAB, 43320 },
{ 0x05E1, 43325 },
{ 0x0668, 43328 },
{ 0x081F, 43334 },
{ 0x0663, 43340 },
{ 0x065D, 43347 },
{ 0x05BD, 43352 },
- { 0x3E6C, 43358 },
- { 0x3E6B, 43366 },
+ { 0x3E71, 43358 },
+ { 0x3E70, 43366 },
{ 0x070E, 43374 },
{ 0x070F, 43383 },
- { 0x3ED4, 43392 },
- { 0x3ED3, 43397 },
+ { 0x3ED9, 43392 },
+ { 0x3ED8, 43397 },
{ 0x05E3, 43402 },
{ 0x081D, 43405 },
{ 0x081C, 43415 },
{ 0x082E, 43425 },
{ 0x0666, 43436 },
{ 0x05BF, 43441 },
- { 0x3E70, 43447 },
- { 0x3E72, 43455 },
- { 0x3E71, 43463 },
- { 0x3E6F, 43471 },
+ { 0x3E75, 43447 },
+ { 0x3E77, 43455 },
+ { 0x3E76, 43463 },
+ { 0x3E74, 43471 },
{ 0x0667, 43479 },
{ 0x066A, 43485 },
- { 0x3ED8, 43492 },
+ { 0x3EDD, 43492 },
{ 0x066B, 43497 },
{ 0x066C, 43501 },
- { 0x3BED, 43508 },
- { 0x3BEC, 43517 },
+ { 0x3BF2, 43508 },
+ { 0x3BF1, 43517 },
{ 0x0710, 43526 },
{ 0x0711, 43536 },
- { 0x3BEB, 43546 },
- { 0x3BEA, 43552 },
- { 0x3EDA, 43558 },
- { 0x3ED9, 43563 },
- { 0x3ED7, 43568 },
+ { 0x3BF0, 43546 },
+ { 0x3BEF, 43552 },
+ { 0x3EDF, 43558 },
+ { 0x3EDE, 43563 },
+ { 0x3EDC, 43568 },
{ 0x05D1, 43573 },
- { 0x3EAC, 43576 },
- { 0x3EAE, 43581 },
- { 0x3EAD, 43586 },
- { 0x3EAB, 43591 },
+ { 0x3EB1, 43576 },
+ { 0x3EB3, 43581 },
+ { 0x3EB2, 43586 },
+ { 0x3EB0, 43591 },
{ 0x05C0, 43596 },
{ 0x07F5, 43599 },
{ 0x07EE, 43605 },
{ 0x060B, 43612 },
{ 0x060C, 43619 },
{ 0x05BC, 43626 },
- { 0x3E6A, 43632 },
- { 0x3E69, 43640 },
+ { 0x3E6F, 43632 },
+ { 0x3E6E, 43640 },
{ 0x05BE, 43648 },
- { 0x3E6E, 43654 },
- { 0x3E6D, 43662 },
+ { 0x3E73, 43654 },
+ { 0x3E72, 43662 },
{ 0x05BB, 43670 },
- { 0x3E68, 43676 },
- { 0x3E67, 43684 },
+ { 0x3E6D, 43676 },
+ { 0x3E6C, 43684 },
{ 0x07ED, 43692 },
{ 0x07F7, 43699 },
{ 0x07FA, 43709 },
@@ -58159,33 +58166,33 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x07FB, 43826 },
{ 0x0709, 43837 },
{ 0x070A, 43846 },
- { 0x3E74, 43855 },
+ { 0x3E79, 43855 },
{ 0x060A, 43860 },
- { 0x3B8D, 43864 },
- { 0x3B8C, 43870 },
+ { 0x3B92, 43864 },
+ { 0x3B91, 43870 },
{ 0x05E2, 43876 },
- { 0x3ED6, 43880 },
- { 0x3ED5, 43886 },
- { 0x3E73, 43892 },
+ { 0x3EDB, 43880 },
+ { 0x3EDA, 43886 },
+ { 0x3E78, 43892 },
{ 0x0614, 43897 },
- { 0x3B8F, 43900 },
- { 0x3B91, 43905 },
- { 0x3B90, 43910 },
- { 0x3B8E, 43915 },
+ { 0x3B94, 43900 },
+ { 0x3B96, 43905 },
+ { 0x3B95, 43910 },
+ { 0x3B93, 43915 },
{ 0x0621, 43920 },
- { 0x3BC5, 43923 },
- { 0x3BC4, 43928 },
+ { 0x3BCA, 43923 },
+ { 0x3BC9, 43928 },
{ 0x061D, 43933 },
- { 0x3BAF, 43936 },
- { 0x3BB1, 43941 },
- { 0x3BB0, 43946 },
- { 0x3BAE, 43951 },
+ { 0x3BB4, 43936 },
+ { 0x3BB6, 43941 },
+ { 0x3BB5, 43946 },
+ { 0x3BB3, 43951 },
{ 0x083C, 43956 },
{ 0x064C, 43959 },
- { 0x3BD3, 43962 },
- { 0x3BD5, 43967 },
- { 0x3BD4, 43972 },
- { 0x3BD2, 43977 },
+ { 0x3BD8, 43962 },
+ { 0x3BDA, 43967 },
+ { 0x3BD9, 43972 },
+ { 0x3BD7, 43977 },
{ 0x060D, 43982 },
{ 0x060F, 43986 },
{ 0x0611, 43991 },
@@ -58194,24 +58201,24 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0816, 44004 },
{ 0x0839, 44011 },
{ 0x083A, 44018 },
- { 0x3E84, 44025 },
- { 0x3E86, 44030 },
- { 0x3E85, 44035 },
- { 0x3E83, 44040 },
+ { 0x3E89, 44025 },
+ { 0x3E8B, 44030 },
+ { 0x3E8A, 44035 },
+ { 0x3E88, 44040 },
{ 0x05C7, 44045 },
- { 0x3E8C, 44048 },
- { 0x3E8E, 44053 },
- { 0x3E8D, 44058 },
- { 0x3E8B, 44063 },
+ { 0x3E91, 44048 },
+ { 0x3E93, 44053 },
+ { 0x3E92, 44058 },
+ { 0x3E90, 44063 },
{ 0x05B5, 44068 },
{ 0x05DE, 44071 },
{ 0x06FB, 44074 },
{ 0x06FC, 44080 },
{ 0x081B, 44086 },
- { 0x3EC8, 44093 },
- { 0x3ECA, 44098 },
- { 0x3EC9, 44103 },
- { 0x3EC7, 44108 },
+ { 0x3ECD, 44093 },
+ { 0x3ECF, 44098 },
+ { 0x3ECE, 44103 },
+ { 0x3ECC, 44108 },
{ 0x05DF, 44113 },
{ 0x0652, 44116 },
{ 0x06FD, 44122 },
@@ -58220,21 +58227,21 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x06FE, 44140 },
{ 0x0656, 44146 },
{ 0x0804, 44153 },
- { 0x3ECC, 44160 },
+ { 0x3ED1, 44160 },
{ 0x0653, 44165 },
- { 0x3BDB, 44169 },
- { 0x3BDA, 44175 },
- { 0x3ECE, 44181 },
- { 0x3ECD, 44186 },
- { 0x3ECB, 44191 },
+ { 0x3BE0, 44169 },
+ { 0x3BDF, 44175 },
+ { 0x3ED3, 44181 },
+ { 0x3ED2, 44186 },
+ { 0x3ED0, 44191 },
{ 0x061C, 44196 },
- { 0x3BB3, 44199 },
- { 0x3BB5, 44204 },
- { 0x3BB4, 44209 },
- { 0x3BB2, 44214 },
+ { 0x3BB8, 44199 },
+ { 0x3BBA, 44204 },
+ { 0x3BB9, 44209 },
+ { 0x3BB7, 44214 },
{ 0x062A, 44219 },
- { 0x3BC9, 44222 },
- { 0x3BC8, 44227 },
+ { 0x3BCE, 44222 },
+ { 0x3BCD, 44227 },
{ 0x05CC, 44232 },
{ 0x0633, 44235 },
{ 0x0703, 44244 },
@@ -58244,37 +58251,37 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0635, 44277 },
{ 0x0713, 44288 },
{ 0x0714, 44297 },
- { 0x3E98, 44303 },
- { 0x3E9A, 44308 },
- { 0x3E99, 44313 },
- { 0x3E97, 44318 },
+ { 0x3E9D, 44303 },
+ { 0x3E9F, 44308 },
+ { 0x3E9E, 44313 },
+ { 0x3E9C, 44318 },
{ 0x05C9, 44323 },
- { 0x3E92, 44326 },
- { 0x3E91, 44331 },
+ { 0x3E97, 44326 },
+ { 0x3E96, 44331 },
{ 0x05C4, 44336 },
- { 0x3E80, 44339 },
- { 0x3E82, 44344 },
- { 0x3E81, 44349 },
- { 0x3E7F, 44354 },
+ { 0x3E85, 44339 },
+ { 0x3E87, 44344 },
+ { 0x3E86, 44349 },
+ { 0x3E84, 44354 },
{ 0x0801, 44359 },
{ 0x0612, 44363 },
{ 0x0834, 44366 },
- { 0x3BA3, 44372 },
- { 0x3BA5, 44377 },
- { 0x3BA4, 44382 },
- { 0x3BA2, 44387 },
+ { 0x3BA8, 44372 },
+ { 0x3BAA, 44377 },
+ { 0x3BA9, 44382 },
+ { 0x3BA7, 44387 },
{ 0x05CB, 44392 },
{ 0x0826, 44395 },
- { 0x3E96, 44402 },
- { 0x3E95, 44407 },
+ { 0x3E9B, 44402 },
+ { 0x3E9A, 44407 },
{ 0x0619, 44412 },
- { 0x3B97, 44415 },
- { 0x3B99, 44420 },
- { 0x3B98, 44425 },
- { 0x3B96, 44430 },
+ { 0x3B9C, 44415 },
+ { 0x3B9E, 44420 },
+ { 0x3B9D, 44425 },
+ { 0x3B9B, 44430 },
{ 0x0625, 44435 },
- { 0x3BC1, 44438 },
- { 0x3BC0, 44443 },
+ { 0x3BC6, 44438 },
+ { 0x3BC5, 44443 },
{ 0x0665, 44448 },
{ 0x05D7, 44452 },
{ 0x05D8, 44460 },
@@ -58282,19 +58289,19 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x070D, 44478 },
{ 0x070C, 44488 },
{ 0x05D6, 44498 },
- { 0x3C29, 44505 },
- { 0x3C2B, 44511 },
- { 0x3C2A, 44517 },
- { 0x3C28, 44523 },
+ { 0x3C2E, 44505 },
+ { 0x3C30, 44511 },
+ { 0x3C2F, 44517 },
+ { 0x3C2D, 44523 },
{ 0x05D3, 44529 },
{ 0x0695, 44532 },
{ 0x0837, 44538 },
- { 0x3EB4, 44545 },
- { 0x3EB6, 44550 },
- { 0x3EB5, 44555 },
- { 0x3EB3, 44560 },
+ { 0x3EB9, 44545 },
+ { 0x3EBB, 44550 },
+ { 0x3EBA, 44555 },
+ { 0x3EB8, 44560 },
{ 0x05BA, 44565 },
- { 0x3E66, 44568 },
+ { 0x3E6B, 44568 },
{ 0x0642, 44573 },
{ 0x06F8, 44576 },
{ 0x05D4, 44582 },
@@ -58303,54 +58310,54 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x06F9, 44603 },
{ 0x05D5, 44610 },
{ 0x06FA, 44617 },
- { 0x3BCB, 44626 },
- { 0x3BCD, 44631 },
- { 0x3BCC, 44636 },
- { 0x3BCA, 44641 },
+ { 0x3BD0, 44626 },
+ { 0x3BD2, 44631 },
+ { 0x3BD1, 44636 },
+ { 0x3BCF, 44641 },
{ 0x064A, 44646 },
- { 0x3BD7, 44649 },
- { 0x3BD9, 44654 },
- { 0x3BD8, 44659 },
- { 0x3BD6, 44664 },
+ { 0x3BDC, 44649 },
+ { 0x3BDE, 44654 },
+ { 0x3BDD, 44659 },
+ { 0x3BDB, 44664 },
{ 0x063F, 44669 },
- { 0x3BAB, 44672 },
- { 0x3BAD, 44677 },
- { 0x3BAC, 44682 },
- { 0x3BAA, 44687 },
+ { 0x3BB0, 44672 },
+ { 0x3BB2, 44677 },
+ { 0x3BB1, 44682 },
+ { 0x3BAF, 44687 },
{ 0x0654, 44692 },
- { 0x3BDD, 44695 },
- { 0x3BDF, 44700 },
- { 0x3BDE, 44705 },
- { 0x3BDC, 44710 },
+ { 0x3BE2, 44695 },
+ { 0x3BE4, 44700 },
+ { 0x3BE3, 44705 },
+ { 0x3BE1, 44710 },
{ 0x05CD, 44715 },
{ 0x0693, 44718 },
- { 0x3E9C, 44724 },
- { 0x3E9E, 44729 },
- { 0x3E9D, 44734 },
- { 0x3E9B, 44739 },
+ { 0x3EA1, 44724 },
+ { 0x3EA3, 44729 },
+ { 0x3EA2, 44734 },
+ { 0x3EA0, 44739 },
{ 0x0643, 44744 },
{ 0x061F, 44748 },
{ 0x0658, 44751 },
{ 0x0835, 44757 },
- { 0x3BB7, 44763 },
- { 0x3BB9, 44768 },
- { 0x3BB8, 44773 },
- { 0x3BB6, 44778 },
+ { 0x3BBC, 44763 },
+ { 0x3BBE, 44768 },
+ { 0x3BBD, 44773 },
+ { 0x3BBB, 44778 },
{ 0x0618, 44783 },
- { 0x3B9F, 44786 },
- { 0x3BA1, 44791 },
- { 0x3BA0, 44796 },
- { 0x3B9E, 44801 },
+ { 0x3BA4, 44786 },
+ { 0x3BA6, 44791 },
+ { 0x3BA5, 44796 },
+ { 0x3BA3, 44801 },
{ 0x0626, 44806 },
- { 0x3BBF, 44809 },
- { 0x3BBE, 44814 },
+ { 0x3BC4, 44809 },
+ { 0x3BC3, 44814 },
{ 0x0613, 44819 },
- { 0x3B9B, 44822 },
- { 0x3B9D, 44827 },
- { 0x3B9C, 44832 },
- { 0x3B9A, 44837 },
- { 0x3C15, 44842 },
- { 0x3C14, 44851 },
+ { 0x3BA0, 44822 },
+ { 0x3BA2, 44827 },
+ { 0x3BA1, 44832 },
+ { 0x3B9F, 44837 },
+ { 0x3C1A, 44842 },
+ { 0x3C19, 44851 },
{ 0x082F, 44860 },
{ 0x0830, 44864 },
{ 0x0838, 44868 },
@@ -58359,16 +58366,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x063A, 44884 },
{ 0x0608, 44888 },
{ 0x065E, 44892 },
- { 0x3C0D, 44896 },
- { 0x3C0C, 44902 },
+ { 0x3C12, 44896 },
+ { 0x3C11, 44902 },
{ 0x0662, 44908 },
- { 0x3C0F, 44912 },
- { 0x3C0E, 44918 },
+ { 0x3C14, 44912 },
+ { 0x3C13, 44918 },
{ 0x0620, 44924 },
- { 0x3BBB, 44927 },
- { 0x3BBD, 44932 },
- { 0x3BBC, 44937 },
- { 0x3BBA, 44942 },
+ { 0x3BC0, 44927 },
+ { 0x3BC2, 44932 },
+ { 0x3BC1, 44937 },
+ { 0x3BBF, 44942 },
{ 0x05B9, 44947 },
{ 0x0820, 44951 },
{ 0x0825, 44955 },
@@ -58379,25 +58386,25 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x05A7, 44973 },
{ 0x0803, 44977 },
{ 0x05EA, 44981 },
- { 0x3E63, 44983 },
- { 0x3E62, 44987 },
- { 0x3BEE, 44991 },
- { 0x3BEF, 44995 },
- { 0x3BF0, 44999 },
- { 0x3BF1, 45004 },
- { 0x3BF9, 45009 },
- { 0x3BFA, 45015 },
- { 0x3BF6, 45021 },
- { 0x3BF7, 45026 },
- { 0x3BFB, 45031 },
- { 0x3BFC, 45034 },
- { 0x3BFD, 45039 },
- { 0x3BF2, 45044 },
- { 0x3BF3, 45049 },
- { 0x3BF4, 45054 },
- { 0x3BF5, 45061 },
- { 0x3BFE, 45068 },
- { 0x3BF8, 45072 },
+ { 0x3E68, 44983 },
+ { 0x3E67, 44987 },
+ { 0x3BF3, 44991 },
+ { 0x3BF4, 44995 },
+ { 0x3BF5, 44999 },
+ { 0x3BF6, 45004 },
+ { 0x3BFE, 45009 },
+ { 0x3BFF, 45015 },
+ { 0x3BFB, 45021 },
+ { 0x3BFC, 45026 },
+ { 0x3C00, 45031 },
+ { 0x3C01, 45034 },
+ { 0x3C02, 45039 },
+ { 0x3BF7, 45044 },
+ { 0x3BF8, 45049 },
+ { 0x3BF9, 45054 },
+ { 0x3BFA, 45061 },
+ { 0x3C03, 45068 },
+ { 0x3BFD, 45072 },
{ 0x05B7, 45078 },
{ 0x0857, 45083 },
{ 0x0604, 45087 },
@@ -58407,513 +58414,513 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0685, 45100 },
{ 0x05D9, 45107 },
{ 0x0800, 45109 },
- { 0x3E58, 45115 },
+ { 0x3E5D, 45115 },
{ 0x07FF, 45120 },
{ 0x07FE, 45125 },
{ 0x0802, 45130 },
{ 0x05E5, 45134 },
- { 0x3E59, 45136 },
+ { 0x3E5E, 45136 },
{ 0x0856, 45140 },
{ 0x05E4, 45145 },
- { 0x3E57, 45147 },
+ { 0x3E5C, 45147 },
{ 0x059B, 45151 },
{ 0x05F0, 45154 },
{ 0x05E6, 45157 },
- { 0x3E5B, 45159 },
- { 0x3D40, 45163 },
- { 0x3D24, 45170 },
- { 0x3D3F, 45177 },
- { 0x3D23, 45185 },
- { 0x3DA1, 45193 },
- { 0x3DEE, 45202 },
- { 0x3CE6, 45211 },
- { 0x3C55, 45218 },
- { 0x3DE0, 45225 },
- { 0x3DA4, 45234 },
- { 0x3DA2, 45244 },
- { 0x3DA3, 45253 },
- { 0x3CE7, 45262 },
- { 0x3C56, 45269 },
- { 0x3DEC, 45276 },
- { 0x3CC9, 45285 },
- { 0x3C32, 45292 },
- { 0x3D0E, 45299 },
- { 0x3CCC, 45306 },
- { 0x3C96, 45313 },
- { 0x3C9B, 45320 },
- { 0x3C36, 45327 },
- { 0x3C9A, 45334 },
- { 0x3C35, 45342 },
- { 0x3CC8, 45350 },
- { 0x3C31, 45357 },
- { 0x3DC8, 45364 },
- { 0x3CCA, 45373 },
- { 0x3C33, 45380 },
- { 0x3C98, 45387 },
- { 0x3D0D, 45394 },
- { 0x3CCB, 45401 },
- { 0x3C34, 45408 },
- { 0x3C99, 45415 },
- { 0x3C97, 45422 },
- { 0x3DD5, 45429 },
- { 0x3D9A, 45438 },
- { 0x3CE1, 45448 },
- { 0x3C4F, 45455 },
- { 0x3D58, 45462 },
- { 0x3D3C, 45469 },
- { 0x3D50, 45476 },
- { 0x3D34, 45483 },
- { 0x3D4F, 45490 },
- { 0x3D33, 45498 },
- { 0x3CE0, 45506 },
- { 0x3C4E, 45513 },
- { 0x3D9B, 45520 },
- { 0x3D9C, 45529 },
- { 0x3CE2, 45538 },
- { 0x3C50, 45545 },
- { 0x3CE3, 45552 },
- { 0x3C51, 45559 },
- { 0x3CEB, 45566 },
- { 0x3C5A, 45573 },
- { 0x3CA9, 45580 },
- { 0x3C5E, 45587 },
- { 0x3CA8, 45594 },
- { 0x3C5D, 45602 },
- { 0x3CEA, 45610 },
- { 0x3C59, 45617 },
- { 0x3DA8, 45624 },
- { 0x3DA9, 45633 },
- { 0x3CEC, 45642 },
- { 0x3C5B, 45649 },
- { 0x3DEB, 45656 },
- { 0x3CED, 45665 },
- { 0x3C5C, 45672 },
- { 0x3D48, 45679 },
- { 0x3D2C, 45686 },
- { 0x3D47, 45693 },
- { 0x3D2B, 45701 },
- { 0x3DE9, 45709 },
- { 0x3CD5, 45718 },
- { 0x3C43, 45725 },
- { 0x3D86, 45732 },
- { 0x3D87, 45741 },
- { 0x3CD6, 45751 },
- { 0x3C44, 45758 },
- { 0x3C80, 45765 },
- { 0x3C7F, 45772 },
- { 0x3D03, 45780 },
- { 0x3C7D, 45787 },
- { 0x3DBD, 45794 },
- { 0x3DBE, 45803 },
- { 0x3D04, 45812 },
- { 0x3C7E, 45819 },
- { 0x3D05, 45826 },
- { 0x3CF1, 45834 },
- { 0x3C65, 45841 },
- { 0x3CAD, 45848 },
- { 0x3D17, 45855 },
- { 0x3CF3, 45862 },
- { 0x3C67, 45869 },
- { 0x3CB0, 45876 },
- { 0x3C6A, 45883 },
- { 0x3CAC, 45890 },
- { 0x3CAF, 45897 },
- { 0x3C69, 45905 },
- { 0x3C63, 45913 },
- { 0x3CF0, 45920 },
- { 0x3C64, 45927 },
- { 0x3CF2, 45934 },
- { 0x3C66, 45941 },
- { 0x3DE1, 45948 },
- { 0x3DE5, 45957 },
- { 0x3DED, 45966 },
- { 0x3CAE, 45975 },
- { 0x3D18, 45982 },
- { 0x3CF4, 45989 },
- { 0x3C68, 45996 },
- { 0x3DAD, 46003 },
- { 0x3DAE, 46012 },
- { 0x3DAC, 46022 },
- { 0x3DDF, 46031 },
- { 0x3CF6, 46040 },
- { 0x3C6C, 46047 },
- { 0x3CF9, 46054 },
- { 0x3CB3, 46061 },
- { 0x3C70, 46068 },
- { 0x3EDE, 46075 },
- { 0x3EDD, 46085 },
- { 0x3EE0, 46095 },
- { 0x3EDF, 46105 },
- { 0x3EDC, 46115 },
- { 0x3EDB, 46125 },
- { 0x3EE2, 46135 },
- { 0x3CB2, 46142 },
- { 0x3C6F, 46150 },
- { 0x3EE1, 46158 },
- { 0x3DD6, 46165 },
- { 0x3DB0, 46174 },
- { 0x3DAF, 46183 },
- { 0x3DE6, 46192 },
- { 0x3DE4, 46201 },
- { 0x3CF5, 46210 },
- { 0x3C6B, 46217 },
- { 0x3DB1, 46224 },
- { 0x3DB2, 46233 },
- { 0x3CF7, 46242 },
- { 0x3C6D, 46249 },
- { 0x3DB3, 46256 },
- { 0x3DB4, 46265 },
- { 0x3DD7, 46274 },
- { 0x3CB1, 46283 },
- { 0x3D19, 46290 },
- { 0x3CF8, 46297 },
- { 0x3C6E, 46304 },
- { 0x3CEE, 46311 },
- { 0x3C5F, 46318 },
- { 0x3CAB, 46325 },
- { 0x3C62, 46332 },
- { 0x3CAA, 46339 },
- { 0x3C61, 46347 },
- { 0x3DAA, 46355 },
- { 0x3DDE, 46364 },
- { 0x3DDC, 46373 },
- { 0x3DAB, 46382 },
- { 0x3CEF, 46391 },
- { 0x3C60, 46398 },
- { 0x3C88, 46405 },
- { 0x3D90, 46413 },
- { 0x3D91, 46422 },
- { 0x3DD3, 46431 },
- { 0x3CDD, 46440 },
- { 0x3C4C, 46447 },
- { 0x3D57, 46454 },
- { 0x3D3B, 46461 },
- { 0x3D4E, 46468 },
- { 0x3D32, 46475 },
- { 0x3D4D, 46482 },
- { 0x3D31, 46490 },
- { 0x3CDE, 46498 },
- { 0x3D92, 46505 },
- { 0x3DEF, 46514 },
- { 0x3CDF, 46523 },
- { 0x3C4D, 46530 },
- { 0x3CE4, 46537 },
- { 0x3C52, 46544 },
- { 0x3D3E, 46551 },
- { 0x3D22, 46558 },
- { 0x3D3D, 46565 },
- { 0x3D21, 46573 },
- { 0x3D9D, 46581 },
- { 0x3D9E, 46590 },
- { 0x3DA0, 46599 },
- { 0x3D9F, 46608 },
- { 0x3D66, 46617 },
- { 0x3D5F, 46624 },
- { 0x3C53, 46631 },
- { 0x3D7D, 46638 },
- { 0x3D7E, 46647 },
- { 0x3D7F, 46656 },
- { 0x3CCE, 46665 },
- { 0x3C38, 46672 },
- { 0x3D10, 46679 },
- { 0x3CD1, 46686 },
- { 0x3C9C, 46693 },
- { 0x3CA1, 46700 },
- { 0x3C3C, 46707 },
- { 0x3CA0, 46714 },
- { 0x3C3B, 46722 },
- { 0x3DC9, 46730 },
- { 0x3DCA, 46739 },
- { 0x3D7C, 46749 },
- { 0x3CCD, 46758 },
- { 0x3C37, 46765 },
- { 0x3DCB, 46772 },
- { 0x3DCC, 46781 },
- { 0x3D80, 46791 },
- { 0x3CCF, 46800 },
- { 0x3C39, 46807 },
- { 0x3D82, 46814 },
- { 0x3DCD, 46823 },
- { 0x3DCE, 46832 },
- { 0x3D81, 46842 },
- { 0x3D83, 46851 },
- { 0x3C9E, 46860 },
- { 0x3D0F, 46867 },
- { 0x3CD0, 46874 },
- { 0x3C3A, 46881 },
- { 0x3C9F, 46888 },
- { 0x3C9D, 46895 },
- { 0x3DD8, 46902 },
- { 0x3D07, 46911 },
- { 0x3C82, 46918 },
- { 0x3D1D, 46925 },
- { 0x3D0A, 46932 },
- { 0x3CBD, 46939 },
- { 0x3CC2, 46946 },
- { 0x3C86, 46953 },
- { 0x3CC1, 46960 },
- { 0x3C85, 46968 },
- { 0x3DD9, 46976 },
- { 0x3D06, 46985 },
- { 0x3C81, 46992 },
- { 0x3D08, 46999 },
- { 0x3C83, 47006 },
- { 0x3DDA, 47013 },
- { 0x3DC6, 47022 },
- { 0x3DC7, 47031 },
- { 0x3CBF, 47040 },
- { 0x3D1C, 47047 },
- { 0x3D09, 47054 },
- { 0x3C84, 47061 },
- { 0x3CC0, 47068 },
- { 0x3CBE, 47075 },
- { 0x3C23, 47082 },
- { 0x3C24, 47092 },
- { 0x3C22, 47102 },
- { 0x3C1D, 47112 },
- { 0x3C1C, 47122 },
- { 0x3C19, 47132 },
- { 0x3C18, 47142 },
- { 0x3C1F, 47152 },
- { 0x3C1E, 47162 },
- { 0x3C21, 47172 },
- { 0x3C20, 47182 },
- { 0x3CC4, 47192 },
- { 0x3C2D, 47202 },
- { 0x3D0C, 47212 },
- { 0x3CC7, 47222 },
- { 0x3C90, 47232 },
- { 0x3C1B, 47242 },
- { 0x3C1A, 47252 },
- { 0x3C95, 47262 },
- { 0x3C30, 47272 },
- { 0x3C17, 47282 },
- { 0x3C94, 47292 },
- { 0x3C2F, 47303 },
- { 0x3C16, 47314 },
- { 0x3CC3, 47324 },
- { 0x3C2C, 47334 },
- { 0x3CC5, 47344 },
- { 0x3C92, 47354 },
- { 0x3D0B, 47364 },
- { 0x3CC6, 47374 },
- { 0x3C2E, 47384 },
- { 0x3C93, 47394 },
- { 0x3C91, 47404 },
- { 0x3D67, 47414 },
- { 0x3CE5, 47421 },
- { 0x3C54, 47428 },
- { 0x3D68, 47435 },
- { 0x3D69, 47442 },
- { 0x3CBC, 47449 },
- { 0x3C89, 47458 },
- { 0x3E02, 47467 },
- { 0x3DE8, 47472 },
- { 0x3DD0, 47481 },
- { 0x3CD3, 47491 },
- { 0x3C41, 47498 },
- { 0x3D4A, 47505 },
- { 0x3D2E, 47512 },
- { 0x3D49, 47519 },
- { 0x3D2D, 47527 },
- { 0x3D84, 47535 },
- { 0x3D85, 47544 },
- { 0x3DCF, 47553 },
- { 0x3DD1, 47562 },
- { 0x3CD4, 47572 },
- { 0x3C42, 47579 },
- { 0x3C46, 47586 },
- { 0x3D4C, 47593 },
- { 0x3D30, 47600 },
- { 0x3D4B, 47607 },
- { 0x3D2F, 47615 },
- { 0x3CD7, 47623 },
- { 0x3C45, 47630 },
- { 0x3CD8, 47637 },
- { 0x3C47, 47644 },
- { 0x3DB7, 47651 },
- { 0x3DB5, 47660 },
- { 0x3DB6, 47669 },
- { 0x3CFB, 47678 },
- { 0x3C72, 47685 },
- { 0x3C76, 47692 },
- { 0x3CB4, 47699 },
- { 0x3C75, 47706 },
- { 0x3DB8, 47714 },
- { 0x3DEA, 47723 },
- { 0x3DBC, 47732 },
- { 0x3DB9, 47741 },
- { 0x3CFA, 47750 },
- { 0x3C71, 47757 },
- { 0x3DE3, 47764 },
- { 0x3DBA, 47773 },
- { 0x3DBB, 47782 },
- { 0x3CFC, 47791 },
- { 0x3C73, 47798 },
- { 0x3DDB, 47805 },
- { 0x3CB5, 47814 },
- { 0x3CFD, 47821 },
- { 0x3C74, 47828 },
- { 0x3DDD, 47835 },
- { 0x3DC0, 47844 },
- { 0x3DBF, 47854 },
- { 0x3CFF, 47863 },
- { 0x3C78, 47870 },
- { 0x3D1B, 47877 },
- { 0x3D02, 47884 },
- { 0x3CB6, 47891 },
- { 0x3CBB, 47898 },
- { 0x3C7C, 47905 },
- { 0x3CBA, 47912 },
- { 0x3C7B, 47920 },
- { 0x3DE7, 47928 },
- { 0x3DE2, 47937 },
- { 0x3DF1, 47946 },
- { 0x3DC3, 47955 },
- { 0x3DC1, 47965 },
- { 0x3DC2, 47974 },
- { 0x3CFE, 47983 },
- { 0x3C77, 47990 },
- { 0x3D00, 47997 },
- { 0x3C79, 48004 },
- { 0x3DC4, 48011 },
- { 0x3DC5, 48020 },
- { 0x3CB8, 48030 },
- { 0x3D1A, 48037 },
- { 0x3D01, 48044 },
- { 0x3C7A, 48051 },
- { 0x3CB9, 48058 },
- { 0x3CB7, 48065 },
- { 0x3DF4, 48072 },
- { 0x3D6D, 48082 },
- { 0x3D6E, 48087 },
- { 0x3D6F, 48092 },
- { 0x3D70, 48097 },
- { 0x3D71, 48102 },
- { 0x3D88, 48107 },
- { 0x3D61, 48116 },
- { 0x3CDA, 48123 },
- { 0x3C49, 48130 },
- { 0x3D14, 48137 },
- { 0x3D5D, 48144 },
- { 0x3D56, 48151 },
- { 0x3D3A, 48158 },
- { 0x3D44, 48165 },
- { 0x3D28, 48172 },
- { 0x3D43, 48179 },
- { 0x3D27, 48187 },
- { 0x3D89, 48195 },
- { 0x3D8A, 48204 },
- { 0x3D60, 48214 },
- { 0x3CD9, 48221 },
- { 0x3C48, 48228 },
- { 0x3DF0, 48235 },
- { 0x3DD2, 48244 },
- { 0x3D62, 48254 },
- { 0x3CDB, 48261 },
- { 0x3C4A, 48268 },
- { 0x3D8B, 48275 },
- { 0x3D8C, 48284 },
- { 0x3D8D, 48293 },
- { 0x3D8E, 48302 },
- { 0x3D8F, 48311 },
- { 0x3D13, 48320 },
- { 0x3CDC, 48327 },
- { 0x3C4B, 48334 },
- { 0x3C87, 48341 },
- { 0x3D12, 48349 },
- { 0x3CA2, 48356 },
- { 0x3CA7, 48363 },
- { 0x3C40, 48370 },
- { 0x3CA6, 48377 },
- { 0x3C3F, 48385 },
- { 0x3C3D, 48393 },
- { 0x3CA4, 48400 },
- { 0x3D11, 48407 },
- { 0x3CD2, 48414 },
- { 0x3C3E, 48421 },
- { 0x3CA5, 48428 },
- { 0x3CA3, 48435 },
- { 0x3DF6, 48442 },
- { 0x3DF5, 48447 },
- { 0x3D42, 48452 },
- { 0x3D26, 48459 },
- { 0x3D41, 48466 },
- { 0x3D25, 48474 },
- { 0x3CE8, 48482 },
- { 0x3C57, 48489 },
- { 0x3DA6, 48496 },
- { 0x3DA7, 48505 },
- { 0x3DA5, 48515 },
- { 0x3CE9, 48524 },
- { 0x3C58, 48531 },
- { 0x3DF8, 48538 },
- { 0x3DF3, 48543 },
- { 0x3DFC, 48553 },
- { 0x3DD4, 48558 },
- { 0x3D93, 48567 },
- { 0x3D94, 48576 },
- { 0x3D52, 48585 },
- { 0x3D64, 48592 },
- { 0x3D5A, 48599 },
- { 0x3D36, 48606 },
- { 0x3D16, 48613 },
- { 0x3D5E, 48620 },
- { 0x3D55, 48627 },
- { 0x3D39, 48634 },
- { 0x3D46, 48641 },
- { 0x3D2A, 48648 },
- { 0x3D45, 48655 },
- { 0x3D29, 48663 },
- { 0x3D95, 48671 },
- { 0x3D51, 48680 },
- { 0x3D63, 48687 },
- { 0x3D59, 48694 },
- { 0x3D35, 48701 },
- { 0x3D53, 48708 },
- { 0x3D65, 48715 },
- { 0x3D5B, 48722 },
- { 0x3D37, 48729 },
- { 0x3D96, 48736 },
- { 0x3D97, 48745 },
- { 0x3D98, 48754 },
- { 0x3D99, 48763 },
- { 0x3D54, 48772 },
- { 0x3D15, 48779 },
- { 0x3D5C, 48786 },
- { 0x3D38, 48793 },
- { 0x3DFA, 48800 },
- { 0x3D73, 48805 },
- { 0x3D76, 48809 },
- { 0x3DF9, 48814 },
- { 0x3D1F, 48819 },
- { 0x3C8D, 48826 },
- { 0x3D1E, 48833 },
- { 0x3C8C, 48840 },
- { 0x3D20, 48847 },
- { 0x3C8E, 48854 },
- { 0x3C8A, 48861 },
- { 0x3C8B, 48868 },
- { 0x3C8F, 48875 },
- { 0x3C26, 48883 },
- { 0x3C27, 48896 },
- { 0x3C25, 48909 },
- { 0x3D79, 48922 },
- { 0x3D74, 48926 },
- { 0x3D77, 48930 },
- { 0x3DF7, 48934 },
- { 0x3D6C, 48939 },
- { 0x3DFB, 48943 },
- { 0x3D75, 48948 },
- { 0x3E00, 48952 },
- { 0x3D7B, 48957 },
- { 0x3DF2, 48961 },
- { 0x3D7A, 48965 },
- { 0x3D78, 48969 },
- { 0x3E01, 48975 },
- { 0x3D72, 48980 },
- { 0x3DFD, 48985 },
- { 0x3DFE, 48990 },
+ { 0x3E60, 45159 },
+ { 0x3D45, 45163 },
+ { 0x3D29, 45170 },
+ { 0x3D44, 45177 },
+ { 0x3D28, 45185 },
+ { 0x3DA6, 45193 },
+ { 0x3DF3, 45202 },
+ { 0x3CEB, 45211 },
+ { 0x3C5A, 45218 },
+ { 0x3DE5, 45225 },
+ { 0x3DA9, 45234 },
+ { 0x3DA7, 45244 },
+ { 0x3DA8, 45253 },
+ { 0x3CEC, 45262 },
+ { 0x3C5B, 45269 },
+ { 0x3DF1, 45276 },
+ { 0x3CCE, 45285 },
+ { 0x3C37, 45292 },
+ { 0x3D13, 45299 },
+ { 0x3CD1, 45306 },
+ { 0x3C9B, 45313 },
+ { 0x3CA0, 45320 },
+ { 0x3C3B, 45327 },
+ { 0x3C9F, 45334 },
+ { 0x3C3A, 45342 },
+ { 0x3CCD, 45350 },
+ { 0x3C36, 45357 },
+ { 0x3DCD, 45364 },
+ { 0x3CCF, 45373 },
+ { 0x3C38, 45380 },
+ { 0x3C9D, 45387 },
+ { 0x3D12, 45394 },
+ { 0x3CD0, 45401 },
+ { 0x3C39, 45408 },
+ { 0x3C9E, 45415 },
+ { 0x3C9C, 45422 },
+ { 0x3DDA, 45429 },
+ { 0x3D9F, 45438 },
+ { 0x3CE6, 45448 },
+ { 0x3C54, 45455 },
+ { 0x3D5D, 45462 },
+ { 0x3D41, 45469 },
+ { 0x3D55, 45476 },
+ { 0x3D39, 45483 },
+ { 0x3D54, 45490 },
+ { 0x3D38, 45498 },
+ { 0x3CE5, 45506 },
+ { 0x3C53, 45513 },
+ { 0x3DA0, 45520 },
+ { 0x3DA1, 45529 },
+ { 0x3CE7, 45538 },
+ { 0x3C55, 45545 },
+ { 0x3CE8, 45552 },
+ { 0x3C56, 45559 },
+ { 0x3CF0, 45566 },
+ { 0x3C5F, 45573 },
+ { 0x3CAE, 45580 },
+ { 0x3C63, 45587 },
+ { 0x3CAD, 45594 },
+ { 0x3C62, 45602 },
+ { 0x3CEF, 45610 },
+ { 0x3C5E, 45617 },
+ { 0x3DAD, 45624 },
+ { 0x3DAE, 45633 },
+ { 0x3CF1, 45642 },
+ { 0x3C60, 45649 },
+ { 0x3DF0, 45656 },
+ { 0x3CF2, 45665 },
+ { 0x3C61, 45672 },
+ { 0x3D4D, 45679 },
+ { 0x3D31, 45686 },
+ { 0x3D4C, 45693 },
+ { 0x3D30, 45701 },
+ { 0x3DEE, 45709 },
+ { 0x3CDA, 45718 },
+ { 0x3C48, 45725 },
+ { 0x3D8B, 45732 },
+ { 0x3D8C, 45741 },
+ { 0x3CDB, 45751 },
+ { 0x3C49, 45758 },
+ { 0x3C85, 45765 },
+ { 0x3C84, 45772 },
+ { 0x3D08, 45780 },
+ { 0x3C82, 45787 },
+ { 0x3DC2, 45794 },
+ { 0x3DC3, 45803 },
+ { 0x3D09, 45812 },
+ { 0x3C83, 45819 },
+ { 0x3D0A, 45826 },
+ { 0x3CF6, 45834 },
+ { 0x3C6A, 45841 },
+ { 0x3CB2, 45848 },
+ { 0x3D1C, 45855 },
+ { 0x3CF8, 45862 },
+ { 0x3C6C, 45869 },
+ { 0x3CB5, 45876 },
+ { 0x3C6F, 45883 },
+ { 0x3CB1, 45890 },
+ { 0x3CB4, 45897 },
+ { 0x3C6E, 45905 },
+ { 0x3C68, 45913 },
+ { 0x3CF5, 45920 },
+ { 0x3C69, 45927 },
+ { 0x3CF7, 45934 },
+ { 0x3C6B, 45941 },
+ { 0x3DE6, 45948 },
+ { 0x3DEA, 45957 },
+ { 0x3DF2, 45966 },
+ { 0x3CB3, 45975 },
+ { 0x3D1D, 45982 },
+ { 0x3CF9, 45989 },
+ { 0x3C6D, 45996 },
+ { 0x3DB2, 46003 },
+ { 0x3DB3, 46012 },
+ { 0x3DB1, 46022 },
+ { 0x3DE4, 46031 },
+ { 0x3CFB, 46040 },
+ { 0x3C71, 46047 },
+ { 0x3CFE, 46054 },
+ { 0x3CB8, 46061 },
+ { 0x3C75, 46068 },
+ { 0x3EE3, 46075 },
+ { 0x3EE2, 46085 },
+ { 0x3EE5, 46095 },
+ { 0x3EE4, 46105 },
+ { 0x3EE1, 46115 },
+ { 0x3EE0, 46125 },
+ { 0x3EE7, 46135 },
+ { 0x3CB7, 46142 },
+ { 0x3C74, 46150 },
+ { 0x3EE6, 46158 },
+ { 0x3DDB, 46165 },
+ { 0x3DB5, 46174 },
+ { 0x3DB4, 46183 },
+ { 0x3DEB, 46192 },
+ { 0x3DE9, 46201 },
+ { 0x3CFA, 46210 },
+ { 0x3C70, 46217 },
+ { 0x3DB6, 46224 },
+ { 0x3DB7, 46233 },
+ { 0x3CFC, 46242 },
+ { 0x3C72, 46249 },
+ { 0x3DB8, 46256 },
+ { 0x3DB9, 46265 },
+ { 0x3DDC, 46274 },
+ { 0x3CB6, 46283 },
+ { 0x3D1E, 46290 },
+ { 0x3CFD, 46297 },
+ { 0x3C73, 46304 },
+ { 0x3CF3, 46311 },
+ { 0x3C64, 46318 },
+ { 0x3CB0, 46325 },
+ { 0x3C67, 46332 },
+ { 0x3CAF, 46339 },
+ { 0x3C66, 46347 },
+ { 0x3DAF, 46355 },
+ { 0x3DE3, 46364 },
+ { 0x3DE1, 46373 },
+ { 0x3DB0, 46382 },
+ { 0x3CF4, 46391 },
+ { 0x3C65, 46398 },
+ { 0x3C8D, 46405 },
+ { 0x3D95, 46413 },
+ { 0x3D96, 46422 },
+ { 0x3DD8, 46431 },
+ { 0x3CE2, 46440 },
+ { 0x3C51, 46447 },
+ { 0x3D5C, 46454 },
+ { 0x3D40, 46461 },
+ { 0x3D53, 46468 },
+ { 0x3D37, 46475 },
+ { 0x3D52, 46482 },
+ { 0x3D36, 46490 },
+ { 0x3CE3, 46498 },
+ { 0x3D97, 46505 },
+ { 0x3DF4, 46514 },
+ { 0x3CE4, 46523 },
+ { 0x3C52, 46530 },
+ { 0x3CE9, 46537 },
+ { 0x3C57, 46544 },
+ { 0x3D43, 46551 },
+ { 0x3D27, 46558 },
+ { 0x3D42, 46565 },
+ { 0x3D26, 46573 },
+ { 0x3DA2, 46581 },
+ { 0x3DA3, 46590 },
+ { 0x3DA5, 46599 },
+ { 0x3DA4, 46608 },
+ { 0x3D6B, 46617 },
+ { 0x3D64, 46624 },
+ { 0x3C58, 46631 },
+ { 0x3D82, 46638 },
+ { 0x3D83, 46647 },
+ { 0x3D84, 46656 },
+ { 0x3CD3, 46665 },
+ { 0x3C3D, 46672 },
+ { 0x3D15, 46679 },
+ { 0x3CD6, 46686 },
+ { 0x3CA1, 46693 },
+ { 0x3CA6, 46700 },
+ { 0x3C41, 46707 },
+ { 0x3CA5, 46714 },
+ { 0x3C40, 46722 },
+ { 0x3DCE, 46730 },
+ { 0x3DCF, 46739 },
+ { 0x3D81, 46749 },
+ { 0x3CD2, 46758 },
+ { 0x3C3C, 46765 },
+ { 0x3DD0, 46772 },
+ { 0x3DD1, 46781 },
+ { 0x3D85, 46791 },
+ { 0x3CD4, 46800 },
+ { 0x3C3E, 46807 },
+ { 0x3D87, 46814 },
+ { 0x3DD2, 46823 },
+ { 0x3DD3, 46832 },
+ { 0x3D86, 46842 },
+ { 0x3D88, 46851 },
+ { 0x3CA3, 46860 },
+ { 0x3D14, 46867 },
+ { 0x3CD5, 46874 },
+ { 0x3C3F, 46881 },
+ { 0x3CA4, 46888 },
+ { 0x3CA2, 46895 },
+ { 0x3DDD, 46902 },
+ { 0x3D0C, 46911 },
+ { 0x3C87, 46918 },
+ { 0x3D22, 46925 },
+ { 0x3D0F, 46932 },
+ { 0x3CC2, 46939 },
+ { 0x3CC7, 46946 },
+ { 0x3C8B, 46953 },
+ { 0x3CC6, 46960 },
+ { 0x3C8A, 46968 },
+ { 0x3DDE, 46976 },
+ { 0x3D0B, 46985 },
+ { 0x3C86, 46992 },
+ { 0x3D0D, 46999 },
+ { 0x3C88, 47006 },
+ { 0x3DDF, 47013 },
+ { 0x3DCB, 47022 },
+ { 0x3DCC, 47031 },
+ { 0x3CC4, 47040 },
+ { 0x3D21, 47047 },
+ { 0x3D0E, 47054 },
+ { 0x3C89, 47061 },
+ { 0x3CC5, 47068 },
+ { 0x3CC3, 47075 },
+ { 0x3C28, 47082 },
+ { 0x3C29, 47092 },
+ { 0x3C27, 47102 },
+ { 0x3C22, 47112 },
+ { 0x3C21, 47122 },
+ { 0x3C1E, 47132 },
+ { 0x3C1D, 47142 },
+ { 0x3C24, 47152 },
+ { 0x3C23, 47162 },
+ { 0x3C26, 47172 },
+ { 0x3C25, 47182 },
+ { 0x3CC9, 47192 },
+ { 0x3C32, 47202 },
+ { 0x3D11, 47212 },
+ { 0x3CCC, 47222 },
+ { 0x3C95, 47232 },
+ { 0x3C20, 47242 },
+ { 0x3C1F, 47252 },
+ { 0x3C9A, 47262 },
+ { 0x3C35, 47272 },
+ { 0x3C1C, 47282 },
+ { 0x3C99, 47292 },
+ { 0x3C34, 47303 },
+ { 0x3C1B, 47314 },
+ { 0x3CC8, 47324 },
+ { 0x3C31, 47334 },
+ { 0x3CCA, 47344 },
+ { 0x3C97, 47354 },
+ { 0x3D10, 47364 },
+ { 0x3CCB, 47374 },
+ { 0x3C33, 47384 },
+ { 0x3C98, 47394 },
+ { 0x3C96, 47404 },
+ { 0x3D6C, 47414 },
+ { 0x3CEA, 47421 },
+ { 0x3C59, 47428 },
+ { 0x3D6D, 47435 },
+ { 0x3D6E, 47442 },
+ { 0x3CC1, 47449 },
+ { 0x3C8E, 47458 },
+ { 0x3E07, 47467 },
+ { 0x3DED, 47472 },
+ { 0x3DD5, 47481 },
+ { 0x3CD8, 47491 },
+ { 0x3C46, 47498 },
+ { 0x3D4F, 47505 },
+ { 0x3D33, 47512 },
+ { 0x3D4E, 47519 },
+ { 0x3D32, 47527 },
+ { 0x3D89, 47535 },
+ { 0x3D8A, 47544 },
+ { 0x3DD4, 47553 },
+ { 0x3DD6, 47562 },
+ { 0x3CD9, 47572 },
+ { 0x3C47, 47579 },
+ { 0x3C4B, 47586 },
+ { 0x3D51, 47593 },
+ { 0x3D35, 47600 },
+ { 0x3D50, 47607 },
+ { 0x3D34, 47615 },
+ { 0x3CDC, 47623 },
+ { 0x3C4A, 47630 },
+ { 0x3CDD, 47637 },
+ { 0x3C4C, 47644 },
+ { 0x3DBC, 47651 },
+ { 0x3DBA, 47660 },
+ { 0x3DBB, 47669 },
+ { 0x3D00, 47678 },
+ { 0x3C77, 47685 },
+ { 0x3C7B, 47692 },
+ { 0x3CB9, 47699 },
+ { 0x3C7A, 47706 },
+ { 0x3DBD, 47714 },
+ { 0x3DEF, 47723 },
+ { 0x3DC1, 47732 },
+ { 0x3DBE, 47741 },
+ { 0x3CFF, 47750 },
+ { 0x3C76, 47757 },
+ { 0x3DE8, 47764 },
+ { 0x3DBF, 47773 },
+ { 0x3DC0, 47782 },
+ { 0x3D01, 47791 },
+ { 0x3C78, 47798 },
+ { 0x3DE0, 47805 },
+ { 0x3CBA, 47814 },
+ { 0x3D02, 47821 },
+ { 0x3C79, 47828 },
+ { 0x3DE2, 47835 },
+ { 0x3DC5, 47844 },
+ { 0x3DC4, 47854 },
+ { 0x3D04, 47863 },
+ { 0x3C7D, 47870 },
+ { 0x3D20, 47877 },
+ { 0x3D07, 47884 },
+ { 0x3CBB, 47891 },
+ { 0x3CC0, 47898 },
+ { 0x3C81, 47905 },
+ { 0x3CBF, 47912 },
+ { 0x3C80, 47920 },
+ { 0x3DEC, 47928 },
+ { 0x3DE7, 47937 },
+ { 0x3DF6, 47946 },
+ { 0x3DC8, 47955 },
+ { 0x3DC6, 47965 },
+ { 0x3DC7, 47974 },
+ { 0x3D03, 47983 },
+ { 0x3C7C, 47990 },
+ { 0x3D05, 47997 },
+ { 0x3C7E, 48004 },
+ { 0x3DC9, 48011 },
+ { 0x3DCA, 48020 },
+ { 0x3CBD, 48030 },
+ { 0x3D1F, 48037 },
+ { 0x3D06, 48044 },
+ { 0x3C7F, 48051 },
+ { 0x3CBE, 48058 },
+ { 0x3CBC, 48065 },
+ { 0x3DF9, 48072 },
+ { 0x3D72, 48082 },
+ { 0x3D73, 48087 },
+ { 0x3D74, 48092 },
+ { 0x3D75, 48097 },
+ { 0x3D76, 48102 },
+ { 0x3D8D, 48107 },
+ { 0x3D66, 48116 },
+ { 0x3CDF, 48123 },
+ { 0x3C4E, 48130 },
+ { 0x3D19, 48137 },
+ { 0x3D62, 48144 },
+ { 0x3D5B, 48151 },
+ { 0x3D3F, 48158 },
+ { 0x3D49, 48165 },
+ { 0x3D2D, 48172 },
+ { 0x3D48, 48179 },
+ { 0x3D2C, 48187 },
+ { 0x3D8E, 48195 },
+ { 0x3D8F, 48204 },
+ { 0x3D65, 48214 },
+ { 0x3CDE, 48221 },
+ { 0x3C4D, 48228 },
+ { 0x3DF5, 48235 },
+ { 0x3DD7, 48244 },
+ { 0x3D67, 48254 },
+ { 0x3CE0, 48261 },
+ { 0x3C4F, 48268 },
+ { 0x3D90, 48275 },
+ { 0x3D91, 48284 },
+ { 0x3D92, 48293 },
+ { 0x3D93, 48302 },
+ { 0x3D94, 48311 },
+ { 0x3D18, 48320 },
+ { 0x3CE1, 48327 },
+ { 0x3C50, 48334 },
+ { 0x3C8C, 48341 },
+ { 0x3D17, 48349 },
+ { 0x3CA7, 48356 },
+ { 0x3CAC, 48363 },
+ { 0x3C45, 48370 },
+ { 0x3CAB, 48377 },
+ { 0x3C44, 48385 },
+ { 0x3C42, 48393 },
+ { 0x3CA9, 48400 },
+ { 0x3D16, 48407 },
+ { 0x3CD7, 48414 },
+ { 0x3C43, 48421 },
+ { 0x3CAA, 48428 },
+ { 0x3CA8, 48435 },
+ { 0x3DFB, 48442 },
+ { 0x3DFA, 48447 },
+ { 0x3D47, 48452 },
+ { 0x3D2B, 48459 },
+ { 0x3D46, 48466 },
+ { 0x3D2A, 48474 },
+ { 0x3CED, 48482 },
+ { 0x3C5C, 48489 },
+ { 0x3DAB, 48496 },
+ { 0x3DAC, 48505 },
+ { 0x3DAA, 48515 },
+ { 0x3CEE, 48524 },
+ { 0x3C5D, 48531 },
+ { 0x3DFD, 48538 },
+ { 0x3DF8, 48543 },
+ { 0x3E01, 48553 },
+ { 0x3DD9, 48558 },
+ { 0x3D98, 48567 },
+ { 0x3D99, 48576 },
+ { 0x3D57, 48585 },
+ { 0x3D69, 48592 },
+ { 0x3D5F, 48599 },
+ { 0x3D3B, 48606 },
+ { 0x3D1B, 48613 },
+ { 0x3D63, 48620 },
+ { 0x3D5A, 48627 },
+ { 0x3D3E, 48634 },
+ { 0x3D4B, 48641 },
+ { 0x3D2F, 48648 },
+ { 0x3D4A, 48655 },
+ { 0x3D2E, 48663 },
+ { 0x3D9A, 48671 },
+ { 0x3D56, 48680 },
+ { 0x3D68, 48687 },
+ { 0x3D5E, 48694 },
+ { 0x3D3A, 48701 },
+ { 0x3D58, 48708 },
+ { 0x3D6A, 48715 },
+ { 0x3D60, 48722 },
+ { 0x3D3C, 48729 },
+ { 0x3D9B, 48736 },
+ { 0x3D9C, 48745 },
+ { 0x3D9D, 48754 },
+ { 0x3D9E, 48763 },
+ { 0x3D59, 48772 },
+ { 0x3D1A, 48779 },
+ { 0x3D61, 48786 },
+ { 0x3D3D, 48793 },
+ { 0x3DFF, 48800 },
+ { 0x3D78, 48805 },
+ { 0x3D7B, 48809 },
+ { 0x3DFE, 48814 },
+ { 0x3D24, 48819 },
+ { 0x3C92, 48826 },
+ { 0x3D23, 48833 },
+ { 0x3C91, 48840 },
+ { 0x3D25, 48847 },
+ { 0x3C93, 48854 },
+ { 0x3C8F, 48861 },
+ { 0x3C90, 48868 },
+ { 0x3C94, 48875 },
+ { 0x3C2B, 48883 },
+ { 0x3C2C, 48896 },
+ { 0x3C2A, 48909 },
+ { 0x3D7E, 48922 },
+ { 0x3D79, 48926 },
+ { 0x3D7C, 48930 },
+ { 0x3DFC, 48934 },
+ { 0x3D71, 48939 },
+ { 0x3E00, 48943 },
+ { 0x3D7A, 48948 },
+ { 0x3E05, 48952 },
+ { 0x3D80, 48957 },
+ { 0x3DF7, 48961 },
+ { 0x3D7F, 48965 },
+ { 0x3D7D, 48969 },
+ { 0x3E06, 48975 },
+ { 0x3D77, 48980 },
+ { 0x3E02, 48985 },
+ { 0x3E03, 48990 },
{ 0x05B8, 48993 },
{ 0x05F6, 48996 },
{ 0x0809, 48999 },
@@ -58922,176 +58929,176 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x05EF, 49006 },
{ 0x0605, 49009 },
{ 0x0811, 49012 },
- { 0x783A, 49016 },
- { 0x782D, 49019 },
- { 0x7844, 49022 },
- { 0x782F, 49025 },
- { 0x783B, 49028 },
- { 0x7832, 49031 },
- { 0x7835, 49034 },
- { 0x7836, 49037 },
- { 0x783D, 49040 },
- { 0x783E, 49043 },
- { 0x783C, 49046 },
- { 0x7833, 49049 },
- { 0x7840, 49052 },
- { 0x7830, 49055 },
- { 0x7834, 49058 },
- { 0x7845, 49061 },
- { 0x782C, 49064 },
- { 0x782E, 49067 },
- { 0x7842, 49070 },
- { 0x7837, 49073 },
- { 0x7838, 49076 },
- { 0x7839, 49079 },
- { 0x7843, 49082 },
- { 0x7841, 49085 },
- { 0x7831, 49088 },
- { 0x7846, 49091 },
- { 0x783F, 49094 },
- { 0x7893, 49097 },
- { 0x7886, 49101 },
- { 0x789D, 49105 },
- { 0x7888, 49109 },
- { 0x7894, 49113 },
- { 0x788C, 49117 },
- { 0x7889, 49121 },
- { 0x788F, 49125 },
- { 0x7896, 49129 },
- { 0x7897, 49133 },
- { 0x7895, 49137 },
- { 0x788D, 49141 },
- { 0x7899, 49145 },
- { 0x788A, 49149 },
- { 0x788E, 49153 },
- { 0x789E, 49157 },
- { 0x7885, 49161 },
- { 0x7887, 49165 },
- { 0x789B, 49169 },
- { 0x7890, 49173 },
- { 0x7891, 49177 },
- { 0x7892, 49181 },
- { 0x789C, 49185 },
- { 0x789A, 49189 },
- { 0x788B, 49193 },
- { 0x789F, 49197 },
- { 0x7898, 49201 },
- { 0x7865, 49205 },
- { 0x786A, 49209 },
- { 0x7860, 49213 },
- { 0x7862, 49217 },
- { 0x7867, 49221 },
- { 0x7866, 49225 },
- { 0x7861, 49229 },
- { 0x785F, 49233 },
- { 0x7869, 49237 },
- { 0x7863, 49241 },
- { 0x7864, 49245 },
- { 0x786B, 49249 },
- { 0x7868, 49253 },
- { 0x786D, 49257 },
- { 0x786C, 49262 },
- { 0x7847, 49267 },
- { 0x7849, 49271 },
- { 0x784A, 49275 },
- { 0x7848, 49279 },
- { 0x7855, 49283 },
- { 0x784B, 49287 },
- { 0x785D, 49291 },
- { 0x7856, 49295 },
- { 0x784E, 49299 },
- { 0x784D, 49303 },
- { 0x7850, 49307 },
- { 0x7851, 49311 },
- { 0x7858, 49315 },
- { 0x7857, 49319 },
- { 0x785A, 49323 },
- { 0x784F, 49327 },
- { 0x784C, 49331 },
- { 0x785C, 49335 },
- { 0x7852, 49339 },
- { 0x7853, 49343 },
- { 0x7854, 49347 },
- { 0x785B, 49351 },
- { 0x785E, 49355 },
- { 0x7859, 49359 },
- { 0x78BA, 49363 },
- { 0x78B9, 49369 },
- { 0x7878, 49377 },
- { 0x786E, 49381 },
- { 0x7880, 49385 },
- { 0x7879, 49389 },
- { 0x7871, 49393 },
- { 0x7870, 49397 },
- { 0x7874, 49401 },
- { 0x787B, 49405 },
- { 0x787A, 49409 },
- { 0x7872, 49413 },
- { 0x787D, 49417 },
- { 0x7873, 49421 },
- { 0x7881, 49425 },
- { 0x786F, 49429 },
- { 0x787F, 49433 },
- { 0x7875, 49437 },
- { 0x7876, 49441 },
- { 0x7877, 49445 },
- { 0x787E, 49449 },
- { 0x7882, 49453 },
- { 0x787C, 49457 },
- { 0x7883, 49461 },
- { 0x7884, 49466 },
- { 0x78AC, 49471 },
- { 0x78A0, 49475 },
- { 0x78B6, 49479 },
- { 0x78A2, 49483 },
- { 0x78AD, 49487 },
- { 0x78A5, 49491 },
- { 0x78A8, 49495 },
- { 0x78AF, 49499 },
- { 0x78B0, 49503 },
- { 0x78AE, 49507 },
- { 0x78A6, 49511 },
- { 0x78B2, 49515 },
- { 0x78A3, 49519 },
- { 0x78A7, 49523 },
- { 0x78B7, 49527 },
- { 0x78A1, 49531 },
- { 0x78B4, 49535 },
- { 0x78A9, 49539 },
- { 0x78AA, 49543 },
- { 0x78AB, 49547 },
- { 0x78B5, 49551 },
- { 0x78B3, 49555 },
- { 0x78A4, 49559 },
- { 0x78B8, 49563 },
- { 0x78B1, 49567 },
- { 0x7B4D, 49571 },
- { 0x80B5, 49573 },
- { 0x8176, 49574 },
+ { 0x783F, 49016 },
+ { 0x7832, 49019 },
+ { 0x7849, 49022 },
+ { 0x7834, 49025 },
+ { 0x7840, 49028 },
+ { 0x7837, 49031 },
+ { 0x783A, 49034 },
+ { 0x783B, 49037 },
+ { 0x7842, 49040 },
+ { 0x7843, 49043 },
+ { 0x7841, 49046 },
+ { 0x7838, 49049 },
+ { 0x7845, 49052 },
+ { 0x7835, 49055 },
+ { 0x7839, 49058 },
+ { 0x784A, 49061 },
+ { 0x7831, 49064 },
+ { 0x7833, 49067 },
+ { 0x7847, 49070 },
+ { 0x783C, 49073 },
+ { 0x783D, 49076 },
+ { 0x783E, 49079 },
+ { 0x7848, 49082 },
+ { 0x7846, 49085 },
+ { 0x7836, 49088 },
+ { 0x784B, 49091 },
+ { 0x7844, 49094 },
+ { 0x7898, 49097 },
+ { 0x788B, 49101 },
+ { 0x78A2, 49105 },
+ { 0x788D, 49109 },
+ { 0x7899, 49113 },
+ { 0x7891, 49117 },
+ { 0x788E, 49121 },
+ { 0x7894, 49125 },
+ { 0x789B, 49129 },
+ { 0x789C, 49133 },
+ { 0x789A, 49137 },
+ { 0x7892, 49141 },
+ { 0x789E, 49145 },
+ { 0x788F, 49149 },
+ { 0x7893, 49153 },
+ { 0x78A3, 49157 },
+ { 0x788A, 49161 },
+ { 0x788C, 49165 },
+ { 0x78A0, 49169 },
+ { 0x7895, 49173 },
+ { 0x7896, 49177 },
+ { 0x7897, 49181 },
+ { 0x78A1, 49185 },
+ { 0x789F, 49189 },
+ { 0x7890, 49193 },
+ { 0x78A4, 49197 },
+ { 0x789D, 49201 },
+ { 0x786A, 49205 },
+ { 0x786F, 49209 },
+ { 0x7865, 49213 },
+ { 0x7867, 49217 },
+ { 0x786C, 49221 },
+ { 0x786B, 49225 },
+ { 0x7866, 49229 },
+ { 0x7864, 49233 },
+ { 0x786E, 49237 },
+ { 0x7868, 49241 },
+ { 0x7869, 49245 },
+ { 0x7870, 49249 },
+ { 0x786D, 49253 },
+ { 0x7872, 49257 },
+ { 0x7871, 49262 },
+ { 0x784C, 49267 },
+ { 0x784E, 49271 },
+ { 0x784F, 49275 },
+ { 0x784D, 49279 },
+ { 0x785A, 49283 },
+ { 0x7850, 49287 },
+ { 0x7862, 49291 },
+ { 0x785B, 49295 },
+ { 0x7853, 49299 },
+ { 0x7852, 49303 },
+ { 0x7855, 49307 },
+ { 0x7856, 49311 },
+ { 0x785D, 49315 },
+ { 0x785C, 49319 },
+ { 0x785F, 49323 },
+ { 0x7854, 49327 },
+ { 0x7851, 49331 },
+ { 0x7861, 49335 },
+ { 0x7857, 49339 },
+ { 0x7858, 49343 },
+ { 0x7859, 49347 },
+ { 0x7860, 49351 },
+ { 0x7863, 49355 },
+ { 0x785E, 49359 },
+ { 0x78BF, 49363 },
+ { 0x78BE, 49369 },
+ { 0x787D, 49377 },
+ { 0x7873, 49381 },
+ { 0x7885, 49385 },
+ { 0x787E, 49389 },
+ { 0x7876, 49393 },
+ { 0x7875, 49397 },
+ { 0x7879, 49401 },
+ { 0x7880, 49405 },
+ { 0x787F, 49409 },
+ { 0x7877, 49413 },
+ { 0x7882, 49417 },
+ { 0x7878, 49421 },
+ { 0x7886, 49425 },
+ { 0x7874, 49429 },
+ { 0x7884, 49433 },
+ { 0x787A, 49437 },
+ { 0x787B, 49441 },
+ { 0x787C, 49445 },
+ { 0x7883, 49449 },
+ { 0x7887, 49453 },
+ { 0x7881, 49457 },
+ { 0x7888, 49461 },
+ { 0x7889, 49466 },
+ { 0x78B1, 49471 },
+ { 0x78A5, 49475 },
+ { 0x78BB, 49479 },
+ { 0x78A7, 49483 },
+ { 0x78B2, 49487 },
+ { 0x78AA, 49491 },
+ { 0x78AD, 49495 },
+ { 0x78B4, 49499 },
+ { 0x78B5, 49503 },
+ { 0x78B3, 49507 },
+ { 0x78AB, 49511 },
+ { 0x78B7, 49515 },
+ { 0x78A8, 49519 },
+ { 0x78AC, 49523 },
+ { 0x78BC, 49527 },
+ { 0x78A6, 49531 },
+ { 0x78B9, 49535 },
+ { 0x78AE, 49539 },
+ { 0x78AF, 49543 },
+ { 0x78B0, 49547 },
+ { 0x78BA, 49551 },
+ { 0x78B8, 49555 },
+ { 0x78A9, 49559 },
+ { 0x78BD, 49563 },
+ { 0x78B6, 49567 },
+ { 0x7B52, 49571 },
+ { 0x80BA, 49573 },
+ { 0x817B, 49574 },
{ 0x233A, 49576 },
{ 0x2233, 49578 },
{ 0x2235, 49580 },
- { 0x7D9E, 49584 },
- { 0x7D9C, 49589 },
+ { 0x7DA3, 49584 },
+ { 0x7DA1, 49589 },
{ 0x2234, 49595 },
{ 0x27DD, 49599 },
- { 0x7D98, 49604 },
- { 0x7D9A, 49608 },
- { 0x7D9B, 49613 },
- { 0x7D99, 49617 },
- { 0x7AF1, 49620 },
- { 0x7C2D, 49621 },
- { 0x810E, 49623 },
+ { 0x7D9D, 49604 },
+ { 0x7D9F, 49608 },
+ { 0x7DA0, 49613 },
+ { 0x7D9E, 49617 },
+ { 0x7AF6, 49620 },
+ { 0x7C32, 49621 },
+ { 0x8113, 49623 },
{ 0x228E, 49624 },
- { 0x7B41, 49627 },
+ { 0x7B46, 49627 },
{ 0x228F, 49631 },
- { 0x7B42, 49634 },
- { 0x80BF, 49638 },
- { 0x81AE, 49639 },
- { 0x7BFE, 49640 },
- { 0x80F6, 49641 },
- { 0x81D5, 49643 },
- { 0x7B23, 49645 },
+ { 0x7B47, 49634 },
+ { 0x80C4, 49638 },
+ { 0x81B3, 49639 },
+ { 0x7C03, 49640 },
+ { 0x80FB, 49641 },
+ { 0x81DA, 49643 },
+ { 0x7B28, 49645 },
{ 0x255E, 49649 },
{ 0x2A48, 49653 },
{ 0x27EB, 49657 },
@@ -59111,269 +59118,269 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F19, 49707 },
{ 0x25F4, 49708 },
{ 0x25F5, 49713 },
- { 0x805E, 49718 },
- { 0x4AA1, 49720 },
- { 0x4A37, 49725 },
- { 0x4A36, 49728 },
- { 0x4A35, 49731 },
- { 0x4A38, 49734 },
- { 0x4A39, 49737 },
- { 0x4A7C, 49740 },
- { 0x4A98, 49742 },
- { 0x4A9D, 49745 },
- { 0x4A99, 49748 },
- { 0x4A9C, 49751 },
- { 0x4A9B, 49754 },
- { 0x4AA0, 49757 },
- { 0x4A97, 49760 },
- { 0x4A9F, 49763 },
- { 0x4A9E, 49766 },
- { 0x4A9A, 49769 },
- { 0x4A77, 49772 },
- { 0x4A6F, 49776 },
- { 0x4A79, 49780 },
- { 0x4A71, 49784 },
- { 0x4A6D, 49788 },
- { 0x4A78, 49792 },
- { 0x4A7A, 49796 },
- { 0x4A70, 49800 },
- { 0x4A72, 49804 },
- { 0x4AA4, 49808 },
- { 0x4AA5, 49815 },
- { 0x4A75, 49822 },
- { 0x4A73, 49827 },
- { 0x4A76, 49832 },
- { 0x4A74, 49837 },
- { 0x4A6E, 49842 },
- { 0x4A7D, 49847 },
- { 0x4A3A, 49850 },
- { 0x4A44, 49853 },
- { 0x4A3C, 49856 },
- { 0x4A46, 49859 },
- { 0x4A3E, 49862 },
- { 0x4A3B, 49865 },
- { 0x4A45, 49868 },
- { 0x4A47, 49871 },
- { 0x4A5E, 49874 },
- { 0x4A4D, 49877 },
- { 0x4A59, 49880 },
- { 0x4A4A, 49883 },
- { 0x4A68, 49886 },
- { 0x4A3D, 49889 },
- { 0x4A4F, 49892 },
- { 0x4A48, 49895 },
- { 0x4A63, 49898 },
- { 0x4A60, 49901 },
- { 0x4A5B, 49904 },
- { 0x4A5C, 49907 },
- { 0x4A62, 49910 },
- { 0x4A67, 49913 },
- { 0x4A57, 49916 },
- { 0x4A3F, 49919 },
- { 0x4A64, 49922 },
- { 0x4A61, 49925 },
- { 0x4A5F, 49928 },
- { 0x4A4E, 49931 },
- { 0x4A54, 49934 },
- { 0x4A5A, 49937 },
- { 0x4A4B, 49940 },
- { 0x4A50, 49943 },
- { 0x4A49, 49946 },
- { 0x4A69, 49949 },
- { 0x4A4C, 49952 },
- { 0x4A56, 49955 },
- { 0x4A51, 49958 },
- { 0x4AA6, 49961 },
- { 0x4A6B, 49966 },
- { 0x4A6A, 49971 },
- { 0x4A6C, 49976 },
- { 0x4AA2, 49981 },
- { 0x4AA3, 49987 },
- { 0x4A5D, 49993 },
- { 0x4A65, 49996 },
- { 0x4A66, 49999 },
- { 0x4A58, 50002 },
- { 0x4A52, 50005 },
- { 0x4A55, 50008 },
- { 0x4A53, 50011 },
- { 0x4A42, 50014 },
- { 0x4A40, 50018 },
- { 0x4A43, 50022 },
- { 0x4A41, 50026 },
- { 0x4A83, 50030 },
- { 0x4A95, 50033 },
- { 0x4A96, 50037 },
- { 0x4A88, 50041 },
- { 0x4A8C, 50044 },
- { 0x4A84, 50047 },
- { 0x4A87, 50050 },
- { 0x4A86, 50053 },
- { 0x4A8B, 50056 },
- { 0x4A8A, 50059 },
- { 0x4A90, 50062 },
- { 0x4A8F, 50065 },
- { 0x4A89, 50068 },
- { 0x4A91, 50071 },
- { 0x4A85, 50074 },
- { 0x4A93, 50077 },
- { 0x4AA7, 50080 },
- { 0x4A94, 50083 },
- { 0x4A8E, 50086 },
- { 0x4A8D, 50089 },
- { 0x4A92, 50092 },
- { 0x4A7B, 50095 },
- { 0x4A7E, 50097 },
- { 0x4A80, 50100 },
- { 0x4A82, 50103 },
- { 0x4A7F, 50106 },
- { 0x4A81, 50110 },
- { 0x7AAE, 50114 },
- { 0x8178, 50117 },
+ { 0x8063, 49718 },
+ { 0x4AA6, 49720 },
+ { 0x4A3C, 49725 },
+ { 0x4A3B, 49728 },
+ { 0x4A3A, 49731 },
+ { 0x4A3D, 49734 },
+ { 0x4A3E, 49737 },
+ { 0x4A81, 49740 },
+ { 0x4A9D, 49742 },
+ { 0x4AA2, 49745 },
+ { 0x4A9E, 49748 },
+ { 0x4AA1, 49751 },
+ { 0x4AA0, 49754 },
+ { 0x4AA5, 49757 },
+ { 0x4A9C, 49760 },
+ { 0x4AA4, 49763 },
+ { 0x4AA3, 49766 },
+ { 0x4A9F, 49769 },
+ { 0x4A7C, 49772 },
+ { 0x4A74, 49776 },
+ { 0x4A7E, 49780 },
+ { 0x4A76, 49784 },
+ { 0x4A72, 49788 },
+ { 0x4A7D, 49792 },
+ { 0x4A7F, 49796 },
+ { 0x4A75, 49800 },
+ { 0x4A77, 49804 },
+ { 0x4AA9, 49808 },
+ { 0x4AAA, 49815 },
+ { 0x4A7A, 49822 },
+ { 0x4A78, 49827 },
+ { 0x4A7B, 49832 },
+ { 0x4A79, 49837 },
+ { 0x4A73, 49842 },
+ { 0x4A82, 49847 },
+ { 0x4A3F, 49850 },
+ { 0x4A49, 49853 },
+ { 0x4A41, 49856 },
+ { 0x4A4B, 49859 },
+ { 0x4A43, 49862 },
+ { 0x4A40, 49865 },
+ { 0x4A4A, 49868 },
+ { 0x4A4C, 49871 },
+ { 0x4A63, 49874 },
+ { 0x4A52, 49877 },
+ { 0x4A5E, 49880 },
+ { 0x4A4F, 49883 },
+ { 0x4A6D, 49886 },
+ { 0x4A42, 49889 },
+ { 0x4A54, 49892 },
+ { 0x4A4D, 49895 },
+ { 0x4A68, 49898 },
+ { 0x4A65, 49901 },
+ { 0x4A60, 49904 },
+ { 0x4A61, 49907 },
+ { 0x4A67, 49910 },
+ { 0x4A6C, 49913 },
+ { 0x4A5C, 49916 },
+ { 0x4A44, 49919 },
+ { 0x4A69, 49922 },
+ { 0x4A66, 49925 },
+ { 0x4A64, 49928 },
+ { 0x4A53, 49931 },
+ { 0x4A59, 49934 },
+ { 0x4A5F, 49937 },
+ { 0x4A50, 49940 },
+ { 0x4A55, 49943 },
+ { 0x4A4E, 49946 },
+ { 0x4A6E, 49949 },
+ { 0x4A51, 49952 },
+ { 0x4A5B, 49955 },
+ { 0x4A56, 49958 },
+ { 0x4AAB, 49961 },
+ { 0x4A70, 49966 },
+ { 0x4A6F, 49971 },
+ { 0x4A71, 49976 },
+ { 0x4AA7, 49981 },
+ { 0x4AA8, 49987 },
+ { 0x4A62, 49993 },
+ { 0x4A6A, 49996 },
+ { 0x4A6B, 49999 },
+ { 0x4A5D, 50002 },
+ { 0x4A57, 50005 },
+ { 0x4A5A, 50008 },
+ { 0x4A58, 50011 },
+ { 0x4A47, 50014 },
+ { 0x4A45, 50018 },
+ { 0x4A48, 50022 },
+ { 0x4A46, 50026 },
+ { 0x4A88, 50030 },
+ { 0x4A9A, 50033 },
+ { 0x4A9B, 50037 },
+ { 0x4A8D, 50041 },
+ { 0x4A91, 50044 },
+ { 0x4A89, 50047 },
+ { 0x4A8C, 50050 },
+ { 0x4A8B, 50053 },
+ { 0x4A90, 50056 },
+ { 0x4A8F, 50059 },
+ { 0x4A95, 50062 },
+ { 0x4A94, 50065 },
+ { 0x4A8E, 50068 },
+ { 0x4A96, 50071 },
+ { 0x4A8A, 50074 },
+ { 0x4A98, 50077 },
+ { 0x4AAC, 50080 },
+ { 0x4A99, 50083 },
+ { 0x4A93, 50086 },
+ { 0x4A92, 50089 },
+ { 0x4A97, 50092 },
+ { 0x4A80, 50095 },
+ { 0x4A83, 50097 },
+ { 0x4A85, 50100 },
+ { 0x4A87, 50103 },
+ { 0x4A84, 50106 },
+ { 0x4A86, 50110 },
+ { 0x7AB3, 50114 },
+ { 0x817D, 50117 },
{ 0x0065, 50118 },
- { 0x7C39, 50120 },
+ { 0x7C3E, 50120 },
{ 0x1FDC, 50122 },
- { 0x80DF, 50127 },
- { 0x819F, 50129 },
+ { 0x80E4, 50127 },
+ { 0x81A4, 50129 },
{ 0x1C9C, 50130 },
{ 0x1E6A, 50131 },
- { 0x80DC, 50133 },
- { 0x7ADA, 50134 },
- { 0x7C9C, 50135 },
- { 0x7C9D, 50136 },
- { 0x8315, 50139 },
+ { 0x80E1, 50133 },
+ { 0x7ADF, 50134 },
+ { 0x7CA1, 50135 },
+ { 0x7CA2, 50136 },
+ { 0x831A, 50139 },
{ 0x226E, 50141 },
- { 0x7D14, 50142 },
- { 0x807F, 50143 },
- { 0x417E, 50145 },
- { 0x4187, 50148 },
- { 0x4180, 50151 },
- { 0x4198, 50154 },
- { 0x419E, 50157 },
- { 0x4197, 50160 },
- { 0x419A, 50163 },
- { 0x4181, 50166 },
- { 0x4188, 50169 },
- { 0x4193, 50172 },
- { 0x4189, 50175 },
- { 0x4195, 50178 },
- { 0x4186, 50181 },
- { 0x4183, 50184 },
- { 0x418E, 50187 },
- { 0x418B, 50190 },
- { 0x4190, 50193 },
- { 0x4192, 50196 },
- { 0x4185, 50199 },
- { 0x418A, 50202 },
- { 0x41AD, 50205 },
- { 0x419F, 50208 },
- { 0x41A3, 50211 },
- { 0x419B, 50214 },
- { 0x4184, 50217 },
- { 0x41A8, 50220 },
- { 0x419C, 50223 },
- { 0x41A2, 50226 },
- { 0x4191, 50229 },
- { 0x417F, 50232 },
- { 0x41A7, 50235 },
- { 0x418C, 50238 },
- { 0x4196, 50241 },
- { 0x41A0, 50244 },
- { 0x41A5, 50247 },
- { 0x419D, 50250 },
- { 0x41AC, 50253 },
- { 0x41A9, 50256 },
- { 0x41AA, 50259 },
- { 0x41AB, 50262 },
- { 0x418D, 50265 },
- { 0x41A1, 50268 },
- { 0x4194, 50271 },
- { 0x4182, 50274 },
- { 0x418F, 50277 },
- { 0x41A4, 50280 },
- { 0x41A6, 50283 },
- { 0x41AE, 50286 },
- { 0x4199, 50289 },
- { 0x8069, 50292 },
+ { 0x7D19, 50142 },
+ { 0x8084, 50143 },
+ { 0x4183, 50145 },
+ { 0x418C, 50148 },
+ { 0x4185, 50151 },
+ { 0x419D, 50154 },
+ { 0x41A3, 50157 },
+ { 0x419C, 50160 },
+ { 0x419F, 50163 },
+ { 0x4186, 50166 },
+ { 0x418D, 50169 },
+ { 0x4198, 50172 },
+ { 0x418E, 50175 },
+ { 0x419A, 50178 },
+ { 0x418B, 50181 },
+ { 0x4188, 50184 },
+ { 0x4193, 50187 },
+ { 0x4190, 50190 },
+ { 0x4195, 50193 },
+ { 0x4197, 50196 },
+ { 0x418A, 50199 },
+ { 0x418F, 50202 },
+ { 0x41B2, 50205 },
+ { 0x41A4, 50208 },
+ { 0x41A8, 50211 },
+ { 0x41A0, 50214 },
+ { 0x4189, 50217 },
+ { 0x41AD, 50220 },
+ { 0x41A1, 50223 },
+ { 0x41A7, 50226 },
+ { 0x4196, 50229 },
+ { 0x4184, 50232 },
+ { 0x41AC, 50235 },
+ { 0x4191, 50238 },
+ { 0x419B, 50241 },
+ { 0x41A5, 50244 },
+ { 0x41AA, 50247 },
+ { 0x41A2, 50250 },
+ { 0x41B1, 50253 },
+ { 0x41AE, 50256 },
+ { 0x41AF, 50259 },
+ { 0x41B0, 50262 },
+ { 0x4192, 50265 },
+ { 0x41A6, 50268 },
+ { 0x4199, 50271 },
+ { 0x4187, 50274 },
+ { 0x4194, 50277 },
+ { 0x41A9, 50280 },
+ { 0x41AB, 50283 },
+ { 0x41B3, 50286 },
+ { 0x419E, 50289 },
+ { 0x806E, 50292 },
{ 0x230E, 50293 },
- { 0x7CED, 50294 },
+ { 0x7CF2, 50294 },
{ 0x1D59, 50296 },
{ 0x22F6, 50299 },
- { 0x4B40, 50300 },
- { 0x4B41, 50303 },
- { 0x4B11, 50306 },
- { 0x4B10, 50309 },
- { 0x4B0F, 50312 },
- { 0x4B4F, 50315 },
- { 0x4B45, 50317 },
- { 0x4B4A, 50320 },
- { 0x4B46, 50323 },
- { 0x4B49, 50326 },
- { 0x4B48, 50329 },
- { 0x4B4D, 50332 },
- { 0x4B44, 50335 },
- { 0x4B4C, 50338 },
- { 0x4B4B, 50341 },
- { 0x4B47, 50344 },
- { 0x4B36, 50347 },
- { 0x4B3B, 50351 },
- { 0x4B37, 50355 },
- { 0x4B3D, 50359 },
- { 0x4B39, 50363 },
- { 0x4B53, 50367 },
- { 0x4B3C, 50371 },
- { 0x4B3E, 50375 },
- { 0x4B54, 50379 },
- { 0x4B38, 50383 },
- { 0x4B3F, 50387 },
- { 0x4B3A, 50391 },
- { 0x4B50, 50395 },
- { 0x4B15, 50398 },
- { 0x4B13, 50401 },
- { 0x4B14, 50404 },
- { 0x4B12, 50407 },
- { 0x4B2C, 50410 },
- { 0x4B1B, 50413 },
- { 0x4B27, 50416 },
- { 0x4B18, 50419 },
- { 0x4B35, 50422 },
- { 0x4B1D, 50425 },
- { 0x4B16, 50428 },
- { 0x4B32, 50431 },
- { 0x4B2E, 50434 },
- { 0x4B29, 50437 },
- { 0x4B2A, 50440 },
- { 0x4B31, 50443 },
- { 0x4B34, 50446 },
- { 0x4B25, 50449 },
- { 0x4B55, 50452 },
- { 0x4B33, 50455 },
- { 0x4B30, 50458 },
- { 0x4B2D, 50461 },
- { 0x4B1C, 50464 },
- { 0x4B22, 50467 },
- { 0x4B28, 50470 },
- { 0x4B19, 50473 },
- { 0x4B1E, 50476 },
- { 0x4B17, 50479 },
- { 0x4B52, 50482 },
- { 0x4B1A, 50485 },
- { 0x4B24, 50488 },
- { 0x4B1F, 50491 },
- { 0x4B2B, 50494 },
- { 0x4B26, 50497 },
- { 0x4B20, 50500 },
- { 0x4B2F, 50503 },
- { 0x4B23, 50506 },
- { 0x4B21, 50509 },
- { 0x4B42, 50512 },
- { 0x4B43, 50514 },
- { 0x4B4E, 50516 },
- { 0x4B51, 50519 },
- { 0x80D4, 50522 },
- { 0x7ADD, 50524 },
+ { 0x4B45, 50300 },
+ { 0x4B46, 50303 },
+ { 0x4B16, 50306 },
+ { 0x4B15, 50309 },
+ { 0x4B14, 50312 },
+ { 0x4B54, 50315 },
+ { 0x4B4A, 50317 },
+ { 0x4B4F, 50320 },
+ { 0x4B4B, 50323 },
+ { 0x4B4E, 50326 },
+ { 0x4B4D, 50329 },
+ { 0x4B52, 50332 },
+ { 0x4B49, 50335 },
+ { 0x4B51, 50338 },
+ { 0x4B50, 50341 },
+ { 0x4B4C, 50344 },
+ { 0x4B3B, 50347 },
+ { 0x4B40, 50351 },
+ { 0x4B3C, 50355 },
+ { 0x4B42, 50359 },
+ { 0x4B3E, 50363 },
+ { 0x4B58, 50367 },
+ { 0x4B41, 50371 },
+ { 0x4B43, 50375 },
+ { 0x4B59, 50379 },
+ { 0x4B3D, 50383 },
+ { 0x4B44, 50387 },
+ { 0x4B3F, 50391 },
+ { 0x4B55, 50395 },
+ { 0x4B1A, 50398 },
+ { 0x4B18, 50401 },
+ { 0x4B19, 50404 },
+ { 0x4B17, 50407 },
+ { 0x4B31, 50410 },
+ { 0x4B20, 50413 },
+ { 0x4B2C, 50416 },
+ { 0x4B1D, 50419 },
+ { 0x4B3A, 50422 },
+ { 0x4B22, 50425 },
+ { 0x4B1B, 50428 },
+ { 0x4B37, 50431 },
+ { 0x4B33, 50434 },
+ { 0x4B2E, 50437 },
+ { 0x4B2F, 50440 },
+ { 0x4B36, 50443 },
+ { 0x4B39, 50446 },
+ { 0x4B2A, 50449 },
+ { 0x4B5A, 50452 },
+ { 0x4B38, 50455 },
+ { 0x4B35, 50458 },
+ { 0x4B32, 50461 },
+ { 0x4B21, 50464 },
+ { 0x4B27, 50467 },
+ { 0x4B2D, 50470 },
+ { 0x4B1E, 50473 },
+ { 0x4B23, 50476 },
+ { 0x4B1C, 50479 },
+ { 0x4B57, 50482 },
+ { 0x4B1F, 50485 },
+ { 0x4B29, 50488 },
+ { 0x4B24, 50491 },
+ { 0x4B30, 50494 },
+ { 0x4B2B, 50497 },
+ { 0x4B25, 50500 },
+ { 0x4B34, 50503 },
+ { 0x4B28, 50506 },
+ { 0x4B26, 50509 },
+ { 0x4B47, 50512 },
+ { 0x4B48, 50514 },
+ { 0x4B53, 50516 },
+ { 0x4B56, 50519 },
+ { 0x80D9, 50522 },
+ { 0x7AE2, 50524 },
{ 0x22DA, 50526 },
{ 0x230D, 50527 },
- { 0x7B4B, 50528 },
+ { 0x7B50, 50528 },
{ 0x21F8, 50529 },
{ 0x25E6, 50537 },
{ 0x21F3, 50545 },
@@ -59386,55 +59393,55 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x25D8, 50582 },
{ 0x25DE, 50586 },
{ 0x25DD, 50590 },
- { 0x7B4F, 50602 },
- { 0x7C7A, 50604 },
- { 0x7CB5, 50606 },
+ { 0x7B54, 50602 },
+ { 0x7C7F, 50604 },
+ { 0x7CBA, 50606 },
{ 0x266F, 50610 },
{ 0x2673, 50614 },
{ 0x26F2, 50621 },
{ 0x26F4, 50623 },
- { 0x7C90, 50628 },
- { 0x7C8F, 50633 },
+ { 0x7C95, 50628 },
+ { 0x7C94, 50633 },
{ 0x26F3, 50638 },
{ 0x26F5, 50640 },
- { 0x7AA7, 50645 },
+ { 0x7AAC, 50645 },
{ 0x2670, 50647 },
{ 0x22D3, 50651 },
- { 0x7AFF, 50652 },
- { 0x7B0F, 50654 },
+ { 0x7B04, 50652 },
+ { 0x7B14, 50654 },
{ 0x2914, 50655 },
{ 0x2917, 50660 },
{ 0x2915, 50665 },
{ 0x2916, 50671 },
{ 0x2919, 50677 },
- { 0x41B0, 50680 },
- { 0x41B5, 50684 },
- { 0x41B1, 50688 },
- { 0x41B4, 50692 },
- { 0x41B3, 50696 },
- { 0x41B8, 50700 },
- { 0x41B7, 50704 },
- { 0x41B6, 50708 },
- { 0x41B2, 50712 },
- { 0x41C2, 50716 },
- { 0x41C7, 50721 },
- { 0x41B9, 50726 },
- { 0x41C3, 50730 },
- { 0x41C6, 50735 },
- { 0x41C5, 50740 },
- { 0x41CA, 50745 },
- { 0x41C9, 50750 },
- { 0x41BD, 50755 },
- { 0x41BC, 50759 },
- { 0x41C8, 50763 },
- { 0x41BE, 50768 },
- { 0x41C4, 50772 },
- { 0x41C0, 50777 },
- { 0x41C1, 50781 },
- { 0x41BB, 50785 },
- { 0x41BA, 50789 },
- { 0x41BF, 50793 },
- { 0x41AF, 50797 },
+ { 0x41B5, 50680 },
+ { 0x41BA, 50684 },
+ { 0x41B6, 50688 },
+ { 0x41B9, 50692 },
+ { 0x41B8, 50696 },
+ { 0x41BD, 50700 },
+ { 0x41BC, 50704 },
+ { 0x41BB, 50708 },
+ { 0x41B7, 50712 },
+ { 0x41C7, 50716 },
+ { 0x41CC, 50721 },
+ { 0x41BE, 50726 },
+ { 0x41C8, 50730 },
+ { 0x41CB, 50735 },
+ { 0x41CA, 50740 },
+ { 0x41CF, 50745 },
+ { 0x41CE, 50750 },
+ { 0x41C2, 50755 },
+ { 0x41C1, 50759 },
+ { 0x41CD, 50763 },
+ { 0x41C3, 50768 },
+ { 0x41C9, 50772 },
+ { 0x41C5, 50777 },
+ { 0x41C6, 50781 },
+ { 0x41C0, 50785 },
+ { 0x41BF, 50789 },
+ { 0x41C4, 50793 },
+ { 0x41B4, 50797 },
{ 0x28BF, 50801 },
{ 0x28CB, 50805 },
{ 0x28B9, 50809 },
@@ -59567,142 +59574,142 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2910, 51399 },
{ 0x2911, 51403 },
{ 0x291A, 51407 },
- { 0x7C36, 51410 },
- { 0x7C58, 51413 },
- { 0x8182, 51415 },
- { 0x7DE4, 51416 },
- { 0x7DC7, 51419 },
+ { 0x7C3B, 51410 },
+ { 0x7C5D, 51413 },
+ { 0x8187, 51415 },
+ { 0x7DE9, 51416 },
+ { 0x7DCC, 51419 },
{ 0x2800, 51421 },
{ 0x2384, 51422 },
{ 0x1C9A, 51427 },
{ 0x2A23, 51428 },
{ 0x2A24, 51432 },
- { 0x7D86, 51436 },
- { 0x7C28, 51438 },
- { 0x3E3A, 51439 },
- { 0x3E36, 51442 },
+ { 0x7D8B, 51436 },
+ { 0x7C2D, 51438 },
+ { 0x3E3F, 51439 },
+ { 0x3E3B, 51442 },
{ 0x23C2, 51444 },
{ 0x006F, 51448 },
{ 0x1D58, 51450 },
{ 0x1D5E, 51452 },
- { 0x7B81, 51454 },
- { 0x7B82, 51455 },
- { 0x7E90, 51457 },
- { 0x6E1E, 51459 },
- { 0x6E1B, 51462 },
+ { 0x7B86, 51454 },
+ { 0x7B87, 51455 },
+ { 0x7E95, 51457 },
+ { 0x6E23, 51459 },
+ { 0x6E20, 51462 },
{ 0x22B0, 51466 },
{ 0x22B1, 51470 },
- { 0x6E1D, 51474 },
- { 0x6E1C, 51478 },
+ { 0x6E22, 51474 },
+ { 0x6E21, 51478 },
{ 0x22B2, 51482 },
{ 0x22AF, 51486 },
- { 0x6E1A, 51490 },
- { 0x7B54, 51494 },
+ { 0x6E1F, 51490 },
+ { 0x7B59, 51494 },
{ 0x1FE4, 51496 },
- { 0x8053, 51501 },
+ { 0x8058, 51501 },
{ 0x0004, 51503 },
- { 0x7919, 51505 },
- { 0x78E7, 51509 },
- { 0x791A, 51513 },
- { 0x791B, 51516 },
- { 0x791C, 51519 },
- { 0x791D, 51522 },
- { 0x791E, 51525 },
- { 0x791F, 51528 },
- { 0x7920, 51531 },
- { 0x7921, 51534 },
- { 0x7922, 51537 },
- { 0x7923, 51540 },
- { 0x7924, 51543 },
- { 0x7925, 51546 },
- { 0x7926, 51549 },
- { 0x7927, 51552 },
- { 0x7928, 51555 },
- { 0x7929, 51558 },
- { 0x792A, 51561 },
- { 0x792B, 51564 },
- { 0x792C, 51567 },
- { 0x792D, 51570 },
- { 0x792E, 51573 },
- { 0x792F, 51576 },
- { 0x7930, 51579 },
- { 0x7931, 51582 },
- { 0x7932, 51585 },
- { 0x7933, 51588 },
- { 0x7934, 51591 },
- { 0x7935, 51594 },
- { 0x7936, 51597 },
- { 0x7937, 51600 },
- { 0x7938, 51603 },
- { 0x7939, 51606 },
- { 0x793A, 51609 },
- { 0x793B, 51612 },
- { 0x793C, 51615 },
- { 0x793D, 51618 },
- { 0x793E, 51621 },
- { 0x793F, 51624 },
- { 0x7940, 51627 },
- { 0x7941, 51630 },
- { 0x7942, 51633 },
- { 0x7943, 51636 },
- { 0x7944, 51639 },
- { 0x7945, 51642 },
- { 0x7946, 51645 },
- { 0x7947, 51648 },
- { 0x7948, 51651 },
- { 0x7949, 51654 },
- { 0x794A, 51657 },
- { 0x78E8, 51660 },
- { 0x78E9, 51663 },
- { 0x78EA, 51666 },
- { 0x78EB, 51669 },
- { 0x78EC, 51672 },
- { 0x78ED, 51675 },
- { 0x78EE, 51678 },
- { 0x78EF, 51681 },
- { 0x78F0, 51684 },
- { 0x78F1, 51687 },
- { 0x78F2, 51690 },
- { 0x78F3, 51693 },
- { 0x78F4, 51696 },
- { 0x78F5, 51699 },
- { 0x78F6, 51702 },
- { 0x78F7, 51705 },
- { 0x78F8, 51708 },
- { 0x78F9, 51711 },
- { 0x78FA, 51714 },
- { 0x78FB, 51717 },
- { 0x78FC, 51720 },
- { 0x78FD, 51723 },
- { 0x78FE, 51726 },
- { 0x78FF, 51729 },
- { 0x7900, 51732 },
- { 0x7901, 51735 },
- { 0x7902, 51738 },
- { 0x7903, 51741 },
- { 0x7904, 51744 },
- { 0x7905, 51747 },
- { 0x7906, 51750 },
- { 0x7907, 51753 },
- { 0x7908, 51756 },
- { 0x7909, 51759 },
- { 0x790A, 51762 },
- { 0x790B, 51765 },
- { 0x790C, 51768 },
- { 0x790D, 51771 },
- { 0x790E, 51774 },
- { 0x790F, 51777 },
- { 0x7910, 51780 },
- { 0x7911, 51783 },
- { 0x7912, 51786 },
- { 0x7913, 51789 },
- { 0x7914, 51792 },
- { 0x7915, 51795 },
- { 0x7916, 51798 },
- { 0x7917, 51801 },
- { 0x7918, 51804 },
- { 0x81C2, 51807 },
- { 0x81D4, 51808 },
+ { 0x791E, 51505 },
+ { 0x78EC, 51509 },
+ { 0x791F, 51513 },
+ { 0x7920, 51516 },
+ { 0x7921, 51519 },
+ { 0x7922, 51522 },
+ { 0x7923, 51525 },
+ { 0x7924, 51528 },
+ { 0x7925, 51531 },
+ { 0x7926, 51534 },
+ { 0x7927, 51537 },
+ { 0x7928, 51540 },
+ { 0x7929, 51543 },
+ { 0x792A, 51546 },
+ { 0x792B, 51549 },
+ { 0x792C, 51552 },
+ { 0x792D, 51555 },
+ { 0x792E, 51558 },
+ { 0x792F, 51561 },
+ { 0x7930, 51564 },
+ { 0x7931, 51567 },
+ { 0x7932, 51570 },
+ { 0x7933, 51573 },
+ { 0x7934, 51576 },
+ { 0x7935, 51579 },
+ { 0x7936, 51582 },
+ { 0x7937, 51585 },
+ { 0x7938, 51588 },
+ { 0x7939, 51591 },
+ { 0x793A, 51594 },
+ { 0x793B, 51597 },
+ { 0x793C, 51600 },
+ { 0x793D, 51603 },
+ { 0x793E, 51606 },
+ { 0x793F, 51609 },
+ { 0x7940, 51612 },
+ { 0x7941, 51615 },
+ { 0x7942, 51618 },
+ { 0x7943, 51621 },
+ { 0x7944, 51624 },
+ { 0x7945, 51627 },
+ { 0x7946, 51630 },
+ { 0x7947, 51633 },
+ { 0x7948, 51636 },
+ { 0x7949, 51639 },
+ { 0x794A, 51642 },
+ { 0x794B, 51645 },
+ { 0x794C, 51648 },
+ { 0x794D, 51651 },
+ { 0x794E, 51654 },
+ { 0x794F, 51657 },
+ { 0x78ED, 51660 },
+ { 0x78EE, 51663 },
+ { 0x78EF, 51666 },
+ { 0x78F0, 51669 },
+ { 0x78F1, 51672 },
+ { 0x78F2, 51675 },
+ { 0x78F3, 51678 },
+ { 0x78F4, 51681 },
+ { 0x78F5, 51684 },
+ { 0x78F6, 51687 },
+ { 0x78F7, 51690 },
+ { 0x78F8, 51693 },
+ { 0x78F9, 51696 },
+ { 0x78FA, 51699 },
+ { 0x78FB, 51702 },
+ { 0x78FC, 51705 },
+ { 0x78FD, 51708 },
+ { 0x78FE, 51711 },
+ { 0x78FF, 51714 },
+ { 0x7900, 51717 },
+ { 0x7901, 51720 },
+ { 0x7902, 51723 },
+ { 0x7903, 51726 },
+ { 0x7904, 51729 },
+ { 0x7905, 51732 },
+ { 0x7906, 51735 },
+ { 0x7907, 51738 },
+ { 0x7908, 51741 },
+ { 0x7909, 51744 },
+ { 0x790A, 51747 },
+ { 0x790B, 51750 },
+ { 0x790C, 51753 },
+ { 0x790D, 51756 },
+ { 0x790E, 51759 },
+ { 0x790F, 51762 },
+ { 0x7910, 51765 },
+ { 0x7911, 51768 },
+ { 0x7912, 51771 },
+ { 0x7913, 51774 },
+ { 0x7914, 51777 },
+ { 0x7915, 51780 },
+ { 0x7916, 51783 },
+ { 0x7917, 51786 },
+ { 0x7918, 51789 },
+ { 0x7919, 51792 },
+ { 0x791A, 51795 },
+ { 0x791B, 51798 },
+ { 0x791C, 51801 },
+ { 0x791D, 51804 },
+ { 0x81C7, 51807 },
+ { 0x81D9, 51808 },
{ 0x1CD6, 51811 },
{ 0x25BC, 51813 },
{ 0x21EF, 51815 },
@@ -59716,13 +59723,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x270D, 51835 },
{ 0x25B8, 51838 },
{ 0x261D, 51843 },
- { 0x3E39, 51845 },
+ { 0x3E3E, 51845 },
{ 0x029C, 51848 },
{ 0x2697, 51851 },
{ 0x23E2, 51854 },
{ 0x1C98, 51857 },
{ 0x1CAD, 51861 },
- { 0x2BBE, 51863 },
+ { 0x2BC2, 51863 },
{ 0x25B9, 51867 },
{ 0x1F24, 51872 },
{ 0x1C9B, 51874 },
@@ -59764,9 +59771,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F23, 51996 },
{ 0x2A2F, 51998 },
{ 0x1C99, 52002 },
- { 0x7BAE, 52006 },
- { 0x7BD7, 52007 },
- { 0x7C8C, 52009 },
+ { 0x7BB3, 52006 },
+ { 0x7BDC, 52007 },
+ { 0x7C91, 52009 },
{ 0x228D, 52011 },
{ 0x001D, 52013 },
{ 0x2606, 52015 },
@@ -59782,168 +59789,168 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2691, 52073 },
{ 0x1EA6, 52076 },
{ 0x1E8A, 52078 },
- { 0x7AE7, 52079 },
- { 0x7C0F, 52081 },
- { 0x7B2A, 52082 },
+ { 0x7AEC, 52079 },
+ { 0x7C14, 52081 },
+ { 0x7B2F, 52082 },
{ 0x2263, 52084 },
- { 0x804E, 52086 },
- { 0x7B46, 52087 },
+ { 0x8053, 52086 },
+ { 0x7B4B, 52087 },
{ 0x1C8C, 52089 },
{ 0x1C81, 52091 },
{ 0x2630, 52093 },
- { 0x7BEF, 52096 },
- { 0x7C4F, 52099 },
- { 0x7C63, 52101 },
+ { 0x7BF4, 52096 },
+ { 0x7C54, 52099 },
+ { 0x7C68, 52101 },
{ 0x2389, 52103 },
{ 0x22BB, 52105 },
- { 0x7B59, 52106 },
+ { 0x7B5E, 52106 },
{ 0x1CCF, 52109 },
- { 0x8063, 52112 },
- { 0x7E96, 52114 },
- { 0x7D2A, 52116 },
- { 0x7D65, 52118 },
- { 0x81C8, 52119 },
+ { 0x8068, 52112 },
+ { 0x7E9B, 52114 },
+ { 0x7D2F, 52116 },
+ { 0x7D6A, 52118 },
+ { 0x81CD, 52119 },
{ 0x1EFA, 52120 },
{ 0x29FD, 52121 },
{ 0x1E6D, 52123 },
{ 0x1D16, 52125 },
- { 0x7B04, 52128 },
- { 0x80D8, 52130 },
+ { 0x7B09, 52128 },
+ { 0x80DD, 52130 },
{ 0x226D, 52131 },
{ 0x1D23, 52132 },
- { 0x81CD, 52135 },
+ { 0x81D2, 52135 },
{ 0x2609, 52137 },
- { 0x80F8, 52139 },
- { 0x7B71, 52140 },
- { 0x41FB, 52141 },
- { 0x4200, 52144 },
- { 0x41F2, 52147 },
- { 0x41F5, 52150 },
- { 0x41F4, 52153 },
- { 0x41F9, 52156 },
- { 0x41F8, 52159 },
- { 0x420C, 52162 },
- { 0x4201, 52166 },
- { 0x4208, 52169 },
- { 0x420A, 52172 },
- { 0x4209, 52175 },
- { 0x41FC, 52178 },
- { 0x41FD, 52181 },
- { 0x41FE, 52184 },
- { 0x420B, 52187 },
- { 0x4204, 52190 },
- { 0x4205, 52193 },
- { 0x4206, 52196 },
- { 0x4207, 52199 },
- { 0x41F6, 52202 },
- { 0x41FF, 52205 },
- { 0x4203, 52208 },
- { 0x41FA, 52211 },
- { 0x41F3, 52214 },
- { 0x4202, 52217 },
- { 0x41F7, 52220 },
- { 0x7AEC, 52223 },
- { 0x7B5D, 52224 },
- { 0x7CCD, 52225 },
+ { 0x80FD, 52139 },
+ { 0x7B76, 52140 },
+ { 0x4200, 52141 },
+ { 0x4205, 52144 },
+ { 0x41F7, 52147 },
+ { 0x41FA, 52150 },
+ { 0x41F9, 52153 },
+ { 0x41FE, 52156 },
+ { 0x41FD, 52159 },
+ { 0x4211, 52162 },
+ { 0x4206, 52166 },
+ { 0x420D, 52169 },
+ { 0x420F, 52172 },
+ { 0x420E, 52175 },
+ { 0x4201, 52178 },
+ { 0x4202, 52181 },
+ { 0x4203, 52184 },
+ { 0x4210, 52187 },
+ { 0x4209, 52190 },
+ { 0x420A, 52193 },
+ { 0x420B, 52196 },
+ { 0x420C, 52199 },
+ { 0x41FB, 52202 },
+ { 0x4204, 52205 },
+ { 0x4208, 52208 },
+ { 0x41FF, 52211 },
+ { 0x41F8, 52214 },
+ { 0x4207, 52217 },
+ { 0x41FC, 52220 },
+ { 0x7AF1, 52223 },
+ { 0x7B62, 52224 },
+ { 0x7CD2, 52225 },
{ 0x22B5, 52226 },
{ 0x2250, 52229 },
- { 0x7E81, 52232 },
- { 0x2BCF, 52235 },
- { 0x2CFB, 52240 },
- { 0x2CE6, 52242 },
- { 0x2CEB, 52245 },
- { 0x2CFA, 52248 },
- { 0x2CEE, 52251 },
- { 0x2CF3, 52254 },
- { 0x2CE7, 52257 },
- { 0x2CEA, 52260 },
- { 0x2CF8, 52263 },
- { 0x2CF1, 52266 },
- { 0x2CEF, 52269 },
- { 0x2CF5, 52272 },
- { 0x2CF6, 52275 },
- { 0x2CE8, 52278 },
- { 0x2CED, 52281 },
- { 0x2CF9, 52284 },
- { 0x2CF2, 52287 },
- { 0x2CF7, 52290 },
- { 0x2CF0, 52293 },
- { 0x2CF4, 52296 },
- { 0x2CE9, 52299 },
- { 0x2CEC, 52302 },
- { 0x2CDC, 52305 },
- { 0x2D20, 52308 },
- { 0x2D23, 52311 },
- { 0x2D24, 52314 },
- { 0x2CDF, 52317 },
- { 0x2CE5, 52320 },
- { 0x2CDE, 52323 },
- { 0x2CD8, 52326 },
- { 0x2CCB, 52329 },
- { 0x2CD9, 52332 },
- { 0x2CD0, 52335 },
- { 0x2D1E, 52338 },
- { 0x2D22, 52341 },
- { 0x2D25, 52344 },
- { 0x2CC8, 52347 },
- { 0x2CCE, 52350 },
- { 0x2D1F, 52353 },
- { 0x2D21, 52356 },
- { 0x2CE1, 52359 },
- { 0x2CE2, 52362 },
- { 0x2D16, 52365 },
- { 0x2CE4, 52368 },
- { 0x2CE3, 52371 },
- { 0x2D18, 52374 },
- { 0x2CDD, 52377 },
- { 0x2D06, 52380 },
- { 0x2CFE, 52383 },
- { 0x2CDB, 52386 },
- { 0x2CD4, 52389 },
- { 0x2D15, 52392 },
- { 0x2D12, 52395 },
- { 0x2D14, 52398 },
- { 0x2CE0, 52401 },
- { 0x2D1C, 52404 },
- { 0x2D17, 52407 },
- { 0x2CFC, 52410 },
- { 0x2CDA, 52413 },
- { 0x2CCA, 52416 },
- { 0x2D05, 52419 },
- { 0x2CCC, 52422 },
- { 0x2CCD, 52425 },
- { 0x2D0D, 52428 },
- { 0x2CD7, 52431 },
- { 0x2CD2, 52434 },
- { 0x2CD3, 52437 },
- { 0x2D11, 52440 },
- { 0x2D13, 52443 },
- { 0x2CC9, 52446 },
- { 0x2CCF, 52449 },
- { 0x2D1D, 52452 },
- { 0x2CFD, 52455 },
- { 0x2D09, 52458 },
- { 0x2D0A, 52461 },
- { 0x2CD1, 52464 },
- { 0x2D01, 52467 },
- { 0x2D08, 52470 },
- { 0x2D0F, 52473 },
- { 0x2D07, 52476 },
- { 0x2CFF, 52479 },
- { 0x2D0E, 52482 },
- { 0x2D03, 52485 },
- { 0x2CD6, 52488 },
- { 0x2CD5, 52491 },
- { 0x2D19, 52494 },
- { 0x2D1B, 52497 },
- { 0x2D02, 52500 },
- { 0x2D1A, 52503 },
- { 0x2D0B, 52506 },
- { 0x2D0C, 52509 },
- { 0x2D00, 52512 },
- { 0x2D04, 52515 },
- { 0x2D10, 52518 },
- { 0x2BCE, 52521 },
+ { 0x7E86, 52232 },
+ { 0x2BD3, 52235 },
+ { 0x2CFF, 52240 },
+ { 0x2CEA, 52242 },
+ { 0x2CEF, 52245 },
+ { 0x2CFE, 52248 },
+ { 0x2CF2, 52251 },
+ { 0x2CF7, 52254 },
+ { 0x2CEB, 52257 },
+ { 0x2CEE, 52260 },
+ { 0x2CFC, 52263 },
+ { 0x2CF5, 52266 },
+ { 0x2CF3, 52269 },
+ { 0x2CF9, 52272 },
+ { 0x2CFA, 52275 },
+ { 0x2CEC, 52278 },
+ { 0x2CF1, 52281 },
+ { 0x2CFD, 52284 },
+ { 0x2CF6, 52287 },
+ { 0x2CFB, 52290 },
+ { 0x2CF4, 52293 },
+ { 0x2CF8, 52296 },
+ { 0x2CED, 52299 },
+ { 0x2CF0, 52302 },
+ { 0x2CE0, 52305 },
+ { 0x2D24, 52308 },
+ { 0x2D27, 52311 },
+ { 0x2D28, 52314 },
+ { 0x2CE3, 52317 },
+ { 0x2CE9, 52320 },
+ { 0x2CE2, 52323 },
+ { 0x2CDC, 52326 },
+ { 0x2CCF, 52329 },
+ { 0x2CDD, 52332 },
+ { 0x2CD4, 52335 },
+ { 0x2D22, 52338 },
+ { 0x2D26, 52341 },
+ { 0x2D29, 52344 },
+ { 0x2CCC, 52347 },
+ { 0x2CD2, 52350 },
+ { 0x2D23, 52353 },
+ { 0x2D25, 52356 },
+ { 0x2CE5, 52359 },
+ { 0x2CE6, 52362 },
+ { 0x2D1A, 52365 },
+ { 0x2CE8, 52368 },
+ { 0x2CE7, 52371 },
+ { 0x2D1C, 52374 },
+ { 0x2CE1, 52377 },
+ { 0x2D0A, 52380 },
+ { 0x2D02, 52383 },
+ { 0x2CDF, 52386 },
+ { 0x2CD8, 52389 },
+ { 0x2D19, 52392 },
+ { 0x2D16, 52395 },
+ { 0x2D18, 52398 },
+ { 0x2CE4, 52401 },
+ { 0x2D20, 52404 },
+ { 0x2D1B, 52407 },
+ { 0x2D00, 52410 },
+ { 0x2CDE, 52413 },
+ { 0x2CCE, 52416 },
+ { 0x2D09, 52419 },
+ { 0x2CD0, 52422 },
+ { 0x2CD1, 52425 },
+ { 0x2D11, 52428 },
+ { 0x2CDB, 52431 },
+ { 0x2CD6, 52434 },
+ { 0x2CD7, 52437 },
+ { 0x2D15, 52440 },
+ { 0x2D17, 52443 },
+ { 0x2CCD, 52446 },
+ { 0x2CD3, 52449 },
+ { 0x2D21, 52452 },
+ { 0x2D01, 52455 },
+ { 0x2D0D, 52458 },
+ { 0x2D0E, 52461 },
+ { 0x2CD5, 52464 },
+ { 0x2D05, 52467 },
+ { 0x2D0C, 52470 },
+ { 0x2D13, 52473 },
+ { 0x2D0B, 52476 },
+ { 0x2D03, 52479 },
+ { 0x2D12, 52482 },
+ { 0x2D07, 52485 },
+ { 0x2CDA, 52488 },
+ { 0x2CD9, 52491 },
+ { 0x2D1D, 52494 },
+ { 0x2D1F, 52497 },
+ { 0x2D06, 52500 },
+ { 0x2D1E, 52503 },
+ { 0x2D0F, 52506 },
+ { 0x2D10, 52509 },
+ { 0x2D04, 52512 },
+ { 0x2D08, 52515 },
+ { 0x2D14, 52518 },
+ { 0x2BD2, 52521 },
{ 0x0EB0, 52526 },
{ 0x0EB3, 52529 },
{ 0x0EB9, 52532 },
@@ -59962,12 +59969,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0EB7, 52571 },
{ 0x0EF3, 52574 },
{ 0x0EB1, 52577 },
- { 0x38D3, 52580 },
+ { 0x38D8, 52580 },
{ 0x0EEC, 52583 },
- { 0x38C9, 52586 },
+ { 0x38CE, 52586 },
{ 0x0F02, 52589 },
{ 0x0EC8, 52592 },
- { 0x38C4, 52595 },
+ { 0x38C9, 52595 },
{ 0x0EDD, 52598 },
{ 0x0EE2, 52601 },
{ 0x0EDC, 52604 },
@@ -59983,47 +59990,47 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0EC0, 52634 },
{ 0x0EF4, 52637 },
{ 0x0EEF, 52640 },
- { 0x38CF, 52643 },
+ { 0x38D4, 52643 },
{ 0x0EEA, 52646 },
{ 0x0EEB, 52649 },
- { 0x38CE, 52652 },
+ { 0x38D3, 52652 },
{ 0x0EC3, 52655 },
{ 0x0F03, 52658 },
{ 0x0F04, 52661 },
{ 0x0EBD, 52664 },
{ 0x0ECE, 52667 },
- { 0x38CC, 52670 },
+ { 0x38D1, 52670 },
{ 0x0EC6, 52673 },
- { 0x38C5, 52676 },
+ { 0x38CA, 52676 },
{ 0x0EC1, 52679 },
- { 0x38C0, 52682 },
+ { 0x38C5, 52682 },
{ 0x0EBF, 52685 },
- { 0x38C1, 52688 },
+ { 0x38C6, 52688 },
{ 0x0ED4, 52691 },
{ 0x0ED6, 52694 },
{ 0x0EA8, 52697 },
{ 0x0EAB, 52700 },
- { 0x38BA, 52703 },
+ { 0x38BF, 52703 },
{ 0x0F00, 52706 },
{ 0x0EE3, 52709 },
{ 0x0EE8, 52712 },
{ 0x0EE9, 52715 },
- { 0x38C7, 52718 },
- { 0x38C8, 52721 },
+ { 0x38CC, 52718 },
+ { 0x38CD, 52721 },
{ 0x0EBA, 52724 },
{ 0x0EBC, 52727 },
{ 0x0EC5, 52730 },
{ 0x0EC7, 52733 },
- { 0x38BC, 52736 },
- { 0x38BE, 52739 },
+ { 0x38C1, 52736 },
+ { 0x38C3, 52739 },
{ 0x0EDE, 52742 },
{ 0x0EDF, 52745 },
{ 0x0EE1, 52748 },
{ 0x0EE0, 52751 },
- { 0x38D1, 52754 },
- { 0x38BB, 52757 },
- { 0x38B8, 52760 },
- { 0x38B9, 52763 },
+ { 0x38D6, 52754 },
+ { 0x38C0, 52757 },
+ { 0x38BD, 52760 },
+ { 0x38BE, 52763 },
{ 0x0F05, 52766 },
{ 0x0EFA, 52769 },
{ 0x0EF5, 52772 },
@@ -60035,13 +60042,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0ED2, 52790 },
{ 0x0EC2, 52793 },
{ 0x0F01, 52796 },
- { 0x38D2, 52799 },
+ { 0x38D7, 52799 },
{ 0x0EFD, 52802 },
{ 0x0ECF, 52805 },
- { 0x38CB, 52808 },
+ { 0x38D0, 52808 },
{ 0x0ED1, 52811 },
{ 0x0ED0, 52814 },
- { 0x38C6, 52817 },
+ { 0x38CB, 52817 },
{ 0x0EBE, 52820 },
{ 0x0EDB, 52823 },
{ 0x0EE5, 52826 },
@@ -60049,24 +60056,24 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0EFB, 52832 },
{ 0x0EFE, 52835 },
{ 0x0ECC, 52838 },
- { 0x38CD, 52841 },
+ { 0x38D2, 52841 },
{ 0x0EF7, 52844 },
{ 0x0ECD, 52847 },
{ 0x0ECB, 52850 },
- { 0x38C2, 52853 },
- { 0x38D0, 52856 },
- { 0x38D4, 52859 },
+ { 0x38C7, 52853 },
+ { 0x38D5, 52856 },
+ { 0x38D9, 52859 },
{ 0x0EE4, 52862 },
{ 0x0EC9, 52865 },
{ 0x0ECA, 52868 },
- { 0x38BD, 52871 },
- { 0x38BF, 52874 },
+ { 0x38C2, 52871 },
+ { 0x38C4, 52874 },
{ 0x0EDA, 52877 },
{ 0x0EFC, 52880 },
{ 0x0EF6, 52883 },
{ 0x0ED3, 52886 },
- { 0x38CA, 52889 },
- { 0x38C3, 52892 },
+ { 0x38CF, 52889 },
+ { 0x38C8, 52892 },
{ 0x0EE6, 52895 },
{ 0x0EF8, 52898 },
{ 0x0F61, 52901 },
@@ -60090,34 +60097,34 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F6E, 52955 },
{ 0x0F60, 52958 },
{ 0x0F5A, 52961 },
- { 0x3B40, 52964 },
- { 0x3B43, 52967 },
- { 0x3B3B, 52970 },
+ { 0x3B45, 52964 },
+ { 0x3B48, 52967 },
+ { 0x3B40, 52970 },
{ 0x0F91, 52973 },
{ 0x0F90, 52976 },
- { 0x3B4A, 52979 },
+ { 0x3B4F, 52979 },
{ 0x0F95, 52982 },
- { 0x3B31, 52985 },
+ { 0x3B36, 52985 },
{ 0x0FA6, 52988 },
- { 0x3B37, 52991 },
+ { 0x3B3C, 52991 },
{ 0x0F77, 52994 },
- { 0x3B48, 52997 },
+ { 0x3B4D, 52997 },
{ 0x0F9E, 53000 },
{ 0x0F9C, 53003 },
{ 0x0F9F, 53006 },
{ 0x0F9D, 53009 },
{ 0x0F51, 53012 },
- { 0x3B33, 53015 },
+ { 0x3B38, 53015 },
{ 0x0F88, 53018 },
- { 0x3B2F, 53021 },
+ { 0x3B34, 53021 },
{ 0x0F83, 53024 },
{ 0x0F82, 53027 },
{ 0x0F53, 53030 },
{ 0x0F54, 53033 },
- { 0x3B1C, 53036 },
- { 0x3B39, 53039 },
+ { 0x3B21, 53036 },
+ { 0x3B3E, 53039 },
{ 0x0F8C, 53042 },
- { 0x3B36, 53045 },
+ { 0x3B3B, 53045 },
{ 0x0F8A, 53048 },
{ 0x0F5D, 53051 },
{ 0x0F58, 53054 },
@@ -60126,8 +60133,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F8E, 53063 },
{ 0x0F8F, 53066 },
{ 0x0F50, 53069 },
- { 0x3B1E, 53072 },
- { 0x3B21, 53075 },
+ { 0x3B23, 53072 },
+ { 0x3B26, 53075 },
{ 0x0FA0, 53078 },
{ 0x0F93, 53081 },
{ 0x0FA5, 53084 },
@@ -60137,28 +60144,28 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F81, 53096 },
{ 0x0F6C, 53099 },
{ 0x0F6D, 53102 },
- { 0x3B4B, 53105 },
- { 0x3B34, 53108 },
+ { 0x3B50, 53105 },
+ { 0x3B39, 53108 },
{ 0x0F57, 53111 },
{ 0x0F75, 53114 },
- { 0x3B41, 53117 },
- { 0x3B3F, 53120 },
- { 0x3B42, 53123 },
- { 0x3B23, 53126 },
- { 0x3B20, 53129 },
+ { 0x3B46, 53117 },
+ { 0x3B44, 53120 },
+ { 0x3B47, 53123 },
+ { 0x3B28, 53126 },
+ { 0x3B25, 53129 },
{ 0x0F72, 53132 },
{ 0x0F96, 53135 },
{ 0x0F89, 53138 },
{ 0x0F8D, 53141 },
- { 0x3B2E, 53144 },
+ { 0x3B33, 53144 },
{ 0x0F87, 53147 },
{ 0x0F86, 53150 },
- { 0x3B1D, 53153 },
+ { 0x3B22, 53153 },
{ 0x0F6F, 53156 },
{ 0x0F70, 53159 },
- { 0x3B44, 53162 },
+ { 0x3B49, 53162 },
{ 0x0F9A, 53165 },
- { 0x3B3A, 53168 },
+ { 0x3B3F, 53168 },
{ 0x0F8B, 53171 },
{ 0x0F7F, 53174 },
{ 0x0F7E, 53177 },
@@ -60169,47 +60176,47 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F98, 53192 },
{ 0x0FA3, 53195 },
{ 0x0FA4, 53198 },
- { 0x3B2C, 53201 },
- { 0x3B24, 53204 },
- { 0x3B25, 53207 },
- { 0x3B47, 53210 },
- { 0x3B46, 53213 },
+ { 0x3B31, 53201 },
+ { 0x3B29, 53204 },
+ { 0x3B2A, 53207 },
+ { 0x3B4C, 53210 },
+ { 0x3B4B, 53213 },
{ 0x0F9B, 53216 },
{ 0x0F85, 53219 },
- { 0x3B4C, 53222 },
+ { 0x3B51, 53222 },
{ 0x0F7D, 53225 },
{ 0x0F93, 53228 },
- { 0x3B49, 53231 },
- { 0x3B32, 53234 },
- { 0x3B30, 53237 },
+ { 0x3B4E, 53231 },
+ { 0x3B37, 53234 },
+ { 0x3B35, 53237 },
{ 0x0F79, 53240 },
{ 0x0F7A, 53243 },
- { 0x3B3D, 53246 },
- { 0x3B3E, 53249 },
+ { 0x3B42, 53246 },
+ { 0x3B43, 53249 },
{ 0x0F96, 53252 },
{ 0x0F99, 53255 },
{ 0x0F94, 53258 },
- { 0x3B38, 53261 },
+ { 0x3B3D, 53261 },
{ 0x0F73, 53264 },
- { 0x3B29, 53267 },
+ { 0x3B2E, 53267 },
{ 0x0F7B, 53270 },
- { 0x3B26, 53273 },
+ { 0x3B2B, 53273 },
{ 0x0F80, 53276 },
- { 0x3B1F, 53279 },
+ { 0x3B24, 53279 },
{ 0x0F6B, 53282 },
- { 0x3B27, 53285 },
+ { 0x3B2C, 53285 },
{ 0x0F78, 53288 },
- { 0x3B2A, 53291 },
+ { 0x3B2F, 53291 },
{ 0x0F76, 53294 },
- { 0x3B3C, 53297 },
- { 0x3B28, 53300 },
- { 0x3B22, 53303 },
- { 0x3B35, 53306 },
+ { 0x3B41, 53297 },
+ { 0x3B2D, 53300 },
+ { 0x3B27, 53303 },
+ { 0x3B3A, 53306 },
{ 0x0F7C, 53309 },
- { 0x3B2B, 53312 },
+ { 0x3B30, 53312 },
{ 0x0F94, 53315 },
- { 0x3B45, 53318 },
- { 0x3B2D, 53321 },
+ { 0x3B4A, 53318 },
+ { 0x3B32, 53321 },
{ 0x0F08, 53324 },
{ 0x0F0D, 53327 },
{ 0x0F1C, 53330 },
@@ -60230,7 +60237,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F1D, 53375 },
{ 0x0F1E, 53378 },
{ 0x0F3F, 53381 },
- { 0x3B19, 53384 },
+ { 0x3B1E, 53384 },
{ 0x0F41, 53387 },
{ 0x0F42, 53390 },
{ 0x0F27, 53393 },
@@ -60245,15 +60252,15 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F4A, 53420 },
{ 0x0F21, 53423 },
{ 0x0F22, 53426 },
- { 0x3B0E, 53429 },
- { 0x3B10, 53432 },
- { 0x3B11, 53435 },
+ { 0x3B13, 53429 },
+ { 0x3B15, 53432 },
+ { 0x3B16, 53435 },
{ 0x0F3C, 53438 },
{ 0x0F43, 53441 },
{ 0x0F40, 53444 },
- { 0x3B15, 53447 },
- { 0x3B17, 53450 },
- { 0x3B18, 53453 },
+ { 0x3B1A, 53447 },
+ { 0x3B1C, 53450 },
+ { 0x3B1D, 53453 },
{ 0x0F26, 53456 },
{ 0x0F4D, 53459 },
{ 0x0F28, 53462 },
@@ -60262,126 +60269,126 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0F1F, 53471 },
{ 0x0F4B, 53474 },
{ 0x0F3E, 53477 },
- { 0x3B07, 53480 },
+ { 0x3B0C, 53480 },
{ 0x0F2F, 53483 },
{ 0x0F2E, 53486 },
{ 0x0F35, 53489 },
{ 0x0F37, 53492 },
{ 0x0F3B, 53495 },
- { 0x3B0D, 53498 },
+ { 0x3B12, 53498 },
{ 0x0F3A, 53501 },
{ 0x0F45, 53504 },
{ 0x0F23, 53507 },
- { 0x3B0F, 53510 },
+ { 0x3B14, 53510 },
{ 0x0F3D, 53513 },
- { 0x3B16, 53516 },
- { 0x3B13, 53519 },
- { 0x3B14, 53522 },
- { 0x3B06, 53525 },
+ { 0x3B1B, 53516 },
+ { 0x3B18, 53519 },
+ { 0x3B19, 53522 },
+ { 0x3B0B, 53525 },
{ 0x0F4E, 53528 },
- { 0x3B05, 53531 },
- { 0x3B0B, 53534 },
- { 0x3B0A, 53537 },
+ { 0x3B0A, 53531 },
+ { 0x3B10, 53534 },
+ { 0x3B0F, 53537 },
{ 0x0F20, 53540 },
{ 0x0F24, 53543 },
{ 0x0F25, 53546 },
- { 0x3B08, 53549 },
- { 0x3B09, 53552 },
+ { 0x3B0D, 53549 },
+ { 0x3B0E, 53552 },
{ 0x0F2B, 53555 },
- { 0x3B0C, 53558 },
+ { 0x3B11, 53558 },
{ 0x0F36, 53561 },
{ 0x0F39, 53564 },
{ 0x0F07, 53567 },
- { 0x3B12, 53570 },
+ { 0x3B17, 53570 },
{ 0x0F4C, 53573 },
{ 0x0F2C, 53576 },
{ 0x0F2D, 53579 },
{ 0x0F38, 53582 },
- { 0x3B1A, 53585 },
- { 0x3B1B, 53588 },
+ { 0x3B1F, 53585 },
+ { 0x3B20, 53588 },
{ 0x0F48, 53591 },
{ 0x0F47, 53594 },
{ 0x0F44, 53597 },
{ 0x0F32, 53600 },
{ 0x0F46, 53603 },
{ 0x0F49, 53606 },
- { 0x4936, 53609 },
- { 0x4935, 53614 },
- { 0x4939, 53618 },
- { 0x493A, 53622 },
- { 0x4938, 53626 },
- { 0x4937, 53630 },
- { 0x493C, 53634 },
- { 0x4941, 53638 },
- { 0x493D, 53642 },
- { 0x4940, 53646 },
- { 0x493F, 53650 },
- { 0x4944, 53654 },
- { 0x493B, 53658 },
- { 0x4943, 53662 },
- { 0x4942, 53666 },
- { 0x493E, 53670 },
- { 0x4930, 53674 },
- { 0x4933, 53678 },
- { 0x4931, 53682 },
- { 0x4934, 53686 },
- { 0x4932, 53690 },
- { 0x4913, 53694 },
- { 0x4914, 53698 },
- { 0x4919, 53702 },
- { 0x491D, 53706 },
- { 0x491C, 53710 },
- { 0x4925, 53714 },
- { 0x491A, 53718 },
- { 0x4918, 53722 },
- { 0x4924, 53726 },
- { 0x4926, 53730 },
- { 0x4927, 53734 },
- { 0x4928, 53738 },
- { 0x4915, 53742 },
- { 0x491F, 53746 },
- { 0x4922, 53750 },
- { 0x4916, 53754 },
- { 0x492F, 53758 },
- { 0x4929, 53762 },
- { 0x492B, 53766 },
- { 0x4921, 53770 },
- { 0x491E, 53774 },
- { 0x491B, 53778 },
- { 0x492D, 53782 },
- { 0x492E, 53786 },
- { 0x4920, 53790 },
- { 0x4923, 53794 },
- { 0x4917, 53798 },
- { 0x492A, 53802 },
- { 0x492C, 53807 },
- { 0x464C, 53812 },
- { 0x4658, 53815 },
- { 0x4657, 53818 },
- { 0x4654, 53821 },
- { 0x4655, 53824 },
- { 0x465C, 53827 },
- { 0x464D, 53830 },
- { 0x4649, 53833 },
- { 0x464F, 53836 },
- { 0x4652, 53839 },
- { 0x465A, 53842 },
- { 0x465B, 53845 },
- { 0x4650, 53848 },
- { 0x4651, 53851 },
- { 0x464E, 53854 },
- { 0x4648, 53857 },
- { 0x464A, 53860 },
- { 0x4659, 53863 },
- { 0x4653, 53866 },
- { 0x4656, 53869 },
- { 0x464B, 53872 },
- { 0x465D, 53875 },
- { 0x4661, 53878 },
- { 0x465F, 53882 },
- { 0x465E, 53885 },
- { 0x4660, 53888 },
- { 0x7F12, 53891 },
+ { 0x493B, 53609 },
+ { 0x493A, 53614 },
+ { 0x493E, 53618 },
+ { 0x493F, 53622 },
+ { 0x493D, 53626 },
+ { 0x493C, 53630 },
+ { 0x4941, 53634 },
+ { 0x4946, 53638 },
+ { 0x4942, 53642 },
+ { 0x4945, 53646 },
+ { 0x4944, 53650 },
+ { 0x4949, 53654 },
+ { 0x4940, 53658 },
+ { 0x4948, 53662 },
+ { 0x4947, 53666 },
+ { 0x4943, 53670 },
+ { 0x4935, 53674 },
+ { 0x4938, 53678 },
+ { 0x4936, 53682 },
+ { 0x4939, 53686 },
+ { 0x4937, 53690 },
+ { 0x4918, 53694 },
+ { 0x4919, 53698 },
+ { 0x491E, 53702 },
+ { 0x4922, 53706 },
+ { 0x4921, 53710 },
+ { 0x492A, 53714 },
+ { 0x491F, 53718 },
+ { 0x491D, 53722 },
+ { 0x4929, 53726 },
+ { 0x492B, 53730 },
+ { 0x492C, 53734 },
+ { 0x492D, 53738 },
+ { 0x491A, 53742 },
+ { 0x4924, 53746 },
+ { 0x4927, 53750 },
+ { 0x491B, 53754 },
+ { 0x4934, 53758 },
+ { 0x492E, 53762 },
+ { 0x4930, 53766 },
+ { 0x4926, 53770 },
+ { 0x4923, 53774 },
+ { 0x4920, 53778 },
+ { 0x4932, 53782 },
+ { 0x4933, 53786 },
+ { 0x4925, 53790 },
+ { 0x4928, 53794 },
+ { 0x491C, 53798 },
+ { 0x492F, 53802 },
+ { 0x4931, 53807 },
+ { 0x4651, 53812 },
+ { 0x465D, 53815 },
+ { 0x465C, 53818 },
+ { 0x4659, 53821 },
+ { 0x465A, 53824 },
+ { 0x4661, 53827 },
+ { 0x4652, 53830 },
+ { 0x464E, 53833 },
+ { 0x4654, 53836 },
+ { 0x4657, 53839 },
+ { 0x465F, 53842 },
+ { 0x4660, 53845 },
+ { 0x4655, 53848 },
+ { 0x4656, 53851 },
+ { 0x4653, 53854 },
+ { 0x464D, 53857 },
+ { 0x464F, 53860 },
+ { 0x465E, 53863 },
+ { 0x4658, 53866 },
+ { 0x465B, 53869 },
+ { 0x4650, 53872 },
+ { 0x4662, 53875 },
+ { 0x4666, 53878 },
+ { 0x4664, 53882 },
+ { 0x4663, 53885 },
+ { 0x4665, 53888 },
+ { 0x7F17, 53891 },
{ 0x0593, 53892 },
{ 0x0575, 53895 },
{ 0x0574, 53899 },
@@ -60404,7 +60411,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0568, 53962 },
{ 0x0577, 53965 },
{ 0x056B, 53969 },
- { 0x3B5F, 53972 },
+ { 0x3B64, 53972 },
{ 0x055B, 53976 },
{ 0x055D, 53979 },
{ 0x055C, 53982 },
@@ -60436,78 +60443,78 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x054E, 54070 },
{ 0x0543, 54073 },
{ 0x057C, 54076 },
- { 0x3B75, 54079 },
+ { 0x3B7A, 54079 },
{ 0x058C, 54084 },
- { 0x3B8A, 54087 },
- { 0x3B81, 54092 },
+ { 0x3B8F, 54087 },
+ { 0x3B86, 54092 },
{ 0x0579, 54097 },
- { 0x3B88, 54100 },
- { 0x3B72, 54105 },
+ { 0x3B8D, 54100 },
+ { 0x3B77, 54105 },
{ 0x057F, 54110 },
{ 0x0583, 54113 },
- { 0x3B89, 54116 },
- { 0x3B7B, 54121 },
+ { 0x3B8E, 54116 },
+ { 0x3B80, 54121 },
{ 0x0586, 54126 },
- { 0x3B7D, 54129 },
+ { 0x3B82, 54129 },
{ 0x0588, 54134 },
- { 0x3B7E, 54137 },
+ { 0x3B83, 54137 },
{ 0x058F, 54142 },
- { 0x3B83, 54145 },
+ { 0x3B88, 54145 },
{ 0x0592, 54150 },
- { 0x3B86, 54153 },
+ { 0x3B8B, 54153 },
{ 0x0580, 54158 },
- { 0x3B78, 54161 },
+ { 0x3B7D, 54161 },
{ 0x057D, 54166 },
- { 0x3B87, 54169 },
- { 0x3B76, 54174 },
+ { 0x3B8C, 54169 },
+ { 0x3B7B, 54174 },
{ 0x0581, 54179 },
- { 0x3B5E, 54182 },
- { 0x3B79, 54187 },
+ { 0x3B63, 54182 },
+ { 0x3B7E, 54187 },
{ 0x0578, 54192 },
- { 0x3B71, 54195 },
- { 0x3B6F, 54200 },
- { 0x3B70, 54205 },
+ { 0x3B76, 54195 },
+ { 0x3B74, 54200 },
+ { 0x3B75, 54205 },
{ 0x058A, 54210 },
{ 0x0590, 54213 },
- { 0x3B84, 54216 },
+ { 0x3B89, 54216 },
{ 0x0591, 54221 },
- { 0x3B6C, 54224 },
- { 0x3B6B, 54230 },
- { 0x3B85, 54236 },
- { 0x3B6E, 54241 },
- { 0x3B6D, 54249 },
- { 0x3B64, 54257 },
- { 0x3B65, 54261 },
- { 0x3B69, 54265 },
- { 0x3B62, 54269 },
- { 0x3B68, 54273 },
- { 0x3B63, 54277 },
- { 0x3B67, 54281 },
- { 0x3B66, 54286 },
+ { 0x3B71, 54224 },
+ { 0x3B70, 54230 },
+ { 0x3B8A, 54236 },
+ { 0x3B73, 54241 },
+ { 0x3B72, 54249 },
+ { 0x3B69, 54257 },
+ { 0x3B6A, 54261 },
+ { 0x3B6E, 54265 },
+ { 0x3B67, 54269 },
+ { 0x3B6D, 54273 },
+ { 0x3B68, 54277 },
+ { 0x3B6C, 54281 },
+ { 0x3B6B, 54286 },
{ 0x057B, 54290 },
- { 0x3B74, 54293 },
+ { 0x3B79, 54293 },
{ 0x058B, 54298 },
- { 0x3B80, 54302 },
+ { 0x3B85, 54302 },
{ 0x0582, 54308 },
- { 0x3B7A, 54312 },
+ { 0x3B7F, 54312 },
{ 0x0585, 54318 },
{ 0x0587, 54322 },
{ 0x058D, 54326 },
{ 0x057A, 54330 },
- { 0x3B73, 54333 },
+ { 0x3B78, 54333 },
{ 0x0584, 54338 },
- { 0x3B7C, 54341 },
+ { 0x3B81, 54341 },
{ 0x058E, 54346 },
- { 0x3B82, 54349 },
+ { 0x3B87, 54349 },
{ 0x057E, 54354 },
- { 0x3B77, 54357 },
+ { 0x3B7C, 54357 },
{ 0x0589, 54362 },
- { 0x3B7F, 54365 },
- { 0x3B61, 54370 },
- { 0x3B6A, 54374 },
- { 0x3B8B, 54379 },
+ { 0x3B84, 54365 },
+ { 0x3B66, 54370 },
+ { 0x3B6F, 54374 },
+ { 0x3B90, 54379 },
{ 0x0595, 54383 },
- { 0x3B60, 54388 },
+ { 0x3B65, 54388 },
{ 0x0594, 54394 },
{ 0x0596, 54399 },
{ 0x0576, 54404 },
@@ -60517,84 +60524,84 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0597, 54418 },
{ 0x0598, 54421 },
{ 0x22F4, 54424 },
- { 0x8092, 54428 },
- { 0x7E0D, 54430 },
- { 0x7E0E, 54434 },
- { 0x7DD4, 54441 },
+ { 0x8097, 54428 },
+ { 0x7E12, 54430 },
+ { 0x7E13, 54434 },
+ { 0x7DD9, 54441 },
{ 0x27FA, 54443 },
{ 0x1C8A, 54444 },
{ 0x2A07, 54445 },
{ 0x1CBD, 54448 },
{ 0x1D2C, 54450 },
- { 0x80FD, 54453 },
- { 0x4AE2, 54456 },
- { 0x4AE1, 54459 },
- { 0x4AAA, 54462 },
- { 0x4AA9, 54465 },
- { 0x4AA8, 54468 },
- { 0x4AE8, 54471 },
- { 0x4ADD, 54473 },
- { 0x4AD9, 54477 },
- { 0x4ADF, 54481 },
- { 0x4ADB, 54485 },
- { 0x4AD8, 54489 },
- { 0x4ADE, 54493 },
- { 0x4AE0, 54497 },
- { 0x4ADA, 54501 },
- { 0x4ADC, 54505 },
- { 0x4AEA, 54509 },
- { 0x4AE9, 54514 },
- { 0x4AE7, 54517 },
- { 0x4AAB, 54521 },
- { 0x4AB1, 54524 },
- { 0x4AAD, 54527 },
- { 0x4AB3, 54530 },
- { 0x4AAF, 54533 },
- { 0x4AAC, 54536 },
- { 0x4AB2, 54539 },
- { 0x4AB4, 54542 },
- { 0x4ACD, 54545 },
- { 0x4ABA, 54548 },
- { 0x4AC8, 54551 },
- { 0x4AB7, 54554 },
- { 0x4AD7, 54557 },
- { 0x4AAE, 54560 },
- { 0x4ABC, 54563 },
- { 0x4AB5, 54566 },
- { 0x4AD2, 54569 },
- { 0x4ACF, 54572 },
- { 0x4ACA, 54575 },
- { 0x4ACB, 54578 },
- { 0x4AD1, 54581 },
- { 0x4AD6, 54584 },
- { 0x4AC6, 54587 },
- { 0x4AB0, 54590 },
- { 0x4AD3, 54593 },
- { 0x4AD0, 54596 },
- { 0x4ACE, 54599 },
- { 0x4ABB, 54602 },
- { 0x4AC1, 54605 },
- { 0x4AC9, 54608 },
- { 0x4AB8, 54611 },
- { 0x4ABD, 54614 },
- { 0x4AB6, 54617 },
- { 0x4AB9, 54620 },
- { 0x4AC5, 54623 },
- { 0x4ABE, 54626 },
- { 0x4ACC, 54629 },
- { 0x4AC4, 54632 },
- { 0x4AD4, 54635 },
- { 0x4AD5, 54638 },
- { 0x4AC7, 54641 },
- { 0x4ABF, 54644 },
- { 0x4AC3, 54647 },
- { 0x4AC0, 54650 },
- { 0x4AC2, 54653 },
- { 0x4AE5, 54656 },
- { 0x4AEB, 54659 },
- { 0x4AE6, 54663 },
- { 0x4AE4, 54666 },
- { 0x4AE3, 54669 },
+ { 0x8102, 54453 },
+ { 0x4AE7, 54456 },
+ { 0x4AE6, 54459 },
+ { 0x4AAF, 54462 },
+ { 0x4AAE, 54465 },
+ { 0x4AAD, 54468 },
+ { 0x4AED, 54471 },
+ { 0x4AE2, 54473 },
+ { 0x4ADE, 54477 },
+ { 0x4AE4, 54481 },
+ { 0x4AE0, 54485 },
+ { 0x4ADD, 54489 },
+ { 0x4AE3, 54493 },
+ { 0x4AE5, 54497 },
+ { 0x4ADF, 54501 },
+ { 0x4AE1, 54505 },
+ { 0x4AEF, 54509 },
+ { 0x4AEE, 54514 },
+ { 0x4AEC, 54517 },
+ { 0x4AB0, 54521 },
+ { 0x4AB6, 54524 },
+ { 0x4AB2, 54527 },
+ { 0x4AB8, 54530 },
+ { 0x4AB4, 54533 },
+ { 0x4AB1, 54536 },
+ { 0x4AB7, 54539 },
+ { 0x4AB9, 54542 },
+ { 0x4AD2, 54545 },
+ { 0x4ABF, 54548 },
+ { 0x4ACD, 54551 },
+ { 0x4ABC, 54554 },
+ { 0x4ADC, 54557 },
+ { 0x4AB3, 54560 },
+ { 0x4AC1, 54563 },
+ { 0x4ABA, 54566 },
+ { 0x4AD7, 54569 },
+ { 0x4AD4, 54572 },
+ { 0x4ACF, 54575 },
+ { 0x4AD0, 54578 },
+ { 0x4AD6, 54581 },
+ { 0x4ADB, 54584 },
+ { 0x4ACB, 54587 },
+ { 0x4AB5, 54590 },
+ { 0x4AD8, 54593 },
+ { 0x4AD5, 54596 },
+ { 0x4AD3, 54599 },
+ { 0x4AC0, 54602 },
+ { 0x4AC6, 54605 },
+ { 0x4ACE, 54608 },
+ { 0x4ABD, 54611 },
+ { 0x4AC2, 54614 },
+ { 0x4ABB, 54617 },
+ { 0x4ABE, 54620 },
+ { 0x4ACA, 54623 },
+ { 0x4AC3, 54626 },
+ { 0x4AD1, 54629 },
+ { 0x4AC9, 54632 },
+ { 0x4AD9, 54635 },
+ { 0x4ADA, 54638 },
+ { 0x4ACC, 54641 },
+ { 0x4AC4, 54644 },
+ { 0x4AC8, 54647 },
+ { 0x4AC5, 54650 },
+ { 0x4AC7, 54653 },
+ { 0x4AEA, 54656 },
+ { 0x4AF0, 54659 },
+ { 0x4AEB, 54663 },
+ { 0x4AE9, 54666 },
+ { 0x4AE8, 54669 },
{ 0x2B0D, 54672 },
{ 0x2ADF, 54676 },
{ 0x2AE0, 54679 },
@@ -60810,551 +60817,551 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2B62, 55329 },
{ 0x2B7D, 55332 },
{ 0x1D7F, 55336 },
- { 0x7CC4, 55338 },
- { 0x81AB, 55340 },
- { 0x62E2, 55341 },
- { 0x65E5, 55345 },
- { 0x65E6, 55349 },
- { 0x65E7, 55353 },
- { 0x65E8, 55357 },
- { 0x65E9, 55361 },
- { 0x65EA, 55365 },
- { 0x65EB, 55369 },
- { 0x65EC, 55373 },
- { 0x65ED, 55377 },
- { 0x65EE, 55381 },
- { 0x65EF, 55385 },
- { 0x65F0, 55389 },
- { 0x65F1, 55393 },
- { 0x65F2, 55397 },
- { 0x65F3, 55401 },
- { 0x65F4, 55405 },
- { 0x65F5, 55409 },
- { 0x65F6, 55413 },
- { 0x65F7, 55417 },
- { 0x65F8, 55421 },
- { 0x65F9, 55425 },
- { 0x65FA, 55429 },
- { 0x65FB, 55433 },
- { 0x65FC, 55437 },
- { 0x65FD, 55441 },
- { 0x65FE, 55445 },
- { 0x65FF, 55449 },
- { 0x6600, 55453 },
- { 0x6601, 55457 },
- { 0x6602, 55461 },
- { 0x6603, 55465 },
- { 0x6604, 55469 },
- { 0x6605, 55473 },
- { 0x6606, 55477 },
- { 0x6607, 55481 },
- { 0x6608, 55485 },
- { 0x6609, 55489 },
- { 0x660A, 55493 },
- { 0x660B, 55497 },
- { 0x660C, 55501 },
- { 0x660D, 55505 },
- { 0x660E, 55509 },
- { 0x660F, 55513 },
- { 0x6610, 55517 },
- { 0x6611, 55521 },
- { 0x6612, 55525 },
- { 0x6613, 55529 },
- { 0x6614, 55533 },
- { 0x6615, 55537 },
- { 0x6616, 55541 },
- { 0x6617, 55545 },
- { 0x6618, 55549 },
- { 0x6619, 55553 },
- { 0x661A, 55557 },
- { 0x661B, 55561 },
- { 0x661C, 55565 },
- { 0x661D, 55569 },
- { 0x661E, 55573 },
- { 0x661F, 55577 },
- { 0x6620, 55581 },
- { 0x6621, 55585 },
- { 0x6622, 55589 },
- { 0x6623, 55593 },
- { 0x6624, 55597 },
- { 0x6625, 55601 },
- { 0x6626, 55605 },
- { 0x6627, 55609 },
- { 0x6628, 55613 },
- { 0x6629, 55617 },
- { 0x662A, 55621 },
- { 0x662B, 55625 },
- { 0x662C, 55629 },
- { 0x662D, 55633 },
- { 0x662E, 55637 },
- { 0x662F, 55641 },
- { 0x6630, 55645 },
- { 0x6631, 55649 },
- { 0x6632, 55653 },
- { 0x6633, 55657 },
- { 0x6634, 55661 },
- { 0x6635, 55665 },
- { 0x6636, 55669 },
- { 0x6637, 55673 },
- { 0x6638, 55677 },
- { 0x6639, 55681 },
- { 0x663A, 55685 },
- { 0x663B, 55689 },
- { 0x663C, 55693 },
- { 0x663D, 55697 },
- { 0x663E, 55701 },
- { 0x663F, 55705 },
- { 0x6640, 55709 },
- { 0x6641, 55713 },
- { 0x6642, 55717 },
- { 0x6643, 55721 },
- { 0x6644, 55725 },
- { 0x6645, 55729 },
- { 0x6646, 55733 },
- { 0x6647, 55737 },
- { 0x6648, 55741 },
- { 0x6649, 55745 },
- { 0x664A, 55749 },
- { 0x664B, 55753 },
- { 0x664C, 55757 },
- { 0x664D, 55761 },
- { 0x664E, 55765 },
- { 0x664F, 55769 },
- { 0x6650, 55773 },
- { 0x6651, 55777 },
- { 0x6652, 55781 },
- { 0x6653, 55785 },
- { 0x6654, 55789 },
- { 0x6655, 55793 },
- { 0x6656, 55797 },
- { 0x6657, 55801 },
- { 0x6658, 55805 },
- { 0x6659, 55809 },
- { 0x665A, 55813 },
- { 0x665B, 55817 },
- { 0x665C, 55821 },
- { 0x665D, 55825 },
- { 0x665E, 55829 },
- { 0x665F, 55833 },
- { 0x6660, 55837 },
- { 0x6661, 55841 },
- { 0x6662, 55845 },
- { 0x6663, 55849 },
- { 0x6664, 55853 },
- { 0x6665, 55857 },
- { 0x6666, 55861 },
- { 0x6667, 55865 },
- { 0x6668, 55869 },
- { 0x6669, 55873 },
- { 0x666A, 55877 },
- { 0x666B, 55881 },
- { 0x666C, 55885 },
- { 0x666D, 55889 },
- { 0x666E, 55893 },
- { 0x666F, 55897 },
- { 0x6670, 55901 },
- { 0x6671, 55905 },
- { 0x6672, 55909 },
- { 0x6673, 55913 },
- { 0x6674, 55917 },
- { 0x6675, 55921 },
- { 0x6676, 55925 },
- { 0x6677, 55929 },
- { 0x6678, 55933 },
- { 0x6679, 55937 },
- { 0x667A, 55941 },
- { 0x667B, 55945 },
- { 0x667C, 55949 },
- { 0x667D, 55953 },
- { 0x667E, 55957 },
- { 0x667F, 55961 },
- { 0x6680, 55965 },
- { 0x6681, 55969 },
- { 0x6682, 55973 },
- { 0x6683, 55977 },
- { 0x6684, 55981 },
- { 0x6685, 55985 },
- { 0x6686, 55989 },
- { 0x6687, 55993 },
- { 0x6688, 55997 },
- { 0x6689, 56001 },
- { 0x668A, 56005 },
- { 0x668B, 56009 },
- { 0x668C, 56013 },
- { 0x668D, 56017 },
- { 0x668E, 56021 },
- { 0x668F, 56025 },
- { 0x6690, 56029 },
- { 0x6691, 56033 },
- { 0x6692, 56037 },
- { 0x6693, 56041 },
- { 0x6694, 56045 },
- { 0x6695, 56049 },
- { 0x6696, 56053 },
- { 0x6697, 56057 },
- { 0x6698, 56061 },
- { 0x6699, 56065 },
- { 0x669A, 56069 },
- { 0x669B, 56073 },
- { 0x669C, 56077 },
- { 0x669D, 56081 },
- { 0x669E, 56085 },
- { 0x669F, 56089 },
- { 0x66A0, 56093 },
- { 0x66A1, 56097 },
- { 0x66A2, 56101 },
- { 0x66A3, 56105 },
- { 0x66A4, 56109 },
- { 0x66A5, 56113 },
- { 0x66A6, 56117 },
- { 0x66A7, 56121 },
- { 0x66A8, 56125 },
- { 0x66A9, 56129 },
- { 0x66AA, 56133 },
- { 0x66AB, 56137 },
- { 0x66AC, 56141 },
- { 0x66AD, 56145 },
- { 0x66AE, 56149 },
- { 0x66AF, 56153 },
- { 0x66B0, 56157 },
- { 0x66B1, 56161 },
- { 0x66B2, 56165 },
- { 0x66B3, 56169 },
- { 0x66B4, 56173 },
- { 0x66B5, 56177 },
- { 0x66B6, 56181 },
- { 0x66B7, 56185 },
- { 0x66B8, 56189 },
- { 0x66B9, 56193 },
- { 0x66BA, 56197 },
- { 0x66BB, 56201 },
- { 0x66BC, 56205 },
- { 0x66BD, 56209 },
- { 0x66BE, 56213 },
- { 0x66BF, 56217 },
- { 0x66C0, 56221 },
- { 0x66C1, 56225 },
- { 0x66C2, 56229 },
- { 0x66C3, 56233 },
- { 0x66C4, 56237 },
- { 0x66C5, 56241 },
- { 0x66C6, 56245 },
- { 0x66C7, 56249 },
- { 0x66C8, 56253 },
- { 0x66C9, 56257 },
- { 0x66CA, 56261 },
- { 0x66CB, 56265 },
- { 0x66CC, 56269 },
- { 0x66CD, 56273 },
- { 0x66CE, 56277 },
- { 0x66CF, 56281 },
- { 0x66D0, 56285 },
- { 0x66D1, 56289 },
- { 0x66D2, 56293 },
- { 0x66D3, 56297 },
- { 0x66D4, 56301 },
- { 0x66D5, 56305 },
- { 0x66D6, 56309 },
- { 0x66D7, 56313 },
- { 0x66D8, 56317 },
- { 0x66D9, 56321 },
- { 0x66DA, 56325 },
- { 0x66DB, 56329 },
- { 0x66DC, 56333 },
- { 0x66DD, 56337 },
- { 0x66DE, 56341 },
- { 0x66DF, 56345 },
- { 0x66E0, 56349 },
- { 0x66E1, 56353 },
- { 0x66E2, 56357 },
- { 0x66E3, 56361 },
- { 0x66E4, 56365 },
- { 0x66E5, 56369 },
- { 0x66E6, 56373 },
- { 0x66E7, 56377 },
- { 0x66E8, 56381 },
- { 0x66E9, 56385 },
- { 0x66EA, 56389 },
- { 0x66EB, 56393 },
- { 0x66EC, 56397 },
- { 0x66ED, 56401 },
- { 0x66EE, 56405 },
- { 0x66EF, 56409 },
- { 0x66F0, 56413 },
- { 0x66F1, 56417 },
- { 0x66F2, 56421 },
- { 0x66F3, 56425 },
- { 0x66F4, 56429 },
- { 0x66F5, 56433 },
- { 0x66F6, 56437 },
- { 0x66F7, 56441 },
- { 0x66F8, 56445 },
- { 0x66F9, 56449 },
- { 0x66FA, 56453 },
- { 0x66FB, 56457 },
- { 0x66FC, 56461 },
- { 0x66FD, 56465 },
- { 0x66FE, 56469 },
- { 0x66FF, 56473 },
- { 0x6700, 56477 },
- { 0x6701, 56481 },
- { 0x6702, 56485 },
- { 0x6703, 56489 },
- { 0x6704, 56493 },
- { 0x6705, 56497 },
- { 0x6706, 56501 },
- { 0x6707, 56505 },
- { 0x6708, 56509 },
- { 0x6709, 56513 },
- { 0x670A, 56517 },
- { 0x670B, 56521 },
- { 0x670C, 56525 },
- { 0x670D, 56529 },
- { 0x670E, 56533 },
- { 0x670F, 56537 },
- { 0x6710, 56541 },
- { 0x6711, 56545 },
- { 0x6712, 56549 },
- { 0x6713, 56553 },
- { 0x6714, 56557 },
- { 0x6715, 56561 },
- { 0x6716, 56565 },
- { 0x6717, 56569 },
- { 0x6718, 56573 },
- { 0x6719, 56577 },
- { 0x671A, 56581 },
- { 0x671B, 56585 },
- { 0x671C, 56589 },
- { 0x671D, 56593 },
- { 0x671E, 56597 },
- { 0x671F, 56601 },
- { 0x6720, 56605 },
- { 0x6721, 56609 },
- { 0x6722, 56613 },
- { 0x6723, 56617 },
- { 0x6724, 56621 },
- { 0x6725, 56625 },
- { 0x6726, 56629 },
- { 0x6727, 56633 },
- { 0x6728, 56637 },
- { 0x6729, 56641 },
- { 0x672A, 56645 },
- { 0x672B, 56649 },
- { 0x672C, 56653 },
- { 0x672D, 56657 },
- { 0x672E, 56661 },
- { 0x672F, 56665 },
- { 0x6730, 56669 },
- { 0x6731, 56673 },
- { 0x6732, 56677 },
- { 0x6733, 56681 },
- { 0x6734, 56685 },
- { 0x6735, 56689 },
- { 0x6736, 56693 },
- { 0x6737, 56697 },
- { 0x6738, 56701 },
- { 0x6739, 56705 },
- { 0x673A, 56709 },
- { 0x673B, 56713 },
- { 0x673C, 56717 },
- { 0x673D, 56721 },
- { 0x673E, 56725 },
- { 0x673F, 56729 },
- { 0x6740, 56733 },
- { 0x6741, 56737 },
- { 0x6742, 56741 },
- { 0x6743, 56745 },
- { 0x6744, 56749 },
- { 0x6745, 56753 },
- { 0x6746, 56757 },
- { 0x6747, 56761 },
- { 0x6748, 56765 },
- { 0x6749, 56769 },
- { 0x674A, 56773 },
- { 0x674B, 56777 },
- { 0x674C, 56781 },
- { 0x674D, 56785 },
- { 0x674E, 56789 },
- { 0x674F, 56793 },
- { 0x6750, 56797 },
- { 0x6751, 56801 },
- { 0x6752, 56805 },
- { 0x6753, 56809 },
- { 0x6754, 56813 },
- { 0x6755, 56817 },
- { 0x6756, 56821 },
- { 0x6757, 56825 },
- { 0x6758, 56829 },
- { 0x6759, 56833 },
- { 0x675A, 56837 },
- { 0x675B, 56841 },
- { 0x675C, 56845 },
- { 0x675D, 56849 },
- { 0x675E, 56853 },
- { 0x675F, 56857 },
- { 0x6760, 56861 },
- { 0x6761, 56865 },
- { 0x6762, 56869 },
- { 0x6763, 56873 },
- { 0x6764, 56877 },
- { 0x6765, 56881 },
- { 0x6766, 56885 },
- { 0x6767, 56889 },
- { 0x6768, 56893 },
- { 0x6769, 56897 },
- { 0x676A, 56901 },
- { 0x676B, 56905 },
- { 0x676C, 56909 },
- { 0x676D, 56913 },
- { 0x676E, 56917 },
- { 0x676F, 56921 },
- { 0x6770, 56925 },
- { 0x6771, 56929 },
- { 0x6772, 56933 },
- { 0x6773, 56937 },
- { 0x6774, 56941 },
- { 0x6775, 56945 },
- { 0x6776, 56949 },
- { 0x6777, 56953 },
- { 0x6778, 56957 },
- { 0x6779, 56961 },
- { 0x677A, 56965 },
- { 0x677B, 56969 },
- { 0x677C, 56973 },
- { 0x677D, 56977 },
- { 0x677E, 56981 },
- { 0x677F, 56985 },
- { 0x6780, 56989 },
- { 0x6781, 56993 },
- { 0x6782, 56997 },
- { 0x6783, 57001 },
- { 0x6784, 57005 },
- { 0x6785, 57009 },
- { 0x6786, 57013 },
- { 0x6787, 57017 },
- { 0x6788, 57021 },
- { 0x6789, 57025 },
- { 0x678A, 57029 },
- { 0x678B, 57033 },
- { 0x678C, 57037 },
- { 0x678D, 57041 },
- { 0x678E, 57045 },
- { 0x678F, 57049 },
- { 0x6790, 57053 },
- { 0x6791, 57057 },
- { 0x6792, 57061 },
- { 0x6793, 57065 },
- { 0x6794, 57069 },
- { 0x6795, 57073 },
- { 0x6796, 57077 },
- { 0x6797, 57081 },
- { 0x6798, 57085 },
- { 0x6799, 57089 },
- { 0x679A, 57093 },
- { 0x679B, 57097 },
- { 0x679C, 57101 },
- { 0x679D, 57105 },
- { 0x679E, 57109 },
- { 0x679F, 57113 },
- { 0x67A0, 57117 },
- { 0x67A1, 57121 },
- { 0x67A2, 57125 },
- { 0x67A3, 57129 },
- { 0x67A4, 57133 },
- { 0x67A5, 57137 },
- { 0x67A6, 57141 },
- { 0x67A7, 57145 },
- { 0x67A8, 57149 },
- { 0x67A9, 57153 },
- { 0x67AA, 57157 },
- { 0x67AB, 57161 },
- { 0x67AC, 57165 },
- { 0x67AD, 57169 },
- { 0x67AE, 57173 },
- { 0x67AF, 57177 },
- { 0x67B0, 57181 },
- { 0x67B1, 57185 },
- { 0x67B2, 57189 },
- { 0x67B3, 57193 },
- { 0x67B4, 57197 },
- { 0x67B5, 57201 },
- { 0x67B6, 57205 },
- { 0x67B7, 57209 },
- { 0x67B8, 57213 },
- { 0x67B9, 57217 },
- { 0x67BA, 57221 },
- { 0x4C26, 57225 },
- { 0x4C2E, 57228 },
- { 0x4C27, 57231 },
- { 0x4C25, 57234 },
- { 0x4C24, 57237 },
- { 0x4C2A, 57240 },
- { 0x4C28, 57243 },
- { 0x4C20, 57245 },
- { 0x4C1D, 57249 },
- { 0x4C22, 57253 },
- { 0x4C1F, 57257 },
- { 0x4C1C, 57261 },
- { 0x4C21, 57265 },
- { 0x4C23, 57269 },
- { 0x4C1E, 57273 },
- { 0x4C31, 57277 },
- { 0x4C29, 57282 },
- { 0x4C2C, 57285 },
- { 0x4BF1, 57289 },
- { 0x4BF5, 57292 },
- { 0x4BF3, 57295 },
- { 0x4BF7, 57298 },
- { 0x4BF4, 57301 },
- { 0x4BF2, 57304 },
- { 0x4BF6, 57307 },
- { 0x4BF8, 57310 },
- { 0x4C11, 57313 },
- { 0x4BFF, 57316 },
- { 0x4C0B, 57319 },
- { 0x4BFB, 57322 },
- { 0x4C1A, 57325 },
- { 0x4C01, 57328 },
- { 0x4BF9, 57331 },
- { 0x4C17, 57334 },
- { 0x4C14, 57337 },
- { 0x4C0E, 57340 },
- { 0x4C0F, 57343 },
- { 0x4C2F, 57346 },
- { 0x4C16, 57349 },
- { 0x4C19, 57352 },
- { 0x4C09, 57355 },
- { 0x4C18, 57358 },
- { 0x4C15, 57361 },
- { 0x4C12, 57364 },
- { 0x4C13, 57367 },
- { 0x4C00, 57370 },
- { 0x4C06, 57373 },
- { 0x4C0D, 57376 },
- { 0x4BFC, 57379 },
- { 0x4BFD, 57382 },
- { 0x4C02, 57385 },
- { 0x4BFA, 57388 },
- { 0x4C1B, 57391 },
- { 0x4BFE, 57394 },
- { 0x4C08, 57397 },
- { 0x4C03, 57400 },
- { 0x4C10, 57403 },
- { 0x4C0A, 57406 },
- { 0x4C04, 57409 },
- { 0x4C0C, 57412 },
- { 0x4C07, 57415 },
- { 0x4C05, 57418 },
- { 0x4C30, 57421 },
- { 0x4C2B, 57425 },
- { 0x4C2D, 57428 },
- { 0x7BFD, 57431 },
- { 0x2E08, 57432 },
+ { 0x7CC9, 55338 },
+ { 0x81B0, 55340 },
+ { 0x62E7, 55341 },
+ { 0x65EA, 55345 },
+ { 0x65EB, 55349 },
+ { 0x65EC, 55353 },
+ { 0x65ED, 55357 },
+ { 0x65EE, 55361 },
+ { 0x65EF, 55365 },
+ { 0x65F0, 55369 },
+ { 0x65F1, 55373 },
+ { 0x65F2, 55377 },
+ { 0x65F3, 55381 },
+ { 0x65F4, 55385 },
+ { 0x65F5, 55389 },
+ { 0x65F6, 55393 },
+ { 0x65F7, 55397 },
+ { 0x65F8, 55401 },
+ { 0x65F9, 55405 },
+ { 0x65FA, 55409 },
+ { 0x65FB, 55413 },
+ { 0x65FC, 55417 },
+ { 0x65FD, 55421 },
+ { 0x65FE, 55425 },
+ { 0x65FF, 55429 },
+ { 0x6600, 55433 },
+ { 0x6601, 55437 },
+ { 0x6602, 55441 },
+ { 0x6603, 55445 },
+ { 0x6604, 55449 },
+ { 0x6605, 55453 },
+ { 0x6606, 55457 },
+ { 0x6607, 55461 },
+ { 0x6608, 55465 },
+ { 0x6609, 55469 },
+ { 0x660A, 55473 },
+ { 0x660B, 55477 },
+ { 0x660C, 55481 },
+ { 0x660D, 55485 },
+ { 0x660E, 55489 },
+ { 0x660F, 55493 },
+ { 0x6610, 55497 },
+ { 0x6611, 55501 },
+ { 0x6612, 55505 },
+ { 0x6613, 55509 },
+ { 0x6614, 55513 },
+ { 0x6615, 55517 },
+ { 0x6616, 55521 },
+ { 0x6617, 55525 },
+ { 0x6618, 55529 },
+ { 0x6619, 55533 },
+ { 0x661A, 55537 },
+ { 0x661B, 55541 },
+ { 0x661C, 55545 },
+ { 0x661D, 55549 },
+ { 0x661E, 55553 },
+ { 0x661F, 55557 },
+ { 0x6620, 55561 },
+ { 0x6621, 55565 },
+ { 0x6622, 55569 },
+ { 0x6623, 55573 },
+ { 0x6624, 55577 },
+ { 0x6625, 55581 },
+ { 0x6626, 55585 },
+ { 0x6627, 55589 },
+ { 0x6628, 55593 },
+ { 0x6629, 55597 },
+ { 0x662A, 55601 },
+ { 0x662B, 55605 },
+ { 0x662C, 55609 },
+ { 0x662D, 55613 },
+ { 0x662E, 55617 },
+ { 0x662F, 55621 },
+ { 0x6630, 55625 },
+ { 0x6631, 55629 },
+ { 0x6632, 55633 },
+ { 0x6633, 55637 },
+ { 0x6634, 55641 },
+ { 0x6635, 55645 },
+ { 0x6636, 55649 },
+ { 0x6637, 55653 },
+ { 0x6638, 55657 },
+ { 0x6639, 55661 },
+ { 0x663A, 55665 },
+ { 0x663B, 55669 },
+ { 0x663C, 55673 },
+ { 0x663D, 55677 },
+ { 0x663E, 55681 },
+ { 0x663F, 55685 },
+ { 0x6640, 55689 },
+ { 0x6641, 55693 },
+ { 0x6642, 55697 },
+ { 0x6643, 55701 },
+ { 0x6644, 55705 },
+ { 0x6645, 55709 },
+ { 0x6646, 55713 },
+ { 0x6647, 55717 },
+ { 0x6648, 55721 },
+ { 0x6649, 55725 },
+ { 0x664A, 55729 },
+ { 0x664B, 55733 },
+ { 0x664C, 55737 },
+ { 0x664D, 55741 },
+ { 0x664E, 55745 },
+ { 0x664F, 55749 },
+ { 0x6650, 55753 },
+ { 0x6651, 55757 },
+ { 0x6652, 55761 },
+ { 0x6653, 55765 },
+ { 0x6654, 55769 },
+ { 0x6655, 55773 },
+ { 0x6656, 55777 },
+ { 0x6657, 55781 },
+ { 0x6658, 55785 },
+ { 0x6659, 55789 },
+ { 0x665A, 55793 },
+ { 0x665B, 55797 },
+ { 0x665C, 55801 },
+ { 0x665D, 55805 },
+ { 0x665E, 55809 },
+ { 0x665F, 55813 },
+ { 0x6660, 55817 },
+ { 0x6661, 55821 },
+ { 0x6662, 55825 },
+ { 0x6663, 55829 },
+ { 0x6664, 55833 },
+ { 0x6665, 55837 },
+ { 0x6666, 55841 },
+ { 0x6667, 55845 },
+ { 0x6668, 55849 },
+ { 0x6669, 55853 },
+ { 0x666A, 55857 },
+ { 0x666B, 55861 },
+ { 0x666C, 55865 },
+ { 0x666D, 55869 },
+ { 0x666E, 55873 },
+ { 0x666F, 55877 },
+ { 0x6670, 55881 },
+ { 0x6671, 55885 },
+ { 0x6672, 55889 },
+ { 0x6673, 55893 },
+ { 0x6674, 55897 },
+ { 0x6675, 55901 },
+ { 0x6676, 55905 },
+ { 0x6677, 55909 },
+ { 0x6678, 55913 },
+ { 0x6679, 55917 },
+ { 0x667A, 55921 },
+ { 0x667B, 55925 },
+ { 0x667C, 55929 },
+ { 0x667D, 55933 },
+ { 0x667E, 55937 },
+ { 0x667F, 55941 },
+ { 0x6680, 55945 },
+ { 0x6681, 55949 },
+ { 0x6682, 55953 },
+ { 0x6683, 55957 },
+ { 0x6684, 55961 },
+ { 0x6685, 55965 },
+ { 0x6686, 55969 },
+ { 0x6687, 55973 },
+ { 0x6688, 55977 },
+ { 0x6689, 55981 },
+ { 0x668A, 55985 },
+ { 0x668B, 55989 },
+ { 0x668C, 55993 },
+ { 0x668D, 55997 },
+ { 0x668E, 56001 },
+ { 0x668F, 56005 },
+ { 0x6690, 56009 },
+ { 0x6691, 56013 },
+ { 0x6692, 56017 },
+ { 0x6693, 56021 },
+ { 0x6694, 56025 },
+ { 0x6695, 56029 },
+ { 0x6696, 56033 },
+ { 0x6697, 56037 },
+ { 0x6698, 56041 },
+ { 0x6699, 56045 },
+ { 0x669A, 56049 },
+ { 0x669B, 56053 },
+ { 0x669C, 56057 },
+ { 0x669D, 56061 },
+ { 0x669E, 56065 },
+ { 0x669F, 56069 },
+ { 0x66A0, 56073 },
+ { 0x66A1, 56077 },
+ { 0x66A2, 56081 },
+ { 0x66A3, 56085 },
+ { 0x66A4, 56089 },
+ { 0x66A5, 56093 },
+ { 0x66A6, 56097 },
+ { 0x66A7, 56101 },
+ { 0x66A8, 56105 },
+ { 0x66A9, 56109 },
+ { 0x66AA, 56113 },
+ { 0x66AB, 56117 },
+ { 0x66AC, 56121 },
+ { 0x66AD, 56125 },
+ { 0x66AE, 56129 },
+ { 0x66AF, 56133 },
+ { 0x66B0, 56137 },
+ { 0x66B1, 56141 },
+ { 0x66B2, 56145 },
+ { 0x66B3, 56149 },
+ { 0x66B4, 56153 },
+ { 0x66B5, 56157 },
+ { 0x66B6, 56161 },
+ { 0x66B7, 56165 },
+ { 0x66B8, 56169 },
+ { 0x66B9, 56173 },
+ { 0x66BA, 56177 },
+ { 0x66BB, 56181 },
+ { 0x66BC, 56185 },
+ { 0x66BD, 56189 },
+ { 0x66BE, 56193 },
+ { 0x66BF, 56197 },
+ { 0x66C0, 56201 },
+ { 0x66C1, 56205 },
+ { 0x66C2, 56209 },
+ { 0x66C3, 56213 },
+ { 0x66C4, 56217 },
+ { 0x66C5, 56221 },
+ { 0x66C6, 56225 },
+ { 0x66C7, 56229 },
+ { 0x66C8, 56233 },
+ { 0x66C9, 56237 },
+ { 0x66CA, 56241 },
+ { 0x66CB, 56245 },
+ { 0x66CC, 56249 },
+ { 0x66CD, 56253 },
+ { 0x66CE, 56257 },
+ { 0x66CF, 56261 },
+ { 0x66D0, 56265 },
+ { 0x66D1, 56269 },
+ { 0x66D2, 56273 },
+ { 0x66D3, 56277 },
+ { 0x66D4, 56281 },
+ { 0x66D5, 56285 },
+ { 0x66D6, 56289 },
+ { 0x66D7, 56293 },
+ { 0x66D8, 56297 },
+ { 0x66D9, 56301 },
+ { 0x66DA, 56305 },
+ { 0x66DB, 56309 },
+ { 0x66DC, 56313 },
+ { 0x66DD, 56317 },
+ { 0x66DE, 56321 },
+ { 0x66DF, 56325 },
+ { 0x66E0, 56329 },
+ { 0x66E1, 56333 },
+ { 0x66E2, 56337 },
+ { 0x66E3, 56341 },
+ { 0x66E4, 56345 },
+ { 0x66E5, 56349 },
+ { 0x66E6, 56353 },
+ { 0x66E7, 56357 },
+ { 0x66E8, 56361 },
+ { 0x66E9, 56365 },
+ { 0x66EA, 56369 },
+ { 0x66EB, 56373 },
+ { 0x66EC, 56377 },
+ { 0x66ED, 56381 },
+ { 0x66EE, 56385 },
+ { 0x66EF, 56389 },
+ { 0x66F0, 56393 },
+ { 0x66F1, 56397 },
+ { 0x66F2, 56401 },
+ { 0x66F3, 56405 },
+ { 0x66F4, 56409 },
+ { 0x66F5, 56413 },
+ { 0x66F6, 56417 },
+ { 0x66F7, 56421 },
+ { 0x66F8, 56425 },
+ { 0x66F9, 56429 },
+ { 0x66FA, 56433 },
+ { 0x66FB, 56437 },
+ { 0x66FC, 56441 },
+ { 0x66FD, 56445 },
+ { 0x66FE, 56449 },
+ { 0x66FF, 56453 },
+ { 0x6700, 56457 },
+ { 0x6701, 56461 },
+ { 0x6702, 56465 },
+ { 0x6703, 56469 },
+ { 0x6704, 56473 },
+ { 0x6705, 56477 },
+ { 0x6706, 56481 },
+ { 0x6707, 56485 },
+ { 0x6708, 56489 },
+ { 0x6709, 56493 },
+ { 0x670A, 56497 },
+ { 0x670B, 56501 },
+ { 0x670C, 56505 },
+ { 0x670D, 56509 },
+ { 0x670E, 56513 },
+ { 0x670F, 56517 },
+ { 0x6710, 56521 },
+ { 0x6711, 56525 },
+ { 0x6712, 56529 },
+ { 0x6713, 56533 },
+ { 0x6714, 56537 },
+ { 0x6715, 56541 },
+ { 0x6716, 56545 },
+ { 0x6717, 56549 },
+ { 0x6718, 56553 },
+ { 0x6719, 56557 },
+ { 0x671A, 56561 },
+ { 0x671B, 56565 },
+ { 0x671C, 56569 },
+ { 0x671D, 56573 },
+ { 0x671E, 56577 },
+ { 0x671F, 56581 },
+ { 0x6720, 56585 },
+ { 0x6721, 56589 },
+ { 0x6722, 56593 },
+ { 0x6723, 56597 },
+ { 0x6724, 56601 },
+ { 0x6725, 56605 },
+ { 0x6726, 56609 },
+ { 0x6727, 56613 },
+ { 0x6728, 56617 },
+ { 0x6729, 56621 },
+ { 0x672A, 56625 },
+ { 0x672B, 56629 },
+ { 0x672C, 56633 },
+ { 0x672D, 56637 },
+ { 0x672E, 56641 },
+ { 0x672F, 56645 },
+ { 0x6730, 56649 },
+ { 0x6731, 56653 },
+ { 0x6732, 56657 },
+ { 0x6733, 56661 },
+ { 0x6734, 56665 },
+ { 0x6735, 56669 },
+ { 0x6736, 56673 },
+ { 0x6737, 56677 },
+ { 0x6738, 56681 },
+ { 0x6739, 56685 },
+ { 0x673A, 56689 },
+ { 0x673B, 56693 },
+ { 0x673C, 56697 },
+ { 0x673D, 56701 },
+ { 0x673E, 56705 },
+ { 0x673F, 56709 },
+ { 0x6740, 56713 },
+ { 0x6741, 56717 },
+ { 0x6742, 56721 },
+ { 0x6743, 56725 },
+ { 0x6744, 56729 },
+ { 0x6745, 56733 },
+ { 0x6746, 56737 },
+ { 0x6747, 56741 },
+ { 0x6748, 56745 },
+ { 0x6749, 56749 },
+ { 0x674A, 56753 },
+ { 0x674B, 56757 },
+ { 0x674C, 56761 },
+ { 0x674D, 56765 },
+ { 0x674E, 56769 },
+ { 0x674F, 56773 },
+ { 0x6750, 56777 },
+ { 0x6751, 56781 },
+ { 0x6752, 56785 },
+ { 0x6753, 56789 },
+ { 0x6754, 56793 },
+ { 0x6755, 56797 },
+ { 0x6756, 56801 },
+ { 0x6757, 56805 },
+ { 0x6758, 56809 },
+ { 0x6759, 56813 },
+ { 0x675A, 56817 },
+ { 0x675B, 56821 },
+ { 0x675C, 56825 },
+ { 0x675D, 56829 },
+ { 0x675E, 56833 },
+ { 0x675F, 56837 },
+ { 0x6760, 56841 },
+ { 0x6761, 56845 },
+ { 0x6762, 56849 },
+ { 0x6763, 56853 },
+ { 0x6764, 56857 },
+ { 0x6765, 56861 },
+ { 0x6766, 56865 },
+ { 0x6767, 56869 },
+ { 0x6768, 56873 },
+ { 0x6769, 56877 },
+ { 0x676A, 56881 },
+ { 0x676B, 56885 },
+ { 0x676C, 56889 },
+ { 0x676D, 56893 },
+ { 0x676E, 56897 },
+ { 0x676F, 56901 },
+ { 0x6770, 56905 },
+ { 0x6771, 56909 },
+ { 0x6772, 56913 },
+ { 0x6773, 56917 },
+ { 0x6774, 56921 },
+ { 0x6775, 56925 },
+ { 0x6776, 56929 },
+ { 0x6777, 56933 },
+ { 0x6778, 56937 },
+ { 0x6779, 56941 },
+ { 0x677A, 56945 },
+ { 0x677B, 56949 },
+ { 0x677C, 56953 },
+ { 0x677D, 56957 },
+ { 0x677E, 56961 },
+ { 0x677F, 56965 },
+ { 0x6780, 56969 },
+ { 0x6781, 56973 },
+ { 0x6782, 56977 },
+ { 0x6783, 56981 },
+ { 0x6784, 56985 },
+ { 0x6785, 56989 },
+ { 0x6786, 56993 },
+ { 0x6787, 56997 },
+ { 0x6788, 57001 },
+ { 0x6789, 57005 },
+ { 0x678A, 57009 },
+ { 0x678B, 57013 },
+ { 0x678C, 57017 },
+ { 0x678D, 57021 },
+ { 0x678E, 57025 },
+ { 0x678F, 57029 },
+ { 0x6790, 57033 },
+ { 0x6791, 57037 },
+ { 0x6792, 57041 },
+ { 0x6793, 57045 },
+ { 0x6794, 57049 },
+ { 0x6795, 57053 },
+ { 0x6796, 57057 },
+ { 0x6797, 57061 },
+ { 0x6798, 57065 },
+ { 0x6799, 57069 },
+ { 0x679A, 57073 },
+ { 0x679B, 57077 },
+ { 0x679C, 57081 },
+ { 0x679D, 57085 },
+ { 0x679E, 57089 },
+ { 0x679F, 57093 },
+ { 0x67A0, 57097 },
+ { 0x67A1, 57101 },
+ { 0x67A2, 57105 },
+ { 0x67A3, 57109 },
+ { 0x67A4, 57113 },
+ { 0x67A5, 57117 },
+ { 0x67A6, 57121 },
+ { 0x67A7, 57125 },
+ { 0x67A8, 57129 },
+ { 0x67A9, 57133 },
+ { 0x67AA, 57137 },
+ { 0x67AB, 57141 },
+ { 0x67AC, 57145 },
+ { 0x67AD, 57149 },
+ { 0x67AE, 57153 },
+ { 0x67AF, 57157 },
+ { 0x67B0, 57161 },
+ { 0x67B1, 57165 },
+ { 0x67B2, 57169 },
+ { 0x67B3, 57173 },
+ { 0x67B4, 57177 },
+ { 0x67B5, 57181 },
+ { 0x67B6, 57185 },
+ { 0x67B7, 57189 },
+ { 0x67B8, 57193 },
+ { 0x67B9, 57197 },
+ { 0x67BA, 57201 },
+ { 0x67BB, 57205 },
+ { 0x67BC, 57209 },
+ { 0x67BD, 57213 },
+ { 0x67BE, 57217 },
+ { 0x67BF, 57221 },
+ { 0x4C2B, 57225 },
+ { 0x4C33, 57228 },
+ { 0x4C2C, 57231 },
+ { 0x4C2A, 57234 },
+ { 0x4C29, 57237 },
+ { 0x4C2F, 57240 },
+ { 0x4C2D, 57243 },
+ { 0x4C25, 57245 },
+ { 0x4C22, 57249 },
+ { 0x4C27, 57253 },
+ { 0x4C24, 57257 },
+ { 0x4C21, 57261 },
+ { 0x4C26, 57265 },
+ { 0x4C28, 57269 },
+ { 0x4C23, 57273 },
+ { 0x4C36, 57277 },
+ { 0x4C2E, 57282 },
+ { 0x4C31, 57285 },
+ { 0x4BF6, 57289 },
+ { 0x4BFA, 57292 },
+ { 0x4BF8, 57295 },
+ { 0x4BFC, 57298 },
+ { 0x4BF9, 57301 },
+ { 0x4BF7, 57304 },
+ { 0x4BFB, 57307 },
+ { 0x4BFD, 57310 },
+ { 0x4C16, 57313 },
+ { 0x4C04, 57316 },
+ { 0x4C10, 57319 },
+ { 0x4C00, 57322 },
+ { 0x4C1F, 57325 },
+ { 0x4C06, 57328 },
+ { 0x4BFE, 57331 },
+ { 0x4C1C, 57334 },
+ { 0x4C19, 57337 },
+ { 0x4C13, 57340 },
+ { 0x4C14, 57343 },
+ { 0x4C34, 57346 },
+ { 0x4C1B, 57349 },
+ { 0x4C1E, 57352 },
+ { 0x4C0E, 57355 },
+ { 0x4C1D, 57358 },
+ { 0x4C1A, 57361 },
+ { 0x4C17, 57364 },
+ { 0x4C18, 57367 },
+ { 0x4C05, 57370 },
+ { 0x4C0B, 57373 },
+ { 0x4C12, 57376 },
+ { 0x4C01, 57379 },
+ { 0x4C02, 57382 },
+ { 0x4C07, 57385 },
+ { 0x4BFF, 57388 },
+ { 0x4C20, 57391 },
+ { 0x4C03, 57394 },
+ { 0x4C0D, 57397 },
+ { 0x4C08, 57400 },
+ { 0x4C15, 57403 },
+ { 0x4C0F, 57406 },
+ { 0x4C09, 57409 },
+ { 0x4C11, 57412 },
+ { 0x4C0C, 57415 },
+ { 0x4C0A, 57418 },
+ { 0x4C35, 57421 },
+ { 0x4C30, 57425 },
+ { 0x4C32, 57428 },
+ { 0x7C02, 57431 },
+ { 0x2E0D, 57432 },
{ 0x2803, 57435 },
- { 0x8198, 57436 },
+ { 0x819D, 57436 },
{ 0x26CE, 57437 },
{ 0x26D0, 57439 },
- { 0x7C77, 57444 },
+ { 0x7C7C, 57444 },
{ 0x18E3, 57445 },
{ 0x18E4, 57448 },
{ 0x18EB, 57451 },
@@ -61429,741 +61436,741 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x18E5, 57678 },
{ 0x18E9, 57681 },
{ 0x18E8, 57684 },
- { 0x4471, 57688 },
- { 0x4472, 57692 },
- { 0x4473, 57696 },
- { 0x4474, 57700 },
- { 0x4475, 57704 },
- { 0x4476, 57708 },
- { 0x4477, 57712 },
- { 0x4478, 57716 },
- { 0x447C, 57720 },
- { 0x447D, 57724 },
- { 0x447E, 57728 },
- { 0x4482, 57732 },
- { 0x4483, 57736 },
- { 0x4484, 57740 },
- { 0x4485, 57744 },
- { 0x4486, 57748 },
- { 0x4487, 57752 },
- { 0x4488, 57756 },
- { 0x4489, 57760 },
- { 0x448A, 57764 },
- { 0x448B, 57768 },
- { 0x448C, 57772 },
- { 0x448D, 57776 },
- { 0x448E, 57780 },
- { 0x448F, 57784 },
- { 0x4490, 57788 },
- { 0x4491, 57792 },
- { 0x4492, 57796 },
- { 0x4493, 57800 },
- { 0x4494, 57804 },
- { 0x4495, 57808 },
- { 0x4496, 57812 },
- { 0x4497, 57816 },
- { 0x4498, 57820 },
- { 0x4499, 57824 },
- { 0x449A, 57828 },
- { 0x449B, 57832 },
- { 0x449C, 57836 },
- { 0x449D, 57840 },
- { 0x449E, 57844 },
- { 0x449F, 57848 },
- { 0x44A0, 57852 },
- { 0x44A1, 57856 },
- { 0x44A2, 57860 },
- { 0x44A3, 57864 },
- { 0x44A4, 57868 },
- { 0x44A5, 57872 },
- { 0x44A6, 57876 },
- { 0x44A7, 57880 },
- { 0x44A8, 57884 },
- { 0x44A9, 57888 },
- { 0x44AA, 57892 },
- { 0x44AB, 57896 },
- { 0x44AC, 57900 },
- { 0x44AD, 57904 },
- { 0x44AE, 57908 },
- { 0x44AF, 57912 },
- { 0x44B0, 57916 },
- { 0x44B1, 57920 },
- { 0x44B2, 57924 },
- { 0x44B3, 57928 },
- { 0x44B4, 57932 },
- { 0x44B5, 57936 },
- { 0x44B6, 57940 },
- { 0x44B7, 57944 },
- { 0x44B8, 57948 },
- { 0x44B9, 57952 },
- { 0x44BA, 57956 },
- { 0x44BB, 57960 },
- { 0x44CF, 57964 },
- { 0x44D0, 57968 },
- { 0x44D1, 57972 },
- { 0x44D2, 57976 },
- { 0x44D3, 57980 },
- { 0x44D4, 57984 },
- { 0x44D5, 57988 },
- { 0x44D6, 57992 },
- { 0x44D7, 57996 },
- { 0x44D8, 58000 },
- { 0x44D9, 58004 },
- { 0x44DA, 58008 },
- { 0x44DB, 58012 },
- { 0x44DC, 58016 },
- { 0x44DD, 58020 },
- { 0x44DE, 58024 },
- { 0x44DF, 58028 },
- { 0x44E0, 58032 },
- { 0x44E1, 58036 },
- { 0x44E2, 58040 },
- { 0x44E3, 58044 },
- { 0x44E4, 58048 },
- { 0x44E5, 58052 },
- { 0x44E6, 58056 },
- { 0x44E7, 58060 },
- { 0x44E8, 58064 },
- { 0x44E9, 58068 },
- { 0x44EA, 58072 },
- { 0x44EB, 58076 },
- { 0x44EC, 58080 },
- { 0x44ED, 58084 },
- { 0x44EE, 58088 },
- { 0x44EF, 58092 },
- { 0x44F0, 58096 },
- { 0x44F1, 58100 },
- { 0x44F2, 58104 },
- { 0x44F3, 58108 },
- { 0x44F4, 58112 },
- { 0x44F5, 58116 },
- { 0x44F6, 58120 },
- { 0x44F7, 58124 },
- { 0x44F8, 58128 },
- { 0x44F9, 58132 },
- { 0x44FA, 58136 },
- { 0x44FB, 58140 },
- { 0x44FC, 58144 },
- { 0x44FD, 58148 },
- { 0x44FE, 58152 },
- { 0x44FF, 58156 },
- { 0x4500, 58160 },
- { 0x4501, 58164 },
- { 0x4502, 58168 },
- { 0x4503, 58172 },
- { 0x4504, 58176 },
- { 0x4505, 58180 },
- { 0x4506, 58184 },
- { 0x4507, 58188 },
- { 0x4508, 58192 },
- { 0x4509, 58196 },
- { 0x450A, 58200 },
- { 0x450B, 58204 },
- { 0x450C, 58208 },
- { 0x450D, 58212 },
- { 0x450E, 58216 },
- { 0x450F, 58220 },
- { 0x4510, 58224 },
- { 0x4511, 58228 },
- { 0x4512, 58232 },
- { 0x4513, 58236 },
- { 0x4514, 58240 },
- { 0x4515, 58244 },
- { 0x4516, 58248 },
- { 0x4517, 58252 },
- { 0x4518, 58256 },
- { 0x4519, 58260 },
- { 0x451A, 58264 },
- { 0x451B, 58268 },
- { 0x451C, 58272 },
- { 0x451D, 58276 },
- { 0x451E, 58280 },
- { 0x451F, 58284 },
- { 0x4520, 58288 },
- { 0x4521, 58292 },
- { 0x4522, 58296 },
- { 0x4523, 58300 },
- { 0x4524, 58304 },
- { 0x4525, 58308 },
- { 0x4526, 58312 },
- { 0x4527, 58316 },
- { 0x4528, 58320 },
- { 0x4529, 58324 },
- { 0x452A, 58328 },
- { 0x452B, 58332 },
- { 0x452C, 58336 },
- { 0x452D, 58340 },
- { 0x452E, 58344 },
- { 0x452F, 58348 },
- { 0x4530, 58352 },
- { 0x4531, 58356 },
- { 0x4532, 58360 },
- { 0x4533, 58364 },
- { 0x4534, 58368 },
- { 0x4535, 58372 },
- { 0x4536, 58376 },
- { 0x4537, 58380 },
- { 0x4538, 58384 },
- { 0x4539, 58388 },
- { 0x453A, 58392 },
- { 0x453B, 58396 },
- { 0x453C, 58400 },
- { 0x453D, 58404 },
- { 0x453E, 58408 },
- { 0x453F, 58412 },
- { 0x4540, 58416 },
- { 0x4541, 58420 },
- { 0x4542, 58424 },
- { 0x4543, 58428 },
- { 0x4544, 58432 },
- { 0x4545, 58436 },
- { 0x4546, 58440 },
- { 0x4547, 58444 },
- { 0x4548, 58448 },
- { 0x4549, 58452 },
- { 0x454A, 58456 },
- { 0x454B, 58460 },
- { 0x454C, 58464 },
- { 0x454D, 58468 },
- { 0x454E, 58472 },
- { 0x454F, 58476 },
- { 0x4550, 58480 },
- { 0x4551, 58484 },
- { 0x4552, 58488 },
- { 0x4553, 58492 },
- { 0x4554, 58497 },
- { 0x4555, 58502 },
- { 0x4556, 58507 },
- { 0x4557, 58512 },
- { 0x4558, 58517 },
- { 0x4559, 58522 },
- { 0x455A, 58527 },
- { 0x455B, 58532 },
- { 0x4560, 58537 },
- { 0x4561, 58542 },
- { 0x4562, 58547 },
- { 0x4563, 58552 },
- { 0x4564, 58557 },
- { 0x4565, 58562 },
- { 0x4566, 58567 },
- { 0x4567, 58572 },
- { 0x4568, 58577 },
- { 0x4569, 58582 },
- { 0x456A, 58586 },
- { 0x456B, 58590 },
- { 0x456C, 58594 },
- { 0x456D, 58598 },
- { 0x456E, 58602 },
- { 0x456F, 58606 },
- { 0x4570, 58610 },
- { 0x4437, 58614 },
- { 0x4466, 58618 },
- { 0x446B, 58622 },
- { 0x4479, 58626 },
- { 0x447A, 58630 },
- { 0x447B, 58634 },
- { 0x447F, 58638 },
- { 0x4480, 58642 },
- { 0x4481, 58646 },
- { 0x441C, 58650 },
- { 0x441D, 58654 },
- { 0x441E, 58658 },
- { 0x441F, 58662 },
- { 0x4420, 58666 },
- { 0x4421, 58670 },
- { 0x4422, 58674 },
- { 0x4423, 58678 },
- { 0x4424, 58682 },
- { 0x4425, 58686 },
- { 0x4426, 58690 },
- { 0x4427, 58694 },
- { 0x4428, 58698 },
- { 0x4429, 58702 },
- { 0x442A, 58706 },
- { 0x442B, 58710 },
- { 0x442E, 58714 },
- { 0x4431, 58718 },
- { 0x4433, 58722 },
- { 0x4434, 58726 },
- { 0x4435, 58730 },
- { 0x4436, 58734 },
- { 0x4438, 58738 },
- { 0x4439, 58742 },
- { 0x443A, 58746 },
- { 0x443B, 58750 },
- { 0x443C, 58754 },
- { 0x443D, 58758 },
- { 0x443E, 58762 },
- { 0x443F, 58766 },
- { 0x4440, 58770 },
- { 0x4441, 58774 },
- { 0x4442, 58778 },
- { 0x4443, 58782 },
- { 0x4444, 58786 },
- { 0x4445, 58790 },
- { 0x4446, 58794 },
- { 0x4447, 58798 },
- { 0x4448, 58802 },
- { 0x4449, 58806 },
- { 0x444A, 58810 },
- { 0x444B, 58814 },
- { 0x444C, 58818 },
- { 0x444D, 58822 },
- { 0x444E, 58826 },
- { 0x444F, 58830 },
- { 0x4450, 58834 },
- { 0x4451, 58838 },
- { 0x4452, 58842 },
- { 0x4453, 58846 },
- { 0x4454, 58850 },
- { 0x4455, 58854 },
- { 0x4456, 58858 },
- { 0x4457, 58862 },
- { 0x4458, 58866 },
- { 0x4459, 58870 },
- { 0x445A, 58874 },
- { 0x445B, 58878 },
- { 0x445C, 58882 },
- { 0x445D, 58886 },
- { 0x445E, 58890 },
- { 0x445F, 58894 },
- { 0x4460, 58898 },
- { 0x4461, 58902 },
- { 0x4462, 58906 },
- { 0x4464, 58910 },
- { 0x4465, 58914 },
- { 0x4467, 58918 },
- { 0x4468, 58922 },
- { 0x446C, 58926 },
- { 0x446D, 58930 },
- { 0x446E, 58934 },
- { 0x446F, 58938 },
- { 0x4470, 58942 },
- { 0x455C, 58946 },
- { 0x455D, 58951 },
- { 0x455E, 58956 },
- { 0x455F, 58961 },
- { 0x442C, 58966 },
- { 0x442D, 58970 },
- { 0x442F, 58974 },
- { 0x4430, 58978 },
- { 0x4432, 58982 },
- { 0x4469, 58986 },
- { 0x446A, 58990 },
- { 0x4463, 58994 },
- { 0x44BC, 58998 },
- { 0x44BD, 59002 },
- { 0x44BE, 59006 },
- { 0x44BF, 59010 },
- { 0x44C0, 59014 },
- { 0x44C1, 59018 },
- { 0x44C2, 59022 },
- { 0x44C3, 59026 },
- { 0x44C4, 59030 },
- { 0x44C5, 59034 },
- { 0x44C6, 59038 },
- { 0x44C7, 59042 },
- { 0x44C8, 59046 },
- { 0x44C9, 59050 },
- { 0x44CA, 59054 },
- { 0x44CB, 59058 },
- { 0x44CC, 59062 },
- { 0x44CD, 59066 },
- { 0x44CE, 59070 },
- { 0x4014, 59074 },
- { 0x4015, 59078 },
- { 0x4016, 59082 },
- { 0x4017, 59086 },
- { 0x4018, 59090 },
- { 0x4019, 59094 },
- { 0x401A, 59098 },
- { 0x401B, 59102 },
- { 0x401C, 59106 },
- { 0x401D, 59110 },
- { 0x401E, 59114 },
- { 0x401F, 59118 },
- { 0x4020, 59122 },
- { 0x4021, 59126 },
- { 0x4022, 59130 },
- { 0x4023, 59135 },
- { 0x4024, 59140 },
- { 0x4025, 59145 },
- { 0x4030, 59150 },
- { 0x4031, 59155 },
- { 0x4032, 59160 },
- { 0x4033, 59165 },
- { 0x4034, 59170 },
- { 0x4037, 59175 },
- { 0x4038, 59180 },
- { 0x4039, 59185 },
- { 0x403C, 59189 },
- { 0x403D, 59194 },
- { 0x403E, 59199 },
- { 0x403F, 59203 },
- { 0x4040, 59208 },
- { 0x4041, 59212 },
- { 0x4042, 59216 },
- { 0x4043, 59221 },
- { 0x4044, 59225 },
- { 0x4045, 59229 },
- { 0x4047, 59233 },
- { 0x4048, 59237 },
- { 0x4049, 59241 },
- { 0x404A, 59246 },
- { 0x404B, 59250 },
- { 0x404C, 59254 },
- { 0x404D, 59259 },
- { 0x404E, 59264 },
- { 0x404F, 59268 },
- { 0x4050, 59272 },
- { 0x4051, 59276 },
- { 0x4052, 59280 },
- { 0x4053, 59284 },
- { 0x4054, 59288 },
- { 0x4055, 59292 },
- { 0x4056, 59296 },
- { 0x4057, 59300 },
- { 0x4058, 59305 },
- { 0x4059, 59309 },
- { 0x405A, 59314 },
- { 0x405B, 59318 },
- { 0x405C, 59322 },
- { 0x405D, 59326 },
- { 0x405E, 59330 },
- { 0x405F, 59334 },
- { 0x4060, 59338 },
- { 0x4061, 59342 },
- { 0x4062, 59346 },
- { 0x4063, 59350 },
- { 0x4064, 59354 },
- { 0x4065, 59358 },
- { 0x4066, 59363 },
- { 0x4067, 59368 },
- { 0x4068, 59373 },
- { 0x4069, 59378 },
- { 0x406A, 59383 },
- { 0x406B, 59387 },
- { 0x406C, 59392 },
- { 0x406D, 59396 },
- { 0x406E, 59400 },
- { 0x406F, 59406 },
- { 0x4070, 59411 },
- { 0x4071, 59417 },
- { 0x4072, 59422 },
- { 0x4073, 59426 },
- { 0x4075, 59430 },
- { 0x4076, 59434 },
- { 0x4077, 59438 },
- { 0x4078, 59442 },
- { 0x4079, 59446 },
- { 0x407A, 59450 },
- { 0x407B, 59455 },
- { 0x407C, 59459 },
- { 0x407D, 59463 },
- { 0x407E, 59467 },
- { 0x407F, 59471 },
- { 0x4026, 59475 },
- { 0x4027, 59480 },
- { 0x4028, 59485 },
- { 0x4029, 59490 },
- { 0x402A, 59495 },
- { 0x402B, 59500 },
- { 0x402C, 59505 },
- { 0x402D, 59510 },
- { 0x402E, 59515 },
- { 0x402F, 59520 },
- { 0x4080, 59525 },
- { 0x4081, 59530 },
- { 0x4082, 59535 },
- { 0x4083, 59540 },
- { 0x4084, 59545 },
- { 0x4085, 59550 },
- { 0x4086, 59555 },
- { 0x4087, 59560 },
- { 0x4088, 59565 },
- { 0x4089, 59570 },
- { 0x408A, 59575 },
- { 0x408B, 59580 },
- { 0x408C, 59585 },
- { 0x408D, 59590 },
- { 0x408E, 59595 },
- { 0x408F, 59600 },
- { 0x4090, 59605 },
- { 0x4091, 59610 },
- { 0x4092, 59615 },
- { 0x4093, 59620 },
- { 0x4094, 59625 },
- { 0x4095, 59630 },
- { 0x4096, 59635 },
- { 0x4097, 59640 },
- { 0x4098, 59645 },
- { 0x4099, 59650 },
- { 0x409A, 59655 },
- { 0x409B, 59660 },
- { 0x409C, 59665 },
- { 0x4035, 59670 },
- { 0x4036, 59675 },
- { 0x403A, 59680 },
- { 0x403B, 59685 },
- { 0x4046, 59690 },
- { 0x4074, 59695 },
- { 0x3FCF, 59700 },
- { 0x3FF3, 59705 },
- { 0x3FE7, 59710 },
- { 0x3FFB, 59715 },
- { 0x3FFD, 59720 },
- { 0x3FE2, 59725 },
- { 0x3FD1, 59730 },
- { 0x3FCA, 59735 },
- { 0x3FF6, 59740 },
- { 0x3FCE, 59745 },
- { 0x3FEA, 59750 },
- { 0x3FF8, 59755 },
- { 0x3FDE, 59760 },
- { 0x3FD2, 59765 },
- { 0x3FE0, 59770 },
- { 0x3FEC, 59775 },
- { 0x4003, 59780 },
- { 0x4005, 59785 },
- { 0x3FEE, 59790 },
- { 0x3FE1, 59795 },
- { 0x3FE3, 59800 },
- { 0x4006, 59805 },
- { 0x3FF4, 59810 },
- { 0x3FF1, 59815 },
- { 0x3FCC, 59820 },
- { 0x400C, 59825 },
- { 0x3FE4, 59830 },
- { 0x3FF5, 59835 },
- { 0x3FEF, 59840 },
- { 0x400F, 59845 },
- { 0x3FD6, 59850 },
- { 0x3FFC, 59855 },
- { 0x3FCB, 59860 },
- { 0x3FE9, 59865 },
- { 0x4001, 59870 },
- { 0x3FF7, 59875 },
- { 0x4002, 59880 },
- { 0x4007, 59885 },
- { 0x3FD9, 59890 },
- { 0x3FD0, 59895 },
- { 0x3FD5, 59900 },
- { 0x400B, 59905 },
- { 0x3FEB, 59910 },
- { 0x3FD3, 59915 },
- { 0x3FE5, 59920 },
- { 0x3FF2, 59925 },
- { 0x3FFF, 59930 },
- { 0x3FE6, 59935 },
- { 0x3FD4, 59940 },
- { 0x3FF9, 59945 },
- { 0x3FFA, 59950 },
- { 0x3FF0, 59955 },
- { 0x3FCD, 59960 },
- { 0x400D, 59965 },
- { 0x3FD7, 59970 },
- { 0x4011, 59975 },
- { 0x3FDA, 59980 },
- { 0x4010, 59985 },
- { 0x3FFE, 59990 },
- { 0x3FDB, 59995 },
- { 0x4009, 60000 },
- { 0x3FE8, 60005 },
- { 0x3FDF, 60010 },
- { 0x4004, 60015 },
- { 0x4000, 60020 },
- { 0x400E, 60025 },
- { 0x3FD8, 60030 },
- { 0x3FED, 60035 },
- { 0x3FDD, 60040 },
- { 0x3FDC, 60045 },
- { 0x4008, 60050 },
- { 0x4012, 60055 },
- { 0x400A, 60060 },
- { 0x4013, 60065 },
- { 0x7D2C, 60070 },
- { 0x80A2, 60072 },
- { 0x8108, 60073 },
- { 0x7DD2, 60075 },
- { 0x4161, 60078 },
- { 0x4163, 60081 },
- { 0x4166, 60084 },
- { 0x4162, 60087 },
- { 0x4165, 60090 },
- { 0x417C, 60093 },
- { 0x4167, 60096 },
- { 0x416B, 60099 },
- { 0x416C, 60102 },
- { 0x416E, 60105 },
- { 0x416F, 60108 },
- { 0x4170, 60111 },
- { 0x4174, 60114 },
- { 0x416D, 60117 },
- { 0x4176, 60120 },
- { 0x4177, 60123 },
- { 0x4178, 60126 },
- { 0x4173, 60129 },
- { 0x4168, 60132 },
- { 0x417D, 60135 },
- { 0x4169, 60138 },
- { 0x417A, 60141 },
- { 0x4164, 60144 },
- { 0x417B, 60147 },
- { 0x4175, 60150 },
- { 0x4171, 60153 },
- { 0x4172, 60156 },
- { 0x416A, 60159 },
- { 0x4179, 60162 },
- { 0x467F, 60165 },
- { 0x4680, 60168 },
- { 0x4698, 60171 },
- { 0x4682, 60174 },
- { 0x4683, 60177 },
- { 0x4690, 60180 },
- { 0x4681, 60183 },
- { 0x4685, 60186 },
- { 0x4687, 60189 },
- { 0x4688, 60192 },
- { 0x4689, 60195 },
- { 0x468A, 60198 },
- { 0x468B, 60201 },
- { 0x4691, 60204 },
- { 0x468C, 60207 },
- { 0x4692, 60210 },
- { 0x468E, 60213 },
- { 0x468F, 60216 },
- { 0x4684, 60219 },
- { 0x4686, 60222 },
- { 0x4694, 60225 },
- { 0x4695, 60228 },
- { 0x4696, 60231 },
- { 0x4697, 60234 },
- { 0x468D, 60237 },
- { 0x4693, 60240 },
- { 0x4699, 60243 },
+ { 0x4476, 57688 },
+ { 0x4477, 57692 },
+ { 0x4478, 57696 },
+ { 0x4479, 57700 },
+ { 0x447A, 57704 },
+ { 0x447B, 57708 },
+ { 0x447C, 57712 },
+ { 0x447D, 57716 },
+ { 0x4481, 57720 },
+ { 0x4482, 57724 },
+ { 0x4483, 57728 },
+ { 0x4487, 57732 },
+ { 0x4488, 57736 },
+ { 0x4489, 57740 },
+ { 0x448A, 57744 },
+ { 0x448B, 57748 },
+ { 0x448C, 57752 },
+ { 0x448D, 57756 },
+ { 0x448E, 57760 },
+ { 0x448F, 57764 },
+ { 0x4490, 57768 },
+ { 0x4491, 57772 },
+ { 0x4492, 57776 },
+ { 0x4493, 57780 },
+ { 0x4494, 57784 },
+ { 0x4495, 57788 },
+ { 0x4496, 57792 },
+ { 0x4497, 57796 },
+ { 0x4498, 57800 },
+ { 0x4499, 57804 },
+ { 0x449A, 57808 },
+ { 0x449B, 57812 },
+ { 0x449C, 57816 },
+ { 0x449D, 57820 },
+ { 0x449E, 57824 },
+ { 0x449F, 57828 },
+ { 0x44A0, 57832 },
+ { 0x44A1, 57836 },
+ { 0x44A2, 57840 },
+ { 0x44A3, 57844 },
+ { 0x44A4, 57848 },
+ { 0x44A5, 57852 },
+ { 0x44A6, 57856 },
+ { 0x44A7, 57860 },
+ { 0x44A8, 57864 },
+ { 0x44A9, 57868 },
+ { 0x44AA, 57872 },
+ { 0x44AB, 57876 },
+ { 0x44AC, 57880 },
+ { 0x44AD, 57884 },
+ { 0x44AE, 57888 },
+ { 0x44AF, 57892 },
+ { 0x44B0, 57896 },
+ { 0x44B1, 57900 },
+ { 0x44B2, 57904 },
+ { 0x44B3, 57908 },
+ { 0x44B4, 57912 },
+ { 0x44B5, 57916 },
+ { 0x44B6, 57920 },
+ { 0x44B7, 57924 },
+ { 0x44B8, 57928 },
+ { 0x44B9, 57932 },
+ { 0x44BA, 57936 },
+ { 0x44BB, 57940 },
+ { 0x44BC, 57944 },
+ { 0x44BD, 57948 },
+ { 0x44BE, 57952 },
+ { 0x44BF, 57956 },
+ { 0x44C0, 57960 },
+ { 0x44D4, 57964 },
+ { 0x44D5, 57968 },
+ { 0x44D6, 57972 },
+ { 0x44D7, 57976 },
+ { 0x44D8, 57980 },
+ { 0x44D9, 57984 },
+ { 0x44DA, 57988 },
+ { 0x44DB, 57992 },
+ { 0x44DC, 57996 },
+ { 0x44DD, 58000 },
+ { 0x44DE, 58004 },
+ { 0x44DF, 58008 },
+ { 0x44E0, 58012 },
+ { 0x44E1, 58016 },
+ { 0x44E2, 58020 },
+ { 0x44E3, 58024 },
+ { 0x44E4, 58028 },
+ { 0x44E5, 58032 },
+ { 0x44E6, 58036 },
+ { 0x44E7, 58040 },
+ { 0x44E8, 58044 },
+ { 0x44E9, 58048 },
+ { 0x44EA, 58052 },
+ { 0x44EB, 58056 },
+ { 0x44EC, 58060 },
+ { 0x44ED, 58064 },
+ { 0x44EE, 58068 },
+ { 0x44EF, 58072 },
+ { 0x44F0, 58076 },
+ { 0x44F1, 58080 },
+ { 0x44F2, 58084 },
+ { 0x44F3, 58088 },
+ { 0x44F4, 58092 },
+ { 0x44F5, 58096 },
+ { 0x44F6, 58100 },
+ { 0x44F7, 58104 },
+ { 0x44F8, 58108 },
+ { 0x44F9, 58112 },
+ { 0x44FA, 58116 },
+ { 0x44FB, 58120 },
+ { 0x44FC, 58124 },
+ { 0x44FD, 58128 },
+ { 0x44FE, 58132 },
+ { 0x44FF, 58136 },
+ { 0x4500, 58140 },
+ { 0x4501, 58144 },
+ { 0x4502, 58148 },
+ { 0x4503, 58152 },
+ { 0x4504, 58156 },
+ { 0x4505, 58160 },
+ { 0x4506, 58164 },
+ { 0x4507, 58168 },
+ { 0x4508, 58172 },
+ { 0x4509, 58176 },
+ { 0x450A, 58180 },
+ { 0x450B, 58184 },
+ { 0x450C, 58188 },
+ { 0x450D, 58192 },
+ { 0x450E, 58196 },
+ { 0x450F, 58200 },
+ { 0x4510, 58204 },
+ { 0x4511, 58208 },
+ { 0x4512, 58212 },
+ { 0x4513, 58216 },
+ { 0x4514, 58220 },
+ { 0x4515, 58224 },
+ { 0x4516, 58228 },
+ { 0x4517, 58232 },
+ { 0x4518, 58236 },
+ { 0x4519, 58240 },
+ { 0x451A, 58244 },
+ { 0x451B, 58248 },
+ { 0x451C, 58252 },
+ { 0x451D, 58256 },
+ { 0x451E, 58260 },
+ { 0x451F, 58264 },
+ { 0x4520, 58268 },
+ { 0x4521, 58272 },
+ { 0x4522, 58276 },
+ { 0x4523, 58280 },
+ { 0x4524, 58284 },
+ { 0x4525, 58288 },
+ { 0x4526, 58292 },
+ { 0x4527, 58296 },
+ { 0x4528, 58300 },
+ { 0x4529, 58304 },
+ { 0x452A, 58308 },
+ { 0x452B, 58312 },
+ { 0x452C, 58316 },
+ { 0x452D, 58320 },
+ { 0x452E, 58324 },
+ { 0x452F, 58328 },
+ { 0x4530, 58332 },
+ { 0x4531, 58336 },
+ { 0x4532, 58340 },
+ { 0x4533, 58344 },
+ { 0x4534, 58348 },
+ { 0x4535, 58352 },
+ { 0x4536, 58356 },
+ { 0x4537, 58360 },
+ { 0x4538, 58364 },
+ { 0x4539, 58368 },
+ { 0x453A, 58372 },
+ { 0x453B, 58376 },
+ { 0x453C, 58380 },
+ { 0x453D, 58384 },
+ { 0x453E, 58388 },
+ { 0x453F, 58392 },
+ { 0x4540, 58396 },
+ { 0x4541, 58400 },
+ { 0x4542, 58404 },
+ { 0x4543, 58408 },
+ { 0x4544, 58412 },
+ { 0x4545, 58416 },
+ { 0x4546, 58420 },
+ { 0x4547, 58424 },
+ { 0x4548, 58428 },
+ { 0x4549, 58432 },
+ { 0x454A, 58436 },
+ { 0x454B, 58440 },
+ { 0x454C, 58444 },
+ { 0x454D, 58448 },
+ { 0x454E, 58452 },
+ { 0x454F, 58456 },
+ { 0x4550, 58460 },
+ { 0x4551, 58464 },
+ { 0x4552, 58468 },
+ { 0x4553, 58472 },
+ { 0x4554, 58476 },
+ { 0x4555, 58480 },
+ { 0x4556, 58484 },
+ { 0x4557, 58488 },
+ { 0x4558, 58492 },
+ { 0x4559, 58497 },
+ { 0x455A, 58502 },
+ { 0x455B, 58507 },
+ { 0x455C, 58512 },
+ { 0x455D, 58517 },
+ { 0x455E, 58522 },
+ { 0x455F, 58527 },
+ { 0x4560, 58532 },
+ { 0x4565, 58537 },
+ { 0x4566, 58542 },
+ { 0x4567, 58547 },
+ { 0x4568, 58552 },
+ { 0x4569, 58557 },
+ { 0x456A, 58562 },
+ { 0x456B, 58567 },
+ { 0x456C, 58572 },
+ { 0x456D, 58577 },
+ { 0x456E, 58582 },
+ { 0x456F, 58586 },
+ { 0x4570, 58590 },
+ { 0x4571, 58594 },
+ { 0x4572, 58598 },
+ { 0x4573, 58602 },
+ { 0x4574, 58606 },
+ { 0x4575, 58610 },
+ { 0x443C, 58614 },
+ { 0x446B, 58618 },
+ { 0x4470, 58622 },
+ { 0x447E, 58626 },
+ { 0x447F, 58630 },
+ { 0x4480, 58634 },
+ { 0x4484, 58638 },
+ { 0x4485, 58642 },
+ { 0x4486, 58646 },
+ { 0x4421, 58650 },
+ { 0x4422, 58654 },
+ { 0x4423, 58658 },
+ { 0x4424, 58662 },
+ { 0x4425, 58666 },
+ { 0x4426, 58670 },
+ { 0x4427, 58674 },
+ { 0x4428, 58678 },
+ { 0x4429, 58682 },
+ { 0x442A, 58686 },
+ { 0x442B, 58690 },
+ { 0x442C, 58694 },
+ { 0x442D, 58698 },
+ { 0x442E, 58702 },
+ { 0x442F, 58706 },
+ { 0x4430, 58710 },
+ { 0x4433, 58714 },
+ { 0x4436, 58718 },
+ { 0x4438, 58722 },
+ { 0x4439, 58726 },
+ { 0x443A, 58730 },
+ { 0x443B, 58734 },
+ { 0x443D, 58738 },
+ { 0x443E, 58742 },
+ { 0x443F, 58746 },
+ { 0x4440, 58750 },
+ { 0x4441, 58754 },
+ { 0x4442, 58758 },
+ { 0x4443, 58762 },
+ { 0x4444, 58766 },
+ { 0x4445, 58770 },
+ { 0x4446, 58774 },
+ { 0x4447, 58778 },
+ { 0x4448, 58782 },
+ { 0x4449, 58786 },
+ { 0x444A, 58790 },
+ { 0x444B, 58794 },
+ { 0x444C, 58798 },
+ { 0x444D, 58802 },
+ { 0x444E, 58806 },
+ { 0x444F, 58810 },
+ { 0x4450, 58814 },
+ { 0x4451, 58818 },
+ { 0x4452, 58822 },
+ { 0x4453, 58826 },
+ { 0x4454, 58830 },
+ { 0x4455, 58834 },
+ { 0x4456, 58838 },
+ { 0x4457, 58842 },
+ { 0x4458, 58846 },
+ { 0x4459, 58850 },
+ { 0x445A, 58854 },
+ { 0x445B, 58858 },
+ { 0x445C, 58862 },
+ { 0x445D, 58866 },
+ { 0x445E, 58870 },
+ { 0x445F, 58874 },
+ { 0x4460, 58878 },
+ { 0x4461, 58882 },
+ { 0x4462, 58886 },
+ { 0x4463, 58890 },
+ { 0x4464, 58894 },
+ { 0x4465, 58898 },
+ { 0x4466, 58902 },
+ { 0x4467, 58906 },
+ { 0x4469, 58910 },
+ { 0x446A, 58914 },
+ { 0x446C, 58918 },
+ { 0x446D, 58922 },
+ { 0x4471, 58926 },
+ { 0x4472, 58930 },
+ { 0x4473, 58934 },
+ { 0x4474, 58938 },
+ { 0x4475, 58942 },
+ { 0x4561, 58946 },
+ { 0x4562, 58951 },
+ { 0x4563, 58956 },
+ { 0x4564, 58961 },
+ { 0x4431, 58966 },
+ { 0x4432, 58970 },
+ { 0x4434, 58974 },
+ { 0x4435, 58978 },
+ { 0x4437, 58982 },
+ { 0x446E, 58986 },
+ { 0x446F, 58990 },
+ { 0x4468, 58994 },
+ { 0x44C1, 58998 },
+ { 0x44C2, 59002 },
+ { 0x44C3, 59006 },
+ { 0x44C4, 59010 },
+ { 0x44C5, 59014 },
+ { 0x44C6, 59018 },
+ { 0x44C7, 59022 },
+ { 0x44C8, 59026 },
+ { 0x44C9, 59030 },
+ { 0x44CA, 59034 },
+ { 0x44CB, 59038 },
+ { 0x44CC, 59042 },
+ { 0x44CD, 59046 },
+ { 0x44CE, 59050 },
+ { 0x44CF, 59054 },
+ { 0x44D0, 59058 },
+ { 0x44D1, 59062 },
+ { 0x44D2, 59066 },
+ { 0x44D3, 59070 },
+ { 0x4019, 59074 },
+ { 0x401A, 59078 },
+ { 0x401B, 59082 },
+ { 0x401C, 59086 },
+ { 0x401D, 59090 },
+ { 0x401E, 59094 },
+ { 0x401F, 59098 },
+ { 0x4020, 59102 },
+ { 0x4021, 59106 },
+ { 0x4022, 59110 },
+ { 0x4023, 59114 },
+ { 0x4024, 59118 },
+ { 0x4025, 59122 },
+ { 0x4026, 59126 },
+ { 0x4027, 59130 },
+ { 0x4028, 59135 },
+ { 0x4029, 59140 },
+ { 0x402A, 59145 },
+ { 0x4035, 59150 },
+ { 0x4036, 59155 },
+ { 0x4037, 59160 },
+ { 0x4038, 59165 },
+ { 0x4039, 59170 },
+ { 0x403C, 59175 },
+ { 0x403D, 59180 },
+ { 0x403E, 59185 },
+ { 0x4041, 59189 },
+ { 0x4042, 59194 },
+ { 0x4043, 59199 },
+ { 0x4044, 59203 },
+ { 0x4045, 59208 },
+ { 0x4046, 59212 },
+ { 0x4047, 59216 },
+ { 0x4048, 59221 },
+ { 0x4049, 59225 },
+ { 0x404A, 59229 },
+ { 0x404C, 59233 },
+ { 0x404D, 59237 },
+ { 0x404E, 59241 },
+ { 0x404F, 59246 },
+ { 0x4050, 59250 },
+ { 0x4051, 59254 },
+ { 0x4052, 59259 },
+ { 0x4053, 59264 },
+ { 0x4054, 59268 },
+ { 0x4055, 59272 },
+ { 0x4056, 59276 },
+ { 0x4057, 59280 },
+ { 0x4058, 59284 },
+ { 0x4059, 59288 },
+ { 0x405A, 59292 },
+ { 0x405B, 59296 },
+ { 0x405C, 59300 },
+ { 0x405D, 59305 },
+ { 0x405E, 59309 },
+ { 0x405F, 59314 },
+ { 0x4060, 59318 },
+ { 0x4061, 59322 },
+ { 0x4062, 59326 },
+ { 0x4063, 59330 },
+ { 0x4064, 59334 },
+ { 0x4065, 59338 },
+ { 0x4066, 59342 },
+ { 0x4067, 59346 },
+ { 0x4068, 59350 },
+ { 0x4069, 59354 },
+ { 0x406A, 59358 },
+ { 0x406B, 59363 },
+ { 0x406C, 59368 },
+ { 0x406D, 59373 },
+ { 0x406E, 59378 },
+ { 0x406F, 59383 },
+ { 0x4070, 59387 },
+ { 0x4071, 59392 },
+ { 0x4072, 59396 },
+ { 0x4073, 59400 },
+ { 0x4074, 59406 },
+ { 0x4075, 59411 },
+ { 0x4076, 59417 },
+ { 0x4077, 59422 },
+ { 0x4078, 59426 },
+ { 0x407A, 59430 },
+ { 0x407B, 59434 },
+ { 0x407C, 59438 },
+ { 0x407D, 59442 },
+ { 0x407E, 59446 },
+ { 0x407F, 59450 },
+ { 0x4080, 59455 },
+ { 0x4081, 59459 },
+ { 0x4082, 59463 },
+ { 0x4083, 59467 },
+ { 0x4084, 59471 },
+ { 0x402B, 59475 },
+ { 0x402C, 59480 },
+ { 0x402D, 59485 },
+ { 0x402E, 59490 },
+ { 0x402F, 59495 },
+ { 0x4030, 59500 },
+ { 0x4031, 59505 },
+ { 0x4032, 59510 },
+ { 0x4033, 59515 },
+ { 0x4034, 59520 },
+ { 0x4085, 59525 },
+ { 0x4086, 59530 },
+ { 0x4087, 59535 },
+ { 0x4088, 59540 },
+ { 0x4089, 59545 },
+ { 0x408A, 59550 },
+ { 0x408B, 59555 },
+ { 0x408C, 59560 },
+ { 0x408D, 59565 },
+ { 0x408E, 59570 },
+ { 0x408F, 59575 },
+ { 0x4090, 59580 },
+ { 0x4091, 59585 },
+ { 0x4092, 59590 },
+ { 0x4093, 59595 },
+ { 0x4094, 59600 },
+ { 0x4095, 59605 },
+ { 0x4096, 59610 },
+ { 0x4097, 59615 },
+ { 0x4098, 59620 },
+ { 0x4099, 59625 },
+ { 0x409A, 59630 },
+ { 0x409B, 59635 },
+ { 0x409C, 59640 },
+ { 0x409D, 59645 },
+ { 0x409E, 59650 },
+ { 0x409F, 59655 },
+ { 0x40A0, 59660 },
+ { 0x40A1, 59665 },
+ { 0x403A, 59670 },
+ { 0x403B, 59675 },
+ { 0x403F, 59680 },
+ { 0x4040, 59685 },
+ { 0x404B, 59690 },
+ { 0x4079, 59695 },
+ { 0x3FD4, 59700 },
+ { 0x3FF8, 59705 },
+ { 0x3FEC, 59710 },
+ { 0x4000, 59715 },
+ { 0x4002, 59720 },
+ { 0x3FE7, 59725 },
+ { 0x3FD6, 59730 },
+ { 0x3FCF, 59735 },
+ { 0x3FFB, 59740 },
+ { 0x3FD3, 59745 },
+ { 0x3FEF, 59750 },
+ { 0x3FFD, 59755 },
+ { 0x3FE3, 59760 },
+ { 0x3FD7, 59765 },
+ { 0x3FE5, 59770 },
+ { 0x3FF1, 59775 },
+ { 0x4008, 59780 },
+ { 0x400A, 59785 },
+ { 0x3FF3, 59790 },
+ { 0x3FE6, 59795 },
+ { 0x3FE8, 59800 },
+ { 0x400B, 59805 },
+ { 0x3FF9, 59810 },
+ { 0x3FF6, 59815 },
+ { 0x3FD1, 59820 },
+ { 0x4011, 59825 },
+ { 0x3FE9, 59830 },
+ { 0x3FFA, 59835 },
+ { 0x3FF4, 59840 },
+ { 0x4014, 59845 },
+ { 0x3FDB, 59850 },
+ { 0x4001, 59855 },
+ { 0x3FD0, 59860 },
+ { 0x3FEE, 59865 },
+ { 0x4006, 59870 },
+ { 0x3FFC, 59875 },
+ { 0x4007, 59880 },
+ { 0x400C, 59885 },
+ { 0x3FDE, 59890 },
+ { 0x3FD5, 59895 },
+ { 0x3FDA, 59900 },
+ { 0x4010, 59905 },
+ { 0x3FF0, 59910 },
+ { 0x3FD8, 59915 },
+ { 0x3FEA, 59920 },
+ { 0x3FF7, 59925 },
+ { 0x4004, 59930 },
+ { 0x3FEB, 59935 },
+ { 0x3FD9, 59940 },
+ { 0x3FFE, 59945 },
+ { 0x3FFF, 59950 },
+ { 0x3FF5, 59955 },
+ { 0x3FD2, 59960 },
+ { 0x4012, 59965 },
+ { 0x3FDC, 59970 },
+ { 0x4016, 59975 },
+ { 0x3FDF, 59980 },
+ { 0x4015, 59985 },
+ { 0x4003, 59990 },
+ { 0x3FE0, 59995 },
+ { 0x400E, 60000 },
+ { 0x3FED, 60005 },
+ { 0x3FE4, 60010 },
+ { 0x4009, 60015 },
+ { 0x4005, 60020 },
+ { 0x4013, 60025 },
+ { 0x3FDD, 60030 },
+ { 0x3FF2, 60035 },
+ { 0x3FE2, 60040 },
+ { 0x3FE1, 60045 },
+ { 0x400D, 60050 },
+ { 0x4017, 60055 },
+ { 0x400F, 60060 },
+ { 0x4018, 60065 },
+ { 0x7D31, 60070 },
+ { 0x80A7, 60072 },
+ { 0x810D, 60073 },
+ { 0x7DD7, 60075 },
+ { 0x4166, 60078 },
+ { 0x4168, 60081 },
+ { 0x416B, 60084 },
+ { 0x4167, 60087 },
+ { 0x416A, 60090 },
+ { 0x4181, 60093 },
+ { 0x416C, 60096 },
+ { 0x4170, 60099 },
+ { 0x4171, 60102 },
+ { 0x4173, 60105 },
+ { 0x4174, 60108 },
+ { 0x4175, 60111 },
+ { 0x4179, 60114 },
+ { 0x4172, 60117 },
+ { 0x417B, 60120 },
+ { 0x417C, 60123 },
+ { 0x417D, 60126 },
+ { 0x4178, 60129 },
+ { 0x416D, 60132 },
+ { 0x4182, 60135 },
+ { 0x416E, 60138 },
+ { 0x417F, 60141 },
+ { 0x4169, 60144 },
+ { 0x4180, 60147 },
+ { 0x417A, 60150 },
+ { 0x4176, 60153 },
+ { 0x4177, 60156 },
+ { 0x416F, 60159 },
+ { 0x417E, 60162 },
+ { 0x4684, 60165 },
+ { 0x4685, 60168 },
+ { 0x469D, 60171 },
+ { 0x4687, 60174 },
+ { 0x4688, 60177 },
+ { 0x4695, 60180 },
+ { 0x4686, 60183 },
+ { 0x468A, 60186 },
+ { 0x468C, 60189 },
+ { 0x468D, 60192 },
+ { 0x468E, 60195 },
+ { 0x468F, 60198 },
+ { 0x4690, 60201 },
+ { 0x4696, 60204 },
+ { 0x4691, 60207 },
+ { 0x4697, 60210 },
+ { 0x4693, 60213 },
+ { 0x4694, 60216 },
+ { 0x4689, 60219 },
+ { 0x468B, 60222 },
+ { 0x4699, 60225 },
+ { 0x469A, 60228 },
+ { 0x469B, 60231 },
+ { 0x469C, 60234 },
+ { 0x4692, 60237 },
+ { 0x4698, 60240 },
+ { 0x469E, 60243 },
{ 0x006E, 60246 },
- { 0x8106, 60247 },
- { 0x80D1, 60248 },
- { 0x7F4D, 60250 },
- { 0x7F62, 60254 },
- { 0x7F1C, 60259 },
- { 0x7F47, 60263 },
- { 0x7F5C, 60267 },
- { 0x7F5E, 60272 },
+ { 0x810B, 60247 },
+ { 0x80D6, 60248 },
+ { 0x7F52, 60250 },
+ { 0x7F67, 60254 },
+ { 0x7F21, 60259 },
+ { 0x7F4C, 60263 },
+ { 0x7F61, 60267 },
+ { 0x7F63, 60272 },
{ 0x2397, 60277 },
{ 0x238B, 60282 },
{ 0x22CE, 60286 },
- { 0x7F53, 60289 },
- { 0x7F65, 60293 },
- { 0x7F3A, 60298 },
+ { 0x7F58, 60289 },
+ { 0x7F6A, 60293 },
+ { 0x7F3F, 60298 },
{ 0x2398, 60301 },
{ 0x238C, 60306 },
{ 0x21B5, 60310 },
{ 0x22CF, 60312 },
- { 0x7F58, 60316 },
- { 0x7F5A, 60321 },
+ { 0x7F5D, 60316 },
+ { 0x7F5F, 60321 },
{ 0x22CD, 60326 },
- { 0x7F26, 60329 },
- { 0x7F41, 60332 },
+ { 0x7F2B, 60329 },
+ { 0x7F46, 60332 },
{ 0x237C, 60334 },
{ 0x238D, 60337 },
{ 0x238E, 60342 },
{ 0x1CD9, 60347 },
{ 0x238F, 60350 },
{ 0x2390, 60355 },
- { 0x3AF9, 60360 },
- { 0x3A1C, 60364 },
- { 0x3AFA, 60367 },
- { 0x3A1E, 60371 },
- { 0x3A1B, 60376 },
- { 0x3AFC, 60380 },
- { 0x3B01, 60384 },
- { 0x3AFD, 60388 },
- { 0x3B00, 60392 },
- { 0x3AFF, 60396 },
- { 0x3B04, 60400 },
- { 0x3AFB, 60404 },
- { 0x3B03, 60408 },
- { 0x3B02, 60412 },
- { 0x3AFE, 60416 },
- { 0x3A18, 60420 },
- { 0x3A15, 60425 },
- { 0x3A16, 60430 },
- { 0x3A17, 60435 },
- { 0x3A19, 60440 },
- { 0x3AF2, 60445 },
- { 0x3AF1, 60450 },
- { 0x3AF7, 60455 },
- { 0x3AF0, 60460 },
- { 0x3AF5, 60465 },
- { 0x3AF3, 60470 },
- { 0x3AF4, 60475 },
- { 0x3AF6, 60480 },
- { 0x3A1F, 60485 },
- { 0x3A0A, 60490 },
- { 0x3ADC, 60494 },
- { 0x3AEF, 60498 },
- { 0x3A0B, 60503 },
- { 0x3AE2, 60507 },
- { 0x3AD2, 60511 },
- { 0x3AEC, 60515 },
- { 0x3AD1, 60520 },
- { 0x3AEB, 60524 },
- { 0x3ADB, 60529 },
- { 0x3A0C, 60533 },
- { 0x3A10, 60537 },
- { 0x3AE4, 60541 },
- { 0x3ADF, 60545 },
- { 0x3ADA, 60549 },
- { 0x3AE3, 60553 },
- { 0x3ACD, 60557 },
- { 0x3AE8, 60561 },
- { 0x3ACF, 60566 },
- { 0x3AE9, 60570 },
- { 0x3AD0, 60575 },
- { 0x3AEA, 60579 },
- { 0x3A12, 60584 },
- { 0x3A0D, 60588 },
- { 0x3AE1, 60592 },
- { 0x3ACE, 60596 },
- { 0x3A13, 60600 },
- { 0x3A14, 60604 },
- { 0x3AD4, 60608 },
- { 0x3AED, 60612 },
- { 0x3A0E, 60617 },
- { 0x3AD8, 60621 },
- { 0x3AE7, 60625 },
- { 0x3AD3, 60629 },
- { 0x3A11, 60633 },
- { 0x3AE6, 60637 },
- { 0x3AE5, 60641 },
- { 0x3AE0, 60645 },
- { 0x3AD5, 60649 },
- { 0x3AD6, 60653 },
- { 0x3AEE, 60657 },
- { 0x3ADD, 60662 },
- { 0x3AD7, 60666 },
- { 0x3A0F, 60670 },
- { 0x3AD9, 60674 },
- { 0x3ADE, 60678 },
- { 0x3A20, 60682 },
- { 0x3A1A, 60685 },
- { 0x3AF8, 60688 },
- { 0x3A1D, 60691 },
+ { 0x3AFE, 60360 },
+ { 0x3A21, 60364 },
+ { 0x3AFF, 60367 },
+ { 0x3A23, 60371 },
+ { 0x3A20, 60376 },
+ { 0x3B01, 60380 },
+ { 0x3B06, 60384 },
+ { 0x3B02, 60388 },
+ { 0x3B05, 60392 },
+ { 0x3B04, 60396 },
+ { 0x3B09, 60400 },
+ { 0x3B00, 60404 },
+ { 0x3B08, 60408 },
+ { 0x3B07, 60412 },
+ { 0x3B03, 60416 },
+ { 0x3A1D, 60420 },
+ { 0x3A1A, 60425 },
+ { 0x3A1B, 60430 },
+ { 0x3A1C, 60435 },
+ { 0x3A1E, 60440 },
+ { 0x3AF7, 60445 },
+ { 0x3AF6, 60450 },
+ { 0x3AFC, 60455 },
+ { 0x3AF5, 60460 },
+ { 0x3AFA, 60465 },
+ { 0x3AF8, 60470 },
+ { 0x3AF9, 60475 },
+ { 0x3AFB, 60480 },
+ { 0x3A24, 60485 },
+ { 0x3A0F, 60490 },
+ { 0x3AE1, 60494 },
+ { 0x3AF4, 60498 },
+ { 0x3A10, 60503 },
+ { 0x3AE7, 60507 },
+ { 0x3AD7, 60511 },
+ { 0x3AF1, 60515 },
+ { 0x3AD6, 60520 },
+ { 0x3AF0, 60524 },
+ { 0x3AE0, 60529 },
+ { 0x3A11, 60533 },
+ { 0x3A15, 60537 },
+ { 0x3AE9, 60541 },
+ { 0x3AE4, 60545 },
+ { 0x3ADF, 60549 },
+ { 0x3AE8, 60553 },
+ { 0x3AD2, 60557 },
+ { 0x3AED, 60561 },
+ { 0x3AD4, 60566 },
+ { 0x3AEE, 60570 },
+ { 0x3AD5, 60575 },
+ { 0x3AEF, 60579 },
+ { 0x3A17, 60584 },
+ { 0x3A12, 60588 },
+ { 0x3AE6, 60592 },
+ { 0x3AD3, 60596 },
+ { 0x3A18, 60600 },
+ { 0x3A19, 60604 },
+ { 0x3AD9, 60608 },
+ { 0x3AF2, 60612 },
+ { 0x3A13, 60617 },
+ { 0x3ADD, 60621 },
+ { 0x3AEC, 60625 },
+ { 0x3AD8, 60629 },
+ { 0x3A16, 60633 },
+ { 0x3AEB, 60637 },
+ { 0x3AEA, 60641 },
+ { 0x3AE5, 60645 },
+ { 0x3ADA, 60649 },
+ { 0x3ADB, 60653 },
+ { 0x3AF3, 60657 },
+ { 0x3AE2, 60662 },
+ { 0x3ADC, 60666 },
+ { 0x3A14, 60670 },
+ { 0x3ADE, 60674 },
+ { 0x3AE3, 60678 },
+ { 0x3A25, 60682 },
+ { 0x3A1F, 60685 },
+ { 0x3AFD, 60688 },
+ { 0x3A22, 60691 },
{ 0x0076, 60696 },
- { 0x82A2, 60698 },
- { 0x819A, 60704 },
- { 0x81A5, 60705 },
- { 0x7C96, 60707 },
- { 0x7C99, 60709 },
- { 0x7C97, 60712 },
+ { 0x82A7, 60698 },
+ { 0x819F, 60704 },
+ { 0x81AA, 60705 },
+ { 0x7C9B, 60707 },
+ { 0x7C9E, 60709 },
+ { 0x7C9C, 60712 },
{ 0x1EF8, 60719 },
- { 0x804F, 60720 },
+ { 0x8054, 60720 },
{ 0x262D, 60722 },
- { 0x7BB7, 60725 },
- { 0x7BDA, 60726 },
- { 0x7CF1, 60728 },
- { 0x804A, 60729 },
+ { 0x7BBC, 60725 },
+ { 0x7BDF, 60726 },
+ { 0x7CF6, 60728 },
+ { 0x804F, 60729 },
{ 0x1CA9, 60731 },
{ 0x27FC, 60734 },
{ 0x22D5, 60735 },
@@ -62183,243 +62190,243 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x20B7, 60786 },
{ 0x20BB, 60790 },
{ 0x1D6B, 60794 },
- { 0x3FC8, 60796 },
- { 0x7B87, 60799 },
+ { 0x3FCD, 60796 },
+ { 0x7B8C, 60799 },
{ 0x029A, 60801 },
{ 0x1F76, 60802 },
- { 0x7C7E, 60804 },
- { 0x80F5, 60806 },
- { 0x3D6A, 60808 },
- { 0x3D6B, 60811 },
- { 0x7C89, 60814 },
- { 0x80BE, 60816 },
- { 0x7E79, 60817 },
- { 0x61E9, 60818 },
- { 0x61E7, 60823 },
- { 0x61E0, 60828 },
- { 0x61EC, 60833 },
- { 0x61DD, 60838 },
- { 0x61E8, 60843 },
- { 0x61ED, 60848 },
- { 0x61EA, 60853 },
- { 0x61E1, 60858 },
- { 0x61E6, 60863 },
- { 0x61DE, 60868 },
- { 0x61E2, 60873 },
- { 0x61E5, 60878 },
- { 0x61E3, 60883 },
- { 0x61E4, 60888 },
- { 0x61EB, 60893 },
- { 0x61DC, 60898 },
- { 0x61DF, 60903 },
- { 0x61DB, 60908 },
- { 0x61A0, 60913 },
- { 0x61A4, 60918 },
- { 0x61A1, 60923 },
- { 0x619F, 60928 },
- { 0x61A2, 60933 },
- { 0x61A3, 60938 },
- { 0x61A5, 60943 },
- { 0x61CF, 60948 },
- { 0x61B2, 60952 },
- { 0x61D9, 60957 },
- { 0x61D6, 60963 },
- { 0x61D5, 60969 },
- { 0x61DA, 60977 },
- { 0x61B4, 60983 },
- { 0x61D7, 60989 },
- { 0x61D8, 60994 },
- { 0x61A8, 61000 },
- { 0x61C8, 61005 },
- { 0x61D3, 61009 },
- { 0x61D4, 61013 },
- { 0x61D2, 61017 },
- { 0x61C6, 61021 },
- { 0x61AA, 61026 },
- { 0x61B1, 61031 },
- { 0x61AF, 61036 },
- { 0x61A6, 61041 },
- { 0x61A9, 61046 },
- { 0x61A7, 61051 },
- { 0x61CA, 61057 },
- { 0x61CB, 61062 },
- { 0x61B0, 61066 },
- { 0x61D1, 61071 },
- { 0x61CC, 61076 },
- { 0x61CE, 61080 },
- { 0x61B3, 61084 },
- { 0x61CD, 61088 },
- { 0x61C7, 61092 },
- { 0x61AC, 61096 },
- { 0x61AD, 61101 },
- { 0x61AE, 61106 },
- { 0x61AB, 61111 },
- { 0x61D0, 61116 },
- { 0x61C9, 61121 },
- { 0x61B6, 61126 },
- { 0x61BB, 61130 },
- { 0x61B7, 61134 },
- { 0x61BA, 61138 },
- { 0x61B9, 61142 },
- { 0x61BE, 61146 },
- { 0x61B5, 61150 },
- { 0x61BD, 61154 },
- { 0x61BC, 61158 },
- { 0x61B8, 61162 },
- { 0x6185, 61166 },
- { 0x6186, 61170 },
- { 0x6177, 61174 },
- { 0x6178, 61178 },
- { 0x6171, 61182 },
- { 0x6172, 61186 },
- { 0x6181, 61190 },
- { 0x6182, 61194 },
- { 0x6175, 61198 },
- { 0x6176, 61202 },
- { 0x6187, 61206 },
- { 0x6188, 61210 },
- { 0x6189, 61214 },
- { 0x618A, 61218 },
- { 0x6179, 61222 },
- { 0x617A, 61226 },
- { 0x6173, 61230 },
- { 0x6174, 61234 },
- { 0x617D, 61238 },
- { 0x617E, 61242 },
- { 0x616F, 61246 },
- { 0x6170, 61250 },
- { 0x6183, 61254 },
- { 0x6184, 61258 },
- { 0x617B, 61262 },
- { 0x617C, 61266 },
- { 0x617F, 61270 },
- { 0x6180, 61274 },
- { 0x61C4, 61278 },
- { 0x61C1, 61283 },
- { 0x61BF, 61288 },
- { 0x61C3, 61292 },
- { 0x61C0, 61297 },
- { 0x61C2, 61301 },
- { 0x61C5, 61305 },
- { 0x619C, 61309 },
- { 0x619E, 61313 },
- { 0x618E, 61317 },
- { 0x618D, 61321 },
- { 0x6195, 61325 },
- { 0x619B, 61329 },
- { 0x6190, 61333 },
- { 0x618B, 61337 },
- { 0x619D, 61341 },
- { 0x6193, 61345 },
- { 0x6196, 61349 },
- { 0x6194, 61353 },
- { 0x6198, 61357 },
- { 0x6191, 61361 },
- { 0x618F, 61365 },
- { 0x6192, 61369 },
- { 0x6197, 61373 },
- { 0x619A, 61377 },
- { 0x618C, 61381 },
- { 0x6199, 61385 },
+ { 0x7C83, 60804 },
+ { 0x80FA, 60806 },
+ { 0x3D6F, 60808 },
+ { 0x3D70, 60811 },
+ { 0x7C8E, 60814 },
+ { 0x80C3, 60816 },
+ { 0x7E7E, 60817 },
+ { 0x61EE, 60818 },
+ { 0x61EC, 60823 },
+ { 0x61E5, 60828 },
+ { 0x61F1, 60833 },
+ { 0x61E2, 60838 },
+ { 0x61ED, 60843 },
+ { 0x61F2, 60848 },
+ { 0x61EF, 60853 },
+ { 0x61E6, 60858 },
+ { 0x61EB, 60863 },
+ { 0x61E3, 60868 },
+ { 0x61E7, 60873 },
+ { 0x61EA, 60878 },
+ { 0x61E8, 60883 },
+ { 0x61E9, 60888 },
+ { 0x61F0, 60893 },
+ { 0x61E1, 60898 },
+ { 0x61E4, 60903 },
+ { 0x61E0, 60908 },
+ { 0x61A5, 60913 },
+ { 0x61A9, 60918 },
+ { 0x61A6, 60923 },
+ { 0x61A4, 60928 },
+ { 0x61A7, 60933 },
+ { 0x61A8, 60938 },
+ { 0x61AA, 60943 },
+ { 0x61D4, 60948 },
+ { 0x61B7, 60952 },
+ { 0x61DE, 60957 },
+ { 0x61DB, 60963 },
+ { 0x61DA, 60969 },
+ { 0x61DF, 60977 },
+ { 0x61B9, 60983 },
+ { 0x61DC, 60989 },
+ { 0x61DD, 60994 },
+ { 0x61AD, 61000 },
+ { 0x61CD, 61005 },
+ { 0x61D8, 61009 },
+ { 0x61D9, 61013 },
+ { 0x61D7, 61017 },
+ { 0x61CB, 61021 },
+ { 0x61AF, 61026 },
+ { 0x61B6, 61031 },
+ { 0x61B4, 61036 },
+ { 0x61AB, 61041 },
+ { 0x61AE, 61046 },
+ { 0x61AC, 61051 },
+ { 0x61CF, 61057 },
+ { 0x61D0, 61062 },
+ { 0x61B5, 61066 },
+ { 0x61D6, 61071 },
+ { 0x61D1, 61076 },
+ { 0x61D3, 61080 },
+ { 0x61B8, 61084 },
+ { 0x61D2, 61088 },
+ { 0x61CC, 61092 },
+ { 0x61B1, 61096 },
+ { 0x61B2, 61101 },
+ { 0x61B3, 61106 },
+ { 0x61B0, 61111 },
+ { 0x61D5, 61116 },
+ { 0x61CE, 61121 },
+ { 0x61BB, 61126 },
+ { 0x61C0, 61130 },
+ { 0x61BC, 61134 },
+ { 0x61BF, 61138 },
+ { 0x61BE, 61142 },
+ { 0x61C3, 61146 },
+ { 0x61BA, 61150 },
+ { 0x61C2, 61154 },
+ { 0x61C1, 61158 },
+ { 0x61BD, 61162 },
+ { 0x618A, 61166 },
+ { 0x618B, 61170 },
+ { 0x617C, 61174 },
+ { 0x617D, 61178 },
+ { 0x6176, 61182 },
+ { 0x6177, 61186 },
+ { 0x6186, 61190 },
+ { 0x6187, 61194 },
+ { 0x617A, 61198 },
+ { 0x617B, 61202 },
+ { 0x618C, 61206 },
+ { 0x618D, 61210 },
+ { 0x618E, 61214 },
+ { 0x618F, 61218 },
+ { 0x617E, 61222 },
+ { 0x617F, 61226 },
+ { 0x6178, 61230 },
+ { 0x6179, 61234 },
+ { 0x6182, 61238 },
+ { 0x6183, 61242 },
+ { 0x6174, 61246 },
+ { 0x6175, 61250 },
+ { 0x6188, 61254 },
+ { 0x6189, 61258 },
+ { 0x6180, 61262 },
+ { 0x6181, 61266 },
+ { 0x6184, 61270 },
+ { 0x6185, 61274 },
+ { 0x61C9, 61278 },
+ { 0x61C6, 61283 },
+ { 0x61C4, 61288 },
+ { 0x61C8, 61292 },
+ { 0x61C5, 61297 },
+ { 0x61C7, 61301 },
+ { 0x61CA, 61305 },
+ { 0x61A1, 61309 },
+ { 0x61A3, 61313 },
+ { 0x6193, 61317 },
+ { 0x6192, 61321 },
+ { 0x619A, 61325 },
+ { 0x61A0, 61329 },
+ { 0x6195, 61333 },
+ { 0x6190, 61337 },
+ { 0x61A2, 61341 },
+ { 0x6198, 61345 },
+ { 0x619B, 61349 },
+ { 0x6199, 61353 },
+ { 0x619D, 61357 },
+ { 0x6196, 61361 },
+ { 0x6194, 61365 },
+ { 0x6197, 61369 },
+ { 0x619C, 61373 },
+ { 0x619F, 61377 },
+ { 0x6191, 61381 },
+ { 0x619E, 61385 },
{ 0x22D7, 61389 },
- { 0x80B0, 61390 },
+ { 0x80B5, 61390 },
{ 0x281D, 61391 },
{ 0x2332, 61393 },
- { 0x81BD, 61394 },
- { 0x80EC, 61396 },
- { 0x80EA, 61400 },
+ { 0x81C2, 61394 },
+ { 0x80F1, 61396 },
+ { 0x80EF, 61400 },
{ 0x231C, 61404 },
- { 0x7C16, 61407 },
- { 0x81C0, 61411 },
- { 0x7DF4, 61414 },
- { 0x7DF3, 61418 },
- { 0x80E9, 61422 },
- { 0x804C, 61425 },
- { 0x7DEC, 61428 },
- { 0x7DF1, 61431 },
- { 0x80EB, 61437 },
- { 0x7DF2, 61439 },
+ { 0x7C1B, 61407 },
+ { 0x81C5, 61411 },
+ { 0x7DF9, 61414 },
+ { 0x7DF8, 61418 },
+ { 0x80EE, 61422 },
+ { 0x8051, 61425 },
+ { 0x7DF1, 61428 },
+ { 0x7DF6, 61431 },
+ { 0x80F0, 61437 },
+ { 0x7DF7, 61439 },
{ 0x1D1A, 61441 },
{ 0x27FB, 61443 },
- { 0x7E99, 61444 },
- { 0x8188, 61446 },
+ { 0x7E9E, 61444 },
+ { 0x818D, 61446 },
{ 0x2276, 61447 },
- { 0x7CD0, 61448 },
+ { 0x7CD5, 61448 },
{ 0x1D63, 61449 },
{ 0x1D64, 61451 },
- { 0x7D4E, 61456 },
- { 0x7E38, 61458 },
- { 0x7E4D, 61460 },
- { 0x7C13, 61464 },
- { 0x7BCE, 61466 },
- { 0x7C94, 61467 },
- { 0x2BB2, 61469 },
- { 0x2BC0, 61471 },
- { 0x8068, 61474 },
- { 0x81B0, 61475 },
- { 0x7CA4, 61477 },
- { 0x8048, 61479 },
- { 0x7C87, 61480 },
- { 0x7C41, 61483 },
- { 0x7F15, 61485 },
- { 0x7BAC, 61486 },
- { 0x7BD5, 61487 },
- { 0x7B73, 61489 },
- { 0x7B72, 61491 },
- { 0x7A07, 61493 },
- { 0x7A08, 61496 },
- { 0x7A09, 61499 },
+ { 0x7D53, 61456 },
+ { 0x7E3D, 61458 },
+ { 0x7E52, 61460 },
+ { 0x7C18, 61464 },
+ { 0x7BD3, 61466 },
+ { 0x7C99, 61467 },
+ { 0x2BB6, 61469 },
+ { 0x2BC4, 61471 },
+ { 0x806D, 61474 },
+ { 0x81B5, 61475 },
+ { 0x7CA9, 61477 },
+ { 0x804D, 61479 },
+ { 0x7C8C, 61480 },
+ { 0x7C46, 61483 },
+ { 0x7F1A, 61485 },
+ { 0x7BB1, 61486 },
+ { 0x7BDA, 61487 },
+ { 0x7B78, 61489 },
+ { 0x7B77, 61491 },
+ { 0x7A0C, 61493 },
+ { 0x7A0D, 61496 },
+ { 0x7A0E, 61499 },
{ 0x2A20, 61502 },
- { 0x802E, 61504 },
+ { 0x8033, 61504 },
{ 0x232D, 61508 },
{ 0x232E, 61510 },
- { 0x7D3B, 61512 },
- { 0x7D35, 61521 },
+ { 0x7D40, 61512 },
+ { 0x7D3A, 61521 },
{ 0x2A21, 61526 },
{ 0x29F4, 61528 },
{ 0x29F8, 61532 },
{ 0x29F3, 61534 },
- { 0x38AC, 61537 },
- { 0x38AA, 61541 },
- { 0x38AE, 61545 },
- { 0x38AB, 61549 },
- { 0x38AD, 61553 },
- { 0x38AF, 61557 },
- { 0x38B1, 61561 },
- { 0x38B0, 61565 },
- { 0x38A9, 61569 },
- { 0x389A, 61572 },
- { 0x389C, 61575 },
- { 0x3897, 61578 },
- { 0x3894, 61581 },
- { 0x38A4, 61584 },
- { 0x389D, 61587 },
- { 0x3893, 61590 },
- { 0x38A1, 61593 },
- { 0x389B, 61596 },
- { 0x3898, 61599 },
- { 0x3899, 61602 },
- { 0x38A0, 61605 },
- { 0x389F, 61608 },
- { 0x3896, 61611 },
- { 0x38A3, 61614 },
- { 0x38A2, 61617 },
- { 0x38A5, 61620 },
- { 0x38A7, 61623 },
- { 0x3895, 61626 },
- { 0x389E, 61629 },
- { 0x38A6, 61632 },
- { 0x38A8, 61635 },
- { 0x38B6, 61638 },
- { 0x38B7, 61640 },
- { 0x38B5, 61643 },
- { 0x38B3, 61647 },
- { 0x38B4, 61651 },
- { 0x38B2, 61655 },
+ { 0x38B1, 61537 },
+ { 0x38AF, 61541 },
+ { 0x38B3, 61545 },
+ { 0x38B0, 61549 },
+ { 0x38B2, 61553 },
+ { 0x38B4, 61557 },
+ { 0x38B6, 61561 },
+ { 0x38B5, 61565 },
+ { 0x38AE, 61569 },
+ { 0x389F, 61572 },
+ { 0x38A1, 61575 },
+ { 0x389C, 61578 },
+ { 0x3899, 61581 },
+ { 0x38A9, 61584 },
+ { 0x38A2, 61587 },
+ { 0x3898, 61590 },
+ { 0x38A6, 61593 },
+ { 0x38A0, 61596 },
+ { 0x389D, 61599 },
+ { 0x389E, 61602 },
+ { 0x38A5, 61605 },
+ { 0x38A4, 61608 },
+ { 0x389B, 61611 },
+ { 0x38A8, 61614 },
+ { 0x38A7, 61617 },
+ { 0x38AA, 61620 },
+ { 0x38AC, 61623 },
+ { 0x389A, 61626 },
+ { 0x38A3, 61629 },
+ { 0x38AB, 61632 },
+ { 0x38AD, 61635 },
+ { 0x38BB, 61638 },
+ { 0x38BC, 61640 },
+ { 0x38BA, 61643 },
+ { 0x38B8, 61647 },
+ { 0x38B9, 61651 },
+ { 0x38B7, 61655 },
{ 0x27B1, 61659 },
{ 0x27B2, 61661 },
{ 0x201F, 61663 },
- { 0x7B25, 61665 },
+ { 0x7B2A, 61665 },
{ 0x27D2, 61666 },
{ 0x27D3, 61670 },
{ 0x27D0, 61674 },
@@ -62428,20 +62435,20 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27D6, 61686 },
{ 0x27D5, 61690 },
{ 0x27D7, 61694 },
- { 0x818C, 61698 },
+ { 0x8191, 61698 },
{ 0x2553, 61700 },
{ 0x254E, 61706 },
- { 0x7E25, 61711 },
- { 0x7E9A, 61712 },
- { 0x7B47, 61714 },
- { 0x7B68, 61716 },
- { 0x810B, 61717 },
- { 0x80CE, 61719 },
+ { 0x7E2A, 61711 },
+ { 0x7E9F, 61712 },
+ { 0x7B4C, 61714 },
+ { 0x7B6D, 61716 },
+ { 0x8110, 61717 },
+ { 0x80D3, 61719 },
{ 0x2267, 61721 },
{ 0x22B9, 61722 },
- { 0x7B90, 61723 },
- { 0x7B37, 61724 },
- { 0x7D5A, 61726 },
+ { 0x7B95, 61723 },
+ { 0x7B3C, 61724 },
+ { 0x7D5F, 61726 },
{ 0x1D84, 61727 },
{ 0x1D5F, 61730 },
{ 0x1D68, 61733 },
@@ -62455,175 +62462,175 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1D88, 61757 },
{ 0x1D6D, 61760 },
{ 0x1D70, 61763 },
- { 0x7E15, 61766 },
- { 0x7C81, 61770 },
- { 0x805C, 61771 },
+ { 0x7E1A, 61766 },
+ { 0x7C86, 61770 },
+ { 0x8061, 61771 },
{ 0x1F65, 61774 },
- { 0x8047, 61775 },
- { 0x3E32, 61776 },
- { 0x819D, 61778 },
- { 0x7B0C, 61780 },
- { 0x7E82, 61782 },
+ { 0x804C, 61775 },
+ { 0x3E37, 61776 },
+ { 0x81A2, 61778 },
+ { 0x7B11, 61780 },
+ { 0x7E87, 61782 },
{ 0x230C, 61783 },
- { 0x8179, 61785 },
- { 0x7E64, 61786 },
- { 0x80A4, 61787 },
+ { 0x817E, 61785 },
+ { 0x7E69, 61786 },
+ { 0x80A9, 61787 },
{ 0x1C94, 61788 },
{ 0x1CB3, 61792 },
{ 0x1CB4, 61797 },
{ 0x1C95, 61802 },
- { 0x7DCF, 61806 },
- { 0x7D1A, 61808 },
+ { 0x7DD4, 61806 },
+ { 0x7D1F, 61808 },
{ 0x22E0, 61811 },
- { 0x7C51, 61813 },
- { 0x7D1C, 61815 },
- { 0x7D1D, 61816 },
- { 0x7D77, 61818 },
- { 0x7BBF, 61821 },
- { 0x7D78, 61823 },
- { 0x8111, 61826 },
- { 0x7B6A, 61827 },
- { 0x2F68, 61829 },
- { 0x2F4F, 61833 },
- { 0x2F49, 61837 },
- { 0x2F4A, 61840 },
- { 0x2F30, 61843 },
- { 0x2F31, 61847 },
- { 0x2F2E, 61852 },
- { 0x2F2A, 61855 },
- { 0x2F67, 61858 },
- { 0x2F4B, 61862 },
- { 0x2EFC, 61864 },
- { 0x2F4C, 61866 },
- { 0x2F4D, 61868 },
- { 0x2F4E, 61870 },
- { 0x2F26, 61872 },
- { 0x2F2D, 61874 },
- { 0x2F29, 61877 },
- { 0x2F50, 61880 },
- { 0x2EFB, 61882 },
- { 0x2F51, 61884 },
- { 0x7A2D, 61886 },
- { 0x2F20, 61888 },
- { 0x2F00, 61890 },
- { 0x2F02, 61892 },
- { 0x2F01, 61895 },
- { 0x2E57, 61898 },
- { 0x2F22, 61900 },
- { 0x2F10, 61902 },
- { 0x2F52, 61904 },
- { 0x2F53, 61906 },
- { 0x2E55, 61908 },
- { 0x2F54, 61910 },
- { 0x2F19, 61912 },
- { 0x2F55, 61914 },
- { 0x2F03, 61916 },
- { 0x2F0D, 61918 },
- { 0x2F0E, 61920 },
- { 0x2F18, 61922 },
- { 0x2F56, 61924 },
- { 0x2F21, 61926 },
- { 0x2F27, 61928 },
- { 0x2F2F, 61930 },
- { 0x2F57, 61933 },
- { 0x2F2B, 61936 },
- { 0x2F58, 61939 },
- { 0x2F41, 61941 },
- { 0x2F47, 61943 },
- { 0x2F59, 61945 },
- { 0x2F5A, 61947 },
- { 0x2F5C, 61949 },
- { 0x2F0C, 61951 },
- { 0x2F0F, 61953 },
- { 0x2F5D, 61955 },
- { 0x2F17, 61958 },
- { 0x2F1F, 61960 },
- { 0x2F25, 61962 },
- { 0x2F2C, 61964 },
- { 0x2F28, 61967 },
- { 0x2F3C, 61970 },
- { 0x2F0B, 61972 },
- { 0x2F15, 61975 },
- { 0x2F16, 61978 },
- { 0x2F1E, 61981 },
- { 0x2F24, 61984 },
- { 0x2F3B, 61987 },
- { 0x2F3F, 61990 },
- { 0x2F45, 61993 },
- { 0x2F40, 61996 },
- { 0x2F42, 61998 },
- { 0x2F46, 62001 },
- { 0x2F48, 62003 },
- { 0x2F0A, 62006 },
- { 0x2F14, 62008 },
- { 0x2F23, 62010 },
- { 0x2F3A, 62012 },
- { 0x2F3E, 62014 },
- { 0x2F44, 62016 },
- { 0x2EFE, 62018 },
- { 0x2F32, 62020 },
- { 0x2F09, 62022 },
- { 0x2EFF, 62025 },
- { 0x2F13, 62027 },
- { 0x2F60, 62029 },
- { 0x2F61, 62031 },
- { 0x2F63, 62033 },
- { 0x2F39, 62035 },
- { 0x2F3D, 62037 },
- { 0x2F43, 62039 },
- { 0x2F64, 62041 },
- { 0x2F65, 62043 },
- { 0x2F66, 62045 },
- { 0x2EFD, 62047 },
- { 0x2F11, 62049 },
+ { 0x7C56, 61813 },
+ { 0x7D21, 61815 },
+ { 0x7D22, 61816 },
+ { 0x7D7C, 61818 },
+ { 0x7BC4, 61821 },
+ { 0x7D7D, 61823 },
+ { 0x8116, 61826 },
+ { 0x7B6F, 61827 },
+ { 0x2F6D, 61829 },
+ { 0x2F54, 61833 },
+ { 0x2F4E, 61837 },
+ { 0x2F4F, 61840 },
+ { 0x2F35, 61843 },
+ { 0x2F36, 61847 },
+ { 0x2F33, 61852 },
+ { 0x2F2F, 61855 },
+ { 0x2F6C, 61858 },
+ { 0x2F50, 61862 },
+ { 0x2F01, 61864 },
+ { 0x2F51, 61866 },
+ { 0x2F52, 61868 },
+ { 0x2F53, 61870 },
+ { 0x2F2B, 61872 },
+ { 0x2F32, 61874 },
+ { 0x2F2E, 61877 },
+ { 0x2F55, 61880 },
+ { 0x2F00, 61882 },
+ { 0x2F56, 61884 },
+ { 0x7A32, 61886 },
+ { 0x2F25, 61888 },
+ { 0x2F05, 61890 },
+ { 0x2F07, 61892 },
+ { 0x2F06, 61895 },
+ { 0x2E5C, 61898 },
+ { 0x2F27, 61900 },
+ { 0x2F15, 61902 },
+ { 0x2F57, 61904 },
+ { 0x2F58, 61906 },
+ { 0x2E5A, 61908 },
+ { 0x2F59, 61910 },
+ { 0x2F1E, 61912 },
+ { 0x2F5A, 61914 },
+ { 0x2F08, 61916 },
+ { 0x2F12, 61918 },
+ { 0x2F13, 61920 },
+ { 0x2F1D, 61922 },
+ { 0x2F5B, 61924 },
+ { 0x2F26, 61926 },
+ { 0x2F2C, 61928 },
+ { 0x2F34, 61930 },
+ { 0x2F5C, 61933 },
+ { 0x2F30, 61936 },
+ { 0x2F5D, 61939 },
+ { 0x2F46, 61941 },
+ { 0x2F4C, 61943 },
+ { 0x2F5E, 61945 },
+ { 0x2F5F, 61947 },
+ { 0x2F61, 61949 },
+ { 0x2F11, 61951 },
+ { 0x2F14, 61953 },
+ { 0x2F62, 61955 },
+ { 0x2F1C, 61958 },
+ { 0x2F24, 61960 },
+ { 0x2F2A, 61962 },
+ { 0x2F31, 61964 },
+ { 0x2F2D, 61967 },
+ { 0x2F41, 61970 },
+ { 0x2F10, 61972 },
+ { 0x2F1A, 61975 },
+ { 0x2F1B, 61978 },
+ { 0x2F23, 61981 },
+ { 0x2F29, 61984 },
+ { 0x2F40, 61987 },
+ { 0x2F44, 61990 },
+ { 0x2F4A, 61993 },
+ { 0x2F45, 61996 },
+ { 0x2F47, 61998 },
+ { 0x2F4B, 62001 },
+ { 0x2F4D, 62003 },
+ { 0x2F0F, 62006 },
+ { 0x2F19, 62008 },
+ { 0x2F28, 62010 },
+ { 0x2F3F, 62012 },
+ { 0x2F43, 62014 },
+ { 0x2F49, 62016 },
+ { 0x2F03, 62018 },
+ { 0x2F37, 62020 },
+ { 0x2F0E, 62022 },
+ { 0x2F04, 62025 },
+ { 0x2F18, 62027 },
+ { 0x2F65, 62029 },
+ { 0x2F66, 62031 },
+ { 0x2F68, 62033 },
+ { 0x2F3E, 62035 },
+ { 0x2F42, 62037 },
+ { 0x2F48, 62039 },
+ { 0x2F69, 62041 },
+ { 0x2F6A, 62043 },
+ { 0x2F6B, 62045 },
+ { 0x2F02, 62047 },
+ { 0x2F16, 62049 },
{ 0x1EE4, 62051 },
{ 0x1EE5, 62053 },
- { 0x2F07, 62055 },
- { 0x2E88, 62059 },
- { 0x2F04, 62063 },
- { 0x2F05, 62067 },
- { 0x2F06, 62071 },
- { 0x2E56, 62075 },
- { 0x2F88, 62077 },
- { 0x2F1C, 62079 },
- { 0x2F35, 62081 },
- { 0x2EC8, 62083 },
- { 0x2EFA, 62085 },
- { 0x2F1A, 62087 },
- { 0x2F33, 62089 },
- { 0x2F5B, 62091 },
- { 0x2F1B, 62093 },
- { 0x2F5E, 62095 },
- { 0x2F5F, 62097 },
- { 0x2F34, 62099 },
- { 0x2F62, 62101 },
- { 0x2F36, 62103 },
- { 0x2F37, 62105 },
- { 0x2F38, 62109 },
- { 0x2F1D, 62114 },
- { 0x2EB0, 62116 },
- { 0x2E8F, 62118 },
- { 0x2E8C, 62120 },
- { 0x2EBA, 62122 },
- { 0x2EAE, 62124 },
- { 0x2EAF, 62126 },
+ { 0x2F0C, 62055 },
+ { 0x2E8D, 62059 },
+ { 0x2F09, 62063 },
+ { 0x2F0A, 62067 },
+ { 0x2F0B, 62071 },
+ { 0x2E5B, 62075 },
+ { 0x2F8D, 62077 },
+ { 0x2F21, 62079 },
+ { 0x2F3A, 62081 },
+ { 0x2ECD, 62083 },
+ { 0x2EFF, 62085 },
+ { 0x2F1F, 62087 },
+ { 0x2F38, 62089 },
+ { 0x2F60, 62091 },
+ { 0x2F20, 62093 },
+ { 0x2F63, 62095 },
+ { 0x2F64, 62097 },
+ { 0x2F39, 62099 },
+ { 0x2F67, 62101 },
+ { 0x2F3B, 62103 },
+ { 0x2F3C, 62105 },
+ { 0x2F3D, 62109 },
+ { 0x2F22, 62114 },
+ { 0x2EB5, 62116 },
+ { 0x2E94, 62118 },
+ { 0x2E91, 62120 },
+ { 0x2EBF, 62122 },
+ { 0x2EB3, 62124 },
+ { 0x2EB4, 62126 },
{ 0x201E, 62128 },
{ 0x2319, 62130 },
- { 0x2E99, 62133 },
- { 0x2ECB, 62135 },
- { 0x2E8E, 62137 },
- { 0x2F12, 62139 },
- { 0x2E9D, 62141 },
+ { 0x2E9E, 62133 },
+ { 0x2ED0, 62135 },
+ { 0x2E93, 62137 },
+ { 0x2F17, 62139 },
+ { 0x2EA2, 62141 },
{ 0x26F0, 62143 },
- { 0x2ED4, 62148 },
- { 0x2ED2, 62150 },
- { 0x2EB1, 62152 },
- { 0x2E92, 62154 },
- { 0x2E93, 62156 },
- { 0x2EC0, 62158 },
- { 0x2EB9, 62160 },
- { 0x2EDE, 62162 },
- { 0x2EDB, 62164 },
+ { 0x2ED9, 62148 },
+ { 0x2ED7, 62150 },
+ { 0x2EB6, 62152 },
+ { 0x2E97, 62154 },
+ { 0x2E98, 62156 },
+ { 0x2EC5, 62158 },
+ { 0x2EBE, 62160 },
+ { 0x2EE3, 62162 },
+ { 0x2EE0, 62164 },
{ 0x1E6B, 62166 },
{ 0x2735, 62168 },
{ 0x220A, 62173 },
@@ -62640,89 +62647,89 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2603, 62241 },
{ 0x21C7, 62245 },
{ 0x21C9, 62249 },
- { 0x2ED9, 62254 },
- { 0x2E8B, 62256 },
- { 0x2EC5, 62258 },
- { 0x2EAD, 62260 },
- { 0x2E91, 62262 },
- { 0x2E98, 62264 },
- { 0x2E97, 62266 },
- { 0x2E9A, 62268 },
- { 0x2EB3, 62270 },
- { 0x2ECA, 62272 },
- { 0x2EBE, 62274 },
+ { 0x2EDE, 62254 },
+ { 0x2E90, 62256 },
+ { 0x2ECA, 62258 },
+ { 0x2EB2, 62260 },
+ { 0x2E96, 62262 },
+ { 0x2E9D, 62264 },
+ { 0x2E9C, 62266 },
+ { 0x2E9F, 62268 },
+ { 0x2EB8, 62270 },
+ { 0x2ECF, 62272 },
+ { 0x2EC3, 62274 },
{ 0x1EE0, 62276 },
{ 0x1F35, 62279 },
{ 0x1EE2, 62286 },
- { 0x2E94, 62292 },
- { 0x2EA5, 62294 },
- { 0x2EA7, 62296 },
- { 0x2ECE, 62298 },
- { 0x2ECD, 62300 },
- { 0x2EB2, 62302 },
- { 0x2EB5, 62304 },
- { 0x2EC4, 62306 },
- { 0x2EC3, 62308 },
- { 0x2EC9, 62310 },
+ { 0x2E99, 62292 },
+ { 0x2EAA, 62294 },
+ { 0x2EAC, 62296 },
+ { 0x2ED3, 62298 },
+ { 0x2ED2, 62300 },
+ { 0x2EB7, 62302 },
+ { 0x2EBA, 62304 },
+ { 0x2EC9, 62306 },
+ { 0x2EC8, 62308 },
+ { 0x2ECE, 62310 },
{ 0x26F1, 62312 },
- { 0x2EDC, 62317 },
- { 0x2EAB, 62319 },
- { 0x2EAC, 62321 },
- { 0x2EE0, 62323 },
- { 0x2ED7, 62325 },
- { 0x2ED8, 62327 },
- { 0x2E89, 62329 },
- { 0x2E8A, 62331 },
- { 0x2EC7, 62333 },
- { 0x2EA1, 62335 },
- { 0x2EC2, 62337 },
- { 0x2EBC, 62339 },
- { 0x2E8D, 62341 },
- { 0x2EA6, 62343 },
- { 0x2E9B, 62345 },
- { 0x2ECF, 62347 },
- { 0x2EC1, 62349 },
- { 0x2EB8, 62351 },
- { 0x2EC6, 62353 },
- { 0x7F2D, 62355 },
- { 0x2EB6, 62357 },
- { 0x2E9C, 62359 },
- { 0x2E95, 62361 },
- { 0x2E96, 62363 },
- { 0x2EA4, 62365 },
+ { 0x2EE1, 62317 },
+ { 0x2EB0, 62319 },
+ { 0x2EB1, 62321 },
+ { 0x2EE5, 62323 },
+ { 0x2EDC, 62325 },
+ { 0x2EDD, 62327 },
+ { 0x2E8E, 62329 },
+ { 0x2E8F, 62331 },
+ { 0x2ECC, 62333 },
+ { 0x2EA6, 62335 },
+ { 0x2EC7, 62337 },
+ { 0x2EC1, 62339 },
+ { 0x2E92, 62341 },
+ { 0x2EAB, 62343 },
+ { 0x2EA0, 62345 },
+ { 0x2ED4, 62347 },
+ { 0x2EC6, 62349 },
+ { 0x2EBD, 62351 },
+ { 0x2ECB, 62353 },
+ { 0x7F32, 62355 },
+ { 0x2EBB, 62357 },
+ { 0x2EA1, 62359 },
+ { 0x2E9A, 62361 },
+ { 0x2E9B, 62363 },
+ { 0x2EA9, 62365 },
{ 0x1F62, 62367 },
- { 0x2ECC, 62369 },
- { 0x2ED0, 62371 },
- { 0x2ED6, 62373 },
- { 0x2ED5, 62375 },
- { 0x2ED1, 62377 },
- { 0x2EDA, 62379 },
- { 0x2EDD, 62381 },
- { 0x2EA8, 62383 },
- { 0x2EAA, 62385 },
- { 0x2EBD, 62387 },
- { 0x2E90, 62389 },
- { 0x7A65, 62391 },
- { 0x2EBB, 62394 },
+ { 0x2ED1, 62369 },
+ { 0x2ED5, 62371 },
+ { 0x2EDB, 62373 },
+ { 0x2EDA, 62375 },
+ { 0x2ED6, 62377 },
+ { 0x2EDF, 62379 },
+ { 0x2EE2, 62381 },
+ { 0x2EAD, 62383 },
+ { 0x2EAF, 62385 },
+ { 0x2EC2, 62387 },
+ { 0x2E95, 62389 },
+ { 0x7A6A, 62391 },
+ { 0x2EC0, 62394 },
{ 0x1EE1, 62396 },
{ 0x1F36, 62399 },
{ 0x1EE3, 62406 },
- { 0x2EB4, 62412 },
+ { 0x2EB9, 62412 },
{ 0x27F0, 62414 },
- { 0x2EDF, 62417 },
- { 0x2EA9, 62419 },
- { 0x2EA2, 62421 },
- { 0x2EBF, 62423 },
- { 0x2EA0, 62425 },
- { 0x2EA3, 62427 },
- { 0x2ED3, 62429 },
- { 0x2EB7, 62431 },
- { 0x2E9E, 62433 },
- { 0x2F08, 62435 },
- { 0x2E9F, 62437 },
- { 0x7DA2, 62439 },
+ { 0x2EE4, 62417 },
+ { 0x2EAE, 62419 },
+ { 0x2EA7, 62421 },
+ { 0x2EC4, 62423 },
+ { 0x2EA5, 62425 },
+ { 0x2EA8, 62427 },
+ { 0x2ED8, 62429 },
+ { 0x2EBC, 62431 },
+ { 0x2EA3, 62433 },
+ { 0x2F0D, 62435 },
+ { 0x2EA4, 62437 },
+ { 0x7DA7, 62439 },
{ 0x234C, 62442 },
- { 0x7B3E, 62446 },
+ { 0x7B43, 62446 },
{ 0x1ED3, 62448 },
{ 0x1ED7, 62450 },
{ 0x26E6, 62455 },
@@ -62737,53 +62744,53 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x26F8, 62504 },
{ 0x26F6, 62507 },
{ 0x259C, 62510 },
- { 0x7AAC, 62514 },
- { 0x7B69, 62517 },
- { 0x3788, 62518 },
- { 0x378D, 62522 },
- { 0x3784, 62526 },
- { 0x37AE, 62530 },
- { 0x37A5, 62535 },
- { 0x37A8, 62540 },
- { 0x37A6, 62545 },
- { 0x37A7, 62550 },
- { 0x37A9, 62555 },
- { 0x3782, 62560 },
- { 0x3786, 62564 },
- { 0x3783, 62568 },
- { 0x3787, 62572 },
- { 0x3785, 62576 },
- { 0x379D, 62580 },
- { 0x378E, 62584 },
- { 0x3798, 62588 },
- { 0x378B, 62592 },
- { 0x37A4, 62596 },
- { 0x3790, 62600 },
- { 0x3789, 62604 },
- { 0x37A1, 62608 },
- { 0x379F, 62612 },
- { 0x379A, 62616 },
- { 0x379B, 62620 },
- { 0x37A0, 62624 },
- { 0x37A3, 62628 },
- { 0x3796, 62632 },
- { 0x379E, 62636 },
- { 0x378F, 62640 },
- { 0x3794, 62644 },
- { 0x3799, 62648 },
- { 0x378C, 62652 },
- { 0x3791, 62656 },
- { 0x378A, 62660 },
- { 0x379C, 62664 },
- { 0x37A2, 62668 },
- { 0x3797, 62672 },
- { 0x3792, 62676 },
- { 0x3795, 62680 },
- { 0x3793, 62684 },
- { 0x37AA, 62688 },
- { 0x37AB, 62692 },
- { 0x37AC, 62696 },
- { 0x37AD, 62700 },
+ { 0x7AB1, 62514 },
+ { 0x7B6E, 62517 },
+ { 0x378D, 62518 },
+ { 0x3792, 62522 },
+ { 0x3789, 62526 },
+ { 0x37B3, 62530 },
+ { 0x37AA, 62535 },
+ { 0x37AD, 62540 },
+ { 0x37AB, 62545 },
+ { 0x37AC, 62550 },
+ { 0x37AE, 62555 },
+ { 0x3787, 62560 },
+ { 0x378B, 62564 },
+ { 0x3788, 62568 },
+ { 0x378C, 62572 },
+ { 0x378A, 62576 },
+ { 0x37A2, 62580 },
+ { 0x3793, 62584 },
+ { 0x379D, 62588 },
+ { 0x3790, 62592 },
+ { 0x37A9, 62596 },
+ { 0x3795, 62600 },
+ { 0x378E, 62604 },
+ { 0x37A6, 62608 },
+ { 0x37A4, 62612 },
+ { 0x379F, 62616 },
+ { 0x37A0, 62620 },
+ { 0x37A5, 62624 },
+ { 0x37A8, 62628 },
+ { 0x379B, 62632 },
+ { 0x37A3, 62636 },
+ { 0x3794, 62640 },
+ { 0x3799, 62644 },
+ { 0x379E, 62648 },
+ { 0x3791, 62652 },
+ { 0x3796, 62656 },
+ { 0x378F, 62660 },
+ { 0x37A1, 62664 },
+ { 0x37A7, 62668 },
+ { 0x379C, 62672 },
+ { 0x3797, 62676 },
+ { 0x379A, 62680 },
+ { 0x3798, 62684 },
+ { 0x37AF, 62688 },
+ { 0x37B0, 62692 },
+ { 0x37B1, 62696 },
+ { 0x37B2, 62700 },
{ 0x2054, 62704 },
{ 0x206A, 62709 },
{ 0x2055, 62714 },
@@ -62797,7 +62804,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27B7, 62748 },
{ 0x2070, 62753 },
{ 0x206E, 62757 },
- { 0x7CEA, 62761 },
+ { 0x7CEF, 62761 },
{ 0x2060, 62765 },
{ 0x205F, 62769 },
{ 0x2071, 62773 },
@@ -62913,868 +62920,868 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x069C, 63164 },
{ 0x06A1, 63167 },
{ 0x06A7, 63172 },
- { 0x81C7, 63175 },
- { 0x6142, 63176 },
- { 0x6147, 63179 },
- { 0x6143, 63182 },
- { 0x6146, 63185 },
- { 0x6145, 63188 },
- { 0x614A, 63191 },
- { 0x6141, 63194 },
- { 0x6149, 63197 },
- { 0x6148, 63200 },
- { 0x6144, 63203 },
- { 0x60F7, 63206 },
- { 0x60F8, 63209 },
- { 0x60F9, 63212 },
- { 0x60F6, 63215 },
- { 0x612C, 63218 },
- { 0x6137, 63221 },
- { 0x6133, 63224 },
- { 0x60FF, 63227 },
- { 0x6100, 63230 },
- { 0x6101, 63233 },
- { 0x60FE, 63236 },
- { 0x613D, 63239 },
- { 0x6124, 63242 },
- { 0x612F, 63245 },
- { 0x6103, 63248 },
- { 0x6104, 63251 },
- { 0x6105, 63254 },
- { 0x6102, 63257 },
- { 0x6122, 63260 },
- { 0x6130, 63263 },
- { 0x612D, 63266 },
- { 0x611F, 63269 },
- { 0x6120, 63272 },
- { 0x6121, 63275 },
- { 0x611E, 63278 },
- { 0x612E, 63281 },
- { 0x60F3, 63284 },
- { 0x60F4, 63287 },
- { 0x60F5, 63290 },
- { 0x60F2, 63293 },
- { 0x6129, 63296 },
- { 0x6134, 63299 },
- { 0x6126, 63302 },
- { 0x6132, 63305 },
- { 0x6107, 63308 },
- { 0x6108, 63311 },
- { 0x6109, 63314 },
- { 0x6106, 63317 },
- { 0x60FB, 63320 },
- { 0x60FC, 63323 },
- { 0x60FD, 63326 },
- { 0x60FA, 63329 },
- { 0x6128, 63332 },
- { 0x613C, 63335 },
- { 0x6127, 63338 },
- { 0x6140, 63341 },
- { 0x610B, 63344 },
- { 0x610C, 63347 },
- { 0x610D, 63350 },
- { 0x610A, 63353 },
- { 0x613F, 63356 },
- { 0x613E, 63359 },
- { 0x6139, 63362 },
- { 0x6131, 63365 },
- { 0x6123, 63368 },
- { 0x6125, 63371 },
- { 0x6135, 63374 },
- { 0x612A, 63377 },
- { 0x612B, 63380 },
- { 0x6136, 63383 },
- { 0x613B, 63386 },
- { 0x6138, 63389 },
- { 0x6116, 63392 },
- { 0x6118, 63395 },
- { 0x6119, 63398 },
- { 0x6117, 63401 },
- { 0x610F, 63404 },
- { 0x6110, 63407 },
- { 0x6111, 63410 },
- { 0x610E, 63413 },
- { 0x613A, 63416 },
- { 0x6113, 63419 },
- { 0x611B, 63423 },
- { 0x611C, 63426 },
- { 0x611D, 63429 },
- { 0x611A, 63432 },
- { 0x6112, 63435 },
- { 0x6115, 63439 },
- { 0x6114, 63443 },
- { 0x62DE, 63447 },
- { 0x62E5, 63450 },
- { 0x62E6, 63452 },
- { 0x62E7, 63454 },
- { 0x62E8, 63456 },
- { 0x62E9, 63458 },
- { 0x62EA, 63460 },
- { 0x62EB, 63462 },
- { 0x62EC, 63464 },
- { 0x62ED, 63466 },
- { 0x62EE, 63468 },
- { 0x62EF, 63470 },
- { 0x62F0, 63472 },
- { 0x62F1, 63474 },
- { 0x62F2, 63476 },
- { 0x62F3, 63478 },
- { 0x62F4, 63480 },
- { 0x62F5, 63482 },
- { 0x62F6, 63484 },
- { 0x62F7, 63486 },
- { 0x62F8, 63488 },
- { 0x62F9, 63490 },
- { 0x62FA, 63492 },
- { 0x62FB, 63494 },
- { 0x62FC, 63496 },
- { 0x62FD, 63498 },
- { 0x62FE, 63500 },
- { 0x62FF, 63502 },
- { 0x6300, 63504 },
- { 0x6301, 63506 },
- { 0x6302, 63508 },
- { 0x6303, 63510 },
- { 0x6304, 63512 },
- { 0x6305, 63514 },
- { 0x6306, 63516 },
- { 0x6307, 63518 },
- { 0x6308, 63520 },
- { 0x6309, 63522 },
- { 0x630A, 63524 },
- { 0x630B, 63526 },
- { 0x630C, 63528 },
- { 0x630D, 63530 },
- { 0x630E, 63532 },
- { 0x630F, 63534 },
- { 0x6310, 63536 },
- { 0x6311, 63538 },
- { 0x6312, 63540 },
- { 0x6313, 63542 },
- { 0x6314, 63544 },
- { 0x6315, 63546 },
- { 0x6316, 63548 },
- { 0x6317, 63550 },
- { 0x6318, 63552 },
- { 0x6319, 63554 },
- { 0x631A, 63556 },
- { 0x631B, 63558 },
- { 0x631C, 63560 },
- { 0x631D, 63562 },
- { 0x631E, 63564 },
- { 0x631F, 63566 },
- { 0x6320, 63568 },
- { 0x6321, 63570 },
- { 0x6322, 63572 },
- { 0x6323, 63574 },
- { 0x6324, 63576 },
- { 0x6325, 63578 },
- { 0x6326, 63580 },
- { 0x6327, 63582 },
- { 0x6328, 63584 },
- { 0x6329, 63586 },
- { 0x632A, 63588 },
- { 0x632B, 63590 },
- { 0x632C, 63592 },
- { 0x632D, 63594 },
- { 0x632E, 63596 },
- { 0x632F, 63598 },
- { 0x6330, 63600 },
- { 0x6331, 63602 },
- { 0x6332, 63604 },
- { 0x6333, 63606 },
- { 0x6334, 63608 },
- { 0x6335, 63610 },
- { 0x6336, 63612 },
- { 0x6337, 63614 },
- { 0x6338, 63616 },
- { 0x6339, 63618 },
- { 0x633A, 63620 },
- { 0x633B, 63622 },
- { 0x633C, 63624 },
- { 0x633D, 63626 },
- { 0x633E, 63628 },
- { 0x633F, 63630 },
- { 0x6340, 63632 },
- { 0x6341, 63634 },
- { 0x6342, 63636 },
- { 0x6343, 63638 },
- { 0x6344, 63640 },
- { 0x6345, 63642 },
- { 0x6346, 63644 },
- { 0x6347, 63646 },
- { 0x6348, 63648 },
- { 0x6349, 63650 },
- { 0x634A, 63652 },
- { 0x634B, 63654 },
- { 0x634C, 63656 },
- { 0x634D, 63658 },
- { 0x634E, 63660 },
- { 0x634F, 63662 },
- { 0x6350, 63664 },
- { 0x6351, 63666 },
- { 0x6352, 63668 },
- { 0x6353, 63670 },
- { 0x6354, 63672 },
- { 0x6355, 63674 },
- { 0x6356, 63676 },
- { 0x6357, 63678 },
- { 0x6358, 63680 },
- { 0x6359, 63682 },
- { 0x635A, 63684 },
- { 0x635B, 63686 },
- { 0x635C, 63688 },
- { 0x635D, 63690 },
- { 0x635E, 63692 },
- { 0x635F, 63694 },
- { 0x6360, 63696 },
- { 0x6361, 63698 },
- { 0x6362, 63700 },
- { 0x6363, 63702 },
- { 0x6364, 63704 },
- { 0x6365, 63706 },
- { 0x6366, 63708 },
- { 0x6367, 63710 },
- { 0x6368, 63712 },
- { 0x6369, 63714 },
- { 0x636A, 63716 },
- { 0x636B, 63718 },
- { 0x636C, 63720 },
- { 0x636D, 63722 },
- { 0x636E, 63724 },
- { 0x636F, 63726 },
- { 0x6370, 63728 },
- { 0x6371, 63730 },
- { 0x6372, 63732 },
- { 0x6373, 63734 },
- { 0x6374, 63736 },
- { 0x6375, 63738 },
- { 0x6376, 63740 },
- { 0x6377, 63742 },
- { 0x6378, 63744 },
- { 0x6379, 63746 },
- { 0x637A, 63748 },
- { 0x637B, 63750 },
- { 0x637C, 63752 },
- { 0x637D, 63754 },
- { 0x637E, 63756 },
- { 0x637F, 63758 },
- { 0x6380, 63760 },
- { 0x6381, 63762 },
- { 0x6382, 63764 },
- { 0x6383, 63766 },
- { 0x6384, 63768 },
- { 0x6385, 63770 },
- { 0x6386, 63772 },
- { 0x6387, 63774 },
- { 0x6388, 63776 },
- { 0x6389, 63778 },
- { 0x638A, 63780 },
- { 0x638B, 63782 },
- { 0x638C, 63784 },
- { 0x638D, 63786 },
- { 0x638E, 63788 },
- { 0x638F, 63790 },
- { 0x6390, 63792 },
- { 0x6391, 63794 },
- { 0x6392, 63796 },
- { 0x6393, 63798 },
- { 0x6394, 63800 },
- { 0x6395, 63802 },
- { 0x6396, 63804 },
- { 0x6397, 63806 },
- { 0x6398, 63808 },
- { 0x6399, 63810 },
- { 0x639A, 63812 },
- { 0x639B, 63814 },
- { 0x639C, 63816 },
- { 0x639D, 63818 },
- { 0x639E, 63820 },
- { 0x639F, 63822 },
- { 0x63A0, 63824 },
- { 0x63A1, 63826 },
- { 0x63A2, 63828 },
- { 0x63A3, 63830 },
- { 0x63A4, 63832 },
- { 0x63A5, 63834 },
- { 0x63A6, 63836 },
- { 0x63A7, 63838 },
- { 0x63A8, 63840 },
- { 0x63A9, 63842 },
- { 0x63AA, 63844 },
- { 0x63AB, 63846 },
- { 0x63AC, 63848 },
- { 0x63AD, 63850 },
- { 0x63AE, 63852 },
- { 0x63AF, 63854 },
- { 0x63B0, 63856 },
- { 0x63B1, 63858 },
- { 0x63B2, 63860 },
- { 0x63B3, 63862 },
- { 0x63B4, 63864 },
- { 0x63B5, 63866 },
- { 0x63B6, 63868 },
- { 0x63B7, 63870 },
- { 0x63B8, 63872 },
- { 0x63B9, 63874 },
- { 0x63BA, 63876 },
- { 0x63BB, 63878 },
- { 0x63BC, 63880 },
- { 0x63BD, 63882 },
- { 0x63BE, 63884 },
- { 0x63BF, 63886 },
- { 0x63C0, 63888 },
- { 0x63C1, 63890 },
- { 0x63C2, 63892 },
- { 0x63C3, 63894 },
- { 0x63C4, 63896 },
- { 0x63C5, 63898 },
- { 0x63C6, 63900 },
- { 0x63C7, 63902 },
- { 0x63C8, 63904 },
- { 0x63C9, 63906 },
- { 0x63CA, 63908 },
- { 0x63CB, 63910 },
- { 0x63CC, 63912 },
- { 0x63CD, 63914 },
- { 0x63CE, 63916 },
- { 0x63CF, 63918 },
- { 0x63D0, 63920 },
- { 0x63D1, 63922 },
- { 0x63D2, 63924 },
- { 0x63D3, 63926 },
- { 0x63D4, 63928 },
- { 0x63D5, 63930 },
- { 0x63D6, 63932 },
- { 0x63D7, 63934 },
- { 0x63D8, 63936 },
- { 0x63D9, 63938 },
- { 0x63DA, 63940 },
- { 0x63DB, 63942 },
- { 0x63DC, 63944 },
- { 0x63DD, 63946 },
- { 0x63DE, 63948 },
- { 0x63DF, 63950 },
- { 0x63E0, 63952 },
- { 0x63E1, 63954 },
- { 0x63E2, 63956 },
- { 0x63E3, 63958 },
- { 0x63E4, 63960 },
- { 0x63E5, 63962 },
- { 0x63E6, 63964 },
- { 0x63E7, 63966 },
- { 0x63E8, 63968 },
- { 0x63E9, 63970 },
- { 0x63EA, 63972 },
- { 0x63EB, 63974 },
- { 0x63EC, 63976 },
- { 0x63ED, 63978 },
- { 0x63EE, 63980 },
- { 0x63EF, 63982 },
- { 0x63F0, 63984 },
- { 0x63F1, 63986 },
- { 0x63F2, 63988 },
- { 0x63F3, 63990 },
- { 0x63F4, 63992 },
- { 0x63F5, 63994 },
- { 0x63F6, 63996 },
- { 0x63F7, 63998 },
- { 0x63F8, 64000 },
- { 0x63F9, 64002 },
- { 0x63FA, 64004 },
- { 0x63FB, 64006 },
- { 0x63FC, 64008 },
- { 0x63FD, 64010 },
- { 0x63FE, 64012 },
- { 0x63FF, 64014 },
- { 0x6400, 64016 },
- { 0x6401, 64018 },
- { 0x6402, 64020 },
- { 0x6403, 64022 },
- { 0x6404, 64024 },
- { 0x6405, 64026 },
- { 0x6406, 64028 },
- { 0x6407, 64030 },
- { 0x6408, 64032 },
- { 0x6409, 64034 },
- { 0x640A, 64036 },
- { 0x640B, 64038 },
- { 0x640C, 64040 },
- { 0x640D, 64042 },
- { 0x640E, 64044 },
- { 0x640F, 64046 },
- { 0x6410, 64048 },
- { 0x6411, 64050 },
- { 0x6412, 64052 },
- { 0x6413, 64054 },
- { 0x6414, 64056 },
- { 0x6415, 64058 },
- { 0x6416, 64060 },
- { 0x6417, 64062 },
- { 0x6418, 64064 },
- { 0x6419, 64066 },
- { 0x641A, 64068 },
- { 0x641B, 64070 },
- { 0x641C, 64072 },
- { 0x641D, 64074 },
- { 0x641E, 64076 },
- { 0x641F, 64078 },
- { 0x6420, 64080 },
- { 0x6421, 64082 },
- { 0x6422, 64084 },
- { 0x6423, 64086 },
- { 0x6424, 64088 },
- { 0x6425, 64090 },
- { 0x6426, 64092 },
- { 0x6427, 64094 },
- { 0x6428, 64096 },
- { 0x6429, 64098 },
- { 0x642A, 64100 },
- { 0x642B, 64102 },
- { 0x642C, 64104 },
- { 0x642D, 64106 },
- { 0x642E, 64108 },
- { 0x642F, 64110 },
- { 0x6430, 64112 },
- { 0x6431, 64114 },
- { 0x6432, 64116 },
- { 0x6433, 64118 },
- { 0x6434, 64120 },
- { 0x6435, 64122 },
- { 0x6436, 64124 },
- { 0x6437, 64126 },
- { 0x6438, 64128 },
- { 0x6439, 64130 },
- { 0x643A, 64132 },
- { 0x643B, 64134 },
- { 0x643C, 64136 },
- { 0x643D, 64138 },
- { 0x643E, 64140 },
- { 0x643F, 64142 },
- { 0x6440, 64144 },
- { 0x6441, 64146 },
- { 0x6442, 64148 },
- { 0x6443, 64150 },
- { 0x6444, 64152 },
- { 0x6445, 64154 },
- { 0x6446, 64156 },
- { 0x6447, 64158 },
- { 0x6448, 64160 },
- { 0x6449, 64162 },
- { 0x644A, 64164 },
- { 0x644B, 64166 },
- { 0x644C, 64168 },
- { 0x644D, 64170 },
- { 0x644E, 64172 },
- { 0x644F, 64174 },
- { 0x6450, 64176 },
- { 0x6451, 64178 },
- { 0x6452, 64180 },
- { 0x6453, 64182 },
- { 0x6454, 64184 },
- { 0x6455, 64186 },
- { 0x6456, 64188 },
- { 0x6457, 64190 },
- { 0x6458, 64192 },
- { 0x6459, 64194 },
- { 0x645A, 64196 },
- { 0x645B, 64198 },
- { 0x645C, 64200 },
- { 0x645D, 64202 },
- { 0x645E, 64204 },
- { 0x645F, 64206 },
- { 0x6460, 64208 },
- { 0x6461, 64210 },
- { 0x6462, 64212 },
- { 0x6463, 64214 },
- { 0x6464, 64216 },
- { 0x6465, 64218 },
- { 0x6466, 64220 },
- { 0x6467, 64222 },
- { 0x6468, 64224 },
- { 0x6469, 64226 },
- { 0x646A, 64228 },
- { 0x646B, 64230 },
- { 0x646C, 64232 },
- { 0x646D, 64234 },
- { 0x646E, 64236 },
- { 0x646F, 64238 },
- { 0x6470, 64240 },
- { 0x6471, 64242 },
- { 0x6472, 64244 },
- { 0x6473, 64246 },
- { 0x6474, 64248 },
- { 0x6475, 64250 },
- { 0x6476, 64252 },
- { 0x6477, 64254 },
- { 0x6478, 64256 },
- { 0x6479, 64258 },
- { 0x647A, 64260 },
- { 0x647B, 64262 },
- { 0x647C, 64264 },
- { 0x647D, 64266 },
- { 0x647E, 64268 },
- { 0x647F, 64270 },
- { 0x6480, 64272 },
- { 0x6481, 64274 },
- { 0x6482, 64276 },
- { 0x6483, 64278 },
- { 0x6484, 64280 },
- { 0x6485, 64282 },
- { 0x6486, 64284 },
- { 0x6487, 64286 },
- { 0x6488, 64288 },
- { 0x6489, 64290 },
- { 0x648A, 64292 },
- { 0x648B, 64294 },
- { 0x648C, 64296 },
- { 0x648D, 64298 },
- { 0x648E, 64300 },
- { 0x648F, 64302 },
- { 0x6490, 64304 },
- { 0x6491, 64306 },
- { 0x6492, 64308 },
- { 0x6493, 64310 },
- { 0x6494, 64312 },
- { 0x6495, 64314 },
- { 0x6496, 64316 },
- { 0x6497, 64318 },
- { 0x6498, 64320 },
- { 0x6499, 64322 },
- { 0x649A, 64324 },
- { 0x649B, 64326 },
- { 0x649C, 64328 },
- { 0x649D, 64330 },
- { 0x649E, 64332 },
- { 0x649F, 64334 },
- { 0x64A0, 64336 },
- { 0x64A1, 64338 },
- { 0x64A2, 64340 },
- { 0x64A3, 64342 },
- { 0x64A4, 64344 },
- { 0x64A5, 64346 },
- { 0x64A6, 64348 },
- { 0x64A7, 64350 },
- { 0x64A8, 64352 },
- { 0x64A9, 64354 },
- { 0x64AA, 64356 },
- { 0x64AB, 64358 },
- { 0x64AC, 64360 },
- { 0x64AD, 64362 },
- { 0x64AE, 64364 },
- { 0x64AF, 64366 },
- { 0x64B0, 64368 },
- { 0x64B1, 64370 },
- { 0x64B2, 64372 },
- { 0x64B3, 64374 },
- { 0x64B4, 64376 },
- { 0x64B5, 64378 },
- { 0x64B6, 64380 },
- { 0x64B7, 64382 },
- { 0x64B8, 64384 },
- { 0x64B9, 64386 },
- { 0x64BA, 64388 },
- { 0x64BB, 64390 },
- { 0x64BC, 64392 },
- { 0x64BD, 64394 },
- { 0x64BE, 64396 },
- { 0x64BF, 64398 },
- { 0x64C0, 64400 },
- { 0x64C1, 64402 },
- { 0x64C2, 64404 },
- { 0x64C3, 64406 },
- { 0x64C4, 64408 },
- { 0x64C5, 64410 },
- { 0x64C6, 64412 },
- { 0x64C7, 64414 },
- { 0x64C8, 64416 },
- { 0x64C9, 64418 },
- { 0x64CA, 64420 },
- { 0x64CB, 64422 },
- { 0x64CC, 64424 },
- { 0x64CD, 64426 },
- { 0x64CE, 64428 },
- { 0x64CF, 64430 },
- { 0x64D0, 64432 },
- { 0x64D1, 64434 },
- { 0x64D2, 64436 },
- { 0x64D3, 64438 },
- { 0x64D4, 64440 },
- { 0x64D5, 64442 },
- { 0x64D6, 64444 },
- { 0x64D7, 64446 },
- { 0x64D8, 64448 },
- { 0x64D9, 64450 },
- { 0x64DA, 64452 },
- { 0x64DB, 64454 },
- { 0x64DC, 64456 },
- { 0x64DD, 64458 },
- { 0x64DE, 64460 },
- { 0x64DF, 64462 },
- { 0x64E0, 64464 },
- { 0x64E1, 64466 },
- { 0x64E2, 64468 },
- { 0x64E3, 64470 },
- { 0x64E4, 64472 },
- { 0x64E5, 64474 },
- { 0x64E6, 64476 },
- { 0x64E7, 64478 },
- { 0x64E8, 64480 },
- { 0x64E9, 64482 },
- { 0x64EA, 64484 },
- { 0x64EB, 64486 },
- { 0x64EC, 64488 },
- { 0x64ED, 64490 },
- { 0x64EE, 64492 },
- { 0x64EF, 64494 },
- { 0x64F0, 64496 },
- { 0x64F1, 64498 },
- { 0x64F2, 64500 },
- { 0x64F3, 64502 },
- { 0x64F4, 64504 },
- { 0x64F5, 64506 },
- { 0x64F6, 64508 },
- { 0x64F7, 64510 },
- { 0x64F8, 64512 },
- { 0x64F9, 64514 },
- { 0x64FA, 64516 },
- { 0x64FB, 64518 },
- { 0x64FC, 64520 },
- { 0x64FD, 64522 },
- { 0x64FE, 64524 },
- { 0x64FF, 64526 },
- { 0x6500, 64528 },
- { 0x6501, 64530 },
- { 0x6502, 64532 },
- { 0x6503, 64534 },
- { 0x6504, 64536 },
- { 0x6505, 64538 },
- { 0x6506, 64540 },
- { 0x6507, 64542 },
- { 0x6508, 64544 },
- { 0x6509, 64546 },
- { 0x650A, 64548 },
- { 0x650B, 64550 },
- { 0x650C, 64552 },
- { 0x650D, 64554 },
- { 0x650E, 64556 },
- { 0x650F, 64558 },
- { 0x6510, 64560 },
- { 0x6511, 64562 },
- { 0x6512, 64564 },
- { 0x6513, 64566 },
- { 0x6514, 64568 },
- { 0x6515, 64570 },
- { 0x6516, 64572 },
- { 0x6517, 64574 },
- { 0x6518, 64576 },
- { 0x6519, 64578 },
- { 0x651A, 64580 },
- { 0x651B, 64582 },
- { 0x651C, 64584 },
- { 0x651D, 64586 },
- { 0x651E, 64588 },
- { 0x651F, 64590 },
- { 0x6520, 64592 },
- { 0x6521, 64594 },
- { 0x6522, 64596 },
- { 0x6523, 64598 },
- { 0x6524, 64600 },
- { 0x6525, 64602 },
- { 0x6526, 64604 },
- { 0x6527, 64606 },
- { 0x6528, 64608 },
- { 0x6529, 64610 },
- { 0x652A, 64612 },
- { 0x652B, 64614 },
- { 0x652C, 64616 },
- { 0x652D, 64618 },
- { 0x652E, 64620 },
- { 0x652F, 64622 },
- { 0x6530, 64624 },
- { 0x6531, 64626 },
- { 0x6532, 64628 },
- { 0x6533, 64630 },
- { 0x6534, 64632 },
- { 0x6535, 64634 },
- { 0x6536, 64636 },
- { 0x6537, 64638 },
- { 0x6538, 64640 },
- { 0x6539, 64642 },
- { 0x653A, 64644 },
- { 0x653B, 64646 },
- { 0x653C, 64648 },
- { 0x653D, 64650 },
- { 0x653E, 64652 },
- { 0x653F, 64654 },
- { 0x6540, 64656 },
- { 0x6541, 64658 },
- { 0x6542, 64660 },
- { 0x6543, 64662 },
- { 0x6544, 64664 },
- { 0x6545, 64666 },
- { 0x6546, 64668 },
- { 0x6547, 64670 },
- { 0x6548, 64672 },
- { 0x6549, 64674 },
- { 0x654A, 64676 },
- { 0x654B, 64678 },
- { 0x654C, 64680 },
- { 0x654D, 64682 },
- { 0x654E, 64684 },
- { 0x654F, 64686 },
- { 0x6550, 64688 },
- { 0x6551, 64690 },
- { 0x6552, 64692 },
- { 0x6553, 64694 },
- { 0x6554, 64696 },
- { 0x6555, 64698 },
- { 0x6556, 64700 },
- { 0x6557, 64702 },
- { 0x6558, 64704 },
- { 0x6559, 64706 },
- { 0x655A, 64708 },
- { 0x655B, 64710 },
- { 0x655C, 64712 },
- { 0x655D, 64714 },
- { 0x655E, 64716 },
- { 0x655F, 64718 },
- { 0x6560, 64720 },
- { 0x6561, 64722 },
- { 0x6562, 64724 },
- { 0x6563, 64726 },
- { 0x6564, 64728 },
- { 0x6565, 64730 },
- { 0x6566, 64732 },
- { 0x6567, 64734 },
- { 0x6568, 64736 },
- { 0x6569, 64738 },
- { 0x656A, 64740 },
- { 0x656B, 64742 },
- { 0x656C, 64744 },
- { 0x656D, 64746 },
- { 0x656E, 64748 },
- { 0x656F, 64750 },
- { 0x6570, 64752 },
- { 0x6571, 64754 },
- { 0x6572, 64756 },
- { 0x6573, 64758 },
- { 0x6574, 64760 },
- { 0x6575, 64762 },
- { 0x6576, 64764 },
- { 0x6577, 64766 },
- { 0x6578, 64768 },
- { 0x6579, 64770 },
- { 0x657A, 64772 },
- { 0x657B, 64774 },
- { 0x657C, 64776 },
- { 0x657D, 64778 },
- { 0x657E, 64780 },
- { 0x657F, 64782 },
- { 0x6580, 64784 },
- { 0x6581, 64786 },
- { 0x6582, 64788 },
- { 0x6583, 64790 },
- { 0x6584, 64792 },
- { 0x6585, 64794 },
- { 0x6586, 64796 },
- { 0x6587, 64798 },
- { 0x6588, 64800 },
- { 0x6589, 64802 },
- { 0x658A, 64804 },
- { 0x658B, 64806 },
- { 0x658C, 64808 },
- { 0x658D, 64810 },
- { 0x658E, 64812 },
- { 0x658F, 64814 },
- { 0x6590, 64816 },
- { 0x6591, 64818 },
- { 0x6592, 64820 },
- { 0x6593, 64822 },
- { 0x6594, 64824 },
- { 0x6595, 64826 },
- { 0x6596, 64828 },
- { 0x6597, 64830 },
- { 0x6598, 64832 },
- { 0x6599, 64834 },
- { 0x659A, 64836 },
- { 0x659B, 64838 },
- { 0x659C, 64840 },
- { 0x659D, 64842 },
- { 0x659E, 64844 },
- { 0x659F, 64846 },
- { 0x65A0, 64848 },
- { 0x65A1, 64850 },
- { 0x65A2, 64852 },
- { 0x65A3, 64854 },
- { 0x65A4, 64856 },
- { 0x65A5, 64858 },
- { 0x65A6, 64860 },
- { 0x65A7, 64862 },
- { 0x65A8, 64864 },
- { 0x65A9, 64866 },
- { 0x65AA, 64868 },
- { 0x65AB, 64870 },
- { 0x65AC, 64872 },
- { 0x65AD, 64874 },
- { 0x65AE, 64876 },
- { 0x65AF, 64878 },
- { 0x65B0, 64880 },
- { 0x65B1, 64882 },
- { 0x65B2, 64884 },
- { 0x65B3, 64886 },
- { 0x65B4, 64888 },
- { 0x65B5, 64890 },
- { 0x65B6, 64892 },
- { 0x65B7, 64894 },
- { 0x65B8, 64896 },
- { 0x65B9, 64898 },
- { 0x65BA, 64900 },
- { 0x65BB, 64902 },
- { 0x65BC, 64904 },
- { 0x65BD, 64906 },
- { 0x65BE, 64908 },
- { 0x65BF, 64910 },
- { 0x65C0, 64912 },
- { 0x65C1, 64914 },
- { 0x65C2, 64916 },
- { 0x65C3, 64918 },
- { 0x65C4, 64920 },
- { 0x65C5, 64922 },
- { 0x65C6, 64924 },
- { 0x65C7, 64926 },
- { 0x65C8, 64928 },
- { 0x65C9, 64930 },
- { 0x65CA, 64932 },
- { 0x65CB, 64934 },
- { 0x65CC, 64936 },
- { 0x65CD, 64938 },
- { 0x65CE, 64940 },
- { 0x65CF, 64942 },
- { 0x65D0, 64944 },
- { 0x65D1, 64946 },
- { 0x65D2, 64948 },
- { 0x65D3, 64950 },
- { 0x65D4, 64952 },
- { 0x65D5, 64954 },
- { 0x65D6, 64956 },
- { 0x65D7, 64958 },
- { 0x65D8, 64960 },
- { 0x65D9, 64962 },
- { 0x65DA, 64964 },
- { 0x65DB, 64966 },
- { 0x65DC, 64968 },
- { 0x65DD, 64970 },
- { 0x65DE, 64972 },
- { 0x65DF, 64974 },
- { 0x65E0, 64976 },
- { 0x65E1, 64978 },
- { 0x65E2, 64980 },
- { 0x65E3, 64982 },
- { 0x65E4, 64984 },
+ { 0x81CC, 63175 },
+ { 0x6147, 63176 },
+ { 0x614C, 63179 },
+ { 0x6148, 63182 },
+ { 0x614B, 63185 },
+ { 0x614A, 63188 },
+ { 0x614F, 63191 },
+ { 0x6146, 63194 },
+ { 0x614E, 63197 },
+ { 0x614D, 63200 },
+ { 0x6149, 63203 },
+ { 0x60FC, 63206 },
+ { 0x60FD, 63209 },
+ { 0x60FE, 63212 },
+ { 0x60FB, 63215 },
+ { 0x6131, 63218 },
+ { 0x613C, 63221 },
+ { 0x6138, 63224 },
+ { 0x6104, 63227 },
+ { 0x6105, 63230 },
+ { 0x6106, 63233 },
+ { 0x6103, 63236 },
+ { 0x6142, 63239 },
+ { 0x6129, 63242 },
+ { 0x6134, 63245 },
+ { 0x6108, 63248 },
+ { 0x6109, 63251 },
+ { 0x610A, 63254 },
+ { 0x6107, 63257 },
+ { 0x6127, 63260 },
+ { 0x6135, 63263 },
+ { 0x6132, 63266 },
+ { 0x6124, 63269 },
+ { 0x6125, 63272 },
+ { 0x6126, 63275 },
+ { 0x6123, 63278 },
+ { 0x6133, 63281 },
+ { 0x60F8, 63284 },
+ { 0x60F9, 63287 },
+ { 0x60FA, 63290 },
+ { 0x60F7, 63293 },
+ { 0x612E, 63296 },
+ { 0x6139, 63299 },
+ { 0x612B, 63302 },
+ { 0x6137, 63305 },
+ { 0x610C, 63308 },
+ { 0x610D, 63311 },
+ { 0x610E, 63314 },
+ { 0x610B, 63317 },
+ { 0x6100, 63320 },
+ { 0x6101, 63323 },
+ { 0x6102, 63326 },
+ { 0x60FF, 63329 },
+ { 0x612D, 63332 },
+ { 0x6141, 63335 },
+ { 0x612C, 63338 },
+ { 0x6145, 63341 },
+ { 0x6110, 63344 },
+ { 0x6111, 63347 },
+ { 0x6112, 63350 },
+ { 0x610F, 63353 },
+ { 0x6144, 63356 },
+ { 0x6143, 63359 },
+ { 0x613E, 63362 },
+ { 0x6136, 63365 },
+ { 0x6128, 63368 },
+ { 0x612A, 63371 },
+ { 0x613A, 63374 },
+ { 0x612F, 63377 },
+ { 0x6130, 63380 },
+ { 0x613B, 63383 },
+ { 0x6140, 63386 },
+ { 0x613D, 63389 },
+ { 0x611B, 63392 },
+ { 0x611D, 63395 },
+ { 0x611E, 63398 },
+ { 0x611C, 63401 },
+ { 0x6114, 63404 },
+ { 0x6115, 63407 },
+ { 0x6116, 63410 },
+ { 0x6113, 63413 },
+ { 0x613F, 63416 },
+ { 0x6118, 63419 },
+ { 0x6120, 63423 },
+ { 0x6121, 63426 },
+ { 0x6122, 63429 },
+ { 0x611F, 63432 },
+ { 0x6117, 63435 },
+ { 0x611A, 63439 },
+ { 0x6119, 63443 },
+ { 0x62E3, 63447 },
+ { 0x62EA, 63450 },
+ { 0x62EB, 63452 },
+ { 0x62EC, 63454 },
+ { 0x62ED, 63456 },
+ { 0x62EE, 63458 },
+ { 0x62EF, 63460 },
+ { 0x62F0, 63462 },
+ { 0x62F1, 63464 },
+ { 0x62F2, 63466 },
+ { 0x62F3, 63468 },
+ { 0x62F4, 63470 },
+ { 0x62F5, 63472 },
+ { 0x62F6, 63474 },
+ { 0x62F7, 63476 },
+ { 0x62F8, 63478 },
+ { 0x62F9, 63480 },
+ { 0x62FA, 63482 },
+ { 0x62FB, 63484 },
+ { 0x62FC, 63486 },
+ { 0x62FD, 63488 },
+ { 0x62FE, 63490 },
+ { 0x62FF, 63492 },
+ { 0x6300, 63494 },
+ { 0x6301, 63496 },
+ { 0x6302, 63498 },
+ { 0x6303, 63500 },
+ { 0x6304, 63502 },
+ { 0x6305, 63504 },
+ { 0x6306, 63506 },
+ { 0x6307, 63508 },
+ { 0x6308, 63510 },
+ { 0x6309, 63512 },
+ { 0x630A, 63514 },
+ { 0x630B, 63516 },
+ { 0x630C, 63518 },
+ { 0x630D, 63520 },
+ { 0x630E, 63522 },
+ { 0x630F, 63524 },
+ { 0x6310, 63526 },
+ { 0x6311, 63528 },
+ { 0x6312, 63530 },
+ { 0x6313, 63532 },
+ { 0x6314, 63534 },
+ { 0x6315, 63536 },
+ { 0x6316, 63538 },
+ { 0x6317, 63540 },
+ { 0x6318, 63542 },
+ { 0x6319, 63544 },
+ { 0x631A, 63546 },
+ { 0x631B, 63548 },
+ { 0x631C, 63550 },
+ { 0x631D, 63552 },
+ { 0x631E, 63554 },
+ { 0x631F, 63556 },
+ { 0x6320, 63558 },
+ { 0x6321, 63560 },
+ { 0x6322, 63562 },
+ { 0x6323, 63564 },
+ { 0x6324, 63566 },
+ { 0x6325, 63568 },
+ { 0x6326, 63570 },
+ { 0x6327, 63572 },
+ { 0x6328, 63574 },
+ { 0x6329, 63576 },
+ { 0x632A, 63578 },
+ { 0x632B, 63580 },
+ { 0x632C, 63582 },
+ { 0x632D, 63584 },
+ { 0x632E, 63586 },
+ { 0x632F, 63588 },
+ { 0x6330, 63590 },
+ { 0x6331, 63592 },
+ { 0x6332, 63594 },
+ { 0x6333, 63596 },
+ { 0x6334, 63598 },
+ { 0x6335, 63600 },
+ { 0x6336, 63602 },
+ { 0x6337, 63604 },
+ { 0x6338, 63606 },
+ { 0x6339, 63608 },
+ { 0x633A, 63610 },
+ { 0x633B, 63612 },
+ { 0x633C, 63614 },
+ { 0x633D, 63616 },
+ { 0x633E, 63618 },
+ { 0x633F, 63620 },
+ { 0x6340, 63622 },
+ { 0x6341, 63624 },
+ { 0x6342, 63626 },
+ { 0x6343, 63628 },
+ { 0x6344, 63630 },
+ { 0x6345, 63632 },
+ { 0x6346, 63634 },
+ { 0x6347, 63636 },
+ { 0x6348, 63638 },
+ { 0x6349, 63640 },
+ { 0x634A, 63642 },
+ { 0x634B, 63644 },
+ { 0x634C, 63646 },
+ { 0x634D, 63648 },
+ { 0x634E, 63650 },
+ { 0x634F, 63652 },
+ { 0x6350, 63654 },
+ { 0x6351, 63656 },
+ { 0x6352, 63658 },
+ { 0x6353, 63660 },
+ { 0x6354, 63662 },
+ { 0x6355, 63664 },
+ { 0x6356, 63666 },
+ { 0x6357, 63668 },
+ { 0x6358, 63670 },
+ { 0x6359, 63672 },
+ { 0x635A, 63674 },
+ { 0x635B, 63676 },
+ { 0x635C, 63678 },
+ { 0x635D, 63680 },
+ { 0x635E, 63682 },
+ { 0x635F, 63684 },
+ { 0x6360, 63686 },
+ { 0x6361, 63688 },
+ { 0x6362, 63690 },
+ { 0x6363, 63692 },
+ { 0x6364, 63694 },
+ { 0x6365, 63696 },
+ { 0x6366, 63698 },
+ { 0x6367, 63700 },
+ { 0x6368, 63702 },
+ { 0x6369, 63704 },
+ { 0x636A, 63706 },
+ { 0x636B, 63708 },
+ { 0x636C, 63710 },
+ { 0x636D, 63712 },
+ { 0x636E, 63714 },
+ { 0x636F, 63716 },
+ { 0x6370, 63718 },
+ { 0x6371, 63720 },
+ { 0x6372, 63722 },
+ { 0x6373, 63724 },
+ { 0x6374, 63726 },
+ { 0x6375, 63728 },
+ { 0x6376, 63730 },
+ { 0x6377, 63732 },
+ { 0x6378, 63734 },
+ { 0x6379, 63736 },
+ { 0x637A, 63738 },
+ { 0x637B, 63740 },
+ { 0x637C, 63742 },
+ { 0x637D, 63744 },
+ { 0x637E, 63746 },
+ { 0x637F, 63748 },
+ { 0x6380, 63750 },
+ { 0x6381, 63752 },
+ { 0x6382, 63754 },
+ { 0x6383, 63756 },
+ { 0x6384, 63758 },
+ { 0x6385, 63760 },
+ { 0x6386, 63762 },
+ { 0x6387, 63764 },
+ { 0x6388, 63766 },
+ { 0x6389, 63768 },
+ { 0x638A, 63770 },
+ { 0x638B, 63772 },
+ { 0x638C, 63774 },
+ { 0x638D, 63776 },
+ { 0x638E, 63778 },
+ { 0x638F, 63780 },
+ { 0x6390, 63782 },
+ { 0x6391, 63784 },
+ { 0x6392, 63786 },
+ { 0x6393, 63788 },
+ { 0x6394, 63790 },
+ { 0x6395, 63792 },
+ { 0x6396, 63794 },
+ { 0x6397, 63796 },
+ { 0x6398, 63798 },
+ { 0x6399, 63800 },
+ { 0x639A, 63802 },
+ { 0x639B, 63804 },
+ { 0x639C, 63806 },
+ { 0x639D, 63808 },
+ { 0x639E, 63810 },
+ { 0x639F, 63812 },
+ { 0x63A0, 63814 },
+ { 0x63A1, 63816 },
+ { 0x63A2, 63818 },
+ { 0x63A3, 63820 },
+ { 0x63A4, 63822 },
+ { 0x63A5, 63824 },
+ { 0x63A6, 63826 },
+ { 0x63A7, 63828 },
+ { 0x63A8, 63830 },
+ { 0x63A9, 63832 },
+ { 0x63AA, 63834 },
+ { 0x63AB, 63836 },
+ { 0x63AC, 63838 },
+ { 0x63AD, 63840 },
+ { 0x63AE, 63842 },
+ { 0x63AF, 63844 },
+ { 0x63B0, 63846 },
+ { 0x63B1, 63848 },
+ { 0x63B2, 63850 },
+ { 0x63B3, 63852 },
+ { 0x63B4, 63854 },
+ { 0x63B5, 63856 },
+ { 0x63B6, 63858 },
+ { 0x63B7, 63860 },
+ { 0x63B8, 63862 },
+ { 0x63B9, 63864 },
+ { 0x63BA, 63866 },
+ { 0x63BB, 63868 },
+ { 0x63BC, 63870 },
+ { 0x63BD, 63872 },
+ { 0x63BE, 63874 },
+ { 0x63BF, 63876 },
+ { 0x63C0, 63878 },
+ { 0x63C1, 63880 },
+ { 0x63C2, 63882 },
+ { 0x63C3, 63884 },
+ { 0x63C4, 63886 },
+ { 0x63C5, 63888 },
+ { 0x63C6, 63890 },
+ { 0x63C7, 63892 },
+ { 0x63C8, 63894 },
+ { 0x63C9, 63896 },
+ { 0x63CA, 63898 },
+ { 0x63CB, 63900 },
+ { 0x63CC, 63902 },
+ { 0x63CD, 63904 },
+ { 0x63CE, 63906 },
+ { 0x63CF, 63908 },
+ { 0x63D0, 63910 },
+ { 0x63D1, 63912 },
+ { 0x63D2, 63914 },
+ { 0x63D3, 63916 },
+ { 0x63D4, 63918 },
+ { 0x63D5, 63920 },
+ { 0x63D6, 63922 },
+ { 0x63D7, 63924 },
+ { 0x63D8, 63926 },
+ { 0x63D9, 63928 },
+ { 0x63DA, 63930 },
+ { 0x63DB, 63932 },
+ { 0x63DC, 63934 },
+ { 0x63DD, 63936 },
+ { 0x63DE, 63938 },
+ { 0x63DF, 63940 },
+ { 0x63E0, 63942 },
+ { 0x63E1, 63944 },
+ { 0x63E2, 63946 },
+ { 0x63E3, 63948 },
+ { 0x63E4, 63950 },
+ { 0x63E5, 63952 },
+ { 0x63E6, 63954 },
+ { 0x63E7, 63956 },
+ { 0x63E8, 63958 },
+ { 0x63E9, 63960 },
+ { 0x63EA, 63962 },
+ { 0x63EB, 63964 },
+ { 0x63EC, 63966 },
+ { 0x63ED, 63968 },
+ { 0x63EE, 63970 },
+ { 0x63EF, 63972 },
+ { 0x63F0, 63974 },
+ { 0x63F1, 63976 },
+ { 0x63F2, 63978 },
+ { 0x63F3, 63980 },
+ { 0x63F4, 63982 },
+ { 0x63F5, 63984 },
+ { 0x63F6, 63986 },
+ { 0x63F7, 63988 },
+ { 0x63F8, 63990 },
+ { 0x63F9, 63992 },
+ { 0x63FA, 63994 },
+ { 0x63FB, 63996 },
+ { 0x63FC, 63998 },
+ { 0x63FD, 64000 },
+ { 0x63FE, 64002 },
+ { 0x63FF, 64004 },
+ { 0x6400, 64006 },
+ { 0x6401, 64008 },
+ { 0x6402, 64010 },
+ { 0x6403, 64012 },
+ { 0x6404, 64014 },
+ { 0x6405, 64016 },
+ { 0x6406, 64018 },
+ { 0x6407, 64020 },
+ { 0x6408, 64022 },
+ { 0x6409, 64024 },
+ { 0x640A, 64026 },
+ { 0x640B, 64028 },
+ { 0x640C, 64030 },
+ { 0x640D, 64032 },
+ { 0x640E, 64034 },
+ { 0x640F, 64036 },
+ { 0x6410, 64038 },
+ { 0x6411, 64040 },
+ { 0x6412, 64042 },
+ { 0x6413, 64044 },
+ { 0x6414, 64046 },
+ { 0x6415, 64048 },
+ { 0x6416, 64050 },
+ { 0x6417, 64052 },
+ { 0x6418, 64054 },
+ { 0x6419, 64056 },
+ { 0x641A, 64058 },
+ { 0x641B, 64060 },
+ { 0x641C, 64062 },
+ { 0x641D, 64064 },
+ { 0x641E, 64066 },
+ { 0x641F, 64068 },
+ { 0x6420, 64070 },
+ { 0x6421, 64072 },
+ { 0x6422, 64074 },
+ { 0x6423, 64076 },
+ { 0x6424, 64078 },
+ { 0x6425, 64080 },
+ { 0x6426, 64082 },
+ { 0x6427, 64084 },
+ { 0x6428, 64086 },
+ { 0x6429, 64088 },
+ { 0x642A, 64090 },
+ { 0x642B, 64092 },
+ { 0x642C, 64094 },
+ { 0x642D, 64096 },
+ { 0x642E, 64098 },
+ { 0x642F, 64100 },
+ { 0x6430, 64102 },
+ { 0x6431, 64104 },
+ { 0x6432, 64106 },
+ { 0x6433, 64108 },
+ { 0x6434, 64110 },
+ { 0x6435, 64112 },
+ { 0x6436, 64114 },
+ { 0x6437, 64116 },
+ { 0x6438, 64118 },
+ { 0x6439, 64120 },
+ { 0x643A, 64122 },
+ { 0x643B, 64124 },
+ { 0x643C, 64126 },
+ { 0x643D, 64128 },
+ { 0x643E, 64130 },
+ { 0x643F, 64132 },
+ { 0x6440, 64134 },
+ { 0x6441, 64136 },
+ { 0x6442, 64138 },
+ { 0x6443, 64140 },
+ { 0x6444, 64142 },
+ { 0x6445, 64144 },
+ { 0x6446, 64146 },
+ { 0x6447, 64148 },
+ { 0x6448, 64150 },
+ { 0x6449, 64152 },
+ { 0x644A, 64154 },
+ { 0x644B, 64156 },
+ { 0x644C, 64158 },
+ { 0x644D, 64160 },
+ { 0x644E, 64162 },
+ { 0x644F, 64164 },
+ { 0x6450, 64166 },
+ { 0x6451, 64168 },
+ { 0x6452, 64170 },
+ { 0x6453, 64172 },
+ { 0x6454, 64174 },
+ { 0x6455, 64176 },
+ { 0x6456, 64178 },
+ { 0x6457, 64180 },
+ { 0x6458, 64182 },
+ { 0x6459, 64184 },
+ { 0x645A, 64186 },
+ { 0x645B, 64188 },
+ { 0x645C, 64190 },
+ { 0x645D, 64192 },
+ { 0x645E, 64194 },
+ { 0x645F, 64196 },
+ { 0x6460, 64198 },
+ { 0x6461, 64200 },
+ { 0x6462, 64202 },
+ { 0x6463, 64204 },
+ { 0x6464, 64206 },
+ { 0x6465, 64208 },
+ { 0x6466, 64210 },
+ { 0x6467, 64212 },
+ { 0x6468, 64214 },
+ { 0x6469, 64216 },
+ { 0x646A, 64218 },
+ { 0x646B, 64220 },
+ { 0x646C, 64222 },
+ { 0x646D, 64224 },
+ { 0x646E, 64226 },
+ { 0x646F, 64228 },
+ { 0x6470, 64230 },
+ { 0x6471, 64232 },
+ { 0x6472, 64234 },
+ { 0x6473, 64236 },
+ { 0x6474, 64238 },
+ { 0x6475, 64240 },
+ { 0x6476, 64242 },
+ { 0x6477, 64244 },
+ { 0x6478, 64246 },
+ { 0x6479, 64248 },
+ { 0x647A, 64250 },
+ { 0x647B, 64252 },
+ { 0x647C, 64254 },
+ { 0x647D, 64256 },
+ { 0x647E, 64258 },
+ { 0x647F, 64260 },
+ { 0x6480, 64262 },
+ { 0x6481, 64264 },
+ { 0x6482, 64266 },
+ { 0x6483, 64268 },
+ { 0x6484, 64270 },
+ { 0x6485, 64272 },
+ { 0x6486, 64274 },
+ { 0x6487, 64276 },
+ { 0x6488, 64278 },
+ { 0x6489, 64280 },
+ { 0x648A, 64282 },
+ { 0x648B, 64284 },
+ { 0x648C, 64286 },
+ { 0x648D, 64288 },
+ { 0x648E, 64290 },
+ { 0x648F, 64292 },
+ { 0x6490, 64294 },
+ { 0x6491, 64296 },
+ { 0x6492, 64298 },
+ { 0x6493, 64300 },
+ { 0x6494, 64302 },
+ { 0x6495, 64304 },
+ { 0x6496, 64306 },
+ { 0x6497, 64308 },
+ { 0x6498, 64310 },
+ { 0x6499, 64312 },
+ { 0x649A, 64314 },
+ { 0x649B, 64316 },
+ { 0x649C, 64318 },
+ { 0x649D, 64320 },
+ { 0x649E, 64322 },
+ { 0x649F, 64324 },
+ { 0x64A0, 64326 },
+ { 0x64A1, 64328 },
+ { 0x64A2, 64330 },
+ { 0x64A3, 64332 },
+ { 0x64A4, 64334 },
+ { 0x64A5, 64336 },
+ { 0x64A6, 64338 },
+ { 0x64A7, 64340 },
+ { 0x64A8, 64342 },
+ { 0x64A9, 64344 },
+ { 0x64AA, 64346 },
+ { 0x64AB, 64348 },
+ { 0x64AC, 64350 },
+ { 0x64AD, 64352 },
+ { 0x64AE, 64354 },
+ { 0x64AF, 64356 },
+ { 0x64B0, 64358 },
+ { 0x64B1, 64360 },
+ { 0x64B2, 64362 },
+ { 0x64B3, 64364 },
+ { 0x64B4, 64366 },
+ { 0x64B5, 64368 },
+ { 0x64B6, 64370 },
+ { 0x64B7, 64372 },
+ { 0x64B8, 64374 },
+ { 0x64B9, 64376 },
+ { 0x64BA, 64378 },
+ { 0x64BB, 64380 },
+ { 0x64BC, 64382 },
+ { 0x64BD, 64384 },
+ { 0x64BE, 64386 },
+ { 0x64BF, 64388 },
+ { 0x64C0, 64390 },
+ { 0x64C1, 64392 },
+ { 0x64C2, 64394 },
+ { 0x64C3, 64396 },
+ { 0x64C4, 64398 },
+ { 0x64C5, 64400 },
+ { 0x64C6, 64402 },
+ { 0x64C7, 64404 },
+ { 0x64C8, 64406 },
+ { 0x64C9, 64408 },
+ { 0x64CA, 64410 },
+ { 0x64CB, 64412 },
+ { 0x64CC, 64414 },
+ { 0x64CD, 64416 },
+ { 0x64CE, 64418 },
+ { 0x64CF, 64420 },
+ { 0x64D0, 64422 },
+ { 0x64D1, 64424 },
+ { 0x64D2, 64426 },
+ { 0x64D3, 64428 },
+ { 0x64D4, 64430 },
+ { 0x64D5, 64432 },
+ { 0x64D6, 64434 },
+ { 0x64D7, 64436 },
+ { 0x64D8, 64438 },
+ { 0x64D9, 64440 },
+ { 0x64DA, 64442 },
+ { 0x64DB, 64444 },
+ { 0x64DC, 64446 },
+ { 0x64DD, 64448 },
+ { 0x64DE, 64450 },
+ { 0x64DF, 64452 },
+ { 0x64E0, 64454 },
+ { 0x64E1, 64456 },
+ { 0x64E2, 64458 },
+ { 0x64E3, 64460 },
+ { 0x64E4, 64462 },
+ { 0x64E5, 64464 },
+ { 0x64E6, 64466 },
+ { 0x64E7, 64468 },
+ { 0x64E8, 64470 },
+ { 0x64E9, 64472 },
+ { 0x64EA, 64474 },
+ { 0x64EB, 64476 },
+ { 0x64EC, 64478 },
+ { 0x64ED, 64480 },
+ { 0x64EE, 64482 },
+ { 0x64EF, 64484 },
+ { 0x64F0, 64486 },
+ { 0x64F1, 64488 },
+ { 0x64F2, 64490 },
+ { 0x64F3, 64492 },
+ { 0x64F4, 64494 },
+ { 0x64F5, 64496 },
+ { 0x64F6, 64498 },
+ { 0x64F7, 64500 },
+ { 0x64F8, 64502 },
+ { 0x64F9, 64504 },
+ { 0x64FA, 64506 },
+ { 0x64FB, 64508 },
+ { 0x64FC, 64510 },
+ { 0x64FD, 64512 },
+ { 0x64FE, 64514 },
+ { 0x64FF, 64516 },
+ { 0x6500, 64518 },
+ { 0x6501, 64520 },
+ { 0x6502, 64522 },
+ { 0x6503, 64524 },
+ { 0x6504, 64526 },
+ { 0x6505, 64528 },
+ { 0x6506, 64530 },
+ { 0x6507, 64532 },
+ { 0x6508, 64534 },
+ { 0x6509, 64536 },
+ { 0x650A, 64538 },
+ { 0x650B, 64540 },
+ { 0x650C, 64542 },
+ { 0x650D, 64544 },
+ { 0x650E, 64546 },
+ { 0x650F, 64548 },
+ { 0x6510, 64550 },
+ { 0x6511, 64552 },
+ { 0x6512, 64554 },
+ { 0x6513, 64556 },
+ { 0x6514, 64558 },
+ { 0x6515, 64560 },
+ { 0x6516, 64562 },
+ { 0x6517, 64564 },
+ { 0x6518, 64566 },
+ { 0x6519, 64568 },
+ { 0x651A, 64570 },
+ { 0x651B, 64572 },
+ { 0x651C, 64574 },
+ { 0x651D, 64576 },
+ { 0x651E, 64578 },
+ { 0x651F, 64580 },
+ { 0x6520, 64582 },
+ { 0x6521, 64584 },
+ { 0x6522, 64586 },
+ { 0x6523, 64588 },
+ { 0x6524, 64590 },
+ { 0x6525, 64592 },
+ { 0x6526, 64594 },
+ { 0x6527, 64596 },
+ { 0x6528, 64598 },
+ { 0x6529, 64600 },
+ { 0x652A, 64602 },
+ { 0x652B, 64604 },
+ { 0x652C, 64606 },
+ { 0x652D, 64608 },
+ { 0x652E, 64610 },
+ { 0x652F, 64612 },
+ { 0x6530, 64614 },
+ { 0x6531, 64616 },
+ { 0x6532, 64618 },
+ { 0x6533, 64620 },
+ { 0x6534, 64622 },
+ { 0x6535, 64624 },
+ { 0x6536, 64626 },
+ { 0x6537, 64628 },
+ { 0x6538, 64630 },
+ { 0x6539, 64632 },
+ { 0x653A, 64634 },
+ { 0x653B, 64636 },
+ { 0x653C, 64638 },
+ { 0x653D, 64640 },
+ { 0x653E, 64642 },
+ { 0x653F, 64644 },
+ { 0x6540, 64646 },
+ { 0x6541, 64648 },
+ { 0x6542, 64650 },
+ { 0x6543, 64652 },
+ { 0x6544, 64654 },
+ { 0x6545, 64656 },
+ { 0x6546, 64658 },
+ { 0x6547, 64660 },
+ { 0x6548, 64662 },
+ { 0x6549, 64664 },
+ { 0x654A, 64666 },
+ { 0x654B, 64668 },
+ { 0x654C, 64670 },
+ { 0x654D, 64672 },
+ { 0x654E, 64674 },
+ { 0x654F, 64676 },
+ { 0x6550, 64678 },
+ { 0x6551, 64680 },
+ { 0x6552, 64682 },
+ { 0x6553, 64684 },
+ { 0x6554, 64686 },
+ { 0x6555, 64688 },
+ { 0x6556, 64690 },
+ { 0x6557, 64692 },
+ { 0x6558, 64694 },
+ { 0x6559, 64696 },
+ { 0x655A, 64698 },
+ { 0x655B, 64700 },
+ { 0x655C, 64702 },
+ { 0x655D, 64704 },
+ { 0x655E, 64706 },
+ { 0x655F, 64708 },
+ { 0x6560, 64710 },
+ { 0x6561, 64712 },
+ { 0x6562, 64714 },
+ { 0x6563, 64716 },
+ { 0x6564, 64718 },
+ { 0x6565, 64720 },
+ { 0x6566, 64722 },
+ { 0x6567, 64724 },
+ { 0x6568, 64726 },
+ { 0x6569, 64728 },
+ { 0x656A, 64730 },
+ { 0x656B, 64732 },
+ { 0x656C, 64734 },
+ { 0x656D, 64736 },
+ { 0x656E, 64738 },
+ { 0x656F, 64740 },
+ { 0x6570, 64742 },
+ { 0x6571, 64744 },
+ { 0x6572, 64746 },
+ { 0x6573, 64748 },
+ { 0x6574, 64750 },
+ { 0x6575, 64752 },
+ { 0x6576, 64754 },
+ { 0x6577, 64756 },
+ { 0x6578, 64758 },
+ { 0x6579, 64760 },
+ { 0x657A, 64762 },
+ { 0x657B, 64764 },
+ { 0x657C, 64766 },
+ { 0x657D, 64768 },
+ { 0x657E, 64770 },
+ { 0x657F, 64772 },
+ { 0x6580, 64774 },
+ { 0x6581, 64776 },
+ { 0x6582, 64778 },
+ { 0x6583, 64780 },
+ { 0x6584, 64782 },
+ { 0x6585, 64784 },
+ { 0x6586, 64786 },
+ { 0x6587, 64788 },
+ { 0x6588, 64790 },
+ { 0x6589, 64792 },
+ { 0x658A, 64794 },
+ { 0x658B, 64796 },
+ { 0x658C, 64798 },
+ { 0x658D, 64800 },
+ { 0x658E, 64802 },
+ { 0x658F, 64804 },
+ { 0x6590, 64806 },
+ { 0x6591, 64808 },
+ { 0x6592, 64810 },
+ { 0x6593, 64812 },
+ { 0x6594, 64814 },
+ { 0x6595, 64816 },
+ { 0x6596, 64818 },
+ { 0x6597, 64820 },
+ { 0x6598, 64822 },
+ { 0x6599, 64824 },
+ { 0x659A, 64826 },
+ { 0x659B, 64828 },
+ { 0x659C, 64830 },
+ { 0x659D, 64832 },
+ { 0x659E, 64834 },
+ { 0x659F, 64836 },
+ { 0x65A0, 64838 },
+ { 0x65A1, 64840 },
+ { 0x65A2, 64842 },
+ { 0x65A3, 64844 },
+ { 0x65A4, 64846 },
+ { 0x65A5, 64848 },
+ { 0x65A6, 64850 },
+ { 0x65A7, 64852 },
+ { 0x65A8, 64854 },
+ { 0x65A9, 64856 },
+ { 0x65AA, 64858 },
+ { 0x65AB, 64860 },
+ { 0x65AC, 64862 },
+ { 0x65AD, 64864 },
+ { 0x65AE, 64866 },
+ { 0x65AF, 64868 },
+ { 0x65B0, 64870 },
+ { 0x65B1, 64872 },
+ { 0x65B2, 64874 },
+ { 0x65B3, 64876 },
+ { 0x65B4, 64878 },
+ { 0x65B5, 64880 },
+ { 0x65B6, 64882 },
+ { 0x65B7, 64884 },
+ { 0x65B8, 64886 },
+ { 0x65B9, 64888 },
+ { 0x65BA, 64890 },
+ { 0x65BB, 64892 },
+ { 0x65BC, 64894 },
+ { 0x65BD, 64896 },
+ { 0x65BE, 64898 },
+ { 0x65BF, 64900 },
+ { 0x65C0, 64902 },
+ { 0x65C1, 64904 },
+ { 0x65C2, 64906 },
+ { 0x65C3, 64908 },
+ { 0x65C4, 64910 },
+ { 0x65C5, 64912 },
+ { 0x65C6, 64914 },
+ { 0x65C7, 64916 },
+ { 0x65C8, 64918 },
+ { 0x65C9, 64920 },
+ { 0x65CA, 64922 },
+ { 0x65CB, 64924 },
+ { 0x65CC, 64926 },
+ { 0x65CD, 64928 },
+ { 0x65CE, 64930 },
+ { 0x65CF, 64932 },
+ { 0x65D0, 64934 },
+ { 0x65D1, 64936 },
+ { 0x65D2, 64938 },
+ { 0x65D3, 64940 },
+ { 0x65D4, 64942 },
+ { 0x65D5, 64944 },
+ { 0x65D6, 64946 },
+ { 0x65D7, 64948 },
+ { 0x65D8, 64950 },
+ { 0x65D9, 64952 },
+ { 0x65DA, 64954 },
+ { 0x65DB, 64956 },
+ { 0x65DC, 64958 },
+ { 0x65DD, 64960 },
+ { 0x65DE, 64962 },
+ { 0x65DF, 64964 },
+ { 0x65E0, 64966 },
+ { 0x65E1, 64968 },
+ { 0x65E2, 64970 },
+ { 0x65E3, 64972 },
+ { 0x65E4, 64974 },
+ { 0x65E5, 64976 },
+ { 0x65E6, 64978 },
+ { 0x65E7, 64980 },
+ { 0x65E8, 64982 },
+ { 0x65E9, 64984 },
{ 0x226C, 64986 },
- { 0x7B1A, 64987 },
- { 0x81C9, 64990 },
+ { 0x7B1F, 64987 },
+ { 0x81CE, 64990 },
{ 0x0AEA, 64991 },
{ 0x0AD9, 64995 },
{ 0x0B05, 64998 },
@@ -63875,7 +63882,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0AFE, 65335 },
{ 0x0B01, 65344 },
{ 0x0B04, 65353 },
- { 0x7B63, 65362 },
+ { 0x7B68, 65362 },
{ 0x0746, 65366 },
{ 0x0736, 65368 },
{ 0x0737, 65371 },
@@ -63926,12 +63933,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0743, 65499 },
{ 0x0745, 65501 },
{ 0x0741, 65503 },
- { 0x7BF2, 65505 },
- { 0x7BF3, 65508 },
- { 0x7B50, 65511 },
- { 0x7E62, 65512 },
- { 0x7AEA, 65513 },
- { 0x7BEA, 65514 },
+ { 0x7BF7, 65505 },
+ { 0x7BF8, 65508 },
+ { 0x7B55, 65511 },
+ { 0x7E67, 65512 },
+ { 0x7AEF, 65513 },
+ { 0x7BEF, 65514 },
{ 0x261E, 65515 },
{ 0x2719, 65517 },
{ 0x1CAE, 65520 },
@@ -63947,10 +63954,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x25A3, 65554 },
{ 0x268B, 65558 },
{ 0x268C, 65565 },
- { 0x7B6B, 65572 },
+ { 0x7B70, 65572 },
{ 0x1D21, 65573 },
- { 0x8097, 65575 },
- { 0x7D34, 65576 },
+ { 0x809C, 65575 },
+ { 0x7D39, 65576 },
{ 0x1F6A, 65580 },
{ 0x25C5, 65583 },
{ 0x22ED, 65585 },
@@ -63959,11 +63966,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1DDF, 65594 },
{ 0x1DE0, 65597 },
{ 0x1D7E, 65600 },
- { 0x7DFB, 65605 },
- { 0x7DF9, 65610 },
+ { 0x7E00, 65605 },
+ { 0x7DFE, 65610 },
{ 0x1DA3, 65615 },
- { 0x7DFC, 65618 },
- { 0x7DFA, 65623 },
+ { 0x7E01, 65618 },
+ { 0x7DFF, 65623 },
{ 0x22EC, 65628 },
{ 0x2A25, 65632 },
{ 0x1D87, 65634 },
@@ -63972,14 +63979,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1D96, 65641 },
{ 0x1D97, 65645 },
{ 0x1D99, 65649 },
- { 0x7BC7, 65653 },
+ { 0x7BCC, 65653 },
{ 0x235C, 65654 },
{ 0x2A27, 65658 },
{ 0x281A, 65660 },
{ 0x2268, 65662 },
{ 0x2652, 65663 },
- { 0x7B60, 65667 },
- { 0x829B, 65668 },
+ { 0x7B65, 65667 },
+ { 0x82A0, 65668 },
{ 0x1E81, 65671 },
{ 0x007C, 65673 },
{ 0x1DAA, 65677 },
@@ -64000,291 +64007,291 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1DAC, 65737 },
{ 0x1DB1, 65741 },
{ 0x007D, 65745 },
- { 0x80DB, 65749 },
- { 0x7637, 65750 },
- { 0x762B, 65753 },
- { 0x7629, 65756 },
- { 0x762C, 65759 },
- { 0x762A, 65762 },
- { 0x762E, 65765 },
- { 0x7633, 65768 },
- { 0x762F, 65771 },
- { 0x7632, 65774 },
- { 0x7631, 65777 },
- { 0x7636, 65780 },
- { 0x762D, 65783 },
- { 0x7635, 65786 },
- { 0x7634, 65789 },
- { 0x7630, 65792 },
- { 0x75FE, 65795 },
- { 0x7618, 65798 },
- { 0x7619, 65801 },
- { 0x7612, 65804 },
- { 0x761B, 65807 },
- { 0x75FD, 65810 },
- { 0x7613, 65813 },
- { 0x75FF, 65816 },
- { 0x7600, 65819 },
- { 0x7601, 65822 },
- { 0x7624, 65825 },
- { 0x760A, 65828 },
- { 0x7602, 65831 },
- { 0x7617, 65834 },
- { 0x760D, 65837 },
- { 0x7611, 65840 },
- { 0x7605, 65843 },
- { 0x7615, 65846 },
- { 0x7606, 65849 },
- { 0x7623, 65852 },
- { 0x7607, 65855 },
- { 0x7614, 65858 },
- { 0x760B, 65861 },
- { 0x7608, 65864 },
- { 0x7610, 65867 },
- { 0x760F, 65870 },
- { 0x7603, 65873 },
- { 0x760E, 65876 },
- { 0x7625, 65879 },
- { 0x7621, 65882 },
- { 0x7622, 65885 },
- { 0x7616, 65888 },
- { 0x761A, 65891 },
- { 0x7626, 65894 },
- { 0x761F, 65897 },
- { 0x7604, 65900 },
- { 0x760C, 65903 },
- { 0x7609, 65906 },
- { 0x761E, 65909 },
- { 0x761D, 65912 },
- { 0x7627, 65915 },
- { 0x7628, 65918 },
- { 0x7620, 65921 },
- { 0x761C, 65924 },
- { 0x7ABB, 65927 },
- { 0x7ABD, 65931 },
- { 0x4F72, 65935 },
- { 0x4F60, 65938 },
- { 0x4F65, 65942 },
- { 0x4F61, 65946 },
- { 0x4F64, 65950 },
- { 0x4F63, 65954 },
- { 0x4F68, 65958 },
- { 0x4F5F, 65962 },
- { 0x4F67, 65966 },
- { 0x4F66, 65970 },
- { 0x4F62, 65974 },
- { 0x4F40, 65978 },
- { 0x4F47, 65983 },
- { 0x4F48, 65988 },
- { 0x4F55, 65993 },
- { 0x4F54, 65998 },
- { 0x4F56, 66003 },
- { 0x4F53, 66008 },
- { 0x4F4A, 66013 },
- { 0x4F45, 66018 },
- { 0x4F4B, 66023 },
- { 0x4F57, 66028 },
- { 0x4F4E, 66033 },
- { 0x4F46, 66038 },
- { 0x4F41, 66043 },
- { 0x4F43, 66048 },
- { 0x4F44, 66053 },
- { 0x4F42, 66058 },
- { 0x4F49, 66063 },
- { 0x4F4F, 66068 },
- { 0x4F4C, 66073 },
- { 0x4F5B, 66078 },
- { 0x4F50, 66083 },
- { 0x4F5D, 66088 },
- { 0x4F51, 66093 },
- { 0x4F4D, 66098 },
- { 0x4F58, 66103 },
- { 0x4F59, 66108 },
- { 0x4F5A, 66113 },
- { 0x4F3F, 66118 },
- { 0x4F52, 66123 },
- { 0x4F5C, 66128 },
- { 0x4F5E, 66133 },
- { 0x4F69, 66138 },
- { 0x4F6D, 66142 },
- { 0x4F6C, 66146 },
- { 0x4F6E, 66150 },
- { 0x4F70, 66154 },
- { 0x4F71, 66158 },
- { 0x4F6B, 66162 },
- { 0x4F6A, 66166 },
- { 0x4F6F, 66170 },
- { 0x4F20, 66174 },
- { 0x4F27, 66179 },
- { 0x4F28, 66184 },
- { 0x4F35, 66189 },
- { 0x4F34, 66194 },
- { 0x4F36, 66199 },
- { 0x4F33, 66204 },
- { 0x4F2A, 66209 },
- { 0x4F25, 66214 },
- { 0x4F2B, 66219 },
- { 0x4F37, 66224 },
- { 0x4F2E, 66229 },
- { 0x4F26, 66234 },
- { 0x4F21, 66239 },
- { 0x4F23, 66244 },
- { 0x4F24, 66249 },
- { 0x4F22, 66254 },
- { 0x4F29, 66259 },
- { 0x4F2F, 66264 },
- { 0x4F2C, 66269 },
- { 0x4F3B, 66274 },
- { 0x4F30, 66279 },
- { 0x4F3D, 66284 },
- { 0x4F31, 66289 },
- { 0x4F2D, 66294 },
- { 0x4F38, 66299 },
- { 0x4F39, 66304 },
- { 0x4F3A, 66309 },
- { 0x4F1F, 66314 },
- { 0x4F32, 66319 },
- { 0x4F3C, 66324 },
- { 0x4F3E, 66329 },
- { 0x7BF0, 66334 },
- { 0x7B99, 66337 },
- { 0x7B98, 66340 },
- { 0x7AB9, 66343 },
- { 0x7AB7, 66347 },
- { 0x7B70, 66351 },
+ { 0x80E0, 65749 },
+ { 0x763C, 65750 },
+ { 0x7630, 65753 },
+ { 0x762E, 65756 },
+ { 0x7631, 65759 },
+ { 0x762F, 65762 },
+ { 0x7633, 65765 },
+ { 0x7638, 65768 },
+ { 0x7634, 65771 },
+ { 0x7637, 65774 },
+ { 0x7636, 65777 },
+ { 0x763B, 65780 },
+ { 0x7632, 65783 },
+ { 0x763A, 65786 },
+ { 0x7639, 65789 },
+ { 0x7635, 65792 },
+ { 0x7603, 65795 },
+ { 0x761D, 65798 },
+ { 0x761E, 65801 },
+ { 0x7617, 65804 },
+ { 0x7620, 65807 },
+ { 0x7602, 65810 },
+ { 0x7618, 65813 },
+ { 0x7604, 65816 },
+ { 0x7605, 65819 },
+ { 0x7606, 65822 },
+ { 0x7629, 65825 },
+ { 0x760F, 65828 },
+ { 0x7607, 65831 },
+ { 0x761C, 65834 },
+ { 0x7612, 65837 },
+ { 0x7616, 65840 },
+ { 0x760A, 65843 },
+ { 0x761A, 65846 },
+ { 0x760B, 65849 },
+ { 0x7628, 65852 },
+ { 0x760C, 65855 },
+ { 0x7619, 65858 },
+ { 0x7610, 65861 },
+ { 0x760D, 65864 },
+ { 0x7615, 65867 },
+ { 0x7614, 65870 },
+ { 0x7608, 65873 },
+ { 0x7613, 65876 },
+ { 0x762A, 65879 },
+ { 0x7626, 65882 },
+ { 0x7627, 65885 },
+ { 0x761B, 65888 },
+ { 0x761F, 65891 },
+ { 0x762B, 65894 },
+ { 0x7624, 65897 },
+ { 0x7609, 65900 },
+ { 0x7611, 65903 },
+ { 0x760E, 65906 },
+ { 0x7623, 65909 },
+ { 0x7622, 65912 },
+ { 0x762C, 65915 },
+ { 0x762D, 65918 },
+ { 0x7625, 65921 },
+ { 0x7621, 65924 },
+ { 0x7AC0, 65927 },
+ { 0x7AC2, 65931 },
+ { 0x4F77, 65935 },
+ { 0x4F65, 65938 },
+ { 0x4F6A, 65942 },
+ { 0x4F66, 65946 },
+ { 0x4F69, 65950 },
+ { 0x4F68, 65954 },
+ { 0x4F6D, 65958 },
+ { 0x4F64, 65962 },
+ { 0x4F6C, 65966 },
+ { 0x4F6B, 65970 },
+ { 0x4F67, 65974 },
+ { 0x4F45, 65978 },
+ { 0x4F4C, 65983 },
+ { 0x4F4D, 65988 },
+ { 0x4F5A, 65993 },
+ { 0x4F59, 65998 },
+ { 0x4F5B, 66003 },
+ { 0x4F58, 66008 },
+ { 0x4F4F, 66013 },
+ { 0x4F4A, 66018 },
+ { 0x4F50, 66023 },
+ { 0x4F5C, 66028 },
+ { 0x4F53, 66033 },
+ { 0x4F4B, 66038 },
+ { 0x4F46, 66043 },
+ { 0x4F48, 66048 },
+ { 0x4F49, 66053 },
+ { 0x4F47, 66058 },
+ { 0x4F4E, 66063 },
+ { 0x4F54, 66068 },
+ { 0x4F51, 66073 },
+ { 0x4F60, 66078 },
+ { 0x4F55, 66083 },
+ { 0x4F62, 66088 },
+ { 0x4F56, 66093 },
+ { 0x4F52, 66098 },
+ { 0x4F5D, 66103 },
+ { 0x4F5E, 66108 },
+ { 0x4F5F, 66113 },
+ { 0x4F44, 66118 },
+ { 0x4F57, 66123 },
+ { 0x4F61, 66128 },
+ { 0x4F63, 66133 },
+ { 0x4F6E, 66138 },
+ { 0x4F72, 66142 },
+ { 0x4F71, 66146 },
+ { 0x4F73, 66150 },
+ { 0x4F75, 66154 },
+ { 0x4F76, 66158 },
+ { 0x4F70, 66162 },
+ { 0x4F6F, 66166 },
+ { 0x4F74, 66170 },
+ { 0x4F25, 66174 },
+ { 0x4F2C, 66179 },
+ { 0x4F2D, 66184 },
+ { 0x4F3A, 66189 },
+ { 0x4F39, 66194 },
+ { 0x4F3B, 66199 },
+ { 0x4F38, 66204 },
+ { 0x4F2F, 66209 },
+ { 0x4F2A, 66214 },
+ { 0x4F30, 66219 },
+ { 0x4F3C, 66224 },
+ { 0x4F33, 66229 },
+ { 0x4F2B, 66234 },
+ { 0x4F26, 66239 },
+ { 0x4F28, 66244 },
+ { 0x4F29, 66249 },
+ { 0x4F27, 66254 },
+ { 0x4F2E, 66259 },
+ { 0x4F34, 66264 },
+ { 0x4F31, 66269 },
+ { 0x4F40, 66274 },
+ { 0x4F35, 66279 },
+ { 0x4F42, 66284 },
+ { 0x4F36, 66289 },
+ { 0x4F32, 66294 },
+ { 0x4F3D, 66299 },
+ { 0x4F3E, 66304 },
+ { 0x4F3F, 66309 },
+ { 0x4F24, 66314 },
+ { 0x4F37, 66319 },
+ { 0x4F41, 66324 },
+ { 0x4F43, 66329 },
+ { 0x7BF5, 66334 },
+ { 0x7B9E, 66337 },
+ { 0x7B9D, 66340 },
+ { 0x7ABE, 66343 },
+ { 0x7ABC, 66347 },
+ { 0x7B75, 66351 },
{ 0x2A2B, 66353 },
- { 0x8054, 66356 },
- { 0x819B, 66358 },
- { 0x7BF7, 66359 },
- { 0x7C07, 66361 },
- { 0x7C06, 66363 },
- { 0x7BFF, 66365 },
- { 0x7E5F, 66367 },
+ { 0x8059, 66356 },
+ { 0x81A0, 66358 },
+ { 0x7BFC, 66359 },
+ { 0x7C0C, 66361 },
+ { 0x7C0B, 66363 },
+ { 0x7C04, 66365 },
+ { 0x7E64, 66367 },
{ 0x1E91, 66369 },
- { 0x7CCC, 66371 },
- { 0x7C40, 66372 },
- { 0x4965, 66374 },
- { 0x498D, 66377 },
- { 0x498A, 66380 },
- { 0x497D, 66383 },
- { 0x4974, 66386 },
- { 0x4989, 66389 },
- { 0x4966, 66392 },
- { 0x4971, 66395 },
- { 0x4969, 66398 },
- { 0x4979, 66401 },
- { 0x4987, 66404 },
- { 0x497E, 66407 },
- { 0x497F, 66410 },
- { 0x496E, 66415 },
- { 0x4973, 66418 },
- { 0x497A, 66421 },
- { 0x496A, 66424 },
- { 0x4978, 66427 },
- { 0x496F, 66430 },
- { 0x497B, 66433 },
- { 0x4983, 66436 },
- { 0x498B, 66439 },
- { 0x496D, 66442 },
- { 0x4981, 66445 },
- { 0x4984, 66448 },
- { 0x4991, 66451 },
- { 0x4985, 66457 },
- { 0x4986, 66460 },
- { 0x4967, 66463 },
- { 0x4980, 66466 },
- { 0x4972, 66469 },
- { 0x4977, 66472 },
- { 0x4975, 66475 },
- { 0x4968, 66478 },
- { 0x4988, 66481 },
- { 0x498C, 66484 },
- { 0x4992, 66487 },
- { 0x4970, 66493 },
- { 0x496B, 66496 },
- { 0x4964, 66499 },
- { 0x4982, 66502 },
- { 0x4976, 66505 },
- { 0x496C, 66508 },
- { 0x497C, 66511 },
- { 0x498E, 66514 },
- { 0x498F, 66518 },
- { 0x4990, 66522 },
- { 0x80F3, 66525 },
- { 0x3EE3, 66526 },
+ { 0x7CD1, 66371 },
+ { 0x7C45, 66372 },
+ { 0x496A, 66374 },
+ { 0x4992, 66377 },
+ { 0x498F, 66380 },
+ { 0x4982, 66383 },
+ { 0x4979, 66386 },
+ { 0x498E, 66389 },
+ { 0x496B, 66392 },
+ { 0x4976, 66395 },
+ { 0x496E, 66398 },
+ { 0x497E, 66401 },
+ { 0x498C, 66404 },
+ { 0x4983, 66407 },
+ { 0x4984, 66410 },
+ { 0x4973, 66415 },
+ { 0x4978, 66418 },
+ { 0x497F, 66421 },
+ { 0x496F, 66424 },
+ { 0x497D, 66427 },
+ { 0x4974, 66430 },
+ { 0x4980, 66433 },
+ { 0x4988, 66436 },
+ { 0x4990, 66439 },
+ { 0x4972, 66442 },
+ { 0x4986, 66445 },
+ { 0x4989, 66448 },
+ { 0x4996, 66451 },
+ { 0x498A, 66457 },
+ { 0x498B, 66460 },
+ { 0x496C, 66463 },
+ { 0x4985, 66466 },
+ { 0x4977, 66469 },
+ { 0x497C, 66472 },
+ { 0x497A, 66475 },
+ { 0x496D, 66478 },
+ { 0x498D, 66481 },
+ { 0x4991, 66484 },
+ { 0x4997, 66487 },
+ { 0x4975, 66493 },
+ { 0x4970, 66496 },
+ { 0x4969, 66499 },
+ { 0x4987, 66502 },
+ { 0x497B, 66505 },
+ { 0x4971, 66508 },
+ { 0x4981, 66511 },
+ { 0x4993, 66514 },
+ { 0x4994, 66518 },
+ { 0x4995, 66522 },
+ { 0x80F8, 66525 },
+ { 0x3EE8, 66526 },
{ 0x1D55, 66527 },
{ 0x2805, 66529 },
{ 0x05A4, 66530 },
{ 0x22BA, 66532 },
- { 0x7B9F, 66533 },
- { 0x7C9B, 66534 },
+ { 0x7BA4, 66533 },
+ { 0x7CA0, 66534 },
{ 0x2804, 66537 },
{ 0x27F9, 66538 },
{ 0x1D26, 66539 },
- { 0x47CB, 66541 },
- { 0x47D3, 66544 },
- { 0x47D7, 66547 },
- { 0x47D5, 66550 },
- { 0x47D9, 66553 },
- { 0x47CC, 66556 },
- { 0x47D1, 66559 },
- { 0x47CF, 66562 },
- { 0x47CD, 66565 },
- { 0x47EB, 66568 },
- { 0x47E2, 66571 },
- { 0x47E6, 66574 },
- { 0x47D4, 66577 },
- { 0x47EA, 66580 },
- { 0x47DF, 66583 },
- { 0x4800, 66586 },
- { 0x47D8, 66589 },
- { 0x47E3, 66592 },
- { 0x47DB, 66595 },
- { 0x47F9, 66598 },
- { 0x47F3, 66601 },
- { 0x47F0, 66604 },
- { 0x47D6, 66607 },
- { 0x47E9, 66610 },
- { 0x47F8, 66613 },
- { 0x47FA, 66616 },
- { 0x47E4, 66619 },
- { 0x47DA, 66622 },
- { 0x47F7, 66625 },
- { 0x47DC, 66628 },
- { 0x47F6, 66631 },
- { 0x47FB, 66634 },
- { 0x47D0, 66637 },
- { 0x47CE, 66640 },
- { 0x47D2, 66643 },
- { 0x47EC, 66646 },
- { 0x47E7, 66649 },
- { 0x47E0, 66652 },
- { 0x47E1, 66655 },
- { 0x47F4, 66658 },
- { 0x47ED, 66661 },
- { 0x47F2, 66664 },
- { 0x47F1, 66667 },
- { 0x47FC, 66670 },
- { 0x47E5, 66673 },
- { 0x47E8, 66676 },
- { 0x47DE, 66679 },
- { 0x47DD, 66682 },
- { 0x47F5, 66685 },
- { 0x47FD, 66688 },
- { 0x47EF, 66691 },
- { 0x47EE, 66694 },
- { 0x47FE, 66697 },
- { 0x47FF, 66700 },
- { 0x4801, 66703 },
- { 0x8065, 66706 },
- { 0x7E69, 66707 },
- { 0x7B2D, 66709 },
- { 0x7E66, 66710 },
- { 0x7CB0, 66711 },
- { 0x80E8, 66712 },
- { 0x7C38, 66714 },
+ { 0x47D0, 66541 },
+ { 0x47D8, 66544 },
+ { 0x47DC, 66547 },
+ { 0x47DA, 66550 },
+ { 0x47DE, 66553 },
+ { 0x47D1, 66556 },
+ { 0x47D6, 66559 },
+ { 0x47D4, 66562 },
+ { 0x47D2, 66565 },
+ { 0x47F0, 66568 },
+ { 0x47E7, 66571 },
+ { 0x47EB, 66574 },
+ { 0x47D9, 66577 },
+ { 0x47EF, 66580 },
+ { 0x47E4, 66583 },
+ { 0x4805, 66586 },
+ { 0x47DD, 66589 },
+ { 0x47E8, 66592 },
+ { 0x47E0, 66595 },
+ { 0x47FE, 66598 },
+ { 0x47F8, 66601 },
+ { 0x47F5, 66604 },
+ { 0x47DB, 66607 },
+ { 0x47EE, 66610 },
+ { 0x47FD, 66613 },
+ { 0x47FF, 66616 },
+ { 0x47E9, 66619 },
+ { 0x47DF, 66622 },
+ { 0x47FC, 66625 },
+ { 0x47E1, 66628 },
+ { 0x47FB, 66631 },
+ { 0x4800, 66634 },
+ { 0x47D5, 66637 },
+ { 0x47D3, 66640 },
+ { 0x47D7, 66643 },
+ { 0x47F1, 66646 },
+ { 0x47EC, 66649 },
+ { 0x47E5, 66652 },
+ { 0x47E6, 66655 },
+ { 0x47F9, 66658 },
+ { 0x47F2, 66661 },
+ { 0x47F7, 66664 },
+ { 0x47F6, 66667 },
+ { 0x4801, 66670 },
+ { 0x47EA, 66673 },
+ { 0x47ED, 66676 },
+ { 0x47E3, 66679 },
+ { 0x47E2, 66682 },
+ { 0x47FA, 66685 },
+ { 0x4802, 66688 },
+ { 0x47F4, 66691 },
+ { 0x47F3, 66694 },
+ { 0x4803, 66697 },
+ { 0x4804, 66700 },
+ { 0x4806, 66703 },
+ { 0x806A, 66706 },
+ { 0x7E6E, 66707 },
+ { 0x7B32, 66709 },
+ { 0x7E6B, 66710 },
+ { 0x7CB5, 66711 },
+ { 0x80ED, 66712 },
+ { 0x7C3D, 66714 },
{ 0x1E86, 66716 },
- { 0x7E73, 66717 },
+ { 0x7E78, 66717 },
{ 0x0933, 66719 },
{ 0x08F4, 66723 },
{ 0x0924, 66725 },
@@ -64384,12 +64391,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F7D, 67045 },
{ 0x2034, 67047 },
{ 0x1EBD, 67051 },
- { 0x7E57, 67052 },
+ { 0x7E5C, 67052 },
{ 0x1D32, 67053 },
- { 0x7AE1, 67055 },
- { 0x7C35, 67056 },
- { 0x7B3A, 67057 },
- { 0x7B58, 67060 },
+ { 0x7AE6, 67055 },
+ { 0x7C3A, 67056 },
+ { 0x7B3F, 67057 },
+ { 0x7B5D, 67060 },
{ 0x2423, 67061 },
{ 0x2424, 67064 },
{ 0x2425, 67067 },
@@ -64646,30 +64653,30 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2520, 67820 },
{ 0x2521, 67823 },
{ 0x2522, 67826 },
- { 0x81D6, 67829 },
- { 0x7AD4, 67830 },
- { 0x7B7A, 67831 },
+ { 0x81DB, 67829 },
+ { 0x7AD9, 67830 },
+ { 0x7B7F, 67831 },
{ 0x2244, 67832 },
{ 0x0077, 67834 },
- { 0x7E23, 67835 },
- { 0x8275, 67837 },
- { 0x7BB9, 67840 },
- { 0x7A0B, 67841 },
+ { 0x7E28, 67835 },
+ { 0x827A, 67837 },
+ { 0x7BBE, 67840 },
+ { 0x7A10, 67841 },
{ 0x27DE, 67846 },
- { 0x7A0A, 67848 },
- { 0x79CA, 67850 },
- { 0x79CB, 67852 },
+ { 0x7A0F, 67848 },
+ { 0x79CF, 67850 },
+ { 0x79D0, 67852 },
{ 0x1EEA, 67854 },
{ 0x27DF, 67857 },
{ 0x1EEE, 67860 },
{ 0x2365, 67862 },
{ 0x1EE6, 67868 },
{ 0x1EEB, 67870 },
- { 0x79AA, 67873 },
- { 0x8016, 67877 },
- { 0x8015, 67880 },
- { 0x8014, 67886 },
- { 0x7CE5, 67892 },
+ { 0x79AF, 67873 },
+ { 0x801B, 67877 },
+ { 0x801A, 67880 },
+ { 0x8019, 67886 },
+ { 0x7CEA, 67892 },
{ 0x2083, 67895 },
{ 0x2088, 67898 },
{ 0x2084, 67901 },
@@ -64681,7 +64688,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2089, 67919 },
{ 0x2085, 67922 },
{ 0x23D5, 67925 },
- { 0x7A0C, 67930 },
+ { 0x7A11, 67930 },
{ 0x20F3, 67933 },
{ 0x20F4, 67938 },
{ 0x20F5, 67943 },
@@ -64739,375 +64746,375 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x234D, 68197 },
{ 0x25E1, 68200 },
{ 0x25E2, 68203 },
- { 0x79AC, 68205 },
+ { 0x79B1, 68205 },
{ 0x1EED, 68211 },
- { 0x2DEF, 68213 },
- { 0x2DFD, 68216 },
- { 0x2DF1, 68220 },
- { 0x2DFF, 68223 },
- { 0x2DF6, 68227 },
- { 0x2E04, 68230 },
- { 0x2DF0, 68234 },
- { 0x2DFE, 68237 },
- { 0x2E07, 68241 },
- { 0x2DED, 68245 },
- { 0x2DFB, 68248 },
- { 0x2DEA, 68252 },
- { 0x2DF8, 68255 },
- { 0x2DEE, 68259 },
- { 0x2DFC, 68262 },
- { 0x2DEC, 68266 },
- { 0x2DFA, 68269 },
- { 0x2DE9, 68273 },
- { 0x2DF7, 68276 },
- { 0x2DEB, 68280 },
- { 0x2DF9, 68283 },
- { 0x2DF2, 68287 },
- { 0x2E00, 68290 },
- { 0x2DF3, 68294 },
- { 0x2E01, 68297 },
- { 0x2DF5, 68301 },
- { 0x2E03, 68304 },
- { 0x2DF4, 68308 },
- { 0x2E02, 68311 },
- { 0x79C8, 68315 },
- { 0x79C9, 68321 },
- { 0x2E06, 68327 },
- { 0x2E05, 68331 },
+ { 0x2DF4, 68213 },
+ { 0x2E02, 68216 },
+ { 0x2DF6, 68220 },
+ { 0x2E04, 68223 },
+ { 0x2DFB, 68227 },
+ { 0x2E09, 68230 },
+ { 0x2DF5, 68234 },
+ { 0x2E03, 68237 },
+ { 0x2E0C, 68241 },
+ { 0x2DF2, 68245 },
+ { 0x2E00, 68248 },
+ { 0x2DEF, 68252 },
+ { 0x2DFD, 68255 },
+ { 0x2DF3, 68259 },
+ { 0x2E01, 68262 },
+ { 0x2DF1, 68266 },
+ { 0x2DFF, 68269 },
+ { 0x2DEE, 68273 },
+ { 0x2DFC, 68276 },
+ { 0x2DF0, 68280 },
+ { 0x2DFE, 68283 },
+ { 0x2DF7, 68287 },
+ { 0x2E05, 68290 },
+ { 0x2DF8, 68294 },
+ { 0x2E06, 68297 },
+ { 0x2DFA, 68301 },
+ { 0x2E08, 68304 },
+ { 0x2DF9, 68308 },
+ { 0x2E07, 68311 },
+ { 0x79CD, 68315 },
+ { 0x79CE, 68321 },
+ { 0x2E0B, 68327 },
+ { 0x2E0A, 68331 },
{ 0x208C, 68335 },
- { 0x2DD1, 68338 },
- { 0x2E48, 68344 },
- { 0x2DD5, 68347 },
- { 0x2E3E, 68353 },
- { 0x2DD4, 68356 },
- { 0x2E3F, 68362 },
- { 0x2E44, 68366 },
- { 0x2E40, 68370 },
- { 0x2E43, 68374 },
- { 0x2E42, 68378 },
- { 0x2E47, 68382 },
- { 0x2E46, 68386 },
- { 0x2E45, 68390 },
- { 0x2E41, 68394 },
- { 0x2DD6, 68398 },
- { 0x2DD8, 68404 },
+ { 0x2DD6, 68338 },
+ { 0x2E4D, 68344 },
+ { 0x2DDA, 68347 },
+ { 0x2E43, 68353 },
+ { 0x2DD9, 68356 },
+ { 0x2E44, 68362 },
+ { 0x2E49, 68366 },
+ { 0x2E45, 68370 },
+ { 0x2E48, 68374 },
+ { 0x2E47, 68378 },
+ { 0x2E4C, 68382 },
+ { 0x2E4B, 68386 },
+ { 0x2E4A, 68390 },
+ { 0x2E46, 68394 },
+ { 0x2DDB, 68398 },
+ { 0x2DDD, 68404 },
{ 0x208D, 68410 },
- { 0x2DE3, 68413 },
- { 0x2DD3, 68416 },
- { 0x2DE4, 68422 },
- { 0x2E3A, 68426 },
- { 0x2DE5, 68430 },
- { 0x2DE8, 68434 },
- { 0x2DE7, 68438 },
- { 0x2E3D, 68442 },
- { 0x2E3C, 68446 },
- { 0x2E3B, 68450 },
- { 0x2DE6, 68454 },
+ { 0x2DE8, 68413 },
+ { 0x2DD8, 68416 },
+ { 0x2DE9, 68422 },
+ { 0x2E3F, 68426 },
+ { 0x2DEA, 68430 },
+ { 0x2DED, 68434 },
+ { 0x2DEC, 68438 },
+ { 0x2E42, 68442 },
+ { 0x2E41, 68446 },
+ { 0x2E40, 68450 },
+ { 0x2DEB, 68454 },
{ 0x208E, 68458 },
{ 0x2096, 68461 },
- { 0x2DD2, 68464 },
- { 0x2DDA, 68470 },
- { 0x2DDF, 68474 },
- { 0x2DDB, 68478 },
- { 0x2DDE, 68482 },
- { 0x2DDD, 68486 },
- { 0x2DE2, 68490 },
- { 0x2DE1, 68494 },
- { 0x2DE0, 68498 },
- { 0x2DDC, 68502 },
+ { 0x2DD7, 68464 },
+ { 0x2DDF, 68470 },
+ { 0x2DE4, 68474 },
+ { 0x2DE0, 68478 },
+ { 0x2DE3, 68482 },
+ { 0x2DE2, 68486 },
+ { 0x2DE7, 68490 },
+ { 0x2DE6, 68494 },
+ { 0x2DE5, 68498 },
+ { 0x2DE1, 68502 },
{ 0x2091, 68506 },
- { 0x2DD7, 68509 },
+ { 0x2DDC, 68509 },
{ 0x2092, 68515 },
{ 0x2094, 68518 },
{ 0x2090, 68521 },
{ 0x2095, 68524 },
{ 0x208F, 68527 },
{ 0x2093, 68530 },
- { 0x2BD6, 68533 },
- { 0x7F6E, 68536 },
+ { 0x2BDA, 68533 },
+ { 0x7F73, 68536 },
{ 0x25DB, 68538 },
{ 0x1EEC, 68541 },
{ 0x22F5, 68544 },
{ 0x265B, 68547 },
{ 0x1EE9, 68550 },
- { 0x2E59, 68553 },
- { 0x2E5C, 68556 },
- { 0x2E5A, 68559 },
- { 0x2E5D, 68562 },
- { 0x2E5B, 68565 },
- { 0x2E72, 68568 },
- { 0x2E75, 68571 },
- { 0x2E73, 68574 },
- { 0x2E76, 68577 },
- { 0x2E74, 68580 },
- { 0x2E5E, 68583 },
- { 0x2E61, 68586 },
- { 0x2E5F, 68589 },
- { 0x2E62, 68592 },
- { 0x2E60, 68595 },
- { 0x2E77, 68598 },
- { 0x2E7A, 68601 },
- { 0x2E78, 68604 },
- { 0x2E7B, 68607 },
- { 0x2E79, 68610 },
- { 0x2E6D, 68613 },
- { 0x2E70, 68616 },
- { 0x2E6E, 68619 },
- { 0x2E71, 68622 },
- { 0x2E6F, 68625 },
- { 0x2E7F, 68628 },
- { 0x2E82, 68631 },
- { 0x2E80, 68634 },
- { 0x2E83, 68637 },
- { 0x2E81, 68640 },
- { 0x2E63, 68643 },
- { 0x2E66, 68646 },
- { 0x2E64, 68649 },
- { 0x2E67, 68652 },
- { 0x2E65, 68655 },
- { 0x2E68, 68658 },
- { 0x2E6B, 68661 },
- { 0x2E69, 68664 },
- { 0x2E6C, 68667 },
- { 0x2E6A, 68670 },
- { 0x2E84, 68673 },
- { 0x2E86, 68676 },
- { 0x2E85, 68679 },
- { 0x2E87, 68682 },
- { 0x2E7C, 68685 },
- { 0x2E7E, 68688 },
- { 0x2E7D, 68691 },
+ { 0x2E5E, 68553 },
+ { 0x2E61, 68556 },
+ { 0x2E5F, 68559 },
+ { 0x2E62, 68562 },
+ { 0x2E60, 68565 },
+ { 0x2E77, 68568 },
+ { 0x2E7A, 68571 },
+ { 0x2E78, 68574 },
+ { 0x2E7B, 68577 },
+ { 0x2E79, 68580 },
+ { 0x2E63, 68583 },
+ { 0x2E66, 68586 },
+ { 0x2E64, 68589 },
+ { 0x2E67, 68592 },
+ { 0x2E65, 68595 },
+ { 0x2E7C, 68598 },
+ { 0x2E7F, 68601 },
+ { 0x2E7D, 68604 },
+ { 0x2E80, 68607 },
+ { 0x2E7E, 68610 },
+ { 0x2E72, 68613 },
+ { 0x2E75, 68616 },
+ { 0x2E73, 68619 },
+ { 0x2E76, 68622 },
+ { 0x2E74, 68625 },
+ { 0x2E84, 68628 },
+ { 0x2E87, 68631 },
+ { 0x2E85, 68634 },
+ { 0x2E88, 68637 },
+ { 0x2E86, 68640 },
+ { 0x2E68, 68643 },
+ { 0x2E6B, 68646 },
+ { 0x2E69, 68649 },
+ { 0x2E6C, 68652 },
+ { 0x2E6A, 68655 },
+ { 0x2E6D, 68658 },
+ { 0x2E70, 68661 },
+ { 0x2E6E, 68664 },
+ { 0x2E71, 68667 },
+ { 0x2E6F, 68670 },
+ { 0x2E89, 68673 },
+ { 0x2E8B, 68676 },
+ { 0x2E8A, 68679 },
+ { 0x2E8C, 68682 },
+ { 0x2E81, 68685 },
+ { 0x2E83, 68688 },
+ { 0x2E82, 68691 },
{ 0x25DA, 68694 },
- { 0x7F6C, 68696 },
+ { 0x7F71, 68696 },
{ 0x1FDB, 68698 },
{ 0x25D9, 68701 },
- { 0x2E2F, 68704 },
- { 0x2E09, 68707 },
- { 0x2E0E, 68710 },
- { 0x2E19, 68713 },
- { 0x2E12, 68716 },
- { 0x2E0A, 68719 },
- { 0x2E2B, 68722 },
- { 0x2E14, 68725 },
- { 0x2E0D, 68728 },
- { 0x2E0C, 68731 },
- { 0x2E1B, 68734 },
- { 0x2E2D, 68737 },
- { 0x2E29, 68740 },
- { 0x2DD0, 68743 },
- { 0x2E30, 68746 },
- { 0x2E23, 68749 },
- { 0x2E13, 68752 },
- { 0x2E1D, 68755 },
- { 0x2E11, 68758 },
- { 0x2E2A, 68761 },
- { 0x2E16, 68764 },
- { 0x2E18, 68767 },
- { 0x2E10, 68770 },
- { 0x2E21, 68773 },
- { 0x2E17, 68776 },
- { 0x2E39, 68779 },
- { 0x2E27, 68782 },
- { 0x2E31, 68785 },
- { 0x2E0F, 68788 },
- { 0x2E1A, 68791 },
- { 0x2E34, 68794 },
- { 0x2E0B, 68797 },
- { 0x2E15, 68800 },
- { 0x7A9E, 68803 },
- { 0x2E2E, 68806 },
- { 0x2E24, 68809 },
- { 0x2DCF, 68812 },
- { 0x2E22, 68815 },
- { 0x2E2C, 68818 },
- { 0x2E1C, 68821 },
- { 0x2E1E, 68824 },
- { 0x2E38, 68827 },
- { 0x2E32, 68830 },
- { 0x2DCD, 68833 },
- { 0x2E33, 68836 },
- { 0x2E37, 68839 },
- { 0x2E25, 68842 },
- { 0x7A9D, 68845 },
- { 0x2E28, 68848 },
- { 0x2E26, 68851 },
- { 0x2E1F, 68854 },
- { 0x2E35, 68857 },
- { 0x2E36, 68860 },
- { 0x2DCE, 68863 },
- { 0x2E20, 68866 },
+ { 0x2E34, 68704 },
+ { 0x2E0E, 68707 },
+ { 0x2E13, 68710 },
+ { 0x2E1E, 68713 },
+ { 0x2E17, 68716 },
+ { 0x2E0F, 68719 },
+ { 0x2E30, 68722 },
+ { 0x2E19, 68725 },
+ { 0x2E12, 68728 },
+ { 0x2E11, 68731 },
+ { 0x2E20, 68734 },
+ { 0x2E32, 68737 },
+ { 0x2E2E, 68740 },
+ { 0x2DD5, 68743 },
+ { 0x2E35, 68746 },
+ { 0x2E28, 68749 },
+ { 0x2E18, 68752 },
+ { 0x2E22, 68755 },
+ { 0x2E16, 68758 },
+ { 0x2E2F, 68761 },
+ { 0x2E1B, 68764 },
+ { 0x2E1D, 68767 },
+ { 0x2E15, 68770 },
+ { 0x2E26, 68773 },
+ { 0x2E1C, 68776 },
+ { 0x2E3E, 68779 },
+ { 0x2E2C, 68782 },
+ { 0x2E36, 68785 },
+ { 0x2E14, 68788 },
+ { 0x2E1F, 68791 },
+ { 0x2E39, 68794 },
+ { 0x2E10, 68797 },
+ { 0x2E1A, 68800 },
+ { 0x7AA3, 68803 },
+ { 0x2E33, 68806 },
+ { 0x2E29, 68809 },
+ { 0x2DD4, 68812 },
+ { 0x2E27, 68815 },
+ { 0x2E31, 68818 },
+ { 0x2E21, 68821 },
+ { 0x2E23, 68824 },
+ { 0x2E3D, 68827 },
+ { 0x2E37, 68830 },
+ { 0x2DD2, 68833 },
+ { 0x2E38, 68836 },
+ { 0x2E3C, 68839 },
+ { 0x2E2A, 68842 },
+ { 0x7AA2, 68845 },
+ { 0x2E2D, 68848 },
+ { 0x2E2B, 68851 },
+ { 0x2E24, 68854 },
+ { 0x2E3A, 68857 },
+ { 0x2E3B, 68860 },
+ { 0x2DD3, 68863 },
+ { 0x2E25, 68866 },
{ 0x25E3, 68869 },
{ 0x1FDA, 68871 },
- { 0x7E6D, 68876 },
+ { 0x7E72, 68876 },
{ 0x25E4, 68879 },
- { 0x79AB, 68881 },
+ { 0x79B0, 68881 },
{ 0x25DC, 68884 },
{ 0x2659, 68886 },
{ 0x25DF, 68892 },
- { 0x7B51, 68896 },
- { 0x8079, 68898 },
- { 0x8101, 68899 },
+ { 0x7B56, 68896 },
+ { 0x807E, 68898 },
+ { 0x8106, 68899 },
{ 0x1F83, 68900 },
{ 0x1E7F, 68902 },
- { 0x7B40, 68904 },
- { 0x7B18, 68906 },
+ { 0x7B45, 68904 },
+ { 0x7B1D, 68906 },
{ 0x2A3C, 68907 },
- { 0x80AB, 68910 },
- { 0x7B74, 68911 },
- { 0x7B31, 68915 },
+ { 0x80B0, 68910 },
+ { 0x7B79, 68911 },
+ { 0x7B36, 68915 },
{ 0x22B7, 68917 },
- { 0x7A27, 68919 },
- { 0x7CD3, 68926 },
- { 0x80D5, 68928 },
- { 0x8060, 68929 },
- { 0x7B13, 68931 },
- { 0x7E68, 68932 },
- { 0x7AA5, 68933 },
- { 0x45AA, 68934 },
- { 0x45AB, 68937 },
- { 0x45AC, 68940 },
- { 0x45AD, 68943 },
- { 0x45AE, 68946 },
- { 0x45AF, 68949 },
- { 0x45B0, 68952 },
- { 0x45B1, 68955 },
- { 0x45B2, 68958 },
- { 0x45B3, 68961 },
- { 0x45B4, 68964 },
- { 0x45B5, 68967 },
- { 0x45B6, 68970 },
- { 0x45B7, 68973 },
- { 0x45B8, 68976 },
- { 0x45B9, 68979 },
- { 0x45BA, 68982 },
- { 0x45BB, 68985 },
- { 0x45BC, 68988 },
- { 0x45BD, 68991 },
- { 0x45BE, 68994 },
- { 0x45BF, 68997 },
- { 0x45C0, 69000 },
- { 0x45C1, 69003 },
- { 0x45C2, 69006 },
- { 0x45C3, 69009 },
- { 0x45C4, 69012 },
- { 0x45C5, 69015 },
- { 0x45C6, 69018 },
- { 0x45C7, 69021 },
- { 0x45C8, 69024 },
- { 0x45C9, 69027 },
- { 0x45CA, 69030 },
- { 0x45CB, 69033 },
- { 0x45CC, 69036 },
- { 0x45CD, 69039 },
- { 0x45CE, 69042 },
- { 0x45CF, 69045 },
- { 0x45D0, 69048 },
- { 0x45D1, 69051 },
- { 0x45D2, 69054 },
- { 0x45D3, 69057 },
- { 0x45D4, 69060 },
- { 0x45D5, 69063 },
- { 0x45D6, 69066 },
- { 0x45D7, 69069 },
- { 0x45D8, 69072 },
- { 0x45D9, 69075 },
- { 0x45DA, 69078 },
- { 0x45DB, 69081 },
- { 0x45DC, 69084 },
- { 0x45DD, 69087 },
- { 0x45DE, 69090 },
- { 0x45DF, 69093 },
- { 0x45E0, 69096 },
+ { 0x7A2C, 68919 },
+ { 0x7CD8, 68926 },
+ { 0x80DA, 68928 },
+ { 0x8065, 68929 },
+ { 0x7B18, 68931 },
+ { 0x7E6D, 68932 },
+ { 0x7AAA, 68933 },
+ { 0x45AF, 68934 },
+ { 0x45B0, 68937 },
+ { 0x45B1, 68940 },
+ { 0x45B2, 68943 },
+ { 0x45B3, 68946 },
+ { 0x45B4, 68949 },
+ { 0x45B5, 68952 },
+ { 0x45B6, 68955 },
+ { 0x45B7, 68958 },
+ { 0x45B8, 68961 },
+ { 0x45B9, 68964 },
+ { 0x45BA, 68967 },
+ { 0x45BB, 68970 },
+ { 0x45BC, 68973 },
+ { 0x45BD, 68976 },
+ { 0x45BE, 68979 },
+ { 0x45BF, 68982 },
+ { 0x45C0, 68985 },
+ { 0x45C1, 68988 },
+ { 0x45C2, 68991 },
+ { 0x45C3, 68994 },
+ { 0x45C4, 68997 },
+ { 0x45C5, 69000 },
+ { 0x45C6, 69003 },
+ { 0x45C7, 69006 },
+ { 0x45C8, 69009 },
+ { 0x45C9, 69012 },
+ { 0x45CA, 69015 },
+ { 0x45CB, 69018 },
+ { 0x45CC, 69021 },
+ { 0x45CD, 69024 },
+ { 0x45CE, 69027 },
+ { 0x45CF, 69030 },
+ { 0x45D0, 69033 },
+ { 0x45D1, 69036 },
+ { 0x45D2, 69039 },
+ { 0x45D3, 69042 },
+ { 0x45D4, 69045 },
+ { 0x45D5, 69048 },
+ { 0x45D6, 69051 },
+ { 0x45D7, 69054 },
+ { 0x45D8, 69057 },
+ { 0x45D9, 69060 },
+ { 0x45DA, 69063 },
+ { 0x45DB, 69066 },
+ { 0x45DC, 69069 },
+ { 0x45DD, 69072 },
+ { 0x45DE, 69075 },
+ { 0x45DF, 69078 },
+ { 0x45E0, 69081 },
+ { 0x45E1, 69084 },
+ { 0x45E2, 69087 },
+ { 0x45E3, 69090 },
+ { 0x45E4, 69093 },
+ { 0x45E5, 69096 },
{ 0x2039, 69099 },
{ 0x1FE7, 69102 },
- { 0x42C1, 69106 },
- { 0x42BD, 69110 },
- { 0x42CA, 69114 },
- { 0x42D3, 69118 },
- { 0x42D4, 69122 },
- { 0x42D5, 69126 },
- { 0x42D2, 69130 },
- { 0x42CE, 69134 },
- { 0x42D8, 69138 },
- { 0x42D7, 69142 },
- { 0x42BE, 69146 },
- { 0x42BF, 69150 },
- { 0x42C3, 69154 },
- { 0x42C5, 69158 },
- { 0x42D6, 69162 },
- { 0x42D0, 69166 },
- { 0x42CC, 69170 },
- { 0x42C9, 69174 },
- { 0x42C7, 69178 },
- { 0x42C8, 69182 },
- { 0x42C2, 69186 },
- { 0x42C4, 69190 },
- { 0x42CB, 69194 },
- { 0x42C0, 69198 },
- { 0x42CF, 69202 },
- { 0x42C6, 69206 },
- { 0x42B3, 69210 },
- { 0x42B2, 69215 },
- { 0x42B1, 69220 },
- { 0x42B5, 69225 },
- { 0x42B4, 69230 },
- { 0x42B6, 69235 },
- { 0x42CD, 69240 },
- { 0x42D1, 69244 },
- { 0x42B9, 69248 },
- { 0x42B8, 69253 },
- { 0x42B7, 69258 },
- { 0x42BB, 69263 },
- { 0x42BA, 69268 },
- { 0x42BC, 69273 },
- { 0x4299, 69278 },
- { 0x4295, 69282 },
- { 0x42A2, 69286 },
- { 0x42AB, 69290 },
- { 0x42AC, 69294 },
- { 0x42AD, 69298 },
- { 0x42AA, 69302 },
- { 0x42A6, 69306 },
- { 0x42B0, 69310 },
- { 0x42AF, 69314 },
- { 0x4296, 69318 },
- { 0x4297, 69322 },
- { 0x429B, 69326 },
- { 0x429D, 69330 },
- { 0x42AE, 69334 },
- { 0x42A8, 69338 },
- { 0x42A4, 69342 },
- { 0x42A1, 69346 },
- { 0x429F, 69350 },
- { 0x42A0, 69354 },
- { 0x429A, 69358 },
- { 0x429C, 69362 },
- { 0x42A3, 69366 },
- { 0x4298, 69370 },
- { 0x42A7, 69374 },
- { 0x429E, 69378 },
- { 0x428B, 69382 },
- { 0x428A, 69387 },
- { 0x4289, 69392 },
- { 0x428D, 69397 },
- { 0x428C, 69402 },
- { 0x428E, 69407 },
- { 0x42A5, 69412 },
- { 0x42A9, 69416 },
- { 0x4291, 69420 },
- { 0x4290, 69425 },
- { 0x428F, 69430 },
- { 0x4293, 69435 },
- { 0x4292, 69440 },
- { 0x4294, 69445 },
- { 0x7D79, 69450 },
- { 0x7D4A, 69452 },
+ { 0x42C6, 69106 },
+ { 0x42C2, 69110 },
+ { 0x42CF, 69114 },
+ { 0x42D8, 69118 },
+ { 0x42D9, 69122 },
+ { 0x42DA, 69126 },
+ { 0x42D7, 69130 },
+ { 0x42D3, 69134 },
+ { 0x42DD, 69138 },
+ { 0x42DC, 69142 },
+ { 0x42C3, 69146 },
+ { 0x42C4, 69150 },
+ { 0x42C8, 69154 },
+ { 0x42CA, 69158 },
+ { 0x42DB, 69162 },
+ { 0x42D5, 69166 },
+ { 0x42D1, 69170 },
+ { 0x42CE, 69174 },
+ { 0x42CC, 69178 },
+ { 0x42CD, 69182 },
+ { 0x42C7, 69186 },
+ { 0x42C9, 69190 },
+ { 0x42D0, 69194 },
+ { 0x42C5, 69198 },
+ { 0x42D4, 69202 },
+ { 0x42CB, 69206 },
+ { 0x42B8, 69210 },
+ { 0x42B7, 69215 },
+ { 0x42B6, 69220 },
+ { 0x42BA, 69225 },
+ { 0x42B9, 69230 },
+ { 0x42BB, 69235 },
+ { 0x42D2, 69240 },
+ { 0x42D6, 69244 },
+ { 0x42BE, 69248 },
+ { 0x42BD, 69253 },
+ { 0x42BC, 69258 },
+ { 0x42C0, 69263 },
+ { 0x42BF, 69268 },
+ { 0x42C1, 69273 },
+ { 0x429E, 69278 },
+ { 0x429A, 69282 },
+ { 0x42A7, 69286 },
+ { 0x42B0, 69290 },
+ { 0x42B1, 69294 },
+ { 0x42B2, 69298 },
+ { 0x42AF, 69302 },
+ { 0x42AB, 69306 },
+ { 0x42B5, 69310 },
+ { 0x42B4, 69314 },
+ { 0x429B, 69318 },
+ { 0x429C, 69322 },
+ { 0x42A0, 69326 },
+ { 0x42A2, 69330 },
+ { 0x42B3, 69334 },
+ { 0x42AD, 69338 },
+ { 0x42A9, 69342 },
+ { 0x42A6, 69346 },
+ { 0x42A4, 69350 },
+ { 0x42A5, 69354 },
+ { 0x429F, 69358 },
+ { 0x42A1, 69362 },
+ { 0x42A8, 69366 },
+ { 0x429D, 69370 },
+ { 0x42AC, 69374 },
+ { 0x42A3, 69378 },
+ { 0x4290, 69382 },
+ { 0x428F, 69387 },
+ { 0x428E, 69392 },
+ { 0x4292, 69397 },
+ { 0x4291, 69402 },
+ { 0x4293, 69407 },
+ { 0x42AA, 69412 },
+ { 0x42AE, 69416 },
+ { 0x4296, 69420 },
+ { 0x4295, 69425 },
+ { 0x4294, 69430 },
+ { 0x4298, 69435 },
+ { 0x4297, 69440 },
+ { 0x4299, 69445 },
+ { 0x7D7E, 69450 },
+ { 0x7D4F, 69452 },
{ 0x273B, 69454 },
{ 0x2739, 69459 },
{ 0x273A, 69464 },
{ 0x273C, 69469 },
- { 0x7C45, 69474 },
- { 0x7F33, 69480 },
+ { 0x7C4A, 69474 },
+ { 0x7F38, 69480 },
{ 0x1F15, 69482 },
{ 0x23A3, 69484 },
{ 0x23A8, 69489 },
@@ -65115,7 +65122,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x23A7, 69499 },
{ 0x23A6, 69504 },
{ 0x23AB, 69509 },
- { 0x79A8, 69514 },
+ { 0x79AD, 69514 },
{ 0x23AA, 69519 },
{ 0x23A9, 69524 },
{ 0x23A5, 69529 },
@@ -65136,59 +65143,59 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x23B1, 69607 },
{ 0x23B0, 69613 },
{ 0x23B5, 69619 },
- { 0x79A9, 69625 },
+ { 0x79AE, 69625 },
{ 0x23B4, 69631 },
{ 0x23B3, 69637 },
{ 0x23AF, 69643 },
{ 0x23B6, 69649 },
{ 0x1E74, 69655 },
{ 0x22D1, 69656 },
- { 0x7BD1, 69658 },
+ { 0x7BD6, 69658 },
{ 0x22C6, 69659 },
{ 0x22C5, 69662 },
{ 0x281C, 69665 },
{ 0x1D22, 69667 },
- { 0x7C4C, 69669 },
- { 0x4379, 69670 },
- { 0x4381, 69673 },
- { 0x4386, 69676 },
- { 0x438F, 69679 },
- { 0x4398, 69682 },
- { 0x439B, 69685 },
- { 0x437A, 69688 },
- { 0x437B, 69691 },
- { 0x437D, 69694 },
- { 0x4380, 69697 },
- { 0x4382, 69700 },
- { 0x4383, 69703 },
- { 0x4385, 69706 },
- { 0x4387, 69709 },
- { 0x4388, 69712 },
- { 0x4389, 69715 },
- { 0x438B, 69718 },
- { 0x438D, 69721 },
- { 0x438C, 69724 },
- { 0x4390, 69727 },
- { 0x4391, 69730 },
- { 0x4392, 69733 },
- { 0x4394, 69736 },
- { 0x4396, 69739 },
- { 0x4399, 69742 },
- { 0x439A, 69745 },
- { 0x439C, 69748 },
- { 0x437C, 69751 },
- { 0x437F, 69754 },
- { 0x439E, 69757 },
- { 0x4384, 69760 },
- { 0x43A0, 69763 },
- { 0x438A, 69766 },
- { 0x437E, 69769 },
- { 0x438E, 69772 },
- { 0x4393, 69775 },
- { 0x4395, 69778 },
- { 0x4397, 69781 },
- { 0x439D, 69784 },
- { 0x439F, 69787 },
+ { 0x7C51, 69669 },
+ { 0x437E, 69670 },
+ { 0x4386, 69673 },
+ { 0x438B, 69676 },
+ { 0x4394, 69679 },
+ { 0x439D, 69682 },
+ { 0x43A0, 69685 },
+ { 0x437F, 69688 },
+ { 0x4380, 69691 },
+ { 0x4382, 69694 },
+ { 0x4385, 69697 },
+ { 0x4387, 69700 },
+ { 0x4388, 69703 },
+ { 0x438A, 69706 },
+ { 0x438C, 69709 },
+ { 0x438D, 69712 },
+ { 0x438E, 69715 },
+ { 0x4390, 69718 },
+ { 0x4392, 69721 },
+ { 0x4391, 69724 },
+ { 0x4395, 69727 },
+ { 0x4396, 69730 },
+ { 0x4397, 69733 },
+ { 0x4399, 69736 },
+ { 0x439B, 69739 },
+ { 0x439E, 69742 },
+ { 0x439F, 69745 },
+ { 0x43A1, 69748 },
+ { 0x4381, 69751 },
+ { 0x4384, 69754 },
+ { 0x43A3, 69757 },
+ { 0x4389, 69760 },
+ { 0x43A5, 69763 },
+ { 0x438F, 69766 },
+ { 0x4383, 69769 },
+ { 0x4393, 69772 },
+ { 0x4398, 69775 },
+ { 0x439A, 69778 },
+ { 0x439C, 69781 },
+ { 0x43A2, 69784 },
+ { 0x43A4, 69787 },
{ 0x1E59, 69790 },
{ 0x1F46, 69792 },
{ 0x1F4A, 69797 },
@@ -65198,188 +65205,188 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F44, 69817 },
{ 0x23F5, 69827 },
{ 0x26FC, 69831 },
- { 0x4A22, 69835 },
- { 0x4A2E, 69838 },
- { 0x4A2A, 69841 },
- { 0x4A2B, 69844 },
- { 0x4A33, 69847 },
- { 0x4A23, 69850 },
- { 0x4A2D, 69853 },
- { 0x4A1F, 69856 },
- { 0x4A25, 69859 },
- { 0x4A28, 69862 },
- { 0x4A30, 69865 },
- { 0x4A31, 69868 },
- { 0x4A32, 69871 },
- { 0x4A26, 69874 },
- { 0x4A27, 69877 },
- { 0x4A1E, 69880 },
- { 0x4A20, 69883 },
- { 0x4A2F, 69886 },
- { 0x4A24, 69889 },
- { 0x4A21, 69892 },
- { 0x4A29, 69895 },
- { 0x4A2C, 69898 },
- { 0x4A34, 69901 },
- { 0x7B92, 69904 },
- { 0x80DA, 69905 },
+ { 0x4A27, 69835 },
+ { 0x4A33, 69838 },
+ { 0x4A2F, 69841 },
+ { 0x4A30, 69844 },
+ { 0x4A38, 69847 },
+ { 0x4A28, 69850 },
+ { 0x4A32, 69853 },
+ { 0x4A24, 69856 },
+ { 0x4A2A, 69859 },
+ { 0x4A2D, 69862 },
+ { 0x4A35, 69865 },
+ { 0x4A36, 69868 },
+ { 0x4A37, 69871 },
+ { 0x4A2B, 69874 },
+ { 0x4A2C, 69877 },
+ { 0x4A23, 69880 },
+ { 0x4A25, 69883 },
+ { 0x4A34, 69886 },
+ { 0x4A29, 69889 },
+ { 0x4A26, 69892 },
+ { 0x4A2E, 69895 },
+ { 0x4A31, 69898 },
+ { 0x4A39, 69901 },
+ { 0x7B97, 69904 },
+ { 0x80DF, 69905 },
{ 0x2301, 69906 },
{ 0x2552, 69914 },
{ 0x254F, 69920 },
- { 0x7DCD, 69925 },
- { 0x81B2, 69927 },
+ { 0x7DD2, 69925 },
+ { 0x81B7, 69927 },
{ 0x21EC, 69928 },
- { 0x7B48, 69929 },
- { 0x7DD8, 69933 },
- { 0x81A9, 69935 },
+ { 0x7B4D, 69929 },
+ { 0x7DDD, 69933 },
+ { 0x81AE, 69935 },
{ 0x26FF, 69938 },
- { 0x8074, 69939 },
+ { 0x8079, 69939 },
{ 0x22D4, 69941 },
- { 0x80A6, 69943 },
- { 0x7AC4, 69945 },
- { 0x8091, 69947 },
- { 0x80A1, 69948 },
- { 0x4CDF, 69949 },
- { 0x4CDE, 69953 },
- { 0x4CD0, 69955 },
- { 0x4CE0, 69958 },
- { 0x4CDD, 69961 },
- { 0x4CA0, 69964 },
- { 0x4C9F, 69967 },
- { 0x4CD1, 69970 },
- { 0x4C9D, 69973 },
- { 0x4C9E, 69978 },
- { 0x4CD3, 69981 },
- { 0x4CD5, 69985 },
- { 0x4CD2, 69989 },
- { 0x4CDA, 69993 },
- { 0x4CDC, 69997 },
- { 0x4CD9, 70001 },
- { 0x4CD4, 70005 },
- { 0x4CDB, 70009 },
- { 0x4CD6, 70013 },
- { 0x4CE5, 70017 },
- { 0x4CD7, 70022 },
- { 0x4CE6, 70027 },
- { 0x4CD8, 70032 },
- { 0x4CA1, 70037 },
- { 0x4CA3, 70040 },
- { 0x4CA5, 70043 },
- { 0x4CA2, 70046 },
- { 0x4CAA, 70049 },
- { 0x4CAC, 70052 },
- { 0x4CC3, 70055 },
- { 0x4CB2, 70058 },
- { 0x4CBE, 70061 },
- { 0x4CA9, 70064 },
- { 0x4CAF, 70067 },
- { 0x4CCE, 70070 },
- { 0x4CA4, 70073 },
- { 0x4CB4, 70076 },
- { 0x4CAD, 70079 },
- { 0x4CC8, 70082 },
- { 0x4CC5, 70085 },
- { 0x4CC0, 70088 },
- { 0x4CAB, 70091 },
- { 0x4CC1, 70094 },
- { 0x4CC7, 70097 },
- { 0x4CCD, 70100 },
- { 0x4CBC, 70103 },
- { 0x4CA6, 70106 },
- { 0x4CCA, 70109 },
- { 0x4CC6, 70112 },
- { 0x4CC4, 70115 },
- { 0x4CB3, 70118 },
- { 0x4CB9, 70121 },
- { 0x4CBF, 70124 },
- { 0x4CB0, 70127 },
- { 0x4CB5, 70130 },
- { 0x4CAE, 70133 },
- { 0x4CC9, 70136 },
- { 0x4CB1, 70139 },
- { 0x4CBB, 70142 },
- { 0x4CB6, 70145 },
- { 0x4CC2, 70148 },
- { 0x4CCB, 70151 },
- { 0x4CCC, 70154 },
- { 0x4CBD, 70157 },
- { 0x4CB7, 70160 },
- { 0x4CBA, 70163 },
- { 0x4CB8, 70166 },
- { 0x4CE2, 70169 },
- { 0x4CE1, 70174 },
- { 0x4CA8, 70178 },
- { 0x4CA7, 70182 },
- { 0x4CE4, 70186 },
- { 0x4CE3, 70190 },
- { 0x7C3C, 70194 },
+ { 0x80AB, 69943 },
+ { 0x7AC9, 69945 },
+ { 0x8096, 69947 },
+ { 0x80A6, 69948 },
+ { 0x4CE4, 69949 },
+ { 0x4CE3, 69953 },
+ { 0x4CD5, 69955 },
+ { 0x4CE5, 69958 },
+ { 0x4CE2, 69961 },
+ { 0x4CA5, 69964 },
+ { 0x4CA4, 69967 },
+ { 0x4CD6, 69970 },
+ { 0x4CA2, 69973 },
+ { 0x4CA3, 69978 },
+ { 0x4CD8, 69981 },
+ { 0x4CDA, 69985 },
+ { 0x4CD7, 69989 },
+ { 0x4CDF, 69993 },
+ { 0x4CE1, 69997 },
+ { 0x4CDE, 70001 },
+ { 0x4CD9, 70005 },
+ { 0x4CE0, 70009 },
+ { 0x4CDB, 70013 },
+ { 0x4CEA, 70017 },
+ { 0x4CDC, 70022 },
+ { 0x4CEB, 70027 },
+ { 0x4CDD, 70032 },
+ { 0x4CA6, 70037 },
+ { 0x4CA8, 70040 },
+ { 0x4CAA, 70043 },
+ { 0x4CA7, 70046 },
+ { 0x4CAF, 70049 },
+ { 0x4CB1, 70052 },
+ { 0x4CC8, 70055 },
+ { 0x4CB7, 70058 },
+ { 0x4CC3, 70061 },
+ { 0x4CAE, 70064 },
+ { 0x4CB4, 70067 },
+ { 0x4CD3, 70070 },
+ { 0x4CA9, 70073 },
+ { 0x4CB9, 70076 },
+ { 0x4CB2, 70079 },
+ { 0x4CCD, 70082 },
+ { 0x4CCA, 70085 },
+ { 0x4CC5, 70088 },
+ { 0x4CB0, 70091 },
+ { 0x4CC6, 70094 },
+ { 0x4CCC, 70097 },
+ { 0x4CD2, 70100 },
+ { 0x4CC1, 70103 },
+ { 0x4CAB, 70106 },
+ { 0x4CCF, 70109 },
+ { 0x4CCB, 70112 },
+ { 0x4CC9, 70115 },
+ { 0x4CB8, 70118 },
+ { 0x4CBE, 70121 },
+ { 0x4CC4, 70124 },
+ { 0x4CB5, 70127 },
+ { 0x4CBA, 70130 },
+ { 0x4CB3, 70133 },
+ { 0x4CCE, 70136 },
+ { 0x4CB6, 70139 },
+ { 0x4CC0, 70142 },
+ { 0x4CBB, 70145 },
+ { 0x4CC7, 70148 },
+ { 0x4CD0, 70151 },
+ { 0x4CD1, 70154 },
+ { 0x4CC2, 70157 },
+ { 0x4CBC, 70160 },
+ { 0x4CBF, 70163 },
+ { 0x4CBD, 70166 },
+ { 0x4CE7, 70169 },
+ { 0x4CE6, 70174 },
+ { 0x4CAD, 70178 },
+ { 0x4CAC, 70182 },
+ { 0x4CE9, 70186 },
+ { 0x4CE8, 70190 },
+ { 0x7C41, 70194 },
{ 0x1D25, 70196 },
- { 0x520E, 70198 },
- { 0x520C, 70201 },
- { 0x520B, 70205 },
- { 0x5210, 70209 },
- { 0x5215, 70213 },
- { 0x5211, 70217 },
- { 0x5214, 70221 },
- { 0x5213, 70225 },
- { 0x5218, 70229 },
- { 0x520F, 70233 },
- { 0x5217, 70237 },
- { 0x5216, 70241 },
- { 0x5212, 70245 },
- { 0x5203, 70249 },
- { 0x5205, 70254 },
- { 0x5202, 70259 },
- { 0x5208, 70264 },
- { 0x520A, 70269 },
- { 0x5207, 70274 },
- { 0x5204, 70279 },
- { 0x5209, 70284 },
- { 0x5206, 70289 },
- { 0x51DA, 70294 },
- { 0x51DC, 70298 },
- { 0x51DE, 70302 },
- { 0x51DB, 70306 },
- { 0x51E1, 70310 },
- { 0x51E3, 70314 },
- { 0x51E6, 70318 },
- { 0x51F3, 70322 },
- { 0x51F0, 70326 },
- { 0x51E0, 70330 },
- { 0x51EE, 70334 },
- { 0x51FF, 70338 },
- { 0x51DD, 70342 },
- { 0x51F8, 70346 },
- { 0x51E9, 70350 },
- { 0x51ED, 70354 },
- { 0x51E8, 70358 },
- { 0x51F2, 70362 },
- { 0x51E2, 70366 },
- { 0x51FD, 70370 },
- { 0x5200, 70374 },
- { 0x5201, 70378 },
- { 0x51EB, 70382 },
- { 0x51DF, 70386 },
- { 0x51E5, 70390 },
- { 0x51E4, 70394 },
- { 0x51E7, 70398 },
- { 0x51F4, 70402 },
- { 0x51FA, 70406 },
- { 0x51F1, 70410 },
- { 0x51EF, 70414 },
- { 0x51F9, 70418 },
- { 0x51EA, 70422 },
- { 0x51F7, 70426 },
- { 0x51FC, 70430 },
- { 0x51FE, 70434 },
- { 0x51EC, 70438 },
- { 0x51F5, 70442 },
- { 0x51FB, 70446 },
- { 0x51F6, 70450 },
- { 0x520D, 70454 },
- { 0x7C2C, 70457 },
- { 0x7BDE, 70458 },
- { 0x7C01, 70460 },
+ { 0x5213, 70198 },
+ { 0x5211, 70201 },
+ { 0x5210, 70205 },
+ { 0x5215, 70209 },
+ { 0x521A, 70213 },
+ { 0x5216, 70217 },
+ { 0x5219, 70221 },
+ { 0x5218, 70225 },
+ { 0x521D, 70229 },
+ { 0x5214, 70233 },
+ { 0x521C, 70237 },
+ { 0x521B, 70241 },
+ { 0x5217, 70245 },
+ { 0x5208, 70249 },
+ { 0x520A, 70254 },
+ { 0x5207, 70259 },
+ { 0x520D, 70264 },
+ { 0x520F, 70269 },
+ { 0x520C, 70274 },
+ { 0x5209, 70279 },
+ { 0x520E, 70284 },
+ { 0x520B, 70289 },
+ { 0x51DF, 70294 },
+ { 0x51E1, 70298 },
+ { 0x51E3, 70302 },
+ { 0x51E0, 70306 },
+ { 0x51E6, 70310 },
+ { 0x51E8, 70314 },
+ { 0x51EB, 70318 },
+ { 0x51F8, 70322 },
+ { 0x51F5, 70326 },
+ { 0x51E5, 70330 },
+ { 0x51F3, 70334 },
+ { 0x5204, 70338 },
+ { 0x51E2, 70342 },
+ { 0x51FD, 70346 },
+ { 0x51EE, 70350 },
+ { 0x51F2, 70354 },
+ { 0x51ED, 70358 },
+ { 0x51F7, 70362 },
+ { 0x51E7, 70366 },
+ { 0x5202, 70370 },
+ { 0x5205, 70374 },
+ { 0x5206, 70378 },
+ { 0x51F0, 70382 },
+ { 0x51E4, 70386 },
+ { 0x51EA, 70390 },
+ { 0x51E9, 70394 },
+ { 0x51EC, 70398 },
+ { 0x51F9, 70402 },
+ { 0x51FF, 70406 },
+ { 0x51F6, 70410 },
+ { 0x51F4, 70414 },
+ { 0x51FE, 70418 },
+ { 0x51EF, 70422 },
+ { 0x51FC, 70426 },
+ { 0x5201, 70430 },
+ { 0x5203, 70434 },
+ { 0x51F1, 70438 },
+ { 0x51FA, 70442 },
+ { 0x5200, 70446 },
+ { 0x51FB, 70450 },
+ { 0x5212, 70454 },
+ { 0x7C31, 70457 },
+ { 0x7BE3, 70458 },
+ { 0x7C06, 70460 },
{ 0x14A4, 70461 },
{ 0x14A2, 70464 },
{ 0x14A3, 70468 },
@@ -65402,17 +65409,17 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x149C, 70520 },
{ 0x1495, 70523 },
{ 0x1D27, 70526 },
- { 0x802B, 70528 },
- { 0x7C54, 70530 },
+ { 0x8030, 70528 },
+ { 0x7C59, 70530 },
{ 0x1CE5, 70533 },
{ 0x1CE3, 70537 },
- { 0x8291, 70540 },
+ { 0x8296, 70540 },
{ 0x21FC, 70543 },
{ 0x21FB, 70546 },
- { 0x8271, 70548 },
- { 0x8276, 70551 },
- { 0x8294, 70555 },
- { 0x7B93, 70561 },
+ { 0x8276, 70548 },
+ { 0x827B, 70551 },
+ { 0x8299, 70555 },
+ { 0x7B98, 70561 },
{ 0x2266, 70563 },
{ 0x0B4D, 70564 },
{ 0x0B3C, 70568 },
@@ -65506,13 +65513,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0B11, 70857 },
{ 0x0B51, 70861 },
{ 0x0B50, 70865 },
- { 0x7DE2, 70869 },
- { 0x7DBC, 70875 },
- { 0x7DBF, 70877 },
- { 0x7DBE, 70882 },
- { 0x7BAB, 70887 },
- { 0x2E58, 70888 },
- { 0x80B2, 70891 },
+ { 0x7DE7, 70869 },
+ { 0x7DC1, 70875 },
+ { 0x7DC4, 70877 },
+ { 0x7DC3, 70882 },
+ { 0x7BB0, 70887 },
+ { 0x2E5D, 70888 },
+ { 0x80B7, 70891 },
{ 0x1E79, 70892 },
{ 0x2675, 70894 },
{ 0x2685, 70899 },
@@ -65529,78 +65536,78 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x267F, 70950 },
{ 0x21ED, 70955 },
{ 0x2403, 70956 },
- { 0x8107, 70961 },
- { 0x78CB, 70962 },
- { 0x78D4, 70967 },
- { 0x78C2, 70972 },
- { 0x78BF, 70977 },
- { 0x78D0, 70981 },
- { 0x78D9, 70986 },
- { 0x78C7, 70991 },
- { 0x78CC, 70996 },
- { 0x78D5, 71001 },
- { 0x78C3, 71006 },
- { 0x78E6, 71011 },
- { 0x78BB, 71014 },
- { 0x78CF, 71018 },
- { 0x78D8, 71023 },
- { 0x78C6, 71028 },
- { 0x78CE, 71033 },
- { 0x78D7, 71038 },
- { 0x78C5, 71043 },
- { 0x78D3, 71048 },
- { 0x78DC, 71053 },
- { 0x78CA, 71058 },
- { 0x78DD, 71063 },
- { 0x78BD, 71066 },
- { 0x78D2, 71070 },
- { 0x78DB, 71075 },
- { 0x78C9, 71080 },
- { 0x78C0, 71085 },
- { 0x78E5, 71089 },
- { 0x78BE, 71092 },
- { 0x78D1, 71096 },
- { 0x78DA, 71101 },
- { 0x78C8, 71106 },
- { 0x78BC, 71111 },
- { 0x78CD, 71115 },
- { 0x78D6, 71120 },
- { 0x78C4, 71125 },
- { 0x78C1, 71130 },
- { 0x78E3, 71134 },
- { 0x78DF, 71137 },
- { 0x78DE, 71140 },
- { 0x78E1, 71143 },
- { 0x78E2, 71146 },
- { 0x78E4, 71149 },
- { 0x78E0, 71152 },
- { 0x5231, 71155 },
- { 0x522B, 71159 },
- { 0x522E, 71161 },
- { 0x522C, 71165 },
- { 0x522F, 71169 },
- { 0x522D, 71173 },
- { 0x522A, 71177 },
- { 0x521D, 71180 },
- { 0x5222, 71183 },
- { 0x5220, 71186 },
- { 0x521A, 71189 },
- { 0x5223, 71192 },
- { 0x5219, 71195 },
- { 0x5227, 71198 },
- { 0x521E, 71201 },
- { 0x5221, 71204 },
- { 0x521C, 71207 },
- { 0x5226, 71210 },
- { 0x5229, 71213 },
- { 0x521F, 71216 },
- { 0x5228, 71219 },
- { 0x5225, 71222 },
- { 0x521B, 71225 },
- { 0x5224, 71228 },
- { 0x5230, 71231 },
+ { 0x810C, 70961 },
+ { 0x78D0, 70962 },
+ { 0x78D9, 70967 },
+ { 0x78C7, 70972 },
+ { 0x78C4, 70977 },
+ { 0x78D5, 70981 },
+ { 0x78DE, 70986 },
+ { 0x78CC, 70991 },
+ { 0x78D1, 70996 },
+ { 0x78DA, 71001 },
+ { 0x78C8, 71006 },
+ { 0x78EB, 71011 },
+ { 0x78C0, 71014 },
+ { 0x78D4, 71018 },
+ { 0x78DD, 71023 },
+ { 0x78CB, 71028 },
+ { 0x78D3, 71033 },
+ { 0x78DC, 71038 },
+ { 0x78CA, 71043 },
+ { 0x78D8, 71048 },
+ { 0x78E1, 71053 },
+ { 0x78CF, 71058 },
+ { 0x78E2, 71063 },
+ { 0x78C2, 71066 },
+ { 0x78D7, 71070 },
+ { 0x78E0, 71075 },
+ { 0x78CE, 71080 },
+ { 0x78C5, 71085 },
+ { 0x78EA, 71089 },
+ { 0x78C3, 71092 },
+ { 0x78D6, 71096 },
+ { 0x78DF, 71101 },
+ { 0x78CD, 71106 },
+ { 0x78C1, 71111 },
+ { 0x78D2, 71115 },
+ { 0x78DB, 71120 },
+ { 0x78C9, 71125 },
+ { 0x78C6, 71130 },
+ { 0x78E8, 71134 },
+ { 0x78E4, 71137 },
+ { 0x78E3, 71140 },
+ { 0x78E6, 71143 },
+ { 0x78E7, 71146 },
+ { 0x78E9, 71149 },
+ { 0x78E5, 71152 },
+ { 0x5236, 71155 },
+ { 0x5230, 71159 },
+ { 0x5233, 71161 },
+ { 0x5231, 71165 },
+ { 0x5234, 71169 },
+ { 0x5232, 71173 },
+ { 0x522F, 71177 },
+ { 0x5222, 71180 },
+ { 0x5227, 71183 },
+ { 0x5225, 71186 },
+ { 0x521F, 71189 },
+ { 0x5228, 71192 },
+ { 0x521E, 71195 },
+ { 0x522C, 71198 },
+ { 0x5223, 71201 },
+ { 0x5226, 71204 },
+ { 0x5221, 71207 },
+ { 0x522B, 71210 },
+ { 0x522E, 71213 },
+ { 0x5224, 71216 },
+ { 0x522D, 71219 },
+ { 0x522A, 71222 },
+ { 0x5220, 71225 },
+ { 0x5229, 71228 },
+ { 0x5235, 71231 },
{ 0x2343, 71233 },
- { 0x80B7, 71235 },
+ { 0x80BC, 71235 },
{ 0x07C4, 71236 },
{ 0x07C6, 71239 },
{ 0x07C5, 71242 },
@@ -65630,442 +65637,442 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x07DC, 71314 },
{ 0x07DF, 71317 },
{ 0x07DD, 71319 },
- { 0x818A, 71322 },
- { 0x514B, 71323 },
- { 0x514C, 71326 },
- { 0x518D, 71329 },
- { 0x518E, 71332 },
- { 0x518B, 71335 },
- { 0x5189, 71339 },
- { 0x518C, 71343 },
- { 0x518A, 71347 },
- { 0x5188, 71351 },
- { 0x516A, 71355 },
- { 0x5163, 71358 },
- { 0x515B, 71361 },
- { 0x5151, 71364 },
- { 0x5157, 71367 },
- { 0x514F, 71370 },
- { 0x5169, 71373 },
- { 0x5153, 71376 },
- { 0x514D, 71379 },
- { 0x5166, 71382 },
- { 0x515C, 71385 },
- { 0x5158, 71388 },
- { 0x5159, 71391 },
- { 0x5165, 71394 },
- { 0x5168, 71397 },
- { 0x5155, 71400 },
- { 0x5160, 71403 },
- { 0x5164, 71406 },
- { 0x5162, 71409 },
- { 0x5152, 71412 },
- { 0x515F, 71415 },
- { 0x514E, 71418 },
- { 0x5150, 71421 },
- { 0x5154, 71424 },
- { 0x515A, 71427 },
- { 0x5167, 71430 },
- { 0x5156, 71433 },
- { 0x515D, 71436 },
- { 0x5161, 71439 },
- { 0x515E, 71442 },
- { 0x5187, 71445 },
- { 0x5179, 71449 },
- { 0x516F, 71453 },
- { 0x5175, 71457 },
- { 0x516D, 71461 },
- { 0x5186, 71465 },
- { 0x5171, 71469 },
- { 0x516B, 71473 },
- { 0x5183, 71477 },
- { 0x517A, 71481 },
- { 0x5176, 71485 },
- { 0x5177, 71489 },
- { 0x5182, 71493 },
- { 0x5185, 71497 },
- { 0x5173, 71501 },
- { 0x517E, 71505 },
- { 0x5181, 71509 },
- { 0x5180, 71513 },
- { 0x5170, 71517 },
- { 0x517D, 71521 },
- { 0x516C, 71525 },
- { 0x516E, 71529 },
- { 0x5172, 71533 },
- { 0x5178, 71537 },
- { 0x5184, 71541 },
- { 0x5174, 71545 },
- { 0x517B, 71549 },
- { 0x517F, 71553 },
- { 0x517C, 71557 },
- { 0x805F, 71561 },
- { 0x51CA, 71564 },
- { 0x51CB, 71568 },
- { 0x51CC, 71572 },
- { 0x51C9, 71576 },
- { 0x51C8, 71580 },
- { 0x51D1, 71584 },
- { 0x51D6, 71588 },
- { 0x51D2, 71592 },
- { 0x51D5, 71596 },
- { 0x51D4, 71600 },
- { 0x51D9, 71604 },
- { 0x51D0, 71608 },
- { 0x51D8, 71612 },
- { 0x51D7, 71616 },
- { 0x51D3, 71620 },
- { 0x51CE, 71624 },
- { 0x51C4, 71627 },
- { 0x51BF, 71632 },
- { 0x51C6, 71637 },
- { 0x51C1, 71642 },
- { 0x51BE, 71647 },
- { 0x51C5, 71652 },
- { 0x51C7, 71657 },
- { 0x51C0, 71662 },
- { 0x51C2, 71667 },
- { 0x51C3, 71672 },
- { 0x518F, 71678 },
- { 0x5195, 71682 },
- { 0x5191, 71686 },
- { 0x5197, 71690 },
- { 0x5193, 71694 },
- { 0x5190, 71698 },
- { 0x5196, 71702 },
- { 0x5198, 71706 },
- { 0x51AF, 71710 },
- { 0x519E, 71714 },
- { 0x51AA, 71718 },
- { 0x519B, 71722 },
- { 0x51B9, 71726 },
- { 0x5192, 71730 },
- { 0x51A0, 71734 },
- { 0x5199, 71738 },
- { 0x51B4, 71742 },
- { 0x51B1, 71746 },
- { 0x51AC, 71750 },
- { 0x51AD, 71754 },
- { 0x51B3, 71758 },
- { 0x51B8, 71762 },
- { 0x51A8, 71766 },
- { 0x5194, 71770 },
- { 0x51B5, 71774 },
- { 0x51B2, 71778 },
- { 0x51B0, 71782 },
- { 0x519F, 71786 },
- { 0x51A5, 71790 },
- { 0x51AB, 71794 },
- { 0x519C, 71798 },
- { 0x51A1, 71802 },
- { 0x519A, 71806 },
- { 0x51BA, 71810 },
- { 0x519D, 71814 },
- { 0x51A7, 71818 },
- { 0x51A2, 71822 },
- { 0x51AE, 71826 },
- { 0x51B6, 71830 },
- { 0x51B7, 71834 },
- { 0x51A9, 71838 },
- { 0x51BD, 71842 },
- { 0x51A3, 71846 },
- { 0x51A6, 71850 },
- { 0x51BC, 71854 },
- { 0x51BB, 71858 },
- { 0x51A4, 71862 },
- { 0x51CD, 71866 },
- { 0x51CF, 71869 },
- { 0x81CF, 71872 },
- { 0x7CF3, 71874 },
+ { 0x818F, 71322 },
+ { 0x5150, 71323 },
+ { 0x5151, 71326 },
+ { 0x5192, 71329 },
+ { 0x5193, 71332 },
+ { 0x5190, 71335 },
+ { 0x518E, 71339 },
+ { 0x5191, 71343 },
+ { 0x518F, 71347 },
+ { 0x518D, 71351 },
+ { 0x516F, 71355 },
+ { 0x5168, 71358 },
+ { 0x5160, 71361 },
+ { 0x5156, 71364 },
+ { 0x515C, 71367 },
+ { 0x5154, 71370 },
+ { 0x516E, 71373 },
+ { 0x5158, 71376 },
+ { 0x5152, 71379 },
+ { 0x516B, 71382 },
+ { 0x5161, 71385 },
+ { 0x515D, 71388 },
+ { 0x515E, 71391 },
+ { 0x516A, 71394 },
+ { 0x516D, 71397 },
+ { 0x515A, 71400 },
+ { 0x5165, 71403 },
+ { 0x5169, 71406 },
+ { 0x5167, 71409 },
+ { 0x5157, 71412 },
+ { 0x5164, 71415 },
+ { 0x5153, 71418 },
+ { 0x5155, 71421 },
+ { 0x5159, 71424 },
+ { 0x515F, 71427 },
+ { 0x516C, 71430 },
+ { 0x515B, 71433 },
+ { 0x5162, 71436 },
+ { 0x5166, 71439 },
+ { 0x5163, 71442 },
+ { 0x518C, 71445 },
+ { 0x517E, 71449 },
+ { 0x5174, 71453 },
+ { 0x517A, 71457 },
+ { 0x5172, 71461 },
+ { 0x518B, 71465 },
+ { 0x5176, 71469 },
+ { 0x5170, 71473 },
+ { 0x5188, 71477 },
+ { 0x517F, 71481 },
+ { 0x517B, 71485 },
+ { 0x517C, 71489 },
+ { 0x5187, 71493 },
+ { 0x518A, 71497 },
+ { 0x5178, 71501 },
+ { 0x5183, 71505 },
+ { 0x5186, 71509 },
+ { 0x5185, 71513 },
+ { 0x5175, 71517 },
+ { 0x5182, 71521 },
+ { 0x5171, 71525 },
+ { 0x5173, 71529 },
+ { 0x5177, 71533 },
+ { 0x517D, 71537 },
+ { 0x5189, 71541 },
+ { 0x5179, 71545 },
+ { 0x5180, 71549 },
+ { 0x5184, 71553 },
+ { 0x5181, 71557 },
+ { 0x8064, 71561 },
+ { 0x51CF, 71564 },
+ { 0x51D0, 71568 },
+ { 0x51D1, 71572 },
+ { 0x51CE, 71576 },
+ { 0x51CD, 71580 },
+ { 0x51D6, 71584 },
+ { 0x51DB, 71588 },
+ { 0x51D7, 71592 },
+ { 0x51DA, 71596 },
+ { 0x51D9, 71600 },
+ { 0x51DE, 71604 },
+ { 0x51D5, 71608 },
+ { 0x51DD, 71612 },
+ { 0x51DC, 71616 },
+ { 0x51D8, 71620 },
+ { 0x51D3, 71624 },
+ { 0x51C9, 71627 },
+ { 0x51C4, 71632 },
+ { 0x51CB, 71637 },
+ { 0x51C6, 71642 },
+ { 0x51C3, 71647 },
+ { 0x51CA, 71652 },
+ { 0x51CC, 71657 },
+ { 0x51C5, 71662 },
+ { 0x51C7, 71667 },
+ { 0x51C8, 71672 },
+ { 0x5194, 71678 },
+ { 0x519A, 71682 },
+ { 0x5196, 71686 },
+ { 0x519C, 71690 },
+ { 0x5198, 71694 },
+ { 0x5195, 71698 },
+ { 0x519B, 71702 },
+ { 0x519D, 71706 },
+ { 0x51B4, 71710 },
+ { 0x51A3, 71714 },
+ { 0x51AF, 71718 },
+ { 0x51A0, 71722 },
+ { 0x51BE, 71726 },
+ { 0x5197, 71730 },
+ { 0x51A5, 71734 },
+ { 0x519E, 71738 },
+ { 0x51B9, 71742 },
+ { 0x51B6, 71746 },
+ { 0x51B1, 71750 },
+ { 0x51B2, 71754 },
+ { 0x51B8, 71758 },
+ { 0x51BD, 71762 },
+ { 0x51AD, 71766 },
+ { 0x5199, 71770 },
+ { 0x51BA, 71774 },
+ { 0x51B7, 71778 },
+ { 0x51B5, 71782 },
+ { 0x51A4, 71786 },
+ { 0x51AA, 71790 },
+ { 0x51B0, 71794 },
+ { 0x51A1, 71798 },
+ { 0x51A6, 71802 },
+ { 0x519F, 71806 },
+ { 0x51BF, 71810 },
+ { 0x51A2, 71814 },
+ { 0x51AC, 71818 },
+ { 0x51A7, 71822 },
+ { 0x51B3, 71826 },
+ { 0x51BB, 71830 },
+ { 0x51BC, 71834 },
+ { 0x51AE, 71838 },
+ { 0x51C2, 71842 },
+ { 0x51A8, 71846 },
+ { 0x51AB, 71850 },
+ { 0x51C1, 71854 },
+ { 0x51C0, 71858 },
+ { 0x51A9, 71862 },
+ { 0x51D2, 71866 },
+ { 0x51D4, 71869 },
+ { 0x81D4, 71872 },
+ { 0x7CF8, 71874 },
{ 0x2262, 71878 },
- { 0x80B4, 71879 },
+ { 0x80B9, 71879 },
{ 0x1F40, 71880 },
- { 0x7E35, 71883 },
- { 0x4C32, 71884 },
- { 0x4C35, 71887 },
- { 0x4C33, 71890 },
- { 0x4C34, 71893 },
- { 0x4C4C, 71896 },
- { 0x4C3A, 71899 },
- { 0x4C47, 71902 },
- { 0x4C38, 71905 },
- { 0x4C54, 71908 },
- { 0x4C3C, 71911 },
- { 0x4C36, 71914 },
- { 0x4C51, 71917 },
- { 0x4C4E, 71920 },
- { 0x4C49, 71923 },
- { 0x4C4A, 71926 },
- { 0x4C50, 71929 },
- { 0x4C53, 71932 },
- { 0x4C45, 71935 },
- { 0x4C52, 71938 },
- { 0x4C4F, 71941 },
- { 0x4C4D, 71944 },
- { 0x4C3B, 71947 },
- { 0x4C41, 71950 },
- { 0x4C48, 71953 },
- { 0x4C39, 71956 },
- { 0x4C3D, 71959 },
- { 0x4C37, 71962 },
- { 0x4C44, 71965 },
- { 0x4C3E, 71968 },
- { 0x4C4B, 71971 },
- { 0x4C56, 71974 },
- { 0x4C55, 71977 },
- { 0x4C46, 71980 },
- { 0x4C3F, 71983 },
- { 0x4C42, 71986 },
- { 0x4C43, 71989 },
- { 0x4C40, 71992 },
- { 0x4C57, 71995 },
- { 0x7B5A, 71998 },
- { 0x7B61, 72000 },
- { 0x6CE3, 72002 },
- { 0x6CE4, 72006 },
- { 0x6CE5, 72010 },
- { 0x6CE6, 72016 },
- { 0x6CE0, 72022 },
- { 0x6CE1, 72026 },
- { 0x6CE2, 72032 },
- { 0x6D03, 72038 },
- { 0x6D4E, 72042 },
- { 0x6CCC, 72045 },
- { 0x6D56, 72049 },
- { 0x6CF5, 72052 },
- { 0x6CCB, 72056 },
- { 0x6D68, 72060 },
- { 0x6D36, 72065 },
- { 0x6D34, 72069 },
- { 0x6D38, 72073 },
- { 0x6D3A, 72077 },
- { 0x6D24, 72081 },
- { 0x6D02, 72087 },
- { 0x6D9D, 72093 },
- { 0x6CCE, 72097 },
- { 0x6D74, 72100 },
- { 0x6D75, 72103 },
- { 0x6CE7, 72107 },
- { 0x6CE8, 72111 },
- { 0x6CEC, 72115 },
- { 0x6CED, 72119 },
- { 0x6D80, 72123 },
- { 0x6D7F, 72127 },
- { 0x6D1E, 72131 },
- { 0x6CFC, 72135 },
- { 0x6D70, 72139 },
- { 0x6CC8, 72144 },
- { 0x6D13, 72149 },
- { 0x6D12, 72154 },
- { 0x6D19, 72159 },
- { 0x6D04, 72163 },
- { 0x6DA9, 72167 },
- { 0x6D57, 72170 },
- { 0x6D5A, 72173 },
- { 0x6D59, 72177 },
- { 0x6D17, 72181 },
- { 0x6D73, 72185 },
- { 0x6D35, 72189 },
- { 0x6D33, 72193 },
- { 0x6D37, 72197 },
- { 0x6D39, 72201 },
- { 0x6CD6, 72205 },
- { 0x6D1C, 72208 },
- { 0x6D8F, 72211 },
- { 0x6CC4, 72214 },
- { 0x6D51, 72218 },
- { 0x6D55, 72221 },
- { 0x6D54, 72227 },
- { 0x6DAA, 72232 },
- { 0x6D77, 72235 },
- { 0x6D81, 72238 },
- { 0x6D82, 72243 },
- { 0x6D50, 72248 },
- { 0x6CFA, 72251 },
- { 0x6D6F, 72255 },
- { 0x6D6E, 72260 },
- { 0x6D4F, 72264 },
- { 0x6CC9, 72267 },
- { 0x6CCD, 72272 },
- { 0x6CF0, 72275 },
- { 0x6CF1, 72279 },
- { 0x6CC7, 72283 },
- { 0x6D93, 72287 },
- { 0x6D1D, 72290 },
- { 0x6CFB, 72294 },
- { 0x6CD4, 72298 },
- { 0x6D78, 72302 },
- { 0x6D83, 72305 },
- { 0x6D05, 72309 },
- { 0x6D95, 72314 },
- { 0x6CF4, 72317 },
- { 0x6CC6, 72321 },
- { 0x6D69, 72325 },
- { 0x6CEB, 72329 },
- { 0x6CEA, 72333 },
- { 0x6CC3, 72337 },
- { 0x6D20, 72341 },
- { 0x6CFE, 72345 },
- { 0x6D9E, 72349 },
- { 0x6D9F, 72354 },
- { 0x6DA8, 72360 },
- { 0x6DA3, 72365 },
- { 0x6DA0, 72370 },
- { 0x6DA2, 72375 },
- { 0x6DA7, 72380 },
- { 0x6DA6, 72387 },
- { 0x6DA5, 72394 },
- { 0x6DA4, 72401 },
- { 0x6DA1, 72408 },
- { 0x6D76, 72413 },
- { 0x6D7B, 72416 },
- { 0x6D85, 72419 },
- { 0x6D7C, 72423 },
- { 0x6CF6, 72427 },
- { 0x6CF7, 72431 },
- { 0x6CCA, 72435 },
- { 0x6CC2, 72439 },
- { 0x6D92, 72443 },
- { 0x6D07, 72447 },
- { 0x6D06, 72452 },
- { 0x6D4D, 72457 },
- { 0x6D87, 72460 },
- { 0x6D89, 72467 },
- { 0x6D88, 72475 },
- { 0x6D8A, 72482 },
- { 0x6D8B, 72489 },
- { 0x6D8C, 72496 },
- { 0x6D8D, 72504 },
- { 0x6D8E, 72512 },
- { 0x6CD7, 72520 },
- { 0x6CD5, 72523 },
- { 0x6D1B, 72526 },
- { 0x6D1A, 72531 },
- { 0x6CD2, 72536 },
- { 0x6CD3, 72539 },
- { 0x6CEE, 72543 },
- { 0x6CEF, 72547 },
- { 0x6D94, 72551 },
- { 0x6D1F, 72554 },
- { 0x6CFD, 72558 },
- { 0x6CF3, 72562 },
- { 0x6CF2, 72567 },
- { 0x6CC5, 72572 },
- { 0x6D97, 72577 },
- { 0x6D2A, 72580 },
- { 0x6D2B, 72584 },
- { 0x6D2C, 72588 },
- { 0x6D58, 72592 },
- { 0x6CE9, 72596 },
- { 0x6D18, 72601 },
- { 0x6CD8, 72605 },
- { 0x6D5B, 72609 },
- { 0x6D5C, 72613 },
- { 0x6D5D, 72617 },
- { 0x6D5E, 72621 },
- { 0x6D5F, 72625 },
- { 0x6D60, 72629 },
- { 0x6D61, 72633 },
- { 0x6D62, 72637 },
- { 0x6D63, 72641 },
- { 0x6D64, 72645 },
- { 0x6D65, 72649 },
- { 0x6CCF, 72653 },
- { 0x6CD0, 72657 },
- { 0x6CD1, 72661 },
- { 0x6CDD, 72665 },
- { 0x6D98, 72669 },
- { 0x6D9C, 72672 },
- { 0x6D09, 72676 },
- { 0x6D11, 72682 },
- { 0x6D10, 72689 },
- { 0x6D08, 72696 },
- { 0x6D0F, 72702 },
- { 0x6D0E, 72708 },
- { 0x6D0B, 72714 },
- { 0x6D0A, 72720 },
- { 0x6D0D, 72726 },
- { 0x6D0C, 72732 },
- { 0x6CD9, 72738 },
- { 0x6D6B, 72742 },
- { 0x6D46, 72747 },
- { 0x6D49, 72751 },
- { 0x6D45, 72755 },
- { 0x6D6A, 72759 },
- { 0x6D47, 72764 },
- { 0x6D6D, 72768 },
- { 0x6D25, 72773 },
- { 0x6D42, 72777 },
- { 0x6D48, 72781 },
- { 0x6D3B, 72785 },
- { 0x6D4A, 72789 },
- { 0x6D2E, 72794 },
- { 0x6D2F, 72798 },
- { 0x6D30, 72802 },
- { 0x6D31, 72806 },
- { 0x6D32, 72810 },
- { 0x6D3D, 72814 },
- { 0x6D4B, 72818 },
- { 0x6D3F, 72823 },
- { 0x6D6C, 72827 },
- { 0x6D3C, 72831 },
- { 0x6D27, 72835 },
- { 0x6D28, 72839 },
- { 0x6D29, 72843 },
- { 0x6D2D, 72847 },
- { 0x6D26, 72852 },
- { 0x6D3E, 72857 },
- { 0x6D41, 72861 },
- { 0x6D40, 72865 },
- { 0x6D52, 72869 },
- { 0x6CDC, 72872 },
- { 0x6CDB, 72876 },
- { 0x6D71, 72880 },
- { 0x6D72, 72884 },
- { 0x6D90, 72888 },
- { 0x6D91, 72893 },
- { 0x6D99, 72898 },
- { 0x6D9A, 72901 },
- { 0x6D96, 72905 },
- { 0x6D9B, 72908 },
- { 0x6D21, 72912 },
- { 0x6CFF, 72916 },
- { 0x6D43, 72920 },
- { 0x6D44, 72924 },
- { 0x6D84, 72928 },
- { 0x6D7A, 72932 },
- { 0x6D79, 72936 },
- { 0x6D86, 72940 },
- { 0x6D7E, 72944 },
- { 0x6D7D, 72948 },
- { 0x6CDE, 72952 },
- { 0x6CDA, 72956 },
- { 0x6D53, 72960 },
- { 0x6CDF, 72963 },
- { 0x6D66, 72967 },
- { 0x6D67, 72970 },
- { 0x6D16, 72973 },
- { 0x6D4C, 72977 },
- { 0x6CF8, 72980 },
- { 0x6CF9, 72984 },
- { 0x6D23, 72988 },
- { 0x6D01, 72992 },
- { 0x6D22, 72996 },
- { 0x6D00, 73000 },
- { 0x6D15, 73004 },
- { 0x6D14, 73010 },
- { 0x7B5E, 73016 },
- { 0x7B3D, 73018 },
- { 0x3941, 73022 },
- { 0x3946, 73027 },
- { 0x3942, 73032 },
- { 0x3945, 73037 },
- { 0x3944, 73042 },
- { 0x3949, 73047 },
- { 0x3940, 73052 },
- { 0x3948, 73057 },
- { 0x3947, 73062 },
- { 0x3943, 73067 },
+ { 0x7E3A, 71883 },
+ { 0x4C37, 71884 },
+ { 0x4C3A, 71887 },
+ { 0x4C38, 71890 },
+ { 0x4C39, 71893 },
+ { 0x4C51, 71896 },
+ { 0x4C3F, 71899 },
+ { 0x4C4C, 71902 },
+ { 0x4C3D, 71905 },
+ { 0x4C59, 71908 },
+ { 0x4C41, 71911 },
+ { 0x4C3B, 71914 },
+ { 0x4C56, 71917 },
+ { 0x4C53, 71920 },
+ { 0x4C4E, 71923 },
+ { 0x4C4F, 71926 },
+ { 0x4C55, 71929 },
+ { 0x4C58, 71932 },
+ { 0x4C4A, 71935 },
+ { 0x4C57, 71938 },
+ { 0x4C54, 71941 },
+ { 0x4C52, 71944 },
+ { 0x4C40, 71947 },
+ { 0x4C46, 71950 },
+ { 0x4C4D, 71953 },
+ { 0x4C3E, 71956 },
+ { 0x4C42, 71959 },
+ { 0x4C3C, 71962 },
+ { 0x4C49, 71965 },
+ { 0x4C43, 71968 },
+ { 0x4C50, 71971 },
+ { 0x4C5B, 71974 },
+ { 0x4C5A, 71977 },
+ { 0x4C4B, 71980 },
+ { 0x4C44, 71983 },
+ { 0x4C47, 71986 },
+ { 0x4C48, 71989 },
+ { 0x4C45, 71992 },
+ { 0x4C5C, 71995 },
+ { 0x7B5F, 71998 },
+ { 0x7B66, 72000 },
+ { 0x6CE8, 72002 },
+ { 0x6CE9, 72006 },
+ { 0x6CEA, 72010 },
+ { 0x6CEB, 72016 },
+ { 0x6CE5, 72022 },
+ { 0x6CE6, 72026 },
+ { 0x6CE7, 72032 },
+ { 0x6D08, 72038 },
+ { 0x6D53, 72042 },
+ { 0x6CD1, 72045 },
+ { 0x6D5B, 72049 },
+ { 0x6CFA, 72052 },
+ { 0x6CD0, 72056 },
+ { 0x6D6D, 72060 },
+ { 0x6D3B, 72065 },
+ { 0x6D39, 72069 },
+ { 0x6D3D, 72073 },
+ { 0x6D3F, 72077 },
+ { 0x6D29, 72081 },
+ { 0x6D07, 72087 },
+ { 0x6DA2, 72093 },
+ { 0x6CD3, 72097 },
+ { 0x6D79, 72100 },
+ { 0x6D7A, 72103 },
+ { 0x6CEC, 72107 },
+ { 0x6CED, 72111 },
+ { 0x6CF1, 72115 },
+ { 0x6CF2, 72119 },
+ { 0x6D85, 72123 },
+ { 0x6D84, 72127 },
+ { 0x6D23, 72131 },
+ { 0x6D01, 72135 },
+ { 0x6D75, 72139 },
+ { 0x6CCD, 72144 },
+ { 0x6D18, 72149 },
+ { 0x6D17, 72154 },
+ { 0x6D1E, 72159 },
+ { 0x6D09, 72163 },
+ { 0x6DAE, 72167 },
+ { 0x6D5C, 72170 },
+ { 0x6D5F, 72173 },
+ { 0x6D5E, 72177 },
+ { 0x6D1C, 72181 },
+ { 0x6D78, 72185 },
+ { 0x6D3A, 72189 },
+ { 0x6D38, 72193 },
+ { 0x6D3C, 72197 },
+ { 0x6D3E, 72201 },
+ { 0x6CDB, 72205 },
+ { 0x6D21, 72208 },
+ { 0x6D94, 72211 },
+ { 0x6CC9, 72214 },
+ { 0x6D56, 72218 },
+ { 0x6D5A, 72221 },
+ { 0x6D59, 72227 },
+ { 0x6DAF, 72232 },
+ { 0x6D7C, 72235 },
+ { 0x6D86, 72238 },
+ { 0x6D87, 72243 },
+ { 0x6D55, 72248 },
+ { 0x6CFF, 72251 },
+ { 0x6D74, 72255 },
+ { 0x6D73, 72260 },
+ { 0x6D54, 72264 },
+ { 0x6CCE, 72267 },
+ { 0x6CD2, 72272 },
+ { 0x6CF5, 72275 },
+ { 0x6CF6, 72279 },
+ { 0x6CCC, 72283 },
+ { 0x6D98, 72287 },
+ { 0x6D22, 72290 },
+ { 0x6D00, 72294 },
+ { 0x6CD9, 72298 },
+ { 0x6D7D, 72302 },
+ { 0x6D88, 72305 },
+ { 0x6D0A, 72309 },
+ { 0x6D9A, 72314 },
+ { 0x6CF9, 72317 },
+ { 0x6CCB, 72321 },
+ { 0x6D6E, 72325 },
+ { 0x6CF0, 72329 },
+ { 0x6CEF, 72333 },
+ { 0x6CC8, 72337 },
+ { 0x6D25, 72341 },
+ { 0x6D03, 72345 },
+ { 0x6DA3, 72349 },
+ { 0x6DA4, 72354 },
+ { 0x6DAD, 72360 },
+ { 0x6DA8, 72365 },
+ { 0x6DA5, 72370 },
+ { 0x6DA7, 72375 },
+ { 0x6DAC, 72380 },
+ { 0x6DAB, 72387 },
+ { 0x6DAA, 72394 },
+ { 0x6DA9, 72401 },
+ { 0x6DA6, 72408 },
+ { 0x6D7B, 72413 },
+ { 0x6D80, 72416 },
+ { 0x6D8A, 72419 },
+ { 0x6D81, 72423 },
+ { 0x6CFB, 72427 },
+ { 0x6CFC, 72431 },
+ { 0x6CCF, 72435 },
+ { 0x6CC7, 72439 },
+ { 0x6D97, 72443 },
+ { 0x6D0C, 72447 },
+ { 0x6D0B, 72452 },
+ { 0x6D52, 72457 },
+ { 0x6D8C, 72460 },
+ { 0x6D8E, 72467 },
+ { 0x6D8D, 72475 },
+ { 0x6D8F, 72482 },
+ { 0x6D90, 72489 },
+ { 0x6D91, 72496 },
+ { 0x6D92, 72504 },
+ { 0x6D93, 72512 },
+ { 0x6CDC, 72520 },
+ { 0x6CDA, 72523 },
+ { 0x6D20, 72526 },
+ { 0x6D1F, 72531 },
+ { 0x6CD7, 72536 },
+ { 0x6CD8, 72539 },
+ { 0x6CF3, 72543 },
+ { 0x6CF4, 72547 },
+ { 0x6D99, 72551 },
+ { 0x6D24, 72554 },
+ { 0x6D02, 72558 },
+ { 0x6CF8, 72562 },
+ { 0x6CF7, 72567 },
+ { 0x6CCA, 72572 },
+ { 0x6D9C, 72577 },
+ { 0x6D2F, 72580 },
+ { 0x6D30, 72584 },
+ { 0x6D31, 72588 },
+ { 0x6D5D, 72592 },
+ { 0x6CEE, 72596 },
+ { 0x6D1D, 72601 },
+ { 0x6CDD, 72605 },
+ { 0x6D60, 72609 },
+ { 0x6D61, 72613 },
+ { 0x6D62, 72617 },
+ { 0x6D63, 72621 },
+ { 0x6D64, 72625 },
+ { 0x6D65, 72629 },
+ { 0x6D66, 72633 },
+ { 0x6D67, 72637 },
+ { 0x6D68, 72641 },
+ { 0x6D69, 72645 },
+ { 0x6D6A, 72649 },
+ { 0x6CD4, 72653 },
+ { 0x6CD5, 72657 },
+ { 0x6CD6, 72661 },
+ { 0x6CE2, 72665 },
+ { 0x6D9D, 72669 },
+ { 0x6DA1, 72672 },
+ { 0x6D0E, 72676 },
+ { 0x6D16, 72682 },
+ { 0x6D15, 72689 },
+ { 0x6D0D, 72696 },
+ { 0x6D14, 72702 },
+ { 0x6D13, 72708 },
+ { 0x6D10, 72714 },
+ { 0x6D0F, 72720 },
+ { 0x6D12, 72726 },
+ { 0x6D11, 72732 },
+ { 0x6CDE, 72738 },
+ { 0x6D70, 72742 },
+ { 0x6D4B, 72747 },
+ { 0x6D4E, 72751 },
+ { 0x6D4A, 72755 },
+ { 0x6D6F, 72759 },
+ { 0x6D4C, 72764 },
+ { 0x6D72, 72768 },
+ { 0x6D2A, 72773 },
+ { 0x6D47, 72777 },
+ { 0x6D4D, 72781 },
+ { 0x6D40, 72785 },
+ { 0x6D4F, 72789 },
+ { 0x6D33, 72794 },
+ { 0x6D34, 72798 },
+ { 0x6D35, 72802 },
+ { 0x6D36, 72806 },
+ { 0x6D37, 72810 },
+ { 0x6D42, 72814 },
+ { 0x6D50, 72818 },
+ { 0x6D44, 72823 },
+ { 0x6D71, 72827 },
+ { 0x6D41, 72831 },
+ { 0x6D2C, 72835 },
+ { 0x6D2D, 72839 },
+ { 0x6D2E, 72843 },
+ { 0x6D32, 72847 },
+ { 0x6D2B, 72852 },
+ { 0x6D43, 72857 },
+ { 0x6D46, 72861 },
+ { 0x6D45, 72865 },
+ { 0x6D57, 72869 },
+ { 0x6CE1, 72872 },
+ { 0x6CE0, 72876 },
+ { 0x6D76, 72880 },
+ { 0x6D77, 72884 },
+ { 0x6D95, 72888 },
+ { 0x6D96, 72893 },
+ { 0x6D9E, 72898 },
+ { 0x6D9F, 72901 },
+ { 0x6D9B, 72905 },
+ { 0x6DA0, 72908 },
+ { 0x6D26, 72912 },
+ { 0x6D04, 72916 },
+ { 0x6D48, 72920 },
+ { 0x6D49, 72924 },
+ { 0x6D89, 72928 },
+ { 0x6D7F, 72932 },
+ { 0x6D7E, 72936 },
+ { 0x6D8B, 72940 },
+ { 0x6D83, 72944 },
+ { 0x6D82, 72948 },
+ { 0x6CE3, 72952 },
+ { 0x6CDF, 72956 },
+ { 0x6D58, 72960 },
+ { 0x6CE4, 72963 },
+ { 0x6D6B, 72967 },
+ { 0x6D6C, 72970 },
+ { 0x6D1B, 72973 },
+ { 0x6D51, 72977 },
+ { 0x6CFD, 72980 },
+ { 0x6CFE, 72984 },
+ { 0x6D28, 72988 },
+ { 0x6D06, 72992 },
+ { 0x6D27, 72996 },
+ { 0x6D05, 73000 },
+ { 0x6D1A, 73004 },
+ { 0x6D19, 73010 },
+ { 0x7B63, 73016 },
+ { 0x7B42, 73018 },
+ { 0x3946, 73022 },
+ { 0x394B, 73027 },
+ { 0x3947, 73032 },
+ { 0x394A, 73037 },
+ { 0x3949, 73042 },
+ { 0x394E, 73047 },
+ { 0x3945, 73052 },
+ { 0x394D, 73057 },
+ { 0x394C, 73062 },
+ { 0x3948, 73067 },
{ 0x0E40, 73072 },
{ 0x0E45, 73076 },
{ 0x0E41, 73080 },
@@ -66077,11 +66084,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0E46, 73104 },
{ 0x0E42, 73108 },
{ 0x0DE6, 73112 },
- { 0x39BD, 73116 },
- { 0x39BE, 73121 },
- { 0x39BF, 73126 },
+ { 0x39C2, 73116 },
+ { 0x39C3, 73121 },
+ { 0x39C4, 73126 },
{ 0x0DE9, 73131 },
- { 0x3935, 73134 },
+ { 0x393A, 73134 },
{ 0x0E36, 73138 },
{ 0x0E37, 73142 },
{ 0x0E38, 73146 },
@@ -66185,20 +66192,20 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0DC5, 73538 },
{ 0x0DFF, 73541 },
{ 0x0E00, 73544 },
- { 0x394D, 73547 },
- { 0x394B, 73552 },
- { 0x3938, 73557 },
- { 0x3939, 73562 },
- { 0x393B, 73567 },
- { 0x394E, 73572 },
- { 0x393D, 73577 },
- { 0x394C, 73582 },
- { 0x393A, 73587 },
- { 0x393C, 73592 },
- { 0x394A, 73597 },
- { 0x393F, 73602 },
- { 0x3937, 73607 },
- { 0x393E, 73612 },
+ { 0x3952, 73547 },
+ { 0x3950, 73552 },
+ { 0x393D, 73557 },
+ { 0x393E, 73562 },
+ { 0x3940, 73567 },
+ { 0x3953, 73572 },
+ { 0x3942, 73577 },
+ { 0x3951, 73582 },
+ { 0x393F, 73587 },
+ { 0x3941, 73592 },
+ { 0x394F, 73597 },
+ { 0x3944, 73602 },
+ { 0x393C, 73607 },
+ { 0x3943, 73612 },
{ 0x0DC0, 73617 },
{ 0x0DBA, 73620 },
{ 0x0DBD, 73623 },
@@ -66214,41 +66221,41 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0E24, 73662 },
{ 0x0E2B, 73666 },
{ 0x0E28, 73670 },
- { 0x3934, 73674 },
- { 0x3931, 73678 },
- { 0x3930, 73682 },
- { 0x3932, 73686 },
+ { 0x3939, 73674 },
+ { 0x3936, 73678 },
+ { 0x3935, 73682 },
+ { 0x3937, 73686 },
{ 0x0E25, 73690 },
- { 0x3933, 73694 },
+ { 0x3938, 73694 },
{ 0x0E29, 73698 },
{ 0x0E2C, 73702 },
{ 0x0E2F, 73706 },
- { 0x39C0, 73710 },
- { 0x39C1, 73715 },
+ { 0x39C5, 73710 },
+ { 0x39C6, 73715 },
{ 0x0DBB, 73720 },
- { 0x39BC, 73723 },
+ { 0x39C1, 73723 },
{ 0x0DEE, 73727 },
{ 0x0E3D, 73731 },
- { 0x39A3, 73736 },
- { 0x39B1, 73740 },
- { 0x39A2, 73744 },
- { 0x39AF, 73748 },
- { 0x39A5, 73752 },
- { 0x39AD, 73756 },
- { 0x39B5, 73760 },
- { 0x39AE, 73764 },
- { 0x39B3, 73768 },
- { 0x39B4, 73772 },
- { 0x39A4, 73776 },
- { 0x39AA, 73780 },
- { 0x39AC, 73784 },
- { 0x39B0, 73788 },
- { 0x39A6, 73792 },
- { 0x39B0, 73796 },
- { 0x39A7, 73800 },
- { 0x39A8, 73804 },
- { 0x39AB, 73808 },
- { 0x39A9, 73812 },
+ { 0x39A8, 73736 },
+ { 0x39B6, 73740 },
+ { 0x39A7, 73744 },
+ { 0x39B4, 73748 },
+ { 0x39AA, 73752 },
+ { 0x39B2, 73756 },
+ { 0x39BA, 73760 },
+ { 0x39B3, 73764 },
+ { 0x39B8, 73768 },
+ { 0x39B9, 73772 },
+ { 0x39A9, 73776 },
+ { 0x39AF, 73780 },
+ { 0x39B1, 73784 },
+ { 0x39B5, 73788 },
+ { 0x39AB, 73792 },
+ { 0x39B5, 73796 },
+ { 0x39AC, 73800 },
+ { 0x39AD, 73804 },
+ { 0x39B0, 73808 },
+ { 0x39AE, 73812 },
{ 0x0E1D, 73816 },
{ 0x0E1E, 73822 },
{ 0x0E1F, 73828 },
@@ -66260,18 +66267,18 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0E14, 73856 },
{ 0x0E4D, 73862 },
{ 0x0E4E, 73866 },
- { 0x39BA, 73870 },
- { 0x39BB, 73874 },
- { 0x39B9, 73878 },
+ { 0x39BF, 73870 },
+ { 0x39C0, 73874 },
+ { 0x39BE, 73878 },
{ 0x0DFE, 73882 },
{ 0x0DFB, 73885 },
{ 0x0DFC, 73888 },
{ 0x0DFD, 73891 },
- { 0x39B8, 73894 },
- { 0x39B7, 73898 },
- { 0x39B6, 73902 },
- { 0x3936, 73906 },
- { 0x39B2, 73911 },
+ { 0x39BD, 73894 },
+ { 0x39BC, 73898 },
+ { 0x39BB, 73902 },
+ { 0x393B, 73906 },
+ { 0x39B7, 73911 },
{ 0x0E0F, 73916 },
{ 0x0E0E, 73922 },
{ 0x0E0D, 73928 },
@@ -66280,7 +66287,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0DEB, 73945 },
{ 0x0DEC, 73950 },
{ 0x0DEA, 73955 },
- { 0x7BF9, 73960 },
+ { 0x7BFE, 73960 },
{ 0x1F00, 73961 },
{ 0x1ED9, 73968 },
{ 0x1EDA, 73975 },
@@ -66293,322 +66300,322 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E98, 74010 },
{ 0x2269, 74016 },
{ 0x27E9, 74017 },
- { 0x8189, 74020 },
- { 0x7DB5, 74022 },
- { 0x8114, 74024 },
- { 0x8153, 74027 },
- { 0x8129, 74035 },
- { 0x8119, 74041 },
- { 0x8158, 74044 },
- { 0x812E, 74052 },
- { 0x8116, 74058 },
- { 0x8155, 74061 },
- { 0x812B, 74069 },
- { 0x8115, 74075 },
- { 0x8154, 74078 },
- { 0x812A, 74086 },
- { 0x8117, 74092 },
- { 0x8156, 74095 },
- { 0x812C, 74103 },
- { 0x8118, 74109 },
- { 0x8131, 74112 },
- { 0x8157, 74120 },
- { 0x8146, 74128 },
- { 0x815B, 74136 },
- { 0x812D, 74144 },
- { 0x811C, 74150 },
- { 0x813E, 74156 },
- { 0x8143, 74160 },
- { 0x8140, 74164 },
- { 0x813F, 74168 },
- { 0x8141, 74172 },
- { 0x8142, 74176 },
- { 0x815E, 74180 },
- { 0x8161, 74183 },
+ { 0x818E, 74020 },
+ { 0x7DBA, 74022 },
+ { 0x8119, 74024 },
+ { 0x8158, 74027 },
+ { 0x812E, 74035 },
+ { 0x811E, 74041 },
+ { 0x815D, 74044 },
+ { 0x8133, 74052 },
+ { 0x811B, 74058 },
+ { 0x815A, 74061 },
+ { 0x8130, 74069 },
+ { 0x811A, 74075 },
+ { 0x8159, 74078 },
+ { 0x812F, 74086 },
+ { 0x811C, 74092 },
+ { 0x815B, 74095 },
+ { 0x8131, 74103 },
+ { 0x811D, 74109 },
+ { 0x8136, 74112 },
+ { 0x815C, 74120 },
+ { 0x814B, 74128 },
+ { 0x8160, 74136 },
+ { 0x8132, 74144 },
+ { 0x8121, 74150 },
+ { 0x8143, 74156 },
+ { 0x8148, 74160 },
+ { 0x8145, 74164 },
+ { 0x8144, 74168 },
+ { 0x8146, 74172 },
+ { 0x8147, 74176 },
+ { 0x8163, 74180 },
+ { 0x8166, 74183 },
{ 0x27B3, 74189 },
{ 0x27B4, 74191 },
{ 0x1CE8, 74193 },
- { 0x4124, 74196 },
- { 0x7CE8, 74198 },
+ { 0x4129, 74196 },
+ { 0x7CED, 74198 },
{ 0x23D2, 74204 },
- { 0x7CE9, 74210 },
+ { 0x7CEE, 74210 },
{ 0x23D4, 74216 },
{ 0x25C9, 74222 },
{ 0x25CA, 74226 },
{ 0x2A4A, 74230 },
- { 0x7BBE, 74232 },
- { 0x7C64, 74233 },
- { 0x7D5D, 74235 },
- { 0x4328, 74238 },
- { 0x432D, 74241 },
- { 0x4329, 74244 },
- { 0x432C, 74247 },
- { 0x432B, 74250 },
- { 0x4330, 74253 },
- { 0x4327, 74256 },
- { 0x432F, 74259 },
- { 0x432E, 74262 },
- { 0x432A, 74265 },
- { 0x431F, 74268 },
- { 0x4320, 74271 },
- { 0x4321, 74274 },
- { 0x4322, 74277 },
- { 0x4323, 74280 },
- { 0x4324, 74283 },
- { 0x430A, 74286 },
- { 0x4325, 74289 },
- { 0x4316, 74292 },
- { 0x4315, 74295 },
- { 0x431D, 74298 },
- { 0x430C, 74301 },
- { 0x4326, 74304 },
- { 0x4310, 74307 },
- { 0x4311, 74310 },
- { 0x430B, 74313 },
- { 0x430D, 74316 },
- { 0x431E, 74319 },
- { 0x4313, 74322 },
- { 0x430E, 74325 },
- { 0x431C, 74328 },
- { 0x4309, 74331 },
- { 0x4314, 74334 },
- { 0x430F, 74337 },
- { 0x4318, 74340 },
- { 0x4319, 74343 },
- { 0x431A, 74346 },
- { 0x431B, 74349 },
- { 0x4317, 74352 },
- { 0x4312, 74355 },
- { 0x77EF, 74358 },
- { 0x7801, 74362 },
- { 0x780A, 74367 },
- { 0x77F4, 74372 },
- { 0x7806, 74376 },
- { 0x780F, 74381 },
- { 0x77F8, 74386 },
- { 0x7813, 74390 },
- { 0x77F0, 74395 },
- { 0x7802, 74399 },
- { 0x780B, 74404 },
- { 0x77F3, 74409 },
- { 0x7805, 74413 },
- { 0x780E, 74418 },
- { 0x77F2, 74423 },
- { 0x7804, 74427 },
- { 0x780D, 74432 },
- { 0x77F7, 74437 },
- { 0x7809, 74441 },
- { 0x7812, 74446 },
- { 0x77F6, 74451 },
- { 0x7808, 74455 },
- { 0x7811, 74460 },
- { 0x77FC, 74465 },
- { 0x7817, 74469 },
- { 0x77FB, 74474 },
- { 0x7816, 74478 },
- { 0x77F5, 74483 },
- { 0x7807, 74487 },
- { 0x7810, 74492 },
- { 0x77FD, 74497 },
- { 0x7818, 74501 },
- { 0x77F1, 74506 },
- { 0x7803, 74510 },
- { 0x780C, 74515 },
- { 0x77FF, 74520 },
- { 0x781A, 74524 },
- { 0x7800, 74529 },
- { 0x781B, 74533 },
- { 0x77FA, 74538 },
- { 0x7815, 74542 },
- { 0x77F9, 74547 },
- { 0x7814, 74551 },
- { 0x77FE, 74556 },
- { 0x7819, 74560 },
- { 0x782A, 74565 },
- { 0x782B, 74570 },
- { 0x781C, 74575 },
- { 0x7821, 74578 },
- { 0x7827, 74583 },
- { 0x7825, 74589 },
- { 0x7829, 74594 },
- { 0x781D, 74600 },
- { 0x7828, 74605 },
- { 0x7820, 74611 },
- { 0x781F, 74616 },
- { 0x7826, 74621 },
- { 0x7824, 74627 },
- { 0x7823, 74632 },
- { 0x7822, 74637 },
- { 0x781E, 74642 },
- { 0x7D7C, 74647 },
- { 0x7C8B, 74648 },
+ { 0x7BC3, 74232 },
+ { 0x7C69, 74233 },
+ { 0x7D62, 74235 },
+ { 0x432D, 74238 },
+ { 0x4332, 74241 },
+ { 0x432E, 74244 },
+ { 0x4331, 74247 },
+ { 0x4330, 74250 },
+ { 0x4335, 74253 },
+ { 0x432C, 74256 },
+ { 0x4334, 74259 },
+ { 0x4333, 74262 },
+ { 0x432F, 74265 },
+ { 0x4324, 74268 },
+ { 0x4325, 74271 },
+ { 0x4326, 74274 },
+ { 0x4327, 74277 },
+ { 0x4328, 74280 },
+ { 0x4329, 74283 },
+ { 0x430F, 74286 },
+ { 0x432A, 74289 },
+ { 0x431B, 74292 },
+ { 0x431A, 74295 },
+ { 0x4322, 74298 },
+ { 0x4311, 74301 },
+ { 0x432B, 74304 },
+ { 0x4315, 74307 },
+ { 0x4316, 74310 },
+ { 0x4310, 74313 },
+ { 0x4312, 74316 },
+ { 0x4323, 74319 },
+ { 0x4318, 74322 },
+ { 0x4313, 74325 },
+ { 0x4321, 74328 },
+ { 0x430E, 74331 },
+ { 0x4319, 74334 },
+ { 0x4314, 74337 },
+ { 0x431D, 74340 },
+ { 0x431E, 74343 },
+ { 0x431F, 74346 },
+ { 0x4320, 74349 },
+ { 0x431C, 74352 },
+ { 0x4317, 74355 },
+ { 0x77F4, 74358 },
+ { 0x7806, 74362 },
+ { 0x780F, 74367 },
+ { 0x77F9, 74372 },
+ { 0x780B, 74376 },
+ { 0x7814, 74381 },
+ { 0x77FD, 74386 },
+ { 0x7818, 74390 },
+ { 0x77F5, 74395 },
+ { 0x7807, 74399 },
+ { 0x7810, 74404 },
+ { 0x77F8, 74409 },
+ { 0x780A, 74413 },
+ { 0x7813, 74418 },
+ { 0x77F7, 74423 },
+ { 0x7809, 74427 },
+ { 0x7812, 74432 },
+ { 0x77FC, 74437 },
+ { 0x780E, 74441 },
+ { 0x7817, 74446 },
+ { 0x77FB, 74451 },
+ { 0x780D, 74455 },
+ { 0x7816, 74460 },
+ { 0x7801, 74465 },
+ { 0x781C, 74469 },
+ { 0x7800, 74474 },
+ { 0x781B, 74478 },
+ { 0x77FA, 74483 },
+ { 0x780C, 74487 },
+ { 0x7815, 74492 },
+ { 0x7802, 74497 },
+ { 0x781D, 74501 },
+ { 0x77F6, 74506 },
+ { 0x7808, 74510 },
+ { 0x7811, 74515 },
+ { 0x7804, 74520 },
+ { 0x781F, 74524 },
+ { 0x7805, 74529 },
+ { 0x7820, 74533 },
+ { 0x77FF, 74538 },
+ { 0x781A, 74542 },
+ { 0x77FE, 74547 },
+ { 0x7819, 74551 },
+ { 0x7803, 74556 },
+ { 0x781E, 74560 },
+ { 0x782F, 74565 },
+ { 0x7830, 74570 },
+ { 0x7821, 74575 },
+ { 0x7826, 74578 },
+ { 0x782C, 74583 },
+ { 0x782A, 74589 },
+ { 0x782E, 74594 },
+ { 0x7822, 74600 },
+ { 0x782D, 74605 },
+ { 0x7825, 74611 },
+ { 0x7824, 74616 },
+ { 0x782B, 74621 },
+ { 0x7829, 74627 },
+ { 0x7828, 74632 },
+ { 0x7827, 74637 },
+ { 0x7823, 74642 },
+ { 0x7D81, 74647 },
+ { 0x7C90, 74648 },
{ 0x1E53, 74649 },
- { 0x80AE, 74651 },
- { 0x8070, 74652 },
- { 0x7BCC, 74653 },
- { 0x7DB9, 74654 },
+ { 0x80B3, 74651 },
+ { 0x8075, 74652 },
+ { 0x7BD1, 74653 },
+ { 0x7DBE, 74654 },
{ 0x0005, 74656 },
{ 0x0075, 74658 },
- { 0x8020, 74660 },
- { 0x81A3, 74662 },
- { 0x7978, 74663 },
- { 0x795A, 74668 },
- { 0x794C, 74673 },
- { 0x7969, 74678 },
- { 0x7968, 74683 },
- { 0x797D, 74687 },
- { 0x795F, 74692 },
- { 0x7951, 74697 },
- { 0x796E, 74702 },
- { 0x7981, 74707 },
- { 0x7963, 74712 },
- { 0x7955, 74717 },
- { 0x7972, 74722 },
- { 0x7979, 74727 },
- { 0x795B, 74732 },
- { 0x794D, 74737 },
- { 0x796A, 74742 },
- { 0x794B, 74747 },
- { 0x797C, 74750 },
- { 0x795E, 74755 },
- { 0x7950, 74760 },
- { 0x796D, 74765 },
- { 0x7987, 74770 },
- { 0x797B, 74773 },
- { 0x795D, 74778 },
- { 0x794F, 74783 },
- { 0x796C, 74788 },
- { 0x7982, 74793 },
- { 0x7964, 74798 },
- { 0x7956, 74803 },
- { 0x7973, 74808 },
- { 0x7985, 74813 },
- { 0x7967, 74818 },
- { 0x7959, 74823 },
- { 0x7976, 74828 },
- { 0x7980, 74833 },
- { 0x7962, 74838 },
- { 0x7954, 74843 },
- { 0x7971, 74848 },
- { 0x7977, 74853 },
- { 0x797F, 74857 },
- { 0x7961, 74862 },
- { 0x7953, 74867 },
- { 0x7970, 74872 },
- { 0x7984, 74877 },
- { 0x7966, 74882 },
- { 0x7958, 74887 },
- { 0x7975, 74892 },
- { 0x797E, 74897 },
- { 0x7960, 74902 },
- { 0x7952, 74907 },
- { 0x796F, 74912 },
- { 0x797A, 74917 },
- { 0x795C, 74922 },
- { 0x794E, 74927 },
- { 0x796B, 74932 },
- { 0x7986, 74937 },
- { 0x7983, 74941 },
- { 0x7965, 74946 },
- { 0x7957, 74951 },
- { 0x7974, 74956 },
- { 0x7988, 74961 },
- { 0x7989, 74964 },
- { 0x798A, 74967 },
- { 0x798B, 74970 },
- { 0x798C, 74973 },
- { 0x798D, 74976 },
- { 0x798E, 74979 },
- { 0x798F, 74982 },
- { 0x7990, 74985 },
- { 0x7991, 74988 },
- { 0x7992, 74991 },
- { 0x7993, 74994 },
- { 0x7994, 74997 },
- { 0x7995, 75000 },
- { 0x7996, 75003 },
- { 0x7997, 75006 },
- { 0x7998, 75009 },
- { 0x7999, 75012 },
- { 0x799A, 75015 },
- { 0x799B, 75018 },
- { 0x799C, 75021 },
- { 0x819C, 75024 },
- { 0x7B24, 75025 },
- { 0x7C93, 75026 },
- { 0x7E55, 75027 },
- { 0x7AFC, 75030 },
- { 0x81CA, 75032 },
- { 0x7DE3, 75034 },
- { 0x7DC6, 75037 },
- { 0x807C, 75039 },
- { 0x7D4D, 75040 },
- { 0x7D5B, 75041 },
- { 0x80C3, 75043 },
- { 0x4856, 75045 },
- { 0x4855, 75051 },
- { 0x4845, 75057 },
- { 0x484F, 75061 },
- { 0x484D, 75065 },
- { 0x4852, 75069 },
- { 0x4842, 75073 },
- { 0x4848, 75077 },
- { 0x484A, 75081 },
- { 0x4851, 75085 },
- { 0x4849, 75089 },
- { 0x4841, 75093 },
- { 0x4843, 75097 },
- { 0x4850, 75101 },
- { 0x4847, 75105 },
- { 0x4844, 75109 },
- { 0x484B, 75113 },
- { 0x484E, 75117 },
- { 0x484C, 75121 },
- { 0x4846, 75125 },
- { 0x4857, 75129 },
- { 0x485D, 75133 },
- { 0x485B, 75138 },
- { 0x4858, 75142 },
- { 0x485A, 75146 },
- { 0x4859, 75150 },
- { 0x485C, 75154 },
- { 0x4854, 75158 },
- { 0x4853, 75163 },
+ { 0x8025, 74660 },
+ { 0x81A8, 74662 },
+ { 0x797D, 74663 },
+ { 0x795F, 74668 },
+ { 0x7951, 74673 },
+ { 0x796E, 74678 },
+ { 0x796D, 74683 },
+ { 0x7982, 74687 },
+ { 0x7964, 74692 },
+ { 0x7956, 74697 },
+ { 0x7973, 74702 },
+ { 0x7986, 74707 },
+ { 0x7968, 74712 },
+ { 0x795A, 74717 },
+ { 0x7977, 74722 },
+ { 0x797E, 74727 },
+ { 0x7960, 74732 },
+ { 0x7952, 74737 },
+ { 0x796F, 74742 },
+ { 0x7950, 74747 },
+ { 0x7981, 74750 },
+ { 0x7963, 74755 },
+ { 0x7955, 74760 },
+ { 0x7972, 74765 },
+ { 0x798C, 74770 },
+ { 0x7980, 74773 },
+ { 0x7962, 74778 },
+ { 0x7954, 74783 },
+ { 0x7971, 74788 },
+ { 0x7987, 74793 },
+ { 0x7969, 74798 },
+ { 0x795B, 74803 },
+ { 0x7978, 74808 },
+ { 0x798A, 74813 },
+ { 0x796C, 74818 },
+ { 0x795E, 74823 },
+ { 0x797B, 74828 },
+ { 0x7985, 74833 },
+ { 0x7967, 74838 },
+ { 0x7959, 74843 },
+ { 0x7976, 74848 },
+ { 0x797C, 74853 },
+ { 0x7984, 74857 },
+ { 0x7966, 74862 },
+ { 0x7958, 74867 },
+ { 0x7975, 74872 },
+ { 0x7989, 74877 },
+ { 0x796B, 74882 },
+ { 0x795D, 74887 },
+ { 0x797A, 74892 },
+ { 0x7983, 74897 },
+ { 0x7965, 74902 },
+ { 0x7957, 74907 },
+ { 0x7974, 74912 },
+ { 0x797F, 74917 },
+ { 0x7961, 74922 },
+ { 0x7953, 74927 },
+ { 0x7970, 74932 },
+ { 0x798B, 74937 },
+ { 0x7988, 74941 },
+ { 0x796A, 74946 },
+ { 0x795C, 74951 },
+ { 0x7979, 74956 },
+ { 0x798D, 74961 },
+ { 0x798E, 74964 },
+ { 0x798F, 74967 },
+ { 0x7990, 74970 },
+ { 0x7991, 74973 },
+ { 0x7992, 74976 },
+ { 0x7993, 74979 },
+ { 0x7994, 74982 },
+ { 0x7995, 74985 },
+ { 0x7996, 74988 },
+ { 0x7997, 74991 },
+ { 0x7998, 74994 },
+ { 0x7999, 74997 },
+ { 0x799A, 75000 },
+ { 0x799B, 75003 },
+ { 0x799C, 75006 },
+ { 0x799D, 75009 },
+ { 0x799E, 75012 },
+ { 0x799F, 75015 },
+ { 0x79A0, 75018 },
+ { 0x79A1, 75021 },
+ { 0x81A1, 75024 },
+ { 0x7B29, 75025 },
+ { 0x7C98, 75026 },
+ { 0x7E5A, 75027 },
+ { 0x7B01, 75030 },
+ { 0x81CF, 75032 },
+ { 0x7DE8, 75034 },
+ { 0x7DCB, 75037 },
+ { 0x8081, 75039 },
+ { 0x7D52, 75040 },
+ { 0x7D60, 75041 },
+ { 0x80C8, 75043 },
+ { 0x485B, 75045 },
+ { 0x485A, 75051 },
+ { 0x484A, 75057 },
+ { 0x4854, 75061 },
+ { 0x4852, 75065 },
+ { 0x4857, 75069 },
+ { 0x4847, 75073 },
+ { 0x484D, 75077 },
+ { 0x484F, 75081 },
+ { 0x4856, 75085 },
+ { 0x484E, 75089 },
+ { 0x4846, 75093 },
+ { 0x4848, 75097 },
+ { 0x4855, 75101 },
+ { 0x484C, 75105 },
+ { 0x4849, 75109 },
+ { 0x4850, 75113 },
+ { 0x4853, 75117 },
+ { 0x4851, 75121 },
+ { 0x484B, 75125 },
+ { 0x485C, 75129 },
+ { 0x4862, 75133 },
+ { 0x4860, 75138 },
+ { 0x485D, 75142 },
+ { 0x485F, 75146 },
+ { 0x485E, 75150 },
+ { 0x4861, 75154 },
+ { 0x4859, 75158 },
+ { 0x4858, 75163 },
{ 0x2A3B, 75167 },
- { 0x7C71, 75170 },
+ { 0x7C76, 75170 },
{ 0x228C, 75171 },
- { 0x80B1, 75173 },
+ { 0x80B6, 75173 },
{ 0x2008, 75174 },
- { 0x7E28, 75177 },
- { 0x7E85, 75179 },
- { 0x7AAD, 75181 },
- { 0x8112, 75182 },
- { 0x7F5F, 75183 },
+ { 0x7E2D, 75177 },
+ { 0x7E8A, 75179 },
+ { 0x7AB2, 75181 },
+ { 0x8117, 75182 },
+ { 0x7F64, 75183 },
{ 0x2764, 75189 },
{ 0x276A, 75195 },
- { 0x7E24, 75201 },
+ { 0x7E29, 75201 },
{ 0x003C, 75204 },
{ 0x261A, 75206 },
{ 0x2618, 75211 },
{ 0x23EB, 75214 },
- { 0x7D12, 75218 },
- { 0x7B05, 75220 },
- { 0x8037, 75223 },
- { 0x7BB8, 75228 },
- { 0x7B9A, 75229 },
+ { 0x7D17, 75218 },
+ { 0x7B0A, 75220 },
+ { 0x803C, 75223 },
+ { 0x7BBD, 75228 },
+ { 0x7B9F, 75229 },
{ 0x2388, 75230 },
{ 0x27ED, 75235 },
{ 0x27EF, 75241 },
{ 0x238A, 75246 },
{ 0x1D8F, 75250 },
- { 0x7A9F, 75253 },
- { 0x7AA0, 75257 },
- { 0x7AA2, 75261 },
- { 0x7AA4, 75265 },
- { 0x7AA1, 75269 },
- { 0x7AA3, 75273 },
- { 0x7E48, 75277 },
- { 0x7B62, 75278 },
+ { 0x7AA4, 75253 },
+ { 0x7AA5, 75257 },
+ { 0x7AA7, 75261 },
+ { 0x7AA9, 75265 },
+ { 0x7AA6, 75269 },
+ { 0x7AA8, 75273 },
+ { 0x7E4D, 75277 },
+ { 0x7B67, 75278 },
{ 0x2814, 75282 },
{ 0x2816, 75286 },
{ 0x2815, 75290 },
@@ -66616,253 +66623,253 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2818, 75298 },
{ 0x2813, 75302 },
{ 0x2236, 75306 },
- { 0x7E92, 75307 },
+ { 0x7E97, 75307 },
{ 0x1D5D, 75308 },
{ 0x0066, 75309 },
{ 0x1F64, 75311 },
- { 0x8040, 75312 },
+ { 0x8045, 75312 },
{ 0x1D75, 75318 },
{ 0x22DC, 75320 },
- { 0x81D7, 75321 },
- { 0x806C, 75323 },
- { 0x4BC1, 75327 },
- { 0x4BD7, 75329 },
- { 0x4BC7, 75331 },
- { 0x4BBD, 75334 },
- { 0x4BD8, 75337 },
- { 0x4B7F, 75340 },
- { 0x4B7E, 75343 },
- { 0x4BBE, 75346 },
- { 0x4BCC, 75349 },
- { 0x4B7D, 75353 },
- { 0x4BBF, 75356 },
- { 0x4BC0, 75359 },
- { 0x4BC2, 75362 },
- { 0x4BCE, 75364 },
- { 0x4BD3, 75367 },
- { 0x4BCF, 75370 },
- { 0x4BD2, 75373 },
- { 0x4BD1, 75376 },
- { 0x4BD6, 75379 },
- { 0x4BCD, 75382 },
- { 0x4BD5, 75385 },
- { 0x4BD4, 75388 },
- { 0x4BD0, 75391 },
- { 0x4BC9, 75394 },
- { 0x4BCA, 75399 },
- { 0x4BB9, 75402 },
- { 0x4BB1, 75406 },
- { 0x4BBB, 75410 },
- { 0x4BB3, 75414 },
- { 0x4BB0, 75418 },
- { 0x4BBA, 75422 },
- { 0x4BBC, 75426 },
- { 0x4BB2, 75430 },
- { 0x4BB4, 75434 },
- { 0x4BB7, 75438 },
- { 0x4BB5, 75443 },
- { 0x4BB8, 75448 },
- { 0x4BB6, 75453 },
- { 0x4BCB, 75458 },
- { 0x4BC8, 75463 },
- { 0x4BC3, 75467 },
- { 0x4B80, 75470 },
- { 0x4B8A, 75473 },
- { 0x4B82, 75476 },
- { 0x4B8C, 75479 },
- { 0x4B84, 75482 },
- { 0x4B81, 75485 },
- { 0x4B8B, 75488 },
- { 0x4B8D, 75491 },
- { 0x4BA4, 75494 },
- { 0x4B93, 75497 },
- { 0x4B9F, 75500 },
- { 0x4B90, 75503 },
- { 0x4BAF, 75506 },
- { 0x4B83, 75509 },
- { 0x4B95, 75512 },
- { 0x4B8E, 75515 },
- { 0x4BA9, 75518 },
- { 0x4BA6, 75521 },
- { 0x4BA1, 75524 },
- { 0x4BA2, 75527 },
- { 0x4BA8, 75530 },
- { 0x4BAE, 75533 },
- { 0x4B9D, 75536 },
- { 0x4B85, 75539 },
- { 0x4BAB, 75542 },
- { 0x4BA7, 75545 },
- { 0x4BA5, 75548 },
- { 0x4B94, 75551 },
- { 0x4B9A, 75554 },
- { 0x4BA0, 75557 },
- { 0x4B91, 75560 },
- { 0x4B96, 75563 },
- { 0x4B8F, 75566 },
- { 0x4BAA, 75569 },
- { 0x4B92, 75572 },
- { 0x4B9C, 75575 },
- { 0x4B97, 75578 },
- { 0x4BA3, 75581 },
- { 0x4BAC, 75584 },
- { 0x4BAD, 75587 },
- { 0x4B9E, 75590 },
- { 0x4B98, 75593 },
- { 0x4B9B, 75596 },
- { 0x4B99, 75599 },
- { 0x4B88, 75602 },
- { 0x4B86, 75606 },
- { 0x4B89, 75610 },
- { 0x4B87, 75614 },
- { 0x4BC6, 75618 },
- { 0x4BDB, 75621 },
- { 0x4BDC, 75624 },
- { 0x4BC5, 75627 },
- { 0x4BD9, 75629 },
- { 0x4BC4, 75631 },
- { 0x4BDA, 75634 },
- { 0x42F6, 75637 },
- { 0x42EF, 75640 },
- { 0x42F3, 75643 },
- { 0x4302, 75646 },
- { 0x42DE, 75649 },
- { 0x42FC, 75652 },
- { 0x42F2, 75655 },
- { 0x42FA, 75658 },
- { 0x4303, 75661 },
- { 0x4301, 75664 },
- { 0x42F1, 75667 },
- { 0x4300, 75670 },
- { 0x42E3, 75673 },
- { 0x4306, 75676 },
- { 0x42F9, 75679 },
- { 0x42F0, 75682 },
- { 0x4304, 75685 },
- { 0x42DC, 75688 },
- { 0x42E5, 75691 },
- { 0x4307, 75694 },
- { 0x42FB, 75697 },
- { 0x42F8, 75700 },
- { 0x42FD, 75703 },
- { 0x42FF, 75706 },
- { 0x42F5, 75709 },
- { 0x42DA, 75712 },
- { 0x42E6, 75715 },
- { 0x42EB, 75718 },
- { 0x42E1, 75721 },
- { 0x4308, 75724 },
- { 0x42E8, 75727 },
- { 0x42E4, 75730 },
- { 0x42E2, 75733 },
- { 0x42DB, 75736 },
- { 0x42ED, 75739 },
- { 0x42EE, 75742 },
- { 0x42FE, 75745 },
- { 0x42D9, 75748 },
- { 0x42F7, 75751 },
- { 0x42DF, 75754 },
- { 0x42E7, 75757 },
- { 0x42F4, 75760 },
- { 0x4305, 75763 },
- { 0x42EC, 75766 },
- { 0x42EA, 75769 },
- { 0x42DD, 75772 },
- { 0x42E0, 75775 },
- { 0x42E9, 75778 },
- { 0x8043, 75781 },
+ { 0x81DC, 75321 },
+ { 0x8071, 75323 },
+ { 0x4BC6, 75327 },
+ { 0x4BDC, 75329 },
+ { 0x4BCC, 75331 },
+ { 0x4BC2, 75334 },
+ { 0x4BDD, 75337 },
+ { 0x4B84, 75340 },
+ { 0x4B83, 75343 },
+ { 0x4BC3, 75346 },
+ { 0x4BD1, 75349 },
+ { 0x4B82, 75353 },
+ { 0x4BC4, 75356 },
+ { 0x4BC5, 75359 },
+ { 0x4BC7, 75362 },
+ { 0x4BD3, 75364 },
+ { 0x4BD8, 75367 },
+ { 0x4BD4, 75370 },
+ { 0x4BD7, 75373 },
+ { 0x4BD6, 75376 },
+ { 0x4BDB, 75379 },
+ { 0x4BD2, 75382 },
+ { 0x4BDA, 75385 },
+ { 0x4BD9, 75388 },
+ { 0x4BD5, 75391 },
+ { 0x4BCE, 75394 },
+ { 0x4BCF, 75399 },
+ { 0x4BBE, 75402 },
+ { 0x4BB6, 75406 },
+ { 0x4BC0, 75410 },
+ { 0x4BB8, 75414 },
+ { 0x4BB5, 75418 },
+ { 0x4BBF, 75422 },
+ { 0x4BC1, 75426 },
+ { 0x4BB7, 75430 },
+ { 0x4BB9, 75434 },
+ { 0x4BBC, 75438 },
+ { 0x4BBA, 75443 },
+ { 0x4BBD, 75448 },
+ { 0x4BBB, 75453 },
+ { 0x4BD0, 75458 },
+ { 0x4BCD, 75463 },
+ { 0x4BC8, 75467 },
+ { 0x4B85, 75470 },
+ { 0x4B8F, 75473 },
+ { 0x4B87, 75476 },
+ { 0x4B91, 75479 },
+ { 0x4B89, 75482 },
+ { 0x4B86, 75485 },
+ { 0x4B90, 75488 },
+ { 0x4B92, 75491 },
+ { 0x4BA9, 75494 },
+ { 0x4B98, 75497 },
+ { 0x4BA4, 75500 },
+ { 0x4B95, 75503 },
+ { 0x4BB4, 75506 },
+ { 0x4B88, 75509 },
+ { 0x4B9A, 75512 },
+ { 0x4B93, 75515 },
+ { 0x4BAE, 75518 },
+ { 0x4BAB, 75521 },
+ { 0x4BA6, 75524 },
+ { 0x4BA7, 75527 },
+ { 0x4BAD, 75530 },
+ { 0x4BB3, 75533 },
+ { 0x4BA2, 75536 },
+ { 0x4B8A, 75539 },
+ { 0x4BB0, 75542 },
+ { 0x4BAC, 75545 },
+ { 0x4BAA, 75548 },
+ { 0x4B99, 75551 },
+ { 0x4B9F, 75554 },
+ { 0x4BA5, 75557 },
+ { 0x4B96, 75560 },
+ { 0x4B9B, 75563 },
+ { 0x4B94, 75566 },
+ { 0x4BAF, 75569 },
+ { 0x4B97, 75572 },
+ { 0x4BA1, 75575 },
+ { 0x4B9C, 75578 },
+ { 0x4BA8, 75581 },
+ { 0x4BB1, 75584 },
+ { 0x4BB2, 75587 },
+ { 0x4BA3, 75590 },
+ { 0x4B9D, 75593 },
+ { 0x4BA0, 75596 },
+ { 0x4B9E, 75599 },
+ { 0x4B8D, 75602 },
+ { 0x4B8B, 75606 },
+ { 0x4B8E, 75610 },
+ { 0x4B8C, 75614 },
+ { 0x4BCB, 75618 },
+ { 0x4BE0, 75621 },
+ { 0x4BE1, 75624 },
+ { 0x4BCA, 75627 },
+ { 0x4BDE, 75629 },
+ { 0x4BC9, 75631 },
+ { 0x4BDF, 75634 },
+ { 0x42FB, 75637 },
+ { 0x42F4, 75640 },
+ { 0x42F8, 75643 },
+ { 0x4307, 75646 },
+ { 0x42E3, 75649 },
+ { 0x4301, 75652 },
+ { 0x42F7, 75655 },
+ { 0x42FF, 75658 },
+ { 0x4308, 75661 },
+ { 0x4306, 75664 },
+ { 0x42F6, 75667 },
+ { 0x4305, 75670 },
+ { 0x42E8, 75673 },
+ { 0x430B, 75676 },
+ { 0x42FE, 75679 },
+ { 0x42F5, 75682 },
+ { 0x4309, 75685 },
+ { 0x42E1, 75688 },
+ { 0x42EA, 75691 },
+ { 0x430C, 75694 },
+ { 0x4300, 75697 },
+ { 0x42FD, 75700 },
+ { 0x4302, 75703 },
+ { 0x4304, 75706 },
+ { 0x42FA, 75709 },
+ { 0x42DF, 75712 },
+ { 0x42EB, 75715 },
+ { 0x42F0, 75718 },
+ { 0x42E6, 75721 },
+ { 0x430D, 75724 },
+ { 0x42ED, 75727 },
+ { 0x42E9, 75730 },
+ { 0x42E7, 75733 },
+ { 0x42E0, 75736 },
+ { 0x42F2, 75739 },
+ { 0x42F3, 75742 },
+ { 0x4303, 75745 },
+ { 0x42DE, 75748 },
+ { 0x42FC, 75751 },
+ { 0x42E4, 75754 },
+ { 0x42EC, 75757 },
+ { 0x42F9, 75760 },
+ { 0x430A, 75763 },
+ { 0x42F1, 75766 },
+ { 0x42EF, 75769 },
+ { 0x42E2, 75772 },
+ { 0x42E5, 75775 },
+ { 0x42EE, 75778 },
+ { 0x8048, 75781 },
{ 0x2605, 75786 },
- { 0x4DED, 75788 },
- { 0x4DE4, 75793 },
- { 0x4DE3, 75796 },
- { 0x4DE5, 75799 },
- { 0x4DE2, 75802 },
- { 0x4DE1, 75805 },
- { 0x4DE0, 75808 },
- { 0x4DE6, 75811 },
- { 0x4DDC, 75813 },
- { 0x4DD6, 75817 },
- { 0x4DDE, 75821 },
- { 0x4DD8, 75825 },
- { 0x4DD5, 75829 },
- { 0x4DDD, 75833 },
- { 0x4DDF, 75837 },
- { 0x4DD7, 75841 },
- { 0x4DD9, 75845 },
- { 0x4DDA, 75849 },
- { 0x4DDB, 75854 },
- { 0x4E00, 75859 },
- { 0x4E01, 75864 },
- { 0x4DE7, 75869 },
- { 0x4DA6, 75872 },
- { 0x4DB0, 75875 },
- { 0x4DA8, 75878 },
- { 0x4DB2, 75881 },
- { 0x4DAA, 75884 },
- { 0x4DA7, 75887 },
- { 0x4DB1, 75890 },
- { 0x4DB3, 75893 },
- { 0x4DCA, 75896 },
- { 0x4DB9, 75899 },
- { 0x4DC5, 75902 },
- { 0x4DB6, 75905 },
- { 0x4DD4, 75908 },
- { 0x4DA9, 75911 },
- { 0x4DBB, 75914 },
- { 0x4DB4, 75917 },
- { 0x4DCF, 75920 },
- { 0x4DCC, 75923 },
- { 0x4DC7, 75926 },
- { 0x4DC8, 75929 },
- { 0x4DCE, 75932 },
- { 0x4DD3, 75935 },
- { 0x4DC3, 75938 },
- { 0x4DAB, 75941 },
- { 0x4DD0, 75944 },
- { 0x4DCD, 75947 },
- { 0x4DCB, 75950 },
- { 0x4DBA, 75953 },
- { 0x4DC0, 75956 },
- { 0x4DC6, 75959 },
- { 0x4DB7, 75962 },
- { 0x4DBC, 75965 },
- { 0x4DB5, 75968 },
- { 0x4DB8, 75971 },
- { 0x4DC2, 75974 },
- { 0x4DBD, 75977 },
- { 0x4DC9, 75980 },
- { 0x4DD1, 75983 },
- { 0x4DD2, 75986 },
- { 0x4DC4, 75989 },
- { 0x4DBE, 75992 },
- { 0x4DC1, 75995 },
- { 0x4DBF, 75998 },
- { 0x4DAE, 76001 },
- { 0x4DAC, 76005 },
- { 0x4DAF, 76009 },
- { 0x4DAD, 76013 },
- { 0x4DFF, 76017 },
- { 0x4DFD, 76021 },
- { 0x4DFE, 76026 },
- { 0x4DFC, 76031 },
- { 0x4DF1, 76036 },
- { 0x4DF2, 76045 },
- { 0x4DF0, 76054 },
- { 0x4DF5, 76062 },
- { 0x4DF6, 76068 },
- { 0x4DFA, 76074 },
- { 0x4DFB, 76082 },
- { 0x4DF9, 76090 },
- { 0x4DEF, 76097 },
- { 0x4DEE, 76105 },
- { 0x4DF8, 76113 },
- { 0x4DF7, 76119 },
- { 0x4DF3, 76125 },
- { 0x4DF4, 76130 },
- { 0x4DE9, 76137 },
- { 0x4DE8, 76140 },
- { 0x4DEA, 76143 },
- { 0x4DEB, 76146 },
- { 0x4DEC, 76149 },
+ { 0x4DF2, 75788 },
+ { 0x4DE9, 75793 },
+ { 0x4DE8, 75796 },
+ { 0x4DEA, 75799 },
+ { 0x4DE7, 75802 },
+ { 0x4DE6, 75805 },
+ { 0x4DE5, 75808 },
+ { 0x4DEB, 75811 },
+ { 0x4DE1, 75813 },
+ { 0x4DDB, 75817 },
+ { 0x4DE3, 75821 },
+ { 0x4DDD, 75825 },
+ { 0x4DDA, 75829 },
+ { 0x4DE2, 75833 },
+ { 0x4DE4, 75837 },
+ { 0x4DDC, 75841 },
+ { 0x4DDE, 75845 },
+ { 0x4DDF, 75849 },
+ { 0x4DE0, 75854 },
+ { 0x4E05, 75859 },
+ { 0x4E06, 75864 },
+ { 0x4DEC, 75869 },
+ { 0x4DAB, 75872 },
+ { 0x4DB5, 75875 },
+ { 0x4DAD, 75878 },
+ { 0x4DB7, 75881 },
+ { 0x4DAF, 75884 },
+ { 0x4DAC, 75887 },
+ { 0x4DB6, 75890 },
+ { 0x4DB8, 75893 },
+ { 0x4DCF, 75896 },
+ { 0x4DBE, 75899 },
+ { 0x4DCA, 75902 },
+ { 0x4DBB, 75905 },
+ { 0x4DD9, 75908 },
+ { 0x4DAE, 75911 },
+ { 0x4DC0, 75914 },
+ { 0x4DB9, 75917 },
+ { 0x4DD4, 75920 },
+ { 0x4DD1, 75923 },
+ { 0x4DCC, 75926 },
+ { 0x4DCD, 75929 },
+ { 0x4DD3, 75932 },
+ { 0x4DD8, 75935 },
+ { 0x4DC8, 75938 },
+ { 0x4DB0, 75941 },
+ { 0x4DD5, 75944 },
+ { 0x4DD2, 75947 },
+ { 0x4DD0, 75950 },
+ { 0x4DBF, 75953 },
+ { 0x4DC5, 75956 },
+ { 0x4DCB, 75959 },
+ { 0x4DBC, 75962 },
+ { 0x4DC1, 75965 },
+ { 0x4DBA, 75968 },
+ { 0x4DBD, 75971 },
+ { 0x4DC7, 75974 },
+ { 0x4DC2, 75977 },
+ { 0x4DCE, 75980 },
+ { 0x4DD6, 75983 },
+ { 0x4DD7, 75986 },
+ { 0x4DC9, 75989 },
+ { 0x4DC3, 75992 },
+ { 0x4DC6, 75995 },
+ { 0x4DC4, 75998 },
+ { 0x4DB3, 76001 },
+ { 0x4DB1, 76005 },
+ { 0x4DB4, 76009 },
+ { 0x4DB2, 76013 },
+ { 0x4E04, 76017 },
+ { 0x4E02, 76021 },
+ { 0x4E03, 76026 },
+ { 0x4E01, 76031 },
+ { 0x4DF6, 76036 },
+ { 0x4DF7, 76045 },
+ { 0x4DF5, 76054 },
+ { 0x4DFA, 76062 },
+ { 0x4DFB, 76068 },
+ { 0x4DFF, 76074 },
+ { 0x4E00, 76082 },
+ { 0x4DFE, 76090 },
+ { 0x4DF4, 76097 },
+ { 0x4DF3, 76105 },
+ { 0x4DFD, 76113 },
+ { 0x4DFC, 76119 },
+ { 0x4DF8, 76125 },
+ { 0x4DF9, 76130 },
+ { 0x4DEE, 76137 },
+ { 0x4DED, 76140 },
+ { 0x4DEF, 76143 },
+ { 0x4DF0, 76146 },
+ { 0x4DF1, 76149 },
{ 0x26C0, 76152 },
{ 0x26C1, 76155 },
{ 0x26C2, 76158 },
@@ -66958,26 +66965,26 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0C00, 76511 },
{ 0x0BFC, 76515 },
{ 0x0BFA, 76519 },
- { 0x4BDD, 76523 },
- { 0x4BE2, 76527 },
- { 0x4BDE, 76531 },
- { 0x4BE1, 76535 },
- { 0x4BE0, 76539 },
- { 0x4BE5, 76543 },
- { 0x4BE4, 76547 },
- { 0x4BE3, 76551 },
- { 0x4BDF, 76555 },
- { 0x4BEF, 76559 },
- { 0x4BF0, 76564 },
- { 0x4BE6, 76569 },
- { 0x4BEA, 76573 },
- { 0x4BE9, 76577 },
- { 0x4BEB, 76581 },
- { 0x4BED, 76585 },
- { 0x4BEE, 76589 },
- { 0x4BE8, 76593 },
- { 0x4BE7, 76597 },
- { 0x4BEC, 76601 },
+ { 0x4BE2, 76523 },
+ { 0x4BE7, 76527 },
+ { 0x4BE3, 76531 },
+ { 0x4BE6, 76535 },
+ { 0x4BE5, 76539 },
+ { 0x4BEA, 76543 },
+ { 0x4BE9, 76547 },
+ { 0x4BE8, 76551 },
+ { 0x4BE4, 76555 },
+ { 0x4BF4, 76559 },
+ { 0x4BF5, 76564 },
+ { 0x4BEB, 76569 },
+ { 0x4BEF, 76573 },
+ { 0x4BEE, 76577 },
+ { 0x4BF0, 76581 },
+ { 0x4BF2, 76585 },
+ { 0x4BF3, 76589 },
+ { 0x4BED, 76593 },
+ { 0x4BEC, 76597 },
+ { 0x4BF1, 76601 },
{ 0x0C31, 76605 },
{ 0x235D, 76608 },
{ 0x26B8, 76611 },
@@ -66990,285 +66997,285 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x267B, 76652 },
{ 0x26CD, 76655 },
{ 0x26CF, 76657 },
- { 0x7DDF, 76662 },
- { 0x7DE0, 76668 },
- { 0x7DAC, 76674 },
- { 0x7DA8, 76678 },
- { 0x7DAA, 76683 },
- { 0x7DA9, 76691 },
- { 0x7DAB, 76699 },
- { 0x8086, 76707 },
- { 0x7DAD, 76711 },
- { 0x7DAF, 76715 },
- { 0x8041, 76720 },
- { 0x8084, 76729 },
- { 0x7DB3, 76737 },
- { 0x7DB2, 76741 },
- { 0x7E51, 76746 },
+ { 0x7DE4, 76662 },
+ { 0x7DE5, 76668 },
+ { 0x7DB1, 76674 },
+ { 0x7DAD, 76678 },
+ { 0x7DAF, 76683 },
+ { 0x7DAE, 76691 },
+ { 0x7DB0, 76699 },
+ { 0x808B, 76707 },
+ { 0x7DB2, 76711 },
+ { 0x7DB4, 76715 },
+ { 0x8046, 76720 },
+ { 0x8089, 76729 },
+ { 0x7DB8, 76737 },
+ { 0x7DB7, 76741 },
+ { 0x7E56, 76746 },
{ 0x2226, 76748 },
{ 0x22E7, 76749 },
- { 0x49C1, 76752 },
- { 0x49CC, 76755 },
- { 0x49C8, 76758 },
- { 0x49C9, 76761 },
- { 0x49D0, 76764 },
- { 0x49C2, 76767 },
- { 0x49CB, 76770 },
- { 0x49BF, 76773 },
- { 0x49D1, 76776 },
- { 0x49C4, 76779 },
- { 0x49C6, 76782 },
- { 0x49D2, 76785 },
- { 0x49CF, 76788 },
- { 0x49C5, 76791 },
- { 0x49BE, 76794 },
- { 0x49C0, 76797 },
- { 0x49CD, 76800 },
- { 0x49C3, 76803 },
- { 0x49C7, 76806 },
- { 0x49CA, 76809 },
- { 0x49CE, 76812 },
- { 0x49DF, 76815 },
- { 0x49E2, 76818 },
- { 0x49E0, 76822 },
- { 0x49E1, 76825 },
- { 0x49D6, 76828 },
- { 0x49D4, 76832 },
- { 0x49D7, 76836 },
- { 0x49D5, 76841 },
- { 0x49DA, 76846 },
- { 0x49DB, 76850 },
- { 0x49DC, 76854 },
- { 0x49DD, 76859 },
- { 0x49D8, 76863 },
- { 0x49D9, 76867 },
- { 0x49DE, 76871 },
- { 0x49D3, 76875 },
- { 0x49E6, 76878 },
- { 0x49E3, 76884 },
- { 0x49E4, 76889 },
- { 0x49E7, 76896 },
- { 0x49E5, 76902 },
+ { 0x49C6, 76752 },
+ { 0x49D1, 76755 },
+ { 0x49CD, 76758 },
+ { 0x49CE, 76761 },
+ { 0x49D5, 76764 },
+ { 0x49C7, 76767 },
+ { 0x49D0, 76770 },
+ { 0x49C4, 76773 },
+ { 0x49D6, 76776 },
+ { 0x49C9, 76779 },
+ { 0x49CB, 76782 },
+ { 0x49D7, 76785 },
+ { 0x49D4, 76788 },
+ { 0x49CA, 76791 },
+ { 0x49C3, 76794 },
+ { 0x49C5, 76797 },
+ { 0x49D2, 76800 },
+ { 0x49C8, 76803 },
+ { 0x49CC, 76806 },
+ { 0x49CF, 76809 },
+ { 0x49D3, 76812 },
+ { 0x49E4, 76815 },
+ { 0x49E7, 76818 },
+ { 0x49E5, 76822 },
+ { 0x49E6, 76825 },
+ { 0x49DB, 76828 },
+ { 0x49D9, 76832 },
+ { 0x49DC, 76836 },
+ { 0x49DA, 76841 },
+ { 0x49DF, 76846 },
+ { 0x49E0, 76850 },
+ { 0x49E1, 76854 },
+ { 0x49E2, 76859 },
+ { 0x49DD, 76863 },
+ { 0x49DE, 76867 },
+ { 0x49E3, 76871 },
+ { 0x49D8, 76875 },
+ { 0x49EB, 76878 },
+ { 0x49E8, 76884 },
+ { 0x49E9, 76889 },
+ { 0x49EC, 76896 },
+ { 0x49EA, 76902 },
{ 0x000F, 76907 },
{ 0x2619, 76908 },
- { 0x5094, 76911 },
- { 0x5093, 76918 },
- { 0x5092, 76927 },
- { 0x508F, 76937 },
- { 0x5091, 76940 },
- { 0x508E, 76943 },
- { 0x5090, 76946 },
- { 0x508B, 76950 },
- { 0x508A, 76953 },
- { 0x5078, 76956 },
- { 0x5079, 76959 },
- { 0x5083, 76962 },
- { 0x5081, 76967 },
- { 0x507E, 76972 },
- { 0x507F, 76977 },
- { 0x5086, 76982 },
- { 0x5084, 76987 },
- { 0x5082, 76992 },
- { 0x5085, 76997 },
- { 0x5088, 77002 },
- { 0x5089, 77007 },
- { 0x5080, 77012 },
- { 0x5087, 77017 },
- { 0x5048, 77022 },
- { 0x5045, 77026 },
- { 0x5049, 77030 },
- { 0x5047, 77034 },
- { 0x504B, 77038 },
- { 0x504C, 77042 },
- { 0x504A, 77046 },
- { 0x5046, 77050 },
- { 0x504E, 77054 },
- { 0x504D, 77059 },
- { 0x504F, 77064 },
- { 0x5044, 77068 },
- { 0x506E, 77071 },
- { 0x5066, 77074 },
- { 0x5055, 77077 },
- { 0x5061, 77080 },
- { 0x5052, 77083 },
- { 0x5076, 77086 },
- { 0x5057, 77089 },
- { 0x5050, 77092 },
- { 0x5071, 77095 },
- { 0x5068, 77098 },
- { 0x5063, 77101 },
- { 0x5064, 77104 },
- { 0x5070, 77107 },
- { 0x5075, 77110 },
- { 0x505F, 77113 },
- { 0x5072, 77116 },
- { 0x506F, 77119 },
- { 0x506D, 77122 },
- { 0x5067, 77125 },
- { 0x5056, 77128 },
- { 0x505C, 77131 },
- { 0x5062, 77134 },
- { 0x506B, 77137 },
- { 0x5053, 77140 },
- { 0x5058, 77143 },
- { 0x5051, 77146 },
- { 0x5054, 77149 },
- { 0x505E, 77152 },
- { 0x5059, 77155 },
- { 0x5065, 77158 },
- { 0x5073, 77161 },
- { 0x5074, 77164 },
- { 0x5060, 77167 },
- { 0x5069, 77170 },
- { 0x505A, 77173 },
- { 0x506C, 77176 },
- { 0x505D, 77179 },
- { 0x5077, 77182 },
- { 0x506A, 77185 },
- { 0x505B, 77188 },
- { 0x5095, 77191 },
- { 0x5096, 77194 },
- { 0x508D, 77197 },
- { 0x508C, 77199 },
- { 0x507B, 77202 },
- { 0x507A, 77206 },
- { 0x507D, 77210 },
- { 0x507C, 77214 },
+ { 0x5099, 76911 },
+ { 0x5098, 76918 },
+ { 0x5097, 76927 },
+ { 0x5094, 76937 },
+ { 0x5096, 76940 },
+ { 0x5093, 76943 },
+ { 0x5095, 76946 },
+ { 0x5090, 76950 },
+ { 0x508F, 76953 },
+ { 0x507D, 76956 },
+ { 0x507E, 76959 },
+ { 0x5088, 76962 },
+ { 0x5086, 76967 },
+ { 0x5083, 76972 },
+ { 0x5084, 76977 },
+ { 0x508B, 76982 },
+ { 0x5089, 76987 },
+ { 0x5087, 76992 },
+ { 0x508A, 76997 },
+ { 0x508D, 77002 },
+ { 0x508E, 77007 },
+ { 0x5085, 77012 },
+ { 0x508C, 77017 },
+ { 0x504D, 77022 },
+ { 0x504A, 77026 },
+ { 0x504E, 77030 },
+ { 0x504C, 77034 },
+ { 0x5050, 77038 },
+ { 0x5051, 77042 },
+ { 0x504F, 77046 },
+ { 0x504B, 77050 },
+ { 0x5053, 77054 },
+ { 0x5052, 77059 },
+ { 0x5054, 77064 },
+ { 0x5049, 77068 },
+ { 0x5073, 77071 },
+ { 0x506B, 77074 },
+ { 0x505A, 77077 },
+ { 0x5066, 77080 },
+ { 0x5057, 77083 },
+ { 0x507B, 77086 },
+ { 0x505C, 77089 },
+ { 0x5055, 77092 },
+ { 0x5076, 77095 },
+ { 0x506D, 77098 },
+ { 0x5068, 77101 },
+ { 0x5069, 77104 },
+ { 0x5075, 77107 },
+ { 0x507A, 77110 },
+ { 0x5064, 77113 },
+ { 0x5077, 77116 },
+ { 0x5074, 77119 },
+ { 0x5072, 77122 },
+ { 0x506C, 77125 },
+ { 0x505B, 77128 },
+ { 0x5061, 77131 },
+ { 0x5067, 77134 },
+ { 0x5070, 77137 },
+ { 0x5058, 77140 },
+ { 0x505D, 77143 },
+ { 0x5056, 77146 },
+ { 0x5059, 77149 },
+ { 0x5063, 77152 },
+ { 0x505E, 77155 },
+ { 0x506A, 77158 },
+ { 0x5078, 77161 },
+ { 0x5079, 77164 },
+ { 0x5065, 77167 },
+ { 0x506E, 77170 },
+ { 0x505F, 77173 },
+ { 0x5071, 77176 },
+ { 0x5062, 77179 },
+ { 0x507C, 77182 },
+ { 0x506F, 77185 },
+ { 0x5060, 77188 },
+ { 0x509A, 77191 },
+ { 0x509B, 77194 },
+ { 0x5092, 77197 },
+ { 0x5091, 77199 },
+ { 0x5080, 77202 },
+ { 0x507F, 77206 },
+ { 0x5082, 77210 },
+ { 0x5081, 77214 },
{ 0x236A, 77218 },
- { 0x7CAD, 77219 },
- { 0x7CAE, 77220 },
- { 0x7CAF, 77225 },
- { 0x7CAC, 77230 },
- { 0x7A2E, 77234 },
- { 0x7A43, 77236 },
- { 0x79E7, 77238 },
- { 0x7A31, 77240 },
- { 0x79E8, 77242 },
- { 0x7A33, 77244 },
- { 0x7A34, 77246 },
- { 0x79E9, 77248 },
- { 0x79EA, 77250 },
- { 0x7A36, 77252 },
- { 0x7A37, 77257 },
- { 0x79EC, 77259 },
- { 0x7A81, 77261 },
- { 0x7A82, 77265 },
- { 0x7A85, 77269 },
- { 0x7A6C, 77273 },
- { 0x7A70, 77277 },
- { 0x7A76, 77281 },
- { 0x7A78, 77285 },
- { 0x7A74, 77289 },
- { 0x7A91, 77293 },
- { 0x7A6A, 77297 },
- { 0x7A86, 77301 },
- { 0x7A8C, 77305 },
- { 0x7A7D, 77309 },
- { 0x7A92, 77313 },
- { 0x7A7C, 77317 },
- { 0x7A6D, 77321 },
- { 0x7A6F, 77325 },
- { 0x7A69, 77329 },
- { 0x7A84, 77333 },
- { 0x7A75, 77337 },
- { 0x7A68, 77341 },
- { 0x7A89, 77345 },
- { 0x7A7F, 77349 },
- { 0x7A87, 77353 },
- { 0x7A80, 77357 },
- { 0x7A73, 77361 },
- { 0x7A77, 77365 },
- { 0x7A71, 77369 },
- { 0x7A8F, 77373 },
- { 0x7A8E, 77377 },
- { 0x7A8D, 77381 },
- { 0x7A7E, 77385 },
- { 0x7A72, 77389 },
- { 0x7A7A, 77393 },
- { 0x7A90, 77397 },
- { 0x7A8A, 77401 },
- { 0x7A8B, 77405 },
- { 0x7A79, 77409 },
- { 0x7A6E, 77413 },
- { 0x7A7B, 77417 },
- { 0x7A88, 77421 },
- { 0x7A83, 77425 },
- { 0x7A93, 77429 },
+ { 0x7CB2, 77219 },
+ { 0x7CB3, 77220 },
+ { 0x7CB4, 77225 },
+ { 0x7CB1, 77230 },
+ { 0x7A33, 77234 },
+ { 0x7A48, 77236 },
+ { 0x79EC, 77238 },
+ { 0x7A36, 77240 },
+ { 0x79ED, 77242 },
+ { 0x7A38, 77244 },
+ { 0x7A39, 77246 },
+ { 0x79EE, 77248 },
+ { 0x79EF, 77250 },
+ { 0x7A3B, 77252 },
+ { 0x7A3C, 77257 },
+ { 0x79F1, 77259 },
+ { 0x7A86, 77261 },
+ { 0x7A87, 77265 },
+ { 0x7A8A, 77269 },
+ { 0x7A71, 77273 },
+ { 0x7A75, 77277 },
+ { 0x7A7B, 77281 },
+ { 0x7A7D, 77285 },
+ { 0x7A79, 77289 },
+ { 0x7A96, 77293 },
+ { 0x7A6F, 77297 },
+ { 0x7A8B, 77301 },
+ { 0x7A91, 77305 },
+ { 0x7A82, 77309 },
+ { 0x7A97, 77313 },
+ { 0x7A81, 77317 },
+ { 0x7A72, 77321 },
+ { 0x7A74, 77325 },
+ { 0x7A6E, 77329 },
+ { 0x7A89, 77333 },
+ { 0x7A7A, 77337 },
+ { 0x7A6D, 77341 },
+ { 0x7A8E, 77345 },
+ { 0x7A84, 77349 },
+ { 0x7A8C, 77353 },
+ { 0x7A85, 77357 },
+ { 0x7A78, 77361 },
+ { 0x7A7C, 77365 },
+ { 0x7A76, 77369 },
+ { 0x7A94, 77373 },
+ { 0x7A93, 77377 },
+ { 0x7A92, 77381 },
+ { 0x7A83, 77385 },
+ { 0x7A77, 77389 },
+ { 0x7A7F, 77393 },
+ { 0x7A95, 77397 },
+ { 0x7A8F, 77401 },
+ { 0x7A90, 77405 },
+ { 0x7A7E, 77409 },
+ { 0x7A73, 77413 },
+ { 0x7A80, 77417 },
+ { 0x7A8D, 77421 },
+ { 0x7A88, 77425 },
+ { 0x7A98, 77429 },
{ 0x1EF2, 77433 },
- { 0x7A44, 77436 },
+ { 0x7A49, 77436 },
{ 0x22E2, 77438 },
- { 0x7A32, 77440 },
- { 0x7A41, 77442 },
- { 0x79EB, 77447 },
- { 0x7A47, 77449 },
- { 0x7A35, 77451 },
- { 0x7A3A, 77453 },
- { 0x7A48, 77456 },
- { 0x7A49, 77458 },
- { 0x7A2F, 77460 },
- { 0x7A3D, 77462 },
- { 0x7A3B, 77466 },
+ { 0x7A37, 77440 },
+ { 0x7A46, 77442 },
+ { 0x79F0, 77447 },
+ { 0x7A4C, 77449 },
+ { 0x7A3A, 77451 },
+ { 0x7A3F, 77453 },
+ { 0x7A4D, 77456 },
+ { 0x7A4E, 77458 },
+ { 0x7A34, 77460 },
+ { 0x7A42, 77462 },
+ { 0x7A40, 77466 },
{ 0x2A19, 77469 },
- { 0x7A30, 77473 },
+ { 0x7A35, 77473 },
{ 0x1EEF, 77475 },
- { 0x7A3C, 77477 },
- { 0x7A42, 77480 },
- { 0x79CD, 77485 },
- { 0x79CE, 77490 },
- { 0x79CF, 77495 },
- { 0x79D0, 77500 },
- { 0x79D1, 77505 },
- { 0x79D2, 77510 },
- { 0x79D3, 77515 },
- { 0x79D4, 77520 },
- { 0x79D5, 77525 },
- { 0x79D6, 77530 },
- { 0x79D7, 77535 },
- { 0x79D8, 77540 },
- { 0x79D9, 77545 },
- { 0x79DA, 77550 },
- { 0x79DB, 77555 },
- { 0x79DC, 77560 },
- { 0x79DD, 77565 },
- { 0x79DE, 77570 },
- { 0x79DF, 77575 },
- { 0x79E0, 77580 },
- { 0x79E1, 77585 },
- { 0x79E2, 77590 },
- { 0x79E3, 77595 },
- { 0x79E4, 77600 },
- { 0x79E5, 77605 },
- { 0x79E6, 77610 },
+ { 0x7A41, 77477 },
+ { 0x7A47, 77480 },
+ { 0x79D2, 77485 },
+ { 0x79D3, 77490 },
+ { 0x79D4, 77495 },
+ { 0x79D5, 77500 },
+ { 0x79D6, 77505 },
+ { 0x79D7, 77510 },
+ { 0x79D8, 77515 },
+ { 0x79D9, 77520 },
+ { 0x79DA, 77525 },
+ { 0x79DB, 77530 },
+ { 0x79DC, 77535 },
+ { 0x79DD, 77540 },
+ { 0x79DE, 77545 },
+ { 0x79DF, 77550 },
+ { 0x79E0, 77555 },
+ { 0x79E1, 77560 },
+ { 0x79E2, 77565 },
+ { 0x79E3, 77570 },
+ { 0x79E4, 77575 },
+ { 0x79E5, 77580 },
+ { 0x79E6, 77585 },
+ { 0x79E7, 77590 },
+ { 0x79E8, 77595 },
+ { 0x79E9, 77600 },
+ { 0x79EA, 77605 },
+ { 0x79EB, 77610 },
{ 0x1EF0, 77615 },
- { 0x7A3E, 77617 },
- { 0x7A40, 77621 },
+ { 0x7A43, 77617 },
+ { 0x7A45, 77621 },
{ 0x25EA, 77624 },
- { 0x7A38, 77627 },
+ { 0x7A3D, 77627 },
{ 0x1EF1, 77630 },
- { 0x7A45, 77632 },
+ { 0x7A4A, 77632 },
{ 0x25E7, 77634 },
- { 0x7A39, 77638 },
+ { 0x7A3E, 77638 },
{ 0x25EB, 77641 },
{ 0x25E8, 77643 },
{ 0x23F2, 77647 },
{ 0x23F1, 77650 },
{ 0x2300, 77653 },
{ 0x25E9, 77655 },
- { 0x7A6B, 77657 },
- { 0x7A67, 77660 },
- { 0x7A66, 77663 },
- { 0x7A46, 77666 },
- { 0x7A3F, 77668 },
- { 0x7B84, 77672 },
- { 0x7D28, 77673 },
- { 0x7E2E, 77675 },
- { 0x806D, 77676 },
- { 0x7AAA, 77678 },
- { 0x7AA9, 77679 },
+ { 0x7A70, 77657 },
+ { 0x7A6C, 77660 },
+ { 0x7A6B, 77663 },
+ { 0x7A4B, 77666 },
+ { 0x7A44, 77668 },
+ { 0x7B89, 77672 },
+ { 0x7D2D, 77673 },
+ { 0x7E33, 77675 },
+ { 0x8072, 77676 },
+ { 0x7AAF, 77678 },
+ { 0x7AAE, 77679 },
{ 0x1E80, 77682 },
- { 0x7B6F, 77684 },
- { 0x7C2E, 77685 },
- { 0x7BFA, 77686 },
+ { 0x7B74, 77684 },
+ { 0x7C33, 77685 },
+ { 0x7BFF, 77686 },
{ 0x148D, 77687 },
{ 0x148E, 77690 },
{ 0x148B, 77693 },
@@ -67292,8 +67299,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1485, 77749 },
{ 0x147E, 77752 },
{ 0x148F, 77755 },
- { 0x8075, 77759 },
- { 0x7C52, 77761 },
+ { 0x807A, 77759 },
+ { 0x7C57, 77761 },
{ 0x27B8, 77763 },
{ 0x23C5, 77768 },
{ 0x27BA, 77772 },
@@ -67509,91 +67516,91 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0D98, 78680 },
{ 0x0D95, 78685 },
{ 0x0D96, 78690 },
- { 0x4D9B, 78695 },
- { 0x4D54, 78697 },
- { 0x4D97, 78699 },
- { 0x4D96, 78702 },
- { 0x4D95, 78705 },
- { 0x4D94, 78708 },
- { 0x4D98, 78711 },
- { 0x4D93, 78714 },
- { 0x4D9D, 78717 },
- { 0x4DA2, 78720 },
- { 0x4D9E, 78723 },
- { 0x4DA1, 78726 },
- { 0x4DA0, 78729 },
- { 0x4DA5, 78732 },
- { 0x4D9C, 78735 },
- { 0x4DA4, 78738 },
- { 0x4DA3, 78741 },
- { 0x4D9F, 78744 },
- { 0x4D99, 78747 },
- { 0x4D8D, 78749 },
- { 0x4D85, 78753 },
- { 0x4D90, 78757 },
- { 0x4D87, 78761 },
- { 0x4D84, 78765 },
- { 0x4D8F, 78769 },
- { 0x4D92, 78773 },
- { 0x4D86, 78777 },
- { 0x4D88, 78781 },
- { 0x4D8E, 78785 },
- { 0x4D91, 78790 },
- { 0x4D8B, 78795 },
- { 0x4D89, 78800 },
- { 0x4D8C, 78805 },
- { 0x4D8A, 78810 },
- { 0x4D55, 78815 },
- { 0x4D5F, 78818 },
- { 0x4D57, 78821 },
- { 0x4D61, 78824 },
- { 0x4D59, 78827 },
- { 0x4D56, 78830 },
- { 0x4D60, 78833 },
- { 0x4D62, 78836 },
- { 0x4D79, 78839 },
- { 0x4D68, 78842 },
- { 0x4D74, 78845 },
- { 0x4D65, 78848 },
- { 0x4D83, 78851 },
- { 0x4D58, 78854 },
- { 0x4D6A, 78857 },
- { 0x4D63, 78860 },
- { 0x4D7E, 78863 },
- { 0x4D7B, 78866 },
- { 0x4D76, 78869 },
- { 0x4D77, 78872 },
- { 0x4D7D, 78875 },
- { 0x4D82, 78878 },
- { 0x4D72, 78881 },
- { 0x4D5A, 78884 },
- { 0x4D7F, 78887 },
- { 0x4D7C, 78890 },
- { 0x4D7A, 78893 },
- { 0x4D69, 78896 },
- { 0x4D6F, 78899 },
- { 0x4D75, 78902 },
- { 0x4D66, 78905 },
- { 0x4D6B, 78908 },
- { 0x4D64, 78911 },
- { 0x4D67, 78914 },
- { 0x4D71, 78917 },
- { 0x4D6C, 78920 },
- { 0x4D78, 78923 },
- { 0x4D80, 78926 },
- { 0x4D81, 78929 },
- { 0x4D73, 78932 },
- { 0x4D6D, 78935 },
- { 0x4D70, 78938 },
- { 0x4D6E, 78941 },
- { 0x4D5D, 78944 },
- { 0x4D5B, 78948 },
- { 0x4D5E, 78952 },
- { 0x4D5C, 78956 },
- { 0x4D9A, 78960 },
- { 0x8104, 78963 },
- { 0x7E41, 78964 },
- { 0x7CD6, 78965 },
+ { 0x4DA0, 78695 },
+ { 0x4D59, 78697 },
+ { 0x4D9C, 78699 },
+ { 0x4D9B, 78702 },
+ { 0x4D9A, 78705 },
+ { 0x4D99, 78708 },
+ { 0x4D9D, 78711 },
+ { 0x4D98, 78714 },
+ { 0x4DA2, 78717 },
+ { 0x4DA7, 78720 },
+ { 0x4DA3, 78723 },
+ { 0x4DA6, 78726 },
+ { 0x4DA5, 78729 },
+ { 0x4DAA, 78732 },
+ { 0x4DA1, 78735 },
+ { 0x4DA9, 78738 },
+ { 0x4DA8, 78741 },
+ { 0x4DA4, 78744 },
+ { 0x4D9E, 78747 },
+ { 0x4D92, 78749 },
+ { 0x4D8A, 78753 },
+ { 0x4D95, 78757 },
+ { 0x4D8C, 78761 },
+ { 0x4D89, 78765 },
+ { 0x4D94, 78769 },
+ { 0x4D97, 78773 },
+ { 0x4D8B, 78777 },
+ { 0x4D8D, 78781 },
+ { 0x4D93, 78785 },
+ { 0x4D96, 78790 },
+ { 0x4D90, 78795 },
+ { 0x4D8E, 78800 },
+ { 0x4D91, 78805 },
+ { 0x4D8F, 78810 },
+ { 0x4D5A, 78815 },
+ { 0x4D64, 78818 },
+ { 0x4D5C, 78821 },
+ { 0x4D66, 78824 },
+ { 0x4D5E, 78827 },
+ { 0x4D5B, 78830 },
+ { 0x4D65, 78833 },
+ { 0x4D67, 78836 },
+ { 0x4D7E, 78839 },
+ { 0x4D6D, 78842 },
+ { 0x4D79, 78845 },
+ { 0x4D6A, 78848 },
+ { 0x4D88, 78851 },
+ { 0x4D5D, 78854 },
+ { 0x4D6F, 78857 },
+ { 0x4D68, 78860 },
+ { 0x4D83, 78863 },
+ { 0x4D80, 78866 },
+ { 0x4D7B, 78869 },
+ { 0x4D7C, 78872 },
+ { 0x4D82, 78875 },
+ { 0x4D87, 78878 },
+ { 0x4D77, 78881 },
+ { 0x4D5F, 78884 },
+ { 0x4D84, 78887 },
+ { 0x4D81, 78890 },
+ { 0x4D7F, 78893 },
+ { 0x4D6E, 78896 },
+ { 0x4D74, 78899 },
+ { 0x4D7A, 78902 },
+ { 0x4D6B, 78905 },
+ { 0x4D70, 78908 },
+ { 0x4D69, 78911 },
+ { 0x4D6C, 78914 },
+ { 0x4D76, 78917 },
+ { 0x4D71, 78920 },
+ { 0x4D7D, 78923 },
+ { 0x4D85, 78926 },
+ { 0x4D86, 78929 },
+ { 0x4D78, 78932 },
+ { 0x4D72, 78935 },
+ { 0x4D75, 78938 },
+ { 0x4D73, 78941 },
+ { 0x4D62, 78944 },
+ { 0x4D60, 78948 },
+ { 0x4D63, 78952 },
+ { 0x4D61, 78956 },
+ { 0x4D9F, 78960 },
+ { 0x8109, 78963 },
+ { 0x7E46, 78964 },
+ { 0x7CDB, 78965 },
{ 0x2255, 78967 },
{ 0x2254, 78970 },
{ 0x2257, 78973 },
@@ -67602,45 +67609,45 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2253, 78982 },
{ 0x2256, 78985 },
{ 0x2259, 78988 },
- { 0x7B5F, 78991 },
- { 0x8057, 78992 },
+ { 0x7B64, 78991 },
+ { 0x805C, 78992 },
{ 0x1D2D, 78994 },
- { 0x7CA5, 78997 },
- { 0x8098, 79000 },
+ { 0x7CAA, 78997 },
+ { 0x809D, 79000 },
{ 0x1DF0, 79002 },
{ 0x1DE2, 79006 },
{ 0x2535, 79008 },
- { 0x8298, 79012 },
+ { 0x829D, 79012 },
{ 0x1DF6, 79019 },
{ 0x1E01, 79023 },
{ 0x1E02, 79028 },
- { 0x7F87, 79033 },
- { 0x7F7F, 79039 },
- { 0x7F8B, 79045 },
+ { 0x7F8C, 79033 },
+ { 0x7F84, 79039 },
+ { 0x7F90, 79045 },
{ 0x1E2F, 79051 },
- { 0x7F83, 79056 },
- { 0x7FFD, 79062 },
+ { 0x7F88, 79056 },
+ { 0x8002, 79062 },
{ 0x252C, 79067 },
- { 0x7F8F, 79072 },
+ { 0x7F94, 79072 },
{ 0x1E16, 79077 },
{ 0x2729, 79083 },
{ 0x27AA, 79086 },
- { 0x7FBF, 79091 },
- { 0x7FBB, 79094 },
+ { 0x7FC4, 79091 },
+ { 0x7FC0, 79094 },
{ 0x1E38, 79098 },
{ 0x1E3C, 79101 },
{ 0x1E3E, 79106 },
{ 0x1E3D, 79114 },
{ 0x1E3B, 79122 },
{ 0x27D8, 79127 },
- { 0x7FF9, 79135 },
+ { 0x7FFE, 79135 },
{ 0x1E3F, 79141 },
{ 0x1E40, 79145 },
{ 0x2A02, 79151 },
{ 0x1E32, 79153 },
{ 0x1E22, 79156 },
{ 0x1E19, 79159 },
- { 0x7E12, 79162 },
+ { 0x7E17, 79162 },
{ 0x252D, 79164 },
{ 0x257B, 79167 },
{ 0x2583, 79174 },
@@ -67650,58 +67657,58 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x257F, 79210 },
{ 0x1E10, 79217 },
{ 0x1E0F, 79222 },
- { 0x7FB3, 79227 },
- { 0x7FF5, 79230 },
+ { 0x7FB8, 79227 },
+ { 0x7FFA, 79230 },
{ 0x2413, 79233 },
- { 0x7FB7, 79236 },
- { 0x7FC3, 79239 },
+ { 0x7FBC, 79236 },
+ { 0x7FC8, 79239 },
{ 0x256C, 79242 },
{ 0x280D, 79248 },
- { 0x7FAF, 79254 },
+ { 0x7FB4, 79254 },
{ 0x2784, 79257 },
{ 0x2794, 79260 },
- { 0x7FA3, 79265 },
+ { 0x7FA8, 79265 },
{ 0x27C2, 79271 },
{ 0x27C3, 79278 },
- { 0x7FAB, 79285 },
- { 0x7FA7, 79292 },
+ { 0x7FB0, 79285 },
+ { 0x7FAC, 79292 },
{ 0x279C, 79298 },
- { 0x7F9F, 79305 },
- { 0x7F9B, 79311 },
+ { 0x7FA4, 79305 },
+ { 0x7FA0, 79311 },
{ 0x27A2, 79317 },
{ 0x278E, 79325 },
{ 0x27A6, 79329 },
- { 0x80EF, 79333 },
+ { 0x80F4, 79333 },
{ 0x232F, 79334 },
- { 0x7AB0, 79336 },
+ { 0x7AB5, 79336 },
{ 0x22C3, 79337 },
- { 0x7C37, 79339 },
- { 0x7DAE, 79340 },
- { 0x7DC4, 79342 },
- { 0x7B26, 79344 },
+ { 0x7C3C, 79339 },
+ { 0x7DB3, 79340 },
+ { 0x7DC9, 79342 },
+ { 0x7B2B, 79344 },
{ 0x2330, 79346 },
- { 0x816B, 79348 },
- { 0x816D, 79351 },
- { 0x816C, 79354 },
- { 0x8168, 79357 },
- { 0x816E, 79360 },
- { 0x816A, 79363 },
- { 0x8169, 79366 },
- { 0x8172, 79369 },
- { 0x8174, 79372 },
- { 0x8173, 79375 },
- { 0x816F, 79378 },
- { 0x8175, 79381 },
- { 0x8171, 79384 },
- { 0x8170, 79387 },
- { 0x8085, 79390 },
+ { 0x8170, 79348 },
+ { 0x8172, 79351 },
+ { 0x8171, 79354 },
+ { 0x816D, 79357 },
+ { 0x8173, 79360 },
+ { 0x816F, 79363 },
+ { 0x816E, 79366 },
+ { 0x8177, 79369 },
+ { 0x8179, 79372 },
+ { 0x8178, 79375 },
+ { 0x8174, 79378 },
+ { 0x817A, 79381 },
+ { 0x8176, 79384 },
+ { 0x8175, 79387 },
+ { 0x808A, 79390 },
{ 0x1CE6, 79392 },
{ 0x1CE4, 79396 },
- { 0x817F, 79399 },
+ { 0x8184, 79399 },
{ 0x232B, 79401 },
- { 0x7E8D, 79402 },
- { 0x7E8C, 79404 },
- { 0x7B6D, 79406 },
+ { 0x7E92, 79402 },
+ { 0x7E91, 79404 },
+ { 0x7B72, 79406 },
{ 0x1D80, 79408 },
{ 0x2275, 79410 },
{ 0x0540, 79411 },
@@ -67748,11 +67755,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0535, 79573 },
{ 0x0513, 79577 },
{ 0x053A, 79582 },
- { 0x3B5A, 79587 },
- { 0x3B5B, 79592 },
- { 0x3B59, 79597 },
- { 0x3B5D, 79602 },
- { 0x3B5C, 79607 },
+ { 0x3B5F, 79587 },
+ { 0x3B60, 79592 },
+ { 0x3B5E, 79597 },
+ { 0x3B62, 79602 },
+ { 0x3B61, 79607 },
{ 0x053D, 79612 },
{ 0x04F3, 79614 },
{ 0x0506, 79618 },
@@ -67801,9 +67808,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x000A, 79786 },
{ 0x1E68, 79787 },
{ 0x1CBC, 79789 },
- { 0x7C04, 79790 },
- { 0x7BD0, 79792 },
- { 0x806A, 79794 },
+ { 0x7C09, 79790 },
+ { 0x7BD5, 79792 },
+ { 0x806F, 79794 },
{ 0x17FD, 79796 },
{ 0x17B9, 79799 },
{ 0x17BA, 79803 },
@@ -67928,92 +67935,92 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x182D, 80277 },
{ 0x182C, 80283 },
{ 0x1816, 80289 },
- { 0x7C59, 80291 },
- { 0x7C5B, 80295 },
- { 0x7C5C, 80299 },
- { 0x7C5A, 80303 },
+ { 0x7C5E, 80291 },
+ { 0x7C60, 80295 },
+ { 0x7C61, 80299 },
+ { 0x7C5F, 80303 },
{ 0x22E1, 80307 },
- { 0x80D7, 80308 },
- { 0x7B27, 80310 },
- { 0x7BC6, 80312 },
- { 0x7CBB, 80313 },
- { 0x7C76, 80314 },
- { 0x2D51, 80316 },
- { 0x2D4D, 80320 },
- { 0x2D4C, 80324 },
- { 0x2D4A, 80328 },
- { 0x2D4B, 80332 },
- { 0x2CB2, 80336 },
- { 0x2C9D, 80339 },
- { 0x2CB0, 80342 },
- { 0x2CA1, 80345 },
- { 0x2CB4, 80348 },
- { 0x2CA0, 80351 },
- { 0x2CA5, 80354 },
- { 0x2CA7, 80357 },
- { 0x2CBF, 80360 },
- { 0x2CA8, 80363 },
- { 0x2CA6, 80366 },
- { 0x2CA4, 80369 },
- { 0x2C9F, 80372 },
- { 0x2CA3, 80375 },
- { 0x2CB3, 80378 },
- { 0x2CC6, 80381 },
- { 0x2C9E, 80387 },
- { 0x2CA9, 80390 },
- { 0x2CAE, 80393 },
- { 0x2CB1, 80396 },
- { 0x2CA2, 80399 },
- { 0x2CC0, 80402 },
- { 0x2CC2, 80405 },
- { 0x2CAA, 80408 },
- { 0x2CAF, 80411 },
- { 0x2D55, 80414 },
- { 0x2CB6, 80417 },
- { 0x2D46, 80420 },
- { 0x2CBA, 80423 },
- { 0x2CB8, 80426 },
- { 0x2D36, 80429 },
- { 0x2CAC, 80432 },
- { 0x2D3A, 80435 },
- { 0x2CB5, 80438 },
- { 0x2CB7, 80441 },
- { 0x2CBB, 80444 },
- { 0x2CBE, 80447 },
- { 0x2D4E, 80450 },
- { 0x2CC4, 80453 },
- { 0x2D39, 80456 },
- { 0x2D52, 80459 },
- { 0x2CC5, 80462 },
- { 0x2D42, 80465 },
- { 0x2D3E, 80468 },
- { 0x2CC1, 80471 },
- { 0x2D38, 80474 },
- { 0x2D53, 80477 },
- { 0x2D4F, 80480 },
- { 0x2CC3, 80483 },
- { 0x2CC7, 80486 },
- { 0x2D54, 80489 },
- { 0x2D47, 80492 },
- { 0x2D3C, 80495 },
- { 0x2CB9, 80498 },
- { 0x2CAD, 80501 },
- { 0x2CAB, 80504 },
- { 0x2D37, 80507 },
- { 0x2D50, 80510 },
- { 0x2CBC, 80513 },
- { 0x2D3F, 80516 },
- { 0x2CBD, 80519 },
- { 0x2D3B, 80522 },
- { 0x2D40, 80525 },
- { 0x2D43, 80528 },
- { 0x2D48, 80531 },
- { 0x2D3D, 80534 },
- { 0x2D41, 80537 },
- { 0x2D44, 80540 },
- { 0x2D45, 80543 },
- { 0x2D49, 80546 },
- { 0x807A, 80549 },
+ { 0x80DC, 80308 },
+ { 0x7B2C, 80310 },
+ { 0x7BCB, 80312 },
+ { 0x7CC0, 80313 },
+ { 0x7C7B, 80314 },
+ { 0x2D55, 80316 },
+ { 0x2D51, 80320 },
+ { 0x2D50, 80324 },
+ { 0x2D4E, 80328 },
+ { 0x2D4F, 80332 },
+ { 0x2CB6, 80336 },
+ { 0x2CA1, 80339 },
+ { 0x2CB4, 80342 },
+ { 0x2CA5, 80345 },
+ { 0x2CB8, 80348 },
+ { 0x2CA4, 80351 },
+ { 0x2CA9, 80354 },
+ { 0x2CAB, 80357 },
+ { 0x2CC3, 80360 },
+ { 0x2CAC, 80363 },
+ { 0x2CAA, 80366 },
+ { 0x2CA8, 80369 },
+ { 0x2CA3, 80372 },
+ { 0x2CA7, 80375 },
+ { 0x2CB7, 80378 },
+ { 0x2CCA, 80381 },
+ { 0x2CA2, 80387 },
+ { 0x2CAD, 80390 },
+ { 0x2CB2, 80393 },
+ { 0x2CB5, 80396 },
+ { 0x2CA6, 80399 },
+ { 0x2CC4, 80402 },
+ { 0x2CC6, 80405 },
+ { 0x2CAE, 80408 },
+ { 0x2CB3, 80411 },
+ { 0x2D59, 80414 },
+ { 0x2CBA, 80417 },
+ { 0x2D4A, 80420 },
+ { 0x2CBE, 80423 },
+ { 0x2CBC, 80426 },
+ { 0x2D3A, 80429 },
+ { 0x2CB0, 80432 },
+ { 0x2D3E, 80435 },
+ { 0x2CB9, 80438 },
+ { 0x2CBB, 80441 },
+ { 0x2CBF, 80444 },
+ { 0x2CC2, 80447 },
+ { 0x2D52, 80450 },
+ { 0x2CC8, 80453 },
+ { 0x2D3D, 80456 },
+ { 0x2D56, 80459 },
+ { 0x2CC9, 80462 },
+ { 0x2D46, 80465 },
+ { 0x2D42, 80468 },
+ { 0x2CC5, 80471 },
+ { 0x2D3C, 80474 },
+ { 0x2D57, 80477 },
+ { 0x2D53, 80480 },
+ { 0x2CC7, 80483 },
+ { 0x2CCB, 80486 },
+ { 0x2D58, 80489 },
+ { 0x2D4B, 80492 },
+ { 0x2D40, 80495 },
+ { 0x2CBD, 80498 },
+ { 0x2CB1, 80501 },
+ { 0x2CAF, 80504 },
+ { 0x2D3B, 80507 },
+ { 0x2D54, 80510 },
+ { 0x2CC0, 80513 },
+ { 0x2D43, 80516 },
+ { 0x2CC1, 80519 },
+ { 0x2D3F, 80522 },
+ { 0x2D44, 80525 },
+ { 0x2D47, 80528 },
+ { 0x2D4C, 80531 },
+ { 0x2D41, 80534 },
+ { 0x2D45, 80537 },
+ { 0x2D48, 80540 },
+ { 0x2D49, 80543 },
+ { 0x2D4D, 80546 },
+ { 0x807F, 80549 },
{ 0x171A, 80550 },
{ 0x1716, 80554 },
{ 0x1714, 80558 },
@@ -68044,12 +68051,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1700, 80637 },
{ 0x170C, 80640 },
{ 0x1719, 80643 },
- { 0x7B7C, 80645 },
- { 0x7D10, 80647 },
- { 0x7D11, 80648 },
+ { 0x7B81, 80645 },
+ { 0x7D15, 80647 },
+ { 0x7D16, 80648 },
{ 0x21F1, 80652 },
{ 0x2247, 80653 },
- { 0x7C6A, 80654 },
+ { 0x7C6F, 80654 },
{ 0x118D, 80655 },
{ 0x1224, 80658 },
{ 0x1184, 80661 },
@@ -68218,10 +68225,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1273, 81151 },
{ 0x1275, 81154 },
{ 0x15EB, 81157 },
- { 0x50A6, 81160 },
- { 0x50A3, 81163 },
- { 0x50A4, 81166 },
- { 0x50A5, 81169 },
+ { 0x50AB, 81160 },
+ { 0x50A8, 81163 },
+ { 0x50A9, 81166 },
+ { 0x50AA, 81169 },
{ 0x1283, 81172 },
{ 0x1279, 81175 },
{ 0x127B, 81178 },
@@ -68635,18 +68642,18 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x132C, 82702 },
{ 0x132E, 82706 },
{ 0x160A, 82710 },
- { 0x509B, 82714 },
- { 0x5097, 82718 },
- { 0x5099, 82722 },
- { 0x509C, 82726 },
- { 0x5098, 82730 },
- { 0x509A, 82734 },
- { 0x50A1, 82738 },
- { 0x509D, 82742 },
- { 0x509F, 82746 },
- { 0x50A2, 82750 },
- { 0x509E, 82754 },
- { 0x50A0, 82758 },
+ { 0x50A0, 82714 },
+ { 0x509C, 82718 },
+ { 0x509E, 82722 },
+ { 0x50A1, 82726 },
+ { 0x509D, 82730 },
+ { 0x509F, 82734 },
+ { 0x50A6, 82738 },
+ { 0x50A2, 82742 },
+ { 0x50A4, 82746 },
+ { 0x50A7, 82750 },
+ { 0x50A3, 82754 },
+ { 0x50A5, 82758 },
{ 0x1336, 82762 },
{ 0x1333, 82766 },
{ 0x1334, 82770 },
@@ -68776,94 +68783,94 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1208, 83267 },
{ 0x1209, 83271 },
{ 0x120A, 83275 },
- { 0x7B45, 83279 },
- { 0x7C88, 83281 },
- { 0x3A7D, 83283 },
- { 0x3A7E, 83287 },
- { 0x3A7F, 83291 },
- { 0x3A80, 83295 },
- { 0x3AAA, 83299 },
- { 0x3A81, 83303 },
- { 0x3A82, 83307 },
- { 0x3AB0, 83311 },
- { 0x3AB2, 83315 },
- { 0x3AB4, 83319 },
- { 0x3AB6, 83323 },
- { 0x3AB7, 83327 },
- { 0x3AB8, 83331 },
- { 0x3A83, 83335 },
- { 0x3A85, 83339 },
- { 0x3A86, 83343 },
- { 0x3A87, 83347 },
- { 0x3A88, 83351 },
- { 0x3A89, 83355 },
- { 0x3A8A, 83359 },
- { 0x3A8B, 83363 },
- { 0x3A8C, 83367 },
- { 0x3A8D, 83371 },
- { 0x3A8E, 83375 },
- { 0x3A8F, 83379 },
- { 0x3A84, 83383 },
- { 0x3A90, 83387 },
- { 0x3A91, 83391 },
- { 0x3A92, 83395 },
- { 0x3A93, 83399 },
- { 0x3A94, 83403 },
- { 0x3A95, 83407 },
- { 0x3A96, 83411 },
- { 0x3A97, 83415 },
- { 0x3A98, 83419 },
- { 0x3A99, 83423 },
- { 0x3A9A, 83427 },
+ { 0x7B4A, 83279 },
+ { 0x7C8D, 83281 },
+ { 0x3A82, 83283 },
+ { 0x3A83, 83287 },
+ { 0x3A84, 83291 },
+ { 0x3A85, 83295 },
+ { 0x3AAF, 83299 },
+ { 0x3A86, 83303 },
+ { 0x3A87, 83307 },
+ { 0x3AB5, 83311 },
+ { 0x3AB7, 83315 },
+ { 0x3AB9, 83319 },
+ { 0x3ABB, 83323 },
+ { 0x3ABC, 83327 },
+ { 0x3ABD, 83331 },
+ { 0x3A88, 83335 },
+ { 0x3A8A, 83339 },
+ { 0x3A8B, 83343 },
+ { 0x3A8C, 83347 },
+ { 0x3A8D, 83351 },
+ { 0x3A8E, 83355 },
+ { 0x3A8F, 83359 },
+ { 0x3A90, 83363 },
+ { 0x3A91, 83367 },
+ { 0x3A92, 83371 },
+ { 0x3A93, 83375 },
+ { 0x3A94, 83379 },
+ { 0x3A89, 83383 },
+ { 0x3A95, 83387 },
+ { 0x3A96, 83391 },
+ { 0x3A97, 83395 },
+ { 0x3A98, 83399 },
+ { 0x3A99, 83403 },
+ { 0x3A9A, 83407 },
+ { 0x3A9B, 83411 },
+ { 0x3A9C, 83415 },
+ { 0x3A9D, 83419 },
+ { 0x3A9E, 83423 },
+ { 0x3A9F, 83427 },
{ 0x1182, 83431 },
- { 0x3A9B, 83435 },
- { 0x3A9E, 83439 },
- { 0x3A9F, 83443 },
- { 0x3AA0, 83447 },
- { 0x3AA1, 83451 },
- { 0x3AA2, 83455 },
- { 0x3AA9, 83459 },
- { 0x3AAB, 83463 },
- { 0x3AAC, 83467 },
- { 0x3AAD, 83471 },
- { 0x3AAE, 83475 },
- { 0x3AAF, 83479 },
- { 0x3AB1, 83483 },
- { 0x3AB3, 83487 },
- { 0x3AB5, 83491 },
- { 0x3AC6, 83495 },
- { 0x3AC7, 83499 },
- { 0x3AC8, 83503 },
- { 0x3AC9, 83507 },
- { 0x3ACA, 83511 },
- { 0x3ACB, 83515 },
- { 0x3ACC, 83519 },
+ { 0x3AA0, 83435 },
+ { 0x3AA3, 83439 },
+ { 0x3AA4, 83443 },
+ { 0x3AA5, 83447 },
+ { 0x3AA6, 83451 },
+ { 0x3AA7, 83455 },
+ { 0x3AAE, 83459 },
+ { 0x3AB0, 83463 },
+ { 0x3AB1, 83467 },
+ { 0x3AB2, 83471 },
+ { 0x3AB3, 83475 },
+ { 0x3AB4, 83479 },
+ { 0x3AB6, 83483 },
+ { 0x3AB8, 83487 },
+ { 0x3ABA, 83491 },
+ { 0x3ACB, 83495 },
+ { 0x3ACC, 83499 },
+ { 0x3ACD, 83503 },
+ { 0x3ACE, 83507 },
+ { 0x3ACF, 83511 },
+ { 0x3AD0, 83515 },
+ { 0x3AD1, 83519 },
{ 0x117D, 83523 },
{ 0x117E, 83527 },
{ 0x117F, 83531 },
{ 0x1180, 83535 },
{ 0x1181, 83539 },
- { 0x3AB9, 83543 },
- { 0x3A9C, 83547 },
- { 0x3A9D, 83551 },
- { 0x3AA3, 83555 },
- { 0x3AA4, 83559 },
- { 0x3AA5, 83563 },
- { 0x3AA6, 83567 },
- { 0x3AA7, 83571 },
- { 0x3AA8, 83575 },
- { 0x3ABA, 83579 },
- { 0x3ABB, 83583 },
- { 0x3ABC, 83587 },
- { 0x3ABD, 83591 },
- { 0x3ABE, 83595 },
- { 0x3ABF, 83599 },
- { 0x3AC0, 83603 },
- { 0x3AC1, 83607 },
- { 0x3AC2, 83611 },
- { 0x3AC3, 83615 },
- { 0x3AC4, 83619 },
- { 0x3AC5, 83623 },
+ { 0x3ABE, 83543 },
+ { 0x3AA1, 83547 },
+ { 0x3AA2, 83551 },
+ { 0x3AA8, 83555 },
+ { 0x3AA9, 83559 },
+ { 0x3AAA, 83563 },
+ { 0x3AAB, 83567 },
+ { 0x3AAC, 83571 },
+ { 0x3AAD, 83575 },
+ { 0x3ABF, 83579 },
+ { 0x3AC0, 83583 },
+ { 0x3AC1, 83587 },
+ { 0x3AC2, 83591 },
+ { 0x3AC3, 83595 },
+ { 0x3AC4, 83599 },
+ { 0x3AC5, 83603 },
+ { 0x3AC6, 83607 },
+ { 0x3AC7, 83611 },
+ { 0x3AC8, 83615 },
+ { 0x3AC9, 83619 },
+ { 0x3ACA, 83623 },
{ 0x1127, 83627 },
{ 0x1128, 83630 },
{ 0x1129, 83633 },
@@ -68950,47 +68957,47 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x116D, 83876 },
{ 0x116E, 83879 },
{ 0x116F, 83882 },
- { 0x7AF7, 83885 },
- { 0x7AD5, 83886 },
- { 0x7E5D, 83887 },
- { 0x7BE4, 83889 },
- { 0x7BF4, 83890 },
- { 0x7B20, 83893 },
- { 0x8056, 83896 },
- { 0x7B1D, 83898 },
- { 0x7B2F, 83900 },
- { 0x7DBA, 83902 },
+ { 0x7AFC, 83885 },
+ { 0x7ADA, 83886 },
+ { 0x7E62, 83887 },
+ { 0x7BE9, 83889 },
+ { 0x7BF9, 83890 },
+ { 0x7B25, 83893 },
+ { 0x805B, 83896 },
+ { 0x7B22, 83898 },
+ { 0x7B34, 83900 },
+ { 0x7DBF, 83902 },
{ 0x1E5C, 83904 },
{ 0x1F04, 83907 },
{ 0x1F06, 83911 },
{ 0x1F4B, 83918 },
{ 0x1F4E, 83923 },
{ 0x1F4C, 83926 },
- { 0x79CC, 83935 },
- { 0x6E79, 83937 },
- { 0x6E7E, 83942 },
- { 0x6E7A, 83947 },
- { 0x6E7D, 83952 },
- { 0x6E7C, 83957 },
- { 0x6E81, 83962 },
- { 0x6E80, 83967 },
- { 0x6E7F, 83972 },
- { 0x6E7B, 83977 },
- { 0x6E70, 83982 },
- { 0x6E75, 83987 },
- { 0x6E71, 83992 },
- { 0x6E74, 83997 },
- { 0x6E73, 84002 },
- { 0x6E78, 84007 },
- { 0x6E77, 84012 },
- { 0x6E76, 84017 },
- { 0x6E72, 84022 },
- { 0x7ABE, 84027 },
+ { 0x79D1, 83935 },
+ { 0x6E7E, 83937 },
+ { 0x6E83, 83942 },
+ { 0x6E7F, 83947 },
+ { 0x6E82, 83952 },
+ { 0x6E81, 83957 },
+ { 0x6E86, 83962 },
+ { 0x6E85, 83967 },
+ { 0x6E84, 83972 },
+ { 0x6E80, 83977 },
+ { 0x6E75, 83982 },
+ { 0x6E7A, 83987 },
+ { 0x6E76, 83992 },
+ { 0x6E79, 83997 },
+ { 0x6E78, 84002 },
+ { 0x6E7D, 84007 },
+ { 0x6E7C, 84012 },
+ { 0x6E7B, 84017 },
+ { 0x6E77, 84022 },
+ { 0x7AC3, 84027 },
{ 0x22EF, 84029 },
{ 0x1D15, 84031 },
- { 0x8066, 84033 },
+ { 0x806B, 84033 },
{ 0x0063, 84034 },
- { 0x7C56, 84036 },
+ { 0x7C5B, 84036 },
{ 0x03E6, 84038 },
{ 0x0487, 84042 },
{ 0x0489, 84048 },
@@ -69046,14 +69053,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x04DB, 84316 },
{ 0x04D1, 84322 },
{ 0x03F8, 84326 },
- { 0x3634, 84330 },
+ { 0x3639, 84330 },
{ 0x0463, 84337 },
{ 0x042F, 84343 },
{ 0x03E8, 84347 },
{ 0x04D3, 84351 },
{ 0x0405, 84355 },
{ 0x040D, 84359 },
- { 0x3608, 84363 },
+ { 0x360D, 84363 },
{ 0x0404, 84367 },
{ 0x03ED, 84371 },
{ 0x044F, 84375 },
@@ -69064,7 +69071,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x046D, 84403 },
{ 0x04AB, 84409 },
{ 0x0408, 84415 },
- { 0x362A, 84419 },
+ { 0x362F, 84419 },
{ 0x040B, 84423 },
{ 0x03E9, 84427 },
{ 0x044B, 84431 },
@@ -69073,7 +69080,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0447, 84452 },
{ 0x04AD, 84458 },
{ 0x0409, 84464 },
- { 0x363E, 84468 },
+ { 0x3643, 84468 },
{ 0x0412, 84472 },
{ 0x0425, 84476 },
{ 0x04CB, 84480 },
@@ -69083,21 +69090,21 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x04CD, 84496 },
{ 0x03FE, 84500 },
{ 0x03FC, 84504 },
- { 0x3636, 84508 },
+ { 0x363B, 84508 },
{ 0x04CF, 84512 },
{ 0x0419, 84516 },
{ 0x03EC, 84520 },
{ 0x0478, 84524 },
{ 0x044D, 84530 },
{ 0x0493, 84536 },
- { 0x3630, 84542 },
+ { 0x3635, 84542 },
{ 0x04E3, 84546 },
{ 0x0415, 84550 },
- { 0x362C, 84554 },
- { 0x3632, 84558 },
+ { 0x3631, 84554 },
+ { 0x3637, 84558 },
{ 0x0429, 84562 },
{ 0x0400, 84566 },
- { 0x35F0, 84571 },
+ { 0x35F5, 84571 },
{ 0x04B7, 84575 },
{ 0x04B9, 84580 },
{ 0x04BF, 84585 },
@@ -69108,27 +69115,27 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x04BD, 84610 },
{ 0x0471, 84615 },
{ 0x04DD, 84619 },
- { 0x3640, 84625 },
- { 0x360C, 84629 },
- { 0x360E, 84634 },
- { 0x3610, 84639 },
+ { 0x3645, 84625 },
+ { 0x3611, 84629 },
+ { 0x3613, 84634 },
+ { 0x3615, 84639 },
{ 0x0402, 84644 },
{ 0x192B, 84649 },
{ 0x192E, 84654 },
{ 0x192D, 84659 },
- { 0x363C, 84665 },
+ { 0x3641, 84665 },
{ 0x0411, 84669 },
- { 0x363A, 84673 },
- { 0x3638, 84677 },
+ { 0x363F, 84673 },
+ { 0x363D, 84677 },
{ 0x192A, 84681 },
{ 0x0401, 84686 },
- { 0x35FA, 84690 },
+ { 0x35FF, 84690 },
{ 0x04AF, 84697 },
- { 0x362E, 84703 },
+ { 0x3633, 84703 },
{ 0x04D5, 84707 },
- { 0x35F6, 84712 },
- { 0x35F2, 84717 },
- { 0x35EC, 84721 },
+ { 0x35FB, 84712 },
+ { 0x35F7, 84717 },
+ { 0x35F1, 84721 },
{ 0x04E1, 84725 },
{ 0x0437, 84729 },
{ 0x0417, 84733 },
@@ -69142,30 +69149,30 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0414, 84774 },
{ 0x049F, 84779 },
{ 0x04A1, 84784 },
- { 0x3602, 84791 },
- { 0x3642, 84797 },
- { 0x3616, 84802 },
+ { 0x3607, 84791 },
+ { 0x3647, 84797 },
+ { 0x361B, 84802 },
{ 0x041D, 84808 },
{ 0x1929, 84813 },
- { 0x35EA, 84818 },
+ { 0x35EF, 84818 },
{ 0x0457, 84822 },
- { 0x3604, 84827 },
- { 0x3644, 84832 },
+ { 0x3609, 84827 },
+ { 0x3649, 84832 },
{ 0x042B, 84837 },
{ 0x042D, 84841 },
- { 0x35F8, 84849 },
+ { 0x35FD, 84849 },
{ 0x1927, 84854 },
- { 0x3600, 84859 },
+ { 0x3605, 84859 },
{ 0x041B, 84864 },
{ 0x0423, 84869 },
- { 0x35FC, 84875 },
- { 0x3606, 84880 },
+ { 0x3601, 84875 },
+ { 0x360B, 84880 },
{ 0x041F, 84887 },
{ 0x0485, 84893 },
- { 0x35FE, 84897 },
+ { 0x3603, 84897 },
{ 0x04C7, 84902 },
- { 0x35EE, 84907 },
- { 0x360A, 84912 },
+ { 0x35F3, 84907 },
+ { 0x360F, 84912 },
{ 0x0443, 84917 },
{ 0x0465, 84922 },
{ 0x0467, 84927 },
@@ -69173,9 +69180,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0473, 84939 },
{ 0x0475, 84944 },
{ 0x0497, 84951 },
- { 0x3614, 84956 },
- { 0x3612, 84961 },
- { 0x35F4, 84966 },
+ { 0x3619, 84956 },
+ { 0x3617, 84961 },
+ { 0x35F9, 84966 },
{ 0x040A, 84971 },
{ 0x192F, 84976 },
{ 0x0482, 84981 },
@@ -69185,10 +69192,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x048B, 85001 },
{ 0x045B, 85006 },
{ 0x046B, 85011 },
- { 0x3627, 85016 },
+ { 0x362C, 85016 },
{ 0x19BC, 85018 },
{ 0x0476, 85023 },
- { 0x3617, 85026 },
+ { 0x361C, 85026 },
{ 0x03C6, 85030 },
{ 0x0486, 85034 },
{ 0x0488, 85040 },
@@ -69244,14 +69251,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x04DA, 85308 },
{ 0x04D0, 85314 },
{ 0x03D8, 85318 },
- { 0x3633, 85322 },
+ { 0x3638, 85322 },
{ 0x0462, 85329 },
{ 0x042E, 85335 },
{ 0x03C8, 85339 },
{ 0x04D2, 85343 },
{ 0x03E5, 85347 },
{ 0x03BD, 85351 },
- { 0x3607, 85355 },
+ { 0x360C, 85355 },
{ 0x03E4, 85359 },
{ 0x03CD, 85363 },
{ 0x044E, 85367 },
@@ -69262,7 +69269,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x046C, 85395 },
{ 0x04AA, 85401 },
{ 0x03B8, 85407 },
- { 0x3629, 85411 },
+ { 0x362E, 85411 },
{ 0x03BB, 85415 },
{ 0x03C9, 85419 },
{ 0x044A, 85423 },
@@ -69271,7 +69278,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0446, 85444 },
{ 0x04AC, 85450 },
{ 0x03B9, 85456 },
- { 0x363D, 85460 },
+ { 0x3642, 85460 },
{ 0x03C2, 85464 },
{ 0x0424, 85468 },
{ 0x04CA, 85472 },
@@ -69281,21 +69288,21 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x04CC, 85488 },
{ 0x03DE, 85492 },
{ 0x03DC, 85496 },
- { 0x3635, 85500 },
+ { 0x363A, 85500 },
{ 0x04CE, 85504 },
{ 0x0418, 85508 },
{ 0x03CC, 85512 },
{ 0x0477, 85516 },
{ 0x044C, 85522 },
{ 0x0492, 85528 },
- { 0x362F, 85534 },
+ { 0x3634, 85534 },
{ 0x04E2, 85538 },
{ 0x03C5, 85542 },
- { 0x362B, 85546 },
- { 0x3631, 85550 },
+ { 0x3630, 85546 },
+ { 0x3636, 85550 },
{ 0x0428, 85554 },
{ 0x03E0, 85558 },
- { 0x35EF, 85563 },
+ { 0x35F4, 85563 },
{ 0x04B6, 85567 },
{ 0x04B8, 85572 },
{ 0x04BE, 85577 },
@@ -69306,23 +69313,23 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x04BC, 85602 },
{ 0x0470, 85607 },
{ 0x04DC, 85611 },
- { 0x363F, 85617 },
- { 0x360B, 85621 },
- { 0x360D, 85626 },
- { 0x360F, 85631 },
+ { 0x3644, 85617 },
+ { 0x3610, 85621 },
+ { 0x3612, 85626 },
+ { 0x3614, 85631 },
{ 0x03E2, 85636 },
- { 0x363B, 85641 },
+ { 0x3640, 85641 },
{ 0x03C1, 85645 },
- { 0x3639, 85649 },
- { 0x3637, 85653 },
+ { 0x363E, 85649 },
+ { 0x363C, 85653 },
{ 0x03E1, 85657 },
- { 0x35F9, 85661 },
+ { 0x35FE, 85661 },
{ 0x04AE, 85668 },
- { 0x362D, 85674 },
+ { 0x3632, 85674 },
{ 0x04D4, 85678 },
- { 0x35F5, 85683 },
- { 0x35F1, 85688 },
- { 0x35EB, 85692 },
+ { 0x35FA, 85683 },
+ { 0x35F6, 85688 },
+ { 0x35F0, 85692 },
{ 0x04E0, 85696 },
{ 0x0436, 85700 },
{ 0x0416, 85704 },
@@ -69336,27 +69343,27 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x03C4, 85745 },
{ 0x049E, 85750 },
{ 0x04A0, 85755 },
- { 0x3601, 85762 },
- { 0x3641, 85768 },
- { 0x3615, 85773 },
+ { 0x3606, 85762 },
+ { 0x3646, 85768 },
+ { 0x361A, 85773 },
{ 0x041C, 85779 },
- { 0x35E9, 85784 },
+ { 0x35EE, 85784 },
{ 0x0456, 85788 },
- { 0x3603, 85793 },
- { 0x3643, 85798 },
+ { 0x3608, 85793 },
+ { 0x3648, 85798 },
{ 0x042A, 85803 },
{ 0x042C, 85807 },
- { 0x35F7, 85815 },
- { 0x35FF, 85820 },
+ { 0x35FC, 85815 },
+ { 0x3604, 85820 },
{ 0x041A, 85825 },
{ 0x0422, 85830 },
- { 0x35FB, 85836 },
- { 0x3605, 85841 },
+ { 0x3600, 85836 },
+ { 0x360A, 85841 },
{ 0x041E, 85848 },
- { 0x35FD, 85854 },
+ { 0x3602, 85854 },
{ 0x04C6, 85859 },
- { 0x35ED, 85864 },
- { 0x3609, 85869 },
+ { 0x35F2, 85864 },
+ { 0x360E, 85869 },
{ 0x0442, 85874 },
{ 0x0464, 85879 },
{ 0x0466, 85884 },
@@ -69364,1326 +69371,1326 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0472, 85896 },
{ 0x0474, 85901 },
{ 0x0496, 85908 },
- { 0x3613, 85913 },
- { 0x3611, 85918 },
- { 0x35F3, 85923 },
+ { 0x3618, 85913 },
+ { 0x3616, 85918 },
+ { 0x35F8, 85923 },
{ 0x03BA, 85928 },
{ 0x0481, 85933 },
{ 0x03BC, 85938 },
{ 0x048A, 85943 },
{ 0x045A, 85948 },
{ 0x046A, 85953 },
- { 0x3628, 85958 },
- { 0x7579, 85960 },
- { 0x7581, 85965 },
- { 0x7584, 85970 },
- { 0x7587, 85975 },
- { 0x757A, 85980 },
- { 0x757D, 85985 },
- { 0x7588, 85990 },
- { 0x7583, 85995 },
- { 0x7586, 86000 },
- { 0x7589, 86005 },
- { 0x757E, 86010 },
- { 0x7582, 86015 },
- { 0x7585, 86020 },
- { 0x757B, 86025 },
- { 0x7580, 86030 },
- { 0x758B, 86035 },
- { 0x7591, 86040 },
- { 0x757C, 86045 },
- { 0x758F, 86050 },
- { 0x758C, 86057 },
- { 0x758A, 86062 },
- { 0x757F, 86067 },
- { 0x7592, 86072 },
- { 0x758D, 86077 },
- { 0x758E, 86083 },
- { 0x7590, 86088 },
+ { 0x362D, 85958 },
+ { 0x757E, 85960 },
+ { 0x7586, 85965 },
+ { 0x7589, 85970 },
+ { 0x758C, 85975 },
+ { 0x757F, 85980 },
+ { 0x7582, 85985 },
+ { 0x758D, 85990 },
+ { 0x7588, 85995 },
+ { 0x758B, 86000 },
+ { 0x758E, 86005 },
+ { 0x7583, 86010 },
+ { 0x7587, 86015 },
+ { 0x758A, 86020 },
+ { 0x7580, 86025 },
+ { 0x7585, 86030 },
+ { 0x7590, 86035 },
+ { 0x7596, 86040 },
+ { 0x7581, 86045 },
+ { 0x7594, 86050 },
+ { 0x7591, 86057 },
+ { 0x758F, 86062 },
+ { 0x7584, 86067 },
+ { 0x7597, 86072 },
+ { 0x7592, 86077 },
+ { 0x7593, 86083 },
+ { 0x7595, 86088 },
{ 0x0438, 86094 },
- { 0x7D80, 86097 },
- { 0x7E3F, 86101 },
- { 0x7B7F, 86103 },
+ { 0x7D85, 86097 },
+ { 0x7E44, 86101 },
+ { 0x7B84, 86103 },
{ 0x1F51, 86106 },
{ 0x22F0, 86108 },
{ 0x00B6, 86110 },
{ 0x1E66, 86112 },
{ 0x1F18, 86114 },
- { 0x7D73, 86116 },
- { 0x7D5E, 86117 },
- { 0x7D5F, 86120 },
- { 0x7D60, 86125 },
- { 0x7B0E, 86128 },
- { 0x801C, 86129 },
- { 0x801E, 86132 },
- { 0x801D, 86137 },
- { 0x801F, 86141 },
+ { 0x7D78, 86116 },
+ { 0x7D63, 86117 },
+ { 0x7D64, 86120 },
+ { 0x7D65, 86125 },
+ { 0x7B13, 86128 },
+ { 0x8021, 86129 },
+ { 0x8023, 86132 },
+ { 0x8022, 86137 },
+ { 0x8024, 86141 },
{ 0x23BE, 86147 },
- { 0x8038, 86151 },
- { 0x8073, 86153 },
- { 0x6B0B, 86154 },
- { 0x6B05, 86159 },
- { 0x6B07, 86163 },
- { 0x6B04, 86167 },
- { 0x6B08, 86172 },
- { 0x6B01, 86176 },
- { 0x6B0A, 86180 },
- { 0x6B03, 86184 },
- { 0x6B02, 86188 },
- { 0x6B06, 86193 },
- { 0x6B09, 86197 },
- { 0x6AEE, 86201 },
- { 0x6AEF, 86206 },
- { 0x6AEC, 86211 },
- { 0x6AFC, 86216 },
- { 0x6AFE, 86220 },
- { 0x6AFB, 86224 },
- { 0x6AFF, 86229 },
- { 0x6AF8, 86233 },
- { 0x6AFA, 86237 },
- { 0x6AF9, 86241 },
- { 0x6AFD, 86246 },
- { 0x6B00, 86250 },
- { 0x6AF0, 86254 },
- { 0x6AEB, 86259 },
- { 0x6AED, 86264 },
- { 0x6AF5, 86269 },
- { 0x6AF6, 86274 },
- { 0x6AF4, 86279 },
- { 0x6AF1, 86283 },
- { 0x6AF3, 86287 },
- { 0x6AF7, 86291 },
- { 0x6AF2, 86296 },
- { 0x6B0C, 86301 },
- { 0x6B0D, 86305 },
- { 0x6AC1, 86308 },
- { 0x6A87, 86311 },
- { 0x6A88, 86314 },
- { 0x6A8D, 86317 },
- { 0x6AC7, 86321 },
- { 0x6A84, 86324 },
- { 0x6A8E, 86327 },
- { 0x6A8A, 86331 },
- { 0x6ABE, 86334 },
- { 0x6A80, 86339 },
- { 0x6AC6, 86342 },
- { 0x6A9B, 86345 },
- { 0x6A9F, 86348 },
- { 0x6AAD, 86352 },
- { 0x6AB0, 86357 },
- { 0x6AB1, 86361 },
- { 0x6AA9, 86366 },
- { 0x6AAF, 86370 },
- { 0x6AA3, 86376 },
- { 0x6AA4, 86381 },
- { 0x6A85, 86389 },
- { 0x6A8F, 86392 },
- { 0x6ABD, 86396 },
- { 0x6A86, 86401 },
- { 0x6A99, 86404 },
- { 0x6A9D, 86407 },
- { 0x6AAB, 86411 },
- { 0x6AA7, 86416 },
- { 0x6AA1, 86420 },
- { 0x6A9A, 86425 },
- { 0x6A9E, 86428 },
- { 0x6AAC, 86432 },
- { 0x6AA8, 86437 },
- { 0x6AA2, 86441 },
- { 0x6AC4, 86446 },
- { 0x6A82, 86449 },
- { 0x6A8C, 86452 },
- { 0x6A8B, 86456 },
- { 0x6A90, 86459 },
- { 0x6A9C, 86463 },
- { 0x6AA0, 86466 },
- { 0x6AAE, 86470 },
- { 0x6ABF, 86475 },
- { 0x6AC0, 86479 },
- { 0x6ABC, 86484 },
- { 0x6ABB, 86488 },
- { 0x6AB4, 86492 },
- { 0x6AB5, 86496 },
- { 0x6AAA, 86501 },
- { 0x6AB2, 86505 },
- { 0x6AB3, 86509 },
- { 0x6AA5, 86514 },
- { 0x6AA6, 86519 },
- { 0x6A83, 86525 },
- { 0x6AB7, 86528 },
- { 0x6AB6, 86533 },
- { 0x6AD1, 86537 },
- { 0x6AD4, 86540 },
- { 0x6A89, 86544 },
- { 0x6AB8, 86547 },
- { 0x6ABA, 86550 },
- { 0x6A81, 86554 },
- { 0x6A93, 86557 },
- { 0x6ACB, 86560 },
- { 0x6AD2, 86563 },
- { 0x6A96, 86566 },
- { 0x6AC8, 86569 },
- { 0x6A94, 86572 },
- { 0x6A97, 86575 },
- { 0x6AC3, 86578 },
- { 0x6ADB, 86581 },
- { 0x6ADA, 86584 },
- { 0x6A98, 86587 },
- { 0x6A91, 86590 },
- { 0x6AD7, 86593 },
- { 0x6ACA, 86596 },
- { 0x6ADC, 86599 },
- { 0x6AB9, 86602 },
- { 0x6ADE, 86605 },
- { 0x6ADD, 86608 },
- { 0x6AD3, 86611 },
- { 0x6AD0, 86614 },
- { 0x6AC5, 86617 },
- { 0x6AD9, 86620 },
- { 0x6ADF, 86623 },
- { 0x6AE0, 86626 },
- { 0x6ACF, 86629 },
- { 0x6AD5, 86633 },
- { 0x6AE4, 86637 },
- { 0x6AE3, 86641 },
- { 0x6AE2, 86645 },
- { 0x6AE1, 86649 },
- { 0x6AC9, 86653 },
- { 0x6A95, 86657 },
- { 0x6AD8, 86661 },
- { 0x6AE8, 86665 },
- { 0x6A92, 86669 },
- { 0x6ACE, 86673 },
- { 0x6ACC, 86677 },
- { 0x6AE7, 86681 },
- { 0x6AE9, 86685 },
- { 0x6AC2, 86689 },
- { 0x6AE6, 86693 },
- { 0x6AE5, 86697 },
- { 0x6AEA, 86701 },
- { 0x6ACD, 86705 },
- { 0x6AD6, 86709 },
- { 0x6B0E, 86713 },
- { 0x5C30, 86718 },
- { 0x5C29, 86723 },
- { 0x5C2E, 86727 },
- { 0x57F1, 86731 },
- { 0x57F2, 86734 },
- { 0x57F3, 86737 },
- { 0x57F4, 86740 },
- { 0x57F5, 86743 },
- { 0x57F7, 86746 },
- { 0x57FA, 86749 },
- { 0x57FB, 86752 },
- { 0x57FC, 86755 },
- { 0x57FD, 86758 },
- { 0x57FE, 86761 },
- { 0x57FF, 86764 },
- { 0x5800, 86767 },
- { 0x5801, 86770 },
- { 0x5803, 86773 },
- { 0x5804, 86776 },
- { 0x5805, 86779 },
- { 0x5807, 86782 },
- { 0x5808, 86785 },
- { 0x5809, 86788 },
- { 0x580A, 86791 },
- { 0x580B, 86794 },
- { 0x580C, 86797 },
- { 0x580D, 86800 },
- { 0x580E, 86803 },
- { 0x580F, 86806 },
- { 0x5810, 86809 },
- { 0x5811, 86812 },
- { 0x5812, 86815 },
- { 0x5813, 86818 },
- { 0x5814, 86821 },
- { 0x5815, 86824 },
- { 0x5817, 86827 },
- { 0x5818, 86830 },
- { 0x5819, 86833 },
- { 0x581A, 86836 },
- { 0x581B, 86839 },
- { 0x581C, 86842 },
- { 0x581D, 86845 },
- { 0x581E, 86848 },
- { 0x5820, 86851 },
- { 0x5821, 86854 },
- { 0x5823, 86857 },
- { 0x5825, 86860 },
- { 0x5826, 86863 },
- { 0x5828, 86866 },
- { 0x5829, 86869 },
- { 0x582A, 86872 },
- { 0x582B, 86875 },
- { 0x582C, 86878 },
- { 0x582D, 86881 },
- { 0x582E, 86884 },
- { 0x582F, 86887 },
- { 0x5830, 86890 },
- { 0x5831, 86893 },
- { 0x5832, 86896 },
- { 0x5833, 86899 },
- { 0x5834, 86902 },
- { 0x5835, 86905 },
- { 0x5836, 86908 },
- { 0x5837, 86911 },
- { 0x5838, 86914 },
- { 0x5839, 86917 },
- { 0x583A, 86920 },
- { 0x583B, 86923 },
- { 0x583C, 86926 },
- { 0x583D, 86929 },
- { 0x583E, 86932 },
- { 0x583F, 86935 },
- { 0x5840, 86938 },
- { 0x5841, 86941 },
- { 0x5842, 86944 },
- { 0x5843, 86947 },
- { 0x5844, 86950 },
- { 0x5845, 86953 },
- { 0x5847, 86956 },
- { 0x5848, 86959 },
- { 0x5849, 86962 },
- { 0x584A, 86965 },
- { 0x584B, 86968 },
- { 0x584C, 86971 },
- { 0x5850, 86974 },
- { 0x5851, 86977 },
- { 0x5852, 86980 },
- { 0x5853, 86983 },
- { 0x5854, 86986 },
- { 0x5855, 86989 },
- { 0x5856, 86992 },
- { 0x5857, 86995 },
- { 0x5859, 86998 },
- { 0x585A, 87001 },
- { 0x585B, 87004 },
- { 0x585C, 87007 },
- { 0x585D, 87010 },
- { 0x585E, 87013 },
- { 0x585F, 87016 },
- { 0x5860, 87019 },
- { 0x5861, 87022 },
- { 0x5862, 87025 },
- { 0x5863, 87028 },
- { 0x5864, 87031 },
- { 0x5865, 87034 },
- { 0x5866, 87037 },
- { 0x5867, 87040 },
- { 0x5868, 87043 },
- { 0x5869, 87046 },
- { 0x586A, 87049 },
- { 0x586B, 87052 },
- { 0x586C, 87055 },
- { 0x586D, 87058 },
- { 0x586E, 87061 },
- { 0x5870, 87064 },
- { 0x5871, 87067 },
- { 0x5872, 87070 },
- { 0x5873, 87073 },
- { 0x5874, 87076 },
- { 0x5875, 87079 },
- { 0x5876, 87082 },
- { 0x5877, 87085 },
- { 0x5878, 87088 },
- { 0x5879, 87091 },
- { 0x587A, 87094 },
- { 0x587B, 87097 },
- { 0x587C, 87100 },
- { 0x587D, 87103 },
- { 0x587E, 87106 },
- { 0x587F, 87109 },
- { 0x5880, 87112 },
- { 0x5881, 87115 },
- { 0x5882, 87118 },
- { 0x5884, 87121 },
- { 0x5885, 87124 },
- { 0x5886, 87127 },
- { 0x5887, 87130 },
- { 0x5889, 87133 },
- { 0x588A, 87136 },
- { 0x588B, 87139 },
- { 0x588D, 87142 },
- { 0x588E, 87145 },
- { 0x588F, 87148 },
- { 0x5890, 87151 },
- { 0x5891, 87154 },
- { 0x5892, 87157 },
- { 0x5893, 87160 },
- { 0x5894, 87163 },
- { 0x5895, 87166 },
- { 0x5896, 87169 },
- { 0x5897, 87172 },
- { 0x5898, 87175 },
- { 0x589A, 87178 },
- { 0x589B, 87181 },
- { 0x589D, 87184 },
- { 0x589E, 87187 },
- { 0x58A8, 87190 },
- { 0x58A9, 87193 },
- { 0x58AB, 87196 },
- { 0x58AC, 87199 },
- { 0x58AE, 87202 },
- { 0x58AF, 87205 },
- { 0x58B0, 87208 },
- { 0x58B1, 87211 },
- { 0x58B2, 87214 },
- { 0x58B3, 87217 },
- { 0x58B4, 87220 },
- { 0x58B5, 87223 },
- { 0x58B6, 87226 },
- { 0x58B7, 87229 },
- { 0x58B8, 87232 },
- { 0x58B9, 87235 },
- { 0x58BA, 87238 },
- { 0x58C3, 87241 },
- { 0x58C4, 87244 },
- { 0x58C5, 87247 },
- { 0x58C6, 87250 },
- { 0x58C7, 87253 },
- { 0x58C8, 87256 },
- { 0x58C9, 87259 },
- { 0x58CA, 87262 },
- { 0x58CC, 87265 },
- { 0x58CE, 87268 },
- { 0x58CF, 87271 },
- { 0x58D0, 87274 },
- { 0x58D1, 87277 },
- { 0x58D2, 87280 },
- { 0x58D3, 87283 },
- { 0x58D4, 87286 },
- { 0x58D6, 87289 },
- { 0x58D8, 87292 },
- { 0x58D9, 87295 },
- { 0x58DA, 87298 },
- { 0x58DC, 87301 },
- { 0x58DD, 87304 },
- { 0x58DE, 87307 },
- { 0x58DF, 87310 },
- { 0x58E0, 87313 },
- { 0x58E1, 87316 },
- { 0x58E2, 87319 },
- { 0x58E3, 87322 },
- { 0x58E5, 87325 },
- { 0x58E6, 87328 },
- { 0x58E7, 87331 },
- { 0x58E8, 87334 },
- { 0x58E9, 87337 },
- { 0x58EA, 87340 },
- { 0x58EC, 87343 },
- { 0x58ED, 87346 },
- { 0x58EE, 87349 },
- { 0x58EF, 87352 },
- { 0x58F1, 87355 },
- { 0x58F2, 87358 },
- { 0x58F3, 87361 },
- { 0x58F4, 87364 },
- { 0x58F5, 87367 },
- { 0x58F6, 87370 },
- { 0x58F7, 87373 },
- { 0x58F8, 87376 },
- { 0x58F9, 87379 },
- { 0x58FA, 87382 },
- { 0x58FB, 87385 },
- { 0x58FC, 87388 },
- { 0x58FE, 87391 },
- { 0x58FF, 87394 },
- { 0x5900, 87397 },
- { 0x5901, 87400 },
- { 0x5902, 87403 },
- { 0x5903, 87406 },
- { 0x5904, 87409 },
- { 0x5905, 87412 },
- { 0x5907, 87415 },
- { 0x5908, 87418 },
- { 0x5909, 87421 },
- { 0x590A, 87424 },
- { 0x590B, 87427 },
- { 0x590C, 87430 },
- { 0x590D, 87433 },
- { 0x590E, 87436 },
- { 0x590F, 87439 },
- { 0x5910, 87442 },
- { 0x5912, 87445 },
- { 0x5913, 87448 },
- { 0x5914, 87451 },
- { 0x5915, 87454 },
- { 0x5916, 87457 },
- { 0x5917, 87460 },
- { 0x5919, 87463 },
- { 0x591B, 87466 },
- { 0x591C, 87469 },
- { 0x591D, 87472 },
- { 0x591E, 87475 },
- { 0x591F, 87478 },
- { 0x5920, 87481 },
- { 0x5921, 87484 },
- { 0x5923, 87487 },
- { 0x5925, 87490 },
- { 0x5927, 87493 },
- { 0x5928, 87496 },
- { 0x5929, 87499 },
- { 0x592A, 87502 },
- { 0x592E, 87505 },
- { 0x592F, 87508 },
- { 0x5C32, 87511 },
- { 0x5930, 87515 },
- { 0x5931, 87518 },
- { 0x5932, 87521 },
- { 0x5933, 87524 },
- { 0x5934, 87527 },
- { 0x5935, 87530 },
- { 0x5937, 87533 },
- { 0x593A, 87536 },
- { 0x593B, 87539 },
- { 0x593C, 87542 },
- { 0x593D, 87545 },
- { 0x593F, 87548 },
- { 0x5940, 87551 },
- { 0x5941, 87554 },
- { 0x5942, 87557 },
- { 0x5943, 87560 },
- { 0x5944, 87563 },
- { 0x5945, 87566 },
- { 0x5946, 87569 },
- { 0x5947, 87572 },
- { 0x5949, 87575 },
- { 0x594A, 87578 },
- { 0x594B, 87581 },
- { 0x594C, 87584 },
- { 0x594D, 87587 },
- { 0x594E, 87590 },
- { 0x5950, 87593 },
- { 0x5951, 87596 },
- { 0x5952, 87599 },
- { 0x5953, 87602 },
- { 0x5954, 87605 },
- { 0x5955, 87608 },
- { 0x5956, 87611 },
- { 0x5957, 87614 },
- { 0x5958, 87617 },
- { 0x5959, 87620 },
- { 0x595B, 87623 },
- { 0x595D, 87626 },
- { 0x595E, 87629 },
- { 0x595F, 87632 },
- { 0x5960, 87635 },
- { 0x5961, 87638 },
- { 0x5962, 87641 },
- { 0x5964, 87644 },
- { 0x5965, 87647 },
- { 0x5967, 87650 },
- { 0x5968, 87653 },
- { 0x5969, 87656 },
- { 0x596A, 87659 },
- { 0x596B, 87662 },
- { 0x596C, 87665 },
- { 0x596D, 87668 },
- { 0x596E, 87671 },
- { 0x596F, 87674 },
- { 0x5970, 87677 },
- { 0x5971, 87680 },
- { 0x5972, 87683 },
- { 0x5973, 87686 },
- { 0x5974, 87689 },
- { 0x5975, 87692 },
- { 0x5977, 87695 },
- { 0x5978, 87698 },
- { 0x5C35, 87701 },
- { 0x5C33, 87706 },
- { 0x5979, 87710 },
- { 0x597A, 87713 },
- { 0x597B, 87716 },
- { 0x597C, 87719 },
- { 0x597D, 87722 },
- { 0x597F, 87725 },
- { 0x5980, 87728 },
- { 0x5981, 87731 },
- { 0x5982, 87734 },
- { 0x5984, 87737 },
- { 0x5986, 87740 },
- { 0x5988, 87743 },
- { 0x5989, 87746 },
- { 0x598A, 87749 },
- { 0x598B, 87752 },
- { 0x598C, 87755 },
- { 0x598D, 87758 },
- { 0x598E, 87761 },
- { 0x598F, 87764 },
- { 0x5990, 87767 },
- { 0x5991, 87770 },
- { 0x5992, 87773 },
- { 0x5993, 87776 },
- { 0x5994, 87779 },
- { 0x5995, 87782 },
- { 0x5997, 87785 },
- { 0x5998, 87788 },
- { 0x5999, 87791 },
- { 0x599A, 87794 },
- { 0x599C, 87797 },
- { 0x599D, 87800 },
- { 0x5C34, 87803 },
- { 0x599E, 87807 },
- { 0x59A1, 87810 },
- { 0x59A2, 87813 },
- { 0x59A4, 87816 },
- { 0x59A5, 87819 },
- { 0x59A6, 87822 },
- { 0x59A7, 87825 },
- { 0x59A8, 87828 },
- { 0x59A9, 87831 },
- { 0x59AA, 87834 },
- { 0x59AC, 87837 },
- { 0x59AD, 87840 },
- { 0x59B6, 87843 },
- { 0x59B7, 87846 },
- { 0x59B8, 87849 },
- { 0x59BA, 87852 },
- { 0x59BC, 87855 },
- { 0x59BE, 87858 },
- { 0x59BF, 87861 },
- { 0x59C0, 87864 },
- { 0x59C1, 87867 },
- { 0x59C2, 87870 },
- { 0x59C4, 87873 },
- { 0x59C5, 87876 },
- { 0x59C7, 87879 },
- { 0x59C8, 87882 },
- { 0x59C9, 87885 },
- { 0x59CA, 87888 },
- { 0x59CC, 87891 },
- { 0x59CD, 87894 },
- { 0x59CE, 87897 },
- { 0x59D0, 87900 },
- { 0x59D1, 87903 },
- { 0x59D4, 87906 },
- { 0x59D5, 87909 },
- { 0x59D6, 87912 },
- { 0x59D7, 87915 },
- { 0x59D8, 87918 },
- { 0x59D9, 87921 },
- { 0x59DA, 87924 },
- { 0x59DC, 87927 },
- { 0x59DD, 87930 },
- { 0x59DE, 87933 },
- { 0x59DF, 87936 },
- { 0x59E0, 87939 },
- { 0x59E1, 87942 },
- { 0x59E2, 87945 },
- { 0x59E3, 87948 },
- { 0x59E4, 87951 },
- { 0x59E5, 87954 },
- { 0x59E6, 87957 },
- { 0x59E7, 87960 },
- { 0x59E8, 87963 },
- { 0x59E9, 87966 },
- { 0x59EA, 87969 },
- { 0x59EB, 87972 },
- { 0x59EC, 87975 },
- { 0x59ED, 87978 },
- { 0x59EE, 87981 },
- { 0x59EF, 87984 },
- { 0x59F0, 87987 },
- { 0x59F1, 87990 },
- { 0x59F4, 87993 },
- { 0x59F5, 87996 },
- { 0x59F6, 87999 },
- { 0x59F7, 88002 },
- { 0x59F8, 88005 },
- { 0x59F9, 88008 },
- { 0x59FA, 88011 },
- { 0x59FC, 88014 },
- { 0x59FD, 88017 },
- { 0x59FE, 88020 },
- { 0x59FF, 88023 },
- { 0x5A00, 88026 },
- { 0x5A01, 88029 },
- { 0x5A02, 88032 },
- { 0x5A03, 88035 },
- { 0x5A05, 88038 },
- { 0x5A07, 88041 },
- { 0x5A09, 88044 },
- { 0x5A0A, 88047 },
- { 0x5A0C, 88050 },
- { 0x5A0D, 88053 },
- { 0x5A0E, 88056 },
- { 0x5A0F, 88059 },
- { 0x5A10, 88062 },
- { 0x5A41, 88065 },
- { 0x5A43, 88068 },
- { 0x5A44, 88071 },
- { 0x5A45, 88074 },
- { 0x5A46, 88077 },
- { 0x5A48, 88080 },
- { 0x5A4F, 88083 },
- { 0x5A50, 88086 },
- { 0x5A51, 88089 },
- { 0x5A52, 88092 },
- { 0x5A56, 88095 },
- { 0x5A57, 88098 },
- { 0x5A58, 88101 },
- { 0x5A59, 88104 },
- { 0x5A5A, 88107 },
- { 0x5A5B, 88110 },
- { 0x5A5C, 88113 },
- { 0x5A5D, 88116 },
- { 0x5A5E, 88119 },
- { 0x5A60, 88122 },
- { 0x5A62, 88125 },
- { 0x5A63, 88128 },
- { 0x5A64, 88131 },
- { 0x5A65, 88134 },
- { 0x5A67, 88137 },
- { 0x5A69, 88140 },
- { 0x5A6A, 88143 },
- { 0x5A6B, 88146 },
- { 0x5A6C, 88149 },
- { 0x5A6E, 88152 },
- { 0x5A70, 88155 },
- { 0x5A71, 88158 },
- { 0x5A72, 88161 },
- { 0x5A74, 88164 },
- { 0x5A75, 88167 },
- { 0x5A76, 88170 },
- { 0x5A7B, 88173 },
- { 0x5A7C, 88176 },
- { 0x5A7D, 88179 },
- { 0x5A7E, 88182 },
- { 0x5A7F, 88185 },
- { 0x5A80, 88188 },
- { 0x5A81, 88191 },
- { 0x5A82, 88194 },
- { 0x5A83, 88197 },
- { 0x5A84, 88200 },
- { 0x5A85, 88203 },
- { 0x5A86, 88206 },
- { 0x5A87, 88209 },
- { 0x5A88, 88212 },
- { 0x5A8B, 88215 },
- { 0x5A8C, 88218 },
- { 0x5A8E, 88221 },
- { 0x5A8F, 88224 },
- { 0x5A91, 88227 },
- { 0x5A92, 88230 },
- { 0x5A93, 88233 },
- { 0x5A94, 88236 },
- { 0x5A95, 88239 },
- { 0x5A96, 88242 },
- { 0x5A97, 88245 },
- { 0x5A98, 88248 },
- { 0x5A99, 88251 },
- { 0x5A9A, 88254 },
- { 0x5A9B, 88257 },
- { 0x5A9C, 88260 },
- { 0x5A9D, 88263 },
- { 0x5A9E, 88266 },
- { 0x5A9F, 88269 },
- { 0x5AA0, 88272 },
- { 0x5AA1, 88275 },
- { 0x5AA3, 88278 },
- { 0x5AA6, 88281 },
- { 0x5AA7, 88284 },
- { 0x5AA8, 88287 },
- { 0x5AA9, 88290 },
- { 0x5AAA, 88293 },
- { 0x5AAB, 88296 },
- { 0x5AAC, 88299 },
- { 0x5AAE, 88302 },
- { 0x5AAF, 88305 },
- { 0x5AB0, 88308 },
- { 0x5AB1, 88311 },
- { 0x5AB2, 88314 },
- { 0x5AB3, 88317 },
- { 0x5AB5, 88320 },
- { 0x5AB6, 88323 },
- { 0x5AB7, 88326 },
- { 0x5AB8, 88329 },
- { 0x5AB9, 88332 },
- { 0x5ABA, 88335 },
- { 0x5ABB, 88338 },
- { 0x5ABC, 88341 },
- { 0x5ABD, 88344 },
- { 0x5ABE, 88347 },
- { 0x5ABF, 88350 },
- { 0x5AC0, 88353 },
- { 0x5AC1, 88356 },
- { 0x5AC2, 88359 },
- { 0x5AC3, 88362 },
- { 0x5AC5, 88365 },
- { 0x5AC6, 88368 },
- { 0x5AC7, 88371 },
- { 0x5AC8, 88374 },
- { 0x5ACA, 88377 },
- { 0x5ACB, 88380 },
- { 0x5ACC, 88383 },
- { 0x5ACD, 88386 },
- { 0x5ACE, 88389 },
- { 0x5ACF, 88392 },
- { 0x5AD0, 88395 },
- { 0x5AD1, 88398 },
- { 0x5AD4, 88401 },
- { 0x5AD5, 88404 },
- { 0x5AD6, 88407 },
- { 0x5AD8, 88410 },
- { 0x5AD9, 88413 },
- { 0x5ADA, 88416 },
- { 0x5ADB, 88419 },
- { 0x5ADC, 88422 },
- { 0x5ADD, 88425 },
- { 0x5ADE, 88428 },
- { 0x5ADF, 88431 },
- { 0x5AE0, 88434 },
- { 0x5AE3, 88437 },
- { 0x5AE4, 88440 },
- { 0x5AE5, 88443 },
- { 0x5AE6, 88446 },
- { 0x5AE7, 88449 },
- { 0x5AE8, 88452 },
- { 0x5AE9, 88455 },
- { 0x5AEA, 88458 },
- { 0x5AEB, 88461 },
- { 0x5AED, 88464 },
- { 0x5AEE, 88467 },
- { 0x5AEF, 88470 },
- { 0x5AF0, 88473 },
- { 0x5AF1, 88476 },
- { 0x5AF2, 88479 },
- { 0x5AF3, 88482 },
- { 0x5AF4, 88485 },
- { 0x5AF5, 88488 },
- { 0x5AF6, 88491 },
- { 0x5AF7, 88494 },
- { 0x5AF8, 88497 },
- { 0x5AF9, 88500 },
- { 0x5AFA, 88503 },
- { 0x5AFC, 88506 },
- { 0x5AFD, 88509 },
- { 0x5AFE, 88512 },
- { 0x5AFF, 88515 },
- { 0x5B01, 88518 },
- { 0x5B03, 88521 },
- { 0x5B05, 88524 },
- { 0x5B06, 88527 },
- { 0x5B08, 88530 },
- { 0x5B09, 88533 },
- { 0x5B0A, 88536 },
- { 0x5B0B, 88539 },
- { 0x5B0C, 88542 },
- { 0x5B0E, 88545 },
- { 0x5B0F, 88548 },
- { 0x5B10, 88551 },
- { 0x5B11, 88554 },
- { 0x5B12, 88557 },
- { 0x5B13, 88560 },
- { 0x5B14, 88563 },
- { 0x5B15, 88566 },
- { 0x5B16, 88569 },
- { 0x5B17, 88572 },
- { 0x5B18, 88575 },
- { 0x5B19, 88578 },
- { 0x5B1A, 88581 },
- { 0x5B1B, 88584 },
- { 0x5B1C, 88587 },
- { 0x5B1D, 88590 },
- { 0x5B1F, 88593 },
- { 0x5B21, 88596 },
- { 0x5B22, 88599 },
- { 0x5B23, 88602 },
- { 0x5C36, 88605 },
- { 0x5B24, 88610 },
- { 0x5B25, 88613 },
- { 0x5B26, 88616 },
- { 0x5B27, 88619 },
- { 0x5B28, 88622 },
- { 0x5B29, 88625 },
- { 0x5B2C, 88628 },
- { 0x5B2D, 88631 },
- { 0x5B2E, 88634 },
- { 0x5B2F, 88637 },
- { 0x5B30, 88640 },
- { 0x5B31, 88643 },
- { 0x5B32, 88646 },
- { 0x5B33, 88649 },
- { 0x5B34, 88652 },
- { 0x5B35, 88655 },
- { 0x5B36, 88658 },
- { 0x5B37, 88661 },
- { 0x5B38, 88664 },
- { 0x5B39, 88667 },
- { 0x5B3A, 88670 },
- { 0x5B3B, 88673 },
- { 0x5B3C, 88676 },
- { 0x5B3E, 88679 },
- { 0x5B3F, 88682 },
- { 0x5B40, 88685 },
- { 0x5B41, 88688 },
- { 0x5B42, 88691 },
- { 0x5B43, 88694 },
- { 0x5B45, 88697 },
- { 0x5B46, 88700 },
- { 0x5B47, 88703 },
- { 0x5B49, 88706 },
- { 0x5B4A, 88709 },
- { 0x5B4B, 88712 },
- { 0x5B4C, 88715 },
- { 0x5B4D, 88718 },
- { 0x5B4E, 88721 },
- { 0x5B4F, 88724 },
- { 0x5B50, 88727 },
- { 0x5B51, 88730 },
- { 0x5B52, 88733 },
- { 0x5B53, 88736 },
- { 0x5B5D, 88739 },
- { 0x5B5F, 88742 },
- { 0x5B60, 88745 },
- { 0x5B61, 88748 },
- { 0x5B62, 88751 },
- { 0x5B63, 88754 },
- { 0x5B66, 88757 },
- { 0x5B67, 88760 },
- { 0x5B68, 88763 },
- { 0x5B69, 88766 },
- { 0x5B6D, 88769 },
- { 0x5B70, 88772 },
- { 0x5B71, 88775 },
- { 0x5B72, 88778 },
- { 0x5B73, 88781 },
- { 0x5B74, 88784 },
- { 0x5B75, 88787 },
- { 0x5B76, 88790 },
- { 0x5B77, 88793 },
- { 0x5B84, 88796 },
- { 0x5B85, 88799 },
- { 0x5B86, 88802 },
- { 0x5B88, 88805 },
- { 0x5B89, 88808 },
- { 0x5B8A, 88811 },
- { 0x5B8B, 88814 },
- { 0x5B8C, 88817 },
- { 0x5B8E, 88820 },
- { 0x5B90, 88823 },
- { 0x5B92, 88826 },
- { 0x5B94, 88829 },
- { 0x5B95, 88832 },
- { 0x5B97, 88835 },
- { 0x5B98, 88838 },
- { 0x5B99, 88841 },
- { 0x5B9A, 88844 },
- { 0x5B9C, 88847 },
- { 0x5B9D, 88850 },
- { 0x5B9E, 88853 },
- { 0x5BA0, 88856 },
- { 0x5BA1, 88859 },
- { 0x5BA2, 88862 },
- { 0x5BA4, 88865 },
- { 0x5BA5, 88868 },
- { 0x5BA6, 88871 },
- { 0x5BA7, 88874 },
- { 0x5BA8, 88877 },
- { 0x5BA9, 88880 },
- { 0x5BAB, 88883 },
- { 0x5BAD, 88886 },
- { 0x5BAE, 88889 },
- { 0x5BAF, 88892 },
- { 0x5BB0, 88895 },
- { 0x5BB2, 88898 },
- { 0x5BB3, 88901 },
- { 0x5BB4, 88904 },
- { 0x5BB6, 88907 },
- { 0x5BB8, 88910 },
- { 0x5BB9, 88913 },
- { 0x5BBA, 88916 },
- { 0x5BBB, 88919 },
- { 0x5BBC, 88922 },
- { 0x5BBD, 88925 },
- { 0x5BBF, 88928 },
- { 0x5C37, 88931 },
- { 0x5BC0, 88936 },
- { 0x5BC1, 88939 },
- { 0x5BC2, 88942 },
- { 0x5BC3, 88945 },
- { 0x5BC6, 88948 },
- { 0x5BC7, 88951 },
- { 0x5BC9, 88954 },
- { 0x5BCA, 88957 },
- { 0x5BCC, 88960 },
- { 0x5BCE, 88963 },
- { 0x5BCF, 88966 },
- { 0x5BD0, 88969 },
- { 0x5BD1, 88972 },
- { 0x5BD2, 88975 },
- { 0x5BD3, 88978 },
- { 0x5BD4, 88981 },
- { 0x5BD5, 88984 },
- { 0x5BD6, 88987 },
- { 0x5BDB, 88990 },
- { 0x5BDE, 88993 },
- { 0x5BE0, 88996 },
- { 0x5BE2, 88999 },
- { 0x5BE3, 89002 },
- { 0x5BE4, 89005 },
- { 0x5BE5, 89008 },
- { 0x5BE6, 89011 },
- { 0x5BE7, 89014 },
- { 0x5BE8, 89017 },
- { 0x5BE9, 89020 },
- { 0x5BEA, 89023 },
- { 0x5BEB, 89026 },
- { 0x5BF5, 89029 },
- { 0x57F6, 89032 },
- { 0x57F8, 89035 },
- { 0x57F9, 89038 },
- { 0x5802, 89041 },
- { 0x5806, 89044 },
- { 0x5816, 89047 },
- { 0x581F, 89050 },
- { 0x5822, 89053 },
- { 0x5824, 89056 },
- { 0x5827, 89059 },
- { 0x5BFE, 89062 },
- { 0x5BFF, 89065 },
- { 0x5C00, 89068 },
- { 0x5C01, 89071 },
- { 0x5C02, 89074 },
- { 0x5C03, 89077 },
- { 0x5C04, 89080 },
- { 0x5C07, 89083 },
- { 0x5C08, 89086 },
- { 0x5C09, 89089 },
- { 0x5C0A, 89092 },
- { 0x5C0B, 89095 },
- { 0x5C0C, 89098 },
- { 0x5C0D, 89101 },
- { 0x5C0E, 89104 },
- { 0x5C0F, 89107 },
- { 0x5C10, 89110 },
- { 0x5C11, 89113 },
- { 0x5C12, 89116 },
- { 0x5C13, 89119 },
- { 0x5C14, 89122 },
- { 0x5C15, 89125 },
- { 0x5C16, 89128 },
- { 0x5C17, 89131 },
- { 0x5C18, 89134 },
- { 0x5C19, 89137 },
- { 0x5C1A, 89140 },
- { 0x5C1B, 89143 },
- { 0x5C1C, 89146 },
- { 0x5C1D, 89149 },
- { 0x5C1E, 89152 },
- { 0x5C1F, 89155 },
- { 0x5846, 89158 },
- { 0x5C2F, 89161 },
- { 0x5C28, 89166 },
- { 0x5C2D, 89170 },
- { 0x584D, 89174 },
- { 0x584E, 89177 },
- { 0x584F, 89180 },
- { 0x5858, 89183 },
- { 0x586F, 89186 },
- { 0x5883, 89189 },
- { 0x5888, 89192 },
- { 0x588C, 89195 },
- { 0x5899, 89198 },
- { 0x589C, 89201 },
- { 0x589F, 89204 },
- { 0x58A0, 89207 },
- { 0x58A1, 89210 },
- { 0x58A2, 89213 },
- { 0x58A3, 89216 },
- { 0x58A4, 89219 },
- { 0x58A5, 89222 },
- { 0x58A6, 89225 },
- { 0x58A7, 89228 },
- { 0x58AA, 89231 },
- { 0x58AD, 89234 },
- { 0x58BB, 89237 },
- { 0x58BC, 89240 },
- { 0x58BD, 89243 },
- { 0x58BE, 89246 },
- { 0x58BF, 89249 },
- { 0x58C0, 89252 },
- { 0x58C1, 89255 },
- { 0x58C2, 89258 },
- { 0x58CB, 89261 },
- { 0x58CD, 89264 },
- { 0x58D5, 89267 },
- { 0x58D7, 89270 },
- { 0x58DB, 89273 },
- { 0x58E4, 89276 },
- { 0x58EB, 89279 },
- { 0x58F0, 89282 },
- { 0x58FD, 89285 },
- { 0x5906, 89288 },
- { 0x5911, 89291 },
- { 0x5918, 89294 },
- { 0x591A, 89297 },
- { 0x5922, 89300 },
- { 0x5924, 89303 },
- { 0x5926, 89306 },
- { 0x592B, 89309 },
- { 0x592C, 89312 },
- { 0x592D, 89315 },
- { 0x5936, 89318 },
- { 0x5938, 89321 },
- { 0x5939, 89324 },
- { 0x593E, 89327 },
- { 0x5948, 89330 },
- { 0x594F, 89333 },
- { 0x595A, 89336 },
- { 0x595C, 89339 },
- { 0x5963, 89342 },
- { 0x5966, 89345 },
- { 0x5976, 89348 },
- { 0x597E, 89351 },
- { 0x5983, 89354 },
- { 0x5985, 89357 },
- { 0x5987, 89360 },
- { 0x5996, 89363 },
- { 0x599B, 89366 },
- { 0x599F, 89369 },
- { 0x59A0, 89372 },
- { 0x59A3, 89375 },
- { 0x59AB, 89378 },
- { 0x59AE, 89381 },
- { 0x59AF, 89384 },
- { 0x59B0, 89387 },
- { 0x59B1, 89390 },
- { 0x59B2, 89393 },
- { 0x59B3, 89396 },
- { 0x59B4, 89399 },
- { 0x59B5, 89402 },
- { 0x59B9, 89405 },
- { 0x59BB, 89408 },
- { 0x59BD, 89411 },
- { 0x59C3, 89414 },
- { 0x59C6, 89417 },
- { 0x59CB, 89420 },
- { 0x59CF, 89423 },
- { 0x59D2, 89426 },
- { 0x59D3, 89429 },
- { 0x59DB, 89432 },
- { 0x59F2, 89435 },
- { 0x59F3, 89438 },
- { 0x59FB, 89441 },
- { 0x5A04, 89444 },
- { 0x5A06, 89447 },
- { 0x5A08, 89450 },
- { 0x5A0B, 89453 },
- { 0x5A11, 89456 },
- { 0x5A12, 89459 },
- { 0x5A13, 89462 },
- { 0x5A14, 89465 },
- { 0x5A15, 89468 },
- { 0x5A17, 89471 },
- { 0x5A18, 89474 },
- { 0x5A19, 89477 },
- { 0x5A1A, 89480 },
- { 0x5A1B, 89483 },
- { 0x5A1C, 89486 },
- { 0x5A1D, 89489 },
- { 0x5A1E, 89492 },
- { 0x5A1F, 89495 },
- { 0x5A20, 89498 },
- { 0x5A21, 89501 },
- { 0x5A22, 89504 },
- { 0x5A24, 89507 },
- { 0x5A25, 89510 },
- { 0x5A26, 89513 },
- { 0x5A27, 89516 },
- { 0x5A28, 89519 },
- { 0x5A29, 89522 },
- { 0x5A2A, 89525 },
- { 0x5A2B, 89528 },
- { 0x5A2C, 89531 },
- { 0x5A2D, 89534 },
- { 0x5A2E, 89537 },
- { 0x5A2F, 89540 },
- { 0x5A30, 89543 },
- { 0x5A32, 89546 },
- { 0x5A34, 89549 },
- { 0x5A35, 89552 },
- { 0x5A36, 89555 },
- { 0x5A37, 89558 },
- { 0x5A38, 89561 },
- { 0x5A39, 89564 },
- { 0x5A3A, 89567 },
- { 0x5A3C, 89570 },
- { 0x5A3D, 89573 },
- { 0x5A3E, 89576 },
- { 0x5A3F, 89579 },
- { 0x5A42, 89582 },
- { 0x5A47, 89585 },
- { 0x5A49, 89588 },
- { 0x5A4A, 89591 },
- { 0x5A4B, 89594 },
- { 0x5A4C, 89597 },
- { 0x5A4D, 89600 },
- { 0x5A4E, 89603 },
- { 0x5A53, 89606 },
- { 0x5A54, 89609 },
- { 0x5A55, 89612 },
- { 0x5A5F, 89615 },
- { 0x5A61, 89618 },
- { 0x5A66, 89621 },
- { 0x5A68, 89624 },
- { 0x5A6D, 89627 },
- { 0x5A6F, 89630 },
- { 0x5A73, 89633 },
- { 0x5A77, 89636 },
- { 0x5A78, 89639 },
- { 0x5A79, 89642 },
- { 0x5A7A, 89645 },
- { 0x5A89, 89648 },
- { 0x5A8A, 89651 },
- { 0x5A8D, 89654 },
- { 0x5A90, 89657 },
- { 0x5AA2, 89660 },
- { 0x5AA4, 89663 },
- { 0x5AA5, 89666 },
- { 0x5AAD, 89669 },
- { 0x5AB4, 89672 },
- { 0x5AC4, 89675 },
- { 0x5AC9, 89678 },
- { 0x5AD2, 89681 },
- { 0x5AD3, 89684 },
- { 0x5AD7, 89687 },
- { 0x5AE1, 89690 },
- { 0x5AE2, 89693 },
- { 0x5AEC, 89696 },
- { 0x5AFB, 89699 },
- { 0x5B00, 89702 },
- { 0x5B02, 89705 },
- { 0x5B04, 89708 },
- { 0x5B07, 89711 },
- { 0x5B0D, 89714 },
- { 0x5B1E, 89717 },
- { 0x5B20, 89720 },
- { 0x5B2A, 89723 },
- { 0x5B2B, 89726 },
- { 0x5B3D, 89729 },
- { 0x5B44, 89732 },
- { 0x5B48, 89735 },
- { 0x5B54, 89738 },
- { 0x5B55, 89741 },
- { 0x5B56, 89744 },
- { 0x5B57, 89747 },
- { 0x5B58, 89750 },
- { 0x5B59, 89753 },
- { 0x5B5A, 89756 },
- { 0x5B5B, 89759 },
- { 0x5B5C, 89762 },
- { 0x5B5E, 89765 },
- { 0x5B64, 89768 },
- { 0x5B65, 89771 },
- { 0x5B6A, 89774 },
- { 0x5B6B, 89777 },
- { 0x5B6C, 89780 },
- { 0x5C20, 89783 },
- { 0x5B6E, 89786 },
- { 0x5B6F, 89789 },
- { 0x5B78, 89792 },
- { 0x5B79, 89795 },
- { 0x5B7A, 89798 },
- { 0x5B7B, 89801 },
- { 0x5B7C, 89804 },
- { 0x5B7D, 89807 },
- { 0x5B7E, 89810 },
- { 0x5B7F, 89813 },
- { 0x5B80, 89816 },
- { 0x5B81, 89819 },
- { 0x5B82, 89822 },
- { 0x5B83, 89825 },
- { 0x5B87, 89828 },
- { 0x5B8D, 89831 },
- { 0x5B8F, 89834 },
- { 0x5B91, 89837 },
- { 0x5B93, 89840 },
- { 0x5B96, 89843 },
- { 0x5B9B, 89846 },
- { 0x5B9F, 89849 },
- { 0x5BA3, 89852 },
- { 0x5BAA, 89855 },
- { 0x5BAC, 89858 },
- { 0x5BB1, 89861 },
- { 0x5BB5, 89864 },
- { 0x5BB7, 89867 },
- { 0x5BBE, 89870 },
- { 0x5BC4, 89873 },
- { 0x5BC5, 89876 },
- { 0x5BC8, 89879 },
- { 0x5BCB, 89882 },
- { 0x5BCD, 89885 },
- { 0x5BD7, 89888 },
- { 0x5BD8, 89891 },
- { 0x5BD9, 89894 },
- { 0x5BDA, 89897 },
- { 0x5BDC, 89900 },
- { 0x5BDD, 89903 },
- { 0x5BDF, 89906 },
- { 0x5BE1, 89909 },
- { 0x5BEC, 89912 },
- { 0x5BED, 89915 },
- { 0x5BEE, 89918 },
- { 0x5BEF, 89921 },
- { 0x5BF0, 89924 },
- { 0x5BF1, 89927 },
- { 0x5BF2, 89930 },
- { 0x5BF3, 89933 },
- { 0x5BF4, 89936 },
- { 0x5BF6, 89939 },
- { 0x5BF7, 89942 },
- { 0x5BF8, 89945 },
- { 0x5BF9, 89948 },
- { 0x5BFA, 89951 },
- { 0x5BFB, 89954 },
- { 0x5BFC, 89957 },
- { 0x5BFD, 89960 },
- { 0x5C05, 89963 },
- { 0x5C06, 89966 },
- { 0x5C2B, 89969 },
- { 0x5C25, 89974 },
- { 0x5C23, 89980 },
- { 0x5C2C, 89986 },
- { 0x5C26, 89991 },
- { 0x5C24, 89997 },
- { 0x5C2A, 90003 },
- { 0x5C31, 90008 },
- { 0x5A16, 90012 },
- { 0x5A23, 90015 },
- { 0x5A31, 90018 },
- { 0x5A33, 90021 },
- { 0x5A3B, 90024 },
- { 0x5A40, 90027 },
- { 0x5C27, 90030 },
- { 0x5C46, 90034 },
- { 0x5C43, 90038 },
- { 0x5C3C, 90044 },
- { 0x5C44, 90050 },
- { 0x5C3B, 90058 },
- { 0x5C38, 90065 },
- { 0x5C40, 90072 },
- { 0x5C3A, 90082 },
- { 0x5C3E, 90088 },
- { 0x5C42, 90096 },
- { 0x5C41, 90104 },
- { 0x5C45, 90110 },
- { 0x5C3F, 90118 },
- { 0x5C39, 90125 },
- { 0x5C3D, 90132 },
- { 0x5C21, 90142 },
- { 0x5C22, 90146 },
- { 0x7CB1, 90150 },
+ { 0x803D, 86151 },
+ { 0x8078, 86153 },
+ { 0x6B10, 86154 },
+ { 0x6B0A, 86159 },
+ { 0x6B0C, 86163 },
+ { 0x6B09, 86167 },
+ { 0x6B0D, 86172 },
+ { 0x6B06, 86176 },
+ { 0x6B0F, 86180 },
+ { 0x6B08, 86184 },
+ { 0x6B07, 86188 },
+ { 0x6B0B, 86193 },
+ { 0x6B0E, 86197 },
+ { 0x6AF3, 86201 },
+ { 0x6AF4, 86206 },
+ { 0x6AF1, 86211 },
+ { 0x6B01, 86216 },
+ { 0x6B03, 86220 },
+ { 0x6B00, 86224 },
+ { 0x6B04, 86229 },
+ { 0x6AFD, 86233 },
+ { 0x6AFF, 86237 },
+ { 0x6AFE, 86241 },
+ { 0x6B02, 86246 },
+ { 0x6B05, 86250 },
+ { 0x6AF5, 86254 },
+ { 0x6AF0, 86259 },
+ { 0x6AF2, 86264 },
+ { 0x6AFA, 86269 },
+ { 0x6AFB, 86274 },
+ { 0x6AF9, 86279 },
+ { 0x6AF6, 86283 },
+ { 0x6AF8, 86287 },
+ { 0x6AFC, 86291 },
+ { 0x6AF7, 86296 },
+ { 0x6B11, 86301 },
+ { 0x6B12, 86305 },
+ { 0x6AC6, 86308 },
+ { 0x6A8C, 86311 },
+ { 0x6A8D, 86314 },
+ { 0x6A92, 86317 },
+ { 0x6ACC, 86321 },
+ { 0x6A89, 86324 },
+ { 0x6A93, 86327 },
+ { 0x6A8F, 86331 },
+ { 0x6AC3, 86334 },
+ { 0x6A85, 86339 },
+ { 0x6ACB, 86342 },
+ { 0x6AA0, 86345 },
+ { 0x6AA4, 86348 },
+ { 0x6AB2, 86352 },
+ { 0x6AB5, 86357 },
+ { 0x6AB6, 86361 },
+ { 0x6AAE, 86366 },
+ { 0x6AB4, 86370 },
+ { 0x6AA8, 86376 },
+ { 0x6AA9, 86381 },
+ { 0x6A8A, 86389 },
+ { 0x6A94, 86392 },
+ { 0x6AC2, 86396 },
+ { 0x6A8B, 86401 },
+ { 0x6A9E, 86404 },
+ { 0x6AA2, 86407 },
+ { 0x6AB0, 86411 },
+ { 0x6AAC, 86416 },
+ { 0x6AA6, 86420 },
+ { 0x6A9F, 86425 },
+ { 0x6AA3, 86428 },
+ { 0x6AB1, 86432 },
+ { 0x6AAD, 86437 },
+ { 0x6AA7, 86441 },
+ { 0x6AC9, 86446 },
+ { 0x6A87, 86449 },
+ { 0x6A91, 86452 },
+ { 0x6A90, 86456 },
+ { 0x6A95, 86459 },
+ { 0x6AA1, 86463 },
+ { 0x6AA5, 86466 },
+ { 0x6AB3, 86470 },
+ { 0x6AC4, 86475 },
+ { 0x6AC5, 86479 },
+ { 0x6AC1, 86484 },
+ { 0x6AC0, 86488 },
+ { 0x6AB9, 86492 },
+ { 0x6ABA, 86496 },
+ { 0x6AAF, 86501 },
+ { 0x6AB7, 86505 },
+ { 0x6AB8, 86509 },
+ { 0x6AAA, 86514 },
+ { 0x6AAB, 86519 },
+ { 0x6A88, 86525 },
+ { 0x6ABC, 86528 },
+ { 0x6ABB, 86533 },
+ { 0x6AD6, 86537 },
+ { 0x6AD9, 86540 },
+ { 0x6A8E, 86544 },
+ { 0x6ABD, 86547 },
+ { 0x6ABF, 86550 },
+ { 0x6A86, 86554 },
+ { 0x6A98, 86557 },
+ { 0x6AD0, 86560 },
+ { 0x6AD7, 86563 },
+ { 0x6A9B, 86566 },
+ { 0x6ACD, 86569 },
+ { 0x6A99, 86572 },
+ { 0x6A9C, 86575 },
+ { 0x6AC8, 86578 },
+ { 0x6AE0, 86581 },
+ { 0x6ADF, 86584 },
+ { 0x6A9D, 86587 },
+ { 0x6A96, 86590 },
+ { 0x6ADC, 86593 },
+ { 0x6ACF, 86596 },
+ { 0x6AE1, 86599 },
+ { 0x6ABE, 86602 },
+ { 0x6AE3, 86605 },
+ { 0x6AE2, 86608 },
+ { 0x6AD8, 86611 },
+ { 0x6AD5, 86614 },
+ { 0x6ACA, 86617 },
+ { 0x6ADE, 86620 },
+ { 0x6AE4, 86623 },
+ { 0x6AE5, 86626 },
+ { 0x6AD4, 86629 },
+ { 0x6ADA, 86633 },
+ { 0x6AE9, 86637 },
+ { 0x6AE8, 86641 },
+ { 0x6AE7, 86645 },
+ { 0x6AE6, 86649 },
+ { 0x6ACE, 86653 },
+ { 0x6A9A, 86657 },
+ { 0x6ADD, 86661 },
+ { 0x6AED, 86665 },
+ { 0x6A97, 86669 },
+ { 0x6AD3, 86673 },
+ { 0x6AD1, 86677 },
+ { 0x6AEC, 86681 },
+ { 0x6AEE, 86685 },
+ { 0x6AC7, 86689 },
+ { 0x6AEB, 86693 },
+ { 0x6AEA, 86697 },
+ { 0x6AEF, 86701 },
+ { 0x6AD2, 86705 },
+ { 0x6ADB, 86709 },
+ { 0x6B13, 86713 },
+ { 0x5C35, 86718 },
+ { 0x5C2E, 86723 },
+ { 0x5C33, 86727 },
+ { 0x57F6, 86731 },
+ { 0x57F7, 86734 },
+ { 0x57F8, 86737 },
+ { 0x57F9, 86740 },
+ { 0x57FA, 86743 },
+ { 0x57FC, 86746 },
+ { 0x57FF, 86749 },
+ { 0x5800, 86752 },
+ { 0x5801, 86755 },
+ { 0x5802, 86758 },
+ { 0x5803, 86761 },
+ { 0x5804, 86764 },
+ { 0x5805, 86767 },
+ { 0x5806, 86770 },
+ { 0x5808, 86773 },
+ { 0x5809, 86776 },
+ { 0x580A, 86779 },
+ { 0x580C, 86782 },
+ { 0x580D, 86785 },
+ { 0x580E, 86788 },
+ { 0x580F, 86791 },
+ { 0x5810, 86794 },
+ { 0x5811, 86797 },
+ { 0x5812, 86800 },
+ { 0x5813, 86803 },
+ { 0x5814, 86806 },
+ { 0x5815, 86809 },
+ { 0x5816, 86812 },
+ { 0x5817, 86815 },
+ { 0x5818, 86818 },
+ { 0x5819, 86821 },
+ { 0x581A, 86824 },
+ { 0x581C, 86827 },
+ { 0x581D, 86830 },
+ { 0x581E, 86833 },
+ { 0x581F, 86836 },
+ { 0x5820, 86839 },
+ { 0x5821, 86842 },
+ { 0x5822, 86845 },
+ { 0x5823, 86848 },
+ { 0x5825, 86851 },
+ { 0x5826, 86854 },
+ { 0x5828, 86857 },
+ { 0x582A, 86860 },
+ { 0x582B, 86863 },
+ { 0x582D, 86866 },
+ { 0x582E, 86869 },
+ { 0x582F, 86872 },
+ { 0x5830, 86875 },
+ { 0x5831, 86878 },
+ { 0x5832, 86881 },
+ { 0x5833, 86884 },
+ { 0x5834, 86887 },
+ { 0x5835, 86890 },
+ { 0x5836, 86893 },
+ { 0x5837, 86896 },
+ { 0x5838, 86899 },
+ { 0x5839, 86902 },
+ { 0x583A, 86905 },
+ { 0x583B, 86908 },
+ { 0x583C, 86911 },
+ { 0x583D, 86914 },
+ { 0x583E, 86917 },
+ { 0x583F, 86920 },
+ { 0x5840, 86923 },
+ { 0x5841, 86926 },
+ { 0x5842, 86929 },
+ { 0x5843, 86932 },
+ { 0x5844, 86935 },
+ { 0x5845, 86938 },
+ { 0x5846, 86941 },
+ { 0x5847, 86944 },
+ { 0x5848, 86947 },
+ { 0x5849, 86950 },
+ { 0x584A, 86953 },
+ { 0x584C, 86956 },
+ { 0x584D, 86959 },
+ { 0x584E, 86962 },
+ { 0x584F, 86965 },
+ { 0x5850, 86968 },
+ { 0x5851, 86971 },
+ { 0x5855, 86974 },
+ { 0x5856, 86977 },
+ { 0x5857, 86980 },
+ { 0x5858, 86983 },
+ { 0x5859, 86986 },
+ { 0x585A, 86989 },
+ { 0x585B, 86992 },
+ { 0x585C, 86995 },
+ { 0x585E, 86998 },
+ { 0x585F, 87001 },
+ { 0x5860, 87004 },
+ { 0x5861, 87007 },
+ { 0x5862, 87010 },
+ { 0x5863, 87013 },
+ { 0x5864, 87016 },
+ { 0x5865, 87019 },
+ { 0x5866, 87022 },
+ { 0x5867, 87025 },
+ { 0x5868, 87028 },
+ { 0x5869, 87031 },
+ { 0x586A, 87034 },
+ { 0x586B, 87037 },
+ { 0x586C, 87040 },
+ { 0x586D, 87043 },
+ { 0x586E, 87046 },
+ { 0x586F, 87049 },
+ { 0x5870, 87052 },
+ { 0x5871, 87055 },
+ { 0x5872, 87058 },
+ { 0x5873, 87061 },
+ { 0x5875, 87064 },
+ { 0x5876, 87067 },
+ { 0x5877, 87070 },
+ { 0x5878, 87073 },
+ { 0x5879, 87076 },
+ { 0x587A, 87079 },
+ { 0x587B, 87082 },
+ { 0x587C, 87085 },
+ { 0x587D, 87088 },
+ { 0x587E, 87091 },
+ { 0x587F, 87094 },
+ { 0x5880, 87097 },
+ { 0x5881, 87100 },
+ { 0x5882, 87103 },
+ { 0x5883, 87106 },
+ { 0x5884, 87109 },
+ { 0x5885, 87112 },
+ { 0x5886, 87115 },
+ { 0x5887, 87118 },
+ { 0x5889, 87121 },
+ { 0x588A, 87124 },
+ { 0x588B, 87127 },
+ { 0x588C, 87130 },
+ { 0x588E, 87133 },
+ { 0x588F, 87136 },
+ { 0x5890, 87139 },
+ { 0x5892, 87142 },
+ { 0x5893, 87145 },
+ { 0x5894, 87148 },
+ { 0x5895, 87151 },
+ { 0x5896, 87154 },
+ { 0x5897, 87157 },
+ { 0x5898, 87160 },
+ { 0x5899, 87163 },
+ { 0x589A, 87166 },
+ { 0x589B, 87169 },
+ { 0x589C, 87172 },
+ { 0x589D, 87175 },
+ { 0x589F, 87178 },
+ { 0x58A0, 87181 },
+ { 0x58A2, 87184 },
+ { 0x58A3, 87187 },
+ { 0x58AD, 87190 },
+ { 0x58AE, 87193 },
+ { 0x58B0, 87196 },
+ { 0x58B1, 87199 },
+ { 0x58B3, 87202 },
+ { 0x58B4, 87205 },
+ { 0x58B5, 87208 },
+ { 0x58B6, 87211 },
+ { 0x58B7, 87214 },
+ { 0x58B8, 87217 },
+ { 0x58B9, 87220 },
+ { 0x58BA, 87223 },
+ { 0x58BB, 87226 },
+ { 0x58BC, 87229 },
+ { 0x58BD, 87232 },
+ { 0x58BE, 87235 },
+ { 0x58BF, 87238 },
+ { 0x58C8, 87241 },
+ { 0x58C9, 87244 },
+ { 0x58CA, 87247 },
+ { 0x58CB, 87250 },
+ { 0x58CC, 87253 },
+ { 0x58CD, 87256 },
+ { 0x58CE, 87259 },
+ { 0x58CF, 87262 },
+ { 0x58D1, 87265 },
+ { 0x58D3, 87268 },
+ { 0x58D4, 87271 },
+ { 0x58D5, 87274 },
+ { 0x58D6, 87277 },
+ { 0x58D7, 87280 },
+ { 0x58D8, 87283 },
+ { 0x58D9, 87286 },
+ { 0x58DB, 87289 },
+ { 0x58DD, 87292 },
+ { 0x58DE, 87295 },
+ { 0x58DF, 87298 },
+ { 0x58E1, 87301 },
+ { 0x58E2, 87304 },
+ { 0x58E3, 87307 },
+ { 0x58E4, 87310 },
+ { 0x58E5, 87313 },
+ { 0x58E6, 87316 },
+ { 0x58E7, 87319 },
+ { 0x58E8, 87322 },
+ { 0x58EA, 87325 },
+ { 0x58EB, 87328 },
+ { 0x58EC, 87331 },
+ { 0x58ED, 87334 },
+ { 0x58EE, 87337 },
+ { 0x58EF, 87340 },
+ { 0x58F1, 87343 },
+ { 0x58F2, 87346 },
+ { 0x58F3, 87349 },
+ { 0x58F4, 87352 },
+ { 0x58F6, 87355 },
+ { 0x58F7, 87358 },
+ { 0x58F8, 87361 },
+ { 0x58F9, 87364 },
+ { 0x58FA, 87367 },
+ { 0x58FB, 87370 },
+ { 0x58FC, 87373 },
+ { 0x58FD, 87376 },
+ { 0x58FE, 87379 },
+ { 0x58FF, 87382 },
+ { 0x5900, 87385 },
+ { 0x5901, 87388 },
+ { 0x5903, 87391 },
+ { 0x5904, 87394 },
+ { 0x5905, 87397 },
+ { 0x5906, 87400 },
+ { 0x5907, 87403 },
+ { 0x5908, 87406 },
+ { 0x5909, 87409 },
+ { 0x590A, 87412 },
+ { 0x590C, 87415 },
+ { 0x590D, 87418 },
+ { 0x590E, 87421 },
+ { 0x590F, 87424 },
+ { 0x5910, 87427 },
+ { 0x5911, 87430 },
+ { 0x5912, 87433 },
+ { 0x5913, 87436 },
+ { 0x5914, 87439 },
+ { 0x5915, 87442 },
+ { 0x5917, 87445 },
+ { 0x5918, 87448 },
+ { 0x5919, 87451 },
+ { 0x591A, 87454 },
+ { 0x591B, 87457 },
+ { 0x591C, 87460 },
+ { 0x591E, 87463 },
+ { 0x5920, 87466 },
+ { 0x5921, 87469 },
+ { 0x5922, 87472 },
+ { 0x5923, 87475 },
+ { 0x5924, 87478 },
+ { 0x5925, 87481 },
+ { 0x5926, 87484 },
+ { 0x5928, 87487 },
+ { 0x592A, 87490 },
+ { 0x592C, 87493 },
+ { 0x592D, 87496 },
+ { 0x592E, 87499 },
+ { 0x592F, 87502 },
+ { 0x5933, 87505 },
+ { 0x5934, 87508 },
+ { 0x5C37, 87511 },
+ { 0x5935, 87515 },
+ { 0x5936, 87518 },
+ { 0x5937, 87521 },
+ { 0x5938, 87524 },
+ { 0x5939, 87527 },
+ { 0x593A, 87530 },
+ { 0x593C, 87533 },
+ { 0x593F, 87536 },
+ { 0x5940, 87539 },
+ { 0x5941, 87542 },
+ { 0x5942, 87545 },
+ { 0x5944, 87548 },
+ { 0x5945, 87551 },
+ { 0x5946, 87554 },
+ { 0x5947, 87557 },
+ { 0x5948, 87560 },
+ { 0x5949, 87563 },
+ { 0x594A, 87566 },
+ { 0x594B, 87569 },
+ { 0x594C, 87572 },
+ { 0x594E, 87575 },
+ { 0x594F, 87578 },
+ { 0x5950, 87581 },
+ { 0x5951, 87584 },
+ { 0x5952, 87587 },
+ { 0x5953, 87590 },
+ { 0x5955, 87593 },
+ { 0x5956, 87596 },
+ { 0x5957, 87599 },
+ { 0x5958, 87602 },
+ { 0x5959, 87605 },
+ { 0x595A, 87608 },
+ { 0x595B, 87611 },
+ { 0x595C, 87614 },
+ { 0x595D, 87617 },
+ { 0x595E, 87620 },
+ { 0x5960, 87623 },
+ { 0x5962, 87626 },
+ { 0x5963, 87629 },
+ { 0x5964, 87632 },
+ { 0x5965, 87635 },
+ { 0x5966, 87638 },
+ { 0x5967, 87641 },
+ { 0x5969, 87644 },
+ { 0x596A, 87647 },
+ { 0x596C, 87650 },
+ { 0x596D, 87653 },
+ { 0x596E, 87656 },
+ { 0x596F, 87659 },
+ { 0x5970, 87662 },
+ { 0x5971, 87665 },
+ { 0x5972, 87668 },
+ { 0x5973, 87671 },
+ { 0x5974, 87674 },
+ { 0x5975, 87677 },
+ { 0x5976, 87680 },
+ { 0x5977, 87683 },
+ { 0x5978, 87686 },
+ { 0x5979, 87689 },
+ { 0x597A, 87692 },
+ { 0x597C, 87695 },
+ { 0x597D, 87698 },
+ { 0x5C3A, 87701 },
+ { 0x5C38, 87706 },
+ { 0x597E, 87710 },
+ { 0x597F, 87713 },
+ { 0x5980, 87716 },
+ { 0x5981, 87719 },
+ { 0x5982, 87722 },
+ { 0x5984, 87725 },
+ { 0x5985, 87728 },
+ { 0x5986, 87731 },
+ { 0x5987, 87734 },
+ { 0x5989, 87737 },
+ { 0x598B, 87740 },
+ { 0x598D, 87743 },
+ { 0x598E, 87746 },
+ { 0x598F, 87749 },
+ { 0x5990, 87752 },
+ { 0x5991, 87755 },
+ { 0x5992, 87758 },
+ { 0x5993, 87761 },
+ { 0x5994, 87764 },
+ { 0x5995, 87767 },
+ { 0x5996, 87770 },
+ { 0x5997, 87773 },
+ { 0x5998, 87776 },
+ { 0x5999, 87779 },
+ { 0x599A, 87782 },
+ { 0x599C, 87785 },
+ { 0x599D, 87788 },
+ { 0x599E, 87791 },
+ { 0x599F, 87794 },
+ { 0x59A1, 87797 },
+ { 0x59A2, 87800 },
+ { 0x5C39, 87803 },
+ { 0x59A3, 87807 },
+ { 0x59A6, 87810 },
+ { 0x59A7, 87813 },
+ { 0x59A9, 87816 },
+ { 0x59AA, 87819 },
+ { 0x59AB, 87822 },
+ { 0x59AC, 87825 },
+ { 0x59AD, 87828 },
+ { 0x59AE, 87831 },
+ { 0x59AF, 87834 },
+ { 0x59B1, 87837 },
+ { 0x59B2, 87840 },
+ { 0x59BB, 87843 },
+ { 0x59BC, 87846 },
+ { 0x59BD, 87849 },
+ { 0x59BF, 87852 },
+ { 0x59C1, 87855 },
+ { 0x59C3, 87858 },
+ { 0x59C4, 87861 },
+ { 0x59C5, 87864 },
+ { 0x59C6, 87867 },
+ { 0x59C7, 87870 },
+ { 0x59C9, 87873 },
+ { 0x59CA, 87876 },
+ { 0x59CC, 87879 },
+ { 0x59CD, 87882 },
+ { 0x59CE, 87885 },
+ { 0x59CF, 87888 },
+ { 0x59D1, 87891 },
+ { 0x59D2, 87894 },
+ { 0x59D3, 87897 },
+ { 0x59D5, 87900 },
+ { 0x59D6, 87903 },
+ { 0x59D9, 87906 },
+ { 0x59DA, 87909 },
+ { 0x59DB, 87912 },
+ { 0x59DC, 87915 },
+ { 0x59DD, 87918 },
+ { 0x59DE, 87921 },
+ { 0x59DF, 87924 },
+ { 0x59E1, 87927 },
+ { 0x59E2, 87930 },
+ { 0x59E3, 87933 },
+ { 0x59E4, 87936 },
+ { 0x59E5, 87939 },
+ { 0x59E6, 87942 },
+ { 0x59E7, 87945 },
+ { 0x59E8, 87948 },
+ { 0x59E9, 87951 },
+ { 0x59EA, 87954 },
+ { 0x59EB, 87957 },
+ { 0x59EC, 87960 },
+ { 0x59ED, 87963 },
+ { 0x59EE, 87966 },
+ { 0x59EF, 87969 },
+ { 0x59F0, 87972 },
+ { 0x59F1, 87975 },
+ { 0x59F2, 87978 },
+ { 0x59F3, 87981 },
+ { 0x59F4, 87984 },
+ { 0x59F5, 87987 },
+ { 0x59F6, 87990 },
+ { 0x59F9, 87993 },
+ { 0x59FA, 87996 },
+ { 0x59FB, 87999 },
+ { 0x59FC, 88002 },
+ { 0x59FD, 88005 },
+ { 0x59FE, 88008 },
+ { 0x59FF, 88011 },
+ { 0x5A01, 88014 },
+ { 0x5A02, 88017 },
+ { 0x5A03, 88020 },
+ { 0x5A04, 88023 },
+ { 0x5A05, 88026 },
+ { 0x5A06, 88029 },
+ { 0x5A07, 88032 },
+ { 0x5A08, 88035 },
+ { 0x5A0A, 88038 },
+ { 0x5A0C, 88041 },
+ { 0x5A0E, 88044 },
+ { 0x5A0F, 88047 },
+ { 0x5A11, 88050 },
+ { 0x5A12, 88053 },
+ { 0x5A13, 88056 },
+ { 0x5A14, 88059 },
+ { 0x5A15, 88062 },
+ { 0x5A46, 88065 },
+ { 0x5A48, 88068 },
+ { 0x5A49, 88071 },
+ { 0x5A4A, 88074 },
+ { 0x5A4B, 88077 },
+ { 0x5A4D, 88080 },
+ { 0x5A54, 88083 },
+ { 0x5A55, 88086 },
+ { 0x5A56, 88089 },
+ { 0x5A57, 88092 },
+ { 0x5A5B, 88095 },
+ { 0x5A5C, 88098 },
+ { 0x5A5D, 88101 },
+ { 0x5A5E, 88104 },
+ { 0x5A5F, 88107 },
+ { 0x5A60, 88110 },
+ { 0x5A61, 88113 },
+ { 0x5A62, 88116 },
+ { 0x5A63, 88119 },
+ { 0x5A65, 88122 },
+ { 0x5A67, 88125 },
+ { 0x5A68, 88128 },
+ { 0x5A69, 88131 },
+ { 0x5A6A, 88134 },
+ { 0x5A6C, 88137 },
+ { 0x5A6E, 88140 },
+ { 0x5A6F, 88143 },
+ { 0x5A70, 88146 },
+ { 0x5A71, 88149 },
+ { 0x5A73, 88152 },
+ { 0x5A75, 88155 },
+ { 0x5A76, 88158 },
+ { 0x5A77, 88161 },
+ { 0x5A79, 88164 },
+ { 0x5A7A, 88167 },
+ { 0x5A7B, 88170 },
+ { 0x5A80, 88173 },
+ { 0x5A81, 88176 },
+ { 0x5A82, 88179 },
+ { 0x5A83, 88182 },
+ { 0x5A84, 88185 },
+ { 0x5A85, 88188 },
+ { 0x5A86, 88191 },
+ { 0x5A87, 88194 },
+ { 0x5A88, 88197 },
+ { 0x5A89, 88200 },
+ { 0x5A8A, 88203 },
+ { 0x5A8B, 88206 },
+ { 0x5A8C, 88209 },
+ { 0x5A8D, 88212 },
+ { 0x5A90, 88215 },
+ { 0x5A91, 88218 },
+ { 0x5A93, 88221 },
+ { 0x5A94, 88224 },
+ { 0x5A96, 88227 },
+ { 0x5A97, 88230 },
+ { 0x5A98, 88233 },
+ { 0x5A99, 88236 },
+ { 0x5A9A, 88239 },
+ { 0x5A9B, 88242 },
+ { 0x5A9C, 88245 },
+ { 0x5A9D, 88248 },
+ { 0x5A9E, 88251 },
+ { 0x5A9F, 88254 },
+ { 0x5AA0, 88257 },
+ { 0x5AA1, 88260 },
+ { 0x5AA2, 88263 },
+ { 0x5AA3, 88266 },
+ { 0x5AA4, 88269 },
+ { 0x5AA5, 88272 },
+ { 0x5AA6, 88275 },
+ { 0x5AA8, 88278 },
+ { 0x5AAB, 88281 },
+ { 0x5AAC, 88284 },
+ { 0x5AAD, 88287 },
+ { 0x5AAE, 88290 },
+ { 0x5AAF, 88293 },
+ { 0x5AB0, 88296 },
+ { 0x5AB1, 88299 },
+ { 0x5AB3, 88302 },
+ { 0x5AB4, 88305 },
+ { 0x5AB5, 88308 },
+ { 0x5AB6, 88311 },
+ { 0x5AB7, 88314 },
+ { 0x5AB8, 88317 },
+ { 0x5ABA, 88320 },
+ { 0x5ABB, 88323 },
+ { 0x5ABC, 88326 },
+ { 0x5ABD, 88329 },
+ { 0x5ABE, 88332 },
+ { 0x5ABF, 88335 },
+ { 0x5AC0, 88338 },
+ { 0x5AC1, 88341 },
+ { 0x5AC2, 88344 },
+ { 0x5AC3, 88347 },
+ { 0x5AC4, 88350 },
+ { 0x5AC5, 88353 },
+ { 0x5AC6, 88356 },
+ { 0x5AC7, 88359 },
+ { 0x5AC8, 88362 },
+ { 0x5ACA, 88365 },
+ { 0x5ACB, 88368 },
+ { 0x5ACC, 88371 },
+ { 0x5ACD, 88374 },
+ { 0x5ACF, 88377 },
+ { 0x5AD0, 88380 },
+ { 0x5AD1, 88383 },
+ { 0x5AD2, 88386 },
+ { 0x5AD3, 88389 },
+ { 0x5AD4, 88392 },
+ { 0x5AD5, 88395 },
+ { 0x5AD6, 88398 },
+ { 0x5AD9, 88401 },
+ { 0x5ADA, 88404 },
+ { 0x5ADB, 88407 },
+ { 0x5ADD, 88410 },
+ { 0x5ADE, 88413 },
+ { 0x5ADF, 88416 },
+ { 0x5AE0, 88419 },
+ { 0x5AE1, 88422 },
+ { 0x5AE2, 88425 },
+ { 0x5AE3, 88428 },
+ { 0x5AE4, 88431 },
+ { 0x5AE5, 88434 },
+ { 0x5AE8, 88437 },
+ { 0x5AE9, 88440 },
+ { 0x5AEA, 88443 },
+ { 0x5AEB, 88446 },
+ { 0x5AEC, 88449 },
+ { 0x5AED, 88452 },
+ { 0x5AEE, 88455 },
+ { 0x5AEF, 88458 },
+ { 0x5AF0, 88461 },
+ { 0x5AF2, 88464 },
+ { 0x5AF3, 88467 },
+ { 0x5AF4, 88470 },
+ { 0x5AF5, 88473 },
+ { 0x5AF6, 88476 },
+ { 0x5AF7, 88479 },
+ { 0x5AF8, 88482 },
+ { 0x5AF9, 88485 },
+ { 0x5AFA, 88488 },
+ { 0x5AFB, 88491 },
+ { 0x5AFC, 88494 },
+ { 0x5AFD, 88497 },
+ { 0x5AFE, 88500 },
+ { 0x5AFF, 88503 },
+ { 0x5B01, 88506 },
+ { 0x5B02, 88509 },
+ { 0x5B03, 88512 },
+ { 0x5B04, 88515 },
+ { 0x5B06, 88518 },
+ { 0x5B08, 88521 },
+ { 0x5B0A, 88524 },
+ { 0x5B0B, 88527 },
+ { 0x5B0D, 88530 },
+ { 0x5B0E, 88533 },
+ { 0x5B0F, 88536 },
+ { 0x5B10, 88539 },
+ { 0x5B11, 88542 },
+ { 0x5B13, 88545 },
+ { 0x5B14, 88548 },
+ { 0x5B15, 88551 },
+ { 0x5B16, 88554 },
+ { 0x5B17, 88557 },
+ { 0x5B18, 88560 },
+ { 0x5B19, 88563 },
+ { 0x5B1A, 88566 },
+ { 0x5B1B, 88569 },
+ { 0x5B1C, 88572 },
+ { 0x5B1D, 88575 },
+ { 0x5B1E, 88578 },
+ { 0x5B1F, 88581 },
+ { 0x5B20, 88584 },
+ { 0x5B21, 88587 },
+ { 0x5B22, 88590 },
+ { 0x5B24, 88593 },
+ { 0x5B26, 88596 },
+ { 0x5B27, 88599 },
+ { 0x5B28, 88602 },
+ { 0x5C3B, 88605 },
+ { 0x5B29, 88610 },
+ { 0x5B2A, 88613 },
+ { 0x5B2B, 88616 },
+ { 0x5B2C, 88619 },
+ { 0x5B2D, 88622 },
+ { 0x5B2E, 88625 },
+ { 0x5B31, 88628 },
+ { 0x5B32, 88631 },
+ { 0x5B33, 88634 },
+ { 0x5B34, 88637 },
+ { 0x5B35, 88640 },
+ { 0x5B36, 88643 },
+ { 0x5B37, 88646 },
+ { 0x5B38, 88649 },
+ { 0x5B39, 88652 },
+ { 0x5B3A, 88655 },
+ { 0x5B3B, 88658 },
+ { 0x5B3C, 88661 },
+ { 0x5B3D, 88664 },
+ { 0x5B3E, 88667 },
+ { 0x5B3F, 88670 },
+ { 0x5B40, 88673 },
+ { 0x5B41, 88676 },
+ { 0x5B43, 88679 },
+ { 0x5B44, 88682 },
+ { 0x5B45, 88685 },
+ { 0x5B46, 88688 },
+ { 0x5B47, 88691 },
+ { 0x5B48, 88694 },
+ { 0x5B4A, 88697 },
+ { 0x5B4B, 88700 },
+ { 0x5B4C, 88703 },
+ { 0x5B4E, 88706 },
+ { 0x5B4F, 88709 },
+ { 0x5B50, 88712 },
+ { 0x5B51, 88715 },
+ { 0x5B52, 88718 },
+ { 0x5B53, 88721 },
+ { 0x5B54, 88724 },
+ { 0x5B55, 88727 },
+ { 0x5B56, 88730 },
+ { 0x5B57, 88733 },
+ { 0x5B58, 88736 },
+ { 0x5B62, 88739 },
+ { 0x5B64, 88742 },
+ { 0x5B65, 88745 },
+ { 0x5B66, 88748 },
+ { 0x5B67, 88751 },
+ { 0x5B68, 88754 },
+ { 0x5B6B, 88757 },
+ { 0x5B6C, 88760 },
+ { 0x5B6D, 88763 },
+ { 0x5B6E, 88766 },
+ { 0x5B72, 88769 },
+ { 0x5B75, 88772 },
+ { 0x5B76, 88775 },
+ { 0x5B77, 88778 },
+ { 0x5B78, 88781 },
+ { 0x5B79, 88784 },
+ { 0x5B7A, 88787 },
+ { 0x5B7B, 88790 },
+ { 0x5B7C, 88793 },
+ { 0x5B89, 88796 },
+ { 0x5B8A, 88799 },
+ { 0x5B8B, 88802 },
+ { 0x5B8D, 88805 },
+ { 0x5B8E, 88808 },
+ { 0x5B8F, 88811 },
+ { 0x5B90, 88814 },
+ { 0x5B91, 88817 },
+ { 0x5B93, 88820 },
+ { 0x5B95, 88823 },
+ { 0x5B97, 88826 },
+ { 0x5B99, 88829 },
+ { 0x5B9A, 88832 },
+ { 0x5B9C, 88835 },
+ { 0x5B9D, 88838 },
+ { 0x5B9E, 88841 },
+ { 0x5B9F, 88844 },
+ { 0x5BA1, 88847 },
+ { 0x5BA2, 88850 },
+ { 0x5BA3, 88853 },
+ { 0x5BA5, 88856 },
+ { 0x5BA6, 88859 },
+ { 0x5BA7, 88862 },
+ { 0x5BA9, 88865 },
+ { 0x5BAA, 88868 },
+ { 0x5BAB, 88871 },
+ { 0x5BAC, 88874 },
+ { 0x5BAD, 88877 },
+ { 0x5BAE, 88880 },
+ { 0x5BB0, 88883 },
+ { 0x5BB2, 88886 },
+ { 0x5BB3, 88889 },
+ { 0x5BB4, 88892 },
+ { 0x5BB5, 88895 },
+ { 0x5BB7, 88898 },
+ { 0x5BB8, 88901 },
+ { 0x5BB9, 88904 },
+ { 0x5BBB, 88907 },
+ { 0x5BBD, 88910 },
+ { 0x5BBE, 88913 },
+ { 0x5BBF, 88916 },
+ { 0x5BC0, 88919 },
+ { 0x5BC1, 88922 },
+ { 0x5BC2, 88925 },
+ { 0x5BC4, 88928 },
+ { 0x5C3C, 88931 },
+ { 0x5BC5, 88936 },
+ { 0x5BC6, 88939 },
+ { 0x5BC7, 88942 },
+ { 0x5BC8, 88945 },
+ { 0x5BCB, 88948 },
+ { 0x5BCC, 88951 },
+ { 0x5BCE, 88954 },
+ { 0x5BCF, 88957 },
+ { 0x5BD1, 88960 },
+ { 0x5BD3, 88963 },
+ { 0x5BD4, 88966 },
+ { 0x5BD5, 88969 },
+ { 0x5BD6, 88972 },
+ { 0x5BD7, 88975 },
+ { 0x5BD8, 88978 },
+ { 0x5BD9, 88981 },
+ { 0x5BDA, 88984 },
+ { 0x5BDB, 88987 },
+ { 0x5BE0, 88990 },
+ { 0x5BE3, 88993 },
+ { 0x5BE5, 88996 },
+ { 0x5BE7, 88999 },
+ { 0x5BE8, 89002 },
+ { 0x5BE9, 89005 },
+ { 0x5BEA, 89008 },
+ { 0x5BEB, 89011 },
+ { 0x5BEC, 89014 },
+ { 0x5BED, 89017 },
+ { 0x5BEE, 89020 },
+ { 0x5BEF, 89023 },
+ { 0x5BF0, 89026 },
+ { 0x5BFA, 89029 },
+ { 0x57FB, 89032 },
+ { 0x57FD, 89035 },
+ { 0x57FE, 89038 },
+ { 0x5807, 89041 },
+ { 0x580B, 89044 },
+ { 0x581B, 89047 },
+ { 0x5824, 89050 },
+ { 0x5827, 89053 },
+ { 0x5829, 89056 },
+ { 0x582C, 89059 },
+ { 0x5C03, 89062 },
+ { 0x5C04, 89065 },
+ { 0x5C05, 89068 },
+ { 0x5C06, 89071 },
+ { 0x5C07, 89074 },
+ { 0x5C08, 89077 },
+ { 0x5C09, 89080 },
+ { 0x5C0C, 89083 },
+ { 0x5C0D, 89086 },
+ { 0x5C0E, 89089 },
+ { 0x5C0F, 89092 },
+ { 0x5C10, 89095 },
+ { 0x5C11, 89098 },
+ { 0x5C12, 89101 },
+ { 0x5C13, 89104 },
+ { 0x5C14, 89107 },
+ { 0x5C15, 89110 },
+ { 0x5C16, 89113 },
+ { 0x5C17, 89116 },
+ { 0x5C18, 89119 },
+ { 0x5C19, 89122 },
+ { 0x5C1A, 89125 },
+ { 0x5C1B, 89128 },
+ { 0x5C1C, 89131 },
+ { 0x5C1D, 89134 },
+ { 0x5C1E, 89137 },
+ { 0x5C1F, 89140 },
+ { 0x5C20, 89143 },
+ { 0x5C21, 89146 },
+ { 0x5C22, 89149 },
+ { 0x5C23, 89152 },
+ { 0x5C24, 89155 },
+ { 0x584B, 89158 },
+ { 0x5C34, 89161 },
+ { 0x5C2D, 89166 },
+ { 0x5C32, 89170 },
+ { 0x5852, 89174 },
+ { 0x5853, 89177 },
+ { 0x5854, 89180 },
+ { 0x585D, 89183 },
+ { 0x5874, 89186 },
+ { 0x5888, 89189 },
+ { 0x588D, 89192 },
+ { 0x5891, 89195 },
+ { 0x589E, 89198 },
+ { 0x58A1, 89201 },
+ { 0x58A4, 89204 },
+ { 0x58A5, 89207 },
+ { 0x58A6, 89210 },
+ { 0x58A7, 89213 },
+ { 0x58A8, 89216 },
+ { 0x58A9, 89219 },
+ { 0x58AA, 89222 },
+ { 0x58AB, 89225 },
+ { 0x58AC, 89228 },
+ { 0x58AF, 89231 },
+ { 0x58B2, 89234 },
+ { 0x58C0, 89237 },
+ { 0x58C1, 89240 },
+ { 0x58C2, 89243 },
+ { 0x58C3, 89246 },
+ { 0x58C4, 89249 },
+ { 0x58C5, 89252 },
+ { 0x58C6, 89255 },
+ { 0x58C7, 89258 },
+ { 0x58D0, 89261 },
+ { 0x58D2, 89264 },
+ { 0x58DA, 89267 },
+ { 0x58DC, 89270 },
+ { 0x58E0, 89273 },
+ { 0x58E9, 89276 },
+ { 0x58F0, 89279 },
+ { 0x58F5, 89282 },
+ { 0x5902, 89285 },
+ { 0x590B, 89288 },
+ { 0x5916, 89291 },
+ { 0x591D, 89294 },
+ { 0x591F, 89297 },
+ { 0x5927, 89300 },
+ { 0x5929, 89303 },
+ { 0x592B, 89306 },
+ { 0x5930, 89309 },
+ { 0x5931, 89312 },
+ { 0x5932, 89315 },
+ { 0x593B, 89318 },
+ { 0x593D, 89321 },
+ { 0x593E, 89324 },
+ { 0x5943, 89327 },
+ { 0x594D, 89330 },
+ { 0x5954, 89333 },
+ { 0x595F, 89336 },
+ { 0x5961, 89339 },
+ { 0x5968, 89342 },
+ { 0x596B, 89345 },
+ { 0x597B, 89348 },
+ { 0x5983, 89351 },
+ { 0x5988, 89354 },
+ { 0x598A, 89357 },
+ { 0x598C, 89360 },
+ { 0x599B, 89363 },
+ { 0x59A0, 89366 },
+ { 0x59A4, 89369 },
+ { 0x59A5, 89372 },
+ { 0x59A8, 89375 },
+ { 0x59B0, 89378 },
+ { 0x59B3, 89381 },
+ { 0x59B4, 89384 },
+ { 0x59B5, 89387 },
+ { 0x59B6, 89390 },
+ { 0x59B7, 89393 },
+ { 0x59B8, 89396 },
+ { 0x59B9, 89399 },
+ { 0x59BA, 89402 },
+ { 0x59BE, 89405 },
+ { 0x59C0, 89408 },
+ { 0x59C2, 89411 },
+ { 0x59C8, 89414 },
+ { 0x59CB, 89417 },
+ { 0x59D0, 89420 },
+ { 0x59D4, 89423 },
+ { 0x59D7, 89426 },
+ { 0x59D8, 89429 },
+ { 0x59E0, 89432 },
+ { 0x59F7, 89435 },
+ { 0x59F8, 89438 },
+ { 0x5A00, 89441 },
+ { 0x5A09, 89444 },
+ { 0x5A0B, 89447 },
+ { 0x5A0D, 89450 },
+ { 0x5A10, 89453 },
+ { 0x5A16, 89456 },
+ { 0x5A17, 89459 },
+ { 0x5A18, 89462 },
+ { 0x5A19, 89465 },
+ { 0x5A1A, 89468 },
+ { 0x5A1C, 89471 },
+ { 0x5A1D, 89474 },
+ { 0x5A1E, 89477 },
+ { 0x5A1F, 89480 },
+ { 0x5A20, 89483 },
+ { 0x5A21, 89486 },
+ { 0x5A22, 89489 },
+ { 0x5A23, 89492 },
+ { 0x5A24, 89495 },
+ { 0x5A25, 89498 },
+ { 0x5A26, 89501 },
+ { 0x5A27, 89504 },
+ { 0x5A29, 89507 },
+ { 0x5A2A, 89510 },
+ { 0x5A2B, 89513 },
+ { 0x5A2C, 89516 },
+ { 0x5A2D, 89519 },
+ { 0x5A2E, 89522 },
+ { 0x5A2F, 89525 },
+ { 0x5A30, 89528 },
+ { 0x5A31, 89531 },
+ { 0x5A32, 89534 },
+ { 0x5A33, 89537 },
+ { 0x5A34, 89540 },
+ { 0x5A35, 89543 },
+ { 0x5A37, 89546 },
+ { 0x5A39, 89549 },
+ { 0x5A3A, 89552 },
+ { 0x5A3B, 89555 },
+ { 0x5A3C, 89558 },
+ { 0x5A3D, 89561 },
+ { 0x5A3E, 89564 },
+ { 0x5A3F, 89567 },
+ { 0x5A41, 89570 },
+ { 0x5A42, 89573 },
+ { 0x5A43, 89576 },
+ { 0x5A44, 89579 },
+ { 0x5A47, 89582 },
+ { 0x5A4C, 89585 },
+ { 0x5A4E, 89588 },
+ { 0x5A4F, 89591 },
+ { 0x5A50, 89594 },
+ { 0x5A51, 89597 },
+ { 0x5A52, 89600 },
+ { 0x5A53, 89603 },
+ { 0x5A58, 89606 },
+ { 0x5A59, 89609 },
+ { 0x5A5A, 89612 },
+ { 0x5A64, 89615 },
+ { 0x5A66, 89618 },
+ { 0x5A6B, 89621 },
+ { 0x5A6D, 89624 },
+ { 0x5A72, 89627 },
+ { 0x5A74, 89630 },
+ { 0x5A78, 89633 },
+ { 0x5A7C, 89636 },
+ { 0x5A7D, 89639 },
+ { 0x5A7E, 89642 },
+ { 0x5A7F, 89645 },
+ { 0x5A8E, 89648 },
+ { 0x5A8F, 89651 },
+ { 0x5A92, 89654 },
+ { 0x5A95, 89657 },
+ { 0x5AA7, 89660 },
+ { 0x5AA9, 89663 },
+ { 0x5AAA, 89666 },
+ { 0x5AB2, 89669 },
+ { 0x5AB9, 89672 },
+ { 0x5AC9, 89675 },
+ { 0x5ACE, 89678 },
+ { 0x5AD7, 89681 },
+ { 0x5AD8, 89684 },
+ { 0x5ADC, 89687 },
+ { 0x5AE6, 89690 },
+ { 0x5AE7, 89693 },
+ { 0x5AF1, 89696 },
+ { 0x5B00, 89699 },
+ { 0x5B05, 89702 },
+ { 0x5B07, 89705 },
+ { 0x5B09, 89708 },
+ { 0x5B0C, 89711 },
+ { 0x5B12, 89714 },
+ { 0x5B23, 89717 },
+ { 0x5B25, 89720 },
+ { 0x5B2F, 89723 },
+ { 0x5B30, 89726 },
+ { 0x5B42, 89729 },
+ { 0x5B49, 89732 },
+ { 0x5B4D, 89735 },
+ { 0x5B59, 89738 },
+ { 0x5B5A, 89741 },
+ { 0x5B5B, 89744 },
+ { 0x5B5C, 89747 },
+ { 0x5B5D, 89750 },
+ { 0x5B5E, 89753 },
+ { 0x5B5F, 89756 },
+ { 0x5B60, 89759 },
+ { 0x5B61, 89762 },
+ { 0x5B63, 89765 },
+ { 0x5B69, 89768 },
+ { 0x5B6A, 89771 },
+ { 0x5B6F, 89774 },
+ { 0x5B70, 89777 },
+ { 0x5B71, 89780 },
+ { 0x5C25, 89783 },
+ { 0x5B73, 89786 },
+ { 0x5B74, 89789 },
+ { 0x5B7D, 89792 },
+ { 0x5B7E, 89795 },
+ { 0x5B7F, 89798 },
+ { 0x5B80, 89801 },
+ { 0x5B81, 89804 },
+ { 0x5B82, 89807 },
+ { 0x5B83, 89810 },
+ { 0x5B84, 89813 },
+ { 0x5B85, 89816 },
+ { 0x5B86, 89819 },
+ { 0x5B87, 89822 },
+ { 0x5B88, 89825 },
+ { 0x5B8C, 89828 },
+ { 0x5B92, 89831 },
+ { 0x5B94, 89834 },
+ { 0x5B96, 89837 },
+ { 0x5B98, 89840 },
+ { 0x5B9B, 89843 },
+ { 0x5BA0, 89846 },
+ { 0x5BA4, 89849 },
+ { 0x5BA8, 89852 },
+ { 0x5BAF, 89855 },
+ { 0x5BB1, 89858 },
+ { 0x5BB6, 89861 },
+ { 0x5BBA, 89864 },
+ { 0x5BBC, 89867 },
+ { 0x5BC3, 89870 },
+ { 0x5BC9, 89873 },
+ { 0x5BCA, 89876 },
+ { 0x5BCD, 89879 },
+ { 0x5BD0, 89882 },
+ { 0x5BD2, 89885 },
+ { 0x5BDC, 89888 },
+ { 0x5BDD, 89891 },
+ { 0x5BDE, 89894 },
+ { 0x5BDF, 89897 },
+ { 0x5BE1, 89900 },
+ { 0x5BE2, 89903 },
+ { 0x5BE4, 89906 },
+ { 0x5BE6, 89909 },
+ { 0x5BF1, 89912 },
+ { 0x5BF2, 89915 },
+ { 0x5BF3, 89918 },
+ { 0x5BF4, 89921 },
+ { 0x5BF5, 89924 },
+ { 0x5BF6, 89927 },
+ { 0x5BF7, 89930 },
+ { 0x5BF8, 89933 },
+ { 0x5BF9, 89936 },
+ { 0x5BFB, 89939 },
+ { 0x5BFC, 89942 },
+ { 0x5BFD, 89945 },
+ { 0x5BFE, 89948 },
+ { 0x5BFF, 89951 },
+ { 0x5C00, 89954 },
+ { 0x5C01, 89957 },
+ { 0x5C02, 89960 },
+ { 0x5C0A, 89963 },
+ { 0x5C0B, 89966 },
+ { 0x5C30, 89969 },
+ { 0x5C2A, 89974 },
+ { 0x5C28, 89980 },
+ { 0x5C31, 89986 },
+ { 0x5C2B, 89991 },
+ { 0x5C29, 89997 },
+ { 0x5C2F, 90003 },
+ { 0x5C36, 90008 },
+ { 0x5A1B, 90012 },
+ { 0x5A28, 90015 },
+ { 0x5A36, 90018 },
+ { 0x5A38, 90021 },
+ { 0x5A40, 90024 },
+ { 0x5A45, 90027 },
+ { 0x5C2C, 90030 },
+ { 0x5C4B, 90034 },
+ { 0x5C48, 90038 },
+ { 0x5C41, 90044 },
+ { 0x5C49, 90050 },
+ { 0x5C40, 90058 },
+ { 0x5C3D, 90065 },
+ { 0x5C45, 90072 },
+ { 0x5C3F, 90082 },
+ { 0x5C43, 90088 },
+ { 0x5C47, 90096 },
+ { 0x5C46, 90104 },
+ { 0x5C4A, 90110 },
+ { 0x5C44, 90118 },
+ { 0x5C3E, 90125 },
+ { 0x5C42, 90132 },
+ { 0x5C26, 90142 },
+ { 0x5C27, 90146 },
+ { 0x7CB6, 90150 },
{ 0x1F52, 90152 },
- { 0x7C46, 90154 },
- { 0x7CCB, 90157 },
- { 0x7BBD, 90159 },
- { 0x7E7C, 90160 },
+ { 0x7C4B, 90154 },
+ { 0x7CD0, 90157 },
+ { 0x7BC2, 90159 },
+ { 0x7E81, 90160 },
{ 0x1FD4, 90161 },
{ 0x232C, 90163 },
- { 0x7C8E, 90164 },
- { 0x7D29, 90169 },
+ { 0x7C93, 90164 },
+ { 0x7D2E, 90169 },
{ 0x10F2, 90172 },
{ 0x10F5, 90175 },
{ 0x10F3, 90177 },
@@ -70826,11 +70833,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1073, 90599 },
{ 0x106E, 90602 },
{ 0x1003, 90605 },
- { 0x3A3A, 90608 },
- { 0x3A3F, 90611 },
- { 0x3A3C, 90614 },
- { 0x3A40, 90617 },
- { 0x3A3B, 90620 },
+ { 0x3A3F, 90608 },
+ { 0x3A44, 90611 },
+ { 0x3A41, 90614 },
+ { 0x3A45, 90617 },
+ { 0x3A40, 90620 },
{ 0x1004, 90623 },
{ 0x2983, 90626 },
{ 0x1007, 90629 },
@@ -70859,10 +70866,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1089, 90698 },
{ 0x298A, 90701 },
{ 0x108C, 90704 },
- { 0x3A31, 90707 },
- { 0x3A2E, 90710 },
- { 0x3A32, 90713 },
- { 0x3A2D, 90716 },
+ { 0x3A36, 90707 },
+ { 0x3A33, 90710 },
+ { 0x3A37, 90713 },
+ { 0x3A32, 90716 },
{ 0x10DD, 90719 },
{ 0x10DE, 90722 },
{ 0x10E1, 90725 },
@@ -71037,8 +71044,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x29A5, 91232 },
{ 0x29A9, 91235 },
{ 0x29A4, 91238 },
- { 0x3A3D, 91241 },
- { 0x3A3E, 91244 },
+ { 0x3A42, 91241 },
+ { 0x3A43, 91244 },
{ 0x1113, 91247 },
{ 0x299F, 91250 },
{ 0x29A0, 91253 },
@@ -71053,14 +71060,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x10C1, 91280 },
{ 0x1090, 91283 },
{ 0x1091, 91286 },
- { 0x3A2B, 91289 },
- { 0x3A28, 91292 },
- { 0x3A2C, 91295 },
- { 0x3A27, 91298 },
+ { 0x3A30, 91289 },
+ { 0x3A2D, 91292 },
+ { 0x3A31, 91295 },
+ { 0x3A2C, 91298 },
{ 0x298B, 91301 },
{ 0x1094, 91304 },
- { 0x3A2F, 91307 },
- { 0x3A30, 91310 },
+ { 0x3A34, 91307 },
+ { 0x3A35, 91310 },
{ 0x1117, 91313 },
{ 0x10AD, 91316 },
{ 0x10AE, 91319 },
@@ -71074,13 +71081,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0FBA, 91343 },
{ 0x0FBB, 91346 },
{ 0x0FBE, 91349 },
- { 0x766C, 91352 },
- { 0x766A, 91355 },
- { 0x7662, 91358 },
- { 0x7667, 91361 },
- { 0x7664, 91364 },
- { 0x7668, 91367 },
- { 0x7663, 91370 },
+ { 0x7671, 91352 },
+ { 0x766F, 91355 },
+ { 0x7667, 91358 },
+ { 0x766C, 91361 },
+ { 0x7669, 91364 },
+ { 0x766D, 91367 },
+ { 0x7668, 91370 },
{ 0x104F, 91373 },
{ 0x1050, 91376 },
{ 0x1055, 91379 },
@@ -71125,10 +71132,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x10CD, 91496 },
{ 0x10CE, 91499 },
{ 0x10D1, 91502 },
- { 0x3A25, 91505 },
- { 0x3A22, 91508 },
- { 0x3A26, 91511 },
- { 0x3A21, 91514 },
+ { 0x3A2A, 91505 },
+ { 0x3A27, 91508 },
+ { 0x3A2B, 91511 },
+ { 0x3A26, 91514 },
{ 0x10D5, 91517 },
{ 0x10D6, 91520 },
{ 0x10D9, 91523 },
@@ -71143,44 +71150,44 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x29A7, 91550 },
{ 0x29AD, 91553 },
{ 0x29AE, 91556 },
- { 0x3A33, 91559 },
- { 0x3A38, 91562 },
- { 0x3A35, 91565 },
- { 0x3A39, 91568 },
- { 0x3A34, 91571 },
- { 0x3A29, 91574 },
- { 0x3A2A, 91577 },
+ { 0x3A38, 91559 },
+ { 0x3A3D, 91562 },
+ { 0x3A3A, 91565 },
+ { 0x3A3E, 91568 },
+ { 0x3A39, 91571 },
+ { 0x3A2E, 91574 },
+ { 0x3A2F, 91577 },
{ 0x10B1, 91580 },
{ 0x2993, 91583 },
- { 0x766B, 91586 },
- { 0x7665, 91589 },
- { 0x7666, 91592 },
+ { 0x7670, 91586 },
+ { 0x766A, 91589 },
+ { 0x766B, 91592 },
{ 0x105B, 91595 },
{ 0x105C, 91598 },
{ 0x0FFD, 91601 },
{ 0x0FFE, 91604 },
- { 0x3A23, 91607 },
- { 0x3A24, 91610 },
- { 0x3A36, 91613 },
- { 0x3A37, 91616 },
- { 0x7672, 91619 },
- { 0x767A, 91623 },
- { 0x7679, 91627 },
- { 0x7677, 91631 },
- { 0x7676, 91635 },
- { 0x7674, 91639 },
- { 0x766D, 91643 },
- { 0x767C, 91647 },
- { 0x7671, 91651 },
- { 0x766F, 91655 },
- { 0x7673, 91659 },
- { 0x767B, 91663 },
- { 0x7678, 91667 },
- { 0x7669, 91671 },
- { 0x7675, 91675 },
- { 0x766E, 91679 },
- { 0x767D, 91683 },
- { 0x7670, 91687 },
+ { 0x3A28, 91607 },
+ { 0x3A29, 91610 },
+ { 0x3A3B, 91613 },
+ { 0x3A3C, 91616 },
+ { 0x7677, 91619 },
+ { 0x767F, 91623 },
+ { 0x767E, 91627 },
+ { 0x767C, 91631 },
+ { 0x767B, 91635 },
+ { 0x7679, 91639 },
+ { 0x7672, 91643 },
+ { 0x7681, 91647 },
+ { 0x7676, 91651 },
+ { 0x7674, 91655 },
+ { 0x7678, 91659 },
+ { 0x7680, 91663 },
+ { 0x767D, 91667 },
+ { 0x766E, 91671 },
+ { 0x767A, 91675 },
+ { 0x7673, 91679 },
+ { 0x7682, 91683 },
+ { 0x7675, 91687 },
{ 0x103D, 91691 },
{ 0x1042, 91695 },
{ 0x103F, 91699 },
@@ -71207,8 +71214,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x10F8, 91787 },
{ 0x10F4, 91790 },
{ 0x10F1, 91792 },
- { 0x7B89, 91794 },
- { 0x7B95, 91797 },
+ { 0x7B8E, 91794 },
+ { 0x7B9A, 91797 },
{ 0x068A, 91799 },
{ 0x068F, 91803 },
{ 0x068B, 91807 },
@@ -71220,14 +71227,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0690, 91831 },
{ 0x068C, 91835 },
{ 0x0069, 91839 },
- { 0x7B2C, 91842 },
- { 0x80BD, 91844 },
+ { 0x7B31, 91842 },
+ { 0x80C2, 91844 },
{ 0x2036, 91845 },
{ 0x2315, 91846 },
{ 0x1CBE, 91847 },
{ 0x1DB4, 91849 },
- { 0x808A, 91852 },
- { 0x7DCB, 91854 },
+ { 0x808F, 91852 },
+ { 0x7DD0, 91854 },
{ 0x1CDB, 91859 },
{ 0x291B, 91861 },
{ 0x291F, 91865 },
@@ -71402,12 +71409,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x195D, 92543 },
{ 0x1959, 92549 },
{ 0x0EA2, 92555 },
- { 0x7F14, 92558 },
- { 0x7DDD, 92559 },
- { 0x7DA5, 92565 },
- { 0x803E, 92567 },
- { 0x803D, 92576 },
- { 0x7DA6, 92581 },
+ { 0x7F19, 92558 },
+ { 0x7DE2, 92559 },
+ { 0x7DAA, 92565 },
+ { 0x8043, 92567 },
+ { 0x8042, 92576 },
+ { 0x7DAB, 92581 },
{ 0x09E7, 92586 },
{ 0x09D7, 92588 },
{ 0x09F9, 92591 },
@@ -71579,218 +71586,218 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x098E, 93128 },
{ 0x096C, 93131 },
{ 0x09A3, 93134 },
- { 0x8052, 93137 },
- { 0x2BC1, 93138 },
- { 0x2BC6, 93141 },
- { 0x2BD8, 93144 },
- { 0x2BC2, 93147 },
- { 0x2BC5, 93150 },
- { 0x2BC4, 93153 },
- { 0x2BC9, 93156 },
- { 0x2BC8, 93159 },
- { 0x2BC7, 93162 },
- { 0x2BC3, 93165 },
- { 0x2BDA, 93168 },
- { 0x2BD9, 93171 },
- { 0x7BC8, 93174 },
- { 0x80A8, 93176 },
- { 0x2F8F, 93177 },
- { 0x2FB8, 93181 },
- { 0x2FAD, 93185 },
- { 0x2FC1, 93189 },
- { 0x2FC2, 93194 },
- { 0x2FA5, 93199 },
- { 0x2FBC, 93204 },
- { 0x2FBB, 93210 },
- { 0x2FBA, 93215 },
- { 0x2FA6, 93219 },
- { 0x2F89, 93224 },
- { 0x2FBE, 93229 },
- { 0x2FC0, 93234 },
- { 0x2F8A, 93238 },
- { 0x2F9A, 93243 },
- { 0x2FC7, 93249 },
- { 0x2F9E, 93253 },
- { 0x2FAA, 93256 },
- { 0x2FA2, 93260 },
- { 0x2F96, 93264 },
- { 0x2FA4, 93268 },
- { 0x2FC5, 93272 },
- { 0x2FA3, 93276 },
- { 0x2F93, 93280 },
- { 0x2F91, 93283 },
- { 0x2FC6, 93287 },
- { 0x2FC8, 93291 },
- { 0x2F9D, 93295 },
- { 0x2FB4, 93299 },
- { 0x2FA0, 93304 },
- { 0x2F90, 93307 },
- { 0x2F97, 93311 },
- { 0x2FB6, 93314 },
- { 0x2FA9, 93318 },
- { 0x2F8D, 93321 },
- { 0x2F9B, 93324 },
- { 0x2F8E, 93327 },
- { 0x2FB1, 93330 },
- { 0x2FA8, 93333 },
- { 0x2FB2, 93336 },
- { 0x2FAB, 93339 },
- { 0x2F92, 93342 },
- { 0x2F8C, 93345 },
- { 0x2FBF, 93349 },
- { 0x2FAC, 93352 },
- { 0x2F99, 93358 },
- { 0x2FB5, 93361 },
- { 0x2FA7, 93365 },
- { 0x2FA1, 93368 },
- { 0x2F9F, 93371 },
- { 0x2F8B, 93375 },
- { 0x2FC3, 93381 },
- { 0x2F98, 93384 },
- { 0x2F95, 93387 },
- { 0x2FC4, 93390 },
- { 0x2FAE, 93393 },
- { 0x2FB7, 93396 },
- { 0x2FB9, 93399 },
- { 0x2F94, 93402 },
- { 0x2FB0, 93405 },
- { 0x2FBD, 93408 },
- { 0x2FAF, 93411 },
- { 0x2FB3, 93414 },
- { 0x2F9C, 93417 },
- { 0x7ADF, 93420 },
- { 0x2BE1, 93421 },
- { 0x2BE7, 93424 },
- { 0x2BE3, 93427 },
- { 0x2C32, 93430 },
- { 0x2BE9, 93433 },
- { 0x2BE5, 93436 },
- { 0x2C0F, 93439 },
- { 0x2C18, 93442 },
- { 0x2C12, 93445 },
- { 0x2C1B, 93448 },
- { 0x2C15, 93451 },
- { 0x2BFF, 93454 },
- { 0x2C06, 93457 },
- { 0x2C01, 93460 },
- { 0x2C08, 93463 },
- { 0x2C04, 93466 },
- { 0x2BEB, 93469 },
- { 0x2BF1, 93472 },
- { 0x2BED, 93475 },
- { 0x2BF3, 93478 },
- { 0x2BEF, 93481 },
- { 0x2C0E, 93484 },
- { 0x2C17, 93487 },
- { 0x2C11, 93490 },
- { 0x2C1A, 93493 },
- { 0x2C14, 93496 },
- { 0x2BEA, 93499 },
- { 0x2BF0, 93502 },
- { 0x2BEC, 93505 },
- { 0x2BF2, 93508 },
- { 0x2BEE, 93511 },
- { 0x2C1D, 93514 },
- { 0x2C20, 93517 },
- { 0x2C1E, 93520 },
- { 0x2C21, 93523 },
- { 0x2C1F, 93526 },
- { 0x2C09, 93529 },
- { 0x2C0C, 93532 },
- { 0x2C0A, 93535 },
- { 0x2C0D, 93538 },
- { 0x2C0B, 93541 },
- { 0x2C10, 93544 },
- { 0x2C19, 93547 },
- { 0x2C13, 93550 },
- { 0x2C1C, 93553 },
- { 0x2C16, 93556 },
- { 0x2C28, 93559 },
- { 0x2C2B, 93562 },
- { 0x2C29, 93565 },
- { 0x2C2C, 93568 },
- { 0x2C2A, 93571 },
- { 0x2BF4, 93574 },
- { 0x2BFA, 93577 },
- { 0x2BF6, 93580 },
- { 0x2BFC, 93583 },
- { 0x2BF8, 93586 },
- { 0x2BFE, 93589 },
- { 0x2C05, 93592 },
- { 0x2C00, 93595 },
- { 0x2C07, 93598 },
- { 0x2C03, 93601 },
- { 0x2C33, 93604 },
- { 0x2C2E, 93607 },
- { 0x2C30, 93610 },
- { 0x2C2F, 93613 },
- { 0x2C31, 93616 },
- { 0x2C23, 93619 },
- { 0x2C27, 93622 },
- { 0x2C25, 93625 },
- { 0x2BF5, 93628 },
- { 0x2BFB, 93631 },
- { 0x2BF7, 93634 },
- { 0x2BFD, 93637 },
- { 0x2BF9, 93640 },
- { 0x2BE0, 93643 },
- { 0x2BE6, 93647 },
- { 0x2BE2, 93651 },
- { 0x2BE8, 93655 },
- { 0x2BE4, 93659 },
- { 0x2C34, 93663 },
- { 0x2C35, 93667 },
- { 0x68EB, 93671 },
- { 0x2C02, 93675 },
- { 0x2C2D, 93679 },
- { 0x68ED, 93683 },
- { 0x68EC, 93687 },
- { 0x68EE, 93691 },
- { 0x2C22, 93695 },
- { 0x2C26, 93699 },
- { 0x2C24, 93703 },
- { 0x68E7, 93707 },
- { 0x67C9, 93711 },
- { 0x2C3B, 93715 },
- { 0x2C3C, 93719 },
- { 0x2C3A, 93722 },
+ { 0x8057, 93137 },
+ { 0x2BC5, 93138 },
+ { 0x2BCA, 93141 },
+ { 0x2BDC, 93144 },
+ { 0x2BC6, 93147 },
+ { 0x2BC9, 93150 },
+ { 0x2BC8, 93153 },
+ { 0x2BCD, 93156 },
+ { 0x2BCC, 93159 },
+ { 0x2BCB, 93162 },
+ { 0x2BC7, 93165 },
+ { 0x2BDE, 93168 },
+ { 0x2BDD, 93171 },
+ { 0x7BCD, 93174 },
+ { 0x80AD, 93176 },
+ { 0x2F94, 93177 },
+ { 0x2FBD, 93181 },
+ { 0x2FB2, 93185 },
+ { 0x2FC6, 93189 },
+ { 0x2FC7, 93194 },
+ { 0x2FAA, 93199 },
+ { 0x2FC1, 93204 },
+ { 0x2FC0, 93210 },
+ { 0x2FBF, 93215 },
+ { 0x2FAB, 93219 },
+ { 0x2F8E, 93224 },
+ { 0x2FC3, 93229 },
+ { 0x2FC5, 93234 },
+ { 0x2F8F, 93238 },
+ { 0x2F9F, 93243 },
+ { 0x2FCC, 93249 },
+ { 0x2FA3, 93253 },
+ { 0x2FAF, 93256 },
+ { 0x2FA7, 93260 },
+ { 0x2F9B, 93264 },
+ { 0x2FA9, 93268 },
+ { 0x2FCA, 93272 },
+ { 0x2FA8, 93276 },
+ { 0x2F98, 93280 },
+ { 0x2F96, 93283 },
+ { 0x2FCB, 93287 },
+ { 0x2FCD, 93291 },
+ { 0x2FA2, 93295 },
+ { 0x2FB9, 93299 },
+ { 0x2FA5, 93304 },
+ { 0x2F95, 93307 },
+ { 0x2F9C, 93311 },
+ { 0x2FBB, 93314 },
+ { 0x2FAE, 93318 },
+ { 0x2F92, 93321 },
+ { 0x2FA0, 93324 },
+ { 0x2F93, 93327 },
+ { 0x2FB6, 93330 },
+ { 0x2FAD, 93333 },
+ { 0x2FB7, 93336 },
+ { 0x2FB0, 93339 },
+ { 0x2F97, 93342 },
+ { 0x2F91, 93345 },
+ { 0x2FC4, 93349 },
+ { 0x2FB1, 93352 },
+ { 0x2F9E, 93358 },
+ { 0x2FBA, 93361 },
+ { 0x2FAC, 93365 },
+ { 0x2FA6, 93368 },
+ { 0x2FA4, 93371 },
+ { 0x2F90, 93375 },
+ { 0x2FC8, 93381 },
+ { 0x2F9D, 93384 },
+ { 0x2F9A, 93387 },
+ { 0x2FC9, 93390 },
+ { 0x2FB3, 93393 },
+ { 0x2FBC, 93396 },
+ { 0x2FBE, 93399 },
+ { 0x2F99, 93402 },
+ { 0x2FB5, 93405 },
+ { 0x2FC2, 93408 },
+ { 0x2FB4, 93411 },
+ { 0x2FB8, 93414 },
+ { 0x2FA1, 93417 },
+ { 0x7AE4, 93420 },
+ { 0x2BE5, 93421 },
+ { 0x2BEB, 93424 },
+ { 0x2BE7, 93427 },
+ { 0x2C36, 93430 },
+ { 0x2BED, 93433 },
+ { 0x2BE9, 93436 },
+ { 0x2C13, 93439 },
+ { 0x2C1C, 93442 },
+ { 0x2C16, 93445 },
+ { 0x2C1F, 93448 },
+ { 0x2C19, 93451 },
+ { 0x2C03, 93454 },
+ { 0x2C0A, 93457 },
+ { 0x2C05, 93460 },
+ { 0x2C0C, 93463 },
+ { 0x2C08, 93466 },
+ { 0x2BEF, 93469 },
+ { 0x2BF5, 93472 },
+ { 0x2BF1, 93475 },
+ { 0x2BF7, 93478 },
+ { 0x2BF3, 93481 },
+ { 0x2C12, 93484 },
+ { 0x2C1B, 93487 },
+ { 0x2C15, 93490 },
+ { 0x2C1E, 93493 },
+ { 0x2C18, 93496 },
+ { 0x2BEE, 93499 },
+ { 0x2BF4, 93502 },
+ { 0x2BF0, 93505 },
+ { 0x2BF6, 93508 },
+ { 0x2BF2, 93511 },
+ { 0x2C21, 93514 },
+ { 0x2C24, 93517 },
+ { 0x2C22, 93520 },
+ { 0x2C25, 93523 },
+ { 0x2C23, 93526 },
+ { 0x2C0D, 93529 },
+ { 0x2C10, 93532 },
+ { 0x2C0E, 93535 },
+ { 0x2C11, 93538 },
+ { 0x2C0F, 93541 },
+ { 0x2C14, 93544 },
+ { 0x2C1D, 93547 },
+ { 0x2C17, 93550 },
+ { 0x2C20, 93553 },
+ { 0x2C1A, 93556 },
+ { 0x2C2C, 93559 },
+ { 0x2C2F, 93562 },
+ { 0x2C2D, 93565 },
+ { 0x2C30, 93568 },
+ { 0x2C2E, 93571 },
+ { 0x2BF8, 93574 },
+ { 0x2BFE, 93577 },
+ { 0x2BFA, 93580 },
+ { 0x2C00, 93583 },
+ { 0x2BFC, 93586 },
+ { 0x2C02, 93589 },
+ { 0x2C09, 93592 },
+ { 0x2C04, 93595 },
+ { 0x2C0B, 93598 },
+ { 0x2C07, 93601 },
+ { 0x2C37, 93604 },
+ { 0x2C32, 93607 },
+ { 0x2C34, 93610 },
+ { 0x2C33, 93613 },
+ { 0x2C35, 93616 },
+ { 0x2C27, 93619 },
+ { 0x2C2B, 93622 },
+ { 0x2C29, 93625 },
+ { 0x2BF9, 93628 },
+ { 0x2BFF, 93631 },
+ { 0x2BFB, 93634 },
+ { 0x2C01, 93637 },
+ { 0x2BFD, 93640 },
+ { 0x2BE4, 93643 },
+ { 0x2BEA, 93647 },
+ { 0x2BE6, 93651 },
+ { 0x2BEC, 93655 },
+ { 0x2BE8, 93659 },
+ { 0x2C38, 93663 },
+ { 0x2C39, 93667 },
+ { 0x68F0, 93671 },
+ { 0x2C06, 93675 },
+ { 0x2C31, 93679 },
+ { 0x68F2, 93683 },
+ { 0x68F1, 93687 },
+ { 0x68F3, 93691 },
+ { 0x2C26, 93695 },
+ { 0x2C2A, 93699 },
+ { 0x2C28, 93703 },
+ { 0x68EC, 93707 },
+ { 0x67CE, 93711 },
+ { 0x2C3F, 93715 },
+ { 0x2C40, 93719 },
+ { 0x2C3E, 93722 },
{ 0x230F, 93725 },
- { 0x7BC2, 93727 },
- { 0x7B8A, 93728 },
- { 0x81B7, 93729 },
- { 0x45E5, 93730 },
- { 0x45F1, 93734 },
- { 0x45ED, 93738 },
- { 0x45EE, 93742 },
- { 0x45F6, 93746 },
- { 0x45E6, 93750 },
- { 0x45F0, 93754 },
- { 0x45E2, 93758 },
- { 0x45E8, 93762 },
- { 0x45EB, 93766 },
- { 0x45F3, 93770 },
- { 0x45F4, 93774 },
- { 0x45F5, 93778 },
- { 0x45E9, 93782 },
- { 0x45EA, 93786 },
- { 0x45E1, 93790 },
- { 0x45E3, 93794 },
- { 0x45F2, 93798 },
- { 0x45E7, 93802 },
- { 0x45E4, 93806 },
- { 0x45EC, 93810 },
- { 0x45EF, 93814 },
- { 0x45F8, 93818 },
- { 0x45FD, 93822 },
- { 0x45FE, 93827 },
- { 0x45FB, 93832 },
- { 0x45FF, 93836 },
- { 0x45F9, 93841 },
- { 0x45FA, 93845 },
- { 0x45FC, 93849 },
- { 0x45F7, 93853 },
- { 0x7C8D, 93857 },
- { 0x7D7F, 93859 },
+ { 0x7BC7, 93727 },
+ { 0x7B8F, 93728 },
+ { 0x81BC, 93729 },
+ { 0x45EA, 93730 },
+ { 0x45F6, 93734 },
+ { 0x45F2, 93738 },
+ { 0x45F3, 93742 },
+ { 0x45FB, 93746 },
+ { 0x45EB, 93750 },
+ { 0x45F5, 93754 },
+ { 0x45E7, 93758 },
+ { 0x45ED, 93762 },
+ { 0x45F0, 93766 },
+ { 0x45F8, 93770 },
+ { 0x45F9, 93774 },
+ { 0x45FA, 93778 },
+ { 0x45EE, 93782 },
+ { 0x45EF, 93786 },
+ { 0x45E6, 93790 },
+ { 0x45E8, 93794 },
+ { 0x45F7, 93798 },
+ { 0x45EC, 93802 },
+ { 0x45E9, 93806 },
+ { 0x45F1, 93810 },
+ { 0x45F4, 93814 },
+ { 0x45FD, 93818 },
+ { 0x4602, 93822 },
+ { 0x4603, 93827 },
+ { 0x4600, 93832 },
+ { 0x4604, 93836 },
+ { 0x45FE, 93841 },
+ { 0x45FF, 93845 },
+ { 0x4601, 93849 },
+ { 0x45FC, 93853 },
+ { 0x7C92, 93857 },
+ { 0x7D84, 93859 },
{ 0x1E6F, 93863 },
{ 0x2601, 93864 },
{ 0x1E7C, 93869 },
@@ -71815,309 +71822,309 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0060, 93931 },
{ 0x2A05, 93934 },
{ 0x231E, 93936 },
- { 0x7C1E, 93939 },
- { 0x7B88, 93941 },
- { 0x7B33, 93944 },
- { 0x7B94, 93946 },
- { 0x7C1F, 93948 },
- { 0x7CD5, 93950 },
- { 0x2BA4, 93954 },
- { 0x3916, 93958 },
- { 0x391F, 93961 },
- { 0x3920, 93964 },
- { 0x3918, 93968 },
- { 0x391A, 93971 },
- { 0x3919, 93974 },
- { 0x392E, 93977 },
- { 0x391B, 93981 },
- { 0x391D, 93984 },
- { 0x391E, 93987 },
- { 0x391C, 93990 },
- { 0x3921, 93993 },
- { 0x392F, 93996 },
- { 0x38D6, 93999 },
- { 0x3908, 94002 },
- { 0x38D7, 94006 },
- { 0x38D8, 94009 },
- { 0x38D5, 94012 },
- { 0x3925, 94015 },
- { 0x392A, 94018 },
- { 0x3926, 94021 },
- { 0x3929, 94024 },
- { 0x3928, 94027 },
- { 0x392D, 94030 },
- { 0x3924, 94033 },
- { 0x392C, 94036 },
- { 0x392B, 94039 },
- { 0x3927, 94042 },
- { 0x3917, 94045 },
- { 0x390D, 94048 },
- { 0x390E, 94052 },
- { 0x390B, 94057 },
- { 0x390C, 94061 },
- { 0x3910, 94066 },
- { 0x3911, 94071 },
- { 0x390F, 94075 },
- { 0x3909, 94079 },
- { 0x390A, 94083 },
- { 0x38D9, 94087 },
- { 0x38E1, 94090 },
- { 0x38DB, 94093 },
- { 0x38DA, 94096 },
- { 0x38E3, 94100 },
- { 0x38DD, 94103 },
- { 0x38E2, 94106 },
- { 0x38FC, 94109 },
- { 0x38FD, 94112 },
- { 0x38EA, 94116 },
- { 0x38EB, 94119 },
- { 0x38F7, 94123 },
- { 0x38F8, 94126 },
- { 0x38E7, 94130 },
- { 0x38E8, 94133 },
- { 0x3907, 94137 },
- { 0x38DC, 94140 },
- { 0x38EC, 94143 },
- { 0x38EE, 94146 },
- { 0x38E4, 94150 },
- { 0x38E6, 94153 },
- { 0x38E5, 94157 },
- { 0x3902, 94161 },
- { 0x38FE, 94164 },
- { 0x38F9, 94167 },
- { 0x38F4, 94170 },
- { 0x38FA, 94174 },
- { 0x38DE, 94177 },
- { 0x38FB, 94181 },
- { 0x3900, 94185 },
- { 0x3901, 94188 },
- { 0x3906, 94192 },
- { 0x3904, 94195 },
- { 0x3905, 94199 },
- { 0x38F5, 94203 },
- { 0x38F6, 94206 },
- { 0x3903, 94210 },
- { 0x38FF, 94213 },
- { 0x38F2, 94216 },
- { 0x38F3, 94219 },
- { 0x38E9, 94223 },
- { 0x38DF, 94226 },
- { 0x38E0, 94230 },
- { 0x38EF, 94235 },
- { 0x38ED, 94238 },
- { 0x38F0, 94242 },
- { 0x38F1, 94245 },
- { 0x3922, 94249 },
- { 0x3915, 94253 },
- { 0x3914, 94255 },
- { 0x3912, 94259 },
- { 0x3913, 94263 },
- { 0x3923, 94267 },
- { 0x7D1E, 94269 },
- { 0x804D, 94270 },
- { 0x6DF2, 94271 },
- { 0x6DF7, 94274 },
- { 0x6DFB, 94277 },
- { 0x6DF3, 94280 },
- { 0x6DF6, 94283 },
- { 0x6DF5, 94286 },
- { 0x6DFA, 94289 },
- { 0x6DF1, 94292 },
- { 0x6DF9, 94295 },
- { 0x6DF8, 94298 },
- { 0x6DF4, 94301 },
- { 0x6DFC, 94304 },
- { 0x6DFD, 94307 },
- { 0x6E00, 94310 },
- { 0x6E01, 94313 },
- { 0x6E03, 94316 },
- { 0x6DFF, 94319 },
- { 0x6E04, 94322 },
- { 0x6DFE, 94325 },
- { 0x6E02, 94328 },
- { 0x80AC, 94331 },
- { 0x2C3F, 94332 },
- { 0x2C45, 94335 },
- { 0x2C41, 94338 },
- { 0x2C90, 94341 },
- { 0x2C47, 94344 },
- { 0x2C43, 94347 },
- { 0x2C6D, 94350 },
- { 0x2C76, 94353 },
- { 0x2C70, 94356 },
- { 0x2C79, 94359 },
- { 0x2C73, 94362 },
- { 0x2C5D, 94365 },
- { 0x2C64, 94368 },
- { 0x2C5F, 94371 },
- { 0x2C66, 94374 },
- { 0x2C62, 94377 },
- { 0x2C49, 94380 },
- { 0x2C4F, 94383 },
- { 0x2C4B, 94386 },
- { 0x2C51, 94389 },
- { 0x2C4D, 94392 },
- { 0x2C6C, 94395 },
- { 0x2C75, 94398 },
- { 0x2C6F, 94401 },
- { 0x2C78, 94404 },
- { 0x2C72, 94407 },
- { 0x2C48, 94410 },
- { 0x2C4E, 94413 },
- { 0x2C4A, 94416 },
- { 0x2C50, 94419 },
- { 0x2C4C, 94422 },
- { 0x2C7B, 94425 },
- { 0x2C7E, 94428 },
- { 0x2C7C, 94431 },
- { 0x2C7F, 94434 },
- { 0x2C7D, 94437 },
- { 0x2C67, 94440 },
- { 0x2C6A, 94443 },
- { 0x2C68, 94446 },
- { 0x2C6B, 94449 },
- { 0x2C69, 94452 },
- { 0x2C6E, 94455 },
- { 0x2C77, 94458 },
- { 0x2C71, 94461 },
- { 0x2C7A, 94464 },
- { 0x2C74, 94467 },
- { 0x2C86, 94470 },
- { 0x2C89, 94473 },
- { 0x2C87, 94476 },
- { 0x2C8A, 94479 },
- { 0x2C88, 94482 },
- { 0x2C52, 94485 },
- { 0x2C58, 94488 },
- { 0x2C54, 94491 },
- { 0x2C5A, 94494 },
- { 0x2C56, 94497 },
- { 0x2C5C, 94500 },
- { 0x2C63, 94503 },
- { 0x2C5E, 94506 },
- { 0x2C65, 94509 },
- { 0x2C61, 94512 },
- { 0x2C94, 94515 },
- { 0x2C96, 94518 },
- { 0x2C95, 94521 },
- { 0x2C97, 94524 },
- { 0x2C91, 94527 },
- { 0x2C8C, 94530 },
- { 0x2C8E, 94533 },
- { 0x2C8D, 94536 },
- { 0x2C8F, 94539 },
- { 0x2C81, 94542 },
- { 0x2C85, 94545 },
- { 0x2C83, 94548 },
- { 0x2C53, 94551 },
- { 0x2C59, 94554 },
- { 0x2C55, 94557 },
- { 0x2C5B, 94560 },
- { 0x2C57, 94563 },
- { 0x2C3E, 94566 },
- { 0x2C44, 94570 },
- { 0x2C40, 94574 },
- { 0x68F3, 94578 },
- { 0x2C46, 94582 },
- { 0x2C42, 94586 },
- { 0x2D7F, 94590 },
- { 0x2D82, 94594 },
- { 0x2D80, 94598 },
- { 0x2D83, 94602 },
- { 0x2D81, 94606 },
- { 0x2C92, 94610 },
- { 0x2C93, 94614 },
- { 0x68EF, 94618 },
- { 0x2D7A, 94622 },
- { 0x2D84, 94626 },
- { 0x2D7E, 94630 },
- { 0x2D85, 94634 },
- { 0x2D88, 94638 },
- { 0x2D86, 94642 },
- { 0x2D89, 94646 },
- { 0x2D87, 94650 },
- { 0x2D7B, 94654 },
- { 0x2D7C, 94658 },
- { 0x2D7D, 94662 },
- { 0x2C60, 94666 },
- { 0x2C8B, 94670 },
- { 0x68F1, 94674 },
- { 0x68F0, 94678 },
- { 0x68F2, 94682 },
- { 0x2C80, 94686 },
- { 0x2C84, 94690 },
- { 0x2C82, 94694 },
- { 0x67BB, 94698 },
- { 0x67BC, 94702 },
- { 0x67BD, 94706 },
- { 0x67BE, 94710 },
- { 0x67BF, 94714 },
- { 0x67C0, 94718 },
- { 0x67C1, 94722 },
- { 0x67C2, 94727 },
- { 0x67C3, 94732 },
- { 0x67C4, 94737 },
- { 0x67C5, 94742 },
- { 0x67C6, 94747 },
- { 0x67C7, 94752 },
- { 0x67C8, 94757 },
- { 0x68EA, 94761 },
- { 0x68E9, 94765 },
- { 0x68E8, 94769 },
- { 0x2C98, 94773 },
- { 0x2C9B, 94776 },
- { 0x2C9C, 94780 },
- { 0x2C9A, 94783 },
+ { 0x7C23, 93939 },
+ { 0x7B8D, 93941 },
+ { 0x7B38, 93944 },
+ { 0x7B99, 93946 },
+ { 0x7C24, 93948 },
+ { 0x7CDA, 93950 },
+ { 0x2BA8, 93954 },
+ { 0x391B, 93958 },
+ { 0x3924, 93961 },
+ { 0x3925, 93964 },
+ { 0x391D, 93968 },
+ { 0x391F, 93971 },
+ { 0x391E, 93974 },
+ { 0x3933, 93977 },
+ { 0x3920, 93981 },
+ { 0x3922, 93984 },
+ { 0x3923, 93987 },
+ { 0x3921, 93990 },
+ { 0x3926, 93993 },
+ { 0x3934, 93996 },
+ { 0x38DB, 93999 },
+ { 0x390D, 94002 },
+ { 0x38DC, 94006 },
+ { 0x38DD, 94009 },
+ { 0x38DA, 94012 },
+ { 0x392A, 94015 },
+ { 0x392F, 94018 },
+ { 0x392B, 94021 },
+ { 0x392E, 94024 },
+ { 0x392D, 94027 },
+ { 0x3932, 94030 },
+ { 0x3929, 94033 },
+ { 0x3931, 94036 },
+ { 0x3930, 94039 },
+ { 0x392C, 94042 },
+ { 0x391C, 94045 },
+ { 0x3912, 94048 },
+ { 0x3913, 94052 },
+ { 0x3910, 94057 },
+ { 0x3911, 94061 },
+ { 0x3915, 94066 },
+ { 0x3916, 94071 },
+ { 0x3914, 94075 },
+ { 0x390E, 94079 },
+ { 0x390F, 94083 },
+ { 0x38DE, 94087 },
+ { 0x38E6, 94090 },
+ { 0x38E0, 94093 },
+ { 0x38DF, 94096 },
+ { 0x38E8, 94100 },
+ { 0x38E2, 94103 },
+ { 0x38E7, 94106 },
+ { 0x3901, 94109 },
+ { 0x3902, 94112 },
+ { 0x38EF, 94116 },
+ { 0x38F0, 94119 },
+ { 0x38FC, 94123 },
+ { 0x38FD, 94126 },
+ { 0x38EC, 94130 },
+ { 0x38ED, 94133 },
+ { 0x390C, 94137 },
+ { 0x38E1, 94140 },
+ { 0x38F1, 94143 },
+ { 0x38F3, 94146 },
+ { 0x38E9, 94150 },
+ { 0x38EB, 94153 },
+ { 0x38EA, 94157 },
+ { 0x3907, 94161 },
+ { 0x3903, 94164 },
+ { 0x38FE, 94167 },
+ { 0x38F9, 94170 },
+ { 0x38FF, 94174 },
+ { 0x38E3, 94177 },
+ { 0x3900, 94181 },
+ { 0x3905, 94185 },
+ { 0x3906, 94188 },
+ { 0x390B, 94192 },
+ { 0x3909, 94195 },
+ { 0x390A, 94199 },
+ { 0x38FA, 94203 },
+ { 0x38FB, 94206 },
+ { 0x3908, 94210 },
+ { 0x3904, 94213 },
+ { 0x38F7, 94216 },
+ { 0x38F8, 94219 },
+ { 0x38EE, 94223 },
+ { 0x38E4, 94226 },
+ { 0x38E5, 94230 },
+ { 0x38F4, 94235 },
+ { 0x38F2, 94238 },
+ { 0x38F5, 94242 },
+ { 0x38F6, 94245 },
+ { 0x3927, 94249 },
+ { 0x391A, 94253 },
+ { 0x3919, 94255 },
+ { 0x3917, 94259 },
+ { 0x3918, 94263 },
+ { 0x3928, 94267 },
+ { 0x7D23, 94269 },
+ { 0x8052, 94270 },
+ { 0x6DF7, 94271 },
+ { 0x6DFC, 94274 },
+ { 0x6E00, 94277 },
+ { 0x6DF8, 94280 },
+ { 0x6DFB, 94283 },
+ { 0x6DFA, 94286 },
+ { 0x6DFF, 94289 },
+ { 0x6DF6, 94292 },
+ { 0x6DFE, 94295 },
+ { 0x6DFD, 94298 },
+ { 0x6DF9, 94301 },
+ { 0x6E01, 94304 },
+ { 0x6E02, 94307 },
+ { 0x6E05, 94310 },
+ { 0x6E06, 94313 },
+ { 0x6E08, 94316 },
+ { 0x6E04, 94319 },
+ { 0x6E09, 94322 },
+ { 0x6E03, 94325 },
+ { 0x6E07, 94328 },
+ { 0x80B1, 94331 },
+ { 0x2C43, 94332 },
+ { 0x2C49, 94335 },
+ { 0x2C45, 94338 },
+ { 0x2C94, 94341 },
+ { 0x2C4B, 94344 },
+ { 0x2C47, 94347 },
+ { 0x2C71, 94350 },
+ { 0x2C7A, 94353 },
+ { 0x2C74, 94356 },
+ { 0x2C7D, 94359 },
+ { 0x2C77, 94362 },
+ { 0x2C61, 94365 },
+ { 0x2C68, 94368 },
+ { 0x2C63, 94371 },
+ { 0x2C6A, 94374 },
+ { 0x2C66, 94377 },
+ { 0x2C4D, 94380 },
+ { 0x2C53, 94383 },
+ { 0x2C4F, 94386 },
+ { 0x2C55, 94389 },
+ { 0x2C51, 94392 },
+ { 0x2C70, 94395 },
+ { 0x2C79, 94398 },
+ { 0x2C73, 94401 },
+ { 0x2C7C, 94404 },
+ { 0x2C76, 94407 },
+ { 0x2C4C, 94410 },
+ { 0x2C52, 94413 },
+ { 0x2C4E, 94416 },
+ { 0x2C54, 94419 },
+ { 0x2C50, 94422 },
+ { 0x2C7F, 94425 },
+ { 0x2C82, 94428 },
+ { 0x2C80, 94431 },
+ { 0x2C83, 94434 },
+ { 0x2C81, 94437 },
+ { 0x2C6B, 94440 },
+ { 0x2C6E, 94443 },
+ { 0x2C6C, 94446 },
+ { 0x2C6F, 94449 },
+ { 0x2C6D, 94452 },
+ { 0x2C72, 94455 },
+ { 0x2C7B, 94458 },
+ { 0x2C75, 94461 },
+ { 0x2C7E, 94464 },
+ { 0x2C78, 94467 },
+ { 0x2C8A, 94470 },
+ { 0x2C8D, 94473 },
+ { 0x2C8B, 94476 },
+ { 0x2C8E, 94479 },
+ { 0x2C8C, 94482 },
+ { 0x2C56, 94485 },
+ { 0x2C5C, 94488 },
+ { 0x2C58, 94491 },
+ { 0x2C5E, 94494 },
+ { 0x2C5A, 94497 },
+ { 0x2C60, 94500 },
+ { 0x2C67, 94503 },
+ { 0x2C62, 94506 },
+ { 0x2C69, 94509 },
+ { 0x2C65, 94512 },
+ { 0x2C98, 94515 },
+ { 0x2C9A, 94518 },
+ { 0x2C99, 94521 },
+ { 0x2C9B, 94524 },
+ { 0x2C95, 94527 },
+ { 0x2C90, 94530 },
+ { 0x2C92, 94533 },
+ { 0x2C91, 94536 },
+ { 0x2C93, 94539 },
+ { 0x2C85, 94542 },
+ { 0x2C89, 94545 },
+ { 0x2C87, 94548 },
+ { 0x2C57, 94551 },
+ { 0x2C5D, 94554 },
+ { 0x2C59, 94557 },
+ { 0x2C5F, 94560 },
+ { 0x2C5B, 94563 },
+ { 0x2C42, 94566 },
+ { 0x2C48, 94570 },
+ { 0x2C44, 94574 },
+ { 0x68F8, 94578 },
+ { 0x2C4A, 94582 },
+ { 0x2C46, 94586 },
+ { 0x2D84, 94590 },
+ { 0x2D87, 94594 },
+ { 0x2D85, 94598 },
+ { 0x2D88, 94602 },
+ { 0x2D86, 94606 },
+ { 0x2C96, 94610 },
+ { 0x2C97, 94614 },
+ { 0x68F4, 94618 },
+ { 0x2D7F, 94622 },
+ { 0x2D89, 94626 },
+ { 0x2D83, 94630 },
+ { 0x2D8A, 94634 },
+ { 0x2D8D, 94638 },
+ { 0x2D8B, 94642 },
+ { 0x2D8E, 94646 },
+ { 0x2D8C, 94650 },
+ { 0x2D80, 94654 },
+ { 0x2D81, 94658 },
+ { 0x2D82, 94662 },
+ { 0x2C64, 94666 },
+ { 0x2C8F, 94670 },
+ { 0x68F6, 94674 },
+ { 0x68F5, 94678 },
+ { 0x68F7, 94682 },
+ { 0x2C84, 94686 },
+ { 0x2C88, 94690 },
+ { 0x2C86, 94694 },
+ { 0x67C0, 94698 },
+ { 0x67C1, 94702 },
+ { 0x67C2, 94706 },
+ { 0x67C3, 94710 },
+ { 0x67C4, 94714 },
+ { 0x67C5, 94718 },
+ { 0x67C6, 94722 },
+ { 0x67C7, 94727 },
+ { 0x67C8, 94732 },
+ { 0x67C9, 94737 },
+ { 0x67CA, 94742 },
+ { 0x67CB, 94747 },
+ { 0x67CC, 94752 },
+ { 0x67CD, 94757 },
+ { 0x68EF, 94761 },
+ { 0x68EE, 94765 },
+ { 0x68ED, 94769 },
+ { 0x2C9C, 94773 },
+ { 0x2C9F, 94776 },
+ { 0x2CA0, 94780 },
+ { 0x2C9E, 94783 },
{ 0x1F79, 94786 },
- { 0x7D4B, 94787 },
- { 0x80E2, 94790 },
- { 0x8061, 94792 },
- { 0x82B5, 94796 },
- { 0x7E17, 94798 },
- { 0x7C29, 94802 },
- { 0x7B12, 94803 },
- { 0x4B79, 94804 },
- { 0x4B56, 94807 },
- { 0x4B59, 94810 },
- { 0x4B57, 94813 },
- { 0x4B5A, 94816 },
- { 0x4B58, 94819 },
- { 0x4B70, 94822 },
- { 0x4B5F, 94825 },
- { 0x4B6B, 94828 },
- { 0x4B5D, 94831 },
- { 0x4B77, 94834 },
- { 0x4B61, 94837 },
- { 0x4B5B, 94840 },
- { 0x4B74, 94843 },
- { 0x4B72, 94846 },
- { 0x4B6D, 94849 },
- { 0x4B6E, 94852 },
- { 0x4B73, 94855 },
- { 0x4B76, 94858 },
- { 0x4B69, 94861 },
- { 0x4B75, 94864 },
- { 0x4B71, 94867 },
- { 0x4B60, 94870 },
- { 0x4B66, 94873 },
- { 0x4B6C, 94876 },
- { 0x4B5E, 94879 },
- { 0x4B62, 94882 },
- { 0x4B5C, 94885 },
- { 0x4B68, 94888 },
- { 0x4B63, 94891 },
- { 0x4B6F, 94894 },
- { 0x4B78, 94897 },
- { 0x4B6A, 94900 },
- { 0x4B64, 94903 },
- { 0x4B67, 94906 },
- { 0x4B65, 94909 },
- { 0x4B7B, 94912 },
- { 0x4B7C, 94915 },
- { 0x4B7A, 94918 },
- { 0x7F13, 94921 },
+ { 0x7D50, 94787 },
+ { 0x80E7, 94790 },
+ { 0x8066, 94792 },
+ { 0x82BA, 94796 },
+ { 0x7E1C, 94798 },
+ { 0x7C2E, 94802 },
+ { 0x7B17, 94803 },
+ { 0x4B7E, 94804 },
+ { 0x4B5B, 94807 },
+ { 0x4B5E, 94810 },
+ { 0x4B5C, 94813 },
+ { 0x4B5F, 94816 },
+ { 0x4B5D, 94819 },
+ { 0x4B75, 94822 },
+ { 0x4B64, 94825 },
+ { 0x4B70, 94828 },
+ { 0x4B62, 94831 },
+ { 0x4B7C, 94834 },
+ { 0x4B66, 94837 },
+ { 0x4B60, 94840 },
+ { 0x4B79, 94843 },
+ { 0x4B77, 94846 },
+ { 0x4B72, 94849 },
+ { 0x4B73, 94852 },
+ { 0x4B78, 94855 },
+ { 0x4B7B, 94858 },
+ { 0x4B6E, 94861 },
+ { 0x4B7A, 94864 },
+ { 0x4B76, 94867 },
+ { 0x4B65, 94870 },
+ { 0x4B6B, 94873 },
+ { 0x4B71, 94876 },
+ { 0x4B63, 94879 },
+ { 0x4B67, 94882 },
+ { 0x4B61, 94885 },
+ { 0x4B6D, 94888 },
+ { 0x4B68, 94891 },
+ { 0x4B74, 94894 },
+ { 0x4B7D, 94897 },
+ { 0x4B6F, 94900 },
+ { 0x4B69, 94903 },
+ { 0x4B6C, 94906 },
+ { 0x4B6A, 94909 },
+ { 0x4B80, 94912 },
+ { 0x4B81, 94915 },
+ { 0x4B7F, 94918 },
+ { 0x7F18, 94921 },
{ 0x22D0, 94922 },
- { 0x7D7B, 94924 },
+ { 0x7D80, 94924 },
{ 0x1EAF, 94925 },
{ 0x1E72, 94927 },
{ 0x25CC, 94929 },
@@ -72133,128 +72140,128 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2A39, 95034 },
{ 0x2A41, 95036 },
{ 0x2A40, 95039 },
- { 0x46BA, 95042 },
- { 0x46BB, 95046 },
- { 0x46BC, 95050 },
- { 0x46BD, 95054 },
- { 0x46C0, 95058 },
- { 0x46D1, 95062 },
- { 0x46CC, 95066 },
- { 0x46C6, 95070 },
- { 0x46C2, 95074 },
- { 0x46C3, 95078 },
- { 0x46C4, 95082 },
- { 0x46C1, 95086 },
- { 0x46CD, 95090 },
- { 0x46C5, 95094 },
- { 0x46C9, 95098 },
- { 0x46CB, 95102 },
- { 0x46CE, 95106 },
- { 0x46CF, 95110 },
- { 0x46D0, 95114 },
- { 0x46BF, 95118 },
- { 0x46BE, 95122 },
- { 0x46C8, 95126 },
- { 0x46C7, 95130 },
- { 0x46CA, 95134 },
- { 0x46D6, 95139 },
- { 0x46E6, 95143 },
- { 0x4701, 95148 },
- { 0x46EF, 95154 },
- { 0x46DB, 95159 },
- { 0x46EB, 95163 },
- { 0x4706, 95168 },
- { 0x46F4, 95174 },
- { 0x46DF, 95179 },
- { 0x46F8, 95183 },
- { 0x46D7, 95188 },
- { 0x46E7, 95192 },
- { 0x4702, 95197 },
- { 0x46F0, 95203 },
- { 0x46DA, 95208 },
- { 0x46EA, 95212 },
- { 0x4705, 95217 },
- { 0x46F3, 95223 },
- { 0x46D9, 95228 },
- { 0x46E9, 95232 },
- { 0x4704, 95237 },
- { 0x46F2, 95243 },
- { 0x46DE, 95248 },
- { 0x46EE, 95252 },
- { 0x4709, 95257 },
- { 0x46F7, 95263 },
- { 0x46DD, 95268 },
- { 0x46ED, 95272 },
- { 0x4708, 95277 },
- { 0x46F6, 95283 },
- { 0x46E3, 95288 },
- { 0x46FC, 95292 },
- { 0x46E2, 95297 },
- { 0x46FB, 95301 },
- { 0x46DC, 95306 },
- { 0x46EC, 95310 },
- { 0x4707, 95315 },
- { 0x46F5, 95321 },
- { 0x46E4, 95326 },
- { 0x46FD, 95330 },
- { 0x46D8, 95335 },
- { 0x46E8, 95339 },
- { 0x4703, 95344 },
- { 0x46F1, 95350 },
- { 0x46FF, 95355 },
- { 0x4700, 95360 },
- { 0x46E1, 95365 },
- { 0x46FA, 95369 },
- { 0x46E0, 95374 },
- { 0x46F9, 95378 },
- { 0x46E5, 95383 },
- { 0x46FE, 95387 },
- { 0x46D3, 95392 },
- { 0x470A, 95397 },
- { 0x470F, 95402 },
- { 0x4713, 95407 },
- { 0x470B, 95412 },
- { 0x470E, 95417 },
- { 0x470D, 95422 },
- { 0x4712, 95427 },
- { 0x4711, 95432 },
- { 0x4710, 95437 },
- { 0x470C, 95442 },
- { 0x46D2, 95447 },
- { 0x46D5, 95452 },
- { 0x46D4, 95456 },
- { 0x469A, 95460 },
- { 0x469B, 95464 },
- { 0x469C, 95468 },
- { 0x469D, 95472 },
- { 0x46A0, 95476 },
- { 0x46B7, 95480 },
- { 0x46B0, 95484 },
- { 0x46AA, 95488 },
- { 0x46A3, 95492 },
- { 0x46A4, 95496 },
- { 0x46A6, 95500 },
- { 0x46A2, 95504 },
- { 0x46B1, 95508 },
- { 0x46A8, 95512 },
- { 0x46AD, 95516 },
- { 0x46AF, 95520 },
- { 0x46B2, 95524 },
- { 0x46B4, 95528 },
- { 0x46B6, 95532 },
- { 0x469F, 95536 },
- { 0x469E, 95540 },
- { 0x46AC, 95544 },
- { 0x46AB, 95548 },
- { 0x46A1, 95552 },
- { 0x46A5, 95556 },
- { 0x46A7, 95560 },
- { 0x46A9, 95564 },
- { 0x46AE, 95568 },
- { 0x46B3, 95572 },
- { 0x46B5, 95576 },
- { 0x46B8, 95580 },
- { 0x46B9, 95584 },
+ { 0x46BF, 95042 },
+ { 0x46C0, 95046 },
+ { 0x46C1, 95050 },
+ { 0x46C2, 95054 },
+ { 0x46C5, 95058 },
+ { 0x46D6, 95062 },
+ { 0x46D1, 95066 },
+ { 0x46CB, 95070 },
+ { 0x46C7, 95074 },
+ { 0x46C8, 95078 },
+ { 0x46C9, 95082 },
+ { 0x46C6, 95086 },
+ { 0x46D2, 95090 },
+ { 0x46CA, 95094 },
+ { 0x46CE, 95098 },
+ { 0x46D0, 95102 },
+ { 0x46D3, 95106 },
+ { 0x46D4, 95110 },
+ { 0x46D5, 95114 },
+ { 0x46C4, 95118 },
+ { 0x46C3, 95122 },
+ { 0x46CD, 95126 },
+ { 0x46CC, 95130 },
+ { 0x46CF, 95134 },
+ { 0x46DB, 95139 },
+ { 0x46EB, 95143 },
+ { 0x4706, 95148 },
+ { 0x46F4, 95154 },
+ { 0x46E0, 95159 },
+ { 0x46F0, 95163 },
+ { 0x470B, 95168 },
+ { 0x46F9, 95174 },
+ { 0x46E4, 95179 },
+ { 0x46FD, 95183 },
+ { 0x46DC, 95188 },
+ { 0x46EC, 95192 },
+ { 0x4707, 95197 },
+ { 0x46F5, 95203 },
+ { 0x46DF, 95208 },
+ { 0x46EF, 95212 },
+ { 0x470A, 95217 },
+ { 0x46F8, 95223 },
+ { 0x46DE, 95228 },
+ { 0x46EE, 95232 },
+ { 0x4709, 95237 },
+ { 0x46F7, 95243 },
+ { 0x46E3, 95248 },
+ { 0x46F3, 95252 },
+ { 0x470E, 95257 },
+ { 0x46FC, 95263 },
+ { 0x46E2, 95268 },
+ { 0x46F2, 95272 },
+ { 0x470D, 95277 },
+ { 0x46FB, 95283 },
+ { 0x46E8, 95288 },
+ { 0x4701, 95292 },
+ { 0x46E7, 95297 },
+ { 0x4700, 95301 },
+ { 0x46E1, 95306 },
+ { 0x46F1, 95310 },
+ { 0x470C, 95315 },
+ { 0x46FA, 95321 },
+ { 0x46E9, 95326 },
+ { 0x4702, 95330 },
+ { 0x46DD, 95335 },
+ { 0x46ED, 95339 },
+ { 0x4708, 95344 },
+ { 0x46F6, 95350 },
+ { 0x4704, 95355 },
+ { 0x4705, 95360 },
+ { 0x46E6, 95365 },
+ { 0x46FF, 95369 },
+ { 0x46E5, 95374 },
+ { 0x46FE, 95378 },
+ { 0x46EA, 95383 },
+ { 0x4703, 95387 },
+ { 0x46D8, 95392 },
+ { 0x470F, 95397 },
+ { 0x4714, 95402 },
+ { 0x4718, 95407 },
+ { 0x4710, 95412 },
+ { 0x4713, 95417 },
+ { 0x4712, 95422 },
+ { 0x4717, 95427 },
+ { 0x4716, 95432 },
+ { 0x4715, 95437 },
+ { 0x4711, 95442 },
+ { 0x46D7, 95447 },
+ { 0x46DA, 95452 },
+ { 0x46D9, 95456 },
+ { 0x469F, 95460 },
+ { 0x46A0, 95464 },
+ { 0x46A1, 95468 },
+ { 0x46A2, 95472 },
+ { 0x46A5, 95476 },
+ { 0x46BC, 95480 },
+ { 0x46B5, 95484 },
+ { 0x46AF, 95488 },
+ { 0x46A8, 95492 },
+ { 0x46A9, 95496 },
+ { 0x46AB, 95500 },
+ { 0x46A7, 95504 },
+ { 0x46B6, 95508 },
+ { 0x46AD, 95512 },
+ { 0x46B2, 95516 },
+ { 0x46B4, 95520 },
+ { 0x46B7, 95524 },
+ { 0x46B9, 95528 },
+ { 0x46BB, 95532 },
+ { 0x46A4, 95536 },
+ { 0x46A3, 95540 },
+ { 0x46B1, 95544 },
+ { 0x46B0, 95548 },
+ { 0x46A6, 95552 },
+ { 0x46AA, 95556 },
+ { 0x46AC, 95560 },
+ { 0x46AE, 95564 },
+ { 0x46B3, 95568 },
+ { 0x46B8, 95572 },
+ { 0x46BA, 95576 },
+ { 0x46BD, 95580 },
+ { 0x46BE, 95584 },
{ 0x2026, 95588 },
{ 0x2027, 95593 },
{ 0x2025, 95597 },
@@ -72264,17 +72271,17 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2028, 95612 },
{ 0x202A, 95614 },
{ 0x2029, 95616 },
- { 0x7B3B, 95618 },
- { 0x8192, 95620 },
- { 0x7C62, 95622 },
- { 0x7D7A, 95623 },
- { 0x3A6C, 95624 },
+ { 0x7B40, 95618 },
+ { 0x8197, 95620 },
+ { 0x7C67, 95622 },
+ { 0x7D7F, 95623 },
+ { 0x3A71, 95624 },
{ 0x0293, 95629 },
{ 0x0283, 95633 },
- { 0x3711, 95637 },
- { 0x36B9, 95640 },
- { 0x36B8, 95644 },
- { 0x36BA, 95649 },
+ { 0x3716, 95637 },
+ { 0x36BE, 95640 },
+ { 0x36BD, 95644 },
+ { 0x36BF, 95649 },
{ 0x02BB, 95654 },
{ 0x02B9, 95659 },
{ 0x02AF, 95664 },
@@ -72287,27 +72294,27 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x028D, 95698 },
{ 0x02B1, 95703 },
{ 0x02B6, 95708 },
- { 0x36AC, 95712 },
- { 0x36B1, 95718 },
+ { 0x36B1, 95712 },
+ { 0x36B6, 95718 },
{ 0x028C, 95725 },
- { 0x36C0, 95729 },
+ { 0x36C5, 95729 },
{ 0x028B, 95735 },
- { 0x36B6, 95740 },
- { 0x3729, 95746 },
+ { 0x36BB, 95740 },
+ { 0x372E, 95746 },
{ 0x02A6, 95751 },
- { 0x36AB, 95756 },
- { 0x36B0, 95762 },
- { 0x36B5, 95769 },
+ { 0x36B0, 95756 },
+ { 0x36B5, 95762 },
+ { 0x36BA, 95769 },
{ 0x02A9, 95775 },
{ 0x0294, 95781 },
{ 0x0284, 95785 },
{ 0x0290, 95789 },
{ 0x02A5, 95794 },
- { 0x36AA, 95799 },
- { 0x36AF, 95805 },
- { 0x36B4, 95812 },
+ { 0x36AF, 95799 },
+ { 0x36B4, 95805 },
+ { 0x36B9, 95812 },
{ 0x027E, 95818 },
- { 0x3A7B, 95823 },
+ { 0x3A80, 95823 },
{ 0x0281, 95827 },
{ 0x02BD, 95831 },
{ 0x0295, 95835 },
@@ -72315,82 +72322,82 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0289, 95845 },
{ 0x02BA, 95849 },
{ 0x02B8, 95854 },
- { 0x372A, 95859 },
+ { 0x372F, 95859 },
{ 0x029E, 95862 },
{ 0x028A, 95866 },
- { 0x36BB, 95870 },
+ { 0x36C0, 95870 },
{ 0x0296, 95876 },
{ 0x0278, 95880 },
{ 0x027D, 95883 },
- { 0x3A7C, 95888 },
+ { 0x3A81, 95888 },
{ 0x0282, 95892 },
{ 0x02BC, 95896 },
- { 0x372B, 95899 },
+ { 0x3730, 95899 },
{ 0x19D4, 95904 },
{ 0x19D8, 95908 },
- { 0x4576, 95912 },
+ { 0x457B, 95912 },
{ 0x1A2D, 95918 },
{ 0x1A2E, 95922 },
{ 0x19D9, 95928 },
- { 0x457C, 95932 },
- { 0x457D, 95938 },
- { 0x457B, 95946 },
+ { 0x4581, 95932 },
+ { 0x4582, 95938 },
+ { 0x4580, 95946 },
{ 0x19DA, 95952 },
{ 0x1A31, 95956 },
{ 0x19DE, 95960 },
- { 0x4583, 95964 },
+ { 0x4588, 95964 },
{ 0x026F, 95970 },
{ 0x0270, 95974 },
- { 0x4585, 95980 },
+ { 0x458A, 95980 },
{ 0x1A35, 95986 },
{ 0x0271, 95992 },
{ 0x1A39, 95996 },
{ 0x19E0, 96002 },
{ 0x02A0, 96006 },
- { 0x458B, 96010 },
- { 0x3A6F, 96016 },
+ { 0x4590, 96010 },
+ { 0x3A74, 96016 },
{ 0x1A3B, 96023 },
- { 0x3A6E, 96030 },
+ { 0x3A73, 96030 },
{ 0x1A3A, 96038 },
- { 0x458D, 96045 },
+ { 0x4592, 96045 },
{ 0x19E1, 96054 },
{ 0x1A3D, 96058 },
{ 0x1A3F, 96064 },
{ 0x1A40, 96071 },
{ 0x19E3, 96078 },
- { 0x4592, 96082 },
+ { 0x4597, 96082 },
{ 0x19E7, 96088 },
- { 0x4595, 96092 },
+ { 0x459A, 96092 },
{ 0x0272, 96096 },
- { 0x4598, 96100 },
- { 0x4599, 96106 },
+ { 0x459D, 96100 },
+ { 0x459E, 96106 },
{ 0x02A1, 96112 },
- { 0x45A9, 96116 },
+ { 0x45AE, 96116 },
{ 0x1A44, 96122 },
{ 0x19E8, 96128 },
{ 0x1A46, 96132 },
- { 0x459F, 96139 },
+ { 0x45A4, 96139 },
{ 0x19E9, 96146 },
{ 0x1A47, 96150 },
- { 0x3A70, 96155 },
+ { 0x3A75, 96155 },
{ 0x19EC, 96162 },
{ 0x1A4A, 96166 },
- { 0x45A0, 96172 },
+ { 0x45A5, 96172 },
{ 0x0276, 96179 },
{ 0x02A2, 96183 },
{ 0x0277, 96187 },
{ 0x1A4C, 96191 },
{ 0x1A4E, 96195 },
{ 0x1A4D, 96201 },
- { 0x4574, 96208 },
- { 0x4577, 96212 },
- { 0x4579, 96217 },
- { 0x4578, 96224 },
- { 0x4589, 96232 },
- { 0x458A, 96237 },
- { 0x459B, 96242 },
- { 0x459C, 96249 },
- { 0x459D, 96254 },
+ { 0x4579, 96208 },
+ { 0x457C, 96212 },
+ { 0x457E, 96217 },
+ { 0x457D, 96224 },
+ { 0x458E, 96232 },
+ { 0x458F, 96237 },
+ { 0x45A0, 96242 },
+ { 0x45A1, 96249 },
+ { 0x45A2, 96254 },
{ 0x19ED, 96262 },
{ 0x19F2, 96266 },
{ 0x19E2, 96270 },
@@ -72400,17 +72407,17 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A43, 96286 },
{ 0x19E5, 96290 },
{ 0x19EE, 96296 },
- { 0x457A, 96300 },
- { 0x4580, 96305 },
- { 0x3A6D, 96310 },
- { 0x4587, 96314 },
+ { 0x457F, 96300 },
+ { 0x4585, 96305 },
+ { 0x3A72, 96310 },
+ { 0x458C, 96314 },
{ 0x1A36, 96320 },
- { 0x458E, 96324 },
- { 0x458F, 96328 },
+ { 0x4593, 96324 },
+ { 0x4594, 96328 },
{ 0x19DC, 96335 },
{ 0x19E4, 96340 },
- { 0x4581, 96345 },
- { 0x459E, 96350 },
+ { 0x4586, 96345 },
+ { 0x45A3, 96350 },
{ 0x19D6, 96355 },
{ 0x19F0, 96359 },
{ 0x029F, 96363 },
@@ -72420,8 +72427,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A50, 96381 },
{ 0x1A42, 96385 },
{ 0x19E6, 96390 },
- { 0x4594, 96396 },
- { 0x457F, 96401 },
+ { 0x4599, 96396 },
+ { 0x4584, 96401 },
{ 0x1A33, 96408 },
{ 0x19D5, 96413 },
{ 0x1A34, 96418 },
@@ -72430,63 +72437,63 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A3E, 96433 },
{ 0x0273, 96441 },
{ 0x0274, 96446 },
- { 0x4596, 96453 },
- { 0x4597, 96461 },
+ { 0x459B, 96453 },
+ { 0x459C, 96461 },
{ 0x1A4B, 96472 },
- { 0x3A7A, 96477 },
- { 0x4590, 96482 },
- { 0x4591, 96487 },
+ { 0x3A7F, 96477 },
+ { 0x4595, 96482 },
+ { 0x4596, 96487 },
{ 0x19D7, 96494 },
{ 0x19DD, 96499 },
{ 0x1A2C, 96505 },
- { 0x4575, 96510 },
- { 0x4582, 96515 },
- { 0x4584, 96520 },
- { 0x4586, 96527 },
+ { 0x457A, 96510 },
+ { 0x4587, 96515 },
+ { 0x4589, 96520 },
+ { 0x458B, 96527 },
{ 0x1A37, 96532 },
{ 0x1A38, 96537 },
{ 0x1A3C, 96544 },
- { 0x458C, 96549 },
+ { 0x4591, 96549 },
{ 0x1A41, 96556 },
- { 0x459A, 96561 },
+ { 0x459F, 96561 },
{ 0x1A49, 96566 },
- { 0x45A1, 96571 },
- { 0x4571, 96576 },
- { 0x4593, 96581 },
+ { 0x45A6, 96571 },
+ { 0x4576, 96576 },
+ { 0x4598, 96581 },
{ 0x0275, 96586 },
{ 0x1A32, 96592 },
- { 0x4588, 96599 },
+ { 0x458D, 96599 },
{ 0x1A48, 96608 },
- { 0x377B, 96612 },
- { 0x457E, 96617 },
+ { 0x3780, 96612 },
+ { 0x4583, 96617 },
{ 0x1A30, 96622 },
{ 0x02A3, 96628 },
{ 0x19EA, 96634 },
- { 0x45A5, 96639 },
+ { 0x45AA, 96639 },
{ 0x0279, 96643 },
{ 0x02AD, 96647 },
{ 0x0288, 96651 },
{ 0x02B3, 96654 },
{ 0x02B5, 96659 },
{ 0x02B4, 96665 },
- { 0x36BC, 96671 },
- { 0x36BD, 96676 },
+ { 0x36C1, 96671 },
+ { 0x36C2, 96676 },
{ 0x02B7, 96681 },
- { 0x36BF, 96685 },
- { 0x36BE, 96691 },
+ { 0x36C4, 96685 },
+ { 0x36C3, 96691 },
{ 0x029D, 96696 },
- { 0x36C2, 96700 },
- { 0x36C1, 96706 },
+ { 0x36C7, 96700 },
+ { 0x36C6, 96706 },
{ 0x027A, 96712 },
{ 0x19BD, 96716 },
{ 0x19BF, 96720 },
- { 0x3774, 96724 },
+ { 0x3779, 96724 },
{ 0x19C1, 96728 },
{ 0x19C2, 96732 },
- { 0x3775, 96736 },
+ { 0x377A, 96736 },
{ 0x19C4, 96740 },
{ 0x19C5, 96744 },
- { 0x377A, 96748 },
+ { 0x377F, 96748 },
{ 0x19C6, 96754 },
{ 0x19C7, 96758 },
{ 0x19C8, 96762 },
@@ -72495,7 +72502,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x19CB, 96774 },
{ 0x19CD, 96778 },
{ 0x19CF, 96782 },
- { 0x3776, 96786 },
+ { 0x377B, 96786 },
{ 0x19D0, 96790 },
{ 0x19D1, 96794 },
{ 0x19D2, 96798 },
@@ -72508,124 +72515,124 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x19CC, 96828 },
{ 0x0292, 96833 },
{ 0x0291, 96839 },
- { 0x36A5, 96845 },
- { 0x36A7, 96851 },
- { 0x36A1, 96857 },
- { 0x36A3, 96863 },
- { 0x36A6, 96869 },
- { 0x36A8, 96875 },
- { 0x36A2, 96881 },
- { 0x36A4, 96887 },
+ { 0x36AA, 96845 },
+ { 0x36AC, 96851 },
+ { 0x36A6, 96857 },
+ { 0x36A8, 96863 },
+ { 0x36AB, 96869 },
+ { 0x36AD, 96875 },
+ { 0x36A7, 96881 },
+ { 0x36A9, 96887 },
{ 0x027F, 96893 },
- { 0x45A2, 96897 },
- { 0x45A6, 96903 },
+ { 0x45A7, 96897 },
+ { 0x45AB, 96903 },
{ 0x02AB, 96907 },
- { 0x45A7, 96910 },
- { 0x45A4, 96914 },
+ { 0x45AC, 96910 },
+ { 0x45A9, 96914 },
{ 0x1A09, 96918 },
- { 0x3645, 96922 },
- { 0x3646, 96927 },
- { 0x7558, 96932 },
- { 0x7570, 96937 },
- { 0x7560, 96942 },
- { 0x7564, 96947 },
- { 0x7569, 96952 },
- { 0x7559, 96957 },
- { 0x755C, 96962 },
- { 0x756A, 96967 },
- { 0x7562, 96972 },
- { 0x7563, 96977 },
- { 0x7566, 96982 },
- { 0x7567, 96987 },
- { 0x7593, 96992 },
- { 0x756B, 96999 },
- { 0x755D, 97004 },
- { 0x7575, 97009 },
- { 0x7561, 97014 },
- { 0x7565, 97019 },
- { 0x7568, 97024 },
- { 0x755A, 97029 },
- { 0x7571, 97034 },
- { 0x755F, 97039 },
- { 0x756D, 97044 },
- { 0x755B, 97049 },
- { 0x756E, 97054 },
- { 0x756C, 97059 },
- { 0x755E, 97064 },
- { 0x7572, 97069 },
- { 0x756F, 97074 },
- { 0x7594, 97079 },
- { 0x7573, 97087 },
- { 0x7576, 97092 },
- { 0x7578, 97098 },
- { 0x7577, 97103 },
- { 0x7595, 97109 },
- { 0x7574, 97117 },
+ { 0x364A, 96922 },
+ { 0x364B, 96927 },
+ { 0x755D, 96932 },
+ { 0x7575, 96937 },
+ { 0x7565, 96942 },
+ { 0x7569, 96947 },
+ { 0x756E, 96952 },
+ { 0x755E, 96957 },
+ { 0x7561, 96962 },
+ { 0x756F, 96967 },
+ { 0x7567, 96972 },
+ { 0x7568, 96977 },
+ { 0x756B, 96982 },
+ { 0x756C, 96987 },
+ { 0x7598, 96992 },
+ { 0x7570, 96999 },
+ { 0x7562, 97004 },
+ { 0x757A, 97009 },
+ { 0x7566, 97014 },
+ { 0x756A, 97019 },
+ { 0x756D, 97024 },
+ { 0x755F, 97029 },
+ { 0x7576, 97034 },
+ { 0x7564, 97039 },
+ { 0x7572, 97044 },
+ { 0x7560, 97049 },
+ { 0x7573, 97054 },
+ { 0x7571, 97059 },
+ { 0x7563, 97064 },
+ { 0x7577, 97069 },
+ { 0x7574, 97074 },
+ { 0x7599, 97079 },
+ { 0x7578, 97087 },
+ { 0x757B, 97092 },
+ { 0x757D, 97098 },
+ { 0x757C, 97103 },
+ { 0x759A, 97109 },
+ { 0x7579, 97117 },
{ 0x0EA3, 97123 },
{ 0x027C, 97127 },
{ 0x0280, 97131 },
- { 0x45A3, 97136 },
+ { 0x45A8, 97136 },
{ 0x0287, 97143 },
{ 0x02A8, 97147 },
- { 0x36AD, 97152 },
- { 0x36B2, 97158 },
- { 0x36B7, 97165 },
- { 0x45A8, 97171 },
+ { 0x36B2, 97152 },
+ { 0x36B7, 97158 },
+ { 0x36BC, 97165 },
+ { 0x45AD, 97171 },
{ 0x027B, 97178 },
{ 0x0285, 97181 },
{ 0x02A4, 97185 },
- { 0x36A9, 97190 },
- { 0x36AE, 97196 },
- { 0x36B3, 97203 },
+ { 0x36AE, 97190 },
+ { 0x36B3, 97196 },
+ { 0x36B8, 97203 },
{ 0x028F, 97209 },
- { 0x4573, 97213 },
- { 0x4572, 97219 },
+ { 0x4578, 97213 },
+ { 0x4577, 97219 },
{ 0x02AC, 97224 },
{ 0x22AE, 97227 },
{ 0x22AD, 97230 },
- { 0x6E19, 97233 },
- { 0x7E42, 97236 },
- { 0x80B3, 97237 },
- { 0x7E84, 97238 },
+ { 0x6E1E, 97233 },
+ { 0x7E47, 97236 },
+ { 0x80B8, 97237 },
+ { 0x7E89, 97238 },
{ 0x2313, 97239 },
- { 0x7E43, 97240 },
- { 0x7E45, 97242 },
- { 0x7E5A, 97244 },
+ { 0x7E48, 97240 },
+ { 0x7E4A, 97242 },
+ { 0x7E5F, 97244 },
{ 0x1F09, 97246 },
- { 0x7B5B, 97247 },
+ { 0x7B60, 97247 },
{ 0x1EDD, 97250 },
{ 0x1EDF, 97251 },
{ 0x1EDE, 97253 },
- { 0x7AE9, 97255 },
- { 0x7B83, 97256 },
+ { 0x7AEE, 97255 },
+ { 0x7B88, 97256 },
{ 0x1CE7, 97258 },
{ 0x2122, 97261 },
- { 0x79ED, 97265 },
- { 0x79EE, 97271 },
- { 0x79EF, 97277 },
- { 0x79F0, 97283 },
- { 0x79F1, 97289 },
- { 0x79F2, 97295 },
- { 0x79F3, 97301 },
- { 0x79F4, 97307 },
- { 0x79F5, 97313 },
- { 0x79F6, 97319 },
- { 0x79F7, 97325 },
- { 0x79F8, 97331 },
- { 0x79F9, 97337 },
- { 0x79FA, 97343 },
- { 0x79FB, 97349 },
- { 0x79FC, 97355 },
- { 0x79FD, 97361 },
- { 0x79FE, 97367 },
- { 0x79FF, 97373 },
- { 0x7A00, 97379 },
- { 0x7A01, 97385 },
- { 0x7A02, 97391 },
- { 0x7A03, 97397 },
- { 0x7A04, 97403 },
- { 0x7A05, 97409 },
- { 0x7A06, 97415 },
+ { 0x79F2, 97265 },
+ { 0x79F3, 97271 },
+ { 0x79F4, 97277 },
+ { 0x79F5, 97283 },
+ { 0x79F6, 97289 },
+ { 0x79F7, 97295 },
+ { 0x79F8, 97301 },
+ { 0x79F9, 97307 },
+ { 0x79FA, 97313 },
+ { 0x79FB, 97319 },
+ { 0x79FC, 97325 },
+ { 0x79FD, 97331 },
+ { 0x79FE, 97337 },
+ { 0x79FF, 97343 },
+ { 0x7A00, 97349 },
+ { 0x7A01, 97355 },
+ { 0x7A02, 97361 },
+ { 0x7A03, 97367 },
+ { 0x7A04, 97373 },
+ { 0x7A05, 97379 },
+ { 0x7A06, 97385 },
+ { 0x7A07, 97391 },
+ { 0x7A08, 97397 },
+ { 0x7A09, 97403 },
+ { 0x7A0A, 97409 },
+ { 0x7A0B, 97415 },
{ 0x210E, 97421 },
{ 0x210F, 97425 },
{ 0x2117, 97429 },
@@ -72636,124 +72643,124 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2116, 97449 },
{ 0x2110, 97453 },
{ 0x2114, 97457 },
- { 0x7F6F, 97461 },
- { 0x7F6D, 97464 },
- { 0x7A2B, 97467 },
- { 0x7A28, 97470 },
- { 0x7A29, 97473 },
- { 0x7A2A, 97476 },
- { 0x7A2C, 97479 },
+ { 0x7F74, 97461 },
+ { 0x7F72, 97464 },
+ { 0x7A30, 97467 },
+ { 0x7A2D, 97470 },
+ { 0x7A2E, 97473 },
+ { 0x7A2F, 97476 },
+ { 0x7A31, 97479 },
{ 0x2371, 97482 },
- { 0x7A0D, 97486 },
- { 0x7A0E, 97492 },
- { 0x7A0F, 97498 },
- { 0x7A10, 97504 },
- { 0x7A11, 97510 },
- { 0x7A12, 97516 },
- { 0x7A13, 97522 },
- { 0x7A14, 97528 },
- { 0x7A15, 97534 },
- { 0x7A16, 97540 },
- { 0x7A17, 97546 },
- { 0x7A18, 97552 },
- { 0x7A19, 97558 },
- { 0x7A1A, 97564 },
- { 0x7A1B, 97570 },
- { 0x7A1C, 97576 },
- { 0x7A1D, 97582 },
- { 0x7A1E, 97588 },
- { 0x7A1F, 97594 },
- { 0x7A20, 97600 },
- { 0x7A21, 97606 },
- { 0x7A22, 97612 },
- { 0x7A23, 97618 },
- { 0x7A24, 97624 },
- { 0x7A25, 97630 },
- { 0x7A26, 97636 },
- { 0x82A4, 97642 },
- { 0x829D, 97646 },
- { 0x829E, 97649 },
- { 0x829F, 97656 },
+ { 0x7A12, 97486 },
+ { 0x7A13, 97492 },
+ { 0x7A14, 97498 },
+ { 0x7A15, 97504 },
+ { 0x7A16, 97510 },
+ { 0x7A17, 97516 },
+ { 0x7A18, 97522 },
+ { 0x7A19, 97528 },
+ { 0x7A1A, 97534 },
+ { 0x7A1B, 97540 },
+ { 0x7A1C, 97546 },
+ { 0x7A1D, 97552 },
+ { 0x7A1E, 97558 },
+ { 0x7A1F, 97564 },
+ { 0x7A20, 97570 },
+ { 0x7A21, 97576 },
+ { 0x7A22, 97582 },
+ { 0x7A23, 97588 },
+ { 0x7A24, 97594 },
+ { 0x7A25, 97600 },
+ { 0x7A26, 97606 },
+ { 0x7A27, 97612 },
+ { 0x7A28, 97618 },
+ { 0x7A29, 97624 },
+ { 0x7A2A, 97630 },
+ { 0x7A2B, 97636 },
+ { 0x82A9, 97642 },
+ { 0x82A2, 97646 },
+ { 0x82A3, 97649 },
+ { 0x82A4, 97656 },
{ 0x005F, 97659 },
- { 0x7C78, 97661 },
- { 0x7C79, 97662 },
- { 0x75D0, 97666 },
- { 0x75CC, 97672 },
- { 0x75CE, 97678 },
- { 0x75CB, 97684 },
- { 0x75CD, 97690 },
- { 0x75CF, 97696 },
- { 0x75D3, 97702 },
- { 0x75D8, 97707 },
- { 0x75D4, 97712 },
- { 0x75D7, 97717 },
- { 0x75D6, 97722 },
- { 0x75DB, 97727 },
- { 0x75D2, 97732 },
- { 0x75DA, 97737 },
- { 0x75D9, 97742 },
- { 0x75D5, 97747 },
- { 0x75BB, 97752 },
- { 0x75C1, 97757 },
- { 0x75BD, 97762 },
- { 0x75BF, 97767 },
- { 0x75BE, 97772 },
- { 0x75C3, 97777 },
- { 0x75BC, 97782 },
- { 0x759F, 97787 },
- { 0x75A6, 97792 },
- { 0x75C2, 97797 },
- { 0x75AC, 97802 },
- { 0x75B9, 97807 },
- { 0x759B, 97812 },
- { 0x75A5, 97817 },
- { 0x75A0, 97822 },
- { 0x7597, 97827 },
- { 0x759C, 97832 },
- { 0x75C0, 97837 },
- { 0x75B1, 97842 },
- { 0x75AE, 97847 },
- { 0x75AD, 97852 },
- { 0x75A1, 97857 },
- { 0x759A, 97862 },
- { 0x75A9, 97867 },
- { 0x759D, 97872 },
- { 0x75AF, 97877 },
- { 0x75A2, 97882 },
- { 0x75B4, 97887 },
- { 0x75B6, 97892 },
- { 0x75B7, 97897 },
- { 0x75A3, 97902 },
- { 0x759E, 97907 },
- { 0x75B3, 97912 },
- { 0x75B0, 97917 },
- { 0x75A8, 97922 },
- { 0x7599, 97927 },
- { 0x75A7, 97932 },
- { 0x75B8, 97937 },
- { 0x75BA, 97942 },
- { 0x7598, 97947 },
- { 0x75AB, 97952 },
- { 0x75B2, 97957 },
- { 0x75B5, 97962 },
- { 0x75A4, 97967 },
- { 0x75AA, 97972 },
- { 0x75C4, 97977 },
- { 0x75CA, 97981 },
- { 0x75C9, 97985 },
- { 0x75C6, 97989 },
- { 0x75C5, 97993 },
- { 0x75C8, 97997 },
- { 0x75C7, 98001 },
- { 0x75DD, 98005 },
- { 0x75DC, 98010 },
- { 0x75D1, 98015 },
+ { 0x7C7D, 97661 },
+ { 0x7C7E, 97662 },
+ { 0x75D5, 97666 },
+ { 0x75D1, 97672 },
+ { 0x75D3, 97678 },
+ { 0x75D0, 97684 },
+ { 0x75D2, 97690 },
+ { 0x75D4, 97696 },
+ { 0x75D8, 97702 },
+ { 0x75DD, 97707 },
+ { 0x75D9, 97712 },
+ { 0x75DC, 97717 },
+ { 0x75DB, 97722 },
+ { 0x75E0, 97727 },
+ { 0x75D7, 97732 },
+ { 0x75DF, 97737 },
+ { 0x75DE, 97742 },
+ { 0x75DA, 97747 },
+ { 0x75C0, 97752 },
+ { 0x75C6, 97757 },
+ { 0x75C2, 97762 },
+ { 0x75C4, 97767 },
+ { 0x75C3, 97772 },
+ { 0x75C8, 97777 },
+ { 0x75C1, 97782 },
+ { 0x75A4, 97787 },
+ { 0x75AB, 97792 },
+ { 0x75C7, 97797 },
+ { 0x75B1, 97802 },
+ { 0x75BE, 97807 },
+ { 0x75A0, 97812 },
+ { 0x75AA, 97817 },
+ { 0x75A5, 97822 },
+ { 0x759C, 97827 },
+ { 0x75A1, 97832 },
+ { 0x75C5, 97837 },
+ { 0x75B6, 97842 },
+ { 0x75B3, 97847 },
+ { 0x75B2, 97852 },
+ { 0x75A6, 97857 },
+ { 0x759F, 97862 },
+ { 0x75AE, 97867 },
+ { 0x75A2, 97872 },
+ { 0x75B4, 97877 },
+ { 0x75A7, 97882 },
+ { 0x75B9, 97887 },
+ { 0x75BB, 97892 },
+ { 0x75BC, 97897 },
+ { 0x75A8, 97902 },
+ { 0x75A3, 97907 },
+ { 0x75B8, 97912 },
+ { 0x75B5, 97917 },
+ { 0x75AD, 97922 },
+ { 0x759E, 97927 },
+ { 0x75AC, 97932 },
+ { 0x75BD, 97937 },
+ { 0x75BF, 97942 },
+ { 0x759D, 97947 },
+ { 0x75B0, 97952 },
+ { 0x75B7, 97957 },
+ { 0x75BA, 97962 },
+ { 0x75A9, 97967 },
+ { 0x75AF, 97972 },
+ { 0x75C9, 97977 },
+ { 0x75CF, 97981 },
+ { 0x75CE, 97985 },
+ { 0x75CB, 97989 },
+ { 0x75CA, 97993 },
+ { 0x75CD, 97997 },
+ { 0x75CC, 98001 },
+ { 0x75E2, 98005 },
+ { 0x75E1, 98010 },
+ { 0x75D6, 98015 },
{ 0x2050, 98020 },
- { 0x7E32, 98023 },
- { 0x7E8F, 98025 },
- { 0x7E3B, 98028 },
- { 0x7E39, 98030 },
- { 0x7E3D, 98033 },
+ { 0x7E37, 98023 },
+ { 0x7E94, 98025 },
+ { 0x7E40, 98028 },
+ { 0x7E3E, 98030 },
+ { 0x7E42, 98033 },
{ 0x1F07, 98035 },
{ 0x2249, 98037 },
{ 0x2350, 98039 },
@@ -72761,117 +72768,117 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2342, 98045 },
{ 0x22C0, 98048 },
{ 0x1CB8, 98051 },
- { 0x8072, 98052 },
+ { 0x8077, 98052 },
{ 0x1E76, 98053 },
{ 0x2716, 98055 },
{ 0x2715, 98059 },
- { 0x7E67, 98063 },
- { 0x7C60, 98065 },
- { 0x37EF, 98067 },
- { 0x37F0, 98070 },
- { 0x37EE, 98074 },
- { 0x37D6, 98078 },
- { 0x37D9, 98081 },
- { 0x37D7, 98084 },
- { 0x37DA, 98087 },
- { 0x37D8, 98090 },
- { 0x37C7, 98093 },
- { 0x37BD, 98096 },
- { 0x37C3, 98099 },
- { 0x37DF, 98102 },
- { 0x37DD, 98105 },
- { 0x37BB, 98108 },
- { 0x37D5, 98111 },
- { 0x37BF, 98114 },
- { 0x37B9, 98117 },
- { 0x37D2, 98120 },
- { 0x37C8, 98123 },
- { 0x37C4, 98126 },
- { 0x37C5, 98129 },
- { 0x37DB, 98132 },
- { 0x37D1, 98135 },
- { 0x37D4, 98138 },
- { 0x37C1, 98141 },
- { 0x37CC, 98144 },
- { 0x37DC, 98147 },
- { 0x37D0, 98150 },
- { 0x37CE, 98153 },
- { 0x37BE, 98156 },
- { 0x37E4, 98159 },
- { 0x37CB, 98162 },
- { 0x37DE, 98165 },
- { 0x37BA, 98168 },
- { 0x37BC, 98171 },
- { 0x37E5, 98174 },
- { 0x37C0, 98177 },
- { 0x37C6, 98180 },
- { 0x37D3, 98183 },
- { 0x37C2, 98186 },
- { 0x37C9, 98189 },
- { 0x37E2, 98192 },
- { 0x37CD, 98195 },
- { 0x37CA, 98198 },
- { 0x37E3, 98201 },
- { 0x37CF, 98204 },
- { 0x37E8, 98208 },
- { 0x37E6, 98212 },
- { 0x37E9, 98216 },
- { 0x37E7, 98220 },
- { 0x37EC, 98224 },
- { 0x37ED, 98227 },
- { 0x37EA, 98231 },
- { 0x37E0, 98235 },
- { 0x37E1, 98239 },
- { 0x37EB, 98243 },
- { 0x415A, 98247 },
- { 0x4154, 98252 },
- { 0x413D, 98256 },
- { 0x414F, 98260 },
- { 0x4143, 98264 },
- { 0x4150, 98268 },
- { 0x4142, 98272 },
- { 0x413F, 98276 },
- { 0x4147, 98280 },
- { 0x4152, 98284 },
- { 0x414D, 98288 },
- { 0x414C, 98292 },
- { 0x4159, 98296 },
- { 0x414B, 98300 },
- { 0x4156, 98304 },
- { 0x415F, 98308 },
- { 0x413C, 98313 },
- { 0x414E, 98317 },
- { 0x4137, 98322 },
- { 0x4151, 98326 },
- { 0x415B, 98330 },
- { 0x4155, 98334 },
- { 0x4148, 98339 },
- { 0x415E, 98343 },
- { 0x413B, 98348 },
- { 0x4153, 98352 },
- { 0x4138, 98356 },
- { 0x4149, 98360 },
- { 0x4146, 98364 },
- { 0x415C, 98368 },
- { 0x4139, 98372 },
- { 0x4134, 98376 },
- { 0x413E, 98381 },
- { 0x414A, 98385 },
- { 0x4136, 98389 },
- { 0x4141, 98393 },
- { 0x4157, 98397 },
- { 0x4158, 98401 },
- { 0x413A, 98405 },
- { 0x4140, 98409 },
- { 0x415D, 98413 },
- { 0x4135, 98417 },
- { 0x4144, 98422 },
- { 0x4145, 98426 },
- { 0x4160, 98431 },
- { 0x4133, 98437 },
- { 0x8023, 98441 },
+ { 0x7E6C, 98063 },
+ { 0x7C65, 98065 },
+ { 0x37F4, 98067 },
+ { 0x37F5, 98070 },
+ { 0x37F3, 98074 },
+ { 0x37DB, 98078 },
+ { 0x37DE, 98081 },
+ { 0x37DC, 98084 },
+ { 0x37DF, 98087 },
+ { 0x37DD, 98090 },
+ { 0x37CC, 98093 },
+ { 0x37C2, 98096 },
+ { 0x37C8, 98099 },
+ { 0x37E4, 98102 },
+ { 0x37E2, 98105 },
+ { 0x37C0, 98108 },
+ { 0x37DA, 98111 },
+ { 0x37C4, 98114 },
+ { 0x37BE, 98117 },
+ { 0x37D7, 98120 },
+ { 0x37CD, 98123 },
+ { 0x37C9, 98126 },
+ { 0x37CA, 98129 },
+ { 0x37E0, 98132 },
+ { 0x37D6, 98135 },
+ { 0x37D9, 98138 },
+ { 0x37C6, 98141 },
+ { 0x37D1, 98144 },
+ { 0x37E1, 98147 },
+ { 0x37D5, 98150 },
+ { 0x37D3, 98153 },
+ { 0x37C3, 98156 },
+ { 0x37E9, 98159 },
+ { 0x37D0, 98162 },
+ { 0x37E3, 98165 },
+ { 0x37BF, 98168 },
+ { 0x37C1, 98171 },
+ { 0x37EA, 98174 },
+ { 0x37C5, 98177 },
+ { 0x37CB, 98180 },
+ { 0x37D8, 98183 },
+ { 0x37C7, 98186 },
+ { 0x37CE, 98189 },
+ { 0x37E7, 98192 },
+ { 0x37D2, 98195 },
+ { 0x37CF, 98198 },
+ { 0x37E8, 98201 },
+ { 0x37D4, 98204 },
+ { 0x37ED, 98208 },
+ { 0x37EB, 98212 },
+ { 0x37EE, 98216 },
+ { 0x37EC, 98220 },
+ { 0x37F1, 98224 },
+ { 0x37F2, 98227 },
+ { 0x37EF, 98231 },
+ { 0x37E5, 98235 },
+ { 0x37E6, 98239 },
+ { 0x37F0, 98243 },
+ { 0x415F, 98247 },
+ { 0x4159, 98252 },
+ { 0x4142, 98256 },
+ { 0x4154, 98260 },
+ { 0x4148, 98264 },
+ { 0x4155, 98268 },
+ { 0x4147, 98272 },
+ { 0x4144, 98276 },
+ { 0x414C, 98280 },
+ { 0x4157, 98284 },
+ { 0x4152, 98288 },
+ { 0x4151, 98292 },
+ { 0x415E, 98296 },
+ { 0x4150, 98300 },
+ { 0x415B, 98304 },
+ { 0x4164, 98308 },
+ { 0x4141, 98313 },
+ { 0x4153, 98317 },
+ { 0x413C, 98322 },
+ { 0x4156, 98326 },
+ { 0x4160, 98330 },
+ { 0x415A, 98334 },
+ { 0x414D, 98339 },
+ { 0x4163, 98343 },
+ { 0x4140, 98348 },
+ { 0x4158, 98352 },
+ { 0x413D, 98356 },
+ { 0x414E, 98360 },
+ { 0x414B, 98364 },
+ { 0x4161, 98368 },
+ { 0x413E, 98372 },
+ { 0x4139, 98376 },
+ { 0x4143, 98381 },
+ { 0x414F, 98385 },
+ { 0x413B, 98389 },
+ { 0x4146, 98393 },
+ { 0x415C, 98397 },
+ { 0x415D, 98401 },
+ { 0x413F, 98405 },
+ { 0x4145, 98409 },
+ { 0x4162, 98413 },
+ { 0x413A, 98417 },
+ { 0x4149, 98422 },
+ { 0x414A, 98426 },
+ { 0x4165, 98431 },
+ { 0x4138, 98437 },
+ { 0x8028, 98441 },
{ 0x2352, 98443 },
- { 0x7CA3, 98445 },
+ { 0x7CA8, 98445 },
{ 0x2807, 98447 },
{ 0x1F67, 98448 },
{ 0x1ECB, 98450 },
@@ -72885,11 +72892,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x26D4, 98484 },
{ 0x26D2, 98490 },
{ 0x1F01, 98495 },
- { 0x81BE, 98498 },
- { 0x8044, 98500 },
- { 0x81BF, 98502 },
+ { 0x81C3, 98498 },
+ { 0x8049, 98500 },
+ { 0x81C4, 98502 },
{ 0x1FE8, 98504 },
- { 0x7C1D, 98506 },
+ { 0x7C22, 98506 },
{ 0x1D9F, 98507 },
{ 0x21B9, 98509 },
{ 0x21BA, 98512 },
@@ -72905,38 +72912,38 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1CC2, 98571 },
{ 0x22DE, 98574 },
{ 0x229F, 98575 },
- { 0x7A4B, 98578 },
- { 0x7A4C, 98583 },
- { 0x7A4D, 98588 },
- { 0x7A4E, 98593 },
- { 0x7A4F, 98598 },
- { 0x7A50, 98603 },
- { 0x7A51, 98608 },
- { 0x7A52, 98613 },
- { 0x7A53, 98618 },
- { 0x7A54, 98623 },
- { 0x7A55, 98628 },
- { 0x7A56, 98633 },
- { 0x7A57, 98638 },
- { 0x7A58, 98643 },
- { 0x7A59, 98648 },
- { 0x7A5A, 98653 },
- { 0x7A5B, 98658 },
- { 0x7A5C, 98663 },
- { 0x7A5D, 98668 },
- { 0x7A5E, 98673 },
- { 0x7A5F, 98678 },
- { 0x7A60, 98683 },
- { 0x7A61, 98688 },
- { 0x7A62, 98693 },
- { 0x7A63, 98698 },
- { 0x7A64, 98703 },
- { 0x7DB1, 98708 },
- { 0x7B3C, 98710 },
+ { 0x7A50, 98578 },
+ { 0x7A51, 98583 },
+ { 0x7A52, 98588 },
+ { 0x7A53, 98593 },
+ { 0x7A54, 98598 },
+ { 0x7A55, 98603 },
+ { 0x7A56, 98608 },
+ { 0x7A57, 98613 },
+ { 0x7A58, 98618 },
+ { 0x7A59, 98623 },
+ { 0x7A5A, 98628 },
+ { 0x7A5B, 98633 },
+ { 0x7A5C, 98638 },
+ { 0x7A5D, 98643 },
+ { 0x7A5E, 98648 },
+ { 0x7A5F, 98653 },
+ { 0x7A60, 98658 },
+ { 0x7A61, 98663 },
+ { 0x7A62, 98668 },
+ { 0x7A63, 98673 },
+ { 0x7A64, 98678 },
+ { 0x7A65, 98683 },
+ { 0x7A66, 98688 },
+ { 0x7A67, 98693 },
+ { 0x7A68, 98698 },
+ { 0x7A69, 98703 },
+ { 0x7DB6, 98708 },
+ { 0x7B41, 98710 },
{ 0x1D74, 98712 },
- { 0x7E60, 98713 },
+ { 0x7E65, 98713 },
{ 0x1F61, 98714 },
- { 0x7D3A, 98717 },
+ { 0x7D3F, 98717 },
{ 0x25C6, 98723 },
{ 0x25C8, 98725 },
{ 0x2A2E, 98729 },
@@ -72946,57 +72953,57 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E8E, 98739 },
{ 0x1F1E, 98741 },
{ 0x1CB0, 98744 },
- { 0x2BBD, 98747 },
+ { 0x2BC1, 98747 },
{ 0x2710, 98752 },
{ 0x29FE, 98757 },
- { 0x7D36, 98760 },
- { 0x7D37, 98766 },
- { 0x7D38, 98770 },
+ { 0x7D3B, 98760 },
+ { 0x7D3C, 98766 },
+ { 0x7D3D, 98770 },
{ 0x1CB1, 98774 },
{ 0x1CC5, 98777 },
{ 0x223C, 98780 },
- { 0x7D39, 98785 },
+ { 0x7D3E, 98785 },
{ 0x2A1B, 98788 },
{ 0x1CC9, 98791 },
{ 0x1D98, 98793 },
{ 0x2318, 98797 },
- { 0x81D0, 98798 },
- { 0x807E, 98800 },
- { 0x80A9, 98801 },
- { 0x8096, 98802 },
+ { 0x81D5, 98798 },
+ { 0x8083, 98800 },
+ { 0x80AE, 98801 },
+ { 0x809B, 98802 },
{ 0x2272, 98803 },
- { 0x7AD6, 98804 },
+ { 0x7ADB, 98804 },
{ 0x2353, 98805 },
{ 0x2341, 98808 },
{ 0x2370, 98812 },
{ 0x223B, 98815 },
- { 0x7AC5, 98816 },
- { 0x7E72, 98818 },
- { 0x7E77, 98820 },
- { 0x7D45, 98822 },
- { 0x7D46, 98827 },
- { 0x7D3F, 98832 },
- { 0x7D40, 98837 },
- { 0x7D43, 98842 },
- { 0x7D44, 98847 },
- { 0x7D3D, 98852 },
- { 0x7D3E, 98857 },
- { 0x361C, 98862 },
- { 0x7DD9, 98864 },
- { 0x7C49, 98866 },
- { 0x7E71, 98868 },
- { 0x7DE7, 98870 },
- { 0x7DE6, 98873 },
- { 0x7DB4, 98876 },
- { 0x803B, 98878 },
- { 0x8062, 98880 },
+ { 0x7ACA, 98816 },
+ { 0x7E77, 98818 },
+ { 0x7E7C, 98820 },
+ { 0x7D4A, 98822 },
+ { 0x7D4B, 98827 },
+ { 0x7D44, 98832 },
+ { 0x7D45, 98837 },
+ { 0x7D48, 98842 },
+ { 0x7D49, 98847 },
+ { 0x7D42, 98852 },
+ { 0x7D43, 98857 },
+ { 0x3621, 98862 },
+ { 0x7DDE, 98864 },
+ { 0x7C4E, 98866 },
+ { 0x7E76, 98868 },
+ { 0x7DEC, 98870 },
+ { 0x7DEB, 98873 },
+ { 0x7DB9, 98876 },
+ { 0x8040, 98878 },
+ { 0x8067, 98880 },
{ 0x234B, 98881 },
- { 0x7D88, 98882 },
+ { 0x7D8D, 98882 },
{ 0x1D2A, 98886 },
- { 0x7BD8, 98888 },
- { 0x80E1, 98890 },
- { 0x7B01, 98892 },
- { 0x7C74, 98894 },
+ { 0x7BDD, 98888 },
+ { 0x80E6, 98890 },
+ { 0x7B06, 98892 },
+ { 0x7C79, 98894 },
{ 0x1EB4, 98896 },
{ 0x1ECC, 98899 },
{ 0x1ECE, 98900 },
@@ -73045,9 +73052,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x14C9, 99075 },
{ 0x14C7, 99078 },
{ 0x14C0, 99081 },
- { 0x7B30, 99084 },
- { 0x7C6B, 99086 },
- { 0x8028, 99088 },
+ { 0x7B35, 99084 },
+ { 0x7C70, 99086 },
+ { 0x802D, 99088 },
{ 0x2A28, 99090 },
{ 0x2943, 99092 },
{ 0x2979, 99095 },
@@ -73110,78 +73117,78 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x297C, 99283 },
{ 0x1CC4, 99286 },
{ 0x2A3F, 99289 },
- { 0x7A95, 99293 },
- { 0x7A96, 99299 },
- { 0x7A9B, 99305 },
- { 0x7A97, 99311 },
- { 0x7A99, 99317 },
- { 0x7A9C, 99323 },
- { 0x7A94, 99329 },
- { 0x7A98, 99335 },
- { 0x7A9A, 99341 },
- { 0x79C7, 99347 },
+ { 0x7A9A, 99293 },
+ { 0x7A9B, 99299 },
+ { 0x7AA0, 99305 },
+ { 0x7A9C, 99311 },
+ { 0x7A9E, 99317 },
+ { 0x7AA1, 99323 },
+ { 0x7A99, 99329 },
+ { 0x7A9D, 99335 },
+ { 0x7A9F, 99341 },
+ { 0x79CC, 99347 },
{ 0x25ED, 99354 },
{ 0x25F0, 99358 },
- { 0x7E6B, 99363 },
+ { 0x7E70, 99363 },
{ 0x25EE, 99367 },
{ 0x1CD7, 99370 },
- { 0x7BC5, 99371 },
- { 0x7B1E, 99373 },
- { 0x4256, 99375 },
- { 0x4253, 99378 },
- { 0x4254, 99381 },
- { 0x423D, 99384 },
- { 0x424C, 99387 },
- { 0x4252, 99390 },
- { 0x423E, 99393 },
- { 0x4249, 99396 },
- { 0x424B, 99399 },
- { 0x4243, 99402 },
- { 0x423B, 99405 },
- { 0x4246, 99408 },
- { 0x4248, 99411 },
- { 0x4255, 99414 },
- { 0x4241, 99417 },
- { 0x4242, 99420 },
- { 0x4238, 99423 },
- { 0x4239, 99426 },
- { 0x4247, 99429 },
- { 0x4240, 99432 },
- { 0x424E, 99435 },
- { 0x424D, 99438 },
- { 0x4244, 99441 },
- { 0x423F, 99444 },
- { 0x423C, 99447 },
- { 0x423A, 99450 },
- { 0x4251, 99453 },
- { 0x4245, 99456 },
- { 0x424F, 99459 },
- { 0x424A, 99462 },
- { 0x4250, 99465 },
+ { 0x7BCA, 99371 },
+ { 0x7B23, 99373 },
+ { 0x425B, 99375 },
+ { 0x4258, 99378 },
+ { 0x4259, 99381 },
+ { 0x4242, 99384 },
+ { 0x4251, 99387 },
+ { 0x4257, 99390 },
+ { 0x4243, 99393 },
+ { 0x424E, 99396 },
+ { 0x4250, 99399 },
+ { 0x4248, 99402 },
+ { 0x4240, 99405 },
+ { 0x424B, 99408 },
+ { 0x424D, 99411 },
+ { 0x425A, 99414 },
+ { 0x4246, 99417 },
+ { 0x4247, 99420 },
+ { 0x423D, 99423 },
+ { 0x423E, 99426 },
+ { 0x424C, 99429 },
+ { 0x4245, 99432 },
+ { 0x4253, 99435 },
+ { 0x4252, 99438 },
+ { 0x4249, 99441 },
+ { 0x4244, 99444 },
+ { 0x4241, 99447 },
+ { 0x423F, 99450 },
+ { 0x4256, 99453 },
+ { 0x424A, 99456 },
+ { 0x4254, 99459 },
+ { 0x424F, 99462 },
+ { 0x4255, 99465 },
{ 0x2225, 99468 },
{ 0x2314, 99469 },
{ 0x2237, 99472 },
- { 0x7DB7, 99476 },
+ { 0x7DBC, 99476 },
{ 0x1CB9, 99478 },
{ 0x1D78, 99479 },
{ 0x23ED, 99480 },
{ 0x25F3, 99485 },
{ 0x2707, 99490 },
{ 0x2705, 99495 },
- { 0x8251, 99500 },
- { 0x8252, 99504 },
- { 0x8253, 99508 },
- { 0x8254, 99512 },
- { 0x8255, 99516 },
- { 0x8256, 99520 },
+ { 0x8256, 99500 },
+ { 0x8257, 99504 },
+ { 0x8258, 99508 },
+ { 0x8259, 99512 },
+ { 0x825A, 99516 },
+ { 0x825B, 99520 },
{ 0x2A2A, 99524 },
{ 0x27A0, 99527 },
{ 0x1CD8, 99530 },
- { 0x2BD1, 99533 },
- { 0x2BD5, 99537 },
- { 0x2BD3, 99543 },
- { 0x2BD2, 99549 },
- { 0x2BD4, 99556 },
+ { 0x2BD5, 99533 },
+ { 0x2BD9, 99537 },
+ { 0x2BD7, 99543 },
+ { 0x2BD6, 99549 },
+ { 0x2BD8, 99556 },
{ 0x005C, 99565 },
{ 0x2712, 99567 },
{ 0x2713, 99572 },
@@ -73190,1290 +73197,1290 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x22CB, 99585 },
{ 0x2A1C, 99590 },
{ 0x25BD, 99592 },
- { 0x7E4B, 99595 },
+ { 0x7E50, 99595 },
{ 0x1F3F, 99598 },
- { 0x2BDB, 99600 },
+ { 0x2BDF, 99600 },
{ 0x1F68, 99604 },
- { 0x43F9, 99606 },
- { 0x4401, 99610 },
- { 0x4406, 99614 },
- { 0x440F, 99618 },
- { 0x4417, 99622 },
- { 0x441A, 99626 },
- { 0x43FB, 99630 },
- { 0x43FC, 99634 },
- { 0x43FE, 99638 },
- { 0x4400, 99642 },
- { 0x4402, 99646 },
- { 0x4403, 99650 },
- { 0x4404, 99654 },
- { 0x4408, 99658 },
- { 0x4409, 99662 },
- { 0x440A, 99666 },
- { 0x440C, 99670 },
- { 0x440D, 99674 },
- { 0x4410, 99678 },
- { 0x4411, 99682 },
- { 0x4412, 99686 },
- { 0x4413, 99690 },
- { 0x4415, 99694 },
- { 0x4418, 99698 },
- { 0x4419, 99702 },
- { 0x441B, 99706 },
- { 0x43FA, 99710 },
- { 0x43FD, 99714 },
- { 0x43FF, 99718 },
- { 0x4405, 99722 },
- { 0x4407, 99726 },
- { 0x440B, 99730 },
- { 0x440E, 99734 },
- { 0x4414, 99738 },
- { 0x4416, 99742 },
- { 0x43D6, 99746 },
- { 0x43DE, 99750 },
- { 0x43E3, 99754 },
- { 0x43EC, 99758 },
- { 0x43F4, 99762 },
- { 0x43F7, 99766 },
- { 0x43D8, 99770 },
- { 0x43D9, 99774 },
- { 0x43DB, 99778 },
- { 0x43DD, 99782 },
- { 0x43DF, 99786 },
- { 0x43E0, 99790 },
- { 0x43E1, 99794 },
- { 0x43E5, 99798 },
- { 0x43E6, 99802 },
- { 0x43E7, 99806 },
- { 0x43E9, 99810 },
- { 0x43EA, 99814 },
- { 0x43ED, 99818 },
- { 0x43EE, 99822 },
- { 0x43EF, 99826 },
- { 0x43F0, 99830 },
- { 0x43F2, 99834 },
- { 0x43F5, 99838 },
- { 0x43F6, 99842 },
- { 0x43F8, 99846 },
- { 0x43D7, 99850 },
- { 0x43DA, 99854 },
- { 0x43DC, 99858 },
- { 0x43E2, 99862 },
- { 0x43E4, 99866 },
- { 0x43E8, 99870 },
- { 0x43EB, 99874 },
- { 0x43F1, 99878 },
- { 0x43F3, 99882 },
+ { 0x43FE, 99606 },
+ { 0x4406, 99610 },
+ { 0x440B, 99614 },
+ { 0x4414, 99618 },
+ { 0x441C, 99622 },
+ { 0x441F, 99626 },
+ { 0x4400, 99630 },
+ { 0x4401, 99634 },
+ { 0x4403, 99638 },
+ { 0x4405, 99642 },
+ { 0x4407, 99646 },
+ { 0x4408, 99650 },
+ { 0x4409, 99654 },
+ { 0x440D, 99658 },
+ { 0x440E, 99662 },
+ { 0x440F, 99666 },
+ { 0x4411, 99670 },
+ { 0x4412, 99674 },
+ { 0x4415, 99678 },
+ { 0x4416, 99682 },
+ { 0x4417, 99686 },
+ { 0x4418, 99690 },
+ { 0x441A, 99694 },
+ { 0x441D, 99698 },
+ { 0x441E, 99702 },
+ { 0x4420, 99706 },
+ { 0x43FF, 99710 },
+ { 0x4402, 99714 },
+ { 0x4404, 99718 },
+ { 0x440A, 99722 },
+ { 0x440C, 99726 },
+ { 0x4410, 99730 },
+ { 0x4413, 99734 },
+ { 0x4419, 99738 },
+ { 0x441B, 99742 },
+ { 0x43DB, 99746 },
+ { 0x43E3, 99750 },
+ { 0x43E8, 99754 },
+ { 0x43F1, 99758 },
+ { 0x43F9, 99762 },
+ { 0x43FC, 99766 },
+ { 0x43DD, 99770 },
+ { 0x43DE, 99774 },
+ { 0x43E0, 99778 },
+ { 0x43E2, 99782 },
+ { 0x43E4, 99786 },
+ { 0x43E5, 99790 },
+ { 0x43E6, 99794 },
+ { 0x43EA, 99798 },
+ { 0x43EB, 99802 },
+ { 0x43EC, 99806 },
+ { 0x43EE, 99810 },
+ { 0x43EF, 99814 },
+ { 0x43F2, 99818 },
+ { 0x43F3, 99822 },
+ { 0x43F4, 99826 },
+ { 0x43F5, 99830 },
+ { 0x43F7, 99834 },
+ { 0x43FA, 99838 },
+ { 0x43FB, 99842 },
+ { 0x43FD, 99846 },
+ { 0x43DC, 99850 },
+ { 0x43DF, 99854 },
+ { 0x43E1, 99858 },
+ { 0x43E7, 99862 },
+ { 0x43E9, 99866 },
+ { 0x43ED, 99870 },
+ { 0x43F0, 99874 },
+ { 0x43F6, 99878 },
+ { 0x43F8, 99882 },
{ 0x2806, 99886 },
- { 0x7E7D, 99887 },
- { 0x6B5B, 99888 },
- { 0x6B8A, 99893 },
- { 0x6BC9, 99896 },
- { 0x6B8B, 99899 },
- { 0x6BCB, 99902 },
- { 0x6B58, 99905 },
- { 0x6B59, 99908 },
- { 0x6B89, 99912 },
- { 0x6BCA, 99915 },
- { 0x6BB7, 99918 },
- { 0x6BB8, 99921 },
- { 0x6BBA, 99925 },
- { 0x6BBB, 99930 },
- { 0x6BBC, 99935 },
- { 0x6BB9, 99940 },
- { 0x6B64, 99944 },
- { 0x6B73, 99947 },
- { 0x6B5C, 99951 },
- { 0x6B8C, 99954 },
- { 0x6BAF, 99957 },
- { 0x6BB0, 99960 },
- { 0x6BB1, 99964 },
- { 0x6BB2, 99968 },
- { 0x6BB3, 99972 },
- { 0x6BC8, 99976 },
- { 0x6B8E, 99979 },
- { 0x6B95, 99982 },
- { 0x6B96, 99987 },
- { 0x6B90, 99993 },
- { 0x6B92, 99998 },
- { 0x6B8F, 100005 },
- { 0x6B91, 100010 },
- { 0x6B97, 100017 },
- { 0x6B93, 100024 },
- { 0x6B94, 100028 },
- { 0x6B99, 100034 },
- { 0x6BA2, 100038 },
- { 0x6BAA, 100043 },
- { 0x6BA8, 100047 },
- { 0x6B9A, 100054 },
- { 0x6B9E, 100058 },
- { 0x6BBD, 100062 },
- { 0x6BC6, 100066 },
- { 0x6BC1, 100071 },
- { 0x6BBF, 100076 },
- { 0x6BBE, 100084 },
- { 0x6BC2, 100089 },
- { 0x6BC3, 100094 },
- { 0x6BC0, 100102 },
- { 0x6BC4, 100110 },
- { 0x6BC5, 100115 },
- { 0x6B9C, 100121 },
- { 0x6BA3, 100125 },
- { 0x6BA6, 100129 },
- { 0x6B9D, 100134 },
- { 0x6BAB, 100138 },
- { 0x6BAC, 100142 },
- { 0x6BA9, 100149 },
- { 0x6B9B, 100156 },
- { 0x6B9F, 100160 },
- { 0x6BB4, 100164 },
- { 0x6BAD, 100168 },
- { 0x6BAE, 100172 },
- { 0x6BB5, 100177 },
- { 0x6BB6, 100181 },
- { 0x6BA0, 100185 },
- { 0x6BA5, 100189 },
- { 0x6BA7, 100193 },
- { 0x6BA4, 100198 },
- { 0x6BA1, 100202 },
- { 0x6B77, 100206 },
- { 0x6B76, 100209 },
- { 0x6BC7, 100212 },
- { 0x6B8D, 100215 },
- { 0x6B75, 100218 },
- { 0x6B5A, 100221 },
- { 0x6B74, 100224 },
- { 0x6B5E, 100228 },
- { 0x6B5F, 100231 },
- { 0x6B62, 100236 },
- { 0x6B6B, 100242 },
- { 0x6B6D, 100246 },
- { 0x6B6C, 100250 },
- { 0x6B6F, 100254 },
- { 0x6B71, 100259 },
- { 0x6B70, 100264 },
- { 0x6B72, 100269 },
- { 0x6B6E, 100274 },
- { 0x6B5D, 100278 },
- { 0x6B66, 100281 },
- { 0x6B67, 100285 },
- { 0x6B69, 100289 },
- { 0x6B68, 100293 },
- { 0x6B6A, 100297 },
- { 0x6B60, 100301 },
- { 0x6B61, 100304 },
- { 0x6B7C, 100308 },
- { 0x6B7A, 100312 },
- { 0x6B79, 100316 },
- { 0x6B80, 100320 },
- { 0x6B7E, 100325 },
- { 0x6B7B, 100330 },
- { 0x6B81, 100334 },
- { 0x6B82, 100339 },
- { 0x6B84, 100344 },
- { 0x6B83, 100349 },
- { 0x6B7F, 100354 },
- { 0x6B85, 100358 },
- { 0x6B88, 100361 },
- { 0x6B86, 100366 },
- { 0x6B87, 100371 },
- { 0x6B65, 100375 },
- { 0x6B63, 100378 },
- { 0x6B78, 100381 },
- { 0x6B98, 100384 },
- { 0x6B7D, 100387 },
- { 0x6B57, 100391 },
- { 0x6B56, 100395 },
- { 0x6B53, 100399 },
- { 0x6B54, 100403 },
- { 0x6B55, 100407 },
- { 0x6B34, 100412 },
- { 0x6B2C, 100416 },
- { 0x6B1C, 100423 },
- { 0x6B28, 100432 },
- { 0x6B19, 100441 },
- { 0x6B25, 100448 },
- { 0x6B31, 100455 },
- { 0x6B33, 100461 },
- { 0x6B51, 100465 },
- { 0x6B40, 100469 },
- { 0x6B3A, 100475 },
- { 0x6B14, 100479 },
- { 0x6B20, 100487 },
- { 0x6B17, 100495 },
- { 0x6B23, 100501 },
- { 0x6B35, 100507 },
- { 0x6B3E, 100511 },
- { 0x6B2B, 100515 },
- { 0x6B15, 100521 },
- { 0x6B21, 100527 },
- { 0x6B3D, 100533 },
- { 0x6B50, 100537 },
- { 0x6B3C, 100542 },
- { 0x6B18, 100546 },
- { 0x6B24, 100552 },
- { 0x6B4D, 100558 },
- { 0x6B38, 100562 },
- { 0x6B30, 100566 },
- { 0x6B1E, 100572 },
- { 0x6B2A, 100580 },
- { 0x6B1B, 100588 },
- { 0x6B27, 100594 },
- { 0x6B37, 100600 },
- { 0x6B49, 100604 },
- { 0x6B4A, 100608 },
- { 0x6B13, 100613 },
- { 0x6B1F, 100622 },
- { 0x6B16, 100631 },
- { 0x6B22, 100638 },
- { 0x6B32, 100645 },
- { 0x6B3B, 100650 },
- { 0x6B2E, 100654 },
- { 0x6B1D, 100660 },
- { 0x6B29, 100668 },
- { 0x6B1A, 100676 },
- { 0x6B26, 100682 },
- { 0x6B2F, 100688 },
- { 0x6B3F, 100693 },
- { 0x6B2D, 100697 },
- { 0x6B36, 100703 },
- { 0x6B4B, 100707 },
- { 0x6B46, 100711 },
- { 0x6B4C, 100715 },
- { 0x6B39, 100720 },
- { 0x6B44, 100724 },
- { 0x6B4E, 100728 },
- { 0x6B47, 100732 },
- { 0x6B48, 100736 },
- { 0x6B45, 100743 },
- { 0x6B52, 100748 },
- { 0x6B42, 100754 },
- { 0x6B41, 100760 },
- { 0x6B43, 100766 },
- { 0x6B4F, 100772 },
- { 0x8193, 100777 },
+ { 0x7E82, 99887 },
+ { 0x6B60, 99888 },
+ { 0x6B8F, 99893 },
+ { 0x6BCE, 99896 },
+ { 0x6B90, 99899 },
+ { 0x6BD0, 99902 },
+ { 0x6B5D, 99905 },
+ { 0x6B5E, 99908 },
+ { 0x6B8E, 99912 },
+ { 0x6BCF, 99915 },
+ { 0x6BBC, 99918 },
+ { 0x6BBD, 99921 },
+ { 0x6BBF, 99925 },
+ { 0x6BC0, 99930 },
+ { 0x6BC1, 99935 },
+ { 0x6BBE, 99940 },
+ { 0x6B69, 99944 },
+ { 0x6B78, 99947 },
+ { 0x6B61, 99951 },
+ { 0x6B91, 99954 },
+ { 0x6BB4, 99957 },
+ { 0x6BB5, 99960 },
+ { 0x6BB6, 99964 },
+ { 0x6BB7, 99968 },
+ { 0x6BB8, 99972 },
+ { 0x6BCD, 99976 },
+ { 0x6B93, 99979 },
+ { 0x6B9A, 99982 },
+ { 0x6B9B, 99987 },
+ { 0x6B95, 99993 },
+ { 0x6B97, 99998 },
+ { 0x6B94, 100005 },
+ { 0x6B96, 100010 },
+ { 0x6B9C, 100017 },
+ { 0x6B98, 100024 },
+ { 0x6B99, 100028 },
+ { 0x6B9E, 100034 },
+ { 0x6BA7, 100038 },
+ { 0x6BAF, 100043 },
+ { 0x6BAD, 100047 },
+ { 0x6B9F, 100054 },
+ { 0x6BA3, 100058 },
+ { 0x6BC2, 100062 },
+ { 0x6BCB, 100066 },
+ { 0x6BC6, 100071 },
+ { 0x6BC4, 100076 },
+ { 0x6BC3, 100084 },
+ { 0x6BC7, 100089 },
+ { 0x6BC8, 100094 },
+ { 0x6BC5, 100102 },
+ { 0x6BC9, 100110 },
+ { 0x6BCA, 100115 },
+ { 0x6BA1, 100121 },
+ { 0x6BA8, 100125 },
+ { 0x6BAB, 100129 },
+ { 0x6BA2, 100134 },
+ { 0x6BB0, 100138 },
+ { 0x6BB1, 100142 },
+ { 0x6BAE, 100149 },
+ { 0x6BA0, 100156 },
+ { 0x6BA4, 100160 },
+ { 0x6BB9, 100164 },
+ { 0x6BB2, 100168 },
+ { 0x6BB3, 100172 },
+ { 0x6BBA, 100177 },
+ { 0x6BBB, 100181 },
+ { 0x6BA5, 100185 },
+ { 0x6BAA, 100189 },
+ { 0x6BAC, 100193 },
+ { 0x6BA9, 100198 },
+ { 0x6BA6, 100202 },
+ { 0x6B7C, 100206 },
+ { 0x6B7B, 100209 },
+ { 0x6BCC, 100212 },
+ { 0x6B92, 100215 },
+ { 0x6B7A, 100218 },
+ { 0x6B5F, 100221 },
+ { 0x6B79, 100224 },
+ { 0x6B63, 100228 },
+ { 0x6B64, 100231 },
+ { 0x6B67, 100236 },
+ { 0x6B70, 100242 },
+ { 0x6B72, 100246 },
+ { 0x6B71, 100250 },
+ { 0x6B74, 100254 },
+ { 0x6B76, 100259 },
+ { 0x6B75, 100264 },
+ { 0x6B77, 100269 },
+ { 0x6B73, 100274 },
+ { 0x6B62, 100278 },
+ { 0x6B6B, 100281 },
+ { 0x6B6C, 100285 },
+ { 0x6B6E, 100289 },
+ { 0x6B6D, 100293 },
+ { 0x6B6F, 100297 },
+ { 0x6B65, 100301 },
+ { 0x6B66, 100304 },
+ { 0x6B81, 100308 },
+ { 0x6B7F, 100312 },
+ { 0x6B7E, 100316 },
+ { 0x6B85, 100320 },
+ { 0x6B83, 100325 },
+ { 0x6B80, 100330 },
+ { 0x6B86, 100334 },
+ { 0x6B87, 100339 },
+ { 0x6B89, 100344 },
+ { 0x6B88, 100349 },
+ { 0x6B84, 100354 },
+ { 0x6B8A, 100358 },
+ { 0x6B8D, 100361 },
+ { 0x6B8B, 100366 },
+ { 0x6B8C, 100371 },
+ { 0x6B6A, 100375 },
+ { 0x6B68, 100378 },
+ { 0x6B7D, 100381 },
+ { 0x6B9D, 100384 },
+ { 0x6B82, 100387 },
+ { 0x6B5C, 100391 },
+ { 0x6B5B, 100395 },
+ { 0x6B58, 100399 },
+ { 0x6B59, 100403 },
+ { 0x6B5A, 100407 },
+ { 0x6B39, 100412 },
+ { 0x6B31, 100416 },
+ { 0x6B21, 100423 },
+ { 0x6B2D, 100432 },
+ { 0x6B1E, 100441 },
+ { 0x6B2A, 100448 },
+ { 0x6B36, 100455 },
+ { 0x6B38, 100461 },
+ { 0x6B56, 100465 },
+ { 0x6B45, 100469 },
+ { 0x6B3F, 100475 },
+ { 0x6B19, 100479 },
+ { 0x6B25, 100487 },
+ { 0x6B1C, 100495 },
+ { 0x6B28, 100501 },
+ { 0x6B3A, 100507 },
+ { 0x6B43, 100511 },
+ { 0x6B30, 100515 },
+ { 0x6B1A, 100521 },
+ { 0x6B26, 100527 },
+ { 0x6B42, 100533 },
+ { 0x6B55, 100537 },
+ { 0x6B41, 100542 },
+ { 0x6B1D, 100546 },
+ { 0x6B29, 100552 },
+ { 0x6B52, 100558 },
+ { 0x6B3D, 100562 },
+ { 0x6B35, 100566 },
+ { 0x6B23, 100572 },
+ { 0x6B2F, 100580 },
+ { 0x6B20, 100588 },
+ { 0x6B2C, 100594 },
+ { 0x6B3C, 100600 },
+ { 0x6B4E, 100604 },
+ { 0x6B4F, 100608 },
+ { 0x6B18, 100613 },
+ { 0x6B24, 100622 },
+ { 0x6B1B, 100631 },
+ { 0x6B27, 100638 },
+ { 0x6B37, 100645 },
+ { 0x6B40, 100650 },
+ { 0x6B33, 100654 },
+ { 0x6B22, 100660 },
+ { 0x6B2E, 100668 },
+ { 0x6B1F, 100676 },
+ { 0x6B2B, 100682 },
+ { 0x6B34, 100688 },
+ { 0x6B44, 100693 },
+ { 0x6B32, 100697 },
+ { 0x6B3B, 100703 },
+ { 0x6B50, 100707 },
+ { 0x6B4B, 100711 },
+ { 0x6B51, 100715 },
+ { 0x6B3E, 100720 },
+ { 0x6B49, 100724 },
+ { 0x6B53, 100728 },
+ { 0x6B4C, 100732 },
+ { 0x6B4D, 100736 },
+ { 0x6B4A, 100743 },
+ { 0x6B57, 100748 },
+ { 0x6B47, 100754 },
+ { 0x6B46, 100760 },
+ { 0x6B48, 100766 },
+ { 0x6B54, 100772 },
+ { 0x8198, 100777 },
{ 0x1D56, 100778 },
- { 0x7B44, 100782 },
+ { 0x7B49, 100782 },
{ 0x22F8, 100784 },
- { 0x7E36, 100789 },
+ { 0x7E3B, 100789 },
{ 0x0006, 100790 },
- { 0x5C47, 100791 },
- { 0x5C48, 100794 },
- { 0x5C49, 100797 },
- { 0x5C4A, 100800 },
- { 0x5C4B, 100803 },
- { 0x5C4C, 100806 },
- { 0x5C4D, 100809 },
- { 0x5C4E, 100812 },
- { 0x5C4F, 100815 },
- { 0x5C50, 100818 },
- { 0x5C52, 100821 },
- { 0x5C53, 100824 },
- { 0x5C54, 100827 },
- { 0x5C55, 100830 },
- { 0x5C56, 100833 },
- { 0x5C57, 100836 },
- { 0x5C58, 100839 },
- { 0x5C59, 100842 },
- { 0x5C5A, 100845 },
- { 0x5C5B, 100848 },
- { 0x5C5C, 100851 },
- { 0x5C5D, 100854 },
- { 0x5C5E, 100857 },
- { 0x5C5F, 100860 },
- { 0x5C60, 100863 },
- { 0x5C61, 100866 },
- { 0x5C63, 100869 },
- { 0x5C64, 100872 },
- { 0x5C65, 100875 },
- { 0x5C66, 100878 },
- { 0x5C67, 100881 },
- { 0x5C68, 100884 },
- { 0x5C69, 100887 },
- { 0x5C6A, 100890 },
- { 0x5C6B, 100893 },
- { 0x5C6C, 100896 },
- { 0x5C6D, 100899 },
- { 0x5C6E, 100902 },
- { 0x5C6F, 100905 },
- { 0x5C71, 100908 },
- { 0x5C72, 100911 },
- { 0x5C74, 100914 },
- { 0x5C75, 100917 },
- { 0x5C76, 100920 },
- { 0x5C77, 100923 },
- { 0x5C79, 100926 },
- { 0x5C7C, 100929 },
- { 0x5C7D, 100932 },
- { 0x5C7E, 100935 },
- { 0x5C7F, 100938 },
- { 0x5C80, 100941 },
- { 0x5C81, 100944 },
- { 0x5C82, 100947 },
- { 0x5C83, 100950 },
- { 0x5C84, 100953 },
- { 0x5C85, 100956 },
- { 0x5C86, 100959 },
- { 0x5C87, 100962 },
- { 0x5C88, 100965 },
- { 0x5C89, 100968 },
- { 0x5C8A, 100971 },
- { 0x5C8B, 100974 },
- { 0x5C8C, 100977 },
- { 0x5C8D, 100980 },
- { 0x5C8E, 100983 },
- { 0x5C8F, 100986 },
- { 0x5C93, 100989 },
- { 0x5C94, 100992 },
- { 0x5C95, 100995 },
- { 0x5C96, 100998 },
- { 0x5C97, 101001 },
- { 0x5C98, 101004 },
- { 0x5C99, 101007 },
- { 0x5C9A, 101010 },
- { 0x5C9B, 101013 },
- { 0x5C9C, 101016 },
- { 0x5C9D, 101019 },
- { 0x5C9E, 101022 },
- { 0x5C9F, 101025 },
- { 0x5CA0, 101028 },
- { 0x5CA1, 101031 },
- { 0x5CA2, 101034 },
- { 0x5CA3, 101037 },
- { 0x5CA4, 101040 },
- { 0x5CA5, 101043 },
- { 0x5CA6, 101046 },
- { 0x5CA7, 101049 },
- { 0x5CA8, 101052 },
- { 0x5CA9, 101055 },
- { 0x5CAA, 101058 },
- { 0x5CAB, 101061 },
- { 0x5CAC, 101064 },
- { 0x5CAD, 101067 },
- { 0x5CAE, 101070 },
- { 0x5CAF, 101073 },
- { 0x5CB0, 101076 },
- { 0x5CB1, 101079 },
- { 0x5CB3, 101082 },
- { 0x5CB5, 101085 },
- { 0x5CB6, 101088 },
- { 0x5CB8, 101091 },
- { 0x5CBA, 101094 },
- { 0x5CBC, 101097 },
- { 0x5CBD, 101100 },
- { 0x5CC1, 101103 },
- { 0x5CC4, 101106 },
- { 0x5CC5, 101109 },
- { 0x5CC9, 101112 },
- { 0x5CCA, 101115 },
- { 0x5CCB, 101118 },
- { 0x5CCE, 101121 },
- { 0x5CCF, 101124 },
- { 0x5CD0, 101127 },
- { 0x5CD1, 101130 },
- { 0x5CD2, 101133 },
- { 0x5CD4, 101136 },
- { 0x5CD5, 101139 },
- { 0x5CD6, 101142 },
- { 0x5CD7, 101145 },
- { 0x5CD8, 101148 },
- { 0x5CD9, 101151 },
- { 0x5CDA, 101154 },
- { 0x5CDB, 101157 },
- { 0x5CDC, 101160 },
- { 0x5CDD, 101163 },
- { 0x5CDF, 101166 },
- { 0x5CE0, 101169 },
- { 0x5CE1, 101172 },
- { 0x5CE2, 101175 },
- { 0x5CE3, 101178 },
- { 0x5CE4, 101181 },
- { 0x5CE5, 101184 },
- { 0x5CE6, 101187 },
- { 0x5CE7, 101190 },
- { 0x5CE8, 101193 },
- { 0x5CEA, 101196 },
- { 0x5CEB, 101199 },
- { 0x5CEC, 101202 },
- { 0x5CED, 101205 },
- { 0x5CEE, 101208 },
- { 0x5CEF, 101211 },
- { 0x5CF0, 101214 },
- { 0x5CF1, 101217 },
- { 0x5CF2, 101220 },
- { 0x5CF3, 101223 },
- { 0x5CF4, 101226 },
- { 0x5CF5, 101229 },
- { 0x5CF6, 101232 },
- { 0x5CF7, 101235 },
- { 0x5CF8, 101238 },
- { 0x5CF9, 101241 },
- { 0x5CFA, 101244 },
- { 0x5CFB, 101247 },
- { 0x5CFC, 101250 },
- { 0x5CFD, 101253 },
- { 0x5CFE, 101256 },
- { 0x5CFF, 101259 },
- { 0x5D00, 101262 },
- { 0x5D01, 101265 },
- { 0x5D02, 101268 },
- { 0x5D03, 101271 },
- { 0x5D04, 101274 },
- { 0x5D05, 101277 },
- { 0x5D06, 101280 },
- { 0x5D07, 101283 },
- { 0x5D08, 101286 },
- { 0x5D09, 101289 },
- { 0x5D0A, 101292 },
- { 0x5D0B, 101295 },
- { 0x5D0C, 101298 },
- { 0x5D0D, 101301 },
- { 0x5D0E, 101304 },
- { 0x5D0F, 101307 },
- { 0x5D10, 101310 },
- { 0x5D11, 101313 },
- { 0x5D12, 101316 },
- { 0x5D13, 101319 },
- { 0x5D14, 101322 },
- { 0x5D15, 101325 },
- { 0x5D16, 101328 },
- { 0x5D17, 101331 },
- { 0x5D18, 101334 },
- { 0x5D19, 101337 },
- { 0x5D1A, 101340 },
- { 0x5D1B, 101343 },
- { 0x5D1C, 101346 },
- { 0x5D1D, 101349 },
- { 0x5D1E, 101352 },
- { 0x5D1F, 101355 },
- { 0x5D20, 101358 },
- { 0x5D21, 101361 },
- { 0x5D22, 101364 },
- { 0x5D23, 101367 },
- { 0x5D24, 101370 },
- { 0x5D25, 101373 },
- { 0x5D26, 101376 },
- { 0x5D27, 101379 },
- { 0x5D28, 101382 },
- { 0x5D29, 101385 },
- { 0x5D2A, 101388 },
- { 0x5D2B, 101391 },
- { 0x5D2C, 101394 },
- { 0x5D2F, 101397 },
- { 0x5D30, 101400 },
- { 0x5D31, 101403 },
- { 0x5D32, 101406 },
- { 0x5D33, 101409 },
- { 0x5D35, 101412 },
- { 0x5D36, 101415 },
- { 0x5D38, 101418 },
- { 0x5D39, 101421 },
- { 0x5D3A, 101424 },
- { 0x5D3B, 101427 },
- { 0x5D3C, 101430 },
- { 0x5D3D, 101433 },
- { 0x5D3F, 101436 },
- { 0x5D41, 101439 },
- { 0x5D42, 101442 },
- { 0x5D43, 101445 },
- { 0x5D44, 101448 },
- { 0x5D45, 101451 },
- { 0x5D46, 101454 },
- { 0x5D47, 101457 },
- { 0x5D48, 101460 },
- { 0x5D49, 101463 },
- { 0x5D4A, 101466 },
- { 0x5D4B, 101469 },
- { 0x5D4D, 101472 },
- { 0x5D4E, 101475 },
- { 0x5D4F, 101478 },
- { 0x5D50, 101481 },
- { 0x5D51, 101484 },
- { 0x5D52, 101487 },
- { 0x5D53, 101490 },
- { 0x5D54, 101493 },
- { 0x5D55, 101496 },
- { 0x5D56, 101499 },
- { 0x5D57, 101502 },
- { 0x5D58, 101505 },
- { 0x5D59, 101508 },
- { 0x5D5A, 101511 },
- { 0x5D5B, 101514 },
- { 0x5D5C, 101517 },
- { 0x5D5D, 101520 },
- { 0x5D5E, 101523 },
- { 0x5D5F, 101526 },
- { 0x5D60, 101529 },
- { 0x5D61, 101532 },
- { 0x5D62, 101535 },
- { 0x5D63, 101538 },
- { 0x5D64, 101541 },
- { 0x5D65, 101544 },
- { 0x5D66, 101547 },
- { 0x5D67, 101550 },
- { 0x5D68, 101553 },
- { 0x5D69, 101556 },
- { 0x5D6A, 101559 },
- { 0x5D6B, 101562 },
- { 0x5D6C, 101565 },
- { 0x5D6D, 101568 },
- { 0x5D6E, 101571 },
- { 0x5D6F, 101574 },
- { 0x5D70, 101577 },
- { 0x5D71, 101580 },
- { 0x5D72, 101583 },
- { 0x5D73, 101586 },
- { 0x5D74, 101589 },
- { 0x5D76, 101592 },
- { 0x5D77, 101595 },
- { 0x5D78, 101598 },
- { 0x5D79, 101601 },
- { 0x5D7A, 101604 },
- { 0x5D7B, 101607 },
- { 0x5D7C, 101610 },
- { 0x5D7D, 101613 },
- { 0x5D7E, 101616 },
- { 0x5D7F, 101619 },
- { 0x5D80, 101622 },
- { 0x5D81, 101625 },
- { 0x5D82, 101628 },
- { 0x5D83, 101631 },
- { 0x5D84, 101634 },
- { 0x5D85, 101637 },
- { 0x5D86, 101640 },
- { 0x5D87, 101643 },
- { 0x5D88, 101646 },
- { 0x5D89, 101649 },
- { 0x5D8A, 101652 },
- { 0x5D8B, 101655 },
- { 0x5D8D, 101658 },
- { 0x5D8E, 101661 },
- { 0x5D8F, 101664 },
- { 0x5D90, 101667 },
- { 0x5D91, 101670 },
- { 0x5D93, 101673 },
- { 0x5D94, 101676 },
- { 0x5D95, 101679 },
- { 0x5D96, 101682 },
- { 0x5D97, 101685 },
- { 0x5D99, 101688 },
- { 0x5D9A, 101691 },
- { 0x5D9B, 101694 },
- { 0x5D9C, 101697 },
- { 0x5D9D, 101700 },
- { 0x5D9E, 101703 },
- { 0x5D9F, 101706 },
- { 0x5DA0, 101709 },
- { 0x5DA1, 101712 },
- { 0x5DA2, 101715 },
- { 0x5DA4, 101718 },
- { 0x5DA5, 101721 },
- { 0x5DA6, 101724 },
- { 0x5DA7, 101727 },
- { 0x5DA8, 101730 },
- { 0x5DA9, 101733 },
- { 0x5DAA, 101736 },
- { 0x5DAB, 101739 },
- { 0x5DAC, 101742 },
- { 0x5DAD, 101745 },
- { 0x5DAE, 101748 },
- { 0x5DAF, 101751 },
- { 0x5DB0, 101754 },
- { 0x5DB1, 101757 },
- { 0x5DB2, 101760 },
- { 0x5DB3, 101763 },
- { 0x5DB4, 101766 },
- { 0x5DB5, 101769 },
- { 0x5DB6, 101772 },
- { 0x5DB7, 101775 },
- { 0x5DB9, 101778 },
- { 0x5DBA, 101781 },
- { 0x5DBE, 101784 },
- { 0x5DBF, 101787 },
- { 0x5DC0, 101790 },
- { 0x5DC1, 101793 },
- { 0x5DC5, 101796 },
- { 0x5DC6, 101799 },
- { 0x5DC7, 101802 },
- { 0x5DC8, 101805 },
- { 0x5DC9, 101808 },
- { 0x5DCA, 101811 },
- { 0x5DCB, 101814 },
- { 0x5DCC, 101817 },
- { 0x5DCD, 101820 },
- { 0x5DCE, 101823 },
- { 0x5DCF, 101826 },
- { 0x5DD0, 101829 },
- { 0x5DD1, 101832 },
- { 0x5DD2, 101835 },
- { 0x5DD3, 101838 },
- { 0x5DD4, 101841 },
- { 0x5DD5, 101844 },
- { 0x5DD6, 101847 },
- { 0x5DD7, 101850 },
- { 0x5DD8, 101853 },
- { 0x5DD9, 101856 },
- { 0x5DDA, 101859 },
- { 0x5DDB, 101862 },
- { 0x5DDD, 101865 },
- { 0x5DDE, 101868 },
- { 0x5DDF, 101871 },
- { 0x5DE0, 101874 },
- { 0x5DE1, 101877 },
- { 0x5DE3, 101880 },
- { 0x5DE4, 101883 },
- { 0x5DE5, 101886 },
- { 0x5DE6, 101889 },
- { 0x5DE8, 101892 },
- { 0x5DE9, 101895 },
- { 0x5DEA, 101898 },
- { 0x5DEC, 101901 },
- { 0x5DED, 101904 },
- { 0x5DEE, 101907 },
- { 0x5DEF, 101910 },
- { 0x5DF0, 101913 },
- { 0x5DF1, 101916 },
- { 0x5DF2, 101919 },
- { 0x5DF3, 101922 },
- { 0x5DF4, 101925 },
- { 0x5DF5, 101928 },
- { 0x5DF7, 101931 },
- { 0x5DF8, 101934 },
- { 0x5DFA, 101940 },
- { 0x5DFB, 101943 },
- { 0x5DFC, 101946 },
- { 0x5DFE, 101949 },
- { 0x5DFF, 101952 },
- { 0x5E00, 101955 },
- { 0x5E01, 101958 },
- { 0x5E02, 101961 },
- { 0x5E03, 101964 },
- { 0x5E04, 101967 },
- { 0x5E05, 101971 },
- { 0x5E06, 101974 },
- { 0x5E07, 101977 },
- { 0x5E08, 101980 },
- { 0x5E09, 101983 },
- { 0x5E0A, 101986 },
- { 0x5E0B, 101989 },
- { 0x5E0C, 101992 },
- { 0x5E0D, 101995 },
- { 0x5E0E, 101998 },
- { 0x5E0F, 102001 },
- { 0x5E10, 102004 },
- { 0x5E11, 102007 },
- { 0x5E12, 102010 },
- { 0x5E13, 102013 },
- { 0x5E14, 102016 },
- { 0x5E15, 102019 },
- { 0x5E17, 102025 },
- { 0x5E18, 102028 },
- { 0x5E19, 102031 },
- { 0x5E1A, 102034 },
- { 0x5E1B, 102037 },
- { 0x5E1C, 102040 },
- { 0x5E1D, 102043 },
- { 0x5E1E, 102046 },
- { 0x5E1F, 102049 },
- { 0x5E20, 102052 },
- { 0x5E21, 102055 },
- { 0x5E22, 102058 },
- { 0x5E23, 102061 },
- { 0x5E24, 102064 },
- { 0x5E25, 102067 },
- { 0x5E26, 102070 },
- { 0x5E27, 102073 },
- { 0x5E28, 102076 },
- { 0x5E29, 102079 },
- { 0x5E2A, 102082 },
- { 0x5E2B, 102085 },
- { 0x5E2C, 102088 },
- { 0x5E2D, 102091 },
- { 0x5E2E, 102094 },
- { 0x5E2F, 102097 },
- { 0x5E30, 102100 },
- { 0x5E31, 102103 },
- { 0x5E32, 102106 },
- { 0x5E33, 102109 },
- { 0x5E34, 102112 },
- { 0x5E35, 102115 },
- { 0x5E36, 102118 },
- { 0x5E37, 102121 },
- { 0x5E38, 102124 },
- { 0x5E39, 102127 },
- { 0x5E3A, 102130 },
- { 0x5E3B, 102133 },
- { 0x5E3C, 102136 },
- { 0x5E3D, 102139 },
- { 0x5E3E, 102142 },
- { 0x5E40, 102145 },
- { 0x5E41, 102148 },
- { 0x5E42, 102151 },
- { 0x5E43, 102154 },
- { 0x5E44, 102157 },
- { 0x5E45, 102160 },
- { 0x5E46, 102163 },
- { 0x5E48, 102166 },
- { 0x5E49, 102169 },
- { 0x5E4A, 102172 },
- { 0x5E4B, 102175 },
- { 0x5E4C, 102178 },
- { 0x5E4D, 102181 },
- { 0x5E4E, 102184 },
- { 0x5E4F, 102187 },
- { 0x5E50, 102190 },
- { 0x5E51, 102193 },
- { 0x5E52, 102196 },
- { 0x5E53, 102199 },
- { 0x5E54, 102202 },
- { 0x5E55, 102205 },
- { 0x5E56, 102208 },
- { 0x5E57, 102211 },
- { 0x5E58, 102214 },
- { 0x5E59, 102217 },
- { 0x5E5A, 102220 },
- { 0x5E5B, 102223 },
- { 0x5E5C, 102226 },
- { 0x5E5D, 102229 },
- { 0x5E5E, 102232 },
- { 0x5E5F, 102235 },
- { 0x5E60, 102238 },
- { 0x5E61, 102241 },
- { 0x5E62, 102244 },
- { 0x5E63, 102247 },
- { 0x5E64, 102250 },
- { 0x5E65, 102253 },
- { 0x5E66, 102256 },
- { 0x5E67, 102259 },
- { 0x5E68, 102262 },
- { 0x5E69, 102265 },
- { 0x5E6A, 102268 },
- { 0x5E6B, 102271 },
- { 0x5E6C, 102274 },
- { 0x5E6D, 102277 },
- { 0x5E6E, 102280 },
- { 0x5E6F, 102283 },
- { 0x5E70, 102286 },
- { 0x5E71, 102289 },
- { 0x5E72, 102292 },
- { 0x5E73, 102295 },
- { 0x5E74, 102298 },
- { 0x5E75, 102301 },
- { 0x5E76, 102304 },
- { 0x5E77, 102307 },
- { 0x5E78, 102310 },
- { 0x5E79, 102313 },
- { 0x5E7A, 102316 },
- { 0x5E7B, 102319 },
- { 0x5E7C, 102322 },
- { 0x5E7D, 102325 },
- { 0x5E7E, 102328 },
- { 0x5E7F, 102331 },
- { 0x5E80, 102334 },
- { 0x5E81, 102337 },
- { 0x5E82, 102340 },
- { 0x5E83, 102343 },
- { 0x5E84, 102346 },
- { 0x5E85, 102349 },
- { 0x5E86, 102352 },
- { 0x5E87, 102355 },
- { 0x5E88, 102358 },
- { 0x5E89, 102361 },
- { 0x5E8A, 102364 },
- { 0x5E8B, 102367 },
- { 0x5E8C, 102370 },
- { 0x5E8D, 102373 },
- { 0x5C51, 102376 },
- { 0x5C62, 102379 },
- { 0x5C70, 102382 },
- { 0x5C73, 102385 },
- { 0x5C78, 102388 },
- { 0x5C7A, 102391 },
- { 0x5C7B, 102394 },
- { 0x5C90, 102397 },
- { 0x5C91, 102400 },
- { 0x5C92, 102403 },
- { 0x5CB2, 102406 },
- { 0x5CB4, 102409 },
- { 0x5CB7, 102412 },
- { 0x5CB9, 102415 },
- { 0x5CBB, 102418 },
- { 0x5CBE, 102421 },
- { 0x5CBF, 102424 },
- { 0x5CC0, 102427 },
- { 0x5CC2, 102430 },
- { 0x5CC3, 102433 },
- { 0x5CC6, 102436 },
- { 0x5CC7, 102439 },
- { 0x5CC8, 102442 },
- { 0x5CCC, 102445 },
- { 0x5CCD, 102448 },
- { 0x5CD3, 102451 },
- { 0x5CDE, 102454 },
- { 0x5CE9, 102457 },
- { 0x5D2D, 102460 },
- { 0x5D2E, 102463 },
- { 0x5D34, 102466 },
- { 0x5D37, 102469 },
- { 0x5D3E, 102472 },
- { 0x5D40, 102475 },
- { 0x5D4C, 102478 },
- { 0x5D75, 102481 },
- { 0x5D8C, 102484 },
- { 0x5D92, 102487 },
- { 0x5D98, 102490 },
- { 0x5DA3, 102493 },
- { 0x5DB8, 102496 },
- { 0x5DBB, 102499 },
- { 0x5DBC, 102502 },
- { 0x5DBD, 102505 },
- { 0x5DC2, 102508 },
- { 0x5DC3, 102511 },
- { 0x5DC4, 102514 },
- { 0x5DDC, 102517 },
- { 0x5DE2, 102520 },
- { 0x5DE7, 102523 },
- { 0x5DEB, 102526 },
- { 0x5DF6, 102529 },
- { 0x5DF9, 102532 },
- { 0x5DFD, 102535 },
- { 0x5E16, 102538 },
- { 0x5E3F, 102544 },
- { 0x5E47, 102547 },
- { 0x7DCC, 102550 },
+ { 0x5C4C, 100791 },
+ { 0x5C4D, 100794 },
+ { 0x5C4E, 100797 },
+ { 0x5C4F, 100800 },
+ { 0x5C50, 100803 },
+ { 0x5C51, 100806 },
+ { 0x5C52, 100809 },
+ { 0x5C53, 100812 },
+ { 0x5C54, 100815 },
+ { 0x5C55, 100818 },
+ { 0x5C57, 100821 },
+ { 0x5C58, 100824 },
+ { 0x5C59, 100827 },
+ { 0x5C5A, 100830 },
+ { 0x5C5B, 100833 },
+ { 0x5C5C, 100836 },
+ { 0x5C5D, 100839 },
+ { 0x5C5E, 100842 },
+ { 0x5C5F, 100845 },
+ { 0x5C60, 100848 },
+ { 0x5C61, 100851 },
+ { 0x5C62, 100854 },
+ { 0x5C63, 100857 },
+ { 0x5C64, 100860 },
+ { 0x5C65, 100863 },
+ { 0x5C66, 100866 },
+ { 0x5C68, 100869 },
+ { 0x5C69, 100872 },
+ { 0x5C6A, 100875 },
+ { 0x5C6B, 100878 },
+ { 0x5C6C, 100881 },
+ { 0x5C6D, 100884 },
+ { 0x5C6E, 100887 },
+ { 0x5C6F, 100890 },
+ { 0x5C70, 100893 },
+ { 0x5C71, 100896 },
+ { 0x5C72, 100899 },
+ { 0x5C73, 100902 },
+ { 0x5C74, 100905 },
+ { 0x5C76, 100908 },
+ { 0x5C77, 100911 },
+ { 0x5C79, 100914 },
+ { 0x5C7A, 100917 },
+ { 0x5C7B, 100920 },
+ { 0x5C7C, 100923 },
+ { 0x5C7E, 100926 },
+ { 0x5C81, 100929 },
+ { 0x5C82, 100932 },
+ { 0x5C83, 100935 },
+ { 0x5C84, 100938 },
+ { 0x5C85, 100941 },
+ { 0x5C86, 100944 },
+ { 0x5C87, 100947 },
+ { 0x5C88, 100950 },
+ { 0x5C89, 100953 },
+ { 0x5C8A, 100956 },
+ { 0x5C8B, 100959 },
+ { 0x5C8C, 100962 },
+ { 0x5C8D, 100965 },
+ { 0x5C8E, 100968 },
+ { 0x5C8F, 100971 },
+ { 0x5C90, 100974 },
+ { 0x5C91, 100977 },
+ { 0x5C92, 100980 },
+ { 0x5C93, 100983 },
+ { 0x5C94, 100986 },
+ { 0x5C98, 100989 },
+ { 0x5C99, 100992 },
+ { 0x5C9A, 100995 },
+ { 0x5C9B, 100998 },
+ { 0x5C9C, 101001 },
+ { 0x5C9D, 101004 },
+ { 0x5C9E, 101007 },
+ { 0x5C9F, 101010 },
+ { 0x5CA0, 101013 },
+ { 0x5CA1, 101016 },
+ { 0x5CA2, 101019 },
+ { 0x5CA3, 101022 },
+ { 0x5CA4, 101025 },
+ { 0x5CA5, 101028 },
+ { 0x5CA6, 101031 },
+ { 0x5CA7, 101034 },
+ { 0x5CA8, 101037 },
+ { 0x5CA9, 101040 },
+ { 0x5CAA, 101043 },
+ { 0x5CAB, 101046 },
+ { 0x5CAC, 101049 },
+ { 0x5CAD, 101052 },
+ { 0x5CAE, 101055 },
+ { 0x5CAF, 101058 },
+ { 0x5CB0, 101061 },
+ { 0x5CB1, 101064 },
+ { 0x5CB2, 101067 },
+ { 0x5CB3, 101070 },
+ { 0x5CB4, 101073 },
+ { 0x5CB5, 101076 },
+ { 0x5CB6, 101079 },
+ { 0x5CB8, 101082 },
+ { 0x5CBA, 101085 },
+ { 0x5CBB, 101088 },
+ { 0x5CBD, 101091 },
+ { 0x5CBF, 101094 },
+ { 0x5CC1, 101097 },
+ { 0x5CC2, 101100 },
+ { 0x5CC6, 101103 },
+ { 0x5CC9, 101106 },
+ { 0x5CCA, 101109 },
+ { 0x5CCE, 101112 },
+ { 0x5CCF, 101115 },
+ { 0x5CD0, 101118 },
+ { 0x5CD3, 101121 },
+ { 0x5CD4, 101124 },
+ { 0x5CD5, 101127 },
+ { 0x5CD6, 101130 },
+ { 0x5CD7, 101133 },
+ { 0x5CD9, 101136 },
+ { 0x5CDA, 101139 },
+ { 0x5CDB, 101142 },
+ { 0x5CDC, 101145 },
+ { 0x5CDD, 101148 },
+ { 0x5CDE, 101151 },
+ { 0x5CDF, 101154 },
+ { 0x5CE0, 101157 },
+ { 0x5CE1, 101160 },
+ { 0x5CE2, 101163 },
+ { 0x5CE4, 101166 },
+ { 0x5CE5, 101169 },
+ { 0x5CE6, 101172 },
+ { 0x5CE7, 101175 },
+ { 0x5CE8, 101178 },
+ { 0x5CE9, 101181 },
+ { 0x5CEA, 101184 },
+ { 0x5CEB, 101187 },
+ { 0x5CEC, 101190 },
+ { 0x5CED, 101193 },
+ { 0x5CEF, 101196 },
+ { 0x5CF0, 101199 },
+ { 0x5CF1, 101202 },
+ { 0x5CF2, 101205 },
+ { 0x5CF3, 101208 },
+ { 0x5CF4, 101211 },
+ { 0x5CF5, 101214 },
+ { 0x5CF6, 101217 },
+ { 0x5CF7, 101220 },
+ { 0x5CF8, 101223 },
+ { 0x5CF9, 101226 },
+ { 0x5CFA, 101229 },
+ { 0x5CFB, 101232 },
+ { 0x5CFC, 101235 },
+ { 0x5CFD, 101238 },
+ { 0x5CFE, 101241 },
+ { 0x5CFF, 101244 },
+ { 0x5D00, 101247 },
+ { 0x5D01, 101250 },
+ { 0x5D02, 101253 },
+ { 0x5D03, 101256 },
+ { 0x5D04, 101259 },
+ { 0x5D05, 101262 },
+ { 0x5D06, 101265 },
+ { 0x5D07, 101268 },
+ { 0x5D08, 101271 },
+ { 0x5D09, 101274 },
+ { 0x5D0A, 101277 },
+ { 0x5D0B, 101280 },
+ { 0x5D0C, 101283 },
+ { 0x5D0D, 101286 },
+ { 0x5D0E, 101289 },
+ { 0x5D0F, 101292 },
+ { 0x5D10, 101295 },
+ { 0x5D11, 101298 },
+ { 0x5D12, 101301 },
+ { 0x5D13, 101304 },
+ { 0x5D14, 101307 },
+ { 0x5D15, 101310 },
+ { 0x5D16, 101313 },
+ { 0x5D17, 101316 },
+ { 0x5D18, 101319 },
+ { 0x5D19, 101322 },
+ { 0x5D1A, 101325 },
+ { 0x5D1B, 101328 },
+ { 0x5D1C, 101331 },
+ { 0x5D1D, 101334 },
+ { 0x5D1E, 101337 },
+ { 0x5D1F, 101340 },
+ { 0x5D20, 101343 },
+ { 0x5D21, 101346 },
+ { 0x5D22, 101349 },
+ { 0x5D23, 101352 },
+ { 0x5D24, 101355 },
+ { 0x5D25, 101358 },
+ { 0x5D26, 101361 },
+ { 0x5D27, 101364 },
+ { 0x5D28, 101367 },
+ { 0x5D29, 101370 },
+ { 0x5D2A, 101373 },
+ { 0x5D2B, 101376 },
+ { 0x5D2C, 101379 },
+ { 0x5D2D, 101382 },
+ { 0x5D2E, 101385 },
+ { 0x5D2F, 101388 },
+ { 0x5D30, 101391 },
+ { 0x5D31, 101394 },
+ { 0x5D34, 101397 },
+ { 0x5D35, 101400 },
+ { 0x5D36, 101403 },
+ { 0x5D37, 101406 },
+ { 0x5D38, 101409 },
+ { 0x5D3A, 101412 },
+ { 0x5D3B, 101415 },
+ { 0x5D3D, 101418 },
+ { 0x5D3E, 101421 },
+ { 0x5D3F, 101424 },
+ { 0x5D40, 101427 },
+ { 0x5D41, 101430 },
+ { 0x5D42, 101433 },
+ { 0x5D44, 101436 },
+ { 0x5D46, 101439 },
+ { 0x5D47, 101442 },
+ { 0x5D48, 101445 },
+ { 0x5D49, 101448 },
+ { 0x5D4A, 101451 },
+ { 0x5D4B, 101454 },
+ { 0x5D4C, 101457 },
+ { 0x5D4D, 101460 },
+ { 0x5D4E, 101463 },
+ { 0x5D4F, 101466 },
+ { 0x5D50, 101469 },
+ { 0x5D52, 101472 },
+ { 0x5D53, 101475 },
+ { 0x5D54, 101478 },
+ { 0x5D55, 101481 },
+ { 0x5D56, 101484 },
+ { 0x5D57, 101487 },
+ { 0x5D58, 101490 },
+ { 0x5D59, 101493 },
+ { 0x5D5A, 101496 },
+ { 0x5D5B, 101499 },
+ { 0x5D5C, 101502 },
+ { 0x5D5D, 101505 },
+ { 0x5D5E, 101508 },
+ { 0x5D5F, 101511 },
+ { 0x5D60, 101514 },
+ { 0x5D61, 101517 },
+ { 0x5D62, 101520 },
+ { 0x5D63, 101523 },
+ { 0x5D64, 101526 },
+ { 0x5D65, 101529 },
+ { 0x5D66, 101532 },
+ { 0x5D67, 101535 },
+ { 0x5D68, 101538 },
+ { 0x5D69, 101541 },
+ { 0x5D6A, 101544 },
+ { 0x5D6B, 101547 },
+ { 0x5D6C, 101550 },
+ { 0x5D6D, 101553 },
+ { 0x5D6E, 101556 },
+ { 0x5D6F, 101559 },
+ { 0x5D70, 101562 },
+ { 0x5D71, 101565 },
+ { 0x5D72, 101568 },
+ { 0x5D73, 101571 },
+ { 0x5D74, 101574 },
+ { 0x5D75, 101577 },
+ { 0x5D76, 101580 },
+ { 0x5D77, 101583 },
+ { 0x5D78, 101586 },
+ { 0x5D79, 101589 },
+ { 0x5D7B, 101592 },
+ { 0x5D7C, 101595 },
+ { 0x5D7D, 101598 },
+ { 0x5D7E, 101601 },
+ { 0x5D7F, 101604 },
+ { 0x5D80, 101607 },
+ { 0x5D81, 101610 },
+ { 0x5D82, 101613 },
+ { 0x5D83, 101616 },
+ { 0x5D84, 101619 },
+ { 0x5D85, 101622 },
+ { 0x5D86, 101625 },
+ { 0x5D87, 101628 },
+ { 0x5D88, 101631 },
+ { 0x5D89, 101634 },
+ { 0x5D8A, 101637 },
+ { 0x5D8B, 101640 },
+ { 0x5D8C, 101643 },
+ { 0x5D8D, 101646 },
+ { 0x5D8E, 101649 },
+ { 0x5D8F, 101652 },
+ { 0x5D90, 101655 },
+ { 0x5D92, 101658 },
+ { 0x5D93, 101661 },
+ { 0x5D94, 101664 },
+ { 0x5D95, 101667 },
+ { 0x5D96, 101670 },
+ { 0x5D98, 101673 },
+ { 0x5D99, 101676 },
+ { 0x5D9A, 101679 },
+ { 0x5D9B, 101682 },
+ { 0x5D9C, 101685 },
+ { 0x5D9E, 101688 },
+ { 0x5D9F, 101691 },
+ { 0x5DA0, 101694 },
+ { 0x5DA1, 101697 },
+ { 0x5DA2, 101700 },
+ { 0x5DA3, 101703 },
+ { 0x5DA4, 101706 },
+ { 0x5DA5, 101709 },
+ { 0x5DA6, 101712 },
+ { 0x5DA7, 101715 },
+ { 0x5DA9, 101718 },
+ { 0x5DAA, 101721 },
+ { 0x5DAB, 101724 },
+ { 0x5DAC, 101727 },
+ { 0x5DAD, 101730 },
+ { 0x5DAE, 101733 },
+ { 0x5DAF, 101736 },
+ { 0x5DB0, 101739 },
+ { 0x5DB1, 101742 },
+ { 0x5DB2, 101745 },
+ { 0x5DB3, 101748 },
+ { 0x5DB4, 101751 },
+ { 0x5DB5, 101754 },
+ { 0x5DB6, 101757 },
+ { 0x5DB7, 101760 },
+ { 0x5DB8, 101763 },
+ { 0x5DB9, 101766 },
+ { 0x5DBA, 101769 },
+ { 0x5DBB, 101772 },
+ { 0x5DBC, 101775 },
+ { 0x5DBE, 101778 },
+ { 0x5DBF, 101781 },
+ { 0x5DC3, 101784 },
+ { 0x5DC4, 101787 },
+ { 0x5DC5, 101790 },
+ { 0x5DC6, 101793 },
+ { 0x5DCA, 101796 },
+ { 0x5DCB, 101799 },
+ { 0x5DCC, 101802 },
+ { 0x5DCD, 101805 },
+ { 0x5DCE, 101808 },
+ { 0x5DCF, 101811 },
+ { 0x5DD0, 101814 },
+ { 0x5DD1, 101817 },
+ { 0x5DD2, 101820 },
+ { 0x5DD3, 101823 },
+ { 0x5DD4, 101826 },
+ { 0x5DD5, 101829 },
+ { 0x5DD6, 101832 },
+ { 0x5DD7, 101835 },
+ { 0x5DD8, 101838 },
+ { 0x5DD9, 101841 },
+ { 0x5DDA, 101844 },
+ { 0x5DDB, 101847 },
+ { 0x5DDC, 101850 },
+ { 0x5DDD, 101853 },
+ { 0x5DDE, 101856 },
+ { 0x5DDF, 101859 },
+ { 0x5DE0, 101862 },
+ { 0x5DE2, 101865 },
+ { 0x5DE3, 101868 },
+ { 0x5DE4, 101871 },
+ { 0x5DE5, 101874 },
+ { 0x5DE6, 101877 },
+ { 0x5DE8, 101880 },
+ { 0x5DE9, 101883 },
+ { 0x5DEA, 101886 },
+ { 0x5DEB, 101889 },
+ { 0x5DED, 101892 },
+ { 0x5DEE, 101895 },
+ { 0x5DEF, 101898 },
+ { 0x5DF1, 101901 },
+ { 0x5DF2, 101904 },
+ { 0x5DF3, 101907 },
+ { 0x5DF4, 101910 },
+ { 0x5DF5, 101913 },
+ { 0x5DF6, 101916 },
+ { 0x5DF7, 101919 },
+ { 0x5DF8, 101922 },
+ { 0x5DF9, 101925 },
+ { 0x5DFA, 101928 },
+ { 0x5DFC, 101931 },
+ { 0x5DFD, 101934 },
+ { 0x5DFF, 101940 },
+ { 0x5E00, 101943 },
+ { 0x5E01, 101946 },
+ { 0x5E03, 101949 },
+ { 0x5E04, 101952 },
+ { 0x5E05, 101955 },
+ { 0x5E06, 101958 },
+ { 0x5E07, 101961 },
+ { 0x5E08, 101964 },
+ { 0x5E09, 101967 },
+ { 0x5E0A, 101971 },
+ { 0x5E0B, 101974 },
+ { 0x5E0C, 101977 },
+ { 0x5E0D, 101980 },
+ { 0x5E0E, 101983 },
+ { 0x5E0F, 101986 },
+ { 0x5E10, 101989 },
+ { 0x5E11, 101992 },
+ { 0x5E12, 101995 },
+ { 0x5E13, 101998 },
+ { 0x5E14, 102001 },
+ { 0x5E15, 102004 },
+ { 0x5E16, 102007 },
+ { 0x5E17, 102010 },
+ { 0x5E18, 102013 },
+ { 0x5E19, 102016 },
+ { 0x5E1A, 102019 },
+ { 0x5E1C, 102025 },
+ { 0x5E1D, 102028 },
+ { 0x5E1E, 102031 },
+ { 0x5E1F, 102034 },
+ { 0x5E20, 102037 },
+ { 0x5E21, 102040 },
+ { 0x5E22, 102043 },
+ { 0x5E23, 102046 },
+ { 0x5E24, 102049 },
+ { 0x5E25, 102052 },
+ { 0x5E26, 102055 },
+ { 0x5E27, 102058 },
+ { 0x5E28, 102061 },
+ { 0x5E29, 102064 },
+ { 0x5E2A, 102067 },
+ { 0x5E2B, 102070 },
+ { 0x5E2C, 102073 },
+ { 0x5E2D, 102076 },
+ { 0x5E2E, 102079 },
+ { 0x5E2F, 102082 },
+ { 0x5E30, 102085 },
+ { 0x5E31, 102088 },
+ { 0x5E32, 102091 },
+ { 0x5E33, 102094 },
+ { 0x5E34, 102097 },
+ { 0x5E35, 102100 },
+ { 0x5E36, 102103 },
+ { 0x5E37, 102106 },
+ { 0x5E38, 102109 },
+ { 0x5E39, 102112 },
+ { 0x5E3A, 102115 },
+ { 0x5E3B, 102118 },
+ { 0x5E3C, 102121 },
+ { 0x5E3D, 102124 },
+ { 0x5E3E, 102127 },
+ { 0x5E3F, 102130 },
+ { 0x5E40, 102133 },
+ { 0x5E41, 102136 },
+ { 0x5E42, 102139 },
+ { 0x5E43, 102142 },
+ { 0x5E45, 102145 },
+ { 0x5E46, 102148 },
+ { 0x5E47, 102151 },
+ { 0x5E48, 102154 },
+ { 0x5E49, 102157 },
+ { 0x5E4A, 102160 },
+ { 0x5E4B, 102163 },
+ { 0x5E4D, 102166 },
+ { 0x5E4E, 102169 },
+ { 0x5E4F, 102172 },
+ { 0x5E50, 102175 },
+ { 0x5E51, 102178 },
+ { 0x5E52, 102181 },
+ { 0x5E53, 102184 },
+ { 0x5E54, 102187 },
+ { 0x5E55, 102190 },
+ { 0x5E56, 102193 },
+ { 0x5E57, 102196 },
+ { 0x5E58, 102199 },
+ { 0x5E59, 102202 },
+ { 0x5E5A, 102205 },
+ { 0x5E5B, 102208 },
+ { 0x5E5C, 102211 },
+ { 0x5E5D, 102214 },
+ { 0x5E5E, 102217 },
+ { 0x5E5F, 102220 },
+ { 0x5E60, 102223 },
+ { 0x5E61, 102226 },
+ { 0x5E62, 102229 },
+ { 0x5E63, 102232 },
+ { 0x5E64, 102235 },
+ { 0x5E65, 102238 },
+ { 0x5E66, 102241 },
+ { 0x5E67, 102244 },
+ { 0x5E68, 102247 },
+ { 0x5E69, 102250 },
+ { 0x5E6A, 102253 },
+ { 0x5E6B, 102256 },
+ { 0x5E6C, 102259 },
+ { 0x5E6D, 102262 },
+ { 0x5E6E, 102265 },
+ { 0x5E6F, 102268 },
+ { 0x5E70, 102271 },
+ { 0x5E71, 102274 },
+ { 0x5E72, 102277 },
+ { 0x5E73, 102280 },
+ { 0x5E74, 102283 },
+ { 0x5E75, 102286 },
+ { 0x5E76, 102289 },
+ { 0x5E77, 102292 },
+ { 0x5E78, 102295 },
+ { 0x5E79, 102298 },
+ { 0x5E7A, 102301 },
+ { 0x5E7B, 102304 },
+ { 0x5E7C, 102307 },
+ { 0x5E7D, 102310 },
+ { 0x5E7E, 102313 },
+ { 0x5E7F, 102316 },
+ { 0x5E80, 102319 },
+ { 0x5E81, 102322 },
+ { 0x5E82, 102325 },
+ { 0x5E83, 102328 },
+ { 0x5E84, 102331 },
+ { 0x5E85, 102334 },
+ { 0x5E86, 102337 },
+ { 0x5E87, 102340 },
+ { 0x5E88, 102343 },
+ { 0x5E89, 102346 },
+ { 0x5E8A, 102349 },
+ { 0x5E8B, 102352 },
+ { 0x5E8C, 102355 },
+ { 0x5E8D, 102358 },
+ { 0x5E8E, 102361 },
+ { 0x5E8F, 102364 },
+ { 0x5E90, 102367 },
+ { 0x5E91, 102370 },
+ { 0x5E92, 102373 },
+ { 0x5C56, 102376 },
+ { 0x5C67, 102379 },
+ { 0x5C75, 102382 },
+ { 0x5C78, 102385 },
+ { 0x5C7D, 102388 },
+ { 0x5C7F, 102391 },
+ { 0x5C80, 102394 },
+ { 0x5C95, 102397 },
+ { 0x5C96, 102400 },
+ { 0x5C97, 102403 },
+ { 0x5CB7, 102406 },
+ { 0x5CB9, 102409 },
+ { 0x5CBC, 102412 },
+ { 0x5CBE, 102415 },
+ { 0x5CC0, 102418 },
+ { 0x5CC3, 102421 },
+ { 0x5CC4, 102424 },
+ { 0x5CC5, 102427 },
+ { 0x5CC7, 102430 },
+ { 0x5CC8, 102433 },
+ { 0x5CCB, 102436 },
+ { 0x5CCC, 102439 },
+ { 0x5CCD, 102442 },
+ { 0x5CD1, 102445 },
+ { 0x5CD2, 102448 },
+ { 0x5CD8, 102451 },
+ { 0x5CE3, 102454 },
+ { 0x5CEE, 102457 },
+ { 0x5D32, 102460 },
+ { 0x5D33, 102463 },
+ { 0x5D39, 102466 },
+ { 0x5D3C, 102469 },
+ { 0x5D43, 102472 },
+ { 0x5D45, 102475 },
+ { 0x5D51, 102478 },
+ { 0x5D7A, 102481 },
+ { 0x5D91, 102484 },
+ { 0x5D97, 102487 },
+ { 0x5D9D, 102490 },
+ { 0x5DA8, 102493 },
+ { 0x5DBD, 102496 },
+ { 0x5DC0, 102499 },
+ { 0x5DC1, 102502 },
+ { 0x5DC2, 102505 },
+ { 0x5DC7, 102508 },
+ { 0x5DC8, 102511 },
+ { 0x5DC9, 102514 },
+ { 0x5DE1, 102517 },
+ { 0x5DE7, 102520 },
+ { 0x5DEC, 102523 },
+ { 0x5DF0, 102526 },
+ { 0x5DFB, 102529 },
+ { 0x5DFE, 102532 },
+ { 0x5E02, 102535 },
+ { 0x5E1B, 102538 },
+ { 0x5E44, 102544 },
+ { 0x5E4C, 102547 },
+ { 0x7DD1, 102550 },
{ 0x222D, 102552 },
{ 0x1EF7, 102554 },
- { 0x7AEB, 102555 },
- { 0x7B8C, 102556 },
- { 0x7B9D, 102559 },
- { 0x512C, 102563 },
- { 0x512D, 102566 },
- { 0x5127, 102569 },
- { 0x5126, 102572 },
- { 0x5125, 102575 },
- { 0x5128, 102578 },
- { 0x5124, 102581 },
- { 0x512B, 102584 },
- { 0x5129, 102587 },
- { 0x512F, 102589 },
- { 0x5134, 102592 },
- { 0x5130, 102595 },
- { 0x5133, 102598 },
- { 0x5132, 102601 },
- { 0x5137, 102604 },
- { 0x512E, 102607 },
- { 0x5136, 102610 },
- { 0x5135, 102613 },
- { 0x5131, 102616 },
- { 0x5120, 102619 },
- { 0x5119, 102623 },
- { 0x5122, 102627 },
- { 0x511B, 102631 },
- { 0x5118, 102635 },
- { 0x5121, 102639 },
- { 0x5123, 102643 },
- { 0x511A, 102647 },
- { 0x511C, 102651 },
- { 0x511F, 102655 },
- { 0x511D, 102660 },
- { 0x511E, 102665 },
- { 0x512A, 102670 },
- { 0x50EA, 102673 },
- { 0x50F3, 102676 },
- { 0x50EC, 102679 },
- { 0x50F5, 102682 },
- { 0x50EE, 102685 },
- { 0x50EB, 102688 },
- { 0x50F4, 102691 },
- { 0x50F6, 102694 },
- { 0x510D, 102697 },
- { 0x50FC, 102700 },
- { 0x5108, 102703 },
- { 0x50F9, 102706 },
- { 0x5117, 102709 },
- { 0x50ED, 102712 },
- { 0x50FE, 102715 },
- { 0x50F7, 102718 },
- { 0x5112, 102721 },
- { 0x510F, 102724 },
- { 0x510A, 102727 },
- { 0x510B, 102730 },
- { 0x5111, 102733 },
- { 0x5116, 102736 },
- { 0x5106, 102739 },
- { 0x50EF, 102742 },
- { 0x5113, 102745 },
- { 0x5110, 102748 },
- { 0x510E, 102751 },
- { 0x50FD, 102754 },
- { 0x5103, 102757 },
- { 0x5109, 102760 },
- { 0x50FA, 102763 },
- { 0x50FF, 102766 },
- { 0x50F8, 102769 },
- { 0x50FB, 102772 },
- { 0x5105, 102775 },
- { 0x5100, 102778 },
- { 0x510C, 102781 },
- { 0x5114, 102784 },
- { 0x5115, 102787 },
- { 0x5107, 102790 },
- { 0x5101, 102793 },
- { 0x5104, 102796 },
- { 0x5102, 102799 },
- { 0x50F2, 102802 },
- { 0x50F0, 102806 },
- { 0x50F1, 102810 },
- { 0x5138, 102814 },
- { 0x513D, 102817 },
- { 0x5141, 102820 },
- { 0x5139, 102823 },
- { 0x513C, 102826 },
- { 0x513B, 102829 },
- { 0x5140, 102832 },
- { 0x513F, 102835 },
- { 0x5145, 102838 },
- { 0x5144, 102841 },
- { 0x513E, 102844 },
- { 0x5146, 102847 },
- { 0x513A, 102850 },
- { 0x5148, 102853 },
- { 0x5149, 102856 },
- { 0x5143, 102859 },
- { 0x5142, 102862 },
- { 0x5147, 102865 },
- { 0x514A, 102868 },
- { 0x7E59, 102872 },
- { 0x7B56, 102873 },
+ { 0x7AF0, 102555 },
+ { 0x7B91, 102556 },
+ { 0x7BA2, 102559 },
+ { 0x5131, 102563 },
+ { 0x5132, 102566 },
+ { 0x512C, 102569 },
+ { 0x512B, 102572 },
+ { 0x512A, 102575 },
+ { 0x512D, 102578 },
+ { 0x5129, 102581 },
+ { 0x5130, 102584 },
+ { 0x512E, 102587 },
+ { 0x5134, 102589 },
+ { 0x5139, 102592 },
+ { 0x5135, 102595 },
+ { 0x5138, 102598 },
+ { 0x5137, 102601 },
+ { 0x513C, 102604 },
+ { 0x5133, 102607 },
+ { 0x513B, 102610 },
+ { 0x513A, 102613 },
+ { 0x5136, 102616 },
+ { 0x5125, 102619 },
+ { 0x511E, 102623 },
+ { 0x5127, 102627 },
+ { 0x5120, 102631 },
+ { 0x511D, 102635 },
+ { 0x5126, 102639 },
+ { 0x5128, 102643 },
+ { 0x511F, 102647 },
+ { 0x5121, 102651 },
+ { 0x5124, 102655 },
+ { 0x5122, 102660 },
+ { 0x5123, 102665 },
+ { 0x512F, 102670 },
+ { 0x50EF, 102673 },
+ { 0x50F8, 102676 },
+ { 0x50F1, 102679 },
+ { 0x50FA, 102682 },
+ { 0x50F3, 102685 },
+ { 0x50F0, 102688 },
+ { 0x50F9, 102691 },
+ { 0x50FB, 102694 },
+ { 0x5112, 102697 },
+ { 0x5101, 102700 },
+ { 0x510D, 102703 },
+ { 0x50FE, 102706 },
+ { 0x511C, 102709 },
+ { 0x50F2, 102712 },
+ { 0x5103, 102715 },
+ { 0x50FC, 102718 },
+ { 0x5117, 102721 },
+ { 0x5114, 102724 },
+ { 0x510F, 102727 },
+ { 0x5110, 102730 },
+ { 0x5116, 102733 },
+ { 0x511B, 102736 },
+ { 0x510B, 102739 },
+ { 0x50F4, 102742 },
+ { 0x5118, 102745 },
+ { 0x5115, 102748 },
+ { 0x5113, 102751 },
+ { 0x5102, 102754 },
+ { 0x5108, 102757 },
+ { 0x510E, 102760 },
+ { 0x50FF, 102763 },
+ { 0x5104, 102766 },
+ { 0x50FD, 102769 },
+ { 0x5100, 102772 },
+ { 0x510A, 102775 },
+ { 0x5105, 102778 },
+ { 0x5111, 102781 },
+ { 0x5119, 102784 },
+ { 0x511A, 102787 },
+ { 0x510C, 102790 },
+ { 0x5106, 102793 },
+ { 0x5109, 102796 },
+ { 0x5107, 102799 },
+ { 0x50F7, 102802 },
+ { 0x50F5, 102806 },
+ { 0x50F6, 102810 },
+ { 0x513D, 102814 },
+ { 0x5142, 102817 },
+ { 0x5146, 102820 },
+ { 0x513E, 102823 },
+ { 0x5141, 102826 },
+ { 0x5140, 102829 },
+ { 0x5145, 102832 },
+ { 0x5144, 102835 },
+ { 0x514A, 102838 },
+ { 0x5149, 102841 },
+ { 0x5143, 102844 },
+ { 0x514B, 102847 },
+ { 0x513F, 102850 },
+ { 0x514D, 102853 },
+ { 0x514E, 102856 },
+ { 0x5148, 102859 },
+ { 0x5147, 102862 },
+ { 0x514C, 102865 },
+ { 0x514F, 102868 },
+ { 0x7E5E, 102872 },
+ { 0x7B5B, 102873 },
{ 0x2246, 102874 },
- { 0x8186, 102876 },
- { 0x7C61, 102877 },
- { 0x809F, 102878 },
- { 0x6BFB, 102879 },
- { 0x6BDA, 102883 },
- { 0x6C51, 102888 },
- { 0x6C12, 102892 },
- { 0x6BE6, 102897 },
- { 0x6C0C, 102902 },
- { 0x6C45, 102906 },
- { 0x6BFC, 102912 },
- { 0x6C49, 102916 },
- { 0x6C48, 102921 },
- { 0x6C68, 102926 },
- { 0x6C6A, 102931 },
- { 0x6C66, 102936 },
- { 0x6C6D, 102942 },
- { 0x6C6B, 102948 },
- { 0x6C69, 102953 },
- { 0x6C67, 102958 },
- { 0x6C6C, 102963 },
- { 0x6BFF, 102968 },
- { 0x6BD9, 102974 },
- { 0x6C63, 102979 },
- { 0x6C94, 102983 },
- { 0x6C95, 102988 },
- { 0x6C96, 102993 },
- { 0x6C52, 102998 },
- { 0x6C4C, 103002 },
- { 0x6BFA, 103007 },
- { 0x6C14, 103011 },
- { 0x6BD0, 103016 },
- { 0x6BCF, 103021 },
- { 0x6BCC, 103026 },
- { 0x6BF1, 103030 },
- { 0x6C32, 103034 },
- { 0x6BF9, 103038 },
- { 0x6C44, 103042 },
- { 0x6BE0, 103047 },
- { 0x6BE5, 103051 },
- { 0x6C36, 103055 },
- { 0x6BCD, 103060 },
- { 0x6C9C, 103064 },
- { 0x6C9E, 103071 },
- { 0x6C9F, 103078 },
- { 0x6C9D, 103085 },
- { 0x6C9A, 103092 },
- { 0x6C9B, 103097 },
- { 0x6C2C, 103102 },
- { 0x6C40, 103107 },
- { 0x6C91, 103112 },
- { 0x6C97, 103119 },
- { 0x6C88, 103126 },
- { 0x6C93, 103132 },
- { 0x6C8F, 103137 },
- { 0x6C90, 103144 },
- { 0x6C91, 103151 },
- { 0x6C92, 103158 },
- { 0x6C8A, 103165 },
- { 0x6C00, 103172 },
- { 0x6C85, 103177 },
- { 0x6C89, 103184 },
- { 0x6C8B, 103190 },
- { 0x6C8E, 103196 },
- { 0x6C8D, 103203 },
- { 0x6C86, 103210 },
- { 0x6C8C, 103216 },
- { 0x6C87, 103222 },
- { 0x6C98, 103228 },
- { 0x6CA4, 103234 },
- { 0x6CA5, 103239 },
- { 0x6C5B, 103244 },
- { 0x6CC1, 103250 },
- { 0x6BE2, 103256 },
- { 0x6C5D, 103261 },
- { 0x6C5C, 103267 },
- { 0x6C78, 103273 },
- { 0x6C03, 103279 },
- { 0x6BF0, 103284 },
- { 0x6C4B, 103288 },
- { 0x6CC0, 103293 },
- { 0x6C57, 103298 },
- { 0x6C56, 103304 },
- { 0x6C58, 103310 },
- { 0x6C5A, 103316 },
- { 0x6C59, 103322 },
- { 0x6C23, 103328 },
- { 0x6C13, 103333 },
- { 0x6BE1, 103338 },
- { 0x6C27, 103343 },
- { 0x6BEC, 103347 },
- { 0x6C25, 103352 },
- { 0x6BF2, 103357 },
- { 0x6BE3, 103362 },
- { 0x6BF5, 103366 },
- { 0x6C35, 103370 },
- { 0x6CB4, 103375 },
- { 0x6BDB, 103379 },
- { 0x6C53, 103383 },
- { 0x6C24, 103387 },
- { 0x6BD2, 103392 },
- { 0x6BD1, 103397 },
- { 0x6CA0, 103402 },
- { 0x6CA2, 103409 },
- { 0x6CA3, 103416 },
- { 0x6CA1, 103423 },
- { 0x6C99, 103430 },
- { 0x6C1C, 103435 },
- { 0x6CB8, 103439 },
- { 0x6CB7, 103444 },
- { 0x6CB9, 103449 },
- { 0x6CBB, 103454 },
- { 0x6CB5, 103459 },
- { 0x6CBA, 103464 },
- { 0x6CB6, 103469 },
- { 0x6C22, 103474 },
- { 0x6C65, 103478 },
- { 0x6C21, 103482 },
- { 0x6C82, 103486 },
- { 0x6C0B, 103493 },
- { 0x6C1B, 103497 },
- { 0x6CBF, 103503 },
- { 0x6CBD, 103509 },
- { 0x6BE7, 103515 },
- { 0x6C55, 103520 },
- { 0x6C4F, 103524 },
- { 0x6C4E, 103529 },
- { 0x6C4D, 103534 },
- { 0x6C2D, 103539 },
- { 0x6C29, 103543 },
- { 0x6C0D, 103547 },
- { 0x6C15, 103551 },
- { 0x6C08, 103555 },
- { 0x6C4A, 103559 },
- { 0x6BEB, 103563 },
- { 0x6C31, 103568 },
- { 0x6BF7, 103573 },
- { 0x6BF6, 103579 },
- { 0x6BDF, 103584 },
- { 0x6BFD, 103588 },
- { 0x6BF3, 103592 },
- { 0x6BED, 103596 },
- { 0x6C1F, 103601 },
- { 0x6C50, 103605 },
- { 0x6BEE, 103610 },
- { 0x6BEF, 103615 },
- { 0x6BE4, 103619 },
- { 0x6C33, 103623 },
- { 0x6C07, 103628 },
- { 0x6CA6, 103633 },
- { 0x6CA7, 103639 },
- { 0x6CA8, 103645 },
- { 0x6CA9, 103650 },
- { 0x6C5E, 103655 },
- { 0x6C61, 103659 },
- { 0x6C60, 103665 },
- { 0x6C5F, 103672 },
- { 0x6CB2, 103679 },
- { 0x6C34, 103684 },
- { 0x6C83, 103688 },
- { 0x6BD3, 103692 },
- { 0x6C06, 103696 },
- { 0x6C0E, 103700 },
- { 0x6C16, 103705 },
- { 0x6BD8, 103709 },
- { 0x6C6F, 103713 },
- { 0x6C71, 103720 },
- { 0x6C7D, 103727 },
- { 0x6C6E, 103733 },
- { 0x6C72, 103739 },
- { 0x6C76, 103745 },
- { 0x6C77, 103751 },
- { 0x6C7F, 103757 },
- { 0x6C70, 103764 },
- { 0x6C74, 103770 },
- { 0x6C75, 103776 },
- { 0x6C73, 103783 },
- { 0x6C7E, 103788 },
- { 0x6BEA, 103794 },
- { 0x6C04, 103798 },
- { 0x6C19, 103802 },
- { 0x6BE9, 103807 },
- { 0x6CAE, 103811 },
- { 0x6CAF, 103816 },
- { 0x6CB0, 103822 },
- { 0x6CB1, 103828 },
- { 0x6CAA, 103834 },
- { 0x6CAB, 103839 },
- { 0x6CAC, 103845 },
- { 0x6CAD, 103851 },
- { 0x6C54, 103857 },
- { 0x6C2F, 103861 },
- { 0x6C0F, 103866 },
- { 0x6C02, 103871 },
- { 0x6CB3, 103876 },
- { 0x6C47, 103881 },
- { 0x6C7C, 103885 },
- { 0x6C7B, 103890 },
- { 0x6C7A, 103895 },
- { 0x6C01, 103900 },
- { 0x6C46, 103904 },
- { 0x6BDC, 103908 },
- { 0x6C1A, 103912 },
- { 0x6CBE, 103918 },
- { 0x6CBC, 103924 },
- { 0x6BE8, 103930 },
- { 0x6BFE, 103935 },
- { 0x6C41, 103939 },
- { 0x6BF8, 103944 },
- { 0x6C05, 103949 },
- { 0x6C26, 103953 },
- { 0x6BD4, 103958 },
- { 0x6C62, 103962 },
- { 0x6BD6, 103966 },
- { 0x6BD7, 103970 },
- { 0x6C28, 103975 },
- { 0x6C79, 103979 },
- { 0x6C1E, 103985 },
- { 0x6BDD, 103991 },
- { 0x6C1D, 103995 },
- { 0x6BDE, 104000 },
- { 0x6C30, 104005 },
- { 0x6C80, 104009 },
- { 0x6C81, 104015 },
- { 0x6C64, 104021 },
- { 0x6C84, 104025 },
- { 0x6C2B, 104029 },
- { 0x6C09, 104034 },
- { 0x6BD5, 104039 },
- { 0x6C2A, 104043 },
- { 0x6C0A, 104048 },
- { 0x6BCE, 104053 },
- { 0x6C42, 104057 },
- { 0x6C43, 104062 },
- { 0x6BF4, 104067 },
- { 0x6C11, 104071 },
- { 0x6C10, 104075 },
- { 0x6C3F, 104079 },
- { 0x6C3E, 104083 },
- { 0x6C39, 104087 },
- { 0x6C3C, 104091 },
- { 0x6C2E, 104095 },
- { 0x6C18, 104099 },
- { 0x6C20, 104103 },
- { 0x6C17, 104107 },
- { 0x6C38, 104111 },
- { 0x6C3D, 104115 },
- { 0x6C37, 104119 },
- { 0x6C3A, 104123 },
- { 0x6C3B, 104127 },
+ { 0x818B, 102876 },
+ { 0x7C66, 102877 },
+ { 0x80A4, 102878 },
+ { 0x6C00, 102879 },
+ { 0x6BDF, 102883 },
+ { 0x6C56, 102888 },
+ { 0x6C17, 102892 },
+ { 0x6BEB, 102897 },
+ { 0x6C11, 102902 },
+ { 0x6C4A, 102906 },
+ { 0x6C01, 102912 },
+ { 0x6C4E, 102916 },
+ { 0x6C4D, 102921 },
+ { 0x6C6D, 102926 },
+ { 0x6C6F, 102931 },
+ { 0x6C6B, 102936 },
+ { 0x6C72, 102942 },
+ { 0x6C70, 102948 },
+ { 0x6C6E, 102953 },
+ { 0x6C6C, 102958 },
+ { 0x6C71, 102963 },
+ { 0x6C04, 102968 },
+ { 0x6BDE, 102974 },
+ { 0x6C68, 102979 },
+ { 0x6C99, 102983 },
+ { 0x6C9A, 102988 },
+ { 0x6C9B, 102993 },
+ { 0x6C57, 102998 },
+ { 0x6C51, 103002 },
+ { 0x6BFF, 103007 },
+ { 0x6C19, 103011 },
+ { 0x6BD5, 103016 },
+ { 0x6BD4, 103021 },
+ { 0x6BD1, 103026 },
+ { 0x6BF6, 103030 },
+ { 0x6C37, 103034 },
+ { 0x6BFE, 103038 },
+ { 0x6C49, 103042 },
+ { 0x6BE5, 103047 },
+ { 0x6BEA, 103051 },
+ { 0x6C3B, 103055 },
+ { 0x6BD2, 103060 },
+ { 0x6CA1, 103064 },
+ { 0x6CA3, 103071 },
+ { 0x6CA4, 103078 },
+ { 0x6CA2, 103085 },
+ { 0x6C9F, 103092 },
+ { 0x6CA0, 103097 },
+ { 0x6C31, 103102 },
+ { 0x6C45, 103107 },
+ { 0x6C96, 103112 },
+ { 0x6C9C, 103119 },
+ { 0x6C8D, 103126 },
+ { 0x6C98, 103132 },
+ { 0x6C94, 103137 },
+ { 0x6C95, 103144 },
+ { 0x6C96, 103151 },
+ { 0x6C97, 103158 },
+ { 0x6C8F, 103165 },
+ { 0x6C05, 103172 },
+ { 0x6C8A, 103177 },
+ { 0x6C8E, 103184 },
+ { 0x6C90, 103190 },
+ { 0x6C93, 103196 },
+ { 0x6C92, 103203 },
+ { 0x6C8B, 103210 },
+ { 0x6C91, 103216 },
+ { 0x6C8C, 103222 },
+ { 0x6C9D, 103228 },
+ { 0x6CA9, 103234 },
+ { 0x6CAA, 103239 },
+ { 0x6C60, 103244 },
+ { 0x6CC6, 103250 },
+ { 0x6BE7, 103256 },
+ { 0x6C62, 103261 },
+ { 0x6C61, 103267 },
+ { 0x6C7D, 103273 },
+ { 0x6C08, 103279 },
+ { 0x6BF5, 103284 },
+ { 0x6C50, 103288 },
+ { 0x6CC5, 103293 },
+ { 0x6C5C, 103298 },
+ { 0x6C5B, 103304 },
+ { 0x6C5D, 103310 },
+ { 0x6C5F, 103316 },
+ { 0x6C5E, 103322 },
+ { 0x6C28, 103328 },
+ { 0x6C18, 103333 },
+ { 0x6BE6, 103338 },
+ { 0x6C2C, 103343 },
+ { 0x6BF1, 103347 },
+ { 0x6C2A, 103352 },
+ { 0x6BF7, 103357 },
+ { 0x6BE8, 103362 },
+ { 0x6BFA, 103366 },
+ { 0x6C3A, 103370 },
+ { 0x6CB9, 103375 },
+ { 0x6BE0, 103379 },
+ { 0x6C58, 103383 },
+ { 0x6C29, 103387 },
+ { 0x6BD7, 103392 },
+ { 0x6BD6, 103397 },
+ { 0x6CA5, 103402 },
+ { 0x6CA7, 103409 },
+ { 0x6CA8, 103416 },
+ { 0x6CA6, 103423 },
+ { 0x6C9E, 103430 },
+ { 0x6C21, 103435 },
+ { 0x6CBD, 103439 },
+ { 0x6CBC, 103444 },
+ { 0x6CBE, 103449 },
+ { 0x6CC0, 103454 },
+ { 0x6CBA, 103459 },
+ { 0x6CBF, 103464 },
+ { 0x6CBB, 103469 },
+ { 0x6C27, 103474 },
+ { 0x6C6A, 103478 },
+ { 0x6C26, 103482 },
+ { 0x6C87, 103486 },
+ { 0x6C10, 103493 },
+ { 0x6C20, 103497 },
+ { 0x6CC4, 103503 },
+ { 0x6CC2, 103509 },
+ { 0x6BEC, 103515 },
+ { 0x6C5A, 103520 },
+ { 0x6C54, 103524 },
+ { 0x6C53, 103529 },
+ { 0x6C52, 103534 },
+ { 0x6C32, 103539 },
+ { 0x6C2E, 103543 },
+ { 0x6C12, 103547 },
+ { 0x6C1A, 103551 },
+ { 0x6C0D, 103555 },
+ { 0x6C4F, 103559 },
+ { 0x6BF0, 103563 },
+ { 0x6C36, 103568 },
+ { 0x6BFC, 103573 },
+ { 0x6BFB, 103579 },
+ { 0x6BE4, 103584 },
+ { 0x6C02, 103588 },
+ { 0x6BF8, 103592 },
+ { 0x6BF2, 103596 },
+ { 0x6C24, 103601 },
+ { 0x6C55, 103605 },
+ { 0x6BF3, 103610 },
+ { 0x6BF4, 103615 },
+ { 0x6BE9, 103619 },
+ { 0x6C38, 103623 },
+ { 0x6C0C, 103628 },
+ { 0x6CAB, 103633 },
+ { 0x6CAC, 103639 },
+ { 0x6CAD, 103645 },
+ { 0x6CAE, 103650 },
+ { 0x6C63, 103655 },
+ { 0x6C66, 103659 },
+ { 0x6C65, 103665 },
+ { 0x6C64, 103672 },
+ { 0x6CB7, 103679 },
+ { 0x6C39, 103684 },
+ { 0x6C88, 103688 },
+ { 0x6BD8, 103692 },
+ { 0x6C0B, 103696 },
+ { 0x6C13, 103700 },
+ { 0x6C1B, 103705 },
+ { 0x6BDD, 103709 },
+ { 0x6C74, 103713 },
+ { 0x6C76, 103720 },
+ { 0x6C82, 103727 },
+ { 0x6C73, 103733 },
+ { 0x6C77, 103739 },
+ { 0x6C7B, 103745 },
+ { 0x6C7C, 103751 },
+ { 0x6C84, 103757 },
+ { 0x6C75, 103764 },
+ { 0x6C79, 103770 },
+ { 0x6C7A, 103776 },
+ { 0x6C78, 103783 },
+ { 0x6C83, 103788 },
+ { 0x6BEF, 103794 },
+ { 0x6C09, 103798 },
+ { 0x6C1E, 103802 },
+ { 0x6BEE, 103807 },
+ { 0x6CB3, 103811 },
+ { 0x6CB4, 103816 },
+ { 0x6CB5, 103822 },
+ { 0x6CB6, 103828 },
+ { 0x6CAF, 103834 },
+ { 0x6CB0, 103839 },
+ { 0x6CB1, 103845 },
+ { 0x6CB2, 103851 },
+ { 0x6C59, 103857 },
+ { 0x6C34, 103861 },
+ { 0x6C14, 103866 },
+ { 0x6C07, 103871 },
+ { 0x6CB8, 103876 },
+ { 0x6C4C, 103881 },
+ { 0x6C81, 103885 },
+ { 0x6C80, 103890 },
+ { 0x6C7F, 103895 },
+ { 0x6C06, 103900 },
+ { 0x6C4B, 103904 },
+ { 0x6BE1, 103908 },
+ { 0x6C1F, 103912 },
+ { 0x6CC3, 103918 },
+ { 0x6CC1, 103924 },
+ { 0x6BED, 103930 },
+ { 0x6C03, 103935 },
+ { 0x6C46, 103939 },
+ { 0x6BFD, 103944 },
+ { 0x6C0A, 103949 },
+ { 0x6C2B, 103953 },
+ { 0x6BD9, 103958 },
+ { 0x6C67, 103962 },
+ { 0x6BDB, 103966 },
+ { 0x6BDC, 103970 },
+ { 0x6C2D, 103975 },
+ { 0x6C7E, 103979 },
+ { 0x6C23, 103985 },
+ { 0x6BE2, 103991 },
+ { 0x6C22, 103995 },
+ { 0x6BE3, 104000 },
+ { 0x6C35, 104005 },
+ { 0x6C85, 104009 },
+ { 0x6C86, 104015 },
+ { 0x6C69, 104021 },
+ { 0x6C89, 104025 },
+ { 0x6C30, 104029 },
+ { 0x6C0E, 104034 },
+ { 0x6BDA, 104039 },
+ { 0x6C2F, 104043 },
+ { 0x6C0F, 104048 },
+ { 0x6BD3, 104053 },
+ { 0x6C47, 104057 },
+ { 0x6C48, 104062 },
+ { 0x6BF9, 104067 },
+ { 0x6C16, 104071 },
+ { 0x6C15, 104075 },
+ { 0x6C44, 104079 },
+ { 0x6C43, 104083 },
+ { 0x6C3E, 104087 },
+ { 0x6C41, 104091 },
+ { 0x6C33, 104095 },
+ { 0x6C1D, 104099 },
+ { 0x6C25, 104103 },
+ { 0x6C1C, 104107 },
+ { 0x6C3D, 104111 },
+ { 0x6C42, 104115 },
+ { 0x6C3C, 104119 },
+ { 0x6C3F, 104123 },
+ { 0x6C40, 104127 },
{ 0x2A2C, 104131 },
{ 0x2274, 104132 },
- { 0x8196, 104133 },
- { 0x43A5, 104135 },
- { 0x43C3, 104139 },
- { 0x43A1, 104143 },
- { 0x43B9, 104147 },
- { 0x43A2, 104151 },
- { 0x43B3, 104155 },
- { 0x43AA, 104159 },
- { 0x43BB, 104163 },
- { 0x43A4, 104167 },
- { 0x43A7, 104171 },
- { 0x43C5, 104175 },
- { 0x43A3, 104179 },
- { 0x43AD, 104183 },
- { 0x43CF, 104187 },
- { 0x43B5, 104191 },
- { 0x43D4, 104195 },
- { 0x43AF, 104199 },
- { 0x43BD, 104203 },
- { 0x43C8, 104207 },
- { 0x43BE, 104211 },
- { 0x43B8, 104215 },
- { 0x43CA, 104219 },
- { 0x43AE, 104223 },
- { 0x43A9, 104227 },
- { 0x43AC, 104231 },
- { 0x43D1, 104235 },
- { 0x43C7, 104239 },
- { 0x43BA, 104243 },
- { 0x43D0, 104247 },
- { 0x43BC, 104251 },
- { 0x43B2, 104255 },
- { 0x43C6, 104259 },
- { 0x43B7, 104263 },
- { 0x43B0, 104267 },
- { 0x43C2, 104271 },
- { 0x43B4, 104275 },
- { 0x43B6, 104279 },
- { 0x43BF, 104283 },
- { 0x43D3, 104287 },
- { 0x43CB, 104291 },
- { 0x43C1, 104295 },
- { 0x43CE, 104299 },
- { 0x43CD, 104303 },
- { 0x43C4, 104307 },
- { 0x43CC, 104311 },
- { 0x43B1, 104315 },
- { 0x43D2, 104319 },
- { 0x43AB, 104323 },
- { 0x43A6, 104327 },
- { 0x43A8, 104331 },
- { 0x43C0, 104335 },
- { 0x43C9, 104339 },
- { 0x43D5, 104343 },
+ { 0x819B, 104133 },
+ { 0x43AA, 104135 },
+ { 0x43C8, 104139 },
+ { 0x43A6, 104143 },
+ { 0x43BE, 104147 },
+ { 0x43A7, 104151 },
+ { 0x43B8, 104155 },
+ { 0x43AF, 104159 },
+ { 0x43C0, 104163 },
+ { 0x43A9, 104167 },
+ { 0x43AC, 104171 },
+ { 0x43CA, 104175 },
+ { 0x43A8, 104179 },
+ { 0x43B2, 104183 },
+ { 0x43D4, 104187 },
+ { 0x43BA, 104191 },
+ { 0x43D9, 104195 },
+ { 0x43B4, 104199 },
+ { 0x43C2, 104203 },
+ { 0x43CD, 104207 },
+ { 0x43C3, 104211 },
+ { 0x43BD, 104215 },
+ { 0x43CF, 104219 },
+ { 0x43B3, 104223 },
+ { 0x43AE, 104227 },
+ { 0x43B1, 104231 },
+ { 0x43D6, 104235 },
+ { 0x43CC, 104239 },
+ { 0x43BF, 104243 },
+ { 0x43D5, 104247 },
+ { 0x43C1, 104251 },
+ { 0x43B7, 104255 },
+ { 0x43CB, 104259 },
+ { 0x43BC, 104263 },
+ { 0x43B5, 104267 },
+ { 0x43C7, 104271 },
+ { 0x43B9, 104275 },
+ { 0x43BB, 104279 },
+ { 0x43C4, 104283 },
+ { 0x43D8, 104287 },
+ { 0x43D0, 104291 },
+ { 0x43C6, 104295 },
+ { 0x43D3, 104299 },
+ { 0x43D2, 104303 },
+ { 0x43C9, 104307 },
+ { 0x43D1, 104311 },
+ { 0x43B6, 104315 },
+ { 0x43D7, 104319 },
+ { 0x43B0, 104323 },
+ { 0x43AB, 104327 },
+ { 0x43AD, 104331 },
+ { 0x43C5, 104335 },
+ { 0x43CE, 104339 },
+ { 0x43DA, 104343 },
{ 0x1CBA, 104347 },
- { 0x7B66, 104349 },
- { 0x7B10, 104351 },
- { 0x7B29, 104353 },
- { 0x7B7E, 104355 },
- { 0x7AAB, 104356 },
- { 0x7D26, 104359 },
- { 0x7B80, 104362 },
- { 0x7C70, 104364 },
+ { 0x7B6B, 104349 },
+ { 0x7B15, 104351 },
+ { 0x7B2E, 104353 },
+ { 0x7B83, 104355 },
+ { 0x7AB0, 104356 },
+ { 0x7D2B, 104359 },
+ { 0x7B85, 104362 },
+ { 0x7C75, 104364 },
{ 0x1E08, 104365 },
{ 0x1E0C, 104369 },
- { 0x7D7D, 104373 },
+ { 0x7D82, 104373 },
{ 0x2564, 104379 },
{ 0x2416, 104383 },
{ 0x1E83, 104387 },
{ 0x1E82, 104390 },
- { 0x7CA8, 104392 },
- { 0x7CA6, 104399 },
- { 0x7CA7, 104406 },
+ { 0x7CAD, 104392 },
+ { 0x7CAB, 104399 },
+ { 0x7CAC, 104406 },
{ 0x2791, 104417 },
- { 0x81AF, 104422 },
- { 0x7C4A, 104423 },
+ { 0x81B4, 104422 },
+ { 0x7C4F, 104423 },
{ 0x02FC, 104425 },
{ 0x0312, 104428 },
{ 0x1A61, 104431 },
@@ -74488,11 +74495,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A8B, 104462 },
{ 0x02F1, 104466 },
{ 0x0309, 104469 },
- { 0x4233, 104473 },
- { 0x4234, 104478 },
- { 0x4237, 104483 },
- { 0x4235, 104488 },
- { 0x4236, 104493 },
+ { 0x4238, 104473 },
+ { 0x4239, 104478 },
+ { 0x423C, 104483 },
+ { 0x423A, 104488 },
+ { 0x423B, 104493 },
{ 0x179F, 104498 },
{ 0x02DD, 104501 },
{ 0x1D40, 104505 },
@@ -74527,7 +74534,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0300, 104624 },
{ 0x02C0, 104628 },
{ 0x02D6, 104631 },
- { 0x4CCF, 104635 },
+ { 0x4CD4, 104635 },
{ 0x02C5, 104638 },
{ 0x02ED, 104640 },
{ 0x02CB, 104643 },
@@ -74539,9 +74546,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x02BF, 104662 },
{ 0x02D5, 104665 },
{ 0x0302, 104669 },
- { 0x6DED, 104672 },
- { 0x6DEF, 104676 },
- { 0x6DEE, 104680 },
+ { 0x6DF2, 104672 },
+ { 0x6DF4, 104676 },
+ { 0x6DF3, 104680 },
{ 0x0303, 104684 },
{ 0x0301, 104688 },
{ 0x0304, 104691 },
@@ -74618,9 +74625,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A53, 105076 },
{ 0x1D3F, 105079 },
{ 0x02C2, 105083 },
- { 0x3E16, 105085 },
+ { 0x3E1B, 105085 },
{ 0x02EF, 105090 },
- { 0x3E17, 105093 },
+ { 0x3E1C, 105093 },
{ 0x02F3, 105098 },
{ 0x030B, 105101 },
{ 0x1A8E, 105106 },
@@ -74638,8 +74645,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x031B, 105155 },
{ 0x02CE, 105159 },
{ 0x031F, 105163 },
- { 0x3E0F, 105166 },
- { 0x3E10, 105171 },
+ { 0x3E14, 105166 },
+ { 0x3E15, 105171 },
{ 0x031D, 105176 },
{ 0x031E, 105179 },
{ 0x0320, 105183 },
@@ -74655,11 +74662,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1A88, 105227 },
{ 0x1A87, 105231 },
{ 0x02C3, 105235 },
- { 0x3E11, 105237 },
- { 0x3E18, 105241 },
+ { 0x3E16, 105237 },
+ { 0x3E1D, 105241 },
{ 0x02F0, 105246 },
- { 0x3E12, 105249 },
- { 0x3E19, 105253 },
+ { 0x3E17, 105249 },
+ { 0x3E1E, 105253 },
{ 0x17B0, 105258 },
{ 0x02E7, 105262 },
{ 0x1A5F, 105264 },
@@ -74677,39 +74684,39 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x02E6, 105306 },
{ 0x179A, 105308 },
{ 0x0311, 105312 },
- { 0x4CE8, 105314 },
- { 0x4CED, 105318 },
- { 0x4CE9, 105322 },
- { 0x4CEC, 105326 },
- { 0x4CEB, 105330 },
- { 0x4CE7, 105334 },
- { 0x4CEA, 105338 },
- { 0x4CEE, 105342 },
- { 0x4CEF, 105346 },
- { 0x4CF0, 105350 },
- { 0x4CF2, 105354 },
- { 0x4CF1, 105358 },
+ { 0x4CED, 105314 },
+ { 0x4CF2, 105318 },
+ { 0x4CEE, 105322 },
+ { 0x4CF1, 105326 },
+ { 0x4CF0, 105330 },
+ { 0x4CEC, 105334 },
+ { 0x4CEF, 105338 },
+ { 0x4CF3, 105342 },
+ { 0x4CF4, 105346 },
+ { 0x4CF5, 105350 },
+ { 0x4CF7, 105354 },
+ { 0x4CF6, 105358 },
{ 0x1D49, 105362 },
{ 0x02FB, 105366 },
{ 0x030D, 105369 },
{ 0x1D54, 105373 },
{ 0x0318, 105376 },
- { 0x3619, 105379 },
+ { 0x361E, 105379 },
{ 0x043B, 105384 },
{ 0x043C, 105388 },
- { 0x7596, 105392 },
+ { 0x759B, 105392 },
{ 0x0439, 105398 },
- { 0x3E1B, 105401 },
- { 0x3E1C, 105406 },
- { 0x3618, 105411 },
- { 0x3625, 105414 },
+ { 0x3E20, 105401 },
+ { 0x3E21, 105406 },
+ { 0x361D, 105411 },
+ { 0x362A, 105414 },
{ 0x29E3, 105417 },
- { 0x361E, 105421 },
+ { 0x3623, 105421 },
{ 0x29D7, 105425 },
- { 0x3620, 105429 },
+ { 0x3625, 105429 },
{ 0x29CD, 105433 },
{ 0x29D0, 105437 },
- { 0x3647, 105441 },
+ { 0x364C, 105441 },
{ 0x29D4, 105445 },
{ 0x29D5, 105449 },
{ 0x29D6, 105453 },
@@ -74721,7 +74728,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x29D8, 105477 },
{ 0x29DB, 105481 },
{ 0x29CE, 105485 },
- { 0x361F, 105489 },
+ { 0x3624, 105489 },
{ 0x29E8, 105493 },
{ 0x29D2, 105497 },
{ 0x29EB, 105501 },
@@ -74732,25 +74739,25 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x29E7, 105522 },
{ 0x29D1, 105526 },
{ 0x29E1, 105530 },
- { 0x3621, 105534 },
- { 0x3623, 105539 },
- { 0x3622, 105544 },
+ { 0x3626, 105534 },
+ { 0x3628, 105539 },
+ { 0x3627, 105544 },
{ 0x29E5, 105548 },
{ 0x29E2, 105552 },
- { 0x3624, 105556 },
+ { 0x3629, 105556 },
{ 0x29E0, 105560 },
{ 0x29EA, 105564 },
{ 0x29E9, 105569 },
- { 0x3648, 105574 },
+ { 0x364D, 105574 },
{ 0x29EC, 105579 },
{ 0x29E6, 105585 },
- { 0x361D, 105590 },
- { 0x361A, 105595 },
+ { 0x3622, 105590 },
+ { 0x361F, 105595 },
{ 0x043E, 105600 },
- { 0x3626, 105605 },
+ { 0x362B, 105605 },
{ 0x043F, 105608 },
{ 0x043D, 105612 },
- { 0x361B, 105615 },
+ { 0x3620, 105615 },
{ 0x043A, 105620 },
{ 0x1A8C, 105623 },
{ 0x030E, 105626 },
@@ -74760,10 +74767,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x02F9, 105638 },
{ 0x17B1, 105642 },
{ 0x02EA, 105647 },
- { 0x3E0D, 105652 },
- { 0x3E14, 105656 },
- { 0x3E0E, 105661 },
- { 0x3E15, 105665 },
+ { 0x3E12, 105652 },
+ { 0x3E19, 105656 },
+ { 0x3E13, 105661 },
+ { 0x3E1A, 105665 },
{ 0x02C4, 105670 },
{ 0x02D3, 105672 },
{ 0x02CC, 105676 },
@@ -74786,64 +74793,64 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x02E1, 105737 },
{ 0x02C1, 105741 },
{ 0x02EC, 105744 },
- { 0x3E13, 105748 },
- { 0x3E1A, 105751 },
- { 0x3854, 105755 },
- { 0x3844, 105759 },
- { 0x3849, 105763 },
- { 0x3845, 105767 },
- { 0x3848, 105771 },
- { 0x3847, 105775 },
- { 0x384C, 105779 },
- { 0x3843, 105783 },
- { 0x384B, 105787 },
- { 0x384A, 105791 },
- { 0x3846, 105795 },
- { 0x384D, 105799 },
- { 0x384E, 105803 },
- { 0x384F, 105807 },
- { 0x3850, 105811 },
- { 0x3851, 105815 },
- { 0x3852, 105819 },
- { 0x3853, 105823 },
- { 0x753C, 105827 },
- { 0x7553, 105831 },
- { 0x7551, 105835 },
- { 0x7532, 105839 },
- { 0x7555, 105843 },
- { 0x7542, 105848 },
- { 0x754D, 105852 },
- { 0x754B, 105856 },
- { 0x7547, 105860 },
- { 0x7533, 105864 },
- { 0x7557, 105868 },
- { 0x7549, 105872 },
- { 0x753A, 105876 },
- { 0x753E, 105880 },
- { 0x754A, 105884 },
- { 0x7534, 105888 },
- { 0x7550, 105892 },
- { 0x754F, 105896 },
- { 0x754E, 105900 },
- { 0x7536, 105904 },
- { 0x7548, 105908 },
- { 0x7541, 105912 },
- { 0x7544, 105916 },
- { 0x7545, 105920 },
- { 0x7552, 105924 },
- { 0x7537, 105929 },
- { 0x754C, 105933 },
- { 0x753D, 105937 },
- { 0x7543, 105941 },
- { 0x7546, 105945 },
- { 0x7539, 105949 },
- { 0x7535, 105953 },
- { 0x753B, 105957 },
- { 0x7556, 105962 },
- { 0x7554, 105968 },
- { 0x753F, 105974 },
- { 0x7540, 105978 },
- { 0x7538, 105982 },
+ { 0x3E18, 105748 },
+ { 0x3E1F, 105751 },
+ { 0x3859, 105755 },
+ { 0x3849, 105759 },
+ { 0x384E, 105763 },
+ { 0x384A, 105767 },
+ { 0x384D, 105771 },
+ { 0x384C, 105775 },
+ { 0x3851, 105779 },
+ { 0x3848, 105783 },
+ { 0x3850, 105787 },
+ { 0x384F, 105791 },
+ { 0x384B, 105795 },
+ { 0x3852, 105799 },
+ { 0x3853, 105803 },
+ { 0x3854, 105807 },
+ { 0x3855, 105811 },
+ { 0x3856, 105815 },
+ { 0x3857, 105819 },
+ { 0x3858, 105823 },
+ { 0x7541, 105827 },
+ { 0x7558, 105831 },
+ { 0x7556, 105835 },
+ { 0x7537, 105839 },
+ { 0x755A, 105843 },
+ { 0x7547, 105848 },
+ { 0x7552, 105852 },
+ { 0x7550, 105856 },
+ { 0x754C, 105860 },
+ { 0x7538, 105864 },
+ { 0x755C, 105868 },
+ { 0x754E, 105872 },
+ { 0x753F, 105876 },
+ { 0x7543, 105880 },
+ { 0x754F, 105884 },
+ { 0x7539, 105888 },
+ { 0x7555, 105892 },
+ { 0x7554, 105896 },
+ { 0x7553, 105900 },
+ { 0x753B, 105904 },
+ { 0x754D, 105908 },
+ { 0x7546, 105912 },
+ { 0x7549, 105916 },
+ { 0x754A, 105920 },
+ { 0x7557, 105924 },
+ { 0x753C, 105929 },
+ { 0x7551, 105933 },
+ { 0x7542, 105937 },
+ { 0x7548, 105941 },
+ { 0x754B, 105945 },
+ { 0x753E, 105949 },
+ { 0x753A, 105953 },
+ { 0x7540, 105957 },
+ { 0x755B, 105962 },
+ { 0x7559, 105968 },
+ { 0x7544, 105974 },
+ { 0x7545, 105978 },
+ { 0x753D, 105982 },
{ 0x030A, 105986 },
{ 0x1D50, 105989 },
{ 0x1A54, 105995 },
@@ -74863,1249 +74870,1249 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x179B, 106033 },
{ 0x1A5A, 106035 },
{ 0x1A59, 106037 },
- { 0x2C36, 106039 },
- { 0x2C37, 106044 },
+ { 0x2C3A, 106039 },
+ { 0x2C3B, 106044 },
{ 0x2690, 106049 },
{ 0x0068, 106053 },
- { 0x7BAF, 106055 },
- { 0x8064, 106056 },
- { 0x52BC, 106057 },
- { 0x52BD, 106060 },
- { 0x52C0, 106065 },
- { 0x52BE, 106070 },
- { 0x52C1, 106075 },
- { 0x52C4, 106080 },
- { 0x52BF, 106085 },
- { 0x52C3, 106091 },
- { 0x52C2, 106096 },
- { 0x5346, 106102 },
- { 0x5348, 106105 },
- { 0x5347, 106113 },
- { 0x53FB, 106118 },
- { 0x53FC, 106121 },
- { 0x55C7, 106125 },
- { 0x5655, 106128 },
- { 0x55C9, 106132 },
- { 0x55C8, 106137 },
- { 0x55CC, 106141 },
- { 0x55CA, 106151 },
- { 0x55CB, 106162 },
- { 0x52C5, 106170 },
- { 0x52C6, 106173 },
- { 0x52D1, 106176 },
- { 0x52D0, 106180 },
- { 0x52CB, 106189 },
- { 0x52C9, 106194 },
- { 0x52CC, 106199 },
- { 0x562C, 106205 },
- { 0x56CA, 106210 },
- { 0x52C7, 106216 },
- { 0x52C8, 106221 },
- { 0x52CA, 106227 },
- { 0x52CD, 106233 },
- { 0x56CB, 106238 },
- { 0x52CE, 106243 },
- { 0x52CF, 106248 },
- { 0x52D8, 106253 },
- { 0x56CC, 106256 },
- { 0x52D9, 106261 },
- { 0x52DA, 106264 },
- { 0x52DB, 106269 },
- { 0x52DC, 106276 },
- { 0x52DD, 106279 },
- { 0x52E0, 106284 },
- { 0x52E2, 106289 },
- { 0x52E3, 106294 },
- { 0x52E4, 106299 },
- { 0x52DE, 106304 },
- { 0x52DF, 106309 },
- { 0x52E1, 106314 },
- { 0x52E9, 106319 },
- { 0x52EA, 106322 },
- { 0x52ED, 106327 },
- { 0x52EC, 106333 },
- { 0x52EB, 106342 },
- { 0x52FC, 106347 },
- { 0x5305, 106350 },
- { 0x5306, 106353 },
- { 0x5307, 106358 },
- { 0x5308, 106363 },
- { 0x5309, 106369 },
- { 0x530A, 106372 },
- { 0x530B, 106378 },
- { 0x56D1, 106384 },
- { 0x530C, 106391 },
- { 0x5311, 106396 },
- { 0x56D2, 106399 },
- { 0x532E, 106404 },
- { 0x5336, 106407 },
- { 0x5338, 106410 },
- { 0x5337, 106414 },
- { 0x5339, 106419 },
- { 0x5349, 106423 },
- { 0x534A, 106426 },
- { 0x534F, 106435 },
- { 0x534C, 106440 },
- { 0x534B, 106445 },
- { 0x56F3, 106450 },
- { 0x56F4, 106455 },
- { 0x534D, 106460 },
- { 0x534E, 106465 },
- { 0x5352, 106470 },
- { 0x5353, 106473 },
- { 0x5356, 106476 },
- { 0x5354, 106481 },
- { 0x5355, 106486 },
- { 0x5359, 106492 },
- { 0x5357, 106496 },
- { 0x5358, 106501 },
- { 0x5371, 106506 },
- { 0x5372, 106509 },
- { 0x53BC, 106513 },
- { 0x53BD, 106516 },
- { 0x53BE, 106521 },
- { 0x53BF, 106526 },
- { 0x53D2, 106531 },
- { 0x53D3, 106534 },
- { 0x53E5, 106539 },
- { 0x53E7, 106542 },
- { 0x53E6, 106546 },
- { 0x5718, 106550 },
- { 0x53E9, 106555 },
- { 0x53F2, 106558 },
- { 0x53EA, 106563 },
- { 0x5719, 106568 },
- { 0x53EC, 106577 },
- { 0x53EE, 106582 },
- { 0x53EF, 106587 },
- { 0x53F0, 106592 },
- { 0x53F1, 106597 },
- { 0x53EB, 106602 },
- { 0x53ED, 106607 },
- { 0x53F3, 106612 },
- { 0x53FD, 106615 },
- { 0x5401, 106618 },
- { 0x5407, 106621 },
- { 0x5408, 106624 },
- { 0x540A, 106630 },
- { 0x540B, 106633 },
- { 0x540E, 106638 },
- { 0x540C, 106642 },
- { 0x540D, 106647 },
- { 0x5410, 106652 },
- { 0x5411, 106655 },
- { 0x5413, 106658 },
- { 0x5414, 106661 },
- { 0x5443, 106666 },
- { 0x571C, 106671 },
- { 0x5415, 106678 },
- { 0x5416, 106683 },
- { 0x541B, 106690 },
- { 0x571A, 106695 },
- { 0x541E, 106700 },
- { 0x5423, 106705 },
- { 0x5427, 106710 },
- { 0x563E, 106715 },
- { 0x542A, 106722 },
- { 0x571B, 106727 },
- { 0x542C, 106732 },
- { 0x542E, 106737 },
- { 0x542F, 106742 },
- { 0x5430, 106747 },
- { 0x5431, 106752 },
- { 0x5432, 106759 },
- { 0x5433, 106766 },
- { 0x5434, 106773 },
- { 0x5435, 106778 },
- { 0x5436, 106785 },
- { 0x5640, 106790 },
- { 0x5438, 106795 },
- { 0x5439, 106800 },
- { 0x543A, 106805 },
- { 0x5642, 106810 },
- { 0x5444, 106815 },
- { 0x5445, 106820 },
- { 0x571D, 106825 },
- { 0x5448, 106830 },
- { 0x5418, 106835 },
- { 0x541A, 106840 },
- { 0x541F, 106845 },
- { 0x5421, 106850 },
- { 0x5422, 106855 },
- { 0x563D, 106864 },
- { 0x5429, 106869 },
- { 0x542B, 106874 },
- { 0x542D, 106879 },
- { 0x563F, 106884 },
- { 0x5437, 106889 },
- { 0x543B, 106894 },
- { 0x543C, 106899 },
- { 0x543D, 106904 },
- { 0x543F, 106909 },
- { 0x5440, 106914 },
- { 0x5442, 106919 },
- { 0x5643, 106924 },
- { 0x5447, 106929 },
- { 0x5417, 106934 },
- { 0x563B, 106939 },
- { 0x541D, 106944 },
- { 0x5420, 106949 },
- { 0x5424, 106955 },
- { 0x563C, 106960 },
- { 0x5425, 106965 },
- { 0x5426, 106972 },
- { 0x5428, 106979 },
- { 0x543E, 106984 },
- { 0x5641, 106989 },
- { 0x5446, 106994 },
- { 0x563A, 107001 },
- { 0x5419, 107006 },
- { 0x541C, 107011 },
- { 0x5441, 107016 },
- { 0x545C, 107021 },
- { 0x545E, 107024 },
- { 0x545F, 107029 },
- { 0x545D, 107034 },
- { 0x5466, 107039 },
- { 0x5467, 107042 },
- { 0x5473, 107054 },
- { 0x54B3, 107057 },
- { 0x54B7, 107060 },
- { 0x54B8, 107063 },
- { 0x54DC, 107068 },
- { 0x54DE, 107071 },
- { 0x54DD, 107075 },
- { 0x54E4, 107080 },
- { 0x54E6, 107083 },
- { 0x5769, 107086 },
- { 0x54E8, 107091 },
- { 0x54E9, 107094 },
- { 0x54FA, 107099 },
- { 0x5504, 107102 },
- { 0x5505, 107105 },
- { 0x5506, 107110 },
- { 0x5507, 107115 },
- { 0x5508, 107119 },
- { 0x5509, 107122 },
- { 0x551D, 107127 },
- { 0x5536, 107130 },
- { 0x553B, 107133 },
- { 0x553C, 107136 },
- { 0x5540, 107141 },
- { 0x5541, 107146 },
- { 0x5543, 107151 },
- { 0x553D, 107156 },
- { 0x553E, 107161 },
- { 0x553F, 107166 },
- { 0x5542, 107171 },
- { 0x5544, 107176 },
- { 0x5545, 107181 },
- { 0x554B, 107186 },
- { 0x554D, 107189 },
- { 0x554E, 107192 },
- { 0x554F, 107195 },
- { 0x5597, 107198 },
- { 0x5598, 107201 },
- { 0x5782, 107205 },
- { 0x559E, 107210 },
- { 0x559F, 107213 },
- { 0x55A7, 107218 },
- { 0x55AB, 107221 },
- { 0x55A9, 107225 },
- { 0x55AA, 107230 },
- { 0x55A8, 107235 },
- { 0x55B8, 107239 },
- { 0x55B9, 107242 },
- { 0x55BA, 107246 },
- { 0x55BB, 107249 },
- { 0x55C1, 107253 },
- { 0x55CD, 107256 },
- { 0x55CE, 107259 },
- { 0x55CF, 107262 },
- { 0x55D5, 107265 },
- { 0x55D3, 107269 },
- { 0x55D4, 107278 },
- { 0x55D2, 107288 },
- { 0x55D1, 107293 },
- { 0x55D0, 107298 },
- { 0x55D6, 107302 },
- { 0x55D7, 107306 },
- { 0x55D9, 107312 },
- { 0x55DD, 107315 },
- { 0x5654, 107320 },
- { 0x55DB, 107325 },
- { 0x55DC, 107332 },
- { 0x55DA, 107337 },
- { 0x55E2, 107342 },
- { 0x55E3, 107345 },
- { 0x55E4, 107349 },
- { 0x55E6, 107352 },
- { 0x55E5, 107356 },
- { 0x5619, 107361 },
- { 0x561A, 107364 },
- { 0x561B, 107368 },
- { 0x561F, 107374 },
- { 0x5620, 107377 },
- { 0x5626, 107382 },
- { 0x578C, 107385 },
- { 0x52D2, 107392 },
- { 0x562D, 107395 },
- { 0x52D5, 107400 },
- { 0x52D4, 107407 },
- { 0x52D6, 107413 },
- { 0x52D7, 107418 },
- { 0x52D3, 107423 },
- { 0x52F4, 107428 },
- { 0x52F6, 107431 },
- { 0x52F8, 107436 },
- { 0x52F9, 107443 },
- { 0x52F7, 107456 },
- { 0x52F5, 107468 },
- { 0x52FD, 107473 },
- { 0x56CD, 107476 },
- { 0x5300, 107482 },
- { 0x5301, 107485 },
- { 0x5303, 107490 },
- { 0x530F, 107493 },
- { 0x5312, 107496 },
- { 0x56D3, 107499 },
- { 0x5313, 107504 },
- { 0x5316, 107512 },
- { 0x5317, 107518 },
- { 0x5318, 107524 },
- { 0x5319, 107532 },
- { 0x531C, 107538 },
- { 0x531D, 107544 },
- { 0x531E, 107550 },
- { 0x5320, 107558 },
- { 0x5321, 107564 },
- { 0x5322, 107570 },
- { 0x5324, 107578 },
- { 0x5326, 107584 },
- { 0x5328, 107590 },
- { 0x562F, 107598 },
- { 0x531B, 107606 },
- { 0x531F, 107612 },
- { 0x5323, 107618 },
- { 0x5325, 107624 },
- { 0x5329, 107632 },
- { 0x5314, 107638 },
- { 0x531A, 107644 },
- { 0x5327, 107650 },
- { 0x5315, 107656 },
- { 0x532A, 107662 },
- { 0x532B, 107665 },
- { 0x532F, 107668 },
- { 0x5330, 107671 },
- { 0x56D5, 107674 },
- { 0x56D4, 107681 },
- { 0x5331, 107686 },
- { 0x5333, 107691 },
- { 0x5334, 107694 },
- { 0x533A, 107701 },
- { 0x5632, 107704 },
- { 0x533B, 107709 },
- { 0x533D, 107714 },
- { 0x56DD, 107717 },
- { 0x56DE, 107722 },
- { 0x56E1, 107727 },
- { 0x56E2, 107732 },
- { 0x56EE, 107737 },
- { 0x56EF, 107742 },
- { 0x56F0, 107747 },
- { 0x56F2, 107752 },
- { 0x56D8, 107758 },
- { 0x56D9, 107763 },
- { 0x56DA, 107770 },
- { 0x56DB, 107775 },
- { 0x56E3, 107780 },
- { 0x56E5, 107786 },
- { 0x56E9, 107791 },
- { 0x56EA, 107796 },
- { 0x56EB, 107803 },
- { 0x56ED, 107810 },
- { 0x56F1, 107815 },
- { 0x56DF, 107820 },
- { 0x56E0, 107826 },
- { 0x56EC, 107831 },
- { 0x56D7, 107836 },
- { 0x56DC, 107841 },
- { 0x56E4, 107846 },
- { 0x56E6, 107851 },
- { 0x56E7, 107856 },
- { 0x56E8, 107863 },
- { 0x533F, 107868 },
- { 0x5340, 107871 },
- { 0x5373, 107874 },
- { 0x53A9, 107877 },
- { 0x5374, 107882 },
- { 0x5375, 107891 },
- { 0x5376, 107898 },
- { 0x53A6, 107905 },
- { 0x5378, 107910 },
- { 0x5635, 107915 },
- { 0x537F, 107924 },
- { 0x5380, 107929 },
- { 0x5383, 107934 },
- { 0x5384, 107939 },
- { 0x5385, 107946 },
- { 0x5386, 107951 },
- { 0x5705, 107959 },
- { 0x5389, 107964 },
- { 0x5708, 107969 },
- { 0x538D, 107976 },
- { 0x5390, 107985 },
- { 0x5399, 107992 },
- { 0x539A, 107997 },
- { 0x539B, 108004 },
- { 0x570E, 108009 },
- { 0x570F, 108014 },
- { 0x5710, 108021 },
- { 0x539E, 108028 },
- { 0x53A7, 108033 },
- { 0x53A8, 108038 },
- { 0x5377, 108045 },
- { 0x5379, 108053 },
- { 0x537B, 108058 },
- { 0x537C, 108063 },
- { 0x537D, 108070 },
- { 0x537E, 108075 },
- { 0x5701, 108082 },
- { 0x5381, 108088 },
- { 0x5382, 108095 },
- { 0x5702, 108100 },
- { 0x5703, 108108 },
- { 0x5388, 108115 },
- { 0x5706, 108120 },
- { 0x5707, 108127 },
- { 0x538A, 108134 },
- { 0x538B, 108139 },
- { 0x538E, 108146 },
- { 0x538F, 108151 },
- { 0x5392, 108158 },
- { 0x5393, 108164 },
- { 0x5394, 108173 },
- { 0x5396, 108178 },
- { 0x5397, 108183 },
- { 0x5398, 108190 },
- { 0x570A, 108197 },
- { 0x570B, 108202 },
- { 0x570C, 108209 },
- { 0x539C, 108214 },
- { 0x539D, 108219 },
- { 0x539F, 108226 },
- { 0x53A0, 108231 },
- { 0x53A1, 108236 },
- { 0x53A2, 108241 },
- { 0x53A4, 108248 },
- { 0x5636, 108253 },
- { 0x537A, 108258 },
- { 0x5704, 108265 },
- { 0x5387, 108270 },
- { 0x538C, 108276 },
- { 0x5391, 108283 },
- { 0x570D, 108288 },
- { 0x53A3, 108293 },
- { 0x5711, 108298 },
- { 0x53A5, 108303 },
- { 0x5712, 108308 },
- { 0x5700, 108313 },
- { 0x5395, 108318 },
- { 0x5709, 108323 },
- { 0x53AC, 108330 },
- { 0x53AD, 108333 },
- { 0x53AE, 108341 },
- { 0x53AF, 108344 },
- { 0x53B1, 108353 },
- { 0x53B2, 108356 },
- { 0x53B7, 108359 },
- { 0x53C0, 108362 },
- { 0x53C1, 108365 },
- { 0x53C2, 108370 },
- { 0x5638, 108375 },
- { 0x53D4, 108378 },
- { 0x53D9, 108381 },
- { 0x5716, 108385 },
- { 0x53D5, 108391 },
- { 0x53D6, 108396 },
- { 0x53D7, 108404 },
- { 0x53D8, 108409 },
- { 0x53DA, 108416 },
- { 0x53DD, 108419 },
- { 0x5717, 108425 },
- { 0x53DB, 108432 },
- { 0x53DC, 108439 },
- { 0x53DE, 108444 },
- { 0x53DF, 108447 },
- { 0x53E0, 108450 },
- { 0x53E1, 108455 },
- { 0x53E8, 108458 },
- { 0x5402, 108461 },
- { 0x5404, 108464 },
- { 0x5403, 108468 },
- { 0x5406, 108472 },
- { 0x5405, 108476 },
- { 0x5409, 108487 },
- { 0x5412, 108490 },
- { 0x5449, 108493 },
- { 0x544A, 108496 },
- { 0x544B, 108501 },
- { 0x5451, 108504 },
- { 0x5452, 108507 },
- { 0x5453, 108513 },
- { 0x5454, 108516 },
- { 0x5455, 108521 },
- { 0x562B, 108526 },
- { 0x5460, 108530 },
- { 0x5461, 108533 },
- { 0x5468, 108536 },
- { 0x5469, 108539 },
- { 0x546A, 108542 },
- { 0x546B, 108547 },
- { 0x546C, 108550 },
- { 0x546D, 108553 },
- { 0x546E, 108557 },
- { 0x546F, 108560 },
- { 0x5470, 108563 },
- { 0x54AE, 108568 },
- { 0x54AF, 108571 },
- { 0x54B0, 108576 },
- { 0x54B1, 108579 },
- { 0x54B2, 108584 },
- { 0x54B4, 108591 },
- { 0x54B9, 108594 },
- { 0x5763, 108597 },
- { 0x54CD, 108603 },
- { 0x54BA, 108607 },
- { 0x54BF, 108612 },
- { 0x54C0, 108619 },
- { 0x54C4, 108624 },
- { 0x54C5, 108629 },
- { 0x54C7, 108636 },
- { 0x54C8, 108643 },
- { 0x54C9, 108648 },
- { 0x54CA, 108653 },
- { 0x54BB, 108660 },
- { 0x5765, 108665 },
- { 0x5766, 108670 },
- { 0x5767, 108675 },
- { 0x5647, 108684 },
- { 0x5764, 108689 },
- { 0x54BC, 108694 },
- { 0x5646, 108699 },
- { 0x54BD, 108706 },
- { 0x54BE, 108712 },
- { 0x54C1, 108718 },
- { 0x54C2, 108723 },
- { 0x54C3, 108728 },
- { 0x54CB, 108735 },
- { 0x5768, 108742 },
- { 0x54CC, 108747 },
- { 0x54C6, 108752 },
- { 0x54D1, 108757 },
- { 0x5645, 108761 },
- { 0x54D0, 108767 },
- { 0x54CE, 108771 },
- { 0x54CF, 108776 },
- { 0x54D2, 108781 },
- { 0x54D7, 108784 },
- { 0x54D8, 108787 },
- { 0x54D9, 108790 },
- { 0x54DA, 108793 },
- { 0x54DB, 108798 },
- { 0x54DF, 108806 },
- { 0x54E0, 108809 },
- { 0x54E1, 108812 },
- { 0x54E5, 108815 },
- { 0x54E7, 108818 },
- { 0x54EA, 108821 },
- { 0x54EB, 108824 },
- { 0x54FB, 108828 },
- { 0x564A, 108831 },
- { 0x5502, 108834 },
- { 0x5501, 108837 },
- { 0x550A, 108841 },
- { 0x550B, 108844 },
- { 0x550D, 108847 },
- { 0x550C, 108855 },
- { 0x564B, 108861 },
- { 0x551F, 108864 },
- { 0x5526, 108867 },
- { 0x5525, 108872 },
- { 0x5520, 108876 },
- { 0x5522, 108882 },
- { 0x5523, 108888 },
- { 0x5524, 108899 },
- { 0x5521, 108905 },
- { 0x5527, 108911 },
- { 0x5528, 108916 },
- { 0x5537, 108924 },
- { 0x5538, 108927 },
- { 0x5539, 108930 },
- { 0x554C, 108933 },
- { 0x5551, 108936 },
- { 0x5564, 108939 },
- { 0x5777, 108943 },
- { 0x5563, 108949 },
- { 0x5552, 108954 },
- { 0x5553, 108959 },
- { 0x5778, 108964 },
- { 0x5555, 108969 },
- { 0x5559, 108974 },
- { 0x555E, 108979 },
- { 0x555F, 108984 },
- { 0x5560, 108989 },
- { 0x5561, 108994 },
- { 0x5554, 108999 },
- { 0x5652, 109004 },
- { 0x5556, 109010 },
- { 0x5557, 109015 },
- { 0x5558, 109020 },
- { 0x555A, 109025 },
- { 0x555B, 109030 },
- { 0x5779, 109035 },
- { 0x555D, 109042 },
- { 0x5562, 109047 },
- { 0x555C, 109052 },
- { 0x577A, 109057 },
- { 0x5550, 109062 },
- { 0x5565, 109066 },
- { 0x5566, 109069 },
- { 0x5568, 109075 },
- { 0x5569, 109078 },
- { 0x5576, 109081 },
- { 0x5577, 109084 },
- { 0x577C, 109088 },
- { 0x5578, 109093 },
- { 0x5579, 109104 },
- { 0x577F, 109115 },
- { 0x577D, 109120 },
- { 0x577E, 109125 },
- { 0x5593, 109130 },
- { 0x5594, 109133 },
- { 0x5599, 109139 },
- { 0x55A0, 109142 },
- { 0x55A3, 109145 },
- { 0x55A5, 109148 },
- { 0x55AC, 109151 },
- { 0x55AD, 109154 },
- { 0x55AE, 109165 },
- { 0x55AF, 109169 },
- { 0x55B0, 109172 },
- { 0x55B5, 109177 },
- { 0x55B1, 109182 },
- { 0x55B2, 109187 },
- { 0x55B3, 109192 },
- { 0x55B4, 109197 },
- { 0x55B7, 109202 },
- { 0x5653, 109205 },
- { 0x55BC, 109208 },
- { 0x55BD, 109211 },
- { 0x55BF, 109214 },
- { 0x55C0, 109219 },
- { 0x55BE, 109230 },
- { 0x55C3, 109235 },
- { 0x55C4, 109238 },
- { 0x5784, 109241 },
- { 0x5785, 109247 },
- { 0x55C5, 109253 },
- { 0x55C6, 109256 },
- { 0x55E7, 109264 },
- { 0x55E8, 109267 },
- { 0x55E9, 109274 },
- { 0x55EA, 109281 },
- { 0x55EB, 109286 },
- { 0x55ED, 109291 },
- { 0x55EF, 109296 },
- { 0x55EE, 109303 },
- { 0x5787, 109310 },
- { 0x55EC, 109315 },
- { 0x5786, 109320 },
- { 0x55F0, 109324 },
- { 0x55F1, 109327 },
- { 0x55F3, 109330 },
- { 0x55F4, 109333 },
- { 0x5608, 109338 },
- { 0x55F8, 109345 },
- { 0x55FC, 109350 },
- { 0x55FD, 109355 },
- { 0x55FF, 109360 },
- { 0x5601, 109365 },
- { 0x5604, 109370 },
- { 0x5607, 109375 },
- { 0x5609, 109380 },
- { 0x55F6, 109385 },
- { 0x55F7, 109390 },
- { 0x55F9, 109395 },
- { 0x55FB, 109400 },
- { 0x55FE, 109405 },
- { 0x5600, 109410 },
- { 0x578A, 109415 },
- { 0x5602, 109420 },
- { 0x5603, 109425 },
- { 0x5605, 109430 },
- { 0x55FA, 109435 },
- { 0x5606, 109441 },
- { 0x5788, 109446 },
- { 0x560A, 109451 },
- { 0x55F5, 109456 },
- { 0x5789, 109461 },
- { 0x560D, 109466 },
- { 0x560E, 109469 },
- { 0x560F, 109474 },
- { 0x5610, 109479 },
- { 0x5611, 109484 },
- { 0x5616, 109489 },
- { 0x5617, 109492 },
- { 0x5618, 109497 },
- { 0x578B, 109500 },
- { 0x561C, 109503 },
- { 0x561E, 109506 },
- { 0x5621, 109509 },
- { 0x5622, 109512 },
- { 0x5623, 109515 },
- { 0x5624, 109520 },
- { 0x5627, 109523 },
- { 0x5628, 109526 },
- { 0x578D, 109531 },
- { 0x562A, 109538 },
- { 0x52E5, 109541 },
- { 0x52E7, 109544 },
- { 0x562E, 109547 },
- { 0x52E8, 109552 },
- { 0x52EF, 109557 },
- { 0x52F0, 109560 },
- { 0x52F1, 109563 },
- { 0x52FA, 109568 },
- { 0x52FE, 109571 },
- { 0x5310, 109574 },
- { 0x5630, 109577 },
- { 0x5332, 109580 },
- { 0x56D6, 109583 },
- { 0x5335, 109588 },
- { 0x5631, 109591 },
- { 0x533C, 109596 },
- { 0x5341, 109599 },
- { 0x5342, 109602 },
- { 0x5343, 109606 },
- { 0x5344, 109611 },
- { 0x5345, 109614 },
- { 0x5350, 109617 },
- { 0x5351, 109620 },
- { 0x535A, 109623 },
- { 0x535C, 109626 },
- { 0x56F6, 109629 },
- { 0x535D, 109634 },
- { 0x535E, 109637 },
- { 0x535F, 109642 },
- { 0x5360, 109649 },
- { 0x5361, 109658 },
- { 0x5365, 109663 },
- { 0x5366, 109668 },
- { 0x536B, 109674 },
- { 0x536D, 109679 },
- { 0x536E, 109684 },
- { 0x56FF, 109689 },
- { 0x536F, 109694 },
- { 0x5370, 109699 },
- { 0x5362, 109704 },
- { 0x5633, 109709 },
- { 0x5367, 109714 },
- { 0x536A, 109720 },
- { 0x536C, 109725 },
- { 0x5634, 109732 },
- { 0x5363, 109737 },
- { 0x5364, 109743 },
- { 0x5368, 109750 },
- { 0x5369, 109755 },
- { 0x56F8, 109761 },
- { 0x56FA, 109767 },
- { 0x56FC, 109773 },
- { 0x56FE, 109779 },
- { 0x56F7, 109785 },
- { 0x56F9, 109791 },
- { 0x56FB, 109798 },
- { 0x56FD, 109804 },
- { 0x53AA, 109810 },
- { 0x5713, 109813 },
- { 0x53AB, 109819 },
- { 0x53B3, 109824 },
- { 0x53B5, 109827 },
- { 0x53B4, 109832 },
- { 0x53B6, 109836 },
- { 0x53B8, 109841 },
- { 0x5637, 109844 },
- { 0x53C4, 109847 },
- { 0x53C5, 109850 },
- { 0x53C6, 109854 },
- { 0x53C7, 109857 },
- { 0x53CA, 109864 },
- { 0x53CB, 109871 },
- { 0x53C9, 109876 },
- { 0x53C8, 109881 },
- { 0x53CD, 109887 },
- { 0x53D1, 109890 },
- { 0x53CF, 109894 },
- { 0x5715, 109899 },
- { 0x53D0, 109906 },
- { 0x53CE, 109911 },
- { 0x53E2, 109916 },
- { 0x53F4, 109919 },
- { 0x53F5, 109922 },
- { 0x53F9, 109927 },
- { 0x53F6, 109932 },
- { 0x53F8, 109937 },
- { 0x53F7, 109942 },
- { 0x53FA, 109947 },
- { 0x5639, 109950 },
- { 0x53FE, 109953 },
- { 0x53FF, 109956 },
- { 0x5400, 109962 },
- { 0x540F, 109968 },
- { 0x544C, 109971 },
- { 0x544D, 109974 },
- { 0x544E, 109977 },
- { 0x544F, 109980 },
- { 0x5450, 109983 },
- { 0x5456, 109988 },
- { 0x5457, 109991 },
- { 0x5463, 109994 },
- { 0x54B6, 109997 },
- { 0x54E2, 110000 },
- { 0x5648, 110003 },
- { 0x54EE, 110006 },
- { 0x54F2, 110009 },
- { 0x54F3, 110014 },
- { 0x576A, 110023 },
- { 0x576B, 110030 },
- { 0x54EF, 110037 },
- { 0x54F1, 110042 },
- { 0x54F0, 110047 },
- { 0x54F4, 110052 },
- { 0x54FC, 110057 },
- { 0x54FE, 110060 },
- { 0x54FD, 110066 },
- { 0x54FF, 110070 },
- { 0x5503, 110075 },
- { 0x564C, 110078 },
- { 0x551E, 110081 },
- { 0x5591, 110084 },
- { 0x5590, 110092 },
- { 0x564F, 110096 },
- { 0x5651, 110102 },
- { 0x556A, 110105 },
- { 0x556B, 110108 },
- { 0x5571, 110113 },
- { 0x5572, 110118 },
- { 0x556E, 110125 },
- { 0x556C, 110130 },
- { 0x5570, 110135 },
- { 0x556D, 110140 },
- { 0x556F, 110145 },
- { 0x5573, 110150 },
- { 0x577B, 110153 },
- { 0x557B, 110157 },
- { 0x557F, 110160 },
- { 0x5580, 110163 },
- { 0x5581, 110168 },
- { 0x5582, 110173 },
- { 0x5583, 110176 },
- { 0x5584, 110181 },
- { 0x5586, 110186 },
- { 0x5587, 110191 },
- { 0x5588, 110196 },
- { 0x5589, 110201 },
- { 0x558B, 110207 },
- { 0x558C, 110212 },
- { 0x558D, 110217 },
- { 0x5585, 110222 },
- { 0x558A, 110227 },
- { 0x558F, 110232 },
- { 0x5591, 110235 },
- { 0x5590, 110243 },
- { 0x5595, 110247 },
- { 0x5781, 110250 },
- { 0x5780, 110257 },
- { 0x559A, 110264 },
- { 0x559B, 110267 },
- { 0x559C, 110273 },
- { 0x55A1, 110276 },
- { 0x55A6, 110279 },
- { 0x55B6, 110282 },
- { 0x5783, 110285 },
- { 0x55C2, 110290 },
- { 0x55D8, 110293 },
- { 0x55DF, 110296 },
- { 0x55E1, 110299 },
- { 0x55E0, 110304 },
- { 0x55F2, 110309 },
- { 0x5613, 110312 },
- { 0x5612, 110315 },
- { 0x561D, 110318 },
- { 0x5625, 110321 },
- { 0x52E6, 110324 },
- { 0x52EE, 110327 },
- { 0x52F2, 110330 },
- { 0x52F3, 110333 },
- { 0x5302, 110336 },
- { 0x5304, 110339 },
- { 0x530D, 110342 },
- { 0x530E, 110345 },
- { 0x532C, 110350 },
- { 0x532D, 110353 },
- { 0x533E, 110356 },
- { 0x535B, 110359 },
- { 0x56F5, 110362 },
- { 0x53B0, 110366 },
- { 0x53C3, 110369 },
- { 0x53CC, 110372 },
- { 0x53E3, 110375 },
- { 0x545B, 110378 },
- { 0x5462, 110381 },
- { 0x5474, 110384 },
- { 0x5475, 110387 },
- { 0x5476, 110392 },
- { 0x5477, 110401 },
- { 0x5478, 110408 },
- { 0x54A1, 110415 },
- { 0x54A2, 110420 },
- { 0x54A3, 110427 },
- { 0x5479, 110436 },
- { 0x547A, 110441 },
- { 0x547D, 110446 },
- { 0x547F, 110451 },
- { 0x5480, 110456 },
- { 0x5644, 110461 },
- { 0x5484, 110466 },
- { 0x5486, 110471 },
- { 0x5488, 110478 },
- { 0x5489, 110483 },
- { 0x548A, 110490 },
- { 0x548B, 110497 },
- { 0x5492, 110502 },
- { 0x5494, 110507 },
- { 0x5495, 110512 },
- { 0x5497, 110519 },
- { 0x54A0, 110524 },
- { 0x54A4, 110535 },
- { 0x54A5, 110542 },
- { 0x571E, 110547 },
- { 0x547B, 110554 },
- { 0x547C, 110561 },
- { 0x547E, 110566 },
- { 0x5481, 110571 },
- { 0x5482, 110576 },
- { 0x5483, 110581 },
- { 0x5485, 110588 },
- { 0x5487, 110593 },
- { 0x548C, 110599 },
- { 0x548D, 110604 },
- { 0x548E, 110609 },
- { 0x548F, 110614 },
- { 0x5493, 110623 },
- { 0x5498, 110628 },
- { 0x549D, 110635 },
- { 0x549E, 110640 },
- { 0x54A6, 110645 },
- { 0x5491, 110650 },
- { 0x5496, 110655 },
- { 0x549B, 110660 },
- { 0x549C, 110665 },
- { 0x549F, 110672 },
- { 0x5490, 110677 },
- { 0x5499, 110682 },
- { 0x549A, 110691 },
- { 0x54A7, 110699 },
- { 0x54A8, 110703 },
- { 0x54AB, 110706 },
- { 0x54AC, 110710 },
- { 0x54A9, 110718 },
- { 0x54AA, 110723 },
- { 0x54D3, 110730 },
- { 0x54D4, 110733 },
- { 0x54D6, 110738 },
- { 0x54D5, 110742 },
- { 0x54E3, 110747 },
- { 0x54F5, 110750 },
- { 0x54F9, 110753 },
- { 0x54F6, 110757 },
- { 0x54F7, 110762 },
- { 0x54F8, 110769 },
- { 0x5649, 110774 },
- { 0x5500, 110779 },
- { 0x551C, 110782 },
- { 0x5529, 110785 },
- { 0x552B, 110788 },
- { 0x5530, 110794 },
- { 0x5531, 110800 },
- { 0x5533, 110806 },
- { 0x552C, 110812 },
- { 0x552D, 110818 },
- { 0x552E, 110824 },
- { 0x552F, 110831 },
- { 0x5532, 110837 },
- { 0x552A, 110843 },
- { 0x5534, 110849 },
- { 0x5535, 110855 },
- { 0x553A, 110862 },
- { 0x5650, 110865 },
- { 0x5546, 110869 },
- { 0x5548, 110872 },
- { 0x5549, 110877 },
- { 0x5547, 110882 },
- { 0x554A, 110887 },
- { 0x5574, 110892 },
- { 0x5575, 110895 },
- { 0x557A, 110898 },
- { 0x557C, 110901 },
- { 0x5592, 110904 },
- { 0x559D, 110907 },
- { 0x55A2, 110910 },
- { 0x55DE, 110913 },
- { 0x560B, 110916 },
- { 0x560C, 110919 },
- { 0x5615, 110924 },
- { 0x5629, 110927 },
- { 0x52FB, 110930 },
- { 0x52FF, 110933 },
- { 0x56CF, 110936 },
- { 0x56D0, 110941 },
- { 0x56CE, 110946 },
- { 0x53B9, 110951 },
- { 0x53E4, 110954 },
- { 0x5458, 110957 },
- { 0x545A, 110960 },
- { 0x5459, 110972 },
- { 0x5464, 110982 },
- { 0x5465, 110985 },
- { 0x5471, 110990 },
- { 0x5472, 110993 },
- { 0x54AD, 110996 },
- { 0x54B5, 110999 },
- { 0x54EC, 111002 },
- { 0x54ED, 111005 },
- { 0x550E, 111008 },
- { 0x5774, 111011 },
- { 0x5775, 111016 },
- { 0x550F, 111023 },
- { 0x564E, 111028 },
- { 0x576F, 111033 },
- { 0x5513, 111038 },
- { 0x5514, 111046 },
- { 0x551A, 111051 },
- { 0x5510, 111058 },
- { 0x5511, 111063 },
- { 0x564D, 111070 },
- { 0x576C, 111075 },
- { 0x5512, 111081 },
- { 0x576E, 111086 },
- { 0x5515, 111091 },
- { 0x5773, 111096 },
- { 0x5516, 111103 },
- { 0x5517, 111108 },
- { 0x5518, 111116 },
- { 0x5519, 111123 },
- { 0x551B, 111132 },
- { 0x576D, 111137 },
- { 0x5772, 111142 },
- { 0x5770, 111147 },
- { 0x5776, 111152 },
- { 0x5771, 111157 },
- { 0x5567, 111162 },
- { 0x557D, 111165 },
- { 0x558E, 111168 },
- { 0x5596, 111171 },
- { 0x55A4, 111174 },
- { 0x5614, 111177 },
- { 0x53BA, 111180 },
- { 0x5714, 111183 },
- { 0x53BB, 111188 },
- { 0x571F, 111193 },
- { 0x5720, 111196 },
- { 0x5721, 111199 },
- { 0x5722, 111202 },
- { 0x5723, 111205 },
- { 0x5724, 111208 },
- { 0x5725, 111211 },
- { 0x5726, 111214 },
- { 0x5727, 111220 },
- { 0x5728, 111223 },
- { 0x5729, 111228 },
- { 0x572A, 111231 },
- { 0x572B, 111234 },
- { 0x572C, 111237 },
- { 0x572D, 111240 },
- { 0x572E, 111243 },
- { 0x572F, 111246 },
- { 0x5730, 111249 },
- { 0x5731, 111252 },
- { 0x5732, 111255 },
- { 0x5733, 111258 },
- { 0x5734, 111261 },
- { 0x5735, 111264 },
- { 0x5736, 111267 },
- { 0x5737, 111270 },
- { 0x5738, 111273 },
- { 0x5739, 111276 },
- { 0x573A, 111279 },
- { 0x573B, 111282 },
- { 0x573C, 111285 },
- { 0x5740, 111290 },
- { 0x573D, 111297 },
- { 0x573E, 111302 },
- { 0x573F, 111309 },
- { 0x5741, 111318 },
- { 0x5742, 111321 },
- { 0x5743, 111324 },
- { 0x5744, 111327 },
- { 0x5745, 111330 },
- { 0x5746, 111333 },
- { 0x5747, 111336 },
- { 0x5748, 111339 },
- { 0x5749, 111342 },
- { 0x574A, 111345 },
- { 0x574B, 111348 },
- { 0x5750, 111351 },
- { 0x5752, 111356 },
- { 0x5753, 111361 },
- { 0x5754, 111366 },
- { 0x574C, 111371 },
- { 0x574D, 111376 },
- { 0x574F, 111381 },
- { 0x5751, 111386 },
- { 0x574E, 111391 },
- { 0x5755, 111398 },
- { 0x5756, 111403 },
- { 0x5757, 111406 },
- { 0x5759, 111409 },
- { 0x575C, 111414 },
- { 0x575F, 111419 },
- { 0x5758, 111424 },
- { 0x575A, 111429 },
- { 0x575B, 111434 },
- { 0x575D, 111440 },
- { 0x575E, 111449 },
- { 0x5760, 111456 },
- { 0x5761, 111461 },
- { 0x5762, 111464 },
- { 0x557E, 111467 },
- { 0x56B7, 111470 },
- { 0x56B8, 111477 },
- { 0x56A5, 111484 },
- { 0x568A, 111489 },
- { 0x56BA, 111494 },
- { 0x56AE, 111500 },
- { 0x566B, 111505 },
- { 0x5674, 111510 },
- { 0x5682, 111515 },
- { 0x56B0, 111520 },
- { 0x56B3, 111526 },
- { 0x56B5, 111534 },
- { 0x56B6, 111540 },
- { 0x56B9, 111546 },
- { 0x5667, 111552 },
- { 0x56C1, 111557 },
- { 0x565A, 111564 },
- { 0x56A4, 111569 },
- { 0x5661, 111575 },
- { 0x5670, 111580 },
- { 0x567E, 111585 },
- { 0x5696, 111590 },
- { 0x5656, 111597 },
- { 0x56A0, 111602 },
- { 0x56A6, 111608 },
- { 0x568B, 111613 },
- { 0x56AF, 111618 },
- { 0x566C, 111623 },
- { 0x5675, 111628 },
- { 0x5679, 111633 },
- { 0x5683, 111638 },
- { 0x56B1, 111643 },
- { 0x56B4, 111649 },
- { 0x5666, 111657 },
- { 0x56C0, 111662 },
- { 0x5659, 111669 },
- { 0x56A3, 111674 },
- { 0x56AA, 111680 },
- { 0x56AB, 111685 },
- { 0x568F, 111692 },
- { 0x5660, 111697 },
- { 0x566F, 111702 },
- { 0x5678, 111707 },
- { 0x567D, 111712 },
- { 0x5687, 111717 },
- { 0x56B2, 111722 },
- { 0x5665, 111728 },
- { 0x56BF, 111733 },
- { 0x5658, 111740 },
- { 0x56A2, 111745 },
- { 0x56A8, 111751 },
- { 0x56A9, 111756 },
- { 0x568E, 111763 },
- { 0x565F, 111768 },
- { 0x566E, 111773 },
- { 0x5677, 111778 },
- { 0x567C, 111783 },
- { 0x5686, 111788 },
- { 0x5692, 111793 },
- { 0x5694, 111800 },
- { 0x5695, 111808 },
- { 0x5693, 111816 },
- { 0x566A, 111823 },
- { 0x56C4, 111828 },
- { 0x565D, 111835 },
- { 0x5664, 111840 },
- { 0x5673, 111845 },
- { 0x5681, 111850 },
- { 0x569C, 111855 },
- { 0x569F, 111862 },
- { 0x569D, 111870 },
- { 0x569E, 111877 },
- { 0x5669, 111884 },
- { 0x56C3, 111889 },
- { 0x565C, 111896 },
- { 0x5663, 111901 },
- { 0x5672, 111906 },
- { 0x5680, 111911 },
- { 0x569A, 111916 },
- { 0x569B, 111923 },
- { 0x5668, 111930 },
- { 0x56C2, 111935 },
- { 0x565B, 111942 },
- { 0x5662, 111947 },
- { 0x5671, 111952 },
- { 0x567F, 111957 },
- { 0x5698, 111962 },
- { 0x5699, 111970 },
- { 0x5697, 111978 },
- { 0x5689, 111985 },
- { 0x5688, 111993 },
- { 0x5657, 112001 },
- { 0x56A1, 112006 },
- { 0x56A7, 112012 },
- { 0x568C, 112017 },
- { 0x568D, 112022 },
- { 0x565E, 112029 },
- { 0x566D, 112034 },
- { 0x5676, 112039 },
- { 0x567A, 112044 },
- { 0x567B, 112049 },
- { 0x5684, 112056 },
- { 0x5685, 112061 },
- { 0x5690, 112068 },
- { 0x5691, 112075 },
- { 0x56BB, 112082 },
- { 0x56BC, 112088 },
- { 0x56BE, 112094 },
- { 0x56BD, 112099 },
- { 0x56AD, 112104 },
- { 0x56AC, 112108 },
- { 0x56C5, 112112 },
- { 0x56C7, 112119 },
- { 0x56C8, 112124 },
- { 0x56C9, 112129 },
- { 0x56C6, 112134 },
- { 0x7AD8, 112139 },
+ { 0x7BB4, 106055 },
+ { 0x8069, 106056 },
+ { 0x52C1, 106057 },
+ { 0x52C2, 106060 },
+ { 0x52C5, 106065 },
+ { 0x52C3, 106070 },
+ { 0x52C6, 106075 },
+ { 0x52C9, 106080 },
+ { 0x52C4, 106085 },
+ { 0x52C8, 106091 },
+ { 0x52C7, 106096 },
+ { 0x534B, 106102 },
+ { 0x534D, 106105 },
+ { 0x534C, 106113 },
+ { 0x5400, 106118 },
+ { 0x5401, 106121 },
+ { 0x55CC, 106125 },
+ { 0x565A, 106128 },
+ { 0x55CE, 106132 },
+ { 0x55CD, 106137 },
+ { 0x55D1, 106141 },
+ { 0x55CF, 106151 },
+ { 0x55D0, 106162 },
+ { 0x52CA, 106170 },
+ { 0x52CB, 106173 },
+ { 0x52D6, 106176 },
+ { 0x52D5, 106180 },
+ { 0x52D0, 106189 },
+ { 0x52CE, 106194 },
+ { 0x52D1, 106199 },
+ { 0x5631, 106205 },
+ { 0x56CF, 106210 },
+ { 0x52CC, 106216 },
+ { 0x52CD, 106221 },
+ { 0x52CF, 106227 },
+ { 0x52D2, 106233 },
+ { 0x56D0, 106238 },
+ { 0x52D3, 106243 },
+ { 0x52D4, 106248 },
+ { 0x52DD, 106253 },
+ { 0x56D1, 106256 },
+ { 0x52DE, 106261 },
+ { 0x52DF, 106264 },
+ { 0x52E0, 106269 },
+ { 0x52E1, 106276 },
+ { 0x52E2, 106279 },
+ { 0x52E5, 106284 },
+ { 0x52E7, 106289 },
+ { 0x52E8, 106294 },
+ { 0x52E9, 106299 },
+ { 0x52E3, 106304 },
+ { 0x52E4, 106309 },
+ { 0x52E6, 106314 },
+ { 0x52EE, 106319 },
+ { 0x52EF, 106322 },
+ { 0x52F2, 106327 },
+ { 0x52F1, 106333 },
+ { 0x52F0, 106342 },
+ { 0x5301, 106347 },
+ { 0x530A, 106350 },
+ { 0x530B, 106353 },
+ { 0x530C, 106358 },
+ { 0x530D, 106363 },
+ { 0x530E, 106369 },
+ { 0x530F, 106372 },
+ { 0x5310, 106378 },
+ { 0x56D6, 106384 },
+ { 0x5311, 106391 },
+ { 0x5316, 106396 },
+ { 0x56D7, 106399 },
+ { 0x5333, 106404 },
+ { 0x533B, 106407 },
+ { 0x533D, 106410 },
+ { 0x533C, 106414 },
+ { 0x533E, 106419 },
+ { 0x534E, 106423 },
+ { 0x534F, 106426 },
+ { 0x5354, 106435 },
+ { 0x5351, 106440 },
+ { 0x5350, 106445 },
+ { 0x56F8, 106450 },
+ { 0x56F9, 106455 },
+ { 0x5352, 106460 },
+ { 0x5353, 106465 },
+ { 0x5357, 106470 },
+ { 0x5358, 106473 },
+ { 0x535B, 106476 },
+ { 0x5359, 106481 },
+ { 0x535A, 106486 },
+ { 0x535E, 106492 },
+ { 0x535C, 106496 },
+ { 0x535D, 106501 },
+ { 0x5376, 106506 },
+ { 0x5377, 106509 },
+ { 0x53C1, 106513 },
+ { 0x53C2, 106516 },
+ { 0x53C3, 106521 },
+ { 0x53C4, 106526 },
+ { 0x53D7, 106531 },
+ { 0x53D8, 106534 },
+ { 0x53EA, 106539 },
+ { 0x53EC, 106542 },
+ { 0x53EB, 106546 },
+ { 0x571D, 106550 },
+ { 0x53EE, 106555 },
+ { 0x53F7, 106558 },
+ { 0x53EF, 106563 },
+ { 0x571E, 106568 },
+ { 0x53F1, 106577 },
+ { 0x53F3, 106582 },
+ { 0x53F4, 106587 },
+ { 0x53F5, 106592 },
+ { 0x53F6, 106597 },
+ { 0x53F0, 106602 },
+ { 0x53F2, 106607 },
+ { 0x53F8, 106612 },
+ { 0x5402, 106615 },
+ { 0x5406, 106618 },
+ { 0x540C, 106621 },
+ { 0x540D, 106624 },
+ { 0x540F, 106630 },
+ { 0x5410, 106633 },
+ { 0x5413, 106638 },
+ { 0x5411, 106642 },
+ { 0x5412, 106647 },
+ { 0x5415, 106652 },
+ { 0x5416, 106655 },
+ { 0x5418, 106658 },
+ { 0x5419, 106661 },
+ { 0x5448, 106666 },
+ { 0x5721, 106671 },
+ { 0x541A, 106678 },
+ { 0x541B, 106683 },
+ { 0x5420, 106690 },
+ { 0x571F, 106695 },
+ { 0x5423, 106700 },
+ { 0x5428, 106705 },
+ { 0x542C, 106710 },
+ { 0x5643, 106715 },
+ { 0x542F, 106722 },
+ { 0x5720, 106727 },
+ { 0x5431, 106732 },
+ { 0x5433, 106737 },
+ { 0x5434, 106742 },
+ { 0x5435, 106747 },
+ { 0x5436, 106752 },
+ { 0x5437, 106759 },
+ { 0x5438, 106766 },
+ { 0x5439, 106773 },
+ { 0x543A, 106778 },
+ { 0x543B, 106785 },
+ { 0x5645, 106790 },
+ { 0x543D, 106795 },
+ { 0x543E, 106800 },
+ { 0x543F, 106805 },
+ { 0x5647, 106810 },
+ { 0x5449, 106815 },
+ { 0x544A, 106820 },
+ { 0x5722, 106825 },
+ { 0x544D, 106830 },
+ { 0x541D, 106835 },
+ { 0x541F, 106840 },
+ { 0x5424, 106845 },
+ { 0x5426, 106850 },
+ { 0x5427, 106855 },
+ { 0x5642, 106864 },
+ { 0x542E, 106869 },
+ { 0x5430, 106874 },
+ { 0x5432, 106879 },
+ { 0x5644, 106884 },
+ { 0x543C, 106889 },
+ { 0x5440, 106894 },
+ { 0x5441, 106899 },
+ { 0x5442, 106904 },
+ { 0x5444, 106909 },
+ { 0x5445, 106914 },
+ { 0x5447, 106919 },
+ { 0x5648, 106924 },
+ { 0x544C, 106929 },
+ { 0x541C, 106934 },
+ { 0x5640, 106939 },
+ { 0x5422, 106944 },
+ { 0x5425, 106949 },
+ { 0x5429, 106955 },
+ { 0x5641, 106960 },
+ { 0x542A, 106965 },
+ { 0x542B, 106972 },
+ { 0x542D, 106979 },
+ { 0x5443, 106984 },
+ { 0x5646, 106989 },
+ { 0x544B, 106994 },
+ { 0x563F, 107001 },
+ { 0x541E, 107006 },
+ { 0x5421, 107011 },
+ { 0x5446, 107016 },
+ { 0x5461, 107021 },
+ { 0x5463, 107024 },
+ { 0x5464, 107029 },
+ { 0x5462, 107034 },
+ { 0x546B, 107039 },
+ { 0x546C, 107042 },
+ { 0x5478, 107054 },
+ { 0x54B8, 107057 },
+ { 0x54BC, 107060 },
+ { 0x54BD, 107063 },
+ { 0x54E1, 107068 },
+ { 0x54E3, 107071 },
+ { 0x54E2, 107075 },
+ { 0x54E9, 107080 },
+ { 0x54EB, 107083 },
+ { 0x576E, 107086 },
+ { 0x54ED, 107091 },
+ { 0x54EE, 107094 },
+ { 0x54FF, 107099 },
+ { 0x5509, 107102 },
+ { 0x550A, 107105 },
+ { 0x550B, 107110 },
+ { 0x550C, 107115 },
+ { 0x550D, 107119 },
+ { 0x550E, 107122 },
+ { 0x5522, 107127 },
+ { 0x553B, 107130 },
+ { 0x5540, 107133 },
+ { 0x5541, 107136 },
+ { 0x5545, 107141 },
+ { 0x5546, 107146 },
+ { 0x5548, 107151 },
+ { 0x5542, 107156 },
+ { 0x5543, 107161 },
+ { 0x5544, 107166 },
+ { 0x5547, 107171 },
+ { 0x5549, 107176 },
+ { 0x554A, 107181 },
+ { 0x5550, 107186 },
+ { 0x5552, 107189 },
+ { 0x5553, 107192 },
+ { 0x5554, 107195 },
+ { 0x559C, 107198 },
+ { 0x559D, 107201 },
+ { 0x5787, 107205 },
+ { 0x55A3, 107210 },
+ { 0x55A4, 107213 },
+ { 0x55AC, 107218 },
+ { 0x55B0, 107221 },
+ { 0x55AE, 107225 },
+ { 0x55AF, 107230 },
+ { 0x55AD, 107235 },
+ { 0x55BD, 107239 },
+ { 0x55BE, 107242 },
+ { 0x55BF, 107246 },
+ { 0x55C0, 107249 },
+ { 0x55C6, 107253 },
+ { 0x55D2, 107256 },
+ { 0x55D3, 107259 },
+ { 0x55D4, 107262 },
+ { 0x55DA, 107265 },
+ { 0x55D8, 107269 },
+ { 0x55D9, 107278 },
+ { 0x55D7, 107288 },
+ { 0x55D6, 107293 },
+ { 0x55D5, 107298 },
+ { 0x55DB, 107302 },
+ { 0x55DC, 107306 },
+ { 0x55DE, 107312 },
+ { 0x55E2, 107315 },
+ { 0x5659, 107320 },
+ { 0x55E0, 107325 },
+ { 0x55E1, 107332 },
+ { 0x55DF, 107337 },
+ { 0x55E7, 107342 },
+ { 0x55E8, 107345 },
+ { 0x55E9, 107349 },
+ { 0x55EB, 107352 },
+ { 0x55EA, 107356 },
+ { 0x561E, 107361 },
+ { 0x561F, 107364 },
+ { 0x5620, 107368 },
+ { 0x5624, 107374 },
+ { 0x5625, 107377 },
+ { 0x562B, 107382 },
+ { 0x5791, 107385 },
+ { 0x52D7, 107392 },
+ { 0x5632, 107395 },
+ { 0x52DA, 107400 },
+ { 0x52D9, 107407 },
+ { 0x52DB, 107413 },
+ { 0x52DC, 107418 },
+ { 0x52D8, 107423 },
+ { 0x52F9, 107428 },
+ { 0x52FB, 107431 },
+ { 0x52FD, 107436 },
+ { 0x52FE, 107443 },
+ { 0x52FC, 107456 },
+ { 0x52FA, 107468 },
+ { 0x5302, 107473 },
+ { 0x56D2, 107476 },
+ { 0x5305, 107482 },
+ { 0x5306, 107485 },
+ { 0x5308, 107490 },
+ { 0x5314, 107493 },
+ { 0x5317, 107496 },
+ { 0x56D8, 107499 },
+ { 0x5318, 107504 },
+ { 0x531B, 107512 },
+ { 0x531C, 107518 },
+ { 0x531D, 107524 },
+ { 0x531E, 107532 },
+ { 0x5321, 107538 },
+ { 0x5322, 107544 },
+ { 0x5323, 107550 },
+ { 0x5325, 107558 },
+ { 0x5326, 107564 },
+ { 0x5327, 107570 },
+ { 0x5329, 107578 },
+ { 0x532B, 107584 },
+ { 0x532D, 107590 },
+ { 0x5634, 107598 },
+ { 0x5320, 107606 },
+ { 0x5324, 107612 },
+ { 0x5328, 107618 },
+ { 0x532A, 107624 },
+ { 0x532E, 107632 },
+ { 0x5319, 107638 },
+ { 0x531F, 107644 },
+ { 0x532C, 107650 },
+ { 0x531A, 107656 },
+ { 0x532F, 107662 },
+ { 0x5330, 107665 },
+ { 0x5334, 107668 },
+ { 0x5335, 107671 },
+ { 0x56DA, 107674 },
+ { 0x56D9, 107681 },
+ { 0x5336, 107686 },
+ { 0x5338, 107691 },
+ { 0x5339, 107694 },
+ { 0x533F, 107701 },
+ { 0x5637, 107704 },
+ { 0x5340, 107709 },
+ { 0x5342, 107714 },
+ { 0x56E2, 107717 },
+ { 0x56E3, 107722 },
+ { 0x56E6, 107727 },
+ { 0x56E7, 107732 },
+ { 0x56F3, 107737 },
+ { 0x56F4, 107742 },
+ { 0x56F5, 107747 },
+ { 0x56F7, 107752 },
+ { 0x56DD, 107758 },
+ { 0x56DE, 107763 },
+ { 0x56DF, 107770 },
+ { 0x56E0, 107775 },
+ { 0x56E8, 107780 },
+ { 0x56EA, 107786 },
+ { 0x56EE, 107791 },
+ { 0x56EF, 107796 },
+ { 0x56F0, 107803 },
+ { 0x56F2, 107810 },
+ { 0x56F6, 107815 },
+ { 0x56E4, 107820 },
+ { 0x56E5, 107826 },
+ { 0x56F1, 107831 },
+ { 0x56DC, 107836 },
+ { 0x56E1, 107841 },
+ { 0x56E9, 107846 },
+ { 0x56EB, 107851 },
+ { 0x56EC, 107856 },
+ { 0x56ED, 107863 },
+ { 0x5344, 107868 },
+ { 0x5345, 107871 },
+ { 0x5378, 107874 },
+ { 0x53AE, 107877 },
+ { 0x5379, 107882 },
+ { 0x537A, 107891 },
+ { 0x537B, 107898 },
+ { 0x53AB, 107905 },
+ { 0x537D, 107910 },
+ { 0x563A, 107915 },
+ { 0x5384, 107924 },
+ { 0x5385, 107929 },
+ { 0x5388, 107934 },
+ { 0x5389, 107939 },
+ { 0x538A, 107946 },
+ { 0x538B, 107951 },
+ { 0x570A, 107959 },
+ { 0x538E, 107964 },
+ { 0x570D, 107969 },
+ { 0x5392, 107976 },
+ { 0x5395, 107985 },
+ { 0x539E, 107992 },
+ { 0x539F, 107997 },
+ { 0x53A0, 108004 },
+ { 0x5713, 108009 },
+ { 0x5714, 108014 },
+ { 0x5715, 108021 },
+ { 0x53A3, 108028 },
+ { 0x53AC, 108033 },
+ { 0x53AD, 108038 },
+ { 0x537C, 108045 },
+ { 0x537E, 108053 },
+ { 0x5380, 108058 },
+ { 0x5381, 108063 },
+ { 0x5382, 108070 },
+ { 0x5383, 108075 },
+ { 0x5706, 108082 },
+ { 0x5386, 108088 },
+ { 0x5387, 108095 },
+ { 0x5707, 108100 },
+ { 0x5708, 108108 },
+ { 0x538D, 108115 },
+ { 0x570B, 108120 },
+ { 0x570C, 108127 },
+ { 0x538F, 108134 },
+ { 0x5390, 108139 },
+ { 0x5393, 108146 },
+ { 0x5394, 108151 },
+ { 0x5397, 108158 },
+ { 0x5398, 108164 },
+ { 0x5399, 108173 },
+ { 0x539B, 108178 },
+ { 0x539C, 108183 },
+ { 0x539D, 108190 },
+ { 0x570F, 108197 },
+ { 0x5710, 108202 },
+ { 0x5711, 108209 },
+ { 0x53A1, 108214 },
+ { 0x53A2, 108219 },
+ { 0x53A4, 108226 },
+ { 0x53A5, 108231 },
+ { 0x53A6, 108236 },
+ { 0x53A7, 108241 },
+ { 0x53A9, 108248 },
+ { 0x563B, 108253 },
+ { 0x537F, 108258 },
+ { 0x5709, 108265 },
+ { 0x538C, 108270 },
+ { 0x5391, 108276 },
+ { 0x5396, 108283 },
+ { 0x5712, 108288 },
+ { 0x53A8, 108293 },
+ { 0x5716, 108298 },
+ { 0x53AA, 108303 },
+ { 0x5717, 108308 },
+ { 0x5705, 108313 },
+ { 0x539A, 108318 },
+ { 0x570E, 108323 },
+ { 0x53B1, 108330 },
+ { 0x53B2, 108333 },
+ { 0x53B3, 108341 },
+ { 0x53B4, 108344 },
+ { 0x53B6, 108353 },
+ { 0x53B7, 108356 },
+ { 0x53BC, 108359 },
+ { 0x53C5, 108362 },
+ { 0x53C6, 108365 },
+ { 0x53C7, 108370 },
+ { 0x563D, 108375 },
+ { 0x53D9, 108378 },
+ { 0x53DE, 108381 },
+ { 0x571B, 108385 },
+ { 0x53DA, 108391 },
+ { 0x53DB, 108396 },
+ { 0x53DC, 108404 },
+ { 0x53DD, 108409 },
+ { 0x53DF, 108416 },
+ { 0x53E2, 108419 },
+ { 0x571C, 108425 },
+ { 0x53E0, 108432 },
+ { 0x53E1, 108439 },
+ { 0x53E3, 108444 },
+ { 0x53E4, 108447 },
+ { 0x53E5, 108450 },
+ { 0x53E6, 108455 },
+ { 0x53ED, 108458 },
+ { 0x5407, 108461 },
+ { 0x5409, 108464 },
+ { 0x5408, 108468 },
+ { 0x540B, 108472 },
+ { 0x540A, 108476 },
+ { 0x540E, 108487 },
+ { 0x5417, 108490 },
+ { 0x544E, 108493 },
+ { 0x544F, 108496 },
+ { 0x5450, 108501 },
+ { 0x5456, 108504 },
+ { 0x5457, 108507 },
+ { 0x5458, 108513 },
+ { 0x5459, 108516 },
+ { 0x545A, 108521 },
+ { 0x5630, 108526 },
+ { 0x5465, 108530 },
+ { 0x5466, 108533 },
+ { 0x546D, 108536 },
+ { 0x546E, 108539 },
+ { 0x546F, 108542 },
+ { 0x5470, 108547 },
+ { 0x5471, 108550 },
+ { 0x5472, 108553 },
+ { 0x5473, 108557 },
+ { 0x5474, 108560 },
+ { 0x5475, 108563 },
+ { 0x54B3, 108568 },
+ { 0x54B4, 108571 },
+ { 0x54B5, 108576 },
+ { 0x54B6, 108579 },
+ { 0x54B7, 108584 },
+ { 0x54B9, 108591 },
+ { 0x54BE, 108594 },
+ { 0x5768, 108597 },
+ { 0x54D2, 108603 },
+ { 0x54BF, 108607 },
+ { 0x54C4, 108612 },
+ { 0x54C5, 108619 },
+ { 0x54C9, 108624 },
+ { 0x54CA, 108629 },
+ { 0x54CC, 108636 },
+ { 0x54CD, 108643 },
+ { 0x54CE, 108648 },
+ { 0x54CF, 108653 },
+ { 0x54C0, 108660 },
+ { 0x576A, 108665 },
+ { 0x576B, 108670 },
+ { 0x576C, 108675 },
+ { 0x564C, 108684 },
+ { 0x5769, 108689 },
+ { 0x54C1, 108694 },
+ { 0x564B, 108699 },
+ { 0x54C2, 108706 },
+ { 0x54C3, 108712 },
+ { 0x54C6, 108718 },
+ { 0x54C7, 108723 },
+ { 0x54C8, 108728 },
+ { 0x54D0, 108735 },
+ { 0x576D, 108742 },
+ { 0x54D1, 108747 },
+ { 0x54CB, 108752 },
+ { 0x54D6, 108757 },
+ { 0x564A, 108761 },
+ { 0x54D5, 108767 },
+ { 0x54D3, 108771 },
+ { 0x54D4, 108776 },
+ { 0x54D7, 108781 },
+ { 0x54DC, 108784 },
+ { 0x54DD, 108787 },
+ { 0x54DE, 108790 },
+ { 0x54DF, 108793 },
+ { 0x54E0, 108798 },
+ { 0x54E4, 108806 },
+ { 0x54E5, 108809 },
+ { 0x54E6, 108812 },
+ { 0x54EA, 108815 },
+ { 0x54EC, 108818 },
+ { 0x54EF, 108821 },
+ { 0x54F0, 108824 },
+ { 0x5500, 108828 },
+ { 0x564F, 108831 },
+ { 0x5507, 108834 },
+ { 0x5506, 108837 },
+ { 0x550F, 108841 },
+ { 0x5510, 108844 },
+ { 0x5512, 108847 },
+ { 0x5511, 108855 },
+ { 0x5650, 108861 },
+ { 0x5524, 108864 },
+ { 0x552B, 108867 },
+ { 0x552A, 108872 },
+ { 0x5525, 108876 },
+ { 0x5527, 108882 },
+ { 0x5528, 108888 },
+ { 0x5529, 108899 },
+ { 0x5526, 108905 },
+ { 0x552C, 108911 },
+ { 0x552D, 108916 },
+ { 0x553C, 108924 },
+ { 0x553D, 108927 },
+ { 0x553E, 108930 },
+ { 0x5551, 108933 },
+ { 0x5556, 108936 },
+ { 0x5569, 108939 },
+ { 0x577C, 108943 },
+ { 0x5568, 108949 },
+ { 0x5557, 108954 },
+ { 0x5558, 108959 },
+ { 0x577D, 108964 },
+ { 0x555A, 108969 },
+ { 0x555E, 108974 },
+ { 0x5563, 108979 },
+ { 0x5564, 108984 },
+ { 0x5565, 108989 },
+ { 0x5566, 108994 },
+ { 0x5559, 108999 },
+ { 0x5657, 109004 },
+ { 0x555B, 109010 },
+ { 0x555C, 109015 },
+ { 0x555D, 109020 },
+ { 0x555F, 109025 },
+ { 0x5560, 109030 },
+ { 0x577E, 109035 },
+ { 0x5562, 109042 },
+ { 0x5567, 109047 },
+ { 0x5561, 109052 },
+ { 0x577F, 109057 },
+ { 0x5555, 109062 },
+ { 0x556A, 109066 },
+ { 0x556B, 109069 },
+ { 0x556D, 109075 },
+ { 0x556E, 109078 },
+ { 0x557B, 109081 },
+ { 0x557C, 109084 },
+ { 0x5781, 109088 },
+ { 0x557D, 109093 },
+ { 0x557E, 109104 },
+ { 0x5784, 109115 },
+ { 0x5782, 109120 },
+ { 0x5783, 109125 },
+ { 0x5598, 109130 },
+ { 0x5599, 109133 },
+ { 0x559E, 109139 },
+ { 0x55A5, 109142 },
+ { 0x55A8, 109145 },
+ { 0x55AA, 109148 },
+ { 0x55B1, 109151 },
+ { 0x55B2, 109154 },
+ { 0x55B3, 109165 },
+ { 0x55B4, 109169 },
+ { 0x55B5, 109172 },
+ { 0x55BA, 109177 },
+ { 0x55B6, 109182 },
+ { 0x55B7, 109187 },
+ { 0x55B8, 109192 },
+ { 0x55B9, 109197 },
+ { 0x55BC, 109202 },
+ { 0x5658, 109205 },
+ { 0x55C1, 109208 },
+ { 0x55C2, 109211 },
+ { 0x55C4, 109214 },
+ { 0x55C5, 109219 },
+ { 0x55C3, 109230 },
+ { 0x55C8, 109235 },
+ { 0x55C9, 109238 },
+ { 0x5789, 109241 },
+ { 0x578A, 109247 },
+ { 0x55CA, 109253 },
+ { 0x55CB, 109256 },
+ { 0x55EC, 109264 },
+ { 0x55ED, 109267 },
+ { 0x55EE, 109274 },
+ { 0x55EF, 109281 },
+ { 0x55F0, 109286 },
+ { 0x55F2, 109291 },
+ { 0x55F4, 109296 },
+ { 0x55F3, 109303 },
+ { 0x578C, 109310 },
+ { 0x55F1, 109315 },
+ { 0x578B, 109320 },
+ { 0x55F5, 109324 },
+ { 0x55F6, 109327 },
+ { 0x55F8, 109330 },
+ { 0x55F9, 109333 },
+ { 0x560D, 109338 },
+ { 0x55FD, 109345 },
+ { 0x5601, 109350 },
+ { 0x5602, 109355 },
+ { 0x5604, 109360 },
+ { 0x5606, 109365 },
+ { 0x5609, 109370 },
+ { 0x560C, 109375 },
+ { 0x560E, 109380 },
+ { 0x55FB, 109385 },
+ { 0x55FC, 109390 },
+ { 0x55FE, 109395 },
+ { 0x5600, 109400 },
+ { 0x5603, 109405 },
+ { 0x5605, 109410 },
+ { 0x578F, 109415 },
+ { 0x5607, 109420 },
+ { 0x5608, 109425 },
+ { 0x560A, 109430 },
+ { 0x55FF, 109435 },
+ { 0x560B, 109441 },
+ { 0x578D, 109446 },
+ { 0x560F, 109451 },
+ { 0x55FA, 109456 },
+ { 0x578E, 109461 },
+ { 0x5612, 109466 },
+ { 0x5613, 109469 },
+ { 0x5614, 109474 },
+ { 0x5615, 109479 },
+ { 0x5616, 109484 },
+ { 0x561B, 109489 },
+ { 0x561C, 109492 },
+ { 0x561D, 109497 },
+ { 0x5790, 109500 },
+ { 0x5621, 109503 },
+ { 0x5623, 109506 },
+ { 0x5626, 109509 },
+ { 0x5627, 109512 },
+ { 0x5628, 109515 },
+ { 0x5629, 109520 },
+ { 0x562C, 109523 },
+ { 0x562D, 109526 },
+ { 0x5792, 109531 },
+ { 0x562F, 109538 },
+ { 0x52EA, 109541 },
+ { 0x52EC, 109544 },
+ { 0x5633, 109547 },
+ { 0x52ED, 109552 },
+ { 0x52F4, 109557 },
+ { 0x52F5, 109560 },
+ { 0x52F6, 109563 },
+ { 0x52FF, 109568 },
+ { 0x5303, 109571 },
+ { 0x5315, 109574 },
+ { 0x5635, 109577 },
+ { 0x5337, 109580 },
+ { 0x56DB, 109583 },
+ { 0x533A, 109588 },
+ { 0x5636, 109591 },
+ { 0x5341, 109596 },
+ { 0x5346, 109599 },
+ { 0x5347, 109602 },
+ { 0x5348, 109606 },
+ { 0x5349, 109611 },
+ { 0x534A, 109614 },
+ { 0x5355, 109617 },
+ { 0x5356, 109620 },
+ { 0x535F, 109623 },
+ { 0x5361, 109626 },
+ { 0x56FB, 109629 },
+ { 0x5362, 109634 },
+ { 0x5363, 109637 },
+ { 0x5364, 109642 },
+ { 0x5365, 109649 },
+ { 0x5366, 109658 },
+ { 0x536A, 109663 },
+ { 0x536B, 109668 },
+ { 0x5370, 109674 },
+ { 0x5372, 109679 },
+ { 0x5373, 109684 },
+ { 0x5704, 109689 },
+ { 0x5374, 109694 },
+ { 0x5375, 109699 },
+ { 0x5367, 109704 },
+ { 0x5638, 109709 },
+ { 0x536C, 109714 },
+ { 0x536F, 109720 },
+ { 0x5371, 109725 },
+ { 0x5639, 109732 },
+ { 0x5368, 109737 },
+ { 0x5369, 109743 },
+ { 0x536D, 109750 },
+ { 0x536E, 109755 },
+ { 0x56FD, 109761 },
+ { 0x56FF, 109767 },
+ { 0x5701, 109773 },
+ { 0x5703, 109779 },
+ { 0x56FC, 109785 },
+ { 0x56FE, 109791 },
+ { 0x5700, 109798 },
+ { 0x5702, 109804 },
+ { 0x53AF, 109810 },
+ { 0x5718, 109813 },
+ { 0x53B0, 109819 },
+ { 0x53B8, 109824 },
+ { 0x53BA, 109827 },
+ { 0x53B9, 109832 },
+ { 0x53BB, 109836 },
+ { 0x53BD, 109841 },
+ { 0x563C, 109844 },
+ { 0x53C9, 109847 },
+ { 0x53CA, 109850 },
+ { 0x53CB, 109854 },
+ { 0x53CC, 109857 },
+ { 0x53CF, 109864 },
+ { 0x53D0, 109871 },
+ { 0x53CE, 109876 },
+ { 0x53CD, 109881 },
+ { 0x53D2, 109887 },
+ { 0x53D6, 109890 },
+ { 0x53D4, 109894 },
+ { 0x571A, 109899 },
+ { 0x53D5, 109906 },
+ { 0x53D3, 109911 },
+ { 0x53E7, 109916 },
+ { 0x53F9, 109919 },
+ { 0x53FA, 109922 },
+ { 0x53FE, 109927 },
+ { 0x53FB, 109932 },
+ { 0x53FD, 109937 },
+ { 0x53FC, 109942 },
+ { 0x53FF, 109947 },
+ { 0x563E, 109950 },
+ { 0x5403, 109953 },
+ { 0x5404, 109956 },
+ { 0x5405, 109962 },
+ { 0x5414, 109968 },
+ { 0x5451, 109971 },
+ { 0x5452, 109974 },
+ { 0x5453, 109977 },
+ { 0x5454, 109980 },
+ { 0x5455, 109983 },
+ { 0x545B, 109988 },
+ { 0x545C, 109991 },
+ { 0x5468, 109994 },
+ { 0x54BB, 109997 },
+ { 0x54E7, 110000 },
+ { 0x564D, 110003 },
+ { 0x54F3, 110006 },
+ { 0x54F7, 110009 },
+ { 0x54F8, 110014 },
+ { 0x576F, 110023 },
+ { 0x5770, 110030 },
+ { 0x54F4, 110037 },
+ { 0x54F6, 110042 },
+ { 0x54F5, 110047 },
+ { 0x54F9, 110052 },
+ { 0x5501, 110057 },
+ { 0x5503, 110060 },
+ { 0x5502, 110066 },
+ { 0x5504, 110070 },
+ { 0x5508, 110075 },
+ { 0x5651, 110078 },
+ { 0x5523, 110081 },
+ { 0x5596, 110084 },
+ { 0x5595, 110092 },
+ { 0x5654, 110096 },
+ { 0x5656, 110102 },
+ { 0x556F, 110105 },
+ { 0x5570, 110108 },
+ { 0x5576, 110113 },
+ { 0x5577, 110118 },
+ { 0x5573, 110125 },
+ { 0x5571, 110130 },
+ { 0x5575, 110135 },
+ { 0x5572, 110140 },
+ { 0x5574, 110145 },
+ { 0x5578, 110150 },
+ { 0x5780, 110153 },
+ { 0x5580, 110157 },
+ { 0x5584, 110160 },
+ { 0x5585, 110163 },
+ { 0x5586, 110168 },
+ { 0x5587, 110173 },
+ { 0x5588, 110176 },
+ { 0x5589, 110181 },
+ { 0x558B, 110186 },
+ { 0x558C, 110191 },
+ { 0x558D, 110196 },
+ { 0x558E, 110201 },
+ { 0x5590, 110207 },
+ { 0x5591, 110212 },
+ { 0x5592, 110217 },
+ { 0x558A, 110222 },
+ { 0x558F, 110227 },
+ { 0x5594, 110232 },
+ { 0x5596, 110235 },
+ { 0x5595, 110243 },
+ { 0x559A, 110247 },
+ { 0x5786, 110250 },
+ { 0x5785, 110257 },
+ { 0x559F, 110264 },
+ { 0x55A0, 110267 },
+ { 0x55A1, 110273 },
+ { 0x55A6, 110276 },
+ { 0x55AB, 110279 },
+ { 0x55BB, 110282 },
+ { 0x5788, 110285 },
+ { 0x55C7, 110290 },
+ { 0x55DD, 110293 },
+ { 0x55E4, 110296 },
+ { 0x55E6, 110299 },
+ { 0x55E5, 110304 },
+ { 0x55F7, 110309 },
+ { 0x5618, 110312 },
+ { 0x5617, 110315 },
+ { 0x5622, 110318 },
+ { 0x562A, 110321 },
+ { 0x52EB, 110324 },
+ { 0x52F3, 110327 },
+ { 0x52F7, 110330 },
+ { 0x52F8, 110333 },
+ { 0x5307, 110336 },
+ { 0x5309, 110339 },
+ { 0x5312, 110342 },
+ { 0x5313, 110345 },
+ { 0x5331, 110350 },
+ { 0x5332, 110353 },
+ { 0x5343, 110356 },
+ { 0x5360, 110359 },
+ { 0x56FA, 110362 },
+ { 0x53B5, 110366 },
+ { 0x53C8, 110369 },
+ { 0x53D1, 110372 },
+ { 0x53E8, 110375 },
+ { 0x5460, 110378 },
+ { 0x5467, 110381 },
+ { 0x5479, 110384 },
+ { 0x547A, 110387 },
+ { 0x547B, 110392 },
+ { 0x547C, 110401 },
+ { 0x547D, 110408 },
+ { 0x54A6, 110415 },
+ { 0x54A7, 110420 },
+ { 0x54A8, 110427 },
+ { 0x547E, 110436 },
+ { 0x547F, 110441 },
+ { 0x5482, 110446 },
+ { 0x5484, 110451 },
+ { 0x5485, 110456 },
+ { 0x5649, 110461 },
+ { 0x5489, 110466 },
+ { 0x548B, 110471 },
+ { 0x548D, 110478 },
+ { 0x548E, 110483 },
+ { 0x548F, 110490 },
+ { 0x5490, 110497 },
+ { 0x5497, 110502 },
+ { 0x5499, 110507 },
+ { 0x549A, 110512 },
+ { 0x549C, 110519 },
+ { 0x54A5, 110524 },
+ { 0x54A9, 110535 },
+ { 0x54AA, 110542 },
+ { 0x5723, 110547 },
+ { 0x5480, 110554 },
+ { 0x5481, 110561 },
+ { 0x5483, 110566 },
+ { 0x5486, 110571 },
+ { 0x5487, 110576 },
+ { 0x5488, 110581 },
+ { 0x548A, 110588 },
+ { 0x548C, 110593 },
+ { 0x5491, 110599 },
+ { 0x5492, 110604 },
+ { 0x5493, 110609 },
+ { 0x5494, 110614 },
+ { 0x5498, 110623 },
+ { 0x549D, 110628 },
+ { 0x54A2, 110635 },
+ { 0x54A3, 110640 },
+ { 0x54AB, 110645 },
+ { 0x5496, 110650 },
+ { 0x549B, 110655 },
+ { 0x54A0, 110660 },
+ { 0x54A1, 110665 },
+ { 0x54A4, 110672 },
+ { 0x5495, 110677 },
+ { 0x549E, 110682 },
+ { 0x549F, 110691 },
+ { 0x54AC, 110699 },
+ { 0x54AD, 110703 },
+ { 0x54B0, 110706 },
+ { 0x54B1, 110710 },
+ { 0x54AE, 110718 },
+ { 0x54AF, 110723 },
+ { 0x54D8, 110730 },
+ { 0x54D9, 110733 },
+ { 0x54DB, 110738 },
+ { 0x54DA, 110742 },
+ { 0x54E8, 110747 },
+ { 0x54FA, 110750 },
+ { 0x54FE, 110753 },
+ { 0x54FB, 110757 },
+ { 0x54FC, 110762 },
+ { 0x54FD, 110769 },
+ { 0x564E, 110774 },
+ { 0x5505, 110779 },
+ { 0x5521, 110782 },
+ { 0x552E, 110785 },
+ { 0x5530, 110788 },
+ { 0x5535, 110794 },
+ { 0x5536, 110800 },
+ { 0x5538, 110806 },
+ { 0x5531, 110812 },
+ { 0x5532, 110818 },
+ { 0x5533, 110824 },
+ { 0x5534, 110831 },
+ { 0x5537, 110837 },
+ { 0x552F, 110843 },
+ { 0x5539, 110849 },
+ { 0x553A, 110855 },
+ { 0x553F, 110862 },
+ { 0x5655, 110865 },
+ { 0x554B, 110869 },
+ { 0x554D, 110872 },
+ { 0x554E, 110877 },
+ { 0x554C, 110882 },
+ { 0x554F, 110887 },
+ { 0x5579, 110892 },
+ { 0x557A, 110895 },
+ { 0x557F, 110898 },
+ { 0x5581, 110901 },
+ { 0x5597, 110904 },
+ { 0x55A2, 110907 },
+ { 0x55A7, 110910 },
+ { 0x55E3, 110913 },
+ { 0x5610, 110916 },
+ { 0x5611, 110919 },
+ { 0x561A, 110924 },
+ { 0x562E, 110927 },
+ { 0x5300, 110930 },
+ { 0x5304, 110933 },
+ { 0x56D4, 110936 },
+ { 0x56D5, 110941 },
+ { 0x56D3, 110946 },
+ { 0x53BE, 110951 },
+ { 0x53E9, 110954 },
+ { 0x545D, 110957 },
+ { 0x545F, 110960 },
+ { 0x545E, 110972 },
+ { 0x5469, 110982 },
+ { 0x546A, 110985 },
+ { 0x5476, 110990 },
+ { 0x5477, 110993 },
+ { 0x54B2, 110996 },
+ { 0x54BA, 110999 },
+ { 0x54F1, 111002 },
+ { 0x54F2, 111005 },
+ { 0x5513, 111008 },
+ { 0x5779, 111011 },
+ { 0x577A, 111016 },
+ { 0x5514, 111023 },
+ { 0x5653, 111028 },
+ { 0x5774, 111033 },
+ { 0x5518, 111038 },
+ { 0x5519, 111046 },
+ { 0x551F, 111051 },
+ { 0x5515, 111058 },
+ { 0x5516, 111063 },
+ { 0x5652, 111070 },
+ { 0x5771, 111075 },
+ { 0x5517, 111081 },
+ { 0x5773, 111086 },
+ { 0x551A, 111091 },
+ { 0x5778, 111096 },
+ { 0x551B, 111103 },
+ { 0x551C, 111108 },
+ { 0x551D, 111116 },
+ { 0x551E, 111123 },
+ { 0x5520, 111132 },
+ { 0x5772, 111137 },
+ { 0x5777, 111142 },
+ { 0x5775, 111147 },
+ { 0x577B, 111152 },
+ { 0x5776, 111157 },
+ { 0x556C, 111162 },
+ { 0x5582, 111165 },
+ { 0x5593, 111168 },
+ { 0x559B, 111171 },
+ { 0x55A9, 111174 },
+ { 0x5619, 111177 },
+ { 0x53BF, 111180 },
+ { 0x5719, 111183 },
+ { 0x53C0, 111188 },
+ { 0x5724, 111193 },
+ { 0x5725, 111196 },
+ { 0x5726, 111199 },
+ { 0x5727, 111202 },
+ { 0x5728, 111205 },
+ { 0x5729, 111208 },
+ { 0x572A, 111211 },
+ { 0x572B, 111214 },
+ { 0x572C, 111220 },
+ { 0x572D, 111223 },
+ { 0x572E, 111228 },
+ { 0x572F, 111231 },
+ { 0x5730, 111234 },
+ { 0x5731, 111237 },
+ { 0x5732, 111240 },
+ { 0x5733, 111243 },
+ { 0x5734, 111246 },
+ { 0x5735, 111249 },
+ { 0x5736, 111252 },
+ { 0x5737, 111255 },
+ { 0x5738, 111258 },
+ { 0x5739, 111261 },
+ { 0x573A, 111264 },
+ { 0x573B, 111267 },
+ { 0x573C, 111270 },
+ { 0x573D, 111273 },
+ { 0x573E, 111276 },
+ { 0x573F, 111279 },
+ { 0x5740, 111282 },
+ { 0x5741, 111285 },
+ { 0x5745, 111290 },
+ { 0x5742, 111297 },
+ { 0x5743, 111302 },
+ { 0x5744, 111309 },
+ { 0x5746, 111318 },
+ { 0x5747, 111321 },
+ { 0x5748, 111324 },
+ { 0x5749, 111327 },
+ { 0x574A, 111330 },
+ { 0x574B, 111333 },
+ { 0x574C, 111336 },
+ { 0x574D, 111339 },
+ { 0x574E, 111342 },
+ { 0x574F, 111345 },
+ { 0x5750, 111348 },
+ { 0x5755, 111351 },
+ { 0x5757, 111356 },
+ { 0x5758, 111361 },
+ { 0x5759, 111366 },
+ { 0x5751, 111371 },
+ { 0x5752, 111376 },
+ { 0x5754, 111381 },
+ { 0x5756, 111386 },
+ { 0x5753, 111391 },
+ { 0x575A, 111398 },
+ { 0x575B, 111403 },
+ { 0x575C, 111406 },
+ { 0x575E, 111409 },
+ { 0x5761, 111414 },
+ { 0x5764, 111419 },
+ { 0x575D, 111424 },
+ { 0x575F, 111429 },
+ { 0x5760, 111434 },
+ { 0x5762, 111440 },
+ { 0x5763, 111449 },
+ { 0x5765, 111456 },
+ { 0x5766, 111461 },
+ { 0x5767, 111464 },
+ { 0x5583, 111467 },
+ { 0x56BC, 111470 },
+ { 0x56BD, 111477 },
+ { 0x56AA, 111484 },
+ { 0x568F, 111489 },
+ { 0x56BF, 111494 },
+ { 0x56B3, 111500 },
+ { 0x5670, 111505 },
+ { 0x5679, 111510 },
+ { 0x5687, 111515 },
+ { 0x56B5, 111520 },
+ { 0x56B8, 111526 },
+ { 0x56BA, 111534 },
+ { 0x56BB, 111540 },
+ { 0x56BE, 111546 },
+ { 0x566C, 111552 },
+ { 0x56C6, 111557 },
+ { 0x565F, 111564 },
+ { 0x56A9, 111569 },
+ { 0x5666, 111575 },
+ { 0x5675, 111580 },
+ { 0x5683, 111585 },
+ { 0x569B, 111590 },
+ { 0x565B, 111597 },
+ { 0x56A5, 111602 },
+ { 0x56AB, 111608 },
+ { 0x5690, 111613 },
+ { 0x56B4, 111618 },
+ { 0x5671, 111623 },
+ { 0x567A, 111628 },
+ { 0x567E, 111633 },
+ { 0x5688, 111638 },
+ { 0x56B6, 111643 },
+ { 0x56B9, 111649 },
+ { 0x566B, 111657 },
+ { 0x56C5, 111662 },
+ { 0x565E, 111669 },
+ { 0x56A8, 111674 },
+ { 0x56AF, 111680 },
+ { 0x56B0, 111685 },
+ { 0x5694, 111692 },
+ { 0x5665, 111697 },
+ { 0x5674, 111702 },
+ { 0x567D, 111707 },
+ { 0x5682, 111712 },
+ { 0x568C, 111717 },
+ { 0x56B7, 111722 },
+ { 0x566A, 111728 },
+ { 0x56C4, 111733 },
+ { 0x565D, 111740 },
+ { 0x56A7, 111745 },
+ { 0x56AD, 111751 },
+ { 0x56AE, 111756 },
+ { 0x5693, 111763 },
+ { 0x5664, 111768 },
+ { 0x5673, 111773 },
+ { 0x567C, 111778 },
+ { 0x5681, 111783 },
+ { 0x568B, 111788 },
+ { 0x5697, 111793 },
+ { 0x5699, 111800 },
+ { 0x569A, 111808 },
+ { 0x5698, 111816 },
+ { 0x566F, 111823 },
+ { 0x56C9, 111828 },
+ { 0x5662, 111835 },
+ { 0x5669, 111840 },
+ { 0x5678, 111845 },
+ { 0x5686, 111850 },
+ { 0x56A1, 111855 },
+ { 0x56A4, 111862 },
+ { 0x56A2, 111870 },
+ { 0x56A3, 111877 },
+ { 0x566E, 111884 },
+ { 0x56C8, 111889 },
+ { 0x5661, 111896 },
+ { 0x5668, 111901 },
+ { 0x5677, 111906 },
+ { 0x5685, 111911 },
+ { 0x569F, 111916 },
+ { 0x56A0, 111923 },
+ { 0x566D, 111930 },
+ { 0x56C7, 111935 },
+ { 0x5660, 111942 },
+ { 0x5667, 111947 },
+ { 0x5676, 111952 },
+ { 0x5684, 111957 },
+ { 0x569D, 111962 },
+ { 0x569E, 111970 },
+ { 0x569C, 111978 },
+ { 0x568E, 111985 },
+ { 0x568D, 111993 },
+ { 0x565C, 112001 },
+ { 0x56A6, 112006 },
+ { 0x56AC, 112012 },
+ { 0x5691, 112017 },
+ { 0x5692, 112022 },
+ { 0x5663, 112029 },
+ { 0x5672, 112034 },
+ { 0x567B, 112039 },
+ { 0x567F, 112044 },
+ { 0x5680, 112049 },
+ { 0x5689, 112056 },
+ { 0x568A, 112061 },
+ { 0x5695, 112068 },
+ { 0x5696, 112075 },
+ { 0x56C0, 112082 },
+ { 0x56C1, 112088 },
+ { 0x56C3, 112094 },
+ { 0x56C2, 112099 },
+ { 0x56B2, 112104 },
+ { 0x56B1, 112108 },
+ { 0x56CA, 112112 },
+ { 0x56CC, 112119 },
+ { 0x56CD, 112124 },
+ { 0x56CE, 112129 },
+ { 0x56CB, 112134 },
+ { 0x7ADD, 112139 },
{ 0x201B, 112141 },
{ 0x2019, 112147 },
{ 0x2013, 112155 },
@@ -76123,35 +76130,35 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2014, 112241 },
{ 0x0067, 112247 },
{ 0x1F82, 112248 },
- { 0x808C, 112250 },
+ { 0x8091, 112250 },
{ 0x1DF2, 112252 },
{ 0x1DE4, 112256 },
{ 0x2536, 112258 },
- { 0x8297, 112262 },
+ { 0x829C, 112262 },
{ 0x1DF8, 112269 },
{ 0x1E03, 112273 },
{ 0x1E04, 112278 },
- { 0x7F89, 112283 },
- { 0x7F81, 112289 },
- { 0x7F8D, 112295 },
+ { 0x7F8E, 112283 },
+ { 0x7F86, 112289 },
+ { 0x7F92, 112295 },
{ 0x1E06, 112301 },
{ 0x1E30, 112306 },
- { 0x7F85, 112311 },
- { 0x7FFF, 112317 },
+ { 0x7F8A, 112311 },
+ { 0x8004, 112317 },
{ 0x252B, 112322 },
- { 0x7F91, 112327 },
+ { 0x7F96, 112327 },
{ 0x1E46, 112332 },
{ 0x272A, 112338 },
{ 0x27AC, 112341 },
- { 0x7FC1, 112346 },
- { 0x7FBD, 112349 },
+ { 0x7FC6, 112346 },
+ { 0x7FC2, 112349 },
{ 0x1E3A, 112353 },
- { 0x7FFB, 112356 },
+ { 0x8000, 112356 },
{ 0x2A01, 112362 },
{ 0x1E34, 112364 },
{ 0x1E24, 112367 },
{ 0x1E1B, 112370 },
- { 0x7E14, 112373 },
+ { 0x7E19, 112373 },
{ 0x252E, 112375 },
{ 0x1E00, 112378 },
{ 0x257C, 112381 },
@@ -76162,273 +76169,273 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2580, 112424 },
{ 0x1E14, 112431 },
{ 0x1E13, 112436 },
- { 0x7FB5, 112441 },
- { 0x7FF7, 112444 },
+ { 0x7FBA, 112441 },
+ { 0x7FFC, 112444 },
{ 0x2414, 112447 },
- { 0x7FB9, 112450 },
- { 0x7FC5, 112453 },
+ { 0x7FBE, 112450 },
+ { 0x7FCA, 112453 },
{ 0x280F, 112456 },
- { 0x7FB1, 112462 },
+ { 0x7FB6, 112462 },
{ 0x2786, 112465 },
{ 0x2796, 112468 },
- { 0x7FA5, 112473 },
+ { 0x7FAA, 112473 },
{ 0x27C0, 112479 },
{ 0x27C1, 112486 },
- { 0x7FAD, 112493 },
- { 0x7FA9, 112500 },
+ { 0x7FB2, 112493 },
+ { 0x7FAE, 112500 },
{ 0x279E, 112506 },
- { 0x7FA1, 112513 },
- { 0x7F9D, 112519 },
+ { 0x7FA6, 112513 },
+ { 0x7FA2, 112519 },
{ 0x27A4, 112525 },
{ 0x2790, 112533 },
{ 0x27A8, 112537 },
{ 0x2770, 112541 },
- { 0x7BCF, 112545 },
+ { 0x7BD4, 112545 },
{ 0x29FB, 112547 },
{ 0x1D83, 112549 },
{ 0x1EAA, 112551 },
- { 0x7AD7, 112552 },
- { 0x7F51, 112554 },
- { 0x7F4B, 112559 },
- { 0x7F3E, 112564 },
- { 0x7F20, 112568 },
- { 0x7F2A, 112572 },
- { 0x7F45, 112576 },
+ { 0x7ADC, 112552 },
+ { 0x7F56, 112554 },
+ { 0x7F50, 112559 },
+ { 0x7F43, 112564 },
+ { 0x7F25, 112568 },
+ { 0x7F2F, 112572 },
+ { 0x7F4A, 112576 },
{ 0x1D90, 112579 },
- { 0x7B2B, 112581 },
- { 0x81C6, 112582 },
- { 0x3F22, 112583 },
- { 0x3FB9, 112586 },
- { 0x3FBD, 112589 },
- { 0x3FBC, 112592 },
- { 0x3FB7, 112595 },
- { 0x3EF1, 112598 },
- { 0x3F3E, 112601 },
- { 0x3F42, 112605 },
- { 0x3F1E, 112609 },
- { 0x3EEB, 112613 },
- { 0x3EEE, 112616 },
- { 0x3EFD, 112619 },
- { 0x3EEF, 112621 },
- { 0x3EF4, 112623 },
- { 0x3EF9, 112626 },
- { 0x3EF5, 112629 },
- { 0x3EF8, 112632 },
- { 0x3EF7, 112635 },
- { 0x3EFC, 112638 },
- { 0x3EF3, 112641 },
- { 0x3EFB, 112644 },
- { 0x3EFA, 112647 },
- { 0x3EF6, 112650 },
- { 0x3F23, 112653 },
- { 0x3F24, 112656 },
- { 0x3F25, 112661 },
- { 0x3F26, 112666 },
- { 0x3F27, 112671 },
- { 0x3F28, 112676 },
- { 0x3F29, 112681 },
- { 0x3F2A, 112686 },
- { 0x3F2B, 112691 },
- { 0x3F2C, 112696 },
- { 0x3F2D, 112701 },
- { 0x3F2E, 112706 },
- { 0x3F2F, 112711 },
- { 0x3F30, 112716 },
- { 0x3F31, 112721 },
- { 0x3F32, 112726 },
- { 0x3F33, 112731 },
- { 0x3F34, 112736 },
- { 0x3F35, 112741 },
- { 0x3F36, 112746 },
- { 0x3F37, 112751 },
- { 0x3F38, 112756 },
- { 0x3F39, 112761 },
- { 0x3F3A, 112766 },
- { 0x3F3B, 112771 },
- { 0x3F3C, 112776 },
- { 0x3F3D, 112781 },
- { 0x3F04, 112786 },
- { 0x3F05, 112791 },
- { 0x3F06, 112796 },
- { 0x3F07, 112801 },
- { 0x3F08, 112806 },
- { 0x3F09, 112811 },
- { 0x3F0A, 112816 },
- { 0x3F0B, 112821 },
- { 0x3F0C, 112826 },
- { 0x3F0D, 112831 },
- { 0x3F0E, 112836 },
- { 0x3F0F, 112841 },
- { 0x3F10, 112846 },
- { 0x3F11, 112851 },
- { 0x3F12, 112856 },
- { 0x3F13, 112861 },
- { 0x3F14, 112866 },
- { 0x3F15, 112871 },
- { 0x3F16, 112876 },
- { 0x3F17, 112881 },
- { 0x3F18, 112886 },
- { 0x3F19, 112891 },
- { 0x3F1A, 112896 },
- { 0x3F1B, 112901 },
- { 0x3F1C, 112906 },
- { 0x3F1D, 112911 },
- { 0x3FB8, 112916 },
- { 0x3F40, 112919 },
- { 0x3F43, 112923 },
- { 0x3F20, 112927 },
- { 0x3EEC, 112931 },
- { 0x3F41, 112934 },
- { 0x3FBB, 112936 },
- { 0x3EE7, 112939 },
- { 0x3F00, 112942 },
- { 0x3FBA, 112945 },
- { 0x3EE6, 112947 },
- { 0x3EE8, 112950 },
- { 0x3F1F, 112953 },
- { 0x3EF2, 112956 },
- { 0x3EED, 112958 },
- { 0x3F02, 112960 },
- { 0x3F3F, 112963 },
- { 0x3EE9, 112966 },
- { 0x3EFF, 112968 },
- { 0x3EE5, 112971 },
- { 0x3EFE, 112974 },
- { 0x3EEA, 112976 },
- { 0x3F21, 112978 },
- { 0x3F03, 112981 },
- { 0x3EE4, 112984 },
- { 0x3F01, 112987 },
- { 0x3EF0, 112990 },
+ { 0x7B30, 112581 },
+ { 0x81CB, 112582 },
+ { 0x3F27, 112583 },
+ { 0x3FBE, 112586 },
+ { 0x3FC2, 112589 },
+ { 0x3FC1, 112592 },
+ { 0x3FBC, 112595 },
+ { 0x3EF6, 112598 },
+ { 0x3F43, 112601 },
+ { 0x3F47, 112605 },
+ { 0x3F23, 112609 },
+ { 0x3EF0, 112613 },
+ { 0x3EF3, 112616 },
+ { 0x3F02, 112619 },
+ { 0x3EF4, 112621 },
+ { 0x3EF9, 112623 },
+ { 0x3EFE, 112626 },
+ { 0x3EFA, 112629 },
+ { 0x3EFD, 112632 },
+ { 0x3EFC, 112635 },
+ { 0x3F01, 112638 },
+ { 0x3EF8, 112641 },
+ { 0x3F00, 112644 },
+ { 0x3EFF, 112647 },
+ { 0x3EFB, 112650 },
+ { 0x3F28, 112653 },
+ { 0x3F29, 112656 },
+ { 0x3F2A, 112661 },
+ { 0x3F2B, 112666 },
+ { 0x3F2C, 112671 },
+ { 0x3F2D, 112676 },
+ { 0x3F2E, 112681 },
+ { 0x3F2F, 112686 },
+ { 0x3F30, 112691 },
+ { 0x3F31, 112696 },
+ { 0x3F32, 112701 },
+ { 0x3F33, 112706 },
+ { 0x3F34, 112711 },
+ { 0x3F35, 112716 },
+ { 0x3F36, 112721 },
+ { 0x3F37, 112726 },
+ { 0x3F38, 112731 },
+ { 0x3F39, 112736 },
+ { 0x3F3A, 112741 },
+ { 0x3F3B, 112746 },
+ { 0x3F3C, 112751 },
+ { 0x3F3D, 112756 },
+ { 0x3F3E, 112761 },
+ { 0x3F3F, 112766 },
+ { 0x3F40, 112771 },
+ { 0x3F41, 112776 },
+ { 0x3F42, 112781 },
+ { 0x3F09, 112786 },
+ { 0x3F0A, 112791 },
+ { 0x3F0B, 112796 },
+ { 0x3F0C, 112801 },
+ { 0x3F0D, 112806 },
+ { 0x3F0E, 112811 },
+ { 0x3F0F, 112816 },
+ { 0x3F10, 112821 },
+ { 0x3F11, 112826 },
+ { 0x3F12, 112831 },
+ { 0x3F13, 112836 },
+ { 0x3F14, 112841 },
+ { 0x3F15, 112846 },
+ { 0x3F16, 112851 },
+ { 0x3F17, 112856 },
+ { 0x3F18, 112861 },
+ { 0x3F19, 112866 },
+ { 0x3F1A, 112871 },
+ { 0x3F1B, 112876 },
+ { 0x3F1C, 112881 },
+ { 0x3F1D, 112886 },
+ { 0x3F1E, 112891 },
+ { 0x3F1F, 112896 },
+ { 0x3F20, 112901 },
+ { 0x3F21, 112906 },
+ { 0x3F22, 112911 },
+ { 0x3FBD, 112916 },
+ { 0x3F45, 112919 },
+ { 0x3F48, 112923 },
+ { 0x3F25, 112927 },
+ { 0x3EF1, 112931 },
+ { 0x3F46, 112934 },
+ { 0x3FC0, 112936 },
+ { 0x3EEC, 112939 },
+ { 0x3F05, 112942 },
+ { 0x3FBF, 112945 },
+ { 0x3EEB, 112947 },
+ { 0x3EED, 112950 },
+ { 0x3F24, 112953 },
+ { 0x3EF7, 112956 },
+ { 0x3EF2, 112958 },
+ { 0x3F07, 112960 },
+ { 0x3F44, 112963 },
+ { 0x3EEE, 112966 },
+ { 0x3F04, 112968 },
+ { 0x3EEA, 112971 },
+ { 0x3F03, 112974 },
+ { 0x3EEF, 112976 },
+ { 0x3F26, 112978 },
+ { 0x3F08, 112981 },
+ { 0x3EE9, 112984 },
+ { 0x3F06, 112987 },
+ { 0x3EF5, 112990 },
{ 0x1E8B, 112992 },
- { 0x7DD1, 112994 },
- { 0x7C27, 112996 },
- { 0x3F45, 112997 },
- { 0x3FC3, 113001 },
- { 0x3FBE, 113004 },
- { 0x3F46, 113008 },
- { 0x3FC4, 113012 },
- { 0x3F83, 113015 },
- { 0x3FA2, 113018 },
- { 0x3FA7, 113022 },
- { 0x3FB6, 113026 },
- { 0x3FAA, 113030 },
- { 0x3FAF, 113034 },
- { 0x3FA3, 113038 },
- { 0x3FA6, 113042 },
- { 0x3FB4, 113046 },
- { 0x3FAD, 113050 },
- { 0x3FAB, 113054 },
- { 0x3FB1, 113058 },
- { 0x3FB2, 113062 },
- { 0x3FA4, 113066 },
- { 0x3FA9, 113070 },
- { 0x3FB5, 113074 },
- { 0x3FAE, 113078 },
- { 0x3FB3, 113082 },
- { 0x3FAC, 113086 },
- { 0x3FB0, 113090 },
- { 0x3FA5, 113094 },
- { 0x3FA8, 113098 },
- { 0x3F98, 113102 },
- { 0x3F9B, 113106 },
- { 0x3FA1, 113110 },
- { 0x3F9A, 113114 },
- { 0x3F94, 113118 },
- { 0x3F87, 113122 },
- { 0x3F95, 113126 },
- { 0x3F8C, 113130 },
- { 0x3F84, 113134 },
- { 0x3F8A, 113138 },
- { 0x3F9D, 113142 },
- { 0x3F9E, 113146 },
- { 0x3FA0, 113150 },
- { 0x3F9F, 113154 },
- { 0x3F99, 113158 },
- { 0x3F97, 113162 },
- { 0x3F90, 113166 },
- { 0x3F9C, 113170 },
- { 0x3F96, 113174 },
- { 0x3F86, 113178 },
- { 0x3F88, 113182 },
- { 0x3F89, 113186 },
- { 0x3F93, 113190 },
- { 0x3F8E, 113194 },
- { 0x3F8F, 113198 },
- { 0x3F85, 113202 },
- { 0x3F8B, 113206 },
- { 0x3F8D, 113210 },
- { 0x3F92, 113214 },
- { 0x3F91, 113218 },
- { 0x3FC0, 113222 },
- { 0x3F54, 113225 },
- { 0x3F57, 113229 },
- { 0x3F55, 113233 },
- { 0x3F80, 113237 },
- { 0x3F58, 113241 },
- { 0x3F56, 113245 },
- { 0x3F6D, 113249 },
- { 0x3F70, 113253 },
- { 0x3F6E, 113257 },
- { 0x3F71, 113261 },
- { 0x3F6F, 113265 },
- { 0x3F59, 113269 },
- { 0x3F5C, 113273 },
- { 0x3F5A, 113277 },
- { 0x3F5D, 113281 },
- { 0x3F5B, 113285 },
- { 0x3F72, 113289 },
- { 0x3F75, 113293 },
- { 0x3F73, 113297 },
- { 0x3F76, 113301 },
- { 0x3F74, 113305 },
- { 0x3F68, 113309 },
- { 0x3F6B, 113313 },
- { 0x3F69, 113317 },
- { 0x3F6C, 113321 },
- { 0x3F6A, 113325 },
- { 0x3F7A, 113329 },
- { 0x3F7D, 113333 },
- { 0x3F7B, 113337 },
- { 0x3F7E, 113341 },
- { 0x3F7C, 113345 },
- { 0x3F5E, 113349 },
- { 0x3F61, 113353 },
- { 0x3F5F, 113357 },
- { 0x3F62, 113361 },
- { 0x3F60, 113365 },
- { 0x3F63, 113369 },
- { 0x3F66, 113373 },
- { 0x3F64, 113377 },
- { 0x3F67, 113381 },
- { 0x3F65, 113385 },
- { 0x3F7F, 113389 },
- { 0x3F49, 113393 },
- { 0x3F77, 113397 },
- { 0x3F79, 113401 },
- { 0x3F78, 113405 },
- { 0x3F4A, 113409 },
- { 0x3F4D, 113414 },
- { 0x3F4B, 113419 },
- { 0x3F4E, 113424 },
- { 0x3F4C, 113429 },
- { 0x3F52, 113434 },
- { 0x3F4F, 113439 },
- { 0x3F51, 113444 },
- { 0x3F50, 113449 },
- { 0x3F48, 113454 },
- { 0x3F81, 113458 },
- { 0x3F82, 113463 },
- { 0x3FC2, 113468 },
- { 0x3FBF, 113471 },
- { 0x3FC1, 113474 },
- { 0x3F44, 113477 },
- { 0x3F47, 113481 },
- { 0x3F53, 113484 },
- { 0x7AF9, 113489 },
- { 0x8031, 113490 },
- { 0x7B4C, 113491 },
- { 0x81A2, 113492 },
+ { 0x7DD6, 112994 },
+ { 0x7C2C, 112996 },
+ { 0x3F4A, 112997 },
+ { 0x3FC8, 113001 },
+ { 0x3FC3, 113004 },
+ { 0x3F4B, 113008 },
+ { 0x3FC9, 113012 },
+ { 0x3F88, 113015 },
+ { 0x3FA7, 113018 },
+ { 0x3FAC, 113022 },
+ { 0x3FBB, 113026 },
+ { 0x3FAF, 113030 },
+ { 0x3FB4, 113034 },
+ { 0x3FA8, 113038 },
+ { 0x3FAB, 113042 },
+ { 0x3FB9, 113046 },
+ { 0x3FB2, 113050 },
+ { 0x3FB0, 113054 },
+ { 0x3FB6, 113058 },
+ { 0x3FB7, 113062 },
+ { 0x3FA9, 113066 },
+ { 0x3FAE, 113070 },
+ { 0x3FBA, 113074 },
+ { 0x3FB3, 113078 },
+ { 0x3FB8, 113082 },
+ { 0x3FB1, 113086 },
+ { 0x3FB5, 113090 },
+ { 0x3FAA, 113094 },
+ { 0x3FAD, 113098 },
+ { 0x3F9D, 113102 },
+ { 0x3FA0, 113106 },
+ { 0x3FA6, 113110 },
+ { 0x3F9F, 113114 },
+ { 0x3F99, 113118 },
+ { 0x3F8C, 113122 },
+ { 0x3F9A, 113126 },
+ { 0x3F91, 113130 },
+ { 0x3F89, 113134 },
+ { 0x3F8F, 113138 },
+ { 0x3FA2, 113142 },
+ { 0x3FA3, 113146 },
+ { 0x3FA5, 113150 },
+ { 0x3FA4, 113154 },
+ { 0x3F9E, 113158 },
+ { 0x3F9C, 113162 },
+ { 0x3F95, 113166 },
+ { 0x3FA1, 113170 },
+ { 0x3F9B, 113174 },
+ { 0x3F8B, 113178 },
+ { 0x3F8D, 113182 },
+ { 0x3F8E, 113186 },
+ { 0x3F98, 113190 },
+ { 0x3F93, 113194 },
+ { 0x3F94, 113198 },
+ { 0x3F8A, 113202 },
+ { 0x3F90, 113206 },
+ { 0x3F92, 113210 },
+ { 0x3F97, 113214 },
+ { 0x3F96, 113218 },
+ { 0x3FC5, 113222 },
+ { 0x3F59, 113225 },
+ { 0x3F5C, 113229 },
+ { 0x3F5A, 113233 },
+ { 0x3F85, 113237 },
+ { 0x3F5D, 113241 },
+ { 0x3F5B, 113245 },
+ { 0x3F72, 113249 },
+ { 0x3F75, 113253 },
+ { 0x3F73, 113257 },
+ { 0x3F76, 113261 },
+ { 0x3F74, 113265 },
+ { 0x3F5E, 113269 },
+ { 0x3F61, 113273 },
+ { 0x3F5F, 113277 },
+ { 0x3F62, 113281 },
+ { 0x3F60, 113285 },
+ { 0x3F77, 113289 },
+ { 0x3F7A, 113293 },
+ { 0x3F78, 113297 },
+ { 0x3F7B, 113301 },
+ { 0x3F79, 113305 },
+ { 0x3F6D, 113309 },
+ { 0x3F70, 113313 },
+ { 0x3F6E, 113317 },
+ { 0x3F71, 113321 },
+ { 0x3F6F, 113325 },
+ { 0x3F7F, 113329 },
+ { 0x3F82, 113333 },
+ { 0x3F80, 113337 },
+ { 0x3F83, 113341 },
+ { 0x3F81, 113345 },
+ { 0x3F63, 113349 },
+ { 0x3F66, 113353 },
+ { 0x3F64, 113357 },
+ { 0x3F67, 113361 },
+ { 0x3F65, 113365 },
+ { 0x3F68, 113369 },
+ { 0x3F6B, 113373 },
+ { 0x3F69, 113377 },
+ { 0x3F6C, 113381 },
+ { 0x3F6A, 113385 },
+ { 0x3F84, 113389 },
+ { 0x3F4E, 113393 },
+ { 0x3F7C, 113397 },
+ { 0x3F7E, 113401 },
+ { 0x3F7D, 113405 },
+ { 0x3F4F, 113409 },
+ { 0x3F52, 113414 },
+ { 0x3F50, 113419 },
+ { 0x3F53, 113424 },
+ { 0x3F51, 113429 },
+ { 0x3F57, 113434 },
+ { 0x3F54, 113439 },
+ { 0x3F56, 113444 },
+ { 0x3F55, 113449 },
+ { 0x3F4D, 113454 },
+ { 0x3F86, 113458 },
+ { 0x3F87, 113463 },
+ { 0x3FC7, 113468 },
+ { 0x3FC4, 113471 },
+ { 0x3FC6, 113474 },
+ { 0x3F49, 113477 },
+ { 0x3F4C, 113481 },
+ { 0x3F58, 113484 },
+ { 0x7AFE, 113489 },
+ { 0x8036, 113490 },
+ { 0x7B51, 113491 },
+ { 0x81A7, 113492 },
{ 0x231F, 113493 },
{ 0x1F0A, 113496 },
{ 0x1F6C, 113499 },
@@ -76442,87 +76449,87 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1CDE, 113520 },
{ 0x1CDC, 113522 },
{ 0x1CDD, 113524 },
- { 0x81B8, 113526 },
- { 0x4C91, 113527 },
- { 0x4C92, 113530 },
- { 0x4C87, 113533 },
- { 0x4C94, 113536 },
- { 0x4C99, 113539 },
- { 0x4C95, 113542 },
- { 0x4C98, 113545 },
- { 0x4C97, 113548 },
- { 0x4C9C, 113551 },
- { 0x4C93, 113554 },
- { 0x4C9B, 113557 },
- { 0x4C9A, 113560 },
- { 0x4C96, 113563 },
- { 0x4C8D, 113566 },
- { 0x4C89, 113570 },
- { 0x4C8F, 113574 },
- { 0x4C8B, 113578 },
- { 0x4C88, 113582 },
- { 0x4C8E, 113586 },
- { 0x4C90, 113590 },
- { 0x4C8A, 113594 },
- { 0x4C8C, 113598 },
- { 0x4C58, 113602 },
- { 0x4C5E, 113605 },
- { 0x4C5A, 113608 },
- { 0x4C60, 113611 },
- { 0x4C5C, 113614 },
- { 0x4C59, 113617 },
- { 0x4C5F, 113620 },
- { 0x4C61, 113623 },
- { 0x4C7C, 113626 },
- { 0x4C68, 113629 },
- { 0x4C77, 113632 },
- { 0x4C64, 113635 },
- { 0x4C86, 113638 },
- { 0x4C5B, 113641 },
- { 0x4C6A, 113644 },
- { 0x4C62, 113647 },
- { 0x4C82, 113650 },
- { 0x4C7F, 113653 },
- { 0x4C79, 113656 },
- { 0x4C7A, 113659 },
- { 0x4C81, 113662 },
- { 0x4C85, 113665 },
- { 0x4C75, 113668 },
- { 0x4C5D, 113671 },
- { 0x4C83, 113674 },
- { 0x4C80, 113677 },
- { 0x4C7D, 113680 },
- { 0x4C7E, 113683 },
- { 0x4C69, 113686 },
- { 0x4C70, 113689 },
- { 0x4C78, 113692 },
- { 0x4C65, 113695 },
- { 0x4C66, 113698 },
- { 0x4C6C, 113701 },
- { 0x4C6B, 113704 },
- { 0x4C63, 113707 },
- { 0x4C67, 113710 },
- { 0x4C74, 113713 },
- { 0x4C6D, 113716 },
- { 0x4C7B, 113719 },
- { 0x4C72, 113722 },
- { 0x4C84, 113725 },
- { 0x4C76, 113728 },
- { 0x4C6E, 113731 },
- { 0x4C71, 113734 },
- { 0x4C73, 113737 },
- { 0x4C6F, 113740 },
- { 0x8071, 113743 },
+ { 0x81BD, 113526 },
+ { 0x4C96, 113527 },
+ { 0x4C97, 113530 },
+ { 0x4C8C, 113533 },
+ { 0x4C99, 113536 },
+ { 0x4C9E, 113539 },
+ { 0x4C9A, 113542 },
+ { 0x4C9D, 113545 },
+ { 0x4C9C, 113548 },
+ { 0x4CA1, 113551 },
+ { 0x4C98, 113554 },
+ { 0x4CA0, 113557 },
+ { 0x4C9F, 113560 },
+ { 0x4C9B, 113563 },
+ { 0x4C92, 113566 },
+ { 0x4C8E, 113570 },
+ { 0x4C94, 113574 },
+ { 0x4C90, 113578 },
+ { 0x4C8D, 113582 },
+ { 0x4C93, 113586 },
+ { 0x4C95, 113590 },
+ { 0x4C8F, 113594 },
+ { 0x4C91, 113598 },
+ { 0x4C5D, 113602 },
+ { 0x4C63, 113605 },
+ { 0x4C5F, 113608 },
+ { 0x4C65, 113611 },
+ { 0x4C61, 113614 },
+ { 0x4C5E, 113617 },
+ { 0x4C64, 113620 },
+ { 0x4C66, 113623 },
+ { 0x4C81, 113626 },
+ { 0x4C6D, 113629 },
+ { 0x4C7C, 113632 },
+ { 0x4C69, 113635 },
+ { 0x4C8B, 113638 },
+ { 0x4C60, 113641 },
+ { 0x4C6F, 113644 },
+ { 0x4C67, 113647 },
+ { 0x4C87, 113650 },
+ { 0x4C84, 113653 },
+ { 0x4C7E, 113656 },
+ { 0x4C7F, 113659 },
+ { 0x4C86, 113662 },
+ { 0x4C8A, 113665 },
+ { 0x4C7A, 113668 },
+ { 0x4C62, 113671 },
+ { 0x4C88, 113674 },
+ { 0x4C85, 113677 },
+ { 0x4C82, 113680 },
+ { 0x4C83, 113683 },
+ { 0x4C6E, 113686 },
+ { 0x4C75, 113689 },
+ { 0x4C7D, 113692 },
+ { 0x4C6A, 113695 },
+ { 0x4C6B, 113698 },
+ { 0x4C71, 113701 },
+ { 0x4C70, 113704 },
+ { 0x4C68, 113707 },
+ { 0x4C6C, 113710 },
+ { 0x4C79, 113713 },
+ { 0x4C72, 113716 },
+ { 0x4C80, 113719 },
+ { 0x4C77, 113722 },
+ { 0x4C89, 113725 },
+ { 0x4C7B, 113728 },
+ { 0x4C73, 113731 },
+ { 0x4C76, 113734 },
+ { 0x4C78, 113737 },
+ { 0x4C74, 113740 },
+ { 0x8076, 113743 },
{ 0x255C, 113744 },
- { 0x8006, 113748 },
+ { 0x800B, 113748 },
{ 0x1DEF, 113753 },
- { 0x81DA, 113757 },
+ { 0x81DF, 113757 },
{ 0x1DED, 113759 },
{ 0x1DE1, 113762 },
{ 0x1E35, 113764 },
{ 0x1E0A, 113768 },
{ 0x2540, 113777 },
- { 0x8295, 113782 },
+ { 0x829A, 113782 },
{ 0x1DF5, 113791 },
{ 0x2542, 113795 },
{ 0x1E17, 113802 },
@@ -76534,16 +76541,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1DF3, 113830 },
{ 0x275D, 113834 },
{ 0x275C, 113842 },
- { 0x7F86, 113849 },
- { 0x7F7E, 113855 },
- { 0x7F8A, 113861 },
+ { 0x7F8B, 113849 },
+ { 0x7F83, 113855 },
+ { 0x7F8F, 113861 },
{ 0x275B, 113867 },
{ 0x1E4B, 113872 },
- { 0x7F82, 113878 },
+ { 0x7F87, 113878 },
{ 0x1DEB, 113884 },
- { 0x7FFC, 113888 },
+ { 0x8001, 113888 },
{ 0x1E48, 113893 },
- { 0x7F8E, 113898 },
+ { 0x7F93, 113898 },
{ 0x2566, 113903 },
{ 0x2596, 113909 },
{ 0x276D, 113914 },
@@ -76554,10 +76561,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x259A, 113941 },
{ 0x2728, 113945 },
{ 0x27A9, 113948 },
- { 0x7FBE, 113953 },
- { 0x7FBA, 113956 },
+ { 0x7FC3, 113953 },
+ { 0x7FBF, 113956 },
{ 0x1E37, 113960 },
- { 0x7FF8, 113963 },
+ { 0x7FFD, 113963 },
{ 0x1E31, 113969 },
{ 0x252F, 113972 },
{ 0x1E21, 113976 },
@@ -76566,7 +76573,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2525, 113989 },
{ 0x253E, 113995 },
{ 0x1E18, 113998 },
- { 0x7E11, 114001 },
+ { 0x7E16, 114001 },
{ 0x2531, 114003 },
{ 0x1E2B, 114007 },
{ 0x1E1C, 114010 },
@@ -76581,14 +76588,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x258E, 114084 },
{ 0x1E0D, 114092 },
{ 0x1E0E, 114097 },
- { 0x81DF, 114102 },
- { 0x7FB2, 114105 },
+ { 0x81E4, 114102 },
+ { 0x7FB7, 114105 },
{ 0x1E2D, 114108 },
- { 0x7FF4, 114111 },
+ { 0x7FF9, 114111 },
{ 0x2768, 114114 },
{ 0x253C, 114117 },
- { 0x7FB6, 114119 },
- { 0x7FC2, 114122 },
+ { 0x7FBB, 114119 },
+ { 0x7FC7, 114122 },
{ 0x2759, 114125 },
{ 0x275E, 114130 },
{ 0x2760, 114135 },
@@ -76597,25 +76604,25 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x280C, 114159 },
{ 0x2757, 114165 },
{ 0x275A, 114171 },
- { 0x800C, 114176 },
- { 0x7FAE, 114181 },
- { 0x8008, 114184 },
+ { 0x8011, 114176 },
+ { 0x7FB3, 114181 },
+ { 0x800D, 114184 },
{ 0x1E4E, 114188 },
- { 0x800E, 114191 },
- { 0x800A, 114196 },
- { 0x8004, 114200 },
+ { 0x8013, 114191 },
+ { 0x800F, 114196 },
+ { 0x8009, 114200 },
{ 0x2783, 114204 },
{ 0x2793, 114207 },
{ 0x27A1, 114212 },
- { 0x7FA2, 114219 },
+ { 0x7FA7, 114219 },
{ 0x27C4, 114225 },
{ 0x27C6, 114232 },
- { 0x7FAA, 114239 },
- { 0x7FA6, 114246 },
+ { 0x7FAF, 114239 },
+ { 0x7FAB, 114246 },
{ 0x279B, 114252 },
{ 0x279B, 114259 },
- { 0x7F9E, 114266 },
- { 0x7F9A, 114272 },
+ { 0x7FA3, 114266 },
+ { 0x7F9F, 114272 },
{ 0x278D, 114278 },
{ 0x27A5, 114282 },
{ 0x1EB5, 114286 },
@@ -76645,8 +76652,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x26C9, 114408 },
{ 0x26CB, 114412 },
{ 0x222A, 114419 },
- { 0x7D97, 114420 },
- { 0x7D96, 114422 },
+ { 0x7D9C, 114420 },
+ { 0x7D9B, 114422 },
{ 0x0BB0, 114425 },
{ 0x0BD0, 114429 },
{ 0x0BAC, 114432 },
@@ -76766,7 +76773,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0BCF, 114827 },
{ 0x0BB6, 114831 },
{ 0x0079, 114835 },
- { 0x80F0, 114838 },
+ { 0x80F5, 114838 },
{ 0x1544, 114839 },
{ 0x154A, 114842 },
{ 0x154B, 114847 },
@@ -76776,8 +76783,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1546, 114865 },
{ 0x1545, 114870 },
{ 0x153F, 114874 },
- { 0x4E55, 114876 },
- { 0x4E51, 114881 },
+ { 0x4E5A, 114876 },
+ { 0x4E56, 114881 },
{ 0x1543, 114885 },
{ 0x1541, 114887 },
{ 0x1550, 114889 },
@@ -76790,11 +76797,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1557, 114910 },
{ 0x1556, 114913 },
{ 0x1552, 114916 },
- { 0x4E5A, 114919 },
- { 0x4E5C, 114922 },
- { 0x4E5B, 114928 },
+ { 0x4E5F, 114919 },
+ { 0x4E61, 114922 },
+ { 0x4E60, 114928 },
{ 0x154D, 114933 },
- { 0x4E53, 114936 },
+ { 0x4E58, 114936 },
{ 0x1559, 114941 },
{ 0x155A, 114944 },
{ 0x155B, 114947 },
@@ -76930,100 +76937,100 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1548, 115503 },
{ 0x1547, 115507 },
{ 0x1549, 115510 },
- { 0x4E54, 115512 },
- { 0x4E5D, 115517 },
- { 0x4E52, 115524 },
- { 0x4E57, 115527 },
- { 0x4E56, 115533 },
+ { 0x4E59, 115512 },
+ { 0x4E62, 115517 },
+ { 0x4E57, 115524 },
+ { 0x4E5C, 115527 },
+ { 0x4E5B, 115533 },
{ 0x1540, 115538 },
- { 0x4E58, 115540 },
- { 0x4E59, 115543 },
- { 0x80D0, 115549 },
- { 0x4627, 115551 },
- { 0x4638, 115554 },
- { 0x4633, 115557 },
- { 0x4635, 115560 },
- { 0x463E, 115563 },
- { 0x4628, 115566 },
- { 0x4637, 115569 },
- { 0x4623, 115572 },
- { 0x462A, 115575 },
- { 0x462F, 115578 },
- { 0x463A, 115581 },
- { 0x463B, 115584 },
- { 0x463D, 115587 },
- { 0x462B, 115590 },
- { 0x462D, 115593 },
- { 0x4621, 115596 },
- { 0x4626, 115599 },
- { 0x4632, 115603 },
- { 0x4634, 115607 },
- { 0x4622, 115611 },
- { 0x462E, 115615 },
- { 0x463C, 115619 },
- { 0x462C, 115623 },
- { 0x4620, 115627 },
- { 0x4630, 115631 },
- { 0x4624, 115635 },
- { 0x4639, 115638 },
- { 0x4629, 115641 },
- { 0x4625, 115644 },
- { 0x4631, 115647 },
- { 0x4636, 115650 },
- { 0x463F, 115653 },
- { 0x4647, 115656 },
- { 0x4645, 115660 },
- { 0x4640, 115663 },
- { 0x4644, 115666 },
- { 0x4642, 115669 },
- { 0x4641, 115672 },
- { 0x4646, 115675 },
- { 0x4643, 115678 },
- { 0x8036, 115682 },
- { 0x7C95, 115684 },
- { 0x7E76, 115685 },
- { 0x8177, 115687 },
+ { 0x4E5D, 115540 },
+ { 0x4E5E, 115543 },
+ { 0x80D5, 115549 },
+ { 0x462C, 115551 },
+ { 0x463D, 115554 },
+ { 0x4638, 115557 },
+ { 0x463A, 115560 },
+ { 0x4643, 115563 },
+ { 0x462D, 115566 },
+ { 0x463C, 115569 },
+ { 0x4628, 115572 },
+ { 0x462F, 115575 },
+ { 0x4634, 115578 },
+ { 0x463F, 115581 },
+ { 0x4640, 115584 },
+ { 0x4642, 115587 },
+ { 0x4630, 115590 },
+ { 0x4632, 115593 },
+ { 0x4626, 115596 },
+ { 0x462B, 115599 },
+ { 0x4637, 115603 },
+ { 0x4639, 115607 },
+ { 0x4627, 115611 },
+ { 0x4633, 115615 },
+ { 0x4641, 115619 },
+ { 0x4631, 115623 },
+ { 0x4625, 115627 },
+ { 0x4635, 115631 },
+ { 0x4629, 115635 },
+ { 0x463E, 115638 },
+ { 0x462E, 115641 },
+ { 0x462A, 115644 },
+ { 0x4636, 115647 },
+ { 0x463B, 115650 },
+ { 0x4644, 115653 },
+ { 0x464C, 115656 },
+ { 0x464A, 115660 },
+ { 0x4645, 115663 },
+ { 0x4649, 115666 },
+ { 0x4647, 115669 },
+ { 0x4646, 115672 },
+ { 0x464B, 115675 },
+ { 0x4648, 115678 },
+ { 0x803B, 115682 },
+ { 0x7C9A, 115684 },
+ { 0x7E7B, 115685 },
+ { 0x817C, 115687 },
{ 0x22F1, 115689 },
- { 0x80BB, 115690 },
- { 0x4604, 115691 },
- { 0x4611, 115694 },
- { 0x460C, 115697 },
- { 0x460E, 115700 },
- { 0x4616, 115703 },
- { 0x4605, 115706 },
- { 0x4610, 115709 },
- { 0x4601, 115712 },
- { 0x4607, 115715 },
- { 0x460A, 115718 },
- { 0x4613, 115721 },
- { 0x4614, 115724 },
- { 0x4615, 115727 },
- { 0x4608, 115730 },
- { 0x4609, 115733 },
- { 0x4600, 115736 },
- { 0x460D, 115739 },
- { 0x4602, 115743 },
- { 0x4612, 115746 },
- { 0x4606, 115749 },
- { 0x4603, 115752 },
- { 0x460B, 115755 },
- { 0x460F, 115758 },
- { 0x4619, 115761 },
- { 0x461E, 115764 },
- { 0x461A, 115767 },
- { 0x461D, 115770 },
- { 0x461C, 115773 },
- { 0x461B, 115776 },
- { 0x461F, 115779 },
- { 0x4617, 115782 },
- { 0x4618, 115785 },
- { 0x7C73, 115788 },
- { 0x8185, 115789 },
+ { 0x80C0, 115690 },
+ { 0x4609, 115691 },
+ { 0x4616, 115694 },
+ { 0x4611, 115697 },
+ { 0x4613, 115700 },
+ { 0x461B, 115703 },
+ { 0x460A, 115706 },
+ { 0x4615, 115709 },
+ { 0x4606, 115712 },
+ { 0x460C, 115715 },
+ { 0x460F, 115718 },
+ { 0x4618, 115721 },
+ { 0x4619, 115724 },
+ { 0x461A, 115727 },
+ { 0x460D, 115730 },
+ { 0x460E, 115733 },
+ { 0x4605, 115736 },
+ { 0x4612, 115739 },
+ { 0x4607, 115743 },
+ { 0x4617, 115746 },
+ { 0x460B, 115749 },
+ { 0x4608, 115752 },
+ { 0x4610, 115755 },
+ { 0x4614, 115758 },
+ { 0x461E, 115761 },
+ { 0x4623, 115764 },
+ { 0x461F, 115767 },
+ { 0x4622, 115770 },
+ { 0x4621, 115773 },
+ { 0x4620, 115776 },
+ { 0x4624, 115779 },
+ { 0x461C, 115782 },
+ { 0x461D, 115785 },
+ { 0x7C78, 115788 },
+ { 0x818A, 115789 },
{ 0x1CA3, 115790 },
- { 0x7E91, 115792 },
+ { 0x7E96, 115792 },
{ 0x2307, 115794 },
{ 0x22A1, 115795 },
- { 0x7AF2, 115798 },
+ { 0x7AF7, 115798 },
{ 0x1F25, 115799 },
{ 0x26FD, 115800 },
{ 0x1CD1, 115804 },
@@ -77038,9 +77045,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x229C, 115841 },
{ 0x229D, 115846 },
{ 0x1CB5, 115851 },
- { 0x7C43, 115853 },
+ { 0x7C48, 115853 },
{ 0x2660, 115855 },
- { 0x7D83, 115858 },
+ { 0x7D88, 115858 },
{ 0x079C, 115860 },
{ 0x079F, 115863 },
{ 0x079D, 115866 },
@@ -77102,34 +77109,34 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x07B4, 116065 },
{ 0x07B9, 116068 },
{ 0x07BA, 116071 },
- { 0x7E8E, 116074 },
- { 0x7C86, 116075 },
- { 0x7B5C, 116077 },
- { 0x82AC, 116078 },
- { 0x82B1, 116081 },
- { 0x82AD, 116084 },
- { 0x82B0, 116087 },
- { 0x82AF, 116090 },
- { 0x82B4, 116093 },
- { 0x82AB, 116096 },
- { 0x82B3, 116099 },
- { 0x82B2, 116102 },
- { 0x82AE, 116105 },
+ { 0x7E93, 116074 },
+ { 0x7C8B, 116075 },
+ { 0x7B61, 116077 },
+ { 0x82B1, 116078 },
+ { 0x82B6, 116081 },
+ { 0x82B2, 116084 },
+ { 0x82B5, 116087 },
+ { 0x82B4, 116090 },
+ { 0x82B9, 116093 },
+ { 0x82B0, 116096 },
+ { 0x82B8, 116099 },
+ { 0x82B7, 116102 },
+ { 0x82B3, 116105 },
{ 0x001B, 116108 },
{ 0x281B, 116109 },
- { 0x7B15, 116111 },
- { 0x6B12, 116112 },
- { 0x6B11, 116116 },
- { 0x6B0F, 116120 },
- { 0x6B10, 116124 },
+ { 0x7B1A, 116111 },
+ { 0x6B17, 116112 },
+ { 0x6B16, 116116 },
+ { 0x6B14, 116120 },
+ { 0x6B15, 116124 },
{ 0x2367, 116128 },
- { 0x7B02, 116129 },
- { 0x7C3B, 116130 },
- { 0x7E49, 116132 },
+ { 0x7B07, 116129 },
+ { 0x7C40, 116130 },
+ { 0x7E4E, 116132 },
{ 0x1E73, 116133 },
{ 0x25C4, 116135 },
{ 0x25C3, 116139 },
- { 0x7C4B, 116143 },
+ { 0x7C50, 116143 },
{ 0x2042, 116146 },
{ 0x1CF8, 116147 },
{ 0x1CFD, 116149 },
@@ -77222,368 +77229,368 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x195E, 116422 },
{ 0x1960, 116426 },
{ 0x195F, 116430 },
- { 0x7AE0, 116434 },
- { 0x80CC, 116435 },
- { 0x7CF2, 116436 },
- { 0x7AEF, 116437 },
- { 0x7D25, 116438 },
+ { 0x7AE5, 116434 },
+ { 0x80D1, 116435 },
+ { 0x7CF7, 116436 },
+ { 0x7AF4, 116437 },
+ { 0x7D2A, 116438 },
{ 0x1D76, 116443 },
{ 0x2329, 116445 },
- { 0x7C83, 116448 },
- { 0x7D21, 116450 },
+ { 0x7C88, 116448 },
+ { 0x7D26, 116450 },
{ 0x1F66, 116454 },
- { 0x7CD2, 116456 },
- { 0x6E6C, 116457 },
- { 0x6E36, 116462 },
- { 0x6E46, 116465 },
- { 0x6E3C, 116470 },
- { 0x6E35, 116474 },
- { 0x6E20, 116477 },
- { 0x6E5C, 116481 },
- { 0x6E48, 116484 },
- { 0x6E5F, 116489 },
- { 0x6E21, 116492 },
- { 0x6E2D, 116495 },
- { 0x6E4A, 116498 },
- { 0x6E54, 116501 },
- { 0x6E5D, 116504 },
- { 0x6E25, 116507 },
- { 0x6E1F, 116510 },
- { 0x6E3A, 116513 },
- { 0x6E56, 116516 },
- { 0x6E39, 116520 },
- { 0x6E4F, 116523 },
- { 0x6E3E, 116526 },
- { 0x6E43, 116529 },
- { 0x6E4E, 116532 },
- { 0x6E32, 116535 },
- { 0x6E22, 116538 },
- { 0x6E68, 116541 },
- { 0x6E2E, 116544 },
- { 0x6E62, 116547 },
- { 0x6E69, 116550 },
- { 0x6E2F, 116553 },
- { 0x6E23, 116557 },
- { 0x6E40, 116561 },
- { 0x6E59, 116564 },
- { 0x6E52, 116567 },
- { 0x6E3D, 116570 },
- { 0x6E4D, 116573 },
- { 0x6E33, 116576 },
- { 0x6E5E, 116579 },
- { 0x6E30, 116582 },
- { 0x6E53, 116585 },
- { 0x6E44, 116588 },
- { 0x6E66, 116591 },
- { 0x6E2B, 116594 },
- { 0x6E47, 116597 },
- { 0x6E65, 116600 },
- { 0x6E42, 116603 },
- { 0x6E50, 116606 },
- { 0x6E27, 116611 },
- { 0x6E3F, 116615 },
- { 0x6E51, 116618 },
- { 0x6E61, 116621 },
- { 0x6E60, 116624 },
- { 0x6E38, 116627 },
- { 0x6E31, 116630 },
- { 0x6E6F, 116633 },
- { 0x6E41, 116636 },
- { 0x6E58, 116639 },
- { 0x6E4B, 116643 },
- { 0x6E6E, 116646 },
- { 0x6E45, 116649 },
- { 0x6E64, 116652 },
- { 0x6E67, 116655 },
- { 0x6E6B, 116658 },
- { 0x6E37, 116661 },
- { 0x6E29, 116664 },
- { 0x6E49, 116667 },
- { 0x6E63, 116670 },
- { 0x6E26, 116673 },
- { 0x6E34, 116676 },
- { 0x6E6A, 116679 },
- { 0x6E24, 116682 },
- { 0x6E4C, 116685 },
- { 0x6E57, 116688 },
- { 0x6E2C, 116691 },
- { 0x6E5A, 116694 },
- { 0x6E3B, 116697 },
- { 0x6E6D, 116700 },
- { 0x6E55, 116703 },
- { 0x6E2A, 116706 },
- { 0x6E28, 116709 },
- { 0x6E5B, 116714 },
+ { 0x7CD7, 116456 },
+ { 0x6E71, 116457 },
+ { 0x6E3B, 116462 },
+ { 0x6E4B, 116465 },
+ { 0x6E41, 116470 },
+ { 0x6E3A, 116474 },
+ { 0x6E25, 116477 },
+ { 0x6E61, 116481 },
+ { 0x6E4D, 116484 },
+ { 0x6E64, 116489 },
+ { 0x6E26, 116492 },
+ { 0x6E32, 116495 },
+ { 0x6E4F, 116498 },
+ { 0x6E59, 116501 },
+ { 0x6E62, 116504 },
+ { 0x6E2A, 116507 },
+ { 0x6E24, 116510 },
+ { 0x6E3F, 116513 },
+ { 0x6E5B, 116516 },
+ { 0x6E3E, 116520 },
+ { 0x6E54, 116523 },
+ { 0x6E43, 116526 },
+ { 0x6E48, 116529 },
+ { 0x6E53, 116532 },
+ { 0x6E37, 116535 },
+ { 0x6E27, 116538 },
+ { 0x6E6D, 116541 },
+ { 0x6E33, 116544 },
+ { 0x6E67, 116547 },
+ { 0x6E6E, 116550 },
+ { 0x6E34, 116553 },
+ { 0x6E28, 116557 },
+ { 0x6E45, 116561 },
+ { 0x6E5E, 116564 },
+ { 0x6E57, 116567 },
+ { 0x6E42, 116570 },
+ { 0x6E52, 116573 },
+ { 0x6E38, 116576 },
+ { 0x6E63, 116579 },
+ { 0x6E35, 116582 },
+ { 0x6E58, 116585 },
+ { 0x6E49, 116588 },
+ { 0x6E6B, 116591 },
+ { 0x6E30, 116594 },
+ { 0x6E4C, 116597 },
+ { 0x6E6A, 116600 },
+ { 0x6E47, 116603 },
+ { 0x6E55, 116606 },
+ { 0x6E2C, 116611 },
+ { 0x6E44, 116615 },
+ { 0x6E56, 116618 },
+ { 0x6E66, 116621 },
+ { 0x6E65, 116624 },
+ { 0x6E3D, 116627 },
+ { 0x6E36, 116630 },
+ { 0x6E74, 116633 },
+ { 0x6E46, 116636 },
+ { 0x6E5D, 116639 },
+ { 0x6E50, 116643 },
+ { 0x6E73, 116646 },
+ { 0x6E4A, 116649 },
+ { 0x6E69, 116652 },
+ { 0x6E6C, 116655 },
+ { 0x6E70, 116658 },
+ { 0x6E3C, 116661 },
+ { 0x6E2E, 116664 },
+ { 0x6E4E, 116667 },
+ { 0x6E68, 116670 },
+ { 0x6E2B, 116673 },
+ { 0x6E39, 116676 },
+ { 0x6E6F, 116679 },
+ { 0x6E29, 116682 },
+ { 0x6E51, 116685 },
+ { 0x6E5C, 116688 },
+ { 0x6E31, 116691 },
+ { 0x6E5F, 116694 },
+ { 0x6E40, 116697 },
+ { 0x6E72, 116700 },
+ { 0x6E5A, 116703 },
+ { 0x6E2F, 116706 },
+ { 0x6E2D, 116709 },
+ { 0x6E60, 116714 },
{ 0x1E85, 116717 },
- { 0x7D57, 116718 },
+ { 0x7D5C, 116718 },
{ 0x2295, 116719 },
{ 0x22D2, 116722 },
- { 0x7C98, 116725 },
- { 0x8050, 116727 },
- { 0x5040, 116728 },
- { 0x503E, 116733 },
- { 0x503D, 116737 },
- { 0x503F, 116741 },
- { 0x5033, 116746 },
- { 0x5030, 116752 },
- { 0x5035, 116756 },
- { 0x5034, 116760 },
- { 0x5031, 116764 },
- { 0x5032, 116768 },
- { 0x502F, 116774 },
- { 0x5000, 116779 },
- { 0x4FFD, 116784 },
- { 0x5002, 116789 },
- { 0x4FFF, 116794 },
- { 0x5003, 116799 },
- { 0x5004, 116804 },
- { 0x5001, 116809 },
- { 0x4FFE, 116814 },
- { 0x5005, 116819 },
- { 0x5006, 116825 },
- { 0x4FFC, 116830 },
- { 0x5025, 116834 },
- { 0x501C, 116838 },
- { 0x500C, 116842 },
- { 0x5017, 116846 },
- { 0x5009, 116850 },
- { 0x502D, 116854 },
- { 0x500E, 116858 },
- { 0x5007, 116862 },
- { 0x5028, 116866 },
- { 0x501E, 116870 },
- { 0x5019, 116874 },
- { 0x501A, 116878 },
- { 0x5027, 116882 },
- { 0x502C, 116886 },
- { 0x5015, 116890 },
- { 0x5029, 116894 },
- { 0x5026, 116898 },
- { 0x5024, 116902 },
- { 0x501D, 116906 },
- { 0x500D, 116910 },
- { 0x5012, 116914 },
- { 0x5018, 116918 },
- { 0x5021, 116922 },
- { 0x500A, 116926 },
- { 0x5008, 116930 },
- { 0x500B, 116934 },
- { 0x5014, 116938 },
- { 0x500F, 116942 },
- { 0x501B, 116946 },
- { 0x502A, 116950 },
- { 0x502B, 116954 },
- { 0x5016, 116958 },
- { 0x501F, 116962 },
- { 0x5010, 116966 },
- { 0x5023, 116970 },
- { 0x5013, 116974 },
- { 0x5022, 116978 },
- { 0x502E, 116982 },
- { 0x5020, 116986 },
- { 0x5011, 116990 },
- { 0x503C, 116994 },
- { 0x5042, 116999 },
- { 0x503B, 117005 },
- { 0x5041, 117010 },
- { 0x5043, 117016 },
- { 0x5039, 117019 },
- { 0x5038, 117024 },
- { 0x503A, 117029 },
- { 0x5037, 117034 },
- { 0x5036, 117039 },
- { 0x7E9C, 117044 },
- { 0x7EE4, 117048 },
- { 0x7EE1, 117052 },
- { 0x7EF3, 117056 },
- { 0x7EC4, 117061 },
- { 0x7EE5, 117066 },
- { 0x7EE0, 117070 },
- { 0x7EA1, 117074 },
- { 0x7EA3, 117079 },
- { 0x7EA2, 117084 },
- { 0x7EA4, 117089 },
- { 0x7F06, 117094 },
- { 0x7F07, 117100 },
- { 0x7EE7, 117106 },
- { 0x7E9D, 117110 },
- { 0x7EB5, 117114 },
- { 0x7F0D, 117118 },
- { 0x7F0E, 117123 },
- { 0x7F09, 117128 },
- { 0x7EB7, 117132 },
- { 0x7EB8, 117137 },
- { 0x7EC5, 117142 },
- { 0x7EB3, 117147 },
- { 0x7EB4, 117152 },
- { 0x7EAF, 117157 },
- { 0x7EC1, 117161 },
- { 0x7EC8, 117168 },
- { 0x7EEF, 117174 },
- { 0x7EF2, 117178 },
- { 0x7EAA, 117182 },
- { 0x7EDD, 117187 },
- { 0x7EF4, 117191 },
- { 0x7EE9, 117195 },
- { 0x7E9E, 117200 },
- { 0x7EF1, 117204 },
- { 0x7F0C, 117209 },
- { 0x7F0A, 117213 },
- { 0x7EB0, 117217 },
- { 0x7EDC, 117221 },
- { 0x7EE8, 117226 },
- { 0x7EF0, 117230 },
- { 0x7E9F, 117234 },
- { 0x7ED1, 117238 },
- { 0x7EBB, 117242 },
- { 0x7EC0, 117247 },
- { 0x7EB9, 117252 },
- { 0x7EBE, 117258 },
- { 0x7EBF, 117264 },
- { 0x7EE6, 117270 },
- { 0x7EFE, 117274 },
- { 0x7F08, 117278 },
- { 0x7EB6, 117282 },
- { 0x7EE2, 117286 },
- { 0x7EA8, 117290 },
- { 0x7EDA, 117294 },
- { 0x7F05, 117298 },
- { 0x7EF6, 117302 },
- { 0x7ED5, 117306 },
- { 0x7ED9, 117310 },
- { 0x7EDE, 117315 },
- { 0x7EDF, 117319 },
- { 0x7EFB, 117323 },
- { 0x7EAB, 117327 },
- { 0x7EAC, 117332 },
- { 0x7EAD, 117337 },
- { 0x7ED6, 117342 },
- { 0x7ECD, 117346 },
- { 0x7EBA, 117350 },
- { 0x7ECB, 117356 },
- { 0x7ECC, 117362 },
- { 0x7EEA, 117368 },
- { 0x7EED, 117374 },
- { 0x7EF7, 117379 },
- { 0x7EF8, 117385 },
- { 0x7EEC, 117391 },
- { 0x7EA5, 117395 },
- { 0x7ECA, 117399 },
- { 0x7EB1, 117405 },
- { 0x7ED2, 117409 },
- { 0x7EC6, 117413 },
- { 0x7EEB, 117418 },
- { 0x7EAE, 117422 },
- { 0x7F00, 117426 },
- { 0x7EFC, 117430 },
- { 0x7EF5, 117434 },
- { 0x7EDB, 117439 },
- { 0x7EE3, 117443 },
- { 0x7F0B, 117447 },
- { 0x7EEE, 117451 },
- { 0x7ED3, 117455 },
- { 0x7ED7, 117459 },
- { 0x7ECE, 117463 },
- { 0x7ECF, 117467 },
- { 0x7ED0, 117471 },
- { 0x7EC2, 117475 },
- { 0x7EC9, 117483 },
- { 0x7EBD, 117491 },
- { 0x7EC7, 117497 },
- { 0x7EC3, 117503 },
- { 0x7EA6, 117507 },
- { 0x7EA7, 117511 },
- { 0x7EB2, 117515 },
- { 0x7EA0, 117519 },
- { 0x7F01, 117523 },
- { 0x7F02, 117527 },
- { 0x7F03, 117531 },
- { 0x7F04, 117535 },
- { 0x7EFD, 117539 },
- { 0x7ED8, 117543 },
- { 0x7EBC, 117547 },
- { 0x7EFA, 117552 },
- { 0x7EF9, 117556 },
- { 0x7EA9, 117560 },
- { 0x7EFF, 117565 },
- { 0x7E9B, 117569 },
- { 0x7ED4, 117573 },
- { 0x81BB, 117577 },
+ { 0x7C9D, 116725 },
+ { 0x8055, 116727 },
+ { 0x5045, 116728 },
+ { 0x5043, 116733 },
+ { 0x5042, 116737 },
+ { 0x5044, 116741 },
+ { 0x5038, 116746 },
+ { 0x5035, 116752 },
+ { 0x503A, 116756 },
+ { 0x5039, 116760 },
+ { 0x5036, 116764 },
+ { 0x5037, 116768 },
+ { 0x5034, 116774 },
+ { 0x5005, 116779 },
+ { 0x5002, 116784 },
+ { 0x5007, 116789 },
+ { 0x5004, 116794 },
+ { 0x5008, 116799 },
+ { 0x5009, 116804 },
+ { 0x5006, 116809 },
+ { 0x5003, 116814 },
+ { 0x500A, 116819 },
+ { 0x500B, 116825 },
+ { 0x5001, 116830 },
+ { 0x502A, 116834 },
+ { 0x5021, 116838 },
+ { 0x5011, 116842 },
+ { 0x501C, 116846 },
+ { 0x500E, 116850 },
+ { 0x5032, 116854 },
+ { 0x5013, 116858 },
+ { 0x500C, 116862 },
+ { 0x502D, 116866 },
+ { 0x5023, 116870 },
+ { 0x501E, 116874 },
+ { 0x501F, 116878 },
+ { 0x502C, 116882 },
+ { 0x5031, 116886 },
+ { 0x501A, 116890 },
+ { 0x502E, 116894 },
+ { 0x502B, 116898 },
+ { 0x5029, 116902 },
+ { 0x5022, 116906 },
+ { 0x5012, 116910 },
+ { 0x5017, 116914 },
+ { 0x501D, 116918 },
+ { 0x5026, 116922 },
+ { 0x500F, 116926 },
+ { 0x500D, 116930 },
+ { 0x5010, 116934 },
+ { 0x5019, 116938 },
+ { 0x5014, 116942 },
+ { 0x5020, 116946 },
+ { 0x502F, 116950 },
+ { 0x5030, 116954 },
+ { 0x501B, 116958 },
+ { 0x5024, 116962 },
+ { 0x5015, 116966 },
+ { 0x5028, 116970 },
+ { 0x5018, 116974 },
+ { 0x5027, 116978 },
+ { 0x5033, 116982 },
+ { 0x5025, 116986 },
+ { 0x5016, 116990 },
+ { 0x5041, 116994 },
+ { 0x5047, 116999 },
+ { 0x5040, 117005 },
+ { 0x5046, 117010 },
+ { 0x5048, 117016 },
+ { 0x503E, 117019 },
+ { 0x503D, 117024 },
+ { 0x503F, 117029 },
+ { 0x503C, 117034 },
+ { 0x503B, 117039 },
+ { 0x7EA1, 117044 },
+ { 0x7EE9, 117048 },
+ { 0x7EE6, 117052 },
+ { 0x7EF8, 117056 },
+ { 0x7EC9, 117061 },
+ { 0x7EEA, 117066 },
+ { 0x7EE5, 117070 },
+ { 0x7EA6, 117074 },
+ { 0x7EA8, 117079 },
+ { 0x7EA7, 117084 },
+ { 0x7EA9, 117089 },
+ { 0x7F0B, 117094 },
+ { 0x7F0C, 117100 },
+ { 0x7EEC, 117106 },
+ { 0x7EA2, 117110 },
+ { 0x7EBA, 117114 },
+ { 0x7F12, 117118 },
+ { 0x7F13, 117123 },
+ { 0x7F0E, 117128 },
+ { 0x7EBC, 117132 },
+ { 0x7EBD, 117137 },
+ { 0x7ECA, 117142 },
+ { 0x7EB8, 117147 },
+ { 0x7EB9, 117152 },
+ { 0x7EB4, 117157 },
+ { 0x7EC6, 117161 },
+ { 0x7ECD, 117168 },
+ { 0x7EF4, 117174 },
+ { 0x7EF7, 117178 },
+ { 0x7EAF, 117182 },
+ { 0x7EE2, 117187 },
+ { 0x7EF9, 117191 },
+ { 0x7EEE, 117195 },
+ { 0x7EA3, 117200 },
+ { 0x7EF6, 117204 },
+ { 0x7F11, 117209 },
+ { 0x7F0F, 117213 },
+ { 0x7EB5, 117217 },
+ { 0x7EE1, 117221 },
+ { 0x7EED, 117226 },
+ { 0x7EF5, 117230 },
+ { 0x7EA4, 117234 },
+ { 0x7ED6, 117238 },
+ { 0x7EC0, 117242 },
+ { 0x7EC5, 117247 },
+ { 0x7EBE, 117252 },
+ { 0x7EC3, 117258 },
+ { 0x7EC4, 117264 },
+ { 0x7EEB, 117270 },
+ { 0x7F03, 117274 },
+ { 0x7F0D, 117278 },
+ { 0x7EBB, 117282 },
+ { 0x7EE7, 117286 },
+ { 0x7EAD, 117290 },
+ { 0x7EDF, 117294 },
+ { 0x7F0A, 117298 },
+ { 0x7EFB, 117302 },
+ { 0x7EDA, 117306 },
+ { 0x7EDE, 117310 },
+ { 0x7EE3, 117315 },
+ { 0x7EE4, 117319 },
+ { 0x7F00, 117323 },
+ { 0x7EB0, 117327 },
+ { 0x7EB1, 117332 },
+ { 0x7EB2, 117337 },
+ { 0x7EDB, 117342 },
+ { 0x7ED2, 117346 },
+ { 0x7EBF, 117350 },
+ { 0x7ED0, 117356 },
+ { 0x7ED1, 117362 },
+ { 0x7EEF, 117368 },
+ { 0x7EF2, 117374 },
+ { 0x7EFC, 117379 },
+ { 0x7EFD, 117385 },
+ { 0x7EF1, 117391 },
+ { 0x7EAA, 117395 },
+ { 0x7ECF, 117399 },
+ { 0x7EB6, 117405 },
+ { 0x7ED7, 117409 },
+ { 0x7ECB, 117413 },
+ { 0x7EF0, 117418 },
+ { 0x7EB3, 117422 },
+ { 0x7F05, 117426 },
+ { 0x7F01, 117430 },
+ { 0x7EFA, 117434 },
+ { 0x7EE0, 117439 },
+ { 0x7EE8, 117443 },
+ { 0x7F10, 117447 },
+ { 0x7EF3, 117451 },
+ { 0x7ED8, 117455 },
+ { 0x7EDC, 117459 },
+ { 0x7ED3, 117463 },
+ { 0x7ED4, 117467 },
+ { 0x7ED5, 117471 },
+ { 0x7EC7, 117475 },
+ { 0x7ECE, 117483 },
+ { 0x7EC2, 117491 },
+ { 0x7ECC, 117497 },
+ { 0x7EC8, 117503 },
+ { 0x7EAB, 117507 },
+ { 0x7EAC, 117511 },
+ { 0x7EB7, 117515 },
+ { 0x7EA5, 117519 },
+ { 0x7F06, 117523 },
+ { 0x7F07, 117527 },
+ { 0x7F08, 117531 },
+ { 0x7F09, 117535 },
+ { 0x7F02, 117539 },
+ { 0x7EDD, 117543 },
+ { 0x7EC1, 117547 },
+ { 0x7EFF, 117552 },
+ { 0x7EFE, 117556 },
+ { 0x7EAE, 117560 },
+ { 0x7F04, 117565 },
+ { 0x7EA0, 117569 },
+ { 0x7ED9, 117573 },
+ { 0x81C0, 117577 },
{ 0x0007, 117579 },
{ 0x1EA1, 117580 },
- { 0x7DD7, 117583 },
- { 0x7E3C, 117585 },
- { 0x7B65, 117586 },
- { 0x3E3B, 117589 },
- { 0x3E37, 117592 },
- { 0x8076, 117594 },
- { 0x4A07, 117595 },
- { 0x4A13, 117598 },
- { 0x4A0F, 117601 },
- { 0x4A10, 117604 },
- { 0x4A16, 117607 },
- { 0x4A08, 117610 },
- { 0x4A12, 117613 },
- { 0x4A04, 117616 },
- { 0x4A0B, 117619 },
- { 0x4A0D, 117622 },
- { 0x4A14, 117625 },
- { 0x4A15, 117628 },
- { 0x4A0C, 117631 },
- { 0x4A02, 117634 },
- { 0x4A05, 117637 },
- { 0x4A03, 117640 },
- { 0x4A0A, 117644 },
- { 0x4A09, 117647 },
- { 0x4A06, 117651 },
- { 0x4A0E, 117654 },
- { 0x4A11, 117657 },
- { 0x4A17, 117660 },
- { 0x4A1D, 117663 },
- { 0x4A1B, 117667 },
- { 0x4A18, 117670 },
- { 0x4A1A, 117673 },
- { 0x4A19, 117676 },
- { 0x4A1C, 117679 },
+ { 0x7DDC, 117583 },
+ { 0x7E41, 117585 },
+ { 0x7B6A, 117586 },
+ { 0x3E40, 117589 },
+ { 0x3E3C, 117592 },
+ { 0x807B, 117594 },
+ { 0x4A0C, 117595 },
+ { 0x4A18, 117598 },
+ { 0x4A14, 117601 },
+ { 0x4A15, 117604 },
+ { 0x4A1B, 117607 },
+ { 0x4A0D, 117610 },
+ { 0x4A17, 117613 },
+ { 0x4A09, 117616 },
+ { 0x4A10, 117619 },
+ { 0x4A12, 117622 },
+ { 0x4A19, 117625 },
+ { 0x4A1A, 117628 },
+ { 0x4A11, 117631 },
+ { 0x4A07, 117634 },
+ { 0x4A0A, 117637 },
+ { 0x4A08, 117640 },
+ { 0x4A0F, 117644 },
+ { 0x4A0E, 117647 },
+ { 0x4A0B, 117651 },
+ { 0x4A13, 117654 },
+ { 0x4A16, 117657 },
+ { 0x4A1C, 117660 },
+ { 0x4A22, 117663 },
+ { 0x4A20, 117667 },
+ { 0x4A1D, 117670 },
+ { 0x4A1F, 117673 },
+ { 0x4A1E, 117676 },
+ { 0x4A21, 117679 },
{ 0x003E, 117682 },
{ 0x0020, 117684 },
{ 0x1CCC, 117686 },
{ 0x1E52, 117689 },
- { 0x7DBB, 117690 },
+ { 0x7DC0, 117690 },
{ 0x1FD2, 117692 },
- { 0x7B91, 117695 },
+ { 0x7B96, 117695 },
{ 0x222E, 117697 },
{ 0x08C4, 117699 },
- { 0x385C, 117701 },
- { 0x50E0, 117704 },
- { 0x50E1, 117707 },
- { 0x3860, 117712 },
+ { 0x3861, 117701 },
+ { 0x50E5, 117704 },
+ { 0x50E6, 117707 },
+ { 0x3865, 117712 },
{ 0x08E5, 117715 },
- { 0x50E2, 117720 },
- { 0x50E3, 117723 },
- { 0x50E9, 117728 },
+ { 0x50E7, 117720 },
+ { 0x50E8, 117723 },
+ { 0x50EE, 117728 },
{ 0x08B0, 117731 },
- { 0x3857, 117734 },
+ { 0x385C, 117734 },
{ 0x08C1, 117739 },
- { 0x385F, 117742 },
- { 0x3855, 117745 },
+ { 0x3864, 117742 },
+ { 0x385A, 117745 },
{ 0x0877, 117749 },
- { 0x50E6, 117752 },
- { 0x50E7, 117757 },
+ { 0x50EB, 117752 },
+ { 0x50EC, 117757 },
{ 0x0876, 117762 },
{ 0x08B1, 117765 },
- { 0x50E4, 117768 },
- { 0x50E5, 117772 },
+ { 0x50E9, 117768 },
+ { 0x50EA, 117772 },
{ 0x0874, 117778 },
- { 0x385B, 117782 },
- { 0x50E8, 117785 },
+ { 0x3860, 117782 },
+ { 0x50ED, 117785 },
{ 0x0875, 117790 },
- { 0x3858, 117793 },
- { 0x3859, 117797 },
- { 0x3856, 117801 },
- { 0x385A, 117805 },
+ { 0x385D, 117793 },
+ { 0x385E, 117797 },
+ { 0x385B, 117801 },
+ { 0x385F, 117805 },
{ 0x08C8, 117809 },
- { 0x385D, 117812 },
+ { 0x3862, 117812 },
{ 0x08D8, 117814 },
{ 0x08DB, 117816 },
{ 0x08E0, 117819 },
@@ -77604,7 +77611,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x08BC, 117869 },
{ 0x08C0, 117873 },
{ 0x08C3, 117877 },
- { 0x3862, 117881 },
+ { 0x3867, 117881 },
{ 0x08B4, 117885 },
{ 0x08AE, 117889 },
{ 0x08CA, 117893 },
@@ -77631,7 +77638,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0884, 117981 },
{ 0x0888, 117984 },
{ 0x08E9, 117987 },
- { 0x3861, 117990 },
+ { 0x3866, 117990 },
{ 0x08A0, 117993 },
{ 0x088E, 117996 },
{ 0x089A, 117999 },
@@ -77703,14 +77710,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x08D4, 118209 },
{ 0x08C5, 118213 },
{ 0x08C6, 118217 },
- { 0x385E, 118221 },
+ { 0x3863, 118221 },
{ 0x08E4, 118223 },
{ 0x1EA0, 118226 },
{ 0x2038, 118228 },
{ 0x1E9E, 118230 },
{ 0x269B, 118232 },
- { 0x7BF8, 118237 },
- { 0x7C08, 118238 },
+ { 0x7BFD, 118237 },
+ { 0x7C0D, 118238 },
{ 0x285B, 118239 },
{ 0x286A, 118243 },
{ 0x2876, 118247 },
@@ -77807,305 +77814,305 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2826, 118637 },
{ 0x284E, 118641 },
{ 0x284D, 118646 },
- { 0x7B38, 118651 },
- { 0x7E26, 118653 },
- { 0x67CA, 118654 },
- { 0x67CB, 118657 },
- { 0x67CC, 118660 },
- { 0x67C9, 118663 },
- { 0x67D7, 118666 },
- { 0x67D8, 118669 },
- { 0x67D9, 118672 },
- { 0x67DA, 118675 },
- { 0x67DB, 118678 },
- { 0x67CE, 118681 },
- { 0x67CF, 118684 },
- { 0x67D0, 118687 },
- { 0x67D1, 118690 },
- { 0x67DC, 118693 },
- { 0x67DD, 118696 },
- { 0x67DE, 118699 },
- { 0x67D2, 118702 },
- { 0x67D3, 118705 },
- { 0x67D4, 118708 },
- { 0x67D5, 118711 },
- { 0x67D6, 118714 },
- { 0x67CD, 118717 },
- { 0x6866, 118720 },
- { 0x6867, 118723 },
- { 0x6868, 118726 },
- { 0x6869, 118729 },
- { 0x686A, 118732 },
- { 0x686B, 118735 },
- { 0x686C, 118738 },
- { 0x686D, 118741 },
- { 0x686E, 118744 },
- { 0x687B, 118747 },
- { 0x687C, 118750 },
- { 0x687D, 118753 },
- { 0x687E, 118756 },
- { 0x687F, 118759 },
- { 0x6880, 118762 },
- { 0x6881, 118765 },
- { 0x6871, 118768 },
- { 0x6872, 118771 },
- { 0x6873, 118774 },
- { 0x6874, 118777 },
- { 0x6875, 118780 },
- { 0x6876, 118783 },
- { 0x6877, 118786 },
- { 0x6882, 118789 },
- { 0x6883, 118792 },
- { 0x6884, 118795 },
- { 0x6885, 118798 },
- { 0x6886, 118801 },
- { 0x6887, 118804 },
- { 0x6888, 118807 },
- { 0x6889, 118810 },
- { 0x6878, 118813 },
- { 0x6879, 118816 },
- { 0x687A, 118819 },
- { 0x67DF, 118822 },
- { 0x67E0, 118825 },
- { 0x67E1, 118828 },
- { 0x67E2, 118831 },
- { 0x67E3, 118834 },
- { 0x67E4, 118837 },
- { 0x67E5, 118840 },
- { 0x67E6, 118843 },
- { 0x67E7, 118846 },
- { 0x67FA, 118849 },
- { 0x67FB, 118852 },
- { 0x67FC, 118855 },
- { 0x67FD, 118858 },
- { 0x67FE, 118861 },
- { 0x67FF, 118864 },
- { 0x67EB, 118867 },
- { 0x67EC, 118870 },
- { 0x67ED, 118873 },
- { 0x67EE, 118876 },
- { 0x67EF, 118879 },
- { 0x67F0, 118882 },
- { 0x67F1, 118885 },
- { 0x67F2, 118888 },
- { 0x6800, 118891 },
- { 0x6801, 118894 },
- { 0x6802, 118897 },
- { 0x67F3, 118900 },
- { 0x67F4, 118903 },
- { 0x67F5, 118906 },
- { 0x67F6, 118909 },
- { 0x67F7, 118912 },
- { 0x67F8, 118915 },
- { 0x67F9, 118918 },
- { 0x688A, 118921 },
- { 0x688B, 118924 },
- { 0x688C, 118927 },
- { 0x688D, 118930 },
- { 0x688E, 118933 },
- { 0x688F, 118936 },
- { 0x6890, 118939 },
- { 0x689C, 118942 },
- { 0x689D, 118945 },
- { 0x6891, 118948 },
- { 0x6892, 118951 },
- { 0x6893, 118954 },
- { 0x6894, 118957 },
- { 0x6895, 118960 },
- { 0x6896, 118963 },
- { 0x6897, 118966 },
- { 0x689F, 118969 },
- { 0x68A0, 118972 },
- { 0x68A1, 118975 },
- { 0x68A2, 118978 },
- { 0x68A3, 118981 },
- { 0x68A4, 118984 },
- { 0x6898, 118987 },
- { 0x6899, 118990 },
- { 0x689A, 118993 },
- { 0x689B, 118996 },
- { 0x6846, 118999 },
- { 0x6847, 119002 },
- { 0x6848, 119005 },
- { 0x6849, 119008 },
- { 0x684A, 119011 },
- { 0x684B, 119014 },
- { 0x684C, 119017 },
- { 0x684D, 119020 },
- { 0x684E, 119023 },
- { 0x685A, 119026 },
- { 0x685B, 119029 },
- { 0x685C, 119032 },
- { 0x685D, 119035 },
- { 0x685E, 119038 },
- { 0x685F, 119041 },
- { 0x684F, 119044 },
- { 0x6850, 119047 },
- { 0x6851, 119050 },
- { 0x6852, 119053 },
- { 0x6853, 119056 },
- { 0x6854, 119059 },
- { 0x6855, 119062 },
- { 0x6861, 119065 },
- { 0x6862, 119068 },
- { 0x6863, 119071 },
- { 0x6864, 119074 },
- { 0x6865, 119077 },
- { 0x6857, 119080 },
- { 0x6858, 119083 },
- { 0x6859, 119086 },
- { 0x68B5, 119089 },
- { 0x68B6, 119092 },
- { 0x68B7, 119095 },
- { 0x68B8, 119098 },
- { 0x68C6, 119101 },
- { 0x68C7, 119104 },
- { 0x68C8, 119107 },
- { 0x68C9, 119110 },
- { 0x68B9, 119113 },
- { 0x68BA, 119116 },
- { 0x68BB, 119119 },
- { 0x68BC, 119122 },
- { 0x68BD, 119125 },
- { 0x68BE, 119128 },
- { 0x68BF, 119131 },
- { 0x68CA, 119134 },
- { 0x68CB, 119137 },
- { 0x68CC, 119140 },
- { 0x68CD, 119143 },
- { 0x68CE, 119146 },
- { 0x68CF, 119149 },
- { 0x68C0, 119152 },
- { 0x68C1, 119155 },
- { 0x68C2, 119158 },
- { 0x68C3, 119161 },
- { 0x68C4, 119164 },
- { 0x68C5, 119167 },
- { 0x6804, 119170 },
- { 0x6805, 119173 },
- { 0x6806, 119176 },
- { 0x6807, 119179 },
- { 0x6808, 119182 },
- { 0x6809, 119185 },
- { 0x680A, 119188 },
- { 0x680B, 119191 },
- { 0x681A, 119194 },
- { 0x681B, 119197 },
- { 0x681C, 119200 },
- { 0x681D, 119203 },
- { 0x681E, 119206 },
- { 0x680C, 119209 },
- { 0x680D, 119212 },
- { 0x680E, 119215 },
- { 0x680F, 119218 },
- { 0x6810, 119221 },
- { 0x6811, 119224 },
- { 0x681F, 119227 },
- { 0x6820, 119230 },
- { 0x6821, 119233 },
- { 0x6822, 119236 },
- { 0x6823, 119239 },
- { 0x6824, 119242 },
- { 0x6825, 119245 },
- { 0x6812, 119248 },
- { 0x6813, 119251 },
- { 0x6814, 119254 },
- { 0x6815, 119257 },
- { 0x6816, 119260 },
- { 0x6817, 119263 },
- { 0x6818, 119266 },
- { 0x6819, 119269 },
- { 0x6826, 119272 },
- { 0x6827, 119275 },
- { 0x6828, 119278 },
- { 0x6829, 119281 },
- { 0x6836, 119284 },
- { 0x6837, 119287 },
- { 0x6838, 119290 },
- { 0x6839, 119293 },
- { 0x683A, 119296 },
- { 0x683B, 119299 },
- { 0x683C, 119302 },
- { 0x683D, 119305 },
- { 0x683E, 119308 },
- { 0x682A, 119311 },
- { 0x682B, 119314 },
- { 0x682C, 119317 },
- { 0x682D, 119320 },
- { 0x682E, 119323 },
- { 0x682F, 119326 },
- { 0x6830, 119329 },
- { 0x683F, 119332 },
- { 0x6840, 119335 },
- { 0x6841, 119338 },
- { 0x6842, 119341 },
- { 0x6843, 119344 },
- { 0x6844, 119347 },
- { 0x6831, 119350 },
- { 0x6832, 119353 },
- { 0x6833, 119356 },
- { 0x6834, 119359 },
- { 0x68D0, 119362 },
- { 0x68D1, 119365 },
- { 0x68D2, 119368 },
- { 0x68D3, 119371 },
- { 0x68D4, 119374 },
- { 0x68DA, 119377 },
- { 0x68DB, 119380 },
- { 0x68DC, 119383 },
- { 0x68DD, 119386 },
- { 0x68D5, 119389 },
- { 0x68D6, 119392 },
- { 0x68D7, 119395 },
- { 0x68D8, 119398 },
- { 0x68D9, 119401 },
- { 0x68DE, 119404 },
- { 0x68DF, 119407 },
- { 0x68E0, 119410 },
- { 0x68E1, 119413 },
- { 0x68E2, 119416 },
- { 0x68E3, 119419 },
- { 0x68E4, 119422 },
- { 0x68A5, 119425 },
- { 0x68A6, 119428 },
- { 0x68A7, 119431 },
- { 0x68A8, 119434 },
- { 0x68A9, 119437 },
- { 0x68AF, 119440 },
- { 0x68B0, 119443 },
- { 0x68B1, 119446 },
- { 0x68B2, 119449 },
- { 0x68B3, 119452 },
- { 0x68B4, 119455 },
- { 0x68AB, 119458 },
- { 0x68AC, 119461 },
- { 0x68AD, 119464 },
- { 0x68AE, 119467 },
- { 0x686F, 119470 },
- { 0x6870, 119473 },
- { 0x67E8, 119476 },
- { 0x67E9, 119479 },
- { 0x67EA, 119482 },
- { 0x6803, 119485 },
- { 0x689E, 119488 },
- { 0x6860, 119491 },
- { 0x6856, 119494 },
- { 0x6845, 119497 },
- { 0x6835, 119500 },
- { 0x68AA, 119503 },
- { 0x68E5, 119506 },
- { 0x68E6, 119509 },
- { 0x7E29, 119512 },
- { 0x7E2A, 119514 },
+ { 0x7B3D, 118651 },
+ { 0x7E2B, 118653 },
+ { 0x67CF, 118654 },
+ { 0x67D0, 118657 },
+ { 0x67D1, 118660 },
+ { 0x67CE, 118663 },
+ { 0x67DC, 118666 },
+ { 0x67DD, 118669 },
+ { 0x67DE, 118672 },
+ { 0x67DF, 118675 },
+ { 0x67E0, 118678 },
+ { 0x67D3, 118681 },
+ { 0x67D4, 118684 },
+ { 0x67D5, 118687 },
+ { 0x67D6, 118690 },
+ { 0x67E1, 118693 },
+ { 0x67E2, 118696 },
+ { 0x67E3, 118699 },
+ { 0x67D7, 118702 },
+ { 0x67D8, 118705 },
+ { 0x67D9, 118708 },
+ { 0x67DA, 118711 },
+ { 0x67DB, 118714 },
+ { 0x67D2, 118717 },
+ { 0x686B, 118720 },
+ { 0x686C, 118723 },
+ { 0x686D, 118726 },
+ { 0x686E, 118729 },
+ { 0x686F, 118732 },
+ { 0x6870, 118735 },
+ { 0x6871, 118738 },
+ { 0x6872, 118741 },
+ { 0x6873, 118744 },
+ { 0x6880, 118747 },
+ { 0x6881, 118750 },
+ { 0x6882, 118753 },
+ { 0x6883, 118756 },
+ { 0x6884, 118759 },
+ { 0x6885, 118762 },
+ { 0x6886, 118765 },
+ { 0x6876, 118768 },
+ { 0x6877, 118771 },
+ { 0x6878, 118774 },
+ { 0x6879, 118777 },
+ { 0x687A, 118780 },
+ { 0x687B, 118783 },
+ { 0x687C, 118786 },
+ { 0x6887, 118789 },
+ { 0x6888, 118792 },
+ { 0x6889, 118795 },
+ { 0x688A, 118798 },
+ { 0x688B, 118801 },
+ { 0x688C, 118804 },
+ { 0x688D, 118807 },
+ { 0x688E, 118810 },
+ { 0x687D, 118813 },
+ { 0x687E, 118816 },
+ { 0x687F, 118819 },
+ { 0x67E4, 118822 },
+ { 0x67E5, 118825 },
+ { 0x67E6, 118828 },
+ { 0x67E7, 118831 },
+ { 0x67E8, 118834 },
+ { 0x67E9, 118837 },
+ { 0x67EA, 118840 },
+ { 0x67EB, 118843 },
+ { 0x67EC, 118846 },
+ { 0x67FF, 118849 },
+ { 0x6800, 118852 },
+ { 0x6801, 118855 },
+ { 0x6802, 118858 },
+ { 0x6803, 118861 },
+ { 0x6804, 118864 },
+ { 0x67F0, 118867 },
+ { 0x67F1, 118870 },
+ { 0x67F2, 118873 },
+ { 0x67F3, 118876 },
+ { 0x67F4, 118879 },
+ { 0x67F5, 118882 },
+ { 0x67F6, 118885 },
+ { 0x67F7, 118888 },
+ { 0x6805, 118891 },
+ { 0x6806, 118894 },
+ { 0x6807, 118897 },
+ { 0x67F8, 118900 },
+ { 0x67F9, 118903 },
+ { 0x67FA, 118906 },
+ { 0x67FB, 118909 },
+ { 0x67FC, 118912 },
+ { 0x67FD, 118915 },
+ { 0x67FE, 118918 },
+ { 0x688F, 118921 },
+ { 0x6890, 118924 },
+ { 0x6891, 118927 },
+ { 0x6892, 118930 },
+ { 0x6893, 118933 },
+ { 0x6894, 118936 },
+ { 0x6895, 118939 },
+ { 0x68A1, 118942 },
+ { 0x68A2, 118945 },
+ { 0x6896, 118948 },
+ { 0x6897, 118951 },
+ { 0x6898, 118954 },
+ { 0x6899, 118957 },
+ { 0x689A, 118960 },
+ { 0x689B, 118963 },
+ { 0x689C, 118966 },
+ { 0x68A4, 118969 },
+ { 0x68A5, 118972 },
+ { 0x68A6, 118975 },
+ { 0x68A7, 118978 },
+ { 0x68A8, 118981 },
+ { 0x68A9, 118984 },
+ { 0x689D, 118987 },
+ { 0x689E, 118990 },
+ { 0x689F, 118993 },
+ { 0x68A0, 118996 },
+ { 0x684B, 118999 },
+ { 0x684C, 119002 },
+ { 0x684D, 119005 },
+ { 0x684E, 119008 },
+ { 0x684F, 119011 },
+ { 0x6850, 119014 },
+ { 0x6851, 119017 },
+ { 0x6852, 119020 },
+ { 0x6853, 119023 },
+ { 0x685F, 119026 },
+ { 0x6860, 119029 },
+ { 0x6861, 119032 },
+ { 0x6862, 119035 },
+ { 0x6863, 119038 },
+ { 0x6864, 119041 },
+ { 0x6854, 119044 },
+ { 0x6855, 119047 },
+ { 0x6856, 119050 },
+ { 0x6857, 119053 },
+ { 0x6858, 119056 },
+ { 0x6859, 119059 },
+ { 0x685A, 119062 },
+ { 0x6866, 119065 },
+ { 0x6867, 119068 },
+ { 0x6868, 119071 },
+ { 0x6869, 119074 },
+ { 0x686A, 119077 },
+ { 0x685C, 119080 },
+ { 0x685D, 119083 },
+ { 0x685E, 119086 },
+ { 0x68BA, 119089 },
+ { 0x68BB, 119092 },
+ { 0x68BC, 119095 },
+ { 0x68BD, 119098 },
+ { 0x68CB, 119101 },
+ { 0x68CC, 119104 },
+ { 0x68CD, 119107 },
+ { 0x68CE, 119110 },
+ { 0x68BE, 119113 },
+ { 0x68BF, 119116 },
+ { 0x68C0, 119119 },
+ { 0x68C1, 119122 },
+ { 0x68C2, 119125 },
+ { 0x68C3, 119128 },
+ { 0x68C4, 119131 },
+ { 0x68CF, 119134 },
+ { 0x68D0, 119137 },
+ { 0x68D1, 119140 },
+ { 0x68D2, 119143 },
+ { 0x68D3, 119146 },
+ { 0x68D4, 119149 },
+ { 0x68C5, 119152 },
+ { 0x68C6, 119155 },
+ { 0x68C7, 119158 },
+ { 0x68C8, 119161 },
+ { 0x68C9, 119164 },
+ { 0x68CA, 119167 },
+ { 0x6809, 119170 },
+ { 0x680A, 119173 },
+ { 0x680B, 119176 },
+ { 0x680C, 119179 },
+ { 0x680D, 119182 },
+ { 0x680E, 119185 },
+ { 0x680F, 119188 },
+ { 0x6810, 119191 },
+ { 0x681F, 119194 },
+ { 0x6820, 119197 },
+ { 0x6821, 119200 },
+ { 0x6822, 119203 },
+ { 0x6823, 119206 },
+ { 0x6811, 119209 },
+ { 0x6812, 119212 },
+ { 0x6813, 119215 },
+ { 0x6814, 119218 },
+ { 0x6815, 119221 },
+ { 0x6816, 119224 },
+ { 0x6824, 119227 },
+ { 0x6825, 119230 },
+ { 0x6826, 119233 },
+ { 0x6827, 119236 },
+ { 0x6828, 119239 },
+ { 0x6829, 119242 },
+ { 0x682A, 119245 },
+ { 0x6817, 119248 },
+ { 0x6818, 119251 },
+ { 0x6819, 119254 },
+ { 0x681A, 119257 },
+ { 0x681B, 119260 },
+ { 0x681C, 119263 },
+ { 0x681D, 119266 },
+ { 0x681E, 119269 },
+ { 0x682B, 119272 },
+ { 0x682C, 119275 },
+ { 0x682D, 119278 },
+ { 0x682E, 119281 },
+ { 0x683B, 119284 },
+ { 0x683C, 119287 },
+ { 0x683D, 119290 },
+ { 0x683E, 119293 },
+ { 0x683F, 119296 },
+ { 0x6840, 119299 },
+ { 0x6841, 119302 },
+ { 0x6842, 119305 },
+ { 0x6843, 119308 },
+ { 0x682F, 119311 },
+ { 0x6830, 119314 },
+ { 0x6831, 119317 },
+ { 0x6832, 119320 },
+ { 0x6833, 119323 },
+ { 0x6834, 119326 },
+ { 0x6835, 119329 },
+ { 0x6844, 119332 },
+ { 0x6845, 119335 },
+ { 0x6846, 119338 },
+ { 0x6847, 119341 },
+ { 0x6848, 119344 },
+ { 0x6849, 119347 },
+ { 0x6836, 119350 },
+ { 0x6837, 119353 },
+ { 0x6838, 119356 },
+ { 0x6839, 119359 },
+ { 0x68D5, 119362 },
+ { 0x68D6, 119365 },
+ { 0x68D7, 119368 },
+ { 0x68D8, 119371 },
+ { 0x68D9, 119374 },
+ { 0x68DF, 119377 },
+ { 0x68E0, 119380 },
+ { 0x68E1, 119383 },
+ { 0x68E2, 119386 },
+ { 0x68DA, 119389 },
+ { 0x68DB, 119392 },
+ { 0x68DC, 119395 },
+ { 0x68DD, 119398 },
+ { 0x68DE, 119401 },
+ { 0x68E3, 119404 },
+ { 0x68E4, 119407 },
+ { 0x68E5, 119410 },
+ { 0x68E6, 119413 },
+ { 0x68E7, 119416 },
+ { 0x68E8, 119419 },
+ { 0x68E9, 119422 },
+ { 0x68AA, 119425 },
+ { 0x68AB, 119428 },
+ { 0x68AC, 119431 },
+ { 0x68AD, 119434 },
+ { 0x68AE, 119437 },
+ { 0x68B4, 119440 },
+ { 0x68B5, 119443 },
+ { 0x68B6, 119446 },
+ { 0x68B7, 119449 },
+ { 0x68B8, 119452 },
+ { 0x68B9, 119455 },
+ { 0x68B0, 119458 },
+ { 0x68B1, 119461 },
+ { 0x68B2, 119464 },
+ { 0x68B3, 119467 },
+ { 0x6874, 119470 },
+ { 0x6875, 119473 },
+ { 0x67ED, 119476 },
+ { 0x67EE, 119479 },
+ { 0x67EF, 119482 },
+ { 0x6808, 119485 },
+ { 0x68A3, 119488 },
+ { 0x6865, 119491 },
+ { 0x685B, 119494 },
+ { 0x684A, 119497 },
+ { 0x683A, 119500 },
+ { 0x68AF, 119503 },
+ { 0x68EA, 119506 },
+ { 0x68EB, 119509 },
+ { 0x7E2E, 119512 },
+ { 0x7E2F, 119514 },
{ 0x1E8C, 119519 },
{ 0x1C8F, 119520 },
- { 0x8257, 119522 },
- { 0x8258, 119526 },
- { 0x8259, 119530 },
- { 0x825A, 119534 },
- { 0x825B, 119538 },
- { 0x825C, 119542 },
- { 0x8262, 119546 },
+ { 0x825C, 119522 },
+ { 0x825D, 119526 },
+ { 0x825E, 119530 },
+ { 0x825F, 119534 },
+ { 0x8260, 119538 },
+ { 0x8261, 119542 },
+ { 0x8267, 119546 },
{ 0x279F, 119550 },
{ 0x2000, 119553 },
{ 0x22CC, 119556 },
@@ -78115,173 +78122,173 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x200E, 119570 },
{ 0x2746, 119573 },
{ 0x27E3, 119576 },
- { 0x7E4A, 119579 },
+ { 0x7E4F, 119579 },
{ 0x1CA0, 119582 },
{ 0x1FDF, 119584 },
{ 0x25FF, 119586 },
- { 0x4742, 119588 },
- { 0x4744, 119592 },
- { 0x4743, 119596 },
- { 0x471B, 119599 },
- { 0x471D, 119604 },
- { 0x471C, 119607 },
- { 0x4746, 119610 },
- { 0x4747, 119613 },
- { 0x4749, 119616 },
- { 0x4748, 119619 },
- { 0x4718, 119622 },
- { 0x4715, 119626 },
- { 0x4719, 119630 },
- { 0x4716, 119634 },
- { 0x4717, 119638 },
- { 0x471A, 119643 },
- { 0x4714, 119647 },
- { 0x4732, 119650 },
- { 0x4722, 119653 },
- { 0x472D, 119656 },
- { 0x4720, 119659 },
- { 0x473D, 119662 },
- { 0x4724, 119665 },
- { 0x471E, 119668 },
- { 0x4737, 119671 },
- { 0x4734, 119674 },
- { 0x472F, 119677 },
- { 0x4730, 119680 },
- { 0x4736, 119683 },
- { 0x473B, 119686 },
- { 0x472B, 119689 },
- { 0x4738, 119692 },
- { 0x4735, 119695 },
- { 0x473C, 119698 },
- { 0x4733, 119701 },
- { 0x4723, 119704 },
- { 0x4728, 119707 },
- { 0x472E, 119710 },
- { 0x4721, 119713 },
- { 0x471F, 119716 },
- { 0x473E, 119719 },
- { 0x472A, 119722 },
- { 0x4725, 119725 },
- { 0x4731, 119728 },
- { 0x4739, 119731 },
- { 0x473A, 119734 },
- { 0x472C, 119737 },
- { 0x4726, 119740 },
- { 0x4741, 119743 },
- { 0x4729, 119746 },
- { 0x4727, 119749 },
- { 0x4740, 119752 },
- { 0x473F, 119755 },
- { 0x474C, 119758 },
- { 0x474D, 119762 },
- { 0x474A, 119766 },
- { 0x474B, 119769 },
- { 0x4745, 119772 },
- { 0x474E, 119774 },
- { 0x474F, 119778 },
- { 0x4755, 119781 },
- { 0x4757, 119784 },
- { 0x4754, 119787 },
- { 0x4750, 119790 },
- { 0x4751, 119794 },
- { 0x4756, 119797 },
- { 0x4752, 119801 },
- { 0x4753, 119805 },
- { 0x47A0, 119808 },
- { 0x47B4, 119811 },
- { 0x479E, 119814 },
- { 0x47B3, 119817 },
- { 0x47AE, 119820 },
- { 0x47AF, 119823 },
- { 0x47BC, 119826 },
- { 0x479F, 119829 },
- { 0x47B1, 119832 },
- { 0x4799, 119835 },
- { 0x47A5, 119838 },
- { 0x47A8, 119841 },
- { 0x47B6, 119844 },
- { 0x47B9, 119847 },
- { 0x47BA, 119850 },
- { 0x47A6, 119853 },
- { 0x47A9, 119856 },
- { 0x47B7, 119859 },
- { 0x47A7, 119862 },
- { 0x47B2, 119865 },
- { 0x4798, 119868 },
- { 0x479A, 119871 },
- { 0x479B, 119874 },
- { 0x47A3, 119877 },
- { 0x47AA, 119880 },
- { 0x47B8, 119883 },
- { 0x47B5, 119886 },
- { 0x47BB, 119889 },
- { 0x47A1, 119892 },
- { 0x479D, 119895 },
- { 0x479C, 119898 },
- { 0x47A4, 119901 },
- { 0x47AB, 119904 },
- { 0x47B0, 119907 },
- { 0x47A2, 119910 },
- { 0x47AC, 119913 },
- { 0x47AD, 119916 },
- { 0x47BF, 119919 },
- { 0x47C3, 119922 },
- { 0x47C1, 119926 },
- { 0x47C0, 119929 },
- { 0x47C2, 119932 },
- { 0x47C8, 119935 },
- { 0x47C7, 119938 },
- { 0x47C9, 119943 },
- { 0x47CA, 119947 },
- { 0x47C4, 119951 },
- { 0x47C6, 119954 },
- { 0x47C5, 119960 },
- { 0x47BD, 119963 },
- { 0x47BE, 119967 },
- { 0x80D2, 119971 },
- { 0x80D3, 119973 },
- { 0x7B49, 119975 },
- { 0x7CD1, 119976 },
+ { 0x4747, 119588 },
+ { 0x4749, 119592 },
+ { 0x4748, 119596 },
+ { 0x4720, 119599 },
+ { 0x4722, 119604 },
+ { 0x4721, 119607 },
+ { 0x474B, 119610 },
+ { 0x474C, 119613 },
+ { 0x474E, 119616 },
+ { 0x474D, 119619 },
+ { 0x471D, 119622 },
+ { 0x471A, 119626 },
+ { 0x471E, 119630 },
+ { 0x471B, 119634 },
+ { 0x471C, 119638 },
+ { 0x471F, 119643 },
+ { 0x4719, 119647 },
+ { 0x4737, 119650 },
+ { 0x4727, 119653 },
+ { 0x4732, 119656 },
+ { 0x4725, 119659 },
+ { 0x4742, 119662 },
+ { 0x4729, 119665 },
+ { 0x4723, 119668 },
+ { 0x473C, 119671 },
+ { 0x4739, 119674 },
+ { 0x4734, 119677 },
+ { 0x4735, 119680 },
+ { 0x473B, 119683 },
+ { 0x4740, 119686 },
+ { 0x4730, 119689 },
+ { 0x473D, 119692 },
+ { 0x473A, 119695 },
+ { 0x4741, 119698 },
+ { 0x4738, 119701 },
+ { 0x4728, 119704 },
+ { 0x472D, 119707 },
+ { 0x4733, 119710 },
+ { 0x4726, 119713 },
+ { 0x4724, 119716 },
+ { 0x4743, 119719 },
+ { 0x472F, 119722 },
+ { 0x472A, 119725 },
+ { 0x4736, 119728 },
+ { 0x473E, 119731 },
+ { 0x473F, 119734 },
+ { 0x4731, 119737 },
+ { 0x472B, 119740 },
+ { 0x4746, 119743 },
+ { 0x472E, 119746 },
+ { 0x472C, 119749 },
+ { 0x4745, 119752 },
+ { 0x4744, 119755 },
+ { 0x4751, 119758 },
+ { 0x4752, 119762 },
+ { 0x474F, 119766 },
+ { 0x4750, 119769 },
+ { 0x474A, 119772 },
+ { 0x4753, 119774 },
+ { 0x4754, 119778 },
+ { 0x475A, 119781 },
+ { 0x475C, 119784 },
+ { 0x4759, 119787 },
+ { 0x4755, 119790 },
+ { 0x4756, 119794 },
+ { 0x475B, 119797 },
+ { 0x4757, 119801 },
+ { 0x4758, 119805 },
+ { 0x47A5, 119808 },
+ { 0x47B9, 119811 },
+ { 0x47A3, 119814 },
+ { 0x47B8, 119817 },
+ { 0x47B3, 119820 },
+ { 0x47B4, 119823 },
+ { 0x47C1, 119826 },
+ { 0x47A4, 119829 },
+ { 0x47B6, 119832 },
+ { 0x479E, 119835 },
+ { 0x47AA, 119838 },
+ { 0x47AD, 119841 },
+ { 0x47BB, 119844 },
+ { 0x47BE, 119847 },
+ { 0x47BF, 119850 },
+ { 0x47AB, 119853 },
+ { 0x47AE, 119856 },
+ { 0x47BC, 119859 },
+ { 0x47AC, 119862 },
+ { 0x47B7, 119865 },
+ { 0x479D, 119868 },
+ { 0x479F, 119871 },
+ { 0x47A0, 119874 },
+ { 0x47A8, 119877 },
+ { 0x47AF, 119880 },
+ { 0x47BD, 119883 },
+ { 0x47BA, 119886 },
+ { 0x47C0, 119889 },
+ { 0x47A6, 119892 },
+ { 0x47A2, 119895 },
+ { 0x47A1, 119898 },
+ { 0x47A9, 119901 },
+ { 0x47B0, 119904 },
+ { 0x47B5, 119907 },
+ { 0x47A7, 119910 },
+ { 0x47B1, 119913 },
+ { 0x47B2, 119916 },
+ { 0x47C4, 119919 },
+ { 0x47C8, 119922 },
+ { 0x47C6, 119926 },
+ { 0x47C5, 119929 },
+ { 0x47C7, 119932 },
+ { 0x47CD, 119935 },
+ { 0x47CC, 119938 },
+ { 0x47CE, 119943 },
+ { 0x47CF, 119947 },
+ { 0x47C9, 119951 },
+ { 0x47CB, 119954 },
+ { 0x47CA, 119960 },
+ { 0x47C2, 119963 },
+ { 0x47C3, 119967 },
+ { 0x80D7, 119971 },
+ { 0x80D8, 119973 },
+ { 0x7B4E, 119975 },
+ { 0x7CD6, 119976 },
{ 0x1FDE, 119977 },
{ 0x2700, 119979 },
{ 0x2230, 119980 },
- { 0x8089, 119981 },
- { 0x7E5B, 119983 },
- { 0x7B52, 119984 },
+ { 0x808E, 119981 },
+ { 0x7E60, 119983 },
+ { 0x7B57, 119984 },
{ 0x14A6, 119986 },
{ 0x14A5, 119989 },
- { 0x467E, 119992 },
- { 0x4666, 119995 },
- { 0x4672, 119998 },
- { 0x4671, 120001 },
- { 0x4662, 120004 },
- { 0x4663, 120007 },
- { 0x4669, 120010 },
- { 0x466C, 120013 },
- { 0x466E, 120016 },
- { 0x466F, 120019 },
- { 0x4674, 120022 },
- { 0x4677, 120025 },
- { 0x466A, 120028 },
- { 0x4667, 120031 },
- { 0x466B, 120034 },
- { 0x4668, 120037 },
- { 0x4665, 120040 },
- { 0x4664, 120043 },
- { 0x466D, 120046 },
- { 0x4675, 120049 },
- { 0x4673, 120052 },
- { 0x4670, 120055 },
- { 0x4676, 120058 },
- { 0x4678, 120061 },
- { 0x467B, 120064 },
- { 0x4679, 120068 },
- { 0x467C, 120071 },
- { 0x467D, 120074 },
- { 0x467A, 120077 },
- { 0x7E7E, 120080 },
+ { 0x4683, 119992 },
+ { 0x466B, 119995 },
+ { 0x4677, 119998 },
+ { 0x4676, 120001 },
+ { 0x4667, 120004 },
+ { 0x4668, 120007 },
+ { 0x466E, 120010 },
+ { 0x4671, 120013 },
+ { 0x4673, 120016 },
+ { 0x4674, 120019 },
+ { 0x4679, 120022 },
+ { 0x467C, 120025 },
+ { 0x466F, 120028 },
+ { 0x466C, 120031 },
+ { 0x4670, 120034 },
+ { 0x466D, 120037 },
+ { 0x466A, 120040 },
+ { 0x4669, 120043 },
+ { 0x4672, 120046 },
+ { 0x467A, 120049 },
+ { 0x4678, 120052 },
+ { 0x4675, 120055 },
+ { 0x467B, 120058 },
+ { 0x467D, 120061 },
+ { 0x4680, 120064 },
+ { 0x467E, 120068 },
+ { 0x4681, 120071 },
+ { 0x4682, 120074 },
+ { 0x467F, 120077 },
+ { 0x7E83, 120080 },
{ 0x0070, 120082 },
- { 0x7E6C, 120084 },
+ { 0x7E71, 120084 },
{ 0x1F56, 120086 },
{ 0x1E88, 120087 },
{ 0x27F8, 120088 },
@@ -78290,16 +78297,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x006D, 120095 },
{ 0x2303, 120097 },
{ 0x2304, 120100 },
- { 0x80A3, 120103 },
+ { 0x80A8, 120103 },
{ 0x255B, 120104 },
- { 0x8007, 120108 },
+ { 0x800C, 120108 },
{ 0x1DF1, 120113 },
- { 0x81D9, 120117 },
+ { 0x81DE, 120117 },
{ 0x1DEE, 120119 },
{ 0x1DE3, 120122 },
{ 0x1E36, 120124 },
{ 0x2541, 120128 },
- { 0x8296, 120133 },
+ { 0x829B, 120133 },
{ 0x1DF7, 120142 },
{ 0x2543, 120146 },
{ 0x1E15, 120153 },
@@ -78311,17 +78318,17 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1DF4, 120181 },
{ 0x2538, 120185 },
{ 0x2537, 120193 },
- { 0x7F88, 120200 },
- { 0x7F80, 120206 },
- { 0x7F8C, 120212 },
+ { 0x7F8D, 120200 },
+ { 0x7F85, 120206 },
+ { 0x7F91, 120212 },
{ 0x1E05, 120218 },
{ 0x2534, 120223 },
{ 0x1E4C, 120228 },
- { 0x7F84, 120234 },
+ { 0x7F89, 120234 },
{ 0x1DEC, 120240 },
- { 0x7FFE, 120244 },
+ { 0x8003, 120244 },
{ 0x1E49, 120249 },
- { 0x7F90, 120254 },
+ { 0x7F95, 120254 },
{ 0x2565, 120259 },
{ 0x2597, 120265 },
{ 0x2598, 120270 },
@@ -78332,12 +78339,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2766, 120297 },
{ 0x27B6, 120301 },
{ 0x27AB, 120304 },
- { 0x7FC0, 120309 },
- { 0x7FBC, 120312 },
+ { 0x7FC5, 120309 },
+ { 0x7FC1, 120312 },
{ 0x1E39, 120316 },
{ 0x1E41, 120319 },
- { 0x7FFA, 120324 },
- { 0x8005, 120330 },
+ { 0x7FFF, 120324 },
+ { 0x800A, 120330 },
{ 0x1E33, 120335 },
{ 0x2530, 120338 },
{ 0x1E23, 120342 },
@@ -78346,7 +78353,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2526, 120355 },
{ 0x253F, 120361 },
{ 0x1E1A, 120364 },
- { 0x7E13, 120367 },
+ { 0x7E18, 120367 },
{ 0x2532, 120369 },
{ 0x1E2C, 120373 },
{ 0x1E1D, 120376 },
@@ -78361,14 +78368,14 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2590, 120450 },
{ 0x1E11, 120458 },
{ 0x1E12, 120463 },
- { 0x81E0, 120468 },
- { 0x7FB4, 120471 },
+ { 0x81E5, 120468 },
+ { 0x7FB9, 120471 },
{ 0x1E2E, 120474 },
- { 0x7FF6, 120477 },
+ { 0x7FFB, 120477 },
{ 0x2769, 120480 },
{ 0x253D, 120483 },
- { 0x7FB8, 120485 },
- { 0x7FC4, 120488 },
+ { 0x7FBD, 120485 },
+ { 0x7FC9, 120488 },
{ 0x2528, 120491 },
{ 0x2539, 120496 },
{ 0x253B, 120501 },
@@ -78377,142 +78384,142 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x280E, 120525 },
{ 0x2523, 120531 },
{ 0x2533, 120537 },
- { 0x800D, 120542 },
- { 0x7FB0, 120547 },
- { 0x800B, 120550 },
+ { 0x8012, 120542 },
+ { 0x7FB5, 120547 },
+ { 0x8010, 120550 },
{ 0x1E4F, 120554 },
- { 0x800F, 120557 },
- { 0x8009, 120562 },
+ { 0x8014, 120557 },
+ { 0x800E, 120562 },
{ 0x2785, 120566 },
{ 0x2795, 120569 },
{ 0x27A3, 120574 },
- { 0x7FA4, 120581 },
+ { 0x7FA9, 120581 },
{ 0x27C5, 120587 },
{ 0x27C7, 120594 },
- { 0x7FAC, 120601 },
- { 0x7FA8, 120608 },
+ { 0x7FB1, 120601 },
+ { 0x7FAD, 120608 },
{ 0x279D, 120614 },
{ 0x279D, 120621 },
- { 0x7FA0, 120628 },
- { 0x7F9C, 120634 },
+ { 0x7FA5, 120628 },
+ { 0x7FA1, 120634 },
{ 0x278F, 120640 },
{ 0x27A7, 120644 },
- { 0x7E1D, 120648 },
- { 0x7E1C, 120656 },
- { 0x7E1B, 120663 },
- { 0x7E1F, 120671 },
- { 0x3835, 120674 },
- { 0x37F2, 120677 },
- { 0x37F1, 120680 },
- { 0x3836, 120683 },
- { 0x3837, 120686 },
- { 0x383A, 120688 },
- { 0x383F, 120691 },
- { 0x383B, 120694 },
- { 0x383E, 120697 },
- { 0x383D, 120700 },
- { 0x3842, 120703 },
- { 0x3839, 120706 },
- { 0x3841, 120709 },
- { 0x3840, 120712 },
- { 0x383C, 120715 },
- { 0x382F, 120718 },
- { 0x3827, 120722 },
- { 0x3832, 120726 },
- { 0x3829, 120730 },
- { 0x3826, 120734 },
- { 0x3831, 120738 },
- { 0x3834, 120742 },
- { 0x3830, 120746 },
- { 0x3828, 120750 },
- { 0x3833, 120754 },
- { 0x382A, 120758 },
- { 0x382D, 120762 },
- { 0x382B, 120767 },
- { 0x382E, 120772 },
- { 0x382C, 120777 },
- { 0x3838, 120782 },
- { 0x37F3, 120785 },
- { 0x37FD, 120788 },
- { 0x37F5, 120791 },
- { 0x3800, 120794 },
- { 0x37F7, 120797 },
- { 0x37F4, 120800 },
- { 0x37FF, 120803 },
- { 0x3802, 120806 },
- { 0x3819, 120809 },
- { 0x3808, 120812 },
- { 0x3814, 120815 },
- { 0x37FE, 120818 },
- { 0x3805, 120821 },
- { 0x3823, 120824 },
- { 0x37F6, 120827 },
- { 0x380A, 120830 },
- { 0x3803, 120833 },
- { 0x381E, 120836 },
- { 0x381B, 120839 },
- { 0x3816, 120842 },
- { 0x3801, 120845 },
- { 0x3817, 120848 },
- { 0x381D, 120851 },
- { 0x3822, 120854 },
- { 0x3812, 120857 },
- { 0x37F8, 120860 },
- { 0x381F, 120863 },
- { 0x381C, 120866 },
- { 0x381A, 120869 },
- { 0x3809, 120872 },
- { 0x380F, 120875 },
- { 0x3815, 120878 },
- { 0x3806, 120881 },
- { 0x380B, 120884 },
- { 0x3804, 120887 },
- { 0x3824, 120890 },
- { 0x3807, 120893 },
- { 0x3811, 120896 },
- { 0x380C, 120899 },
- { 0x3818, 120902 },
- { 0x3820, 120905 },
- { 0x3821, 120908 },
- { 0x3813, 120911 },
- { 0x380D, 120914 },
- { 0x3810, 120917 },
- { 0x380E, 120920 },
- { 0x37FB, 120923 },
- { 0x37F9, 120927 },
- { 0x37FC, 120931 },
- { 0x37FA, 120935 },
- { 0x3825, 120939 },
+ { 0x7E22, 120648 },
+ { 0x7E21, 120656 },
+ { 0x7E20, 120663 },
+ { 0x7E24, 120671 },
+ { 0x383A, 120674 },
+ { 0x37F7, 120677 },
+ { 0x37F6, 120680 },
+ { 0x383B, 120683 },
+ { 0x383C, 120686 },
+ { 0x383F, 120688 },
+ { 0x3844, 120691 },
+ { 0x3840, 120694 },
+ { 0x3843, 120697 },
+ { 0x3842, 120700 },
+ { 0x3847, 120703 },
+ { 0x383E, 120706 },
+ { 0x3846, 120709 },
+ { 0x3845, 120712 },
+ { 0x3841, 120715 },
+ { 0x3834, 120718 },
+ { 0x382C, 120722 },
+ { 0x3837, 120726 },
+ { 0x382E, 120730 },
+ { 0x382B, 120734 },
+ { 0x3836, 120738 },
+ { 0x3839, 120742 },
+ { 0x3835, 120746 },
+ { 0x382D, 120750 },
+ { 0x3838, 120754 },
+ { 0x382F, 120758 },
+ { 0x3832, 120762 },
+ { 0x3830, 120767 },
+ { 0x3833, 120772 },
+ { 0x3831, 120777 },
+ { 0x383D, 120782 },
+ { 0x37F8, 120785 },
+ { 0x3802, 120788 },
+ { 0x37FA, 120791 },
+ { 0x3805, 120794 },
+ { 0x37FC, 120797 },
+ { 0x37F9, 120800 },
+ { 0x3804, 120803 },
+ { 0x3807, 120806 },
+ { 0x381E, 120809 },
+ { 0x380D, 120812 },
+ { 0x3819, 120815 },
+ { 0x3803, 120818 },
+ { 0x380A, 120821 },
+ { 0x3828, 120824 },
+ { 0x37FB, 120827 },
+ { 0x380F, 120830 },
+ { 0x3808, 120833 },
+ { 0x3823, 120836 },
+ { 0x3820, 120839 },
+ { 0x381B, 120842 },
+ { 0x3806, 120845 },
+ { 0x381C, 120848 },
+ { 0x3822, 120851 },
+ { 0x3827, 120854 },
+ { 0x3817, 120857 },
+ { 0x37FD, 120860 },
+ { 0x3824, 120863 },
+ { 0x3821, 120866 },
+ { 0x381F, 120869 },
+ { 0x380E, 120872 },
+ { 0x3814, 120875 },
+ { 0x381A, 120878 },
+ { 0x380B, 120881 },
+ { 0x3810, 120884 },
+ { 0x3809, 120887 },
+ { 0x3829, 120890 },
+ { 0x380C, 120893 },
+ { 0x3816, 120896 },
+ { 0x3811, 120899 },
+ { 0x381D, 120902 },
+ { 0x3825, 120905 },
+ { 0x3826, 120908 },
+ { 0x3818, 120911 },
+ { 0x3812, 120914 },
+ { 0x3815, 120917 },
+ { 0x3813, 120920 },
+ { 0x3800, 120923 },
+ { 0x37FE, 120927 },
+ { 0x3801, 120931 },
+ { 0x37FF, 120935 },
+ { 0x382A, 120939 },
{ 0x2655, 120943 },
{ 0x1FCE, 120948 },
- { 0x7DA3, 120951 },
+ { 0x7DA8, 120951 },
{ 0x1C80, 120954 },
- { 0x7E97, 120956 },
- { 0x7AF8, 120957 },
- { 0x7E44, 120958 },
- { 0x7C9F, 120960 },
- { 0x81A1, 120961 },
+ { 0x7E9C, 120956 },
+ { 0x7AFD, 120957 },
+ { 0x7E49, 120958 },
+ { 0x7CA4, 120960 },
+ { 0x81A6, 120961 },
{ 0x27F7, 120962 },
- { 0x7E4E, 120963 },
- { 0x7C75, 120967 },
+ { 0x7E53, 120963 },
+ { 0x7C7A, 120967 },
{ 0x1C9D, 120969 },
- { 0x7E33, 120971 },
- { 0x62E3, 120972 },
- { 0x62E4, 120977 },
- { 0x7B75, 120982 },
- { 0x7AEE, 120983 },
+ { 0x7E38, 120971 },
+ { 0x62E8, 120972 },
+ { 0x62E9, 120977 },
+ { 0x7B7A, 120982 },
+ { 0x7AF3, 120983 },
{ 0x22A2, 120984 },
{ 0x1FD8, 120986 },
- { 0x7E40, 120989 },
+ { 0x7E45, 120989 },
{ 0x23CE, 120991 },
{ 0x277E, 120996 },
{ 0x2780, 121002 },
- { 0x81C3, 121008 },
+ { 0x81C8, 121008 },
{ 0x2633, 121009 },
{ 0x1FD5, 121011 },
- { 0x7D81, 121013 },
+ { 0x7D86, 121013 },
{ 0x222F, 121014 },
- { 0x7B8F, 121015 },
+ { 0x7B94, 121015 },
{ 0x1EA9, 121017 },
{ 0x1F85, 121019 },
{ 0x1F86, 121020 },
@@ -78525,2595 +78532,2600 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1EAB, 121055 },
{ 0x0001, 121057 },
{ 0x1CC3, 121059 },
- { 0x80FC, 121062 },
+ { 0x8101, 121062 },
{ 0x1C7F, 121063 },
- { 0x7C05, 121065 },
+ { 0x7C0A, 121065 },
{ 0x1CA1, 121067 },
- { 0x2BA2, 121069 },
- { 0x2BDF, 121072 },
- { 0x2BA1, 121076 },
- { 0x2BCA, 121078 },
- { 0x2BA0, 121082 },
- { 0x6E82, 121084 },
- { 0x6E83, 121088 },
- { 0x6E86, 121092 },
- { 0x6E85, 121096 },
- { 0x6E84, 121100 },
- { 0x2BA7, 121104 },
- { 0x2BCB, 121107 },
- { 0x2BA6, 121111 },
- { 0x2BCD, 121114 },
- { 0x2BCC, 121118 },
- { 0x2BA5, 121122 },
- { 0x2BD7, 121125 },
- { 0x2F69, 121131 },
- { 0x2F6E, 121137 },
- { 0x2F72, 121143 },
- { 0x2F6A, 121149 },
- { 0x2F6D, 121155 },
- { 0x2F6C, 121161 },
- { 0x2F71, 121167 },
- { 0x2F70, 121173 },
- { 0x2F6F, 121179 },
- { 0x2F6B, 121185 },
- { 0x2F73, 121191 },
- { 0x2F86, 121197 },
- { 0x2F74, 121203 },
- { 0x2F7C, 121209 },
- { 0x2F77, 121215 },
- { 0x2F78, 121221 },
- { 0x2F7A, 121227 },
- { 0x2F76, 121233 },
- { 0x2F7B, 121239 },
- { 0x2F75, 121245 },
- { 0x2F79, 121251 },
- { 0x2F87, 121257 },
- { 0x2F7D, 121263 },
- { 0x2F82, 121269 },
- { 0x2F7E, 121275 },
- { 0x2F81, 121281 },
- { 0x2F80, 121287 },
- { 0x2F85, 121293 },
- { 0x2F84, 121299 },
- { 0x2F83, 121305 },
- { 0x2F7F, 121311 },
- { 0x2E4D, 121317 },
- { 0x2EE2, 121322 },
- { 0x2EE7, 121328 },
- { 0x2EEB, 121334 },
- { 0x2EE3, 121340 },
- { 0x2EE6, 121346 },
- { 0x2EE5, 121352 },
- { 0x2EEA, 121358 },
- { 0x2EE1, 121364 },
- { 0x2EE9, 121370 },
- { 0x2EE8, 121376 },
- { 0x2EE4, 121382 },
- { 0x2EEC, 121388 },
- { 0x2EED, 121394 },
- { 0x2EF5, 121400 },
- { 0x2EF0, 121406 },
- { 0x2EF1, 121412 },
- { 0x2EF3, 121418 },
- { 0x2EEF, 121424 },
- { 0x2EF4, 121430 },
- { 0x2EEE, 121436 },
- { 0x2EF2, 121442 },
- { 0x2EF6, 121448 },
- { 0x2EF7, 121454 },
- { 0x2EF9, 121460 },
- { 0x2EF8, 121466 },
- { 0x2E4F, 121472 },
- { 0x2E4E, 121477 },
- { 0x2E4C, 121482 },
- { 0x2E4B, 121487 },
- { 0x2E50, 121492 },
- { 0x2E49, 121497 },
- { 0x2E52, 121502 },
- { 0x2E54, 121507 },
- { 0x2E4A, 121512 },
- { 0x2E53, 121517 },
- { 0x2E51, 121522 },
- { 0x2BDE, 121527 },
- { 0x2D35, 121530 },
- { 0x2D28, 121534 },
- { 0x2D2C, 121538 },
- { 0x2D29, 121542 },
- { 0x2D2B, 121546 },
- { 0x2D34, 121550 },
- { 0x2D2F, 121554 },
- { 0x2D31, 121558 },
- { 0x2D2A, 121562 },
- { 0x2D2E, 121566 },
- { 0x2D32, 121570 },
- { 0x2D33, 121574 },
- { 0x2D2D, 121578 },
- { 0x2D30, 121582 },
- { 0x2D26, 121586 },
- { 0x2D27, 121590 },
+ { 0x2BA6, 121069 },
+ { 0x2BE3, 121072 },
+ { 0x2BA5, 121076 },
+ { 0x2BCE, 121078 },
+ { 0x2BA4, 121082 },
+ { 0x6E87, 121084 },
+ { 0x6E88, 121088 },
+ { 0x6E8B, 121092 },
+ { 0x6E8A, 121096 },
+ { 0x6E89, 121100 },
+ { 0x2BAB, 121104 },
+ { 0x2BCF, 121107 },
+ { 0x2BAA, 121111 },
+ { 0x2BD1, 121114 },
+ { 0x2BD0, 121118 },
+ { 0x2BA9, 121122 },
+ { 0x2BDB, 121125 },
+ { 0x2F6E, 121131 },
+ { 0x2F73, 121137 },
+ { 0x2F77, 121143 },
+ { 0x2F6F, 121149 },
+ { 0x2F72, 121155 },
+ { 0x2F71, 121161 },
+ { 0x2F76, 121167 },
+ { 0x2F75, 121173 },
+ { 0x2F74, 121179 },
+ { 0x2F70, 121185 },
+ { 0x2F78, 121191 },
+ { 0x2F8B, 121197 },
+ { 0x2F79, 121203 },
+ { 0x2F81, 121209 },
+ { 0x2F7C, 121215 },
+ { 0x2F7D, 121221 },
+ { 0x2F7F, 121227 },
+ { 0x2F7B, 121233 },
+ { 0x2F80, 121239 },
+ { 0x2F7A, 121245 },
+ { 0x2F7E, 121251 },
+ { 0x2F8C, 121257 },
+ { 0x2F82, 121263 },
+ { 0x2F87, 121269 },
+ { 0x2F83, 121275 },
+ { 0x2F86, 121281 },
+ { 0x2F85, 121287 },
+ { 0x2F8A, 121293 },
+ { 0x2F89, 121299 },
+ { 0x2F88, 121305 },
+ { 0x2F84, 121311 },
+ { 0x2E52, 121317 },
+ { 0x2EE7, 121322 },
+ { 0x2EEC, 121328 },
+ { 0x2EF0, 121334 },
+ { 0x2EE8, 121340 },
+ { 0x2EEB, 121346 },
+ { 0x2EEA, 121352 },
+ { 0x2EEF, 121358 },
+ { 0x2EE6, 121364 },
+ { 0x2EEE, 121370 },
+ { 0x2EED, 121376 },
+ { 0x2EE9, 121382 },
+ { 0x2EF1, 121388 },
+ { 0x2EF2, 121394 },
+ { 0x2EFA, 121400 },
+ { 0x2EF5, 121406 },
+ { 0x2EF6, 121412 },
+ { 0x2EF8, 121418 },
+ { 0x2EF4, 121424 },
+ { 0x2EF9, 121430 },
+ { 0x2EF3, 121436 },
+ { 0x2EF7, 121442 },
+ { 0x2EFB, 121448 },
+ { 0x2EFC, 121454 },
+ { 0x2EFE, 121460 },
+ { 0x2EFD, 121466 },
+ { 0x2E54, 121472 },
+ { 0x2E53, 121477 },
+ { 0x2E51, 121482 },
+ { 0x2E50, 121487 },
+ { 0x2E55, 121492 },
+ { 0x2E4E, 121497 },
+ { 0x2E57, 121502 },
+ { 0x2E59, 121507 },
+ { 0x2E4F, 121512 },
+ { 0x2E58, 121517 },
+ { 0x2E56, 121522 },
+ { 0x2BE2, 121527 },
+ { 0x2D39, 121530 },
+ { 0x2D2C, 121534 },
+ { 0x2D30, 121538 },
+ { 0x2D2D, 121542 },
+ { 0x2D2F, 121546 },
+ { 0x2D38, 121550 },
+ { 0x2D33, 121554 },
+ { 0x2D35, 121558 },
+ { 0x2D2E, 121562 },
+ { 0x2D32, 121566 },
+ { 0x2D36, 121570 },
+ { 0x2D37, 121574 },
+ { 0x2D31, 121578 },
+ { 0x2D34, 121582 },
+ { 0x2D2A, 121586 },
+ { 0x2D2B, 121590 },
{ 0x2B98, 121594 },
{ 0x2B94, 121599 },
{ 0x2B96, 121605 },
{ 0x2B95, 121613 },
{ 0x2B97, 121619 },
{ 0x2B9F, 121627 },
- { 0x2B9B, 121631 },
- { 0x2B99, 121637 },
- { 0x2B9A, 121643 },
- { 0x2B9E, 121649 },
- { 0x2B9C, 121656 },
- { 0x2B9D, 121663 },
- { 0x7C26, 121670 },
- { 0x1D8E, 121673 },
- { 0x1F0B, 121675 },
- { 0x3FC5, 121676 },
- { 0x3FC6, 121679 },
- { 0x3FC7, 121682 },
- { 0x22C7, 121685 },
- { 0x1CB7, 121690 },
- { 0x802F, 121691 },
- { 0x0DAA, 121693 },
- { 0x0DAC, 121696 },
- { 0x053F, 121701 },
- { 0x2309, 121705 },
- { 0x23CD, 121708 },
- { 0x7D15, 121712 },
- { 0x6246, 121714 },
- { 0x6245, 121717 },
- { 0x622F, 121719 },
- { 0x6242, 121722 },
- { 0x6234, 121727 },
- { 0x6230, 121730 },
- { 0x6243, 121733 },
- { 0x6233, 121738 },
- { 0x6232, 121741 },
- { 0x6237, 121744 },
- { 0x622E, 121747 },
- { 0x6236, 121750 },
- { 0x6235, 121753 },
- { 0x6231, 121756 },
- { 0x6244, 121759 },
- { 0x621B, 121764 },
- { 0x621E, 121768 },
- { 0x621F, 121772 },
- { 0x6227, 121776 },
- { 0x621D, 121780 },
- { 0x6218, 121784 },
- { 0x6217, 121788 },
- { 0x6224, 121792 },
- { 0x6219, 121796 },
- { 0x621C, 121800 },
- { 0x621A, 121804 },
- { 0x6222, 121808 },
- { 0x620E, 121812 },
- { 0x6229, 121816 },
- { 0x622B, 121820 },
- { 0x6215, 121824 },
- { 0x6223, 121828 },
- { 0x622A, 121832 },
- { 0x620F, 121836 },
- { 0x6216, 121840 },
- { 0x6220, 121844 },
- { 0x6210, 121848 },
- { 0x6211, 121852 },
- { 0x6226, 121856 },
- { 0x622D, 121860 },
- { 0x6213, 121864 },
- { 0x622C, 121868 },
- { 0x6224, 121872 },
- { 0x6214, 121876 },
- { 0x6225, 121880 },
- { 0x6225, 121884 },
- { 0x6228, 121888 },
- { 0x6221, 121892 },
- { 0x6212, 121896 },
- { 0x6238, 121900 },
- { 0x6239, 121903 },
- { 0x623A, 121906 },
- { 0x623D, 121909 },
- { 0x623E, 121912 },
- { 0x6240, 121915 },
- { 0x623C, 121918 },
- { 0x6241, 121921 },
- { 0x623B, 121924 },
- { 0x623F, 121927 },
- { 0x6247, 121930 },
- { 0x61FB, 121933 },
- { 0x61FE, 121937 },
- { 0x61FF, 121941 },
- { 0x6207, 121945 },
- { 0x61FD, 121949 },
- { 0x61F8, 121953 },
- { 0x61F7, 121957 },
- { 0x6204, 121961 },
- { 0x61F9, 121965 },
- { 0x61FC, 121969 },
- { 0x61FA, 121973 },
- { 0x6202, 121977 },
- { 0x61EE, 121981 },
- { 0x6209, 121985 },
- { 0x620B, 121989 },
- { 0x61F5, 121993 },
- { 0x6203, 121997 },
- { 0x620A, 122001 },
- { 0x61EF, 122005 },
- { 0x61F6, 122009 },
- { 0x6200, 122013 },
- { 0x61F0, 122017 },
- { 0x61F1, 122021 },
- { 0x6206, 122025 },
- { 0x620D, 122029 },
- { 0x61F3, 122033 },
- { 0x620C, 122037 },
- { 0x6204, 122041 },
- { 0x61F4, 122045 },
- { 0x6205, 122049 },
- { 0x6205, 122053 },
- { 0x6208, 122057 },
- { 0x6201, 122061 },
- { 0x61F2, 122065 },
- { 0x6248, 122069 },
- { 0x8025, 122072 },
- { 0x4FF7, 122074 },
- { 0x4FF9, 122077 },
- { 0x4FF6, 122080 },
- { 0x4FF5, 122083 },
- { 0x4FF8, 122086 },
- { 0x4FF1, 122089 },
- { 0x4FEB, 122093 },
- { 0x4FF3, 122097 },
- { 0x4FED, 122101 },
- { 0x4FEA, 122105 },
- { 0x4FF2, 122109 },
- { 0x4FF4, 122113 },
- { 0x4FEC, 122117 },
- { 0x4FEE, 122121 },
- { 0x4FEF, 122125 },
- { 0x4FF0, 122130 },
- { 0x4FFB, 122135 },
- { 0x4FBB, 122140 },
- { 0x4FC3, 122143 },
- { 0x4FBD, 122146 },
- { 0x4FC5, 122149 },
- { 0x4FBF, 122152 },
- { 0x4FBC, 122155 },
- { 0x4FC4, 122158 },
- { 0x4FC6, 122161 },
- { 0x4FDD, 122164 },
- { 0x4FCC, 122167 },
- { 0x4FD8, 122170 },
- { 0x4FC9, 122173 },
- { 0x4FE7, 122176 },
- { 0x4FBE, 122179 },
- { 0x4FCE, 122182 },
- { 0x4FC7, 122185 },
- { 0x4FE2, 122188 },
- { 0x4FDF, 122191 },
- { 0x4FDA, 122194 },
- { 0x4FDB, 122197 },
- { 0x4FE1, 122200 },
- { 0x4FE6, 122203 },
- { 0x4FD6, 122206 },
- { 0x4FC0, 122209 },
- { 0x4FE3, 122212 },
- { 0x4FE0, 122215 },
- { 0x4FDE, 122218 },
- { 0x4FCD, 122221 },
- { 0x4FD3, 122224 },
- { 0x4FD9, 122227 },
- { 0x4FCA, 122230 },
- { 0x4FCF, 122233 },
- { 0x4FC8, 122236 },
- { 0x4FE8, 122239 },
- { 0x4FCB, 122242 },
- { 0x4FD5, 122245 },
- { 0x4FD0, 122248 },
- { 0x4FDC, 122251 },
- { 0x4FE9, 122254 },
- { 0x4FE4, 122257 },
- { 0x4FE5, 122260 },
- { 0x4FD7, 122263 },
- { 0x4FD1, 122266 },
- { 0x4FD4, 122269 },
- { 0x4FD2, 122272 },
- { 0x4FC1, 122275 },
- { 0x4FC2, 122279 },
- { 0x4FFA, 122283 },
- { 0x7E56, 122285 },
- { 0x7F10, 122288 },
- { 0x27DC, 122289 },
- { 0x27DB, 122292 },
- { 0x27DA, 122297 },
- { 0x29FC, 122300 },
- { 0x2A3A, 122301 },
- { 0x2DD9, 122303 },
- { 0x7DC8, 122305 },
- { 0x1F57, 122307 },
- { 0x1C82, 122308 },
- { 0x2245, 122310 },
- { 0x3FC9, 122312 },
- { 0x2273, 122314 },
- { 0x8197, 122315 },
- { 0x7DED, 122316 },
- { 0x22DD, 122318 },
- { 0x74A4, 122319 },
- { 0x74A5, 122324 },
- { 0x74A2, 122329 },
- { 0x74A3, 122333 },
- { 0x748A, 122337 },
- { 0x7484, 122340 },
- { 0x7485, 122344 },
- { 0x74C1, 122348 },
- { 0x74C2, 122353 },
- { 0x737E, 122358 },
- { 0x7380, 122361 },
- { 0x737F, 122364 },
- { 0x749D, 122367 },
- { 0x7486, 122369 },
- { 0x7488, 122373 },
- { 0x7481, 122377 },
- { 0x7487, 122380 },
- { 0x7483, 122384 },
- { 0x7482, 122387 },
- { 0x7489, 122390 },
- { 0x7475, 122394 },
- { 0x7476, 122402 },
- { 0x7474, 122411 },
- { 0x74F9, 122418 },
- { 0x74FA, 122421 },
- { 0x74FB, 122424 },
- { 0x74FC, 122427 },
- { 0x74FD, 122430 },
- { 0x74F5, 122433 },
- { 0x74D8, 122436 },
- { 0x746C, 122438 },
- { 0x746D, 122440 },
- { 0x7473, 122443 },
- { 0x746F, 122447 },
- { 0x7471, 122451 },
- { 0x746E, 122455 },
- { 0x7472, 122459 },
- { 0x7470, 122463 },
- { 0x74E4, 122467 },
- { 0x74E5, 122470 },
- { 0x74E6, 122473 },
- { 0x74E7, 122476 },
- { 0x74E8, 122479 },
- { 0x74E9, 122482 },
- { 0x74EA, 122485 },
- { 0x74E3, 122488 },
- { 0x74C0, 122491 },
- { 0x74D7, 122495 },
- { 0x749F, 122497 },
- { 0x749E, 122500 },
- { 0x74A1, 122503 },
- { 0x74A0, 122506 },
- { 0x737B, 122509 },
- { 0x737D, 122512 },
- { 0x737C, 122515 },
- { 0x74F7, 122518 },
- { 0x74F4, 122520 },
- { 0x7388, 122522 },
- { 0x738A, 122526 },
- { 0x7389, 122530 },
- { 0x738B, 122534 },
- { 0x738C, 122538 },
- { 0x7375, 122541 },
- { 0x7377, 122544 },
- { 0x7376, 122547 },
- { 0x74BA, 122550 },
- { 0x74BB, 122553 },
- { 0x74BC, 122557 },
- { 0x74B4, 122561 },
- { 0x74B6, 122565 },
- { 0x74B5, 122570 },
- { 0x74B1, 122575 },
- { 0x74B2, 122579 },
- { 0x74B3, 122583 },
- { 0x74B7, 122587 },
- { 0x74B9, 122591 },
- { 0x74B8, 122596 },
- { 0x74AE, 122601 },
- { 0x74B0, 122604 },
- { 0x74AF, 122608 },
- { 0x74AB, 122612 },
- { 0x74AD, 122615 },
- { 0x74AC, 122619 },
- { 0x74BD, 122623 },
- { 0x74BF, 122626 },
- { 0x74BE, 122630 },
- { 0x74AA, 122634 },
- { 0x74A9, 122638 },
- { 0x74A8, 122642 },
- { 0x74C3, 122646 },
- { 0x74C5, 122649 },
- { 0x74C4, 122653 },
- { 0x74CE, 122657 },
- { 0x74D2, 122659 },
- { 0x74D3, 122663 },
- { 0x74D0, 122668 },
- { 0x74D1, 122672 },
- { 0x74D4, 122677 },
- { 0x74CF, 122681 },
- { 0x749C, 122684 },
- { 0x749A, 122688 },
- { 0x749B, 122692 },
- { 0x7372, 122696 },
- { 0x7374, 122699 },
- { 0x7373, 122702 },
- { 0x74E2, 122705 },
- { 0x74A7, 122712 },
- { 0x74A6, 122715 },
- { 0x7497, 122718 },
- { 0x7499, 122721 },
- { 0x7498, 122724 },
- { 0x747C, 122727 },
- { 0x747B, 122732 },
- { 0x747D, 122737 },
- { 0x747A, 122742 },
- { 0x74EB, 122747 },
- { 0x7378, 122749 },
- { 0x737A, 122752 },
- { 0x7379, 122755 },
- { 0x74C8, 122758 },
- { 0x74C9, 122763 },
- { 0x74CB, 122769 },
- { 0x74CD, 122774 },
- { 0x74CC, 122779 },
- { 0x74CA, 122784 },
- { 0x74C7, 122789 },
- { 0x74C6, 122793 },
- { 0x7464, 122798 },
- { 0x7465, 122801 },
- { 0x746A, 122804 },
- { 0x7466, 122809 },
- { 0x746B, 122812 },
- { 0x7467, 122815 },
- { 0x7463, 122818 },
- { 0x7462, 122822 },
- { 0x7468, 122826 },
- { 0x7469, 122829 },
- { 0x738D, 122833 },
- { 0x7383, 122837 },
- { 0x7385, 122841 },
- { 0x7384, 122845 },
- { 0x7386, 122849 },
- { 0x7387, 122853 },
- { 0x7382, 122856 },
- { 0x7381, 122859 },
- { 0x7477, 122862 },
- { 0x7479, 122866 },
- { 0x7478, 122870 },
- { 0x747F, 122874 },
- { 0x747E, 122877 },
- { 0x7480, 122880 },
- { 0x72DA, 122883 },
- { 0x72DE, 122885 },
- { 0x72C0, 122889 },
- { 0x72C1, 122894 },
- { 0x72D9, 122900 },
- { 0x72DD, 122903 },
- { 0x72DB, 122908 },
- { 0x72DF, 122913 },
- { 0x726F, 122918 },
- { 0x732D, 122921 },
- { 0x7359, 122926 },
- { 0x735A, 122930 },
- { 0x72DC, 122935 },
- { 0x72E0, 122939 },
- { 0x733D, 122943 },
- { 0x74F1, 122948 },
- { 0x74F0, 122952 },
- { 0x74F3, 122955 },
- { 0x74F2, 122959 },
- { 0x74EF, 122962 },
- { 0x74EE, 122965 },
- { 0x74FE, 122968 },
- { 0x74FF, 122971 },
- { 0x7500, 122974 },
- { 0x7501, 122977 },
- { 0x7502, 122980 },
- { 0x7503, 122983 },
- { 0x7504, 122986 },
- { 0x7505, 122989 },
- { 0x7506, 122992 },
- { 0x7507, 122995 },
- { 0x7508, 122998 },
- { 0x7509, 123001 },
- { 0x750A, 123004 },
- { 0x750B, 123007 },
- { 0x750C, 123010 },
- { 0x74DA, 123013 },
- { 0x74DB, 123017 },
- { 0x74DE, 123021 },
- { 0x748B, 123026 },
- { 0x748C, 123029 },
- { 0x748D, 123032 },
- { 0x72D3, 123035 },
- { 0x72D5, 123037 },
- { 0x72B6, 123041 },
- { 0x7356, 123046 },
- { 0x72D4, 123053 },
- { 0x72D6, 123057 },
- { 0x7343, 123061 },
- { 0x7344, 123067 },
- { 0x7370, 123074 },
- { 0x72B7, 123076 },
- { 0x7371, 123082 },
- { 0x731B, 123085 },
- { 0x7318, 123089 },
- { 0x7324, 123093 },
- { 0x7325, 123097 },
- { 0x731D, 123101 },
- { 0x7321, 123105 },
- { 0x7323, 123109 },
- { 0x7322, 123115 },
- { 0x731C, 123120 },
- { 0x726D, 123125 },
- { 0x7280, 123128 },
- { 0x7291, 123134 },
- { 0x7292, 123142 },
- { 0x7273, 123150 },
- { 0x728A, 123154 },
- { 0x7327, 123160 },
- { 0x7353, 123165 },
- { 0x7349, 123170 },
- { 0x734F, 123175 },
- { 0x734E, 123182 },
- { 0x7350, 123189 },
- { 0x734D, 123196 },
- { 0x734B, 123203 },
- { 0x734C, 123210 },
- { 0x7357, 123217 },
- { 0x7355, 123224 },
- { 0x72A8, 123231 },
- { 0x72A7, 123239 },
- { 0x7358, 123247 },
- { 0x72A4, 123252 },
- { 0x729E, 123259 },
- { 0x72B0, 123266 },
- { 0x72A9, 123273 },
- { 0x7352, 123280 },
- { 0x7351, 123287 },
- { 0x7354, 123294 },
- { 0x7277, 123299 },
- { 0x7278, 123303 },
- { 0x7279, 123307 },
- { 0x7281, 123312 },
- { 0x7293, 123318 },
- { 0x727B, 123326 },
- { 0x7294, 123330 },
- { 0x727D, 123338 },
- { 0x728E, 123343 },
- { 0x72F3, 123350 },
- { 0x72F8, 123355 },
- { 0x72F9, 123361 },
- { 0x7316, 123367 },
- { 0x728B, 123373 },
- { 0x728F, 123378 },
- { 0x72AC, 123384 },
- { 0x72AB, 123390 },
- { 0x7295, 123397 },
- { 0x7298, 123403 },
- { 0x7297, 123409 },
- { 0x7296, 123415 },
- { 0x72AA, 123421 },
- { 0x727F, 123428 },
- { 0x7290, 123433 },
- { 0x7311, 123441 },
- { 0x727E, 123446 },
- { 0x7287, 123452 },
- { 0x72A0, 123457 },
- { 0x728D, 123464 },
- { 0x7282, 123471 },
- { 0x7283, 123476 },
- { 0x729A, 123483 },
- { 0x729C, 123490 },
- { 0x729B, 123498 },
- { 0x72A1, 123506 },
- { 0x7285, 123513 },
- { 0x72A2, 123519 },
- { 0x7286, 123527 },
- { 0x729F, 123533 },
- { 0x7284, 123541 },
- { 0x7276, 123548 },
- { 0x7362, 123553 },
- { 0x7363, 123556 },
- { 0x736C, 123560 },
- { 0x736F, 123566 },
- { 0x7366, 123573 },
- { 0x7364, 123578 },
- { 0x7365, 123583 },
- { 0x736B, 123588 },
- { 0x736E, 123594 },
- { 0x7275, 123600 },
- { 0x736D, 123606 },
- { 0x7300, 123612 },
- { 0x736A, 123618 },
- { 0x7368, 123624 },
- { 0x7299, 123630 },
- { 0x7369, 123637 },
- { 0x7367, 123643 },
- { 0x72FF, 123647 },
- { 0x7305, 123651 },
- { 0x72FB, 123655 },
- { 0x72FE, 123659 },
- { 0x72FD, 123665 },
- { 0x72FC, 123671 },
- { 0x730D, 123677 },
- { 0x7309, 123681 },
- { 0x7307, 123686 },
- { 0x7304, 123690 },
- { 0x7306, 123695 },
- { 0x7333, 123700 },
- { 0x7336, 123704 },
- { 0x7289, 123710 },
- { 0x7331, 123716 },
- { 0x733A, 123720 },
- { 0x72AD, 123725 },
- { 0x72AE, 123733 },
- { 0x72AF, 123741 },
- { 0x72A3, 123748 },
- { 0x729D, 123755 },
- { 0x7338, 123762 },
- { 0x72A5, 123767 },
- { 0x72A6, 123774 },
- { 0x7339, 123781 },
- { 0x7335, 123785 },
- { 0x72C7, 123790 },
- { 0x72B9, 123792 },
- { 0x72BD, 123797 },
- { 0x72BB, 123803 },
- { 0x72BF, 123810 },
- { 0x72C4, 123817 },
- { 0x72C6, 123823 },
- { 0x72C5, 123831 },
- { 0x72B1, 123839 },
- { 0x72B2, 123843 },
- { 0x72B3, 123848 },
- { 0x72B4, 123853 },
- { 0x72B5, 123858 },
- { 0x72C9, 123864 },
- { 0x72BA, 123867 },
- { 0x72BE, 123873 },
- { 0x72BC, 123880 },
- { 0x72CB, 123888 },
- { 0x72CE, 123893 },
- { 0x72CF, 123899 },
- { 0x72D0, 123903 },
- { 0x72D1, 123909 },
- { 0x72D2, 123916 },
- { 0x72CC, 123920 },
- { 0x72CA, 123924 },
- { 0x72CD, 123928 },
- { 0x72C8, 123932 },
- { 0x72D8, 123937 },
- { 0x7326, 123939 },
- { 0x732B, 123943 },
- { 0x732A, 123949 },
- { 0x732C, 123955 },
- { 0x7347, 123961 },
- { 0x7346, 123967 },
- { 0x7345, 123974 },
- { 0x7337, 123981 },
- { 0x72D7, 123985 },
- { 0x72E4, 123988 },
- { 0x72E6, 123990 },
- { 0x72C3, 123994 },
- { 0x731F, 123999 },
- { 0x7270, 124003 },
- { 0x72E5, 124006 },
- { 0x72E7, 124010 },
- { 0x7302, 124014 },
- { 0x74F6, 124018 },
- { 0x74DC, 124020 },
- { 0x74D9, 124025 },
- { 0x74DD, 124027 },
- { 0x72F2, 124032 },
- { 0x731A, 124034 },
- { 0x7320, 124042 },
- { 0x7272, 124046 },
- { 0x7330, 124049 },
- { 0x732F, 124054 },
- { 0x7361, 124060 },
- { 0x7360, 124064 },
- { 0x735F, 124069 },
- { 0x72F6, 124074 },
- { 0x7315, 124079 },
- { 0x7303, 124084 },
- { 0x7310, 124088 },
- { 0x730C, 124092 },
- { 0x730B, 124099 },
- { 0x7341, 124107 },
- { 0x7340, 124112 },
- { 0x733F, 124118 },
- { 0x72EA, 124124 },
- { 0x72EF, 124126 },
- { 0x72C2, 124130 },
- { 0x72B8, 124136 },
- { 0x72E8, 124141 },
- { 0x72EE, 124144 },
- { 0x72EC, 124149 },
- { 0x72E9, 124154 },
- { 0x7314, 124159 },
- { 0x7319, 124162 },
- { 0x7271, 124170 },
- { 0x732E, 124173 },
- { 0x735D, 124178 },
- { 0x735B, 124182 },
- { 0x734A, 124187 },
- { 0x735C, 124192 },
- { 0x735E, 124197 },
- { 0x7348, 124202 },
- { 0x72F5, 124206 },
- { 0x72FA, 124211 },
- { 0x7313, 124217 },
- { 0x72EB, 124222 },
- { 0x72ED, 124225 },
- { 0x72F0, 124229 },
- { 0x72F1, 124235 },
- { 0x72F7, 124241 },
- { 0x730F, 124244 },
- { 0x730A, 124248 },
- { 0x7308, 124253 },
- { 0x7332, 124257 },
- { 0x733E, 124260 },
- { 0x72E3, 124265 },
- { 0x731E, 124267 },
- { 0x726E, 124271 },
- { 0x7274, 124274 },
- { 0x7328, 124278 },
- { 0x727A, 124283 },
- { 0x727C, 124287 },
- { 0x72F4, 124291 },
- { 0x7317, 124296 },
- { 0x728C, 124302 },
- { 0x7312, 124307 },
- { 0x7288, 124312 },
- { 0x7301, 124317 },
- { 0x730E, 124321 },
- { 0x7334, 124325 },
- { 0x733B, 124329 },
- { 0x7342, 124334 },
- { 0x74F8, 124340 },
- { 0x72E2, 124342 },
- { 0x72E1, 124344 },
- { 0x7329, 124347 },
- { 0x733C, 124353 },
- { 0x738E, 124359 },
- { 0x738F, 124364 },
- { 0x7392, 124369 },
- { 0x7393, 124375 },
- { 0x7390, 124381 },
- { 0x7391, 124385 },
- { 0x7394, 124389 },
- { 0x74E0, 124395 },
- { 0x74DF, 124399 },
- { 0x74E1, 124403 },
- { 0x73C0, 124406 },
- { 0x73BF, 124411 },
- { 0x73C1, 124416 },
- { 0x73BE, 124421 },
- { 0x73B9, 124424 },
- { 0x73B8, 124428 },
- { 0x73BA, 124432 },
- { 0x73BC, 124436 },
- { 0x73BB, 124440 },
- { 0x73BD, 124444 },
- { 0x7494, 124448 },
- { 0x7496, 124451 },
- { 0x748E, 124454 },
- { 0x748F, 124457 },
- { 0x7490, 124461 },
- { 0x73C4, 124465 },
- { 0x73C2, 124469 },
- { 0x73C3, 124473 },
- { 0x73C5, 124477 },
- { 0x73CC, 124481 },
- { 0x73CA, 124486 },
- { 0x73CB, 124491 },
- { 0x73CD, 124496 },
- { 0x73D0, 124501 },
- { 0x73CE, 124506 },
- { 0x73CF, 124511 },
- { 0x73D1, 124516 },
- { 0x73C8, 124521 },
- { 0x73C6, 124525 },
- { 0x73C7, 124529 },
- { 0x73C9, 124533 },
- { 0x73F4, 124537 },
- { 0x73F2, 124540 },
- { 0x73F1, 124544 },
- { 0x73F3, 124548 },
- { 0x73EF, 124552 },
- { 0x73EE, 124556 },
- { 0x73F0, 124560 },
- { 0x7495, 124564 },
- { 0x7491, 124567 },
- { 0x7492, 124570 },
- { 0x7493, 124574 },
- { 0x74EC, 124578 },
- { 0x7452, 124581 },
- { 0x7450, 124587 },
- { 0x7453, 124593 },
- { 0x7451, 124599 },
- { 0x73B1, 124605 },
- { 0x73AF, 124609 },
- { 0x73B0, 124613 },
- { 0x74D5, 124617 },
- { 0x73A7, 124620 },
- { 0x73A5, 124624 },
- { 0x73A6, 124628 },
- { 0x7401, 124632 },
- { 0x73FF, 124636 },
- { 0x7400, 124640 },
- { 0x741B, 124644 },
- { 0x7414, 124649 },
- { 0x7404, 124655 },
- { 0x7402, 124659 },
- { 0x7405, 124663 },
- { 0x7403, 124668 },
- { 0x741C, 124672 },
- { 0x7415, 124677 },
- { 0x7408, 124683 },
- { 0x7406, 124689 },
- { 0x7407, 124695 },
- { 0x740B, 124701 },
- { 0x7409, 124707 },
- { 0x740A, 124713 },
- { 0x741D, 124719 },
- { 0x7416, 124724 },
- { 0x7423, 124730 },
- { 0x7421, 124736 },
- { 0x7422, 124742 },
- { 0x73AE, 124748 },
- { 0x73AC, 124752 },
- { 0x73AD, 124756 },
- { 0x73A0, 124760 },
- { 0x740C, 124763 },
- { 0x741A, 124768 },
- { 0x7413, 124773 },
- { 0x73F7, 124779 },
- { 0x73F5, 124784 },
- { 0x73F6, 124789 },
- { 0x73F8, 124794 },
- { 0x73FB, 124799 },
- { 0x73F9, 124804 },
- { 0x73FA, 124809 },
- { 0x73FC, 124814 },
- { 0x73FD, 124819 },
- { 0x73FE, 124825 },
- { 0x73B7, 124831 },
- { 0x73B5, 124835 },
- { 0x73B6, 124839 },
- { 0x745B, 124843 },
- { 0x745A, 124849 },
- { 0x73AA, 124855 },
- { 0x73A8, 124859 },
- { 0x73A9, 124863 },
- { 0x73AB, 124867 },
- { 0x740D, 124871 },
- { 0x740E, 124876 },
- { 0x739D, 124881 },
- { 0x739C, 124886 },
- { 0x739E, 124890 },
- { 0x739F, 124894 },
- { 0x745F, 124900 },
- { 0x745E, 124905 },
- { 0x7395, 124910 },
- { 0x739B, 124914 },
- { 0x7399, 124919 },
- { 0x7397, 124924 },
- { 0x7398, 124929 },
- { 0x739A, 124934 },
- { 0x73A2, 124939 },
- { 0x73A1, 124944 },
- { 0x73A3, 124949 },
- { 0x73A4, 124953 },
- { 0x73B4, 124959 },
- { 0x73B2, 124963 },
- { 0x73B3, 124967 },
- { 0x7412, 124971 },
- { 0x7410, 124974 },
- { 0x741F, 124977 },
- { 0x7418, 124982 },
- { 0x740F, 124988 },
- { 0x741E, 124991 },
- { 0x7417, 124996 },
- { 0x7411, 125002 },
- { 0x7420, 125005 },
- { 0x7419, 125010 },
- { 0x74ED, 125016 },
- { 0x7459, 125019 },
- { 0x7456, 125027 },
- { 0x7457, 125035 },
- { 0x7454, 125043 },
- { 0x7458, 125051 },
- { 0x7455, 125059 },
- { 0x73E7, 125067 },
- { 0x73E5, 125071 },
- { 0x73E6, 125075 },
- { 0x74D6, 125079 },
- { 0x73E0, 125082 },
- { 0x7447, 125085 },
- { 0x7436, 125089 },
- { 0x7435, 125096 },
- { 0x7438, 125103 },
- { 0x7437, 125111 },
- { 0x7427, 125119 },
- { 0x7429, 125126 },
- { 0x7426, 125133 },
- { 0x7428, 125140 },
- { 0x7448, 125147 },
- { 0x743C, 125151 },
- { 0x743A, 125158 },
- { 0x743B, 125165 },
- { 0x7439, 125172 },
- { 0x742D, 125179 },
- { 0x742B, 125186 },
- { 0x742C, 125193 },
- { 0x742A, 125200 },
- { 0x744B, 125207 },
- { 0x744A, 125211 },
- { 0x7449, 125215 },
- { 0x743E, 125219 },
- { 0x743D, 125225 },
- { 0x742F, 125231 },
- { 0x742E, 125237 },
- { 0x73E4, 125243 },
- { 0x73DB, 125246 },
- { 0x7444, 125249 },
- { 0x7442, 125253 },
- { 0x7443, 125257 },
- { 0x7434, 125261 },
- { 0x7433, 125267 },
- { 0x7425, 125273 },
- { 0x7424, 125279 },
- { 0x7445, 125285 },
- { 0x7446, 125289 },
- { 0x73ED, 125293 },
- { 0x73EB, 125297 },
- { 0x73EC, 125301 },
- { 0x745D, 125305 },
- { 0x745C, 125312 },
- { 0x73E3, 125319 },
- { 0x73E1, 125323 },
- { 0x73E2, 125327 },
- { 0x73D8, 125331 },
- { 0x73D7, 125336 },
- { 0x73D9, 125340 },
- { 0x73DA, 125344 },
- { 0x7461, 125350 },
- { 0x7460, 125357 },
- { 0x7396, 125364 },
- { 0x73D6, 125368 },
- { 0x73D4, 125373 },
- { 0x73D2, 125378 },
- { 0x73D3, 125383 },
- { 0x73D5, 125388 },
- { 0x73DD, 125393 },
- { 0x73DC, 125398 },
- { 0x73DF, 125403 },
- { 0x73DE, 125409 },
- { 0x73EA, 125414 },
- { 0x73E8, 125418 },
- { 0x73E9, 125422 },
- { 0x744F, 125426 },
- { 0x744D, 125430 },
- { 0x7440, 125433 },
- { 0x7431, 125438 },
- { 0x744C, 125443 },
- { 0x743F, 125446 },
- { 0x7430, 125451 },
- { 0x744E, 125456 },
- { 0x7441, 125459 },
- { 0x7432, 125464 },
- { 0x7B67, 125469 },
- { 0x8180, 125470 },
- { 0x0078, 125471 },
- { 0x1CED, 125473 },
- { 0x0071, 125475 },
- { 0x1CEC, 125477 },
- { 0x1CEB, 125479 },
- { 0x1CF4, 125481 },
- { 0x1CF0, 125484 },
- { 0x1CF1, 125486 },
- { 0x1CE9, 125489 },
- { 0x1CEF, 125491 },
- { 0x1CEA, 125493 },
- { 0x1CF6, 125498 },
- { 0x1CF2, 125503 },
- { 0x1CF5, 125505 },
- { 0x1CEE, 125508 },
- { 0x0072, 125510 },
- { 0x1CF3, 125512 },
- { 0x7AC6, 125515 },
- { 0x26FE, 125516 },
- { 0x27F1, 125518 },
- { 0x7CDF, 125520 },
- { 0x7CE1, 125523 },
- { 0x7E89, 125527 },
- { 0x7E88, 125530 },
- { 0x7E87, 125532 },
- { 0x2210, 125535 },
- { 0x2211, 125541 },
- { 0x7DE8, 125547 },
- { 0x7D76, 125549 },
- { 0x1D6D, 125550 },
- { 0x7FD9, 125553 },
- { 0x7FF1, 125558 },
- { 0x7FE9, 125565 },
- { 0x7FD1, 125571 },
- { 0x7FE1, 125577 },
- { 0x7FD8, 125583 },
- { 0x7FF0, 125588 },
- { 0x7FE8, 125595 },
- { 0x7FD0, 125601 },
- { 0x7FE0, 125607 },
- { 0x7FDA, 125613 },
- { 0x7FF2, 125618 },
- { 0x7FEA, 125625 },
- { 0x7FD2, 125631 },
- { 0x7FE2, 125637 },
- { 0x7FDB, 125643 },
- { 0x7FF3, 125648 },
- { 0x7FEB, 125655 },
- { 0x7FD3, 125661 },
- { 0x7FE3, 125667 },
- { 0x7FD5, 125673 },
- { 0x7FED, 125677 },
- { 0x7FE5, 125683 },
- { 0x7FCD, 125688 },
- { 0x7FDD, 125693 },
- { 0x7FD7, 125698 },
- { 0x7FEF, 125702 },
- { 0x7FE7, 125708 },
- { 0x7FCF, 125713 },
- { 0x7FDF, 125718 },
- { 0x7FD4, 125723 },
- { 0x7FEC, 125727 },
- { 0x7FE4, 125733 },
- { 0x7FCC, 125738 },
- { 0x7FDC, 125743 },
- { 0x7FD6, 125748 },
- { 0x7FEE, 125752 },
- { 0x7FE6, 125758 },
- { 0x7FCE, 125763 },
- { 0x7FDE, 125768 },
- { 0x1DA2, 125773 },
- { 0x2662, 125774 },
- { 0x05A3, 125777 },
- { 0x05A2, 125782 },
- { 0x059F, 125786 },
- { 0x05FA, 125789 },
- { 0x05FF, 125792 },
- { 0x05FB, 125795 },
- { 0x05FE, 125798 },
- { 0x05FD, 125801 },
- { 0x0602, 125804 },
- { 0x05F9, 125807 },
- { 0x0601, 125810 },
- { 0x0600, 125813 },
- { 0x05FC, 125816 },
- { 0x05A0, 125819 },
- { 0x2305, 125822 },
- { 0x1D82, 125826 },
- { 0x1D61, 125829 },
- { 0x1D66, 125832 },
- { 0x1D71, 125835 },
- { 0x1D7D, 125838 },
- { 0x7D7E, 125841 },
- { 0x7E4C, 125843 },
- { 0x7C1C, 125845 },
- { 0x1F7E, 125847 },
- { 0x578E, 125848 },
- { 0x578F, 125851 },
- { 0x5790, 125854 },
- { 0x5791, 125857 },
- { 0x5792, 125860 },
- { 0x5793, 125863 },
- { 0x5794, 125866 },
- { 0x5795, 125869 },
- { 0x5796, 125872 },
- { 0x5797, 125875 },
- { 0x5798, 125878 },
- { 0x579A, 125881 },
- { 0x579B, 125884 },
- { 0x579C, 125887 },
- { 0x579D, 125890 },
- { 0x579E, 125893 },
- { 0x579F, 125896 },
- { 0x57A0, 125899 },
- { 0x57A1, 125902 },
- { 0x57A2, 125905 },
- { 0x57A3, 125908 },
- { 0x57A4, 125911 },
- { 0x57A5, 125914 },
- { 0x57A6, 125917 },
- { 0x57A7, 125920 },
- { 0x57A8, 125923 },
- { 0x57A9, 125926 },
- { 0x57AA, 125929 },
- { 0x57AB, 125932 },
- { 0x57AC, 125935 },
- { 0x57AD, 125938 },
- { 0x57AE, 125941 },
- { 0x57AF, 125944 },
- { 0x57B0, 125947 },
- { 0x57B1, 125950 },
- { 0x57B2, 125953 },
- { 0x57B3, 125956 },
- { 0x57B4, 125959 },
- { 0x57B5, 125962 },
- { 0x57B6, 125965 },
- { 0x57B7, 125968 },
- { 0x57B8, 125971 },
- { 0x57B9, 125974 },
- { 0x57BA, 125977 },
- { 0x57BB, 125980 },
- { 0x57BC, 125983 },
- { 0x57BD, 125986 },
- { 0x57BE, 125989 },
- { 0x57BF, 125992 },
- { 0x57C0, 125995 },
- { 0x57C1, 125998 },
- { 0x57C2, 126001 },
- { 0x57C3, 126004 },
- { 0x57C4, 126007 },
- { 0x57C5, 126010 },
- { 0x57C6, 126013 },
- { 0x57C7, 126016 },
- { 0x57C8, 126019 },
- { 0x57C9, 126022 },
- { 0x57CA, 126025 },
- { 0x57CB, 126028 },
- { 0x57CD, 126031 },
- { 0x57CE, 126034 },
- { 0x57CF, 126037 },
- { 0x57D0, 126040 },
- { 0x57D1, 126043 },
- { 0x57D2, 126046 },
- { 0x57D3, 126049 },
- { 0x57D4, 126052 },
- { 0x57D5, 126055 },
- { 0x57D6, 126058 },
- { 0x57D7, 126061 },
- { 0x57D8, 126064 },
- { 0x57D9, 126067 },
- { 0x57DA, 126070 },
- { 0x57DB, 126073 },
- { 0x57DC, 126076 },
- { 0x57DD, 126079 },
- { 0x57DE, 126082 },
- { 0x57DF, 126085 },
- { 0x57E0, 126088 },
- { 0x57E1, 126091 },
- { 0x57E2, 126094 },
- { 0x57E3, 126097 },
- { 0x57E4, 126100 },
- { 0x57E5, 126103 },
- { 0x57E6, 126106 },
- { 0x57E7, 126109 },
- { 0x57E8, 126112 },
- { 0x57E9, 126115 },
- { 0x57EA, 126118 },
- { 0x57EB, 126121 },
- { 0x57EC, 126124 },
- { 0x57ED, 126127 },
- { 0x57EE, 126130 },
- { 0x57EF, 126133 },
- { 0x57F0, 126136 },
- { 0x5799, 126139 },
- { 0x57CC, 126142 },
- { 0x7DCA, 126145 },
- { 0x7DC3, 126149 },
- { 0x2602, 126151 },
- { 0x2616, 126153 },
- { 0x2612, 126156 },
- { 0x2614, 126159 },
- { 0x2615, 126162 },
- { 0x2611, 126165 },
- { 0x2613, 126168 },
- { 0x22BF, 126171 },
- { 0x7BCA, 126172 },
- { 0x23CF, 126175 },
- { 0x1EB6, 126180 },
- { 0x26A1, 126184 },
- { 0x26A5, 126189 },
- { 0x26A7, 126197 },
- { 0x26A3, 126206 },
- { 0x1EC8, 126214 },
- { 0x1EC4, 126217 },
- { 0x26A9, 126221 },
- { 0x26AD, 126224 },
- { 0x26AB, 126228 },
- { 0x1EBA, 126234 },
- { 0x1F38, 126239 },
- { 0x1EB8, 126244 },
- { 0x001E, 126248 },
- { 0x1F28, 126250 },
- { 0x269D, 126253 },
- { 0x269F, 126257 },
- { 0x26B1, 126262 },
- { 0x26B3, 126267 },
- { 0x26B7, 126272 },
- { 0x26B5, 126281 },
- { 0x259B, 126287 },
- { 0x26AF, 126291 },
- { 0x1F2C, 126297 },
- { 0x26C8, 126302 },
- { 0x26CA, 126305 },
- { 0x26CC, 126309 },
- { 0x26C7, 126316 },
- { 0x7DEE, 126319 },
- { 0x80AF, 126321 },
- { 0x000D, 126322 },
- { 0x29FF, 126323 },
- { 0x1E7A, 126324 },
- { 0x2663, 126325 },
- { 0x2667, 126328 },
- { 0x2666, 126332 },
- { 0x266C, 126335 },
- { 0x266A, 126340 },
- { 0x266E, 126343 },
- { 0x7150, 126349 },
- { 0x714E, 126353 },
- { 0x714F, 126357 },
- { 0x723C, 126361 },
- { 0x7241, 126365 },
- { 0x723D, 126369 },
- { 0x7240, 126373 },
- { 0x723F, 126377 },
- { 0x7244, 126381 },
- { 0x723B, 126385 },
- { 0x7243, 126389 },
- { 0x7242, 126393 },
- { 0x723E, 126397 },
- { 0x714D, 126401 },
- { 0x7130, 126405 },
- { 0x6EA3, 126408 },
- { 0x6EA4, 126412 },
- { 0x6EA5, 126416 },
- { 0x6EA6, 126420 },
- { 0x6EA7, 126424 },
- { 0x6EA8, 126428 },
- { 0x6EA9, 126432 },
- { 0x6EAA, 126436 },
- { 0x6EAB, 126440 },
- { 0x6EAC, 126444 },
- { 0x6EAD, 126448 },
- { 0x6EAE, 126452 },
- { 0x6EAF, 126456 },
- { 0x6EB0, 126460 },
- { 0x6EB1, 126464 },
- { 0x6EB2, 126468 },
- { 0x6EB3, 126472 },
- { 0x6EB4, 126476 },
- { 0x6EB5, 126480 },
- { 0x6EB6, 126484 },
- { 0x6EB7, 126488 },
- { 0x6EB8, 126492 },
- { 0x6EB9, 126496 },
- { 0x6EBA, 126500 },
- { 0x6EBB, 126504 },
- { 0x6EBC, 126508 },
- { 0x713C, 126512 },
- { 0x713D, 126516 },
- { 0x7140, 126520 },
- { 0x713E, 126524 },
- { 0x7147, 126528 },
- { 0x7137, 126532 },
- { 0x7146, 126536 },
- { 0x7148, 126540 },
- { 0x7141, 126544 },
- { 0x7144, 126548 },
- { 0x7132, 126552 },
- { 0x7139, 126556 },
- { 0x7136, 126560 },
- { 0x7131, 126564 },
- { 0x7134, 126568 },
- { 0x7142, 126572 },
- { 0x7133, 126577 },
- { 0x713A, 126581 },
- { 0x713B, 126585 },
- { 0x7149, 126589 },
- { 0x7143, 126593 },
- { 0x7138, 126597 },
- { 0x723A, 126601 },
- { 0x7135, 126605 },
- { 0x713F, 126609 },
- { 0x7145, 126613 },
- { 0x714C, 126617 },
- { 0x71C4, 126621 },
- { 0x71C2, 126626 },
- { 0x71C3, 126631 },
- { 0x71C1, 126636 },
- { 0x71A4, 126641 },
- { 0x6F0A, 126645 },
- { 0x6F0B, 126650 },
- { 0x6F0C, 126655 },
- { 0x6F0D, 126660 },
- { 0x6F0E, 126665 },
- { 0x6F0F, 126670 },
- { 0x6F10, 126675 },
- { 0x6F11, 126680 },
- { 0x6F12, 126685 },
- { 0x6F13, 126690 },
- { 0x6F14, 126695 },
- { 0x6F15, 126700 },
- { 0x6F16, 126705 },
- { 0x6F17, 126710 },
- { 0x6F18, 126715 },
- { 0x6F19, 126720 },
- { 0x6F1A, 126725 },
- { 0x6F1B, 126730 },
- { 0x6F1C, 126735 },
- { 0x6F1D, 126740 },
- { 0x6F1E, 126745 },
- { 0x6F1F, 126750 },
- { 0x6F20, 126755 },
- { 0x6F21, 126760 },
- { 0x6F22, 126765 },
- { 0x6F23, 126770 },
- { 0x71B0, 126775 },
- { 0x71B1, 126780 },
- { 0x71B4, 126785 },
- { 0x71B2, 126790 },
- { 0x71BB, 126795 },
- { 0x71AB, 126800 },
- { 0x71BA, 126805 },
- { 0x71BC, 126810 },
- { 0x71B5, 126815 },
- { 0x71B8, 126820 },
- { 0x71A6, 126825 },
- { 0x71AD, 126830 },
- { 0x71AA, 126835 },
- { 0x71A5, 126840 },
- { 0x71A8, 126845 },
- { 0x71B6, 126850 },
- { 0x71A7, 126856 },
- { 0x71AE, 126861 },
- { 0x71AF, 126866 },
- { 0x71BD, 126871 },
- { 0x71B7, 126876 },
- { 0x71AC, 126881 },
- { 0x71A9, 126886 },
- { 0x71B3, 126891 },
- { 0x71B9, 126896 },
- { 0x71C0, 126901 },
- { 0x6EF0, 126906 },
- { 0x6EF1, 126911 },
- { 0x6EF2, 126916 },
- { 0x6EF3, 126921 },
- { 0x6EF4, 126926 },
- { 0x6EF5, 126931 },
- { 0x6EF6, 126936 },
- { 0x6EF7, 126941 },
- { 0x6EF8, 126946 },
- { 0x6EF9, 126951 },
- { 0x6EFA, 126956 },
- { 0x6EFB, 126961 },
- { 0x6EFC, 126966 },
- { 0x6EFD, 126971 },
- { 0x6EFE, 126976 },
- { 0x6EFF, 126981 },
- { 0x6F00, 126986 },
- { 0x6F01, 126991 },
- { 0x6F02, 126996 },
- { 0x6F03, 127001 },
- { 0x6F04, 127006 },
- { 0x6F05, 127011 },
- { 0x6F06, 127016 },
- { 0x6F07, 127021 },
- { 0x6F08, 127026 },
- { 0x6F09, 127031 },
- { 0x7196, 127036 },
- { 0x7197, 127041 },
- { 0x719A, 127046 },
- { 0x7198, 127051 },
- { 0x71A1, 127056 },
- { 0x7191, 127061 },
- { 0x71A0, 127066 },
- { 0x71A2, 127071 },
- { 0x719B, 127076 },
- { 0x719E, 127081 },
- { 0x718C, 127086 },
- { 0x7193, 127091 },
- { 0x7190, 127096 },
- { 0x718B, 127101 },
- { 0x718E, 127106 },
- { 0x718D, 127111 },
- { 0x7194, 127116 },
- { 0x7195, 127121 },
- { 0x71A3, 127126 },
- { 0x719D, 127131 },
- { 0x7192, 127136 },
- { 0x719C, 127141 },
- { 0x718F, 127147 },
- { 0x7199, 127152 },
- { 0x719F, 127157 },
- { 0x71BF, 127162 },
- { 0x71BE, 127167 },
- { 0x6F67, 127172 },
- { 0x6F68, 127177 },
- { 0x6F69, 127182 },
- { 0x6F6A, 127187 },
- { 0x6F6B, 127192 },
- { 0x6F6C, 127197 },
- { 0x6F6D, 127202 },
- { 0x6F6E, 127207 },
- { 0x6F6F, 127212 },
- { 0x6F70, 127217 },
- { 0x6F71, 127222 },
- { 0x6F72, 127227 },
- { 0x6F73, 127232 },
- { 0x6F74, 127237 },
- { 0x6F75, 127242 },
- { 0x6F76, 127247 },
- { 0x6F77, 127252 },
- { 0x6F78, 127257 },
- { 0x6F79, 127262 },
- { 0x6F7A, 127267 },
- { 0x6F7B, 127272 },
- { 0x6F7C, 127277 },
- { 0x6F7D, 127282 },
- { 0x6F7E, 127287 },
- { 0x6F7F, 127292 },
- { 0x6F80, 127297 },
- { 0x6F4D, 127302 },
- { 0x6F4E, 127307 },
- { 0x6F4F, 127312 },
- { 0x6F50, 127317 },
- { 0x6F51, 127322 },
- { 0x6F52, 127327 },
- { 0x6F53, 127332 },
- { 0x6F54, 127337 },
- { 0x6F55, 127342 },
- { 0x6F56, 127347 },
- { 0x6F57, 127352 },
- { 0x6F58, 127357 },
- { 0x6F59, 127362 },
- { 0x6F5A, 127367 },
- { 0x6F5B, 127372 },
- { 0x6F5C, 127377 },
- { 0x6F5D, 127382 },
- { 0x6F5E, 127387 },
- { 0x6F5F, 127392 },
- { 0x6F60, 127397 },
- { 0x6F61, 127402 },
- { 0x6F62, 127407 },
- { 0x6F63, 127412 },
- { 0x6F64, 127417 },
- { 0x6F65, 127422 },
- { 0x6F66, 127427 },
- { 0x6E89, 127432 },
- { 0x6E8A, 127436 },
- { 0x6E8B, 127440 },
- { 0x6E8C, 127444 },
- { 0x6E8D, 127448 },
- { 0x6E8E, 127452 },
- { 0x6E8F, 127456 },
- { 0x6E90, 127460 },
- { 0x6E91, 127464 },
- { 0x6E92, 127468 },
- { 0x6E93, 127472 },
- { 0x6E94, 127476 },
- { 0x6E95, 127480 },
- { 0x6E96, 127484 },
- { 0x6E97, 127488 },
- { 0x6E98, 127492 },
- { 0x6E99, 127496 },
- { 0x6E9A, 127500 },
- { 0x6E9B, 127504 },
- { 0x6E9C, 127508 },
- { 0x6E9D, 127512 },
- { 0x6E9E, 127516 },
- { 0x6E9F, 127520 },
- { 0x6EA0, 127524 },
- { 0x6EA1, 127528 },
- { 0x6EA2, 127532 },
- { 0x7122, 127536 },
- { 0x7123, 127540 },
- { 0x7126, 127544 },
- { 0x7124, 127548 },
- { 0x712D, 127552 },
- { 0x711D, 127556 },
- { 0x712C, 127560 },
- { 0x712E, 127564 },
- { 0x7127, 127568 },
- { 0x712A, 127572 },
- { 0x7118, 127576 },
- { 0x711F, 127580 },
- { 0x711C, 127584 },
- { 0x7117, 127588 },
- { 0x711A, 127592 },
- { 0x7119, 127596 },
- { 0x7120, 127600 },
- { 0x7121, 127604 },
- { 0x712F, 127608 },
- { 0x7129, 127612 },
- { 0x711E, 127616 },
- { 0x7128, 127620 },
- { 0x7239, 127625 },
- { 0x711B, 127629 },
- { 0x7125, 127633 },
- { 0x712B, 127637 },
- { 0x714B, 127641 },
- { 0x6FF7, 127645 },
- { 0x6FF8, 127650 },
- { 0x6FF9, 127655 },
- { 0x6FFA, 127660 },
- { 0x6FFB, 127665 },
- { 0x6FFC, 127670 },
- { 0x6FFD, 127675 },
- { 0x6FFE, 127680 },
- { 0x6FFF, 127685 },
- { 0x7000, 127690 },
- { 0x7001, 127695 },
- { 0x7002, 127700 },
- { 0x7003, 127705 },
- { 0x7004, 127710 },
- { 0x7005, 127715 },
- { 0x7006, 127720 },
- { 0x7007, 127725 },
- { 0x7008, 127730 },
- { 0x7009, 127735 },
- { 0x700A, 127740 },
- { 0x700B, 127745 },
- { 0x700C, 127750 },
- { 0x700D, 127755 },
- { 0x700E, 127760 },
- { 0x700F, 127765 },
- { 0x7010, 127770 },
- { 0x6FDD, 127775 },
- { 0x6FDE, 127780 },
- { 0x6FDF, 127785 },
- { 0x6FE0, 127790 },
- { 0x6FE1, 127795 },
- { 0x6FE2, 127800 },
- { 0x6FE3, 127805 },
- { 0x6FE4, 127810 },
- { 0x6FE5, 127815 },
- { 0x6FE6, 127820 },
- { 0x6FE7, 127825 },
- { 0x6FE8, 127830 },
- { 0x6FE9, 127835 },
- { 0x6FEA, 127840 },
- { 0x6FEB, 127845 },
- { 0x6FEC, 127850 },
- { 0x6FED, 127855 },
- { 0x6FEE, 127860 },
- { 0x6FEF, 127865 },
- { 0x6FF0, 127870 },
- { 0x6FF1, 127875 },
- { 0x6FF2, 127880 },
- { 0x6FF3, 127885 },
- { 0x6FF4, 127890 },
- { 0x6FF5, 127895 },
- { 0x6FF6, 127900 },
- { 0x714A, 127905 },
- { 0x240B, 127909 },
- { 0x2409, 127913 },
- { 0x240F, 127918 },
- { 0x240D, 127924 },
- { 0x2411, 127929 },
- { 0x240C, 127933 },
- { 0x240A, 127937 },
- { 0x2410, 127942 },
- { 0x240E, 127948 },
- { 0x2412, 127953 },
- { 0x718A, 127957 },
- { 0x7188, 127961 },
- { 0x7189, 127965 },
- { 0x7187, 127969 },
- { 0x716A, 127973 },
- { 0x6ED7, 127976 },
- { 0x6ED8, 127980 },
- { 0x6ED9, 127984 },
- { 0x6EDA, 127988 },
- { 0x6EDB, 127992 },
- { 0x6EDC, 127996 },
- { 0x6EDD, 128000 },
- { 0x6EDE, 128004 },
- { 0x6EDF, 128008 },
- { 0x6EE0, 128012 },
- { 0x6EE1, 128016 },
- { 0x6EE2, 128020 },
- { 0x6EE3, 128024 },
- { 0x6EE4, 128028 },
- { 0x6EE5, 128032 },
- { 0x6EE6, 128036 },
- { 0x6EE7, 128040 },
- { 0x6EE8, 128044 },
- { 0x6EE9, 128048 },
- { 0x6EEA, 128052 },
- { 0x6EEB, 128056 },
- { 0x6EEC, 128060 },
- { 0x6EED, 128064 },
- { 0x6EEE, 128068 },
- { 0x6EEF, 128072 },
- { 0x7176, 128076 },
- { 0x7177, 128080 },
- { 0x717A, 128084 },
- { 0x7178, 128088 },
- { 0x7181, 128092 },
- { 0x7171, 128096 },
- { 0x7180, 128100 },
- { 0x7182, 128104 },
- { 0x717B, 128108 },
- { 0x717E, 128112 },
- { 0x716C, 128116 },
- { 0x7173, 128120 },
- { 0x7170, 128124 },
- { 0x716B, 128128 },
- { 0x716E, 128132 },
- { 0x717C, 128136 },
- { 0x716D, 128141 },
- { 0x7174, 128145 },
- { 0x7175, 128149 },
- { 0x7183, 128153 },
- { 0x717D, 128157 },
- { 0x7172, 128161 },
- { 0x7115, 128165 },
- { 0x7116, 128170 },
- { 0x716F, 128175 },
- { 0x7179, 128179 },
- { 0x717F, 128183 },
- { 0x7186, 128187 },
- { 0x6EBD, 128191 },
- { 0x6EBE, 128195 },
- { 0x6EBF, 128199 },
- { 0x6EC0, 128203 },
- { 0x6EC1, 128207 },
- { 0x6EC2, 128211 },
- { 0x6EC3, 128215 },
- { 0x6EC4, 128219 },
- { 0x6EC5, 128223 },
- { 0x6EC6, 128227 },
- { 0x6EC7, 128231 },
- { 0x6EC8, 128235 },
- { 0x6EC9, 128239 },
- { 0x6ECA, 128243 },
- { 0x6ECB, 128247 },
- { 0x6ECC, 128251 },
- { 0x6ECD, 128255 },
- { 0x6ECE, 128259 },
- { 0x6ECF, 128263 },
- { 0x6ED0, 128267 },
- { 0x6ED1, 128271 },
- { 0x6ED2, 128275 },
- { 0x6ED3, 128279 },
- { 0x6ED4, 128283 },
- { 0x6ED5, 128287 },
- { 0x6ED6, 128291 },
- { 0x715C, 128295 },
- { 0x715D, 128299 },
- { 0x7160, 128303 },
- { 0x715E, 128307 },
- { 0x7167, 128311 },
- { 0x7157, 128315 },
- { 0x7166, 128319 },
- { 0x7168, 128323 },
- { 0x7161, 128327 },
- { 0x7164, 128331 },
- { 0x7152, 128335 },
- { 0x7159, 128339 },
- { 0x7156, 128343 },
- { 0x7151, 128347 },
- { 0x7154, 128351 },
- { 0x7153, 128355 },
- { 0x715A, 128359 },
- { 0x715B, 128363 },
- { 0x7169, 128367 },
- { 0x7163, 128371 },
- { 0x7158, 128375 },
- { 0x7162, 128379 },
- { 0x7155, 128384 },
- { 0x715F, 128388 },
- { 0x7165, 128392 },
- { 0x7185, 128396 },
- { 0x7184, 128400 },
- { 0x23EE, 128404 },
- { 0x6F36, 128407 },
- { 0x6F37, 128411 },
- { 0x6F38, 128415 },
- { 0x6F39, 128419 },
- { 0x6F3A, 128423 },
- { 0x6F3B, 128427 },
- { 0x6F3C, 128431 },
- { 0x6F3D, 128435 },
- { 0x6F3E, 128439 },
- { 0x6F3F, 128443 },
- { 0x6F40, 128447 },
- { 0x6F41, 128451 },
- { 0x6F42, 128455 },
- { 0x6F43, 128459 },
- { 0x6F44, 128463 },
- { 0x6F45, 128467 },
- { 0x6F46, 128471 },
- { 0x6F47, 128475 },
- { 0x6F48, 128479 },
- { 0x6F49, 128483 },
- { 0x6F4A, 128487 },
- { 0x6F4B, 128491 },
- { 0x6F4C, 128495 },
- { 0x6F24, 128499 },
- { 0x6F25, 128503 },
- { 0x6F26, 128507 },
- { 0x6F27, 128511 },
- { 0x6F28, 128515 },
- { 0x6F29, 128519 },
- { 0x6F2A, 128523 },
- { 0x6F2B, 128527 },
- { 0x6F2C, 128531 },
- { 0x6F2D, 128535 },
- { 0x6F2E, 128539 },
- { 0x6F2F, 128543 },
- { 0x6F30, 128547 },
- { 0x6F31, 128551 },
- { 0x6F32, 128555 },
- { 0x6F33, 128559 },
- { 0x6F34, 128563 },
- { 0x6F35, 128567 },
- { 0x23F0, 128571 },
- { 0x6F96, 128574 },
- { 0x6F97, 128578 },
- { 0x6F98, 128582 },
- { 0x6F99, 128586 },
- { 0x6F9A, 128590 },
- { 0x6F9B, 128594 },
- { 0x6F9C, 128598 },
- { 0x6F9D, 128602 },
- { 0x6F9E, 128606 },
- { 0x6F9F, 128610 },
- { 0x6FA0, 128614 },
- { 0x6FA1, 128618 },
- { 0x6FA2, 128622 },
- { 0x6FA3, 128626 },
- { 0x6FA4, 128630 },
- { 0x6FA5, 128634 },
- { 0x6FA6, 128638 },
- { 0x6FA7, 128642 },
- { 0x6FA8, 128646 },
- { 0x6FA9, 128650 },
- { 0x6FAA, 128654 },
- { 0x6FAB, 128658 },
- { 0x6FAC, 128662 },
- { 0x6FAD, 128666 },
- { 0x6FAE, 128670 },
- { 0x6FAF, 128674 },
- { 0x6F81, 128678 },
- { 0x6F82, 128682 },
- { 0x6F83, 128686 },
- { 0x6F84, 128690 },
- { 0x6F85, 128694 },
- { 0x6F86, 128698 },
- { 0x6F87, 128702 },
- { 0x6F88, 128706 },
- { 0x6F89, 128710 },
- { 0x6F8A, 128714 },
- { 0x6F8B, 128718 },
- { 0x6F8C, 128722 },
- { 0x6F8D, 128726 },
- { 0x6F8E, 128730 },
- { 0x6F8F, 128734 },
- { 0x6F90, 128738 },
- { 0x6F91, 128742 },
- { 0x6F92, 128746 },
- { 0x6F93, 128750 },
- { 0x6F94, 128754 },
- { 0x6F95, 128758 },
- { 0x7264, 128762 },
- { 0x7269, 128766 },
- { 0x7265, 128770 },
- { 0x7268, 128774 },
- { 0x7267, 128778 },
- { 0x726C, 128782 },
- { 0x7263, 128786 },
- { 0x726B, 128790 },
- { 0x726A, 128794 },
- { 0x7266, 128798 },
- { 0x70FB, 128802 },
- { 0x70FC, 128806 },
- { 0x70FD, 128810 },
- { 0x70FE, 128814 },
- { 0x70FF, 128818 },
- { 0x7100, 128822 },
- { 0x7101, 128826 },
- { 0x7102, 128830 },
- { 0x7103, 128834 },
- { 0x7104, 128838 },
- { 0x7105, 128842 },
- { 0x7106, 128846 },
- { 0x7107, 128850 },
- { 0x7108, 128854 },
- { 0x7109, 128858 },
- { 0x710A, 128862 },
- { 0x710B, 128866 },
- { 0x710C, 128870 },
- { 0x710D, 128874 },
- { 0x710E, 128878 },
- { 0x710F, 128882 },
- { 0x7110, 128886 },
- { 0x7111, 128890 },
- { 0x7112, 128894 },
- { 0x7113, 128898 },
- { 0x7114, 128902 },
- { 0x70E1, 128906 },
- { 0x70E2, 128910 },
- { 0x70E3, 128914 },
- { 0x70E4, 128918 },
- { 0x70E5, 128922 },
- { 0x70E6, 128926 },
- { 0x70E7, 128930 },
- { 0x70E8, 128934 },
- { 0x70E9, 128938 },
- { 0x70EA, 128942 },
- { 0x70EB, 128946 },
- { 0x70EC, 128950 },
- { 0x70ED, 128954 },
- { 0x70EE, 128958 },
- { 0x70EF, 128962 },
- { 0x70F0, 128966 },
- { 0x70F1, 128970 },
- { 0x70F2, 128974 },
- { 0x70F3, 128978 },
- { 0x70F4, 128982 },
- { 0x70F5, 128986 },
- { 0x70F6, 128990 },
- { 0x70F7, 128994 },
- { 0x70F8, 128998 },
- { 0x70F9, 129002 },
- { 0x70FA, 129006 },
- { 0x71FE, 129010 },
- { 0x71FC, 129015 },
- { 0x71FD, 129020 },
- { 0x725A, 129025 },
- { 0x725F, 129030 },
- { 0x725B, 129035 },
- { 0x725E, 129040 },
- { 0x725D, 129045 },
- { 0x7262, 129050 },
- { 0x7259, 129055 },
- { 0x7261, 129060 },
- { 0x7260, 129065 },
- { 0x725C, 129070 },
- { 0x71FB, 129075 },
- { 0x71DE, 129080 },
- { 0x705F, 129084 },
- { 0x7060, 129089 },
- { 0x7061, 129094 },
- { 0x7062, 129099 },
- { 0x7063, 129104 },
- { 0x7064, 129109 },
- { 0x7065, 129114 },
- { 0x7066, 129119 },
- { 0x7067, 129124 },
- { 0x7068, 129129 },
- { 0x7069, 129134 },
- { 0x706A, 129139 },
- { 0x706B, 129144 },
- { 0x706C, 129149 },
- { 0x706D, 129154 },
- { 0x706E, 129159 },
- { 0x706F, 129164 },
- { 0x7070, 129169 },
- { 0x7071, 129174 },
- { 0x7072, 129179 },
- { 0x7073, 129184 },
- { 0x7074, 129189 },
- { 0x7075, 129194 },
- { 0x7076, 129199 },
- { 0x7077, 129204 },
- { 0x7078, 129209 },
- { 0x71EA, 129214 },
- { 0x71EB, 129219 },
- { 0x71EE, 129224 },
- { 0x71EC, 129229 },
- { 0x71F5, 129234 },
- { 0x71E5, 129239 },
- { 0x71F4, 129244 },
- { 0x71F6, 129249 },
- { 0x71EF, 129254 },
- { 0x71F2, 129259 },
- { 0x71E0, 129264 },
- { 0x71E7, 129269 },
- { 0x71E4, 129274 },
- { 0x71DF, 129279 },
- { 0x71E2, 129284 },
- { 0x71F0, 129289 },
- { 0x71E1, 129295 },
- { 0x71E8, 129300 },
- { 0x71E9, 129305 },
- { 0x71F7, 129310 },
- { 0x71F1, 129315 },
- { 0x71E6, 129320 },
- { 0x71E3, 129325 },
- { 0x71ED, 129330 },
- { 0x71F3, 129335 },
- { 0x71FA, 129340 },
- { 0x7238, 129345 },
- { 0x7236, 129351 },
- { 0x7237, 129357 },
- { 0x7235, 129363 },
- { 0x7218, 129369 },
- { 0x70C7, 129374 },
- { 0x70C8, 129380 },
- { 0x70C9, 129386 },
- { 0x70CA, 129392 },
- { 0x70CB, 129398 },
- { 0x70CC, 129404 },
- { 0x70CD, 129410 },
- { 0x70CE, 129416 },
- { 0x70CF, 129422 },
- { 0x70D0, 129428 },
- { 0x70D1, 129434 },
- { 0x70D2, 129440 },
- { 0x70D3, 129446 },
- { 0x70D4, 129452 },
- { 0x70D5, 129458 },
- { 0x70D6, 129464 },
- { 0x70D7, 129470 },
- { 0x70D8, 129476 },
- { 0x70D9, 129482 },
- { 0x70DA, 129488 },
- { 0x70DB, 129494 },
- { 0x70DC, 129500 },
- { 0x70DD, 129506 },
- { 0x70DE, 129512 },
- { 0x70DF, 129518 },
- { 0x70E0, 129524 },
- { 0x7224, 129530 },
- { 0x7225, 129536 },
- { 0x7228, 129542 },
- { 0x7226, 129548 },
- { 0x722F, 129554 },
- { 0x721F, 129560 },
- { 0x722E, 129566 },
- { 0x7230, 129572 },
- { 0x7229, 129578 },
- { 0x722C, 129584 },
- { 0x721A, 129590 },
- { 0x7221, 129596 },
- { 0x721E, 129602 },
- { 0x7219, 129608 },
- { 0x721C, 129614 },
- { 0x722A, 129620 },
- { 0x721B, 129627 },
- { 0x7222, 129633 },
- { 0x7223, 129639 },
- { 0x7231, 129645 },
- { 0x722B, 129651 },
- { 0x7220, 129657 },
- { 0x721D, 129663 },
- { 0x7227, 129669 },
- { 0x722D, 129675 },
- { 0x7234, 129681 },
- { 0x70AD, 129687 },
- { 0x70AE, 129693 },
- { 0x70AF, 129699 },
- { 0x70B0, 129705 },
- { 0x70B1, 129711 },
- { 0x70B2, 129717 },
- { 0x70B3, 129723 },
- { 0x70B4, 129729 },
- { 0x70B5, 129735 },
- { 0x70B6, 129741 },
- { 0x70B7, 129747 },
- { 0x70B8, 129753 },
- { 0x70B9, 129759 },
- { 0x70BA, 129765 },
- { 0x70BB, 129771 },
- { 0x70BC, 129777 },
- { 0x70BD, 129783 },
- { 0x70BE, 129789 },
- { 0x70BF, 129795 },
- { 0x70C0, 129801 },
- { 0x70C1, 129807 },
- { 0x70C2, 129813 },
- { 0x70C3, 129819 },
- { 0x70C4, 129825 },
- { 0x70C5, 129831 },
- { 0x70C6, 129837 },
- { 0x720A, 129843 },
- { 0x720B, 129849 },
- { 0x720E, 129855 },
- { 0x720C, 129861 },
- { 0x7215, 129867 },
- { 0x7205, 129873 },
- { 0x7214, 129879 },
- { 0x7216, 129885 },
- { 0x720F, 129891 },
- { 0x7212, 129897 },
- { 0x7200, 129903 },
- { 0x7207, 129909 },
- { 0x7204, 129915 },
- { 0x71FF, 129921 },
- { 0x7202, 129927 },
- { 0x7201, 129933 },
- { 0x7208, 129939 },
- { 0x7209, 129945 },
- { 0x7217, 129951 },
- { 0x7211, 129957 },
- { 0x7206, 129963 },
- { 0x7210, 129969 },
- { 0x7203, 129976 },
- { 0x720D, 129982 },
- { 0x7213, 129988 },
- { 0x7233, 129994 },
- { 0x7232, 130000 },
- { 0x7045, 130006 },
- { 0x7046, 130011 },
- { 0x7047, 130016 },
- { 0x7048, 130021 },
- { 0x7049, 130026 },
- { 0x704A, 130031 },
- { 0x704B, 130036 },
- { 0x704C, 130041 },
- { 0x704D, 130046 },
- { 0x704E, 130051 },
- { 0x704F, 130056 },
- { 0x7050, 130061 },
- { 0x7051, 130066 },
- { 0x7052, 130071 },
- { 0x7053, 130076 },
- { 0x7054, 130081 },
- { 0x7055, 130086 },
- { 0x7056, 130091 },
- { 0x7057, 130096 },
- { 0x7058, 130101 },
- { 0x7059, 130106 },
- { 0x705A, 130111 },
- { 0x705B, 130116 },
- { 0x705C, 130121 },
- { 0x705D, 130126 },
- { 0x705E, 130131 },
- { 0x71D0, 130136 },
- { 0x71D1, 130141 },
- { 0x71D4, 130146 },
- { 0x71D2, 130151 },
- { 0x71DB, 130156 },
- { 0x71CB, 130161 },
- { 0x71DA, 130166 },
- { 0x71DC, 130171 },
- { 0x71D5, 130176 },
- { 0x71D8, 130181 },
- { 0x71C6, 130186 },
- { 0x71CD, 130191 },
- { 0x71CA, 130196 },
- { 0x71C5, 130201 },
- { 0x71C8, 130206 },
- { 0x71C7, 130211 },
- { 0x71CE, 130216 },
- { 0x71CF, 130221 },
- { 0x71DD, 130226 },
- { 0x71D7, 130231 },
- { 0x71CC, 130236 },
- { 0x71D6, 130241 },
- { 0x71C9, 130247 },
- { 0x71D3, 130252 },
- { 0x71D9, 130257 },
- { 0x71F9, 130262 },
- { 0x71F8, 130267 },
- { 0x7250, 130272 },
- { 0x7255, 130276 },
- { 0x7251, 130280 },
- { 0x7254, 130284 },
- { 0x7253, 130288 },
- { 0x7258, 130292 },
- { 0x724F, 130296 },
- { 0x7257, 130300 },
- { 0x7256, 130304 },
- { 0x7252, 130308 },
- { 0x702B, 130312 },
- { 0x702C, 130316 },
- { 0x702D, 130320 },
- { 0x702E, 130324 },
- { 0x702F, 130328 },
- { 0x7030, 130332 },
- { 0x7031, 130336 },
- { 0x7032, 130340 },
- { 0x7033, 130344 },
- { 0x7034, 130348 },
- { 0x7035, 130352 },
- { 0x7036, 130356 },
- { 0x7037, 130360 },
- { 0x7038, 130364 },
- { 0x7039, 130368 },
- { 0x703A, 130372 },
- { 0x703B, 130376 },
- { 0x703C, 130380 },
- { 0x703D, 130384 },
- { 0x703E, 130388 },
- { 0x703F, 130392 },
- { 0x7040, 130396 },
- { 0x7041, 130400 },
- { 0x7042, 130404 },
- { 0x7043, 130408 },
- { 0x7044, 130412 },
- { 0x7093, 130416 },
- { 0x7094, 130421 },
- { 0x7095, 130426 },
- { 0x7096, 130431 },
- { 0x7097, 130436 },
- { 0x7098, 130441 },
- { 0x7099, 130446 },
- { 0x709A, 130451 },
- { 0x709B, 130456 },
- { 0x709C, 130461 },
- { 0x709D, 130466 },
- { 0x709E, 130471 },
- { 0x709F, 130476 },
- { 0x70A0, 130481 },
- { 0x70A1, 130486 },
- { 0x70A2, 130491 },
- { 0x70A3, 130496 },
- { 0x70A4, 130501 },
- { 0x70A5, 130506 },
- { 0x70A6, 130511 },
- { 0x70A7, 130516 },
- { 0x70A8, 130521 },
- { 0x70A9, 130526 },
- { 0x70AA, 130531 },
- { 0x70AB, 130536 },
- { 0x70AC, 130541 },
- { 0x7079, 130546 },
- { 0x707A, 130551 },
- { 0x707B, 130556 },
- { 0x707C, 130561 },
- { 0x707D, 130566 },
- { 0x707E, 130571 },
- { 0x707F, 130576 },
- { 0x7080, 130581 },
- { 0x7081, 130586 },
- { 0x7082, 130591 },
- { 0x7083, 130596 },
- { 0x7084, 130601 },
- { 0x7085, 130606 },
- { 0x7086, 130611 },
- { 0x7087, 130616 },
- { 0x7088, 130621 },
- { 0x7089, 130626 },
- { 0x708A, 130631 },
- { 0x708B, 130636 },
- { 0x708C, 130641 },
- { 0x708D, 130646 },
- { 0x708E, 130651 },
- { 0x708F, 130656 },
- { 0x7090, 130661 },
- { 0x7091, 130666 },
- { 0x7092, 130671 },
- { 0x7011, 130676 },
- { 0x7012, 130680 },
- { 0x7013, 130684 },
- { 0x7014, 130688 },
- { 0x7015, 130692 },
- { 0x7016, 130696 },
- { 0x7017, 130700 },
- { 0x7018, 130704 },
- { 0x7019, 130708 },
- { 0x701A, 130712 },
- { 0x701B, 130716 },
- { 0x701C, 130720 },
- { 0x701D, 130724 },
- { 0x701E, 130728 },
- { 0x701F, 130732 },
- { 0x7020, 130736 },
- { 0x7021, 130740 },
- { 0x7022, 130744 },
- { 0x7023, 130748 },
- { 0x7024, 130752 },
- { 0x7025, 130756 },
- { 0x7026, 130760 },
- { 0x7027, 130764 },
- { 0x7028, 130768 },
- { 0x7029, 130772 },
- { 0x702A, 130776 },
- { 0x7246, 130780 },
- { 0x724B, 130784 },
- { 0x7247, 130788 },
- { 0x724A, 130792 },
- { 0x7249, 130796 },
- { 0x724E, 130800 },
- { 0x7245, 130804 },
- { 0x724D, 130808 },
- { 0x724C, 130812 },
- { 0x7248, 130816 },
- { 0x6FC3, 130820 },
- { 0x6FC4, 130824 },
- { 0x6FC5, 130828 },
- { 0x6FC6, 130832 },
- { 0x6FC7, 130836 },
- { 0x6FC8, 130840 },
- { 0x6FC9, 130844 },
- { 0x6FCA, 130848 },
- { 0x6FCB, 130852 },
- { 0x6FCC, 130856 },
- { 0x6FCD, 130860 },
- { 0x6FCE, 130864 },
- { 0x6FCF, 130868 },
- { 0x6FD0, 130872 },
- { 0x6FD1, 130876 },
- { 0x6FD2, 130880 },
- { 0x6FD3, 130884 },
- { 0x6FD4, 130888 },
- { 0x6FD5, 130892 },
- { 0x6FD6, 130896 },
- { 0x6FD7, 130900 },
- { 0x6FD8, 130904 },
- { 0x6FD9, 130908 },
- { 0x6FDA, 130912 },
- { 0x6FDB, 130916 },
- { 0x6FDC, 130920 },
- { 0x6FB0, 130924 },
- { 0x6FB1, 130928 },
- { 0x6FB2, 130932 },
- { 0x6FB3, 130936 },
- { 0x6FB4, 130940 },
- { 0x6FB5, 130944 },
- { 0x6FB6, 130948 },
- { 0x6FB7, 130952 },
- { 0x6FB8, 130956 },
- { 0x6FB9, 130960 },
- { 0x6FBA, 130964 },
- { 0x6FBB, 130968 },
- { 0x6FBC, 130972 },
- { 0x6FBD, 130976 },
- { 0x6FBE, 130980 },
- { 0x6FBF, 130984 },
- { 0x6FC0, 130988 },
- { 0x6FC1, 130992 },
- { 0x6FC2, 130996 },
- { 0x1C8B, 131000 },
- { 0x1D73, 131002 },
- { 0x3E1E, 131004 },
- { 0x3E1F, 131010 },
- { 0x3E20, 131016 },
- { 0x3E1D, 131022 },
- { 0x3E2C, 131029 },
- { 0x3E28, 131036 },
- { 0x3E24, 131044 },
- { 0x3E30, 131051 },
- { 0x3E0A, 131059 },
- { 0x3E2E, 131067 },
- { 0x3E2A, 131074 },
- { 0x3E34, 131082 },
- { 0x3E26, 131089 },
- { 0x3E22, 131097 },
- { 0x3E21, 131103 },
- { 0x3E06, 131110 },
- { 0x3E03, 131115 },
- { 0x3E2D, 131120 },
- { 0x3E29, 131127 },
- { 0x3E25, 131135 },
- { 0x3E31, 131142 },
- { 0x3E0B, 131150 },
- { 0x3E0B, 131158 },
- { 0x3E2F, 131166 },
- { 0x3E2B, 131173 },
- { 0x3E35, 131181 },
- { 0x3E27, 131188 },
- { 0x3E23, 131196 },
- { 0x3E09, 131202 },
- { 0x3E07, 131208 },
- { 0x3E0C, 131213 },
- { 0x3E08, 131219 },
- { 0x3E05, 131225 },
- { 0x3E04, 131232 },
- { 0x1E6E, 131238 },
- { 0x7E3E, 131240 },
- { 0x8030, 131242 },
- { 0x0DA9, 131244 },
- { 0x0DAB, 131247 },
- { 0x053E, 131252 },
- { 0x2308, 131256 },
- { 0x23CC, 131259 },
- { 0x2617, 131263 },
- { 0x2A29, 131264 },
- { 0x2035, 131267 },
- { 0x80CD, 131268 },
- { 0x1C7E, 131269 },
- { 0x222B, 131271 },
- { 0x23DF, 131272 },
- { 0x8024, 131275 },
- { 0x1E07, 131277 },
- { 0x1E0B, 131281 },
- { 0x2563, 131285 },
- { 0x2415, 131289 },
- { 0x1E84, 131293 },
- { 0x7CA9, 131296 },
- { 0x2634, 131303 },
- { 0x27B0, 131305 },
- { 0x27AF, 131310 },
- { 0x2792, 131315 },
- { 0x27AD, 131320 },
- { 0x27AE, 131325 },
- { 0x1E97, 131330 },
- { 0x2693, 131336 },
- { 0x1E96, 131341 },
- { 0x1EA3, 131344 },
- { 0x1FD3, 131351 },
- { 0x1D95, 131354 },
- { 0x1D91, 131357 },
- { 0x1D92, 131360 },
- { 0x1D9B, 131363 },
- { 0x1D9C, 131367 },
- { 0x1D9D, 131371 },
- { 0x1D9E, 131375 },
- { 0x1D9A, 131379 },
- { 0x1D57, 131383 },
- { 0x1D62, 131386 },
- { 0x1D6A, 131389 },
- { 0x1D6E, 131392 },
- { 0x1D6F, 131395 },
- { 0x1D72, 131398 },
- { 0x1D79, 131401 },
- { 0x1D94, 131404 },
- { 0x1D93, 131407 },
- { 0x7CE0, 131410 },
- { 0x7CE2, 131413 },
- { 0x260B, 131417 },
- { 0x260C, 131423 },
- { 0x1D13, 131429 },
- { 0x1EA2, 131431 },
- { 0x1E9F, 131434 },
- { 0x281F, 131437 },
- { 0x482A, 131440 },
- { 0x4835, 131444 },
- { 0x4833, 131448 },
- { 0x4838, 131452 },
- { 0x4827, 131456 },
- { 0x482D, 131460 },
- { 0x4830, 131464 },
- { 0x4837, 131468 },
- { 0x482E, 131472 },
- { 0x482F, 131476 },
- { 0x4826, 131480 },
- { 0x4828, 131484 },
- { 0x4836, 131488 },
- { 0x482C, 131492 },
- { 0x4829, 131496 },
- { 0x4831, 131500 },
- { 0x4834, 131504 },
- { 0x4832, 131508 },
- { 0x482B, 131512 },
- { 0x4839, 131516 },
- { 0x483F, 131520 },
- { 0x4840, 131525 },
- { 0x483D, 131530 },
- { 0x483A, 131534 },
- { 0x483C, 131538 },
- { 0x483B, 131542 },
- { 0x483E, 131546 },
- { 0x480C, 131550 },
- { 0x4818, 131554 },
- { 0x4814, 131558 },
- { 0x4815, 131562 },
- { 0x481D, 131566 },
- { 0x480D, 131570 },
- { 0x4817, 131574 },
- { 0x4809, 131578 },
- { 0x480F, 131582 },
- { 0x4812, 131586 },
- { 0x481A, 131590 },
- { 0x481B, 131594 },
- { 0x481C, 131598 },
- { 0x4810, 131602 },
- { 0x4811, 131606 },
- { 0x4808, 131610 },
- { 0x480A, 131614 },
- { 0x4819, 131618 },
- { 0x480E, 131622 },
- { 0x480B, 131626 },
- { 0x4813, 131630 },
- { 0x4816, 131634 },
- { 0x481E, 131638 },
- { 0x4824, 131642 },
- { 0x4825, 131647 },
- { 0x4822, 131652 },
- { 0x481F, 131656 },
- { 0x4821, 131660 },
- { 0x4820, 131664 },
- { 0x4823, 131668 },
- { 0x1F7A, 131672 },
- { 0x261F, 131675 },
- { 0x006A, 131679 },
- { 0x7CB2, 131684 },
- { 0x1C88, 131687 },
- { 0x1CDF, 131689 },
- { 0x1CA7, 131691 },
- { 0x1CA4, 131693 },
- { 0x1E64, 131695 },
- { 0x23E1, 131697 },
- { 0x2097, 131700 },
- { 0x209C, 131703 },
- { 0x2098, 131706 },
- { 0x209B, 131709 },
- { 0x209A, 131712 },
- { 0x209F, 131715 },
- { 0x209E, 131718 },
- { 0x209D, 131721 },
- { 0x2099, 131724 },
- { 0x20BF, 131727 },
- { 0x20C0, 131732 },
- { 0x20C1, 131737 },
- { 0x20C2, 131742 },
- { 0x20C3, 131747 },
- { 0x20C4, 131752 },
- { 0x20C5, 131757 },
- { 0x20C6, 131762 },
- { 0x20C7, 131767 },
- { 0x20C8, 131772 },
- { 0x20C9, 131777 },
- { 0x20CA, 131782 },
- { 0x20CB, 131787 },
- { 0x20CC, 131792 },
- { 0x20CD, 131797 },
- { 0x20CE, 131802 },
- { 0x20CF, 131807 },
- { 0x20D0, 131812 },
- { 0x20D1, 131817 },
- { 0x20D2, 131822 },
- { 0x20D3, 131827 },
- { 0x20D4, 131832 },
- { 0x20D5, 131837 },
- { 0x20D6, 131842 },
- { 0x20D7, 131847 },
- { 0x20D8, 131852 },
- { 0x79AD, 131857 },
- { 0x79AE, 131862 },
- { 0x79AF, 131867 },
- { 0x79B0, 131872 },
- { 0x79B1, 131877 },
- { 0x79B2, 131882 },
- { 0x79B3, 131887 },
- { 0x79B4, 131892 },
- { 0x79B5, 131897 },
- { 0x79B6, 131902 },
- { 0x79B7, 131907 },
- { 0x79B8, 131912 },
- { 0x79B9, 131917 },
- { 0x79BA, 131922 },
- { 0x79BB, 131927 },
- { 0x79BC, 131932 },
- { 0x79BD, 131937 },
- { 0x79BE, 131942 },
- { 0x79BF, 131947 },
- { 0x79C0, 131952 },
- { 0x79C1, 131957 },
- { 0x79C2, 131962 },
- { 0x79C3, 131967 },
- { 0x79C4, 131972 },
- { 0x79C5, 131977 },
- { 0x79C6, 131982 },
- { 0x2D90, 131987 },
- { 0x2D9E, 131990 },
- { 0x2D92, 131994 },
- { 0x2DA0, 131997 },
- { 0x2DA6, 132001 },
- { 0x2D97, 132005 },
- { 0x2DA5, 132008 },
- { 0x2D91, 132012 },
- { 0x2D9F, 132015 },
- { 0x2D8E, 132019 },
- { 0x2D9C, 132022 },
- { 0x2D8B, 132026 },
- { 0x2D99, 132029 },
- { 0x2D8F, 132033 },
- { 0x2D9D, 132036 },
- { 0x2D8D, 132040 },
- { 0x2D9B, 132043 },
- { 0x2D8A, 132047 },
- { 0x2D98, 132050 },
- { 0x2D8C, 132054 },
- { 0x2D9A, 132057 },
- { 0x2D93, 132061 },
- { 0x2DA1, 132064 },
- { 0x2D94, 132068 },
- { 0x2DA2, 132071 },
- { 0x2D96, 132075 },
- { 0x2DA4, 132078 },
- { 0x2D95, 132082 },
- { 0x2DA3, 132085 },
- { 0x2DA8, 132089 },
- { 0x2DA7, 132094 },
- { 0x20A0, 132098 },
- { 0x20A1, 132101 },
- { 0x20A2, 132104 },
- { 0x20AA, 132107 },
- { 0x20A5, 132110 },
- { 0x20A6, 132113 },
- { 0x20A8, 132116 },
- { 0x20A4, 132119 },
- { 0x20A9, 132122 },
- { 0x20A3, 132125 },
- { 0x20A7, 132128 },
- { 0x2DA9, 132131 },
- { 0x2DAE, 132134 },
- { 0x2DB9, 132137 },
- { 0x2DB2, 132140 },
- { 0x2DAA, 132143 },
- { 0x2DC3, 132146 },
- { 0x2DB4, 132149 },
- { 0x2DAD, 132152 },
- { 0x2DAC, 132155 },
- { 0x2DBB, 132158 },
- { 0x2DB3, 132161 },
- { 0x2DBD, 132164 },
- { 0x2DB1, 132167 },
- { 0x2DCA, 132170 },
- { 0x2DCB, 132173 },
- { 0x2DB6, 132176 },
- { 0x2DB8, 132179 },
- { 0x2DB0, 132182 },
- { 0x2DC1, 132185 },
- { 0x2DB7, 132188 },
- { 0x2DCC, 132191 },
- { 0x2DAF, 132194 },
- { 0x2DBA, 132197 },
- { 0x2DC4, 132200 },
- { 0x2DAB, 132203 },
- { 0x2DB5, 132206 },
- { 0x2DBC, 132209 },
- { 0x2DBE, 132212 },
- { 0x2DC8, 132215 },
- { 0x2DC9, 132218 },
- { 0x2DC7, 132221 },
- { 0x2DBF, 132224 },
- { 0x2DC2, 132227 },
- { 0x2DC5, 132230 },
- { 0x2DC6, 132233 },
- { 0x2DC0, 132236 },
- { 0x23E5, 132239 },
- { 0x2704, 132240 },
- { 0x1C89, 132243 },
- { 0x1CE0, 132245 },
- { 0x1CA8, 132247 },
- { 0x1CA5, 132249 },
- { 0x7DEF, 132251 },
- { 0x260A, 132253 },
- { 0x7CA1, 132254 },
- { 0x1E94, 132255 },
- { 0x236C, 132258 },
- { 0x8045, 132260 },
- { 0x7DB6, 132261 },
- { 0x81A6, 132263 },
- { 0x7B28, 132265 },
- { 0x2338, 132266 },
- { 0x0096, 132268 },
- { 0x2657, 132270 },
- { 0x2658, 132276 },
- { 0x265A, 132282 },
- { 0x265E, 132287 },
- { 0x2653, 132291 },
- { 0x2654, 132296 },
- { 0x1F7B, 132300 },
- { 0x2620, 132303 },
- { 0x007A, 132307 },
- { 0x7CB3, 132312 },
- { 0x22DF, 132315 },
- { 0x23D9, 132316 },
- { 0x23D7, 132320 },
- { 0x23D8, 132324 },
- { 0x23DD, 132327 },
- { 0x235E, 132330 },
- { 0x23C0, 132332 },
- { 0x23D6, 132335 },
- { 0x8290, 132338 },
- { 0x7C22, 132340 },
- { 0x2C3D, 132342 },
- { 0x2C38, 132345 },
- { 0x2C99, 132349 },
- { 0x2C39, 132353 },
- { 0x1FE5, 132357 },
- { 0x7E8B, 132359 },
- { 0x22A0, 132361 },
- { 0x1FE0, 132364 },
- { 0x1FE1, 132367 },
- { 0x1FE3, 132370 },
- { 0x1FE2, 132372 },
+ { 0x2BA3, 121631 },
+ { 0x2B9B, 121635 },
+ { 0x2B99, 121641 },
+ { 0x2B9A, 121647 },
+ { 0x2B9E, 121653 },
+ { 0x2BA1, 121660 },
+ { 0x2BA0, 121667 },
+ { 0x2B9C, 121673 },
+ { 0x2B9D, 121680 },
+ { 0x2BA2, 121687 },
+ { 0x2D7E, 121692 },
+ { 0x7C2B, 121696 },
+ { 0x1D8E, 121699 },
+ { 0x1F0B, 121701 },
+ { 0x3FCA, 121702 },
+ { 0x3FCB, 121705 },
+ { 0x3FCC, 121708 },
+ { 0x22C7, 121711 },
+ { 0x1CB7, 121716 },
+ { 0x8034, 121717 },
+ { 0x0DAA, 121719 },
+ { 0x0DAC, 121722 },
+ { 0x053F, 121727 },
+ { 0x2309, 121731 },
+ { 0x23CD, 121734 },
+ { 0x7D1A, 121738 },
+ { 0x624B, 121740 },
+ { 0x624A, 121743 },
+ { 0x6234, 121745 },
+ { 0x6247, 121748 },
+ { 0x6239, 121753 },
+ { 0x6235, 121756 },
+ { 0x6248, 121759 },
+ { 0x6238, 121764 },
+ { 0x6237, 121767 },
+ { 0x623C, 121770 },
+ { 0x6233, 121773 },
+ { 0x623B, 121776 },
+ { 0x623A, 121779 },
+ { 0x6236, 121782 },
+ { 0x6249, 121785 },
+ { 0x6220, 121790 },
+ { 0x6223, 121794 },
+ { 0x6224, 121798 },
+ { 0x622C, 121802 },
+ { 0x6222, 121806 },
+ { 0x621D, 121810 },
+ { 0x621C, 121814 },
+ { 0x6229, 121818 },
+ { 0x621E, 121822 },
+ { 0x6221, 121826 },
+ { 0x621F, 121830 },
+ { 0x6227, 121834 },
+ { 0x6213, 121838 },
+ { 0x622E, 121842 },
+ { 0x6230, 121846 },
+ { 0x621A, 121850 },
+ { 0x6228, 121854 },
+ { 0x622F, 121858 },
+ { 0x6214, 121862 },
+ { 0x621B, 121866 },
+ { 0x6225, 121870 },
+ { 0x6215, 121874 },
+ { 0x6216, 121878 },
+ { 0x622B, 121882 },
+ { 0x6232, 121886 },
+ { 0x6218, 121890 },
+ { 0x6231, 121894 },
+ { 0x6229, 121898 },
+ { 0x6219, 121902 },
+ { 0x622A, 121906 },
+ { 0x622A, 121910 },
+ { 0x622D, 121914 },
+ { 0x6226, 121918 },
+ { 0x6217, 121922 },
+ { 0x623D, 121926 },
+ { 0x623E, 121929 },
+ { 0x623F, 121932 },
+ { 0x6242, 121935 },
+ { 0x6243, 121938 },
+ { 0x6245, 121941 },
+ { 0x6241, 121944 },
+ { 0x6246, 121947 },
+ { 0x6240, 121950 },
+ { 0x6244, 121953 },
+ { 0x624C, 121956 },
+ { 0x6200, 121959 },
+ { 0x6203, 121963 },
+ { 0x6204, 121967 },
+ { 0x620C, 121971 },
+ { 0x6202, 121975 },
+ { 0x61FD, 121979 },
+ { 0x61FC, 121983 },
+ { 0x6209, 121987 },
+ { 0x61FE, 121991 },
+ { 0x6201, 121995 },
+ { 0x61FF, 121999 },
+ { 0x6207, 122003 },
+ { 0x61F3, 122007 },
+ { 0x620E, 122011 },
+ { 0x6210, 122015 },
+ { 0x61FA, 122019 },
+ { 0x6208, 122023 },
+ { 0x620F, 122027 },
+ { 0x61F4, 122031 },
+ { 0x61FB, 122035 },
+ { 0x6205, 122039 },
+ { 0x61F5, 122043 },
+ { 0x61F6, 122047 },
+ { 0x620B, 122051 },
+ { 0x6212, 122055 },
+ { 0x61F8, 122059 },
+ { 0x6211, 122063 },
+ { 0x6209, 122067 },
+ { 0x61F9, 122071 },
+ { 0x620A, 122075 },
+ { 0x620A, 122079 },
+ { 0x620D, 122083 },
+ { 0x6206, 122087 },
+ { 0x61F7, 122091 },
+ { 0x624D, 122095 },
+ { 0x802A, 122098 },
+ { 0x4FFC, 122100 },
+ { 0x4FFE, 122103 },
+ { 0x4FFB, 122106 },
+ { 0x4FFA, 122109 },
+ { 0x4FFD, 122112 },
+ { 0x4FF6, 122115 },
+ { 0x4FF0, 122119 },
+ { 0x4FF8, 122123 },
+ { 0x4FF2, 122127 },
+ { 0x4FEF, 122131 },
+ { 0x4FF7, 122135 },
+ { 0x4FF9, 122139 },
+ { 0x4FF1, 122143 },
+ { 0x4FF3, 122147 },
+ { 0x4FF4, 122151 },
+ { 0x4FF5, 122156 },
+ { 0x5000, 122161 },
+ { 0x4FC0, 122166 },
+ { 0x4FC8, 122169 },
+ { 0x4FC2, 122172 },
+ { 0x4FCA, 122175 },
+ { 0x4FC4, 122178 },
+ { 0x4FC1, 122181 },
+ { 0x4FC9, 122184 },
+ { 0x4FCB, 122187 },
+ { 0x4FE2, 122190 },
+ { 0x4FD1, 122193 },
+ { 0x4FDD, 122196 },
+ { 0x4FCE, 122199 },
+ { 0x4FEC, 122202 },
+ { 0x4FC3, 122205 },
+ { 0x4FD3, 122208 },
+ { 0x4FCC, 122211 },
+ { 0x4FE7, 122214 },
+ { 0x4FE4, 122217 },
+ { 0x4FDF, 122220 },
+ { 0x4FE0, 122223 },
+ { 0x4FE6, 122226 },
+ { 0x4FEB, 122229 },
+ { 0x4FDB, 122232 },
+ { 0x4FC5, 122235 },
+ { 0x4FE8, 122238 },
+ { 0x4FE5, 122241 },
+ { 0x4FE3, 122244 },
+ { 0x4FD2, 122247 },
+ { 0x4FD8, 122250 },
+ { 0x4FDE, 122253 },
+ { 0x4FCF, 122256 },
+ { 0x4FD4, 122259 },
+ { 0x4FCD, 122262 },
+ { 0x4FED, 122265 },
+ { 0x4FD0, 122268 },
+ { 0x4FDA, 122271 },
+ { 0x4FD5, 122274 },
+ { 0x4FE1, 122277 },
+ { 0x4FEE, 122280 },
+ { 0x4FE9, 122283 },
+ { 0x4FEA, 122286 },
+ { 0x4FDC, 122289 },
+ { 0x4FD6, 122292 },
+ { 0x4FD9, 122295 },
+ { 0x4FD7, 122298 },
+ { 0x4FC6, 122301 },
+ { 0x4FC7, 122305 },
+ { 0x4FFF, 122309 },
+ { 0x7E5B, 122311 },
+ { 0x7F15, 122314 },
+ { 0x27DC, 122315 },
+ { 0x27DB, 122318 },
+ { 0x27DA, 122323 },
+ { 0x29FC, 122326 },
+ { 0x2A3A, 122327 },
+ { 0x2DDE, 122329 },
+ { 0x7DCD, 122331 },
+ { 0x1F57, 122333 },
+ { 0x1C82, 122334 },
+ { 0x2245, 122336 },
+ { 0x3FCE, 122338 },
+ { 0x2273, 122340 },
+ { 0x819C, 122341 },
+ { 0x7DF2, 122342 },
+ { 0x22DD, 122344 },
+ { 0x74A9, 122345 },
+ { 0x74AA, 122350 },
+ { 0x74A7, 122355 },
+ { 0x74A8, 122359 },
+ { 0x748F, 122363 },
+ { 0x7489, 122366 },
+ { 0x748A, 122370 },
+ { 0x74C6, 122374 },
+ { 0x74C7, 122379 },
+ { 0x7383, 122384 },
+ { 0x7385, 122387 },
+ { 0x7384, 122390 },
+ { 0x74A2, 122393 },
+ { 0x748B, 122395 },
+ { 0x748D, 122399 },
+ { 0x7486, 122403 },
+ { 0x748C, 122406 },
+ { 0x7488, 122410 },
+ { 0x7487, 122413 },
+ { 0x748E, 122416 },
+ { 0x747A, 122420 },
+ { 0x747B, 122428 },
+ { 0x7479, 122437 },
+ { 0x74FE, 122444 },
+ { 0x74FF, 122447 },
+ { 0x7500, 122450 },
+ { 0x7501, 122453 },
+ { 0x7502, 122456 },
+ { 0x74FA, 122459 },
+ { 0x74DD, 122462 },
+ { 0x7471, 122464 },
+ { 0x7472, 122466 },
+ { 0x7478, 122469 },
+ { 0x7474, 122473 },
+ { 0x7476, 122477 },
+ { 0x7473, 122481 },
+ { 0x7477, 122485 },
+ { 0x7475, 122489 },
+ { 0x74E9, 122493 },
+ { 0x74EA, 122496 },
+ { 0x74EB, 122499 },
+ { 0x74EC, 122502 },
+ { 0x74ED, 122505 },
+ { 0x74EE, 122508 },
+ { 0x74EF, 122511 },
+ { 0x74E8, 122514 },
+ { 0x74C5, 122517 },
+ { 0x74DC, 122521 },
+ { 0x74A4, 122523 },
+ { 0x74A3, 122526 },
+ { 0x74A6, 122529 },
+ { 0x74A5, 122532 },
+ { 0x7380, 122535 },
+ { 0x7382, 122538 },
+ { 0x7381, 122541 },
+ { 0x74FC, 122544 },
+ { 0x74F9, 122546 },
+ { 0x738D, 122548 },
+ { 0x738F, 122552 },
+ { 0x738E, 122556 },
+ { 0x7390, 122560 },
+ { 0x7391, 122564 },
+ { 0x737A, 122567 },
+ { 0x737C, 122570 },
+ { 0x737B, 122573 },
+ { 0x74BF, 122576 },
+ { 0x74C0, 122579 },
+ { 0x74C1, 122583 },
+ { 0x74B9, 122587 },
+ { 0x74BB, 122591 },
+ { 0x74BA, 122596 },
+ { 0x74B6, 122601 },
+ { 0x74B7, 122605 },
+ { 0x74B8, 122609 },
+ { 0x74BC, 122613 },
+ { 0x74BE, 122617 },
+ { 0x74BD, 122622 },
+ { 0x74B3, 122627 },
+ { 0x74B5, 122630 },
+ { 0x74B4, 122634 },
+ { 0x74B0, 122638 },
+ { 0x74B2, 122641 },
+ { 0x74B1, 122645 },
+ { 0x74C2, 122649 },
+ { 0x74C4, 122652 },
+ { 0x74C3, 122656 },
+ { 0x74AF, 122660 },
+ { 0x74AE, 122664 },
+ { 0x74AD, 122668 },
+ { 0x74C8, 122672 },
+ { 0x74CA, 122675 },
+ { 0x74C9, 122679 },
+ { 0x74D3, 122683 },
+ { 0x74D7, 122685 },
+ { 0x74D8, 122689 },
+ { 0x74D5, 122694 },
+ { 0x74D6, 122698 },
+ { 0x74D9, 122703 },
+ { 0x74D4, 122707 },
+ { 0x74A1, 122710 },
+ { 0x749F, 122714 },
+ { 0x74A0, 122718 },
+ { 0x7377, 122722 },
+ { 0x7379, 122725 },
+ { 0x7378, 122728 },
+ { 0x74E7, 122731 },
+ { 0x74AC, 122738 },
+ { 0x74AB, 122741 },
+ { 0x749C, 122744 },
+ { 0x749E, 122747 },
+ { 0x749D, 122750 },
+ { 0x7481, 122753 },
+ { 0x7480, 122758 },
+ { 0x7482, 122763 },
+ { 0x747F, 122768 },
+ { 0x74F0, 122773 },
+ { 0x737D, 122775 },
+ { 0x737F, 122778 },
+ { 0x737E, 122781 },
+ { 0x74CD, 122784 },
+ { 0x74CE, 122789 },
+ { 0x74D0, 122795 },
+ { 0x74D2, 122800 },
+ { 0x74D1, 122805 },
+ { 0x74CF, 122810 },
+ { 0x74CC, 122815 },
+ { 0x74CB, 122819 },
+ { 0x7469, 122824 },
+ { 0x746A, 122827 },
+ { 0x746F, 122830 },
+ { 0x746B, 122835 },
+ { 0x7470, 122838 },
+ { 0x746C, 122841 },
+ { 0x7468, 122844 },
+ { 0x7467, 122848 },
+ { 0x746D, 122852 },
+ { 0x746E, 122855 },
+ { 0x7392, 122859 },
+ { 0x7388, 122863 },
+ { 0x738A, 122867 },
+ { 0x7389, 122871 },
+ { 0x738B, 122875 },
+ { 0x738C, 122879 },
+ { 0x7387, 122882 },
+ { 0x7386, 122885 },
+ { 0x747C, 122888 },
+ { 0x747E, 122892 },
+ { 0x747D, 122896 },
+ { 0x7484, 122900 },
+ { 0x7483, 122903 },
+ { 0x7485, 122906 },
+ { 0x72DF, 122909 },
+ { 0x72E3, 122911 },
+ { 0x72C5, 122915 },
+ { 0x72C6, 122920 },
+ { 0x72DE, 122926 },
+ { 0x72E2, 122929 },
+ { 0x72E0, 122934 },
+ { 0x72E4, 122939 },
+ { 0x7274, 122944 },
+ { 0x7332, 122947 },
+ { 0x735E, 122952 },
+ { 0x735F, 122956 },
+ { 0x72E1, 122961 },
+ { 0x72E5, 122965 },
+ { 0x7342, 122969 },
+ { 0x74F6, 122974 },
+ { 0x74F5, 122978 },
+ { 0x74F8, 122981 },
+ { 0x74F7, 122985 },
+ { 0x74F4, 122988 },
+ { 0x74F3, 122991 },
+ { 0x7503, 122994 },
+ { 0x7504, 122997 },
+ { 0x7505, 123000 },
+ { 0x7506, 123003 },
+ { 0x7507, 123006 },
+ { 0x7508, 123009 },
+ { 0x7509, 123012 },
+ { 0x750A, 123015 },
+ { 0x750B, 123018 },
+ { 0x750C, 123021 },
+ { 0x750D, 123024 },
+ { 0x750E, 123027 },
+ { 0x750F, 123030 },
+ { 0x7510, 123033 },
+ { 0x7511, 123036 },
+ { 0x74DF, 123039 },
+ { 0x74E0, 123043 },
+ { 0x74E3, 123047 },
+ { 0x7490, 123052 },
+ { 0x7491, 123055 },
+ { 0x7492, 123058 },
+ { 0x72D8, 123061 },
+ { 0x72DA, 123063 },
+ { 0x72BB, 123067 },
+ { 0x735B, 123072 },
+ { 0x72D9, 123079 },
+ { 0x72DB, 123083 },
+ { 0x7348, 123087 },
+ { 0x7349, 123093 },
+ { 0x7375, 123100 },
+ { 0x72BC, 123102 },
+ { 0x7376, 123108 },
+ { 0x7320, 123111 },
+ { 0x731D, 123115 },
+ { 0x7329, 123119 },
+ { 0x732A, 123123 },
+ { 0x7322, 123127 },
+ { 0x7326, 123131 },
+ { 0x7328, 123135 },
+ { 0x7327, 123141 },
+ { 0x7321, 123146 },
+ { 0x7272, 123151 },
+ { 0x7285, 123154 },
+ { 0x7296, 123160 },
+ { 0x7297, 123168 },
+ { 0x7278, 123176 },
+ { 0x728F, 123180 },
+ { 0x732C, 123186 },
+ { 0x7358, 123191 },
+ { 0x734E, 123196 },
+ { 0x7354, 123201 },
+ { 0x7353, 123208 },
+ { 0x7355, 123215 },
+ { 0x7352, 123222 },
+ { 0x7350, 123229 },
+ { 0x7351, 123236 },
+ { 0x735C, 123243 },
+ { 0x735A, 123250 },
+ { 0x72AD, 123257 },
+ { 0x72AC, 123265 },
+ { 0x735D, 123273 },
+ { 0x72A9, 123278 },
+ { 0x72A3, 123285 },
+ { 0x72B5, 123292 },
+ { 0x72AE, 123299 },
+ { 0x7357, 123306 },
+ { 0x7356, 123313 },
+ { 0x7359, 123320 },
+ { 0x727C, 123325 },
+ { 0x727D, 123329 },
+ { 0x727E, 123333 },
+ { 0x7286, 123338 },
+ { 0x7298, 123344 },
+ { 0x7280, 123352 },
+ { 0x7299, 123356 },
+ { 0x7282, 123364 },
+ { 0x7293, 123369 },
+ { 0x72F8, 123376 },
+ { 0x72FD, 123381 },
+ { 0x72FE, 123387 },
+ { 0x731B, 123393 },
+ { 0x7290, 123399 },
+ { 0x7294, 123404 },
+ { 0x72B1, 123410 },
+ { 0x72B0, 123416 },
+ { 0x729A, 123423 },
+ { 0x729D, 123429 },
+ { 0x729C, 123435 },
+ { 0x729B, 123441 },
+ { 0x72AF, 123447 },
+ { 0x7284, 123454 },
+ { 0x7295, 123459 },
+ { 0x7316, 123467 },
+ { 0x7283, 123472 },
+ { 0x728C, 123478 },
+ { 0x72A5, 123483 },
+ { 0x7292, 123490 },
+ { 0x7287, 123497 },
+ { 0x7288, 123502 },
+ { 0x729F, 123509 },
+ { 0x72A1, 123516 },
+ { 0x72A0, 123524 },
+ { 0x72A6, 123532 },
+ { 0x728A, 123539 },
+ { 0x72A7, 123545 },
+ { 0x728B, 123553 },
+ { 0x72A4, 123559 },
+ { 0x7289, 123567 },
+ { 0x727B, 123574 },
+ { 0x7367, 123579 },
+ { 0x7368, 123582 },
+ { 0x7371, 123586 },
+ { 0x7374, 123592 },
+ { 0x736B, 123599 },
+ { 0x7369, 123604 },
+ { 0x736A, 123609 },
+ { 0x7370, 123614 },
+ { 0x7373, 123620 },
+ { 0x727A, 123626 },
+ { 0x7372, 123632 },
+ { 0x7305, 123638 },
+ { 0x736F, 123644 },
+ { 0x736D, 123650 },
+ { 0x729E, 123656 },
+ { 0x736E, 123663 },
+ { 0x736C, 123669 },
+ { 0x7304, 123673 },
+ { 0x730A, 123677 },
+ { 0x7300, 123681 },
+ { 0x7303, 123685 },
+ { 0x7302, 123691 },
+ { 0x7301, 123697 },
+ { 0x7312, 123703 },
+ { 0x730E, 123707 },
+ { 0x730C, 123712 },
+ { 0x7309, 123716 },
+ { 0x730B, 123721 },
+ { 0x7338, 123726 },
+ { 0x733B, 123730 },
+ { 0x728E, 123736 },
+ { 0x7336, 123742 },
+ { 0x733F, 123746 },
+ { 0x72B2, 123751 },
+ { 0x72B3, 123759 },
+ { 0x72B4, 123767 },
+ { 0x72A8, 123774 },
+ { 0x72A2, 123781 },
+ { 0x733D, 123788 },
+ { 0x72AA, 123793 },
+ { 0x72AB, 123800 },
+ { 0x733E, 123807 },
+ { 0x733A, 123811 },
+ { 0x72CC, 123816 },
+ { 0x72BE, 123818 },
+ { 0x72C2, 123823 },
+ { 0x72C0, 123829 },
+ { 0x72C4, 123836 },
+ { 0x72C9, 123843 },
+ { 0x72CB, 123849 },
+ { 0x72CA, 123857 },
+ { 0x72B6, 123865 },
+ { 0x72B7, 123869 },
+ { 0x72B8, 123874 },
+ { 0x72B9, 123879 },
+ { 0x72BA, 123884 },
+ { 0x72CE, 123890 },
+ { 0x72BF, 123893 },
+ { 0x72C3, 123899 },
+ { 0x72C1, 123906 },
+ { 0x72D0, 123914 },
+ { 0x72D3, 123919 },
+ { 0x72D4, 123925 },
+ { 0x72D5, 123929 },
+ { 0x72D6, 123935 },
+ { 0x72D7, 123942 },
+ { 0x72D1, 123946 },
+ { 0x72CF, 123950 },
+ { 0x72D2, 123954 },
+ { 0x72CD, 123958 },
+ { 0x72DD, 123963 },
+ { 0x732B, 123965 },
+ { 0x7330, 123969 },
+ { 0x732F, 123975 },
+ { 0x7331, 123981 },
+ { 0x734C, 123987 },
+ { 0x734B, 123993 },
+ { 0x734A, 124000 },
+ { 0x733C, 124007 },
+ { 0x72DC, 124011 },
+ { 0x72E9, 124014 },
+ { 0x72EB, 124016 },
+ { 0x72C8, 124020 },
+ { 0x7324, 124025 },
+ { 0x7275, 124029 },
+ { 0x72EA, 124032 },
+ { 0x72EC, 124036 },
+ { 0x7307, 124040 },
+ { 0x74FB, 124044 },
+ { 0x74E1, 124046 },
+ { 0x74DE, 124051 },
+ { 0x74E2, 124053 },
+ { 0x72F7, 124058 },
+ { 0x731F, 124060 },
+ { 0x7325, 124068 },
+ { 0x7277, 124072 },
+ { 0x7335, 124075 },
+ { 0x7334, 124080 },
+ { 0x7366, 124086 },
+ { 0x7365, 124090 },
+ { 0x7364, 124095 },
+ { 0x72FB, 124100 },
+ { 0x731A, 124105 },
+ { 0x7308, 124110 },
+ { 0x7315, 124114 },
+ { 0x7311, 124118 },
+ { 0x7310, 124125 },
+ { 0x7346, 124133 },
+ { 0x7345, 124138 },
+ { 0x7344, 124144 },
+ { 0x72EF, 124150 },
+ { 0x72F4, 124152 },
+ { 0x72C7, 124156 },
+ { 0x72BD, 124162 },
+ { 0x72ED, 124167 },
+ { 0x72F3, 124170 },
+ { 0x72F1, 124175 },
+ { 0x72EE, 124180 },
+ { 0x7319, 124185 },
+ { 0x731E, 124188 },
+ { 0x7276, 124196 },
+ { 0x7333, 124199 },
+ { 0x7362, 124204 },
+ { 0x7360, 124208 },
+ { 0x734F, 124213 },
+ { 0x7361, 124218 },
+ { 0x7363, 124223 },
+ { 0x734D, 124228 },
+ { 0x72FA, 124232 },
+ { 0x72FF, 124237 },
+ { 0x7318, 124243 },
+ { 0x72F0, 124248 },
+ { 0x72F2, 124251 },
+ { 0x72F5, 124255 },
+ { 0x72F6, 124261 },
+ { 0x72FC, 124267 },
+ { 0x7314, 124270 },
+ { 0x730F, 124274 },
+ { 0x730D, 124279 },
+ { 0x7337, 124283 },
+ { 0x7343, 124286 },
+ { 0x72E8, 124291 },
+ { 0x7323, 124293 },
+ { 0x7273, 124297 },
+ { 0x7279, 124300 },
+ { 0x732D, 124304 },
+ { 0x727F, 124309 },
+ { 0x7281, 124313 },
+ { 0x72F9, 124317 },
+ { 0x731C, 124322 },
+ { 0x7291, 124328 },
+ { 0x7317, 124333 },
+ { 0x728D, 124338 },
+ { 0x7306, 124343 },
+ { 0x7313, 124347 },
+ { 0x7339, 124351 },
+ { 0x7340, 124355 },
+ { 0x7347, 124360 },
+ { 0x74FD, 124366 },
+ { 0x72E7, 124368 },
+ { 0x72E6, 124370 },
+ { 0x732E, 124373 },
+ { 0x7341, 124379 },
+ { 0x7393, 124385 },
+ { 0x7394, 124390 },
+ { 0x7397, 124395 },
+ { 0x7398, 124401 },
+ { 0x7395, 124407 },
+ { 0x7396, 124411 },
+ { 0x7399, 124415 },
+ { 0x74E5, 124421 },
+ { 0x74E4, 124425 },
+ { 0x74E6, 124429 },
+ { 0x73C5, 124432 },
+ { 0x73C4, 124437 },
+ { 0x73C6, 124442 },
+ { 0x73C3, 124447 },
+ { 0x73BE, 124450 },
+ { 0x73BD, 124454 },
+ { 0x73BF, 124458 },
+ { 0x73C1, 124462 },
+ { 0x73C0, 124466 },
+ { 0x73C2, 124470 },
+ { 0x7499, 124474 },
+ { 0x749B, 124477 },
+ { 0x7493, 124480 },
+ { 0x7494, 124483 },
+ { 0x7495, 124487 },
+ { 0x73C9, 124491 },
+ { 0x73C7, 124495 },
+ { 0x73C8, 124499 },
+ { 0x73CA, 124503 },
+ { 0x73D1, 124507 },
+ { 0x73CF, 124512 },
+ { 0x73D0, 124517 },
+ { 0x73D2, 124522 },
+ { 0x73D5, 124527 },
+ { 0x73D3, 124532 },
+ { 0x73D4, 124537 },
+ { 0x73D6, 124542 },
+ { 0x73CD, 124547 },
+ { 0x73CB, 124551 },
+ { 0x73CC, 124555 },
+ { 0x73CE, 124559 },
+ { 0x73F9, 124563 },
+ { 0x73F7, 124566 },
+ { 0x73F6, 124570 },
+ { 0x73F8, 124574 },
+ { 0x73F4, 124578 },
+ { 0x73F3, 124582 },
+ { 0x73F5, 124586 },
+ { 0x749A, 124590 },
+ { 0x7496, 124593 },
+ { 0x7497, 124596 },
+ { 0x7498, 124600 },
+ { 0x74F1, 124604 },
+ { 0x7457, 124607 },
+ { 0x7455, 124613 },
+ { 0x7458, 124619 },
+ { 0x7456, 124625 },
+ { 0x73B6, 124631 },
+ { 0x73B4, 124635 },
+ { 0x73B5, 124639 },
+ { 0x74DA, 124643 },
+ { 0x73AC, 124646 },
+ { 0x73AA, 124650 },
+ { 0x73AB, 124654 },
+ { 0x7406, 124658 },
+ { 0x7404, 124662 },
+ { 0x7405, 124666 },
+ { 0x7420, 124670 },
+ { 0x7419, 124675 },
+ { 0x7409, 124681 },
+ { 0x7407, 124685 },
+ { 0x740A, 124689 },
+ { 0x7408, 124694 },
+ { 0x7421, 124698 },
+ { 0x741A, 124703 },
+ { 0x740D, 124709 },
+ { 0x740B, 124715 },
+ { 0x740C, 124721 },
+ { 0x7410, 124727 },
+ { 0x740E, 124733 },
+ { 0x740F, 124739 },
+ { 0x7422, 124745 },
+ { 0x741B, 124750 },
+ { 0x7428, 124756 },
+ { 0x7426, 124762 },
+ { 0x7427, 124768 },
+ { 0x73B3, 124774 },
+ { 0x73B1, 124778 },
+ { 0x73B2, 124782 },
+ { 0x73A5, 124786 },
+ { 0x7411, 124789 },
+ { 0x741F, 124794 },
+ { 0x7418, 124799 },
+ { 0x73FC, 124805 },
+ { 0x73FA, 124810 },
+ { 0x73FB, 124815 },
+ { 0x73FD, 124820 },
+ { 0x7400, 124825 },
+ { 0x73FE, 124830 },
+ { 0x73FF, 124835 },
+ { 0x7401, 124840 },
+ { 0x7402, 124845 },
+ { 0x7403, 124851 },
+ { 0x73BC, 124857 },
+ { 0x73BA, 124861 },
+ { 0x73BB, 124865 },
+ { 0x7460, 124869 },
+ { 0x745F, 124875 },
+ { 0x73AF, 124881 },
+ { 0x73AD, 124885 },
+ { 0x73AE, 124889 },
+ { 0x73B0, 124893 },
+ { 0x7412, 124897 },
+ { 0x7413, 124902 },
+ { 0x73A2, 124907 },
+ { 0x73A1, 124912 },
+ { 0x73A3, 124916 },
+ { 0x73A4, 124920 },
+ { 0x7464, 124926 },
+ { 0x7463, 124931 },
+ { 0x739A, 124936 },
+ { 0x73A0, 124940 },
+ { 0x739E, 124945 },
+ { 0x739C, 124950 },
+ { 0x739D, 124955 },
+ { 0x739F, 124960 },
+ { 0x73A7, 124965 },
+ { 0x73A6, 124970 },
+ { 0x73A8, 124975 },
+ { 0x73A9, 124979 },
+ { 0x73B9, 124985 },
+ { 0x73B7, 124989 },
+ { 0x73B8, 124993 },
+ { 0x7417, 124997 },
+ { 0x7415, 125000 },
+ { 0x7424, 125003 },
+ { 0x741D, 125008 },
+ { 0x7414, 125014 },
+ { 0x7423, 125017 },
+ { 0x741C, 125022 },
+ { 0x7416, 125028 },
+ { 0x7425, 125031 },
+ { 0x741E, 125036 },
+ { 0x74F2, 125042 },
+ { 0x745E, 125045 },
+ { 0x745B, 125053 },
+ { 0x745C, 125061 },
+ { 0x7459, 125069 },
+ { 0x745D, 125077 },
+ { 0x745A, 125085 },
+ { 0x73EC, 125093 },
+ { 0x73EA, 125097 },
+ { 0x73EB, 125101 },
+ { 0x74DB, 125105 },
+ { 0x73E5, 125108 },
+ { 0x744C, 125111 },
+ { 0x743B, 125115 },
+ { 0x743A, 125122 },
+ { 0x743D, 125129 },
+ { 0x743C, 125137 },
+ { 0x742C, 125145 },
+ { 0x742E, 125152 },
+ { 0x742B, 125159 },
+ { 0x742D, 125166 },
+ { 0x744D, 125173 },
+ { 0x7441, 125177 },
+ { 0x743F, 125184 },
+ { 0x7440, 125191 },
+ { 0x743E, 125198 },
+ { 0x7432, 125205 },
+ { 0x7430, 125212 },
+ { 0x7431, 125219 },
+ { 0x742F, 125226 },
+ { 0x7450, 125233 },
+ { 0x744F, 125237 },
+ { 0x744E, 125241 },
+ { 0x7443, 125245 },
+ { 0x7442, 125251 },
+ { 0x7434, 125257 },
+ { 0x7433, 125263 },
+ { 0x73E9, 125269 },
+ { 0x73E0, 125272 },
+ { 0x7449, 125275 },
+ { 0x7447, 125279 },
+ { 0x7448, 125283 },
+ { 0x7439, 125287 },
+ { 0x7438, 125293 },
+ { 0x742A, 125299 },
+ { 0x7429, 125305 },
+ { 0x744A, 125311 },
+ { 0x744B, 125315 },
+ { 0x73F2, 125319 },
+ { 0x73F0, 125323 },
+ { 0x73F1, 125327 },
+ { 0x7462, 125331 },
+ { 0x7461, 125338 },
+ { 0x73E8, 125345 },
+ { 0x73E6, 125349 },
+ { 0x73E7, 125353 },
+ { 0x73DD, 125357 },
+ { 0x73DC, 125362 },
+ { 0x73DE, 125366 },
+ { 0x73DF, 125370 },
+ { 0x7466, 125376 },
+ { 0x7465, 125383 },
+ { 0x739B, 125390 },
+ { 0x73DB, 125394 },
+ { 0x73D9, 125399 },
+ { 0x73D7, 125404 },
+ { 0x73D8, 125409 },
+ { 0x73DA, 125414 },
+ { 0x73E2, 125419 },
+ { 0x73E1, 125424 },
+ { 0x73E4, 125429 },
+ { 0x73E3, 125435 },
+ { 0x73EF, 125440 },
+ { 0x73ED, 125444 },
+ { 0x73EE, 125448 },
+ { 0x7454, 125452 },
+ { 0x7452, 125456 },
+ { 0x7445, 125459 },
+ { 0x7436, 125464 },
+ { 0x7451, 125469 },
+ { 0x7444, 125472 },
+ { 0x7435, 125477 },
+ { 0x7453, 125482 },
+ { 0x7446, 125485 },
+ { 0x7437, 125490 },
+ { 0x7B6C, 125495 },
+ { 0x8185, 125496 },
+ { 0x0078, 125497 },
+ { 0x1CED, 125499 },
+ { 0x0071, 125501 },
+ { 0x1CEC, 125503 },
+ { 0x1CEB, 125505 },
+ { 0x1CF4, 125507 },
+ { 0x1CF0, 125510 },
+ { 0x1CF1, 125512 },
+ { 0x1CE9, 125515 },
+ { 0x1CEF, 125517 },
+ { 0x1CEA, 125519 },
+ { 0x1CF6, 125524 },
+ { 0x1CF2, 125529 },
+ { 0x1CF5, 125531 },
+ { 0x1CEE, 125534 },
+ { 0x0072, 125536 },
+ { 0x1CF3, 125538 },
+ { 0x7ACB, 125541 },
+ { 0x26FE, 125542 },
+ { 0x27F1, 125544 },
+ { 0x7CE4, 125546 },
+ { 0x7CE6, 125549 },
+ { 0x7E8E, 125553 },
+ { 0x7E8D, 125556 },
+ { 0x7E8C, 125558 },
+ { 0x2210, 125561 },
+ { 0x2211, 125567 },
+ { 0x7DED, 125573 },
+ { 0x7D7B, 125575 },
+ { 0x1D6D, 125576 },
+ { 0x7FDE, 125579 },
+ { 0x7FF6, 125584 },
+ { 0x7FEE, 125591 },
+ { 0x7FD6, 125597 },
+ { 0x7FE6, 125603 },
+ { 0x7FDD, 125609 },
+ { 0x7FF5, 125614 },
+ { 0x7FED, 125621 },
+ { 0x7FD5, 125627 },
+ { 0x7FE5, 125633 },
+ { 0x7FDF, 125639 },
+ { 0x7FF7, 125644 },
+ { 0x7FEF, 125651 },
+ { 0x7FD7, 125657 },
+ { 0x7FE7, 125663 },
+ { 0x7FE0, 125669 },
+ { 0x7FF8, 125674 },
+ { 0x7FF0, 125681 },
+ { 0x7FD8, 125687 },
+ { 0x7FE8, 125693 },
+ { 0x7FDA, 125699 },
+ { 0x7FF2, 125703 },
+ { 0x7FEA, 125709 },
+ { 0x7FD2, 125714 },
+ { 0x7FE2, 125719 },
+ { 0x7FDC, 125724 },
+ { 0x7FF4, 125728 },
+ { 0x7FEC, 125734 },
+ { 0x7FD4, 125739 },
+ { 0x7FE4, 125744 },
+ { 0x7FD9, 125749 },
+ { 0x7FF1, 125753 },
+ { 0x7FE9, 125759 },
+ { 0x7FD1, 125764 },
+ { 0x7FE1, 125769 },
+ { 0x7FDB, 125774 },
+ { 0x7FF3, 125778 },
+ { 0x7FEB, 125784 },
+ { 0x7FD3, 125789 },
+ { 0x7FE3, 125794 },
+ { 0x1DA2, 125799 },
+ { 0x2662, 125800 },
+ { 0x05A3, 125803 },
+ { 0x05A2, 125808 },
+ { 0x059F, 125812 },
+ { 0x05FA, 125815 },
+ { 0x05FF, 125818 },
+ { 0x05FB, 125821 },
+ { 0x05FE, 125824 },
+ { 0x05FD, 125827 },
+ { 0x0602, 125830 },
+ { 0x05F9, 125833 },
+ { 0x0601, 125836 },
+ { 0x0600, 125839 },
+ { 0x05FC, 125842 },
+ { 0x05A0, 125845 },
+ { 0x2305, 125848 },
+ { 0x1D82, 125852 },
+ { 0x1D61, 125855 },
+ { 0x1D66, 125858 },
+ { 0x1D71, 125861 },
+ { 0x1D7D, 125864 },
+ { 0x7D83, 125867 },
+ { 0x7E51, 125869 },
+ { 0x7C21, 125871 },
+ { 0x1F7E, 125873 },
+ { 0x5793, 125874 },
+ { 0x5794, 125877 },
+ { 0x5795, 125880 },
+ { 0x5796, 125883 },
+ { 0x5797, 125886 },
+ { 0x5798, 125889 },
+ { 0x5799, 125892 },
+ { 0x579A, 125895 },
+ { 0x579B, 125898 },
+ { 0x579C, 125901 },
+ { 0x579D, 125904 },
+ { 0x579F, 125907 },
+ { 0x57A0, 125910 },
+ { 0x57A1, 125913 },
+ { 0x57A2, 125916 },
+ { 0x57A3, 125919 },
+ { 0x57A4, 125922 },
+ { 0x57A5, 125925 },
+ { 0x57A6, 125928 },
+ { 0x57A7, 125931 },
+ { 0x57A8, 125934 },
+ { 0x57A9, 125937 },
+ { 0x57AA, 125940 },
+ { 0x57AB, 125943 },
+ { 0x57AC, 125946 },
+ { 0x57AD, 125949 },
+ { 0x57AE, 125952 },
+ { 0x57AF, 125955 },
+ { 0x57B0, 125958 },
+ { 0x57B1, 125961 },
+ { 0x57B2, 125964 },
+ { 0x57B3, 125967 },
+ { 0x57B4, 125970 },
+ { 0x57B5, 125973 },
+ { 0x57B6, 125976 },
+ { 0x57B7, 125979 },
+ { 0x57B8, 125982 },
+ { 0x57B9, 125985 },
+ { 0x57BA, 125988 },
+ { 0x57BB, 125991 },
+ { 0x57BC, 125994 },
+ { 0x57BD, 125997 },
+ { 0x57BE, 126000 },
+ { 0x57BF, 126003 },
+ { 0x57C0, 126006 },
+ { 0x57C1, 126009 },
+ { 0x57C2, 126012 },
+ { 0x57C3, 126015 },
+ { 0x57C4, 126018 },
+ { 0x57C5, 126021 },
+ { 0x57C6, 126024 },
+ { 0x57C7, 126027 },
+ { 0x57C8, 126030 },
+ { 0x57C9, 126033 },
+ { 0x57CA, 126036 },
+ { 0x57CB, 126039 },
+ { 0x57CC, 126042 },
+ { 0x57CD, 126045 },
+ { 0x57CE, 126048 },
+ { 0x57CF, 126051 },
+ { 0x57D0, 126054 },
+ { 0x57D2, 126057 },
+ { 0x57D3, 126060 },
+ { 0x57D4, 126063 },
+ { 0x57D5, 126066 },
+ { 0x57D6, 126069 },
+ { 0x57D7, 126072 },
+ { 0x57D8, 126075 },
+ { 0x57D9, 126078 },
+ { 0x57DA, 126081 },
+ { 0x57DB, 126084 },
+ { 0x57DC, 126087 },
+ { 0x57DD, 126090 },
+ { 0x57DE, 126093 },
+ { 0x57DF, 126096 },
+ { 0x57E0, 126099 },
+ { 0x57E1, 126102 },
+ { 0x57E2, 126105 },
+ { 0x57E3, 126108 },
+ { 0x57E4, 126111 },
+ { 0x57E5, 126114 },
+ { 0x57E6, 126117 },
+ { 0x57E7, 126120 },
+ { 0x57E8, 126123 },
+ { 0x57E9, 126126 },
+ { 0x57EA, 126129 },
+ { 0x57EB, 126132 },
+ { 0x57EC, 126135 },
+ { 0x57ED, 126138 },
+ { 0x57EE, 126141 },
+ { 0x57EF, 126144 },
+ { 0x57F0, 126147 },
+ { 0x57F1, 126150 },
+ { 0x57F2, 126153 },
+ { 0x57F3, 126156 },
+ { 0x57F4, 126159 },
+ { 0x57F5, 126162 },
+ { 0x579E, 126165 },
+ { 0x57D1, 126168 },
+ { 0x7DCF, 126171 },
+ { 0x7DC8, 126175 },
+ { 0x2602, 126177 },
+ { 0x2616, 126179 },
+ { 0x2612, 126182 },
+ { 0x2614, 126185 },
+ { 0x2615, 126188 },
+ { 0x2611, 126191 },
+ { 0x2613, 126194 },
+ { 0x22BF, 126197 },
+ { 0x7BCF, 126198 },
+ { 0x23CF, 126201 },
+ { 0x1EB6, 126206 },
+ { 0x26A1, 126210 },
+ { 0x26A5, 126215 },
+ { 0x26A7, 126223 },
+ { 0x26A3, 126232 },
+ { 0x1EC8, 126240 },
+ { 0x1EC4, 126243 },
+ { 0x26A9, 126247 },
+ { 0x26AD, 126250 },
+ { 0x26AB, 126254 },
+ { 0x1EBA, 126260 },
+ { 0x1F38, 126265 },
+ { 0x1EB8, 126270 },
+ { 0x001E, 126274 },
+ { 0x1F28, 126276 },
+ { 0x269D, 126279 },
+ { 0x269F, 126283 },
+ { 0x26B1, 126288 },
+ { 0x26B3, 126293 },
+ { 0x26B7, 126298 },
+ { 0x26B5, 126307 },
+ { 0x259B, 126313 },
+ { 0x26AF, 126317 },
+ { 0x1F2C, 126323 },
+ { 0x26C8, 126328 },
+ { 0x26CA, 126331 },
+ { 0x26CC, 126335 },
+ { 0x26C7, 126342 },
+ { 0x7DF3, 126345 },
+ { 0x80B4, 126347 },
+ { 0x000D, 126348 },
+ { 0x29FF, 126349 },
+ { 0x1E7A, 126350 },
+ { 0x2663, 126351 },
+ { 0x2667, 126354 },
+ { 0x2666, 126358 },
+ { 0x266C, 126361 },
+ { 0x266A, 126366 },
+ { 0x266E, 126369 },
+ { 0x7155, 126375 },
+ { 0x7153, 126379 },
+ { 0x7154, 126383 },
+ { 0x7241, 126387 },
+ { 0x7246, 126391 },
+ { 0x7242, 126395 },
+ { 0x7245, 126399 },
+ { 0x7244, 126403 },
+ { 0x7249, 126407 },
+ { 0x7240, 126411 },
+ { 0x7248, 126415 },
+ { 0x7247, 126419 },
+ { 0x7243, 126423 },
+ { 0x7152, 126427 },
+ { 0x7135, 126431 },
+ { 0x6EA8, 126434 },
+ { 0x6EA9, 126438 },
+ { 0x6EAA, 126442 },
+ { 0x6EAB, 126446 },
+ { 0x6EAC, 126450 },
+ { 0x6EAD, 126454 },
+ { 0x6EAE, 126458 },
+ { 0x6EAF, 126462 },
+ { 0x6EB0, 126466 },
+ { 0x6EB1, 126470 },
+ { 0x6EB2, 126474 },
+ { 0x6EB3, 126478 },
+ { 0x6EB4, 126482 },
+ { 0x6EB5, 126486 },
+ { 0x6EB6, 126490 },
+ { 0x6EB7, 126494 },
+ { 0x6EB8, 126498 },
+ { 0x6EB9, 126502 },
+ { 0x6EBA, 126506 },
+ { 0x6EBB, 126510 },
+ { 0x6EBC, 126514 },
+ { 0x6EBD, 126518 },
+ { 0x6EBE, 126522 },
+ { 0x6EBF, 126526 },
+ { 0x6EC0, 126530 },
+ { 0x6EC1, 126534 },
+ { 0x7141, 126538 },
+ { 0x7142, 126542 },
+ { 0x7145, 126546 },
+ { 0x7143, 126550 },
+ { 0x714C, 126554 },
+ { 0x713C, 126558 },
+ { 0x714B, 126562 },
+ { 0x714D, 126566 },
+ { 0x7146, 126570 },
+ { 0x7149, 126574 },
+ { 0x7137, 126578 },
+ { 0x713E, 126582 },
+ { 0x713B, 126586 },
+ { 0x7136, 126590 },
+ { 0x7139, 126594 },
+ { 0x7147, 126598 },
+ { 0x7138, 126603 },
+ { 0x713F, 126607 },
+ { 0x7140, 126611 },
+ { 0x714E, 126615 },
+ { 0x7148, 126619 },
+ { 0x713D, 126623 },
+ { 0x723F, 126627 },
+ { 0x713A, 126631 },
+ { 0x7144, 126635 },
+ { 0x714A, 126639 },
+ { 0x7151, 126643 },
+ { 0x71C9, 126647 },
+ { 0x71C7, 126652 },
+ { 0x71C8, 126657 },
+ { 0x71C6, 126662 },
+ { 0x71A9, 126667 },
+ { 0x6F0F, 126671 },
+ { 0x6F10, 126676 },
+ { 0x6F11, 126681 },
+ { 0x6F12, 126686 },
+ { 0x6F13, 126691 },
+ { 0x6F14, 126696 },
+ { 0x6F15, 126701 },
+ { 0x6F16, 126706 },
+ { 0x6F17, 126711 },
+ { 0x6F18, 126716 },
+ { 0x6F19, 126721 },
+ { 0x6F1A, 126726 },
+ { 0x6F1B, 126731 },
+ { 0x6F1C, 126736 },
+ { 0x6F1D, 126741 },
+ { 0x6F1E, 126746 },
+ { 0x6F1F, 126751 },
+ { 0x6F20, 126756 },
+ { 0x6F21, 126761 },
+ { 0x6F22, 126766 },
+ { 0x6F23, 126771 },
+ { 0x6F24, 126776 },
+ { 0x6F25, 126781 },
+ { 0x6F26, 126786 },
+ { 0x6F27, 126791 },
+ { 0x6F28, 126796 },
+ { 0x71B5, 126801 },
+ { 0x71B6, 126806 },
+ { 0x71B9, 126811 },
+ { 0x71B7, 126816 },
+ { 0x71C0, 126821 },
+ { 0x71B0, 126826 },
+ { 0x71BF, 126831 },
+ { 0x71C1, 126836 },
+ { 0x71BA, 126841 },
+ { 0x71BD, 126846 },
+ { 0x71AB, 126851 },
+ { 0x71B2, 126856 },
+ { 0x71AF, 126861 },
+ { 0x71AA, 126866 },
+ { 0x71AD, 126871 },
+ { 0x71BB, 126876 },
+ { 0x71AC, 126882 },
+ { 0x71B3, 126887 },
+ { 0x71B4, 126892 },
+ { 0x71C2, 126897 },
+ { 0x71BC, 126902 },
+ { 0x71B1, 126907 },
+ { 0x71AE, 126912 },
+ { 0x71B8, 126917 },
+ { 0x71BE, 126922 },
+ { 0x71C5, 126927 },
+ { 0x6EF5, 126932 },
+ { 0x6EF6, 126937 },
+ { 0x6EF7, 126942 },
+ { 0x6EF8, 126947 },
+ { 0x6EF9, 126952 },
+ { 0x6EFA, 126957 },
+ { 0x6EFB, 126962 },
+ { 0x6EFC, 126967 },
+ { 0x6EFD, 126972 },
+ { 0x6EFE, 126977 },
+ { 0x6EFF, 126982 },
+ { 0x6F00, 126987 },
+ { 0x6F01, 126992 },
+ { 0x6F02, 126997 },
+ { 0x6F03, 127002 },
+ { 0x6F04, 127007 },
+ { 0x6F05, 127012 },
+ { 0x6F06, 127017 },
+ { 0x6F07, 127022 },
+ { 0x6F08, 127027 },
+ { 0x6F09, 127032 },
+ { 0x6F0A, 127037 },
+ { 0x6F0B, 127042 },
+ { 0x6F0C, 127047 },
+ { 0x6F0D, 127052 },
+ { 0x6F0E, 127057 },
+ { 0x719B, 127062 },
+ { 0x719C, 127067 },
+ { 0x719F, 127072 },
+ { 0x719D, 127077 },
+ { 0x71A6, 127082 },
+ { 0x7196, 127087 },
+ { 0x71A5, 127092 },
+ { 0x71A7, 127097 },
+ { 0x71A0, 127102 },
+ { 0x71A3, 127107 },
+ { 0x7191, 127112 },
+ { 0x7198, 127117 },
+ { 0x7195, 127122 },
+ { 0x7190, 127127 },
+ { 0x7193, 127132 },
+ { 0x7192, 127137 },
+ { 0x7199, 127142 },
+ { 0x719A, 127147 },
+ { 0x71A8, 127152 },
+ { 0x71A2, 127157 },
+ { 0x7197, 127162 },
+ { 0x71A1, 127167 },
+ { 0x7194, 127173 },
+ { 0x719E, 127178 },
+ { 0x71A4, 127183 },
+ { 0x71C4, 127188 },
+ { 0x71C3, 127193 },
+ { 0x6F6C, 127198 },
+ { 0x6F6D, 127203 },
+ { 0x6F6E, 127208 },
+ { 0x6F6F, 127213 },
+ { 0x6F70, 127218 },
+ { 0x6F71, 127223 },
+ { 0x6F72, 127228 },
+ { 0x6F73, 127233 },
+ { 0x6F74, 127238 },
+ { 0x6F75, 127243 },
+ { 0x6F76, 127248 },
+ { 0x6F77, 127253 },
+ { 0x6F78, 127258 },
+ { 0x6F79, 127263 },
+ { 0x6F7A, 127268 },
+ { 0x6F7B, 127273 },
+ { 0x6F7C, 127278 },
+ { 0x6F7D, 127283 },
+ { 0x6F7E, 127288 },
+ { 0x6F7F, 127293 },
+ { 0x6F80, 127298 },
+ { 0x6F81, 127303 },
+ { 0x6F82, 127308 },
+ { 0x6F83, 127313 },
+ { 0x6F84, 127318 },
+ { 0x6F85, 127323 },
+ { 0x6F52, 127328 },
+ { 0x6F53, 127333 },
+ { 0x6F54, 127338 },
+ { 0x6F55, 127343 },
+ { 0x6F56, 127348 },
+ { 0x6F57, 127353 },
+ { 0x6F58, 127358 },
+ { 0x6F59, 127363 },
+ { 0x6F5A, 127368 },
+ { 0x6F5B, 127373 },
+ { 0x6F5C, 127378 },
+ { 0x6F5D, 127383 },
+ { 0x6F5E, 127388 },
+ { 0x6F5F, 127393 },
+ { 0x6F60, 127398 },
+ { 0x6F61, 127403 },
+ { 0x6F62, 127408 },
+ { 0x6F63, 127413 },
+ { 0x6F64, 127418 },
+ { 0x6F65, 127423 },
+ { 0x6F66, 127428 },
+ { 0x6F67, 127433 },
+ { 0x6F68, 127438 },
+ { 0x6F69, 127443 },
+ { 0x6F6A, 127448 },
+ { 0x6F6B, 127453 },
+ { 0x6E8E, 127458 },
+ { 0x6E8F, 127462 },
+ { 0x6E90, 127466 },
+ { 0x6E91, 127470 },
+ { 0x6E92, 127474 },
+ { 0x6E93, 127478 },
+ { 0x6E94, 127482 },
+ { 0x6E95, 127486 },
+ { 0x6E96, 127490 },
+ { 0x6E97, 127494 },
+ { 0x6E98, 127498 },
+ { 0x6E99, 127502 },
+ { 0x6E9A, 127506 },
+ { 0x6E9B, 127510 },
+ { 0x6E9C, 127514 },
+ { 0x6E9D, 127518 },
+ { 0x6E9E, 127522 },
+ { 0x6E9F, 127526 },
+ { 0x6EA0, 127530 },
+ { 0x6EA1, 127534 },
+ { 0x6EA2, 127538 },
+ { 0x6EA3, 127542 },
+ { 0x6EA4, 127546 },
+ { 0x6EA5, 127550 },
+ { 0x6EA6, 127554 },
+ { 0x6EA7, 127558 },
+ { 0x7127, 127562 },
+ { 0x7128, 127566 },
+ { 0x712B, 127570 },
+ { 0x7129, 127574 },
+ { 0x7132, 127578 },
+ { 0x7122, 127582 },
+ { 0x7131, 127586 },
+ { 0x7133, 127590 },
+ { 0x712C, 127594 },
+ { 0x712F, 127598 },
+ { 0x711D, 127602 },
+ { 0x7124, 127606 },
+ { 0x7121, 127610 },
+ { 0x711C, 127614 },
+ { 0x711F, 127618 },
+ { 0x711E, 127622 },
+ { 0x7125, 127626 },
+ { 0x7126, 127630 },
+ { 0x7134, 127634 },
+ { 0x712E, 127638 },
+ { 0x7123, 127642 },
+ { 0x712D, 127646 },
+ { 0x723E, 127651 },
+ { 0x7120, 127655 },
+ { 0x712A, 127659 },
+ { 0x7130, 127663 },
+ { 0x7150, 127667 },
+ { 0x6FFC, 127671 },
+ { 0x6FFD, 127676 },
+ { 0x6FFE, 127681 },
+ { 0x6FFF, 127686 },
+ { 0x7000, 127691 },
+ { 0x7001, 127696 },
+ { 0x7002, 127701 },
+ { 0x7003, 127706 },
+ { 0x7004, 127711 },
+ { 0x7005, 127716 },
+ { 0x7006, 127721 },
+ { 0x7007, 127726 },
+ { 0x7008, 127731 },
+ { 0x7009, 127736 },
+ { 0x700A, 127741 },
+ { 0x700B, 127746 },
+ { 0x700C, 127751 },
+ { 0x700D, 127756 },
+ { 0x700E, 127761 },
+ { 0x700F, 127766 },
+ { 0x7010, 127771 },
+ { 0x7011, 127776 },
+ { 0x7012, 127781 },
+ { 0x7013, 127786 },
+ { 0x7014, 127791 },
+ { 0x7015, 127796 },
+ { 0x6FE2, 127801 },
+ { 0x6FE3, 127806 },
+ { 0x6FE4, 127811 },
+ { 0x6FE5, 127816 },
+ { 0x6FE6, 127821 },
+ { 0x6FE7, 127826 },
+ { 0x6FE8, 127831 },
+ { 0x6FE9, 127836 },
+ { 0x6FEA, 127841 },
+ { 0x6FEB, 127846 },
+ { 0x6FEC, 127851 },
+ { 0x6FED, 127856 },
+ { 0x6FEE, 127861 },
+ { 0x6FEF, 127866 },
+ { 0x6FF0, 127871 },
+ { 0x6FF1, 127876 },
+ { 0x6FF2, 127881 },
+ { 0x6FF3, 127886 },
+ { 0x6FF4, 127891 },
+ { 0x6FF5, 127896 },
+ { 0x6FF6, 127901 },
+ { 0x6FF7, 127906 },
+ { 0x6FF8, 127911 },
+ { 0x6FF9, 127916 },
+ { 0x6FFA, 127921 },
+ { 0x6FFB, 127926 },
+ { 0x714F, 127931 },
+ { 0x240B, 127935 },
+ { 0x2409, 127939 },
+ { 0x240F, 127944 },
+ { 0x240D, 127950 },
+ { 0x2411, 127955 },
+ { 0x240C, 127959 },
+ { 0x240A, 127963 },
+ { 0x2410, 127968 },
+ { 0x240E, 127974 },
+ { 0x2412, 127979 },
+ { 0x718F, 127983 },
+ { 0x718D, 127987 },
+ { 0x718E, 127991 },
+ { 0x718C, 127995 },
+ { 0x716F, 127999 },
+ { 0x6EDC, 128002 },
+ { 0x6EDD, 128006 },
+ { 0x6EDE, 128010 },
+ { 0x6EDF, 128014 },
+ { 0x6EE0, 128018 },
+ { 0x6EE1, 128022 },
+ { 0x6EE2, 128026 },
+ { 0x6EE3, 128030 },
+ { 0x6EE4, 128034 },
+ { 0x6EE5, 128038 },
+ { 0x6EE6, 128042 },
+ { 0x6EE7, 128046 },
+ { 0x6EE8, 128050 },
+ { 0x6EE9, 128054 },
+ { 0x6EEA, 128058 },
+ { 0x6EEB, 128062 },
+ { 0x6EEC, 128066 },
+ { 0x6EED, 128070 },
+ { 0x6EEE, 128074 },
+ { 0x6EEF, 128078 },
+ { 0x6EF0, 128082 },
+ { 0x6EF1, 128086 },
+ { 0x6EF2, 128090 },
+ { 0x6EF3, 128094 },
+ { 0x6EF4, 128098 },
+ { 0x717B, 128102 },
+ { 0x717C, 128106 },
+ { 0x717F, 128110 },
+ { 0x717D, 128114 },
+ { 0x7186, 128118 },
+ { 0x7176, 128122 },
+ { 0x7185, 128126 },
+ { 0x7187, 128130 },
+ { 0x7180, 128134 },
+ { 0x7183, 128138 },
+ { 0x7171, 128142 },
+ { 0x7178, 128146 },
+ { 0x7175, 128150 },
+ { 0x7170, 128154 },
+ { 0x7173, 128158 },
+ { 0x7181, 128162 },
+ { 0x7172, 128167 },
+ { 0x7179, 128171 },
+ { 0x717A, 128175 },
+ { 0x7188, 128179 },
+ { 0x7182, 128183 },
+ { 0x7177, 128187 },
+ { 0x711A, 128191 },
+ { 0x711B, 128196 },
+ { 0x7174, 128201 },
+ { 0x717E, 128205 },
+ { 0x7184, 128209 },
+ { 0x718B, 128213 },
+ { 0x6EC2, 128217 },
+ { 0x6EC3, 128221 },
+ { 0x6EC4, 128225 },
+ { 0x6EC5, 128229 },
+ { 0x6EC6, 128233 },
+ { 0x6EC7, 128237 },
+ { 0x6EC8, 128241 },
+ { 0x6EC9, 128245 },
+ { 0x6ECA, 128249 },
+ { 0x6ECB, 128253 },
+ { 0x6ECC, 128257 },
+ { 0x6ECD, 128261 },
+ { 0x6ECE, 128265 },
+ { 0x6ECF, 128269 },
+ { 0x6ED0, 128273 },
+ { 0x6ED1, 128277 },
+ { 0x6ED2, 128281 },
+ { 0x6ED3, 128285 },
+ { 0x6ED4, 128289 },
+ { 0x6ED5, 128293 },
+ { 0x6ED6, 128297 },
+ { 0x6ED7, 128301 },
+ { 0x6ED8, 128305 },
+ { 0x6ED9, 128309 },
+ { 0x6EDA, 128313 },
+ { 0x6EDB, 128317 },
+ { 0x7161, 128321 },
+ { 0x7162, 128325 },
+ { 0x7165, 128329 },
+ { 0x7163, 128333 },
+ { 0x716C, 128337 },
+ { 0x715C, 128341 },
+ { 0x716B, 128345 },
+ { 0x716D, 128349 },
+ { 0x7166, 128353 },
+ { 0x7169, 128357 },
+ { 0x7157, 128361 },
+ { 0x715E, 128365 },
+ { 0x715B, 128369 },
+ { 0x7156, 128373 },
+ { 0x7159, 128377 },
+ { 0x7158, 128381 },
+ { 0x715F, 128385 },
+ { 0x7160, 128389 },
+ { 0x716E, 128393 },
+ { 0x7168, 128397 },
+ { 0x715D, 128401 },
+ { 0x7167, 128405 },
+ { 0x715A, 128410 },
+ { 0x7164, 128414 },
+ { 0x716A, 128418 },
+ { 0x718A, 128422 },
+ { 0x7189, 128426 },
+ { 0x23EE, 128430 },
+ { 0x6F3B, 128433 },
+ { 0x6F3C, 128437 },
+ { 0x6F3D, 128441 },
+ { 0x6F3E, 128445 },
+ { 0x6F3F, 128449 },
+ { 0x6F40, 128453 },
+ { 0x6F41, 128457 },
+ { 0x6F42, 128461 },
+ { 0x6F43, 128465 },
+ { 0x6F44, 128469 },
+ { 0x6F45, 128473 },
+ { 0x6F46, 128477 },
+ { 0x6F47, 128481 },
+ { 0x6F48, 128485 },
+ { 0x6F49, 128489 },
+ { 0x6F4A, 128493 },
+ { 0x6F4B, 128497 },
+ { 0x6F4C, 128501 },
+ { 0x6F4D, 128505 },
+ { 0x6F4E, 128509 },
+ { 0x6F4F, 128513 },
+ { 0x6F50, 128517 },
+ { 0x6F51, 128521 },
+ { 0x6F29, 128525 },
+ { 0x6F2A, 128529 },
+ { 0x6F2B, 128533 },
+ { 0x6F2C, 128537 },
+ { 0x6F2D, 128541 },
+ { 0x6F2E, 128545 },
+ { 0x6F2F, 128549 },
+ { 0x6F30, 128553 },
+ { 0x6F31, 128557 },
+ { 0x6F32, 128561 },
+ { 0x6F33, 128565 },
+ { 0x6F34, 128569 },
+ { 0x6F35, 128573 },
+ { 0x6F36, 128577 },
+ { 0x6F37, 128581 },
+ { 0x6F38, 128585 },
+ { 0x6F39, 128589 },
+ { 0x6F3A, 128593 },
+ { 0x23F0, 128597 },
+ { 0x6F9B, 128600 },
+ { 0x6F9C, 128604 },
+ { 0x6F9D, 128608 },
+ { 0x6F9E, 128612 },
+ { 0x6F9F, 128616 },
+ { 0x6FA0, 128620 },
+ { 0x6FA1, 128624 },
+ { 0x6FA2, 128628 },
+ { 0x6FA3, 128632 },
+ { 0x6FA4, 128636 },
+ { 0x6FA5, 128640 },
+ { 0x6FA6, 128644 },
+ { 0x6FA7, 128648 },
+ { 0x6FA8, 128652 },
+ { 0x6FA9, 128656 },
+ { 0x6FAA, 128660 },
+ { 0x6FAB, 128664 },
+ { 0x6FAC, 128668 },
+ { 0x6FAD, 128672 },
+ { 0x6FAE, 128676 },
+ { 0x6FAF, 128680 },
+ { 0x6FB0, 128684 },
+ { 0x6FB1, 128688 },
+ { 0x6FB2, 128692 },
+ { 0x6FB3, 128696 },
+ { 0x6FB4, 128700 },
+ { 0x6F86, 128704 },
+ { 0x6F87, 128708 },
+ { 0x6F88, 128712 },
+ { 0x6F89, 128716 },
+ { 0x6F8A, 128720 },
+ { 0x6F8B, 128724 },
+ { 0x6F8C, 128728 },
+ { 0x6F8D, 128732 },
+ { 0x6F8E, 128736 },
+ { 0x6F8F, 128740 },
+ { 0x6F90, 128744 },
+ { 0x6F91, 128748 },
+ { 0x6F92, 128752 },
+ { 0x6F93, 128756 },
+ { 0x6F94, 128760 },
+ { 0x6F95, 128764 },
+ { 0x6F96, 128768 },
+ { 0x6F97, 128772 },
+ { 0x6F98, 128776 },
+ { 0x6F99, 128780 },
+ { 0x6F9A, 128784 },
+ { 0x7269, 128788 },
+ { 0x726E, 128792 },
+ { 0x726A, 128796 },
+ { 0x726D, 128800 },
+ { 0x726C, 128804 },
+ { 0x7271, 128808 },
+ { 0x7268, 128812 },
+ { 0x7270, 128816 },
+ { 0x726F, 128820 },
+ { 0x726B, 128824 },
+ { 0x7100, 128828 },
+ { 0x7101, 128832 },
+ { 0x7102, 128836 },
+ { 0x7103, 128840 },
+ { 0x7104, 128844 },
+ { 0x7105, 128848 },
+ { 0x7106, 128852 },
+ { 0x7107, 128856 },
+ { 0x7108, 128860 },
+ { 0x7109, 128864 },
+ { 0x710A, 128868 },
+ { 0x710B, 128872 },
+ { 0x710C, 128876 },
+ { 0x710D, 128880 },
+ { 0x710E, 128884 },
+ { 0x710F, 128888 },
+ { 0x7110, 128892 },
+ { 0x7111, 128896 },
+ { 0x7112, 128900 },
+ { 0x7113, 128904 },
+ { 0x7114, 128908 },
+ { 0x7115, 128912 },
+ { 0x7116, 128916 },
+ { 0x7117, 128920 },
+ { 0x7118, 128924 },
+ { 0x7119, 128928 },
+ { 0x70E6, 128932 },
+ { 0x70E7, 128936 },
+ { 0x70E8, 128940 },
+ { 0x70E9, 128944 },
+ { 0x70EA, 128948 },
+ { 0x70EB, 128952 },
+ { 0x70EC, 128956 },
+ { 0x70ED, 128960 },
+ { 0x70EE, 128964 },
+ { 0x70EF, 128968 },
+ { 0x70F0, 128972 },
+ { 0x70F1, 128976 },
+ { 0x70F2, 128980 },
+ { 0x70F3, 128984 },
+ { 0x70F4, 128988 },
+ { 0x70F5, 128992 },
+ { 0x70F6, 128996 },
+ { 0x70F7, 129000 },
+ { 0x70F8, 129004 },
+ { 0x70F9, 129008 },
+ { 0x70FA, 129012 },
+ { 0x70FB, 129016 },
+ { 0x70FC, 129020 },
+ { 0x70FD, 129024 },
+ { 0x70FE, 129028 },
+ { 0x70FF, 129032 },
+ { 0x7203, 129036 },
+ { 0x7201, 129041 },
+ { 0x7202, 129046 },
+ { 0x725F, 129051 },
+ { 0x7264, 129056 },
+ { 0x7260, 129061 },
+ { 0x7263, 129066 },
+ { 0x7262, 129071 },
+ { 0x7267, 129076 },
+ { 0x725E, 129081 },
+ { 0x7266, 129086 },
+ { 0x7265, 129091 },
+ { 0x7261, 129096 },
+ { 0x7200, 129101 },
+ { 0x71E3, 129106 },
+ { 0x7064, 129110 },
+ { 0x7065, 129115 },
+ { 0x7066, 129120 },
+ { 0x7067, 129125 },
+ { 0x7068, 129130 },
+ { 0x7069, 129135 },
+ { 0x706A, 129140 },
+ { 0x706B, 129145 },
+ { 0x706C, 129150 },
+ { 0x706D, 129155 },
+ { 0x706E, 129160 },
+ { 0x706F, 129165 },
+ { 0x7070, 129170 },
+ { 0x7071, 129175 },
+ { 0x7072, 129180 },
+ { 0x7073, 129185 },
+ { 0x7074, 129190 },
+ { 0x7075, 129195 },
+ { 0x7076, 129200 },
+ { 0x7077, 129205 },
+ { 0x7078, 129210 },
+ { 0x7079, 129215 },
+ { 0x707A, 129220 },
+ { 0x707B, 129225 },
+ { 0x707C, 129230 },
+ { 0x707D, 129235 },
+ { 0x71EF, 129240 },
+ { 0x71F0, 129245 },
+ { 0x71F3, 129250 },
+ { 0x71F1, 129255 },
+ { 0x71FA, 129260 },
+ { 0x71EA, 129265 },
+ { 0x71F9, 129270 },
+ { 0x71FB, 129275 },
+ { 0x71F4, 129280 },
+ { 0x71F7, 129285 },
+ { 0x71E5, 129290 },
+ { 0x71EC, 129295 },
+ { 0x71E9, 129300 },
+ { 0x71E4, 129305 },
+ { 0x71E7, 129310 },
+ { 0x71F5, 129315 },
+ { 0x71E6, 129321 },
+ { 0x71ED, 129326 },
+ { 0x71EE, 129331 },
+ { 0x71FC, 129336 },
+ { 0x71F6, 129341 },
+ { 0x71EB, 129346 },
+ { 0x71E8, 129351 },
+ { 0x71F2, 129356 },
+ { 0x71F8, 129361 },
+ { 0x71FF, 129366 },
+ { 0x723D, 129371 },
+ { 0x723B, 129377 },
+ { 0x723C, 129383 },
+ { 0x723A, 129389 },
+ { 0x721D, 129395 },
+ { 0x70CC, 129400 },
+ { 0x70CD, 129406 },
+ { 0x70CE, 129412 },
+ { 0x70CF, 129418 },
+ { 0x70D0, 129424 },
+ { 0x70D1, 129430 },
+ { 0x70D2, 129436 },
+ { 0x70D3, 129442 },
+ { 0x70D4, 129448 },
+ { 0x70D5, 129454 },
+ { 0x70D6, 129460 },
+ { 0x70D7, 129466 },
+ { 0x70D8, 129472 },
+ { 0x70D9, 129478 },
+ { 0x70DA, 129484 },
+ { 0x70DB, 129490 },
+ { 0x70DC, 129496 },
+ { 0x70DD, 129502 },
+ { 0x70DE, 129508 },
+ { 0x70DF, 129514 },
+ { 0x70E0, 129520 },
+ { 0x70E1, 129526 },
+ { 0x70E2, 129532 },
+ { 0x70E3, 129538 },
+ { 0x70E4, 129544 },
+ { 0x70E5, 129550 },
+ { 0x7229, 129556 },
+ { 0x722A, 129562 },
+ { 0x722D, 129568 },
+ { 0x722B, 129574 },
+ { 0x7234, 129580 },
+ { 0x7224, 129586 },
+ { 0x7233, 129592 },
+ { 0x7235, 129598 },
+ { 0x722E, 129604 },
+ { 0x7231, 129610 },
+ { 0x721F, 129616 },
+ { 0x7226, 129622 },
+ { 0x7223, 129628 },
+ { 0x721E, 129634 },
+ { 0x7221, 129640 },
+ { 0x722F, 129646 },
+ { 0x7220, 129653 },
+ { 0x7227, 129659 },
+ { 0x7228, 129665 },
+ { 0x7236, 129671 },
+ { 0x7230, 129677 },
+ { 0x7225, 129683 },
+ { 0x7222, 129689 },
+ { 0x722C, 129695 },
+ { 0x7232, 129701 },
+ { 0x7239, 129707 },
+ { 0x70B2, 129713 },
+ { 0x70B3, 129719 },
+ { 0x70B4, 129725 },
+ { 0x70B5, 129731 },
+ { 0x70B6, 129737 },
+ { 0x70B7, 129743 },
+ { 0x70B8, 129749 },
+ { 0x70B9, 129755 },
+ { 0x70BA, 129761 },
+ { 0x70BB, 129767 },
+ { 0x70BC, 129773 },
+ { 0x70BD, 129779 },
+ { 0x70BE, 129785 },
+ { 0x70BF, 129791 },
+ { 0x70C0, 129797 },
+ { 0x70C1, 129803 },
+ { 0x70C2, 129809 },
+ { 0x70C3, 129815 },
+ { 0x70C4, 129821 },
+ { 0x70C5, 129827 },
+ { 0x70C6, 129833 },
+ { 0x70C7, 129839 },
+ { 0x70C8, 129845 },
+ { 0x70C9, 129851 },
+ { 0x70CA, 129857 },
+ { 0x70CB, 129863 },
+ { 0x720F, 129869 },
+ { 0x7210, 129875 },
+ { 0x7213, 129881 },
+ { 0x7211, 129887 },
+ { 0x721A, 129893 },
+ { 0x720A, 129899 },
+ { 0x7219, 129905 },
+ { 0x721B, 129911 },
+ { 0x7214, 129917 },
+ { 0x7217, 129923 },
+ { 0x7205, 129929 },
+ { 0x720C, 129935 },
+ { 0x7209, 129941 },
+ { 0x7204, 129947 },
+ { 0x7207, 129953 },
+ { 0x7206, 129959 },
+ { 0x720D, 129965 },
+ { 0x720E, 129971 },
+ { 0x721C, 129977 },
+ { 0x7216, 129983 },
+ { 0x720B, 129989 },
+ { 0x7215, 129995 },
+ { 0x7208, 130002 },
+ { 0x7212, 130008 },
+ { 0x7218, 130014 },
+ { 0x7238, 130020 },
+ { 0x7237, 130026 },
+ { 0x704A, 130032 },
+ { 0x704B, 130037 },
+ { 0x704C, 130042 },
+ { 0x704D, 130047 },
+ { 0x704E, 130052 },
+ { 0x704F, 130057 },
+ { 0x7050, 130062 },
+ { 0x7051, 130067 },
+ { 0x7052, 130072 },
+ { 0x7053, 130077 },
+ { 0x7054, 130082 },
+ { 0x7055, 130087 },
+ { 0x7056, 130092 },
+ { 0x7057, 130097 },
+ { 0x7058, 130102 },
+ { 0x7059, 130107 },
+ { 0x705A, 130112 },
+ { 0x705B, 130117 },
+ { 0x705C, 130122 },
+ { 0x705D, 130127 },
+ { 0x705E, 130132 },
+ { 0x705F, 130137 },
+ { 0x7060, 130142 },
+ { 0x7061, 130147 },
+ { 0x7062, 130152 },
+ { 0x7063, 130157 },
+ { 0x71D5, 130162 },
+ { 0x71D6, 130167 },
+ { 0x71D9, 130172 },
+ { 0x71D7, 130177 },
+ { 0x71E0, 130182 },
+ { 0x71D0, 130187 },
+ { 0x71DF, 130192 },
+ { 0x71E1, 130197 },
+ { 0x71DA, 130202 },
+ { 0x71DD, 130207 },
+ { 0x71CB, 130212 },
+ { 0x71D2, 130217 },
+ { 0x71CF, 130222 },
+ { 0x71CA, 130227 },
+ { 0x71CD, 130232 },
+ { 0x71CC, 130237 },
+ { 0x71D3, 130242 },
+ { 0x71D4, 130247 },
+ { 0x71E2, 130252 },
+ { 0x71DC, 130257 },
+ { 0x71D1, 130262 },
+ { 0x71DB, 130267 },
+ { 0x71CE, 130273 },
+ { 0x71D8, 130278 },
+ { 0x71DE, 130283 },
+ { 0x71FE, 130288 },
+ { 0x71FD, 130293 },
+ { 0x7255, 130298 },
+ { 0x725A, 130302 },
+ { 0x7256, 130306 },
+ { 0x7259, 130310 },
+ { 0x7258, 130314 },
+ { 0x725D, 130318 },
+ { 0x7254, 130322 },
+ { 0x725C, 130326 },
+ { 0x725B, 130330 },
+ { 0x7257, 130334 },
+ { 0x7030, 130338 },
+ { 0x7031, 130342 },
+ { 0x7032, 130346 },
+ { 0x7033, 130350 },
+ { 0x7034, 130354 },
+ { 0x7035, 130358 },
+ { 0x7036, 130362 },
+ { 0x7037, 130366 },
+ { 0x7038, 130370 },
+ { 0x7039, 130374 },
+ { 0x703A, 130378 },
+ { 0x703B, 130382 },
+ { 0x703C, 130386 },
+ { 0x703D, 130390 },
+ { 0x703E, 130394 },
+ { 0x703F, 130398 },
+ { 0x7040, 130402 },
+ { 0x7041, 130406 },
+ { 0x7042, 130410 },
+ { 0x7043, 130414 },
+ { 0x7044, 130418 },
+ { 0x7045, 130422 },
+ { 0x7046, 130426 },
+ { 0x7047, 130430 },
+ { 0x7048, 130434 },
+ { 0x7049, 130438 },
+ { 0x7098, 130442 },
+ { 0x7099, 130447 },
+ { 0x709A, 130452 },
+ { 0x709B, 130457 },
+ { 0x709C, 130462 },
+ { 0x709D, 130467 },
+ { 0x709E, 130472 },
+ { 0x709F, 130477 },
+ { 0x70A0, 130482 },
+ { 0x70A1, 130487 },
+ { 0x70A2, 130492 },
+ { 0x70A3, 130497 },
+ { 0x70A4, 130502 },
+ { 0x70A5, 130507 },
+ { 0x70A6, 130512 },
+ { 0x70A7, 130517 },
+ { 0x70A8, 130522 },
+ { 0x70A9, 130527 },
+ { 0x70AA, 130532 },
+ { 0x70AB, 130537 },
+ { 0x70AC, 130542 },
+ { 0x70AD, 130547 },
+ { 0x70AE, 130552 },
+ { 0x70AF, 130557 },
+ { 0x70B0, 130562 },
+ { 0x70B1, 130567 },
+ { 0x707E, 130572 },
+ { 0x707F, 130577 },
+ { 0x7080, 130582 },
+ { 0x7081, 130587 },
+ { 0x7082, 130592 },
+ { 0x7083, 130597 },
+ { 0x7084, 130602 },
+ { 0x7085, 130607 },
+ { 0x7086, 130612 },
+ { 0x7087, 130617 },
+ { 0x7088, 130622 },
+ { 0x7089, 130627 },
+ { 0x708A, 130632 },
+ { 0x708B, 130637 },
+ { 0x708C, 130642 },
+ { 0x708D, 130647 },
+ { 0x708E, 130652 },
+ { 0x708F, 130657 },
+ { 0x7090, 130662 },
+ { 0x7091, 130667 },
+ { 0x7092, 130672 },
+ { 0x7093, 130677 },
+ { 0x7094, 130682 },
+ { 0x7095, 130687 },
+ { 0x7096, 130692 },
+ { 0x7097, 130697 },
+ { 0x7016, 130702 },
+ { 0x7017, 130706 },
+ { 0x7018, 130710 },
+ { 0x7019, 130714 },
+ { 0x701A, 130718 },
+ { 0x701B, 130722 },
+ { 0x701C, 130726 },
+ { 0x701D, 130730 },
+ { 0x701E, 130734 },
+ { 0x701F, 130738 },
+ { 0x7020, 130742 },
+ { 0x7021, 130746 },
+ { 0x7022, 130750 },
+ { 0x7023, 130754 },
+ { 0x7024, 130758 },
+ { 0x7025, 130762 },
+ { 0x7026, 130766 },
+ { 0x7027, 130770 },
+ { 0x7028, 130774 },
+ { 0x7029, 130778 },
+ { 0x702A, 130782 },
+ { 0x702B, 130786 },
+ { 0x702C, 130790 },
+ { 0x702D, 130794 },
+ { 0x702E, 130798 },
+ { 0x702F, 130802 },
+ { 0x724B, 130806 },
+ { 0x7250, 130810 },
+ { 0x724C, 130814 },
+ { 0x724F, 130818 },
+ { 0x724E, 130822 },
+ { 0x7253, 130826 },
+ { 0x724A, 130830 },
+ { 0x7252, 130834 },
+ { 0x7251, 130838 },
+ { 0x724D, 130842 },
+ { 0x6FC8, 130846 },
+ { 0x6FC9, 130850 },
+ { 0x6FCA, 130854 },
+ { 0x6FCB, 130858 },
+ { 0x6FCC, 130862 },
+ { 0x6FCD, 130866 },
+ { 0x6FCE, 130870 },
+ { 0x6FCF, 130874 },
+ { 0x6FD0, 130878 },
+ { 0x6FD1, 130882 },
+ { 0x6FD2, 130886 },
+ { 0x6FD3, 130890 },
+ { 0x6FD4, 130894 },
+ { 0x6FD5, 130898 },
+ { 0x6FD6, 130902 },
+ { 0x6FD7, 130906 },
+ { 0x6FD8, 130910 },
+ { 0x6FD9, 130914 },
+ { 0x6FDA, 130918 },
+ { 0x6FDB, 130922 },
+ { 0x6FDC, 130926 },
+ { 0x6FDD, 130930 },
+ { 0x6FDE, 130934 },
+ { 0x6FDF, 130938 },
+ { 0x6FE0, 130942 },
+ { 0x6FE1, 130946 },
+ { 0x6FB5, 130950 },
+ { 0x6FB6, 130954 },
+ { 0x6FB7, 130958 },
+ { 0x6FB8, 130962 },
+ { 0x6FB9, 130966 },
+ { 0x6FBA, 130970 },
+ { 0x6FBB, 130974 },
+ { 0x6FBC, 130978 },
+ { 0x6FBD, 130982 },
+ { 0x6FBE, 130986 },
+ { 0x6FBF, 130990 },
+ { 0x6FC0, 130994 },
+ { 0x6FC1, 130998 },
+ { 0x6FC2, 131002 },
+ { 0x6FC3, 131006 },
+ { 0x6FC4, 131010 },
+ { 0x6FC5, 131014 },
+ { 0x6FC6, 131018 },
+ { 0x6FC7, 131022 },
+ { 0x1C8B, 131026 },
+ { 0x1D73, 131028 },
+ { 0x3E23, 131030 },
+ { 0x3E24, 131036 },
+ { 0x3E25, 131042 },
+ { 0x3E22, 131048 },
+ { 0x3E31, 131055 },
+ { 0x3E2D, 131062 },
+ { 0x3E29, 131070 },
+ { 0x3E35, 131077 },
+ { 0x3E0F, 131085 },
+ { 0x3E33, 131093 },
+ { 0x3E2F, 131100 },
+ { 0x3E39, 131108 },
+ { 0x3E2B, 131115 },
+ { 0x3E27, 131123 },
+ { 0x3E26, 131129 },
+ { 0x3E0B, 131136 },
+ { 0x3E08, 131141 },
+ { 0x3E32, 131146 },
+ { 0x3E2E, 131153 },
+ { 0x3E2A, 131161 },
+ { 0x3E36, 131168 },
+ { 0x3E10, 131176 },
+ { 0x3E10, 131184 },
+ { 0x3E34, 131192 },
+ { 0x3E30, 131199 },
+ { 0x3E3A, 131207 },
+ { 0x3E2C, 131214 },
+ { 0x3E28, 131222 },
+ { 0x3E0E, 131228 },
+ { 0x3E0C, 131234 },
+ { 0x3E11, 131239 },
+ { 0x3E0D, 131245 },
+ { 0x3E0A, 131251 },
+ { 0x3E09, 131258 },
+ { 0x1E6E, 131264 },
+ { 0x7E43, 131266 },
+ { 0x8035, 131268 },
+ { 0x0DA9, 131270 },
+ { 0x0DAB, 131273 },
+ { 0x053E, 131278 },
+ { 0x2308, 131282 },
+ { 0x23CC, 131285 },
+ { 0x2617, 131289 },
+ { 0x2A29, 131290 },
+ { 0x2035, 131293 },
+ { 0x80D2, 131294 },
+ { 0x1C7E, 131295 },
+ { 0x222B, 131297 },
+ { 0x23DF, 131298 },
+ { 0x8029, 131301 },
+ { 0x1E07, 131303 },
+ { 0x1E0B, 131307 },
+ { 0x2563, 131311 },
+ { 0x2415, 131315 },
+ { 0x1E84, 131319 },
+ { 0x7CAE, 131322 },
+ { 0x2634, 131329 },
+ { 0x27B0, 131331 },
+ { 0x27AF, 131336 },
+ { 0x2792, 131341 },
+ { 0x27AD, 131346 },
+ { 0x27AE, 131351 },
+ { 0x1E97, 131356 },
+ { 0x2693, 131362 },
+ { 0x1E96, 131367 },
+ { 0x1EA3, 131370 },
+ { 0x1FD3, 131377 },
+ { 0x1D95, 131380 },
+ { 0x1D91, 131383 },
+ { 0x1D92, 131386 },
+ { 0x1D9B, 131389 },
+ { 0x1D9C, 131393 },
+ { 0x1D9D, 131397 },
+ { 0x1D9E, 131401 },
+ { 0x1D9A, 131405 },
+ { 0x1D57, 131409 },
+ { 0x1D62, 131412 },
+ { 0x1D6A, 131415 },
+ { 0x1D6E, 131418 },
+ { 0x1D6F, 131421 },
+ { 0x1D72, 131424 },
+ { 0x1D79, 131427 },
+ { 0x1D94, 131430 },
+ { 0x1D93, 131433 },
+ { 0x7CE5, 131436 },
+ { 0x7CE7, 131439 },
+ { 0x260B, 131443 },
+ { 0x260C, 131449 },
+ { 0x1D13, 131455 },
+ { 0x1EA2, 131457 },
+ { 0x1E9F, 131460 },
+ { 0x281F, 131463 },
+ { 0x482F, 131466 },
+ { 0x483A, 131470 },
+ { 0x4838, 131474 },
+ { 0x483D, 131478 },
+ { 0x482C, 131482 },
+ { 0x4832, 131486 },
+ { 0x4835, 131490 },
+ { 0x483C, 131494 },
+ { 0x4833, 131498 },
+ { 0x4834, 131502 },
+ { 0x482B, 131506 },
+ { 0x482D, 131510 },
+ { 0x483B, 131514 },
+ { 0x4831, 131518 },
+ { 0x482E, 131522 },
+ { 0x4836, 131526 },
+ { 0x4839, 131530 },
+ { 0x4837, 131534 },
+ { 0x4830, 131538 },
+ { 0x483E, 131542 },
+ { 0x4844, 131546 },
+ { 0x4845, 131551 },
+ { 0x4842, 131556 },
+ { 0x483F, 131560 },
+ { 0x4841, 131564 },
+ { 0x4840, 131568 },
+ { 0x4843, 131572 },
+ { 0x4811, 131576 },
+ { 0x481D, 131580 },
+ { 0x4819, 131584 },
+ { 0x481A, 131588 },
+ { 0x4822, 131592 },
+ { 0x4812, 131596 },
+ { 0x481C, 131600 },
+ { 0x480E, 131604 },
+ { 0x4814, 131608 },
+ { 0x4817, 131612 },
+ { 0x481F, 131616 },
+ { 0x4820, 131620 },
+ { 0x4821, 131624 },
+ { 0x4815, 131628 },
+ { 0x4816, 131632 },
+ { 0x480D, 131636 },
+ { 0x480F, 131640 },
+ { 0x481E, 131644 },
+ { 0x4813, 131648 },
+ { 0x4810, 131652 },
+ { 0x4818, 131656 },
+ { 0x481B, 131660 },
+ { 0x4823, 131664 },
+ { 0x4829, 131668 },
+ { 0x482A, 131673 },
+ { 0x4827, 131678 },
+ { 0x4824, 131682 },
+ { 0x4826, 131686 },
+ { 0x4825, 131690 },
+ { 0x4828, 131694 },
+ { 0x1F7A, 131698 },
+ { 0x261F, 131701 },
+ { 0x006A, 131705 },
+ { 0x7CB7, 131710 },
+ { 0x1C88, 131713 },
+ { 0x1CDF, 131715 },
+ { 0x1CA7, 131717 },
+ { 0x1CA4, 131719 },
+ { 0x1E64, 131721 },
+ { 0x23E1, 131723 },
+ { 0x2097, 131726 },
+ { 0x209C, 131729 },
+ { 0x2098, 131732 },
+ { 0x209B, 131735 },
+ { 0x209A, 131738 },
+ { 0x209F, 131741 },
+ { 0x209E, 131744 },
+ { 0x209D, 131747 },
+ { 0x2099, 131750 },
+ { 0x20BF, 131753 },
+ { 0x20C0, 131758 },
+ { 0x20C1, 131763 },
+ { 0x20C2, 131768 },
+ { 0x20C3, 131773 },
+ { 0x20C4, 131778 },
+ { 0x20C5, 131783 },
+ { 0x20C6, 131788 },
+ { 0x20C7, 131793 },
+ { 0x20C8, 131798 },
+ { 0x20C9, 131803 },
+ { 0x20CA, 131808 },
+ { 0x20CB, 131813 },
+ { 0x20CC, 131818 },
+ { 0x20CD, 131823 },
+ { 0x20CE, 131828 },
+ { 0x20CF, 131833 },
+ { 0x20D0, 131838 },
+ { 0x20D1, 131843 },
+ { 0x20D2, 131848 },
+ { 0x20D3, 131853 },
+ { 0x20D4, 131858 },
+ { 0x20D5, 131863 },
+ { 0x20D6, 131868 },
+ { 0x20D7, 131873 },
+ { 0x20D8, 131878 },
+ { 0x79B2, 131883 },
+ { 0x79B3, 131888 },
+ { 0x79B4, 131893 },
+ { 0x79B5, 131898 },
+ { 0x79B6, 131903 },
+ { 0x79B7, 131908 },
+ { 0x79B8, 131913 },
+ { 0x79B9, 131918 },
+ { 0x79BA, 131923 },
+ { 0x79BB, 131928 },
+ { 0x79BC, 131933 },
+ { 0x79BD, 131938 },
+ { 0x79BE, 131943 },
+ { 0x79BF, 131948 },
+ { 0x79C0, 131953 },
+ { 0x79C1, 131958 },
+ { 0x79C2, 131963 },
+ { 0x79C3, 131968 },
+ { 0x79C4, 131973 },
+ { 0x79C5, 131978 },
+ { 0x79C6, 131983 },
+ { 0x79C7, 131988 },
+ { 0x79C8, 131993 },
+ { 0x79C9, 131998 },
+ { 0x79CA, 132003 },
+ { 0x79CB, 132008 },
+ { 0x2D95, 132013 },
+ { 0x2DA3, 132016 },
+ { 0x2D97, 132020 },
+ { 0x2DA5, 132023 },
+ { 0x2DAB, 132027 },
+ { 0x2D9C, 132031 },
+ { 0x2DAA, 132034 },
+ { 0x2D96, 132038 },
+ { 0x2DA4, 132041 },
+ { 0x2D93, 132045 },
+ { 0x2DA1, 132048 },
+ { 0x2D90, 132052 },
+ { 0x2D9E, 132055 },
+ { 0x2D94, 132059 },
+ { 0x2DA2, 132062 },
+ { 0x2D92, 132066 },
+ { 0x2DA0, 132069 },
+ { 0x2D8F, 132073 },
+ { 0x2D9D, 132076 },
+ { 0x2D91, 132080 },
+ { 0x2D9F, 132083 },
+ { 0x2D98, 132087 },
+ { 0x2DA6, 132090 },
+ { 0x2D99, 132094 },
+ { 0x2DA7, 132097 },
+ { 0x2D9B, 132101 },
+ { 0x2DA9, 132104 },
+ { 0x2D9A, 132108 },
+ { 0x2DA8, 132111 },
+ { 0x2DAD, 132115 },
+ { 0x2DAC, 132120 },
+ { 0x20A0, 132124 },
+ { 0x20A1, 132127 },
+ { 0x20A2, 132130 },
+ { 0x20AA, 132133 },
+ { 0x20A5, 132136 },
+ { 0x20A6, 132139 },
+ { 0x20A8, 132142 },
+ { 0x20A4, 132145 },
+ { 0x20A9, 132148 },
+ { 0x20A3, 132151 },
+ { 0x20A7, 132154 },
+ { 0x2DAE, 132157 },
+ { 0x2DB3, 132160 },
+ { 0x2DBE, 132163 },
+ { 0x2DB7, 132166 },
+ { 0x2DAF, 132169 },
+ { 0x2DC8, 132172 },
+ { 0x2DB9, 132175 },
+ { 0x2DB2, 132178 },
+ { 0x2DB1, 132181 },
+ { 0x2DC0, 132184 },
+ { 0x2DB8, 132187 },
+ { 0x2DC2, 132190 },
+ { 0x2DB6, 132193 },
+ { 0x2DCF, 132196 },
+ { 0x2DD0, 132199 },
+ { 0x2DBB, 132202 },
+ { 0x2DBD, 132205 },
+ { 0x2DB5, 132208 },
+ { 0x2DC6, 132211 },
+ { 0x2DBC, 132214 },
+ { 0x2DD1, 132217 },
+ { 0x2DB4, 132220 },
+ { 0x2DBF, 132223 },
+ { 0x2DC9, 132226 },
+ { 0x2DB0, 132229 },
+ { 0x2DBA, 132232 },
+ { 0x2DC1, 132235 },
+ { 0x2DC3, 132238 },
+ { 0x2DCD, 132241 },
+ { 0x2DCE, 132244 },
+ { 0x2DCC, 132247 },
+ { 0x2DC4, 132250 },
+ { 0x2DC7, 132253 },
+ { 0x2DCA, 132256 },
+ { 0x2DCB, 132259 },
+ { 0x2DC5, 132262 },
+ { 0x23E5, 132265 },
+ { 0x2704, 132266 },
+ { 0x1C89, 132269 },
+ { 0x1CE0, 132271 },
+ { 0x1CA8, 132273 },
+ { 0x1CA5, 132275 },
+ { 0x7DF4, 132277 },
+ { 0x260A, 132279 },
+ { 0x7CA6, 132280 },
+ { 0x1E94, 132281 },
+ { 0x236C, 132284 },
+ { 0x804A, 132286 },
+ { 0x7DBB, 132287 },
+ { 0x81AB, 132289 },
+ { 0x7B2D, 132291 },
+ { 0x2338, 132292 },
+ { 0x0096, 132294 },
+ { 0x2657, 132296 },
+ { 0x2658, 132302 },
+ { 0x265A, 132308 },
+ { 0x265E, 132313 },
+ { 0x2653, 132317 },
+ { 0x2654, 132322 },
+ { 0x1F7B, 132326 },
+ { 0x2620, 132329 },
+ { 0x007A, 132333 },
+ { 0x7CB8, 132338 },
+ { 0x22DF, 132341 },
+ { 0x23D9, 132342 },
+ { 0x23D7, 132346 },
+ { 0x23D8, 132350 },
+ { 0x23DD, 132353 },
+ { 0x235E, 132356 },
+ { 0x23C0, 132358 },
+ { 0x23D6, 132361 },
+ { 0x8295, 132364 },
+ { 0x7C27, 132366 },
+ { 0x2C41, 132368 },
+ { 0x2C3C, 132371 },
+ { 0x2C9D, 132375 },
+ { 0x2C3D, 132379 },
+ { 0x1FE5, 132383 },
+ { 0x7E90, 132385 },
+ { 0x22A0, 132387 },
+ { 0x1FE0, 132390 },
+ { 0x1FE1, 132393 },
+ { 0x1FE3, 132396 },
+ { 0x1FE2, 132398 },
};
-static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unicode_index_to_name[33558] = {
+static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unicode_index_to_name[33563] = {
{ 0x0000, 39156 },
{ 0x0001, 121057 },
{ 0x0002, 115809 },
@@ -81127,7 +81139,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x000A, 79786 },
{ 0x000B, 15968 },
{ 0x000C, 21320 },
- { 0x000D, 126322 },
+ { 0x000D, 126348 },
{ 0x000E, 13597 },
{ 0x000F, 76907 },
{ 0x0010, 21425 },
@@ -81144,7 +81156,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x001B, 116108 },
{ 0x001C, 114354 },
{ 0x001D, 52013 },
- { 0x001E, 126248 },
+ { 0x001E, 126274 },
{ 0x001F, 98569 },
{ 0x0020, 117684 },
{ 0x0021, 31334 },
@@ -81220,23 +81232,23 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0067, 112247 },
{ 0x0068, 106053 },
{ 0x0069, 91839 },
- { 0x006A, 131679 },
+ { 0x006A, 131705 },
{ 0x006B, 7558 },
{ 0x006C, 16191 },
{ 0x006D, 120095 },
{ 0x006E, 60246 },
{ 0x006F, 51448 },
{ 0x0070, 120082 },
- { 0x0071, 125475 },
- { 0x0072, 125510 },
+ { 0x0071, 125501 },
+ { 0x0072, 125536 },
{ 0x0073, 16932 },
{ 0x0074, 36042 },
{ 0x0075, 74658 },
{ 0x0076, 60696 },
{ 0x0077, 67834 },
- { 0x0078, 125471 },
+ { 0x0078, 125497 },
{ 0x0079, 114835 },
- { 0x007A, 132307 },
+ { 0x007A, 132333 },
{ 0x007B, 65701 },
{ 0x007C, 65673 },
{ 0x007D, 65745 },
@@ -81264,7 +81276,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0093, 32792 },
{ 0x0094, 32670 },
{ 0x0095, 32778 },
- { 0x0096, 132268 },
+ { 0x0096, 132294 },
{ 0x0097, 32757 },
{ 0x0098, 33277 },
{ 0x0099, 33259 },
@@ -82456,8 +82468,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x053B, 79467 },
{ 0x053C, 79414 },
{ 0x053D, 79612 },
- { 0x053E, 131252 },
- { 0x053F, 121701 },
+ { 0x053E, 131278 },
+ { 0x053F, 121727 },
{ 0x0540, 79411 },
{ 0x0541, 54056 },
{ 0x0542, 54004 },
@@ -82553,11 +82565,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x059C, 41540 },
{ 0x059D, 41550 },
{ 0x059E, 44966 },
- { 0x059F, 125786 },
- { 0x05A0, 125819 },
+ { 0x059F, 125812 },
+ { 0x05A0, 125845 },
{ 0x05A1, 41489 },
- { 0x05A2, 125782 },
- { 0x05A3, 125777 },
+ { 0x05A2, 125808 },
+ { 0x05A3, 125803 },
{ 0x05A4, 66530 },
{ 0x05A5, 41609 },
{ 0x05A6, 41491 },
@@ -82643,16 +82655,16 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x05F6, 48996 },
{ 0x05F7, 41660 },
{ 0x05F8, 41605 },
- { 0x05F9, 125807 },
- { 0x05FA, 125789 },
- { 0x05FB, 125795 },
- { 0x05FC, 125816 },
- { 0x05FD, 125801 },
- { 0x05FE, 125798 },
- { 0x05FF, 125792 },
- { 0x0600, 125813 },
- { 0x0601, 125810 },
- { 0x0602, 125804 },
+ { 0x05F9, 125833 },
+ { 0x05FA, 125815 },
+ { 0x05FB, 125821 },
+ { 0x05FC, 125842 },
+ { 0x05FD, 125827 },
+ { 0x05FE, 125824 },
+ { 0x05FF, 125818 },
+ { 0x0600, 125839 },
+ { 0x0601, 125836 },
+ { 0x0602, 125830 },
{ 0x0603, 45093 },
{ 0x0604, 45087 },
{ 0x0605, 49009 },
@@ -84611,10 +84623,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x0DA6, 77905 },
{ 0x0DA7, 78006 },
{ 0x0DA8, 77987 },
- { 0x0DA9, 131244 },
- { 0x0DAA, 121693 },
- { 0x0DAB, 131247 },
- { 0x0DAC, 121696 },
+ { 0x0DA9, 131270 },
+ { 0x0DAA, 121719 },
+ { 0x0DAB, 131273 },
+ { 0x0DAC, 121722 },
{ 0x0DAD, 78015 },
{ 0x0DAE, 78020 },
{ 0x0DAF, 73452 },
@@ -88408,20 +88420,20 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1C7B, 80 },
{ 0x1C7C, 88 },
{ 0x1C7D, 82 },
- { 0x1C7E, 131269 },
+ { 0x1C7E, 131295 },
{ 0x1C7F, 121063 },
{ 0x1C80, 120954 },
{ 0x1C81, 52091 },
- { 0x1C82, 122308 },
+ { 0x1C82, 122334 },
{ 0x1C83, 16698 },
{ 0x1C84, 13628 },
{ 0x1C85, 16914 },
{ 0x1C86, 16924 },
{ 0x1C87, 16917 },
- { 0x1C88, 131687 },
- { 0x1C89, 132243 },
+ { 0x1C88, 131713 },
+ { 0x1C89, 132269 },
{ 0x1C8A, 54444 },
- { 0x1C8B, 131000 },
+ { 0x1C8B, 131026 },
{ 0x1C8C, 52089 },
{ 0x1C8D, 84 },
{ 0x1C8E, 78 },
@@ -88446,11 +88458,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1CA1, 121067 },
{ 0x1CA2, 14449 },
{ 0x1CA3, 115790 },
- { 0x1CA4, 131693 },
- { 0x1CA5, 132249 },
+ { 0x1CA4, 131719 },
+ { 0x1CA5, 132275 },
{ 0x1CA6, 10063 },
- { 0x1CA7, 131691 },
- { 0x1CA8, 132247 },
+ { 0x1CA7, 131717 },
+ { 0x1CA8, 132273 },
{ 0x1CA9, 60731 },
{ 0x1CAA, 10051 },
{ 0x1CAB, 10045 },
@@ -88465,7 +88477,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1CB4, 61797 },
{ 0x1CB5, 115851 },
{ 0x1CB6, 51993 },
- { 0x1CB7, 121690 },
+ { 0x1CB7, 121716 },
{ 0x1CB8, 98051 },
{ 0x1CB9, 99478 },
{ 0x1CBA, 104347 },
@@ -88505,8 +88517,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1CDC, 113522 },
{ 0x1CDD, 113524 },
{ 0x1CDE, 113520 },
- { 0x1CDF, 131689 },
- { 0x1CE0, 132245 },
+ { 0x1CDF, 131715 },
+ { 0x1CE0, 132271 },
{ 0x1CE1, 22125 },
{ 0x1CE2, 10060 },
{ 0x1CE3, 70537 },
@@ -88515,20 +88527,20 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1CE6, 79392 },
{ 0x1CE7, 97258 },
{ 0x1CE8, 74193 },
- { 0x1CE9, 125489 },
- { 0x1CEA, 125493 },
- { 0x1CEB, 125479 },
- { 0x1CEC, 125477 },
- { 0x1CED, 125473 },
- { 0x1CEE, 125508 },
- { 0x1CEF, 125491 },
- { 0x1CF0, 125484 },
- { 0x1CF1, 125486 },
- { 0x1CF2, 125503 },
- { 0x1CF3, 125512 },
- { 0x1CF4, 125481 },
- { 0x1CF5, 125505 },
- { 0x1CF6, 125498 },
+ { 0x1CE9, 125515 },
+ { 0x1CEA, 125519 },
+ { 0x1CEB, 125505 },
+ { 0x1CEC, 125503 },
+ { 0x1CED, 125499 },
+ { 0x1CEE, 125534 },
+ { 0x1CEF, 125517 },
+ { 0x1CF0, 125510 },
+ { 0x1CF1, 125512 },
+ { 0x1CF2, 125529 },
+ { 0x1CF3, 125538 },
+ { 0x1CF4, 125507 },
+ { 0x1CF5, 125531 },
+ { 0x1CF6, 125524 },
{ 0x1CF7, 116165 },
{ 0x1CF8, 116147 },
{ 0x1CF9, 116151 },
@@ -88557,7 +88569,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1D10, 34185 },
{ 0x1D11, 34195 },
{ 0x1D12, 34200 },
- { 0x1D13, 131429 },
+ { 0x1D13, 131455 },
{ 0x1D14, 21315 },
{ 0x1D15, 84031 },
{ 0x1D16, 52125 },
@@ -88625,7 +88637,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1D54, 105373 },
{ 0x1D55, 66527 },
{ 0x1D56, 100778 },
- { 0x1D57, 131383 },
+ { 0x1D57, 131409 },
{ 0x1D58, 51450 },
{ 0x1D59, 50296 },
{ 0x1D5A, 12971 },
@@ -88635,40 +88647,40 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1D5E, 51452 },
{ 0x1D5F, 61730 },
{ 0x1D60, 61748 },
- { 0x1D61, 125829 },
- { 0x1D62, 131386 },
+ { 0x1D61, 125855 },
+ { 0x1D62, 131412 },
{ 0x1D63, 61449 },
{ 0x1D64, 61451 },
{ 0x1D65, 61751 },
- { 0x1D66, 125832 },
+ { 0x1D66, 125858 },
{ 0x1D67, 61754 },
{ 0x1D68, 61733 },
{ 0x1D69, 5 },
- { 0x1D6A, 131389 },
+ { 0x1D6A, 131415 },
{ 0x1D6B, 60794 },
{ 0x1D6C, 39033 },
{ 0x1D6D, 61760 },
- { 0x1D6E, 131392 },
- { 0x1D6F, 131395 },
+ { 0x1D6E, 131418 },
+ { 0x1D6F, 131421 },
{ 0x1D70, 61763 },
- { 0x1D71, 125835 },
- { 0x1D72, 131398 },
- { 0x1D73, 131002 },
+ { 0x1D71, 125861 },
+ { 0x1D72, 131424 },
+ { 0x1D73, 131028 },
{ 0x1D74, 98712 },
{ 0x1D75, 75318 },
{ 0x1D76, 116443 },
{ 0x1D77, 39967 },
{ 0x1D78, 99479 },
- { 0x1D79, 131401 },
+ { 0x1D79, 131427 },
{ 0x1D7A, 37847 },
{ 0x1D7B, 7651 },
{ 0x1D7C, 93918 },
- { 0x1D7D, 125838 },
+ { 0x1D7D, 125864 },
{ 0x1D7E, 65600 },
{ 0x1D7F, 55336 },
{ 0x1D80, 79408 },
{ 0x1D81, 61739 },
- { 0x1D82, 125826 },
+ { 0x1D82, 125852 },
{ 0x1D83, 112549 },
{ 0x1D84, 61727 },
{ 0x1D85, 61742 },
@@ -88680,27 +88692,27 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1D8B, 4456 },
{ 0x1D8C, 22157 },
{ 0x1D8D, 21365 },
- { 0x1D8E, 121673 },
+ { 0x1D8E, 121699 },
{ 0x1D8F, 75250 },
{ 0x1D90, 112579 },
- { 0x1D91, 131357 },
- { 0x1D92, 131360 },
- { 0x1D93, 131407 },
- { 0x1D94, 131404 },
- { 0x1D95, 131354 },
+ { 0x1D91, 131383 },
+ { 0x1D92, 131386 },
+ { 0x1D93, 131433 },
+ { 0x1D94, 131430 },
+ { 0x1D95, 131380 },
{ 0x1D96, 65641 },
{ 0x1D97, 65645 },
{ 0x1D98, 98793 },
{ 0x1D99, 65649 },
- { 0x1D9A, 131379 },
- { 0x1D9B, 131363 },
- { 0x1D9C, 131367 },
- { 0x1D9D, 131371 },
- { 0x1D9E, 131375 },
+ { 0x1D9A, 131405 },
+ { 0x1D9B, 131389 },
+ { 0x1D9C, 131393 },
+ { 0x1D9D, 131397 },
+ { 0x1D9E, 131401 },
{ 0x1D9F, 98507 },
{ 0x1DA0, 65637 },
{ 0x1DA1, 10049 },
- { 0x1DA2, 125773 },
+ { 0x1DA2, 125799 },
{ 0x1DA3, 65615 },
{ 0x1DA4, 62845 },
{ 0x1DA5, 65705 },
@@ -88801,11 +88813,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E04, 112278 },
{ 0x1E05, 120218 },
{ 0x1E06, 112301 },
- { 0x1E07, 131277 },
+ { 0x1E07, 131303 },
{ 0x1E08, 104365 },
{ 0x1E09, 36250 },
{ 0x1E0A, 113768 },
- { 0x1E0B, 131281 },
+ { 0x1E0B, 131307 },
{ 0x1E0C, 104369 },
{ 0x1E0D, 114092 },
{ 0x1E0E, 114097 },
@@ -88894,7 +88906,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E61, 36151 },
{ 0x1E62, 36153 },
{ 0x1E63, 36046 },
- { 0x1E64, 131695 },
+ { 0x1E64, 131721 },
{ 0x1E65, 6102 },
{ 0x1E66, 86112 },
{ 0x1E67, 10086 },
@@ -88904,7 +88916,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E6B, 62166 },
{ 0x1E6C, 13264 },
{ 0x1E6D, 52123 },
- { 0x1E6E, 131238 },
+ { 0x1E6E, 131264 },
{ 0x1E6F, 93863 },
{ 0x1E70, 37978 },
{ 0x1E71, 17274 },
@@ -88916,7 +88928,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E77, 7599 },
{ 0x1E78, 70924 },
{ 0x1E79, 70892 },
- { 0x1E7A, 126324 },
+ { 0x1E7A, 126350 },
{ 0x1E7B, 39973 },
{ 0x1E7C, 93869 },
{ 0x1E7D, 51956 },
@@ -88926,7 +88938,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E81, 65671 },
{ 0x1E82, 104390 },
{ 0x1E83, 104387 },
- { 0x1E84, 131293 },
+ { 0x1E84, 131319 },
{ 0x1E85, 116717 },
{ 0x1E86, 66716 },
{ 0x1E87, 37905 },
@@ -88942,10 +88954,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E91, 66369 },
{ 0x1E92, 7568 },
{ 0x1E93, 36072 },
- { 0x1E94, 132255 },
+ { 0x1E94, 132281 },
{ 0x1E95, 7612 },
- { 0x1E96, 131341 },
- { 0x1E97, 131330 },
+ { 0x1E96, 131367 },
+ { 0x1E97, 131356 },
{ 0x1E98, 74010 },
{ 0x1E99, 41470 },
{ 0x1E9A, 7570 },
@@ -88953,11 +88965,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1E9C, 65522 },
{ 0x1E9D, 4077 },
{ 0x1E9E, 118230 },
- { 0x1E9F, 131434 },
+ { 0x1E9F, 131460 },
{ 0x1EA0, 118226 },
{ 0x1EA1, 117580 },
- { 0x1EA2, 131431 },
- { 0x1EA3, 131344 },
+ { 0x1EA2, 131457 },
+ { 0x1EA3, 131370 },
{ 0x1EA4, 25586 },
{ 0x1EA5, 21317 },
{ 0x1EA6, 52076 },
@@ -88976,11 +88988,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1EB3, 7602 },
{ 0x1EB4, 98896 },
{ 0x1EB5, 114286 },
- { 0x1EB6, 126180 },
+ { 0x1EB6, 126206 },
{ 0x1EB7, 114350 },
- { 0x1EB8, 126244 },
+ { 0x1EB8, 126270 },
{ 0x1EB9, 114340 },
- { 0x1EBA, 126234 },
+ { 0x1EBA, 126260 },
{ 0x1EBB, 15552 },
{ 0x1EBC, 15554 },
{ 0x1EBD, 67051 },
@@ -88990,11 +89002,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1EC1, 73982 },
{ 0x1EC2, 73996 },
{ 0x1EC3, 114320 },
- { 0x1EC4, 126217 },
+ { 0x1EC4, 126243 },
{ 0x1EC5, 73987 },
{ 0x1EC6, 74005 },
{ 0x1EC7, 114327 },
- { 0x1EC8, 126214 },
+ { 0x1EC8, 126240 },
{ 0x1EC9, 73992 },
{ 0x1ECA, 74001 },
{ 0x1ECB, 98450 },
@@ -89061,7 +89073,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F08, 25584 },
{ 0x1F09, 97246 },
{ 0x1F0A, 113496 },
- { 0x1F0B, 121675 },
+ { 0x1F0B, 121701 },
{ 0x1F0C, 12640 },
{ 0x1F0D, 15560 },
{ 0x1F0E, 7545 },
@@ -89090,11 +89102,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F25, 115799 },
{ 0x1F26, 22099 },
{ 0x1F27, 114356 },
- { 0x1F28, 126250 },
+ { 0x1F28, 126276 },
{ 0x1F29, 16823 },
{ 0x1F2A, 16826 },
{ 0x1F2B, 114403 },
- { 0x1F2C, 126297 },
+ { 0x1F2C, 126323 },
{ 0x1F2D, 22091 },
{ 0x1F2E, 22095 },
{ 0x1F2F, 22083 },
@@ -89106,7 +89118,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F35, 62279 },
{ 0x1F36, 62399 },
{ 0x1F37, 114345 },
- { 0x1F38, 126239 },
+ { 0x1F38, 126265 },
{ 0x1F39, 98459 },
{ 0x1F3A, 98908 },
{ 0x1F3B, 7574 },
@@ -89137,7 +89149,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F54, 396 },
{ 0x1F55, 13353 },
{ 0x1F56, 120086 },
- { 0x1F57, 122307 },
+ { 0x1F57, 122333 },
{ 0x1F58, 16889 },
{ 0x1F59, 14384 },
{ 0x1F5A, 38197 },
@@ -89172,11 +89184,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1F77, 22107 },
{ 0x1F78, 12 },
{ 0x1F79, 94786 },
- { 0x1F7A, 131672 },
- { 0x1F7B, 132300 },
+ { 0x1F7A, 131698 },
+ { 0x1F7B, 132326 },
{ 0x1F7C, 22103 },
{ 0x1F7D, 67045 },
- { 0x1F7E, 125847 },
+ { 0x1F7E, 125873 },
{ 0x1F7F, 4080 },
{ 0x1F80, 99027 },
{ 0x1F81, 39965 },
@@ -89261,7 +89273,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1FD0, 99577 },
{ 0x1FD1, 113518 },
{ 0x1FD2, 117692 },
- { 0x1FD3, 131351 },
+ { 0x1FD3, 131377 },
{ 0x1FD4, 90161 },
{ 0x1FD5, 121011 },
{ 0x1FD6, 41024 },
@@ -89274,12 +89286,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x1FDD, 16817 },
{ 0x1FDE, 119977 },
{ 0x1FDF, 119584 },
- { 0x1FE0, 132364 },
- { 0x1FE1, 132367 },
- { 0x1FE2, 132372 },
- { 0x1FE3, 132370 },
+ { 0x1FE0, 132390 },
+ { 0x1FE1, 132393 },
+ { 0x1FE2, 132398 },
+ { 0x1FE3, 132396 },
{ 0x1FE4, 51496 },
- { 0x1FE5, 132357 },
+ { 0x1FE5, 132383 },
{ 0x1FE6, 4185 },
{ 0x1FE7, 69102 },
{ 0x1FE8, 98504 },
@@ -89359,7 +89371,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2032, 49701 },
{ 0x2033, 41167 },
{ 0x2034, 67047 },
- { 0x2035, 131267 },
+ { 0x2035, 131293 },
{ 0x2036, 91845 },
{ 0x2037, 72 },
{ 0x2038, 118228 },
@@ -89457,26 +89469,26 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2094, 68518 },
{ 0x2095, 68524 },
{ 0x2096, 68461 },
- { 0x2097, 131700 },
- { 0x2098, 131706 },
- { 0x2099, 131724 },
- { 0x209A, 131712 },
- { 0x209B, 131709 },
- { 0x209C, 131703 },
- { 0x209D, 131721 },
- { 0x209E, 131718 },
- { 0x209F, 131715 },
- { 0x20A0, 132098 },
- { 0x20A1, 132101 },
- { 0x20A2, 132104 },
- { 0x20A3, 132125 },
- { 0x20A4, 132119 },
- { 0x20A5, 132110 },
- { 0x20A6, 132113 },
- { 0x20A7, 132128 },
- { 0x20A8, 132116 },
- { 0x20A9, 132122 },
- { 0x20AA, 132107 },
+ { 0x2097, 131726 },
+ { 0x2098, 131732 },
+ { 0x2099, 131750 },
+ { 0x209A, 131738 },
+ { 0x209B, 131735 },
+ { 0x209C, 131729 },
+ { 0x209D, 131747 },
+ { 0x209E, 131744 },
+ { 0x209F, 131741 },
+ { 0x20A0, 132124 },
+ { 0x20A1, 132127 },
+ { 0x20A2, 132130 },
+ { 0x20A3, 132151 },
+ { 0x20A4, 132145 },
+ { 0x20A5, 132136 },
+ { 0x20A6, 132139 },
+ { 0x20A7, 132154 },
+ { 0x20A8, 132142 },
+ { 0x20A9, 132148 },
+ { 0x20AA, 132133 },
{ 0x20AB, 21373 },
{ 0x20AC, 21391 },
{ 0x20AD, 21454 },
@@ -89497,32 +89509,32 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x20BC, 60774 },
{ 0x20BD, 60782 },
{ 0x20BE, 60762 },
- { 0x20BF, 131727 },
- { 0x20C0, 131732 },
- { 0x20C1, 131737 },
- { 0x20C2, 131742 },
- { 0x20C3, 131747 },
- { 0x20C4, 131752 },
- { 0x20C5, 131757 },
- { 0x20C6, 131762 },
- { 0x20C7, 131767 },
- { 0x20C8, 131772 },
- { 0x20C9, 131777 },
- { 0x20CA, 131782 },
- { 0x20CB, 131787 },
- { 0x20CC, 131792 },
- { 0x20CD, 131797 },
- { 0x20CE, 131802 },
- { 0x20CF, 131807 },
- { 0x20D0, 131812 },
- { 0x20D1, 131817 },
- { 0x20D2, 131822 },
- { 0x20D3, 131827 },
- { 0x20D4, 131832 },
- { 0x20D5, 131837 },
- { 0x20D6, 131842 },
- { 0x20D7, 131847 },
- { 0x20D8, 131852 },
+ { 0x20BF, 131753 },
+ { 0x20C0, 131758 },
+ { 0x20C1, 131763 },
+ { 0x20C2, 131768 },
+ { 0x20C3, 131773 },
+ { 0x20C4, 131778 },
+ { 0x20C5, 131783 },
+ { 0x20C6, 131788 },
+ { 0x20C7, 131793 },
+ { 0x20C8, 131798 },
+ { 0x20C9, 131803 },
+ { 0x20CA, 131808 },
+ { 0x20CB, 131813 },
+ { 0x20CC, 131818 },
+ { 0x20CD, 131823 },
+ { 0x20CE, 131828 },
+ { 0x20CF, 131833 },
+ { 0x20D0, 131838 },
+ { 0x20D1, 131843 },
+ { 0x20D2, 131848 },
+ { 0x20D3, 131853 },
+ { 0x20D4, 131858 },
+ { 0x20D5, 131863 },
+ { 0x20D6, 131868 },
+ { 0x20D7, 131873 },
+ { 0x20D8, 131878 },
{ 0x20D9, 68063 },
{ 0x20DA, 68068 },
{ 0x20DB, 68073 },
@@ -89834,8 +89846,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x220D, 62185 },
{ 0x220E, 41035 },
{ 0x220F, 41186 },
- { 0x2210, 125535 },
- { 0x2211, 125541 },
+ { 0x2210, 125561 },
+ { 0x2211, 125567 },
{ 0x2212, 26734 },
{ 0x2213, 41012 },
{ 0x2214, 41000 },
@@ -89861,7 +89873,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2228, 20357 },
{ 0x2229, 40692 },
{ 0x222A, 114419 },
- { 0x222B, 131271 },
+ { 0x222B, 131297 },
{ 0x222C, 10115 },
{ 0x222D, 102552 },
{ 0x222E, 117697 },
@@ -89887,7 +89899,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2242, 40645 },
{ 0x2243, 38804 },
{ 0x2244, 67832 },
- { 0x2245, 122310 },
+ { 0x2245, 122336 },
{ 0x2246, 102874 },
{ 0x2247, 80653 },
{ 0x2248, 12865 },
@@ -89933,7 +89945,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2270, 40584 },
{ 0x2271, 34260 },
{ 0x2272, 98803 },
- { 0x2273, 122314 },
+ { 0x2273, 122340 },
{ 0x2274, 104132 },
{ 0x2275, 79410 },
{ 0x2276, 61447 },
@@ -89978,7 +89990,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x229D, 115846 },
{ 0x229E, 20869 },
{ 0x229F, 98575 },
- { 0x22A0, 132361 },
+ { 0x22A0, 132387 },
{ 0x22A1, 115795 },
{ 0x22A2, 120984 },
{ 0x22A3, 6084 },
@@ -90009,7 +90021,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x22BC, 13611 },
{ 0x22BD, 39166 },
{ 0x22BE, 12866 },
- { 0x22BF, 126171 },
+ { 0x22BF, 126197 },
{ 0x22C0, 98048 },
{ 0x22C1, 39877 },
{ 0x22C2, 39873 },
@@ -90017,7 +90029,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x22C4, 13649 },
{ 0x22C5, 69662 },
{ 0x22C6, 69659 },
- { 0x22C7, 121685 },
+ { 0x22C7, 121711 },
{ 0x22C8, 14719 },
{ 0x22C9, 14733 },
{ 0x22CA, 14725 },
@@ -90039,9 +90051,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x22DA, 50526 },
{ 0x22DB, 20354 },
{ 0x22DC, 75320 },
- { 0x22DD, 122318 },
+ { 0x22DD, 122344 },
{ 0x22DE, 98574 },
- { 0x22DF, 132315 },
+ { 0x22DF, 132341 },
{ 0x22E0, 61811 },
{ 0x22E1, 80307 },
{ 0x22E2, 77438 },
@@ -90079,11 +90091,11 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2302, 20608 },
{ 0x2303, 120097 },
{ 0x2304, 120100 },
- { 0x2305, 125822 },
+ { 0x2305, 125848 },
{ 0x2306, 25331 },
{ 0x2307, 115794 },
- { 0x2308, 131256 },
- { 0x2309, 121705 },
+ { 0x2308, 131282 },
+ { 0x2309, 121731 },
{ 0x230A, 93929 },
{ 0x230B, 20554 },
{ 0x230C, 61783 },
@@ -90130,7 +90142,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2335, 20316 },
{ 0x2336, 21207 },
{ 0x2337, 25202 },
- { 0x2338, 132266 },
+ { 0x2338, 132292 },
{ 0x2339, 25517 },
{ 0x233A, 49576 },
{ 0x233B, 25321 },
@@ -90168,7 +90180,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x235B, 25219 },
{ 0x235C, 65654 },
{ 0x235D, 76608 },
- { 0x235E, 132330 },
+ { 0x235E, 132356 },
{ 0x235F, 15912 },
{ 0x2360, 25550 },
{ 0x2361, 10103 },
@@ -90182,7 +90194,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2369, 25391 },
{ 0x236A, 77218 },
{ 0x236B, 25399 },
- { 0x236C, 132258 },
+ { 0x236C, 132284 },
{ 0x236D, 21996 },
{ 0x236E, 25225 },
{ 0x236F, 21331 },
@@ -90266,7 +90278,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x23BD, 25253 },
{ 0x23BE, 86147 },
{ 0x23BF, 25498 },
- { 0x23C0, 132332 },
+ { 0x23C0, 132358 },
{ 0x23C1, 25557 },
{ 0x23C2, 51444 },
{ 0x23C3, 25339 },
@@ -90278,32 +90290,32 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x23C9, 25188 },
{ 0x23CA, 39161 },
{ 0x23CB, 25545 },
- { 0x23CC, 131259 },
- { 0x23CD, 121708 },
+ { 0x23CC, 131285 },
+ { 0x23CD, 121734 },
{ 0x23CE, 120991 },
- { 0x23CF, 126175 },
+ { 0x23CF, 126201 },
{ 0x23D0, 25244 },
{ 0x23D1, 25305 },
{ 0x23D2, 74204 },
{ 0x23D3, 21351 },
{ 0x23D4, 74216 },
{ 0x23D5, 67925 },
- { 0x23D6, 132335 },
- { 0x23D7, 132320 },
- { 0x23D8, 132324 },
- { 0x23D9, 132316 },
+ { 0x23D6, 132361 },
+ { 0x23D7, 132346 },
+ { 0x23D8, 132350 },
+ { 0x23D9, 132342 },
{ 0x23DA, 25536 },
{ 0x23DB, 25541 },
{ 0x23DC, 25531 },
- { 0x23DD, 132327 },
+ { 0x23DD, 132353 },
{ 0x23DE, 25561 },
- { 0x23DF, 131272 },
+ { 0x23DF, 131298 },
{ 0x23E0, 25502 },
- { 0x23E1, 131697 },
+ { 0x23E1, 131723 },
{ 0x23E2, 51854 },
{ 0x23E3, 39904 },
{ 0x23E4, 41143 },
- { 0x23E5, 132239 },
+ { 0x23E5, 132265 },
{ 0x23E6, 15918 },
{ 0x23E7, 15930 },
{ 0x23E8, 14396 },
@@ -90312,9 +90324,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x23EB, 75214 },
{ 0x23EC, 99024 },
{ 0x23ED, 99480 },
- { 0x23EE, 128404 },
+ { 0x23EE, 128430 },
{ 0x23EF, 14668 },
- { 0x23F0, 128571 },
+ { 0x23F0, 128597 },
{ 0x23F1, 77650 },
{ 0x23F2, 77647 },
{ 0x23F3, 41082 },
@@ -90339,19 +90351,19 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2406, 41200 },
{ 0x2407, 41041 },
{ 0x2408, 41046 },
- { 0x2409, 127913 },
- { 0x240A, 127937 },
- { 0x240B, 127909 },
- { 0x240C, 127933 },
- { 0x240D, 127924 },
- { 0x240E, 127948 },
- { 0x240F, 127918 },
- { 0x2410, 127942 },
- { 0x2411, 127929 },
- { 0x2412, 127953 },
+ { 0x2409, 127939 },
+ { 0x240A, 127963 },
+ { 0x240B, 127935 },
+ { 0x240C, 127959 },
+ { 0x240D, 127950 },
+ { 0x240E, 127974 },
+ { 0x240F, 127944 },
+ { 0x2410, 127968 },
+ { 0x2411, 127955 },
+ { 0x2412, 127979 },
{ 0x2413, 79233 },
{ 0x2414, 112447 },
- { 0x2415, 131289 },
+ { 0x2415, 131315 },
{ 0x2416, 104383 },
{ 0x2417, 38017 },
{ 0x2418, 14670 },
@@ -90685,7 +90697,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2560, 11615 },
{ 0x2561, 34875 },
{ 0x2562, 34727 },
- { 0x2563, 131285 },
+ { 0x2563, 131311 },
{ 0x2564, 104379 },
{ 0x2565, 120259 },
{ 0x2566, 113903 },
@@ -90741,7 +90753,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2598, 120270 },
{ 0x2599, 114387 },
{ 0x259A, 113941 },
- { 0x259B, 126287 },
+ { 0x259B, 126313 },
{ 0x259C, 62510 },
{ 0x259D, 113937 },
{ 0x259E, 99009 },
@@ -90844,7 +90856,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x25FF, 119586 },
{ 0x2600, 11602 },
{ 0x2601, 93864 },
- { 0x2602, 126151 },
+ { 0x2602, 126177 },
{ 0x2603, 62241 },
{ 0x2604, 113515 },
{ 0x2605, 75786 },
@@ -90852,20 +90864,20 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2607, 52020 },
{ 0x2608, 113506 },
{ 0x2609, 52137 },
- { 0x260A, 132253 },
- { 0x260B, 131417 },
- { 0x260C, 131423 },
+ { 0x260A, 132279 },
+ { 0x260B, 131443 },
+ { 0x260C, 131449 },
{ 0x260D, 20778 },
{ 0x260E, 20795 },
{ 0x260F, 40942 },
{ 0x2610, 20636 },
- { 0x2611, 126165 },
- { 0x2612, 126156 },
- { 0x2613, 126168 },
- { 0x2614, 126159 },
- { 0x2615, 126162 },
- { 0x2616, 126153 },
- { 0x2617, 131263 },
+ { 0x2611, 126191 },
+ { 0x2612, 126182 },
+ { 0x2613, 126194 },
+ { 0x2614, 126185 },
+ { 0x2615, 126188 },
+ { 0x2616, 126179 },
+ { 0x2617, 131289 },
{ 0x2618, 75211 },
{ 0x2619, 76908 },
{ 0x261A, 75206 },
@@ -90873,8 +90885,8 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x261C, 4458 },
{ 0x261D, 51843 },
{ 0x261E, 65515 },
- { 0x261F, 131675 },
- { 0x2620, 132303 },
+ { 0x261F, 131701 },
+ { 0x2620, 132329 },
{ 0x2621, 16702 },
{ 0x2622, 15286 },
{ 0x2623, 36131 },
@@ -90894,7 +90906,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2631, 93877 },
{ 0x2632, 93901 },
{ 0x2633, 121009 },
- { 0x2634, 131303 },
+ { 0x2634, 131329 },
{ 0x2635, 14457 },
{ 0x2636, 14464 },
{ 0x2637, 14451 },
@@ -90925,34 +90937,34 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2650, 15970 },
{ 0x2651, 15976 },
{ 0x2652, 65663 },
- { 0x2653, 132291 },
- { 0x2654, 132296 },
+ { 0x2653, 132317 },
+ { 0x2654, 132322 },
{ 0x2655, 120943 },
{ 0x2656, 39016 },
- { 0x2657, 132270 },
- { 0x2658, 132276 },
+ { 0x2657, 132296 },
+ { 0x2658, 132302 },
{ 0x2659, 68886 },
- { 0x265A, 132282 },
+ { 0x265A, 132308 },
{ 0x265B, 68547 },
{ 0x265C, 15982 },
{ 0x265D, 36048 },
- { 0x265E, 132287 },
+ { 0x265E, 132313 },
{ 0x265F, 93907 },
{ 0x2660, 115855 },
{ 0x2661, 68 },
- { 0x2662, 125774 },
- { 0x2663, 126325 },
+ { 0x2662, 125800 },
+ { 0x2663, 126351 },
{ 0x2664, 39974 },
{ 0x2665, 39982 },
- { 0x2666, 126332 },
- { 0x2667, 126328 },
+ { 0x2666, 126358 },
+ { 0x2667, 126354 },
{ 0x2668, 39978 },
{ 0x2669, 39990 },
- { 0x266A, 126340 },
+ { 0x266A, 126366 },
{ 0x266B, 39985 },
- { 0x266C, 126335 },
+ { 0x266C, 126361 },
{ 0x266D, 39993 },
- { 0x266E, 126343 },
+ { 0x266E, 126369 },
{ 0x266F, 50610 },
{ 0x2670, 50647 },
{ 0x2671, 51892 },
@@ -90989,7 +91001,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2690, 106049 },
{ 0x2691, 52073 },
{ 0x2692, 41473 },
- { 0x2693, 131336 },
+ { 0x2693, 131362 },
{ 0x2694, 52053 },
{ 0x2695, 16023 },
{ 0x2696, 52058 },
@@ -90999,33 +91011,33 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x269A, 52033 },
{ 0x269B, 118232 },
{ 0x269C, 114359 },
- { 0x269D, 126253 },
+ { 0x269D, 126279 },
{ 0x269E, 114363 },
- { 0x269F, 126257 },
+ { 0x269F, 126283 },
{ 0x26A0, 114290 },
- { 0x26A1, 126184 },
+ { 0x26A1, 126210 },
{ 0x26A2, 114312 },
- { 0x26A3, 126206 },
+ { 0x26A3, 126232 },
{ 0x26A4, 114295 },
- { 0x26A5, 126189 },
+ { 0x26A5, 126215 },
{ 0x26A6, 114303 },
- { 0x26A7, 126197 },
+ { 0x26A7, 126223 },
{ 0x26A8, 114324 },
- { 0x26A9, 126221 },
+ { 0x26A9, 126247 },
{ 0x26AA, 114334 },
- { 0x26AB, 126228 },
+ { 0x26AB, 126254 },
{ 0x26AC, 114330 },
- { 0x26AD, 126224 },
+ { 0x26AD, 126250 },
{ 0x26AE, 114391 },
- { 0x26AF, 126291 },
+ { 0x26AF, 126317 },
{ 0x26B0, 114368 },
- { 0x26B1, 126262 },
+ { 0x26B1, 126288 },
{ 0x26B2, 114373 },
- { 0x26B3, 126267 },
+ { 0x26B3, 126293 },
{ 0x26B4, 114397 },
- { 0x26B5, 126281 },
+ { 0x26B5, 126307 },
{ 0x26B6, 114378 },
- { 0x26B7, 126272 },
+ { 0x26B7, 126298 },
{ 0x26B8, 76611 },
{ 0x26B9, 76624 },
{ 0x26BA, 76616 },
@@ -91041,12 +91053,12 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x26C4, 51878 },
{ 0x26C5, 51886 },
{ 0x26C6, 51881 },
- { 0x26C7, 126316 },
- { 0x26C8, 126302 },
+ { 0x26C7, 126342 },
+ { 0x26C8, 126328 },
{ 0x26C9, 114408 },
- { 0x26CA, 126305 },
+ { 0x26CA, 126331 },
{ 0x26CB, 114412 },
- { 0x26CC, 126309 },
+ { 0x26CC, 126335 },
{ 0x26CD, 76655 },
{ 0x26CE, 57437 },
{ 0x26CF, 76657 },
@@ -91096,13 +91108,13 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x26FB, 99013 },
{ 0x26FC, 69831 },
{ 0x26FD, 115800 },
- { 0x26FE, 125516 },
+ { 0x26FE, 125542 },
{ 0x26FF, 69938 },
{ 0x2700, 119979 },
{ 0x2701, 38784 },
{ 0x2702, 38776 },
{ 0x2703, 38753 },
- { 0x2704, 132240 },
+ { 0x2704, 132266 },
{ 0x2705, 99495 },
{ 0x2706, 51970 },
{ 0x2707, 99490 },
@@ -91244,7 +91256,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x278F, 120640 },
{ 0x2790, 112533 },
{ 0x2791, 104417 },
- { 0x2792, 131315 },
+ { 0x2792, 131341 },
{ 0x2793, 114207 },
{ 0x2794, 79260 },
{ 0x2795, 120569 },
@@ -91271,10 +91283,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27AA, 79086 },
{ 0x27AB, 120304 },
{ 0x27AC, 112341 },
- { 0x27AD, 131320 },
- { 0x27AE, 131325 },
- { 0x27AF, 131310 },
- { 0x27B0, 131305 },
+ { 0x27AD, 131346 },
+ { 0x27AE, 131351 },
+ { 0x27AF, 131336 },
+ { 0x27B0, 131331 },
{ 0x27B1, 61659 },
{ 0x27B2, 61661 },
{ 0x27B3, 74189 },
@@ -91316,9 +91328,9 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27D7, 61694 },
{ 0x27D8, 79127 },
{ 0x27D9, 398 },
- { 0x27DA, 122297 },
- { 0x27DB, 122292 },
- { 0x27DC, 122289 },
+ { 0x27DA, 122323 },
+ { 0x27DB, 122318 },
+ { 0x27DC, 122315 },
{ 0x27DD, 49599 },
{ 0x27DE, 67846 },
{ 0x27DF, 67857 },
@@ -91339,7 +91351,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x27EE, 40663 },
{ 0x27EF, 75241 },
{ 0x27F0, 62414 },
- { 0x27F1, 125518 },
+ { 0x27F1, 125544 },
{ 0x27F2, 25087 },
{ 0x27F3, 37871 },
{ 0x27F4, 37880 },
@@ -91385,7 +91397,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x281C, 69665 },
{ 0x281D, 61391 },
{ 0x281E, 98736 },
- { 0x281F, 131437 },
+ { 0x281F, 131463 },
{ 0x2820, 118461 },
{ 0x2821, 118490 },
{ 0x2822, 118514 },
@@ -91862,10 +91874,10 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x29F9, 14316 },
{ 0x29FA, 38129 },
{ 0x29FB, 112547 },
- { 0x29FC, 122300 },
+ { 0x29FC, 122326 },
{ 0x29FD, 52121 },
{ 0x29FE, 98757 },
- { 0x29FF, 126323 },
+ { 0x29FF, 126349 },
{ 0x2A00, 51817 },
{ 0x2A01, 112362 },
{ 0x2A02, 79151 },
@@ -91907,7 +91919,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2A26, 11635 },
{ 0x2A27, 65658 },
{ 0x2A28, 99090 },
- { 0x2A29, 131264 },
+ { 0x2A29, 131290 },
{ 0x2A2A, 99524 },
{ 0x2A2B, 66353 },
{ 0x2A2C, 104131 },
@@ -91924,7 +91936,7 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2A37, 51821 },
{ 0x2A38, 65524 },
{ 0x2A39, 95034 },
- { 0x2A3A, 122301 },
+ { 0x2A3A, 122327 },
{ 0x2A3B, 75167 },
{ 0x2A3C, 68907 },
{ 0x2A3D, 21338 },
@@ -92275,22407 +92287,22412 @@ static const struct { uint16_t index; uint32_t name:24; } ATTRIBUTE_PACKED unico
{ 0x2B96, 121605 },
{ 0x2B97, 121619 },
{ 0x2B98, 121594 },
- { 0x2B99, 121637 },
- { 0x2B9A, 121643 },
- { 0x2B9B, 121631 },
- { 0x2B9C, 121656 },
- { 0x2B9D, 121663 },
- { 0x2B9E, 121649 },
+ { 0x2B99, 121641 },
+ { 0x2B9A, 121647 },
+ { 0x2B9B, 121635 },
+ { 0x2B9C, 121673 },
+ { 0x2B9D, 121680 },
+ { 0x2B9E, 121653 },
{ 0x2B9F, 121627 },
- { 0x2BA0, 121082 },
- { 0x2BA1, 121076 },
- { 0x2BA2, 121069 },
- { 0x2BA3, 21461 },
- { 0x2BA4, 93954 },
- { 0x2BA5, 121122 },
- { 0x2BA6, 121111 },
- { 0x2BA7, 121104 },
- { 0x2BA8, 14126 },
- { 0x2BA9, 37995 },
- { 0x2BAA, 14296 },
- { 0x2BAB, 38103 },
- { 0x2BAC, 14289 },
- { 0x2BAD, 38096 },
- { 0x2BAE, 14266 },
- { 0x2BAF, 38076 },
- { 0x2BB0, 14149 },
- { 0x2BB1, 38027 },
- { 0x2BB2, 61469 },
- { 0x2BB3, 13618 },
- { 0x2BB4, 14404 },
- { 0x2BB5, 38224 },
- { 0x2BB6, 14279 },
- { 0x2BB7, 38089 },
- { 0x2BB8, 14274 },
- { 0x2BB9, 38084 },
- { 0x2BBA, 14270 },
- { 0x2BBB, 38080 },
- { 0x2BBC, 16872 },
- { 0x2BBD, 98747 },
- { 0x2BBE, 51863 },
- { 0x2BBF, 6495 },
- { 0x2BC0, 61471 },
- { 0x2BC1, 93138 },
- { 0x2BC2, 93147 },
- { 0x2BC3, 93165 },
- { 0x2BC4, 93153 },
- { 0x2BC5, 93150 },
- { 0x2BC6, 93141 },
- { 0x2BC7, 93162 },
- { 0x2BC8, 93159 },
- { 0x2BC9, 93156 },
- { 0x2BCA, 121078 },
- { 0x2BCB, 121107 },
- { 0x2BCC, 121118 },
- { 0x2BCD, 121114 },
- { 0x2BCE, 52521 },
- { 0x2BCF, 52235 },
- { 0x2BD0, 16887 },
- { 0x2BD1, 99533 },
- { 0x2BD2, 99549 },
- { 0x2BD3, 99543 },
- { 0x2BD4, 99556 },
- { 0x2BD5, 99537 },
- { 0x2BD6, 68533 },
- { 0x2BD7, 121125 },
- { 0x2BD8, 93144 },
- { 0x2BD9, 93171 },
- { 0x2BDA, 93168 },
- { 0x2BDB, 99600 },
- { 0x2BDC, 14742 },
- { 0x2BDD, 15953 },
- { 0x2BDE, 121527 },
- { 0x2BDF, 121072 },
- { 0x2BE0, 93643 },
- { 0x2BE1, 93421 },
- { 0x2BE2, 93651 },
- { 0x2BE3, 93427 },
- { 0x2BE4, 93659 },
- { 0x2BE5, 93436 },
- { 0x2BE6, 93647 },
- { 0x2BE7, 93424 },
- { 0x2BE8, 93655 },
- { 0x2BE9, 93433 },
- { 0x2BEA, 93499 },
- { 0x2BEB, 93469 },
- { 0x2BEC, 93505 },
- { 0x2BED, 93475 },
- { 0x2BEE, 93511 },
- { 0x2BEF, 93481 },
- { 0x2BF0, 93502 },
- { 0x2BF1, 93472 },
- { 0x2BF2, 93508 },
- { 0x2BF3, 93478 },
- { 0x2BF4, 93574 },
- { 0x2BF5, 93628 },
- { 0x2BF6, 93580 },
- { 0x2BF7, 93634 },
- { 0x2BF8, 93586 },
- { 0x2BF9, 93640 },
- { 0x2BFA, 93577 },
- { 0x2BFB, 93631 },
- { 0x2BFC, 93583 },
- { 0x2BFD, 93637 },
- { 0x2BFE, 93589 },
- { 0x2BFF, 93454 },
- { 0x2C00, 93595 },
- { 0x2C01, 93460 },
- { 0x2C02, 93675 },
- { 0x2C03, 93601 },
- { 0x2C04, 93466 },
- { 0x2C05, 93592 },
- { 0x2C06, 93457 },
- { 0x2C07, 93598 },
- { 0x2C08, 93463 },
- { 0x2C09, 93529 },
- { 0x2C0A, 93535 },
- { 0x2C0B, 93541 },
- { 0x2C0C, 93532 },
- { 0x2C0D, 93538 },
- { 0x2C0E, 93484 },
- { 0x2C0F, 93439 },
- { 0x2C10, 93544 },
- { 0x2C11, 93490 },
- { 0x2C12, 93445 },
- { 0x2C13, 93550 },
- { 0x2C14, 93496 },
- { 0x2C15, 93451 },
- { 0x2C16, 93556 },
- { 0x2C17, 93487 },
- { 0x2C18, 93442 },
- { 0x2C19, 93547 },
- { 0x2C1A, 93493 },
- { 0x2C1B, 93448 },
- { 0x2C1C, 93553 },
- { 0x2C1D, 93514 },
- { 0x2C1E, 93520 },
- { 0x2C1F, 93526 },
- { 0x2C20, 93517 },
- { 0x2C21, 93523 },
- { 0x2C22, 93695 },
- { 0x2C23, 93619 },
- { 0x2C24, 93703 },
- { 0x2C25, 93625 },
- { 0x2C26, 93699 },
- { 0x2C27, 93622 },
- { 0x2C28, 93559 },
- { 0x2C29, 93565 },
- { 0x2C2A, 93571 },
- { 0x2C2B, 93562 },
- { 0x2C2C, 93568 },
- { 0x2C2D, 93679 },
- { 0x2C2E, 93607 },
- { 0x2C2F, 93613 },
- { 0x2C30, 93610 },
- { 0x2C31, 93616 },
- { 0x2C32, 93430 },
- { 0x2C33, 93604 },
- { 0x2C34, 93663 },
- { 0x2C35, 93667 },
- { 0x2C36, 106039 },
- { 0x2C37, 106044 },
- { 0x2C38, 132345 },
- { 0x2C39, 132353 },
- { 0x2C3A, 93722 },
- { 0x2C3B, 93715 },
- { 0x2C3C, 93719 },
- { 0x2C3D, 132342 },
- { 0x2C3E, 94566 },
- { 0x2C3F, 94332 },
- { 0x2C40, 94574 },
- { 0x2C41, 94338 },
- { 0x2C42, 94586 },
- { 0x2C43, 94347 },
- { 0x2C44, 94570 },
- { 0x2C45, 94335 },
- { 0x2C46, 94582 },
- { 0x2C47, 94344 },
- { 0x2C48, 94410 },
- { 0x2C49, 94380 },
- { 0x2C4A, 94416 },
- { 0x2C4B, 94386 },
- { 0x2C4C, 94422 },
- { 0x2C4D, 94392 },
- { 0x2C4E, 94413 },
- { 0x2C4F, 94383 },
- { 0x2C50, 94419 },
- { 0x2C51, 94389 },
- { 0x2C52, 94485 },
- { 0x2C53, 94551 },
- { 0x2C54, 94491 },
- { 0x2C55, 94557 },
- { 0x2C56, 94497 },
- { 0x2C57, 94563 },
- { 0x2C58, 94488 },
- { 0x2C59, 94554 },
- { 0x2C5A, 94494 },
- { 0x2C5B, 94560 },
- { 0x2C5C, 94500 },
- { 0x2C5D, 94365 },
- { 0x2C5E, 94506 },
- { 0x2C5F, 94371 },
- { 0x2C60, 94666 },
- { 0x2C61, 94512 },
- { 0x2C62, 94377 },
- { 0x2C63, 94503 },
- { 0x2C64, 94368 },
- { 0x2C65, 94509 },
- { 0x2C66, 94374 },
- { 0x2C67, 94440 },
- { 0x2C68, 94446 },
- { 0x2C69, 94452 },
- { 0x2C6A, 94443 },
- { 0x2C6B, 94449 },
- { 0x2C6C, 94395 },
- { 0x2C6D, 94350 },
- { 0x2C6E, 94455 },
- { 0x2C6F, 94401 },
- { 0x2C70, 94356 },
- { 0x2C71, 94461 },
- { 0x2C72, 94407 },
- { 0x2C73, 94362 },
- { 0x2C74, 94467 },
- { 0x2C75, 94398 },
- { 0x2C76, 94353 },
- { 0x2C77, 94458 },
- { 0x2C78, 94404 },
- { 0x2C79, 94359 },
- { 0x2C7A, 94464 },
- { 0x2C7B, 94425 },
- { 0x2C7C, 94431 },
- { 0x2C7D, 94437 },
- { 0x2C7E, 94428 },
- { 0x2C7F, 94434 },
- { 0x2C80, 94686 },
- { 0x2C81, 94542 },
- { 0x2C82, 94694 },
- { 0x2C83, 94548 },
- { 0x2C84, 94690 },
- { 0x2C85, 94545 },
- { 0x2C86, 94470 },
- { 0x2C87, 94476 },
- { 0x2C88, 94482 },
- { 0x2C89, 94473 },
- { 0x2C8A, 94479 },
- { 0x2C8B, 94670 },
- { 0x2C8C, 94530 },
- { 0x2C8D, 94536 },
- { 0x2C8E, 94533 },
- { 0x2C8F, 94539 },
- { 0x2C90, 94341 },
- { 0x2C91, 94527 },
- { 0x2C92, 94610 },
- { 0x2C93, 94614 },
- { 0x2C94, 94515 },
- { 0x2C95, 94521 },
- { 0x2C96, 94518 },
- { 0x2C97, 94524 },
- { 0x2C98, 94773 },
- { 0x2C99, 132349 },
- { 0x2C9A, 94783 },
- { 0x2C9B, 94776 },
- { 0x2C9C, 94780 },
- { 0x2C9D, 80339 },
- { 0x2C9E, 80387 },
- { 0x2C9F, 80372 },
- { 0x2CA0, 80351 },
- { 0x2CA1, 80345 },
- { 0x2CA2, 80399 },
- { 0x2CA3, 80375 },
- { 0x2CA4, 80369 },
- { 0x2CA5, 80354 },
- { 0x2CA6, 80366 },
- { 0x2CA7, 80357 },
- { 0x2CA8, 80363 },
- { 0x2CA9, 80390 },
- { 0x2CAA, 80408 },
- { 0x2CAB, 80504 },
- { 0x2CAC, 80432 },
- { 0x2CAD, 80501 },
- { 0x2CAE, 80393 },
- { 0x2CAF, 80411 },
- { 0x2CB0, 80342 },
- { 0x2CB1, 80396 },
- { 0x2CB2, 80336 },
- { 0x2CB3, 80378 },
- { 0x2CB4, 80348 },
- { 0x2CB5, 80438 },
- { 0x2CB6, 80417 },
- { 0x2CB7, 80441 },
- { 0x2CB8, 80426 },
- { 0x2CB9, 80498 },
- { 0x2CBA, 80423 },
- { 0x2CBB, 80444 },
- { 0x2CBC, 80513 },
- { 0x2CBD, 80519 },
- { 0x2CBE, 80447 },
- { 0x2CBF, 80360 },
- { 0x2CC0, 80402 },
- { 0x2CC1, 80471 },
- { 0x2CC2, 80405 },
- { 0x2CC3, 80483 },
- { 0x2CC4, 80453 },
- { 0x2CC5, 80462 },
- { 0x2CC6, 80381 },
- { 0x2CC7, 80486 },
- { 0x2CC8, 52347 },
- { 0x2CC9, 52446 },
- { 0x2CCA, 52416 },
- { 0x2CCB, 52329 },
- { 0x2CCC, 52422 },
- { 0x2CCD, 52425 },
- { 0x2CCE, 52350 },
- { 0x2CCF, 52449 },
- { 0x2CD0, 52335 },
- { 0x2CD1, 52464 },
- { 0x2CD2, 52434 },
- { 0x2CD3, 52437 },
- { 0x2CD4, 52389 },
- { 0x2CD5, 52491 },
- { 0x2CD6, 52488 },
- { 0x2CD7, 52431 },
- { 0x2CD8, 52326 },
- { 0x2CD9, 52332 },
- { 0x2CDA, 52413 },
- { 0x2CDB, 52386 },
- { 0x2CDC, 52305 },
- { 0x2CDD, 52377 },
- { 0x2CDE, 52323 },
- { 0x2CDF, 52317 },
- { 0x2CE0, 52401 },
- { 0x2CE1, 52359 },
- { 0x2CE2, 52362 },
- { 0x2CE3, 52371 },
- { 0x2CE4, 52368 },
- { 0x2CE5, 52320 },
- { 0x2CE6, 52242 },
- { 0x2CE7, 52257 },
- { 0x2CE8, 52278 },
- { 0x2CE9, 52299 },
- { 0x2CEA, 52260 },
- { 0x2CEB, 52245 },
- { 0x2CEC, 52302 },
- { 0x2CED, 52281 },
- { 0x2CEE, 52251 },
- { 0x2CEF, 52269 },
- { 0x2CF0, 52293 },
- { 0x2CF1, 52266 },
- { 0x2CF2, 52287 },
- { 0x2CF3, 52254 },
- { 0x2CF4, 52296 },
- { 0x2CF5, 52272 },
- { 0x2CF6, 52275 },
- { 0x2CF7, 52290 },
- { 0x2CF8, 52263 },
- { 0x2CF9, 52284 },
- { 0x2CFA, 52248 },
- { 0x2CFB, 52240 },
- { 0x2CFC, 52410 },
- { 0x2CFD, 52455 },
- { 0x2CFE, 52383 },
- { 0x2CFF, 52479 },
- { 0x2D00, 52512 },
- { 0x2D01, 52467 },
- { 0x2D02, 52500 },
- { 0x2D03, 52485 },
- { 0x2D04, 52515 },
- { 0x2D05, 52419 },
- { 0x2D06, 52380 },
- { 0x2D07, 52476 },
- { 0x2D08, 52470 },
- { 0x2D09, 52458 },
- { 0x2D0A, 52461 },
- { 0x2D0B, 52506 },
- { 0x2D0C, 52509 },
- { 0x2D0D, 52428 },
- { 0x2D0E, 52482 },
- { 0x2D0F, 52473 },
- { 0x2D10, 52518 },
- { 0x2D11, 52440 },
- { 0x2D12, 52395 },
- { 0x2D13, 52443 },
- { 0x2D14, 52398 },
- { 0x2D15, 52392 },
- { 0x2D16, 52365 },
- { 0x2D17, 52407 },
- { 0x2D18, 52374 },
- { 0x2D19, 52494 },
- { 0x2D1A, 52503 },
- { 0x2D1B, 52497 },
- { 0x2D1C, 52404 },
- { 0x2D1D, 52452 },
- { 0x2D1E, 52338 },
- { 0x2D1F, 52353 },
- { 0x2D20, 52308 },
- { 0x2D21, 52356 },
- { 0x2D22, 52341 },
- { 0x2D23, 52311 },
- { 0x2D24, 52314 },
- { 0x2D25, 52344 },
- { 0x2D26, 121586 },
- { 0x2D27, 121590 },
- { 0x2D28, 121534 },
- { 0x2D29, 121542 },
- { 0x2D2A, 121562 },
- { 0x2D2B, 121546 },
- { 0x2D2C, 121538 },
- { 0x2D2D, 121578 },
- { 0x2D2E, 121566 },
- { 0x2D2F, 121554 },
- { 0x2D30, 121582 },
- { 0x2D31, 121558 },
- { 0x2D32, 121570 },
- { 0x2D33, 121574 },
- { 0x2D34, 121550 },
- { 0x2D35, 121530 },
- { 0x2D36, 80429 },
- { 0x2D37, 80507 },
- { 0x2D38, 80474 },
- { 0x2D39, 80456 },
- { 0x2D3A, 80435 },
- { 0x2D3B, 80522 },
- { 0x2D3C, 80495 },
- { 0x2D3D, 80534 },
- { 0x2D3E, 80468 },
- { 0x2D3F, 80516 },
- { 0x2D40, 80525 },
- { 0x2D41, 80537 },
- { 0x2D42, 80465 },
- { 0x2D43, 80528 },
- { 0x2D44, 80540 },
- { 0x2D45, 80543 },
- { 0x2D46, 80420 },
- { 0x2D47, 80492 },
- { 0x2D48, 80531 },
- { 0x2D49, 80546 },
- { 0x2D4A, 80328 },
- { 0x2D4B, 80332 },
- { 0x2D4C, 80324 },
- { 0x2D4D, 80320 },
- { 0x2D4E, 80450 },
- { 0x2D4F, 80480 },
- { 0x2D50, 80510 },
- { 0x2D51, 80316 },
- { 0x2D52, 80459 },
- { 0x2D53, 80477 },
- { 0x2D54, 80489 },
- { 0x2D55, 80414 },
- { 0x2D56, 5544 },
- { 0x2D57, 5583 },
- { 0x2D58, 5586 },
- { 0x2D59, 5589 },
- { 0x2D5A, 5574 },
- { 0x2D5B, 5601 },
- { 0x2D5C, 5592 },
- { 0x2D5D, 5550 },
- { 0x2D5E, 5619 },
- { 0x2D5F, 5628 },
- { 0x2D60, 5595 },
- { 0x2D61, 5622 },
- { 0x2D62, 5613 },
- { 0x2D63, 5598 },
- { 0x2D64, 5625 },
- { 0x2D65, 5532 },
- { 0x2D66, 5529 },
- { 0x2D67, 5541 },
- { 0x2D68, 5535 },
- { 0x2D69, 5568 },
- { 0x2D6A, 5526 },
- { 0x2D6B, 5553 },
- { 0x2D6C, 5547 },
- { 0x2D6D, 5577 },
- { 0x2D6E, 5607 },
- { 0x2D6F, 5571 },
- { 0x2D70, 5565 },
- { 0x2D71, 5556 },
- { 0x2D72, 5562 },
- { 0x2D73, 5580 },
- { 0x2D74, 5610 },
- { 0x2D75, 5604 },
- { 0x2D76, 5616 },
- { 0x2D77, 5631 },
- { 0x2D78, 5559 },
- { 0x2D79, 5538 },
- { 0x2D7A, 94622 },
- { 0x2D7B, 94654 },
- { 0x2D7C, 94658 },
- { 0x2D7D, 94662 },
- { 0x2D7E, 94630 },
- { 0x2D7F, 94590 },
- { 0x2D80, 94598 },
- { 0x2D81, 94606 },
- { 0x2D82, 94594 },
- { 0x2D83, 94602 },
- { 0x2D84, 94626 },
- { 0x2D85, 94634 },
- { 0x2D86, 94642 },
- { 0x2D87, 94650 },
- { 0x2D88, 94638 },
- { 0x2D89, 94646 },
- { 0x2D8A, 132047 },
- { 0x2D8B, 132026 },
- { 0x2D8C, 132054 },
- { 0x2D8D, 132040 },
- { 0x2D8E, 132019 },
- { 0x2D8F, 132033 },
- { 0x2D90, 131987 },
- { 0x2D91, 132012 },
- { 0x2D92, 131994 },
- { 0x2D93, 132061 },
- { 0x2D94, 132068 },
- { 0x2D95, 132082 },
- { 0x2D96, 132075 },
- { 0x2D97, 132005 },
- { 0x2D98, 132050 },
- { 0x2D99, 132029 },
- { 0x2D9A, 132057 },
- { 0x2D9B, 132043 },
- { 0x2D9C, 132022 },
- { 0x2D9D, 132036 },
- { 0x2D9E, 131990 },
- { 0x2D9F, 132015 },
- { 0x2DA0, 131997 },
- { 0x2DA1, 132064 },
- { 0x2DA2, 132071 },
- { 0x2DA3, 132085 },
- { 0x2DA4, 132078 },
- { 0x2DA5, 132008 },
- { 0x2DA6, 132001 },
- { 0x2DA7, 132094 },
- { 0x2DA8, 132089 },
- { 0x2DA9, 132131 },
- { 0x2DAA, 132143 },
- { 0x2DAB, 132203 },
- { 0x2DAC, 132155 },
- { 0x2DAD, 132152 },
- { 0x2DAE, 132134 },
- { 0x2DAF, 132194 },
- { 0x2DB0, 132182 },
- { 0x2DB1, 132167 },
- { 0x2DB2, 132140 },
- { 0x2DB3, 132161 },
- { 0x2DB4, 132149 },
- { 0x2DB5, 132206 },
- { 0x2DB6, 132176 },
- { 0x2DB7, 132188 },
- { 0x2DB8, 132179 },
- { 0x2DB9, 132137 },
- { 0x2DBA, 132197 },
- { 0x2DBB, 132158 },
- { 0x2DBC, 132209 },
- { 0x2DBD, 132164 },
- { 0x2DBE, 132212 },
- { 0x2DBF, 132224 },
- { 0x2DC0, 132236 },
- { 0x2DC1, 132185 },
- { 0x2DC2, 132227 },
- { 0x2DC3, 132146 },
- { 0x2DC4, 132200 },
- { 0x2DC5, 132230 },
- { 0x2DC6, 132233 },
- { 0x2DC7, 132221 },
- { 0x2DC8, 132215 },
- { 0x2DC9, 132218 },
- { 0x2DCA, 132170 },
- { 0x2DCB, 132173 },
- { 0x2DCC, 132191 },
- { 0x2DCD, 68833 },
- { 0x2DCE, 68863 },
- { 0x2DCF, 68812 },
- { 0x2DD0, 68743 },
- { 0x2DD1, 68338 },
- { 0x2DD2, 68464 },
- { 0x2DD3, 68416 },
- { 0x2DD4, 68356 },
- { 0x2DD5, 68347 },
- { 0x2DD6, 68398 },
- { 0x2DD7, 68509 },
- { 0x2DD8, 68404 },
- { 0x2DD9, 122303 },
- { 0x2DDA, 68470 },
- { 0x2DDB, 68478 },
- { 0x2DDC, 68502 },
- { 0x2DDD, 68486 },
- { 0x2DDE, 68482 },
- { 0x2DDF, 68474 },
- { 0x2DE0, 68498 },
- { 0x2DE1, 68494 },
- { 0x2DE2, 68490 },
- { 0x2DE3, 68413 },
- { 0x2DE4, 68422 },
- { 0x2DE5, 68430 },
- { 0x2DE6, 68454 },
- { 0x2DE7, 68438 },
- { 0x2DE8, 68434 },
- { 0x2DE9, 68273 },
- { 0x2DEA, 68252 },
- { 0x2DEB, 68280 },
- { 0x2DEC, 68266 },
- { 0x2DED, 68245 },
- { 0x2DEE, 68259 },
- { 0x2DEF, 68213 },
- { 0x2DF0, 68234 },
- { 0x2DF1, 68220 },
- { 0x2DF2, 68287 },
- { 0x2DF3, 68294 },
- { 0x2DF4, 68308 },
- { 0x2DF5, 68301 },
- { 0x2DF6, 68227 },
- { 0x2DF7, 68276 },
- { 0x2DF8, 68255 },
- { 0x2DF9, 68283 },
- { 0x2DFA, 68269 },
- { 0x2DFB, 68248 },
- { 0x2DFC, 68262 },
- { 0x2DFD, 68216 },
- { 0x2DFE, 68237 },
- { 0x2DFF, 68223 },
- { 0x2E00, 68290 },
- { 0x2E01, 68297 },
- { 0x2E02, 68311 },
- { 0x2E03, 68304 },
- { 0x2E04, 68230 },
- { 0x2E05, 68331 },
- { 0x2E06, 68327 },
- { 0x2E07, 68241 },
- { 0x2E08, 57432 },
- { 0x2E09, 68707 },
- { 0x2E0A, 68719 },
- { 0x2E0B, 68797 },
- { 0x2E0C, 68731 },
- { 0x2E0D, 68728 },
- { 0x2E0E, 68710 },
- { 0x2E0F, 68788 },
- { 0x2E10, 68770 },
- { 0x2E11, 68758 },
- { 0x2E12, 68716 },
- { 0x2E13, 68752 },
- { 0x2E14, 68725 },
- { 0x2E15, 68800 },
- { 0x2E16, 68764 },
- { 0x2E17, 68776 },
- { 0x2E18, 68767 },
- { 0x2E19, 68713 },
- { 0x2E1A, 68791 },
- { 0x2E1B, 68734 },
- { 0x2E1C, 68821 },
- { 0x2E1D, 68755 },
- { 0x2E1E, 68824 },
- { 0x2E1F, 68854 },
- { 0x2E20, 68866 },
- { 0x2E21, 68773 },
- { 0x2E22, 68815 },
- { 0x2E23, 68749 },
- { 0x2E24, 68809 },
- { 0x2E25, 68842 },
- { 0x2E26, 68851 },
- { 0x2E27, 68782 },
- { 0x2E28, 68848 },
- { 0x2E29, 68740 },
- { 0x2E2A, 68761 },
- { 0x2E2B, 68722 },
- { 0x2E2C, 68818 },
- { 0x2E2D, 68737 },
- { 0x2E2E, 68806 },
- { 0x2E2F, 68704 },
- { 0x2E30, 68746 },
- { 0x2E31, 68785 },
- { 0x2E32, 68830 },
- { 0x2E33, 68836 },
- { 0x2E34, 68794 },
- { 0x2E35, 68857 },
- { 0x2E36, 68860 },
- { 0x2E37, 68839 },
- { 0x2E38, 68827 },
- { 0x2E39, 68779 },
- { 0x2E3A, 68426 },
- { 0x2E3B, 68450 },
- { 0x2E3C, 68446 },
- { 0x2E3D, 68442 },
- { 0x2E3E, 68353 },
- { 0x2E3F, 68362 },
- { 0x2E40, 68370 },
- { 0x2E41, 68394 },
- { 0x2E42, 68378 },
- { 0x2E43, 68374 },
- { 0x2E44, 68366 },
- { 0x2E45, 68390 },
- { 0x2E46, 68386 },
- { 0x2E47, 68382 },
- { 0x2E48, 68344 },
- { 0x2E49, 121497 },
- { 0x2E4A, 121512 },
- { 0x2E4B, 121487 },
- { 0x2E4C, 121482 },
- { 0x2E4D, 121317 },
- { 0x2E4E, 121477 },
- { 0x2E4F, 121472 },
- { 0x2E50, 121492 },
- { 0x2E51, 121522 },
- { 0x2E52, 121502 },
- { 0x2E53, 121517 },
- { 0x2E54, 121507 },
- { 0x2E55, 61908 },
- { 0x2E56, 62075 },
- { 0x2E57, 61898 },
- { 0x2E58, 70888 },
- { 0x2E59, 68553 },
- { 0x2E5A, 68559 },
- { 0x2E5B, 68565 },
- { 0x2E5C, 68556 },
- { 0x2E5D, 68562 },
- { 0x2E5E, 68583 },
- { 0x2E5F, 68589 },
- { 0x2E60, 68595 },
- { 0x2E61, 68586 },
- { 0x2E62, 68592 },
- { 0x2E63, 68643 },
- { 0x2E64, 68649 },
- { 0x2E65, 68655 },
- { 0x2E66, 68646 },
- { 0x2E67, 68652 },
- { 0x2E68, 68658 },
- { 0x2E69, 68664 },
- { 0x2E6A, 68670 },
- { 0x2E6B, 68661 },
- { 0x2E6C, 68667 },
- { 0x2E6D, 68613 },
- { 0x2E6E, 68619 },
- { 0x2E6F, 68625 },
- { 0x2E70, 68616 },
- { 0x2E71, 68622 },
- { 0x2E72, 68568 },
- { 0x2E73, 68574 },
- { 0x2E74, 68580 },
- { 0x2E75, 68571 },
- { 0x2E76, 68577 },
- { 0x2E77, 68598 },
- { 0x2E78, 68604 },
- { 0x2E79, 68610 },
- { 0x2E7A, 68601 },
- { 0x2E7B, 68607 },
- { 0x2E7C, 68685 },
- { 0x2E7D, 68691 },
- { 0x2E7E, 68688 },
- { 0x2E7F, 68628 },
- { 0x2E80, 68634 },
- { 0x2E81, 68640 },
- { 0x2E82, 68631 },
- { 0x2E83, 68637 },
- { 0x2E84, 68673 },
- { 0x2E85, 68679 },
- { 0x2E86, 68676 },
- { 0x2E87, 68682 },
- { 0x2E88, 62059 },
- { 0x2E89, 62329 },
- { 0x2E8A, 62331 },
- { 0x2E8B, 62256 },
- { 0x2E8C, 62120 },
- { 0x2E8D, 62341 },
- { 0x2E8E, 62137 },
- { 0x2E8F, 62118 },
- { 0x2E90, 62389 },
- { 0x2E91, 62262 },
- { 0x2E92, 62154 },
- { 0x2E93, 62156 },
- { 0x2E94, 62292 },
- { 0x2E95, 62361 },
- { 0x2E96, 62363 },
- { 0x2E97, 62266 },
- { 0x2E98, 62264 },
- { 0x2E99, 62133 },
- { 0x2E9A, 62268 },
- { 0x2E9B, 62345 },
- { 0x2E9C, 62359 },
- { 0x2E9D, 62141 },
- { 0x2E9E, 62433 },
- { 0x2E9F, 62437 },
- { 0x2EA0, 62425 },
- { 0x2EA1, 62335 },
- { 0x2EA2, 62421 },
- { 0x2EA3, 62427 },
- { 0x2EA4, 62365 },
- { 0x2EA5, 62294 },
- { 0x2EA6, 62343 },
- { 0x2EA7, 62296 },
- { 0x2EA8, 62383 },
- { 0x2EA9, 62419 },
- { 0x2EAA, 62385 },
- { 0x2EAB, 62319 },
- { 0x2EAC, 62321 },
- { 0x2EAD, 62260 },
- { 0x2EAE, 62124 },
- { 0x2EAF, 62126 },
- { 0x2EB0, 62116 },
- { 0x2EB1, 62152 },
- { 0x2EB2, 62302 },
- { 0x2EB3, 62270 },
- { 0x2EB4, 62412 },
- { 0x2EB5, 62304 },
- { 0x2EB6, 62357 },
- { 0x2EB7, 62431 },
- { 0x2EB8, 62351 },
- { 0x2EB9, 62160 },
- { 0x2EBA, 62122 },
- { 0x2EBB, 62394 },
- { 0x2EBC, 62339 },
- { 0x2EBD, 62387 },
- { 0x2EBE, 62274 },
- { 0x2EBF, 62423 },
- { 0x2EC0, 62158 },
- { 0x2EC1, 62349 },
- { 0x2EC2, 62337 },
- { 0x2EC3, 62308 },
- { 0x2EC4, 62306 },
- { 0x2EC5, 62258 },
- { 0x2EC6, 62353 },
- { 0x2EC7, 62333 },
- { 0x2EC8, 62083 },
- { 0x2EC9, 62310 },
- { 0x2ECA, 62272 },
- { 0x2ECB, 62135 },
- { 0x2ECC, 62369 },
- { 0x2ECD, 62300 },
- { 0x2ECE, 62298 },
- { 0x2ECF, 62347 },
- { 0x2ED0, 62371 },
- { 0x2ED1, 62377 },
- { 0x2ED2, 62150 },
- { 0x2ED3, 62429 },
- { 0x2ED4, 62148 },
- { 0x2ED5, 62375 },
- { 0x2ED6, 62373 },
- { 0x2ED7, 62325 },
- { 0x2ED8, 62327 },
- { 0x2ED9, 62254 },
- { 0x2EDA, 62379 },
- { 0x2EDB, 62164 },
- { 0x2EDC, 62317 },
- { 0x2EDD, 62381 },
- { 0x2EDE, 62162 },
- { 0x2EDF, 62417 },
- { 0x2EE0, 62323 },
- { 0x2EE1, 121364 },
- { 0x2EE2, 121322 },
- { 0x2EE3, 121340 },
- { 0x2EE4, 121382 },
- { 0x2EE5, 121352 },
- { 0x2EE6, 121346 },
- { 0x2EE7, 121328 },
- { 0x2EE8, 121376 },
- { 0x2EE9, 121370 },
- { 0x2EEA, 121358 },
- { 0x2EEB, 121334 },
- { 0x2EEC, 121388 },
- { 0x2EED, 121394 },
- { 0x2EEE, 121436 },
- { 0x2EEF, 121424 },
- { 0x2EF0, 121406 },
- { 0x2EF1, 121412 },
- { 0x2EF2, 121442 },
- { 0x2EF3, 121418 },
- { 0x2EF4, 121430 },
- { 0x2EF5, 121400 },
- { 0x2EF6, 121448 },
- { 0x2EF7, 121454 },
- { 0x2EF8, 121466 },
- { 0x2EF9, 121460 },
- { 0x2EFA, 62085 },
- { 0x2EFB, 61882 },
- { 0x2EFC, 61864 },
- { 0x2EFD, 62047 },
- { 0x2EFE, 62018 },
- { 0x2EFF, 62025 },
- { 0x2F00, 61890 },
- { 0x2F01, 61895 },
- { 0x2F02, 61892 },
- { 0x2F03, 61916 },
- { 0x2F04, 62063 },
- { 0x2F05, 62067 },
- { 0x2F06, 62071 },
- { 0x2F07, 62055 },
- { 0x2F08, 62435 },
- { 0x2F09, 62022 },
- { 0x2F0A, 62006 },
- { 0x2F0B, 61972 },
- { 0x2F0C, 61951 },
- { 0x2F0D, 61918 },
- { 0x2F0E, 61920 },
- { 0x2F0F, 61953 },
- { 0x2F10, 61902 },
- { 0x2F11, 62049 },
- { 0x2F12, 62139 },
- { 0x2F13, 62027 },
- { 0x2F14, 62008 },
- { 0x2F15, 61975 },
- { 0x2F16, 61978 },
- { 0x2F17, 61958 },
- { 0x2F18, 61922 },
- { 0x2F19, 61912 },
- { 0x2F1A, 62087 },
- { 0x2F1B, 62093 },
- { 0x2F1C, 62079 },
- { 0x2F1D, 62114 },
- { 0x2F1E, 61981 },
- { 0x2F1F, 61960 },
- { 0x2F20, 61888 },
- { 0x2F21, 61926 },
- { 0x2F22, 61900 },
- { 0x2F23, 62010 },
- { 0x2F24, 61984 },
- { 0x2F25, 61962 },
- { 0x2F26, 61872 },
- { 0x2F27, 61928 },
- { 0x2F28, 61967 },
- { 0x2F29, 61877 },
- { 0x2F2A, 61855 },
- { 0x2F2B, 61936 },
- { 0x2F2C, 61964 },
- { 0x2F2D, 61874 },
- { 0x2F2E, 61852 },
- { 0x2F2F, 61930 },
- { 0x2F30, 61843 },
- { 0x2F31, 61847 },
- { 0x2F32, 62020 },
- { 0x2F33, 62089 },
- { 0x2F34, 62099 },
- { 0x2F35, 62081 },
- { 0x2F36, 62103 },
- { 0x2F37, 62105 },
- { 0x2F38, 62109 },
- { 0x2F39, 62035 },
- { 0x2F3A, 62012 },
- { 0x2F3B, 61987 },
- { 0x2F3C, 61970 },
- { 0x2F3D, 62037 },
- { 0x2F3E, 62014 },
- { 0x2F3F, 61990 },
- { 0x2F40, 61996 },
- { 0x2F41, 61941 },
- { 0x2F42, 61998 },
- { 0x2F43, 62039 },
- { 0x2F44, 62016 },
- { 0x2F45, 61993 },
- { 0x2F46, 62001 },
- { 0x2F47, 61943 },
- { 0x2F48, 62003 },
- { 0x2F49, 61837 },
- { 0x2F4A, 61840 },
- { 0x2F4B, 61862 },
- { 0x2F4C, 61866 },
- { 0x2F4D, 61868 },
- { 0x2F4E, 61870 },
- { 0x2F4F, 61833 },
- { 0x2F50, 61880 },
- { 0x2F51, 61884 },
- { 0x2F52, 61904 },
- { 0x2F53, 61906 },
- { 0x2F54, 61910 },
- { 0x2F55, 61914 },
- { 0x2F56, 61924 },
- { 0x2F57, 61933 },
- { 0x2F58, 61939 },
- { 0x2F59, 61945 },
- { 0x2F5A, 61947 },
- { 0x2F5B, 62091 },
- { 0x2F5C, 61949 },
- { 0x2F5D, 61955 },
- { 0x2F5E, 62095 },
- { 0x2F5F, 62097 },
- { 0x2F60, 62029 },
- { 0x2F61, 62031 },
- { 0x2F62, 62101 },
- { 0x2F63, 62033 },
- { 0x2F64, 62041 },
- { 0x2F65, 62043 },
- { 0x2F66, 62045 },
- { 0x2F67, 61858 },
- { 0x2F68, 61829 },
- { 0x2F69, 121131 },
- { 0x2F6A, 121149 },
- { 0x2F6B, 121185 },
- { 0x2F6C, 121161 },
- { 0x2F6D, 121155 },
- { 0x2F6E, 121137 },
- { 0x2F6F, 121179 },
- { 0x2F70, 121173 },
- { 0x2F71, 121167 },
- { 0x2F72, 121143 },
- { 0x2F73, 121191 },
- { 0x2F74, 121203 },
- { 0x2F75, 121245 },
- { 0x2F76, 121233 },
- { 0x2F77, 121215 },
- { 0x2F78, 121221 },
- { 0x2F79, 121251 },
- { 0x2F7A, 121227 },
- { 0x2F7B, 121239 },
- { 0x2F7C, 121209 },
- { 0x2F7D, 121263 },
- { 0x2F7E, 121275 },
- { 0x2F7F, 121311 },
- { 0x2F80, 121287 },
- { 0x2F81, 121281 },
- { 0x2F82, 121269 },
- { 0x2F83, 121305 },
- { 0x2F84, 121299 },
- { 0x2F85, 121293 },
- { 0x2F86, 121197 },
- { 0x2F87, 121257 },
- { 0x2F88, 62077 },
- { 0x2F89, 93224 },
- { 0x2F8A, 93238 },
- { 0x2F8B, 93375 },
- { 0x2F8C, 93345 },
- { 0x2F8D, 93321 },
- { 0x2F8E, 93327 },
- { 0x2F8F, 93177 },
- { 0x2F90, 93307 },
- { 0x2F91, 93283 },
- { 0x2F92, 93342 },
- { 0x2F93, 93280 },
- { 0x2F94, 93402 },
- { 0x2F95, 93387 },
- { 0x2F96, 93264 },
- { 0x2F97, 93311 },
- { 0x2F98, 93384 },
- { 0x2F99, 93358 },
- { 0x2F9A, 93243 },
- { 0x2F9B, 93324 },
- { 0x2F9C, 93417 },
- { 0x2F9D, 93295 },
- { 0x2F9E, 93253 },
- { 0x2F9F, 93371 },
- { 0x2FA0, 93304 },
- { 0x2FA1, 93368 },
- { 0x2FA2, 93260 },
- { 0x2FA3, 93276 },
- { 0x2FA4, 93268 },
- { 0x2FA5, 93199 },
- { 0x2FA6, 93219 },
- { 0x2FA7, 93365 },
- { 0x2FA8, 93333 },
- { 0x2FA9, 93318 },
- { 0x2FAA, 93256 },
- { 0x2FAB, 93339 },
- { 0x2FAC, 93352 },
- { 0x2FAD, 93185 },
- { 0x2FAE, 93393 },
- { 0x2FAF, 93411 },
- { 0x2FB0, 93405 },
- { 0x2FB1, 93330 },
- { 0x2FB2, 93336 },
- { 0x2FB3, 93414 },
- { 0x2FB4, 93299 },
- { 0x2FB5, 93361 },
- { 0x2FB6, 93314 },
- { 0x2FB7, 93396 },
- { 0x2FB8, 93181 },
- { 0x2FB9, 93399 },
- { 0x2FBA, 93215 },
- { 0x2FBB, 93210 },
- { 0x2FBC, 93204 },
- { 0x2FBD, 93408 },
- { 0x2FBE, 93229 },
- { 0x2FBF, 93349 },
- { 0x2FC0, 93234 },
- { 0x2FC1, 93189 },
- { 0x2FC2, 93194 },
- { 0x2FC3, 93381 },
- { 0x2FC4, 93390 },
- { 0x2FC5, 93272 },
- { 0x2FC6, 93287 },
- { 0x2FC7, 93249 },
- { 0x2FC8, 93291 },
- { 0x2FC9, 696 },
- { 0x2FCA, 699 },
- { 0x2FCB, 582 },
- { 0x2FCC, 693 },
- { 0x2FCD, 1362 },
- { 0x2FCE, 1365 },
- { 0x2FCF, 690 },
- { 0x2FD0, 1359 },
- { 0x2FD1, 591 },
- { 0x2FD2, 594 },
- { 0x2FD3, 576 },
- { 0x2FD4, 588 },
- { 0x2FD5, 2073 },
- { 0x2FD6, 864 },
- { 0x2FD7, 2070 },
- { 0x2FD8, 783 },
- { 0x2FD9, 786 },
- { 0x2FDA, 585 },
- { 0x2FDB, 780 },
- { 0x2FDC, 648 },
- { 0x2FDD, 579 },
- { 0x2FDE, 891 },
- { 0x2FDF, 972 },
- { 0x2FE0, 975 },
- { 0x2FE1, 603 },
- { 0x2FE2, 969 },
- { 0x2FE3, 2403 },
- { 0x2FE4, 2406 },
- { 0x2FE5, 966 },
- { 0x2FE6, 2400 },
- { 0x2FE7, 936 },
- { 0x2FE8, 939 },
- { 0x2FE9, 597 },
- { 0x2FEA, 933 },
- { 0x2FEB, 2412 },
- { 0x2FEC, 987 },
- { 0x2FED, 2409 },
- { 0x2FEE, 981 },
- { 0x2FEF, 984 },
- { 0x2FF0, 606 },
- { 0x2FF1, 978 },
- { 0x2FF2, 963 },
- { 0x2FF3, 600 },
- { 0x2FF4, 960 },
- { 0x2FF5, 996 },
- { 0x2FF6, 999 },
- { 0x2FF7, 609 },
- { 0x2FF8, 990 },
- { 0x2FF9, 2415 },
- { 0x2FFA, 993 },
- { 0x2FFB, 1008 },
- { 0x2FFC, 1011 },
- { 0x2FFD, 612 },
- { 0x2FFE, 1002 },
- { 0x2FFF, 2418 },
- { 0x3000, 1005 },
- { 0x3001, 1767 },
- { 0x3002, 1770 },
- { 0x3003, 792 },
- { 0x3004, 1764 },
- { 0x3005, 3336 },
- { 0x3006, 1761 },
- { 0x3007, 3333 },
- { 0x3008, 1755 },
- { 0x3009, 1758 },
- { 0x300A, 789 },
- { 0x300B, 1752 },
- { 0x300C, 3342 },
- { 0x300D, 1782 },
- { 0x300E, 3339 },
- { 0x300F, 1776 },
- { 0x3010, 1779 },
- { 0x3011, 795 },
- { 0x3012, 1773 },
- { 0x3013, 1791 },
- { 0x3014, 1794 },
- { 0x3015, 798 },
- { 0x3016, 1785 },
- { 0x3017, 3345 },
- { 0x3018, 1788 },
- { 0x3019, 1803 },
- { 0x301A, 1806 },
- { 0x301B, 801 },
- { 0x301C, 1797 },
- { 0x301D, 3348 },
- { 0x301E, 1800 },
- { 0x301F, 2361 },
- { 0x3020, 2364 },
- { 0x3021, 948 },
- { 0x3022, 2358 },
- { 0x3023, 3771 },
- { 0x3024, 3774 },
- { 0x3025, 2355 },
- { 0x3026, 3768 },
- { 0x3027, 2343 },
- { 0x3028, 2346 },
- { 0x3029, 942 },
- { 0x302A, 2340 },
- { 0x302B, 3780 },
- { 0x302C, 2376 },
- { 0x302D, 3777 },
- { 0x302E, 2370 },
- { 0x302F, 2373 },
- { 0x3030, 951 },
- { 0x3031, 2367 },
- { 0x3032, 2352 },
- { 0x3033, 945 },
- { 0x3034, 2349 },
- { 0x3035, 2385 },
- { 0x3036, 2388 },
- { 0x3037, 954 },
- { 0x3038, 2379 },
- { 0x3039, 3783 },
- { 0x303A, 2382 },
- { 0x303B, 2394 },
- { 0x303C, 2397 },
- { 0x303D, 957 },
- { 0x303E, 2391 },
- { 0x303F, 3021 },
- { 0x3040, 3024 },
- { 0x3041, 1623 },
- { 0x3042, 3018 },
- { 0x3043, 3933 },
- { 0x3044, 3015 },
- { 0x3045, 3930 },
- { 0x3046, 3009 },
- { 0x3047, 3012 },
- { 0x3048, 1620 },
- { 0x3049, 3006 },
- { 0x304A, 3030 },
- { 0x304B, 3033 },
- { 0x304C, 1626 },
- { 0x304D, 3027 },
- { 0x304E, 3042 },
- { 0x304F, 3045 },
- { 0x3050, 1629 },
- { 0x3051, 3036 },
- { 0x3052, 3936 },
- { 0x3053, 3039 },
- { 0x3054, 3054 },
- { 0x3055, 3057 },
- { 0x3056, 1632 },
- { 0x3057, 3048 },
- { 0x3058, 3939 },
- { 0x3059, 3051 },
- { 0x305A, 2709 },
- { 0x305B, 2712 },
- { 0x305C, 1314 },
- { 0x305D, 2706 },
- { 0x305E, 3855 },
- { 0x305F, 2703 },
- { 0x3060, 3852 },
- { 0x3061, 2697 },
- { 0x3062, 2700 },
- { 0x3063, 1311 },
- { 0x3064, 2694 },
- { 0x3065, 3861 },
- { 0x3066, 2724 },
- { 0x3067, 3858 },
- { 0x3068, 2718 },
- { 0x3069, 2721 },
- { 0x306A, 1317 },
- { 0x306B, 2715 },
- { 0x306C, 2733 },
- { 0x306D, 2736 },
- { 0x306E, 1320 },
- { 0x306F, 2727 },
- { 0x3070, 3864 },
- { 0x3071, 2730 },
- { 0x3072, 2745 },
- { 0x3073, 1323 },
- { 0x3074, 2739 },
- { 0x3075, 3867 },
- { 0x3076, 2742 },
- { 0x3077, 1575 },
- { 0x3078, 1578 },
- { 0x3079, 753 },
- { 0x307A, 1572 },
- { 0x307B, 2991 },
- { 0x307C, 1569 },
- { 0x307D, 2988 },
- { 0x307E, 1548 },
- { 0x307F, 1551 },
- { 0x3080, 747 },
- { 0x3081, 1545 },
- { 0x3082, 2997 },
- { 0x3083, 3000 },
- { 0x3084, 1590 },
- { 0x3085, 2994 },
- { 0x3086, 1584 },
- { 0x3087, 1587 },
- { 0x3088, 756 },
- { 0x3089, 1581 },
- { 0x308A, 1554 },
- { 0x308B, 750 },
- { 0x308C, 1599 },
- { 0x308D, 1602 },
- { 0x308E, 759 },
- { 0x308F, 1593 },
- { 0x3090, 3003 },
- { 0x3091, 1596 },
- { 0x3092, 1608 },
- { 0x3093, 1611 },
- { 0x3094, 762 },
- { 0x3095, 1605 },
- { 0x3096, 1170 },
- { 0x3097, 1173 },
- { 0x3098, 654 },
- { 0x3099, 1167 },
- { 0x309A, 1161 },
- { 0x309B, 1164 },
- { 0x309C, 651 },
- { 0x309D, 1158 },
- { 0x309E, 1179 },
- { 0x309F, 657 },
- { 0x30A0, 1176 },
- { 0x30A1, 1188 },
- { 0x30A2, 1191 },
- { 0x30A3, 660 },
- { 0x30A4, 1182 },
- { 0x30A5, 2556 },
- { 0x30A6, 1185 },
- { 0x30A7, 1197 },
- { 0x30A8, 1200 },
- { 0x30A9, 663 },
- { 0x30AA, 1194 },
- { 0x30AB, 2097 },
- { 0x30AC, 2100 },
- { 0x30AD, 870 },
- { 0x30AE, 2094 },
- { 0x30AF, 3585 },
- { 0x30B0, 3588 },
- { 0x30B1, 2091 },
- { 0x30B2, 3582 },
- { 0x30B3, 2079 },
- { 0x30B4, 2082 },
- { 0x30B5, 867 },
- { 0x30B6, 2076 },
- { 0x30B7, 2106 },
- { 0x30B8, 2109 },
- { 0x30B9, 873 },
- { 0x30BA, 2103 },
- { 0x30BB, 2088 },
- { 0x30BC, 2085 },
- { 0x30BD, 2118 },
- { 0x30BE, 2121 },
- { 0x30BF, 876 },
- { 0x30C0, 2112 },
- { 0x30C1, 3591 },
- { 0x30C2, 2115 },
- { 0x30C3, 2130 },
- { 0x30C4, 2133 },
- { 0x30C5, 879 },
- { 0x30C6, 2124 },
- { 0x30C7, 3594 },
- { 0x30C8, 2127 },
- { 0x30C9, 1128 },
- { 0x30CA, 1131 },
- { 0x30CB, 639 },
- { 0x30CC, 1125 },
- { 0x30CD, 2547 },
- { 0x30CE, 1122 },
- { 0x30CF, 2544 },
- { 0x30D0, 1095 },
- { 0x30D1, 1098 },
- { 0x30D2, 633 },
- { 0x30D3, 1092 },
- { 0x30D4, 2550 },
- { 0x30D5, 1143 },
- { 0x30D6, 1137 },
- { 0x30D7, 1140 },
- { 0x30D8, 642 },
- { 0x30D9, 1134 },
- { 0x30DA, 1119 },
- { 0x30DB, 636 },
- { 0x30DC, 1116 },
- { 0x30DD, 1152 },
- { 0x30DE, 1155 },
- { 0x30DF, 645 },
- { 0x30E0, 1146 },
- { 0x30E1, 2553 },
- { 0x30E2, 1149 },
- { 0x30E3, 2040 },
- { 0x30E4, 2043 },
- { 0x30E5, 855 },
- { 0x30E6, 2037 },
- { 0x30E7, 3567 },
- { 0x30E8, 2034 },
- { 0x30E9, 3564 },
- { 0x30EA, 2022 },
- { 0x30EB, 2025 },
- { 0x30EC, 849 },
- { 0x30ED, 2019 },
- { 0x30EE, 3573 },
- { 0x30EF, 3576 },
- { 0x30F0, 2055 },
- { 0x30F1, 3570 },
- { 0x30F2, 2049 },
- { 0x30F3, 2052 },
- { 0x30F4, 858 },
- { 0x30F5, 2046 },
- { 0x30F6, 2031 },
- { 0x30F7, 852 },
- { 0x30F8, 2028 },
- { 0x30F9, 2064 },
- { 0x30FA, 2067 },
- { 0x30FB, 861 },
- { 0x30FC, 2058 },
- { 0x30FD, 3579 },
- { 0x30FE, 2061 },
- { 0x30FF, 2514 },
- { 0x3100, 2517 },
- { 0x3101, 1107 },
- { 0x3102, 2511 },
- { 0x3103, 3804 },
- { 0x3104, 2508 },
- { 0x3105, 3801 },
- { 0x3106, 2496 },
- { 0x3107, 2499 },
- { 0x3108, 1101 },
- { 0x3109, 2493 },
- { 0x310A, 3810 },
- { 0x310B, 2529 },
- { 0x310C, 3807 },
- { 0x310D, 2523 },
- { 0x310E, 2526 },
- { 0x310F, 1110 },
- { 0x3110, 2520 },
- { 0x3111, 2505 },
- { 0x3112, 1104 },
- { 0x3113, 2502 },
- { 0x3114, 2538 },
- { 0x3115, 2541 },
- { 0x3116, 1113 },
- { 0x3117, 2532 },
- { 0x3118, 3813 },
- { 0x3119, 2535 },
- { 0x311A, 3081 },
- { 0x311B, 3084 },
- { 0x311C, 1641 },
- { 0x311D, 3078 },
- { 0x311E, 3942 },
- { 0x311F, 3075 },
- { 0x3120, 3063 },
- { 0x3121, 3066 },
- { 0x3122, 1635 },
- { 0x3123, 3060 },
- { 0x3124, 3090 },
- { 0x3125, 3093 },
- { 0x3126, 1644 },
- { 0x3127, 3087 },
- { 0x3128, 3072 },
- { 0x3129, 1638 },
- { 0x312A, 3069 },
- { 0x312B, 3102 },
- { 0x312C, 3105 },
- { 0x312D, 1647 },
- { 0x312E, 3096 },
- { 0x312F, 3945 },
- { 0x3130, 3099 },
- { 0x3131, 2769 },
- { 0x3132, 2772 },
- { 0x3133, 1332 },
- { 0x3134, 2766 },
- { 0x3135, 3873 },
- { 0x3136, 3876 },
- { 0x3137, 2763 },
- { 0x3138, 3870 },
- { 0x3139, 2751 },
- { 0x313A, 2754 },
- { 0x313B, 1326 },
- { 0x313C, 2748 },
- { 0x313D, 3879 },
- { 0x313E, 2784 },
- { 0x313F, 2778 },
- { 0x3140, 2781 },
- { 0x3141, 2775 },
- { 0x3142, 2760 },
- { 0x3143, 1329 },
- { 0x3144, 2757 },
- { 0x3145, 2787 },
- { 0x3146, 1671 },
- { 0x3147, 1674 },
- { 0x3148, 771 },
- { 0x3149, 1668 },
- { 0x314A, 3141 },
- { 0x314B, 1665 },
- { 0x314C, 3138 },
- { 0x314D, 1617 },
- { 0x314E, 765 },
- { 0x314F, 1614 },
- { 0x3150, 3240 },
- { 0x3151, 1713 },
- { 0x3152, 3237 },
- { 0x3153, 1692 },
- { 0x3154, 1695 },
- { 0x3155, 774 },
- { 0x3156, 1689 },
- { 0x3157, 1653 },
- { 0x3158, 768 },
- { 0x3159, 1650 },
- { 0x315A, 1722 },
- { 0x315B, 1725 },
- { 0x315C, 777 },
- { 0x315D, 1716 },
- { 0x315E, 3243 },
- { 0x315F, 1719 },
- { 0x3160, 2655 },
- { 0x3161, 2658 },
- { 0x3162, 1299 },
- { 0x3163, 2652 },
- { 0x3164, 3837 },
- { 0x3165, 2649 },
- { 0x3166, 3834 },
- { 0x3167, 2637 },
- { 0x3168, 2640 },
- { 0x3169, 1293 },
- { 0x316A, 2634 },
- { 0x316B, 3843 },
- { 0x316C, 2667 },
- { 0x316D, 3840 },
- { 0x316E, 2664 },
- { 0x316F, 1302 },
- { 0x3170, 2661 },
- { 0x3171, 2646 },
- { 0x3172, 1296 },
- { 0x3173, 2643 },
- { 0x3174, 2676 },
- { 0x3175, 2679 },
- { 0x3176, 1305 },
- { 0x3177, 2670 },
- { 0x3178, 3846 },
- { 0x3179, 2673 },
- { 0x317A, 2688 },
- { 0x317B, 2691 },
- { 0x317C, 1308 },
- { 0x317D, 2682 },
- { 0x317E, 3849 },
- { 0x317F, 2685 },
- { 0x3180, 1503 },
- { 0x3181, 1506 },
- { 0x3182, 735 },
- { 0x3183, 1500 },
- { 0x3184, 2925 },
- { 0x3185, 2928 },
- { 0x3186, 1497 },
- { 0x3187, 2922 },
- { 0x3188, 1485 },
- { 0x3189, 1488 },
- { 0x318A, 729 },
- { 0x318B, 1482 },
- { 0x318C, 2934 },
- { 0x318D, 2937 },
- { 0x318E, 1518 },
- { 0x318F, 2931 },
- { 0x3190, 1512 },
- { 0x3191, 1515 },
- { 0x3192, 738 },
- { 0x3193, 1509 },
- { 0x3194, 1494 },
- { 0x3195, 732 },
- { 0x3196, 1491 },
- { 0x3197, 1527 },
- { 0x3198, 1530 },
- { 0x3199, 741 },
- { 0x319A, 1521 },
- { 0x319B, 2940 },
- { 0x319C, 1524 },
- { 0x319D, 1539 },
- { 0x319E, 1542 },
- { 0x319F, 744 },
- { 0x31A0, 1533 },
- { 0x31A1, 2943 },
- { 0x31A2, 1536 },
- { 0x31A3, 1242 },
- { 0x31A4, 1245 },
- { 0x31A5, 672 },
- { 0x31A6, 1239 },
- { 0x31A7, 2613 },
- { 0x31A8, 2616 },
- { 0x31A9, 1236 },
- { 0x31AA, 2610 },
- { 0x31AB, 1206 },
- { 0x31AC, 1209 },
- { 0x31AD, 666 },
- { 0x31AE, 1203 },
- { 0x31AF, 2622 },
- { 0x31B0, 2625 },
- { 0x31B1, 1257 },
- { 0x31B2, 2619 },
- { 0x31B3, 1251 },
- { 0x31B4, 1254 },
- { 0x31B5, 675 },
- { 0x31B6, 1248 },
- { 0x31B7, 1215 },
- { 0x31B8, 1218 },
- { 0x31B9, 669 },
- { 0x31BA, 1212 },
- { 0x31BB, 1266 },
- { 0x31BC, 1269 },
- { 0x31BD, 678 },
- { 0x31BE, 1260 },
- { 0x31BF, 2628 },
- { 0x31C0, 1263 },
- { 0x31C1, 1452 },
- { 0x31C2, 1455 },
- { 0x31C3, 720 },
- { 0x31C4, 1449 },
- { 0x31C5, 2910 },
- { 0x31C6, 1446 },
- { 0x31C7, 2907 },
- { 0x31C8, 1431 },
- { 0x31C9, 1434 },
- { 0x31CA, 714 },
- { 0x31CB, 1428 },
- { 0x31CC, 2916 },
- { 0x31CD, 1467 },
- { 0x31CE, 2913 },
- { 0x31CF, 1461 },
- { 0x31D0, 1464 },
- { 0x31D1, 723 },
- { 0x31D2, 1458 },
- { 0x31D3, 1440 },
- { 0x31D4, 1443 },
- { 0x31D5, 717 },
- { 0x31D6, 1437 },
- { 0x31D7, 1476 },
- { 0x31D8, 1479 },
- { 0x31D9, 726 },
- { 0x31DA, 1470 },
- { 0x31DB, 2919 },
- { 0x31DC, 1473 },
- { 0x31DD, 2580 },
- { 0x31DE, 2583 },
- { 0x31DF, 1227 },
- { 0x31E0, 3819 },
- { 0x31E1, 2577 },
- { 0x31E2, 3816 },
- { 0x31E3, 2562 },
- { 0x31E4, 2565 },
- { 0x31E5, 1221 },
- { 0x31E6, 2559 },
- { 0x31E7, 3825 },
- { 0x31E8, 3828 },
- { 0x31E9, 2595 },
- { 0x31EA, 3822 },
- { 0x31EB, 2589 },
- { 0x31EC, 2592 },
- { 0x31ED, 1230 },
- { 0x31EE, 2586 },
- { 0x31EF, 2571 },
- { 0x31F0, 2574 },
- { 0x31F1, 1224 },
- { 0x31F2, 2568 },
- { 0x31F3, 2604 },
- { 0x31F4, 2607 },
- { 0x31F5, 1233 },
- { 0x31F6, 2598 },
- { 0x31F7, 3831 },
- { 0x31F8, 2601 },
- { 0x31F9, 3918 },
- { 0x31FA, 2961 },
- { 0x31FB, 2949 },
- { 0x31FC, 2952 },
- { 0x31FD, 1557 },
- { 0x31FE, 2946 },
- { 0x31FF, 3924 },
- { 0x3200, 2973 },
- { 0x3201, 3921 },
- { 0x3202, 2967 },
- { 0x3203, 2970 },
- { 0x3204, 1563 },
- { 0x3205, 2964 },
- { 0x3206, 2958 },
- { 0x3207, 1560 },
- { 0x3208, 2955 },
- { 0x3209, 2982 },
- { 0x320A, 2985 },
- { 0x320B, 1566 },
- { 0x320C, 2976 },
- { 0x320D, 3927 },
- { 0x320E, 2979 },
- { 0x320F, 2820 },
- { 0x3210, 2823 },
- { 0x3211, 1353 },
- { 0x3212, 2817 },
- { 0x3213, 3885 },
- { 0x3214, 3888 },
- { 0x3215, 2814 },
- { 0x3216, 3882 },
- { 0x3217, 2802 },
- { 0x3218, 2805 },
- { 0x3219, 1347 },
- { 0x321A, 2799 },
- { 0x321B, 3894 },
- { 0x321C, 3897 },
- { 0x321D, 2835 },
- { 0x321E, 3891 },
- { 0x321F, 2829 },
- { 0x3220, 2832 },
- { 0x3221, 1356 },
- { 0x3222, 2826 },
- { 0x3223, 2811 },
- { 0x3224, 1350 },
- { 0x3225, 2808 },
- { 0x3226, 3951 },
- { 0x3227, 3123 },
- { 0x3228, 3948 },
- { 0x3229, 3111 },
- { 0x322A, 3114 },
- { 0x322B, 1656 },
- { 0x322C, 3108 },
- { 0x322D, 3954 },
- { 0x322E, 3957 },
- { 0x322F, 3135 },
- { 0x3230, 3129 },
- { 0x3231, 3132 },
- { 0x3232, 1662 },
- { 0x3233, 3126 },
- { 0x3234, 3120 },
- { 0x3235, 1659 },
- { 0x3236, 3117 },
- { 0x3237, 1290 },
- { 0x3238, 2631 },
- { 0x3239, 1287 },
- { 0x323A, 1275 },
- { 0x323B, 1278 },
- { 0x323C, 681 },
- { 0x323D, 1272 },
- { 0x323E, 2793 },
- { 0x323F, 2796 },
- { 0x3240, 1344 },
- { 0x3241, 2790 },
- { 0x3242, 1338 },
- { 0x3243, 1341 },
- { 0x3244, 687 },
- { 0x3245, 1335 },
- { 0x3246, 1284 },
- { 0x3247, 684 },
- { 0x3248, 1281 },
- { 0x3249, 2139 },
- { 0x324A, 2142 },
- { 0x324B, 882 },
- { 0x324C, 2136 },
- { 0x324D, 3600 },
- { 0x324E, 2157 },
- { 0x324F, 3597 },
- { 0x3250, 2154 },
- { 0x3251, 888 },
- { 0x3252, 2151 },
- { 0x3253, 2148 },
- { 0x3254, 885 },
- { 0x3255, 2145 },
- { 0x3256, 2280 },
- { 0x3257, 2283 },
- { 0x3258, 921 },
- { 0x3259, 2277 },
- { 0x325A, 3699 },
- { 0x325B, 2274 },
- { 0x325C, 3696 },
- { 0x325D, 2247 },
- { 0x325E, 2250 },
- { 0x325F, 915 },
- { 0x3260, 2244 },
- { 0x3261, 3705 },
- { 0x3262, 2295 },
- { 0x3263, 3702 },
- { 0x3264, 2289 },
- { 0x3265, 2292 },
- { 0x3266, 924 },
- { 0x3267, 2286 },
- { 0x3268, 2256 },
- { 0x3269, 918 },
- { 0x326A, 2253 },
- { 0x326B, 2304 },
- { 0x326C, 2307 },
- { 0x326D, 927 },
- { 0x326E, 2298 },
- { 0x326F, 3708 },
- { 0x3270, 2301 },
- { 0x3271, 2316 },
- { 0x3272, 2319 },
- { 0x3273, 930 },
- { 0x3274, 2310 },
- { 0x3275, 3711 },
- { 0x3276, 2313 },
- { 0x3277, 1050 },
- { 0x3278, 1053 },
- { 0x3279, 621 },
- { 0x327A, 1047 },
- { 0x327B, 2475 },
- { 0x327C, 2478 },
- { 0x327D, 1044 },
- { 0x327E, 2472 },
- { 0x327F, 1017 },
- { 0x3280, 1020 },
- { 0x3281, 615 },
- { 0x3282, 1014 },
- { 0x3283, 2484 },
- { 0x3284, 1065 },
- { 0x3285, 2481 },
- { 0x3286, 1059 },
- { 0x3287, 1062 },
- { 0x3288, 624 },
- { 0x3289, 1056 },
- { 0x328A, 1026 },
- { 0x328B, 618 },
- { 0x328C, 1023 },
- { 0x328D, 1074 },
- { 0x328E, 1077 },
- { 0x328F, 627 },
- { 0x3290, 1068 },
- { 0x3291, 2487 },
- { 0x3292, 1071 },
- { 0x3293, 1086 },
- { 0x3294, 1089 },
- { 0x3295, 630 },
- { 0x3296, 1080 },
- { 0x3297, 2490 },
- { 0x3298, 1083 },
- { 0x3299, 3735 },
- { 0x329A, 3738 },
- { 0x329B, 2328 },
- { 0x329C, 3732 },
- { 0x329D, 4059 },
- { 0x329E, 4062 },
- { 0x329F, 3729 },
- { 0x32A0, 4056 },
- { 0x32A1, 3717 },
- { 0x32A2, 3720 },
- { 0x32A3, 2322 },
- { 0x32A4, 3714 },
- { 0x32A5, 3744 },
- { 0x32A6, 2331 },
- { 0x32A7, 3741 },
- { 0x32A8, 3726 },
- { 0x32A9, 2325 },
- { 0x32AA, 3723 },
- { 0x32AB, 3753 },
- { 0x32AC, 2334 },
- { 0x32AD, 3747 },
- { 0x32AE, 4065 },
- { 0x32AF, 3750 },
- { 0x32B0, 3762 },
- { 0x32B1, 3765 },
- { 0x32B2, 2337 },
- { 0x32B3, 3756 },
- { 0x32B4, 4068 },
- { 0x32B5, 3759 },
- { 0x32B6, 3297 },
- { 0x32B7, 3300 },
- { 0x32B8, 1743 },
- { 0x32B9, 3294 },
- { 0x32BA, 4002 },
- { 0x32BB, 3291 },
- { 0x32BC, 3999 },
- { 0x32BD, 3282 },
- { 0x32BE, 3285 },
- { 0x32BF, 1737 },
- { 0x32C0, 3279 },
- { 0x32C1, 4005 },
- { 0x32C2, 3309 },
- { 0x32C3, 3306 },
- { 0x32C4, 3303 },
- { 0x32C5, 3288 },
- { 0x32C6, 1740 },
- { 0x32C7, 3318 },
- { 0x32C8, 1746 },
- { 0x32C9, 3312 },
- { 0x32CA, 4008 },
- { 0x32CB, 3315 },
- { 0x32CC, 3327 },
- { 0x32CD, 3330 },
- { 0x32CE, 1749 },
- { 0x32CF, 3321 },
- { 0x32D0, 4011 },
- { 0x32D1, 3324 },
- { 0x32D2, 1959 },
- { 0x32D3, 1962 },
- { 0x32D4, 837 },
- { 0x32D5, 1956 },
- { 0x32D6, 3492 },
- { 0x32D7, 1953 },
- { 0x32D8, 3489 },
- { 0x32D9, 1926 },
- { 0x32DA, 1929 },
- { 0x32DB, 831 },
- { 0x32DC, 1923 },
- { 0x32DD, 3555 },
- { 0x32DE, 1992 },
- { 0x32DF, 3552 },
- { 0x32E0, 1968 },
- { 0x32E1, 1971 },
- { 0x32E2, 840 },
- { 0x32E3, 1965 },
- { 0x32E4, 1935 },
- { 0x32E5, 834 },
- { 0x32E6, 1932 },
- { 0x32E7, 2001 },
- { 0x32E8, 2004 },
- { 0x32E9, 843 },
- { 0x32EA, 1995 },
- { 0x32EB, 3558 },
- { 0x32EC, 1998 },
- { 0x32ED, 2013 },
- { 0x32EE, 2016 },
- { 0x32EF, 846 },
- { 0x32F0, 2007 },
- { 0x32F1, 3561 },
- { 0x32F2, 2010 },
- { 0x32F3, 3516 },
- { 0x32F4, 3519 },
- { 0x32F5, 1980 },
- { 0x32F6, 3513 },
- { 0x32F7, 4038 },
- { 0x32F8, 3510 },
- { 0x32F9, 4035 },
- { 0x32FA, 3498 },
- { 0x32FB, 3501 },
- { 0x32FC, 1974 },
- { 0x32FD, 3495 },
- { 0x32FE, 3525 },
- { 0x32FF, 3528 },
- { 0x3300, 1983 },
- { 0x3301, 3522 },
- { 0x3302, 3507 },
- { 0x3303, 1977 },
- { 0x3304, 3504 },
- { 0x3305, 3534 },
- { 0x3306, 3537 },
- { 0x3307, 1986 },
- { 0x3308, 3531 },
- { 0x3309, 3546 },
- { 0x330A, 3549 },
- { 0x330B, 1989 },
- { 0x330C, 3540 },
- { 0x330D, 4041 },
- { 0x330E, 3543 },
- { 0x330F, 3645 },
- { 0x3310, 3648 },
- { 0x3311, 2259 },
- { 0x3312, 3642 },
- { 0x3313, 4047 },
- { 0x3314, 3669 },
- { 0x3315, 4044 },
- { 0x3316, 3663 },
- { 0x3317, 3666 },
- { 0x3318, 2265 },
- { 0x3319, 3660 },
- { 0x331A, 3654 },
- { 0x331B, 3657 },
- { 0x331C, 2262 },
- { 0x331D, 3651 },
- { 0x331E, 3678 },
- { 0x331F, 3681 },
- { 0x3320, 2268 },
- { 0x3321, 3672 },
- { 0x3322, 4050 },
- { 0x3323, 3675 },
- { 0x3324, 3690 },
- { 0x3325, 3693 },
- { 0x3326, 2271 },
- { 0x3327, 3684 },
- { 0x3328, 4053 },
- { 0x3329, 3687 },
- { 0x332A, 2424 },
- { 0x332B, 2427 },
- { 0x332C, 1029 },
- { 0x332D, 2421 },
- { 0x332E, 3789 },
- { 0x332F, 3792 },
- { 0x3330, 2448 },
- { 0x3331, 3786 },
- { 0x3332, 2442 },
- { 0x3333, 2445 },
- { 0x3334, 1035 },
- { 0x3335, 2439 },
- { 0x3336, 2433 },
- { 0x3337, 2436 },
- { 0x3338, 1032 },
- { 0x3339, 2430 },
- { 0x333A, 2457 },
- { 0x333B, 1038 },
- { 0x333C, 2451 },
- { 0x333D, 3795 },
- { 0x333E, 2454 },
- { 0x333F, 2466 },
- { 0x3340, 2469 },
- { 0x3341, 1041 },
- { 0x3342, 2460 },
- { 0x3343, 3798 },
- { 0x3344, 2463 },
- { 0x3345, 3375 },
- { 0x3346, 1881 },
- { 0x3347, 4014 },
- { 0x3348, 3396 },
- { 0x3349, 3390 },
- { 0x334A, 3393 },
- { 0x334B, 1887 },
- { 0x334C, 3387 },
- { 0x334D, 3381 },
- { 0x334E, 3384 },
- { 0x334F, 1884 },
- { 0x3350, 3378 },
- { 0x3351, 3405 },
- { 0x3352, 3408 },
- { 0x3353, 1890 },
- { 0x3354, 3399 },
- { 0x3355, 4017 },
- { 0x3356, 3402 },
- { 0x3357, 3417 },
- { 0x3358, 3420 },
- { 0x3359, 1893 },
- { 0x335A, 3411 },
- { 0x335B, 4020 },
- { 0x335C, 3414 },
- { 0x335D, 3192 },
- { 0x335E, 3195 },
- { 0x335F, 1698 },
- { 0x3360, 3189 },
- { 0x3361, 3210 },
- { 0x3362, 1704 },
- { 0x3363, 3207 },
- { 0x3364, 3201 },
- { 0x3365, 3204 },
- { 0x3366, 1701 },
- { 0x3367, 3198 },
- { 0x3368, 3219 },
- { 0x3369, 3222 },
- { 0x336A, 1707 },
- { 0x336B, 3213 },
- { 0x336C, 3978 },
- { 0x336D, 3216 },
- { 0x336E, 3231 },
- { 0x336F, 3234 },
- { 0x3370, 1710 },
- { 0x3371, 3225 },
- { 0x3372, 3981 },
- { 0x3373, 3228 },
- { 0x3374, 3438 },
- { 0x3375, 3441 },
- { 0x3376, 1938 },
- { 0x3377, 3435 },
- { 0x3378, 4026 },
- { 0x3379, 3462 },
- { 0x337A, 4023 },
- { 0x337B, 3456 },
- { 0x337C, 3459 },
- { 0x337D, 1944 },
- { 0x337E, 3453 },
- { 0x337F, 3447 },
- { 0x3380, 3450 },
- { 0x3381, 1941 },
- { 0x3382, 3444 },
- { 0x3383, 3471 },
- { 0x3384, 3474 },
- { 0x3385, 1947 },
- { 0x3386, 3465 },
- { 0x3387, 4029 },
- { 0x3388, 3468 },
- { 0x3389, 3483 },
- { 0x338A, 3486 },
- { 0x338B, 1950 },
- { 0x338C, 3477 },
- { 0x338D, 4032 },
- { 0x338E, 3480 },
- { 0x338F, 1860 },
- { 0x3390, 1863 },
- { 0x3391, 816 },
- { 0x3392, 1857 },
- { 0x3393, 3426 },
- { 0x3394, 1896 },
- { 0x3395, 3423 },
- { 0x3396, 1875 },
- { 0x3397, 1878 },
- { 0x3398, 822 },
- { 0x3399, 1872 },
- { 0x339A, 1869 },
- { 0x339B, 819 },
- { 0x339C, 1866 },
- { 0x339D, 1905 },
- { 0x339E, 1908 },
- { 0x339F, 825 },
- { 0x33A0, 1899 },
- { 0x33A1, 3429 },
- { 0x33A2, 1902 },
- { 0x33A3, 1917 },
- { 0x33A4, 1920 },
- { 0x33A5, 828 },
- { 0x33A6, 1911 },
- { 0x33A7, 3432 },
- { 0x33A8, 1914 },
- { 0x33A9, 1374 },
- { 0x33AA, 1377 },
- { 0x33AB, 702 },
- { 0x33AC, 1371 },
- { 0x33AD, 2841 },
- { 0x33AE, 2844 },
- { 0x33AF, 1368 },
- { 0x33B0, 2838 },
- { 0x33B1, 2895 },
- { 0x33B2, 2898 },
- { 0x33B3, 1401 },
- { 0x33B4, 2892 },
- { 0x33B5, 1395 },
- { 0x33B6, 1398 },
- { 0x33B7, 705 },
- { 0x33B8, 1392 },
- { 0x33B9, 1410 },
- { 0x33BA, 1413 },
- { 0x33BB, 708 },
- { 0x33BC, 1404 },
- { 0x33BD, 2901 },
- { 0x33BE, 1407 },
- { 0x33BF, 1422 },
- { 0x33C0, 1425 },
- { 0x33C1, 711 },
- { 0x33C2, 1416 },
- { 0x33C3, 2904 },
- { 0x33C4, 1419 },
- { 0x33C5, 1815 },
- { 0x33C6, 1818 },
- { 0x33C7, 804 },
- { 0x33C8, 1812 },
- { 0x33C9, 3354 },
- { 0x33CA, 3357 },
- { 0x33CB, 1809 },
- { 0x33CC, 3351 },
- { 0x33CD, 3363 },
- { 0x33CE, 3366 },
- { 0x33CF, 1830 },
- { 0x33D0, 3360 },
- { 0x33D1, 1824 },
- { 0x33D2, 1827 },
- { 0x33D3, 807 },
- { 0x33D4, 1821 },
- { 0x33D5, 1839 },
- { 0x33D6, 1842 },
- { 0x33D7, 810 },
- { 0x33D8, 1833 },
- { 0x33D9, 3369 },
- { 0x33DA, 1836 },
- { 0x33DB, 1851 },
- { 0x33DC, 1854 },
- { 0x33DD, 813 },
- { 0x33DE, 1845 },
- { 0x33DF, 3372 },
- { 0x33E0, 1848 },
- { 0x33E1, 2853 },
- { 0x33E2, 2856 },
- { 0x33E3, 1380 },
- { 0x33E4, 2850 },
- { 0x33E5, 3903 },
- { 0x33E6, 3906 },
- { 0x33E7, 2847 },
- { 0x33E8, 3900 },
- { 0x33E9, 3912 },
- { 0x33EA, 2868 },
- { 0x33EB, 3909 },
- { 0x33EC, 2862 },
- { 0x33ED, 2865 },
- { 0x33EE, 1383 },
- { 0x33EF, 2859 },
- { 0x33F0, 2877 },
- { 0x33F1, 2880 },
- { 0x33F2, 1386 },
- { 0x33F3, 2871 },
- { 0x33F4, 3915 },
- { 0x33F5, 2874 },
- { 0x33F6, 2886 },
- { 0x33F7, 2889 },
- { 0x33F8, 1389 },
- { 0x33F9, 2883 },
- { 0x33FA, 3150 },
- { 0x33FB, 3153 },
- { 0x33FC, 1677 },
- { 0x33FD, 3147 },
- { 0x33FE, 3963 },
- { 0x33FF, 3966 },
- { 0x3400, 3144 },
- { 0x3401, 3960 },
- { 0x3402, 3969 },
- { 0x3403, 3165 },
- { 0x3404, 3159 },
- { 0x3405, 3162 },
- { 0x3406, 1680 },
- { 0x3407, 3156 },
- { 0x3408, 3174 },
- { 0x3409, 1683 },
- { 0x340A, 3168 },
- { 0x340B, 3972 },
- { 0x340C, 3171 },
- { 0x340D, 3183 },
- { 0x340E, 3186 },
- { 0x340F, 1686 },
- { 0x3410, 3177 },
- { 0x3411, 3975 },
- { 0x3412, 3180 },
- { 0x3413, 3252 },
- { 0x3414, 3255 },
- { 0x3415, 1728 },
- { 0x3416, 3249 },
- { 0x3417, 3987 },
- { 0x3418, 3990 },
- { 0x3419, 3246 },
- { 0x341A, 3984 },
- { 0x341B, 3996 },
- { 0x341C, 3267 },
- { 0x341D, 3993 },
- { 0x341E, 3261 },
- { 0x341F, 3264 },
- { 0x3420, 1731 },
- { 0x3421, 3258 },
- { 0x3422, 3273 },
- { 0x3423, 3276 },
- { 0x3424, 1734 },
- { 0x3425, 3270 },
- { 0x3426, 2166 },
- { 0x3427, 2169 },
- { 0x3428, 894 },
- { 0x3429, 2163 },
- { 0x342A, 3606 },
- { 0x342B, 3609 },
- { 0x342C, 2160 },
- { 0x342D, 3603 },
- { 0x342E, 3612 },
- { 0x342F, 2181 },
- { 0x3430, 2175 },
- { 0x3431, 2178 },
- { 0x3432, 897 },
- { 0x3433, 2172 },
- { 0x3434, 2190 },
- { 0x3435, 2193 },
- { 0x3436, 900 },
- { 0x3437, 2184 },
- { 0x3438, 3615 },
- { 0x3439, 2187 },
- { 0x343A, 2202 },
- { 0x343B, 2205 },
- { 0x343C, 903 },
- { 0x343D, 2199 },
- { 0x343E, 3621 },
- { 0x343F, 3624 },
- { 0x3440, 2196 },
- { 0x3441, 3618 },
- { 0x3442, 3630 },
- { 0x3443, 3633 },
- { 0x3444, 2217 },
- { 0x3445, 3627 },
- { 0x3446, 2211 },
- { 0x3447, 2214 },
- { 0x3448, 906 },
- { 0x3449, 2208 },
- { 0x344A, 2226 },
- { 0x344B, 2229 },
- { 0x344C, 909 },
- { 0x344D, 2220 },
- { 0x344E, 3636 },
- { 0x344F, 2223 },
- { 0x3450, 2238 },
- { 0x3451, 2241 },
- { 0x3452, 912 },
- { 0x3453, 2232 },
- { 0x3454, 3639 },
- { 0x3455, 2235 },
- { 0x3456, 492 },
- { 0x3457, 426 },
- { 0x3458, 474 },
- { 0x3459, 555 },
- { 0x345A, 456 },
- { 0x345B, 498 },
- { 0x345C, 531 },
- { 0x345D, 462 },
- { 0x345E, 429 },
- { 0x345F, 537 },
- { 0x3460, 480 },
- { 0x3461, 522 },
- { 0x3462, 483 },
- { 0x3463, 441 },
- { 0x3464, 486 },
- { 0x3465, 543 },
- { 0x3466, 501 },
- { 0x3467, 417 },
- { 0x3468, 516 },
- { 0x3469, 459 },
- { 0x346A, 528 },
- { 0x346B, 447 },
- { 0x346C, 534 },
- { 0x346D, 558 },
- { 0x346E, 435 },
- { 0x346F, 432 },
- { 0x3470, 549 },
- { 0x3471, 513 },
- { 0x3472, 489 },
- { 0x3473, 468 },
- { 0x3474, 510 },
- { 0x3475, 507 },
- { 0x3476, 495 },
- { 0x3477, 504 },
- { 0x3478, 444 },
- { 0x3479, 420 },
- { 0x347A, 561 },
- { 0x347B, 471 },
- { 0x347C, 465 },
- { 0x347D, 546 },
- { 0x347E, 438 },
- { 0x347F, 414 },
- { 0x3480, 570 },
- { 0x3481, 477 },
- { 0x3482, 411 },
- { 0x3483, 525 },
- { 0x3484, 453 },
- { 0x3485, 540 },
- { 0x3486, 564 },
- { 0x3487, 519 },
- { 0x3488, 567 },
- { 0x3489, 450 },
- { 0x348A, 573 },
- { 0x348B, 552 },
- { 0x348C, 423 },
- { 0x348D, 14496 },
- { 0x348E, 14535 },
- { 0x348F, 14580 },
- { 0x3490, 14502 },
- { 0x3491, 14541 },
- { 0x3492, 14586 },
- { 0x3493, 14511 },
- { 0x3494, 14520 },
- { 0x3495, 14574 },
- { 0x3496, 14517 },
- { 0x3497, 14499 },
- { 0x3498, 14562 },
- { 0x3499, 14565 },
- { 0x349A, 14589 },
- { 0x349B, 14628 },
- { 0x349C, 14526 },
- { 0x349D, 14529 },
- { 0x349E, 14523 },
- { 0x349F, 14538 },
- { 0x34A0, 14595 },
- { 0x34A1, 14559 },
- { 0x34A2, 14577 },
- { 0x34A3, 14514 },
- { 0x34A4, 14553 },
- { 0x34A5, 14571 },
- { 0x34A6, 14508 },
- { 0x34A7, 14550 },
- { 0x34A8, 14583 },
- { 0x34A9, 14556 },
- { 0x34AA, 14568 },
- { 0x34AB, 14478 },
- { 0x34AC, 14493 },
- { 0x34AD, 14481 },
- { 0x34AE, 14505 },
- { 0x34AF, 14484 },
- { 0x34B0, 14487 },
- { 0x34B1, 14490 },
- { 0x34B2, 14544 },
- { 0x34B3, 14547 },
- { 0x34B4, 14532 },
- { 0x34B5, 14613 },
- { 0x34B6, 14598 },
- { 0x34B7, 14618 },
- { 0x34B8, 14603 },
- { 0x34B9, 14608 },
- { 0x34BA, 14623 },
- { 0x34BB, 14635 },
- { 0x34BC, 14631 },
- { 0x34BD, 11874 },
- { 0x34BE, 12183 },
- { 0x34BF, 12219 },
- { 0x34C0, 12411 },
- { 0x34C1, 12582 },
- { 0x34C2, 12348 },
- { 0x34C3, 12456 },
- { 0x34C4, 12135 },
- { 0x34C5, 12507 },
- { 0x34C6, 12498 },
- { 0x34C7, 12600 },
- { 0x34C8, 12483 },
- { 0x34C9, 12186 },
- { 0x34CA, 12402 },
- { 0x34CB, 12381 },
- { 0x34CC, 12576 },
- { 0x34CD, 12462 },
- { 0x34CE, 12594 },
- { 0x34CF, 12267 },
- { 0x34D0, 12354 },
- { 0x34D1, 12162 },
- { 0x34D2, 12528 },
- { 0x34D3, 12360 },
- { 0x34D4, 12570 },
- { 0x34D5, 12435 },
- { 0x34D6, 12588 },
- { 0x34D7, 12156 },
- { 0x34D8, 12237 },
- { 0x34D9, 12558 },
- { 0x34DA, 12429 },
- { 0x34DB, 12246 },
- { 0x34DC, 12626 },
- { 0x34DD, 12207 },
- { 0x34DE, 12288 },
- { 0x34DF, 12309 },
- { 0x34E0, 12564 },
- { 0x34E1, 11817 },
- { 0x34E2, 11925 },
- { 0x34E3, 11916 },
- { 0x34E4, 12225 },
- { 0x34E5, 12096 },
- { 0x34E6, 12417 },
- { 0x34E7, 12018 },
- { 0x34E8, 12144 },
- { 0x34E9, 11835 },
- { 0x34EA, 12279 },
- { 0x34EB, 12258 },
- { 0x34EC, 12519 },
- { 0x34ED, 12198 },
- { 0x34EE, 11886 },
- { 0x34EF, 12081 },
- { 0x34F0, 12063 },
- { 0x34F1, 12390 },
- { 0x34F2, 12171 },
- { 0x34F3, 12471 },
- { 0x34F4, 11964 },
- { 0x34F5, 12033 },
- { 0x34F6, 11865 },
- { 0x34F7, 12300 },
- { 0x34F8, 12048 },
- { 0x34F9, 12369 },
- { 0x34FA, 12126 },
- { 0x34FB, 12444 },
- { 0x34FC, 11850 },
- { 0x34FD, 11934 },
- { 0x34FE, 12318 },
- { 0x34FF, 12111 },
- { 0x3500, 11949 },
- { 0x3501, 12546 },
- { 0x3502, 11901 },
- { 0x3503, 11979 },
- { 0x3504, 11997 },
- { 0x3505, 12336 },
- { 0x3506, 11811 },
- { 0x3507, 11826 },
- { 0x3508, 12534 },
- { 0x3509, 11910 },
- { 0x350A, 12216 },
- { 0x350B, 12090 },
- { 0x350C, 12408 },
- { 0x350D, 12012 },
- { 0x350E, 12138 },
- { 0x350F, 11829 },
- { 0x3510, 12273 },
- { 0x3511, 12252 },
- { 0x3512, 12495 },
- { 0x3513, 12513 },
- { 0x3514, 12192 },
- { 0x3515, 11880 },
- { 0x3516, 12075 },
- { 0x3517, 12057 },
- { 0x3518, 12384 },
- { 0x3519, 12165 },
- { 0x351A, 12465 },
- { 0x351B, 11958 },
- { 0x351C, 12027 },
- { 0x351D, 11859 },
- { 0x351E, 12294 },
- { 0x351F, 12042 },
- { 0x3520, 12363 },
- { 0x3521, 12120 },
- { 0x3522, 12438 },
- { 0x3523, 11844 },
- { 0x3524, 11928 },
- { 0x3525, 12312 },
- { 0x3526, 12105 },
- { 0x3527, 11943 },
- { 0x3528, 12243 },
- { 0x3529, 12540 },
- { 0x352A, 11895 },
- { 0x352B, 11973 },
- { 0x352C, 11988 },
- { 0x352D, 12330 },
- { 0x352E, 12009 },
- { 0x352F, 12345 },
- { 0x3530, 12231 },
- { 0x3531, 12423 },
- { 0x3532, 12585 },
- { 0x3533, 12351 },
- { 0x3534, 12459 },
- { 0x3535, 12153 },
- { 0x3536, 12510 },
- { 0x3537, 12504 },
- { 0x3538, 12603 },
- { 0x3539, 12492 },
- { 0x353A, 12189 },
- { 0x353B, 12405 },
- { 0x353C, 12399 },
- { 0x353D, 12579 },
- { 0x353E, 12480 },
- { 0x353F, 12597 },
- { 0x3540, 12270 },
- { 0x3541, 12357 },
- { 0x3542, 12180 },
- { 0x3543, 12531 },
- { 0x3544, 12378 },
- { 0x3545, 12573 },
- { 0x3546, 12453 },
- { 0x3547, 12591 },
- { 0x3548, 12159 },
- { 0x3549, 12240 },
- { 0x354A, 12561 },
- { 0x354B, 12432 },
- { 0x354C, 12249 },
- { 0x354D, 12632 },
- { 0x354E, 12213 },
- { 0x354F, 12291 },
- { 0x3550, 12327 },
- { 0x3551, 12567 },
- { 0x3552, 11823 },
- { 0x3553, 12072 },
- { 0x3554, 11922 },
- { 0x3555, 12234 },
- { 0x3556, 12102 },
- { 0x3557, 12426 },
- { 0x3558, 12024 },
- { 0x3559, 12150 },
- { 0x355A, 11841 },
- { 0x355B, 12285 },
- { 0x355C, 12264 },
- { 0x355D, 12525 },
- { 0x355E, 12204 },
- { 0x355F, 11892 },
- { 0x3560, 12087 },
- { 0x3561, 12069 },
- { 0x3562, 12396 },
- { 0x3563, 12177 },
- { 0x3564, 12477 },
- { 0x3565, 11970 },
- { 0x3566, 12039 },
- { 0x3567, 11871 },
- { 0x3568, 12306 },
- { 0x3569, 12054 },
- { 0x356A, 12375 },
- { 0x356B, 12132 },
- { 0x356C, 12450 },
- { 0x356D, 11856 },
- { 0x356E, 11940 },
- { 0x356F, 12324 },
- { 0x3570, 12117 },
- { 0x3571, 11955 },
- { 0x3572, 12552 },
- { 0x3573, 11907 },
- { 0x3574, 11985 },
- { 0x3575, 12003 },
- { 0x3576, 12342 },
- { 0x3577, 11820 },
- { 0x3578, 12006 },
- { 0x3579, 12555 },
- { 0x357A, 11919 },
- { 0x357B, 12228 },
- { 0x357C, 12099 },
- { 0x357D, 12420 },
- { 0x357E, 12021 },
- { 0x357F, 12147 },
- { 0x3580, 11838 },
- { 0x3581, 12282 },
- { 0x3582, 12261 },
- { 0x3583, 12522 },
- { 0x3584, 12201 },
- { 0x3585, 12489 },
- { 0x3586, 11889 },
- { 0x3587, 12084 },
- { 0x3588, 12066 },
- { 0x3589, 12393 },
- { 0x358A, 12174 },
- { 0x358B, 12474 },
- { 0x358C, 11967 },
- { 0x358D, 12036 },
- { 0x358E, 11868 },
- { 0x358F, 12303 },
- { 0x3590, 12051 },
- { 0x3591, 12372 },
- { 0x3592, 12129 },
- { 0x3593, 12447 },
- { 0x3594, 11853 },
- { 0x3595, 11937 },
- { 0x3596, 12321 },
- { 0x3597, 12114 },
- { 0x3598, 11952 },
- { 0x3599, 12549 },
- { 0x359A, 11904 },
- { 0x359B, 11982 },
- { 0x359C, 12000 },
- { 0x359D, 12339 },
- { 0x359E, 11814 },
- { 0x359F, 11877 },
- { 0x35A0, 12537 },
- { 0x35A1, 11913 },
- { 0x35A2, 12222 },
- { 0x35A3, 12093 },
- { 0x35A4, 12414 },
- { 0x35A5, 12015 },
- { 0x35A6, 12141 },
- { 0x35A7, 11832 },
- { 0x35A8, 12276 },
- { 0x35A9, 12255 },
- { 0x35AA, 12501 },
- { 0x35AB, 12516 },
- { 0x35AC, 12195 },
- { 0x35AD, 12486 },
- { 0x35AE, 11883 },
- { 0x35AF, 12078 },
- { 0x35B0, 12060 },
- { 0x35B1, 12387 },
- { 0x35B2, 12168 },
- { 0x35B3, 12468 },
- { 0x35B4, 11961 },
- { 0x35B5, 12030 },
- { 0x35B6, 11862 },
- { 0x35B7, 12297 },
- { 0x35B8, 12045 },
- { 0x35B9, 12366 },
- { 0x35BA, 12123 },
- { 0x35BB, 12441 },
- { 0x35BC, 11847 },
- { 0x35BD, 11931 },
- { 0x35BE, 12315 },
- { 0x35BF, 12108 },
- { 0x35C0, 11946 },
- { 0x35C1, 12543 },
- { 0x35C2, 12629 },
- { 0x35C3, 11898 },
- { 0x35C4, 12210 },
- { 0x35C5, 11976 },
- { 0x35C6, 11991 },
- { 0x35C7, 12333 },
- { 0x35C8, 11994 },
- { 0x35C9, 12635 },
- { 0x35CA, 11737 },
- { 0x35CB, 11734 },
- { 0x35CC, 11808 },
- { 0x35CD, 12610 },
- { 0x35CE, 12614 },
- { 0x35CF, 12622 },
- { 0x35D0, 11802 },
- { 0x35D1, 11805 },
- { 0x35D2, 11793 },
- { 0x35D3, 11772 },
- { 0x35D4, 11778 },
- { 0x35D5, 11769 },
- { 0x35D6, 11775 },
- { 0x35D7, 11781 },
- { 0x35D8, 11799 },
- { 0x35D9, 11790 },
- { 0x35DA, 11796 },
- { 0x35DB, 11784 },
- { 0x35DC, 11787 },
- { 0x35DD, 11757 },
- { 0x35DE, 11739 },
- { 0x35DF, 11745 },
- { 0x35E0, 11766 },
- { 0x35E1, 11751 },
- { 0x35E2, 11748 },
- { 0x35E3, 11742 },
- { 0x35E4, 11763 },
- { 0x35E5, 11760 },
- { 0x35E6, 11754 },
- { 0x35E7, 12618 },
- { 0x35E8, 12606 },
- { 0x35E9, 85784 },
- { 0x35EA, 84818 },
- { 0x35EB, 85692 },
- { 0x35EC, 84721 },
- { 0x35ED, 85864 },
- { 0x35EE, 84907 },
- { 0x35EF, 85563 },
- { 0x35F0, 84571 },
- { 0x35F1, 85688 },
- { 0x35F2, 84717 },
- { 0x35F3, 85923 },
- { 0x35F4, 84966 },
- { 0x35F5, 85683 },
- { 0x35F6, 84712 },
- { 0x35F7, 85815 },
- { 0x35F8, 84849 },
- { 0x35F9, 85661 },
- { 0x35FA, 84690 },
- { 0x35FB, 85836 },
- { 0x35FC, 84875 },
- { 0x35FD, 85854 },
- { 0x35FE, 84897 },
- { 0x35FF, 85820 },
- { 0x3600, 84859 },
- { 0x3601, 85762 },
- { 0x3602, 84791 },
- { 0x3603, 85793 },
- { 0x3604, 84827 },
- { 0x3605, 85841 },
- { 0x3606, 84880 },
- { 0x3607, 85355 },
- { 0x3608, 84363 },
- { 0x3609, 85869 },
- { 0x360A, 84912 },
- { 0x360B, 85621 },
- { 0x360C, 84629 },
- { 0x360D, 85626 },
- { 0x360E, 84634 },
- { 0x360F, 85631 },
- { 0x3610, 84639 },
- { 0x3611, 85918 },
- { 0x3612, 84961 },
- { 0x3613, 85913 },
- { 0x3614, 84956 },
- { 0x3615, 85773 },
- { 0x3616, 84802 },
- { 0x3617, 85026 },
- { 0x3618, 105411 },
- { 0x3619, 105379 },
- { 0x361A, 105595 },
- { 0x361B, 105615 },
- { 0x361C, 98862 },
- { 0x361D, 105590 },
- { 0x361E, 105421 },
- { 0x361F, 105489 },
- { 0x3620, 105429 },
- { 0x3621, 105534 },
- { 0x3622, 105544 },
- { 0x3623, 105539 },
- { 0x3624, 105556 },
- { 0x3625, 105414 },
- { 0x3626, 105605 },
- { 0x3627, 85016 },
- { 0x3628, 85958 },
- { 0x3629, 85411 },
- { 0x362A, 84419 },
- { 0x362B, 85546 },
- { 0x362C, 84554 },
- { 0x362D, 85674 },
- { 0x362E, 84703 },
- { 0x362F, 85534 },
- { 0x3630, 84542 },
- { 0x3631, 85550 },
- { 0x3632, 84558 },
- { 0x3633, 85322 },
- { 0x3634, 84330 },
- { 0x3635, 85500 },
- { 0x3636, 84508 },
- { 0x3637, 85653 },
- { 0x3638, 84677 },
- { 0x3639, 85649 },
- { 0x363A, 84673 },
- { 0x363B, 85641 },
- { 0x363C, 84665 },
- { 0x363D, 85460 },
- { 0x363E, 84468 },
- { 0x363F, 85617 },
- { 0x3640, 84625 },
- { 0x3641, 85768 },
- { 0x3642, 84797 },
- { 0x3643, 85798 },
- { 0x3644, 84832 },
- { 0x3645, 96922 },
- { 0x3646, 96927 },
- { 0x3647, 105441 },
- { 0x3648, 105574 },
- { 0x3649, 17333 },
- { 0x364A, 17354 },
- { 0x364B, 17345 },
- { 0x364C, 17363 },
- { 0x364D, 17348 },
- { 0x364E, 17453 },
- { 0x364F, 17474 },
- { 0x3650, 17342 },
- { 0x3651, 17441 },
- { 0x3652, 17336 },
- { 0x3653, 17366 },
- { 0x3654, 17396 },
- { 0x3655, 17459 },
- { 0x3656, 17534 },
- { 0x3657, 17546 },
- { 0x3658, 17549 },
- { 0x3659, 17471 },
- { 0x365A, 17504 },
- { 0x365B, 17552 },
- { 0x365C, 17339 },
- { 0x365D, 17468 },
- { 0x365E, 17384 },
- { 0x365F, 17540 },
- { 0x3660, 17405 },
- { 0x3661, 17561 },
- { 0x3662, 17537 },
- { 0x3663, 17495 },
- { 0x3664, 17426 },
- { 0x3665, 17522 },
- { 0x3666, 17393 },
- { 0x3667, 17555 },
- { 0x3668, 17486 },
- { 0x3669, 17465 },
- { 0x366A, 17489 },
- { 0x366B, 17414 },
- { 0x366C, 17513 },
- { 0x366D, 17492 },
- { 0x366E, 17525 },
- { 0x366F, 17510 },
- { 0x3670, 17516 },
- { 0x3671, 17447 },
- { 0x3672, 17483 },
- { 0x3673, 17444 },
- { 0x3674, 17417 },
- { 0x3675, 17402 },
- { 0x3676, 17372 },
- { 0x3677, 17378 },
- { 0x3678, 17390 },
- { 0x3679, 17531 },
- { 0x367A, 17450 },
- { 0x367B, 17423 },
- { 0x367C, 17570 },
- { 0x367D, 17507 },
- { 0x367E, 17438 },
- { 0x367F, 17462 },
- { 0x3680, 17528 },
- { 0x3681, 17351 },
- { 0x3682, 17420 },
- { 0x3683, 17411 },
- { 0x3684, 17387 },
- { 0x3685, 17369 },
- { 0x3686, 17399 },
- { 0x3687, 17432 },
- { 0x3688, 17360 },
- { 0x3689, 17501 },
- { 0x368A, 17456 },
- { 0x368B, 17435 },
- { 0x368C, 17375 },
- { 0x368D, 17408 },
- { 0x368E, 17357 },
- { 0x368F, 17381 },
- { 0x3690, 17498 },
- { 0x3691, 17480 },
- { 0x3692, 17429 },
- { 0x3693, 17477 },
- { 0x3694, 17519 },
- { 0x3695, 17558 },
- { 0x3696, 17564 },
- { 0x3697, 17543 },
- { 0x3698, 17567 },
- { 0x3699, 19939 },
- { 0x369A, 19943 },
- { 0x369B, 19934 },
- { 0x369C, 17326 },
- { 0x369D, 17329 },
- { 0x369E, 17331 },
- { 0x369F, 19947 },
- { 0x36A0, 19936 },
- { 0x36A1, 96857 },
- { 0x36A2, 96881 },
- { 0x36A3, 96863 },
- { 0x36A4, 96887 },
- { 0x36A5, 96845 },
- { 0x36A6, 96869 },
- { 0x36A7, 96851 },
- { 0x36A8, 96875 },
- { 0x36A9, 97190 },
- { 0x36AA, 95799 },
- { 0x36AB, 95756 },
- { 0x36AC, 95712 },
- { 0x36AD, 97152 },
- { 0x36AE, 97196 },
- { 0x36AF, 95805 },
- { 0x36B0, 95762 },
- { 0x36B1, 95718 },
- { 0x36B2, 97158 },
- { 0x36B3, 97203 },
- { 0x36B4, 95812 },
- { 0x36B5, 95769 },
- { 0x36B6, 95740 },
- { 0x36B7, 97165 },
- { 0x36B8, 95644 },
- { 0x36B9, 95640 },
- { 0x36BA, 95649 },
- { 0x36BB, 95870 },
- { 0x36BC, 96671 },
- { 0x36BD, 96676 },
- { 0x36BE, 96691 },
- { 0x36BF, 96685 },
- { 0x36C0, 95729 },
- { 0x36C1, 96706 },
- { 0x36C2, 96700 },
- { 0x36C3, 34122 },
- { 0x36C4, 30919 },
- { 0x36C5, 34117 },
- { 0x36C6, 30914 },
- { 0x36C7, 33806 },
- { 0x36C8, 30067 },
- { 0x36C9, 33739 },
- { 0x36CA, 29822 },
- { 0x36CB, 34083 },
- { 0x36CC, 30863 },
- { 0x36CD, 34092 },
- { 0x36CE, 30872 },
- { 0x36CF, 34096 },
- { 0x36D0, 30876 },
- { 0x36D1, 31015 },
- { 0x36D2, 31109 },
- { 0x36D3, 33658 },
- { 0x36D4, 29671 },
- { 0x36D5, 33678 },
- { 0x36D6, 29691 },
- { 0x36D7, 33682 },
- { 0x36D8, 29695 },
- { 0x36D9, 33686 },
- { 0x36DA, 29699 },
- { 0x36DB, 33690 },
- { 0x36DC, 29703 },
- { 0x36DD, 33697 },
- { 0x36DE, 29710 },
- { 0x36DF, 34055 },
- { 0x36E0, 30755 },
- { 0x36E1, 32275 },
- { 0x36E2, 27845 },
- { 0x36E3, 32303 },
- { 0x36E4, 27880 },
- { 0x36E5, 32281 },
- { 0x36E6, 27851 },
- { 0x36E7, 33908 },
- { 0x36E8, 30314 },
- { 0x36E9, 32348 },
- { 0x36EA, 27940 },
- { 0x36EB, 32632 },
- { 0x36EC, 28344 },
- { 0x36ED, 32640 },
- { 0x36EE, 28352 },
- { 0x36EF, 33731 },
- { 0x36F0, 29783 },
- { 0x36F1, 32869 },
- { 0x36F2, 28588 },
- { 0x36F3, 32877 },
- { 0x36F4, 28603 },
- { 0x36F5, 32883 },
- { 0x36F6, 28609 },
- { 0x36F7, 32894 },
- { 0x36F8, 28633 },
- { 0x36F9, 32902 },
- { 0x36FA, 28641 },
- { 0x36FB, 32994 },
- { 0x36FC, 28792 },
- { 0x36FD, 33792 },
- { 0x36FE, 30010 },
- { 0x36FF, 33432 },
- { 0x3700, 29358 },
- { 0x3701, 33743 },
- { 0x3702, 29842 },
- { 0x3703, 34102 },
- { 0x3704, 30882 },
- { 0x3705, 33894 },
- { 0x3706, 30279 },
- { 0x3707, 33900 },
- { 0x3708, 30285 },
- { 0x3709, 33839 },
- { 0x370A, 30206 },
- { 0x370B, 33711 },
- { 0x370C, 29749 },
- { 0x370D, 33715 },
- { 0x370E, 29757 },
- { 0x370F, 33751 },
- { 0x3710, 29866 },
- { 0x3711, 95637 },
- { 0x3712, 29870 },
- { 0x3713, 29984 },
- { 0x3714, 29988 },
- { 0x3715, 29992 },
- { 0x3716, 30006 },
- { 0x3717, 31169 },
- { 0x3718, 30021 },
- { 0x3719, 29834 },
- { 0x371A, 34001 },
- { 0x371B, 30665 },
- { 0x371C, 34006 },
- { 0x371D, 30670 },
- { 0x371E, 34011 },
- { 0x371F, 33970 },
- { 0x3720, 30613 },
- { 0x3721, 33945 },
- { 0x3722, 30447 },
- { 0x3723, 34016 },
- { 0x3724, 30680 },
- { 0x3725, 34021 },
- { 0x3726, 30685 },
- { 0x3727, 34026 },
- { 0x3728, 30690 },
- { 0x3729, 95746 },
- { 0x372A, 95859 },
- { 0x372B, 95899 },
- { 0x372C, 34079 },
- { 0x372D, 30819 },
- { 0x372E, 33935 },
- { 0x372F, 28042 },
- { 0x3730, 31330 },
- { 0x3731, 32537 },
- { 0x3732, 28213 },
- { 0x3733, 31610 },
- { 0x3734, 27074 },
- { 0x3735, 27131 },
- { 0x3736, 27633 },
- { 0x3737, 31600 },
- { 0x3738, 27064 },
- { 0x3739, 31964 },
- { 0x373A, 27491 },
- { 0x373B, 34040 },
- { 0x373C, 30715 },
- { 0x373D, 34045 },
- { 0x373E, 30720 },
- { 0x373F, 34050 },
- { 0x3740, 30725 },
- { 0x3741, 32023 },
- { 0x3742, 27557 },
- { 0x3743, 32296 },
- { 0x3744, 27866 },
- { 0x3745, 32530 },
- { 0x3746, 28199 },
- { 0x3747, 32980 },
- { 0x3748, 28733 },
- { 0x3749, 33091 },
- { 0x374A, 28908 },
- { 0x374B, 32054 },
- { 0x374C, 34073 },
- { 0x374D, 33925 },
- { 0x374E, 32342 },
- { 0x374F, 33884 },
- { 0x3750, 31091 },
- { 0x3751, 33940 },
- { 0x3752, 33955 },
- { 0x3753, 32233 },
- { 0x3754, 33747 },
- { 0x3755, 33797 },
- { 0x3756, 30025 },
- { 0x3757, 33863 },
- { 0x3758, 30238 },
- { 0x3759, 33338 },
- { 0x375A, 29237 },
- { 0x375B, 33981 },
- { 0x375C, 30645 },
- { 0x375D, 33986 },
- { 0x375E, 30650 },
- { 0x375F, 33991 },
- { 0x3760, 30655 },
- { 0x3761, 33786 },
- { 0x3762, 29996 },
- { 0x3763, 34087 },
- { 0x3764, 30867 },
- { 0x3765, 31661 },
- { 0x3766, 33027 },
- { 0x3767, 33639 },
- { 0x3768, 31711 },
- { 0x3769, 27208 },
- { 0x376A, 33070 },
- { 0x376B, 28880 },
- { 0x376C, 33913 },
- { 0x376D, 30330 },
- { 0x376E, 30360 },
- { 0x376F, 30355 },
- { 0x3770, 33919 },
- { 0x3771, 30371 },
- { 0x3772, 34031 },
- { 0x3773, 30695 },
- { 0x3774, 96724 },
- { 0x3775, 96736 },
- { 0x3776, 96786 },
- { 0x3777, 34067 },
- { 0x3778, 30784 },
- { 0x3779, 34250 },
- { 0x377A, 96748 },
- { 0x377B, 96612 },
- { 0x377C, 31204 },
- { 0x377D, 34240 },
- { 0x377E, 34245 },
- { 0x377F, 34235 },
- { 0x3780, 34225 },
- { 0x3781, 34230 },
- { 0x3782, 62560 },
- { 0x3783, 62568 },
- { 0x3784, 62526 },
- { 0x3785, 62576 },
- { 0x3786, 62564 },
- { 0x3787, 62572 },
- { 0x3788, 62518 },
- { 0x3789, 62604 },
- { 0x378A, 62660 },
- { 0x378B, 62592 },
- { 0x378C, 62652 },
- { 0x378D, 62522 },
- { 0x378E, 62584 },
- { 0x378F, 62640 },
- { 0x3790, 62600 },
- { 0x3791, 62656 },
- { 0x3792, 62676 },
- { 0x3793, 62684 },
- { 0x3794, 62644 },
- { 0x3795, 62680 },
- { 0x3796, 62632 },
- { 0x3797, 62672 },
- { 0x3798, 62588 },
- { 0x3799, 62648 },
- { 0x379A, 62616 },
- { 0x379B, 62620 },
- { 0x379C, 62664 },
- { 0x379D, 62580 },
- { 0x379E, 62636 },
- { 0x379F, 62612 },
- { 0x37A0, 62624 },
- { 0x37A1, 62608 },
- { 0x37A2, 62668 },
- { 0x37A3, 62628 },
- { 0x37A4, 62596 },
- { 0x37A5, 62535 },
- { 0x37A6, 62545 },
- { 0x37A7, 62550 },
- { 0x37A8, 62540 },
- { 0x37A9, 62555 },
- { 0x37AA, 62688 },
- { 0x37AB, 62692 },
- { 0x37AC, 62696 },
- { 0x37AD, 62700 },
- { 0x37AE, 62530 },
- { 0x37AF, 36337 },
- { 0x37B0, 36327 },
- { 0x37B1, 36347 },
- { 0x37B2, 36342 },
- { 0x37B3, 36332 },
- { 0x37B4, 36352 },
- { 0x37B5, 36323 },
- { 0x37B6, 36361 },
- { 0x37B7, 36319 },
- { 0x37B8, 36357 },
- { 0x37B9, 98117 },
- { 0x37BA, 98168 },
- { 0x37BB, 98108 },
- { 0x37BC, 98171 },
- { 0x37BD, 98096 },
- { 0x37BE, 98156 },
- { 0x37BF, 98114 },
- { 0x37C0, 98177 },
- { 0x37C1, 98141 },
- { 0x37C2, 98186 },
- { 0x37C3, 98099 },
- { 0x37C4, 98126 },
- { 0x37C5, 98129 },
- { 0x37C6, 98180 },
- { 0x37C7, 98093 },
- { 0x37C8, 98123 },
- { 0x37C9, 98189 },
- { 0x37CA, 98198 },
- { 0x37CB, 98162 },
- { 0x37CC, 98144 },
- { 0x37CD, 98195 },
- { 0x37CE, 98153 },
- { 0x37CF, 98204 },
- { 0x37D0, 98150 },
- { 0x37D1, 98135 },
- { 0x37D2, 98120 },
- { 0x37D3, 98183 },
- { 0x37D4, 98138 },
- { 0x37D5, 98111 },
- { 0x37D6, 98078 },
- { 0x37D7, 98084 },
- { 0x37D8, 98090 },
- { 0x37D9, 98081 },
- { 0x37DA, 98087 },
- { 0x37DB, 98132 },
- { 0x37DC, 98147 },
- { 0x37DD, 98105 },
- { 0x37DE, 98165 },
- { 0x37DF, 98102 },
- { 0x37E0, 98235 },
- { 0x37E1, 98239 },
- { 0x37E2, 98192 },
- { 0x37E3, 98201 },
- { 0x37E4, 98159 },
- { 0x37E5, 98174 },
- { 0x37E6, 98212 },
- { 0x37E7, 98220 },
- { 0x37E8, 98208 },
- { 0x37E9, 98216 },
- { 0x37EA, 98231 },
- { 0x37EB, 98243 },
- { 0x37EC, 98224 },
- { 0x37ED, 98227 },
- { 0x37EE, 98074 },
- { 0x37EF, 98067 },
- { 0x37F0, 98070 },
- { 0x37F1, 120680 },
- { 0x37F2, 120677 },
- { 0x37F3, 120785 },
- { 0x37F4, 120800 },
- { 0x37F5, 120791 },
- { 0x37F6, 120827 },
- { 0x37F7, 120797 },
- { 0x37F8, 120860 },
- { 0x37F9, 120927 },
- { 0x37FA, 120935 },
- { 0x37FB, 120923 },
- { 0x37FC, 120931 },
- { 0x37FD, 120788 },
- { 0x37FE, 120818 },
- { 0x37FF, 120803 },
- { 0x3800, 120794 },
- { 0x3801, 120845 },
- { 0x3802, 120806 },
- { 0x3803, 120833 },
- { 0x3804, 120887 },
- { 0x3805, 120821 },
- { 0x3806, 120881 },
- { 0x3807, 120893 },
- { 0x3808, 120812 },
- { 0x3809, 120872 },
- { 0x380A, 120830 },
- { 0x380B, 120884 },
- { 0x380C, 120899 },
- { 0x380D, 120914 },
- { 0x380E, 120920 },
- { 0x380F, 120875 },
- { 0x3810, 120917 },
- { 0x3811, 120896 },
- { 0x3812, 120857 },
- { 0x3813, 120911 },
- { 0x3814, 120815 },
- { 0x3815, 120878 },
- { 0x3816, 120842 },
- { 0x3817, 120848 },
- { 0x3818, 120902 },
- { 0x3819, 120809 },
- { 0x381A, 120869 },
- { 0x381B, 120839 },
- { 0x381C, 120866 },
- { 0x381D, 120851 },
- { 0x381E, 120836 },
- { 0x381F, 120863 },
- { 0x3820, 120905 },
- { 0x3821, 120908 },
- { 0x3822, 120854 },
- { 0x3823, 120824 },
- { 0x3824, 120890 },
- { 0x3825, 120939 },
- { 0x3826, 120734 },
- { 0x3827, 120722 },
- { 0x3828, 120750 },
- { 0x3829, 120730 },
- { 0x382A, 120758 },
- { 0x382B, 120767 },
- { 0x382C, 120777 },
- { 0x382D, 120762 },
- { 0x382E, 120772 },
- { 0x382F, 120718 },
- { 0x3830, 120746 },
- { 0x3831, 120738 },
- { 0x3832, 120726 },
- { 0x3833, 120754 },
- { 0x3834, 120742 },
- { 0x3835, 120674 },
- { 0x3836, 120683 },
- { 0x3837, 120686 },
- { 0x3838, 120782 },
- { 0x3839, 120706 },
- { 0x383A, 120688 },
- { 0x383B, 120694 },
- { 0x383C, 120715 },
- { 0x383D, 120700 },
- { 0x383E, 120697 },
- { 0x383F, 120691 },
- { 0x3840, 120712 },
- { 0x3841, 120709 },
- { 0x3842, 120703 },
- { 0x3843, 105783 },
- { 0x3844, 105759 },
- { 0x3845, 105767 },
- { 0x3846, 105795 },
- { 0x3847, 105775 },
- { 0x3848, 105771 },
- { 0x3849, 105763 },
- { 0x384A, 105791 },
- { 0x384B, 105787 },
- { 0x384C, 105779 },
- { 0x384D, 105799 },
- { 0x384E, 105803 },
- { 0x384F, 105807 },
- { 0x3850, 105811 },
- { 0x3851, 105815 },
- { 0x3852, 105819 },
- { 0x3853, 105823 },
- { 0x3854, 105755 },
- { 0x3855, 117745 },
- { 0x3856, 117801 },
- { 0x3857, 117734 },
- { 0x3858, 117793 },
- { 0x3859, 117797 },
- { 0x385A, 117805 },
- { 0x385B, 117782 },
- { 0x385C, 117701 },
- { 0x385D, 117812 },
- { 0x385E, 118221 },
- { 0x385F, 117742 },
- { 0x3860, 117712 },
- { 0x3861, 117990 },
- { 0x3862, 117881 },
- { 0x3863, 25986 },
- { 0x3864, 25962 },
- { 0x3865, 25970 },
- { 0x3866, 25998 },
- { 0x3867, 25978 },
- { 0x3868, 25974 },
- { 0x3869, 25966 },
- { 0x386A, 25994 },
- { 0x386B, 25990 },
- { 0x386C, 25982 },
- { 0x386D, 26050 },
- { 0x386E, 26110 },
- { 0x386F, 26042 },
- { 0x3870, 26114 },
- { 0x3871, 26082 },
- { 0x3872, 26126 },
- { 0x3873, 26102 },
- { 0x3874, 26118 },
- { 0x3875, 26086 },
- { 0x3876, 26106 },
- { 0x3877, 26062 },
- { 0x3878, 26074 },
- { 0x3879, 26122 },
- { 0x387A, 26058 },
- { 0x387B, 26038 },
- { 0x387C, 26030 },
- { 0x387D, 26078 },
- { 0x387E, 26098 },
- { 0x387F, 26054 },
- { 0x3880, 26094 },
- { 0x3881, 26130 },
- { 0x3882, 26046 },
- { 0x3883, 26090 },
- { 0x3884, 26034 },
- { 0x3885, 26022 },
- { 0x3886, 26066 },
- { 0x3887, 26026 },
- { 0x3888, 26070 },
- { 0x3889, 26018 },
- { 0x388A, 26002 },
- { 0x388B, 26010 },
- { 0x388C, 26014 },
- { 0x388D, 26006 },
- { 0x388E, 25958 },
- { 0x388F, 25949 },
- { 0x3890, 25953 },
- { 0x3891, 25941 },
- { 0x3892, 25945 },
- { 0x3893, 61590 },
- { 0x3894, 61581 },
- { 0x3895, 61626 },
- { 0x3896, 61611 },
- { 0x3897, 61578 },
- { 0x3898, 61599 },
- { 0x3899, 61602 },
- { 0x389A, 61572 },
- { 0x389B, 61596 },
- { 0x389C, 61575 },
- { 0x389D, 61587 },
- { 0x389E, 61629 },
- { 0x389F, 61608 },
- { 0x38A0, 61605 },
- { 0x38A1, 61593 },
- { 0x38A2, 61617 },
- { 0x38A3, 61614 },
- { 0x38A4, 61584 },
- { 0x38A5, 61620 },
- { 0x38A6, 61632 },
- { 0x38A7, 61623 },
- { 0x38A8, 61635 },
- { 0x38A9, 61569 },
- { 0x38AA, 61541 },
- { 0x38AB, 61549 },
- { 0x38AC, 61537 },
- { 0x38AD, 61553 },
- { 0x38AE, 61545 },
- { 0x38AF, 61557 },
- { 0x38B0, 61565 },
- { 0x38B1, 61561 },
- { 0x38B2, 61655 },
- { 0x38B3, 61647 },
- { 0x38B4, 61651 },
- { 0x38B5, 61643 },
- { 0x38B6, 61638 },
- { 0x38B7, 61640 },
- { 0x38B8, 52760 },
- { 0x38B9, 52763 },
- { 0x38BA, 52703 },
- { 0x38BB, 52757 },
- { 0x38BC, 52736 },
- { 0x38BD, 52871 },
- { 0x38BE, 52739 },
- { 0x38BF, 52874 },
- { 0x38C0, 52682 },
- { 0x38C1, 52688 },
- { 0x38C2, 52853 },
- { 0x38C3, 52892 },
- { 0x38C4, 52595 },
- { 0x38C5, 52676 },
- { 0x38C6, 52817 },
- { 0x38C7, 52718 },
- { 0x38C8, 52721 },
- { 0x38C9, 52586 },
- { 0x38CA, 52889 },
- { 0x38CB, 52808 },
- { 0x38CC, 52670 },
- { 0x38CD, 52841 },
- { 0x38CE, 52652 },
- { 0x38CF, 52643 },
- { 0x38D0, 52856 },
- { 0x38D1, 52754 },
- { 0x38D2, 52799 },
- { 0x38D3, 52580 },
- { 0x38D4, 52859 },
- { 0x38D5, 94012 },
- { 0x38D6, 93999 },
- { 0x38D7, 94006 },
- { 0x38D8, 94009 },
- { 0x38D9, 94087 },
- { 0x38DA, 94096 },
- { 0x38DB, 94093 },
- { 0x38DC, 94140 },
- { 0x38DD, 94103 },
- { 0x38DE, 94177 },
- { 0x38DF, 94226 },
- { 0x38E0, 94230 },
- { 0x38E1, 94090 },
- { 0x38E2, 94106 },
- { 0x38E3, 94100 },
- { 0x38E4, 94150 },
- { 0x38E5, 94157 },
- { 0x38E6, 94153 },
- { 0x38E7, 94130 },
- { 0x38E8, 94133 },
- { 0x38E9, 94223 },
- { 0x38EA, 94116 },
- { 0x38EB, 94119 },
- { 0x38EC, 94143 },
- { 0x38ED, 94238 },
- { 0x38EE, 94146 },
- { 0x38EF, 94235 },
- { 0x38F0, 94242 },
- { 0x38F1, 94245 },
- { 0x38F2, 94216 },
- { 0x38F3, 94219 },
- { 0x38F4, 94170 },
- { 0x38F5, 94203 },
- { 0x38F6, 94206 },
- { 0x38F7, 94123 },
- { 0x38F8, 94126 },
- { 0x38F9, 94167 },
- { 0x38FA, 94174 },
- { 0x38FB, 94181 },
- { 0x38FC, 94109 },
- { 0x38FD, 94112 },
- { 0x38FE, 94164 },
- { 0x38FF, 94213 },
- { 0x3900, 94185 },
- { 0x3901, 94188 },
- { 0x3902, 94161 },
- { 0x3903, 94210 },
- { 0x3904, 94195 },
- { 0x3905, 94199 },
- { 0x3906, 94192 },
- { 0x3907, 94137 },
- { 0x3908, 94002 },
- { 0x3909, 94079 },
- { 0x390A, 94083 },
- { 0x390B, 94057 },
- { 0x390C, 94061 },
- { 0x390D, 94048 },
- { 0x390E, 94052 },
- { 0x390F, 94075 },
- { 0x3910, 94066 },
- { 0x3911, 94071 },
- { 0x3912, 94259 },
- { 0x3913, 94263 },
- { 0x3914, 94255 },
- { 0x3915, 94253 },
- { 0x3916, 93958 },
- { 0x3917, 94045 },
- { 0x3918, 93968 },
- { 0x3919, 93974 },
- { 0x391A, 93971 },
- { 0x391B, 93981 },
- { 0x391C, 93990 },
- { 0x391D, 93984 },
- { 0x391E, 93987 },
- { 0x391F, 93961 },
- { 0x3920, 93964 },
- { 0x3921, 93993 },
- { 0x3922, 94249 },
- { 0x3923, 94267 },
- { 0x3924, 94033 },
- { 0x3925, 94015 },
- { 0x3926, 94021 },
- { 0x3927, 94042 },
- { 0x3928, 94027 },
- { 0x3929, 94024 },
- { 0x392A, 94018 },
- { 0x392B, 94039 },
- { 0x392C, 94036 },
- { 0x392D, 94030 },
- { 0x392E, 93977 },
- { 0x392F, 93996 },
- { 0x3930, 73682 },
- { 0x3931, 73678 },
- { 0x3932, 73686 },
- { 0x3933, 73694 },
- { 0x3934, 73674 },
- { 0x3935, 73134 },
- { 0x3936, 73906 },
- { 0x3937, 73607 },
- { 0x3938, 73557 },
- { 0x3939, 73562 },
- { 0x393A, 73587 },
- { 0x393B, 73567 },
- { 0x393C, 73592 },
- { 0x393D, 73577 },
- { 0x393E, 73612 },
- { 0x393F, 73602 },
- { 0x3940, 73052 },
- { 0x3941, 73022 },
- { 0x3942, 73032 },
- { 0x3943, 73067 },
- { 0x3944, 73042 },
- { 0x3945, 73037 },
- { 0x3946, 73027 },
- { 0x3947, 73062 },
- { 0x3948, 73057 },
- { 0x3949, 73047 },
- { 0x394A, 73597 },
- { 0x394B, 73552 },
- { 0x394C, 73582 },
- { 0x394D, 73547 },
- { 0x394E, 73572 },
- { 0x394F, 13049 },
- { 0x3950, 13055 },
- { 0x3951, 13061 },
- { 0x3952, 13052 },
- { 0x3953, 13064 },
- { 0x3954, 13058 },
- { 0x3955, 13082 },
- { 0x3956, 13133 },
- { 0x3957, 13073 },
- { 0x3958, 13127 },
- { 0x3959, 13163 },
- { 0x395A, 13139 },
- { 0x395B, 13118 },
- { 0x395C, 13160 },
- { 0x395D, 13079 },
- { 0x395E, 13130 },
- { 0x395F, 13169 },
- { 0x3960, 13142 },
- { 0x3961, 13166 },
- { 0x3962, 13103 },
- { 0x3963, 13157 },
- { 0x3964, 13070 },
- { 0x3965, 13124 },
- { 0x3966, 13145 },
- { 0x3967, 13091 },
- { 0x3968, 13121 },
- { 0x3969, 13094 },
- { 0x396A, 13151 },
- { 0x396B, 13148 },
- { 0x396C, 13067 },
- { 0x396D, 13115 },
- { 0x396E, 13136 },
- { 0x396F, 13088 },
- { 0x3970, 13112 },
- { 0x3971, 13109 },
- { 0x3972, 13097 },
- { 0x3973, 13085 },
- { 0x3974, 13106 },
- { 0x3975, 13154 },
- { 0x3976, 13100 },
- { 0x3977, 13076 },
- { 0x3978, 13021 },
- { 0x3979, 13009 },
- { 0x397A, 13037 },
- { 0x397B, 13033 },
- { 0x397C, 13017 },
- { 0x397D, 13041 },
- { 0x397E, 13013 },
- { 0x397F, 13025 },
- { 0x3980, 13029 },
- { 0x3981, 13045 },
- { 0x3982, 13228 },
- { 0x3983, 13220 },
- { 0x3984, 13216 },
- { 0x3985, 13224 },
- { 0x3986, 13176 },
- { 0x3987, 13172 },
- { 0x3988, 13208 },
- { 0x3989, 13242 },
- { 0x398A, 13204 },
- { 0x398B, 13196 },
- { 0x398C, 13184 },
- { 0x398D, 13188 },
- { 0x398E, 13200 },
- { 0x398F, 13192 },
- { 0x3990, 13180 },
- { 0x3991, 13212 },
- { 0x3992, 13237 },
- { 0x3993, 13232 },
- { 0x3994, 12997 },
- { 0x3995, 12979 },
- { 0x3996, 12985 },
- { 0x3997, 13006 },
- { 0x3998, 12991 },
- { 0x3999, 12988 },
- { 0x399A, 12982 },
- { 0x399B, 13003 },
- { 0x399C, 13000 },
- { 0x399D, 12994 },
- { 0x399E, 13254 },
- { 0x399F, 13247 },
- { 0x39A0, 13250 },
- { 0x39A1, 13257 },
- { 0x39A2, 73744 },
- { 0x39A3, 73736 },
- { 0x39A4, 73776 },
- { 0x39A5, 73752 },
- { 0x39A6, 73792 },
- { 0x39A7, 73800 },
- { 0x39A8, 73804 },
- { 0x39A9, 73812 },
- { 0x39AA, 73780 },
- { 0x39AB, 73808 },
- { 0x39AC, 73784 },
- { 0x39AD, 73756 },
- { 0x39AE, 73764 },
- { 0x39AF, 73748 },
- { 0x39B0, 73788 },
- { 0x39B1, 73740 },
- { 0x39B2, 73911 },
- { 0x39B3, 73768 },
- { 0x39B4, 73772 },
- { 0x39B5, 73760 },
- { 0x39B6, 73902 },
- { 0x39B7, 73898 },
- { 0x39B8, 73894 },
- { 0x39B9, 73878 },
- { 0x39BA, 73870 },
- { 0x39BB, 73874 },
- { 0x39BC, 73723 },
- { 0x39BD, 73116 },
- { 0x39BE, 73121 },
- { 0x39BF, 73126 },
- { 0x39C0, 73710 },
- { 0x39C1, 73715 },
- { 0x39C2, 11375 },
- { 0x39C3, 11495 },
- { 0x39C4, 11430 },
- { 0x39C5, 11550 },
- { 0x39C6, 11455 },
- { 0x39C7, 11575 },
- { 0x39C8, 11365 },
- { 0x39C9, 11485 },
- { 0x39CA, 11435 },
- { 0x39CB, 11555 },
- { 0x39CC, 11350 },
- { 0x39CD, 11470 },
- { 0x39CE, 11425 },
- { 0x39CF, 11545 },
- { 0x39D0, 11405 },
- { 0x39D1, 11525 },
- { 0x39D2, 11440 },
- { 0x39D3, 11560 },
- { 0x39D4, 11355 },
- { 0x39D5, 11475 },
- { 0x39D6, 11410 },
- { 0x39D7, 11530 },
- { 0x39D8, 11450 },
- { 0x39D9, 11570 },
- { 0x39DA, 11390 },
- { 0x39DB, 11510 },
- { 0x39DC, 11345 },
- { 0x39DD, 11465 },
- { 0x39DE, 11395 },
- { 0x39DF, 11515 },
- { 0x39E0, 11445 },
- { 0x39E1, 11565 },
- { 0x39E2, 11360 },
- { 0x39E3, 11480 },
- { 0x39E4, 11385 },
- { 0x39E5, 11505 },
- { 0x39E6, 11420 },
- { 0x39E7, 11540 },
- { 0x39E8, 11400 },
- { 0x39E9, 11520 },
- { 0x39EA, 11380 },
- { 0x39EB, 11500 },
- { 0x39EC, 11415 },
- { 0x39ED, 11535 },
- { 0x39EE, 11370 },
- { 0x39EF, 11490 },
- { 0x39F0, 11340 },
- { 0x39F1, 11460 },
- { 0x39F2, 11260 },
- { 0x39F3, 11304 },
- { 0x39F4, 11292 },
- { 0x39F5, 11328 },
- { 0x39F6, 11300 },
- { 0x39F7, 11288 },
- { 0x39F8, 11296 },
- { 0x39F9, 11264 },
- { 0x39FA, 11320 },
- { 0x39FB, 11336 },
- { 0x39FC, 11324 },
- { 0x39FD, 11332 },
- { 0x39FE, 11316 },
- { 0x39FF, 11312 },
- { 0x3A00, 11308 },
- { 0x3A01, 11268 },
- { 0x3A02, 11283 },
- { 0x3A03, 11273 },
- { 0x3A04, 11278 },
- { 0x3A05, 11590 },
- { 0x3A06, 11598 },
- { 0x3A07, 11594 },
- { 0x3A08, 11580 },
- { 0x3A09, 11585 },
- { 0x3A0A, 60490 },
- { 0x3A0B, 60503 },
- { 0x3A0C, 60533 },
- { 0x3A0D, 60588 },
- { 0x3A0E, 60617 },
- { 0x3A0F, 60670 },
- { 0x3A10, 60537 },
- { 0x3A11, 60633 },
- { 0x3A12, 60584 },
- { 0x3A13, 60600 },
- { 0x3A14, 60604 },
- { 0x3A15, 60425 },
- { 0x3A16, 60430 },
- { 0x3A17, 60435 },
- { 0x3A18, 60420 },
- { 0x3A19, 60440 },
- { 0x3A1A, 60685 },
- { 0x3A1B, 60376 },
- { 0x3A1C, 60364 },
- { 0x3A1D, 60691 },
- { 0x3A1E, 60371 },
- { 0x3A1F, 60485 },
- { 0x3A20, 60682 },
- { 0x3A21, 91514 },
- { 0x3A22, 91508 },
- { 0x3A23, 91607 },
- { 0x3A24, 91610 },
- { 0x3A25, 91505 },
- { 0x3A26, 91511 },
- { 0x3A27, 91298 },
- { 0x3A28, 91292 },
- { 0x3A29, 91574 },
- { 0x3A2A, 91577 },
- { 0x3A2B, 91289 },
- { 0x3A2C, 91295 },
- { 0x3A2D, 90716 },
- { 0x3A2E, 90710 },
- { 0x3A2F, 91307 },
- { 0x3A30, 91310 },
- { 0x3A31, 90707 },
- { 0x3A32, 90713 },
- { 0x3A33, 91559 },
- { 0x3A34, 91571 },
- { 0x3A35, 91565 },
- { 0x3A36, 91613 },
- { 0x3A37, 91616 },
- { 0x3A38, 91562 },
- { 0x3A39, 91568 },
- { 0x3A3A, 90608 },
- { 0x3A3B, 90620 },
- { 0x3A3C, 90614 },
- { 0x3A3D, 91241 },
- { 0x3A3E, 91244 },
- { 0x3A3F, 90611 },
- { 0x3A40, 90617 },
- { 0x3A41, 30303 },
- { 0x3A42, 27002 },
- { 0x3A43, 30887 },
- { 0x3A44, 30293 },
- { 0x3A45, 27386 },
- { 0x3A46, 30233 },
- { 0x3A47, 30382 },
- { 0x3A48, 28027 },
- { 0x3A49, 27973 },
- { 0x3A4A, 27988 },
- { 0x3A4B, 28110 },
- { 0x3A4C, 28241 },
- { 0x3A4D, 29885 },
- { 0x3A4E, 30892 },
- { 0x3A4F, 30897 },
- { 0x3A50, 30145 },
- { 0x3A51, 30735 },
- { 0x3A52, 30577 },
- { 0x3A53, 30584 },
- { 0x3A54, 30465 },
- { 0x3A55, 30471 },
- { 0x3A56, 30700 },
- { 0x3A57, 31101 },
- { 0x3A58, 28797 },
- { 0x3A59, 30343 },
- { 0x3A5A, 28786 },
- { 0x3A5B, 30348 },
- { 0x3A5C, 30389 },
- { 0x3A5D, 30394 },
- { 0x3A5E, 30730 },
- { 0x3A5F, 29174 },
- { 0x3A60, 29065 },
- { 0x3A61, 29830 },
- { 0x3A62, 30592 },
- { 0x3A63, 29136 },
- { 0x3A64, 29846 },
- { 0x3A65, 29858 },
- { 0x3A66, 29850 },
- { 0x3A67, 29431 },
- { 0x3A68, 29439 },
- { 0x3A69, 29447 },
- { 0x3A6A, 29459 },
- { 0x3A6B, 29538 },
- { 0x3A6C, 95624 },
- { 0x3A6D, 96310 },
- { 0x3A6E, 96030 },
- { 0x3A6F, 96016 },
- { 0x3A70, 96155 },
- { 0x3A71, 30242 },
- { 0x3A72, 30745 },
- { 0x3A73, 30160 },
- { 0x3A74, 29838 },
- { 0x3A75, 30740 },
- { 0x3A76, 23595 },
- { 0x3A77, 29741 },
- { 0x3A78, 29814 },
- { 0x3A79, 30517 },
- { 0x3A7A, 96477 },
- { 0x3A7B, 95823 },
- { 0x3A7C, 95888 },
- { 0x3A7D, 83283 },
- { 0x3A7E, 83287 },
- { 0x3A7F, 83291 },
- { 0x3A80, 83295 },
- { 0x3A81, 83303 },
- { 0x3A82, 83307 },
- { 0x3A83, 83335 },
- { 0x3A84, 83383 },
- { 0x3A85, 83339 },
- { 0x3A86, 83343 },
- { 0x3A87, 83347 },
- { 0x3A88, 83351 },
- { 0x3A89, 83355 },
- { 0x3A8A, 83359 },
- { 0x3A8B, 83363 },
- { 0x3A8C, 83367 },
- { 0x3A8D, 83371 },
- { 0x3A8E, 83375 },
- { 0x3A8F, 83379 },
- { 0x3A90, 83387 },
- { 0x3A91, 83391 },
- { 0x3A92, 83395 },
- { 0x3A93, 83399 },
- { 0x3A94, 83403 },
- { 0x3A95, 83407 },
- { 0x3A96, 83411 },
- { 0x3A97, 83415 },
- { 0x3A98, 83419 },
- { 0x3A99, 83423 },
- { 0x3A9A, 83427 },
- { 0x3A9B, 83435 },
- { 0x3A9C, 83547 },
- { 0x3A9D, 83551 },
- { 0x3A9E, 83439 },
- { 0x3A9F, 83443 },
- { 0x3AA0, 83447 },
- { 0x3AA1, 83451 },
- { 0x3AA2, 83455 },
- { 0x3AA3, 83555 },
- { 0x3AA4, 83559 },
- { 0x3AA5, 83563 },
- { 0x3AA6, 83567 },
- { 0x3AA7, 83571 },
- { 0x3AA8, 83575 },
- { 0x3AA9, 83459 },
- { 0x3AAA, 83299 },
- { 0x3AAB, 83463 },
- { 0x3AAC, 83467 },
- { 0x3AAD, 83471 },
- { 0x3AAE, 83475 },
- { 0x3AAF, 83479 },
- { 0x3AB0, 83311 },
- { 0x3AB1, 83483 },
- { 0x3AB2, 83315 },
- { 0x3AB3, 83487 },
- { 0x3AB4, 83319 },
- { 0x3AB5, 83491 },
- { 0x3AB6, 83323 },
- { 0x3AB7, 83327 },
- { 0x3AB8, 83331 },
- { 0x3AB9, 83543 },
- { 0x3ABA, 83579 },
- { 0x3ABB, 83583 },
- { 0x3ABC, 83587 },
- { 0x3ABD, 83591 },
- { 0x3ABE, 83595 },
- { 0x3ABF, 83599 },
- { 0x3AC0, 83603 },
- { 0x3AC1, 83607 },
- { 0x3AC2, 83611 },
- { 0x3AC3, 83615 },
- { 0x3AC4, 83619 },
- { 0x3AC5, 83623 },
- { 0x3AC6, 83495 },
- { 0x3AC7, 83499 },
- { 0x3AC8, 83503 },
- { 0x3AC9, 83507 },
- { 0x3ACA, 83511 },
- { 0x3ACB, 83515 },
- { 0x3ACC, 83519 },
- { 0x3ACD, 60557 },
- { 0x3ACE, 60596 },
- { 0x3ACF, 60566 },
- { 0x3AD0, 60575 },
- { 0x3AD1, 60520 },
- { 0x3AD2, 60511 },
- { 0x3AD3, 60629 },
- { 0x3AD4, 60608 },
- { 0x3AD5, 60649 },
- { 0x3AD6, 60653 },
- { 0x3AD7, 60666 },
- { 0x3AD8, 60621 },
- { 0x3AD9, 60674 },
- { 0x3ADA, 60549 },
- { 0x3ADB, 60529 },
- { 0x3ADC, 60494 },
- { 0x3ADD, 60662 },
- { 0x3ADE, 60678 },
- { 0x3ADF, 60545 },
- { 0x3AE0, 60645 },
- { 0x3AE1, 60592 },
- { 0x3AE2, 60507 },
- { 0x3AE3, 60553 },
- { 0x3AE4, 60541 },
- { 0x3AE5, 60641 },
- { 0x3AE6, 60637 },
- { 0x3AE7, 60625 },
- { 0x3AE8, 60561 },
- { 0x3AE9, 60570 },
- { 0x3AEA, 60579 },
- { 0x3AEB, 60524 },
- { 0x3AEC, 60515 },
- { 0x3AED, 60612 },
- { 0x3AEE, 60657 },
- { 0x3AEF, 60498 },
- { 0x3AF0, 60460 },
- { 0x3AF1, 60450 },
- { 0x3AF2, 60445 },
- { 0x3AF3, 60470 },
- { 0x3AF4, 60475 },
- { 0x3AF5, 60465 },
- { 0x3AF6, 60480 },
- { 0x3AF7, 60455 },
- { 0x3AF8, 60688 },
- { 0x3AF9, 60360 },
- { 0x3AFA, 60367 },
- { 0x3AFB, 60404 },
- { 0x3AFC, 60380 },
- { 0x3AFD, 60388 },
- { 0x3AFE, 60416 },
- { 0x3AFF, 60396 },
- { 0x3B00, 60392 },
- { 0x3B01, 60384 },
- { 0x3B02, 60412 },
- { 0x3B03, 60408 },
- { 0x3B04, 60400 },
- { 0x3B05, 53531 },
- { 0x3B06, 53525 },
- { 0x3B07, 53480 },
- { 0x3B08, 53549 },
- { 0x3B09, 53552 },
- { 0x3B0A, 53537 },
- { 0x3B0B, 53534 },
- { 0x3B0C, 53558 },
- { 0x3B0D, 53498 },
- { 0x3B0E, 53429 },
- { 0x3B0F, 53510 },
- { 0x3B10, 53432 },
- { 0x3B11, 53435 },
- { 0x3B12, 53570 },
- { 0x3B13, 53519 },
- { 0x3B14, 53522 },
- { 0x3B15, 53447 },
- { 0x3B16, 53516 },
- { 0x3B17, 53450 },
- { 0x3B18, 53453 },
- { 0x3B19, 53384 },
- { 0x3B1A, 53585 },
- { 0x3B1B, 53588 },
- { 0x3B1C, 53036 },
- { 0x3B1D, 53153 },
- { 0x3B1E, 53072 },
- { 0x3B1F, 53279 },
- { 0x3B20, 53129 },
- { 0x3B21, 53075 },
- { 0x3B22, 53303 },
- { 0x3B23, 53126 },
- { 0x3B24, 53204 },
- { 0x3B25, 53207 },
- { 0x3B26, 53273 },
- { 0x3B27, 53285 },
- { 0x3B28, 53300 },
- { 0x3B29, 53267 },
- { 0x3B2A, 53291 },
- { 0x3B2B, 53312 },
- { 0x3B2C, 53201 },
- { 0x3B2D, 53321 },
- { 0x3B2E, 53144 },
- { 0x3B2F, 53021 },
- { 0x3B30, 53237 },
- { 0x3B31, 52985 },
- { 0x3B32, 53234 },
- { 0x3B33, 53015 },
- { 0x3B34, 53108 },
- { 0x3B35, 53306 },
- { 0x3B36, 53045 },
- { 0x3B37, 52991 },
- { 0x3B38, 53261 },
- { 0x3B39, 53039 },
- { 0x3B3A, 53168 },
- { 0x3B3B, 52970 },
- { 0x3B3C, 53297 },
- { 0x3B3D, 53246 },
- { 0x3B3E, 53249 },
- { 0x3B3F, 53120 },
- { 0x3B40, 52964 },
- { 0x3B41, 53117 },
- { 0x3B42, 53123 },
- { 0x3B43, 52967 },
- { 0x3B44, 53162 },
- { 0x3B45, 53318 },
- { 0x3B46, 53213 },
- { 0x3B47, 53210 },
- { 0x3B48, 52997 },
- { 0x3B49, 53231 },
- { 0x3B4A, 52979 },
- { 0x3B4B, 53105 },
- { 0x3B4C, 53222 },
- { 0x3B4D, 6056 },
- { 0x3B4E, 6059 },
- { 0x3B4F, 6062 },
- { 0x3B50, 6065 },
- { 0x3B51, 6068 },
- { 0x3B52, 30938 },
- { 0x3B53, 30942 },
- { 0x3B54, 30946 },
- { 0x3B55, 30962 },
- { 0x3B56, 30966 },
- { 0x3B57, 30970 },
- { 0x3B58, 30958 },
- { 0x3B59, 79597 },
- { 0x3B5A, 79587 },
- { 0x3B5B, 79592 },
- { 0x3B5C, 79607 },
- { 0x3B5D, 79602 },
- { 0x3B5E, 54182 },
- { 0x3B5F, 53972 },
- { 0x3B60, 54388 },
- { 0x3B61, 54370 },
- { 0x3B62, 54269 },
- { 0x3B63, 54277 },
- { 0x3B64, 54257 },
- { 0x3B65, 54261 },
- { 0x3B66, 54286 },
- { 0x3B67, 54281 },
- { 0x3B68, 54273 },
- { 0x3B69, 54265 },
- { 0x3B6A, 54374 },
- { 0x3B6B, 54230 },
- { 0x3B6C, 54224 },
- { 0x3B6D, 54249 },
- { 0x3B6E, 54241 },
- { 0x3B6F, 54200 },
- { 0x3B70, 54205 },
- { 0x3B71, 54195 },
- { 0x3B72, 54105 },
- { 0x3B73, 54333 },
- { 0x3B74, 54293 },
- { 0x3B75, 54079 },
- { 0x3B76, 54174 },
- { 0x3B77, 54357 },
- { 0x3B78, 54161 },
- { 0x3B79, 54187 },
- { 0x3B7A, 54312 },
- { 0x3B7B, 54121 },
- { 0x3B7C, 54341 },
- { 0x3B7D, 54129 },
- { 0x3B7E, 54137 },
- { 0x3B7F, 54365 },
- { 0x3B80, 54302 },
- { 0x3B81, 54092 },
- { 0x3B82, 54349 },
- { 0x3B83, 54145 },
- { 0x3B84, 54216 },
- { 0x3B85, 54236 },
- { 0x3B86, 54153 },
- { 0x3B87, 54169 },
- { 0x3B88, 54100 },
- { 0x3B89, 54116 },
- { 0x3B8A, 54087 },
- { 0x3B8B, 54379 },
- { 0x3B8C, 43870 },
- { 0x3B8D, 43864 },
- { 0x3B8E, 43915 },
- { 0x3B8F, 43900 },
- { 0x3B90, 43910 },
- { 0x3B91, 43905 },
- { 0x3B92, 42973 },
- { 0x3B93, 42958 },
- { 0x3B94, 42968 },
- { 0x3B95, 42963 },
- { 0x3B96, 44430 },
- { 0x3B97, 44415 },
- { 0x3B98, 44425 },
- { 0x3B99, 44420 },
- { 0x3B9A, 44837 },
- { 0x3B9B, 44822 },
- { 0x3B9C, 44832 },
- { 0x3B9D, 44827 },
- { 0x3B9E, 44801 },
- { 0x3B9F, 44786 },
- { 0x3BA0, 44796 },
- { 0x3BA1, 44791 },
- { 0x3BA2, 44387 },
- { 0x3BA3, 44372 },
- { 0x3BA4, 44382 },
- { 0x3BA5, 44377 },
- { 0x3BA6, 43320 },
- { 0x3BA7, 43305 },
- { 0x3BA8, 43315 },
- { 0x3BA9, 43310 },
- { 0x3BAA, 44687 },
- { 0x3BAB, 44672 },
- { 0x3BAC, 44682 },
- { 0x3BAD, 44677 },
- { 0x3BAE, 43951 },
- { 0x3BAF, 43936 },
- { 0x3BB0, 43946 },
- { 0x3BB1, 43941 },
- { 0x3BB2, 44214 },
- { 0x3BB3, 44199 },
- { 0x3BB4, 44209 },
- { 0x3BB5, 44204 },
- { 0x3BB6, 44778 },
- { 0x3BB7, 44763 },
- { 0x3BB8, 44773 },
- { 0x3BB9, 44768 },
- { 0x3BBA, 44942 },
- { 0x3BBB, 44927 },
- { 0x3BBC, 44937 },
- { 0x3BBD, 44932 },
- { 0x3BBE, 44814 },
- { 0x3BBF, 44809 },
- { 0x3BC0, 44443 },
- { 0x3BC1, 44438 },
- { 0x3BC2, 42460 },
- { 0x3BC3, 42455 },
- { 0x3BC4, 43928 },
- { 0x3BC5, 43923 },
- { 0x3BC6, 42810 },
- { 0x3BC7, 42805 },
- { 0x3BC8, 44227 },
- { 0x3BC9, 44222 },
- { 0x3BCA, 44641 },
- { 0x3BCB, 44626 },
- { 0x3BCC, 44636 },
- { 0x3BCD, 44631 },
- { 0x3BCE, 42577 },
- { 0x3BCF, 42562 },
- { 0x3BD0, 42572 },
- { 0x3BD1, 42567 },
- { 0x3BD2, 43977 },
- { 0x3BD3, 43962 },
- { 0x3BD4, 43972 },
- { 0x3BD5, 43967 },
- { 0x3BD6, 44664 },
- { 0x3BD7, 44649 },
- { 0x3BD8, 44659 },
- { 0x3BD9, 44654 },
- { 0x3BDA, 44175 },
- { 0x3BDB, 44169 },
- { 0x3BDC, 44710 },
- { 0x3BDD, 44695 },
- { 0x3BDE, 44705 },
- { 0x3BDF, 44700 },
- { 0x3BE0, 42740 },
- { 0x3BE1, 42732 },
- { 0x3BE2, 42720 },
- { 0x3BE3, 42702 },
- { 0x3BE4, 42714 },
- { 0x3BE5, 42708 },
- { 0x3BE6, 42796 },
- { 0x3BE7, 42778 },
- { 0x3BE8, 42790 },
- { 0x3BE9, 42784 },
- { 0x3BEA, 43552 },
- { 0x3BEB, 43546 },
- { 0x3BEC, 43517 },
- { 0x3BED, 43508 },
- { 0x3BEE, 44991 },
- { 0x3BEF, 44995 },
- { 0x3BF0, 44999 },
- { 0x3BF1, 45004 },
- { 0x3BF2, 45044 },
- { 0x3BF3, 45049 },
- { 0x3BF4, 45054 },
- { 0x3BF5, 45061 },
- { 0x3BF6, 45021 },
- { 0x3BF7, 45026 },
- { 0x3BF8, 45072 },
- { 0x3BF9, 45009 },
- { 0x3BFA, 45015 },
- { 0x3BFB, 45031 },
- { 0x3BFC, 45034 },
- { 0x3BFD, 45039 },
- { 0x3BFE, 45068 },
- { 0x3BFF, 42131 },
- { 0x3C00, 42116 },
- { 0x3C01, 42126 },
- { 0x3C02, 42121 },
- { 0x3C03, 42105 },
- { 0x3C04, 42100 },
- { 0x3C05, 42144 },
- { 0x3C06, 42139 },
- { 0x3C07, 42170 },
- { 0x3C08, 42165 },
- { 0x3C09, 42092 },
- { 0x3C0A, 42157 },
- { 0x3C0B, 42152 },
- { 0x3C0C, 44902 },
- { 0x3C0D, 44896 },
- { 0x3C0E, 44918 },
- { 0x3C0F, 44912 },
- { 0x3C10, 42078 },
- { 0x3C11, 42063 },
- { 0x3C12, 42073 },
- { 0x3C13, 42068 },
- { 0x3C14, 44851 },
- { 0x3C15, 44842 },
- { 0x3C16, 47314 },
- { 0x3C17, 47282 },
- { 0x3C18, 47142 },
- { 0x3C19, 47132 },
- { 0x3C1A, 47252 },
- { 0x3C1B, 47242 },
- { 0x3C1C, 47122 },
- { 0x3C1D, 47112 },
- { 0x3C1E, 47162 },
- { 0x3C1F, 47152 },
- { 0x3C20, 47182 },
- { 0x3C21, 47172 },
- { 0x3C22, 47102 },
- { 0x3C23, 47082 },
- { 0x3C24, 47092 },
- { 0x3C25, 48909 },
- { 0x3C26, 48883 },
- { 0x3C27, 48896 },
- { 0x3C28, 44523 },
- { 0x3C29, 44505 },
- { 0x3C2A, 44517 },
- { 0x3C2B, 44511 },
- { 0x3C2C, 47334 },
- { 0x3C2D, 47202 },
- { 0x3C2E, 47384 },
- { 0x3C2F, 47303 },
- { 0x3C30, 47272 },
- { 0x3C31, 45357 },
- { 0x3C32, 45292 },
- { 0x3C33, 45380 },
- { 0x3C34, 45408 },
- { 0x3C35, 45342 },
- { 0x3C36, 45327 },
- { 0x3C37, 46765 },
- { 0x3C38, 46672 },
- { 0x3C39, 46807 },
- { 0x3C3A, 46881 },
- { 0x3C3B, 46722 },
- { 0x3C3C, 46707 },
- { 0x3C3D, 48393 },
- { 0x3C3E, 48421 },
- { 0x3C3F, 48385 },
- { 0x3C40, 48370 },
- { 0x3C41, 47498 },
- { 0x3C42, 47579 },
- { 0x3C43, 45725 },
- { 0x3C44, 45758 },
- { 0x3C45, 47630 },
- { 0x3C46, 47586 },
- { 0x3C47, 47644 },
- { 0x3C48, 48228 },
- { 0x3C49, 48130 },
- { 0x3C4A, 48268 },
- { 0x3C4B, 48334 },
- { 0x3C4C, 46447 },
- { 0x3C4D, 46530 },
- { 0x3C4E, 45513 },
- { 0x3C4F, 45455 },
- { 0x3C50, 45545 },
- { 0x3C51, 45559 },
- { 0x3C52, 46544 },
- { 0x3C53, 46631 },
- { 0x3C54, 47428 },
- { 0x3C55, 45218 },
- { 0x3C56, 45269 },
- { 0x3C57, 48489 },
- { 0x3C58, 48531 },
- { 0x3C59, 45617 },
- { 0x3C5A, 45573 },
- { 0x3C5B, 45649 },
- { 0x3C5C, 45672 },
- { 0x3C5D, 45602 },
- { 0x3C5E, 45587 },
- { 0x3C5F, 46318 },
- { 0x3C60, 46398 },
- { 0x3C61, 46347 },
- { 0x3C62, 46332 },
- { 0x3C63, 45913 },
- { 0x3C64, 45927 },
- { 0x3C65, 45841 },
- { 0x3C66, 45941 },
- { 0x3C67, 45869 },
- { 0x3C68, 45996 },
- { 0x3C69, 45905 },
- { 0x3C6A, 45883 },
- { 0x3C6B, 46217 },
- { 0x3C6C, 46047 },
- { 0x3C6D, 46249 },
- { 0x3C6E, 46304 },
- { 0x3C6F, 46150 },
- { 0x3C70, 46068 },
- { 0x3C71, 47757 },
- { 0x3C72, 47685 },
- { 0x3C73, 47798 },
- { 0x3C74, 47828 },
- { 0x3C75, 47706 },
- { 0x3C76, 47692 },
- { 0x3C77, 47990 },
- { 0x3C78, 47870 },
- { 0x3C79, 48004 },
- { 0x3C7A, 48051 },
- { 0x3C7B, 47920 },
- { 0x3C7C, 47905 },
- { 0x3C7D, 45787 },
- { 0x3C7E, 45819 },
- { 0x3C7F, 45772 },
- { 0x3C80, 45765 },
- { 0x3C81, 46992 },
- { 0x3C82, 46918 },
- { 0x3C83, 47006 },
- { 0x3C84, 47061 },
- { 0x3C85, 46968 },
- { 0x3C86, 46953 },
- { 0x3C87, 48341 },
- { 0x3C88, 46405 },
- { 0x3C89, 47458 },
- { 0x3C8A, 48861 },
- { 0x3C8B, 48868 },
- { 0x3C8C, 48840 },
- { 0x3C8D, 48826 },
- { 0x3C8E, 48854 },
- { 0x3C8F, 48875 },
- { 0x3C90, 47232 },
- { 0x3C91, 47404 },
- { 0x3C92, 47354 },
- { 0x3C93, 47394 },
- { 0x3C94, 47292 },
- { 0x3C95, 47262 },
- { 0x3C96, 45313 },
- { 0x3C97, 45422 },
- { 0x3C98, 45387 },
- { 0x3C99, 45415 },
- { 0x3C9A, 45334 },
- { 0x3C9B, 45320 },
- { 0x3C9C, 46693 },
- { 0x3C9D, 46895 },
- { 0x3C9E, 46860 },
- { 0x3C9F, 46888 },
- { 0x3CA0, 46714 },
- { 0x3CA1, 46700 },
- { 0x3CA2, 48356 },
- { 0x3CA3, 48435 },
- { 0x3CA4, 48400 },
- { 0x3CA5, 48428 },
- { 0x3CA6, 48377 },
- { 0x3CA7, 48363 },
- { 0x3CA8, 45594 },
- { 0x3CA9, 45580 },
- { 0x3CAA, 46339 },
- { 0x3CAB, 46325 },
- { 0x3CAC, 45890 },
- { 0x3CAD, 45848 },
- { 0x3CAE, 45975 },
- { 0x3CAF, 45897 },
- { 0x3CB0, 45876 },
- { 0x3CB1, 46283 },
- { 0x3CB2, 46142 },
- { 0x3CB3, 46061 },
- { 0x3CB4, 47699 },
- { 0x3CB5, 47814 },
- { 0x3CB6, 47891 },
- { 0x3CB7, 48065 },
- { 0x3CB8, 48030 },
- { 0x3CB9, 48058 },
- { 0x3CBA, 47912 },
- { 0x3CBB, 47898 },
- { 0x3CBC, 47449 },
- { 0x3CBD, 46939 },
- { 0x3CBE, 47075 },
- { 0x3CBF, 47040 },
- { 0x3CC0, 47068 },
- { 0x3CC1, 46960 },
- { 0x3CC2, 46946 },
- { 0x3CC3, 47324 },
- { 0x3CC4, 47192 },
- { 0x3CC5, 47344 },
- { 0x3CC6, 47374 },
- { 0x3CC7, 47222 },
- { 0x3CC8, 45350 },
- { 0x3CC9, 45285 },
- { 0x3CCA, 45373 },
- { 0x3CCB, 45401 },
- { 0x3CCC, 45306 },
- { 0x3CCD, 46758 },
- { 0x3CCE, 46665 },
- { 0x3CCF, 46800 },
- { 0x3CD0, 46874 },
- { 0x3CD1, 46686 },
- { 0x3CD2, 48414 },
- { 0x3CD3, 47491 },
- { 0x3CD4, 47572 },
- { 0x3CD5, 45718 },
- { 0x3CD6, 45751 },
- { 0x3CD7, 47623 },
- { 0x3CD8, 47637 },
- { 0x3CD9, 48221 },
- { 0x3CDA, 48123 },
- { 0x3CDB, 48261 },
- { 0x3CDC, 48327 },
- { 0x3CDD, 46440 },
- { 0x3CDE, 46498 },
- { 0x3CDF, 46523 },
- { 0x3CE0, 45506 },
- { 0x3CE1, 45448 },
- { 0x3CE2, 45538 },
- { 0x3CE3, 45552 },
- { 0x3CE4, 46537 },
- { 0x3CE5, 47421 },
- { 0x3CE6, 45211 },
- { 0x3CE7, 45262 },
- { 0x3CE8, 48482 },
- { 0x3CE9, 48524 },
- { 0x3CEA, 45610 },
- { 0x3CEB, 45566 },
- { 0x3CEC, 45642 },
- { 0x3CED, 45665 },
- { 0x3CEE, 46311 },
- { 0x3CEF, 46391 },
- { 0x3CF0, 45920 },
- { 0x3CF1, 45834 },
- { 0x3CF2, 45934 },
- { 0x3CF3, 45862 },
- { 0x3CF4, 45989 },
- { 0x3CF5, 46210 },
- { 0x3CF6, 46040 },
- { 0x3CF7, 46242 },
- { 0x3CF8, 46297 },
- { 0x3CF9, 46054 },
- { 0x3CFA, 47750 },
- { 0x3CFB, 47678 },
- { 0x3CFC, 47791 },
- { 0x3CFD, 47821 },
- { 0x3CFE, 47983 },
- { 0x3CFF, 47863 },
- { 0x3D00, 47997 },
- { 0x3D01, 48044 },
- { 0x3D02, 47884 },
- { 0x3D03, 45780 },
- { 0x3D04, 45812 },
- { 0x3D05, 45826 },
- { 0x3D06, 46985 },
- { 0x3D07, 46911 },
- { 0x3D08, 46999 },
- { 0x3D09, 47054 },
- { 0x3D0A, 46932 },
- { 0x3D0B, 47364 },
- { 0x3D0C, 47212 },
- { 0x3D0D, 45394 },
- { 0x3D0E, 45299 },
- { 0x3D0F, 46867 },
- { 0x3D10, 46679 },
- { 0x3D11, 48407 },
- { 0x3D12, 48349 },
- { 0x3D13, 48320 },
- { 0x3D14, 48137 },
- { 0x3D15, 48779 },
- { 0x3D16, 48613 },
- { 0x3D17, 45855 },
- { 0x3D18, 45982 },
- { 0x3D19, 46290 },
- { 0x3D1A, 48037 },
- { 0x3D1B, 47877 },
- { 0x3D1C, 47047 },
- { 0x3D1D, 46925 },
- { 0x3D1E, 48833 },
- { 0x3D1F, 48819 },
- { 0x3D20, 48847 },
- { 0x3D21, 46573 },
- { 0x3D22, 46558 },
- { 0x3D23, 45185 },
- { 0x3D24, 45170 },
- { 0x3D25, 48474 },
- { 0x3D26, 48459 },
- { 0x3D27, 48187 },
- { 0x3D28, 48172 },
- { 0x3D29, 48663 },
- { 0x3D2A, 48648 },
- { 0x3D2B, 45701 },
- { 0x3D2C, 45686 },
- { 0x3D2D, 47527 },
- { 0x3D2E, 47512 },
- { 0x3D2F, 47615 },
- { 0x3D30, 47600 },
- { 0x3D31, 46490 },
- { 0x3D32, 46475 },
- { 0x3D33, 45498 },
- { 0x3D34, 45483 },
- { 0x3D35, 48701 },
- { 0x3D36, 48606 },
- { 0x3D37, 48729 },
- { 0x3D38, 48793 },
- { 0x3D39, 48634 },
- { 0x3D3A, 48158 },
- { 0x3D3B, 46461 },
- { 0x3D3C, 45469 },
- { 0x3D3D, 46565 },
- { 0x3D3E, 46551 },
- { 0x3D3F, 45177 },
- { 0x3D40, 45163 },
- { 0x3D41, 48466 },
- { 0x3D42, 48452 },
- { 0x3D43, 48179 },
- { 0x3D44, 48165 },
- { 0x3D45, 48655 },
- { 0x3D46, 48641 },
- { 0x3D47, 45693 },
- { 0x3D48, 45679 },
- { 0x3D49, 47519 },
- { 0x3D4A, 47505 },
- { 0x3D4B, 47607 },
- { 0x3D4C, 47593 },
- { 0x3D4D, 46482 },
- { 0x3D4E, 46468 },
- { 0x3D4F, 45490 },
- { 0x3D50, 45476 },
- { 0x3D51, 48680 },
- { 0x3D52, 48585 },
- { 0x3D53, 48708 },
- { 0x3D54, 48772 },
- { 0x3D55, 48627 },
- { 0x3D56, 48151 },
- { 0x3D57, 46454 },
- { 0x3D58, 45462 },
- { 0x3D59, 48694 },
- { 0x3D5A, 48599 },
- { 0x3D5B, 48722 },
- { 0x3D5C, 48786 },
- { 0x3D5D, 48144 },
- { 0x3D5E, 48620 },
- { 0x3D5F, 46624 },
- { 0x3D60, 48214 },
- { 0x3D61, 48116 },
- { 0x3D62, 48254 },
- { 0x3D63, 48687 },
- { 0x3D64, 48592 },
- { 0x3D65, 48715 },
- { 0x3D66, 46617 },
- { 0x3D67, 47414 },
- { 0x3D68, 47435 },
- { 0x3D69, 47442 },
- { 0x3D6A, 60808 },
- { 0x3D6B, 60811 },
- { 0x3D6C, 48939 },
- { 0x3D6D, 48082 },
- { 0x3D6E, 48087 },
- { 0x3D6F, 48092 },
- { 0x3D70, 48097 },
- { 0x3D71, 48102 },
- { 0x3D72, 48980 },
- { 0x3D73, 48805 },
- { 0x3D74, 48926 },
- { 0x3D75, 48948 },
- { 0x3D76, 48809 },
- { 0x3D77, 48930 },
- { 0x3D78, 48969 },
- { 0x3D79, 48922 },
- { 0x3D7A, 48965 },
- { 0x3D7B, 48957 },
- { 0x3D7C, 46749 },
- { 0x3D7D, 46638 },
- { 0x3D7E, 46647 },
- { 0x3D7F, 46656 },
- { 0x3D80, 46791 },
- { 0x3D81, 46842 },
- { 0x3D82, 46814 },
- { 0x3D83, 46851 },
- { 0x3D84, 47535 },
- { 0x3D85, 47544 },
- { 0x3D86, 45732 },
- { 0x3D87, 45741 },
- { 0x3D88, 48107 },
- { 0x3D89, 48195 },
- { 0x3D8A, 48204 },
- { 0x3D8B, 48275 },
- { 0x3D8C, 48284 },
- { 0x3D8D, 48293 },
- { 0x3D8E, 48302 },
- { 0x3D8F, 48311 },
- { 0x3D90, 46413 },
- { 0x3D91, 46422 },
- { 0x3D92, 46505 },
- { 0x3D93, 48567 },
- { 0x3D94, 48576 },
- { 0x3D95, 48671 },
- { 0x3D96, 48736 },
- { 0x3D97, 48745 },
- { 0x3D98, 48754 },
- { 0x3D99, 48763 },
- { 0x3D9A, 45438 },
- { 0x3D9B, 45520 },
- { 0x3D9C, 45529 },
- { 0x3D9D, 46581 },
- { 0x3D9E, 46590 },
- { 0x3D9F, 46608 },
- { 0x3DA0, 46599 },
- { 0x3DA1, 45193 },
- { 0x3DA2, 45244 },
- { 0x3DA3, 45253 },
- { 0x3DA4, 45234 },
- { 0x3DA5, 48515 },
- { 0x3DA6, 48496 },
- { 0x3DA7, 48505 },
- { 0x3DA8, 45624 },
- { 0x3DA9, 45633 },
- { 0x3DAA, 46355 },
- { 0x3DAB, 46382 },
- { 0x3DAC, 46022 },
- { 0x3DAD, 46003 },
- { 0x3DAE, 46012 },
- { 0x3DAF, 46183 },
- { 0x3DB0, 46174 },
- { 0x3DB1, 46224 },
- { 0x3DB2, 46233 },
- { 0x3DB3, 46256 },
- { 0x3DB4, 46265 },
- { 0x3DB5, 47660 },
- { 0x3DB6, 47669 },
- { 0x3DB7, 47651 },
- { 0x3DB8, 47714 },
- { 0x3DB9, 47741 },
- { 0x3DBA, 47773 },
- { 0x3DBB, 47782 },
- { 0x3DBC, 47732 },
- { 0x3DBD, 45794 },
- { 0x3DBE, 45803 },
- { 0x3DBF, 47854 },
- { 0x3DC0, 47844 },
- { 0x3DC1, 47965 },
- { 0x3DC2, 47974 },
- { 0x3DC3, 47955 },
- { 0x3DC4, 48011 },
- { 0x3DC5, 48020 },
- { 0x3DC6, 47022 },
- { 0x3DC7, 47031 },
- { 0x3DC8, 45364 },
- { 0x3DC9, 46730 },
- { 0x3DCA, 46739 },
- { 0x3DCB, 46772 },
- { 0x3DCC, 46781 },
- { 0x3DCD, 46823 },
- { 0x3DCE, 46832 },
- { 0x3DCF, 47553 },
- { 0x3DD0, 47481 },
- { 0x3DD1, 47562 },
- { 0x3DD2, 48244 },
- { 0x3DD3, 46431 },
- { 0x3DD4, 48558 },
- { 0x3DD5, 45429 },
- { 0x3DD6, 46165 },
- { 0x3DD7, 46274 },
- { 0x3DD8, 46902 },
- { 0x3DD9, 46976 },
- { 0x3DDA, 47013 },
- { 0x3DDB, 47805 },
- { 0x3DDC, 46373 },
- { 0x3DDD, 47835 },
- { 0x3DDE, 46364 },
- { 0x3DDF, 46031 },
- { 0x3DE0, 45225 },
- { 0x3DE1, 45948 },
- { 0x3DE2, 47937 },
- { 0x3DE3, 47764 },
- { 0x3DE4, 46201 },
- { 0x3DE5, 45957 },
- { 0x3DE6, 46192 },
- { 0x3DE7, 47928 },
- { 0x3DE8, 47472 },
- { 0x3DE9, 45709 },
- { 0x3DEA, 47723 },
- { 0x3DEB, 45656 },
- { 0x3DEC, 45276 },
- { 0x3DED, 45966 },
- { 0x3DEE, 45202 },
- { 0x3DEF, 46514 },
- { 0x3DF0, 48235 },
- { 0x3DF1, 47946 },
- { 0x3DF2, 48961 },
- { 0x3DF3, 48543 },
- { 0x3DF4, 48072 },
- { 0x3DF5, 48447 },
- { 0x3DF6, 48442 },
- { 0x3DF7, 48934 },
- { 0x3DF8, 48538 },
- { 0x3DF9, 48814 },
- { 0x3DFA, 48800 },
- { 0x3DFB, 48943 },
- { 0x3DFC, 48553 },
- { 0x3DFD, 48985 },
- { 0x3DFE, 48990 },
- { 0x3DFF, 16029 },
- { 0x3E00, 48952 },
- { 0x3E01, 48975 },
- { 0x3E02, 47467 },
- { 0x3E03, 131115 },
- { 0x3E04, 131232 },
- { 0x3E05, 131225 },
- { 0x3E06, 131110 },
- { 0x3E07, 131208 },
- { 0x3E08, 131219 },
- { 0x3E09, 131202 },
- { 0x3E0A, 131059 },
- { 0x3E0B, 131158 },
- { 0x3E0C, 131213 },
- { 0x3E0D, 105652 },
- { 0x3E0E, 105661 },
- { 0x3E0F, 105166 },
- { 0x3E10, 105171 },
- { 0x3E11, 105237 },
- { 0x3E12, 105249 },
- { 0x3E13, 105748 },
- { 0x3E14, 105656 },
- { 0x3E15, 105665 },
- { 0x3E16, 105085 },
- { 0x3E17, 105093 },
- { 0x3E18, 105241 },
- { 0x3E19, 105253 },
- { 0x3E1A, 105751 },
- { 0x3E1B, 105401 },
- { 0x3E1C, 105406 },
- { 0x3E1D, 131022 },
- { 0x3E1E, 131004 },
- { 0x3E1F, 131010 },
- { 0x3E20, 131016 },
- { 0x3E21, 131103 },
- { 0x3E22, 131097 },
- { 0x3E23, 131196 },
- { 0x3E24, 131044 },
- { 0x3E25, 131135 },
- { 0x3E26, 131089 },
- { 0x3E27, 131188 },
- { 0x3E28, 131036 },
- { 0x3E29, 131127 },
- { 0x3E2A, 131074 },
- { 0x3E2B, 131173 },
- { 0x3E2C, 131029 },
- { 0x3E2D, 131120 },
- { 0x3E2E, 131067 },
- { 0x3E2F, 131166 },
- { 0x3E30, 131051 },
- { 0x3E31, 131142 },
- { 0x3E32, 61776 },
- { 0x3E33, 40995 },
- { 0x3E34, 131082 },
- { 0x3E35, 131181 },
- { 0x3E36, 51442 },
- { 0x3E37, 117592 },
- { 0x3E38, 16891 },
- { 0x3E39, 51845 },
- { 0x3E3A, 51439 },
- { 0x3E3B, 117589 },
- { 0x3E3C, 16884 },
- { 0x3E3D, 38850 },
- { 0x3E3E, 39008 },
- { 0x3E3F, 38830 },
- { 0x3E40, 39000 },
- { 0x3E41, 38848 },
- { 0x3E42, 38992 },
- { 0x3E43, 39005 },
- { 0x3E44, 38813 },
- { 0x3E45, 38842 },
- { 0x3E46, 38861 },
- { 0x3E47, 38833 },
- { 0x3E48, 38852 },
- { 0x3E49, 38837 },
- { 0x3E4A, 38856 },
- { 0x3E4B, 38939 },
- { 0x3E4C, 38995 },
- { 0x3E4D, 38972 },
- { 0x3E4E, 38845 },
- { 0x3E4F, 39014 },
- { 0x3E50, 38997 },
- { 0x3E51, 39011 },
- { 0x3E52, 38936 },
- { 0x3E53, 38967 },
- { 0x3E54, 38933 },
- { 0x3E55, 38964 },
- { 0x3E56, 39002 },
- { 0x3E57, 45147 },
- { 0x3E58, 45115 },
- { 0x3E59, 45136 },
- { 0x3E5A, 41574 },
- { 0x3E5B, 45159 },
- { 0x3E5C, 41673 },
- { 0x3E5D, 41669 },
- { 0x3E5E, 41639 },
- { 0x3E5F, 41635 },
- { 0x3E60, 41694 },
- { 0x3E61, 41690 },
- { 0x3E62, 44987 },
- { 0x3E63, 44983 },
- { 0x3E64, 42026 },
- { 0x3E65, 42022 },
- { 0x3E66, 44568 },
- { 0x3E67, 43684 },
- { 0x3E68, 43676 },
- { 0x3E69, 43640 },
- { 0x3E6A, 43632 },
- { 0x3E6B, 43366 },
- { 0x3E6C, 43358 },
- { 0x3E6D, 43662 },
- { 0x3E6E, 43654 },
- { 0x3E6F, 43471 },
- { 0x3E70, 43447 },
- { 0x3E71, 43463 },
- { 0x3E72, 43455 },
- { 0x3E73, 43892 },
- { 0x3E74, 43855 },
- { 0x3E75, 42338 },
- { 0x3E76, 42323 },
- { 0x3E77, 42333 },
- { 0x3E78, 42328 },
- { 0x3E79, 43291 },
- { 0x3E7A, 43285 },
- { 0x3E7B, 43297 },
- { 0x3E7C, 43261 },
- { 0x3E7D, 43271 },
- { 0x3E7E, 43266 },
- { 0x3E7F, 44354 },
- { 0x3E80, 44339 },
- { 0x3E81, 44349 },
- { 0x3E82, 44344 },
- { 0x3E83, 44040 },
- { 0x3E84, 44025 },
- { 0x3E85, 44035 },
- { 0x3E86, 44030 },
- { 0x3E87, 42683 },
- { 0x3E88, 42668 },
- { 0x3E89, 42678 },
- { 0x3E8A, 42673 },
- { 0x3E8B, 44063 },
- { 0x3E8C, 44048 },
- { 0x3E8D, 44058 },
- { 0x3E8E, 44053 },
- { 0x3E8F, 42447 },
- { 0x3E90, 42442 },
- { 0x3E91, 44331 },
- { 0x3E92, 44326 },
- { 0x3E93, 43133 },
- { 0x3E94, 43128 },
- { 0x3E95, 44407 },
- { 0x3E96, 44402 },
- { 0x3E97, 44318 },
- { 0x3E98, 44303 },
- { 0x3E99, 44313 },
- { 0x3E9A, 44308 },
- { 0x3E9B, 44739 },
- { 0x3E9C, 44724 },
- { 0x3E9D, 44734 },
- { 0x3E9E, 44729 },
- { 0x3E9F, 43177 },
- { 0x3EA0, 43162 },
- { 0x3EA1, 43172 },
- { 0x3EA2, 43167 },
- { 0x3EA3, 42367 },
- { 0x3EA4, 42352 },
- { 0x3EA5, 42362 },
- { 0x3EA6, 42357 },
- { 0x3EA7, 43227 },
- { 0x3EA8, 43212 },
- { 0x3EA9, 43222 },
- { 0x3EAA, 43217 },
- { 0x3EAB, 43591 },
- { 0x3EAC, 43576 },
- { 0x3EAD, 43586 },
- { 0x3EAE, 43581 },
- { 0x3EAF, 42231 },
- { 0x3EB0, 42216 },
- { 0x3EB1, 42226 },
- { 0x3EB2, 42221 },
- { 0x3EB3, 44560 },
- { 0x3EB4, 44545 },
- { 0x3EB5, 44555 },
- { 0x3EB6, 44550 },
- { 0x3EB7, 42529 },
- { 0x3EB8, 42514 },
- { 0x3EB9, 42524 },
- { 0x3EBA, 42519 },
- { 0x3EBB, 43025 },
- { 0x3EBC, 43010 },
- { 0x3EBD, 43020 },
- { 0x3EBE, 43015 },
- { 0x3EBF, 42864 },
- { 0x3EC0, 42849 },
- { 0x3EC1, 42859 },
- { 0x3EC2, 42854 },
- { 0x3EC3, 42933 },
- { 0x3EC4, 42918 },
- { 0x3EC5, 42928 },
- { 0x3EC6, 42923 },
- { 0x3EC7, 44108 },
- { 0x3EC8, 44093 },
- { 0x3EC9, 44103 },
- { 0x3ECA, 44098 },
- { 0x3ECB, 44191 },
- { 0x3ECC, 44160 },
- { 0x3ECD, 44186 },
- { 0x3ECE, 44181 },
- { 0x3ECF, 42769 },
- { 0x3ED0, 42754 },
- { 0x3ED1, 42764 },
- { 0x3ED2, 42759 },
- { 0x3ED3, 43397 },
- { 0x3ED4, 43392 },
- { 0x3ED5, 43886 },
- { 0x3ED6, 43880 },
- { 0x3ED7, 43568 },
- { 0x3ED8, 43492 },
- { 0x3ED9, 43563 },
- { 0x3EDA, 43558 },
- { 0x3EDB, 46125 },
- { 0x3EDC, 46115 },
- { 0x3EDD, 46085 },
- { 0x3EDE, 46075 },
- { 0x3EDF, 46105 },
- { 0x3EE0, 46095 },
- { 0x3EE1, 46158 },
- { 0x3EE2, 46135 },
- { 0x3EE3, 16920 },
- { 0x3EE4, 112984 },
- { 0x3EE5, 112971 },
- { 0x3EE6, 112947 },
- { 0x3EE7, 112939 },
- { 0x3EE8, 112950 },
- { 0x3EE9, 112966 },
- { 0x3EEA, 112976 },
- { 0x3EEB, 112613 },
- { 0x3EEC, 112931 },
- { 0x3EED, 112958 },
- { 0x3EEE, 112616 },
- { 0x3EEF, 112621 },
- { 0x3EF0, 112990 },
- { 0x3EF1, 112598 },
- { 0x3EF2, 112956 },
- { 0x3EF3, 112641 },
- { 0x3EF4, 112623 },
- { 0x3EF5, 112629 },
- { 0x3EF6, 112650 },
- { 0x3EF7, 112635 },
- { 0x3EF8, 112632 },
- { 0x3EF9, 112626 },
- { 0x3EFA, 112647 },
- { 0x3EFB, 112644 },
- { 0x3EFC, 112638 },
- { 0x3EFD, 112619 },
- { 0x3EFE, 112974 },
- { 0x3EFF, 112968 },
- { 0x3F00, 112942 },
- { 0x3F01, 112987 },
- { 0x3F02, 112960 },
- { 0x3F03, 112981 },
- { 0x3F04, 112786 },
- { 0x3F05, 112791 },
- { 0x3F06, 112796 },
- { 0x3F07, 112801 },
- { 0x3F08, 112806 },
- { 0x3F09, 112811 },
- { 0x3F0A, 112816 },
- { 0x3F0B, 112821 },
- { 0x3F0C, 112826 },
- { 0x3F0D, 112831 },
- { 0x3F0E, 112836 },
- { 0x3F0F, 112841 },
- { 0x3F10, 112846 },
- { 0x3F11, 112851 },
- { 0x3F12, 112856 },
- { 0x3F13, 112861 },
- { 0x3F14, 112866 },
- { 0x3F15, 112871 },
- { 0x3F16, 112876 },
- { 0x3F17, 112881 },
- { 0x3F18, 112886 },
- { 0x3F19, 112891 },
- { 0x3F1A, 112896 },
- { 0x3F1B, 112901 },
- { 0x3F1C, 112906 },
- { 0x3F1D, 112911 },
- { 0x3F1E, 112609 },
- { 0x3F1F, 112953 },
- { 0x3F20, 112927 },
- { 0x3F21, 112978 },
- { 0x3F22, 112583 },
- { 0x3F23, 112653 },
- { 0x3F24, 112656 },
- { 0x3F25, 112661 },
- { 0x3F26, 112666 },
- { 0x3F27, 112671 },
- { 0x3F28, 112676 },
- { 0x3F29, 112681 },
- { 0x3F2A, 112686 },
- { 0x3F2B, 112691 },
- { 0x3F2C, 112696 },
- { 0x3F2D, 112701 },
- { 0x3F2E, 112706 },
- { 0x3F2F, 112711 },
- { 0x3F30, 112716 },
- { 0x3F31, 112721 },
- { 0x3F32, 112726 },
- { 0x3F33, 112731 },
- { 0x3F34, 112736 },
- { 0x3F35, 112741 },
- { 0x3F36, 112746 },
- { 0x3F37, 112751 },
- { 0x3F38, 112756 },
- { 0x3F39, 112761 },
- { 0x3F3A, 112766 },
- { 0x3F3B, 112771 },
- { 0x3F3C, 112776 },
- { 0x3F3D, 112781 },
- { 0x3F3E, 112601 },
- { 0x3F3F, 112963 },
- { 0x3F40, 112919 },
- { 0x3F41, 112934 },
- { 0x3F42, 112605 },
- { 0x3F43, 112923 },
- { 0x3F44, 113477 },
- { 0x3F45, 112997 },
- { 0x3F46, 113008 },
- { 0x3F47, 113481 },
- { 0x3F48, 113454 },
- { 0x3F49, 113393 },
- { 0x3F4A, 113409 },
- { 0x3F4B, 113419 },
- { 0x3F4C, 113429 },
- { 0x3F4D, 113414 },
- { 0x3F4E, 113424 },
- { 0x3F4F, 113439 },
- { 0x3F50, 113449 },
- { 0x3F51, 113444 },
- { 0x3F52, 113434 },
- { 0x3F53, 113484 },
- { 0x3F54, 113225 },
- { 0x3F55, 113233 },
- { 0x3F56, 113245 },
- { 0x3F57, 113229 },
- { 0x3F58, 113241 },
- { 0x3F59, 113269 },
- { 0x3F5A, 113277 },
- { 0x3F5B, 113285 },
- { 0x3F5C, 113273 },
- { 0x3F5D, 113281 },
- { 0x3F5E, 113349 },
- { 0x3F5F, 113357 },
- { 0x3F60, 113365 },
- { 0x3F61, 113353 },
- { 0x3F62, 113361 },
- { 0x3F63, 113369 },
- { 0x3F64, 113377 },
- { 0x3F65, 113385 },
- { 0x3F66, 113373 },
- { 0x3F67, 113381 },
- { 0x3F68, 113309 },
- { 0x3F69, 113317 },
- { 0x3F6A, 113325 },
- { 0x3F6B, 113313 },
- { 0x3F6C, 113321 },
- { 0x3F6D, 113249 },
- { 0x3F6E, 113257 },
- { 0x3F6F, 113265 },
- { 0x3F70, 113253 },
- { 0x3F71, 113261 },
- { 0x3F72, 113289 },
- { 0x3F73, 113297 },
- { 0x3F74, 113305 },
- { 0x3F75, 113293 },
- { 0x3F76, 113301 },
- { 0x3F77, 113397 },
- { 0x3F78, 113405 },
- { 0x3F79, 113401 },
- { 0x3F7A, 113329 },
- { 0x3F7B, 113337 },
- { 0x3F7C, 113345 },
- { 0x3F7D, 113333 },
- { 0x3F7E, 113341 },
- { 0x3F7F, 113389 },
- { 0x3F80, 113237 },
- { 0x3F81, 113458 },
- { 0x3F82, 113463 },
- { 0x3F83, 113015 },
- { 0x3F84, 113134 },
- { 0x3F85, 113202 },
- { 0x3F86, 113178 },
- { 0x3F87, 113122 },
- { 0x3F88, 113182 },
- { 0x3F89, 113186 },
- { 0x3F8A, 113138 },
- { 0x3F8B, 113206 },
- { 0x3F8C, 113130 },
- { 0x3F8D, 113210 },
- { 0x3F8E, 113194 },
- { 0x3F8F, 113198 },
- { 0x3F90, 113166 },
- { 0x3F91, 113218 },
- { 0x3F92, 113214 },
- { 0x3F93, 113190 },
- { 0x3F94, 113118 },
- { 0x3F95, 113126 },
- { 0x3F96, 113174 },
- { 0x3F97, 113162 },
- { 0x3F98, 113102 },
- { 0x3F99, 113158 },
- { 0x3F9A, 113114 },
- { 0x3F9B, 113106 },
- { 0x3F9C, 113170 },
- { 0x3F9D, 113142 },
- { 0x3F9E, 113146 },
- { 0x3F9F, 113154 },
- { 0x3FA0, 113150 },
- { 0x3FA1, 113110 },
- { 0x3FA2, 113018 },
- { 0x3FA3, 113038 },
- { 0x3FA4, 113066 },
- { 0x3FA5, 113094 },
- { 0x3FA6, 113042 },
- { 0x3FA7, 113022 },
- { 0x3FA8, 113098 },
- { 0x3FA9, 113070 },
- { 0x3FAA, 113030 },
- { 0x3FAB, 113054 },
- { 0x3FAC, 113086 },
- { 0x3FAD, 113050 },
- { 0x3FAE, 113078 },
- { 0x3FAF, 113034 },
- { 0x3FB0, 113090 },
- { 0x3FB1, 113058 },
- { 0x3FB2, 113062 },
- { 0x3FB3, 113082 },
- { 0x3FB4, 113046 },
- { 0x3FB5, 113074 },
- { 0x3FB6, 113026 },
- { 0x3FB7, 112595 },
- { 0x3FB8, 112916 },
- { 0x3FB9, 112586 },
- { 0x3FBA, 112945 },
- { 0x3FBB, 112936 },
- { 0x3FBC, 112592 },
- { 0x3FBD, 112589 },
- { 0x3FBE, 113004 },
- { 0x3FBF, 113471 },
- { 0x3FC0, 113222 },
- { 0x3FC1, 113474 },
- { 0x3FC2, 113468 },
- { 0x3FC3, 113001 },
- { 0x3FC4, 113012 },
- { 0x3FC5, 121676 },
- { 0x3FC6, 121679 },
- { 0x3FC7, 121682 },
- { 0x3FC8, 60796 },
- { 0x3FC9, 122312 },
- { 0x3FCA, 59735 },
- { 0x3FCB, 59860 },
- { 0x3FCC, 59820 },
- { 0x3FCD, 59960 },
- { 0x3FCE, 59745 },
- { 0x3FCF, 59700 },
- { 0x3FD0, 59895 },
- { 0x3FD1, 59730 },
- { 0x3FD2, 59765 },
- { 0x3FD3, 59915 },
- { 0x3FD4, 59940 },
- { 0x3FD5, 59900 },
- { 0x3FD6, 59850 },
- { 0x3FD7, 59970 },
- { 0x3FD8, 60030 },
- { 0x3FD9, 59890 },
- { 0x3FDA, 59980 },
- { 0x3FDB, 59995 },
- { 0x3FDC, 60045 },
- { 0x3FDD, 60040 },
- { 0x3FDE, 59760 },
- { 0x3FDF, 60010 },
- { 0x3FE0, 59770 },
- { 0x3FE1, 59795 },
- { 0x3FE2, 59725 },
- { 0x3FE3, 59800 },
- { 0x3FE4, 59830 },
- { 0x3FE5, 59920 },
- { 0x3FE6, 59935 },
- { 0x3FE7, 59710 },
- { 0x3FE8, 60005 },
- { 0x3FE9, 59865 },
- { 0x3FEA, 59750 },
- { 0x3FEB, 59910 },
- { 0x3FEC, 59775 },
- { 0x3FED, 60035 },
- { 0x3FEE, 59790 },
- { 0x3FEF, 59840 },
- { 0x3FF0, 59955 },
- { 0x3FF1, 59815 },
- { 0x3FF2, 59925 },
- { 0x3FF3, 59705 },
- { 0x3FF4, 59810 },
- { 0x3FF5, 59835 },
- { 0x3FF6, 59740 },
- { 0x3FF7, 59875 },
- { 0x3FF8, 59755 },
- { 0x3FF9, 59945 },
- { 0x3FFA, 59950 },
- { 0x3FFB, 59715 },
- { 0x3FFC, 59855 },
- { 0x3FFD, 59720 },
- { 0x3FFE, 59990 },
- { 0x3FFF, 59930 },
- { 0x4000, 60020 },
- { 0x4001, 59870 },
- { 0x4002, 59880 },
- { 0x4003, 59780 },
- { 0x4004, 60015 },
- { 0x4005, 59785 },
- { 0x4006, 59805 },
- { 0x4007, 59885 },
- { 0x4008, 60050 },
- { 0x4009, 60000 },
- { 0x400A, 60060 },
- { 0x400B, 59905 },
- { 0x400C, 59825 },
- { 0x400D, 59965 },
- { 0x400E, 60025 },
- { 0x400F, 59845 },
- { 0x4010, 59985 },
- { 0x4011, 59975 },
- { 0x4012, 60055 },
- { 0x4013, 60065 },
- { 0x4014, 59074 },
- { 0x4015, 59078 },
- { 0x4016, 59082 },
- { 0x4017, 59086 },
- { 0x4018, 59090 },
- { 0x4019, 59094 },
- { 0x401A, 59098 },
- { 0x401B, 59102 },
- { 0x401C, 59106 },
- { 0x401D, 59110 },
- { 0x401E, 59114 },
- { 0x401F, 59118 },
- { 0x4020, 59122 },
- { 0x4021, 59126 },
- { 0x4022, 59130 },
- { 0x4023, 59135 },
- { 0x4024, 59140 },
- { 0x4025, 59145 },
- { 0x4026, 59475 },
- { 0x4027, 59480 },
- { 0x4028, 59485 },
- { 0x4029, 59490 },
- { 0x402A, 59495 },
- { 0x402B, 59500 },
- { 0x402C, 59505 },
- { 0x402D, 59510 },
- { 0x402E, 59515 },
- { 0x402F, 59520 },
- { 0x4030, 59150 },
- { 0x4031, 59155 },
- { 0x4032, 59160 },
- { 0x4033, 59165 },
- { 0x4034, 59170 },
- { 0x4035, 59670 },
- { 0x4036, 59675 },
- { 0x4037, 59175 },
- { 0x4038, 59180 },
- { 0x4039, 59185 },
- { 0x403A, 59680 },
- { 0x403B, 59685 },
- { 0x403C, 59189 },
- { 0x403D, 59194 },
- { 0x403E, 59199 },
- { 0x403F, 59203 },
- { 0x4040, 59208 },
- { 0x4041, 59212 },
- { 0x4042, 59216 },
- { 0x4043, 59221 },
- { 0x4044, 59225 },
- { 0x4045, 59229 },
- { 0x4046, 59690 },
- { 0x4047, 59233 },
- { 0x4048, 59237 },
- { 0x4049, 59241 },
- { 0x404A, 59246 },
- { 0x404B, 59250 },
- { 0x404C, 59254 },
- { 0x404D, 59259 },
- { 0x404E, 59264 },
- { 0x404F, 59268 },
- { 0x4050, 59272 },
- { 0x4051, 59276 },
- { 0x4052, 59280 },
- { 0x4053, 59284 },
- { 0x4054, 59288 },
- { 0x4055, 59292 },
- { 0x4056, 59296 },
- { 0x4057, 59300 },
- { 0x4058, 59305 },
- { 0x4059, 59309 },
- { 0x405A, 59314 },
- { 0x405B, 59318 },
- { 0x405C, 59322 },
- { 0x405D, 59326 },
- { 0x405E, 59330 },
- { 0x405F, 59334 },
- { 0x4060, 59338 },
- { 0x4061, 59342 },
- { 0x4062, 59346 },
- { 0x4063, 59350 },
- { 0x4064, 59354 },
- { 0x4065, 59358 },
- { 0x4066, 59363 },
- { 0x4067, 59368 },
- { 0x4068, 59373 },
- { 0x4069, 59378 },
- { 0x406A, 59383 },
- { 0x406B, 59387 },
- { 0x406C, 59392 },
- { 0x406D, 59396 },
- { 0x406E, 59400 },
- { 0x406F, 59406 },
- { 0x4070, 59411 },
- { 0x4071, 59417 },
- { 0x4072, 59422 },
- { 0x4073, 59426 },
- { 0x4074, 59695 },
- { 0x4075, 59430 },
- { 0x4076, 59434 },
- { 0x4077, 59438 },
- { 0x4078, 59442 },
- { 0x4079, 59446 },
- { 0x407A, 59450 },
- { 0x407B, 59455 },
- { 0x407C, 59459 },
- { 0x407D, 59463 },
- { 0x407E, 59467 },
- { 0x407F, 59471 },
- { 0x4080, 59525 },
- { 0x4081, 59530 },
- { 0x4082, 59535 },
- { 0x4083, 59540 },
- { 0x4084, 59545 },
- { 0x4085, 59550 },
- { 0x4086, 59555 },
- { 0x4087, 59560 },
- { 0x4088, 59565 },
- { 0x4089, 59570 },
- { 0x408A, 59575 },
- { 0x408B, 59580 },
- { 0x408C, 59585 },
- { 0x408D, 59590 },
- { 0x408E, 59595 },
- { 0x408F, 59600 },
- { 0x4090, 59605 },
- { 0x4091, 59610 },
- { 0x4092, 59615 },
- { 0x4093, 59620 },
- { 0x4094, 59625 },
- { 0x4095, 59630 },
- { 0x4096, 59635 },
- { 0x4097, 59640 },
- { 0x4098, 59645 },
- { 0x4099, 59650 },
- { 0x409A, 59655 },
- { 0x409B, 59660 },
- { 0x409C, 59665 },
- { 0x409D, 41261 },
- { 0x409E, 41257 },
- { 0x409F, 41265 },
- { 0x40A0, 41273 },
- { 0x40A1, 41302 },
- { 0x40A2, 41389 },
- { 0x40A3, 41324 },
- { 0x40A4, 41313 },
- { 0x40A5, 41284 },
- { 0x40A6, 41371 },
- { 0x40A7, 41346 },
- { 0x40A8, 41335 },
- { 0x40A9, 41295 },
- { 0x40AA, 41421 },
- { 0x40AB, 41414 },
- { 0x40AC, 41364 },
- { 0x40AD, 41357 },
- { 0x40AE, 41382 },
- { 0x40AF, 41428 },
- { 0x40B0, 41400 },
- { 0x40B1, 41407 },
- { 0x40B2, 41276 },
- { 0x40B3, 41305 },
- { 0x40B4, 41392 },
- { 0x40B5, 41327 },
- { 0x40B6, 41316 },
- { 0x40B7, 41287 },
- { 0x40B8, 41374 },
- { 0x40B9, 41349 },
- { 0x40BA, 41338 },
- { 0x40BB, 41280 },
- { 0x40BC, 41309 },
- { 0x40BD, 41396 },
- { 0x40BE, 41331 },
- { 0x40BF, 41320 },
- { 0x40C0, 41291 },
- { 0x40C1, 41378 },
- { 0x40C2, 41353 },
- { 0x40C3, 41342 },
- { 0x40C4, 41298 },
- { 0x40C5, 41424 },
- { 0x40C6, 41417 },
- { 0x40C7, 41367 },
- { 0x40C8, 41360 },
- { 0x40C9, 41385 },
- { 0x40CA, 41431 },
- { 0x40CB, 41403 },
- { 0x40CC, 41410 },
- { 0x40CD, 41435 },
- { 0x40CE, 41439 },
- { 0x40CF, 41451 },
- { 0x40D0, 41443 },
- { 0x40D1, 41447 },
- { 0x40D2, 41252 },
- { 0x40D3, 41268 },
- { 0x40D4, 41459 },
- { 0x40D5, 41455 },
- { 0x40D6, 24686 },
- { 0x40D7, 24664 },
- { 0x40D8, 24669 },
- { 0x40D9, 24724 },
- { 0x40DA, 24766 },
- { 0x40DB, 24728 },
- { 0x40DC, 24755 },
- { 0x40DD, 24780 },
- { 0x40DE, 24750 },
- { 0x40DF, 24713 },
- { 0x40E0, 24775 },
- { 0x40E1, 24680 },
- { 0x40E2, 24739 },
- { 0x40E3, 24697 },
- { 0x40E4, 24760 },
- { 0x40E5, 24745 },
- { 0x40E6, 24708 },
- { 0x40E7, 24770 },
- { 0x40E8, 24674 },
- { 0x40E9, 24733 },
- { 0x40EA, 24691 },
- { 0x40EB, 24718 },
- { 0x40EC, 24785 },
- { 0x40ED, 24703 },
- { 0x40EE, 24801 },
- { 0x40EF, 24816 },
- { 0x40F0, 24884 },
- { 0x40F1, 24870 },
- { 0x40F2, 24834 },
- { 0x40F3, 24806 },
- { 0x40F4, 24874 },
- { 0x40F5, 24906 },
- { 0x40F6, 24896 },
- { 0x40F7, 24900 },
- { 0x40F8, 24888 },
- { 0x40F9, 24866 },
- { 0x40FA, 24830 },
- { 0x40FB, 24857 },
- { 0x40FC, 24915 },
- { 0x40FD, 24919 },
- { 0x40FE, 24892 },
- { 0x40FF, 24848 },
- { 0x4100, 24820 },
- { 0x4101, 24852 },
- { 0x4102, 24879 },
- { 0x4103, 24910 },
- { 0x4104, 24838 },
- { 0x4105, 24861 },
- { 0x4106, 24791 },
- { 0x4107, 24825 },
- { 0x4108, 24843 },
- { 0x4109, 24796 },
- { 0x410A, 24811 },
- { 0x410B, 22179 },
- { 0x410C, 22183 },
- { 0x410D, 22208 },
- { 0x410E, 23428 },
- { 0x410F, 22228 },
- { 0x4110, 23625 },
- { 0x4111, 24569 },
- { 0x4112, 22223 },
- { 0x4113, 22204 },
- { 0x4114, 23424 },
- { 0x4115, 22219 },
- { 0x4116, 22215 },
- { 0x4117, 24603 },
- { 0x4118, 24574 },
- { 0x4119, 22251 },
- { 0x411A, 23618 },
- { 0x411B, 23628 },
- { 0x411C, 23555 },
- { 0x411D, 23552 },
- { 0x411E, 23558 },
- { 0x411F, 24617 },
- { 0x4120, 22231 },
- { 0x4121, 22189 },
- { 0x4122, 24614 },
- { 0x4123, 24636 },
- { 0x4124, 74196 },
- { 0x4125, 38372 },
- { 0x4126, 38276 },
- { 0x4127, 38384 },
- { 0x4128, 38375 },
- { 0x4129, 38279 },
- { 0x412A, 38378 },
- { 0x412B, 38381 },
- { 0x412C, 38393 },
- { 0x412D, 38396 },
- { 0x412E, 38390 },
- { 0x412F, 38273 },
- { 0x4130, 38387 },
- { 0x4131, 17322 },
- { 0x4132, 23621 },
- { 0x4133, 98437 },
- { 0x4134, 98376 },
- { 0x4135, 98417 },
- { 0x4136, 98389 },
- { 0x4137, 98322 },
- { 0x4138, 98356 },
- { 0x4139, 98372 },
- { 0x413A, 98405 },
- { 0x413B, 98348 },
- { 0x413C, 98313 },
- { 0x413D, 98256 },
- { 0x413E, 98381 },
- { 0x413F, 98276 },
- { 0x4140, 98409 },
- { 0x4141, 98393 },
- { 0x4142, 98272 },
- { 0x4143, 98264 },
- { 0x4144, 98422 },
- { 0x4145, 98426 },
- { 0x4146, 98364 },
- { 0x4147, 98280 },
- { 0x4148, 98339 },
- { 0x4149, 98360 },
- { 0x414A, 98385 },
- { 0x414B, 98300 },
- { 0x414C, 98292 },
- { 0x414D, 98288 },
- { 0x414E, 98317 },
- { 0x414F, 98260 },
- { 0x4150, 98268 },
- { 0x4151, 98326 },
- { 0x4152, 98284 },
- { 0x4153, 98352 },
- { 0x4154, 98252 },
- { 0x4155, 98334 },
- { 0x4156, 98304 },
- { 0x4157, 98397 },
- { 0x4158, 98401 },
- { 0x4159, 98296 },
- { 0x415A, 98247 },
- { 0x415B, 98330 },
- { 0x415C, 98368 },
- { 0x415D, 98413 },
- { 0x415E, 98343 },
- { 0x415F, 98308 },
- { 0x4160, 98431 },
- { 0x4161, 60078 },
- { 0x4162, 60087 },
- { 0x4163, 60081 },
- { 0x4164, 60144 },
- { 0x4165, 60090 },
- { 0x4166, 60084 },
- { 0x4167, 60096 },
- { 0x4168, 60132 },
- { 0x4169, 60138 },
- { 0x416A, 60159 },
- { 0x416B, 60099 },
- { 0x416C, 60102 },
- { 0x416D, 60117 },
- { 0x416E, 60105 },
- { 0x416F, 60108 },
- { 0x4170, 60111 },
- { 0x4171, 60153 },
- { 0x4172, 60156 },
- { 0x4173, 60129 },
- { 0x4174, 60114 },
- { 0x4175, 60150 },
- { 0x4176, 60120 },
- { 0x4177, 60123 },
- { 0x4178, 60126 },
- { 0x4179, 60162 },
- { 0x417A, 60141 },
- { 0x417B, 60147 },
- { 0x417C, 60093 },
- { 0x417D, 60135 },
- { 0x417E, 50145 },
- { 0x417F, 50232 },
- { 0x4180, 50151 },
- { 0x4181, 50166 },
- { 0x4182, 50274 },
- { 0x4183, 50184 },
- { 0x4184, 50217 },
- { 0x4185, 50199 },
- { 0x4186, 50181 },
- { 0x4187, 50148 },
- { 0x4188, 50169 },
- { 0x4189, 50175 },
- { 0x418A, 50202 },
- { 0x418B, 50190 },
- { 0x418C, 50238 },
- { 0x418D, 50265 },
- { 0x418E, 50187 },
- { 0x418F, 50277 },
- { 0x4190, 50193 },
- { 0x4191, 50229 },
- { 0x4192, 50196 },
- { 0x4193, 50172 },
- { 0x4194, 50271 },
- { 0x4195, 50178 },
- { 0x4196, 50241 },
- { 0x4197, 50160 },
- { 0x4198, 50154 },
- { 0x4199, 50289 },
- { 0x419A, 50163 },
- { 0x419B, 50214 },
- { 0x419C, 50223 },
- { 0x419D, 50250 },
- { 0x419E, 50157 },
- { 0x419F, 50208 },
- { 0x41A0, 50244 },
- { 0x41A1, 50268 },
- { 0x41A2, 50226 },
- { 0x41A3, 50211 },
- { 0x41A4, 50280 },
- { 0x41A5, 50247 },
- { 0x41A6, 50283 },
- { 0x41A7, 50235 },
- { 0x41A8, 50220 },
- { 0x41A9, 50256 },
- { 0x41AA, 50259 },
- { 0x41AB, 50262 },
- { 0x41AC, 50253 },
- { 0x41AD, 50205 },
- { 0x41AE, 50286 },
- { 0x41AF, 50797 },
- { 0x41B0, 50680 },
- { 0x41B1, 50688 },
- { 0x41B2, 50712 },
- { 0x41B3, 50696 },
- { 0x41B4, 50692 },
- { 0x41B5, 50684 },
- { 0x41B6, 50708 },
- { 0x41B7, 50704 },
- { 0x41B8, 50700 },
- { 0x41B9, 50726 },
- { 0x41BA, 50789 },
- { 0x41BB, 50785 },
- { 0x41BC, 50759 },
- { 0x41BD, 50755 },
- { 0x41BE, 50768 },
- { 0x41BF, 50793 },
- { 0x41C0, 50777 },
- { 0x41C1, 50781 },
- { 0x41C2, 50716 },
- { 0x41C3, 50730 },
- { 0x41C4, 50772 },
- { 0x41C5, 50740 },
- { 0x41C6, 50735 },
- { 0x41C7, 50721 },
- { 0x41C8, 50763 },
- { 0x41C9, 50750 },
- { 0x41CA, 50745 },
- { 0x41CB, 7977 },
- { 0x41CC, 7997 },
- { 0x41CD, 8041 },
- { 0x41CE, 8001 },
- { 0x41CF, 7981 },
- { 0x41D0, 8061 },
- { 0x41D1, 8069 },
- { 0x41D2, 8029 },
- { 0x41D3, 8105 },
- { 0x41D4, 7985 },
- { 0x41D5, 8037 },
- { 0x41D6, 8009 },
- { 0x41D7, 8013 },
- { 0x41D8, 8017 },
- { 0x41D9, 8085 },
- { 0x41DA, 7989 },
- { 0x41DB, 8049 },
- { 0x41DC, 8101 },
- { 0x41DD, 8045 },
- { 0x41DE, 8021 },
- { 0x41DF, 8025 },
- { 0x41E0, 8053 },
- { 0x41E1, 7993 },
- { 0x41E2, 8077 },
- { 0x41E3, 8097 },
- { 0x41E4, 8093 },
- { 0x41E5, 8005 },
- { 0x41E6, 8081 },
- { 0x41E7, 8073 },
- { 0x41E8, 8033 },
- { 0x41E9, 8057 },
- { 0x41EA, 8089 },
- { 0x41EB, 8119 },
- { 0x41EC, 8127 },
- { 0x41ED, 8123 },
- { 0x41EE, 8131 },
- { 0x41EF, 8065 },
- { 0x41F0, 8109 },
- { 0x41F1, 8114 },
- { 0x41F2, 52147 },
- { 0x41F3, 52214 },
- { 0x41F4, 52153 },
- { 0x41F5, 52150 },
- { 0x41F6, 52202 },
- { 0x41F7, 52220 },
- { 0x41F8, 52159 },
- { 0x41F9, 52156 },
- { 0x41FA, 52211 },
- { 0x41FB, 52141 },
- { 0x41FC, 52178 },
- { 0x41FD, 52181 },
- { 0x41FE, 52184 },
- { 0x41FF, 52205 },
- { 0x4200, 52144 },
- { 0x4201, 52166 },
- { 0x4202, 52217 },
- { 0x4203, 52208 },
- { 0x4204, 52190 },
- { 0x4205, 52193 },
- { 0x4206, 52196 },
- { 0x4207, 52199 },
- { 0x4208, 52169 },
- { 0x4209, 52175 },
- { 0x420A, 52172 },
- { 0x420B, 52187 },
- { 0x420C, 52162 },
- { 0x420D, 8151 },
- { 0x420E, 8183 },
- { 0x420F, 8191 },
- { 0x4210, 8187 },
- { 0x4211, 8135 },
- { 0x4212, 8255 },
- { 0x4213, 8263 },
- { 0x4214, 8251 },
- { 0x4215, 8267 },
- { 0x4216, 8139 },
- { 0x4217, 8227 },
- { 0x4218, 8195 },
- { 0x4219, 8271 },
- { 0x421A, 8275 },
- { 0x421B, 8239 },
- { 0x421C, 8231 },
- { 0x421D, 8199 },
- { 0x421E, 8203 },
- { 0x421F, 8207 },
- { 0x4220, 8147 },
- { 0x4221, 8259 },
- { 0x4222, 8279 },
- { 0x4223, 8283 },
- { 0x4224, 8223 },
- { 0x4225, 8247 },
- { 0x4226, 8143 },
- { 0x4227, 8171 },
- { 0x4228, 8155 },
- { 0x4229, 8159 },
- { 0x422A, 8235 },
- { 0x422B, 8211 },
- { 0x422C, 8219 },
- { 0x422D, 8243 },
- { 0x422E, 8215 },
- { 0x422F, 8167 },
- { 0x4230, 8179 },
- { 0x4231, 8175 },
- { 0x4232, 8163 },
- { 0x4233, 104473 },
- { 0x4234, 104478 },
- { 0x4235, 104488 },
- { 0x4236, 104493 },
- { 0x4237, 104483 },
- { 0x4238, 99423 },
- { 0x4239, 99426 },
- { 0x423A, 99450 },
- { 0x423B, 99405 },
- { 0x423C, 99447 },
- { 0x423D, 99384 },
- { 0x423E, 99393 },
- { 0x423F, 99444 },
- { 0x4240, 99432 },
- { 0x4241, 99417 },
- { 0x4242, 99420 },
- { 0x4243, 99402 },
- { 0x4244, 99441 },
- { 0x4245, 99456 },
- { 0x4246, 99408 },
- { 0x4247, 99429 },
- { 0x4248, 99411 },
- { 0x4249, 99396 },
- { 0x424A, 99462 },
- { 0x424B, 99399 },
- { 0x424C, 99387 },
- { 0x424D, 99438 },
- { 0x424E, 99435 },
- { 0x424F, 99459 },
- { 0x4250, 99465 },
- { 0x4251, 99453 },
- { 0x4252, 99390 },
- { 0x4253, 99378 },
- { 0x4254, 99381 },
- { 0x4255, 99414 },
- { 0x4256, 99375 },
- { 0x4257, 8774 },
- { 0x4258, 8778 },
- { 0x4259, 8782 },
- { 0x425A, 8830 },
- { 0x425B, 8834 },
- { 0x425C, 8810 },
- { 0x425D, 8814 },
- { 0x425E, 8894 },
- { 0x425F, 8790 },
- { 0x4260, 8822 },
- { 0x4261, 8826 },
- { 0x4262, 8878 },
- { 0x4263, 8882 },
- { 0x4264, 8794 },
- { 0x4265, 8798 },
- { 0x4266, 8802 },
- { 0x4267, 8914 },
- { 0x4268, 8862 },
- { 0x4269, 8786 },
- { 0x426A, 8806 },
- { 0x426B, 8854 },
- { 0x426C, 8858 },
- { 0x426D, 8842 },
- { 0x426E, 8846 },
- { 0x426F, 8850 },
- { 0x4270, 8898 },
- { 0x4271, 8886 },
- { 0x4272, 8890 },
- { 0x4273, 8866 },
- { 0x4274, 8870 },
- { 0x4275, 8838 },
- { 0x4276, 8874 },
- { 0x4277, 8902 },
- { 0x4278, 8906 },
- { 0x4279, 8910 },
- { 0x427A, 8818 },
- { 0x427B, 8930 },
- { 0x427C, 8938 },
- { 0x427D, 8942 },
- { 0x427E, 8946 },
- { 0x427F, 8926 },
- { 0x4280, 8934 },
- { 0x4281, 8918 },
- { 0x4282, 8922 },
- { 0x4283, 8950 },
- { 0x4284, 8954 },
- { 0x4285, 8962 },
- { 0x4286, 8958 },
- { 0x4287, 8966 },
- { 0x4288, 8970 },
- { 0x4289, 69392 },
- { 0x428A, 69387 },
- { 0x428B, 69382 },
- { 0x428C, 69402 },
- { 0x428D, 69397 },
- { 0x428E, 69407 },
- { 0x428F, 69430 },
- { 0x4290, 69425 },
- { 0x4291, 69420 },
- { 0x4292, 69440 },
- { 0x4293, 69435 },
- { 0x4294, 69445 },
- { 0x4295, 69282 },
- { 0x4296, 69318 },
- { 0x4297, 69322 },
- { 0x4298, 69370 },
- { 0x4299, 69278 },
- { 0x429A, 69358 },
- { 0x429B, 69326 },
- { 0x429C, 69362 },
- { 0x429D, 69330 },
- { 0x429E, 69378 },
- { 0x429F, 69350 },
- { 0x42A0, 69354 },
- { 0x42A1, 69346 },
- { 0x42A2, 69286 },
- { 0x42A3, 69366 },
- { 0x42A4, 69342 },
- { 0x42A5, 69412 },
- { 0x42A6, 69306 },
- { 0x42A7, 69374 },
- { 0x42A8, 69338 },
- { 0x42A9, 69416 },
- { 0x42AA, 69302 },
- { 0x42AB, 69290 },
- { 0x42AC, 69294 },
- { 0x42AD, 69298 },
- { 0x42AE, 69334 },
- { 0x42AF, 69314 },
- { 0x42B0, 69310 },
- { 0x42B1, 69220 },
- { 0x42B2, 69215 },
- { 0x42B3, 69210 },
- { 0x42B4, 69230 },
- { 0x42B5, 69225 },
- { 0x42B6, 69235 },
- { 0x42B7, 69258 },
- { 0x42B8, 69253 },
- { 0x42B9, 69248 },
- { 0x42BA, 69268 },
- { 0x42BB, 69263 },
- { 0x42BC, 69273 },
- { 0x42BD, 69110 },
- { 0x42BE, 69146 },
- { 0x42BF, 69150 },
- { 0x42C0, 69198 },
- { 0x42C1, 69106 },
- { 0x42C2, 69186 },
- { 0x42C3, 69154 },
- { 0x42C4, 69190 },
- { 0x42C5, 69158 },
- { 0x42C6, 69206 },
- { 0x42C7, 69178 },
- { 0x42C8, 69182 },
- { 0x42C9, 69174 },
- { 0x42CA, 69114 },
- { 0x42CB, 69194 },
- { 0x42CC, 69170 },
- { 0x42CD, 69240 },
- { 0x42CE, 69134 },
- { 0x42CF, 69202 },
- { 0x42D0, 69166 },
- { 0x42D1, 69244 },
- { 0x42D2, 69130 },
- { 0x42D3, 69118 },
- { 0x42D4, 69122 },
- { 0x42D5, 69126 },
- { 0x42D6, 69162 },
- { 0x42D7, 69142 },
- { 0x42D8, 69138 },
- { 0x42D9, 75748 },
- { 0x42DA, 75712 },
- { 0x42DB, 75736 },
- { 0x42DC, 75688 },
- { 0x42DD, 75772 },
- { 0x42DE, 75649 },
- { 0x42DF, 75754 },
- { 0x42E0, 75775 },
- { 0x42E1, 75721 },
- { 0x42E2, 75733 },
- { 0x42E3, 75673 },
- { 0x42E4, 75730 },
- { 0x42E5, 75691 },
- { 0x42E6, 75715 },
- { 0x42E7, 75757 },
- { 0x42E8, 75727 },
- { 0x42E9, 75778 },
- { 0x42EA, 75769 },
- { 0x42EB, 75718 },
- { 0x42EC, 75766 },
- { 0x42ED, 75739 },
- { 0x42EE, 75742 },
- { 0x42EF, 75640 },
- { 0x42F0, 75682 },
- { 0x42F1, 75667 },
- { 0x42F2, 75655 },
- { 0x42F3, 75643 },
- { 0x42F4, 75760 },
- { 0x42F5, 75709 },
- { 0x42F6, 75637 },
- { 0x42F7, 75751 },
- { 0x42F8, 75700 },
- { 0x42F9, 75679 },
- { 0x42FA, 75658 },
- { 0x42FB, 75697 },
- { 0x42FC, 75652 },
- { 0x42FD, 75703 },
- { 0x42FE, 75745 },
- { 0x42FF, 75706 },
- { 0x4300, 75670 },
- { 0x4301, 75664 },
- { 0x4302, 75646 },
- { 0x4303, 75661 },
- { 0x4304, 75685 },
- { 0x4305, 75763 },
- { 0x4306, 75676 },
- { 0x4307, 75694 },
- { 0x4308, 75724 },
- { 0x4309, 74331 },
- { 0x430A, 74286 },
- { 0x430B, 74313 },
- { 0x430C, 74301 },
- { 0x430D, 74316 },
- { 0x430E, 74325 },
- { 0x430F, 74337 },
- { 0x4310, 74307 },
- { 0x4311, 74310 },
- { 0x4312, 74355 },
- { 0x4313, 74322 },
- { 0x4314, 74334 },
- { 0x4315, 74295 },
- { 0x4316, 74292 },
- { 0x4317, 74352 },
- { 0x4318, 74340 },
- { 0x4319, 74343 },
- { 0x431A, 74346 },
- { 0x431B, 74349 },
- { 0x431C, 74328 },
- { 0x431D, 74298 },
- { 0x431E, 74319 },
- { 0x431F, 74268 },
- { 0x4320, 74271 },
- { 0x4321, 74274 },
- { 0x4322, 74277 },
- { 0x4323, 74280 },
- { 0x4324, 74283 },
- { 0x4325, 74289 },
- { 0x4326, 74304 },
- { 0x4327, 74256 },
- { 0x4328, 74238 },
- { 0x4329, 74244 },
- { 0x432A, 74265 },
- { 0x432B, 74250 },
- { 0x432C, 74247 },
- { 0x432D, 74241 },
- { 0x432E, 74262 },
- { 0x432F, 74259 },
- { 0x4330, 74253 },
- { 0x4331, 37702 },
- { 0x4332, 37726 },
- { 0x4333, 37770 },
- { 0x4334, 37722 },
- { 0x4335, 37774 },
- { 0x4336, 37778 },
- { 0x4337, 37838 },
- { 0x4338, 37706 },
- { 0x4339, 37786 },
- { 0x433A, 37730 },
- { 0x433B, 37794 },
- { 0x433C, 37710 },
- { 0x433D, 37734 },
- { 0x433E, 37822 },
- { 0x433F, 37802 },
- { 0x4340, 37738 },
- { 0x4341, 37742 },
- { 0x4342, 37746 },
- { 0x4343, 37714 },
- { 0x4344, 37806 },
- { 0x4345, 37750 },
- { 0x4346, 37826 },
- { 0x4347, 37754 },
- { 0x4348, 37810 },
- { 0x4349, 37758 },
- { 0x434A, 37830 },
- { 0x434B, 37814 },
- { 0x434C, 37842 },
- { 0x434D, 37834 },
- { 0x434E, 37782 },
- { 0x434F, 37718 },
- { 0x4350, 37762 },
- { 0x4351, 37798 },
- { 0x4352, 37790 },
- { 0x4353, 37766 },
- { 0x4354, 37818 },
- { 0x4355, 37558 },
- { 0x4356, 37582 },
- { 0x4357, 37626 },
- { 0x4358, 37578 },
- { 0x4359, 37630 },
- { 0x435A, 37634 },
- { 0x435B, 37694 },
- { 0x435C, 37562 },
- { 0x435D, 37642 },
- { 0x435E, 37586 },
- { 0x435F, 37650 },
- { 0x4360, 37566 },
- { 0x4361, 37590 },
- { 0x4362, 37678 },
- { 0x4363, 37658 },
- { 0x4364, 37594 },
- { 0x4365, 37598 },
- { 0x4366, 37602 },
- { 0x4367, 37570 },
- { 0x4368, 37662 },
- { 0x4369, 37606 },
- { 0x436A, 37682 },
- { 0x436B, 37610 },
- { 0x436C, 37666 },
- { 0x436D, 37614 },
- { 0x436E, 37686 },
- { 0x436F, 37670 },
- { 0x4370, 37698 },
- { 0x4371, 37690 },
- { 0x4372, 37638 },
- { 0x4373, 37574 },
- { 0x4374, 37618 },
- { 0x4375, 37654 },
- { 0x4376, 37646 },
- { 0x4377, 37622 },
- { 0x4378, 37674 },
- { 0x4379, 69670 },
- { 0x437A, 69688 },
- { 0x437B, 69691 },
- { 0x437C, 69751 },
- { 0x437D, 69694 },
- { 0x437E, 69769 },
- { 0x437F, 69754 },
- { 0x4380, 69697 },
- { 0x4381, 69673 },
- { 0x4382, 69700 },
- { 0x4383, 69703 },
- { 0x4384, 69760 },
- { 0x4385, 69706 },
- { 0x4386, 69676 },
- { 0x4387, 69709 },
- { 0x4388, 69712 },
- { 0x4389, 69715 },
- { 0x438A, 69766 },
- { 0x438B, 69718 },
- { 0x438C, 69724 },
- { 0x438D, 69721 },
- { 0x438E, 69772 },
- { 0x438F, 69679 },
- { 0x4390, 69727 },
- { 0x4391, 69730 },
- { 0x4392, 69733 },
- { 0x4393, 69775 },
- { 0x4394, 69736 },
- { 0x4395, 69778 },
- { 0x4396, 69739 },
- { 0x4397, 69781 },
- { 0x4398, 69682 },
- { 0x4399, 69742 },
- { 0x439A, 69745 },
- { 0x439B, 69685 },
- { 0x439C, 69748 },
- { 0x439D, 69784 },
- { 0x439E, 69757 },
- { 0x439F, 69787 },
- { 0x43A0, 69763 },
- { 0x43A1, 104143 },
- { 0x43A2, 104151 },
- { 0x43A3, 104179 },
- { 0x43A4, 104167 },
- { 0x43A5, 104135 },
- { 0x43A6, 104327 },
- { 0x43A7, 104171 },
- { 0x43A8, 104331 },
- { 0x43A9, 104227 },
- { 0x43AA, 104159 },
- { 0x43AB, 104323 },
- { 0x43AC, 104231 },
- { 0x43AD, 104183 },
- { 0x43AE, 104223 },
- { 0x43AF, 104199 },
- { 0x43B0, 104267 },
- { 0x43B1, 104315 },
- { 0x43B2, 104255 },
- { 0x43B3, 104155 },
- { 0x43B4, 104275 },
- { 0x43B5, 104191 },
- { 0x43B6, 104279 },
- { 0x43B7, 104263 },
- { 0x43B8, 104215 },
- { 0x43B9, 104147 },
- { 0x43BA, 104243 },
- { 0x43BB, 104163 },
- { 0x43BC, 104251 },
- { 0x43BD, 104203 },
- { 0x43BE, 104211 },
- { 0x43BF, 104283 },
- { 0x43C0, 104335 },
- { 0x43C1, 104295 },
- { 0x43C2, 104271 },
- { 0x43C3, 104139 },
- { 0x43C4, 104307 },
- { 0x43C5, 104175 },
- { 0x43C6, 104259 },
- { 0x43C7, 104239 },
- { 0x43C8, 104207 },
- { 0x43C9, 104339 },
- { 0x43CA, 104219 },
- { 0x43CB, 104291 },
- { 0x43CC, 104311 },
- { 0x43CD, 104303 },
- { 0x43CE, 104299 },
- { 0x43CF, 104187 },
- { 0x43D0, 104247 },
- { 0x43D1, 104235 },
- { 0x43D2, 104319 },
- { 0x43D3, 104287 },
- { 0x43D4, 104195 },
- { 0x43D5, 104343 },
- { 0x43D6, 99746 },
- { 0x43D7, 99850 },
- { 0x43D8, 99770 },
- { 0x43D9, 99774 },
- { 0x43DA, 99854 },
- { 0x43DB, 99778 },
- { 0x43DC, 99858 },
- { 0x43DD, 99782 },
- { 0x43DE, 99750 },
- { 0x43DF, 99786 },
- { 0x43E0, 99790 },
- { 0x43E1, 99794 },
- { 0x43E2, 99862 },
- { 0x43E3, 99754 },
- { 0x43E4, 99866 },
- { 0x43E5, 99798 },
- { 0x43E6, 99802 },
- { 0x43E7, 99806 },
- { 0x43E8, 99870 },
- { 0x43E9, 99810 },
- { 0x43EA, 99814 },
- { 0x43EB, 99874 },
- { 0x43EC, 99758 },
- { 0x43ED, 99818 },
- { 0x43EE, 99822 },
- { 0x43EF, 99826 },
- { 0x43F0, 99830 },
- { 0x43F1, 99878 },
- { 0x43F2, 99834 },
- { 0x43F3, 99882 },
- { 0x43F4, 99762 },
- { 0x43F5, 99838 },
- { 0x43F6, 99842 },
- { 0x43F7, 99766 },
- { 0x43F8, 99846 },
- { 0x43F9, 99606 },
- { 0x43FA, 99710 },
- { 0x43FB, 99630 },
- { 0x43FC, 99634 },
- { 0x43FD, 99714 },
- { 0x43FE, 99638 },
- { 0x43FF, 99718 },
- { 0x4400, 99642 },
- { 0x4401, 99610 },
- { 0x4402, 99646 },
- { 0x4403, 99650 },
- { 0x4404, 99654 },
- { 0x4405, 99722 },
- { 0x4406, 99614 },
- { 0x4407, 99726 },
- { 0x4408, 99658 },
- { 0x4409, 99662 },
- { 0x440A, 99666 },
- { 0x440B, 99730 },
- { 0x440C, 99670 },
- { 0x440D, 99674 },
- { 0x440E, 99734 },
- { 0x440F, 99618 },
- { 0x4410, 99678 },
- { 0x4411, 99682 },
- { 0x4412, 99686 },
- { 0x4413, 99690 },
- { 0x4414, 99738 },
- { 0x4415, 99694 },
- { 0x4416, 99742 },
- { 0x4417, 99622 },
- { 0x4418, 99698 },
- { 0x4419, 99702 },
- { 0x441A, 99626 },
- { 0x441B, 99706 },
- { 0x441C, 58650 },
- { 0x441D, 58654 },
- { 0x441E, 58658 },
- { 0x441F, 58662 },
- { 0x4420, 58666 },
- { 0x4421, 58670 },
- { 0x4422, 58674 },
- { 0x4423, 58678 },
- { 0x4424, 58682 },
- { 0x4425, 58686 },
- { 0x4426, 58690 },
- { 0x4427, 58694 },
- { 0x4428, 58698 },
- { 0x4429, 58702 },
- { 0x442A, 58706 },
- { 0x442B, 58710 },
- { 0x442C, 58966 },
- { 0x442D, 58970 },
- { 0x442E, 58714 },
- { 0x442F, 58974 },
- { 0x4430, 58978 },
- { 0x4431, 58718 },
- { 0x4432, 58982 },
- { 0x4433, 58722 },
- { 0x4434, 58726 },
- { 0x4435, 58730 },
- { 0x4436, 58734 },
- { 0x4437, 58614 },
- { 0x4438, 58738 },
- { 0x4439, 58742 },
- { 0x443A, 58746 },
- { 0x443B, 58750 },
- { 0x443C, 58754 },
- { 0x443D, 58758 },
- { 0x443E, 58762 },
- { 0x443F, 58766 },
- { 0x4440, 58770 },
- { 0x4441, 58774 },
- { 0x4442, 58778 },
- { 0x4443, 58782 },
- { 0x4444, 58786 },
- { 0x4445, 58790 },
- { 0x4446, 58794 },
- { 0x4447, 58798 },
- { 0x4448, 58802 },
- { 0x4449, 58806 },
- { 0x444A, 58810 },
- { 0x444B, 58814 },
- { 0x444C, 58818 },
- { 0x444D, 58822 },
- { 0x444E, 58826 },
- { 0x444F, 58830 },
- { 0x4450, 58834 },
- { 0x4451, 58838 },
- { 0x4452, 58842 },
- { 0x4453, 58846 },
- { 0x4454, 58850 },
- { 0x4455, 58854 },
- { 0x4456, 58858 },
- { 0x4457, 58862 },
- { 0x4458, 58866 },
- { 0x4459, 58870 },
- { 0x445A, 58874 },
- { 0x445B, 58878 },
- { 0x445C, 58882 },
- { 0x445D, 58886 },
- { 0x445E, 58890 },
- { 0x445F, 58894 },
- { 0x4460, 58898 },
- { 0x4461, 58902 },
- { 0x4462, 58906 },
- { 0x4463, 58994 },
- { 0x4464, 58910 },
- { 0x4465, 58914 },
- { 0x4466, 58618 },
- { 0x4467, 58918 },
- { 0x4468, 58922 },
- { 0x4469, 58986 },
- { 0x446A, 58990 },
- { 0x446B, 58622 },
- { 0x446C, 58926 },
- { 0x446D, 58930 },
- { 0x446E, 58934 },
- { 0x446F, 58938 },
- { 0x4470, 58942 },
- { 0x4471, 57688 },
- { 0x4472, 57692 },
- { 0x4473, 57696 },
- { 0x4474, 57700 },
- { 0x4475, 57704 },
- { 0x4476, 57708 },
- { 0x4477, 57712 },
- { 0x4478, 57716 },
- { 0x4479, 58626 },
- { 0x447A, 58630 },
- { 0x447B, 58634 },
- { 0x447C, 57720 },
- { 0x447D, 57724 },
- { 0x447E, 57728 },
- { 0x447F, 58638 },
- { 0x4480, 58642 },
- { 0x4481, 58646 },
- { 0x4482, 57732 },
- { 0x4483, 57736 },
- { 0x4484, 57740 },
- { 0x4485, 57744 },
- { 0x4486, 57748 },
- { 0x4487, 57752 },
- { 0x4488, 57756 },
- { 0x4489, 57760 },
- { 0x448A, 57764 },
- { 0x448B, 57768 },
- { 0x448C, 57772 },
- { 0x448D, 57776 },
- { 0x448E, 57780 },
- { 0x448F, 57784 },
- { 0x4490, 57788 },
- { 0x4491, 57792 },
- { 0x4492, 57796 },
- { 0x4493, 57800 },
- { 0x4494, 57804 },
- { 0x4495, 57808 },
- { 0x4496, 57812 },
- { 0x4497, 57816 },
- { 0x4498, 57820 },
- { 0x4499, 57824 },
- { 0x449A, 57828 },
- { 0x449B, 57832 },
- { 0x449C, 57836 },
- { 0x449D, 57840 },
- { 0x449E, 57844 },
- { 0x449F, 57848 },
- { 0x44A0, 57852 },
- { 0x44A1, 57856 },
- { 0x44A2, 57860 },
- { 0x44A3, 57864 },
- { 0x44A4, 57868 },
- { 0x44A5, 57872 },
- { 0x44A6, 57876 },
- { 0x44A7, 57880 },
- { 0x44A8, 57884 },
- { 0x44A9, 57888 },
- { 0x44AA, 57892 },
- { 0x44AB, 57896 },
- { 0x44AC, 57900 },
- { 0x44AD, 57904 },
- { 0x44AE, 57908 },
- { 0x44AF, 57912 },
- { 0x44B0, 57916 },
- { 0x44B1, 57920 },
- { 0x44B2, 57924 },
- { 0x44B3, 57928 },
- { 0x44B4, 57932 },
- { 0x44B5, 57936 },
- { 0x44B6, 57940 },
- { 0x44B7, 57944 },
- { 0x44B8, 57948 },
- { 0x44B9, 57952 },
- { 0x44BA, 57956 },
- { 0x44BB, 57960 },
- { 0x44BC, 58998 },
- { 0x44BD, 59002 },
- { 0x44BE, 59006 },
- { 0x44BF, 59010 },
- { 0x44C0, 59014 },
- { 0x44C1, 59018 },
- { 0x44C2, 59022 },
- { 0x44C3, 59026 },
- { 0x44C4, 59030 },
- { 0x44C5, 59034 },
- { 0x44C6, 59038 },
- { 0x44C7, 59042 },
- { 0x44C8, 59046 },
- { 0x44C9, 59050 },
- { 0x44CA, 59054 },
- { 0x44CB, 59058 },
- { 0x44CC, 59062 },
- { 0x44CD, 59066 },
- { 0x44CE, 59070 },
- { 0x44CF, 57964 },
- { 0x44D0, 57968 },
- { 0x44D1, 57972 },
- { 0x44D2, 57976 },
- { 0x44D3, 57980 },
- { 0x44D4, 57984 },
- { 0x44D5, 57988 },
- { 0x44D6, 57992 },
- { 0x44D7, 57996 },
- { 0x44D8, 58000 },
- { 0x44D9, 58004 },
- { 0x44DA, 58008 },
- { 0x44DB, 58012 },
- { 0x44DC, 58016 },
- { 0x44DD, 58020 },
- { 0x44DE, 58024 },
- { 0x44DF, 58028 },
- { 0x44E0, 58032 },
- { 0x44E1, 58036 },
- { 0x44E2, 58040 },
- { 0x44E3, 58044 },
- { 0x44E4, 58048 },
- { 0x44E5, 58052 },
- { 0x44E6, 58056 },
- { 0x44E7, 58060 },
- { 0x44E8, 58064 },
- { 0x44E9, 58068 },
- { 0x44EA, 58072 },
- { 0x44EB, 58076 },
- { 0x44EC, 58080 },
- { 0x44ED, 58084 },
- { 0x44EE, 58088 },
- { 0x44EF, 58092 },
- { 0x44F0, 58096 },
- { 0x44F1, 58100 },
- { 0x44F2, 58104 },
- { 0x44F3, 58108 },
- { 0x44F4, 58112 },
- { 0x44F5, 58116 },
- { 0x44F6, 58120 },
- { 0x44F7, 58124 },
- { 0x44F8, 58128 },
- { 0x44F9, 58132 },
- { 0x44FA, 58136 },
- { 0x44FB, 58140 },
- { 0x44FC, 58144 },
- { 0x44FD, 58148 },
- { 0x44FE, 58152 },
- { 0x44FF, 58156 },
- { 0x4500, 58160 },
- { 0x4501, 58164 },
- { 0x4502, 58168 },
- { 0x4503, 58172 },
- { 0x4504, 58176 },
- { 0x4505, 58180 },
- { 0x4506, 58184 },
- { 0x4507, 58188 },
- { 0x4508, 58192 },
- { 0x4509, 58196 },
- { 0x450A, 58200 },
- { 0x450B, 58204 },
- { 0x450C, 58208 },
- { 0x450D, 58212 },
- { 0x450E, 58216 },
- { 0x450F, 58220 },
- { 0x4510, 58224 },
- { 0x4511, 58228 },
- { 0x4512, 58232 },
- { 0x4513, 58236 },
- { 0x4514, 58240 },
- { 0x4515, 58244 },
- { 0x4516, 58248 },
- { 0x4517, 58252 },
- { 0x4518, 58256 },
- { 0x4519, 58260 },
- { 0x451A, 58264 },
- { 0x451B, 58268 },
- { 0x451C, 58272 },
- { 0x451D, 58276 },
- { 0x451E, 58280 },
- { 0x451F, 58284 },
- { 0x4520, 58288 },
- { 0x4521, 58292 },
- { 0x4522, 58296 },
- { 0x4523, 58300 },
- { 0x4524, 58304 },
- { 0x4525, 58308 },
- { 0x4526, 58312 },
- { 0x4527, 58316 },
- { 0x4528, 58320 },
- { 0x4529, 58324 },
- { 0x452A, 58328 },
- { 0x452B, 58332 },
- { 0x452C, 58336 },
- { 0x452D, 58340 },
- { 0x452E, 58344 },
- { 0x452F, 58348 },
- { 0x4530, 58352 },
- { 0x4531, 58356 },
- { 0x4532, 58360 },
- { 0x4533, 58364 },
- { 0x4534, 58368 },
- { 0x4535, 58372 },
- { 0x4536, 58376 },
- { 0x4537, 58380 },
- { 0x4538, 58384 },
- { 0x4539, 58388 },
- { 0x453A, 58392 },
- { 0x453B, 58396 },
- { 0x453C, 58400 },
- { 0x453D, 58404 },
- { 0x453E, 58408 },
- { 0x453F, 58412 },
- { 0x4540, 58416 },
- { 0x4541, 58420 },
- { 0x4542, 58424 },
- { 0x4543, 58428 },
- { 0x4544, 58432 },
- { 0x4545, 58436 },
- { 0x4546, 58440 },
- { 0x4547, 58444 },
- { 0x4548, 58448 },
- { 0x4549, 58452 },
- { 0x454A, 58456 },
- { 0x454B, 58460 },
- { 0x454C, 58464 },
- { 0x454D, 58468 },
- { 0x454E, 58472 },
- { 0x454F, 58476 },
- { 0x4550, 58480 },
- { 0x4551, 58484 },
- { 0x4552, 58488 },
- { 0x4553, 58492 },
- { 0x4554, 58497 },
- { 0x4555, 58502 },
- { 0x4556, 58507 },
- { 0x4557, 58512 },
- { 0x4558, 58517 },
- { 0x4559, 58522 },
- { 0x455A, 58527 },
- { 0x455B, 58532 },
- { 0x455C, 58946 },
- { 0x455D, 58951 },
- { 0x455E, 58956 },
- { 0x455F, 58961 },
- { 0x4560, 58537 },
- { 0x4561, 58542 },
- { 0x4562, 58547 },
- { 0x4563, 58552 },
- { 0x4564, 58557 },
- { 0x4565, 58562 },
- { 0x4566, 58567 },
- { 0x4567, 58572 },
- { 0x4568, 58577 },
- { 0x4569, 58582 },
- { 0x456A, 58586 },
- { 0x456B, 58590 },
- { 0x456C, 58594 },
- { 0x456D, 58598 },
- { 0x456E, 58602 },
- { 0x456F, 58606 },
- { 0x4570, 58610 },
- { 0x4571, 96576 },
- { 0x4572, 97219 },
- { 0x4573, 97213 },
- { 0x4574, 96208 },
- { 0x4575, 96510 },
- { 0x4576, 95912 },
- { 0x4577, 96212 },
- { 0x4578, 96224 },
- { 0x4579, 96217 },
- { 0x457A, 96300 },
- { 0x457B, 95946 },
- { 0x457C, 95932 },
- { 0x457D, 95938 },
- { 0x457E, 96617 },
- { 0x457F, 96401 },
- { 0x4580, 96305 },
- { 0x4581, 96345 },
- { 0x4582, 96515 },
- { 0x4583, 95964 },
- { 0x4584, 96520 },
- { 0x4585, 95980 },
- { 0x4586, 96527 },
- { 0x4587, 96314 },
- { 0x4588, 96599 },
- { 0x4589, 96232 },
- { 0x458A, 96237 },
- { 0x458B, 96010 },
- { 0x458C, 96549 },
- { 0x458D, 96045 },
- { 0x458E, 96324 },
- { 0x458F, 96328 },
- { 0x4590, 96482 },
- { 0x4591, 96487 },
- { 0x4592, 96082 },
- { 0x4593, 96581 },
- { 0x4594, 96396 },
- { 0x4595, 96092 },
- { 0x4596, 96453 },
- { 0x4597, 96461 },
- { 0x4598, 96100 },
- { 0x4599, 96106 },
- { 0x459A, 96561 },
- { 0x459B, 96242 },
- { 0x459C, 96249 },
- { 0x459D, 96254 },
- { 0x459E, 96350 },
- { 0x459F, 96139 },
- { 0x45A0, 96172 },
- { 0x45A1, 96571 },
- { 0x45A2, 96897 },
- { 0x45A3, 97136 },
- { 0x45A4, 96914 },
- { 0x45A5, 96639 },
- { 0x45A6, 96903 },
- { 0x45A7, 96910 },
- { 0x45A8, 97171 },
- { 0x45A9, 96116 },
- { 0x45AA, 68934 },
- { 0x45AB, 68937 },
- { 0x45AC, 68940 },
- { 0x45AD, 68943 },
- { 0x45AE, 68946 },
- { 0x45AF, 68949 },
- { 0x45B0, 68952 },
- { 0x45B1, 68955 },
- { 0x45B2, 68958 },
- { 0x45B3, 68961 },
- { 0x45B4, 68964 },
- { 0x45B5, 68967 },
- { 0x45B6, 68970 },
- { 0x45B7, 68973 },
- { 0x45B8, 68976 },
- { 0x45B9, 68979 },
- { 0x45BA, 68982 },
- { 0x45BB, 68985 },
- { 0x45BC, 68988 },
- { 0x45BD, 68991 },
- { 0x45BE, 68994 },
- { 0x45BF, 68997 },
- { 0x45C0, 69000 },
- { 0x45C1, 69003 },
- { 0x45C2, 69006 },
- { 0x45C3, 69009 },
- { 0x45C4, 69012 },
- { 0x45C5, 69015 },
- { 0x45C6, 69018 },
- { 0x45C7, 69021 },
- { 0x45C8, 69024 },
- { 0x45C9, 69027 },
- { 0x45CA, 69030 },
- { 0x45CB, 69033 },
- { 0x45CC, 69036 },
- { 0x45CD, 69039 },
- { 0x45CE, 69042 },
- { 0x45CF, 69045 },
- { 0x45D0, 69048 },
- { 0x45D1, 69051 },
- { 0x45D2, 69054 },
- { 0x45D3, 69057 },
- { 0x45D4, 69060 },
- { 0x45D5, 69063 },
- { 0x45D6, 69066 },
- { 0x45D7, 69069 },
- { 0x45D8, 69072 },
- { 0x45D9, 69075 },
- { 0x45DA, 69078 },
- { 0x45DB, 69081 },
- { 0x45DC, 69084 },
- { 0x45DD, 69087 },
- { 0x45DE, 69090 },
- { 0x45DF, 69093 },
- { 0x45E0, 69096 },
- { 0x45E1, 93790 },
- { 0x45E2, 93758 },
- { 0x45E3, 93794 },
- { 0x45E4, 93806 },
- { 0x45E5, 93730 },
- { 0x45E6, 93750 },
- { 0x45E7, 93802 },
- { 0x45E8, 93762 },
- { 0x45E9, 93782 },
- { 0x45EA, 93786 },
- { 0x45EB, 93766 },
- { 0x45EC, 93810 },
- { 0x45ED, 93738 },
- { 0x45EE, 93742 },
- { 0x45EF, 93814 },
- { 0x45F0, 93754 },
- { 0x45F1, 93734 },
- { 0x45F2, 93798 },
- { 0x45F3, 93770 },
- { 0x45F4, 93774 },
- { 0x45F5, 93778 },
- { 0x45F6, 93746 },
- { 0x45F7, 93853 },
- { 0x45F8, 93818 },
- { 0x45F9, 93841 },
- { 0x45FA, 93845 },
- { 0x45FB, 93832 },
- { 0x45FC, 93849 },
- { 0x45FD, 93822 },
- { 0x45FE, 93827 },
- { 0x45FF, 93836 },
- { 0x4600, 115736 },
- { 0x4601, 115712 },
- { 0x4602, 115743 },
- { 0x4603, 115752 },
- { 0x4604, 115691 },
- { 0x4605, 115706 },
- { 0x4606, 115749 },
- { 0x4607, 115715 },
- { 0x4608, 115730 },
- { 0x4609, 115733 },
- { 0x460A, 115718 },
- { 0x460B, 115755 },
- { 0x460C, 115697 },
- { 0x460D, 115739 },
- { 0x460E, 115700 },
- { 0x460F, 115758 },
- { 0x4610, 115709 },
- { 0x4611, 115694 },
- { 0x4612, 115746 },
- { 0x4613, 115721 },
- { 0x4614, 115724 },
- { 0x4615, 115727 },
- { 0x4616, 115703 },
- { 0x4617, 115782 },
- { 0x4618, 115785 },
- { 0x4619, 115761 },
- { 0x461A, 115767 },
- { 0x461B, 115776 },
- { 0x461C, 115773 },
- { 0x461D, 115770 },
- { 0x461E, 115764 },
- { 0x461F, 115779 },
- { 0x4620, 115627 },
- { 0x4621, 115596 },
- { 0x4622, 115611 },
- { 0x4623, 115572 },
- { 0x4624, 115635 },
- { 0x4625, 115644 },
- { 0x4626, 115599 },
- { 0x4627, 115551 },
- { 0x4628, 115566 },
- { 0x4629, 115641 },
- { 0x462A, 115575 },
- { 0x462B, 115590 },
- { 0x462C, 115623 },
- { 0x462D, 115593 },
- { 0x462E, 115615 },
- { 0x462F, 115578 },
- { 0x4630, 115631 },
- { 0x4631, 115647 },
- { 0x4632, 115603 },
- { 0x4633, 115557 },
- { 0x4634, 115607 },
- { 0x4635, 115560 },
- { 0x4636, 115650 },
- { 0x4637, 115569 },
- { 0x4638, 115554 },
- { 0x4639, 115638 },
- { 0x463A, 115581 },
- { 0x463B, 115584 },
- { 0x463C, 115619 },
- { 0x463D, 115587 },
- { 0x463E, 115563 },
- { 0x463F, 115653 },
- { 0x4640, 115663 },
- { 0x4641, 115672 },
- { 0x4642, 115669 },
- { 0x4643, 115678 },
- { 0x4644, 115666 },
- { 0x4645, 115660 },
- { 0x4646, 115675 },
- { 0x4647, 115656 },
- { 0x4648, 53857 },
- { 0x4649, 53833 },
- { 0x464A, 53860 },
- { 0x464B, 53872 },
- { 0x464C, 53812 },
- { 0x464D, 53830 },
- { 0x464E, 53854 },
- { 0x464F, 53836 },
- { 0x4650, 53848 },
- { 0x4651, 53851 },
- { 0x4652, 53839 },
- { 0x4653, 53866 },
- { 0x4654, 53821 },
- { 0x4655, 53824 },
- { 0x4656, 53869 },
- { 0x4657, 53818 },
- { 0x4658, 53815 },
- { 0x4659, 53863 },
- { 0x465A, 53842 },
- { 0x465B, 53845 },
- { 0x465C, 53827 },
- { 0x465D, 53875 },
- { 0x465E, 53885 },
- { 0x465F, 53882 },
- { 0x4660, 53888 },
- { 0x4661, 53878 },
- { 0x4662, 120004 },
- { 0x4663, 120007 },
- { 0x4664, 120043 },
- { 0x4665, 120040 },
- { 0x4666, 119995 },
- { 0x4667, 120031 },
- { 0x4668, 120037 },
- { 0x4669, 120010 },
- { 0x466A, 120028 },
- { 0x466B, 120034 },
- { 0x466C, 120013 },
- { 0x466D, 120046 },
- { 0x466E, 120016 },
- { 0x466F, 120019 },
- { 0x4670, 120055 },
- { 0x4671, 120001 },
- { 0x4672, 119998 },
- { 0x4673, 120052 },
- { 0x4674, 120022 },
- { 0x4675, 120049 },
- { 0x4676, 120058 },
- { 0x4677, 120025 },
- { 0x4678, 120061 },
- { 0x4679, 120068 },
- { 0x467A, 120077 },
- { 0x467B, 120064 },
- { 0x467C, 120071 },
- { 0x467D, 120074 },
- { 0x467E, 119992 },
- { 0x467F, 60165 },
- { 0x4680, 60168 },
- { 0x4681, 60183 },
- { 0x4682, 60174 },
- { 0x4683, 60177 },
- { 0x4684, 60219 },
- { 0x4685, 60186 },
- { 0x4686, 60222 },
- { 0x4687, 60189 },
- { 0x4688, 60192 },
- { 0x4689, 60195 },
- { 0x468A, 60198 },
- { 0x468B, 60201 },
- { 0x468C, 60207 },
- { 0x468D, 60237 },
- { 0x468E, 60213 },
- { 0x468F, 60216 },
- { 0x4690, 60180 },
- { 0x4691, 60204 },
- { 0x4692, 60210 },
- { 0x4693, 60240 },
- { 0x4694, 60225 },
- { 0x4695, 60228 },
- { 0x4696, 60231 },
- { 0x4697, 60234 },
- { 0x4698, 60171 },
- { 0x4699, 60243 },
- { 0x469A, 95460 },
- { 0x469B, 95464 },
- { 0x469C, 95468 },
- { 0x469D, 95472 },
- { 0x469E, 95540 },
- { 0x469F, 95536 },
- { 0x46A0, 95476 },
- { 0x46A1, 95552 },
- { 0x46A2, 95504 },
- { 0x46A3, 95492 },
- { 0x46A4, 95496 },
- { 0x46A5, 95556 },
- { 0x46A6, 95500 },
- { 0x46A7, 95560 },
- { 0x46A8, 95512 },
- { 0x46A9, 95564 },
- { 0x46AA, 95488 },
- { 0x46AB, 95548 },
- { 0x46AC, 95544 },
- { 0x46AD, 95516 },
- { 0x46AE, 95568 },
- { 0x46AF, 95520 },
- { 0x46B0, 95484 },
- { 0x46B1, 95508 },
- { 0x46B2, 95524 },
- { 0x46B3, 95572 },
- { 0x46B4, 95528 },
- { 0x46B5, 95576 },
- { 0x46B6, 95532 },
- { 0x46B7, 95480 },
- { 0x46B8, 95580 },
- { 0x46B9, 95584 },
- { 0x46BA, 95042 },
- { 0x46BB, 95046 },
- { 0x46BC, 95050 },
- { 0x46BD, 95054 },
- { 0x46BE, 95122 },
- { 0x46BF, 95118 },
- { 0x46C0, 95058 },
- { 0x46C1, 95086 },
- { 0x46C2, 95074 },
- { 0x46C3, 95078 },
- { 0x46C4, 95082 },
- { 0x46C5, 95094 },
- { 0x46C6, 95070 },
- { 0x46C7, 95130 },
- { 0x46C8, 95126 },
- { 0x46C9, 95098 },
- { 0x46CA, 95134 },
- { 0x46CB, 95102 },
- { 0x46CC, 95066 },
- { 0x46CD, 95090 },
- { 0x46CE, 95106 },
- { 0x46CF, 95110 },
- { 0x46D0, 95114 },
- { 0x46D1, 95062 },
- { 0x46D2, 95447 },
- { 0x46D3, 95392 },
- { 0x46D4, 95456 },
- { 0x46D5, 95452 },
- { 0x46D6, 95139 },
- { 0x46D7, 95188 },
- { 0x46D8, 95335 },
- { 0x46D9, 95228 },
- { 0x46DA, 95208 },
- { 0x46DB, 95159 },
- { 0x46DC, 95306 },
- { 0x46DD, 95268 },
- { 0x46DE, 95248 },
- { 0x46DF, 95179 },
- { 0x46E0, 95374 },
- { 0x46E1, 95365 },
- { 0x46E2, 95297 },
- { 0x46E3, 95288 },
- { 0x46E4, 95326 },
- { 0x46E5, 95383 },
- { 0x46E6, 95143 },
- { 0x46E7, 95192 },
- { 0x46E8, 95339 },
- { 0x46E9, 95232 },
- { 0x46EA, 95212 },
- { 0x46EB, 95163 },
- { 0x46EC, 95310 },
- { 0x46ED, 95272 },
- { 0x46EE, 95252 },
- { 0x46EF, 95154 },
- { 0x46F0, 95203 },
- { 0x46F1, 95350 },
- { 0x46F2, 95243 },
- { 0x46F3, 95223 },
- { 0x46F4, 95174 },
- { 0x46F5, 95321 },
- { 0x46F6, 95283 },
- { 0x46F7, 95263 },
- { 0x46F8, 95183 },
- { 0x46F9, 95378 },
- { 0x46FA, 95369 },
- { 0x46FB, 95301 },
- { 0x46FC, 95292 },
- { 0x46FD, 95330 },
- { 0x46FE, 95387 },
- { 0x46FF, 95355 },
- { 0x4700, 95360 },
- { 0x4701, 95148 },
- { 0x4702, 95197 },
- { 0x4703, 95344 },
- { 0x4704, 95237 },
- { 0x4705, 95217 },
- { 0x4706, 95168 },
- { 0x4707, 95315 },
- { 0x4708, 95277 },
- { 0x4709, 95257 },
- { 0x470A, 95397 },
- { 0x470B, 95412 },
- { 0x470C, 95442 },
- { 0x470D, 95422 },
- { 0x470E, 95417 },
- { 0x470F, 95402 },
- { 0x4710, 95437 },
- { 0x4711, 95432 },
- { 0x4712, 95427 },
- { 0x4713, 95407 },
- { 0x4714, 119647 },
- { 0x4715, 119626 },
- { 0x4716, 119634 },
- { 0x4717, 119638 },
- { 0x4718, 119622 },
- { 0x4719, 119630 },
- { 0x471A, 119643 },
- { 0x471B, 119599 },
- { 0x471C, 119607 },
- { 0x471D, 119604 },
- { 0x471E, 119668 },
- { 0x471F, 119716 },
- { 0x4720, 119659 },
- { 0x4721, 119713 },
- { 0x4722, 119653 },
- { 0x4723, 119704 },
- { 0x4724, 119665 },
- { 0x4725, 119725 },
- { 0x4726, 119740 },
- { 0x4727, 119749 },
- { 0x4728, 119707 },
- { 0x4729, 119746 },
- { 0x472A, 119722 },
- { 0x472B, 119689 },
- { 0x472C, 119737 },
- { 0x472D, 119656 },
- { 0x472E, 119710 },
- { 0x472F, 119677 },
- { 0x4730, 119680 },
- { 0x4731, 119728 },
- { 0x4732, 119650 },
- { 0x4733, 119701 },
- { 0x4734, 119674 },
- { 0x4735, 119695 },
- { 0x4736, 119683 },
- { 0x4737, 119671 },
- { 0x4738, 119692 },
- { 0x4739, 119731 },
- { 0x473A, 119734 },
- { 0x473B, 119686 },
- { 0x473C, 119698 },
- { 0x473D, 119662 },
- { 0x473E, 119719 },
- { 0x473F, 119755 },
- { 0x4740, 119752 },
- { 0x4741, 119743 },
- { 0x4742, 119588 },
- { 0x4743, 119596 },
- { 0x4744, 119592 },
- { 0x4745, 119772 },
- { 0x4746, 119610 },
- { 0x4747, 119613 },
- { 0x4748, 119619 },
- { 0x4749, 119616 },
- { 0x474A, 119766 },
- { 0x474B, 119769 },
- { 0x474C, 119758 },
- { 0x474D, 119762 },
- { 0x474E, 119774 },
- { 0x474F, 119778 },
- { 0x4750, 119790 },
- { 0x4751, 119794 },
- { 0x4752, 119801 },
- { 0x4753, 119805 },
- { 0x4754, 119787 },
- { 0x4755, 119781 },
- { 0x4756, 119797 },
- { 0x4757, 119784 },
- { 0x4758, 7822 },
- { 0x4759, 7947 },
- { 0x475A, 7867 },
- { 0x475B, 7832 },
- { 0x475C, 7877 },
- { 0x475D, 7852 },
- { 0x475E, 7887 },
- { 0x475F, 7882 },
- { 0x4760, 7862 },
- { 0x4761, 7847 },
- { 0x4762, 7842 },
- { 0x4763, 7872 },
- { 0x4764, 7837 },
- { 0x4765, 7922 },
- { 0x4766, 7927 },
- { 0x4767, 7952 },
- { 0x4768, 7817 },
- { 0x4769, 7857 },
- { 0x476A, 7827 },
- { 0x476B, 7942 },
- { 0x476C, 7917 },
- { 0x476D, 7937 },
- { 0x476E, 7912 },
- { 0x476F, 7892 },
- { 0x4770, 7907 },
- { 0x4771, 7957 },
- { 0x4772, 7902 },
- { 0x4773, 7897 },
- { 0x4774, 7932 },
- { 0x4775, 7962 },
- { 0x4776, 7967 },
- { 0x4777, 7972 },
- { 0x4778, 7687 },
- { 0x4779, 7697 },
- { 0x477A, 7682 },
- { 0x477B, 7772 },
- { 0x477C, 7702 },
- { 0x477D, 7727 },
- { 0x477E, 7752 },
- { 0x477F, 7707 },
- { 0x4780, 7662 },
- { 0x4781, 7722 },
- { 0x4782, 7747 },
- { 0x4783, 7692 },
- { 0x4784, 7777 },
- { 0x4785, 7767 },
- { 0x4786, 7712 },
- { 0x4787, 7757 },
- { 0x4788, 7677 },
- { 0x4789, 7742 },
- { 0x478A, 7657 },
- { 0x478B, 7667 },
- { 0x478C, 7762 },
- { 0x478D, 7672 },
- { 0x478E, 7797 },
- { 0x478F, 7717 },
- { 0x4790, 7792 },
- { 0x4791, 7782 },
- { 0x4792, 7732 },
- { 0x4793, 7787 },
- { 0x4794, 7737 },
- { 0x4795, 7802 },
- { 0x4796, 7807 },
- { 0x4797, 7812 },
- { 0x4798, 119868 },
- { 0x4799, 119835 },
- { 0x479A, 119871 },
- { 0x479B, 119874 },
- { 0x479C, 119898 },
- { 0x479D, 119895 },
- { 0x479E, 119814 },
- { 0x479F, 119829 },
- { 0x47A0, 119808 },
- { 0x47A1, 119892 },
- { 0x47A2, 119910 },
- { 0x47A3, 119877 },
- { 0x47A4, 119901 },
- { 0x47A5, 119838 },
- { 0x47A6, 119853 },
- { 0x47A7, 119862 },
- { 0x47A8, 119841 },
- { 0x47A9, 119856 },
- { 0x47AA, 119880 },
- { 0x47AB, 119904 },
- { 0x47AC, 119913 },
- { 0x47AD, 119916 },
- { 0x47AE, 119820 },
- { 0x47AF, 119823 },
- { 0x47B0, 119907 },
- { 0x47B1, 119832 },
- { 0x47B2, 119865 },
- { 0x47B3, 119817 },
- { 0x47B4, 119811 },
- { 0x47B5, 119886 },
- { 0x47B6, 119844 },
- { 0x47B7, 119859 },
- { 0x47B8, 119883 },
- { 0x47B9, 119847 },
- { 0x47BA, 119850 },
- { 0x47BB, 119889 },
- { 0x47BC, 119826 },
- { 0x47BD, 119963 },
- { 0x47BE, 119967 },
- { 0x47BF, 119919 },
- { 0x47C0, 119929 },
- { 0x47C1, 119926 },
- { 0x47C2, 119932 },
- { 0x47C3, 119922 },
- { 0x47C4, 119951 },
- { 0x47C5, 119960 },
- { 0x47C6, 119954 },
- { 0x47C7, 119938 },
- { 0x47C8, 119935 },
- { 0x47C9, 119943 },
- { 0x47CA, 119947 },
- { 0x47CB, 66541 },
- { 0x47CC, 66556 },
- { 0x47CD, 66565 },
- { 0x47CE, 66640 },
- { 0x47CF, 66562 },
- { 0x47D0, 66637 },
- { 0x47D1, 66559 },
- { 0x47D2, 66643 },
- { 0x47D3, 66544 },
- { 0x47D4, 66577 },
- { 0x47D5, 66550 },
- { 0x47D6, 66607 },
- { 0x47D7, 66547 },
- { 0x47D8, 66589 },
- { 0x47D9, 66553 },
- { 0x47DA, 66622 },
- { 0x47DB, 66595 },
- { 0x47DC, 66628 },
- { 0x47DD, 66682 },
- { 0x47DE, 66679 },
- { 0x47DF, 66583 },
- { 0x47E0, 66652 },
- { 0x47E1, 66655 },
- { 0x47E2, 66571 },
- { 0x47E3, 66592 },
- { 0x47E4, 66619 },
- { 0x47E5, 66673 },
- { 0x47E6, 66574 },
- { 0x47E7, 66649 },
- { 0x47E8, 66676 },
- { 0x47E9, 66610 },
- { 0x47EA, 66580 },
- { 0x47EB, 66568 },
- { 0x47EC, 66646 },
- { 0x47ED, 66661 },
- { 0x47EE, 66694 },
- { 0x47EF, 66691 },
- { 0x47F0, 66604 },
- { 0x47F1, 66667 },
- { 0x47F2, 66664 },
- { 0x47F3, 66601 },
- { 0x47F4, 66658 },
- { 0x47F5, 66685 },
- { 0x47F6, 66631 },
- { 0x47F7, 66625 },
- { 0x47F8, 66613 },
- { 0x47F9, 66598 },
- { 0x47FA, 66616 },
- { 0x47FB, 66634 },
- { 0x47FC, 66670 },
- { 0x47FD, 66688 },
- { 0x47FE, 66697 },
- { 0x47FF, 66700 },
- { 0x4800, 66586 },
- { 0x4801, 66703 },
- { 0x4802, 16703 },
- { 0x4803, 38816 },
- { 0x4804, 26692 },
- { 0x4805, 26672 },
- { 0x4806, 26699 },
- { 0x4807, 26679 },
- { 0x4808, 131610 },
- { 0x4809, 131578 },
- { 0x480A, 131614 },
- { 0x480B, 131626 },
- { 0x480C, 131550 },
- { 0x480D, 131570 },
- { 0x480E, 131622 },
- { 0x480F, 131582 },
- { 0x4810, 131602 },
- { 0x4811, 131606 },
- { 0x4812, 131586 },
- { 0x4813, 131630 },
- { 0x4814, 131558 },
- { 0x4815, 131562 },
- { 0x4816, 131634 },
- { 0x4817, 131574 },
- { 0x4818, 131554 },
- { 0x4819, 131618 },
- { 0x481A, 131590 },
- { 0x481B, 131594 },
- { 0x481C, 131598 },
- { 0x481D, 131566 },
- { 0x481E, 131638 },
- { 0x481F, 131656 },
- { 0x4820, 131664 },
- { 0x4821, 131660 },
- { 0x4822, 131652 },
- { 0x4823, 131668 },
- { 0x4824, 131642 },
- { 0x4825, 131647 },
- { 0x4826, 131480 },
- { 0x4827, 131456 },
- { 0x4828, 131484 },
- { 0x4829, 131496 },
- { 0x482A, 131440 },
- { 0x482B, 131512 },
- { 0x482C, 131492 },
- { 0x482D, 131460 },
- { 0x482E, 131472 },
- { 0x482F, 131476 },
- { 0x4830, 131464 },
- { 0x4831, 131500 },
- { 0x4832, 131508 },
- { 0x4833, 131448 },
- { 0x4834, 131504 },
- { 0x4835, 131444 },
- { 0x4836, 131488 },
- { 0x4837, 131468 },
- { 0x4838, 131452 },
- { 0x4839, 131516 },
- { 0x483A, 131534 },
- { 0x483B, 131542 },
- { 0x483C, 131538 },
- { 0x483D, 131530 },
- { 0x483E, 131546 },
- { 0x483F, 131520 },
- { 0x4840, 131525 },
- { 0x4841, 75093 },
- { 0x4842, 75073 },
- { 0x4843, 75097 },
- { 0x4844, 75109 },
- { 0x4845, 75057 },
- { 0x4846, 75125 },
- { 0x4847, 75105 },
- { 0x4848, 75077 },
- { 0x4849, 75089 },
- { 0x484A, 75081 },
- { 0x484B, 75113 },
- { 0x484C, 75121 },
- { 0x484D, 75065 },
- { 0x484E, 75117 },
- { 0x484F, 75061 },
- { 0x4850, 75101 },
- { 0x4851, 75085 },
- { 0x4852, 75069 },
- { 0x4853, 75163 },
- { 0x4854, 75158 },
- { 0x4855, 75051 },
- { 0x4856, 75045 },
- { 0x4857, 75129 },
- { 0x4858, 75142 },
- { 0x4859, 75150 },
- { 0x485A, 75146 },
- { 0x485B, 75138 },
- { 0x485C, 75154 },
- { 0x485D, 75133 },
- { 0x485E, 8287 },
- { 0x485F, 8497 },
- { 0x4860, 8522 },
- { 0x4861, 8292 },
- { 0x4862, 8507 },
- { 0x4863, 8502 },
- { 0x4864, 8297 },
- { 0x4865, 8382 },
- { 0x4866, 8572 },
- { 0x4867, 8302 },
- { 0x4868, 8512 },
- { 0x4869, 8402 },
- { 0x486A, 8582 },
- { 0x486B, 8312 },
- { 0x486C, 8527 },
- { 0x486D, 8412 },
- { 0x486E, 8587 },
- { 0x486F, 8307 },
- { 0x4870, 8517 },
- { 0x4871, 8407 },
- { 0x4872, 8367 },
- { 0x4873, 8562 },
- { 0x4874, 8347 },
- { 0x4875, 8552 },
- { 0x4876, 8447 },
- { 0x4877, 8607 },
- { 0x4878, 8417 },
- { 0x4879, 8592 },
- { 0x487A, 8487 },
- { 0x487B, 8642 },
- { 0x487C, 8317 },
- { 0x487D, 8532 },
- { 0x487E, 8422 },
- { 0x487F, 8457 },
- { 0x4880, 8357 },
- { 0x4881, 8322 },
- { 0x4882, 8427 },
- { 0x4883, 8597 },
- { 0x4884, 8472 },
- { 0x4885, 8627 },
- { 0x4886, 8462 },
- { 0x4887, 8622 },
- { 0x4888, 8477 },
- { 0x4889, 8632 },
- { 0x488A, 8612 },
- { 0x488B, 8467 },
- { 0x488C, 8647 },
- { 0x488D, 8362 },
- { 0x488E, 8387 },
- { 0x488F, 8372 },
- { 0x4890, 8352 },
- { 0x4891, 8557 },
- { 0x4892, 8327 },
- { 0x4893, 8537 },
- { 0x4894, 8377 },
- { 0x4895, 8567 },
- { 0x4896, 8392 },
- { 0x4897, 8577 },
- { 0x4898, 8332 },
- { 0x4899, 8542 },
- { 0x489A, 8432 },
- { 0x489B, 8337 },
- { 0x489C, 8437 },
- { 0x489D, 8452 },
- { 0x489E, 8617 },
- { 0x489F, 8482 },
- { 0x48A0, 8637 },
- { 0x48A1, 8342 },
- { 0x48A2, 8547 },
- { 0x48A3, 8442 },
- { 0x48A4, 8602 },
- { 0x48A5, 8397 },
- { 0x48A6, 8492 },
- { 0x48A7, 9446 },
- { 0x48A8, 9471 },
- { 0x48A9, 9481 },
- { 0x48AA, 9591 },
- { 0x48AB, 9486 },
- { 0x48AC, 9626 },
- { 0x48AD, 9606 },
- { 0x48AE, 9491 },
- { 0x48AF, 9596 },
- { 0x48B0, 9451 },
- { 0x48B1, 9666 },
- { 0x48B2, 9496 },
- { 0x48B3, 9501 },
- { 0x48B4, 9506 },
- { 0x48B5, 9611 },
- { 0x48B6, 9511 },
- { 0x48B7, 9456 },
- { 0x48B8, 9571 },
- { 0x48B9, 9516 },
- { 0x48BA, 9521 },
- { 0x48BB, 9476 },
- { 0x48BC, 9661 },
- { 0x48BD, 9526 },
- { 0x48BE, 9616 },
- { 0x48BF, 9531 },
- { 0x48C0, 9536 },
- { 0x48C1, 9636 },
- { 0x48C2, 9461 },
- { 0x48C3, 9576 },
- { 0x48C4, 9696 },
- { 0x48C5, 9678 },
- { 0x48C6, 9656 },
- { 0x48C7, 9541 },
- { 0x48C8, 9621 },
- { 0x48C9, 9546 },
- { 0x48CA, 9672 },
- { 0x48CB, 9551 },
- { 0x48CC, 9641 },
- { 0x48CD, 9556 },
- { 0x48CE, 9631 },
- { 0x48CF, 9646 },
- { 0x48D0, 9601 },
- { 0x48D1, 9466 },
- { 0x48D2, 9586 },
- { 0x48D3, 9702 },
- { 0x48D4, 9684 },
- { 0x48D5, 9561 },
- { 0x48D6, 9566 },
- { 0x48D7, 9651 },
- { 0x48D8, 9690 },
- { 0x48D9, 9581 },
- { 0x48DA, 9158 },
- { 0x48DB, 9183 },
- { 0x48DC, 9193 },
- { 0x48DD, 9303 },
- { 0x48DE, 9198 },
- { 0x48DF, 9338 },
- { 0x48E0, 9318 },
- { 0x48E1, 9203 },
- { 0x48E2, 9308 },
- { 0x48E3, 9163 },
- { 0x48E4, 9378 },
- { 0x48E5, 9208 },
- { 0x48E6, 9213 },
- { 0x48E7, 9218 },
- { 0x48E8, 9323 },
- { 0x48E9, 9223 },
- { 0x48EA, 9168 },
- { 0x48EB, 9283 },
- { 0x48EC, 9228 },
- { 0x48ED, 9233 },
- { 0x48EE, 9188 },
- { 0x48EF, 9373 },
- { 0x48F0, 9238 },
- { 0x48F1, 9328 },
- { 0x48F2, 9243 },
- { 0x48F3, 9248 },
- { 0x48F4, 9348 },
- { 0x48F5, 9173 },
- { 0x48F6, 9288 },
- { 0x48F7, 9408 },
- { 0x48F8, 9390 },
- { 0x48F9, 9368 },
- { 0x48FA, 9253 },
- { 0x48FB, 9333 },
- { 0x48FC, 9258 },
- { 0x48FD, 9384 },
- { 0x48FE, 9263 },
- { 0x48FF, 9353 },
- { 0x4900, 9268 },
- { 0x4901, 9343 },
- { 0x4902, 9358 },
- { 0x4903, 9313 },
- { 0x4904, 9178 },
- { 0x4905, 9298 },
- { 0x4906, 9414 },
- { 0x4907, 9396 },
- { 0x4908, 9273 },
- { 0x4909, 9278 },
- { 0x490A, 9363 },
- { 0x490B, 9402 },
- { 0x490C, 9293 },
- { 0x490D, 9420 },
- { 0x490E, 9438 },
- { 0x490F, 9434 },
- { 0x4910, 9442 },
- { 0x4911, 9424 },
- { 0x4912, 9429 },
- { 0x4913, 53694 },
- { 0x4914, 53698 },
- { 0x4915, 53742 },
- { 0x4916, 53754 },
- { 0x4917, 53798 },
- { 0x4918, 53722 },
- { 0x4919, 53702 },
- { 0x491A, 53718 },
- { 0x491B, 53778 },
- { 0x491C, 53710 },
- { 0x491D, 53706 },
- { 0x491E, 53774 },
- { 0x491F, 53746 },
- { 0x4920, 53790 },
- { 0x4921, 53770 },
- { 0x4922, 53750 },
- { 0x4923, 53794 },
- { 0x4924, 53726 },
- { 0x4925, 53714 },
- { 0x4926, 53730 },
- { 0x4927, 53734 },
- { 0x4928, 53738 },
- { 0x4929, 53762 },
- { 0x492A, 53802 },
- { 0x492B, 53766 },
- { 0x492C, 53807 },
- { 0x492D, 53782 },
- { 0x492E, 53786 },
- { 0x492F, 53758 },
- { 0x4930, 53674 },
- { 0x4931, 53682 },
- { 0x4932, 53690 },
- { 0x4933, 53678 },
- { 0x4934, 53686 },
- { 0x4935, 53614 },
- { 0x4936, 53609 },
- { 0x4937, 53630 },
- { 0x4938, 53626 },
- { 0x4939, 53618 },
- { 0x493A, 53622 },
- { 0x493B, 53658 },
- { 0x493C, 53634 },
- { 0x493D, 53642 },
- { 0x493E, 53670 },
- { 0x493F, 53650 },
- { 0x4940, 53646 },
- { 0x4941, 53638 },
- { 0x4942, 53666 },
- { 0x4943, 53662 },
- { 0x4944, 53654 },
- { 0x4945, 16056 },
- { 0x4946, 16062 },
- { 0x4947, 16080 },
- { 0x4948, 16068 },
- { 0x4949, 16065 },
- { 0x494A, 16059 },
- { 0x494B, 16077 },
- { 0x494C, 16074 },
- { 0x494D, 16071 },
- { 0x494E, 16091 },
- { 0x494F, 16140 },
- { 0x4950, 16137 },
- { 0x4951, 16117 },
- { 0x4952, 16114 },
- { 0x4953, 16124 },
- { 0x4954, 16143 },
- { 0x4955, 16131 },
- { 0x4956, 16134 },
- { 0x4957, 16083 },
- { 0x4958, 16094 },
- { 0x4959, 16127 },
- { 0x495A, 16102 },
- { 0x495B, 16098 },
- { 0x495C, 16087 },
- { 0x495D, 16120 },
- { 0x495E, 16110 },
- { 0x495F, 16106 },
- { 0x4960, 16146 },
- { 0x4961, 16154 },
- { 0x4962, 16150 },
- { 0x4963, 16158 },
- { 0x4964, 66499 },
- { 0x4965, 66374 },
- { 0x4966, 66392 },
- { 0x4967, 66463 },
- { 0x4968, 66478 },
- { 0x4969, 66398 },
- { 0x496A, 66424 },
- { 0x496B, 66496 },
- { 0x496C, 66508 },
- { 0x496D, 66442 },
- { 0x496E, 66415 },
- { 0x496F, 66430 },
- { 0x4970, 66493 },
- { 0x4971, 66395 },
- { 0x4972, 66469 },
- { 0x4973, 66418 },
- { 0x4974, 66386 },
- { 0x4975, 66475 },
- { 0x4976, 66505 },
- { 0x4977, 66472 },
- { 0x4978, 66427 },
- { 0x4979, 66401 },
- { 0x497A, 66421 },
- { 0x497B, 66433 },
- { 0x497C, 66511 },
- { 0x497D, 66383 },
- { 0x497E, 66407 },
- { 0x497F, 66410 },
- { 0x4980, 66466 },
- { 0x4981, 66445 },
- { 0x4982, 66502 },
- { 0x4983, 66436 },
- { 0x4984, 66448 },
- { 0x4985, 66457 },
- { 0x4986, 66460 },
- { 0x4987, 66404 },
- { 0x4988, 66481 },
- { 0x4989, 66389 },
- { 0x498A, 66380 },
- { 0x498B, 66439 },
- { 0x498C, 66484 },
- { 0x498D, 66377 },
- { 0x498E, 66514 },
- { 0x498F, 66518 },
- { 0x4990, 66522 },
- { 0x4991, 66451 },
- { 0x4992, 66487 },
- { 0x4993, 41772 },
- { 0x4994, 41762 },
- { 0x4995, 41767 },
- { 0x4996, 9022 },
- { 0x4997, 9062 },
- { 0x4998, 9002 },
- { 0x4999, 9057 },
- { 0x499A, 9080 },
- { 0x499B, 8974 },
- { 0x499C, 9026 },
- { 0x499D, 8994 },
- { 0x499E, 9088 },
- { 0x499F, 9006 },
- { 0x49A0, 9018 },
- { 0x49A1, 9010 },
- { 0x49A2, 9092 },
- { 0x49A3, 8982 },
- { 0x49A4, 8986 },
- { 0x49A5, 9031 },
- { 0x49A6, 9036 },
- { 0x49A7, 9096 },
- { 0x49A8, 8998 },
- { 0x49A9, 9100 },
- { 0x49AA, 8978 },
- { 0x49AB, 9084 },
- { 0x49AC, 9067 },
- { 0x49AD, 9072 },
- { 0x49AE, 9105 },
- { 0x49AF, 9014 },
- { 0x49B0, 8990 },
- { 0x49B1, 9044 },
- { 0x49B2, 9049 },
- { 0x49B3, 9109 },
- { 0x49B4, 9122 },
- { 0x49B5, 9134 },
- { 0x49B6, 9130 },
- { 0x49B7, 9126 },
- { 0x49B8, 9118 },
- { 0x49B9, 9142 },
- { 0x49BA, 9138 },
- { 0x49BB, 9113 },
- { 0x49BC, 9146 },
- { 0x49BD, 9151 },
- { 0x49BE, 76794 },
- { 0x49BF, 76773 },
- { 0x49C0, 76797 },
- { 0x49C1, 76752 },
- { 0x49C2, 76767 },
- { 0x49C3, 76803 },
- { 0x49C4, 76779 },
- { 0x49C5, 76791 },
- { 0x49C6, 76782 },
- { 0x49C7, 76806 },
- { 0x49C8, 76758 },
- { 0x49C9, 76761 },
- { 0x49CA, 76809 },
- { 0x49CB, 76770 },
- { 0x49CC, 76755 },
- { 0x49CD, 76800 },
- { 0x49CE, 76812 },
- { 0x49CF, 76788 },
- { 0x49D0, 76764 },
- { 0x49D1, 76776 },
- { 0x49D2, 76785 },
- { 0x49D3, 76875 },
- { 0x49D4, 76832 },
- { 0x49D5, 76841 },
- { 0x49D6, 76828 },
- { 0x49D7, 76836 },
- { 0x49D8, 76863 },
- { 0x49D9, 76867 },
- { 0x49DA, 76846 },
- { 0x49DB, 76850 },
- { 0x49DC, 76854 },
- { 0x49DD, 76859 },
- { 0x49DE, 76871 },
- { 0x49DF, 76815 },
- { 0x49E0, 76822 },
- { 0x49E1, 76825 },
- { 0x49E2, 76818 },
- { 0x49E3, 76884 },
- { 0x49E4, 76889 },
- { 0x49E5, 76902 },
- { 0x49E6, 76878 },
- { 0x49E7, 76896 },
- { 0x49E8, 8696 },
- { 0x49E9, 8672 },
- { 0x49EA, 8721 },
- { 0x49EB, 8668 },
- { 0x49EC, 8709 },
- { 0x49ED, 8700 },
- { 0x49EE, 8692 },
- { 0x49EF, 8676 },
- { 0x49F0, 8713 },
- { 0x49F1, 8656 },
- { 0x49F2, 8660 },
- { 0x49F3, 8717 },
- { 0x49F4, 8652 },
- { 0x49F5, 8705 },
- { 0x49F6, 8684 },
- { 0x49F7, 8688 },
- { 0x49F8, 8664 },
- { 0x49F9, 8680 },
- { 0x49FA, 8725 },
- { 0x49FB, 8730 },
- { 0x49FC, 8735 },
- { 0x49FD, 8741 },
- { 0x49FE, 8747 },
- { 0x49FF, 8751 },
- { 0x4A00, 8756 },
- { 0x4A01, 8761 },
- { 0x4A02, 117634 },
- { 0x4A03, 117640 },
- { 0x4A04, 117616 },
- { 0x4A05, 117637 },
- { 0x4A06, 117651 },
- { 0x4A07, 117595 },
- { 0x4A08, 117610 },
- { 0x4A09, 117647 },
- { 0x4A0A, 117644 },
- { 0x4A0B, 117619 },
- { 0x4A0C, 117631 },
- { 0x4A0D, 117622 },
- { 0x4A0E, 117654 },
- { 0x4A0F, 117601 },
- { 0x4A10, 117604 },
- { 0x4A11, 117657 },
- { 0x4A12, 117613 },
- { 0x4A13, 117598 },
- { 0x4A14, 117625 },
- { 0x4A15, 117628 },
- { 0x4A16, 117607 },
- { 0x4A17, 117660 },
- { 0x4A18, 117670 },
- { 0x4A19, 117676 },
- { 0x4A1A, 117673 },
- { 0x4A1B, 117667 },
- { 0x4A1C, 117679 },
- { 0x4A1D, 117663 },
- { 0x4A1E, 69880 },
- { 0x4A1F, 69856 },
- { 0x4A20, 69883 },
- { 0x4A21, 69892 },
- { 0x4A22, 69835 },
- { 0x4A23, 69850 },
- { 0x4A24, 69889 },
- { 0x4A25, 69859 },
- { 0x4A26, 69874 },
- { 0x4A27, 69877 },
- { 0x4A28, 69862 },
- { 0x4A29, 69895 },
- { 0x4A2A, 69841 },
- { 0x4A2B, 69844 },
- { 0x4A2C, 69898 },
- { 0x4A2D, 69853 },
- { 0x4A2E, 69838 },
- { 0x4A2F, 69886 },
- { 0x4A30, 69865 },
- { 0x4A31, 69868 },
- { 0x4A32, 69871 },
- { 0x4A33, 69847 },
- { 0x4A34, 69901 },
- { 0x4A35, 49731 },
- { 0x4A36, 49728 },
- { 0x4A37, 49725 },
- { 0x4A38, 49734 },
- { 0x4A39, 49737 },
- { 0x4A3A, 49850 },
- { 0x4A3B, 49865 },
- { 0x4A3C, 49856 },
- { 0x4A3D, 49889 },
- { 0x4A3E, 49862 },
- { 0x4A3F, 49919 },
- { 0x4A40, 50018 },
- { 0x4A41, 50026 },
- { 0x4A42, 50014 },
- { 0x4A43, 50022 },
- { 0x4A44, 49853 },
- { 0x4A45, 49868 },
- { 0x4A46, 49859 },
- { 0x4A47, 49871 },
- { 0x4A48, 49895 },
- { 0x4A49, 49946 },
- { 0x4A4A, 49883 },
- { 0x4A4B, 49940 },
- { 0x4A4C, 49952 },
- { 0x4A4D, 49877 },
- { 0x4A4E, 49931 },
- { 0x4A4F, 49892 },
- { 0x4A50, 49943 },
- { 0x4A51, 49958 },
- { 0x4A52, 50005 },
- { 0x4A53, 50011 },
- { 0x4A54, 49934 },
- { 0x4A55, 50008 },
- { 0x4A56, 49955 },
- { 0x4A57, 49916 },
- { 0x4A58, 50002 },
- { 0x4A59, 49880 },
- { 0x4A5A, 49937 },
- { 0x4A5B, 49904 },
- { 0x4A5C, 49907 },
- { 0x4A5D, 49993 },
- { 0x4A5E, 49874 },
- { 0x4A5F, 49928 },
- { 0x4A60, 49901 },
- { 0x4A61, 49925 },
- { 0x4A62, 49910 },
- { 0x4A63, 49898 },
- { 0x4A64, 49922 },
- { 0x4A65, 49996 },
- { 0x4A66, 49999 },
- { 0x4A67, 49913 },
- { 0x4A68, 49886 },
- { 0x4A69, 49949 },
- { 0x4A6A, 49971 },
- { 0x4A6B, 49966 },
- { 0x4A6C, 49976 },
- { 0x4A6D, 49788 },
- { 0x4A6E, 49842 },
- { 0x4A6F, 49776 },
- { 0x4A70, 49800 },
- { 0x4A71, 49784 },
- { 0x4A72, 49804 },
- { 0x4A73, 49827 },
- { 0x4A74, 49837 },
- { 0x4A75, 49822 },
- { 0x4A76, 49832 },
- { 0x4A77, 49772 },
- { 0x4A78, 49792 },
- { 0x4A79, 49780 },
- { 0x4A7A, 49796 },
- { 0x4A7B, 50095 },
- { 0x4A7C, 49740 },
- { 0x4A7D, 49847 },
- { 0x4A7E, 50097 },
- { 0x4A7F, 50106 },
- { 0x4A80, 50100 },
- { 0x4A81, 50110 },
- { 0x4A82, 50103 },
- { 0x4A83, 50030 },
- { 0x4A84, 50047 },
- { 0x4A85, 50074 },
- { 0x4A86, 50053 },
- { 0x4A87, 50050 },
- { 0x4A88, 50041 },
- { 0x4A89, 50068 },
- { 0x4A8A, 50059 },
- { 0x4A8B, 50056 },
- { 0x4A8C, 50044 },
- { 0x4A8D, 50089 },
- { 0x4A8E, 50086 },
- { 0x4A8F, 50065 },
- { 0x4A90, 50062 },
- { 0x4A91, 50071 },
- { 0x4A92, 50092 },
- { 0x4A93, 50077 },
- { 0x4A94, 50083 },
- { 0x4A95, 50033 },
- { 0x4A96, 50037 },
- { 0x4A97, 49760 },
- { 0x4A98, 49742 },
- { 0x4A99, 49748 },
- { 0x4A9A, 49769 },
- { 0x4A9B, 49754 },
- { 0x4A9C, 49751 },
- { 0x4A9D, 49745 },
- { 0x4A9E, 49766 },
- { 0x4A9F, 49763 },
- { 0x4AA0, 49757 },
- { 0x4AA1, 49720 },
- { 0x4AA2, 49981 },
- { 0x4AA3, 49987 },
- { 0x4AA4, 49808 },
- { 0x4AA5, 49815 },
- { 0x4AA6, 49961 },
- { 0x4AA7, 50080 },
- { 0x4AA8, 54468 },
- { 0x4AA9, 54465 },
- { 0x4AAA, 54462 },
- { 0x4AAB, 54521 },
- { 0x4AAC, 54536 },
- { 0x4AAD, 54527 },
- { 0x4AAE, 54560 },
- { 0x4AAF, 54533 },
- { 0x4AB0, 54590 },
- { 0x4AB1, 54524 },
- { 0x4AB2, 54539 },
- { 0x4AB3, 54530 },
- { 0x4AB4, 54542 },
- { 0x4AB5, 54566 },
- { 0x4AB6, 54617 },
- { 0x4AB7, 54554 },
- { 0x4AB8, 54611 },
- { 0x4AB9, 54620 },
- { 0x4ABA, 54548 },
- { 0x4ABB, 54602 },
- { 0x4ABC, 54563 },
- { 0x4ABD, 54614 },
- { 0x4ABE, 54626 },
- { 0x4ABF, 54644 },
- { 0x4AC0, 54650 },
- { 0x4AC1, 54605 },
- { 0x4AC2, 54653 },
- { 0x4AC3, 54647 },
- { 0x4AC4, 54632 },
- { 0x4AC5, 54623 },
- { 0x4AC6, 54587 },
- { 0x4AC7, 54641 },
- { 0x4AC8, 54551 },
- { 0x4AC9, 54608 },
- { 0x4ACA, 54575 },
- { 0x4ACB, 54578 },
- { 0x4ACC, 54629 },
- { 0x4ACD, 54545 },
- { 0x4ACE, 54599 },
- { 0x4ACF, 54572 },
- { 0x4AD0, 54596 },
- { 0x4AD1, 54581 },
- { 0x4AD2, 54569 },
- { 0x4AD3, 54593 },
- { 0x4AD4, 54635 },
- { 0x4AD5, 54638 },
- { 0x4AD6, 54584 },
- { 0x4AD7, 54557 },
- { 0x4AD8, 54489 },
- { 0x4AD9, 54477 },
- { 0x4ADA, 54501 },
- { 0x4ADB, 54485 },
- { 0x4ADC, 54505 },
- { 0x4ADD, 54473 },
- { 0x4ADE, 54493 },
- { 0x4ADF, 54481 },
- { 0x4AE0, 54497 },
- { 0x4AE1, 54459 },
- { 0x4AE2, 54456 },
- { 0x4AE3, 54669 },
- { 0x4AE4, 54666 },
- { 0x4AE5, 54656 },
- { 0x4AE6, 54663 },
- { 0x4AE7, 54517 },
- { 0x4AE8, 54471 },
- { 0x4AE9, 54514 },
- { 0x4AEA, 54509 },
- { 0x4AEB, 54659 },
- { 0x4AEC, 16314 },
- { 0x4AED, 16318 },
- { 0x4AEE, 16258 },
- { 0x4AEF, 16262 },
- { 0x4AF0, 16266 },
- { 0x4AF1, 16274 },
- { 0x4AF2, 16298 },
- { 0x4AF3, 16330 },
- { 0x4AF4, 16290 },
- { 0x4AF5, 16302 },
- { 0x4AF6, 16322 },
- { 0x4AF7, 16306 },
- { 0x4AF8, 16326 },
- { 0x4AF9, 16310 },
- { 0x4AFA, 16278 },
- { 0x4AFB, 16286 },
- { 0x4AFC, 16282 },
- { 0x4AFD, 16334 },
- { 0x4AFE, 16238 },
- { 0x4AFF, 16270 },
- { 0x4B00, 16246 },
- { 0x4B01, 16254 },
- { 0x4B02, 16250 },
- { 0x4B03, 16242 },
- { 0x4B04, 16294 },
- { 0x4B05, 16222 },
- { 0x4B06, 16198 },
- { 0x4B07, 16206 },
- { 0x4B08, 16234 },
- { 0x4B09, 16214 },
- { 0x4B0A, 16210 },
- { 0x4B0B, 16202 },
- { 0x4B0C, 16230 },
- { 0x4B0D, 16226 },
- { 0x4B0E, 16218 },
- { 0x4B0F, 50312 },
- { 0x4B10, 50309 },
- { 0x4B11, 50306 },
- { 0x4B12, 50407 },
- { 0x4B13, 50401 },
- { 0x4B14, 50404 },
- { 0x4B15, 50398 },
- { 0x4B16, 50428 },
- { 0x4B17, 50479 },
- { 0x4B18, 50419 },
- { 0x4B19, 50473 },
- { 0x4B1A, 50485 },
- { 0x4B1B, 50413 },
- { 0x4B1C, 50464 },
- { 0x4B1D, 50425 },
- { 0x4B1E, 50476 },
- { 0x4B1F, 50491 },
- { 0x4B20, 50500 },
- { 0x4B21, 50509 },
- { 0x4B22, 50467 },
- { 0x4B23, 50506 },
- { 0x4B24, 50488 },
- { 0x4B25, 50449 },
- { 0x4B26, 50497 },
- { 0x4B27, 50416 },
- { 0x4B28, 50470 },
- { 0x4B29, 50437 },
- { 0x4B2A, 50440 },
- { 0x4B2B, 50494 },
- { 0x4B2C, 50410 },
- { 0x4B2D, 50461 },
- { 0x4B2E, 50434 },
- { 0x4B2F, 50503 },
- { 0x4B30, 50458 },
- { 0x4B31, 50443 },
- { 0x4B32, 50431 },
- { 0x4B33, 50455 },
- { 0x4B34, 50446 },
- { 0x4B35, 50422 },
- { 0x4B36, 50347 },
- { 0x4B37, 50355 },
- { 0x4B38, 50383 },
- { 0x4B39, 50363 },
- { 0x4B3A, 50391 },
- { 0x4B3B, 50351 },
- { 0x4B3C, 50371 },
- { 0x4B3D, 50359 },
- { 0x4B3E, 50375 },
- { 0x4B3F, 50387 },
- { 0x4B40, 50300 },
- { 0x4B41, 50303 },
- { 0x4B42, 50512 },
- { 0x4B43, 50514 },
- { 0x4B44, 50335 },
- { 0x4B45, 50317 },
- { 0x4B46, 50323 },
- { 0x4B47, 50344 },
- { 0x4B48, 50329 },
- { 0x4B49, 50326 },
- { 0x4B4A, 50320 },
- { 0x4B4B, 50341 },
- { 0x4B4C, 50338 },
- { 0x4B4D, 50332 },
- { 0x4B4E, 50516 },
- { 0x4B4F, 50315 },
- { 0x4B50, 50395 },
- { 0x4B51, 50519 },
- { 0x4B52, 50482 },
- { 0x4B53, 50367 },
- { 0x4B54, 50379 },
- { 0x4B55, 50452 },
- { 0x4B56, 94807 },
- { 0x4B57, 94813 },
- { 0x4B58, 94819 },
- { 0x4B59, 94810 },
- { 0x4B5A, 94816 },
- { 0x4B5B, 94840 },
- { 0x4B5C, 94885 },
- { 0x4B5D, 94831 },
- { 0x4B5E, 94879 },
- { 0x4B5F, 94825 },
- { 0x4B60, 94870 },
- { 0x4B61, 94837 },
- { 0x4B62, 94882 },
- { 0x4B63, 94891 },
- { 0x4B64, 94903 },
- { 0x4B65, 94909 },
- { 0x4B66, 94873 },
- { 0x4B67, 94906 },
- { 0x4B68, 94888 },
- { 0x4B69, 94861 },
- { 0x4B6A, 94900 },
- { 0x4B6B, 94828 },
- { 0x4B6C, 94876 },
- { 0x4B6D, 94849 },
- { 0x4B6E, 94852 },
- { 0x4B6F, 94894 },
- { 0x4B70, 94822 },
- { 0x4B71, 94867 },
- { 0x4B72, 94846 },
- { 0x4B73, 94855 },
- { 0x4B74, 94843 },
- { 0x4B75, 94864 },
- { 0x4B76, 94858 },
- { 0x4B77, 94834 },
- { 0x4B78, 94897 },
- { 0x4B79, 94804 },
- { 0x4B7A, 94918 },
- { 0x4B7B, 94912 },
- { 0x4B7C, 94915 },
- { 0x4B7D, 75353 },
- { 0x4B7E, 75343 },
- { 0x4B7F, 75340 },
- { 0x4B80, 75470 },
- { 0x4B81, 75485 },
- { 0x4B82, 75476 },
- { 0x4B83, 75509 },
- { 0x4B84, 75482 },
- { 0x4B85, 75539 },
- { 0x4B86, 75606 },
- { 0x4B87, 75614 },
- { 0x4B88, 75602 },
- { 0x4B89, 75610 },
- { 0x4B8A, 75473 },
- { 0x4B8B, 75488 },
- { 0x4B8C, 75479 },
- { 0x4B8D, 75491 },
- { 0x4B8E, 75515 },
- { 0x4B8F, 75566 },
- { 0x4B90, 75503 },
- { 0x4B91, 75560 },
- { 0x4B92, 75572 },
- { 0x4B93, 75497 },
- { 0x4B94, 75551 },
- { 0x4B95, 75512 },
- { 0x4B96, 75563 },
- { 0x4B97, 75578 },
- { 0x4B98, 75593 },
- { 0x4B99, 75599 },
- { 0x4B9A, 75554 },
- { 0x4B9B, 75596 },
- { 0x4B9C, 75575 },
- { 0x4B9D, 75536 },
- { 0x4B9E, 75590 },
- { 0x4B9F, 75500 },
- { 0x4BA0, 75557 },
- { 0x4BA1, 75524 },
- { 0x4BA2, 75527 },
- { 0x4BA3, 75581 },
- { 0x4BA4, 75494 },
- { 0x4BA5, 75548 },
- { 0x4BA6, 75521 },
- { 0x4BA7, 75545 },
- { 0x4BA8, 75530 },
- { 0x4BA9, 75518 },
- { 0x4BAA, 75569 },
- { 0x4BAB, 75542 },
- { 0x4BAC, 75584 },
- { 0x4BAD, 75587 },
- { 0x4BAE, 75533 },
- { 0x4BAF, 75506 },
- { 0x4BB0, 75418 },
- { 0x4BB1, 75406 },
- { 0x4BB2, 75430 },
- { 0x4BB3, 75414 },
- { 0x4BB4, 75434 },
- { 0x4BB5, 75443 },
- { 0x4BB6, 75453 },
- { 0x4BB7, 75438 },
- { 0x4BB8, 75448 },
- { 0x4BB9, 75402 },
- { 0x4BBA, 75422 },
- { 0x4BBB, 75410 },
- { 0x4BBC, 75426 },
- { 0x4BBD, 75334 },
- { 0x4BBE, 75346 },
- { 0x4BBF, 75356 },
- { 0x4BC0, 75359 },
- { 0x4BC1, 75327 },
- { 0x4BC2, 75362 },
- { 0x4BC3, 75467 },
- { 0x4BC4, 75631 },
- { 0x4BC5, 75627 },
- { 0x4BC6, 75618 },
- { 0x4BC7, 75331 },
- { 0x4BC8, 75463 },
- { 0x4BC9, 75394 },
- { 0x4BCA, 75399 },
- { 0x4BCB, 75458 },
- { 0x4BCC, 75349 },
- { 0x4BCD, 75382 },
- { 0x4BCE, 75364 },
- { 0x4BCF, 75370 },
- { 0x4BD0, 75391 },
- { 0x4BD1, 75376 },
- { 0x4BD2, 75373 },
- { 0x4BD3, 75367 },
- { 0x4BD4, 75388 },
- { 0x4BD5, 75385 },
- { 0x4BD6, 75379 },
- { 0x4BD7, 75329 },
- { 0x4BD8, 75337 },
- { 0x4BD9, 75629 },
- { 0x4BDA, 75634 },
- { 0x4BDB, 75621 },
- { 0x4BDC, 75624 },
- { 0x4BDD, 76523 },
- { 0x4BDE, 76531 },
- { 0x4BDF, 76555 },
- { 0x4BE0, 76539 },
- { 0x4BE1, 76535 },
- { 0x4BE2, 76527 },
- { 0x4BE3, 76551 },
- { 0x4BE4, 76547 },
- { 0x4BE5, 76543 },
- { 0x4BE6, 76569 },
- { 0x4BE7, 76597 },
- { 0x4BE8, 76593 },
- { 0x4BE9, 76577 },
- { 0x4BEA, 76573 },
- { 0x4BEB, 76581 },
- { 0x4BEC, 76601 },
- { 0x4BED, 76585 },
- { 0x4BEE, 76589 },
- { 0x4BEF, 76559 },
- { 0x4BF0, 76564 },
- { 0x4BF1, 57289 },
- { 0x4BF2, 57304 },
- { 0x4BF3, 57295 },
- { 0x4BF4, 57301 },
- { 0x4BF5, 57292 },
- { 0x4BF6, 57307 },
- { 0x4BF7, 57298 },
- { 0x4BF8, 57310 },
- { 0x4BF9, 57331 },
- { 0x4BFA, 57388 },
- { 0x4BFB, 57322 },
- { 0x4BFC, 57379 },
- { 0x4BFD, 57382 },
- { 0x4BFE, 57394 },
- { 0x4BFF, 57316 },
- { 0x4C00, 57370 },
- { 0x4C01, 57328 },
- { 0x4C02, 57385 },
- { 0x4C03, 57400 },
- { 0x4C04, 57409 },
- { 0x4C05, 57418 },
- { 0x4C06, 57373 },
- { 0x4C07, 57415 },
- { 0x4C08, 57397 },
- { 0x4C09, 57355 },
- { 0x4C0A, 57406 },
- { 0x4C0B, 57319 },
- { 0x4C0C, 57412 },
- { 0x4C0D, 57376 },
- { 0x4C0E, 57340 },
- { 0x4C0F, 57343 },
- { 0x4C10, 57403 },
- { 0x4C11, 57313 },
- { 0x4C12, 57364 },
- { 0x4C13, 57367 },
- { 0x4C14, 57337 },
- { 0x4C15, 57361 },
- { 0x4C16, 57349 },
- { 0x4C17, 57334 },
- { 0x4C18, 57358 },
- { 0x4C19, 57352 },
- { 0x4C1A, 57325 },
- { 0x4C1B, 57391 },
- { 0x4C1C, 57261 },
- { 0x4C1D, 57249 },
- { 0x4C1E, 57273 },
- { 0x4C1F, 57257 },
- { 0x4C20, 57245 },
- { 0x4C21, 57265 },
- { 0x4C22, 57253 },
- { 0x4C23, 57269 },
- { 0x4C24, 57237 },
- { 0x4C25, 57234 },
- { 0x4C26, 57225 },
- { 0x4C27, 57231 },
- { 0x4C28, 57243 },
- { 0x4C29, 57282 },
- { 0x4C2A, 57240 },
- { 0x4C2B, 57425 },
- { 0x4C2C, 57285 },
- { 0x4C2D, 57428 },
- { 0x4C2E, 57228 },
- { 0x4C2F, 57346 },
- { 0x4C30, 57421 },
- { 0x4C31, 57277 },
- { 0x4C32, 71884 },
- { 0x4C33, 71890 },
- { 0x4C34, 71893 },
- { 0x4C35, 71887 },
- { 0x4C36, 71914 },
- { 0x4C37, 71962 },
- { 0x4C38, 71905 },
- { 0x4C39, 71956 },
- { 0x4C3A, 71899 },
- { 0x4C3B, 71947 },
- { 0x4C3C, 71911 },
- { 0x4C3D, 71959 },
- { 0x4C3E, 71968 },
- { 0x4C3F, 71983 },
- { 0x4C40, 71992 },
- { 0x4C41, 71950 },
- { 0x4C42, 71986 },
- { 0x4C43, 71989 },
- { 0x4C44, 71965 },
- { 0x4C45, 71935 },
- { 0x4C46, 71980 },
- { 0x4C47, 71902 },
- { 0x4C48, 71953 },
- { 0x4C49, 71923 },
- { 0x4C4A, 71926 },
- { 0x4C4B, 71971 },
- { 0x4C4C, 71896 },
- { 0x4C4D, 71944 },
- { 0x4C4E, 71920 },
- { 0x4C4F, 71941 },
- { 0x4C50, 71929 },
- { 0x4C51, 71917 },
- { 0x4C52, 71938 },
- { 0x4C53, 71932 },
- { 0x4C54, 71908 },
- { 0x4C55, 71977 },
- { 0x4C56, 71974 },
- { 0x4C57, 71995 },
- { 0x4C58, 113602 },
- { 0x4C59, 113617 },
- { 0x4C5A, 113608 },
- { 0x4C5B, 113641 },
- { 0x4C5C, 113614 },
- { 0x4C5D, 113671 },
- { 0x4C5E, 113605 },
- { 0x4C5F, 113620 },
- { 0x4C60, 113611 },
- { 0x4C61, 113623 },
- { 0x4C62, 113647 },
- { 0x4C63, 113707 },
- { 0x4C64, 113635 },
- { 0x4C65, 113695 },
- { 0x4C66, 113698 },
- { 0x4C67, 113710 },
- { 0x4C68, 113629 },
- { 0x4C69, 113686 },
- { 0x4C6A, 113644 },
- { 0x4C6B, 113704 },
- { 0x4C6C, 113701 },
- { 0x4C6D, 113716 },
- { 0x4C6E, 113731 },
- { 0x4C6F, 113740 },
- { 0x4C70, 113689 },
- { 0x4C71, 113734 },
- { 0x4C72, 113722 },
- { 0x4C73, 113737 },
- { 0x4C74, 113713 },
- { 0x4C75, 113668 },
- { 0x4C76, 113728 },
- { 0x4C77, 113632 },
- { 0x4C78, 113692 },
- { 0x4C79, 113656 },
- { 0x4C7A, 113659 },
- { 0x4C7B, 113719 },
- { 0x4C7C, 113626 },
- { 0x4C7D, 113680 },
- { 0x4C7E, 113683 },
- { 0x4C7F, 113653 },
- { 0x4C80, 113677 },
- { 0x4C81, 113662 },
- { 0x4C82, 113650 },
- { 0x4C83, 113674 },
- { 0x4C84, 113725 },
- { 0x4C85, 113665 },
- { 0x4C86, 113638 },
- { 0x4C87, 113533 },
- { 0x4C88, 113582 },
- { 0x4C89, 113570 },
- { 0x4C8A, 113594 },
- { 0x4C8B, 113578 },
- { 0x4C8C, 113598 },
- { 0x4C8D, 113566 },
- { 0x4C8E, 113586 },
- { 0x4C8F, 113574 },
- { 0x4C90, 113590 },
- { 0x4C91, 113527 },
- { 0x4C92, 113530 },
- { 0x4C93, 113554 },
- { 0x4C94, 113536 },
- { 0x4C95, 113542 },
- { 0x4C96, 113563 },
- { 0x4C97, 113548 },
- { 0x4C98, 113545 },
- { 0x4C99, 113539 },
- { 0x4C9A, 113560 },
- { 0x4C9B, 113557 },
- { 0x4C9C, 113551 },
- { 0x4C9D, 69973 },
- { 0x4C9E, 69978 },
- { 0x4C9F, 69967 },
- { 0x4CA0, 69964 },
- { 0x4CA1, 70037 },
- { 0x4CA2, 70046 },
- { 0x4CA3, 70040 },
- { 0x4CA4, 70073 },
- { 0x4CA5, 70043 },
- { 0x4CA6, 70106 },
- { 0x4CA7, 70182 },
- { 0x4CA8, 70178 },
- { 0x4CA9, 70064 },
- { 0x4CAA, 70049 },
- { 0x4CAB, 70091 },
- { 0x4CAC, 70052 },
- { 0x4CAD, 70079 },
- { 0x4CAE, 70133 },
- { 0x4CAF, 70067 },
- { 0x4CB0, 70127 },
- { 0x4CB1, 70139 },
- { 0x4CB2, 70058 },
- { 0x4CB3, 70118 },
- { 0x4CB4, 70076 },
- { 0x4CB5, 70130 },
- { 0x4CB6, 70145 },
- { 0x4CB7, 70160 },
- { 0x4CB8, 70166 },
- { 0x4CB9, 70121 },
- { 0x4CBA, 70163 },
- { 0x4CBB, 70142 },
- { 0x4CBC, 70103 },
- { 0x4CBD, 70157 },
- { 0x4CBE, 70061 },
- { 0x4CBF, 70124 },
- { 0x4CC0, 70088 },
- { 0x4CC1, 70094 },
- { 0x4CC2, 70148 },
- { 0x4CC3, 70055 },
- { 0x4CC4, 70115 },
- { 0x4CC5, 70085 },
- { 0x4CC6, 70112 },
- { 0x4CC7, 70097 },
- { 0x4CC8, 70082 },
- { 0x4CC9, 70136 },
- { 0x4CCA, 70109 },
- { 0x4CCB, 70151 },
- { 0x4CCC, 70154 },
- { 0x4CCD, 70100 },
- { 0x4CCE, 70070 },
- { 0x4CCF, 104635 },
- { 0x4CD0, 69955 },
- { 0x4CD1, 69970 },
- { 0x4CD2, 69989 },
- { 0x4CD3, 69981 },
- { 0x4CD4, 70005 },
- { 0x4CD5, 69985 },
- { 0x4CD6, 70013 },
- { 0x4CD7, 70022 },
- { 0x4CD8, 70032 },
- { 0x4CD9, 70001 },
- { 0x4CDA, 69993 },
- { 0x4CDB, 70009 },
- { 0x4CDC, 69997 },
- { 0x4CDD, 69961 },
- { 0x4CDE, 69953 },
- { 0x4CDF, 69949 },
- { 0x4CE0, 69958 },
- { 0x4CE1, 70174 },
- { 0x4CE2, 70169 },
- { 0x4CE3, 70190 },
- { 0x4CE4, 70186 },
- { 0x4CE5, 70017 },
- { 0x4CE6, 70027 },
- { 0x4CE7, 105334 },
- { 0x4CE8, 105314 },
- { 0x4CE9, 105322 },
- { 0x4CEA, 105338 },
- { 0x4CEB, 105330 },
- { 0x4CEC, 105326 },
- { 0x4CED, 105318 },
- { 0x4CEE, 105342 },
- { 0x4CEF, 105346 },
- { 0x4CF0, 105350 },
- { 0x4CF1, 105358 },
- { 0x4CF2, 105354 },
- { 0x4CF3, 15696 },
- { 0x4CF4, 15711 },
- { 0x4CF5, 15702 },
- { 0x4CF6, 15735 },
- { 0x4CF7, 15708 },
- { 0x4CF8, 15765 },
- { 0x4CF9, 15851 },
- { 0x4CFA, 15859 },
- { 0x4CFB, 15847 },
- { 0x4CFC, 15855 },
- { 0x4CFD, 15699 },
- { 0x4CFE, 15714 },
- { 0x4CFF, 15705 },
- { 0x4D00, 15717 },
- { 0x4D01, 15741 },
- { 0x4D02, 15792 },
- { 0x4D03, 15729 },
- { 0x4D04, 15786 },
- { 0x4D05, 15801 },
- { 0x4D06, 15834 },
- { 0x4D07, 15723 },
- { 0x4D08, 15777 },
- { 0x4D09, 15738 },
- { 0x4D0A, 15789 },
- { 0x4D0B, 15810 },
- { 0x4D0C, 15837 },
- { 0x4D0D, 15828 },
- { 0x4D0E, 15840 },
- { 0x4D0F, 15780 },
- { 0x4D10, 15831 },
- { 0x4D11, 15807 },
- { 0x4D12, 15762 },
- { 0x4D13, 15825 },
- { 0x4D14, 15726 },
- { 0x4D15, 15783 },
- { 0x4D16, 15750 },
- { 0x4D17, 15804 },
- { 0x4D18, 15753 },
- { 0x4D19, 15813 },
- { 0x4D1A, 15720 },
- { 0x4D1B, 15774 },
- { 0x4D1C, 15747 },
- { 0x4D1D, 15798 },
- { 0x4D1E, 15771 },
- { 0x4D1F, 15756 },
- { 0x4D20, 15816 },
- { 0x4D21, 15744 },
- { 0x4D22, 15795 },
- { 0x4D23, 15768 },
- { 0x4D24, 15819 },
- { 0x4D25, 15822 },
- { 0x4D26, 15759 },
- { 0x4D27, 15732 },
- { 0x4D28, 15650 },
- { 0x4D29, 15638 },
- { 0x4D2A, 15662 },
- { 0x4D2B, 15646 },
- { 0x4D2C, 15666 },
- { 0x4D2D, 15675 },
- { 0x4D2E, 15685 },
- { 0x4D2F, 15670 },
- { 0x4D30, 15680 },
- { 0x4D31, 15634 },
- { 0x4D32, 15654 },
- { 0x4D33, 15642 },
- { 0x4D34, 15658 },
- { 0x4D35, 15579 },
- { 0x4D36, 15591 },
- { 0x4D37, 15585 },
- { 0x4D38, 15582 },
- { 0x4D39, 15576 },
- { 0x4D3A, 15588 },
- { 0x4D3B, 15572 },
- { 0x4D3C, 15567 },
- { 0x4D3D, 15866 },
- { 0x4D3E, 15602 },
- { 0x4D3F, 15693 },
- { 0x4D40, 15600 },
- { 0x4D41, 15569 },
- { 0x4D42, 15874 },
- { 0x4D43, 15622 },
- { 0x4D44, 15604 },
- { 0x4D45, 15610 },
- { 0x4D46, 15631 },
- { 0x4D47, 15616 },
- { 0x4D48, 15613 },
- { 0x4D49, 15607 },
- { 0x4D4A, 15628 },
- { 0x4D4B, 15625 },
- { 0x4D4C, 15619 },
- { 0x4D4D, 15690 },
- { 0x4D4E, 15871 },
- { 0x4D4F, 15868 },
- { 0x4D50, 15863 },
- { 0x4D51, 15843 },
- { 0x4D52, 15594 },
- { 0x4D53, 15597 },
- { 0x4D54, 78697 },
- { 0x4D55, 78815 },
- { 0x4D56, 78830 },
- { 0x4D57, 78821 },
- { 0x4D58, 78854 },
- { 0x4D59, 78827 },
- { 0x4D5A, 78884 },
- { 0x4D5B, 78948 },
- { 0x4D5C, 78956 },
- { 0x4D5D, 78944 },
- { 0x4D5E, 78952 },
- { 0x4D5F, 78818 },
- { 0x4D60, 78833 },
- { 0x4D61, 78824 },
- { 0x4D62, 78836 },
- { 0x4D63, 78860 },
- { 0x4D64, 78911 },
- { 0x4D65, 78848 },
- { 0x4D66, 78905 },
- { 0x4D67, 78914 },
- { 0x4D68, 78842 },
- { 0x4D69, 78896 },
- { 0x4D6A, 78857 },
- { 0x4D6B, 78908 },
- { 0x4D6C, 78920 },
- { 0x4D6D, 78935 },
- { 0x4D6E, 78941 },
- { 0x4D6F, 78899 },
- { 0x4D70, 78938 },
- { 0x4D71, 78917 },
- { 0x4D72, 78881 },
- { 0x4D73, 78932 },
- { 0x4D74, 78845 },
- { 0x4D75, 78902 },
- { 0x4D76, 78869 },
- { 0x4D77, 78872 },
- { 0x4D78, 78923 },
- { 0x4D79, 78839 },
- { 0x4D7A, 78893 },
- { 0x4D7B, 78866 },
- { 0x4D7C, 78890 },
- { 0x4D7D, 78875 },
- { 0x4D7E, 78863 },
- { 0x4D7F, 78887 },
- { 0x4D80, 78926 },
- { 0x4D81, 78929 },
- { 0x4D82, 78878 },
- { 0x4D83, 78851 },
- { 0x4D84, 78765 },
- { 0x4D85, 78753 },
- { 0x4D86, 78777 },
- { 0x4D87, 78761 },
- { 0x4D88, 78781 },
- { 0x4D89, 78800 },
- { 0x4D8A, 78810 },
- { 0x4D8B, 78795 },
- { 0x4D8C, 78805 },
- { 0x4D8D, 78749 },
- { 0x4D8E, 78785 },
- { 0x4D8F, 78769 },
- { 0x4D90, 78757 },
- { 0x4D91, 78790 },
- { 0x4D92, 78773 },
- { 0x4D93, 78714 },
- { 0x4D94, 78708 },
- { 0x4D95, 78705 },
- { 0x4D96, 78702 },
- { 0x4D97, 78699 },
- { 0x4D98, 78711 },
- { 0x4D99, 78747 },
- { 0x4D9A, 78960 },
- { 0x4D9B, 78695 },
- { 0x4D9C, 78735 },
- { 0x4D9D, 78717 },
- { 0x4D9E, 78723 },
- { 0x4D9F, 78744 },
- { 0x4DA0, 78729 },
- { 0x4DA1, 78726 },
- { 0x4DA2, 78720 },
- { 0x4DA3, 78741 },
- { 0x4DA4, 78738 },
- { 0x4DA5, 78732 },
- { 0x4DA6, 75872 },
- { 0x4DA7, 75887 },
- { 0x4DA8, 75878 },
- { 0x4DA9, 75911 },
- { 0x4DAA, 75884 },
- { 0x4DAB, 75941 },
- { 0x4DAC, 76005 },
- { 0x4DAD, 76013 },
- { 0x4DAE, 76001 },
- { 0x4DAF, 76009 },
- { 0x4DB0, 75875 },
- { 0x4DB1, 75890 },
- { 0x4DB2, 75881 },
- { 0x4DB3, 75893 },
- { 0x4DB4, 75917 },
- { 0x4DB5, 75968 },
- { 0x4DB6, 75905 },
- { 0x4DB7, 75962 },
- { 0x4DB8, 75971 },
- { 0x4DB9, 75899 },
- { 0x4DBA, 75953 },
- { 0x4DBB, 75914 },
- { 0x4DBC, 75965 },
- { 0x4DBD, 75977 },
- { 0x4DBE, 75992 },
- { 0x4DBF, 75998 },
- { 0x4DC0, 75956 },
- { 0x4DC1, 75995 },
- { 0x4DC2, 75974 },
- { 0x4DC3, 75938 },
- { 0x4DC4, 75989 },
- { 0x4DC5, 75902 },
- { 0x4DC6, 75959 },
- { 0x4DC7, 75926 },
- { 0x4DC8, 75929 },
- { 0x4DC9, 75980 },
- { 0x4DCA, 75896 },
- { 0x4DCB, 75950 },
- { 0x4DCC, 75923 },
- { 0x4DCD, 75947 },
- { 0x4DCE, 75932 },
- { 0x4DCF, 75920 },
- { 0x4DD0, 75944 },
- { 0x4DD1, 75983 },
- { 0x4DD2, 75986 },
- { 0x4DD3, 75935 },
- { 0x4DD4, 75908 },
- { 0x4DD5, 75829 },
- { 0x4DD6, 75817 },
- { 0x4DD7, 75841 },
- { 0x4DD8, 75825 },
- { 0x4DD9, 75845 },
- { 0x4DDA, 75849 },
- { 0x4DDB, 75854 },
- { 0x4DDC, 75813 },
- { 0x4DDD, 75833 },
- { 0x4DDE, 75821 },
- { 0x4DDF, 75837 },
- { 0x4DE0, 75808 },
- { 0x4DE1, 75805 },
- { 0x4DE2, 75802 },
- { 0x4DE3, 75796 },
- { 0x4DE4, 75793 },
- { 0x4DE5, 75799 },
- { 0x4DE6, 75811 },
- { 0x4DE7, 75869 },
- { 0x4DE8, 76140 },
- { 0x4DE9, 76137 },
- { 0x4DEA, 76143 },
- { 0x4DEB, 76146 },
- { 0x4DEC, 76149 },
- { 0x4DED, 75788 },
- { 0x4DEE, 76105 },
- { 0x4DEF, 76097 },
- { 0x4DF0, 76054 },
- { 0x4DF1, 76036 },
- { 0x4DF2, 76045 },
- { 0x4DF3, 76125 },
- { 0x4DF4, 76130 },
- { 0x4DF5, 76062 },
- { 0x4DF6, 76068 },
- { 0x4DF7, 76119 },
- { 0x4DF8, 76113 },
- { 0x4DF9, 76090 },
- { 0x4DFA, 76074 },
- { 0x4DFB, 76082 },
- { 0x4DFC, 76031 },
- { 0x4DFD, 76021 },
- { 0x4DFE, 76026 },
- { 0x4DFF, 76017 },
- { 0x4E00, 75859 },
- { 0x4E01, 75864 },
- { 0x4E02, 15394 },
- { 0x4E03, 15409 },
- { 0x4E04, 15400 },
- { 0x4E05, 15433 },
- { 0x4E06, 15406 },
- { 0x4E07, 15463 },
- { 0x4E08, 15530 },
- { 0x4E09, 15538 },
- { 0x4E0A, 15526 },
- { 0x4E0B, 15534 },
- { 0x4E0C, 15397 },
- { 0x4E0D, 15412 },
- { 0x4E0E, 15403 },
- { 0x4E0F, 15415 },
- { 0x4E10, 15439 },
- { 0x4E11, 15490 },
- { 0x4E12, 15427 },
- { 0x4E13, 15484 },
- { 0x4E14, 15496 },
- { 0x4E15, 15421 },
- { 0x4E16, 15475 },
- { 0x4E17, 15436 },
- { 0x4E18, 15487 },
- { 0x4E19, 15502 },
- { 0x4E1A, 15517 },
- { 0x4E1B, 15523 },
- { 0x4E1C, 15478 },
- { 0x4E1D, 15520 },
- { 0x4E1E, 15499 },
- { 0x4E1F, 15460 },
- { 0x4E20, 15514 },
- { 0x4E21, 15424 },
- { 0x4E22, 15481 },
- { 0x4E23, 15448 },
- { 0x4E24, 15451 },
- { 0x4E25, 15505 },
- { 0x4E26, 15418 },
- { 0x4E27, 15472 },
- { 0x4E28, 15445 },
- { 0x4E29, 15469 },
- { 0x4E2A, 15454 },
- { 0x4E2B, 15442 },
- { 0x4E2C, 15466 },
- { 0x4E2D, 15508 },
- { 0x4E2E, 15511 },
- { 0x4E2F, 15457 },
- { 0x4E30, 15430 },
- { 0x4E31, 15493 },
- { 0x4E32, 15351 },
- { 0x4E33, 15339 },
- { 0x4E34, 15363 },
- { 0x4E35, 15347 },
- { 0x4E36, 15367 },
- { 0x4E37, 15376 },
- { 0x4E38, 15386 },
- { 0x4E39, 15371 },
- { 0x4E3A, 15381 },
- { 0x4E3B, 15335 },
- { 0x4E3C, 15355 },
- { 0x4E3D, 15343 },
- { 0x4E3E, 15359 },
- { 0x4E3F, 15297 },
- { 0x4E40, 15294 },
- { 0x4E41, 15291 },
- { 0x4E42, 15300 },
- { 0x4E43, 15303 },
- { 0x4E44, 15391 },
- { 0x4E45, 15542 },
- { 0x4E46, 15288 },
- { 0x4E47, 15323 },
- { 0x4E48, 15305 },
- { 0x4E49, 15311 },
- { 0x4E4A, 15332 },
- { 0x4E4B, 15317 },
- { 0x4E4C, 15314 },
- { 0x4E4D, 15308 },
- { 0x4E4E, 15329 },
- { 0x4E4F, 15326 },
- { 0x4E50, 15320 },
- { 0x4E51, 114881 },
- { 0x4E52, 115524 },
- { 0x4E53, 114936 },
- { 0x4E54, 115512 },
- { 0x4E55, 114876 },
- { 0x4E56, 115533 },
- { 0x4E57, 115527 },
- { 0x4E58, 115540 },
- { 0x4E59, 115543 },
- { 0x4E5A, 114919 },
- { 0x4E5B, 114928 },
- { 0x4E5C, 114922 },
- { 0x4E5D, 115517 },
- { 0x4E5E, 39286 },
- { 0x4E5F, 39301 },
- { 0x4E60, 39292 },
- { 0x4E61, 39325 },
- { 0x4E62, 39298 },
- { 0x4E63, 39355 },
- { 0x4E64, 39289 },
- { 0x4E65, 39304 },
- { 0x4E66, 39295 },
- { 0x4E67, 39307 },
- { 0x4E68, 39331 },
- { 0x4E69, 39382 },
- { 0x4E6A, 39319 },
- { 0x4E6B, 39376 },
- { 0x4E6C, 39385 },
- { 0x4E6D, 39313 },
- { 0x4E6E, 39367 },
- { 0x4E6F, 39328 },
- { 0x4E70, 39379 },
- { 0x4E71, 39391 },
- { 0x4E72, 39406 },
- { 0x4E73, 39412 },
- { 0x4E74, 39370 },
- { 0x4E75, 39409 },
- { 0x4E76, 39388 },
- { 0x4E77, 39352 },
- { 0x4E78, 39403 },
- { 0x4E79, 39316 },
- { 0x4E7A, 39373 },
- { 0x4E7B, 39340 },
- { 0x4E7C, 39343 },
- { 0x4E7D, 39394 },
- { 0x4E7E, 39310 },
- { 0x4E7F, 39364 },
- { 0x4E80, 39337 },
- { 0x4E81, 39361 },
- { 0x4E82, 39346 },
- { 0x4E83, 39334 },
- { 0x4E84, 39358 },
- { 0x4E85, 39400 },
- { 0x4E86, 39349 },
- { 0x4E87, 39322 },
- { 0x4E88, 39397 },
- { 0x4E89, 39217 },
- { 0x4E8A, 39214 },
- { 0x4E8B, 39266 },
- { 0x4E8C, 39254 },
- { 0x4E8D, 39278 },
- { 0x4E8E, 39262 },
- { 0x4E8F, 39282 },
- { 0x4E90, 39250 },
- { 0x4E91, 39270 },
- { 0x4E92, 39258 },
- { 0x4E93, 39274 },
- { 0x4E94, 39211 },
- { 0x4E95, 39208 },
- { 0x4E96, 39415 },
- { 0x4E97, 39419 },
- { 0x4E98, 39238 },
- { 0x4E99, 39220 },
- { 0x4E9A, 39226 },
- { 0x4E9B, 39247 },
- { 0x4E9C, 39232 },
- { 0x4E9D, 39229 },
- { 0x4E9E, 39223 },
- { 0x4E9F, 39244 },
- { 0x4EA0, 39241 },
- { 0x4EA1, 39235 },
- { 0x4EA2, 12754 },
- { 0x4EA3, 12796 },
- { 0x4EA4, 12802 },
- { 0x4EA5, 12763 },
- { 0x4EA6, 12775 },
- { 0x4EA7, 12834 },
- { 0x4EA8, 12766 },
- { 0x4EA9, 12811 },
- { 0x4EAA, 12736 },
- { 0x4EAB, 12760 },
- { 0x4EAC, 12751 },
- { 0x4EAD, 12781 },
- { 0x4EAE, 12814 },
- { 0x4EAF, 12769 },
- { 0x4EB0, 12757 },
- { 0x4EB1, 12772 },
- { 0x4EB2, 12808 },
- { 0x4EB3, 12748 },
- { 0x4EB4, 12733 },
- { 0x4EB5, 12742 },
- { 0x4EB6, 12787 },
- { 0x4EB7, 12745 },
- { 0x4EB8, 12830 },
- { 0x4EB9, 12790 },
- { 0x4EBA, 12778 },
- { 0x4EBB, 12793 },
- { 0x4EBC, 12826 },
- { 0x4EBD, 12847 },
- { 0x4EBE, 12852 },
- { 0x4EBF, 12857 },
- { 0x4EC0, 12689 },
- { 0x4EC1, 12709 },
- { 0x4EC2, 12697 },
- { 0x4EC3, 12725 },
- { 0x4EC4, 12705 },
- { 0x4EC5, 12729 },
- { 0x4EC6, 12693 },
- { 0x4EC7, 12721 },
- { 0x4EC8, 12701 },
- { 0x4EC9, 12713 },
- { 0x4ECA, 12717 },
- { 0x4ECB, 12653 },
- { 0x4ECC, 12677 },
- { 0x4ECD, 12659 },
- { 0x4ECE, 12665 },
- { 0x4ECF, 12686 },
- { 0x4ED0, 12671 },
- { 0x4ED1, 12668 },
- { 0x4ED2, 12662 },
- { 0x4ED3, 12683 },
- { 0x4ED4, 12680 },
- { 0x4ED5, 12674 },
- { 0x4ED6, 12838 },
- { 0x4ED7, 12841 },
- { 0x4ED8, 12649 },
- { 0x4ED9, 12656 },
- { 0x4EDA, 12646 },
- { 0x4EDB, 12844 },
- { 0x4EDC, 12739 },
- { 0x4EDD, 12817 },
- { 0x4EDE, 12823 },
- { 0x4EDF, 12784 },
- { 0x4EE0, 12820 },
- { 0x4EE1, 12805 },
- { 0x4EE2, 12799 },
- { 0x4EE3, 21823 },
- { 0x4EE4, 21838 },
- { 0x4EE5, 21829 },
- { 0x4EE6, 21862 },
- { 0x4EE7, 21835 },
- { 0x4EE8, 21892 },
- { 0x4EE9, 21826 },
- { 0x4EEA, 21841 },
- { 0x4EEB, 21832 },
- { 0x4EEC, 21844 },
- { 0x4EED, 21868 },
- { 0x4EEE, 21919 },
- { 0x4EEF, 21856 },
- { 0x4EF0, 21913 },
- { 0x4EF1, 21922 },
- { 0x4EF2, 21850 },
- { 0x4EF3, 21904 },
- { 0x4EF4, 21865 },
- { 0x4EF5, 21916 },
- { 0x4EF6, 21928 },
- { 0x4EF7, 21946 },
- { 0x4EF8, 21952 },
- { 0x4EF9, 21907 },
- { 0x4EFA, 21949 },
- { 0x4EFB, 21925 },
- { 0x4EFC, 21889 },
- { 0x4EFD, 21943 },
- { 0x4EFE, 21853 },
- { 0x4EFF, 21910 },
- { 0x4F00, 21877 },
- { 0x4F01, 21880 },
- { 0x4F02, 21931 },
- { 0x4F03, 21847 },
- { 0x4F04, 21901 },
- { 0x4F05, 21874 },
- { 0x4F06, 21898 },
- { 0x4F07, 21883 },
- { 0x4F08, 21871 },
- { 0x4F09, 21895 },
- { 0x4F0A, 21937 },
- { 0x4F0B, 21940 },
- { 0x4F0C, 21886 },
- { 0x4F0D, 21859 },
- { 0x4F0E, 21934 },
- { 0x4F0F, 21793 },
- { 0x4F10, 21781 },
- { 0x4F11, 21805 },
- { 0x4F12, 21789 },
- { 0x4F13, 21809 },
- { 0x4F14, 21813 },
- { 0x4F15, 21818 },
- { 0x4F16, 21777 },
- { 0x4F17, 21797 },
- { 0x4F18, 21785 },
- { 0x4F19, 21801 },
- { 0x4F1A, 21774 },
- { 0x4F1B, 21771 },
- { 0x4F1C, 21768 },
- { 0x4F1D, 21765 },
- { 0x4F1E, 21955 },
- { 0x4F1F, 66314 },
- { 0x4F20, 66174 },
- { 0x4F21, 66239 },
- { 0x4F22, 66254 },
- { 0x4F23, 66244 },
- { 0x4F24, 66249 },
- { 0x4F25, 66214 },
- { 0x4F26, 66234 },
- { 0x4F27, 66179 },
- { 0x4F28, 66184 },
- { 0x4F29, 66259 },
- { 0x4F2A, 66209 },
- { 0x4F2B, 66219 },
- { 0x4F2C, 66269 },
- { 0x4F2D, 66294 },
- { 0x4F2E, 66229 },
- { 0x4F2F, 66264 },
- { 0x4F30, 66279 },
- { 0x4F31, 66289 },
- { 0x4F32, 66319 },
- { 0x4F33, 66204 },
- { 0x4F34, 66194 },
- { 0x4F35, 66189 },
- { 0x4F36, 66199 },
- { 0x4F37, 66224 },
- { 0x4F38, 66299 },
- { 0x4F39, 66304 },
- { 0x4F3A, 66309 },
- { 0x4F3B, 66274 },
- { 0x4F3C, 66324 },
- { 0x4F3D, 66284 },
- { 0x4F3E, 66329 },
- { 0x4F3F, 66118 },
- { 0x4F40, 65978 },
- { 0x4F41, 66043 },
- { 0x4F42, 66058 },
- { 0x4F43, 66048 },
- { 0x4F44, 66053 },
- { 0x4F45, 66018 },
- { 0x4F46, 66038 },
- { 0x4F47, 65983 },
- { 0x4F48, 65988 },
- { 0x4F49, 66063 },
- { 0x4F4A, 66013 },
- { 0x4F4B, 66023 },
- { 0x4F4C, 66073 },
- { 0x4F4D, 66098 },
- { 0x4F4E, 66033 },
- { 0x4F4F, 66068 },
- { 0x4F50, 66083 },
- { 0x4F51, 66093 },
- { 0x4F52, 66123 },
- { 0x4F53, 66008 },
- { 0x4F54, 65998 },
- { 0x4F55, 65993 },
- { 0x4F56, 66003 },
- { 0x4F57, 66028 },
- { 0x4F58, 66103 },
- { 0x4F59, 66108 },
- { 0x4F5A, 66113 },
- { 0x4F5B, 66078 },
- { 0x4F5C, 66128 },
- { 0x4F5D, 66088 },
- { 0x4F5E, 66133 },
- { 0x4F5F, 65962 },
- { 0x4F60, 65938 },
- { 0x4F61, 65946 },
- { 0x4F62, 65974 },
- { 0x4F63, 65954 },
- { 0x4F64, 65950 },
- { 0x4F65, 65942 },
- { 0x4F66, 65970 },
- { 0x4F67, 65966 },
- { 0x4F68, 65958 },
- { 0x4F69, 66138 },
- { 0x4F6A, 66166 },
- { 0x4F6B, 66162 },
- { 0x4F6C, 66146 },
- { 0x4F6D, 66142 },
- { 0x4F6E, 66150 },
- { 0x4F6F, 66170 },
- { 0x4F70, 66154 },
- { 0x4F71, 66158 },
- { 0x4F72, 65935 },
- { 0x4F73, 21573 },
- { 0x4F74, 21593 },
- { 0x4F75, 21581 },
- { 0x4F76, 21617 },
- { 0x4F77, 21589 },
- { 0x4F78, 21657 },
- { 0x4F79, 21577 },
- { 0x4F7A, 21585 },
- { 0x4F7B, 21625 },
- { 0x4F7C, 21693 },
- { 0x4F7D, 21609 },
- { 0x4F7E, 21689 },
- { 0x4F7F, 21701 },
- { 0x4F80, 21601 },
- { 0x4F81, 21677 },
- { 0x4F82, 21621 },
- { 0x4F83, 21709 },
- { 0x4F84, 21729 },
- { 0x4F85, 21681 },
- { 0x4F86, 21737 },
- { 0x4F87, 21705 },
- { 0x4F88, 21653 },
- { 0x4F89, 21725 },
- { 0x4F8A, 21605 },
- { 0x4F8B, 21685 },
- { 0x4F8C, 21637 },
- { 0x4F8D, 21641 },
- { 0x4F8E, 21713 },
- { 0x4F8F, 21597 },
- { 0x4F90, 21673 },
- { 0x4F91, 21633 },
- { 0x4F92, 21665 },
- { 0x4F93, 21733 },
- { 0x4F94, 21645 },
- { 0x4F95, 21629 },
- { 0x4F96, 21661 },
- { 0x4F97, 21717 },
- { 0x4F98, 21721 },
- { 0x4F99, 21649 },
- { 0x4F9A, 21613 },
- { 0x4F9B, 21697 },
- { 0x4F9C, 21669 },
- { 0x4F9D, 21549 },
- { 0x4F9E, 21534 },
- { 0x4F9F, 21559 },
- { 0x4FA0, 21544 },
- { 0x4FA1, 21564 },
- { 0x4FA2, 21529 },
- { 0x4FA3, 21554 },
- { 0x4FA4, 21539 },
- { 0x4FA5, 21481 },
- { 0x4FA6, 21485 },
- { 0x4FA7, 21477 },
- { 0x4FA8, 21749 },
- { 0x4FA9, 21756 },
- { 0x4FAA, 21745 },
- { 0x4FAB, 21752 },
- { 0x4FAC, 21741 },
- { 0x4FAD, 21473 },
- { 0x4FAE, 21569 },
- { 0x4FAF, 21469 },
- { 0x4FB0, 21463 },
- { 0x4FB1, 21513 },
- { 0x4FB2, 21489 },
- { 0x4FB3, 21497 },
- { 0x4FB4, 21525 },
- { 0x4FB5, 21505 },
- { 0x4FB6, 21501 },
- { 0x4FB7, 21493 },
- { 0x4FB8, 21521 },
- { 0x4FB9, 21517 },
- { 0x4FBA, 21509 },
- { 0x4FBB, 122140 },
- { 0x4FBC, 122155 },
- { 0x4FBD, 122146 },
- { 0x4FBE, 122179 },
- { 0x4FBF, 122152 },
- { 0x4FC0, 122209 },
- { 0x4FC1, 122275 },
- { 0x4FC2, 122279 },
- { 0x4FC3, 122143 },
- { 0x4FC4, 122158 },
- { 0x4FC5, 122149 },
- { 0x4FC6, 122161 },
- { 0x4FC7, 122185 },
- { 0x4FC8, 122236 },
- { 0x4FC9, 122173 },
- { 0x4FCA, 122230 },
- { 0x4FCB, 122242 },
- { 0x4FCC, 122167 },
- { 0x4FCD, 122221 },
- { 0x4FCE, 122182 },
- { 0x4FCF, 122233 },
- { 0x4FD0, 122248 },
- { 0x4FD1, 122266 },
- { 0x4FD2, 122272 },
- { 0x4FD3, 122224 },
- { 0x4FD4, 122269 },
- { 0x4FD5, 122245 },
- { 0x4FD6, 122206 },
- { 0x4FD7, 122263 },
- { 0x4FD8, 122170 },
- { 0x4FD9, 122227 },
- { 0x4FDA, 122194 },
- { 0x4FDB, 122197 },
- { 0x4FDC, 122251 },
- { 0x4FDD, 122164 },
- { 0x4FDE, 122218 },
- { 0x4FDF, 122191 },
- { 0x4FE0, 122215 },
- { 0x4FE1, 122200 },
- { 0x4FE2, 122188 },
- { 0x4FE3, 122212 },
- { 0x4FE4, 122257 },
- { 0x4FE5, 122260 },
- { 0x4FE6, 122203 },
- { 0x4FE7, 122176 },
- { 0x4FE8, 122239 },
- { 0x4FE9, 122254 },
- { 0x4FEA, 122105 },
- { 0x4FEB, 122093 },
- { 0x4FEC, 122117 },
- { 0x4FED, 122101 },
- { 0x4FEE, 122121 },
- { 0x4FEF, 122125 },
- { 0x4FF0, 122130 },
- { 0x4FF1, 122089 },
- { 0x4FF2, 122109 },
- { 0x4FF3, 122097 },
- { 0x4FF4, 122113 },
- { 0x4FF5, 122083 },
- { 0x4FF6, 122080 },
- { 0x4FF7, 122074 },
- { 0x4FF8, 122086 },
- { 0x4FF9, 122077 },
- { 0x4FFA, 122283 },
- { 0x4FFB, 122135 },
- { 0x4FFC, 116830 },
- { 0x4FFD, 116784 },
- { 0x4FFE, 116814 },
- { 0x4FFF, 116794 },
- { 0x5000, 116779 },
- { 0x5001, 116809 },
- { 0x5002, 116789 },
- { 0x5003, 116799 },
- { 0x5004, 116804 },
- { 0x5005, 116819 },
- { 0x5006, 116825 },
- { 0x5007, 116862 },
- { 0x5008, 116930 },
- { 0x5009, 116850 },
- { 0x500A, 116926 },
- { 0x500B, 116934 },
- { 0x500C, 116842 },
- { 0x500D, 116910 },
- { 0x500E, 116858 },
- { 0x500F, 116942 },
- { 0x5010, 116966 },
- { 0x5011, 116990 },
- { 0x5012, 116914 },
- { 0x5013, 116974 },
- { 0x5014, 116938 },
- { 0x5015, 116890 },
- { 0x5016, 116958 },
- { 0x5017, 116846 },
- { 0x5018, 116918 },
- { 0x5019, 116874 },
- { 0x501A, 116878 },
- { 0x501B, 116946 },
- { 0x501C, 116838 },
- { 0x501D, 116906 },
- { 0x501E, 116870 },
- { 0x501F, 116962 },
- { 0x5020, 116986 },
- { 0x5021, 116922 },
- { 0x5022, 116978 },
- { 0x5023, 116970 },
- { 0x5024, 116902 },
- { 0x5025, 116834 },
- { 0x5026, 116898 },
- { 0x5027, 116882 },
- { 0x5028, 116866 },
- { 0x5029, 116894 },
- { 0x502A, 116950 },
- { 0x502B, 116954 },
- { 0x502C, 116886 },
- { 0x502D, 116854 },
- { 0x502E, 116982 },
- { 0x502F, 116774 },
- { 0x5030, 116752 },
- { 0x5031, 116764 },
- { 0x5032, 116768 },
- { 0x5033, 116746 },
- { 0x5034, 116760 },
- { 0x5035, 116756 },
- { 0x5036, 117039 },
- { 0x5037, 117034 },
- { 0x5038, 117024 },
- { 0x5039, 117019 },
- { 0x503A, 117029 },
- { 0x503B, 117005 },
- { 0x503C, 116994 },
- { 0x503D, 116737 },
- { 0x503E, 116733 },
- { 0x503F, 116741 },
- { 0x5040, 116728 },
- { 0x5041, 117010 },
- { 0x5042, 116999 },
- { 0x5043, 117016 },
- { 0x5044, 77068 },
- { 0x5045, 77026 },
- { 0x5046, 77050 },
- { 0x5047, 77034 },
- { 0x5048, 77022 },
- { 0x5049, 77030 },
- { 0x504A, 77046 },
- { 0x504B, 77038 },
- { 0x504C, 77042 },
- { 0x504D, 77059 },
- { 0x504E, 77054 },
- { 0x504F, 77064 },
- { 0x5050, 77092 },
- { 0x5051, 77146 },
- { 0x5052, 77083 },
- { 0x5053, 77140 },
- { 0x5054, 77149 },
- { 0x5055, 77077 },
- { 0x5056, 77128 },
- { 0x5057, 77089 },
- { 0x5058, 77143 },
- { 0x5059, 77155 },
- { 0x505A, 77173 },
- { 0x505B, 77188 },
- { 0x505C, 77131 },
- { 0x505D, 77179 },
- { 0x505E, 77152 },
- { 0x505F, 77113 },
- { 0x5060, 77167 },
- { 0x5061, 77080 },
- { 0x5062, 77134 },
- { 0x5063, 77101 },
- { 0x5064, 77104 },
- { 0x5065, 77158 },
- { 0x5066, 77074 },
- { 0x5067, 77125 },
- { 0x5068, 77098 },
- { 0x5069, 77170 },
- { 0x506A, 77185 },
- { 0x506B, 77137 },
- { 0x506C, 77176 },
- { 0x506D, 77122 },
- { 0x506E, 77071 },
- { 0x506F, 77119 },
- { 0x5070, 77107 },
- { 0x5071, 77095 },
- { 0x5072, 77116 },
- { 0x5073, 77161 },
- { 0x5074, 77164 },
- { 0x5075, 77110 },
- { 0x5076, 77086 },
- { 0x5077, 77182 },
- { 0x5078, 76956 },
- { 0x5079, 76959 },
- { 0x507A, 77206 },
- { 0x507B, 77202 },
- { 0x507C, 77214 },
- { 0x507D, 77210 },
- { 0x507E, 76972 },
- { 0x507F, 76977 },
- { 0x5080, 77012 },
- { 0x5081, 76967 },
- { 0x5082, 76992 },
- { 0x5083, 76962 },
- { 0x5084, 76987 },
- { 0x5085, 76997 },
- { 0x5086, 76982 },
- { 0x5087, 77017 },
- { 0x5088, 77002 },
- { 0x5089, 77007 },
- { 0x508A, 76953 },
- { 0x508B, 76950 },
- { 0x508C, 77199 },
- { 0x508D, 77197 },
- { 0x508E, 76943 },
- { 0x508F, 76937 },
- { 0x5090, 76946 },
- { 0x5091, 76940 },
- { 0x5092, 76927 },
- { 0x5093, 76918 },
- { 0x5094, 76911 },
- { 0x5095, 77191 },
- { 0x5096, 77194 },
- { 0x5097, 82718 },
- { 0x5098, 82730 },
- { 0x5099, 82722 },
- { 0x509A, 82734 },
- { 0x509B, 82714 },
- { 0x509C, 82726 },
- { 0x509D, 82742 },
- { 0x509E, 82754 },
- { 0x509F, 82746 },
- { 0x50A0, 82758 },
- { 0x50A1, 82738 },
- { 0x50A2, 82750 },
- { 0x50A3, 81163 },
- { 0x50A4, 81166 },
- { 0x50A5, 81169 },
- { 0x50A6, 81160 },
- { 0x50A7, 9801 },
- { 0x50A8, 9781 },
- { 0x50A9, 9786 },
- { 0x50AA, 9791 },
- { 0x50AB, 9756 },
- { 0x50AC, 9831 },
- { 0x50AD, 9826 },
- { 0x50AE, 9846 },
- { 0x50AF, 9771 },
- { 0x50B0, 9766 },
- { 0x50B1, 9841 },
- { 0x50B2, 9811 },
- { 0x50B3, 9746 },
- { 0x50B4, 9751 },
- { 0x50B5, 9816 },
- { 0x50B6, 9856 },
- { 0x50B7, 9796 },
- { 0x50B8, 9851 },
- { 0x50B9, 9806 },
- { 0x50BA, 9761 },
- { 0x50BB, 9836 },
- { 0x50BC, 9721 },
- { 0x50BD, 9726 },
- { 0x50BE, 9731 },
- { 0x50BF, 9736 },
- { 0x50C0, 9741 },
- { 0x50C1, 9821 },
- { 0x50C2, 9776 },
- { 0x50C3, 9885 },
- { 0x50C4, 9861 },
- { 0x50C5, 9891 },
- { 0x50C6, 9873 },
- { 0x50C7, 9879 },
- { 0x50C8, 9867 },
- { 0x50C9, 9897 },
- { 0x50CA, 9909 },
- { 0x50CB, 9903 },
- { 0x50CC, 9920 },
- { 0x50CD, 9915 },
- { 0x50CE, 9963 },
- { 0x50CF, 9926 },
- { 0x50D0, 9933 },
- { 0x50D1, 9969 },
- { 0x50D2, 9944 },
- { 0x50D3, 9939 },
- { 0x50D4, 9950 },
- { 0x50D5, 9957 },
- { 0x50D6, 9993 },
- { 0x50D7, 9987 },
- { 0x50D8, 9998 },
- { 0x50D9, 10005 },
- { 0x50DA, 10016 },
- { 0x50DB, 10011 },
- { 0x50DC, 9976 },
- { 0x50DD, 10022 },
- { 0x50DE, 10029 },
- { 0x50DF, 9981 },
- { 0x50E0, 117704 },
- { 0x50E1, 117707 },
- { 0x50E2, 117720 },
- { 0x50E3, 117723 },
- { 0x50E4, 117768 },
- { 0x50E5, 117772 },
- { 0x50E6, 117752 },
- { 0x50E7, 117757 },
- { 0x50E8, 117785 },
- { 0x50E9, 117728 },
- { 0x50EA, 102673 },
- { 0x50EB, 102688 },
- { 0x50EC, 102679 },
- { 0x50ED, 102712 },
- { 0x50EE, 102685 },
- { 0x50EF, 102742 },
- { 0x50F0, 102806 },
- { 0x50F1, 102810 },
- { 0x50F2, 102802 },
- { 0x50F3, 102676 },
- { 0x50F4, 102691 },
- { 0x50F5, 102682 },
- { 0x50F6, 102694 },
- { 0x50F7, 102718 },
- { 0x50F8, 102769 },
- { 0x50F9, 102706 },
- { 0x50FA, 102763 },
- { 0x50FB, 102772 },
- { 0x50FC, 102700 },
- { 0x50FD, 102754 },
- { 0x50FE, 102715 },
- { 0x50FF, 102766 },
- { 0x5100, 102778 },
- { 0x5101, 102793 },
- { 0x5102, 102799 },
- { 0x5103, 102757 },
- { 0x5104, 102796 },
- { 0x5105, 102775 },
- { 0x5106, 102739 },
- { 0x5107, 102790 },
- { 0x5108, 102703 },
- { 0x5109, 102760 },
- { 0x510A, 102727 },
- { 0x510B, 102730 },
- { 0x510C, 102781 },
- { 0x510D, 102697 },
- { 0x510E, 102751 },
- { 0x510F, 102724 },
- { 0x5110, 102748 },
- { 0x5111, 102733 },
- { 0x5112, 102721 },
- { 0x5113, 102745 },
- { 0x5114, 102784 },
- { 0x5115, 102787 },
- { 0x5116, 102736 },
- { 0x5117, 102709 },
- { 0x5118, 102635 },
- { 0x5119, 102623 },
- { 0x511A, 102647 },
- { 0x511B, 102631 },
- { 0x511C, 102651 },
- { 0x511D, 102660 },
- { 0x511E, 102665 },
- { 0x511F, 102655 },
- { 0x5120, 102619 },
- { 0x5121, 102639 },
- { 0x5122, 102627 },
- { 0x5123, 102643 },
- { 0x5124, 102581 },
- { 0x5125, 102575 },
- { 0x5126, 102572 },
- { 0x5127, 102569 },
- { 0x5128, 102578 },
- { 0x5129, 102587 },
- { 0x512A, 102670 },
- { 0x512B, 102584 },
- { 0x512C, 102563 },
- { 0x512D, 102566 },
- { 0x512E, 102607 },
- { 0x512F, 102589 },
- { 0x5130, 102595 },
- { 0x5131, 102616 },
- { 0x5132, 102601 },
- { 0x5133, 102598 },
- { 0x5134, 102592 },
- { 0x5135, 102613 },
- { 0x5136, 102610 },
- { 0x5137, 102604 },
- { 0x5138, 102814 },
- { 0x5139, 102823 },
- { 0x513A, 102850 },
- { 0x513B, 102829 },
- { 0x513C, 102826 },
- { 0x513D, 102817 },
- { 0x513E, 102844 },
- { 0x513F, 102835 },
- { 0x5140, 102832 },
- { 0x5141, 102820 },
- { 0x5142, 102862 },
- { 0x5143, 102859 },
- { 0x5144, 102841 },
- { 0x5145, 102838 },
- { 0x5146, 102847 },
- { 0x5147, 102865 },
- { 0x5148, 102853 },
- { 0x5149, 102856 },
- { 0x514A, 102868 },
- { 0x514B, 71323 },
- { 0x514C, 71326 },
- { 0x514D, 71379 },
- { 0x514E, 71418 },
- { 0x514F, 71370 },
- { 0x5150, 71421 },
- { 0x5151, 71364 },
- { 0x5152, 71412 },
- { 0x5153, 71376 },
- { 0x5154, 71424 },
- { 0x5155, 71400 },
- { 0x5156, 71433 },
- { 0x5157, 71367 },
- { 0x5158, 71388 },
- { 0x5159, 71391 },
- { 0x515A, 71427 },
- { 0x515B, 71361 },
- { 0x515C, 71385 },
- { 0x515D, 71436 },
- { 0x515E, 71442 },
- { 0x515F, 71415 },
- { 0x5160, 71403 },
- { 0x5161, 71439 },
- { 0x5162, 71409 },
- { 0x5163, 71358 },
- { 0x5164, 71406 },
- { 0x5165, 71394 },
- { 0x5166, 71382 },
- { 0x5167, 71430 },
- { 0x5168, 71397 },
- { 0x5169, 71373 },
- { 0x516A, 71355 },
- { 0x516B, 71473 },
- { 0x516C, 71525 },
- { 0x516D, 71461 },
- { 0x516E, 71529 },
- { 0x516F, 71453 },
- { 0x5170, 71517 },
- { 0x5171, 71469 },
- { 0x5172, 71533 },
- { 0x5173, 71501 },
- { 0x5174, 71545 },
- { 0x5175, 71457 },
- { 0x5176, 71485 },
- { 0x5177, 71489 },
- { 0x5178, 71537 },
- { 0x5179, 71449 },
- { 0x517A, 71481 },
- { 0x517B, 71549 },
- { 0x517C, 71557 },
- { 0x517D, 71521 },
- { 0x517E, 71505 },
- { 0x517F, 71553 },
- { 0x5180, 71513 },
- { 0x5181, 71509 },
- { 0x5182, 71493 },
- { 0x5183, 71477 },
- { 0x5184, 71541 },
- { 0x5185, 71497 },
- { 0x5186, 71465 },
- { 0x5187, 71445 },
- { 0x5188, 71351 },
- { 0x5189, 71339 },
- { 0x518A, 71347 },
- { 0x518B, 71335 },
- { 0x518C, 71343 },
- { 0x518D, 71329 },
- { 0x518E, 71332 },
- { 0x518F, 71678 },
- { 0x5190, 71698 },
- { 0x5191, 71686 },
- { 0x5192, 71730 },
- { 0x5193, 71694 },
- { 0x5194, 71770 },
- { 0x5195, 71682 },
- { 0x5196, 71702 },
- { 0x5197, 71690 },
- { 0x5198, 71706 },
- { 0x5199, 71738 },
- { 0x519A, 71806 },
- { 0x519B, 71722 },
- { 0x519C, 71798 },
- { 0x519D, 71814 },
- { 0x519E, 71714 },
- { 0x519F, 71786 },
- { 0x51A0, 71734 },
- { 0x51A1, 71802 },
- { 0x51A2, 71822 },
- { 0x51A3, 71846 },
- { 0x51A4, 71862 },
- { 0x51A5, 71790 },
- { 0x51A6, 71850 },
- { 0x51A7, 71818 },
- { 0x51A8, 71766 },
- { 0x51A9, 71838 },
- { 0x51AA, 71718 },
- { 0x51AB, 71794 },
- { 0x51AC, 71750 },
- { 0x51AD, 71754 },
- { 0x51AE, 71826 },
- { 0x51AF, 71710 },
- { 0x51B0, 71782 },
- { 0x51B1, 71746 },
- { 0x51B2, 71778 },
- { 0x51B3, 71758 },
- { 0x51B4, 71742 },
- { 0x51B5, 71774 },
- { 0x51B6, 71830 },
- { 0x51B7, 71834 },
- { 0x51B8, 71762 },
- { 0x51B9, 71726 },
- { 0x51BA, 71810 },
- { 0x51BB, 71858 },
- { 0x51BC, 71854 },
- { 0x51BD, 71842 },
- { 0x51BE, 71647 },
- { 0x51BF, 71632 },
- { 0x51C0, 71662 },
- { 0x51C1, 71642 },
- { 0x51C2, 71667 },
- { 0x51C3, 71672 },
- { 0x51C4, 71627 },
- { 0x51C5, 71652 },
- { 0x51C6, 71637 },
- { 0x51C7, 71657 },
- { 0x51C8, 71580 },
- { 0x51C9, 71576 },
- { 0x51CA, 71564 },
- { 0x51CB, 71568 },
- { 0x51CC, 71572 },
- { 0x51CD, 71866 },
- { 0x51CE, 71624 },
- { 0x51CF, 71869 },
- { 0x51D0, 71608 },
- { 0x51D1, 71584 },
- { 0x51D2, 71592 },
- { 0x51D3, 71620 },
- { 0x51D4, 71600 },
- { 0x51D5, 71596 },
- { 0x51D6, 71588 },
- { 0x51D7, 71616 },
- { 0x51D8, 71612 },
- { 0x51D9, 71604 },
- { 0x51DA, 70294 },
- { 0x51DB, 70306 },
- { 0x51DC, 70298 },
- { 0x51DD, 70342 },
- { 0x51DE, 70302 },
- { 0x51DF, 70386 },
- { 0x51E0, 70330 },
- { 0x51E1, 70310 },
- { 0x51E2, 70366 },
- { 0x51E3, 70314 },
- { 0x51E4, 70394 },
- { 0x51E5, 70390 },
- { 0x51E6, 70318 },
- { 0x51E7, 70398 },
- { 0x51E8, 70358 },
- { 0x51E9, 70350 },
- { 0x51EA, 70422 },
- { 0x51EB, 70382 },
- { 0x51EC, 70438 },
- { 0x51ED, 70354 },
- { 0x51EE, 70334 },
- { 0x51EF, 70414 },
- { 0x51F0, 70326 },
- { 0x51F1, 70410 },
- { 0x51F2, 70362 },
- { 0x51F3, 70322 },
- { 0x51F4, 70402 },
- { 0x51F5, 70442 },
- { 0x51F6, 70450 },
- { 0x51F7, 70426 },
- { 0x51F8, 70346 },
- { 0x51F9, 70418 },
- { 0x51FA, 70406 },
- { 0x51FB, 70446 },
- { 0x51FC, 70430 },
- { 0x51FD, 70370 },
- { 0x51FE, 70434 },
- { 0x51FF, 70338 },
- { 0x5200, 70374 },
- { 0x5201, 70378 },
- { 0x5202, 70259 },
- { 0x5203, 70249 },
- { 0x5204, 70279 },
- { 0x5205, 70254 },
- { 0x5206, 70289 },
- { 0x5207, 70274 },
- { 0x5208, 70264 },
- { 0x5209, 70284 },
- { 0x520A, 70269 },
- { 0x520B, 70205 },
- { 0x520C, 70201 },
- { 0x520D, 70454 },
- { 0x520E, 70198 },
- { 0x520F, 70233 },
- { 0x5210, 70209 },
- { 0x5211, 70217 },
- { 0x5212, 70245 },
- { 0x5213, 70225 },
- { 0x5214, 70221 },
- { 0x5215, 70213 },
- { 0x5216, 70241 },
- { 0x5217, 70237 },
- { 0x5218, 70229 },
- { 0x5219, 71195 },
- { 0x521A, 71189 },
- { 0x521B, 71225 },
- { 0x521C, 71207 },
- { 0x521D, 71180 },
- { 0x521E, 71201 },
- { 0x521F, 71216 },
- { 0x5220, 71186 },
- { 0x5221, 71204 },
- { 0x5222, 71183 },
- { 0x5223, 71192 },
- { 0x5224, 71228 },
- { 0x5225, 71222 },
- { 0x5226, 71210 },
- { 0x5227, 71198 },
- { 0x5228, 71219 },
- { 0x5229, 71213 },
- { 0x522A, 71177 },
- { 0x522B, 71159 },
- { 0x522C, 71165 },
- { 0x522D, 71173 },
- { 0x522E, 71161 },
- { 0x522F, 71169 },
- { 0x5230, 71231 },
- { 0x5231, 71155 },
- { 0x5232, 13671 },
- { 0x5233, 13668 },
- { 0x5234, 13659 },
- { 0x5235, 13665 },
- { 0x5236, 13751 },
- { 0x5237, 13766 },
- { 0x5238, 13757 },
- { 0x5239, 13787 },
- { 0x523A, 13763 },
- { 0x523B, 13817 },
- { 0x523C, 13884 },
- { 0x523D, 13892 },
- { 0x523E, 13880 },
- { 0x523F, 13888 },
- { 0x5240, 13754 },
- { 0x5241, 13769 },
- { 0x5242, 13760 },
- { 0x5243, 13793 },
- { 0x5244, 13844 },
- { 0x5245, 13781 },
- { 0x5246, 13838 },
- { 0x5247, 13847 },
- { 0x5248, 13775 },
- { 0x5249, 13829 },
- { 0x524A, 13790 },
- { 0x524B, 13841 },
- { 0x524C, 13853 },
- { 0x524D, 13868 },
- { 0x524E, 13877 },
- { 0x524F, 13832 },
- { 0x5250, 13871 },
- { 0x5251, 13850 },
- { 0x5252, 13814 },
- { 0x5253, 13865 },
- { 0x5254, 13778 },
- { 0x5255, 13835 },
- { 0x5256, 13802 },
- { 0x5257, 13805 },
- { 0x5258, 13856 },
- { 0x5259, 13772 },
- { 0x525A, 13826 },
- { 0x525B, 13799 },
- { 0x525C, 13823 },
- { 0x525D, 13808 },
- { 0x525E, 13796 },
- { 0x525F, 13820 },
- { 0x5260, 13859 },
- { 0x5261, 13862 },
- { 0x5262, 13811 },
- { 0x5263, 13784 },
- { 0x5264, 13874 },
- { 0x5265, 13718 },
- { 0x5266, 13743 },
- { 0x5267, 13710 },
- { 0x5268, 13730 },
- { 0x5269, 13714 },
- { 0x526A, 13734 },
- { 0x526B, 13738 },
- { 0x526C, 13706 },
- { 0x526D, 13722 },
- { 0x526E, 13726 },
- { 0x526F, 13662 },
- { 0x5270, 13896 },
- { 0x5271, 13674 },
- { 0x5272, 13748 },
- { 0x5273, 13930 },
- { 0x5274, 13934 },
- { 0x5275, 13916 },
- { 0x5276, 13901 },
- { 0x5277, 13898 },
- { 0x5278, 13908 },
- { 0x5279, 13922 },
- { 0x527A, 13905 },
- { 0x527B, 13912 },
- { 0x527C, 13919 },
- { 0x527D, 13926 },
- { 0x527E, 13694 },
- { 0x527F, 13676 },
- { 0x5280, 13682 },
- { 0x5281, 13703 },
- { 0x5282, 13688 },
- { 0x5283, 13685 },
- { 0x5284, 13679 },
- { 0x5285, 13700 },
- { 0x5286, 13697 },
- { 0x5287, 13691 },
- { 0x5288, 14592 },
- { 0x5289, 39797 },
- { 0x528A, 39793 },
- { 0x528B, 39769 },
- { 0x528C, 39785 },
- { 0x528D, 39765 },
- { 0x528E, 39789 },
- { 0x528F, 39805 },
- { 0x5290, 39817 },
- { 0x5291, 39773 },
- { 0x5292, 39777 },
- { 0x5293, 39781 },
- { 0x5294, 39745 },
- { 0x5295, 39749 },
- { 0x5296, 39813 },
- { 0x5297, 39809 },
- { 0x5298, 39741 },
- { 0x5299, 39761 },
- { 0x529A, 39753 },
- { 0x529B, 39757 },
- { 0x529C, 39801 },
- { 0x529D, 39821 },
- { 0x529E, 39464 },
- { 0x529F, 39482 },
- { 0x52A0, 39509 },
- { 0x52A1, 39494 },
- { 0x52A2, 39521 },
- { 0x52A3, 39485 },
- { 0x52A4, 39503 },
- { 0x52A5, 39512 },
- { 0x52A6, 39473 },
- { 0x52A7, 39479 },
- { 0x52A8, 39467 },
- { 0x52A9, 39506 },
- { 0x52AA, 39488 },
- { 0x52AB, 39476 },
- { 0x52AC, 39470 },
- { 0x52AD, 39453 },
- { 0x52AE, 39449 },
- { 0x52AF, 39457 },
- { 0x52B0, 39460 },
- { 0x52B1, 39835 },
- { 0x52B2, 39839 },
- { 0x52B3, 39738 },
- { 0x52B4, 39442 },
- { 0x52B5, 39566 },
- { 0x52B6, 39569 },
- { 0x52B7, 39436 },
- { 0x52B8, 39826 },
- { 0x52B9, 39515 },
- { 0x52BA, 39518 },
- { 0x52BB, 39830 },
- { 0x52BC, 106057 },
- { 0x52BD, 106060 },
- { 0x52BE, 106070 },
- { 0x52BF, 106085 },
- { 0x52C0, 106065 },
- { 0x52C1, 106075 },
- { 0x52C2, 106096 },
- { 0x52C3, 106091 },
- { 0x52C4, 106080 },
- { 0x52C5, 106170 },
- { 0x52C6, 106173 },
- { 0x52C7, 106216 },
- { 0x52C8, 106221 },
- { 0x52C9, 106194 },
- { 0x52CA, 106227 },
- { 0x52CB, 106189 },
- { 0x52CC, 106199 },
- { 0x52CD, 106233 },
- { 0x52CE, 106243 },
- { 0x52CF, 106248 },
- { 0x52D0, 106180 },
- { 0x52D1, 106176 },
- { 0x52D2, 107392 },
- { 0x52D3, 107423 },
- { 0x52D4, 107407 },
- { 0x52D5, 107400 },
- { 0x52D6, 107413 },
- { 0x52D7, 107418 },
- { 0x52D8, 106253 },
- { 0x52D9, 106261 },
- { 0x52DA, 106264 },
- { 0x52DB, 106269 },
- { 0x52DC, 106276 },
- { 0x52DD, 106279 },
- { 0x52DE, 106304 },
- { 0x52DF, 106309 },
- { 0x52E0, 106284 },
- { 0x52E1, 106314 },
- { 0x52E2, 106289 },
- { 0x52E3, 106294 },
- { 0x52E4, 106299 },
- { 0x52E5, 109541 },
- { 0x52E6, 110324 },
- { 0x52E7, 109544 },
- { 0x52E8, 109552 },
- { 0x52E9, 106319 },
- { 0x52EA, 106322 },
- { 0x52EB, 106342 },
- { 0x52EC, 106333 },
- { 0x52ED, 106327 },
- { 0x52EE, 110327 },
- { 0x52EF, 109557 },
- { 0x52F0, 109560 },
- { 0x52F1, 109563 },
- { 0x52F2, 110330 },
- { 0x52F3, 110333 },
- { 0x52F4, 107428 },
- { 0x52F5, 107468 },
- { 0x52F6, 107431 },
- { 0x52F7, 107456 },
- { 0x52F8, 107436 },
- { 0x52F9, 107443 },
- { 0x52FA, 109568 },
- { 0x52FB, 110930 },
- { 0x52FC, 106347 },
- { 0x52FD, 107473 },
- { 0x52FE, 109571 },
- { 0x52FF, 110933 },
- { 0x5300, 107482 },
- { 0x5301, 107485 },
- { 0x5302, 110336 },
- { 0x5303, 107490 },
- { 0x5304, 110339 },
- { 0x5305, 106350 },
- { 0x5306, 106353 },
- { 0x5307, 106358 },
- { 0x5308, 106363 },
- { 0x5309, 106369 },
- { 0x530A, 106372 },
- { 0x530B, 106378 },
- { 0x530C, 106391 },
- { 0x530D, 110342 },
- { 0x530E, 110345 },
- { 0x530F, 107493 },
- { 0x5310, 109574 },
- { 0x5311, 106396 },
- { 0x5312, 107496 },
- { 0x5313, 107504 },
- { 0x5314, 107638 },
- { 0x5315, 107656 },
- { 0x5316, 107512 },
- { 0x5317, 107518 },
- { 0x5318, 107524 },
- { 0x5319, 107532 },
- { 0x531A, 107644 },
- { 0x531B, 107606 },
- { 0x531C, 107538 },
- { 0x531D, 107544 },
- { 0x531E, 107550 },
- { 0x531F, 107612 },
- { 0x5320, 107558 },
- { 0x5321, 107564 },
- { 0x5322, 107570 },
- { 0x5323, 107618 },
- { 0x5324, 107578 },
- { 0x5325, 107624 },
- { 0x5326, 107584 },
- { 0x5327, 107650 },
- { 0x5328, 107590 },
- { 0x5329, 107632 },
- { 0x532A, 107662 },
- { 0x532B, 107665 },
- { 0x532C, 110350 },
- { 0x532D, 110353 },
- { 0x532E, 106404 },
- { 0x532F, 107668 },
- { 0x5330, 107671 },
- { 0x5331, 107686 },
- { 0x5332, 109580 },
- { 0x5333, 107691 },
- { 0x5334, 107694 },
- { 0x5335, 109588 },
- { 0x5336, 106407 },
- { 0x5337, 106414 },
- { 0x5338, 106410 },
- { 0x5339, 106419 },
- { 0x533A, 107701 },
- { 0x533B, 107709 },
- { 0x533C, 109596 },
- { 0x533D, 107714 },
- { 0x533E, 110356 },
- { 0x533F, 107868 },
- { 0x5340, 107871 },
- { 0x5341, 109599 },
- { 0x5342, 109602 },
- { 0x5343, 109606 },
- { 0x5344, 109611 },
- { 0x5345, 109614 },
- { 0x5346, 106102 },
- { 0x5347, 106113 },
- { 0x5348, 106105 },
- { 0x5349, 106423 },
- { 0x534A, 106426 },
- { 0x534B, 106445 },
- { 0x534C, 106440 },
- { 0x534D, 106460 },
- { 0x534E, 106465 },
- { 0x534F, 106435 },
- { 0x5350, 109617 },
- { 0x5351, 109620 },
- { 0x5352, 106470 },
- { 0x5353, 106473 },
- { 0x5354, 106481 },
- { 0x5355, 106486 },
- { 0x5356, 106476 },
- { 0x5357, 106496 },
- { 0x5358, 106501 },
- { 0x5359, 106492 },
- { 0x535A, 109623 },
- { 0x535B, 110359 },
- { 0x535C, 109626 },
- { 0x535D, 109634 },
- { 0x535E, 109637 },
- { 0x535F, 109642 },
- { 0x5360, 109649 },
- { 0x5361, 109658 },
- { 0x5362, 109704 },
- { 0x5363, 109737 },
- { 0x5364, 109743 },
- { 0x5365, 109663 },
- { 0x5366, 109668 },
- { 0x5367, 109714 },
- { 0x5368, 109750 },
- { 0x5369, 109755 },
- { 0x536A, 109720 },
- { 0x536B, 109674 },
- { 0x536C, 109725 },
- { 0x536D, 109679 },
- { 0x536E, 109684 },
- { 0x536F, 109694 },
- { 0x5370, 109699 },
- { 0x5371, 106506 },
- { 0x5372, 106509 },
- { 0x5373, 107874 },
- { 0x5374, 107882 },
- { 0x5375, 107891 },
- { 0x5376, 107898 },
- { 0x5377, 108045 },
- { 0x5378, 107910 },
- { 0x5379, 108053 },
- { 0x537A, 108258 },
- { 0x537B, 108058 },
- { 0x537C, 108063 },
- { 0x537D, 108070 },
- { 0x537E, 108075 },
- { 0x537F, 107924 },
- { 0x5380, 107929 },
- { 0x5381, 108088 },
- { 0x5382, 108095 },
- { 0x5383, 107934 },
- { 0x5384, 107939 },
- { 0x5385, 107946 },
- { 0x5386, 107951 },
- { 0x5387, 108270 },
- { 0x5388, 108115 },
- { 0x5389, 107964 },
- { 0x538A, 108134 },
- { 0x538B, 108139 },
- { 0x538C, 108276 },
- { 0x538D, 107976 },
- { 0x538E, 108146 },
- { 0x538F, 108151 },
- { 0x5390, 107985 },
- { 0x5391, 108283 },
- { 0x5392, 108158 },
- { 0x5393, 108164 },
- { 0x5394, 108173 },
- { 0x5395, 108318 },
- { 0x5396, 108178 },
- { 0x5397, 108183 },
- { 0x5398, 108190 },
- { 0x5399, 107992 },
- { 0x539A, 107997 },
- { 0x539B, 108004 },
- { 0x539C, 108214 },
- { 0x539D, 108219 },
- { 0x539E, 108028 },
- { 0x539F, 108226 },
- { 0x53A0, 108231 },
- { 0x53A1, 108236 },
- { 0x53A2, 108241 },
- { 0x53A3, 108293 },
- { 0x53A4, 108248 },
- { 0x53A5, 108303 },
- { 0x53A6, 107905 },
- { 0x53A7, 108033 },
- { 0x53A8, 108038 },
- { 0x53A9, 107877 },
- { 0x53AA, 109810 },
- { 0x53AB, 109819 },
- { 0x53AC, 108330 },
- { 0x53AD, 108333 },
- { 0x53AE, 108341 },
- { 0x53AF, 108344 },
- { 0x53B0, 110366 },
- { 0x53B1, 108353 },
- { 0x53B2, 108356 },
- { 0x53B3, 109824 },
- { 0x53B4, 109832 },
- { 0x53B5, 109827 },
- { 0x53B6, 109836 },
- { 0x53B7, 108359 },
- { 0x53B8, 109841 },
- { 0x53B9, 110951 },
- { 0x53BA, 111180 },
- { 0x53BB, 111188 },
- { 0x53BC, 106513 },
- { 0x53BD, 106516 },
- { 0x53BE, 106521 },
- { 0x53BF, 106526 },
- { 0x53C0, 108362 },
- { 0x53C1, 108365 },
- { 0x53C2, 108370 },
- { 0x53C3, 110369 },
- { 0x53C4, 109847 },
- { 0x53C5, 109850 },
- { 0x53C6, 109854 },
- { 0x53C7, 109857 },
- { 0x53C8, 109881 },
- { 0x53C9, 109876 },
- { 0x53CA, 109864 },
- { 0x53CB, 109871 },
- { 0x53CC, 110372 },
- { 0x53CD, 109887 },
- { 0x53CE, 109911 },
- { 0x53CF, 109894 },
- { 0x53D0, 109906 },
- { 0x53D1, 109890 },
- { 0x53D2, 106531 },
- { 0x53D3, 106534 },
- { 0x53D4, 108378 },
- { 0x53D5, 108391 },
- { 0x53D6, 108396 },
- { 0x53D7, 108404 },
- { 0x53D8, 108409 },
- { 0x53D9, 108381 },
- { 0x53DA, 108416 },
- { 0x53DB, 108432 },
- { 0x53DC, 108439 },
- { 0x53DD, 108419 },
- { 0x53DE, 108444 },
- { 0x53DF, 108447 },
- { 0x53E0, 108450 },
- { 0x53E1, 108455 },
- { 0x53E2, 109916 },
- { 0x53E3, 110375 },
- { 0x53E4, 110954 },
- { 0x53E5, 106539 },
- { 0x53E6, 106546 },
- { 0x53E7, 106542 },
- { 0x53E8, 108458 },
- { 0x53E9, 106555 },
- { 0x53EA, 106563 },
- { 0x53EB, 106602 },
- { 0x53EC, 106577 },
- { 0x53ED, 106607 },
- { 0x53EE, 106582 },
- { 0x53EF, 106587 },
- { 0x53F0, 106592 },
- { 0x53F1, 106597 },
- { 0x53F2, 106558 },
- { 0x53F3, 106612 },
- { 0x53F4, 109919 },
- { 0x53F5, 109922 },
- { 0x53F6, 109932 },
- { 0x53F7, 109942 },
- { 0x53F8, 109937 },
- { 0x53F9, 109927 },
- { 0x53FA, 109947 },
- { 0x53FB, 106118 },
- { 0x53FC, 106121 },
- { 0x53FD, 106615 },
- { 0x53FE, 109953 },
- { 0x53FF, 109956 },
- { 0x5400, 109962 },
- { 0x5401, 106618 },
- { 0x5402, 108461 },
- { 0x5403, 108468 },
- { 0x5404, 108464 },
- { 0x5405, 108476 },
- { 0x5406, 108472 },
- { 0x5407, 106621 },
- { 0x5408, 106624 },
- { 0x5409, 108487 },
- { 0x540A, 106630 },
- { 0x540B, 106633 },
- { 0x540C, 106642 },
- { 0x540D, 106647 },
- { 0x540E, 106638 },
- { 0x540F, 109968 },
- { 0x5410, 106652 },
- { 0x5411, 106655 },
- { 0x5412, 108490 },
- { 0x5413, 106658 },
- { 0x5414, 106661 },
- { 0x5415, 106678 },
- { 0x5416, 106683 },
- { 0x5417, 106934 },
- { 0x5418, 106835 },
- { 0x5419, 107006 },
- { 0x541A, 106840 },
- { 0x541B, 106690 },
- { 0x541C, 107011 },
- { 0x541D, 106944 },
- { 0x541E, 106700 },
- { 0x541F, 106845 },
- { 0x5420, 106949 },
- { 0x5421, 106850 },
- { 0x5422, 106855 },
- { 0x5423, 106705 },
- { 0x5424, 106955 },
- { 0x5425, 106965 },
- { 0x5426, 106972 },
- { 0x5427, 106710 },
- { 0x5428, 106979 },
- { 0x5429, 106869 },
- { 0x542A, 106722 },
- { 0x542B, 106874 },
- { 0x542C, 106732 },
- { 0x542D, 106879 },
- { 0x542E, 106737 },
- { 0x542F, 106742 },
- { 0x5430, 106747 },
- { 0x5431, 106752 },
- { 0x5432, 106759 },
- { 0x5433, 106766 },
- { 0x5434, 106773 },
- { 0x5435, 106778 },
- { 0x5436, 106785 },
- { 0x5437, 106889 },
- { 0x5438, 106795 },
- { 0x5439, 106800 },
- { 0x543A, 106805 },
- { 0x543B, 106894 },
- { 0x543C, 106899 },
- { 0x543D, 106904 },
- { 0x543E, 106984 },
- { 0x543F, 106909 },
- { 0x5440, 106914 },
- { 0x5441, 107016 },
- { 0x5442, 106919 },
- { 0x5443, 106666 },
- { 0x5444, 106815 },
- { 0x5445, 106820 },
- { 0x5446, 106994 },
- { 0x5447, 106929 },
- { 0x5448, 106830 },
- { 0x5449, 108493 },
- { 0x544A, 108496 },
- { 0x544B, 108501 },
- { 0x544C, 109971 },
- { 0x544D, 109974 },
- { 0x544E, 109977 },
- { 0x544F, 109980 },
- { 0x5450, 109983 },
- { 0x5451, 108504 },
- { 0x5452, 108507 },
- { 0x5453, 108513 },
- { 0x5454, 108516 },
- { 0x5455, 108521 },
- { 0x5456, 109988 },
- { 0x5457, 109991 },
- { 0x5458, 110957 },
- { 0x5459, 110972 },
- { 0x545A, 110960 },
- { 0x545B, 110378 },
- { 0x545C, 107021 },
- { 0x545D, 107034 },
- { 0x545E, 107024 },
- { 0x545F, 107029 },
- { 0x5460, 108530 },
- { 0x5461, 108533 },
- { 0x5462, 110381 },
- { 0x5463, 109994 },
- { 0x5464, 110982 },
- { 0x5465, 110985 },
- { 0x5466, 107039 },
- { 0x5467, 107042 },
- { 0x5468, 108536 },
- { 0x5469, 108539 },
- { 0x546A, 108542 },
- { 0x546B, 108547 },
- { 0x546C, 108550 },
- { 0x546D, 108553 },
- { 0x546E, 108557 },
- { 0x546F, 108560 },
- { 0x5470, 108563 },
- { 0x5471, 110990 },
- { 0x5472, 110993 },
- { 0x5473, 107054 },
- { 0x5474, 110384 },
- { 0x5475, 110387 },
- { 0x5476, 110392 },
- { 0x5477, 110401 },
- { 0x5478, 110408 },
- { 0x5479, 110436 },
- { 0x547A, 110441 },
- { 0x547B, 110554 },
- { 0x547C, 110561 },
- { 0x547D, 110446 },
- { 0x547E, 110566 },
- { 0x547F, 110451 },
- { 0x5480, 110456 },
- { 0x5481, 110571 },
- { 0x5482, 110576 },
- { 0x5483, 110581 },
- { 0x5484, 110466 },
- { 0x5485, 110588 },
- { 0x5486, 110471 },
- { 0x5487, 110593 },
- { 0x5488, 110478 },
- { 0x5489, 110483 },
- { 0x548A, 110490 },
- { 0x548B, 110497 },
- { 0x548C, 110599 },
- { 0x548D, 110604 },
- { 0x548E, 110609 },
- { 0x548F, 110614 },
- { 0x5490, 110677 },
- { 0x5491, 110650 },
- { 0x5492, 110502 },
- { 0x5493, 110623 },
- { 0x5494, 110507 },
- { 0x5495, 110512 },
- { 0x5496, 110655 },
- { 0x5497, 110519 },
- { 0x5498, 110628 },
- { 0x5499, 110682 },
- { 0x549A, 110691 },
- { 0x549B, 110660 },
- { 0x549C, 110665 },
- { 0x549D, 110635 },
- { 0x549E, 110640 },
- { 0x549F, 110672 },
- { 0x54A0, 110524 },
- { 0x54A1, 110415 },
- { 0x54A2, 110420 },
- { 0x54A3, 110427 },
- { 0x54A4, 110535 },
- { 0x54A5, 110542 },
- { 0x54A6, 110645 },
- { 0x54A7, 110699 },
- { 0x54A8, 110703 },
- { 0x54A9, 110718 },
- { 0x54AA, 110723 },
- { 0x54AB, 110706 },
- { 0x54AC, 110710 },
- { 0x54AD, 110996 },
- { 0x54AE, 108568 },
- { 0x54AF, 108571 },
- { 0x54B0, 108576 },
- { 0x54B1, 108579 },
- { 0x54B2, 108584 },
- { 0x54B3, 107057 },
- { 0x54B4, 108591 },
- { 0x54B5, 110999 },
- { 0x54B6, 109997 },
- { 0x54B7, 107060 },
- { 0x54B8, 107063 },
- { 0x54B9, 108594 },
- { 0x54BA, 108607 },
- { 0x54BB, 108660 },
- { 0x54BC, 108694 },
- { 0x54BD, 108706 },
- { 0x54BE, 108712 },
- { 0x54BF, 108612 },
- { 0x54C0, 108619 },
- { 0x54C1, 108718 },
- { 0x54C2, 108723 },
- { 0x54C3, 108728 },
- { 0x54C4, 108624 },
- { 0x54C5, 108629 },
- { 0x54C6, 108752 },
- { 0x54C7, 108636 },
- { 0x54C8, 108643 },
- { 0x54C9, 108648 },
- { 0x54CA, 108653 },
- { 0x54CB, 108735 },
- { 0x54CC, 108747 },
- { 0x54CD, 108603 },
- { 0x54CE, 108771 },
- { 0x54CF, 108776 },
- { 0x54D0, 108767 },
- { 0x54D1, 108757 },
- { 0x54D2, 108781 },
- { 0x54D3, 110730 },
- { 0x54D4, 110733 },
- { 0x54D5, 110742 },
- { 0x54D6, 110738 },
- { 0x54D7, 108784 },
- { 0x54D8, 108787 },
- { 0x54D9, 108790 },
- { 0x54DA, 108793 },
- { 0x54DB, 108798 },
- { 0x54DC, 107068 },
- { 0x54DD, 107075 },
- { 0x54DE, 107071 },
- { 0x54DF, 108806 },
- { 0x54E0, 108809 },
- { 0x54E1, 108812 },
- { 0x54E2, 110000 },
- { 0x54E3, 110747 },
- { 0x54E4, 107080 },
- { 0x54E5, 108815 },
- { 0x54E6, 107083 },
- { 0x54E7, 108818 },
- { 0x54E8, 107091 },
- { 0x54E9, 107094 },
- { 0x54EA, 108821 },
- { 0x54EB, 108824 },
- { 0x54EC, 111002 },
- { 0x54ED, 111005 },
- { 0x54EE, 110006 },
- { 0x54EF, 110037 },
- { 0x54F0, 110047 },
- { 0x54F1, 110042 },
- { 0x54F2, 110009 },
- { 0x54F3, 110014 },
- { 0x54F4, 110052 },
- { 0x54F5, 110750 },
- { 0x54F6, 110757 },
- { 0x54F7, 110762 },
- { 0x54F8, 110769 },
- { 0x54F9, 110753 },
- { 0x54FA, 107099 },
- { 0x54FB, 108828 },
- { 0x54FC, 110057 },
- { 0x54FD, 110066 },
- { 0x54FE, 110060 },
- { 0x54FF, 110070 },
- { 0x5500, 110779 },
- { 0x5501, 108837 },
- { 0x5502, 108834 },
- { 0x5503, 110075 },
- { 0x5504, 107102 },
- { 0x5505, 107105 },
- { 0x5506, 107110 },
- { 0x5507, 107115 },
- { 0x5508, 107119 },
- { 0x5509, 107122 },
- { 0x550A, 108841 },
- { 0x550B, 108844 },
- { 0x550C, 108855 },
- { 0x550D, 108847 },
- { 0x550E, 111008 },
- { 0x550F, 111023 },
- { 0x5510, 111058 },
- { 0x5511, 111063 },
- { 0x5512, 111081 },
- { 0x5513, 111038 },
- { 0x5514, 111046 },
- { 0x5515, 111091 },
- { 0x5516, 111103 },
- { 0x5517, 111108 },
- { 0x5518, 111116 },
- { 0x5519, 111123 },
- { 0x551A, 111051 },
- { 0x551B, 111132 },
- { 0x551C, 110782 },
- { 0x551D, 107127 },
- { 0x551E, 110081 },
- { 0x551F, 108864 },
- { 0x5520, 108876 },
- { 0x5521, 108905 },
- { 0x5522, 108882 },
- { 0x5523, 108888 },
- { 0x5524, 108899 },
- { 0x5525, 108872 },
- { 0x5526, 108867 },
- { 0x5527, 108911 },
- { 0x5528, 108916 },
- { 0x5529, 110785 },
- { 0x552A, 110843 },
- { 0x552B, 110788 },
- { 0x552C, 110812 },
- { 0x552D, 110818 },
- { 0x552E, 110824 },
- { 0x552F, 110831 },
- { 0x5530, 110794 },
- { 0x5531, 110800 },
- { 0x5532, 110837 },
- { 0x5533, 110806 },
- { 0x5534, 110849 },
- { 0x5535, 110855 },
- { 0x5536, 107130 },
- { 0x5537, 108924 },
- { 0x5538, 108927 },
- { 0x5539, 108930 },
- { 0x553A, 110862 },
- { 0x553B, 107133 },
- { 0x553C, 107136 },
- { 0x553D, 107156 },
- { 0x553E, 107161 },
- { 0x553F, 107166 },
- { 0x5540, 107141 },
- { 0x5541, 107146 },
- { 0x5542, 107171 },
- { 0x5543, 107151 },
- { 0x5544, 107176 },
- { 0x5545, 107181 },
- { 0x5546, 110869 },
- { 0x5547, 110882 },
- { 0x5548, 110872 },
- { 0x5549, 110877 },
- { 0x554A, 110887 },
- { 0x554B, 107186 },
- { 0x554C, 108933 },
- { 0x554D, 107189 },
- { 0x554E, 107192 },
- { 0x554F, 107195 },
- { 0x5550, 109062 },
- { 0x5551, 108936 },
- { 0x5552, 108954 },
- { 0x5553, 108959 },
- { 0x5554, 108999 },
- { 0x5555, 108969 },
- { 0x5556, 109010 },
- { 0x5557, 109015 },
- { 0x5558, 109020 },
- { 0x5559, 108974 },
- { 0x555A, 109025 },
- { 0x555B, 109030 },
- { 0x555C, 109052 },
- { 0x555D, 109042 },
- { 0x555E, 108979 },
- { 0x555F, 108984 },
- { 0x5560, 108989 },
- { 0x5561, 108994 },
- { 0x5562, 109047 },
- { 0x5563, 108949 },
- { 0x5564, 108939 },
- { 0x5565, 109066 },
- { 0x5566, 109069 },
- { 0x5567, 111162 },
- { 0x5568, 109075 },
- { 0x5569, 109078 },
- { 0x556A, 110105 },
- { 0x556B, 110108 },
- { 0x556C, 110130 },
- { 0x556D, 110140 },
- { 0x556E, 110125 },
- { 0x556F, 110145 },
- { 0x5570, 110135 },
- { 0x5571, 110113 },
- { 0x5572, 110118 },
- { 0x5573, 110150 },
- { 0x5574, 110892 },
- { 0x5575, 110895 },
- { 0x5576, 109081 },
- { 0x5577, 109084 },
- { 0x5578, 109093 },
- { 0x5579, 109104 },
- { 0x557A, 110898 },
- { 0x557B, 110157 },
- { 0x557C, 110901 },
- { 0x557D, 111165 },
- { 0x557E, 111467 },
- { 0x557F, 110160 },
- { 0x5580, 110163 },
- { 0x5581, 110168 },
- { 0x5582, 110173 },
- { 0x5583, 110176 },
- { 0x5584, 110181 },
- { 0x5585, 110222 },
- { 0x5586, 110186 },
- { 0x5587, 110191 },
- { 0x5588, 110196 },
- { 0x5589, 110201 },
- { 0x558A, 110227 },
- { 0x558B, 110207 },
- { 0x558C, 110212 },
- { 0x558D, 110217 },
- { 0x558E, 111168 },
- { 0x558F, 110232 },
- { 0x5590, 110243 },
- { 0x5591, 110235 },
- { 0x5592, 110904 },
- { 0x5593, 109130 },
- { 0x5594, 109133 },
- { 0x5595, 110247 },
- { 0x5596, 111171 },
- { 0x5597, 107198 },
- { 0x5598, 107201 },
- { 0x5599, 109139 },
- { 0x559A, 110264 },
- { 0x559B, 110267 },
- { 0x559C, 110273 },
- { 0x559D, 110907 },
- { 0x559E, 107210 },
- { 0x559F, 107213 },
- { 0x55A0, 109142 },
- { 0x55A1, 110276 },
- { 0x55A2, 110910 },
- { 0x55A3, 109145 },
- { 0x55A4, 111174 },
- { 0x55A5, 109148 },
- { 0x55A6, 110279 },
- { 0x55A7, 107218 },
- { 0x55A8, 107235 },
- { 0x55A9, 107225 },
- { 0x55AA, 107230 },
- { 0x55AB, 107221 },
- { 0x55AC, 109151 },
- { 0x55AD, 109154 },
- { 0x55AE, 109165 },
- { 0x55AF, 109169 },
- { 0x55B0, 109172 },
- { 0x55B1, 109182 },
- { 0x55B2, 109187 },
- { 0x55B3, 109192 },
- { 0x55B4, 109197 },
- { 0x55B5, 109177 },
- { 0x55B6, 110282 },
- { 0x55B7, 109202 },
- { 0x55B8, 107239 },
- { 0x55B9, 107242 },
- { 0x55BA, 107246 },
- { 0x55BB, 107249 },
- { 0x55BC, 109208 },
- { 0x55BD, 109211 },
- { 0x55BE, 109230 },
- { 0x55BF, 109214 },
- { 0x55C0, 109219 },
- { 0x55C1, 107253 },
- { 0x55C2, 110290 },
- { 0x55C3, 109235 },
- { 0x55C4, 109238 },
- { 0x55C5, 109253 },
- { 0x55C6, 109256 },
- { 0x55C7, 106125 },
- { 0x55C8, 106137 },
- { 0x55C9, 106132 },
- { 0x55CA, 106151 },
- { 0x55CB, 106162 },
- { 0x55CC, 106141 },
- { 0x55CD, 107256 },
- { 0x55CE, 107259 },
- { 0x55CF, 107262 },
- { 0x55D0, 107298 },
- { 0x55D1, 107293 },
- { 0x55D2, 107288 },
- { 0x55D3, 107269 },
- { 0x55D4, 107278 },
- { 0x55D5, 107265 },
- { 0x55D6, 107302 },
- { 0x55D7, 107306 },
- { 0x55D8, 110293 },
- { 0x55D9, 107312 },
- { 0x55DA, 107337 },
- { 0x55DB, 107325 },
- { 0x55DC, 107332 },
- { 0x55DD, 107315 },
- { 0x55DE, 110913 },
- { 0x55DF, 110296 },
- { 0x55E0, 110304 },
- { 0x55E1, 110299 },
- { 0x55E2, 107342 },
- { 0x55E3, 107345 },
- { 0x55E4, 107349 },
- { 0x55E5, 107356 },
- { 0x55E6, 107352 },
- { 0x55E7, 109264 },
- { 0x55E8, 109267 },
- { 0x55E9, 109274 },
- { 0x55EA, 109281 },
- { 0x55EB, 109286 },
- { 0x55EC, 109315 },
- { 0x55ED, 109291 },
- { 0x55EE, 109303 },
- { 0x55EF, 109296 },
- { 0x55F0, 109324 },
- { 0x55F1, 109327 },
- { 0x55F2, 110309 },
- { 0x55F3, 109330 },
- { 0x55F4, 109333 },
- { 0x55F5, 109456 },
- { 0x55F6, 109385 },
- { 0x55F7, 109390 },
- { 0x55F8, 109345 },
- { 0x55F9, 109395 },
- { 0x55FA, 109435 },
- { 0x55FB, 109400 },
- { 0x55FC, 109350 },
- { 0x55FD, 109355 },
- { 0x55FE, 109405 },
- { 0x55FF, 109360 },
- { 0x5600, 109410 },
- { 0x5601, 109365 },
- { 0x5602, 109420 },
- { 0x5603, 109425 },
- { 0x5604, 109370 },
- { 0x5605, 109430 },
- { 0x5606, 109441 },
- { 0x5607, 109375 },
- { 0x5608, 109338 },
- { 0x5609, 109380 },
- { 0x560A, 109451 },
- { 0x560B, 110916 },
- { 0x560C, 110919 },
- { 0x560D, 109466 },
- { 0x560E, 109469 },
- { 0x560F, 109474 },
- { 0x5610, 109479 },
- { 0x5611, 109484 },
- { 0x5612, 110315 },
- { 0x5613, 110312 },
- { 0x5614, 111177 },
- { 0x5615, 110924 },
- { 0x5616, 109489 },
- { 0x5617, 109492 },
- { 0x5618, 109497 },
- { 0x5619, 107361 },
- { 0x561A, 107364 },
- { 0x561B, 107368 },
- { 0x561C, 109503 },
- { 0x561D, 110318 },
- { 0x561E, 109506 },
- { 0x561F, 107374 },
- { 0x5620, 107377 },
- { 0x5621, 109509 },
- { 0x5622, 109512 },
- { 0x5623, 109515 },
- { 0x5624, 109520 },
- { 0x5625, 110321 },
- { 0x5626, 107382 },
- { 0x5627, 109523 },
- { 0x5628, 109526 },
- { 0x5629, 110927 },
- { 0x562A, 109538 },
- { 0x562B, 108526 },
- { 0x562C, 106205 },
- { 0x562D, 107395 },
- { 0x562E, 109547 },
- { 0x562F, 107598 },
- { 0x5630, 109577 },
- { 0x5631, 109591 },
- { 0x5632, 107704 },
- { 0x5633, 109709 },
- { 0x5634, 109732 },
- { 0x5635, 107915 },
- { 0x5636, 108253 },
- { 0x5637, 109844 },
- { 0x5638, 108375 },
- { 0x5639, 109950 },
- { 0x563A, 107001 },
- { 0x563B, 106939 },
- { 0x563C, 106960 },
- { 0x563D, 106864 },
- { 0x563E, 106715 },
- { 0x563F, 106884 },
- { 0x5640, 106790 },
- { 0x5641, 106989 },
- { 0x5642, 106810 },
- { 0x5643, 106924 },
- { 0x5644, 110461 },
- { 0x5645, 108761 },
- { 0x5646, 108699 },
- { 0x5647, 108684 },
- { 0x5648, 110003 },
- { 0x5649, 110774 },
- { 0x564A, 108831 },
- { 0x564B, 108861 },
- { 0x564C, 110078 },
- { 0x564D, 111070 },
- { 0x564E, 111028 },
- { 0x564F, 110096 },
- { 0x5650, 110865 },
- { 0x5651, 110102 },
- { 0x5652, 109004 },
- { 0x5653, 109205 },
- { 0x5654, 107320 },
- { 0x5655, 106128 },
- { 0x5656, 111597 },
- { 0x5657, 112001 },
- { 0x5658, 111740 },
- { 0x5659, 111669 },
- { 0x565A, 111564 },
- { 0x565B, 111942 },
- { 0x565C, 111896 },
- { 0x565D, 111835 },
- { 0x565E, 112029 },
- { 0x565F, 111768 },
- { 0x5660, 111697 },
- { 0x5661, 111575 },
- { 0x5662, 111947 },
- { 0x5663, 111901 },
- { 0x5664, 111840 },
- { 0x5665, 111728 },
- { 0x5666, 111657 },
- { 0x5667, 111552 },
- { 0x5668, 111930 },
- { 0x5669, 111884 },
- { 0x566A, 111823 },
- { 0x566B, 111505 },
- { 0x566C, 111623 },
- { 0x566D, 112034 },
- { 0x566E, 111773 },
- { 0x566F, 111702 },
- { 0x5670, 111580 },
- { 0x5671, 111952 },
- { 0x5672, 111906 },
- { 0x5673, 111845 },
- { 0x5674, 111510 },
- { 0x5675, 111628 },
- { 0x5676, 112039 },
- { 0x5677, 111778 },
- { 0x5678, 111707 },
- { 0x5679, 111633 },
- { 0x567A, 112044 },
- { 0x567B, 112049 },
- { 0x567C, 111783 },
- { 0x567D, 111712 },
- { 0x567E, 111585 },
- { 0x567F, 111957 },
- { 0x5680, 111911 },
- { 0x5681, 111850 },
- { 0x5682, 111515 },
- { 0x5683, 111638 },
- { 0x5684, 112056 },
- { 0x5685, 112061 },
- { 0x5686, 111788 },
- { 0x5687, 111717 },
- { 0x5688, 111993 },
- { 0x5689, 111985 },
- { 0x568A, 111489 },
- { 0x568B, 111613 },
- { 0x568C, 112017 },
- { 0x568D, 112022 },
- { 0x568E, 111763 },
- { 0x568F, 111692 },
- { 0x5690, 112068 },
- { 0x5691, 112075 },
- { 0x5692, 111793 },
- { 0x5693, 111816 },
- { 0x5694, 111800 },
- { 0x5695, 111808 },
- { 0x5696, 111590 },
- { 0x5697, 111978 },
- { 0x5698, 111962 },
- { 0x5699, 111970 },
- { 0x569A, 111916 },
- { 0x569B, 111923 },
- { 0x569C, 111855 },
- { 0x569D, 111870 },
- { 0x569E, 111877 },
- { 0x569F, 111862 },
- { 0x56A0, 111602 },
- { 0x56A1, 112006 },
- { 0x56A2, 111745 },
- { 0x56A3, 111674 },
- { 0x56A4, 111569 },
- { 0x56A5, 111484 },
- { 0x56A6, 111608 },
- { 0x56A7, 112012 },
- { 0x56A8, 111751 },
- { 0x56A9, 111756 },
- { 0x56AA, 111680 },
- { 0x56AB, 111685 },
- { 0x56AC, 112108 },
- { 0x56AD, 112104 },
- { 0x56AE, 111500 },
- { 0x56AF, 111618 },
- { 0x56B0, 111520 },
- { 0x56B1, 111643 },
- { 0x56B2, 111722 },
- { 0x56B3, 111526 },
- { 0x56B4, 111649 },
- { 0x56B5, 111534 },
- { 0x56B6, 111540 },
- { 0x56B7, 111470 },
- { 0x56B8, 111477 },
- { 0x56B9, 111546 },
- { 0x56BA, 111494 },
- { 0x56BB, 112082 },
- { 0x56BC, 112088 },
- { 0x56BD, 112099 },
- { 0x56BE, 112094 },
- { 0x56BF, 111733 },
- { 0x56C0, 111662 },
- { 0x56C1, 111557 },
- { 0x56C2, 111935 },
- { 0x56C3, 111889 },
- { 0x56C4, 111828 },
- { 0x56C5, 112112 },
- { 0x56C6, 112134 },
- { 0x56C7, 112119 },
- { 0x56C8, 112124 },
- { 0x56C9, 112129 },
- { 0x56CA, 106210 },
- { 0x56CB, 106238 },
- { 0x56CC, 106256 },
- { 0x56CD, 107476 },
- { 0x56CE, 110946 },
- { 0x56CF, 110936 },
- { 0x56D0, 110941 },
- { 0x56D1, 106384 },
- { 0x56D2, 106399 },
- { 0x56D3, 107499 },
- { 0x56D4, 107681 },
- { 0x56D5, 107674 },
- { 0x56D6, 109583 },
- { 0x56D7, 107836 },
- { 0x56D8, 107758 },
- { 0x56D9, 107763 },
- { 0x56DA, 107770 },
- { 0x56DB, 107775 },
- { 0x56DC, 107841 },
- { 0x56DD, 107717 },
- { 0x56DE, 107722 },
- { 0x56DF, 107820 },
- { 0x56E0, 107826 },
- { 0x56E1, 107727 },
- { 0x56E2, 107732 },
- { 0x56E3, 107780 },
- { 0x56E4, 107846 },
- { 0x56E5, 107786 },
- { 0x56E6, 107851 },
- { 0x56E7, 107856 },
- { 0x56E8, 107863 },
- { 0x56E9, 107791 },
- { 0x56EA, 107796 },
- { 0x56EB, 107803 },
- { 0x56EC, 107831 },
- { 0x56ED, 107810 },
- { 0x56EE, 107737 },
- { 0x56EF, 107742 },
- { 0x56F0, 107747 },
- { 0x56F1, 107815 },
- { 0x56F2, 107752 },
- { 0x56F3, 106450 },
- { 0x56F4, 106455 },
- { 0x56F5, 110362 },
- { 0x56F6, 109629 },
- { 0x56F7, 109785 },
- { 0x56F8, 109761 },
- { 0x56F9, 109791 },
- { 0x56FA, 109767 },
- { 0x56FB, 109798 },
- { 0x56FC, 109773 },
- { 0x56FD, 109804 },
- { 0x56FE, 109779 },
- { 0x56FF, 109689 },
- { 0x5700, 108313 },
- { 0x5701, 108082 },
- { 0x5702, 108100 },
- { 0x5703, 108108 },
- { 0x5704, 108265 },
- { 0x5705, 107959 },
- { 0x5706, 108120 },
- { 0x5707, 108127 },
- { 0x5708, 107969 },
- { 0x5709, 108323 },
- { 0x570A, 108197 },
- { 0x570B, 108202 },
- { 0x570C, 108209 },
- { 0x570D, 108288 },
- { 0x570E, 108009 },
- { 0x570F, 108014 },
- { 0x5710, 108021 },
- { 0x5711, 108298 },
- { 0x5712, 108308 },
- { 0x5713, 109813 },
- { 0x5714, 111183 },
- { 0x5715, 109899 },
- { 0x5716, 108385 },
- { 0x5717, 108425 },
- { 0x5718, 106550 },
- { 0x5719, 106568 },
- { 0x571A, 106695 },
- { 0x571B, 106727 },
- { 0x571C, 106671 },
- { 0x571D, 106825 },
- { 0x571E, 110547 },
- { 0x571F, 111193 },
- { 0x5720, 111196 },
- { 0x5721, 111199 },
- { 0x5722, 111202 },
- { 0x5723, 111205 },
- { 0x5724, 111208 },
- { 0x5725, 111211 },
- { 0x5726, 111214 },
- { 0x5727, 111220 },
- { 0x5728, 111223 },
- { 0x5729, 111228 },
- { 0x572A, 111231 },
- { 0x572B, 111234 },
- { 0x572C, 111237 },
- { 0x572D, 111240 },
- { 0x572E, 111243 },
- { 0x572F, 111246 },
- { 0x5730, 111249 },
- { 0x5731, 111252 },
- { 0x5732, 111255 },
- { 0x5733, 111258 },
- { 0x5734, 111261 },
- { 0x5735, 111264 },
- { 0x5736, 111267 },
- { 0x5737, 111270 },
- { 0x5738, 111273 },
- { 0x5739, 111276 },
- { 0x573A, 111279 },
- { 0x573B, 111282 },
- { 0x573C, 111285 },
- { 0x573D, 111297 },
- { 0x573E, 111302 },
- { 0x573F, 111309 },
- { 0x5740, 111290 },
- { 0x5741, 111318 },
- { 0x5742, 111321 },
- { 0x5743, 111324 },
- { 0x5744, 111327 },
- { 0x5745, 111330 },
- { 0x5746, 111333 },
- { 0x5747, 111336 },
- { 0x5748, 111339 },
- { 0x5749, 111342 },
- { 0x574A, 111345 },
- { 0x574B, 111348 },
- { 0x574C, 111371 },
- { 0x574D, 111376 },
- { 0x574E, 111391 },
- { 0x574F, 111381 },
- { 0x5750, 111351 },
- { 0x5751, 111386 },
- { 0x5752, 111356 },
- { 0x5753, 111361 },
- { 0x5754, 111366 },
- { 0x5755, 111398 },
- { 0x5756, 111403 },
- { 0x5757, 111406 },
- { 0x5758, 111424 },
- { 0x5759, 111409 },
- { 0x575A, 111429 },
- { 0x575B, 111434 },
- { 0x575C, 111414 },
- { 0x575D, 111440 },
- { 0x575E, 111449 },
- { 0x575F, 111419 },
- { 0x5760, 111456 },
- { 0x5761, 111461 },
- { 0x5762, 111464 },
- { 0x5763, 108597 },
- { 0x5764, 108689 },
- { 0x5765, 108665 },
- { 0x5766, 108670 },
- { 0x5767, 108675 },
- { 0x5768, 108742 },
- { 0x5769, 107086 },
- { 0x576A, 110023 },
- { 0x576B, 110030 },
- { 0x576C, 111075 },
- { 0x576D, 111137 },
- { 0x576E, 111086 },
- { 0x576F, 111033 },
- { 0x5770, 111147 },
- { 0x5771, 111157 },
- { 0x5772, 111142 },
- { 0x5773, 111096 },
- { 0x5774, 111011 },
- { 0x5775, 111016 },
- { 0x5776, 111152 },
- { 0x5777, 108943 },
- { 0x5778, 108964 },
- { 0x5779, 109035 },
- { 0x577A, 109057 },
- { 0x577B, 110153 },
- { 0x577C, 109088 },
- { 0x577D, 109120 },
- { 0x577E, 109125 },
- { 0x577F, 109115 },
- { 0x5780, 110257 },
- { 0x5781, 110250 },
- { 0x5782, 107205 },
- { 0x5783, 110285 },
- { 0x5784, 109241 },
- { 0x5785, 109247 },
- { 0x5786, 109320 },
- { 0x5787, 109310 },
- { 0x5788, 109446 },
- { 0x5789, 109461 },
- { 0x578A, 109415 },
- { 0x578B, 109500 },
- { 0x578C, 107385 },
- { 0x578D, 109531 },
- { 0x578E, 125848 },
- { 0x578F, 125851 },
- { 0x5790, 125854 },
- { 0x5791, 125857 },
- { 0x5792, 125860 },
- { 0x5793, 125863 },
- { 0x5794, 125866 },
- { 0x5795, 125869 },
- { 0x5796, 125872 },
- { 0x5797, 125875 },
- { 0x5798, 125878 },
- { 0x5799, 126139 },
- { 0x579A, 125881 },
- { 0x579B, 125884 },
- { 0x579C, 125887 },
- { 0x579D, 125890 },
- { 0x579E, 125893 },
- { 0x579F, 125896 },
- { 0x57A0, 125899 },
- { 0x57A1, 125902 },
- { 0x57A2, 125905 },
- { 0x57A3, 125908 },
- { 0x57A4, 125911 },
- { 0x57A5, 125914 },
- { 0x57A6, 125917 },
- { 0x57A7, 125920 },
- { 0x57A8, 125923 },
- { 0x57A9, 125926 },
- { 0x57AA, 125929 },
- { 0x57AB, 125932 },
- { 0x57AC, 125935 },
- { 0x57AD, 125938 },
- { 0x57AE, 125941 },
- { 0x57AF, 125944 },
- { 0x57B0, 125947 },
- { 0x57B1, 125950 },
- { 0x57B2, 125953 },
- { 0x57B3, 125956 },
- { 0x57B4, 125959 },
- { 0x57B5, 125962 },
- { 0x57B6, 125965 },
- { 0x57B7, 125968 },
- { 0x57B8, 125971 },
- { 0x57B9, 125974 },
- { 0x57BA, 125977 },
- { 0x57BB, 125980 },
- { 0x57BC, 125983 },
- { 0x57BD, 125986 },
- { 0x57BE, 125989 },
- { 0x57BF, 125992 },
- { 0x57C0, 125995 },
- { 0x57C1, 125998 },
- { 0x57C2, 126001 },
- { 0x57C3, 126004 },
- { 0x57C4, 126007 },
- { 0x57C5, 126010 },
- { 0x57C6, 126013 },
- { 0x57C7, 126016 },
- { 0x57C8, 126019 },
- { 0x57C9, 126022 },
- { 0x57CA, 126025 },
- { 0x57CB, 126028 },
- { 0x57CC, 126142 },
- { 0x57CD, 126031 },
- { 0x57CE, 126034 },
- { 0x57CF, 126037 },
- { 0x57D0, 126040 },
- { 0x57D1, 126043 },
- { 0x57D2, 126046 },
- { 0x57D3, 126049 },
- { 0x57D4, 126052 },
- { 0x57D5, 126055 },
- { 0x57D6, 126058 },
- { 0x57D7, 126061 },
- { 0x57D8, 126064 },
- { 0x57D9, 126067 },
- { 0x57DA, 126070 },
- { 0x57DB, 126073 },
- { 0x57DC, 126076 },
- { 0x57DD, 126079 },
- { 0x57DE, 126082 },
- { 0x57DF, 126085 },
- { 0x57E0, 126088 },
- { 0x57E1, 126091 },
- { 0x57E2, 126094 },
- { 0x57E3, 126097 },
- { 0x57E4, 126100 },
- { 0x57E5, 126103 },
- { 0x57E6, 126106 },
- { 0x57E7, 126109 },
- { 0x57E8, 126112 },
- { 0x57E9, 126115 },
- { 0x57EA, 126118 },
- { 0x57EB, 126121 },
- { 0x57EC, 126124 },
- { 0x57ED, 126127 },
- { 0x57EE, 126130 },
- { 0x57EF, 126133 },
- { 0x57F0, 126136 },
- { 0x57F1, 86731 },
- { 0x57F2, 86734 },
- { 0x57F3, 86737 },
- { 0x57F4, 86740 },
- { 0x57F5, 86743 },
- { 0x57F6, 89032 },
- { 0x57F7, 86746 },
- { 0x57F8, 89035 },
- { 0x57F9, 89038 },
- { 0x57FA, 86749 },
- { 0x57FB, 86752 },
- { 0x57FC, 86755 },
- { 0x57FD, 86758 },
- { 0x57FE, 86761 },
- { 0x57FF, 86764 },
- { 0x5800, 86767 },
- { 0x5801, 86770 },
- { 0x5802, 89041 },
- { 0x5803, 86773 },
- { 0x5804, 86776 },
- { 0x5805, 86779 },
- { 0x5806, 89044 },
- { 0x5807, 86782 },
- { 0x5808, 86785 },
- { 0x5809, 86788 },
- { 0x580A, 86791 },
- { 0x580B, 86794 },
- { 0x580C, 86797 },
- { 0x580D, 86800 },
- { 0x580E, 86803 },
- { 0x580F, 86806 },
- { 0x5810, 86809 },
- { 0x5811, 86812 },
- { 0x5812, 86815 },
- { 0x5813, 86818 },
- { 0x5814, 86821 },
- { 0x5815, 86824 },
- { 0x5816, 89047 },
- { 0x5817, 86827 },
- { 0x5818, 86830 },
- { 0x5819, 86833 },
- { 0x581A, 86836 },
- { 0x581B, 86839 },
- { 0x581C, 86842 },
- { 0x581D, 86845 },
- { 0x581E, 86848 },
- { 0x581F, 89050 },
- { 0x5820, 86851 },
- { 0x5821, 86854 },
- { 0x5822, 89053 },
- { 0x5823, 86857 },
- { 0x5824, 89056 },
- { 0x5825, 86860 },
- { 0x5826, 86863 },
- { 0x5827, 89059 },
- { 0x5828, 86866 },
- { 0x5829, 86869 },
- { 0x582A, 86872 },
- { 0x582B, 86875 },
- { 0x582C, 86878 },
- { 0x582D, 86881 },
- { 0x582E, 86884 },
- { 0x582F, 86887 },
- { 0x5830, 86890 },
- { 0x5831, 86893 },
- { 0x5832, 86896 },
- { 0x5833, 86899 },
- { 0x5834, 86902 },
- { 0x5835, 86905 },
- { 0x5836, 86908 },
- { 0x5837, 86911 },
- { 0x5838, 86914 },
- { 0x5839, 86917 },
- { 0x583A, 86920 },
- { 0x583B, 86923 },
- { 0x583C, 86926 },
- { 0x583D, 86929 },
- { 0x583E, 86932 },
- { 0x583F, 86935 },
- { 0x5840, 86938 },
- { 0x5841, 86941 },
- { 0x5842, 86944 },
- { 0x5843, 86947 },
- { 0x5844, 86950 },
- { 0x5845, 86953 },
- { 0x5846, 89158 },
- { 0x5847, 86956 },
- { 0x5848, 86959 },
- { 0x5849, 86962 },
- { 0x584A, 86965 },
- { 0x584B, 86968 },
- { 0x584C, 86971 },
- { 0x584D, 89174 },
- { 0x584E, 89177 },
- { 0x584F, 89180 },
- { 0x5850, 86974 },
- { 0x5851, 86977 },
- { 0x5852, 86980 },
- { 0x5853, 86983 },
- { 0x5854, 86986 },
- { 0x5855, 86989 },
- { 0x5856, 86992 },
- { 0x5857, 86995 },
- { 0x5858, 89183 },
- { 0x5859, 86998 },
- { 0x585A, 87001 },
- { 0x585B, 87004 },
- { 0x585C, 87007 },
- { 0x585D, 87010 },
- { 0x585E, 87013 },
- { 0x585F, 87016 },
- { 0x5860, 87019 },
- { 0x5861, 87022 },
- { 0x5862, 87025 },
- { 0x5863, 87028 },
- { 0x5864, 87031 },
- { 0x5865, 87034 },
- { 0x5866, 87037 },
- { 0x5867, 87040 },
- { 0x5868, 87043 },
- { 0x5869, 87046 },
- { 0x586A, 87049 },
- { 0x586B, 87052 },
- { 0x586C, 87055 },
- { 0x586D, 87058 },
- { 0x586E, 87061 },
- { 0x586F, 89186 },
- { 0x5870, 87064 },
- { 0x5871, 87067 },
- { 0x5872, 87070 },
- { 0x5873, 87073 },
- { 0x5874, 87076 },
- { 0x5875, 87079 },
- { 0x5876, 87082 },
- { 0x5877, 87085 },
- { 0x5878, 87088 },
- { 0x5879, 87091 },
- { 0x587A, 87094 },
- { 0x587B, 87097 },
- { 0x587C, 87100 },
- { 0x587D, 87103 },
- { 0x587E, 87106 },
- { 0x587F, 87109 },
- { 0x5880, 87112 },
- { 0x5881, 87115 },
- { 0x5882, 87118 },
- { 0x5883, 89189 },
- { 0x5884, 87121 },
- { 0x5885, 87124 },
- { 0x5886, 87127 },
- { 0x5887, 87130 },
- { 0x5888, 89192 },
- { 0x5889, 87133 },
- { 0x588A, 87136 },
- { 0x588B, 87139 },
- { 0x588C, 89195 },
- { 0x588D, 87142 },
- { 0x588E, 87145 },
- { 0x588F, 87148 },
- { 0x5890, 87151 },
- { 0x5891, 87154 },
- { 0x5892, 87157 },
- { 0x5893, 87160 },
- { 0x5894, 87163 },
- { 0x5895, 87166 },
- { 0x5896, 87169 },
- { 0x5897, 87172 },
- { 0x5898, 87175 },
- { 0x5899, 89198 },
- { 0x589A, 87178 },
- { 0x589B, 87181 },
- { 0x589C, 89201 },
- { 0x589D, 87184 },
- { 0x589E, 87187 },
- { 0x589F, 89204 },
- { 0x58A0, 89207 },
- { 0x58A1, 89210 },
- { 0x58A2, 89213 },
- { 0x58A3, 89216 },
- { 0x58A4, 89219 },
- { 0x58A5, 89222 },
- { 0x58A6, 89225 },
- { 0x58A7, 89228 },
- { 0x58A8, 87190 },
- { 0x58A9, 87193 },
- { 0x58AA, 89231 },
- { 0x58AB, 87196 },
- { 0x58AC, 87199 },
- { 0x58AD, 89234 },
- { 0x58AE, 87202 },
- { 0x58AF, 87205 },
- { 0x58B0, 87208 },
- { 0x58B1, 87211 },
- { 0x58B2, 87214 },
- { 0x58B3, 87217 },
- { 0x58B4, 87220 },
- { 0x58B5, 87223 },
- { 0x58B6, 87226 },
- { 0x58B7, 87229 },
- { 0x58B8, 87232 },
- { 0x58B9, 87235 },
- { 0x58BA, 87238 },
- { 0x58BB, 89237 },
- { 0x58BC, 89240 },
- { 0x58BD, 89243 },
- { 0x58BE, 89246 },
- { 0x58BF, 89249 },
- { 0x58C0, 89252 },
- { 0x58C1, 89255 },
- { 0x58C2, 89258 },
- { 0x58C3, 87241 },
- { 0x58C4, 87244 },
- { 0x58C5, 87247 },
- { 0x58C6, 87250 },
- { 0x58C7, 87253 },
- { 0x58C8, 87256 },
- { 0x58C9, 87259 },
- { 0x58CA, 87262 },
- { 0x58CB, 89261 },
- { 0x58CC, 87265 },
- { 0x58CD, 89264 },
- { 0x58CE, 87268 },
- { 0x58CF, 87271 },
- { 0x58D0, 87274 },
- { 0x58D1, 87277 },
- { 0x58D2, 87280 },
- { 0x58D3, 87283 },
- { 0x58D4, 87286 },
- { 0x58D5, 89267 },
- { 0x58D6, 87289 },
- { 0x58D7, 89270 },
- { 0x58D8, 87292 },
- { 0x58D9, 87295 },
- { 0x58DA, 87298 },
- { 0x58DB, 89273 },
- { 0x58DC, 87301 },
- { 0x58DD, 87304 },
- { 0x58DE, 87307 },
- { 0x58DF, 87310 },
- { 0x58E0, 87313 },
- { 0x58E1, 87316 },
- { 0x58E2, 87319 },
- { 0x58E3, 87322 },
- { 0x58E4, 89276 },
- { 0x58E5, 87325 },
- { 0x58E6, 87328 },
- { 0x58E7, 87331 },
- { 0x58E8, 87334 },
- { 0x58E9, 87337 },
- { 0x58EA, 87340 },
- { 0x58EB, 89279 },
- { 0x58EC, 87343 },
- { 0x58ED, 87346 },
- { 0x58EE, 87349 },
- { 0x58EF, 87352 },
- { 0x58F0, 89282 },
- { 0x58F1, 87355 },
- { 0x58F2, 87358 },
- { 0x58F3, 87361 },
- { 0x58F4, 87364 },
- { 0x58F5, 87367 },
- { 0x58F6, 87370 },
- { 0x58F7, 87373 },
- { 0x58F8, 87376 },
- { 0x58F9, 87379 },
- { 0x58FA, 87382 },
- { 0x58FB, 87385 },
- { 0x58FC, 87388 },
- { 0x58FD, 89285 },
- { 0x58FE, 87391 },
- { 0x58FF, 87394 },
- { 0x5900, 87397 },
- { 0x5901, 87400 },
- { 0x5902, 87403 },
- { 0x5903, 87406 },
- { 0x5904, 87409 },
- { 0x5905, 87412 },
- { 0x5906, 89288 },
- { 0x5907, 87415 },
- { 0x5908, 87418 },
- { 0x5909, 87421 },
- { 0x590A, 87424 },
- { 0x590B, 87427 },
- { 0x590C, 87430 },
- { 0x590D, 87433 },
- { 0x590E, 87436 },
- { 0x590F, 87439 },
- { 0x5910, 87442 },
- { 0x5911, 89291 },
- { 0x5912, 87445 },
- { 0x5913, 87448 },
- { 0x5914, 87451 },
- { 0x5915, 87454 },
- { 0x5916, 87457 },
- { 0x5917, 87460 },
- { 0x5918, 89294 },
- { 0x5919, 87463 },
- { 0x591A, 89297 },
- { 0x591B, 87466 },
- { 0x591C, 87469 },
- { 0x591D, 87472 },
- { 0x591E, 87475 },
- { 0x591F, 87478 },
- { 0x5920, 87481 },
- { 0x5921, 87484 },
- { 0x5922, 89300 },
- { 0x5923, 87487 },
- { 0x5924, 89303 },
- { 0x5925, 87490 },
- { 0x5926, 89306 },
- { 0x5927, 87493 },
- { 0x5928, 87496 },
- { 0x5929, 87499 },
- { 0x592A, 87502 },
- { 0x592B, 89309 },
- { 0x592C, 89312 },
- { 0x592D, 89315 },
- { 0x592E, 87505 },
- { 0x592F, 87508 },
- { 0x5930, 87515 },
- { 0x5931, 87518 },
- { 0x5932, 87521 },
- { 0x5933, 87524 },
- { 0x5934, 87527 },
- { 0x5935, 87530 },
- { 0x5936, 89318 },
- { 0x5937, 87533 },
- { 0x5938, 89321 },
- { 0x5939, 89324 },
- { 0x593A, 87536 },
- { 0x593B, 87539 },
- { 0x593C, 87542 },
- { 0x593D, 87545 },
- { 0x593E, 89327 },
- { 0x593F, 87548 },
- { 0x5940, 87551 },
- { 0x5941, 87554 },
- { 0x5942, 87557 },
- { 0x5943, 87560 },
- { 0x5944, 87563 },
- { 0x5945, 87566 },
- { 0x5946, 87569 },
- { 0x5947, 87572 },
- { 0x5948, 89330 },
- { 0x5949, 87575 },
- { 0x594A, 87578 },
- { 0x594B, 87581 },
- { 0x594C, 87584 },
- { 0x594D, 87587 },
- { 0x594E, 87590 },
- { 0x594F, 89333 },
- { 0x5950, 87593 },
- { 0x5951, 87596 },
- { 0x5952, 87599 },
- { 0x5953, 87602 },
- { 0x5954, 87605 },
- { 0x5955, 87608 },
- { 0x5956, 87611 },
- { 0x5957, 87614 },
- { 0x5958, 87617 },
- { 0x5959, 87620 },
- { 0x595A, 89336 },
- { 0x595B, 87623 },
- { 0x595C, 89339 },
- { 0x595D, 87626 },
- { 0x595E, 87629 },
- { 0x595F, 87632 },
- { 0x5960, 87635 },
- { 0x5961, 87638 },
- { 0x5962, 87641 },
- { 0x5963, 89342 },
- { 0x5964, 87644 },
- { 0x5965, 87647 },
- { 0x5966, 89345 },
- { 0x5967, 87650 },
- { 0x5968, 87653 },
- { 0x5969, 87656 },
- { 0x596A, 87659 },
- { 0x596B, 87662 },
- { 0x596C, 87665 },
- { 0x596D, 87668 },
- { 0x596E, 87671 },
- { 0x596F, 87674 },
- { 0x5970, 87677 },
- { 0x5971, 87680 },
- { 0x5972, 87683 },
- { 0x5973, 87686 },
- { 0x5974, 87689 },
- { 0x5975, 87692 },
- { 0x5976, 89348 },
- { 0x5977, 87695 },
- { 0x5978, 87698 },
- { 0x5979, 87710 },
- { 0x597A, 87713 },
- { 0x597B, 87716 },
- { 0x597C, 87719 },
- { 0x597D, 87722 },
- { 0x597E, 89351 },
- { 0x597F, 87725 },
- { 0x5980, 87728 },
- { 0x5981, 87731 },
- { 0x5982, 87734 },
- { 0x5983, 89354 },
- { 0x5984, 87737 },
- { 0x5985, 89357 },
- { 0x5986, 87740 },
- { 0x5987, 89360 },
- { 0x5988, 87743 },
- { 0x5989, 87746 },
- { 0x598A, 87749 },
- { 0x598B, 87752 },
- { 0x598C, 87755 },
- { 0x598D, 87758 },
- { 0x598E, 87761 },
- { 0x598F, 87764 },
- { 0x5990, 87767 },
- { 0x5991, 87770 },
- { 0x5992, 87773 },
- { 0x5993, 87776 },
- { 0x5994, 87779 },
- { 0x5995, 87782 },
- { 0x5996, 89363 },
- { 0x5997, 87785 },
- { 0x5998, 87788 },
- { 0x5999, 87791 },
- { 0x599A, 87794 },
- { 0x599B, 89366 },
- { 0x599C, 87797 },
- { 0x599D, 87800 },
- { 0x599E, 87807 },
- { 0x599F, 89369 },
- { 0x59A0, 89372 },
- { 0x59A1, 87810 },
- { 0x59A2, 87813 },
- { 0x59A3, 89375 },
- { 0x59A4, 87816 },
- { 0x59A5, 87819 },
- { 0x59A6, 87822 },
- { 0x59A7, 87825 },
- { 0x59A8, 87828 },
- { 0x59A9, 87831 },
- { 0x59AA, 87834 },
- { 0x59AB, 89378 },
- { 0x59AC, 87837 },
- { 0x59AD, 87840 },
- { 0x59AE, 89381 },
- { 0x59AF, 89384 },
- { 0x59B0, 89387 },
- { 0x59B1, 89390 },
- { 0x59B2, 89393 },
- { 0x59B3, 89396 },
- { 0x59B4, 89399 },
- { 0x59B5, 89402 },
- { 0x59B6, 87843 },
- { 0x59B7, 87846 },
- { 0x59B8, 87849 },
- { 0x59B9, 89405 },
- { 0x59BA, 87852 },
- { 0x59BB, 89408 },
- { 0x59BC, 87855 },
- { 0x59BD, 89411 },
- { 0x59BE, 87858 },
- { 0x59BF, 87861 },
- { 0x59C0, 87864 },
- { 0x59C1, 87867 },
- { 0x59C2, 87870 },
- { 0x59C3, 89414 },
- { 0x59C4, 87873 },
- { 0x59C5, 87876 },
- { 0x59C6, 89417 },
- { 0x59C7, 87879 },
- { 0x59C8, 87882 },
- { 0x59C9, 87885 },
- { 0x59CA, 87888 },
- { 0x59CB, 89420 },
- { 0x59CC, 87891 },
- { 0x59CD, 87894 },
- { 0x59CE, 87897 },
- { 0x59CF, 89423 },
- { 0x59D0, 87900 },
- { 0x59D1, 87903 },
- { 0x59D2, 89426 },
- { 0x59D3, 89429 },
- { 0x59D4, 87906 },
- { 0x59D5, 87909 },
- { 0x59D6, 87912 },
- { 0x59D7, 87915 },
- { 0x59D8, 87918 },
- { 0x59D9, 87921 },
- { 0x59DA, 87924 },
- { 0x59DB, 89432 },
- { 0x59DC, 87927 },
- { 0x59DD, 87930 },
- { 0x59DE, 87933 },
- { 0x59DF, 87936 },
- { 0x59E0, 87939 },
- { 0x59E1, 87942 },
- { 0x59E2, 87945 },
- { 0x59E3, 87948 },
- { 0x59E4, 87951 },
- { 0x59E5, 87954 },
- { 0x59E6, 87957 },
- { 0x59E7, 87960 },
- { 0x59E8, 87963 },
- { 0x59E9, 87966 },
- { 0x59EA, 87969 },
- { 0x59EB, 87972 },
- { 0x59EC, 87975 },
- { 0x59ED, 87978 },
- { 0x59EE, 87981 },
- { 0x59EF, 87984 },
- { 0x59F0, 87987 },
- { 0x59F1, 87990 },
- { 0x59F2, 89435 },
- { 0x59F3, 89438 },
- { 0x59F4, 87993 },
- { 0x59F5, 87996 },
- { 0x59F6, 87999 },
- { 0x59F7, 88002 },
- { 0x59F8, 88005 },
- { 0x59F9, 88008 },
- { 0x59FA, 88011 },
- { 0x59FB, 89441 },
- { 0x59FC, 88014 },
- { 0x59FD, 88017 },
- { 0x59FE, 88020 },
- { 0x59FF, 88023 },
- { 0x5A00, 88026 },
- { 0x5A01, 88029 },
- { 0x5A02, 88032 },
- { 0x5A03, 88035 },
- { 0x5A04, 89444 },
- { 0x5A05, 88038 },
- { 0x5A06, 89447 },
- { 0x5A07, 88041 },
- { 0x5A08, 89450 },
- { 0x5A09, 88044 },
- { 0x5A0A, 88047 },
- { 0x5A0B, 89453 },
- { 0x5A0C, 88050 },
- { 0x5A0D, 88053 },
- { 0x5A0E, 88056 },
- { 0x5A0F, 88059 },
- { 0x5A10, 88062 },
- { 0x5A11, 89456 },
- { 0x5A12, 89459 },
- { 0x5A13, 89462 },
- { 0x5A14, 89465 },
- { 0x5A15, 89468 },
- { 0x5A16, 90012 },
- { 0x5A17, 89471 },
- { 0x5A18, 89474 },
- { 0x5A19, 89477 },
- { 0x5A1A, 89480 },
- { 0x5A1B, 89483 },
- { 0x5A1C, 89486 },
- { 0x5A1D, 89489 },
- { 0x5A1E, 89492 },
- { 0x5A1F, 89495 },
- { 0x5A20, 89498 },
- { 0x5A21, 89501 },
- { 0x5A22, 89504 },
- { 0x5A23, 90015 },
- { 0x5A24, 89507 },
- { 0x5A25, 89510 },
- { 0x5A26, 89513 },
- { 0x5A27, 89516 },
- { 0x5A28, 89519 },
- { 0x5A29, 89522 },
- { 0x5A2A, 89525 },
- { 0x5A2B, 89528 },
- { 0x5A2C, 89531 },
- { 0x5A2D, 89534 },
- { 0x5A2E, 89537 },
- { 0x5A2F, 89540 },
- { 0x5A30, 89543 },
- { 0x5A31, 90018 },
- { 0x5A32, 89546 },
- { 0x5A33, 90021 },
- { 0x5A34, 89549 },
- { 0x5A35, 89552 },
- { 0x5A36, 89555 },
- { 0x5A37, 89558 },
- { 0x5A38, 89561 },
- { 0x5A39, 89564 },
- { 0x5A3A, 89567 },
- { 0x5A3B, 90024 },
- { 0x5A3C, 89570 },
- { 0x5A3D, 89573 },
- { 0x5A3E, 89576 },
- { 0x5A3F, 89579 },
- { 0x5A40, 90027 },
- { 0x5A41, 88065 },
- { 0x5A42, 89582 },
- { 0x5A43, 88068 },
- { 0x5A44, 88071 },
- { 0x5A45, 88074 },
- { 0x5A46, 88077 },
- { 0x5A47, 89585 },
- { 0x5A48, 88080 },
- { 0x5A49, 89588 },
- { 0x5A4A, 89591 },
- { 0x5A4B, 89594 },
- { 0x5A4C, 89597 },
- { 0x5A4D, 89600 },
- { 0x5A4E, 89603 },
- { 0x5A4F, 88083 },
- { 0x5A50, 88086 },
- { 0x5A51, 88089 },
- { 0x5A52, 88092 },
- { 0x5A53, 89606 },
- { 0x5A54, 89609 },
- { 0x5A55, 89612 },
- { 0x5A56, 88095 },
- { 0x5A57, 88098 },
- { 0x5A58, 88101 },
- { 0x5A59, 88104 },
- { 0x5A5A, 88107 },
- { 0x5A5B, 88110 },
- { 0x5A5C, 88113 },
- { 0x5A5D, 88116 },
- { 0x5A5E, 88119 },
- { 0x5A5F, 89615 },
- { 0x5A60, 88122 },
- { 0x5A61, 89618 },
- { 0x5A62, 88125 },
- { 0x5A63, 88128 },
- { 0x5A64, 88131 },
- { 0x5A65, 88134 },
- { 0x5A66, 89621 },
- { 0x5A67, 88137 },
- { 0x5A68, 89624 },
- { 0x5A69, 88140 },
- { 0x5A6A, 88143 },
- { 0x5A6B, 88146 },
- { 0x5A6C, 88149 },
- { 0x5A6D, 89627 },
- { 0x5A6E, 88152 },
- { 0x5A6F, 89630 },
- { 0x5A70, 88155 },
- { 0x5A71, 88158 },
- { 0x5A72, 88161 },
- { 0x5A73, 89633 },
- { 0x5A74, 88164 },
- { 0x5A75, 88167 },
- { 0x5A76, 88170 },
- { 0x5A77, 89636 },
- { 0x5A78, 89639 },
- { 0x5A79, 89642 },
- { 0x5A7A, 89645 },
- { 0x5A7B, 88173 },
- { 0x5A7C, 88176 },
- { 0x5A7D, 88179 },
- { 0x5A7E, 88182 },
- { 0x5A7F, 88185 },
- { 0x5A80, 88188 },
- { 0x5A81, 88191 },
- { 0x5A82, 88194 },
- { 0x5A83, 88197 },
- { 0x5A84, 88200 },
- { 0x5A85, 88203 },
- { 0x5A86, 88206 },
- { 0x5A87, 88209 },
- { 0x5A88, 88212 },
- { 0x5A89, 89648 },
- { 0x5A8A, 89651 },
- { 0x5A8B, 88215 },
- { 0x5A8C, 88218 },
- { 0x5A8D, 89654 },
- { 0x5A8E, 88221 },
- { 0x5A8F, 88224 },
- { 0x5A90, 89657 },
- { 0x5A91, 88227 },
- { 0x5A92, 88230 },
- { 0x5A93, 88233 },
- { 0x5A94, 88236 },
- { 0x5A95, 88239 },
- { 0x5A96, 88242 },
- { 0x5A97, 88245 },
- { 0x5A98, 88248 },
- { 0x5A99, 88251 },
- { 0x5A9A, 88254 },
- { 0x5A9B, 88257 },
- { 0x5A9C, 88260 },
- { 0x5A9D, 88263 },
- { 0x5A9E, 88266 },
- { 0x5A9F, 88269 },
- { 0x5AA0, 88272 },
- { 0x5AA1, 88275 },
- { 0x5AA2, 89660 },
- { 0x5AA3, 88278 },
- { 0x5AA4, 89663 },
- { 0x5AA5, 89666 },
- { 0x5AA6, 88281 },
- { 0x5AA7, 88284 },
- { 0x5AA8, 88287 },
- { 0x5AA9, 88290 },
- { 0x5AAA, 88293 },
- { 0x5AAB, 88296 },
- { 0x5AAC, 88299 },
- { 0x5AAD, 89669 },
- { 0x5AAE, 88302 },
- { 0x5AAF, 88305 },
- { 0x5AB0, 88308 },
- { 0x5AB1, 88311 },
- { 0x5AB2, 88314 },
- { 0x5AB3, 88317 },
- { 0x5AB4, 89672 },
- { 0x5AB5, 88320 },
- { 0x5AB6, 88323 },
- { 0x5AB7, 88326 },
- { 0x5AB8, 88329 },
- { 0x5AB9, 88332 },
- { 0x5ABA, 88335 },
- { 0x5ABB, 88338 },
- { 0x5ABC, 88341 },
- { 0x5ABD, 88344 },
- { 0x5ABE, 88347 },
- { 0x5ABF, 88350 },
- { 0x5AC0, 88353 },
- { 0x5AC1, 88356 },
- { 0x5AC2, 88359 },
- { 0x5AC3, 88362 },
- { 0x5AC4, 89675 },
- { 0x5AC5, 88365 },
- { 0x5AC6, 88368 },
- { 0x5AC7, 88371 },
- { 0x5AC8, 88374 },
- { 0x5AC9, 89678 },
- { 0x5ACA, 88377 },
- { 0x5ACB, 88380 },
- { 0x5ACC, 88383 },
- { 0x5ACD, 88386 },
- { 0x5ACE, 88389 },
- { 0x5ACF, 88392 },
- { 0x5AD0, 88395 },
- { 0x5AD1, 88398 },
- { 0x5AD2, 89681 },
- { 0x5AD3, 89684 },
- { 0x5AD4, 88401 },
- { 0x5AD5, 88404 },
- { 0x5AD6, 88407 },
- { 0x5AD7, 89687 },
- { 0x5AD8, 88410 },
- { 0x5AD9, 88413 },
- { 0x5ADA, 88416 },
- { 0x5ADB, 88419 },
- { 0x5ADC, 88422 },
- { 0x5ADD, 88425 },
- { 0x5ADE, 88428 },
- { 0x5ADF, 88431 },
- { 0x5AE0, 88434 },
- { 0x5AE1, 89690 },
- { 0x5AE2, 89693 },
- { 0x5AE3, 88437 },
- { 0x5AE4, 88440 },
- { 0x5AE5, 88443 },
- { 0x5AE6, 88446 },
- { 0x5AE7, 88449 },
- { 0x5AE8, 88452 },
- { 0x5AE9, 88455 },
- { 0x5AEA, 88458 },
- { 0x5AEB, 88461 },
- { 0x5AEC, 89696 },
- { 0x5AED, 88464 },
- { 0x5AEE, 88467 },
- { 0x5AEF, 88470 },
- { 0x5AF0, 88473 },
- { 0x5AF1, 88476 },
- { 0x5AF2, 88479 },
- { 0x5AF3, 88482 },
- { 0x5AF4, 88485 },
- { 0x5AF5, 88488 },
- { 0x5AF6, 88491 },
- { 0x5AF7, 88494 },
- { 0x5AF8, 88497 },
- { 0x5AF9, 88500 },
- { 0x5AFA, 88503 },
- { 0x5AFB, 89699 },
- { 0x5AFC, 88506 },
- { 0x5AFD, 88509 },
- { 0x5AFE, 88512 },
- { 0x5AFF, 88515 },
- { 0x5B00, 89702 },
- { 0x5B01, 88518 },
- { 0x5B02, 89705 },
- { 0x5B03, 88521 },
- { 0x5B04, 89708 },
- { 0x5B05, 88524 },
- { 0x5B06, 88527 },
- { 0x5B07, 89711 },
- { 0x5B08, 88530 },
- { 0x5B09, 88533 },
- { 0x5B0A, 88536 },
- { 0x5B0B, 88539 },
- { 0x5B0C, 88542 },
- { 0x5B0D, 89714 },
- { 0x5B0E, 88545 },
- { 0x5B0F, 88548 },
- { 0x5B10, 88551 },
- { 0x5B11, 88554 },
- { 0x5B12, 88557 },
- { 0x5B13, 88560 },
- { 0x5B14, 88563 },
- { 0x5B15, 88566 },
- { 0x5B16, 88569 },
- { 0x5B17, 88572 },
- { 0x5B18, 88575 },
- { 0x5B19, 88578 },
- { 0x5B1A, 88581 },
- { 0x5B1B, 88584 },
- { 0x5B1C, 88587 },
- { 0x5B1D, 88590 },
- { 0x5B1E, 89717 },
- { 0x5B1F, 88593 },
- { 0x5B20, 89720 },
- { 0x5B21, 88596 },
- { 0x5B22, 88599 },
- { 0x5B23, 88602 },
- { 0x5B24, 88610 },
- { 0x5B25, 88613 },
- { 0x5B26, 88616 },
- { 0x5B27, 88619 },
- { 0x5B28, 88622 },
- { 0x5B29, 88625 },
- { 0x5B2A, 89723 },
- { 0x5B2B, 89726 },
- { 0x5B2C, 88628 },
- { 0x5B2D, 88631 },
- { 0x5B2E, 88634 },
- { 0x5B2F, 88637 },
- { 0x5B30, 88640 },
- { 0x5B31, 88643 },
- { 0x5B32, 88646 },
- { 0x5B33, 88649 },
- { 0x5B34, 88652 },
- { 0x5B35, 88655 },
- { 0x5B36, 88658 },
- { 0x5B37, 88661 },
- { 0x5B38, 88664 },
- { 0x5B39, 88667 },
- { 0x5B3A, 88670 },
- { 0x5B3B, 88673 },
- { 0x5B3C, 88676 },
- { 0x5B3D, 89729 },
- { 0x5B3E, 88679 },
- { 0x5B3F, 88682 },
- { 0x5B40, 88685 },
- { 0x5B41, 88688 },
- { 0x5B42, 88691 },
- { 0x5B43, 88694 },
- { 0x5B44, 89732 },
- { 0x5B45, 88697 },
- { 0x5B46, 88700 },
- { 0x5B47, 88703 },
- { 0x5B48, 89735 },
- { 0x5B49, 88706 },
- { 0x5B4A, 88709 },
- { 0x5B4B, 88712 },
- { 0x5B4C, 88715 },
- { 0x5B4D, 88718 },
- { 0x5B4E, 88721 },
- { 0x5B4F, 88724 },
- { 0x5B50, 88727 },
- { 0x5B51, 88730 },
- { 0x5B52, 88733 },
- { 0x5B53, 88736 },
- { 0x5B54, 89738 },
- { 0x5B55, 89741 },
- { 0x5B56, 89744 },
- { 0x5B57, 89747 },
- { 0x5B58, 89750 },
- { 0x5B59, 89753 },
- { 0x5B5A, 89756 },
- { 0x5B5B, 89759 },
- { 0x5B5C, 89762 },
- { 0x5B5D, 88739 },
- { 0x5B5E, 89765 },
- { 0x5B5F, 88742 },
- { 0x5B60, 88745 },
- { 0x5B61, 88748 },
- { 0x5B62, 88751 },
- { 0x5B63, 88754 },
- { 0x5B64, 89768 },
- { 0x5B65, 89771 },
- { 0x5B66, 88757 },
- { 0x5B67, 88760 },
- { 0x5B68, 88763 },
- { 0x5B69, 88766 },
- { 0x5B6A, 89774 },
- { 0x5B6B, 89777 },
- { 0x5B6C, 89780 },
- { 0x5B6D, 88769 },
- { 0x5B6E, 89786 },
- { 0x5B6F, 89789 },
- { 0x5B70, 88772 },
- { 0x5B71, 88775 },
- { 0x5B72, 88778 },
- { 0x5B73, 88781 },
- { 0x5B74, 88784 },
- { 0x5B75, 88787 },
- { 0x5B76, 88790 },
- { 0x5B77, 88793 },
- { 0x5B78, 89792 },
- { 0x5B79, 89795 },
- { 0x5B7A, 89798 },
- { 0x5B7B, 89801 },
- { 0x5B7C, 89804 },
- { 0x5B7D, 89807 },
- { 0x5B7E, 89810 },
- { 0x5B7F, 89813 },
- { 0x5B80, 89816 },
- { 0x5B81, 89819 },
- { 0x5B82, 89822 },
- { 0x5B83, 89825 },
- { 0x5B84, 88796 },
- { 0x5B85, 88799 },
- { 0x5B86, 88802 },
- { 0x5B87, 89828 },
- { 0x5B88, 88805 },
- { 0x5B89, 88808 },
- { 0x5B8A, 88811 },
- { 0x5B8B, 88814 },
- { 0x5B8C, 88817 },
- { 0x5B8D, 89831 },
- { 0x5B8E, 88820 },
- { 0x5B8F, 89834 },
- { 0x5B90, 88823 },
- { 0x5B91, 89837 },
- { 0x5B92, 88826 },
- { 0x5B93, 89840 },
- { 0x5B94, 88829 },
- { 0x5B95, 88832 },
- { 0x5B96, 89843 },
- { 0x5B97, 88835 },
- { 0x5B98, 88838 },
- { 0x5B99, 88841 },
- { 0x5B9A, 88844 },
- { 0x5B9B, 89846 },
- { 0x5B9C, 88847 },
- { 0x5B9D, 88850 },
- { 0x5B9E, 88853 },
- { 0x5B9F, 89849 },
- { 0x5BA0, 88856 },
- { 0x5BA1, 88859 },
- { 0x5BA2, 88862 },
- { 0x5BA3, 89852 },
- { 0x5BA4, 88865 },
- { 0x5BA5, 88868 },
- { 0x5BA6, 88871 },
- { 0x5BA7, 88874 },
- { 0x5BA8, 88877 },
- { 0x5BA9, 88880 },
- { 0x5BAA, 89855 },
- { 0x5BAB, 88883 },
- { 0x5BAC, 89858 },
- { 0x5BAD, 88886 },
- { 0x5BAE, 88889 },
- { 0x5BAF, 88892 },
- { 0x5BB0, 88895 },
- { 0x5BB1, 89861 },
- { 0x5BB2, 88898 },
- { 0x5BB3, 88901 },
- { 0x5BB4, 88904 },
- { 0x5BB5, 89864 },
- { 0x5BB6, 88907 },
- { 0x5BB7, 89867 },
- { 0x5BB8, 88910 },
- { 0x5BB9, 88913 },
- { 0x5BBA, 88916 },
- { 0x5BBB, 88919 },
- { 0x5BBC, 88922 },
- { 0x5BBD, 88925 },
- { 0x5BBE, 89870 },
- { 0x5BBF, 88928 },
- { 0x5BC0, 88936 },
- { 0x5BC1, 88939 },
- { 0x5BC2, 88942 },
- { 0x5BC3, 88945 },
- { 0x5BC4, 89873 },
- { 0x5BC5, 89876 },
- { 0x5BC6, 88948 },
- { 0x5BC7, 88951 },
- { 0x5BC8, 89879 },
- { 0x5BC9, 88954 },
- { 0x5BCA, 88957 },
- { 0x5BCB, 89882 },
- { 0x5BCC, 88960 },
- { 0x5BCD, 89885 },
- { 0x5BCE, 88963 },
- { 0x5BCF, 88966 },
- { 0x5BD0, 88969 },
- { 0x5BD1, 88972 },
- { 0x5BD2, 88975 },
- { 0x5BD3, 88978 },
- { 0x5BD4, 88981 },
- { 0x5BD5, 88984 },
- { 0x5BD6, 88987 },
- { 0x5BD7, 89888 },
- { 0x5BD8, 89891 },
- { 0x5BD9, 89894 },
- { 0x5BDA, 89897 },
- { 0x5BDB, 88990 },
- { 0x5BDC, 89900 },
- { 0x5BDD, 89903 },
- { 0x5BDE, 88993 },
- { 0x5BDF, 89906 },
- { 0x5BE0, 88996 },
- { 0x5BE1, 89909 },
- { 0x5BE2, 88999 },
- { 0x5BE3, 89002 },
- { 0x5BE4, 89005 },
- { 0x5BE5, 89008 },
- { 0x5BE6, 89011 },
- { 0x5BE7, 89014 },
- { 0x5BE8, 89017 },
- { 0x5BE9, 89020 },
- { 0x5BEA, 89023 },
- { 0x5BEB, 89026 },
- { 0x5BEC, 89912 },
- { 0x5BED, 89915 },
- { 0x5BEE, 89918 },
- { 0x5BEF, 89921 },
- { 0x5BF0, 89924 },
- { 0x5BF1, 89927 },
- { 0x5BF2, 89930 },
- { 0x5BF3, 89933 },
- { 0x5BF4, 89936 },
- { 0x5BF5, 89029 },
- { 0x5BF6, 89939 },
- { 0x5BF7, 89942 },
- { 0x5BF8, 89945 },
- { 0x5BF9, 89948 },
- { 0x5BFA, 89951 },
- { 0x5BFB, 89954 },
- { 0x5BFC, 89957 },
- { 0x5BFD, 89960 },
- { 0x5BFE, 89062 },
- { 0x5BFF, 89065 },
- { 0x5C00, 89068 },
- { 0x5C01, 89071 },
- { 0x5C02, 89074 },
- { 0x5C03, 89077 },
- { 0x5C04, 89080 },
- { 0x5C05, 89963 },
- { 0x5C06, 89966 },
- { 0x5C07, 89083 },
- { 0x5C08, 89086 },
- { 0x5C09, 89089 },
- { 0x5C0A, 89092 },
- { 0x5C0B, 89095 },
- { 0x5C0C, 89098 },
- { 0x5C0D, 89101 },
- { 0x5C0E, 89104 },
- { 0x5C0F, 89107 },
- { 0x5C10, 89110 },
- { 0x5C11, 89113 },
- { 0x5C12, 89116 },
- { 0x5C13, 89119 },
- { 0x5C14, 89122 },
- { 0x5C15, 89125 },
- { 0x5C16, 89128 },
- { 0x5C17, 89131 },
- { 0x5C18, 89134 },
- { 0x5C19, 89137 },
- { 0x5C1A, 89140 },
- { 0x5C1B, 89143 },
- { 0x5C1C, 89146 },
- { 0x5C1D, 89149 },
- { 0x5C1E, 89152 },
- { 0x5C1F, 89155 },
- { 0x5C20, 89783 },
- { 0x5C21, 90142 },
- { 0x5C22, 90146 },
- { 0x5C23, 89980 },
- { 0x5C24, 89997 },
- { 0x5C25, 89974 },
- { 0x5C26, 89991 },
- { 0x5C27, 90030 },
- { 0x5C28, 89166 },
- { 0x5C29, 86723 },
- { 0x5C2A, 90003 },
- { 0x5C2B, 89969 },
- { 0x5C2C, 89986 },
- { 0x5C2D, 89170 },
- { 0x5C2E, 86727 },
- { 0x5C2F, 89161 },
- { 0x5C30, 86718 },
- { 0x5C31, 90008 },
- { 0x5C32, 87511 },
- { 0x5C33, 87706 },
- { 0x5C34, 87803 },
- { 0x5C35, 87701 },
- { 0x5C36, 88605 },
- { 0x5C37, 88931 },
- { 0x5C38, 90065 },
- { 0x5C39, 90125 },
- { 0x5C3A, 90082 },
- { 0x5C3B, 90058 },
- { 0x5C3C, 90044 },
- { 0x5C3D, 90132 },
- { 0x5C3E, 90088 },
- { 0x5C3F, 90118 },
- { 0x5C40, 90072 },
- { 0x5C41, 90104 },
- { 0x5C42, 90096 },
- { 0x5C43, 90038 },
- { 0x5C44, 90050 },
- { 0x5C45, 90110 },
- { 0x5C46, 90034 },
- { 0x5C47, 100791 },
- { 0x5C48, 100794 },
- { 0x5C49, 100797 },
- { 0x5C4A, 100800 },
- { 0x5C4B, 100803 },
- { 0x5C4C, 100806 },
- { 0x5C4D, 100809 },
- { 0x5C4E, 100812 },
- { 0x5C4F, 100815 },
- { 0x5C50, 100818 },
- { 0x5C51, 102376 },
- { 0x5C52, 100821 },
- { 0x5C53, 100824 },
- { 0x5C54, 100827 },
- { 0x5C55, 100830 },
- { 0x5C56, 100833 },
- { 0x5C57, 100836 },
- { 0x5C58, 100839 },
- { 0x5C59, 100842 },
- { 0x5C5A, 100845 },
- { 0x5C5B, 100848 },
- { 0x5C5C, 100851 },
- { 0x5C5D, 100854 },
- { 0x5C5E, 100857 },
- { 0x5C5F, 100860 },
- { 0x5C60, 100863 },
- { 0x5C61, 100866 },
- { 0x5C62, 102379 },
- { 0x5C63, 100869 },
- { 0x5C64, 100872 },
- { 0x5C65, 100875 },
- { 0x5C66, 100878 },
- { 0x5C67, 100881 },
- { 0x5C68, 100884 },
- { 0x5C69, 100887 },
- { 0x5C6A, 100890 },
- { 0x5C6B, 100893 },
- { 0x5C6C, 100896 },
- { 0x5C6D, 100899 },
- { 0x5C6E, 100902 },
- { 0x5C6F, 100905 },
- { 0x5C70, 102382 },
- { 0x5C71, 100908 },
- { 0x5C72, 100911 },
- { 0x5C73, 102385 },
- { 0x5C74, 100914 },
- { 0x5C75, 100917 },
- { 0x5C76, 100920 },
- { 0x5C77, 100923 },
- { 0x5C78, 102388 },
- { 0x5C79, 100926 },
- { 0x5C7A, 102391 },
- { 0x5C7B, 102394 },
- { 0x5C7C, 100929 },
- { 0x5C7D, 100932 },
- { 0x5C7E, 100935 },
- { 0x5C7F, 100938 },
- { 0x5C80, 100941 },
- { 0x5C81, 100944 },
- { 0x5C82, 100947 },
- { 0x5C83, 100950 },
- { 0x5C84, 100953 },
- { 0x5C85, 100956 },
- { 0x5C86, 100959 },
- { 0x5C87, 100962 },
- { 0x5C88, 100965 },
- { 0x5C89, 100968 },
- { 0x5C8A, 100971 },
- { 0x5C8B, 100974 },
- { 0x5C8C, 100977 },
- { 0x5C8D, 100980 },
- { 0x5C8E, 100983 },
- { 0x5C8F, 100986 },
- { 0x5C90, 102397 },
- { 0x5C91, 102400 },
- { 0x5C92, 102403 },
- { 0x5C93, 100989 },
- { 0x5C94, 100992 },
- { 0x5C95, 100995 },
- { 0x5C96, 100998 },
- { 0x5C97, 101001 },
- { 0x5C98, 101004 },
- { 0x5C99, 101007 },
- { 0x5C9A, 101010 },
- { 0x5C9B, 101013 },
- { 0x5C9C, 101016 },
- { 0x5C9D, 101019 },
- { 0x5C9E, 101022 },
- { 0x5C9F, 101025 },
- { 0x5CA0, 101028 },
- { 0x5CA1, 101031 },
- { 0x5CA2, 101034 },
- { 0x5CA3, 101037 },
- { 0x5CA4, 101040 },
- { 0x5CA5, 101043 },
- { 0x5CA6, 101046 },
- { 0x5CA7, 101049 },
- { 0x5CA8, 101052 },
- { 0x5CA9, 101055 },
- { 0x5CAA, 101058 },
- { 0x5CAB, 101061 },
- { 0x5CAC, 101064 },
- { 0x5CAD, 101067 },
- { 0x5CAE, 101070 },
- { 0x5CAF, 101073 },
- { 0x5CB0, 101076 },
- { 0x5CB1, 101079 },
- { 0x5CB2, 102406 },
- { 0x5CB3, 101082 },
- { 0x5CB4, 102409 },
- { 0x5CB5, 101085 },
- { 0x5CB6, 101088 },
- { 0x5CB7, 102412 },
- { 0x5CB8, 101091 },
- { 0x5CB9, 102415 },
- { 0x5CBA, 101094 },
- { 0x5CBB, 102418 },
- { 0x5CBC, 101097 },
- { 0x5CBD, 101100 },
- { 0x5CBE, 102421 },
- { 0x5CBF, 102424 },
- { 0x5CC0, 102427 },
- { 0x5CC1, 101103 },
- { 0x5CC2, 102430 },
- { 0x5CC3, 102433 },
- { 0x5CC4, 101106 },
- { 0x5CC5, 101109 },
- { 0x5CC6, 102436 },
- { 0x5CC7, 102439 },
- { 0x5CC8, 102442 },
- { 0x5CC9, 101112 },
- { 0x5CCA, 101115 },
- { 0x5CCB, 101118 },
- { 0x5CCC, 102445 },
- { 0x5CCD, 102448 },
- { 0x5CCE, 101121 },
- { 0x5CCF, 101124 },
- { 0x5CD0, 101127 },
- { 0x5CD1, 101130 },
- { 0x5CD2, 101133 },
- { 0x5CD3, 102451 },
- { 0x5CD4, 101136 },
- { 0x5CD5, 101139 },
- { 0x5CD6, 101142 },
- { 0x5CD7, 101145 },
- { 0x5CD8, 101148 },
- { 0x5CD9, 101151 },
- { 0x5CDA, 101154 },
- { 0x5CDB, 101157 },
- { 0x5CDC, 101160 },
- { 0x5CDD, 101163 },
- { 0x5CDE, 102454 },
- { 0x5CDF, 101166 },
- { 0x5CE0, 101169 },
- { 0x5CE1, 101172 },
- { 0x5CE2, 101175 },
- { 0x5CE3, 101178 },
- { 0x5CE4, 101181 },
- { 0x5CE5, 101184 },
- { 0x5CE6, 101187 },
- { 0x5CE7, 101190 },
- { 0x5CE8, 101193 },
- { 0x5CE9, 102457 },
- { 0x5CEA, 101196 },
- { 0x5CEB, 101199 },
- { 0x5CEC, 101202 },
- { 0x5CED, 101205 },
- { 0x5CEE, 101208 },
- { 0x5CEF, 101211 },
- { 0x5CF0, 101214 },
- { 0x5CF1, 101217 },
- { 0x5CF2, 101220 },
- { 0x5CF3, 101223 },
- { 0x5CF4, 101226 },
- { 0x5CF5, 101229 },
- { 0x5CF6, 101232 },
- { 0x5CF7, 101235 },
- { 0x5CF8, 101238 },
- { 0x5CF9, 101241 },
- { 0x5CFA, 101244 },
- { 0x5CFB, 101247 },
- { 0x5CFC, 101250 },
- { 0x5CFD, 101253 },
- { 0x5CFE, 101256 },
- { 0x5CFF, 101259 },
- { 0x5D00, 101262 },
- { 0x5D01, 101265 },
- { 0x5D02, 101268 },
- { 0x5D03, 101271 },
- { 0x5D04, 101274 },
- { 0x5D05, 101277 },
- { 0x5D06, 101280 },
- { 0x5D07, 101283 },
- { 0x5D08, 101286 },
- { 0x5D09, 101289 },
- { 0x5D0A, 101292 },
- { 0x5D0B, 101295 },
- { 0x5D0C, 101298 },
- { 0x5D0D, 101301 },
- { 0x5D0E, 101304 },
- { 0x5D0F, 101307 },
- { 0x5D10, 101310 },
- { 0x5D11, 101313 },
- { 0x5D12, 101316 },
- { 0x5D13, 101319 },
- { 0x5D14, 101322 },
- { 0x5D15, 101325 },
- { 0x5D16, 101328 },
- { 0x5D17, 101331 },
- { 0x5D18, 101334 },
- { 0x5D19, 101337 },
- { 0x5D1A, 101340 },
- { 0x5D1B, 101343 },
- { 0x5D1C, 101346 },
- { 0x5D1D, 101349 },
- { 0x5D1E, 101352 },
- { 0x5D1F, 101355 },
- { 0x5D20, 101358 },
- { 0x5D21, 101361 },
- { 0x5D22, 101364 },
- { 0x5D23, 101367 },
- { 0x5D24, 101370 },
- { 0x5D25, 101373 },
- { 0x5D26, 101376 },
- { 0x5D27, 101379 },
- { 0x5D28, 101382 },
- { 0x5D29, 101385 },
- { 0x5D2A, 101388 },
- { 0x5D2B, 101391 },
- { 0x5D2C, 101394 },
- { 0x5D2D, 102460 },
- { 0x5D2E, 102463 },
- { 0x5D2F, 101397 },
- { 0x5D30, 101400 },
- { 0x5D31, 101403 },
- { 0x5D32, 101406 },
- { 0x5D33, 101409 },
- { 0x5D34, 102466 },
- { 0x5D35, 101412 },
- { 0x5D36, 101415 },
- { 0x5D37, 102469 },
- { 0x5D38, 101418 },
- { 0x5D39, 101421 },
- { 0x5D3A, 101424 },
- { 0x5D3B, 101427 },
- { 0x5D3C, 101430 },
- { 0x5D3D, 101433 },
- { 0x5D3E, 102472 },
- { 0x5D3F, 101436 },
- { 0x5D40, 102475 },
- { 0x5D41, 101439 },
- { 0x5D42, 101442 },
- { 0x5D43, 101445 },
- { 0x5D44, 101448 },
- { 0x5D45, 101451 },
- { 0x5D46, 101454 },
- { 0x5D47, 101457 },
- { 0x5D48, 101460 },
- { 0x5D49, 101463 },
- { 0x5D4A, 101466 },
- { 0x5D4B, 101469 },
- { 0x5D4C, 102478 },
- { 0x5D4D, 101472 },
- { 0x5D4E, 101475 },
- { 0x5D4F, 101478 },
- { 0x5D50, 101481 },
- { 0x5D51, 101484 },
- { 0x5D52, 101487 },
- { 0x5D53, 101490 },
- { 0x5D54, 101493 },
- { 0x5D55, 101496 },
- { 0x5D56, 101499 },
- { 0x5D57, 101502 },
- { 0x5D58, 101505 },
- { 0x5D59, 101508 },
- { 0x5D5A, 101511 },
- { 0x5D5B, 101514 },
- { 0x5D5C, 101517 },
- { 0x5D5D, 101520 },
- { 0x5D5E, 101523 },
- { 0x5D5F, 101526 },
- { 0x5D60, 101529 },
- { 0x5D61, 101532 },
- { 0x5D62, 101535 },
- { 0x5D63, 101538 },
- { 0x5D64, 101541 },
- { 0x5D65, 101544 },
- { 0x5D66, 101547 },
- { 0x5D67, 101550 },
- { 0x5D68, 101553 },
- { 0x5D69, 101556 },
- { 0x5D6A, 101559 },
- { 0x5D6B, 101562 },
- { 0x5D6C, 101565 },
- { 0x5D6D, 101568 },
- { 0x5D6E, 101571 },
- { 0x5D6F, 101574 },
- { 0x5D70, 101577 },
- { 0x5D71, 101580 },
- { 0x5D72, 101583 },
- { 0x5D73, 101586 },
- { 0x5D74, 101589 },
- { 0x5D75, 102481 },
- { 0x5D76, 101592 },
- { 0x5D77, 101595 },
- { 0x5D78, 101598 },
- { 0x5D79, 101601 },
- { 0x5D7A, 101604 },
- { 0x5D7B, 101607 },
- { 0x5D7C, 101610 },
- { 0x5D7D, 101613 },
- { 0x5D7E, 101616 },
- { 0x5D7F, 101619 },
- { 0x5D80, 101622 },
- { 0x5D81, 101625 },
- { 0x5D82, 101628 },
- { 0x5D83, 101631 },
- { 0x5D84, 101634 },
- { 0x5D85, 101637 },
- { 0x5D86, 101640 },
- { 0x5D87, 101643 },
- { 0x5D88, 101646 },
- { 0x5D89, 101649 },
- { 0x5D8A, 101652 },
- { 0x5D8B, 101655 },
- { 0x5D8C, 102484 },
- { 0x5D8D, 101658 },
- { 0x5D8E, 101661 },
- { 0x5D8F, 101664 },
- { 0x5D90, 101667 },
- { 0x5D91, 101670 },
- { 0x5D92, 102487 },
- { 0x5D93, 101673 },
- { 0x5D94, 101676 },
- { 0x5D95, 101679 },
- { 0x5D96, 101682 },
- { 0x5D97, 101685 },
- { 0x5D98, 102490 },
- { 0x5D99, 101688 },
- { 0x5D9A, 101691 },
- { 0x5D9B, 101694 },
- { 0x5D9C, 101697 },
- { 0x5D9D, 101700 },
- { 0x5D9E, 101703 },
- { 0x5D9F, 101706 },
- { 0x5DA0, 101709 },
- { 0x5DA1, 101712 },
- { 0x5DA2, 101715 },
- { 0x5DA3, 102493 },
- { 0x5DA4, 101718 },
- { 0x5DA5, 101721 },
- { 0x5DA6, 101724 },
- { 0x5DA7, 101727 },
- { 0x5DA8, 101730 },
- { 0x5DA9, 101733 },
- { 0x5DAA, 101736 },
- { 0x5DAB, 101739 },
- { 0x5DAC, 101742 },
- { 0x5DAD, 101745 },
- { 0x5DAE, 101748 },
- { 0x5DAF, 101751 },
- { 0x5DB0, 101754 },
- { 0x5DB1, 101757 },
- { 0x5DB2, 101760 },
- { 0x5DB3, 101763 },
- { 0x5DB4, 101766 },
- { 0x5DB5, 101769 },
- { 0x5DB6, 101772 },
- { 0x5DB7, 101775 },
- { 0x5DB8, 102496 },
- { 0x5DB9, 101778 },
- { 0x5DBA, 101781 },
- { 0x5DBB, 102499 },
- { 0x5DBC, 102502 },
- { 0x5DBD, 102505 },
- { 0x5DBE, 101784 },
- { 0x5DBF, 101787 },
- { 0x5DC0, 101790 },
- { 0x5DC1, 101793 },
- { 0x5DC2, 102508 },
- { 0x5DC3, 102511 },
- { 0x5DC4, 102514 },
- { 0x5DC5, 101796 },
- { 0x5DC6, 101799 },
- { 0x5DC7, 101802 },
- { 0x5DC8, 101805 },
- { 0x5DC9, 101808 },
- { 0x5DCA, 101811 },
- { 0x5DCB, 101814 },
- { 0x5DCC, 101817 },
- { 0x5DCD, 101820 },
- { 0x5DCE, 101823 },
- { 0x5DCF, 101826 },
- { 0x5DD0, 101829 },
- { 0x5DD1, 101832 },
- { 0x5DD2, 101835 },
- { 0x5DD3, 101838 },
- { 0x5DD4, 101841 },
- { 0x5DD5, 101844 },
- { 0x5DD6, 101847 },
- { 0x5DD7, 101850 },
- { 0x5DD8, 101853 },
- { 0x5DD9, 101856 },
- { 0x5DDA, 101859 },
- { 0x5DDB, 101862 },
- { 0x5DDC, 102517 },
- { 0x5DDD, 101865 },
- { 0x5DDE, 101868 },
- { 0x5DDF, 101871 },
- { 0x5DE0, 101874 },
- { 0x5DE1, 101877 },
- { 0x5DE2, 102520 },
- { 0x5DE3, 101880 },
- { 0x5DE4, 101883 },
- { 0x5DE5, 101886 },
- { 0x5DE6, 101889 },
- { 0x5DE7, 102523 },
- { 0x5DE8, 101892 },
- { 0x5DE9, 101895 },
- { 0x5DEA, 101898 },
- { 0x5DEB, 102526 },
- { 0x5DEC, 101901 },
- { 0x5DED, 101904 },
- { 0x5DEE, 101907 },
- { 0x5DEF, 101910 },
- { 0x5DF0, 101913 },
- { 0x5DF1, 101916 },
- { 0x5DF2, 101919 },
- { 0x5DF3, 101922 },
- { 0x5DF4, 101925 },
- { 0x5DF5, 101928 },
- { 0x5DF6, 102529 },
- { 0x5DF7, 101931 },
- { 0x5DF8, 101934 },
- { 0x5DF9, 102532 },
- { 0x5DFA, 101940 },
- { 0x5DFB, 101943 },
- { 0x5DFC, 101946 },
- { 0x5DFD, 102535 },
- { 0x5DFE, 101949 },
- { 0x5DFF, 101952 },
- { 0x5E00, 101955 },
- { 0x5E01, 101958 },
- { 0x5E02, 101961 },
- { 0x5E03, 101964 },
- { 0x5E04, 101967 },
- { 0x5E05, 101971 },
- { 0x5E06, 101974 },
- { 0x5E07, 101977 },
- { 0x5E08, 101980 },
- { 0x5E09, 101983 },
- { 0x5E0A, 101986 },
- { 0x5E0B, 101989 },
- { 0x5E0C, 101992 },
- { 0x5E0D, 101995 },
- { 0x5E0E, 101998 },
- { 0x5E0F, 102001 },
- { 0x5E10, 102004 },
- { 0x5E11, 102007 },
- { 0x5E12, 102010 },
- { 0x5E13, 102013 },
- { 0x5E14, 102016 },
- { 0x5E15, 102019 },
- { 0x5E16, 102538 },
- { 0x5E17, 102025 },
- { 0x5E18, 102028 },
- { 0x5E19, 102031 },
- { 0x5E1A, 102034 },
- { 0x5E1B, 102037 },
- { 0x5E1C, 102040 },
- { 0x5E1D, 102043 },
- { 0x5E1E, 102046 },
- { 0x5E1F, 102049 },
- { 0x5E20, 102052 },
- { 0x5E21, 102055 },
- { 0x5E22, 102058 },
- { 0x5E23, 102061 },
- { 0x5E24, 102064 },
- { 0x5E25, 102067 },
- { 0x5E26, 102070 },
- { 0x5E27, 102073 },
- { 0x5E28, 102076 },
- { 0x5E29, 102079 },
- { 0x5E2A, 102082 },
- { 0x5E2B, 102085 },
- { 0x5E2C, 102088 },
- { 0x5E2D, 102091 },
- { 0x5E2E, 102094 },
- { 0x5E2F, 102097 },
- { 0x5E30, 102100 },
- { 0x5E31, 102103 },
- { 0x5E32, 102106 },
- { 0x5E33, 102109 },
- { 0x5E34, 102112 },
- { 0x5E35, 102115 },
- { 0x5E36, 102118 },
- { 0x5E37, 102121 },
- { 0x5E38, 102124 },
- { 0x5E39, 102127 },
- { 0x5E3A, 102130 },
- { 0x5E3B, 102133 },
- { 0x5E3C, 102136 },
- { 0x5E3D, 102139 },
- { 0x5E3E, 102142 },
- { 0x5E3F, 102544 },
- { 0x5E40, 102145 },
- { 0x5E41, 102148 },
- { 0x5E42, 102151 },
- { 0x5E43, 102154 },
- { 0x5E44, 102157 },
- { 0x5E45, 102160 },
- { 0x5E46, 102163 },
- { 0x5E47, 102547 },
- { 0x5E48, 102166 },
- { 0x5E49, 102169 },
- { 0x5E4A, 102172 },
- { 0x5E4B, 102175 },
- { 0x5E4C, 102178 },
- { 0x5E4D, 102181 },
- { 0x5E4E, 102184 },
- { 0x5E4F, 102187 },
- { 0x5E50, 102190 },
- { 0x5E51, 102193 },
- { 0x5E52, 102196 },
- { 0x5E53, 102199 },
- { 0x5E54, 102202 },
- { 0x5E55, 102205 },
- { 0x5E56, 102208 },
- { 0x5E57, 102211 },
- { 0x5E58, 102214 },
- { 0x5E59, 102217 },
- { 0x5E5A, 102220 },
- { 0x5E5B, 102223 },
- { 0x5E5C, 102226 },
- { 0x5E5D, 102229 },
- { 0x5E5E, 102232 },
- { 0x5E5F, 102235 },
- { 0x5E60, 102238 },
- { 0x5E61, 102241 },
- { 0x5E62, 102244 },
- { 0x5E63, 102247 },
- { 0x5E64, 102250 },
- { 0x5E65, 102253 },
- { 0x5E66, 102256 },
- { 0x5E67, 102259 },
- { 0x5E68, 102262 },
- { 0x5E69, 102265 },
- { 0x5E6A, 102268 },
- { 0x5E6B, 102271 },
- { 0x5E6C, 102274 },
- { 0x5E6D, 102277 },
- { 0x5E6E, 102280 },
- { 0x5E6F, 102283 },
- { 0x5E70, 102286 },
- { 0x5E71, 102289 },
- { 0x5E72, 102292 },
- { 0x5E73, 102295 },
- { 0x5E74, 102298 },
- { 0x5E75, 102301 },
- { 0x5E76, 102304 },
- { 0x5E77, 102307 },
- { 0x5E78, 102310 },
- { 0x5E79, 102313 },
- { 0x5E7A, 102316 },
- { 0x5E7B, 102319 },
- { 0x5E7C, 102322 },
- { 0x5E7D, 102325 },
- { 0x5E7E, 102328 },
- { 0x5E7F, 102331 },
- { 0x5E80, 102334 },
- { 0x5E81, 102337 },
- { 0x5E82, 102340 },
- { 0x5E83, 102343 },
- { 0x5E84, 102346 },
- { 0x5E85, 102349 },
- { 0x5E86, 102352 },
- { 0x5E87, 102355 },
- { 0x5E88, 102358 },
- { 0x5E89, 102361 },
- { 0x5E8A, 102364 },
- { 0x5E8B, 102367 },
- { 0x5E8C, 102370 },
- { 0x5E8D, 102373 },
- { 0x5E8E, 17805 },
- { 0x5E8F, 17784 },
- { 0x5E90, 17667 },
- { 0x5E91, 17661 },
- { 0x5E92, 17616 },
- { 0x5E93, 17936 },
- { 0x5E94, 17779 },
- { 0x5E95, 17638 },
- { 0x5E96, 17850 },
- { 0x5E97, 17654 },
- { 0x5E98, 17647 },
- { 0x5E99, 17924 },
- { 0x5E9A, 17588 },
- { 0x5E9B, 17830 },
- { 0x5E9C, 17908 },
- { 0x5E9D, 17872 },
- { 0x5E9E, 17928 },
- { 0x5E9F, 17896 },
- { 0x5EA0, 17888 },
- { 0x5EA1, 17920 },
- { 0x5EA2, 17834 },
- { 0x5EA3, 17689 },
- { 0x5EA4, 17932 },
- { 0x5EA5, 17789 },
- { 0x5EA6, 17601 },
- { 0x5EA7, 17737 },
- { 0x5EA8, 17868 },
- { 0x5EA9, 17846 },
- { 0x5EAA, 17912 },
- { 0x5EAB, 17892 },
- { 0x5EAC, 17611 },
- { 0x5EAD, 17756 },
- { 0x5EAE, 17573 },
- { 0x5EAF, 17940 },
- { 0x5EB0, 17742 },
- { 0x5EB1, 17775 },
- { 0x5EB2, 17826 },
- { 0x5EB3, 17944 },
- { 0x5EB4, 17880 },
- { 0x5EB5, 17701 },
- { 0x5EB6, 17583 },
- { 0x5EB7, 17625 },
- { 0x5EB8, 17643 },
- { 0x5EB9, 17904 },
- { 0x5EBA, 17721 },
- { 0x5EBB, 17673 },
- { 0x5EBC, 17810 },
- { 0x5EBD, 17793 },
- { 0x5EBE, 17860 },
- { 0x5EBF, 17916 },
- { 0x5EC0, 17818 },
- { 0x5EC1, 17597 },
- { 0x5EC2, 17948 },
- { 0x5EC3, 17709 },
- { 0x5EC4, 17876 },
- { 0x5EC5, 17771 },
- { 0x5EC6, 17814 },
- { 0x5EC7, 17697 },
- { 0x5EC8, 17677 },
- { 0x5EC9, 17705 },
- { 0x5ECA, 17681 },
- { 0x5ECB, 17606 },
- { 0x5ECC, 17856 },
- { 0x5ECD, 17733 },
- { 0x5ECE, 17765 },
- { 0x5ECF, 17751 },
- { 0x5ED0, 17842 },
- { 0x5ED1, 17884 },
- { 0x5ED2, 17900 },
- { 0x5ED3, 17801 },
- { 0x5ED4, 17797 },
- { 0x5ED5, 17725 },
- { 0x5ED6, 17822 },
- { 0x5ED7, 17747 },
- { 0x5ED8, 17864 },
- { 0x5ED9, 17685 },
- { 0x5EDA, 17761 },
- { 0x5EDB, 17838 },
- { 0x5EDC, 17713 },
- { 0x5EDD, 17634 },
- { 0x5EDE, 17593 },
- { 0x5EDF, 17729 },
- { 0x5EE0, 17693 },
- { 0x5EE1, 17579 },
- { 0x5EE2, 17630 },
- { 0x5EE3, 17621 },
- { 0x5EE4, 17717 },
- { 0x5EE5, 18143 },
- { 0x5EE6, 17971 },
- { 0x5EE7, 18067 },
- { 0x5EE8, 18022 },
- { 0x5EE9, 17998 },
- { 0x5EEA, 18003 },
- { 0x5EEB, 18084 },
- { 0x5EEC, 18151 },
- { 0x5EED, 18159 },
- { 0x5EEE, 17980 },
- { 0x5EEF, 18147 },
- { 0x5EF0, 18079 },
- { 0x5EF1, 17988 },
- { 0x5EF2, 18097 },
- { 0x5EF3, 18008 },
- { 0x5EF4, 18192 },
- { 0x5EF5, 18018 },
- { 0x5EF6, 17966 },
- { 0x5EF7, 18062 },
- { 0x5EF8, 18188 },
- { 0x5EF9, 18049 },
- { 0x5EFA, 18035 },
- { 0x5EFB, 18013 },
- { 0x5EFC, 18114 },
- { 0x5EFD, 18180 },
- { 0x5EFE, 18155 },
- { 0x5EFF, 18118 },
- { 0x5F00, 18102 },
- { 0x5F01, 18075 },
- { 0x5F02, 18163 },
- { 0x5F03, 18092 },
- { 0x5F04, 18106 },
- { 0x5F05, 18176 },
- { 0x5F06, 18071 },
- { 0x5F07, 18040 },
- { 0x5F08, 18134 },
- { 0x5F09, 18138 },
- { 0x5F0A, 18126 },
- { 0x5F0B, 18027 },
- { 0x5F0C, 18122 },
- { 0x5F0D, 18184 },
- { 0x5F0E, 18168 },
- { 0x5F0F, 18172 },
- { 0x5F10, 18044 },
- { 0x5F11, 18031 },
- { 0x5F12, 18088 },
- { 0x5F13, 17976 },
- { 0x5F14, 18110 },
- { 0x5F15, 17961 },
- { 0x5F16, 17956 },
- { 0x5F17, 17994 },
- { 0x5F18, 18130 },
- { 0x5F19, 18058 },
- { 0x5F1A, 17952 },
- { 0x5F1B, 17984 },
- { 0x5F1C, 18054 },
- { 0x5F1D, 18448 },
- { 0x5F1E, 18274 },
- { 0x5F1F, 18298 },
- { 0x5F20, 18591 },
- { 0x5F21, 18436 },
- { 0x5F22, 18595 },
- { 0x5F23, 18444 },
- { 0x5F24, 18490 },
- { 0x5F25, 18571 },
- { 0x5F26, 18412 },
- { 0x5F27, 18385 },
- { 0x5F28, 18269 },
- { 0x5F29, 18420 },
- { 0x5F2A, 18555 },
- { 0x5F2B, 18518 },
- { 0x5F2C, 18324 },
- { 0x5F2D, 18599 },
- { 0x5F2E, 18306 },
- { 0x5F2F, 18494 },
- { 0x5F30, 18214 },
- { 0x5F31, 18474 },
- { 0x5F32, 18333 },
- { 0x5F33, 18551 },
- { 0x5F34, 18329 },
- { 0x5F35, 18408 },
- { 0x5F36, 18498 },
- { 0x5F37, 18223 },
- { 0x5F38, 18391 },
- { 0x5F39, 18432 },
- { 0x5F3A, 18559 },
- { 0x5F3B, 18461 },
- { 0x5F3C, 18399 },
- { 0x5F3D, 18482 },
- { 0x5F3E, 18542 },
- { 0x5F3F, 18404 },
- { 0x5F40, 18579 },
- { 0x5F41, 18205 },
- { 0x5F42, 18377 },
- { 0x5F43, 18522 },
- { 0x5F44, 18249 },
- { 0x5F45, 18575 },
- { 0x5F46, 18538 },
- { 0x5F47, 18583 },
- { 0x5F48, 18563 },
- { 0x5F49, 18440 },
- { 0x5F4A, 18219 },
- { 0x5F4B, 18428 },
- { 0x5F4C, 18265 },
- { 0x5F4D, 18465 },
- { 0x5F4E, 18302 },
- { 0x5F4F, 18587 },
- { 0x5F50, 18510 },
- { 0x5F51, 18210 },
- { 0x5F52, 18453 },
- { 0x5F53, 18245 },
- { 0x5F54, 18567 },
- { 0x5F55, 18469 },
- { 0x5F56, 18526 },
- { 0x5F57, 18237 },
- { 0x5F58, 18357 },
- { 0x5F59, 18416 },
- { 0x5F5A, 18514 },
- { 0x5F5B, 18196 },
- { 0x5F5C, 18241 },
- { 0x5F5D, 18365 },
- { 0x5F5E, 18361 },
- { 0x5F5F, 18290 },
- { 0x5F60, 18547 },
- { 0x5F61, 18369 },
- { 0x5F62, 18381 },
- { 0x5F63, 18314 },
- { 0x5F64, 18373 },
- { 0x5F65, 18345 },
- { 0x5F66, 18200 },
- { 0x5F67, 18294 },
- { 0x5F68, 18349 },
- { 0x5F69, 18478 },
- { 0x5F6A, 18530 },
- { 0x5F6B, 18257 },
- { 0x5F6C, 18502 },
- { 0x5F6D, 18506 },
- { 0x5F6E, 18534 },
- { 0x5F6F, 18424 },
- { 0x5F70, 18310 },
- { 0x5F71, 18319 },
- { 0x5F72, 18486 },
- { 0x5F73, 18457 },
- { 0x5F74, 18337 },
- { 0x5F75, 18341 },
- { 0x5F76, 18395 },
- { 0x5F77, 18227 },
- { 0x5F78, 18232 },
- { 0x5F79, 18353 },
- { 0x5F7A, 18261 },
- { 0x5F7B, 18253 },
- { 0x5F7C, 18282 },
- { 0x5F7D, 18278 },
- { 0x5F7E, 18286 },
- { 0x5F7F, 18778 },
- { 0x5F80, 18733 },
- { 0x5F81, 18663 },
- { 0x5F82, 18790 },
- { 0x5F83, 18931 },
- { 0x5F84, 18765 },
- { 0x5F85, 18927 },
- { 0x5F86, 18939 },
- { 0x5F87, 19059 },
- { 0x5F88, 18830 },
- { 0x5F89, 18959 },
- { 0x5F8A, 18923 },
- { 0x5F8B, 18850 },
- { 0x5F8C, 18919 },
- { 0x5F8D, 19071 },
- { 0x5F8E, 18870 },
- { 0x5F8F, 19023 },
- { 0x5F90, 18814 },
- { 0x5F91, 18717 },
- { 0x5F92, 18635 },
- { 0x5F93, 19055 },
- { 0x5F94, 18753 },
- { 0x5F95, 18701 },
- { 0x5F96, 18903 },
- { 0x5F97, 18911 },
- { 0x5F98, 19035 },
- { 0x5F99, 18786 },
- { 0x5F9A, 19019 },
- { 0x5F9B, 18737 },
- { 0x5F9C, 19051 },
- { 0x5F9D, 18886 },
- { 0x5F9E, 19047 },
- { 0x5F9F, 18627 },
- { 0x5FA0, 18741 },
- { 0x5FA1, 19003 },
- { 0x5FA2, 19067 },
- { 0x5FA3, 18806 },
- { 0x5FA4, 19039 },
- { 0x5FA5, 18971 },
- { 0x5FA6, 18810 },
- { 0x5FA7, 18794 },
- { 0x5FA8, 18979 },
- { 0x5FA9, 18842 },
- { 0x5FAA, 18983 },
- { 0x5FAB, 18659 },
- { 0x5FAC, 18655 },
- { 0x5FAD, 19007 },
- { 0x5FAE, 18769 },
- { 0x5FAF, 18891 },
- { 0x5FB0, 18834 },
- { 0x5FB1, 19027 },
- { 0x5FB2, 18713 },
- { 0x5FB3, 18963 },
- { 0x5FB4, 18745 },
- { 0x5FB5, 18846 },
- { 0x5FB6, 18955 },
- { 0x5FB7, 19063 },
- { 0x5FB8, 18975 },
- { 0x5FB9, 19011 },
- { 0x5FBA, 18749 },
- { 0x5FBB, 18679 },
- { 0x5FBC, 19015 },
- { 0x5FBD, 18838 },
- { 0x5FBE, 18647 },
- { 0x5FBF, 18987 },
- { 0x5FC0, 18907 },
- { 0x5FC1, 19043 },
- { 0x5FC2, 18878 },
- { 0x5FC3, 18671 },
- { 0x5FC4, 18882 },
- { 0x5FC5, 18802 },
- { 0x5FC6, 18947 },
- { 0x5FC7, 18862 },
- { 0x5FC8, 18639 },
- { 0x5FC9, 18991 },
- { 0x5FCA, 18999 },
- { 0x5FCB, 18874 },
- { 0x5FCC, 18782 },
- { 0x5FCD, 18643 },
- { 0x5FCE, 18818 },
- { 0x5FCF, 18866 },
- { 0x5FD0, 19031 },
- { 0x5FD1, 18915 },
- { 0x5FD2, 18761 },
- { 0x5FD3, 18995 },
- { 0x5FD4, 18943 },
- { 0x5FD5, 18935 },
- { 0x5FD6, 18967 },
- { 0x5FD7, 18607 },
- { 0x5FD8, 18687 },
- { 0x5FD9, 18725 },
- { 0x5FDA, 18729 },
- { 0x5FDB, 18667 },
- { 0x5FDC, 18697 },
- { 0x5FDD, 18895 },
- { 0x5FDE, 18899 },
- { 0x5FDF, 18603 },
- { 0x5FE0, 18721 },
- { 0x5FE1, 18611 },
- { 0x5FE2, 18854 },
- { 0x5FE3, 18951 },
- { 0x5FE4, 18757 },
- { 0x5FE5, 18619 },
- { 0x5FE6, 18709 },
- { 0x5FE7, 18822 },
- { 0x5FE8, 18675 },
- { 0x5FE9, 18615 },
- { 0x5FEA, 18858 },
- { 0x5FEB, 18683 },
- { 0x5FEC, 18798 },
- { 0x5FED, 18651 },
- { 0x5FEE, 18692 },
- { 0x5FEF, 18623 },
- { 0x5FF0, 18826 },
- { 0x5FF1, 18773 },
- { 0x5FF2, 18705 },
- { 0x5FF3, 18631 },
- { 0x5FF4, 19419 },
- { 0x5FF5, 19525 },
- { 0x5FF6, 19573 },
- { 0x5FF7, 19176 },
- { 0x5FF8, 19310 },
- { 0x5FF9, 19380 },
- { 0x5FFA, 19234 },
- { 0x5FFB, 19270 },
- { 0x5FFC, 19250 },
- { 0x5FFD, 19657 },
- { 0x5FFE, 19427 },
- { 0x5FFF, 19496 },
- { 0x6000, 19278 },
- { 0x6001, 19431 },
- { 0x6002, 19569 },
- { 0x6003, 19318 },
- { 0x6004, 19258 },
- { 0x6005, 19705 },
- { 0x6006, 19472 },
- { 0x6007, 19294 },
- { 0x6008, 19372 },
- { 0x6009, 19184 },
- { 0x600A, 19653 },
- { 0x600B, 19435 },
- { 0x600C, 19388 },
- { 0x600D, 19645 },
- { 0x600E, 19439 },
- { 0x600F, 19609 },
- { 0x6010, 19661 },
- { 0x6011, 19605 },
- { 0x6012, 19476 },
- { 0x6013, 19254 },
- { 0x6014, 19685 },
- { 0x6015, 19396 },
- { 0x6016, 19561 },
- { 0x6017, 19709 },
- { 0x6018, 19693 },
- { 0x6019, 19196 },
- { 0x601A, 19384 },
- { 0x601B, 19677 },
- { 0x601C, 19423 },
- { 0x601D, 19520 },
- { 0x601E, 19262 },
- { 0x601F, 19242 },
- { 0x6020, 19414 },
- { 0x6021, 19713 },
- { 0x6022, 19545 },
- { 0x6023, 19557 },
- { 0x6024, 19529 },
- { 0x6025, 19629 },
- { 0x6026, 19144 },
- { 0x6027, 19621 },
- { 0x6028, 19565 },
- { 0x6029, 19617 },
- { 0x602A, 19665 },
- { 0x602B, 19625 },
- { 0x602C, 19533 },
- { 0x602D, 19376 },
- { 0x602E, 19148 },
- { 0x602F, 19516 },
- { 0x6030, 19673 },
- { 0x6031, 19701 },
- { 0x6032, 19697 },
- { 0x6033, 19581 },
- { 0x6034, 19392 },
- { 0x6035, 19464 },
- { 0x6036, 19452 },
- { 0x6037, 19352 },
- { 0x6038, 19302 },
- { 0x6039, 19368 },
- { 0x603A, 19322 },
- { 0x603B, 19229 },
- { 0x603C, 19326 },
- { 0x603D, 19577 },
- { 0x603E, 19585 },
- { 0x603F, 19613 },
- { 0x6040, 19549 },
- { 0x6041, 19641 },
- { 0x6042, 19164 },
- { 0x6043, 19553 },
- { 0x6044, 19597 },
- { 0x6045, 19168 },
- { 0x6046, 19192 },
- { 0x6047, 19689 },
- { 0x6048, 19356 },
- { 0x6049, 19087 },
- { 0x604A, 19460 },
- { 0x604B, 19480 },
- { 0x604C, 19537 },
- { 0x604D, 19681 },
- { 0x604E, 19224 },
- { 0x604F, 19468 },
- { 0x6050, 19492 },
- { 0x6051, 19400 },
- { 0x6052, 19348 },
- { 0x6053, 19216 },
- { 0x6054, 19404 },
- { 0x6055, 19637 },
- { 0x6056, 19091 },
- { 0x6057, 19212 },
- { 0x6058, 19500 },
- { 0x6059, 19593 },
- { 0x605A, 19172 },
- { 0x605B, 19488 },
- { 0x605C, 19456 },
- { 0x605D, 19669 },
- { 0x605E, 19589 },
- { 0x605F, 19130 },
- { 0x6060, 19096 },
- { 0x6061, 19160 },
- { 0x6062, 19443 },
- { 0x6063, 19075 },
- { 0x6064, 19298 },
- { 0x6065, 19083 },
- { 0x6066, 19079 },
- { 0x6067, 19180 },
- { 0x6068, 19135 },
- { 0x6069, 19274 },
- { 0x606A, 19282 },
- { 0x606B, 19408 },
- { 0x606C, 19508 },
- { 0x606D, 19541 },
- { 0x606E, 19601 },
- { 0x606F, 19633 },
- { 0x6070, 19335 },
- { 0x6071, 19330 },
- { 0x6072, 19344 },
- { 0x6073, 19340 },
- { 0x6074, 19364 },
- { 0x6075, 19484 },
- { 0x6076, 19447 },
- { 0x6077, 19238 },
- { 0x6078, 19314 },
- { 0x6079, 19156 },
- { 0x607A, 19306 },
- { 0x607B, 19114 },
- { 0x607C, 19122 },
- { 0x607D, 19504 },
- { 0x607E, 19246 },
- { 0x607F, 19649 },
- { 0x6080, 19220 },
- { 0x6081, 19266 },
- { 0x6082, 19512 },
- { 0x6083, 19101 },
- { 0x6084, 19126 },
- { 0x6085, 19140 },
- { 0x6086, 19188 },
- { 0x6087, 19110 },
- { 0x6088, 19204 },
- { 0x6089, 19118 },
- { 0x608A, 19200 },
- { 0x608B, 19290 },
- { 0x608C, 19106 },
- { 0x608D, 19208 },
- { 0x608E, 19286 },
- { 0x608F, 19152 },
- { 0x6090, 19360 },
- { 0x6091, 19730 },
- { 0x6092, 19722 },
- { 0x6093, 19738 },
- { 0x6094, 19726 },
- { 0x6095, 19810 },
- { 0x6096, 19838 },
- { 0x6097, 19802 },
- { 0x6098, 19742 },
- { 0x6099, 19818 },
- { 0x609A, 19898 },
- { 0x609B, 19914 },
- { 0x609C, 19834 },
- { 0x609D, 19866 },
- { 0x609E, 19918 },
- { 0x609F, 19718 },
- { 0x60A0, 19830 },
- { 0x60A1, 19906 },
- { 0x60A2, 19770 },
- { 0x60A3, 19902 },
- { 0x60A4, 19854 },
- { 0x60A5, 19790 },
- { 0x60A6, 19882 },
- { 0x60A7, 19762 },
- { 0x60A8, 19922 },
- { 0x60A9, 19850 },
- { 0x60AA, 19826 },
- { 0x60AB, 19778 },
- { 0x60AC, 19874 },
- { 0x60AD, 19886 },
- { 0x60AE, 19878 },
- { 0x60AF, 19846 },
- { 0x60B0, 19806 },
- { 0x60B1, 19766 },
- { 0x60B2, 19758 },
- { 0x60B3, 19894 },
- { 0x60B4, 19786 },
- { 0x60B5, 19930 },
- { 0x60B6, 19870 },
- { 0x60B7, 19822 },
- { 0x60B8, 19890 },
- { 0x60B9, 19782 },
- { 0x60BA, 19774 },
- { 0x60BB, 19746 },
- { 0x60BC, 19798 },
- { 0x60BD, 19734 },
- { 0x60BE, 19862 },
- { 0x60BF, 19814 },
- { 0x60C0, 19750 },
- { 0x60C1, 19754 },
- { 0x60C2, 19858 },
- { 0x60C3, 19842 },
- { 0x60C4, 19794 },
- { 0x60C5, 19926 },
- { 0x60C6, 19910 },
- { 0x60C7, 6619 },
- { 0x60C8, 6646 },
- { 0x60C9, 6625 },
- { 0x60CA, 6643 },
- { 0x60CB, 6589 },
- { 0x60CC, 6592 },
- { 0x60CD, 6580 },
- { 0x60CE, 6652 },
- { 0x60CF, 6661 },
- { 0x60D0, 6637 },
- { 0x60D1, 6631 },
- { 0x60D2, 6628 },
- { 0x60D3, 6670 },
- { 0x60D4, 6604 },
- { 0x60D5, 6664 },
- { 0x60D6, 6649 },
- { 0x60D7, 6610 },
- { 0x60D8, 6607 },
- { 0x60D9, 6586 },
- { 0x60DA, 6616 },
- { 0x60DB, 6655 },
- { 0x60DC, 6667 },
- { 0x60DD, 6595 },
- { 0x60DE, 6622 },
- { 0x60DF, 6583 },
- { 0x60E0, 6598 },
- { 0x60E1, 6640 },
- { 0x60E2, 6601 },
- { 0x60E3, 6634 },
- { 0x60E4, 6613 },
- { 0x60E5, 6658 },
- { 0x60E6, 6565 },
- { 0x60E7, 6547 },
- { 0x60E8, 6553 },
- { 0x60E9, 6574 },
- { 0x60EA, 6559 },
- { 0x60EB, 6556 },
- { 0x60EC, 6550 },
- { 0x60ED, 6571 },
- { 0x60EE, 6568 },
- { 0x60EF, 6562 },
- { 0x60F0, 6545 },
- { 0x60F1, 6577 },
- { 0x60F2, 63293 },
- { 0x60F3, 63284 },
- { 0x60F4, 63287 },
- { 0x60F5, 63290 },
- { 0x60F6, 63215 },
- { 0x60F7, 63206 },
- { 0x60F8, 63209 },
- { 0x60F9, 63212 },
- { 0x60FA, 63329 },
- { 0x60FB, 63320 },
- { 0x60FC, 63323 },
- { 0x60FD, 63326 },
- { 0x60FE, 63236 },
- { 0x60FF, 63227 },
- { 0x6100, 63230 },
- { 0x6101, 63233 },
- { 0x6102, 63257 },
- { 0x6103, 63248 },
- { 0x6104, 63251 },
- { 0x6105, 63254 },
- { 0x6106, 63317 },
- { 0x6107, 63308 },
- { 0x6108, 63311 },
- { 0x6109, 63314 },
- { 0x610A, 63353 },
- { 0x610B, 63344 },
- { 0x610C, 63347 },
- { 0x610D, 63350 },
- { 0x610E, 63413 },
- { 0x610F, 63404 },
- { 0x6110, 63407 },
- { 0x6111, 63410 },
- { 0x6112, 63435 },
- { 0x6113, 63419 },
- { 0x6114, 63443 },
- { 0x6115, 63439 },
- { 0x6116, 63392 },
- { 0x6117, 63401 },
- { 0x6118, 63395 },
- { 0x6119, 63398 },
- { 0x611A, 63432 },
- { 0x611B, 63423 },
- { 0x611C, 63426 },
- { 0x611D, 63429 },
- { 0x611E, 63278 },
- { 0x611F, 63269 },
- { 0x6120, 63272 },
- { 0x6121, 63275 },
- { 0x6122, 63260 },
- { 0x6123, 63368 },
- { 0x6124, 63242 },
- { 0x6125, 63371 },
- { 0x6126, 63302 },
- { 0x6127, 63338 },
- { 0x6128, 63332 },
- { 0x6129, 63296 },
- { 0x612A, 63377 },
- { 0x612B, 63380 },
- { 0x612C, 63218 },
- { 0x612D, 63266 },
- { 0x612E, 63281 },
- { 0x612F, 63245 },
- { 0x6130, 63263 },
- { 0x6131, 63365 },
- { 0x6132, 63305 },
- { 0x6133, 63224 },
- { 0x6134, 63299 },
- { 0x6135, 63374 },
- { 0x6136, 63383 },
- { 0x6137, 63221 },
- { 0x6138, 63389 },
- { 0x6139, 63362 },
- { 0x613A, 63416 },
- { 0x613B, 63386 },
- { 0x613C, 63335 },
- { 0x613D, 63239 },
- { 0x613E, 63359 },
- { 0x613F, 63356 },
- { 0x6140, 63341 },
- { 0x6141, 63194 },
- { 0x6142, 63176 },
- { 0x6143, 63182 },
- { 0x6144, 63203 },
- { 0x6145, 63188 },
- { 0x6146, 63185 },
- { 0x6147, 63179 },
- { 0x6148, 63200 },
- { 0x6149, 63197 },
- { 0x614A, 63191 },
- { 0x614B, 20054 },
- { 0x614C, 19998 },
- { 0x614D, 20010 },
- { 0x614E, 19990 },
- { 0x614F, 20038 },
- { 0x6150, 20046 },
- { 0x6151, 20030 },
- { 0x6152, 20050 },
- { 0x6153, 20062 },
- { 0x6154, 19994 },
- { 0x6155, 20058 },
- { 0x6156, 20022 },
- { 0x6157, 20026 },
- { 0x6158, 20034 },
- { 0x6159, 19982 },
- { 0x615A, 19978 },
- { 0x615B, 20042 },
- { 0x615C, 20014 },
- { 0x615D, 19974 },
- { 0x615E, 20018 },
- { 0x615F, 20066 },
- { 0x6160, 20006 },
- { 0x6161, 20070 },
- { 0x6162, 19954 },
- { 0x6163, 19966 },
- { 0x6164, 20002 },
- { 0x6165, 19970 },
- { 0x6166, 19986 },
- { 0x6167, 19958 },
- { 0x6168, 19962 },
- { 0x6169, 20084 },
- { 0x616A, 20074 },
- { 0x616B, 20079 },
- { 0x616C, 20089 },
- { 0x616D, 20094 },
- { 0x616E, 19950 },
- { 0x616F, 61246 },
- { 0x6170, 61250 },
- { 0x6171, 61182 },
- { 0x6172, 61186 },
- { 0x6173, 61230 },
- { 0x6174, 61234 },
- { 0x6175, 61198 },
- { 0x6176, 61202 },
- { 0x6177, 61174 },
- { 0x6178, 61178 },
- { 0x6179, 61222 },
- { 0x617A, 61226 },
- { 0x617B, 61262 },
- { 0x617C, 61266 },
- { 0x617D, 61238 },
- { 0x617E, 61242 },
- { 0x617F, 61270 },
- { 0x6180, 61274 },
- { 0x6181, 61190 },
- { 0x6182, 61194 },
- { 0x6183, 61254 },
- { 0x6184, 61258 },
- { 0x6185, 61166 },
- { 0x6186, 61170 },
- { 0x6187, 61206 },
- { 0x6188, 61210 },
- { 0x6189, 61214 },
- { 0x618A, 61218 },
- { 0x618B, 61337 },
- { 0x618C, 61381 },
- { 0x618D, 61321 },
- { 0x618E, 61317 },
- { 0x618F, 61365 },
- { 0x6190, 61333 },
- { 0x6191, 61361 },
- { 0x6192, 61369 },
- { 0x6193, 61345 },
- { 0x6194, 61353 },
- { 0x6195, 61325 },
- { 0x6196, 61349 },
- { 0x6197, 61373 },
- { 0x6198, 61357 },
- { 0x6199, 61385 },
- { 0x619A, 61377 },
- { 0x619B, 61329 },
- { 0x619C, 61309 },
- { 0x619D, 61341 },
- { 0x619E, 61313 },
- { 0x619F, 60928 },
- { 0x61A0, 60913 },
- { 0x61A1, 60923 },
- { 0x61A2, 60933 },
- { 0x61A3, 60938 },
- { 0x61A4, 60918 },
- { 0x61A5, 60943 },
- { 0x61A6, 61041 },
- { 0x61A7, 61051 },
- { 0x61A8, 61000 },
- { 0x61A9, 61046 },
- { 0x61AA, 61026 },
- { 0x61AB, 61111 },
- { 0x61AC, 61096 },
- { 0x61AD, 61101 },
- { 0x61AE, 61106 },
- { 0x61AF, 61036 },
- { 0x61B0, 61066 },
- { 0x61B1, 61031 },
- { 0x61B2, 60952 },
- { 0x61B3, 61084 },
- { 0x61B4, 60983 },
- { 0x61B5, 61150 },
- { 0x61B6, 61126 },
- { 0x61B7, 61134 },
- { 0x61B8, 61162 },
- { 0x61B9, 61142 },
- { 0x61BA, 61138 },
- { 0x61BB, 61130 },
- { 0x61BC, 61158 },
- { 0x61BD, 61154 },
- { 0x61BE, 61146 },
- { 0x61BF, 61288 },
- { 0x61C0, 61297 },
- { 0x61C1, 61283 },
- { 0x61C2, 61301 },
- { 0x61C3, 61292 },
- { 0x61C4, 61278 },
- { 0x61C5, 61305 },
- { 0x61C6, 61021 },
- { 0x61C7, 61092 },
- { 0x61C8, 61005 },
- { 0x61C9, 61121 },
- { 0x61CA, 61057 },
- { 0x61CB, 61062 },
- { 0x61CC, 61076 },
- { 0x61CD, 61088 },
- { 0x61CE, 61080 },
- { 0x61CF, 60948 },
- { 0x61D0, 61116 },
- { 0x61D1, 61071 },
- { 0x61D2, 61017 },
- { 0x61D3, 61009 },
- { 0x61D4, 61013 },
- { 0x61D5, 60969 },
- { 0x61D6, 60963 },
- { 0x61D7, 60989 },
- { 0x61D8, 60994 },
- { 0x61D9, 60957 },
- { 0x61DA, 60977 },
- { 0x61DB, 60908 },
- { 0x61DC, 60898 },
- { 0x61DD, 60838 },
- { 0x61DE, 60868 },
- { 0x61DF, 60903 },
- { 0x61E0, 60828 },
- { 0x61E1, 60858 },
- { 0x61E2, 60873 },
- { 0x61E3, 60883 },
- { 0x61E4, 60888 },
- { 0x61E5, 60878 },
- { 0x61E6, 60863 },
- { 0x61E7, 60823 },
- { 0x61E8, 60843 },
- { 0x61E9, 60818 },
- { 0x61EA, 60853 },
- { 0x61EB, 60893 },
- { 0x61EC, 60833 },
- { 0x61ED, 60848 },
- { 0x61EE, 121981 },
- { 0x61EF, 122005 },
- { 0x61F0, 122017 },
- { 0x61F1, 122021 },
- { 0x61F2, 122065 },
- { 0x61F3, 122033 },
- { 0x61F4, 122045 },
- { 0x61F5, 121993 },
- { 0x61F6, 122009 },
- { 0x61F7, 121957 },
- { 0x61F8, 121953 },
- { 0x61F9, 121965 },
- { 0x61FA, 121973 },
- { 0x61FB, 121933 },
- { 0x61FC, 121969 },
- { 0x61FD, 121949 },
- { 0x61FE, 121937 },
- { 0x61FF, 121941 },
- { 0x6200, 122013 },
- { 0x6201, 122061 },
- { 0x6202, 121977 },
- { 0x6203, 121997 },
- { 0x6204, 122041 },
- { 0x6205, 122053 },
- { 0x6206, 122025 },
- { 0x6207, 121945 },
- { 0x6208, 122057 },
- { 0x6209, 121985 },
- { 0x620A, 122001 },
- { 0x620B, 121989 },
- { 0x620C, 122037 },
- { 0x620D, 122029 },
- { 0x620E, 121812 },
- { 0x620F, 121836 },
- { 0x6210, 121848 },
- { 0x6211, 121852 },
- { 0x6212, 121896 },
- { 0x6213, 121864 },
- { 0x6214, 121876 },
- { 0x6215, 121824 },
- { 0x6216, 121840 },
- { 0x6217, 121788 },
- { 0x6218, 121784 },
- { 0x6219, 121796 },
- { 0x621A, 121804 },
- { 0x621B, 121764 },
- { 0x621C, 121800 },
- { 0x621D, 121780 },
- { 0x621E, 121768 },
- { 0x621F, 121772 },
- { 0x6220, 121844 },
- { 0x6221, 121892 },
- { 0x6222, 121808 },
- { 0x6223, 121828 },
- { 0x6224, 121872 },
- { 0x6225, 121884 },
- { 0x6226, 121856 },
- { 0x6227, 121776 },
- { 0x6228, 121888 },
- { 0x6229, 121816 },
- { 0x622A, 121832 },
- { 0x622B, 121820 },
- { 0x622C, 121868 },
- { 0x622D, 121860 },
- { 0x622E, 121747 },
- { 0x622F, 121719 },
- { 0x6230, 121730 },
- { 0x6231, 121756 },
- { 0x6232, 121741 },
- { 0x6233, 121738 },
- { 0x6234, 121727 },
- { 0x6235, 121753 },
- { 0x6236, 121750 },
- { 0x6237, 121744 },
- { 0x6238, 121900 },
- { 0x6239, 121903 },
- { 0x623A, 121906 },
- { 0x623B, 121924 },
- { 0x623C, 121918 },
- { 0x623D, 121909 },
- { 0x623E, 121912 },
- { 0x623F, 121927 },
- { 0x6240, 121915 },
- { 0x6241, 121921 },
- { 0x6242, 121722 },
- { 0x6243, 121733 },
- { 0x6244, 121759 },
- { 0x6245, 121717 },
- { 0x6246, 121714 },
- { 0x6247, 121930 },
- { 0x6248, 122069 },
- { 0x6249, 15021 },
- { 0x624A, 14994 },
- { 0x624B, 15049 },
- { 0x624C, 15116 },
- { 0x624D, 15015 },
- { 0x624E, 15101 },
- { 0x624F, 15230 },
- { 0x6250, 15000 },
- { 0x6251, 15036 },
- { 0x6252, 15143 },
- { 0x6253, 15030 },
- { 0x6254, 14997 },
- { 0x6255, 15065 },
- { 0x6256, 15053 },
- { 0x6257, 15140 },
- { 0x6258, 15083 },
- { 0x6259, 15018 },
- { 0x625A, 15107 },
- { 0x625B, 15057 },
- { 0x625C, 15234 },
- { 0x625D, 15110 },
- { 0x625E, 15176 },
- { 0x625F, 15012 },
- { 0x6260, 15098 },
- { 0x6261, 15095 },
- { 0x6262, 15170 },
- { 0x6263, 15182 },
- { 0x6264, 15155 },
- { 0x6265, 15203 },
- { 0x6266, 15200 },
- { 0x6267, 15009 },
- { 0x6268, 15003 },
- { 0x6269, 15045 },
- { 0x626A, 15024 },
- { 0x626B, 15119 },
- { 0x626C, 15104 },
- { 0x626D, 15173 },
- { 0x626E, 15238 },
- { 0x626F, 15006 },
- { 0x6270, 15042 },
- { 0x6271, 15089 },
- { 0x6272, 15167 },
- { 0x6273, 15188 },
- { 0x6274, 15164 },
- { 0x6275, 15113 },
- { 0x6276, 15179 },
- { 0x6277, 15185 },
- { 0x6278, 15158 },
- { 0x6279, 15073 },
- { 0x627A, 15069 },
- { 0x627B, 15246 },
- { 0x627C, 15125 },
- { 0x627D, 15128 },
- { 0x627E, 15146 },
- { 0x627F, 15191 },
- { 0x6280, 15134 },
- { 0x6281, 15086 },
- { 0x6282, 15061 },
- { 0x6283, 15027 },
- { 0x6284, 15077 },
- { 0x6285, 15149 },
- { 0x6286, 15152 },
- { 0x6287, 15194 },
- { 0x6288, 15242 },
- { 0x6289, 15197 },
- { 0x628A, 15206 },
- { 0x628B, 15039 },
- { 0x628C, 14991 },
- { 0x628D, 15092 },
- { 0x628E, 15080 },
- { 0x628F, 15131 },
- { 0x6290, 15161 },
- { 0x6291, 15033 },
- { 0x6292, 15137 },
- { 0x6293, 15122 },
- { 0x6294, 14760 },
- { 0x6295, 15274 },
- { 0x6296, 14765 },
- { 0x6297, 14752 },
- { 0x6298, 14756 },
- { 0x6299, 14781 },
- { 0x629A, 14813 },
- { 0x629B, 14917 },
- { 0x629C, 14825 },
- { 0x629D, 14921 },
- { 0x629E, 14797 },
- { 0x629F, 14881 },
- { 0x62A0, 14905 },
- { 0x62A1, 14805 },
- { 0x62A2, 14785 },
- { 0x62A3, 14841 },
- { 0x62A4, 14925 },
- { 0x62A5, 14945 },
- { 0x62A6, 14789 },
- { 0x62A7, 14849 },
- { 0x62A8, 14933 },
- { 0x62A9, 14969 },
- { 0x62AA, 14865 },
- { 0x62AB, 14853 },
- { 0x62AC, 14861 },
- { 0x62AD, 14869 },
- { 0x62AE, 14937 },
- { 0x62AF, 14801 },
- { 0x62B0, 14889 },
- { 0x62B1, 14949 },
- { 0x62B2, 14977 },
- { 0x62B3, 14897 },
- { 0x62B4, 14953 },
- { 0x62B5, 14957 },
- { 0x62B6, 14809 },
- { 0x62B7, 14909 },
- { 0x62B8, 14817 },
- { 0x62B9, 14913 },
- { 0x62BA, 14929 },
- { 0x62BB, 14986 },
- { 0x62BC, 14845 },
- { 0x62BD, 14981 },
- { 0x62BE, 14821 },
- { 0x62BF, 14837 },
- { 0x62C0, 14829 },
- { 0x62C1, 14885 },
- { 0x62C2, 14793 },
- { 0x62C3, 14873 },
- { 0x62C4, 14961 },
- { 0x62C5, 14965 },
- { 0x62C6, 14877 },
- { 0x62C7, 14941 },
- { 0x62C8, 14901 },
- { 0x62C9, 14857 },
- { 0x62CA, 14833 },
- { 0x62CB, 14973 },
- { 0x62CC, 14893 },
- { 0x62CD, 14778 },
- { 0x62CE, 14768 },
- { 0x62CF, 14772 },
- { 0x62D0, 14775 },
- { 0x62D1, 15209 },
- { 0x62D2, 15212 },
- { 0x62D3, 15215 },
- { 0x62D4, 15218 },
- { 0x62D5, 15221 },
- { 0x62D6, 15224 },
- { 0x62D7, 15227 },
- { 0x62D8, 15250 },
- { 0x62D9, 15254 },
- { 0x62DA, 15258 },
- { 0x62DB, 15262 },
- { 0x62DC, 15266 },
- { 0x62DD, 15270 },
- { 0x62DE, 63447 },
- { 0x62DF, 36365 },
- { 0x62E0, 8766 },
- { 0x62E1, 8770 },
- { 0x62E2, 55341 },
- { 0x62E3, 120972 },
- { 0x62E4, 120977 },
- { 0x62E5, 63450 },
- { 0x62E6, 63452 },
- { 0x62E7, 63454 },
- { 0x62E8, 63456 },
- { 0x62E9, 63458 },
- { 0x62EA, 63460 },
- { 0x62EB, 63462 },
- { 0x62EC, 63464 },
- { 0x62ED, 63466 },
- { 0x62EE, 63468 },
- { 0x62EF, 63470 },
- { 0x62F0, 63472 },
- { 0x62F1, 63474 },
- { 0x62F2, 63476 },
- { 0x62F3, 63478 },
- { 0x62F4, 63480 },
- { 0x62F5, 63482 },
- { 0x62F6, 63484 },
- { 0x62F7, 63486 },
- { 0x62F8, 63488 },
- { 0x62F9, 63490 },
- { 0x62FA, 63492 },
- { 0x62FB, 63494 },
- { 0x62FC, 63496 },
- { 0x62FD, 63498 },
- { 0x62FE, 63500 },
- { 0x62FF, 63502 },
- { 0x6300, 63504 },
- { 0x6301, 63506 },
- { 0x6302, 63508 },
- { 0x6303, 63510 },
- { 0x6304, 63512 },
- { 0x6305, 63514 },
- { 0x6306, 63516 },
- { 0x6307, 63518 },
- { 0x6308, 63520 },
- { 0x6309, 63522 },
- { 0x630A, 63524 },
- { 0x630B, 63526 },
- { 0x630C, 63528 },
- { 0x630D, 63530 },
- { 0x630E, 63532 },
- { 0x630F, 63534 },
- { 0x6310, 63536 },
- { 0x6311, 63538 },
- { 0x6312, 63540 },
- { 0x6313, 63542 },
- { 0x6314, 63544 },
- { 0x6315, 63546 },
- { 0x6316, 63548 },
- { 0x6317, 63550 },
- { 0x6318, 63552 },
- { 0x6319, 63554 },
- { 0x631A, 63556 },
- { 0x631B, 63558 },
- { 0x631C, 63560 },
- { 0x631D, 63562 },
- { 0x631E, 63564 },
- { 0x631F, 63566 },
- { 0x6320, 63568 },
- { 0x6321, 63570 },
- { 0x6322, 63572 },
- { 0x6323, 63574 },
- { 0x6324, 63576 },
- { 0x6325, 63578 },
- { 0x6326, 63580 },
- { 0x6327, 63582 },
- { 0x6328, 63584 },
- { 0x6329, 63586 },
- { 0x632A, 63588 },
- { 0x632B, 63590 },
- { 0x632C, 63592 },
- { 0x632D, 63594 },
- { 0x632E, 63596 },
- { 0x632F, 63598 },
- { 0x6330, 63600 },
- { 0x6331, 63602 },
- { 0x6332, 63604 },
- { 0x6333, 63606 },
- { 0x6334, 63608 },
- { 0x6335, 63610 },
- { 0x6336, 63612 },
- { 0x6337, 63614 },
- { 0x6338, 63616 },
- { 0x6339, 63618 },
- { 0x633A, 63620 },
- { 0x633B, 63622 },
- { 0x633C, 63624 },
- { 0x633D, 63626 },
- { 0x633E, 63628 },
- { 0x633F, 63630 },
- { 0x6340, 63632 },
- { 0x6341, 63634 },
- { 0x6342, 63636 },
- { 0x6343, 63638 },
- { 0x6344, 63640 },
- { 0x6345, 63642 },
- { 0x6346, 63644 },
- { 0x6347, 63646 },
- { 0x6348, 63648 },
- { 0x6349, 63650 },
- { 0x634A, 63652 },
- { 0x634B, 63654 },
- { 0x634C, 63656 },
- { 0x634D, 63658 },
- { 0x634E, 63660 },
- { 0x634F, 63662 },
- { 0x6350, 63664 },
- { 0x6351, 63666 },
- { 0x6352, 63668 },
- { 0x6353, 63670 },
- { 0x6354, 63672 },
- { 0x6355, 63674 },
- { 0x6356, 63676 },
- { 0x6357, 63678 },
- { 0x6358, 63680 },
- { 0x6359, 63682 },
- { 0x635A, 63684 },
- { 0x635B, 63686 },
- { 0x635C, 63688 },
- { 0x635D, 63690 },
- { 0x635E, 63692 },
- { 0x635F, 63694 },
- { 0x6360, 63696 },
- { 0x6361, 63698 },
- { 0x6362, 63700 },
- { 0x6363, 63702 },
- { 0x6364, 63704 },
- { 0x6365, 63706 },
- { 0x6366, 63708 },
- { 0x6367, 63710 },
- { 0x6368, 63712 },
- { 0x6369, 63714 },
- { 0x636A, 63716 },
- { 0x636B, 63718 },
- { 0x636C, 63720 },
- { 0x636D, 63722 },
- { 0x636E, 63724 },
- { 0x636F, 63726 },
- { 0x6370, 63728 },
- { 0x6371, 63730 },
- { 0x6372, 63732 },
- { 0x6373, 63734 },
- { 0x6374, 63736 },
- { 0x6375, 63738 },
- { 0x6376, 63740 },
- { 0x6377, 63742 },
- { 0x6378, 63744 },
- { 0x6379, 63746 },
- { 0x637A, 63748 },
- { 0x637B, 63750 },
- { 0x637C, 63752 },
- { 0x637D, 63754 },
- { 0x637E, 63756 },
- { 0x637F, 63758 },
- { 0x6380, 63760 },
- { 0x6381, 63762 },
- { 0x6382, 63764 },
- { 0x6383, 63766 },
- { 0x6384, 63768 },
- { 0x6385, 63770 },
- { 0x6386, 63772 },
- { 0x6387, 63774 },
- { 0x6388, 63776 },
- { 0x6389, 63778 },
- { 0x638A, 63780 },
- { 0x638B, 63782 },
- { 0x638C, 63784 },
- { 0x638D, 63786 },
- { 0x638E, 63788 },
- { 0x638F, 63790 },
- { 0x6390, 63792 },
- { 0x6391, 63794 },
- { 0x6392, 63796 },
- { 0x6393, 63798 },
- { 0x6394, 63800 },
- { 0x6395, 63802 },
- { 0x6396, 63804 },
- { 0x6397, 63806 },
- { 0x6398, 63808 },
- { 0x6399, 63810 },
- { 0x639A, 63812 },
- { 0x639B, 63814 },
- { 0x639C, 63816 },
- { 0x639D, 63818 },
- { 0x639E, 63820 },
- { 0x639F, 63822 },
- { 0x63A0, 63824 },
- { 0x63A1, 63826 },
- { 0x63A2, 63828 },
- { 0x63A3, 63830 },
- { 0x63A4, 63832 },
- { 0x63A5, 63834 },
- { 0x63A6, 63836 },
- { 0x63A7, 63838 },
- { 0x63A8, 63840 },
- { 0x63A9, 63842 },
- { 0x63AA, 63844 },
- { 0x63AB, 63846 },
- { 0x63AC, 63848 },
- { 0x63AD, 63850 },
- { 0x63AE, 63852 },
- { 0x63AF, 63854 },
- { 0x63B0, 63856 },
- { 0x63B1, 63858 },
- { 0x63B2, 63860 },
- { 0x63B3, 63862 },
- { 0x63B4, 63864 },
- { 0x63B5, 63866 },
- { 0x63B6, 63868 },
- { 0x63B7, 63870 },
- { 0x63B8, 63872 },
- { 0x63B9, 63874 },
- { 0x63BA, 63876 },
- { 0x63BB, 63878 },
- { 0x63BC, 63880 },
- { 0x63BD, 63882 },
- { 0x63BE, 63884 },
- { 0x63BF, 63886 },
- { 0x63C0, 63888 },
- { 0x63C1, 63890 },
- { 0x63C2, 63892 },
- { 0x63C3, 63894 },
- { 0x63C4, 63896 },
- { 0x63C5, 63898 },
- { 0x63C6, 63900 },
- { 0x63C7, 63902 },
- { 0x63C8, 63904 },
- { 0x63C9, 63906 },
- { 0x63CA, 63908 },
- { 0x63CB, 63910 },
- { 0x63CC, 63912 },
- { 0x63CD, 63914 },
- { 0x63CE, 63916 },
- { 0x63CF, 63918 },
- { 0x63D0, 63920 },
- { 0x63D1, 63922 },
- { 0x63D2, 63924 },
- { 0x63D3, 63926 },
- { 0x63D4, 63928 },
- { 0x63D5, 63930 },
- { 0x63D6, 63932 },
- { 0x63D7, 63934 },
- { 0x63D8, 63936 },
- { 0x63D9, 63938 },
- { 0x63DA, 63940 },
- { 0x63DB, 63942 },
- { 0x63DC, 63944 },
- { 0x63DD, 63946 },
- { 0x63DE, 63948 },
- { 0x63DF, 63950 },
- { 0x63E0, 63952 },
- { 0x63E1, 63954 },
- { 0x63E2, 63956 },
- { 0x63E3, 63958 },
- { 0x63E4, 63960 },
- { 0x63E5, 63962 },
- { 0x63E6, 63964 },
- { 0x63E7, 63966 },
- { 0x63E8, 63968 },
- { 0x63E9, 63970 },
- { 0x63EA, 63972 },
- { 0x63EB, 63974 },
- { 0x63EC, 63976 },
- { 0x63ED, 63978 },
- { 0x63EE, 63980 },
- { 0x63EF, 63982 },
- { 0x63F0, 63984 },
- { 0x63F1, 63986 },
- { 0x63F2, 63988 },
- { 0x63F3, 63990 },
- { 0x63F4, 63992 },
- { 0x63F5, 63994 },
- { 0x63F6, 63996 },
- { 0x63F7, 63998 },
- { 0x63F8, 64000 },
- { 0x63F9, 64002 },
- { 0x63FA, 64004 },
- { 0x63FB, 64006 },
- { 0x63FC, 64008 },
- { 0x63FD, 64010 },
- { 0x63FE, 64012 },
- { 0x63FF, 64014 },
- { 0x6400, 64016 },
- { 0x6401, 64018 },
- { 0x6402, 64020 },
- { 0x6403, 64022 },
- { 0x6404, 64024 },
- { 0x6405, 64026 },
- { 0x6406, 64028 },
- { 0x6407, 64030 },
- { 0x6408, 64032 },
- { 0x6409, 64034 },
- { 0x640A, 64036 },
- { 0x640B, 64038 },
- { 0x640C, 64040 },
- { 0x640D, 64042 },
- { 0x640E, 64044 },
- { 0x640F, 64046 },
- { 0x6410, 64048 },
- { 0x6411, 64050 },
- { 0x6412, 64052 },
- { 0x6413, 64054 },
- { 0x6414, 64056 },
- { 0x6415, 64058 },
- { 0x6416, 64060 },
- { 0x6417, 64062 },
- { 0x6418, 64064 },
- { 0x6419, 64066 },
- { 0x641A, 64068 },
- { 0x641B, 64070 },
- { 0x641C, 64072 },
- { 0x641D, 64074 },
- { 0x641E, 64076 },
- { 0x641F, 64078 },
- { 0x6420, 64080 },
- { 0x6421, 64082 },
- { 0x6422, 64084 },
- { 0x6423, 64086 },
- { 0x6424, 64088 },
- { 0x6425, 64090 },
- { 0x6426, 64092 },
- { 0x6427, 64094 },
- { 0x6428, 64096 },
- { 0x6429, 64098 },
- { 0x642A, 64100 },
- { 0x642B, 64102 },
- { 0x642C, 64104 },
- { 0x642D, 64106 },
- { 0x642E, 64108 },
- { 0x642F, 64110 },
- { 0x6430, 64112 },
- { 0x6431, 64114 },
- { 0x6432, 64116 },
- { 0x6433, 64118 },
- { 0x6434, 64120 },
- { 0x6435, 64122 },
- { 0x6436, 64124 },
- { 0x6437, 64126 },
- { 0x6438, 64128 },
- { 0x6439, 64130 },
- { 0x643A, 64132 },
- { 0x643B, 64134 },
- { 0x643C, 64136 },
- { 0x643D, 64138 },
- { 0x643E, 64140 },
- { 0x643F, 64142 },
- { 0x6440, 64144 },
- { 0x6441, 64146 },
- { 0x6442, 64148 },
- { 0x6443, 64150 },
- { 0x6444, 64152 },
- { 0x6445, 64154 },
- { 0x6446, 64156 },
- { 0x6447, 64158 },
- { 0x6448, 64160 },
- { 0x6449, 64162 },
- { 0x644A, 64164 },
- { 0x644B, 64166 },
- { 0x644C, 64168 },
- { 0x644D, 64170 },
- { 0x644E, 64172 },
- { 0x644F, 64174 },
- { 0x6450, 64176 },
- { 0x6451, 64178 },
- { 0x6452, 64180 },
- { 0x6453, 64182 },
- { 0x6454, 64184 },
- { 0x6455, 64186 },
- { 0x6456, 64188 },
- { 0x6457, 64190 },
- { 0x6458, 64192 },
- { 0x6459, 64194 },
- { 0x645A, 64196 },
- { 0x645B, 64198 },
- { 0x645C, 64200 },
- { 0x645D, 64202 },
- { 0x645E, 64204 },
- { 0x645F, 64206 },
- { 0x6460, 64208 },
- { 0x6461, 64210 },
- { 0x6462, 64212 },
- { 0x6463, 64214 },
- { 0x6464, 64216 },
- { 0x6465, 64218 },
- { 0x6466, 64220 },
- { 0x6467, 64222 },
- { 0x6468, 64224 },
- { 0x6469, 64226 },
- { 0x646A, 64228 },
- { 0x646B, 64230 },
- { 0x646C, 64232 },
- { 0x646D, 64234 },
- { 0x646E, 64236 },
- { 0x646F, 64238 },
- { 0x6470, 64240 },
- { 0x6471, 64242 },
- { 0x6472, 64244 },
- { 0x6473, 64246 },
- { 0x6474, 64248 },
- { 0x6475, 64250 },
- { 0x6476, 64252 },
- { 0x6477, 64254 },
- { 0x6478, 64256 },
- { 0x6479, 64258 },
- { 0x647A, 64260 },
- { 0x647B, 64262 },
- { 0x647C, 64264 },
- { 0x647D, 64266 },
- { 0x647E, 64268 },
- { 0x647F, 64270 },
- { 0x6480, 64272 },
- { 0x6481, 64274 },
- { 0x6482, 64276 },
- { 0x6483, 64278 },
- { 0x6484, 64280 },
- { 0x6485, 64282 },
- { 0x6486, 64284 },
- { 0x6487, 64286 },
- { 0x6488, 64288 },
- { 0x6489, 64290 },
- { 0x648A, 64292 },
- { 0x648B, 64294 },
- { 0x648C, 64296 },
- { 0x648D, 64298 },
- { 0x648E, 64300 },
- { 0x648F, 64302 },
- { 0x6490, 64304 },
- { 0x6491, 64306 },
- { 0x6492, 64308 },
- { 0x6493, 64310 },
- { 0x6494, 64312 },
- { 0x6495, 64314 },
- { 0x6496, 64316 },
- { 0x6497, 64318 },
- { 0x6498, 64320 },
- { 0x6499, 64322 },
- { 0x649A, 64324 },
- { 0x649B, 64326 },
- { 0x649C, 64328 },
- { 0x649D, 64330 },
- { 0x649E, 64332 },
- { 0x649F, 64334 },
- { 0x64A0, 64336 },
- { 0x64A1, 64338 },
- { 0x64A2, 64340 },
- { 0x64A3, 64342 },
- { 0x64A4, 64344 },
- { 0x64A5, 64346 },
- { 0x64A6, 64348 },
- { 0x64A7, 64350 },
- { 0x64A8, 64352 },
- { 0x64A9, 64354 },
- { 0x64AA, 64356 },
- { 0x64AB, 64358 },
- { 0x64AC, 64360 },
- { 0x64AD, 64362 },
- { 0x64AE, 64364 },
- { 0x64AF, 64366 },
- { 0x64B0, 64368 },
- { 0x64B1, 64370 },
- { 0x64B2, 64372 },
- { 0x64B3, 64374 },
- { 0x64B4, 64376 },
- { 0x64B5, 64378 },
- { 0x64B6, 64380 },
- { 0x64B7, 64382 },
- { 0x64B8, 64384 },
- { 0x64B9, 64386 },
- { 0x64BA, 64388 },
- { 0x64BB, 64390 },
- { 0x64BC, 64392 },
- { 0x64BD, 64394 },
- { 0x64BE, 64396 },
- { 0x64BF, 64398 },
- { 0x64C0, 64400 },
- { 0x64C1, 64402 },
- { 0x64C2, 64404 },
- { 0x64C3, 64406 },
- { 0x64C4, 64408 },
- { 0x64C5, 64410 },
- { 0x64C6, 64412 },
- { 0x64C7, 64414 },
- { 0x64C8, 64416 },
- { 0x64C9, 64418 },
- { 0x64CA, 64420 },
- { 0x64CB, 64422 },
- { 0x64CC, 64424 },
- { 0x64CD, 64426 },
- { 0x64CE, 64428 },
- { 0x64CF, 64430 },
- { 0x64D0, 64432 },
- { 0x64D1, 64434 },
- { 0x64D2, 64436 },
- { 0x64D3, 64438 },
- { 0x64D4, 64440 },
- { 0x64D5, 64442 },
- { 0x64D6, 64444 },
- { 0x64D7, 64446 },
- { 0x64D8, 64448 },
- { 0x64D9, 64450 },
- { 0x64DA, 64452 },
- { 0x64DB, 64454 },
- { 0x64DC, 64456 },
- { 0x64DD, 64458 },
- { 0x64DE, 64460 },
- { 0x64DF, 64462 },
- { 0x64E0, 64464 },
- { 0x64E1, 64466 },
- { 0x64E2, 64468 },
- { 0x64E3, 64470 },
- { 0x64E4, 64472 },
- { 0x64E5, 64474 },
- { 0x64E6, 64476 },
- { 0x64E7, 64478 },
- { 0x64E8, 64480 },
- { 0x64E9, 64482 },
- { 0x64EA, 64484 },
- { 0x64EB, 64486 },
- { 0x64EC, 64488 },
- { 0x64ED, 64490 },
- { 0x64EE, 64492 },
- { 0x64EF, 64494 },
- { 0x64F0, 64496 },
- { 0x64F1, 64498 },
- { 0x64F2, 64500 },
- { 0x64F3, 64502 },
- { 0x64F4, 64504 },
- { 0x64F5, 64506 },
- { 0x64F6, 64508 },
- { 0x64F7, 64510 },
- { 0x64F8, 64512 },
- { 0x64F9, 64514 },
- { 0x64FA, 64516 },
- { 0x64FB, 64518 },
- { 0x64FC, 64520 },
- { 0x64FD, 64522 },
- { 0x64FE, 64524 },
- { 0x64FF, 64526 },
- { 0x6500, 64528 },
- { 0x6501, 64530 },
- { 0x6502, 64532 },
- { 0x6503, 64534 },
- { 0x6504, 64536 },
- { 0x6505, 64538 },
- { 0x6506, 64540 },
- { 0x6507, 64542 },
- { 0x6508, 64544 },
- { 0x6509, 64546 },
- { 0x650A, 64548 },
- { 0x650B, 64550 },
- { 0x650C, 64552 },
- { 0x650D, 64554 },
- { 0x650E, 64556 },
- { 0x650F, 64558 },
- { 0x6510, 64560 },
- { 0x6511, 64562 },
- { 0x6512, 64564 },
- { 0x6513, 64566 },
- { 0x6514, 64568 },
- { 0x6515, 64570 },
- { 0x6516, 64572 },
- { 0x6517, 64574 },
- { 0x6518, 64576 },
- { 0x6519, 64578 },
- { 0x651A, 64580 },
- { 0x651B, 64582 },
- { 0x651C, 64584 },
- { 0x651D, 64586 },
- { 0x651E, 64588 },
- { 0x651F, 64590 },
- { 0x6520, 64592 },
- { 0x6521, 64594 },
- { 0x6522, 64596 },
- { 0x6523, 64598 },
- { 0x6524, 64600 },
- { 0x6525, 64602 },
- { 0x6526, 64604 },
- { 0x6527, 64606 },
- { 0x6528, 64608 },
- { 0x6529, 64610 },
- { 0x652A, 64612 },
- { 0x652B, 64614 },
- { 0x652C, 64616 },
- { 0x652D, 64618 },
- { 0x652E, 64620 },
- { 0x652F, 64622 },
- { 0x6530, 64624 },
- { 0x6531, 64626 },
- { 0x6532, 64628 },
- { 0x6533, 64630 },
- { 0x6534, 64632 },
- { 0x6535, 64634 },
- { 0x6536, 64636 },
- { 0x6537, 64638 },
- { 0x6538, 64640 },
- { 0x6539, 64642 },
- { 0x653A, 64644 },
- { 0x653B, 64646 },
- { 0x653C, 64648 },
- { 0x653D, 64650 },
- { 0x653E, 64652 },
- { 0x653F, 64654 },
- { 0x6540, 64656 },
- { 0x6541, 64658 },
- { 0x6542, 64660 },
- { 0x6543, 64662 },
- { 0x6544, 64664 },
- { 0x6545, 64666 },
- { 0x6546, 64668 },
- { 0x6547, 64670 },
- { 0x6548, 64672 },
- { 0x6549, 64674 },
- { 0x654A, 64676 },
- { 0x654B, 64678 },
- { 0x654C, 64680 },
- { 0x654D, 64682 },
- { 0x654E, 64684 },
- { 0x654F, 64686 },
- { 0x6550, 64688 },
- { 0x6551, 64690 },
- { 0x6552, 64692 },
- { 0x6553, 64694 },
- { 0x6554, 64696 },
- { 0x6555, 64698 },
- { 0x6556, 64700 },
- { 0x6557, 64702 },
- { 0x6558, 64704 },
- { 0x6559, 64706 },
- { 0x655A, 64708 },
- { 0x655B, 64710 },
- { 0x655C, 64712 },
- { 0x655D, 64714 },
- { 0x655E, 64716 },
- { 0x655F, 64718 },
- { 0x6560, 64720 },
- { 0x6561, 64722 },
- { 0x6562, 64724 },
- { 0x6563, 64726 },
- { 0x6564, 64728 },
- { 0x6565, 64730 },
- { 0x6566, 64732 },
- { 0x6567, 64734 },
- { 0x6568, 64736 },
- { 0x6569, 64738 },
- { 0x656A, 64740 },
- { 0x656B, 64742 },
- { 0x656C, 64744 },
- { 0x656D, 64746 },
- { 0x656E, 64748 },
- { 0x656F, 64750 },
- { 0x6570, 64752 },
- { 0x6571, 64754 },
- { 0x6572, 64756 },
- { 0x6573, 64758 },
- { 0x6574, 64760 },
- { 0x6575, 64762 },
- { 0x6576, 64764 },
- { 0x6577, 64766 },
- { 0x6578, 64768 },
- { 0x6579, 64770 },
- { 0x657A, 64772 },
- { 0x657B, 64774 },
- { 0x657C, 64776 },
- { 0x657D, 64778 },
- { 0x657E, 64780 },
- { 0x657F, 64782 },
- { 0x6580, 64784 },
- { 0x6581, 64786 },
- { 0x6582, 64788 },
- { 0x6583, 64790 },
- { 0x6584, 64792 },
- { 0x6585, 64794 },
- { 0x6586, 64796 },
- { 0x6587, 64798 },
- { 0x6588, 64800 },
- { 0x6589, 64802 },
- { 0x658A, 64804 },
- { 0x658B, 64806 },
- { 0x658C, 64808 },
- { 0x658D, 64810 },
- { 0x658E, 64812 },
- { 0x658F, 64814 },
- { 0x6590, 64816 },
- { 0x6591, 64818 },
- { 0x6592, 64820 },
- { 0x6593, 64822 },
- { 0x6594, 64824 },
- { 0x6595, 64826 },
- { 0x6596, 64828 },
- { 0x6597, 64830 },
- { 0x6598, 64832 },
- { 0x6599, 64834 },
- { 0x659A, 64836 },
- { 0x659B, 64838 },
- { 0x659C, 64840 },
- { 0x659D, 64842 },
- { 0x659E, 64844 },
- { 0x659F, 64846 },
- { 0x65A0, 64848 },
- { 0x65A1, 64850 },
- { 0x65A2, 64852 },
- { 0x65A3, 64854 },
- { 0x65A4, 64856 },
- { 0x65A5, 64858 },
- { 0x65A6, 64860 },
- { 0x65A7, 64862 },
- { 0x65A8, 64864 },
- { 0x65A9, 64866 },
- { 0x65AA, 64868 },
- { 0x65AB, 64870 },
- { 0x65AC, 64872 },
- { 0x65AD, 64874 },
- { 0x65AE, 64876 },
- { 0x65AF, 64878 },
- { 0x65B0, 64880 },
- { 0x65B1, 64882 },
- { 0x65B2, 64884 },
- { 0x65B3, 64886 },
- { 0x65B4, 64888 },
- { 0x65B5, 64890 },
- { 0x65B6, 64892 },
- { 0x65B7, 64894 },
- { 0x65B8, 64896 },
- { 0x65B9, 64898 },
- { 0x65BA, 64900 },
- { 0x65BB, 64902 },
- { 0x65BC, 64904 },
- { 0x65BD, 64906 },
- { 0x65BE, 64908 },
- { 0x65BF, 64910 },
- { 0x65C0, 64912 },
- { 0x65C1, 64914 },
- { 0x65C2, 64916 },
- { 0x65C3, 64918 },
- { 0x65C4, 64920 },
- { 0x65C5, 64922 },
- { 0x65C6, 64924 },
- { 0x65C7, 64926 },
- { 0x65C8, 64928 },
- { 0x65C9, 64930 },
- { 0x65CA, 64932 },
- { 0x65CB, 64934 },
- { 0x65CC, 64936 },
- { 0x65CD, 64938 },
- { 0x65CE, 64940 },
- { 0x65CF, 64942 },
- { 0x65D0, 64944 },
- { 0x65D1, 64946 },
- { 0x65D2, 64948 },
- { 0x65D3, 64950 },
- { 0x65D4, 64952 },
- { 0x65D5, 64954 },
- { 0x65D6, 64956 },
- { 0x65D7, 64958 },
- { 0x65D8, 64960 },
- { 0x65D9, 64962 },
- { 0x65DA, 64964 },
- { 0x65DB, 64966 },
- { 0x65DC, 64968 },
- { 0x65DD, 64970 },
- { 0x65DE, 64972 },
- { 0x65DF, 64974 },
- { 0x65E0, 64976 },
- { 0x65E1, 64978 },
- { 0x65E2, 64980 },
- { 0x65E3, 64982 },
- { 0x65E4, 64984 },
- { 0x65E5, 55345 },
- { 0x65E6, 55349 },
- { 0x65E7, 55353 },
- { 0x65E8, 55357 },
- { 0x65E9, 55361 },
- { 0x65EA, 55365 },
- { 0x65EB, 55369 },
- { 0x65EC, 55373 },
- { 0x65ED, 55377 },
- { 0x65EE, 55381 },
- { 0x65EF, 55385 },
- { 0x65F0, 55389 },
- { 0x65F1, 55393 },
- { 0x65F2, 55397 },
- { 0x65F3, 55401 },
- { 0x65F4, 55405 },
- { 0x65F5, 55409 },
- { 0x65F6, 55413 },
- { 0x65F7, 55417 },
- { 0x65F8, 55421 },
- { 0x65F9, 55425 },
- { 0x65FA, 55429 },
- { 0x65FB, 55433 },
- { 0x65FC, 55437 },
- { 0x65FD, 55441 },
- { 0x65FE, 55445 },
- { 0x65FF, 55449 },
- { 0x6600, 55453 },
- { 0x6601, 55457 },
- { 0x6602, 55461 },
- { 0x6603, 55465 },
- { 0x6604, 55469 },
- { 0x6605, 55473 },
- { 0x6606, 55477 },
- { 0x6607, 55481 },
- { 0x6608, 55485 },
- { 0x6609, 55489 },
- { 0x660A, 55493 },
- { 0x660B, 55497 },
- { 0x660C, 55501 },
- { 0x660D, 55505 },
- { 0x660E, 55509 },
- { 0x660F, 55513 },
- { 0x6610, 55517 },
- { 0x6611, 55521 },
- { 0x6612, 55525 },
- { 0x6613, 55529 },
- { 0x6614, 55533 },
- { 0x6615, 55537 },
- { 0x6616, 55541 },
- { 0x6617, 55545 },
- { 0x6618, 55549 },
- { 0x6619, 55553 },
- { 0x661A, 55557 },
- { 0x661B, 55561 },
- { 0x661C, 55565 },
- { 0x661D, 55569 },
- { 0x661E, 55573 },
- { 0x661F, 55577 },
- { 0x6620, 55581 },
- { 0x6621, 55585 },
- { 0x6622, 55589 },
- { 0x6623, 55593 },
- { 0x6624, 55597 },
- { 0x6625, 55601 },
- { 0x6626, 55605 },
- { 0x6627, 55609 },
- { 0x6628, 55613 },
- { 0x6629, 55617 },
- { 0x662A, 55621 },
- { 0x662B, 55625 },
- { 0x662C, 55629 },
- { 0x662D, 55633 },
- { 0x662E, 55637 },
- { 0x662F, 55641 },
- { 0x6630, 55645 },
- { 0x6631, 55649 },
- { 0x6632, 55653 },
- { 0x6633, 55657 },
- { 0x6634, 55661 },
- { 0x6635, 55665 },
- { 0x6636, 55669 },
- { 0x6637, 55673 },
- { 0x6638, 55677 },
- { 0x6639, 55681 },
- { 0x663A, 55685 },
- { 0x663B, 55689 },
- { 0x663C, 55693 },
- { 0x663D, 55697 },
- { 0x663E, 55701 },
- { 0x663F, 55705 },
- { 0x6640, 55709 },
- { 0x6641, 55713 },
- { 0x6642, 55717 },
- { 0x6643, 55721 },
- { 0x6644, 55725 },
- { 0x6645, 55729 },
- { 0x6646, 55733 },
- { 0x6647, 55737 },
- { 0x6648, 55741 },
- { 0x6649, 55745 },
- { 0x664A, 55749 },
- { 0x664B, 55753 },
- { 0x664C, 55757 },
- { 0x664D, 55761 },
- { 0x664E, 55765 },
- { 0x664F, 55769 },
- { 0x6650, 55773 },
- { 0x6651, 55777 },
- { 0x6652, 55781 },
- { 0x6653, 55785 },
- { 0x6654, 55789 },
- { 0x6655, 55793 },
- { 0x6656, 55797 },
- { 0x6657, 55801 },
- { 0x6658, 55805 },
- { 0x6659, 55809 },
- { 0x665A, 55813 },
- { 0x665B, 55817 },
- { 0x665C, 55821 },
- { 0x665D, 55825 },
- { 0x665E, 55829 },
- { 0x665F, 55833 },
- { 0x6660, 55837 },
- { 0x6661, 55841 },
- { 0x6662, 55845 },
- { 0x6663, 55849 },
- { 0x6664, 55853 },
- { 0x6665, 55857 },
- { 0x6666, 55861 },
- { 0x6667, 55865 },
- { 0x6668, 55869 },
- { 0x6669, 55873 },
- { 0x666A, 55877 },
- { 0x666B, 55881 },
- { 0x666C, 55885 },
- { 0x666D, 55889 },
- { 0x666E, 55893 },
- { 0x666F, 55897 },
- { 0x6670, 55901 },
- { 0x6671, 55905 },
- { 0x6672, 55909 },
- { 0x6673, 55913 },
- { 0x6674, 55917 },
- { 0x6675, 55921 },
- { 0x6676, 55925 },
- { 0x6677, 55929 },
- { 0x6678, 55933 },
- { 0x6679, 55937 },
- { 0x667A, 55941 },
- { 0x667B, 55945 },
- { 0x667C, 55949 },
- { 0x667D, 55953 },
- { 0x667E, 55957 },
- { 0x667F, 55961 },
- { 0x6680, 55965 },
- { 0x6681, 55969 },
- { 0x6682, 55973 },
- { 0x6683, 55977 },
- { 0x6684, 55981 },
- { 0x6685, 55985 },
- { 0x6686, 55989 },
- { 0x6687, 55993 },
- { 0x6688, 55997 },
- { 0x6689, 56001 },
- { 0x668A, 56005 },
- { 0x668B, 56009 },
- { 0x668C, 56013 },
- { 0x668D, 56017 },
- { 0x668E, 56021 },
- { 0x668F, 56025 },
- { 0x6690, 56029 },
- { 0x6691, 56033 },
- { 0x6692, 56037 },
- { 0x6693, 56041 },
- { 0x6694, 56045 },
- { 0x6695, 56049 },
- { 0x6696, 56053 },
- { 0x6697, 56057 },
- { 0x6698, 56061 },
- { 0x6699, 56065 },
- { 0x669A, 56069 },
- { 0x669B, 56073 },
- { 0x669C, 56077 },
- { 0x669D, 56081 },
- { 0x669E, 56085 },
- { 0x669F, 56089 },
- { 0x66A0, 56093 },
- { 0x66A1, 56097 },
- { 0x66A2, 56101 },
- { 0x66A3, 56105 },
- { 0x66A4, 56109 },
- { 0x66A5, 56113 },
- { 0x66A6, 56117 },
- { 0x66A7, 56121 },
- { 0x66A8, 56125 },
- { 0x66A9, 56129 },
- { 0x66AA, 56133 },
- { 0x66AB, 56137 },
- { 0x66AC, 56141 },
- { 0x66AD, 56145 },
- { 0x66AE, 56149 },
- { 0x66AF, 56153 },
- { 0x66B0, 56157 },
- { 0x66B1, 56161 },
- { 0x66B2, 56165 },
- { 0x66B3, 56169 },
- { 0x66B4, 56173 },
- { 0x66B5, 56177 },
- { 0x66B6, 56181 },
- { 0x66B7, 56185 },
- { 0x66B8, 56189 },
- { 0x66B9, 56193 },
- { 0x66BA, 56197 },
- { 0x66BB, 56201 },
- { 0x66BC, 56205 },
- { 0x66BD, 56209 },
- { 0x66BE, 56213 },
- { 0x66BF, 56217 },
- { 0x66C0, 56221 },
- { 0x66C1, 56225 },
- { 0x66C2, 56229 },
- { 0x66C3, 56233 },
- { 0x66C4, 56237 },
- { 0x66C5, 56241 },
- { 0x66C6, 56245 },
- { 0x66C7, 56249 },
- { 0x66C8, 56253 },
- { 0x66C9, 56257 },
- { 0x66CA, 56261 },
- { 0x66CB, 56265 },
- { 0x66CC, 56269 },
- { 0x66CD, 56273 },
- { 0x66CE, 56277 },
- { 0x66CF, 56281 },
- { 0x66D0, 56285 },
- { 0x66D1, 56289 },
- { 0x66D2, 56293 },
- { 0x66D3, 56297 },
- { 0x66D4, 56301 },
- { 0x66D5, 56305 },
- { 0x66D6, 56309 },
- { 0x66D7, 56313 },
- { 0x66D8, 56317 },
- { 0x66D9, 56321 },
- { 0x66DA, 56325 },
- { 0x66DB, 56329 },
- { 0x66DC, 56333 },
- { 0x66DD, 56337 },
- { 0x66DE, 56341 },
- { 0x66DF, 56345 },
- { 0x66E0, 56349 },
- { 0x66E1, 56353 },
- { 0x66E2, 56357 },
- { 0x66E3, 56361 },
- { 0x66E4, 56365 },
- { 0x66E5, 56369 },
- { 0x66E6, 56373 },
- { 0x66E7, 56377 },
- { 0x66E8, 56381 },
- { 0x66E9, 56385 },
- { 0x66EA, 56389 },
- { 0x66EB, 56393 },
- { 0x66EC, 56397 },
- { 0x66ED, 56401 },
- { 0x66EE, 56405 },
- { 0x66EF, 56409 },
- { 0x66F0, 56413 },
- { 0x66F1, 56417 },
- { 0x66F2, 56421 },
- { 0x66F3, 56425 },
- { 0x66F4, 56429 },
- { 0x66F5, 56433 },
- { 0x66F6, 56437 },
- { 0x66F7, 56441 },
- { 0x66F8, 56445 },
- { 0x66F9, 56449 },
- { 0x66FA, 56453 },
- { 0x66FB, 56457 },
- { 0x66FC, 56461 },
- { 0x66FD, 56465 },
- { 0x66FE, 56469 },
- { 0x66FF, 56473 },
- { 0x6700, 56477 },
- { 0x6701, 56481 },
- { 0x6702, 56485 },
- { 0x6703, 56489 },
- { 0x6704, 56493 },
- { 0x6705, 56497 },
- { 0x6706, 56501 },
- { 0x6707, 56505 },
- { 0x6708, 56509 },
- { 0x6709, 56513 },
- { 0x670A, 56517 },
- { 0x670B, 56521 },
- { 0x670C, 56525 },
- { 0x670D, 56529 },
- { 0x670E, 56533 },
- { 0x670F, 56537 },
- { 0x6710, 56541 },
- { 0x6711, 56545 },
- { 0x6712, 56549 },
- { 0x6713, 56553 },
- { 0x6714, 56557 },
- { 0x6715, 56561 },
- { 0x6716, 56565 },
- { 0x6717, 56569 },
- { 0x6718, 56573 },
- { 0x6719, 56577 },
- { 0x671A, 56581 },
- { 0x671B, 56585 },
- { 0x671C, 56589 },
- { 0x671D, 56593 },
- { 0x671E, 56597 },
- { 0x671F, 56601 },
- { 0x6720, 56605 },
- { 0x6721, 56609 },
- { 0x6722, 56613 },
- { 0x6723, 56617 },
- { 0x6724, 56621 },
- { 0x6725, 56625 },
- { 0x6726, 56629 },
- { 0x6727, 56633 },
- { 0x6728, 56637 },
- { 0x6729, 56641 },
- { 0x672A, 56645 },
- { 0x672B, 56649 },
- { 0x672C, 56653 },
- { 0x672D, 56657 },
- { 0x672E, 56661 },
- { 0x672F, 56665 },
- { 0x6730, 56669 },
- { 0x6731, 56673 },
- { 0x6732, 56677 },
- { 0x6733, 56681 },
- { 0x6734, 56685 },
- { 0x6735, 56689 },
- { 0x6736, 56693 },
- { 0x6737, 56697 },
- { 0x6738, 56701 },
- { 0x6739, 56705 },
- { 0x673A, 56709 },
- { 0x673B, 56713 },
- { 0x673C, 56717 },
- { 0x673D, 56721 },
- { 0x673E, 56725 },
- { 0x673F, 56729 },
- { 0x6740, 56733 },
- { 0x6741, 56737 },
- { 0x6742, 56741 },
- { 0x6743, 56745 },
- { 0x6744, 56749 },
- { 0x6745, 56753 },
- { 0x6746, 56757 },
- { 0x6747, 56761 },
- { 0x6748, 56765 },
- { 0x6749, 56769 },
- { 0x674A, 56773 },
- { 0x674B, 56777 },
- { 0x674C, 56781 },
- { 0x674D, 56785 },
- { 0x674E, 56789 },
- { 0x674F, 56793 },
- { 0x6750, 56797 },
- { 0x6751, 56801 },
- { 0x6752, 56805 },
- { 0x6753, 56809 },
- { 0x6754, 56813 },
- { 0x6755, 56817 },
- { 0x6756, 56821 },
- { 0x6757, 56825 },
- { 0x6758, 56829 },
- { 0x6759, 56833 },
- { 0x675A, 56837 },
- { 0x675B, 56841 },
- { 0x675C, 56845 },
- { 0x675D, 56849 },
- { 0x675E, 56853 },
- { 0x675F, 56857 },
- { 0x6760, 56861 },
- { 0x6761, 56865 },
- { 0x6762, 56869 },
- { 0x6763, 56873 },
- { 0x6764, 56877 },
- { 0x6765, 56881 },
- { 0x6766, 56885 },
- { 0x6767, 56889 },
- { 0x6768, 56893 },
- { 0x6769, 56897 },
- { 0x676A, 56901 },
- { 0x676B, 56905 },
- { 0x676C, 56909 },
- { 0x676D, 56913 },
- { 0x676E, 56917 },
- { 0x676F, 56921 },
- { 0x6770, 56925 },
- { 0x6771, 56929 },
- { 0x6772, 56933 },
- { 0x6773, 56937 },
- { 0x6774, 56941 },
- { 0x6775, 56945 },
- { 0x6776, 56949 },
- { 0x6777, 56953 },
- { 0x6778, 56957 },
- { 0x6779, 56961 },
- { 0x677A, 56965 },
- { 0x677B, 56969 },
- { 0x677C, 56973 },
- { 0x677D, 56977 },
- { 0x677E, 56981 },
- { 0x677F, 56985 },
- { 0x6780, 56989 },
- { 0x6781, 56993 },
- { 0x6782, 56997 },
- { 0x6783, 57001 },
- { 0x6784, 57005 },
- { 0x6785, 57009 },
- { 0x6786, 57013 },
- { 0x6787, 57017 },
- { 0x6788, 57021 },
- { 0x6789, 57025 },
- { 0x678A, 57029 },
- { 0x678B, 57033 },
- { 0x678C, 57037 },
- { 0x678D, 57041 },
- { 0x678E, 57045 },
- { 0x678F, 57049 },
- { 0x6790, 57053 },
- { 0x6791, 57057 },
- { 0x6792, 57061 },
- { 0x6793, 57065 },
- { 0x6794, 57069 },
- { 0x6795, 57073 },
- { 0x6796, 57077 },
- { 0x6797, 57081 },
- { 0x6798, 57085 },
- { 0x6799, 57089 },
- { 0x679A, 57093 },
- { 0x679B, 57097 },
- { 0x679C, 57101 },
- { 0x679D, 57105 },
- { 0x679E, 57109 },
- { 0x679F, 57113 },
- { 0x67A0, 57117 },
- { 0x67A1, 57121 },
- { 0x67A2, 57125 },
- { 0x67A3, 57129 },
- { 0x67A4, 57133 },
- { 0x67A5, 57137 },
- { 0x67A6, 57141 },
- { 0x67A7, 57145 },
- { 0x67A8, 57149 },
- { 0x67A9, 57153 },
- { 0x67AA, 57157 },
- { 0x67AB, 57161 },
- { 0x67AC, 57165 },
- { 0x67AD, 57169 },
- { 0x67AE, 57173 },
- { 0x67AF, 57177 },
- { 0x67B0, 57181 },
- { 0x67B1, 57185 },
- { 0x67B2, 57189 },
- { 0x67B3, 57193 },
- { 0x67B4, 57197 },
- { 0x67B5, 57201 },
- { 0x67B6, 57205 },
- { 0x67B7, 57209 },
- { 0x67B8, 57213 },
- { 0x67B9, 57217 },
- { 0x67BA, 57221 },
- { 0x67BB, 94698 },
- { 0x67BC, 94702 },
- { 0x67BD, 94706 },
- { 0x67BE, 94710 },
- { 0x67BF, 94714 },
- { 0x67C0, 94718 },
- { 0x67C1, 94722 },
- { 0x67C2, 94727 },
- { 0x67C3, 94732 },
- { 0x67C4, 94737 },
- { 0x67C5, 94742 },
- { 0x67C6, 94747 },
- { 0x67C7, 94752 },
- { 0x67C8, 94757 },
- { 0x67C9, 93711 },
- { 0x67CA, 118654 },
- { 0x67CB, 118657 },
- { 0x67CC, 118660 },
- { 0x67CD, 118717 },
- { 0x67CE, 118681 },
- { 0x67CF, 118684 },
- { 0x67D0, 118687 },
- { 0x67D1, 118690 },
- { 0x67D2, 118702 },
- { 0x67D3, 118705 },
- { 0x67D4, 118708 },
- { 0x67D5, 118711 },
- { 0x67D6, 118714 },
- { 0x67D7, 118666 },
- { 0x67D8, 118669 },
- { 0x67D9, 118672 },
- { 0x67DA, 118675 },
- { 0x67DB, 118678 },
- { 0x67DC, 118693 },
- { 0x67DD, 118696 },
- { 0x67DE, 118699 },
- { 0x67DF, 118822 },
- { 0x67E0, 118825 },
- { 0x67E1, 118828 },
- { 0x67E2, 118831 },
- { 0x67E3, 118834 },
- { 0x67E4, 118837 },
- { 0x67E5, 118840 },
- { 0x67E6, 118843 },
- { 0x67E7, 118846 },
- { 0x67E8, 119476 },
- { 0x67E9, 119479 },
- { 0x67EA, 119482 },
- { 0x67EB, 118867 },
- { 0x67EC, 118870 },
- { 0x67ED, 118873 },
- { 0x67EE, 118876 },
- { 0x67EF, 118879 },
- { 0x67F0, 118882 },
- { 0x67F1, 118885 },
- { 0x67F2, 118888 },
- { 0x67F3, 118900 },
- { 0x67F4, 118903 },
- { 0x67F5, 118906 },
- { 0x67F6, 118909 },
- { 0x67F7, 118912 },
- { 0x67F8, 118915 },
- { 0x67F9, 118918 },
- { 0x67FA, 118849 },
- { 0x67FB, 118852 },
- { 0x67FC, 118855 },
- { 0x67FD, 118858 },
- { 0x67FE, 118861 },
- { 0x67FF, 118864 },
- { 0x6800, 118891 },
- { 0x6801, 118894 },
- { 0x6802, 118897 },
- { 0x6803, 119485 },
- { 0x6804, 119170 },
- { 0x6805, 119173 },
- { 0x6806, 119176 },
- { 0x6807, 119179 },
- { 0x6808, 119182 },
- { 0x6809, 119185 },
- { 0x680A, 119188 },
- { 0x680B, 119191 },
- { 0x680C, 119209 },
- { 0x680D, 119212 },
- { 0x680E, 119215 },
- { 0x680F, 119218 },
- { 0x6810, 119221 },
- { 0x6811, 119224 },
- { 0x6812, 119248 },
- { 0x6813, 119251 },
- { 0x6814, 119254 },
- { 0x6815, 119257 },
- { 0x6816, 119260 },
- { 0x6817, 119263 },
- { 0x6818, 119266 },
- { 0x6819, 119269 },
- { 0x681A, 119194 },
- { 0x681B, 119197 },
- { 0x681C, 119200 },
- { 0x681D, 119203 },
- { 0x681E, 119206 },
- { 0x681F, 119227 },
- { 0x6820, 119230 },
- { 0x6821, 119233 },
- { 0x6822, 119236 },
- { 0x6823, 119239 },
- { 0x6824, 119242 },
- { 0x6825, 119245 },
- { 0x6826, 119272 },
- { 0x6827, 119275 },
- { 0x6828, 119278 },
- { 0x6829, 119281 },
- { 0x682A, 119311 },
- { 0x682B, 119314 },
- { 0x682C, 119317 },
- { 0x682D, 119320 },
- { 0x682E, 119323 },
- { 0x682F, 119326 },
- { 0x6830, 119329 },
- { 0x6831, 119350 },
- { 0x6832, 119353 },
- { 0x6833, 119356 },
- { 0x6834, 119359 },
- { 0x6835, 119500 },
- { 0x6836, 119284 },
- { 0x6837, 119287 },
- { 0x6838, 119290 },
- { 0x6839, 119293 },
- { 0x683A, 119296 },
- { 0x683B, 119299 },
- { 0x683C, 119302 },
- { 0x683D, 119305 },
- { 0x683E, 119308 },
- { 0x683F, 119332 },
- { 0x6840, 119335 },
- { 0x6841, 119338 },
- { 0x6842, 119341 },
- { 0x6843, 119344 },
- { 0x6844, 119347 },
- { 0x6845, 119497 },
- { 0x6846, 118999 },
- { 0x6847, 119002 },
- { 0x6848, 119005 },
- { 0x6849, 119008 },
- { 0x684A, 119011 },
- { 0x684B, 119014 },
- { 0x684C, 119017 },
- { 0x684D, 119020 },
- { 0x684E, 119023 },
- { 0x684F, 119044 },
- { 0x6850, 119047 },
- { 0x6851, 119050 },
- { 0x6852, 119053 },
- { 0x6853, 119056 },
- { 0x6854, 119059 },
- { 0x6855, 119062 },
- { 0x6856, 119494 },
- { 0x6857, 119080 },
- { 0x6858, 119083 },
- { 0x6859, 119086 },
- { 0x685A, 119026 },
- { 0x685B, 119029 },
- { 0x685C, 119032 },
- { 0x685D, 119035 },
- { 0x685E, 119038 },
- { 0x685F, 119041 },
- { 0x6860, 119491 },
- { 0x6861, 119065 },
- { 0x6862, 119068 },
- { 0x6863, 119071 },
- { 0x6864, 119074 },
- { 0x6865, 119077 },
- { 0x6866, 118720 },
- { 0x6867, 118723 },
- { 0x6868, 118726 },
- { 0x6869, 118729 },
- { 0x686A, 118732 },
- { 0x686B, 118735 },
- { 0x686C, 118738 },
- { 0x686D, 118741 },
- { 0x686E, 118744 },
- { 0x686F, 119470 },
- { 0x6870, 119473 },
- { 0x6871, 118768 },
- { 0x6872, 118771 },
- { 0x6873, 118774 },
- { 0x6874, 118777 },
- { 0x6875, 118780 },
- { 0x6876, 118783 },
- { 0x6877, 118786 },
- { 0x6878, 118813 },
- { 0x6879, 118816 },
- { 0x687A, 118819 },
- { 0x687B, 118747 },
- { 0x687C, 118750 },
- { 0x687D, 118753 },
- { 0x687E, 118756 },
- { 0x687F, 118759 },
- { 0x6880, 118762 },
- { 0x6881, 118765 },
- { 0x6882, 118789 },
- { 0x6883, 118792 },
- { 0x6884, 118795 },
- { 0x6885, 118798 },
- { 0x6886, 118801 },
- { 0x6887, 118804 },
- { 0x6888, 118807 },
- { 0x6889, 118810 },
- { 0x688A, 118921 },
- { 0x688B, 118924 },
- { 0x688C, 118927 },
- { 0x688D, 118930 },
- { 0x688E, 118933 },
- { 0x688F, 118936 },
- { 0x6890, 118939 },
- { 0x6891, 118948 },
- { 0x6892, 118951 },
- { 0x6893, 118954 },
- { 0x6894, 118957 },
- { 0x6895, 118960 },
- { 0x6896, 118963 },
- { 0x6897, 118966 },
- { 0x6898, 118987 },
- { 0x6899, 118990 },
- { 0x689A, 118993 },
- { 0x689B, 118996 },
- { 0x689C, 118942 },
- { 0x689D, 118945 },
- { 0x689E, 119488 },
- { 0x689F, 118969 },
- { 0x68A0, 118972 },
- { 0x68A1, 118975 },
- { 0x68A2, 118978 },
- { 0x68A3, 118981 },
- { 0x68A4, 118984 },
- { 0x68A5, 119425 },
- { 0x68A6, 119428 },
- { 0x68A7, 119431 },
- { 0x68A8, 119434 },
- { 0x68A9, 119437 },
- { 0x68AA, 119503 },
- { 0x68AB, 119458 },
- { 0x68AC, 119461 },
- { 0x68AD, 119464 },
- { 0x68AE, 119467 },
- { 0x68AF, 119440 },
- { 0x68B0, 119443 },
- { 0x68B1, 119446 },
- { 0x68B2, 119449 },
- { 0x68B3, 119452 },
- { 0x68B4, 119455 },
- { 0x68B5, 119089 },
- { 0x68B6, 119092 },
- { 0x68B7, 119095 },
- { 0x68B8, 119098 },
- { 0x68B9, 119113 },
- { 0x68BA, 119116 },
- { 0x68BB, 119119 },
- { 0x68BC, 119122 },
- { 0x68BD, 119125 },
- { 0x68BE, 119128 },
- { 0x68BF, 119131 },
- { 0x68C0, 119152 },
- { 0x68C1, 119155 },
- { 0x68C2, 119158 },
- { 0x68C3, 119161 },
- { 0x68C4, 119164 },
- { 0x68C5, 119167 },
- { 0x68C6, 119101 },
- { 0x68C7, 119104 },
- { 0x68C8, 119107 },
- { 0x68C9, 119110 },
- { 0x68CA, 119134 },
- { 0x68CB, 119137 },
- { 0x68CC, 119140 },
- { 0x68CD, 119143 },
- { 0x68CE, 119146 },
- { 0x68CF, 119149 },
- { 0x68D0, 119362 },
- { 0x68D1, 119365 },
- { 0x68D2, 119368 },
- { 0x68D3, 119371 },
- { 0x68D4, 119374 },
- { 0x68D5, 119389 },
- { 0x68D6, 119392 },
- { 0x68D7, 119395 },
- { 0x68D8, 119398 },
- { 0x68D9, 119401 },
- { 0x68DA, 119377 },
- { 0x68DB, 119380 },
- { 0x68DC, 119383 },
- { 0x68DD, 119386 },
- { 0x68DE, 119404 },
- { 0x68DF, 119407 },
- { 0x68E0, 119410 },
- { 0x68E1, 119413 },
- { 0x68E2, 119416 },
- { 0x68E3, 119419 },
- { 0x68E4, 119422 },
- { 0x68E5, 119506 },
- { 0x68E6, 119509 },
- { 0x68E7, 93707 },
- { 0x68E8, 94769 },
- { 0x68E9, 94765 },
- { 0x68EA, 94761 },
- { 0x68EB, 93671 },
- { 0x68EC, 93687 },
- { 0x68ED, 93683 },
- { 0x68EE, 93691 },
- { 0x68EF, 94618 },
- { 0x68F0, 94678 },
- { 0x68F1, 94674 },
- { 0x68F2, 94682 },
- { 0x68F3, 94578 },
- { 0x68F4, 36368 },
- { 0x68F5, 36370 },
- { 0x68F6, 36372 },
- { 0x68F7, 36374 },
- { 0x68F8, 36376 },
- { 0x68F9, 36378 },
- { 0x68FA, 36380 },
- { 0x68FB, 36382 },
- { 0x68FC, 36384 },
- { 0x68FD, 36386 },
- { 0x68FE, 36388 },
- { 0x68FF, 36390 },
- { 0x6900, 36392 },
- { 0x6901, 36394 },
- { 0x6902, 36396 },
- { 0x6903, 36398 },
- { 0x6904, 36400 },
- { 0x6905, 36402 },
- { 0x6906, 36404 },
- { 0x6907, 36406 },
- { 0x6908, 36408 },
- { 0x6909, 36410 },
- { 0x690A, 36412 },
- { 0x690B, 36414 },
- { 0x690C, 36416 },
- { 0x690D, 36418 },
- { 0x690E, 36420 },
- { 0x690F, 36422 },
- { 0x6910, 36424 },
- { 0x6911, 36426 },
- { 0x6912, 36428 },
- { 0x6913, 36430 },
- { 0x6914, 36432 },
- { 0x6915, 36434 },
- { 0x6916, 36436 },
- { 0x6917, 36438 },
- { 0x6918, 36440 },
- { 0x6919, 36442 },
- { 0x691A, 36444 },
- { 0x691B, 36446 },
- { 0x691C, 36448 },
- { 0x691D, 36450 },
- { 0x691E, 36452 },
- { 0x691F, 36454 },
- { 0x6920, 36456 },
- { 0x6921, 36458 },
- { 0x6922, 36460 },
- { 0x6923, 36462 },
- { 0x6924, 36464 },
- { 0x6925, 36466 },
- { 0x6926, 36468 },
- { 0x6927, 36470 },
- { 0x6928, 36472 },
- { 0x6929, 36474 },
- { 0x692A, 36476 },
- { 0x692B, 36478 },
- { 0x692C, 36480 },
- { 0x692D, 36482 },
- { 0x692E, 36484 },
- { 0x692F, 36486 },
- { 0x6930, 36488 },
- { 0x6931, 36490 },
- { 0x6932, 36492 },
- { 0x6933, 36494 },
- { 0x6934, 36496 },
- { 0x6935, 36498 },
- { 0x6936, 36500 },
- { 0x6937, 36502 },
- { 0x6938, 36504 },
- { 0x6939, 36506 },
- { 0x693A, 36508 },
- { 0x693B, 36510 },
- { 0x693C, 36512 },
- { 0x693D, 36514 },
- { 0x693E, 36516 },
- { 0x693F, 36518 },
- { 0x6940, 36520 },
- { 0x6941, 36522 },
- { 0x6942, 36524 },
- { 0x6943, 36526 },
- { 0x6944, 36528 },
- { 0x6945, 36530 },
- { 0x6946, 36532 },
- { 0x6947, 36534 },
- { 0x6948, 36536 },
- { 0x6949, 36538 },
- { 0x694A, 36540 },
- { 0x694B, 36542 },
- { 0x694C, 36544 },
- { 0x694D, 36546 },
- { 0x694E, 36548 },
- { 0x694F, 36550 },
- { 0x6950, 36552 },
- { 0x6951, 36554 },
- { 0x6952, 36556 },
- { 0x6953, 36558 },
- { 0x6954, 36560 },
- { 0x6955, 36562 },
- { 0x6956, 36564 },
- { 0x6957, 36566 },
- { 0x6958, 36568 },
- { 0x6959, 36570 },
- { 0x695A, 36572 },
- { 0x695B, 36574 },
- { 0x695C, 36576 },
- { 0x695D, 36578 },
- { 0x695E, 36580 },
- { 0x695F, 36582 },
- { 0x6960, 36584 },
- { 0x6961, 36586 },
- { 0x6962, 36588 },
- { 0x6963, 36590 },
- { 0x6964, 36592 },
- { 0x6965, 36594 },
- { 0x6966, 36596 },
- { 0x6967, 36598 },
- { 0x6968, 36600 },
- { 0x6969, 36602 },
- { 0x696A, 36604 },
- { 0x696B, 36606 },
- { 0x696C, 36608 },
- { 0x696D, 36610 },
- { 0x696E, 36612 },
- { 0x696F, 36614 },
- { 0x6970, 36616 },
- { 0x6971, 36618 },
- { 0x6972, 36620 },
- { 0x6973, 36622 },
- { 0x6974, 36624 },
- { 0x6975, 36626 },
- { 0x6976, 36628 },
- { 0x6977, 36630 },
- { 0x6978, 36632 },
- { 0x6979, 36634 },
- { 0x697A, 36636 },
- { 0x697B, 36638 },
- { 0x697C, 36640 },
- { 0x697D, 36642 },
- { 0x697E, 36644 },
- { 0x697F, 36646 },
- { 0x6980, 36648 },
- { 0x6981, 36650 },
- { 0x6982, 36652 },
- { 0x6983, 36654 },
- { 0x6984, 36656 },
- { 0x6985, 36658 },
- { 0x6986, 36660 },
- { 0x6987, 36662 },
- { 0x6988, 36664 },
- { 0x6989, 36666 },
- { 0x698A, 36668 },
- { 0x698B, 36670 },
- { 0x698C, 36672 },
- { 0x698D, 36674 },
- { 0x698E, 36676 },
- { 0x698F, 36678 },
- { 0x6990, 36680 },
- { 0x6991, 36682 },
- { 0x6992, 36684 },
- { 0x6993, 36686 },
- { 0x6994, 36688 },
- { 0x6995, 36690 },
- { 0x6996, 36692 },
- { 0x6997, 36694 },
- { 0x6998, 36696 },
- { 0x6999, 36698 },
- { 0x699A, 36700 },
- { 0x699B, 36702 },
- { 0x699C, 36704 },
- { 0x699D, 36706 },
- { 0x699E, 36708 },
- { 0x699F, 36710 },
- { 0x69A0, 36712 },
- { 0x69A1, 36714 },
- { 0x69A2, 36716 },
- { 0x69A3, 36718 },
- { 0x69A4, 36720 },
- { 0x69A5, 36722 },
- { 0x69A6, 36724 },
- { 0x69A7, 36726 },
- { 0x69A8, 36728 },
- { 0x69A9, 36730 },
- { 0x69AA, 36732 },
- { 0x69AB, 36734 },
- { 0x69AC, 36736 },
- { 0x69AD, 36738 },
- { 0x69AE, 36740 },
- { 0x69AF, 36742 },
- { 0x69B0, 36744 },
- { 0x69B1, 36746 },
- { 0x69B2, 36748 },
- { 0x69B3, 36750 },
- { 0x69B4, 36752 },
- { 0x69B5, 36754 },
- { 0x69B6, 36756 },
- { 0x69B7, 36758 },
- { 0x69B8, 36760 },
- { 0x69B9, 36762 },
- { 0x69BA, 36764 },
- { 0x69BB, 36766 },
- { 0x69BC, 36768 },
- { 0x69BD, 36770 },
- { 0x69BE, 36772 },
- { 0x69BF, 36774 },
- { 0x69C0, 36776 },
- { 0x69C1, 36778 },
- { 0x69C2, 36780 },
- { 0x69C3, 36782 },
- { 0x69C4, 36784 },
- { 0x69C5, 36786 },
- { 0x69C6, 36788 },
- { 0x69C7, 36790 },
- { 0x69C8, 36792 },
- { 0x69C9, 36794 },
- { 0x69CA, 36796 },
- { 0x69CB, 36798 },
- { 0x69CC, 36800 },
- { 0x69CD, 36802 },
- { 0x69CE, 36804 },
- { 0x69CF, 36806 },
- { 0x69D0, 36808 },
- { 0x69D1, 36810 },
- { 0x69D2, 36812 },
- { 0x69D3, 36814 },
- { 0x69D4, 36816 },
- { 0x69D5, 36818 },
- { 0x69D6, 36820 },
- { 0x69D7, 36822 },
- { 0x69D8, 36824 },
- { 0x69D9, 36826 },
- { 0x69DA, 36828 },
- { 0x69DB, 36830 },
- { 0x69DC, 36832 },
- { 0x69DD, 36834 },
- { 0x69DE, 36836 },
- { 0x69DF, 36838 },
- { 0x69E0, 36840 },
- { 0x69E1, 36842 },
- { 0x69E2, 36844 },
- { 0x69E3, 36846 },
- { 0x69E4, 36848 },
- { 0x69E5, 36850 },
- { 0x69E6, 36852 },
- { 0x69E7, 36854 },
- { 0x69E8, 36856 },
- { 0x69E9, 36858 },
- { 0x69EA, 36860 },
- { 0x69EB, 36862 },
- { 0x69EC, 36864 },
- { 0x69ED, 36866 },
- { 0x69EE, 36868 },
- { 0x69EF, 36870 },
- { 0x69F0, 36872 },
- { 0x69F1, 36874 },
- { 0x69F2, 36876 },
- { 0x69F3, 36878 },
- { 0x69F4, 36880 },
- { 0x69F5, 36882 },
- { 0x69F6, 36884 },
- { 0x69F7, 36886 },
- { 0x69F8, 36888 },
- { 0x69F9, 36890 },
- { 0x69FA, 36892 },
- { 0x69FB, 36894 },
- { 0x69FC, 36896 },
- { 0x69FD, 36898 },
- { 0x69FE, 36900 },
- { 0x69FF, 36902 },
- { 0x6A00, 36904 },
- { 0x6A01, 36906 },
- { 0x6A02, 36908 },
- { 0x6A03, 36910 },
- { 0x6A04, 36912 },
- { 0x6A05, 36914 },
- { 0x6A06, 36916 },
- { 0x6A07, 36918 },
- { 0x6A08, 36920 },
- { 0x6A09, 36922 },
- { 0x6A0A, 36924 },
- { 0x6A0B, 36926 },
- { 0x6A0C, 36928 },
- { 0x6A0D, 36930 },
- { 0x6A0E, 36932 },
- { 0x6A0F, 36934 },
- { 0x6A10, 36936 },
- { 0x6A11, 36938 },
- { 0x6A12, 36940 },
- { 0x6A13, 36942 },
- { 0x6A14, 36944 },
- { 0x6A15, 36946 },
- { 0x6A16, 36948 },
- { 0x6A17, 36950 },
- { 0x6A18, 36952 },
- { 0x6A19, 36954 },
- { 0x6A1A, 36956 },
- { 0x6A1B, 36958 },
- { 0x6A1C, 36960 },
- { 0x6A1D, 36962 },
- { 0x6A1E, 36964 },
- { 0x6A1F, 36966 },
- { 0x6A20, 36968 },
- { 0x6A21, 36970 },
- { 0x6A22, 36972 },
- { 0x6A23, 36974 },
- { 0x6A24, 36976 },
- { 0x6A25, 36978 },
- { 0x6A26, 36980 },
- { 0x6A27, 36982 },
- { 0x6A28, 36984 },
- { 0x6A29, 36986 },
- { 0x6A2A, 36988 },
- { 0x6A2B, 36990 },
- { 0x6A2C, 36992 },
- { 0x6A2D, 36994 },
- { 0x6A2E, 36996 },
- { 0x6A2F, 36998 },
- { 0x6A30, 37000 },
- { 0x6A31, 37002 },
- { 0x6A32, 37004 },
- { 0x6A33, 37006 },
- { 0x6A34, 37008 },
- { 0x6A35, 37010 },
- { 0x6A36, 37012 },
- { 0x6A37, 37014 },
- { 0x6A38, 37016 },
- { 0x6A39, 37018 },
- { 0x6A3A, 37020 },
- { 0x6A3B, 37022 },
- { 0x6A3C, 37024 },
- { 0x6A3D, 37026 },
- { 0x6A3E, 37028 },
- { 0x6A3F, 37030 },
- { 0x6A40, 37032 },
- { 0x6A41, 37034 },
- { 0x6A42, 37036 },
- { 0x6A43, 37038 },
- { 0x6A44, 37040 },
- { 0x6A45, 37042 },
- { 0x6A46, 37044 },
- { 0x6A47, 37046 },
- { 0x6A48, 37048 },
- { 0x6A49, 37050 },
- { 0x6A4A, 37052 },
- { 0x6A4B, 37054 },
- { 0x6A4C, 37056 },
- { 0x6A4D, 37058 },
- { 0x6A4E, 37060 },
- { 0x6A4F, 37062 },
- { 0x6A50, 37064 },
- { 0x6A51, 37066 },
- { 0x6A52, 37068 },
- { 0x6A53, 37070 },
- { 0x6A54, 37072 },
- { 0x6A55, 37074 },
- { 0x6A56, 37076 },
- { 0x6A57, 37078 },
- { 0x6A58, 37080 },
- { 0x6A59, 37082 },
- { 0x6A5A, 37084 },
- { 0x6A5B, 37086 },
- { 0x6A5C, 37088 },
- { 0x6A5D, 37090 },
- { 0x6A5E, 37092 },
- { 0x6A5F, 37094 },
- { 0x6A60, 37096 },
- { 0x6A61, 37098 },
- { 0x6A62, 37100 },
- { 0x6A63, 37102 },
- { 0x6A64, 37104 },
- { 0x6A65, 37106 },
- { 0x6A66, 37108 },
- { 0x6A67, 37110 },
- { 0x6A68, 37112 },
- { 0x6A69, 37114 },
- { 0x6A6A, 37116 },
- { 0x6A6B, 37118 },
- { 0x6A6C, 37120 },
- { 0x6A6D, 37122 },
- { 0x6A6E, 37124 },
- { 0x6A6F, 37126 },
- { 0x6A70, 37128 },
- { 0x6A71, 37130 },
- { 0x6A72, 37132 },
- { 0x6A73, 37134 },
- { 0x6A74, 37136 },
- { 0x6A75, 37138 },
- { 0x6A76, 37140 },
- { 0x6A77, 37142 },
- { 0x6A78, 37144 },
- { 0x6A79, 37146 },
- { 0x6A7A, 37148 },
- { 0x6A7B, 37150 },
- { 0x6A7C, 37152 },
- { 0x6A7D, 37154 },
- { 0x6A7E, 37156 },
- { 0x6A7F, 37158 },
- { 0x6A80, 86339 },
- { 0x6A81, 86554 },
- { 0x6A82, 86449 },
- { 0x6A83, 86525 },
- { 0x6A84, 86324 },
- { 0x6A85, 86389 },
- { 0x6A86, 86401 },
- { 0x6A87, 86311 },
- { 0x6A88, 86314 },
- { 0x6A89, 86544 },
- { 0x6A8A, 86331 },
- { 0x6A8B, 86456 },
- { 0x6A8C, 86452 },
- { 0x6A8D, 86317 },
- { 0x6A8E, 86327 },
- { 0x6A8F, 86392 },
- { 0x6A90, 86459 },
- { 0x6A91, 86590 },
- { 0x6A92, 86669 },
- { 0x6A93, 86557 },
- { 0x6A94, 86572 },
- { 0x6A95, 86657 },
- { 0x6A96, 86566 },
- { 0x6A97, 86575 },
- { 0x6A98, 86587 },
- { 0x6A99, 86404 },
- { 0x6A9A, 86425 },
- { 0x6A9B, 86345 },
- { 0x6A9C, 86463 },
- { 0x6A9D, 86407 },
- { 0x6A9E, 86428 },
- { 0x6A9F, 86348 },
- { 0x6AA0, 86466 },
- { 0x6AA1, 86420 },
- { 0x6AA2, 86441 },
- { 0x6AA3, 86376 },
- { 0x6AA4, 86381 },
- { 0x6AA5, 86514 },
- { 0x6AA6, 86519 },
- { 0x6AA7, 86416 },
- { 0x6AA8, 86437 },
- { 0x6AA9, 86366 },
- { 0x6AAA, 86501 },
- { 0x6AAB, 86411 },
- { 0x6AAC, 86432 },
- { 0x6AAD, 86352 },
- { 0x6AAE, 86470 },
- { 0x6AAF, 86370 },
- { 0x6AB0, 86357 },
- { 0x6AB1, 86361 },
- { 0x6AB2, 86505 },
- { 0x6AB3, 86509 },
- { 0x6AB4, 86492 },
- { 0x6AB5, 86496 },
- { 0x6AB6, 86533 },
- { 0x6AB7, 86528 },
- { 0x6AB8, 86547 },
- { 0x6AB9, 86602 },
- { 0x6ABA, 86550 },
- { 0x6ABB, 86488 },
- { 0x6ABC, 86484 },
- { 0x6ABD, 86396 },
- { 0x6ABE, 86334 },
- { 0x6ABF, 86475 },
- { 0x6AC0, 86479 },
- { 0x6AC1, 86308 },
- { 0x6AC2, 86689 },
- { 0x6AC3, 86578 },
- { 0x6AC4, 86446 },
- { 0x6AC5, 86617 },
- { 0x6AC6, 86342 },
- { 0x6AC7, 86321 },
- { 0x6AC8, 86569 },
- { 0x6AC9, 86653 },
- { 0x6ACA, 86596 },
- { 0x6ACB, 86560 },
- { 0x6ACC, 86677 },
- { 0x6ACD, 86705 },
- { 0x6ACE, 86673 },
- { 0x6ACF, 86629 },
- { 0x6AD0, 86614 },
- { 0x6AD1, 86537 },
- { 0x6AD2, 86563 },
- { 0x6AD3, 86611 },
- { 0x6AD4, 86540 },
- { 0x6AD5, 86633 },
- { 0x6AD6, 86709 },
- { 0x6AD7, 86593 },
- { 0x6AD8, 86661 },
- { 0x6AD9, 86620 },
- { 0x6ADA, 86584 },
- { 0x6ADB, 86581 },
- { 0x6ADC, 86599 },
- { 0x6ADD, 86608 },
- { 0x6ADE, 86605 },
- { 0x6ADF, 86623 },
- { 0x6AE0, 86626 },
- { 0x6AE1, 86649 },
- { 0x6AE2, 86645 },
- { 0x6AE3, 86641 },
- { 0x6AE4, 86637 },
- { 0x6AE5, 86697 },
- { 0x6AE6, 86693 },
- { 0x6AE7, 86681 },
- { 0x6AE8, 86665 },
- { 0x6AE9, 86685 },
- { 0x6AEA, 86701 },
- { 0x6AEB, 86259 },
- { 0x6AEC, 86211 },
- { 0x6AED, 86264 },
- { 0x6AEE, 86201 },
- { 0x6AEF, 86206 },
- { 0x6AF0, 86254 },
- { 0x6AF1, 86283 },
- { 0x6AF2, 86296 },
- { 0x6AF3, 86287 },
- { 0x6AF4, 86279 },
- { 0x6AF5, 86269 },
- { 0x6AF6, 86274 },
- { 0x6AF7, 86291 },
- { 0x6AF8, 86233 },
- { 0x6AF9, 86241 },
- { 0x6AFA, 86237 },
- { 0x6AFB, 86224 },
- { 0x6AFC, 86216 },
- { 0x6AFD, 86246 },
- { 0x6AFE, 86220 },
- { 0x6AFF, 86229 },
- { 0x6B00, 86250 },
- { 0x6B01, 86176 },
- { 0x6B02, 86188 },
- { 0x6B03, 86184 },
- { 0x6B04, 86167 },
- { 0x6B05, 86159 },
- { 0x6B06, 86193 },
- { 0x6B07, 86163 },
- { 0x6B08, 86172 },
- { 0x6B09, 86197 },
- { 0x6B0A, 86180 },
- { 0x6B0B, 86154 },
- { 0x6B0C, 86301 },
- { 0x6B0D, 86305 },
- { 0x6B0E, 86713 },
- { 0x6B0F, 116120 },
- { 0x6B10, 116124 },
- { 0x6B11, 116116 },
- { 0x6B12, 116112 },
- { 0x6B13, 100613 },
- { 0x6B14, 100479 },
- { 0x6B15, 100521 },
- { 0x6B16, 100631 },
- { 0x6B17, 100495 },
- { 0x6B18, 100546 },
- { 0x6B19, 100441 },
- { 0x6B1A, 100676 },
- { 0x6B1B, 100588 },
- { 0x6B1C, 100423 },
- { 0x6B1D, 100660 },
- { 0x6B1E, 100572 },
- { 0x6B1F, 100622 },
- { 0x6B20, 100487 },
- { 0x6B21, 100527 },
- { 0x6B22, 100638 },
- { 0x6B23, 100501 },
- { 0x6B24, 100552 },
- { 0x6B25, 100448 },
- { 0x6B26, 100682 },
- { 0x6B27, 100594 },
- { 0x6B28, 100432 },
- { 0x6B29, 100668 },
- { 0x6B2A, 100580 },
- { 0x6B2B, 100515 },
- { 0x6B2C, 100416 },
- { 0x6B2D, 100697 },
- { 0x6B2E, 100654 },
- { 0x6B2F, 100688 },
- { 0x6B30, 100566 },
- { 0x6B31, 100455 },
- { 0x6B32, 100645 },
- { 0x6B33, 100461 },
- { 0x6B34, 100412 },
- { 0x6B35, 100507 },
- { 0x6B36, 100703 },
- { 0x6B37, 100600 },
- { 0x6B38, 100562 },
- { 0x6B39, 100720 },
- { 0x6B3A, 100475 },
- { 0x6B3B, 100650 },
- { 0x6B3C, 100542 },
- { 0x6B3D, 100533 },
- { 0x6B3E, 100511 },
- { 0x6B3F, 100693 },
- { 0x6B40, 100469 },
- { 0x6B41, 100760 },
- { 0x6B42, 100754 },
- { 0x6B43, 100766 },
- { 0x6B44, 100724 },
- { 0x6B45, 100743 },
- { 0x6B46, 100711 },
- { 0x6B47, 100732 },
- { 0x6B48, 100736 },
- { 0x6B49, 100604 },
- { 0x6B4A, 100608 },
- { 0x6B4B, 100707 },
- { 0x6B4C, 100715 },
- { 0x6B4D, 100558 },
- { 0x6B4E, 100728 },
- { 0x6B4F, 100772 },
- { 0x6B50, 100537 },
- { 0x6B51, 100465 },
- { 0x6B52, 100748 },
- { 0x6B53, 100399 },
- { 0x6B54, 100403 },
- { 0x6B55, 100407 },
- { 0x6B56, 100395 },
- { 0x6B57, 100391 },
- { 0x6B58, 99905 },
- { 0x6B59, 99908 },
- { 0x6B5A, 100221 },
- { 0x6B5B, 99888 },
- { 0x6B5C, 99951 },
- { 0x6B5D, 100278 },
- { 0x6B5E, 100228 },
- { 0x6B5F, 100231 },
- { 0x6B60, 100301 },
- { 0x6B61, 100304 },
- { 0x6B62, 100236 },
- { 0x6B63, 100378 },
- { 0x6B64, 99944 },
- { 0x6B65, 100375 },
- { 0x6B66, 100281 },
- { 0x6B67, 100285 },
- { 0x6B68, 100293 },
- { 0x6B69, 100289 },
- { 0x6B6A, 100297 },
- { 0x6B6B, 100242 },
- { 0x6B6C, 100250 },
- { 0x6B6D, 100246 },
- { 0x6B6E, 100274 },
- { 0x6B6F, 100254 },
- { 0x6B70, 100264 },
- { 0x6B71, 100259 },
- { 0x6B72, 100269 },
- { 0x6B73, 99947 },
- { 0x6B74, 100224 },
- { 0x6B75, 100218 },
- { 0x6B76, 100209 },
- { 0x6B77, 100206 },
- { 0x6B78, 100381 },
- { 0x6B79, 100316 },
- { 0x6B7A, 100312 },
- { 0x6B7B, 100330 },
- { 0x6B7C, 100308 },
- { 0x6B7D, 100387 },
- { 0x6B7E, 100325 },
- { 0x6B7F, 100354 },
- { 0x6B80, 100320 },
- { 0x6B81, 100334 },
- { 0x6B82, 100339 },
- { 0x6B83, 100349 },
- { 0x6B84, 100344 },
- { 0x6B85, 100358 },
- { 0x6B86, 100366 },
- { 0x6B87, 100371 },
- { 0x6B88, 100361 },
- { 0x6B89, 99912 },
- { 0x6B8A, 99893 },
- { 0x6B8B, 99899 },
- { 0x6B8C, 99954 },
- { 0x6B8D, 100215 },
- { 0x6B8E, 99979 },
- { 0x6B8F, 100005 },
- { 0x6B90, 99993 },
- { 0x6B91, 100010 },
- { 0x6B92, 99998 },
- { 0x6B93, 100024 },
- { 0x6B94, 100028 },
- { 0x6B95, 99982 },
- { 0x6B96, 99987 },
- { 0x6B97, 100017 },
- { 0x6B98, 100384 },
- { 0x6B99, 100034 },
- { 0x6B9A, 100054 },
- { 0x6B9B, 100156 },
- { 0x6B9C, 100121 },
- { 0x6B9D, 100134 },
- { 0x6B9E, 100058 },
- { 0x6B9F, 100160 },
- { 0x6BA0, 100185 },
- { 0x6BA1, 100202 },
- { 0x6BA2, 100038 },
- { 0x6BA3, 100125 },
- { 0x6BA4, 100198 },
- { 0x6BA5, 100189 },
- { 0x6BA6, 100129 },
- { 0x6BA7, 100193 },
- { 0x6BA8, 100047 },
- { 0x6BA9, 100149 },
- { 0x6BAA, 100043 },
- { 0x6BAB, 100138 },
- { 0x6BAC, 100142 },
- { 0x6BAD, 100168 },
- { 0x6BAE, 100172 },
- { 0x6BAF, 99957 },
- { 0x6BB0, 99960 },
- { 0x6BB1, 99964 },
- { 0x6BB2, 99968 },
- { 0x6BB3, 99972 },
- { 0x6BB4, 100164 },
- { 0x6BB5, 100177 },
- { 0x6BB6, 100181 },
- { 0x6BB7, 99918 },
- { 0x6BB8, 99921 },
- { 0x6BB9, 99940 },
- { 0x6BBA, 99925 },
- { 0x6BBB, 99930 },
- { 0x6BBC, 99935 },
- { 0x6BBD, 100062 },
- { 0x6BBE, 100084 },
- { 0x6BBF, 100076 },
- { 0x6BC0, 100102 },
- { 0x6BC1, 100071 },
- { 0x6BC2, 100089 },
- { 0x6BC3, 100094 },
- { 0x6BC4, 100110 },
- { 0x6BC5, 100115 },
- { 0x6BC6, 100066 },
- { 0x6BC7, 100212 },
- { 0x6BC8, 99976 },
- { 0x6BC9, 99896 },
- { 0x6BCA, 99915 },
- { 0x6BCB, 99902 },
- { 0x6BCC, 103026 },
- { 0x6BCD, 103060 },
- { 0x6BCE, 104053 },
- { 0x6BCF, 103021 },
- { 0x6BD0, 103016 },
- { 0x6BD1, 103397 },
- { 0x6BD2, 103392 },
- { 0x6BD3, 103692 },
- { 0x6BD4, 103958 },
- { 0x6BD5, 104039 },
- { 0x6BD6, 103966 },
- { 0x6BD7, 103970 },
- { 0x6BD8, 103709 },
- { 0x6BD9, 102974 },
- { 0x6BDA, 102883 },
- { 0x6BDB, 103379 },
- { 0x6BDC, 103908 },
- { 0x6BDD, 103991 },
- { 0x6BDE, 104000 },
- { 0x6BDF, 103584 },
- { 0x6BE0, 103047 },
- { 0x6BE1, 103338 },
- { 0x6BE2, 103256 },
- { 0x6BE3, 103362 },
- { 0x6BE4, 103619 },
- { 0x6BE5, 103051 },
- { 0x6BE6, 102897 },
- { 0x6BE7, 103515 },
- { 0x6BE8, 103930 },
- { 0x6BE9, 103807 },
- { 0x6BEA, 103794 },
- { 0x6BEB, 103563 },
- { 0x6BEC, 103347 },
- { 0x6BED, 103596 },
- { 0x6BEE, 103610 },
- { 0x6BEF, 103615 },
- { 0x6BF0, 103284 },
- { 0x6BF1, 103030 },
- { 0x6BF2, 103357 },
- { 0x6BF3, 103592 },
- { 0x6BF4, 104067 },
- { 0x6BF5, 103366 },
- { 0x6BF6, 103579 },
- { 0x6BF7, 103573 },
- { 0x6BF8, 103944 },
- { 0x6BF9, 103038 },
- { 0x6BFA, 103007 },
- { 0x6BFB, 102879 },
- { 0x6BFC, 102912 },
- { 0x6BFD, 103588 },
- { 0x6BFE, 103935 },
- { 0x6BFF, 102968 },
- { 0x6C00, 103172 },
- { 0x6C01, 103900 },
- { 0x6C02, 103871 },
- { 0x6C03, 103279 },
- { 0x6C04, 103798 },
- { 0x6C05, 103949 },
- { 0x6C06, 103696 },
- { 0x6C07, 103628 },
- { 0x6C08, 103555 },
- { 0x6C09, 104034 },
- { 0x6C0A, 104048 },
- { 0x6C0B, 103493 },
- { 0x6C0C, 102902 },
- { 0x6C0D, 103547 },
- { 0x6C0E, 103700 },
- { 0x6C0F, 103866 },
- { 0x6C10, 104075 },
- { 0x6C11, 104071 },
- { 0x6C12, 102892 },
- { 0x6C13, 103333 },
- { 0x6C14, 103011 },
- { 0x6C15, 103551 },
- { 0x6C16, 103705 },
- { 0x6C17, 104107 },
- { 0x6C18, 104099 },
- { 0x6C19, 103802 },
- { 0x6C1A, 103912 },
- { 0x6C1B, 103497 },
- { 0x6C1C, 103435 },
- { 0x6C1D, 103995 },
- { 0x6C1E, 103985 },
- { 0x6C1F, 103601 },
- { 0x6C20, 104103 },
- { 0x6C21, 103482 },
- { 0x6C22, 103474 },
- { 0x6C23, 103328 },
- { 0x6C24, 103387 },
- { 0x6C25, 103352 },
- { 0x6C26, 103953 },
- { 0x6C27, 103343 },
- { 0x6C28, 103975 },
- { 0x6C29, 103543 },
- { 0x6C2A, 104043 },
- { 0x6C2B, 104029 },
- { 0x6C2C, 103102 },
- { 0x6C2D, 103539 },
- { 0x6C2E, 104095 },
- { 0x6C2F, 103861 },
- { 0x6C30, 104005 },
- { 0x6C31, 103568 },
- { 0x6C32, 103034 },
- { 0x6C33, 103623 },
- { 0x6C34, 103684 },
- { 0x6C35, 103370 },
- { 0x6C36, 103055 },
- { 0x6C37, 104119 },
- { 0x6C38, 104111 },
- { 0x6C39, 104087 },
- { 0x6C3A, 104123 },
- { 0x6C3B, 104127 },
- { 0x6C3C, 104091 },
- { 0x6C3D, 104115 },
- { 0x6C3E, 104083 },
- { 0x6C3F, 104079 },
- { 0x6C40, 103107 },
- { 0x6C41, 103939 },
- { 0x6C42, 104057 },
- { 0x6C43, 104062 },
- { 0x6C44, 103042 },
- { 0x6C45, 102906 },
- { 0x6C46, 103904 },
- { 0x6C47, 103881 },
- { 0x6C48, 102921 },
- { 0x6C49, 102916 },
- { 0x6C4A, 103559 },
- { 0x6C4B, 103288 },
- { 0x6C4C, 103002 },
- { 0x6C4D, 103534 },
- { 0x6C4E, 103529 },
- { 0x6C4F, 103524 },
- { 0x6C50, 103605 },
- { 0x6C51, 102888 },
- { 0x6C52, 102998 },
- { 0x6C53, 103383 },
- { 0x6C54, 103857 },
- { 0x6C55, 103520 },
- { 0x6C56, 103304 },
- { 0x6C57, 103298 },
- { 0x6C58, 103310 },
- { 0x6C59, 103322 },
- { 0x6C5A, 103316 },
- { 0x6C5B, 103244 },
- { 0x6C5C, 103267 },
- { 0x6C5D, 103261 },
- { 0x6C5E, 103655 },
- { 0x6C5F, 103672 },
- { 0x6C60, 103665 },
- { 0x6C61, 103659 },
- { 0x6C62, 103962 },
- { 0x6C63, 102979 },
- { 0x6C64, 104021 },
- { 0x6C65, 103478 },
- { 0x6C66, 102936 },
- { 0x6C67, 102958 },
- { 0x6C68, 102926 },
- { 0x6C69, 102953 },
- { 0x6C6A, 102931 },
- { 0x6C6B, 102948 },
- { 0x6C6C, 102963 },
- { 0x6C6D, 102942 },
- { 0x6C6E, 103733 },
- { 0x6C6F, 103713 },
- { 0x6C70, 103764 },
- { 0x6C71, 103720 },
- { 0x6C72, 103739 },
- { 0x6C73, 103783 },
- { 0x6C74, 103770 },
- { 0x6C75, 103776 },
- { 0x6C76, 103745 },
- { 0x6C77, 103751 },
- { 0x6C78, 103273 },
- { 0x6C79, 103979 },
- { 0x6C7A, 103895 },
- { 0x6C7B, 103890 },
- { 0x6C7C, 103885 },
- { 0x6C7D, 103727 },
- { 0x6C7E, 103788 },
- { 0x6C7F, 103757 },
- { 0x6C80, 104009 },
- { 0x6C81, 104015 },
- { 0x6C82, 103486 },
- { 0x6C83, 103688 },
- { 0x6C84, 104025 },
- { 0x6C85, 103177 },
- { 0x6C86, 103210 },
- { 0x6C87, 103222 },
- { 0x6C88, 103126 },
- { 0x6C89, 103184 },
- { 0x6C8A, 103165 },
- { 0x6C8B, 103190 },
- { 0x6C8C, 103216 },
- { 0x6C8D, 103203 },
- { 0x6C8E, 103196 },
- { 0x6C8F, 103137 },
- { 0x6C90, 103144 },
- { 0x6C91, 103112 },
- { 0x6C92, 103158 },
- { 0x6C93, 103132 },
- { 0x6C94, 102983 },
- { 0x6C95, 102988 },
- { 0x6C96, 102993 },
- { 0x6C97, 103119 },
- { 0x6C98, 103228 },
- { 0x6C99, 103430 },
- { 0x6C9A, 103092 },
- { 0x6C9B, 103097 },
- { 0x6C9C, 103064 },
- { 0x6C9D, 103085 },
- { 0x6C9E, 103071 },
- { 0x6C9F, 103078 },
- { 0x6CA0, 103402 },
- { 0x6CA1, 103423 },
- { 0x6CA2, 103409 },
- { 0x6CA3, 103416 },
- { 0x6CA4, 103234 },
- { 0x6CA5, 103239 },
- { 0x6CA6, 103633 },
- { 0x6CA7, 103639 },
- { 0x6CA8, 103645 },
- { 0x6CA9, 103650 },
- { 0x6CAA, 103834 },
- { 0x6CAB, 103839 },
- { 0x6CAC, 103845 },
- { 0x6CAD, 103851 },
- { 0x6CAE, 103811 },
- { 0x6CAF, 103816 },
- { 0x6CB0, 103822 },
- { 0x6CB1, 103828 },
- { 0x6CB2, 103679 },
- { 0x6CB3, 103876 },
- { 0x6CB4, 103375 },
- { 0x6CB5, 103459 },
- { 0x6CB6, 103469 },
- { 0x6CB7, 103444 },
- { 0x6CB8, 103439 },
- { 0x6CB9, 103449 },
- { 0x6CBA, 103464 },
- { 0x6CBB, 103454 },
- { 0x6CBC, 103924 },
- { 0x6CBD, 103509 },
- { 0x6CBE, 103918 },
- { 0x6CBF, 103503 },
- { 0x6CC0, 103293 },
- { 0x6CC1, 103250 },
- { 0x6CC2, 72439 },
- { 0x6CC3, 72337 },
- { 0x6CC4, 72214 },
- { 0x6CC5, 72572 },
- { 0x6CC6, 72321 },
- { 0x6CC7, 72283 },
- { 0x6CC8, 72144 },
- { 0x6CC9, 72267 },
- { 0x6CCA, 72435 },
- { 0x6CCB, 72056 },
- { 0x6CCC, 72045 },
- { 0x6CCD, 72272 },
- { 0x6CCE, 72097 },
- { 0x6CCF, 72653 },
- { 0x6CD0, 72657 },
- { 0x6CD1, 72661 },
- { 0x6CD2, 72536 },
- { 0x6CD3, 72539 },
- { 0x6CD4, 72298 },
- { 0x6CD5, 72523 },
- { 0x6CD6, 72205 },
- { 0x6CD7, 72520 },
- { 0x6CD8, 72605 },
- { 0x6CD9, 72738 },
- { 0x6CDA, 72956 },
- { 0x6CDB, 72876 },
- { 0x6CDC, 72872 },
- { 0x6CDD, 72665 },
- { 0x6CDE, 72952 },
- { 0x6CDF, 72963 },
- { 0x6CE0, 72022 },
- { 0x6CE1, 72026 },
- { 0x6CE2, 72032 },
- { 0x6CE3, 72002 },
- { 0x6CE4, 72006 },
- { 0x6CE5, 72010 },
- { 0x6CE6, 72016 },
- { 0x6CE7, 72107 },
- { 0x6CE8, 72111 },
- { 0x6CE9, 72596 },
- { 0x6CEA, 72333 },
- { 0x6CEB, 72329 },
- { 0x6CEC, 72115 },
- { 0x6CED, 72119 },
- { 0x6CEE, 72543 },
- { 0x6CEF, 72547 },
- { 0x6CF0, 72275 },
- { 0x6CF1, 72279 },
- { 0x6CF2, 72567 },
- { 0x6CF3, 72562 },
- { 0x6CF4, 72317 },
- { 0x6CF5, 72052 },
- { 0x6CF6, 72427 },
- { 0x6CF7, 72431 },
- { 0x6CF8, 72980 },
- { 0x6CF9, 72984 },
- { 0x6CFA, 72251 },
- { 0x6CFB, 72294 },
- { 0x6CFC, 72135 },
- { 0x6CFD, 72558 },
- { 0x6CFE, 72345 },
- { 0x6CFF, 72916 },
- { 0x6D00, 73000 },
- { 0x6D01, 72992 },
- { 0x6D02, 72087 },
- { 0x6D03, 72038 },
- { 0x6D04, 72163 },
- { 0x6D05, 72309 },
- { 0x6D06, 72452 },
- { 0x6D07, 72447 },
- { 0x6D08, 72696 },
- { 0x6D09, 72676 },
- { 0x6D0A, 72720 },
- { 0x6D0B, 72714 },
- { 0x6D0C, 72732 },
- { 0x6D0D, 72726 },
- { 0x6D0E, 72708 },
- { 0x6D0F, 72702 },
- { 0x6D10, 72689 },
- { 0x6D11, 72682 },
- { 0x6D12, 72154 },
- { 0x6D13, 72149 },
- { 0x6D14, 73010 },
- { 0x6D15, 73004 },
- { 0x6D16, 72973 },
- { 0x6D17, 72181 },
- { 0x6D18, 72601 },
- { 0x6D19, 72159 },
- { 0x6D1A, 72531 },
- { 0x6D1B, 72526 },
- { 0x6D1C, 72208 },
- { 0x6D1D, 72290 },
- { 0x6D1E, 72131 },
- { 0x6D1F, 72554 },
- { 0x6D20, 72341 },
- { 0x6D21, 72912 },
- { 0x6D22, 72996 },
- { 0x6D23, 72988 },
- { 0x6D24, 72081 },
- { 0x6D25, 72773 },
- { 0x6D26, 72852 },
- { 0x6D27, 72835 },
- { 0x6D28, 72839 },
- { 0x6D29, 72843 },
- { 0x6D2A, 72580 },
- { 0x6D2B, 72584 },
- { 0x6D2C, 72588 },
- { 0x6D2D, 72847 },
- { 0x6D2E, 72794 },
- { 0x6D2F, 72798 },
- { 0x6D30, 72802 },
- { 0x6D31, 72806 },
- { 0x6D32, 72810 },
- { 0x6D33, 72193 },
- { 0x6D34, 72069 },
- { 0x6D35, 72189 },
- { 0x6D36, 72065 },
- { 0x6D37, 72197 },
- { 0x6D38, 72073 },
- { 0x6D39, 72201 },
- { 0x6D3A, 72077 },
- { 0x6D3B, 72785 },
- { 0x6D3C, 72831 },
- { 0x6D3D, 72814 },
- { 0x6D3E, 72857 },
- { 0x6D3F, 72823 },
- { 0x6D40, 72865 },
- { 0x6D41, 72861 },
- { 0x6D42, 72777 },
- { 0x6D43, 72920 },
- { 0x6D44, 72924 },
- { 0x6D45, 72755 },
- { 0x6D46, 72747 },
- { 0x6D47, 72764 },
- { 0x6D48, 72781 },
- { 0x6D49, 72751 },
- { 0x6D4A, 72789 },
- { 0x6D4B, 72818 },
- { 0x6D4C, 72977 },
- { 0x6D4D, 72457 },
- { 0x6D4E, 72042 },
- { 0x6D4F, 72264 },
- { 0x6D50, 72248 },
- { 0x6D51, 72218 },
- { 0x6D52, 72869 },
- { 0x6D53, 72960 },
- { 0x6D54, 72227 },
- { 0x6D55, 72221 },
- { 0x6D56, 72049 },
- { 0x6D57, 72170 },
- { 0x6D58, 72592 },
- { 0x6D59, 72177 },
- { 0x6D5A, 72173 },
- { 0x6D5B, 72609 },
- { 0x6D5C, 72613 },
- { 0x6D5D, 72617 },
- { 0x6D5E, 72621 },
- { 0x6D5F, 72625 },
- { 0x6D60, 72629 },
- { 0x6D61, 72633 },
- { 0x6D62, 72637 },
- { 0x6D63, 72641 },
- { 0x6D64, 72645 },
- { 0x6D65, 72649 },
- { 0x6D66, 72967 },
- { 0x6D67, 72970 },
- { 0x6D68, 72060 },
- { 0x6D69, 72325 },
- { 0x6D6A, 72759 },
- { 0x6D6B, 72742 },
- { 0x6D6C, 72827 },
- { 0x6D6D, 72768 },
- { 0x6D6E, 72260 },
- { 0x6D6F, 72255 },
- { 0x6D70, 72139 },
- { 0x6D71, 72880 },
- { 0x6D72, 72884 },
- { 0x6D73, 72185 },
- { 0x6D74, 72100 },
- { 0x6D75, 72103 },
- { 0x6D76, 72413 },
- { 0x6D77, 72235 },
- { 0x6D78, 72302 },
- { 0x6D79, 72936 },
- { 0x6D7A, 72932 },
- { 0x6D7B, 72416 },
- { 0x6D7C, 72423 },
- { 0x6D7D, 72948 },
- { 0x6D7E, 72944 },
- { 0x6D7F, 72127 },
- { 0x6D80, 72123 },
- { 0x6D81, 72238 },
- { 0x6D82, 72243 },
- { 0x6D83, 72305 },
- { 0x6D84, 72928 },
- { 0x6D85, 72419 },
- { 0x6D86, 72940 },
- { 0x6D87, 72460 },
- { 0x6D88, 72475 },
- { 0x6D89, 72467 },
- { 0x6D8A, 72482 },
- { 0x6D8B, 72489 },
- { 0x6D8C, 72496 },
- { 0x6D8D, 72504 },
- { 0x6D8E, 72512 },
- { 0x6D8F, 72211 },
- { 0x6D90, 72888 },
- { 0x6D91, 72893 },
- { 0x6D92, 72443 },
- { 0x6D93, 72287 },
- { 0x6D94, 72551 },
- { 0x6D95, 72314 },
- { 0x6D96, 72905 },
- { 0x6D97, 72577 },
- { 0x6D98, 72669 },
- { 0x6D99, 72898 },
- { 0x6D9A, 72901 },
- { 0x6D9B, 72908 },
- { 0x6D9C, 72672 },
- { 0x6D9D, 72093 },
- { 0x6D9E, 72349 },
- { 0x6D9F, 72354 },
- { 0x6DA0, 72370 },
- { 0x6DA1, 72408 },
- { 0x6DA2, 72375 },
- { 0x6DA3, 72365 },
- { 0x6DA4, 72401 },
- { 0x6DA5, 72394 },
- { 0x6DA6, 72387 },
- { 0x6DA7, 72380 },
- { 0x6DA8, 72360 },
- { 0x6DA9, 72167 },
- { 0x6DAA, 72232 },
- { 0x6DAB, 23436 },
- { 0x6DAC, 23440 },
- { 0x6DAD, 23444 },
- { 0x6DAE, 23448 },
- { 0x6DAF, 23452 },
- { 0x6DB0, 23456 },
- { 0x6DB1, 23460 },
- { 0x6DB2, 23464 },
- { 0x6DB3, 23468 },
- { 0x6DB4, 23472 },
- { 0x6DB5, 23476 },
- { 0x6DB6, 23480 },
- { 0x6DB7, 23484 },
- { 0x6DB8, 23488 },
- { 0x6DB9, 23492 },
- { 0x6DBA, 23496 },
- { 0x6DBB, 23500 },
- { 0x6DBC, 23504 },
- { 0x6DBD, 23508 },
- { 0x6DBE, 23512 },
- { 0x6DBF, 23516 },
- { 0x6DC0, 23520 },
- { 0x6DC1, 23524 },
- { 0x6DC2, 23528 },
- { 0x6DC3, 23532 },
- { 0x6DC4, 23536 },
- { 0x6DC5, 23540 },
- { 0x6DC6, 23544 },
- { 0x6DC7, 23548 },
- { 0x6DC8, 24927 },
- { 0x6DC9, 24931 },
- { 0x6DCA, 24935 },
- { 0x6DCB, 24939 },
- { 0x6DCC, 24943 },
- { 0x6DCD, 24947 },
- { 0x6DCE, 24951 },
- { 0x6DCF, 24955 },
- { 0x6DD0, 24959 },
- { 0x6DD1, 24963 },
- { 0x6DD2, 24967 },
- { 0x6DD3, 24971 },
- { 0x6DD4, 24975 },
- { 0x6DD5, 24979 },
- { 0x6DD6, 24983 },
- { 0x6DD7, 24987 },
- { 0x6DD8, 24991 },
- { 0x6DD9, 24995 },
- { 0x6DDA, 24999 },
- { 0x6DDB, 25003 },
- { 0x6DDC, 25007 },
- { 0x6DDD, 25011 },
- { 0x6DDE, 25015 },
- { 0x6DDF, 25019 },
- { 0x6DE0, 25023 },
- { 0x6DE1, 25027 },
- { 0x6DE2, 25031 },
- { 0x6DE3, 25035 },
- { 0x6DE4, 25039 },
- { 0x6DE5, 25043 },
- { 0x6DE6, 25047 },
- { 0x6DE7, 25051 },
- { 0x6DE8, 25055 },
- { 0x6DE9, 25059 },
- { 0x6DEA, 25063 },
- { 0x6DEB, 25067 },
- { 0x6DEC, 25071 },
- { 0x6DED, 104672 },
- { 0x6DEE, 104680 },
- { 0x6DEF, 104676 },
- { 0x6DF0, 24578 },
- { 0x6DF1, 94292 },
- { 0x6DF2, 94271 },
- { 0x6DF3, 94280 },
- { 0x6DF4, 94301 },
- { 0x6DF5, 94286 },
- { 0x6DF6, 94283 },
- { 0x6DF7, 94274 },
- { 0x6DF8, 94298 },
- { 0x6DF9, 94295 },
- { 0x6DFA, 94289 },
- { 0x6DFB, 94277 },
- { 0x6DFC, 94304 },
- { 0x6DFD, 94307 },
- { 0x6DFE, 94325 },
- { 0x6DFF, 94319 },
- { 0x6E00, 94310 },
- { 0x6E01, 94313 },
- { 0x6E02, 94328 },
- { 0x6E03, 94316 },
- { 0x6E04, 94322 },
- { 0x6E05, 34935 },
- { 0x6E06, 34914 },
- { 0x6E07, 34923 },
- { 0x6E08, 34944 },
- { 0x6E09, 34929 },
- { 0x6E0A, 34926 },
- { 0x6E0B, 34917 },
- { 0x6E0C, 34941 },
- { 0x6E0D, 34938 },
- { 0x6E0E, 34932 },
- { 0x6E0F, 34920 },
- { 0x6E10, 34947 },
- { 0x6E11, 34950 },
- { 0x6E12, 34968 },
- { 0x6E13, 34962 },
- { 0x6E14, 34953 },
- { 0x6E15, 34956 },
- { 0x6E16, 34971 },
- { 0x6E17, 34959 },
- { 0x6E18, 34965 },
- { 0x6E19, 97233 },
- { 0x6E1A, 51490 },
- { 0x6E1B, 51462 },
- { 0x6E1C, 51478 },
- { 0x6E1D, 51474 },
- { 0x6E1E, 51459 },
- { 0x6E1F, 116510 },
- { 0x6E20, 116477 },
- { 0x6E21, 116492 },
- { 0x6E22, 116538 },
- { 0x6E23, 116557 },
- { 0x6E24, 116682 },
- { 0x6E25, 116507 },
- { 0x6E26, 116673 },
- { 0x6E27, 116611 },
- { 0x6E28, 116709 },
- { 0x6E29, 116664 },
- { 0x6E2A, 116706 },
- { 0x6E2B, 116594 },
- { 0x6E2C, 116691 },
- { 0x6E2D, 116495 },
- { 0x6E2E, 116544 },
- { 0x6E2F, 116553 },
- { 0x6E30, 116582 },
- { 0x6E31, 116630 },
- { 0x6E32, 116535 },
- { 0x6E33, 116576 },
- { 0x6E34, 116676 },
- { 0x6E35, 116474 },
- { 0x6E36, 116462 },
- { 0x6E37, 116661 },
- { 0x6E38, 116627 },
- { 0x6E39, 116520 },
- { 0x6E3A, 116513 },
- { 0x6E3B, 116697 },
- { 0x6E3C, 116470 },
- { 0x6E3D, 116570 },
- { 0x6E3E, 116526 },
- { 0x6E3F, 116615 },
- { 0x6E40, 116561 },
- { 0x6E41, 116636 },
- { 0x6E42, 116603 },
- { 0x6E43, 116529 },
- { 0x6E44, 116588 },
- { 0x6E45, 116649 },
- { 0x6E46, 116465 },
- { 0x6E47, 116597 },
- { 0x6E48, 116484 },
- { 0x6E49, 116667 },
- { 0x6E4A, 116498 },
- { 0x6E4B, 116643 },
- { 0x6E4C, 116685 },
- { 0x6E4D, 116573 },
- { 0x6E4E, 116532 },
- { 0x6E4F, 116523 },
- { 0x6E50, 116606 },
- { 0x6E51, 116618 },
- { 0x6E52, 116567 },
- { 0x6E53, 116585 },
- { 0x6E54, 116501 },
- { 0x6E55, 116703 },
- { 0x6E56, 116516 },
- { 0x6E57, 116688 },
- { 0x6E58, 116639 },
- { 0x6E59, 116564 },
- { 0x6E5A, 116694 },
- { 0x6E5B, 116714 },
- { 0x6E5C, 116481 },
- { 0x6E5D, 116504 },
- { 0x6E5E, 116579 },
- { 0x6E5F, 116489 },
- { 0x6E60, 116624 },
- { 0x6E61, 116621 },
- { 0x6E62, 116547 },
- { 0x6E63, 116670 },
- { 0x6E64, 116652 },
- { 0x6E65, 116600 },
- { 0x6E66, 116591 },
- { 0x6E67, 116655 },
- { 0x6E68, 116541 },
- { 0x6E69, 116550 },
- { 0x6E6A, 116679 },
- { 0x6E6B, 116658 },
- { 0x6E6C, 116457 },
- { 0x6E6D, 116700 },
- { 0x6E6E, 116646 },
- { 0x6E6F, 116633 },
- { 0x6E70, 83982 },
- { 0x6E71, 83992 },
- { 0x6E72, 84022 },
- { 0x6E73, 84002 },
- { 0x6E74, 83997 },
- { 0x6E75, 83987 },
- { 0x6E76, 84017 },
- { 0x6E77, 84012 },
- { 0x6E78, 84007 },
- { 0x6E79, 83937 },
- { 0x6E7A, 83947 },
- { 0x6E7B, 83977 },
- { 0x6E7C, 83957 },
- { 0x6E7D, 83952 },
- { 0x6E7E, 83942 },
- { 0x6E7F, 83972 },
- { 0x6E80, 83967 },
- { 0x6E81, 83962 },
- { 0x6E82, 121084 },
- { 0x6E83, 121088 },
- { 0x6E84, 121100 },
- { 0x6E85, 121096 },
- { 0x6E86, 121092 },
- { 0x6E87, 39422 },
- { 0x6E88, 39425 },
- { 0x6E89, 127432 },
- { 0x6E8A, 127436 },
- { 0x6E8B, 127440 },
- { 0x6E8C, 127444 },
- { 0x6E8D, 127448 },
- { 0x6E8E, 127452 },
- { 0x6E8F, 127456 },
- { 0x6E90, 127460 },
- { 0x6E91, 127464 },
- { 0x6E92, 127468 },
- { 0x6E93, 127472 },
- { 0x6E94, 127476 },
- { 0x6E95, 127480 },
- { 0x6E96, 127484 },
- { 0x6E97, 127488 },
- { 0x6E98, 127492 },
- { 0x6E99, 127496 },
- { 0x6E9A, 127500 },
- { 0x6E9B, 127504 },
- { 0x6E9C, 127508 },
- { 0x6E9D, 127512 },
- { 0x6E9E, 127516 },
- { 0x6E9F, 127520 },
- { 0x6EA0, 127524 },
- { 0x6EA1, 127528 },
- { 0x6EA2, 127532 },
- { 0x6EA3, 126408 },
- { 0x6EA4, 126412 },
- { 0x6EA5, 126416 },
- { 0x6EA6, 126420 },
- { 0x6EA7, 126424 },
- { 0x6EA8, 126428 },
- { 0x6EA9, 126432 },
- { 0x6EAA, 126436 },
- { 0x6EAB, 126440 },
- { 0x6EAC, 126444 },
- { 0x6EAD, 126448 },
- { 0x6EAE, 126452 },
- { 0x6EAF, 126456 },
- { 0x6EB0, 126460 },
- { 0x6EB1, 126464 },
- { 0x6EB2, 126468 },
- { 0x6EB3, 126472 },
- { 0x6EB4, 126476 },
- { 0x6EB5, 126480 },
- { 0x6EB6, 126484 },
- { 0x6EB7, 126488 },
- { 0x6EB8, 126492 },
- { 0x6EB9, 126496 },
- { 0x6EBA, 126500 },
- { 0x6EBB, 126504 },
- { 0x6EBC, 126508 },
- { 0x6EBD, 128191 },
- { 0x6EBE, 128195 },
- { 0x6EBF, 128199 },
- { 0x6EC0, 128203 },
- { 0x6EC1, 128207 },
- { 0x6EC2, 128211 },
- { 0x6EC3, 128215 },
- { 0x6EC4, 128219 },
- { 0x6EC5, 128223 },
- { 0x6EC6, 128227 },
- { 0x6EC7, 128231 },
- { 0x6EC8, 128235 },
- { 0x6EC9, 128239 },
- { 0x6ECA, 128243 },
- { 0x6ECB, 128247 },
- { 0x6ECC, 128251 },
- { 0x6ECD, 128255 },
- { 0x6ECE, 128259 },
- { 0x6ECF, 128263 },
- { 0x6ED0, 128267 },
- { 0x6ED1, 128271 },
- { 0x6ED2, 128275 },
- { 0x6ED3, 128279 },
- { 0x6ED4, 128283 },
- { 0x6ED5, 128287 },
- { 0x6ED6, 128291 },
- { 0x6ED7, 127976 },
- { 0x6ED8, 127980 },
- { 0x6ED9, 127984 },
- { 0x6EDA, 127988 },
- { 0x6EDB, 127992 },
- { 0x6EDC, 127996 },
- { 0x6EDD, 128000 },
- { 0x6EDE, 128004 },
- { 0x6EDF, 128008 },
- { 0x6EE0, 128012 },
- { 0x6EE1, 128016 },
- { 0x6EE2, 128020 },
- { 0x6EE3, 128024 },
- { 0x6EE4, 128028 },
- { 0x6EE5, 128032 },
- { 0x6EE6, 128036 },
- { 0x6EE7, 128040 },
- { 0x6EE8, 128044 },
- { 0x6EE9, 128048 },
- { 0x6EEA, 128052 },
- { 0x6EEB, 128056 },
- { 0x6EEC, 128060 },
- { 0x6EED, 128064 },
- { 0x6EEE, 128068 },
- { 0x6EEF, 128072 },
- { 0x6EF0, 126906 },
- { 0x6EF1, 126911 },
- { 0x6EF2, 126916 },
- { 0x6EF3, 126921 },
- { 0x6EF4, 126926 },
- { 0x6EF5, 126931 },
- { 0x6EF6, 126936 },
- { 0x6EF7, 126941 },
- { 0x6EF8, 126946 },
- { 0x6EF9, 126951 },
- { 0x6EFA, 126956 },
- { 0x6EFB, 126961 },
- { 0x6EFC, 126966 },
- { 0x6EFD, 126971 },
- { 0x6EFE, 126976 },
- { 0x6EFF, 126981 },
- { 0x6F00, 126986 },
- { 0x6F01, 126991 },
- { 0x6F02, 126996 },
- { 0x6F03, 127001 },
- { 0x6F04, 127006 },
- { 0x6F05, 127011 },
- { 0x6F06, 127016 },
- { 0x6F07, 127021 },
- { 0x6F08, 127026 },
- { 0x6F09, 127031 },
- { 0x6F0A, 126645 },
- { 0x6F0B, 126650 },
- { 0x6F0C, 126655 },
- { 0x6F0D, 126660 },
- { 0x6F0E, 126665 },
- { 0x6F0F, 126670 },
- { 0x6F10, 126675 },
- { 0x6F11, 126680 },
- { 0x6F12, 126685 },
- { 0x6F13, 126690 },
- { 0x6F14, 126695 },
- { 0x6F15, 126700 },
- { 0x6F16, 126705 },
- { 0x6F17, 126710 },
- { 0x6F18, 126715 },
- { 0x6F19, 126720 },
- { 0x6F1A, 126725 },
- { 0x6F1B, 126730 },
- { 0x6F1C, 126735 },
- { 0x6F1D, 126740 },
- { 0x6F1E, 126745 },
- { 0x6F1F, 126750 },
- { 0x6F20, 126755 },
- { 0x6F21, 126760 },
- { 0x6F22, 126765 },
- { 0x6F23, 126770 },
- { 0x6F24, 128499 },
- { 0x6F25, 128503 },
- { 0x6F26, 128507 },
- { 0x6F27, 128511 },
- { 0x6F28, 128515 },
- { 0x6F29, 128519 },
- { 0x6F2A, 128523 },
- { 0x6F2B, 128527 },
- { 0x6F2C, 128531 },
- { 0x6F2D, 128535 },
- { 0x6F2E, 128539 },
- { 0x6F2F, 128543 },
- { 0x6F30, 128547 },
- { 0x6F31, 128551 },
- { 0x6F32, 128555 },
- { 0x6F33, 128559 },
- { 0x6F34, 128563 },
- { 0x6F35, 128567 },
- { 0x6F36, 128407 },
- { 0x6F37, 128411 },
- { 0x6F38, 128415 },
- { 0x6F39, 128419 },
- { 0x6F3A, 128423 },
- { 0x6F3B, 128427 },
- { 0x6F3C, 128431 },
- { 0x6F3D, 128435 },
- { 0x6F3E, 128439 },
- { 0x6F3F, 128443 },
- { 0x6F40, 128447 },
- { 0x6F41, 128451 },
- { 0x6F42, 128455 },
- { 0x6F43, 128459 },
- { 0x6F44, 128463 },
- { 0x6F45, 128467 },
- { 0x6F46, 128471 },
- { 0x6F47, 128475 },
- { 0x6F48, 128479 },
- { 0x6F49, 128483 },
- { 0x6F4A, 128487 },
- { 0x6F4B, 128491 },
- { 0x6F4C, 128495 },
- { 0x6F4D, 127302 },
- { 0x6F4E, 127307 },
- { 0x6F4F, 127312 },
- { 0x6F50, 127317 },
- { 0x6F51, 127322 },
- { 0x6F52, 127327 },
- { 0x6F53, 127332 },
- { 0x6F54, 127337 },
- { 0x6F55, 127342 },
- { 0x6F56, 127347 },
- { 0x6F57, 127352 },
- { 0x6F58, 127357 },
- { 0x6F59, 127362 },
- { 0x6F5A, 127367 },
- { 0x6F5B, 127372 },
- { 0x6F5C, 127377 },
- { 0x6F5D, 127382 },
- { 0x6F5E, 127387 },
- { 0x6F5F, 127392 },
- { 0x6F60, 127397 },
- { 0x6F61, 127402 },
- { 0x6F62, 127407 },
- { 0x6F63, 127412 },
- { 0x6F64, 127417 },
- { 0x6F65, 127422 },
- { 0x6F66, 127427 },
- { 0x6F67, 127172 },
- { 0x6F68, 127177 },
- { 0x6F69, 127182 },
- { 0x6F6A, 127187 },
- { 0x6F6B, 127192 },
- { 0x6F6C, 127197 },
- { 0x6F6D, 127202 },
- { 0x6F6E, 127207 },
- { 0x6F6F, 127212 },
- { 0x6F70, 127217 },
- { 0x6F71, 127222 },
- { 0x6F72, 127227 },
- { 0x6F73, 127232 },
- { 0x6F74, 127237 },
- { 0x6F75, 127242 },
- { 0x6F76, 127247 },
- { 0x6F77, 127252 },
- { 0x6F78, 127257 },
- { 0x6F79, 127262 },
- { 0x6F7A, 127267 },
- { 0x6F7B, 127272 },
- { 0x6F7C, 127277 },
- { 0x6F7D, 127282 },
- { 0x6F7E, 127287 },
- { 0x6F7F, 127292 },
- { 0x6F80, 127297 },
- { 0x6F81, 128678 },
- { 0x6F82, 128682 },
- { 0x6F83, 128686 },
- { 0x6F84, 128690 },
- { 0x6F85, 128694 },
- { 0x6F86, 128698 },
- { 0x6F87, 128702 },
- { 0x6F88, 128706 },
- { 0x6F89, 128710 },
- { 0x6F8A, 128714 },
- { 0x6F8B, 128718 },
- { 0x6F8C, 128722 },
- { 0x6F8D, 128726 },
- { 0x6F8E, 128730 },
- { 0x6F8F, 128734 },
- { 0x6F90, 128738 },
- { 0x6F91, 128742 },
- { 0x6F92, 128746 },
- { 0x6F93, 128750 },
- { 0x6F94, 128754 },
- { 0x6F95, 128758 },
- { 0x6F96, 128574 },
- { 0x6F97, 128578 },
- { 0x6F98, 128582 },
- { 0x6F99, 128586 },
- { 0x6F9A, 128590 },
- { 0x6F9B, 128594 },
- { 0x6F9C, 128598 },
- { 0x6F9D, 128602 },
- { 0x6F9E, 128606 },
- { 0x6F9F, 128610 },
- { 0x6FA0, 128614 },
- { 0x6FA1, 128618 },
- { 0x6FA2, 128622 },
- { 0x6FA3, 128626 },
- { 0x6FA4, 128630 },
- { 0x6FA5, 128634 },
- { 0x6FA6, 128638 },
- { 0x6FA7, 128642 },
- { 0x6FA8, 128646 },
- { 0x6FA9, 128650 },
- { 0x6FAA, 128654 },
- { 0x6FAB, 128658 },
- { 0x6FAC, 128662 },
- { 0x6FAD, 128666 },
- { 0x6FAE, 128670 },
- { 0x6FAF, 128674 },
- { 0x6FB0, 130924 },
- { 0x6FB1, 130928 },
- { 0x6FB2, 130932 },
- { 0x6FB3, 130936 },
- { 0x6FB4, 130940 },
- { 0x6FB5, 130944 },
- { 0x6FB6, 130948 },
- { 0x6FB7, 130952 },
- { 0x6FB8, 130956 },
- { 0x6FB9, 130960 },
- { 0x6FBA, 130964 },
- { 0x6FBB, 130968 },
- { 0x6FBC, 130972 },
- { 0x6FBD, 130976 },
- { 0x6FBE, 130980 },
- { 0x6FBF, 130984 },
- { 0x6FC0, 130988 },
- { 0x6FC1, 130992 },
- { 0x6FC2, 130996 },
- { 0x6FC3, 130820 },
- { 0x6FC4, 130824 },
- { 0x6FC5, 130828 },
- { 0x6FC6, 130832 },
- { 0x6FC7, 130836 },
- { 0x6FC8, 130840 },
- { 0x6FC9, 130844 },
- { 0x6FCA, 130848 },
- { 0x6FCB, 130852 },
- { 0x6FCC, 130856 },
- { 0x6FCD, 130860 },
- { 0x6FCE, 130864 },
- { 0x6FCF, 130868 },
- { 0x6FD0, 130872 },
- { 0x6FD1, 130876 },
- { 0x6FD2, 130880 },
- { 0x6FD3, 130884 },
- { 0x6FD4, 130888 },
- { 0x6FD5, 130892 },
- { 0x6FD6, 130896 },
- { 0x6FD7, 130900 },
- { 0x6FD8, 130904 },
- { 0x6FD9, 130908 },
- { 0x6FDA, 130912 },
- { 0x6FDB, 130916 },
- { 0x6FDC, 130920 },
- { 0x6FDD, 127775 },
- { 0x6FDE, 127780 },
- { 0x6FDF, 127785 },
- { 0x6FE0, 127790 },
- { 0x6FE1, 127795 },
- { 0x6FE2, 127800 },
- { 0x6FE3, 127805 },
- { 0x6FE4, 127810 },
- { 0x6FE5, 127815 },
- { 0x6FE6, 127820 },
- { 0x6FE7, 127825 },
- { 0x6FE8, 127830 },
- { 0x6FE9, 127835 },
- { 0x6FEA, 127840 },
- { 0x6FEB, 127845 },
- { 0x6FEC, 127850 },
- { 0x6FED, 127855 },
- { 0x6FEE, 127860 },
- { 0x6FEF, 127865 },
- { 0x6FF0, 127870 },
- { 0x6FF1, 127875 },
- { 0x6FF2, 127880 },
- { 0x6FF3, 127885 },
- { 0x6FF4, 127890 },
- { 0x6FF5, 127895 },
- { 0x6FF6, 127900 },
- { 0x6FF7, 127645 },
- { 0x6FF8, 127650 },
- { 0x6FF9, 127655 },
- { 0x6FFA, 127660 },
- { 0x6FFB, 127665 },
- { 0x6FFC, 127670 },
- { 0x6FFD, 127675 },
- { 0x6FFE, 127680 },
- { 0x6FFF, 127685 },
- { 0x7000, 127690 },
- { 0x7001, 127695 },
- { 0x7002, 127700 },
- { 0x7003, 127705 },
- { 0x7004, 127710 },
- { 0x7005, 127715 },
- { 0x7006, 127720 },
- { 0x7007, 127725 },
- { 0x7008, 127730 },
- { 0x7009, 127735 },
- { 0x700A, 127740 },
- { 0x700B, 127745 },
- { 0x700C, 127750 },
- { 0x700D, 127755 },
- { 0x700E, 127760 },
- { 0x700F, 127765 },
- { 0x7010, 127770 },
- { 0x7011, 130676 },
- { 0x7012, 130680 },
- { 0x7013, 130684 },
- { 0x7014, 130688 },
- { 0x7015, 130692 },
- { 0x7016, 130696 },
- { 0x7017, 130700 },
- { 0x7018, 130704 },
- { 0x7019, 130708 },
- { 0x701A, 130712 },
- { 0x701B, 130716 },
- { 0x701C, 130720 },
- { 0x701D, 130724 },
- { 0x701E, 130728 },
- { 0x701F, 130732 },
- { 0x7020, 130736 },
- { 0x7021, 130740 },
- { 0x7022, 130744 },
- { 0x7023, 130748 },
- { 0x7024, 130752 },
- { 0x7025, 130756 },
- { 0x7026, 130760 },
- { 0x7027, 130764 },
- { 0x7028, 130768 },
- { 0x7029, 130772 },
- { 0x702A, 130776 },
- { 0x702B, 130312 },
- { 0x702C, 130316 },
- { 0x702D, 130320 },
- { 0x702E, 130324 },
- { 0x702F, 130328 },
- { 0x7030, 130332 },
- { 0x7031, 130336 },
- { 0x7032, 130340 },
- { 0x7033, 130344 },
- { 0x7034, 130348 },
- { 0x7035, 130352 },
- { 0x7036, 130356 },
- { 0x7037, 130360 },
- { 0x7038, 130364 },
- { 0x7039, 130368 },
- { 0x703A, 130372 },
- { 0x703B, 130376 },
- { 0x703C, 130380 },
- { 0x703D, 130384 },
- { 0x703E, 130388 },
- { 0x703F, 130392 },
- { 0x7040, 130396 },
- { 0x7041, 130400 },
- { 0x7042, 130404 },
- { 0x7043, 130408 },
- { 0x7044, 130412 },
- { 0x7045, 130006 },
- { 0x7046, 130011 },
- { 0x7047, 130016 },
- { 0x7048, 130021 },
- { 0x7049, 130026 },
- { 0x704A, 130031 },
- { 0x704B, 130036 },
- { 0x704C, 130041 },
- { 0x704D, 130046 },
- { 0x704E, 130051 },
- { 0x704F, 130056 },
- { 0x7050, 130061 },
- { 0x7051, 130066 },
- { 0x7052, 130071 },
- { 0x7053, 130076 },
- { 0x7054, 130081 },
- { 0x7055, 130086 },
- { 0x7056, 130091 },
- { 0x7057, 130096 },
- { 0x7058, 130101 },
- { 0x7059, 130106 },
- { 0x705A, 130111 },
- { 0x705B, 130116 },
- { 0x705C, 130121 },
- { 0x705D, 130126 },
- { 0x705E, 130131 },
- { 0x705F, 129084 },
- { 0x7060, 129089 },
- { 0x7061, 129094 },
- { 0x7062, 129099 },
- { 0x7063, 129104 },
- { 0x7064, 129109 },
- { 0x7065, 129114 },
- { 0x7066, 129119 },
- { 0x7067, 129124 },
- { 0x7068, 129129 },
- { 0x7069, 129134 },
- { 0x706A, 129139 },
- { 0x706B, 129144 },
- { 0x706C, 129149 },
- { 0x706D, 129154 },
- { 0x706E, 129159 },
- { 0x706F, 129164 },
- { 0x7070, 129169 },
- { 0x7071, 129174 },
- { 0x7072, 129179 },
- { 0x7073, 129184 },
- { 0x7074, 129189 },
- { 0x7075, 129194 },
- { 0x7076, 129199 },
- { 0x7077, 129204 },
- { 0x7078, 129209 },
- { 0x7079, 130546 },
- { 0x707A, 130551 },
- { 0x707B, 130556 },
- { 0x707C, 130561 },
- { 0x707D, 130566 },
- { 0x707E, 130571 },
- { 0x707F, 130576 },
- { 0x7080, 130581 },
- { 0x7081, 130586 },
- { 0x7082, 130591 },
- { 0x7083, 130596 },
- { 0x7084, 130601 },
- { 0x7085, 130606 },
- { 0x7086, 130611 },
- { 0x7087, 130616 },
- { 0x7088, 130621 },
- { 0x7089, 130626 },
- { 0x708A, 130631 },
- { 0x708B, 130636 },
- { 0x708C, 130641 },
- { 0x708D, 130646 },
- { 0x708E, 130651 },
- { 0x708F, 130656 },
- { 0x7090, 130661 },
- { 0x7091, 130666 },
- { 0x7092, 130671 },
- { 0x7093, 130416 },
- { 0x7094, 130421 },
- { 0x7095, 130426 },
- { 0x7096, 130431 },
- { 0x7097, 130436 },
- { 0x7098, 130441 },
- { 0x7099, 130446 },
- { 0x709A, 130451 },
- { 0x709B, 130456 },
- { 0x709C, 130461 },
- { 0x709D, 130466 },
- { 0x709E, 130471 },
- { 0x709F, 130476 },
- { 0x70A0, 130481 },
- { 0x70A1, 130486 },
- { 0x70A2, 130491 },
- { 0x70A3, 130496 },
- { 0x70A4, 130501 },
- { 0x70A5, 130506 },
- { 0x70A6, 130511 },
- { 0x70A7, 130516 },
- { 0x70A8, 130521 },
- { 0x70A9, 130526 },
- { 0x70AA, 130531 },
- { 0x70AB, 130536 },
- { 0x70AC, 130541 },
- { 0x70AD, 129687 },
- { 0x70AE, 129693 },
- { 0x70AF, 129699 },
- { 0x70B0, 129705 },
- { 0x70B1, 129711 },
- { 0x70B2, 129717 },
- { 0x70B3, 129723 },
- { 0x70B4, 129729 },
- { 0x70B5, 129735 },
- { 0x70B6, 129741 },
- { 0x70B7, 129747 },
- { 0x70B8, 129753 },
- { 0x70B9, 129759 },
- { 0x70BA, 129765 },
- { 0x70BB, 129771 },
- { 0x70BC, 129777 },
- { 0x70BD, 129783 },
- { 0x70BE, 129789 },
- { 0x70BF, 129795 },
- { 0x70C0, 129801 },
- { 0x70C1, 129807 },
- { 0x70C2, 129813 },
- { 0x70C3, 129819 },
- { 0x70C4, 129825 },
- { 0x70C5, 129831 },
- { 0x70C6, 129837 },
- { 0x70C7, 129374 },
- { 0x70C8, 129380 },
- { 0x70C9, 129386 },
- { 0x70CA, 129392 },
- { 0x70CB, 129398 },
- { 0x70CC, 129404 },
- { 0x70CD, 129410 },
- { 0x70CE, 129416 },
- { 0x70CF, 129422 },
- { 0x70D0, 129428 },
- { 0x70D1, 129434 },
- { 0x70D2, 129440 },
- { 0x70D3, 129446 },
- { 0x70D4, 129452 },
- { 0x70D5, 129458 },
- { 0x70D6, 129464 },
- { 0x70D7, 129470 },
- { 0x70D8, 129476 },
- { 0x70D9, 129482 },
- { 0x70DA, 129488 },
- { 0x70DB, 129494 },
- { 0x70DC, 129500 },
- { 0x70DD, 129506 },
- { 0x70DE, 129512 },
- { 0x70DF, 129518 },
- { 0x70E0, 129524 },
- { 0x70E1, 128906 },
- { 0x70E2, 128910 },
- { 0x70E3, 128914 },
- { 0x70E4, 128918 },
- { 0x70E5, 128922 },
- { 0x70E6, 128926 },
- { 0x70E7, 128930 },
- { 0x70E8, 128934 },
- { 0x70E9, 128938 },
- { 0x70EA, 128942 },
- { 0x70EB, 128946 },
- { 0x70EC, 128950 },
- { 0x70ED, 128954 },
- { 0x70EE, 128958 },
- { 0x70EF, 128962 },
- { 0x70F0, 128966 },
- { 0x70F1, 128970 },
- { 0x70F2, 128974 },
- { 0x70F3, 128978 },
- { 0x70F4, 128982 },
- { 0x70F5, 128986 },
- { 0x70F6, 128990 },
- { 0x70F7, 128994 },
- { 0x70F8, 128998 },
- { 0x70F9, 129002 },
- { 0x70FA, 129006 },
- { 0x70FB, 128802 },
- { 0x70FC, 128806 },
- { 0x70FD, 128810 },
- { 0x70FE, 128814 },
- { 0x70FF, 128818 },
- { 0x7100, 128822 },
- { 0x7101, 128826 },
- { 0x7102, 128830 },
- { 0x7103, 128834 },
- { 0x7104, 128838 },
- { 0x7105, 128842 },
- { 0x7106, 128846 },
- { 0x7107, 128850 },
- { 0x7108, 128854 },
- { 0x7109, 128858 },
- { 0x710A, 128862 },
- { 0x710B, 128866 },
- { 0x710C, 128870 },
- { 0x710D, 128874 },
- { 0x710E, 128878 },
- { 0x710F, 128882 },
- { 0x7110, 128886 },
- { 0x7111, 128890 },
- { 0x7112, 128894 },
- { 0x7113, 128898 },
- { 0x7114, 128902 },
- { 0x7115, 128165 },
- { 0x7116, 128170 },
- { 0x7117, 127588 },
- { 0x7118, 127576 },
- { 0x7119, 127596 },
- { 0x711A, 127592 },
- { 0x711B, 127629 },
- { 0x711C, 127584 },
- { 0x711D, 127556 },
- { 0x711E, 127616 },
- { 0x711F, 127580 },
- { 0x7120, 127600 },
- { 0x7121, 127604 },
- { 0x7122, 127536 },
- { 0x7123, 127540 },
- { 0x7124, 127548 },
- { 0x7125, 127633 },
- { 0x7126, 127544 },
- { 0x7127, 127568 },
- { 0x7128, 127620 },
- { 0x7129, 127612 },
- { 0x712A, 127572 },
- { 0x712B, 127637 },
- { 0x712C, 127560 },
- { 0x712D, 127552 },
- { 0x712E, 127564 },
- { 0x712F, 127608 },
- { 0x7130, 126405 },
- { 0x7131, 126564 },
- { 0x7132, 126552 },
- { 0x7133, 126577 },
- { 0x7134, 126568 },
- { 0x7135, 126605 },
- { 0x7136, 126560 },
- { 0x7137, 126532 },
- { 0x7138, 126597 },
- { 0x7139, 126556 },
- { 0x713A, 126581 },
- { 0x713B, 126585 },
- { 0x713C, 126512 },
- { 0x713D, 126516 },
- { 0x713E, 126524 },
- { 0x713F, 126609 },
- { 0x7140, 126520 },
- { 0x7141, 126544 },
- { 0x7142, 126572 },
- { 0x7143, 126593 },
- { 0x7144, 126548 },
- { 0x7145, 126613 },
- { 0x7146, 126536 },
- { 0x7147, 126528 },
- { 0x7148, 126540 },
- { 0x7149, 126589 },
- { 0x714A, 127905 },
- { 0x714B, 127641 },
- { 0x714C, 126617 },
- { 0x714D, 126401 },
- { 0x714E, 126353 },
- { 0x714F, 126357 },
- { 0x7150, 126349 },
- { 0x7151, 128347 },
- { 0x7152, 128335 },
- { 0x7153, 128355 },
- { 0x7154, 128351 },
- { 0x7155, 128384 },
- { 0x7156, 128343 },
- { 0x7157, 128315 },
- { 0x7158, 128375 },
- { 0x7159, 128339 },
- { 0x715A, 128359 },
- { 0x715B, 128363 },
- { 0x715C, 128295 },
- { 0x715D, 128299 },
- { 0x715E, 128307 },
- { 0x715F, 128388 },
- { 0x7160, 128303 },
- { 0x7161, 128327 },
- { 0x7162, 128379 },
- { 0x7163, 128371 },
- { 0x7164, 128331 },
- { 0x7165, 128392 },
- { 0x7166, 128319 },
- { 0x7167, 128311 },
- { 0x7168, 128323 },
- { 0x7169, 128367 },
- { 0x716A, 127973 },
- { 0x716B, 128128 },
- { 0x716C, 128116 },
- { 0x716D, 128141 },
- { 0x716E, 128132 },
- { 0x716F, 128175 },
- { 0x7170, 128124 },
- { 0x7171, 128096 },
- { 0x7172, 128161 },
- { 0x7173, 128120 },
- { 0x7174, 128145 },
- { 0x7175, 128149 },
- { 0x7176, 128076 },
- { 0x7177, 128080 },
- { 0x7178, 128088 },
- { 0x7179, 128179 },
- { 0x717A, 128084 },
- { 0x717B, 128108 },
- { 0x717C, 128136 },
- { 0x717D, 128157 },
- { 0x717E, 128112 },
- { 0x717F, 128183 },
- { 0x7180, 128100 },
- { 0x7181, 128092 },
- { 0x7182, 128104 },
- { 0x7183, 128153 },
- { 0x7184, 128400 },
- { 0x7185, 128396 },
- { 0x7186, 128187 },
- { 0x7187, 127969 },
- { 0x7188, 127961 },
- { 0x7189, 127965 },
- { 0x718A, 127957 },
- { 0x718B, 127101 },
- { 0x718C, 127086 },
- { 0x718D, 127111 },
- { 0x718E, 127106 },
- { 0x718F, 127147 },
- { 0x7190, 127096 },
- { 0x7191, 127061 },
- { 0x7192, 127136 },
- { 0x7193, 127091 },
- { 0x7194, 127116 },
- { 0x7195, 127121 },
- { 0x7196, 127036 },
- { 0x7197, 127041 },
- { 0x7198, 127051 },
- { 0x7199, 127152 },
- { 0x719A, 127046 },
- { 0x719B, 127076 },
- { 0x719C, 127141 },
- { 0x719D, 127131 },
- { 0x719E, 127081 },
- { 0x719F, 127157 },
- { 0x71A0, 127066 },
- { 0x71A1, 127056 },
- { 0x71A2, 127071 },
- { 0x71A3, 127126 },
- { 0x71A4, 126641 },
- { 0x71A5, 126840 },
- { 0x71A6, 126825 },
- { 0x71A7, 126856 },
- { 0x71A8, 126845 },
- { 0x71A9, 126886 },
- { 0x71AA, 126835 },
- { 0x71AB, 126800 },
- { 0x71AC, 126881 },
- { 0x71AD, 126830 },
- { 0x71AE, 126861 },
- { 0x71AF, 126866 },
- { 0x71B0, 126775 },
- { 0x71B1, 126780 },
- { 0x71B2, 126790 },
- { 0x71B3, 126891 },
- { 0x71B4, 126785 },
- { 0x71B5, 126815 },
- { 0x71B6, 126850 },
- { 0x71B7, 126876 },
- { 0x71B8, 126820 },
- { 0x71B9, 126896 },
- { 0x71BA, 126805 },
- { 0x71BB, 126795 },
- { 0x71BC, 126810 },
- { 0x71BD, 126871 },
- { 0x71BE, 127167 },
- { 0x71BF, 127162 },
- { 0x71C0, 126901 },
- { 0x71C1, 126636 },
- { 0x71C2, 126626 },
- { 0x71C3, 126631 },
- { 0x71C4, 126621 },
- { 0x71C5, 130201 },
- { 0x71C6, 130186 },
- { 0x71C7, 130211 },
- { 0x71C8, 130206 },
- { 0x71C9, 130247 },
- { 0x71CA, 130196 },
- { 0x71CB, 130161 },
- { 0x71CC, 130236 },
- { 0x71CD, 130191 },
- { 0x71CE, 130216 },
- { 0x71CF, 130221 },
- { 0x71D0, 130136 },
- { 0x71D1, 130141 },
- { 0x71D2, 130151 },
- { 0x71D3, 130252 },
- { 0x71D4, 130146 },
- { 0x71D5, 130176 },
- { 0x71D6, 130241 },
- { 0x71D7, 130231 },
- { 0x71D8, 130181 },
- { 0x71D9, 130257 },
- { 0x71DA, 130166 },
- { 0x71DB, 130156 },
- { 0x71DC, 130171 },
- { 0x71DD, 130226 },
- { 0x71DE, 129080 },
- { 0x71DF, 129279 },
- { 0x71E0, 129264 },
- { 0x71E1, 129295 },
- { 0x71E2, 129284 },
- { 0x71E3, 129325 },
- { 0x71E4, 129274 },
- { 0x71E5, 129239 },
- { 0x71E6, 129320 },
- { 0x71E7, 129269 },
- { 0x71E8, 129300 },
- { 0x71E9, 129305 },
- { 0x71EA, 129214 },
- { 0x71EB, 129219 },
- { 0x71EC, 129229 },
- { 0x71ED, 129330 },
- { 0x71EE, 129224 },
- { 0x71EF, 129254 },
- { 0x71F0, 129289 },
- { 0x71F1, 129315 },
- { 0x71F2, 129259 },
- { 0x71F3, 129335 },
- { 0x71F4, 129244 },
- { 0x71F5, 129234 },
- { 0x71F6, 129249 },
- { 0x71F7, 129310 },
- { 0x71F8, 130267 },
- { 0x71F9, 130262 },
- { 0x71FA, 129340 },
- { 0x71FB, 129075 },
- { 0x71FC, 129015 },
- { 0x71FD, 129020 },
- { 0x71FE, 129010 },
- { 0x71FF, 129921 },
- { 0x7200, 129903 },
- { 0x7201, 129933 },
- { 0x7202, 129927 },
- { 0x7203, 129976 },
- { 0x7204, 129915 },
- { 0x7205, 129873 },
- { 0x7206, 129963 },
- { 0x7207, 129909 },
- { 0x7208, 129939 },
- { 0x7209, 129945 },
- { 0x720A, 129843 },
- { 0x720B, 129849 },
- { 0x720C, 129861 },
- { 0x720D, 129982 },
- { 0x720E, 129855 },
- { 0x720F, 129891 },
- { 0x7210, 129969 },
- { 0x7211, 129957 },
- { 0x7212, 129897 },
- { 0x7213, 129988 },
- { 0x7214, 129879 },
- { 0x7215, 129867 },
- { 0x7216, 129885 },
- { 0x7217, 129951 },
- { 0x7218, 129369 },
- { 0x7219, 129608 },
- { 0x721A, 129590 },
- { 0x721B, 129627 },
- { 0x721C, 129614 },
- { 0x721D, 129663 },
- { 0x721E, 129602 },
- { 0x721F, 129560 },
- { 0x7220, 129657 },
- { 0x7221, 129596 },
- { 0x7222, 129633 },
- { 0x7223, 129639 },
- { 0x7224, 129530 },
- { 0x7225, 129536 },
- { 0x7226, 129548 },
- { 0x7227, 129669 },
- { 0x7228, 129542 },
- { 0x7229, 129578 },
- { 0x722A, 129620 },
- { 0x722B, 129651 },
- { 0x722C, 129584 },
- { 0x722D, 129675 },
- { 0x722E, 129566 },
- { 0x722F, 129554 },
- { 0x7230, 129572 },
- { 0x7231, 129645 },
- { 0x7232, 130000 },
- { 0x7233, 129994 },
- { 0x7234, 129681 },
- { 0x7235, 129363 },
- { 0x7236, 129351 },
- { 0x7237, 129357 },
- { 0x7238, 129345 },
- { 0x7239, 127625 },
- { 0x723A, 126601 },
- { 0x723B, 126385 },
- { 0x723C, 126361 },
- { 0x723D, 126369 },
- { 0x723E, 126397 },
- { 0x723F, 126377 },
- { 0x7240, 126373 },
- { 0x7241, 126365 },
- { 0x7242, 126393 },
- { 0x7243, 126389 },
- { 0x7244, 126381 },
- { 0x7245, 130804 },
- { 0x7246, 130780 },
- { 0x7247, 130788 },
- { 0x7248, 130816 },
- { 0x7249, 130796 },
- { 0x724A, 130792 },
- { 0x724B, 130784 },
- { 0x724C, 130812 },
- { 0x724D, 130808 },
- { 0x724E, 130800 },
- { 0x724F, 130296 },
- { 0x7250, 130272 },
- { 0x7251, 130280 },
- { 0x7252, 130308 },
- { 0x7253, 130288 },
- { 0x7254, 130284 },
- { 0x7255, 130276 },
- { 0x7256, 130304 },
- { 0x7257, 130300 },
- { 0x7258, 130292 },
- { 0x7259, 129055 },
- { 0x725A, 129025 },
- { 0x725B, 129035 },
- { 0x725C, 129070 },
- { 0x725D, 129045 },
- { 0x725E, 129040 },
- { 0x725F, 129030 },
- { 0x7260, 129065 },
- { 0x7261, 129060 },
- { 0x7262, 129050 },
- { 0x7263, 128786 },
- { 0x7264, 128762 },
- { 0x7265, 128770 },
- { 0x7266, 128798 },
- { 0x7267, 128778 },
- { 0x7268, 128774 },
- { 0x7269, 128766 },
- { 0x726A, 128794 },
- { 0x726B, 128790 },
- { 0x726C, 128782 },
- { 0x726D, 123125 },
- { 0x726E, 124271 },
- { 0x726F, 122918 },
- { 0x7270, 124003 },
- { 0x7271, 124170 },
- { 0x7272, 124046 },
- { 0x7273, 123150 },
- { 0x7274, 124274 },
- { 0x7275, 123600 },
- { 0x7276, 123548 },
- { 0x7277, 123299 },
- { 0x7278, 123303 },
- { 0x7279, 123307 },
- { 0x727A, 124283 },
- { 0x727B, 123326 },
- { 0x727C, 124287 },
- { 0x727D, 123338 },
- { 0x727E, 123446 },
- { 0x727F, 123428 },
- { 0x7280, 123128 },
- { 0x7281, 123312 },
- { 0x7282, 123471 },
- { 0x7283, 123476 },
- { 0x7284, 123541 },
- { 0x7285, 123513 },
- { 0x7286, 123527 },
- { 0x7287, 123452 },
- { 0x7288, 124312 },
- { 0x7289, 123710 },
- { 0x728A, 123154 },
- { 0x728B, 123373 },
- { 0x728C, 124302 },
- { 0x728D, 123464 },
- { 0x728E, 123343 },
- { 0x728F, 123378 },
- { 0x7290, 123433 },
- { 0x7291, 123134 },
- { 0x7292, 123142 },
- { 0x7293, 123318 },
- { 0x7294, 123330 },
- { 0x7295, 123397 },
- { 0x7296, 123415 },
- { 0x7297, 123409 },
- { 0x7298, 123403 },
- { 0x7299, 123630 },
- { 0x729A, 123483 },
- { 0x729B, 123498 },
- { 0x729C, 123490 },
- { 0x729D, 123755 },
- { 0x729E, 123259 },
- { 0x729F, 123533 },
- { 0x72A0, 123457 },
- { 0x72A1, 123506 },
- { 0x72A2, 123519 },
- { 0x72A3, 123748 },
- { 0x72A4, 123252 },
- { 0x72A5, 123767 },
- { 0x72A6, 123774 },
- { 0x72A7, 123239 },
- { 0x72A8, 123231 },
- { 0x72A9, 123273 },
- { 0x72AA, 123421 },
- { 0x72AB, 123390 },
- { 0x72AC, 123384 },
- { 0x72AD, 123725 },
- { 0x72AE, 123733 },
- { 0x72AF, 123741 },
- { 0x72B0, 123266 },
- { 0x72B1, 123839 },
- { 0x72B2, 123843 },
- { 0x72B3, 123848 },
- { 0x72B4, 123853 },
- { 0x72B5, 123858 },
- { 0x72B6, 123041 },
- { 0x72B7, 123076 },
- { 0x72B8, 124136 },
- { 0x72B9, 123792 },
- { 0x72BA, 123867 },
- { 0x72BB, 123803 },
- { 0x72BC, 123880 },
- { 0x72BD, 123797 },
- { 0x72BE, 123873 },
- { 0x72BF, 123810 },
- { 0x72C0, 122889 },
- { 0x72C1, 122894 },
- { 0x72C2, 124130 },
- { 0x72C3, 123994 },
- { 0x72C4, 123817 },
- { 0x72C5, 123831 },
- { 0x72C6, 123823 },
- { 0x72C7, 123790 },
- { 0x72C8, 123932 },
- { 0x72C9, 123864 },
- { 0x72CA, 123924 },
- { 0x72CB, 123888 },
- { 0x72CC, 123920 },
- { 0x72CD, 123928 },
- { 0x72CE, 123893 },
- { 0x72CF, 123899 },
- { 0x72D0, 123903 },
- { 0x72D1, 123909 },
- { 0x72D2, 123916 },
- { 0x72D3, 123035 },
- { 0x72D4, 123053 },
- { 0x72D5, 123037 },
- { 0x72D6, 123057 },
- { 0x72D7, 123985 },
- { 0x72D8, 123937 },
- { 0x72D9, 122900 },
- { 0x72DA, 122883 },
- { 0x72DB, 122908 },
- { 0x72DC, 122935 },
- { 0x72DD, 122903 },
- { 0x72DE, 122885 },
- { 0x72DF, 122913 },
- { 0x72E0, 122939 },
- { 0x72E1, 124344 },
- { 0x72E2, 124342 },
- { 0x72E3, 124265 },
- { 0x72E4, 123988 },
- { 0x72E5, 124006 },
- { 0x72E6, 123990 },
- { 0x72E7, 124010 },
- { 0x72E8, 124141 },
- { 0x72E9, 124154 },
- { 0x72EA, 124124 },
- { 0x72EB, 124222 },
- { 0x72EC, 124149 },
- { 0x72ED, 124225 },
- { 0x72EE, 124144 },
- { 0x72EF, 124126 },
- { 0x72F0, 124229 },
- { 0x72F1, 124235 },
- { 0x72F2, 124032 },
- { 0x72F3, 123350 },
- { 0x72F4, 124291 },
- { 0x72F5, 124206 },
- { 0x72F6, 124074 },
- { 0x72F7, 124241 },
- { 0x72F8, 123355 },
- { 0x72F9, 123361 },
- { 0x72FA, 124211 },
- { 0x72FB, 123655 },
- { 0x72FC, 123671 },
- { 0x72FD, 123665 },
- { 0x72FE, 123659 },
- { 0x72FF, 123647 },
- { 0x7300, 123612 },
- { 0x7301, 124317 },
- { 0x7302, 124014 },
- { 0x7303, 124084 },
- { 0x7304, 123690 },
- { 0x7305, 123651 },
- { 0x7306, 123695 },
- { 0x7307, 123686 },
- { 0x7308, 124253 },
- { 0x7309, 123681 },
- { 0x730A, 124248 },
- { 0x730B, 124099 },
- { 0x730C, 124092 },
- { 0x730D, 123677 },
- { 0x730E, 124321 },
- { 0x730F, 124244 },
- { 0x7310, 124088 },
- { 0x7311, 123441 },
- { 0x7312, 124307 },
- { 0x7313, 124217 },
- { 0x7314, 124159 },
- { 0x7315, 124079 },
- { 0x7316, 123367 },
- { 0x7317, 124296 },
- { 0x7318, 123089 },
- { 0x7319, 124162 },
- { 0x731A, 124034 },
- { 0x731B, 123085 },
- { 0x731C, 123120 },
- { 0x731D, 123101 },
- { 0x731E, 124267 },
- { 0x731F, 123999 },
- { 0x7320, 124042 },
- { 0x7321, 123105 },
- { 0x7322, 123115 },
- { 0x7323, 123109 },
- { 0x7324, 123093 },
- { 0x7325, 123097 },
- { 0x7326, 123939 },
- { 0x7327, 123160 },
- { 0x7328, 124278 },
- { 0x7329, 124347 },
- { 0x732A, 123949 },
- { 0x732B, 123943 },
- { 0x732C, 123955 },
- { 0x732D, 122921 },
- { 0x732E, 124173 },
- { 0x732F, 124054 },
- { 0x7330, 124049 },
- { 0x7331, 123716 },
- { 0x7332, 124257 },
- { 0x7333, 123700 },
- { 0x7334, 124325 },
- { 0x7335, 123785 },
- { 0x7336, 123704 },
- { 0x7337, 123981 },
- { 0x7338, 123762 },
- { 0x7339, 123781 },
- { 0x733A, 123720 },
- { 0x733B, 124329 },
- { 0x733C, 124353 },
- { 0x733D, 122943 },
- { 0x733E, 124260 },
- { 0x733F, 124118 },
- { 0x7340, 124112 },
- { 0x7341, 124107 },
- { 0x7342, 124334 },
- { 0x7343, 123061 },
- { 0x7344, 123067 },
- { 0x7345, 123974 },
- { 0x7346, 123967 },
- { 0x7347, 123961 },
- { 0x7348, 124202 },
- { 0x7349, 123170 },
- { 0x734A, 124187 },
- { 0x734B, 123203 },
- { 0x734C, 123210 },
- { 0x734D, 123196 },
- { 0x734E, 123182 },
- { 0x734F, 123175 },
- { 0x7350, 123189 },
- { 0x7351, 123287 },
- { 0x7352, 123280 },
- { 0x7353, 123165 },
- { 0x7354, 123294 },
- { 0x7355, 123224 },
- { 0x7356, 123046 },
- { 0x7357, 123217 },
- { 0x7358, 123247 },
- { 0x7359, 122926 },
- { 0x735A, 122930 },
- { 0x735B, 124182 },
- { 0x735C, 124192 },
- { 0x735D, 124178 },
- { 0x735E, 124197 },
- { 0x735F, 124069 },
- { 0x7360, 124064 },
- { 0x7361, 124060 },
- { 0x7362, 123553 },
- { 0x7363, 123556 },
- { 0x7364, 123578 },
- { 0x7365, 123583 },
- { 0x7366, 123573 },
- { 0x7367, 123643 },
- { 0x7368, 123624 },
- { 0x7369, 123637 },
- { 0x736A, 123618 },
- { 0x736B, 123588 },
- { 0x736C, 123560 },
- { 0x736D, 123606 },
- { 0x736E, 123594 },
- { 0x736F, 123566 },
- { 0x7370, 123074 },
- { 0x7371, 123082 },
- { 0x7372, 122696 },
- { 0x7373, 122702 },
- { 0x7374, 122699 },
- { 0x7375, 122541 },
- { 0x7376, 122547 },
- { 0x7377, 122544 },
- { 0x7378, 122749 },
- { 0x7379, 122755 },
- { 0x737A, 122752 },
- { 0x737B, 122509 },
- { 0x737C, 122515 },
- { 0x737D, 122512 },
- { 0x737E, 122358 },
- { 0x737F, 122364 },
- { 0x7380, 122361 },
- { 0x7381, 122859 },
- { 0x7382, 122856 },
- { 0x7383, 122837 },
- { 0x7384, 122845 },
- { 0x7385, 122841 },
- { 0x7386, 122849 },
- { 0x7387, 122853 },
- { 0x7388, 122522 },
- { 0x7389, 122530 },
- { 0x738A, 122526 },
- { 0x738B, 122534 },
- { 0x738C, 122538 },
- { 0x738D, 122833 },
- { 0x738E, 124359 },
- { 0x738F, 124364 },
- { 0x7390, 124381 },
- { 0x7391, 124385 },
- { 0x7392, 124369 },
- { 0x7393, 124375 },
- { 0x7394, 124389 },
- { 0x7395, 124910 },
- { 0x7396, 125364 },
- { 0x7397, 124924 },
- { 0x7398, 124929 },
- { 0x7399, 124919 },
- { 0x739A, 124934 },
- { 0x739B, 124914 },
- { 0x739C, 124886 },
- { 0x739D, 124881 },
- { 0x739E, 124890 },
- { 0x739F, 124894 },
- { 0x73A0, 124760 },
- { 0x73A1, 124944 },
- { 0x73A2, 124939 },
- { 0x73A3, 124949 },
- { 0x73A4, 124953 },
- { 0x73A5, 124624 },
- { 0x73A6, 124628 },
- { 0x73A7, 124620 },
- { 0x73A8, 124859 },
- { 0x73A9, 124863 },
- { 0x73AA, 124855 },
- { 0x73AB, 124867 },
- { 0x73AC, 124752 },
- { 0x73AD, 124756 },
- { 0x73AE, 124748 },
- { 0x73AF, 124609 },
- { 0x73B0, 124613 },
- { 0x73B1, 124605 },
- { 0x73B2, 124963 },
- { 0x73B3, 124967 },
- { 0x73B4, 124959 },
- { 0x73B5, 124835 },
- { 0x73B6, 124839 },
- { 0x73B7, 124831 },
- { 0x73B8, 124428 },
- { 0x73B9, 124424 },
- { 0x73BA, 124432 },
- { 0x73BB, 124440 },
- { 0x73BC, 124436 },
- { 0x73BD, 124444 },
- { 0x73BE, 124421 },
- { 0x73BF, 124411 },
- { 0x73C0, 124406 },
- { 0x73C1, 124416 },
- { 0x73C2, 124469 },
- { 0x73C3, 124473 },
- { 0x73C4, 124465 },
- { 0x73C5, 124477 },
- { 0x73C6, 124525 },
- { 0x73C7, 124529 },
- { 0x73C8, 124521 },
- { 0x73C9, 124533 },
- { 0x73CA, 124486 },
- { 0x73CB, 124491 },
- { 0x73CC, 124481 },
- { 0x73CD, 124496 },
- { 0x73CE, 124506 },
- { 0x73CF, 124511 },
- { 0x73D0, 124501 },
- { 0x73D1, 124516 },
- { 0x73D2, 125378 },
- { 0x73D3, 125383 },
- { 0x73D4, 125373 },
- { 0x73D5, 125388 },
- { 0x73D6, 125368 },
- { 0x73D7, 125336 },
- { 0x73D8, 125331 },
- { 0x73D9, 125340 },
- { 0x73DA, 125344 },
- { 0x73DB, 125246 },
- { 0x73DC, 125398 },
- { 0x73DD, 125393 },
- { 0x73DE, 125409 },
- { 0x73DF, 125403 },
- { 0x73E0, 125082 },
- { 0x73E1, 125323 },
- { 0x73E2, 125327 },
- { 0x73E3, 125319 },
- { 0x73E4, 125243 },
- { 0x73E5, 125071 },
- { 0x73E6, 125075 },
- { 0x73E7, 125067 },
- { 0x73E8, 125418 },
- { 0x73E9, 125422 },
- { 0x73EA, 125414 },
- { 0x73EB, 125297 },
- { 0x73EC, 125301 },
- { 0x73ED, 125293 },
- { 0x73EE, 124556 },
- { 0x73EF, 124552 },
- { 0x73F0, 124560 },
- { 0x73F1, 124544 },
- { 0x73F2, 124540 },
- { 0x73F3, 124548 },
- { 0x73F4, 124537 },
- { 0x73F5, 124784 },
- { 0x73F6, 124789 },
- { 0x73F7, 124779 },
- { 0x73F8, 124794 },
- { 0x73F9, 124804 },
- { 0x73FA, 124809 },
- { 0x73FB, 124799 },
- { 0x73FC, 124814 },
- { 0x73FD, 124819 },
- { 0x73FE, 124825 },
- { 0x73FF, 124636 },
- { 0x7400, 124640 },
- { 0x7401, 124632 },
- { 0x7402, 124659 },
- { 0x7403, 124668 },
- { 0x7404, 124655 },
- { 0x7405, 124663 },
- { 0x7406, 124689 },
- { 0x7407, 124695 },
- { 0x7408, 124683 },
- { 0x7409, 124707 },
- { 0x740A, 124713 },
- { 0x740B, 124701 },
- { 0x740C, 124763 },
- { 0x740D, 124871 },
- { 0x740E, 124876 },
- { 0x740F, 124988 },
- { 0x7410, 124974 },
- { 0x7411, 125002 },
- { 0x7412, 124971 },
- { 0x7413, 124773 },
- { 0x7414, 124649 },
- { 0x7415, 124677 },
- { 0x7416, 124724 },
- { 0x7417, 124996 },
- { 0x7418, 124982 },
- { 0x7419, 125010 },
- { 0x741A, 124768 },
- { 0x741B, 124644 },
- { 0x741C, 124672 },
- { 0x741D, 124719 },
- { 0x741E, 124991 },
- { 0x741F, 124977 },
- { 0x7420, 125005 },
- { 0x7421, 124736 },
- { 0x7422, 124742 },
- { 0x7423, 124730 },
- { 0x7424, 125279 },
- { 0x7425, 125273 },
- { 0x7426, 125133 },
- { 0x7427, 125119 },
- { 0x7428, 125140 },
- { 0x7429, 125126 },
- { 0x742A, 125200 },
- { 0x742B, 125186 },
- { 0x742C, 125193 },
- { 0x742D, 125179 },
- { 0x742E, 125237 },
- { 0x742F, 125231 },
- { 0x7430, 125451 },
- { 0x7431, 125438 },
- { 0x7432, 125464 },
- { 0x7433, 125267 },
- { 0x7434, 125261 },
- { 0x7435, 125096 },
- { 0x7436, 125089 },
- { 0x7437, 125111 },
- { 0x7438, 125103 },
- { 0x7439, 125172 },
- { 0x743A, 125158 },
- { 0x743B, 125165 },
- { 0x743C, 125151 },
- { 0x743D, 125225 },
- { 0x743E, 125219 },
- { 0x743F, 125446 },
- { 0x7440, 125433 },
- { 0x7441, 125459 },
- { 0x7442, 125253 },
- { 0x7443, 125257 },
- { 0x7444, 125249 },
- { 0x7445, 125285 },
- { 0x7446, 125289 },
- { 0x7447, 125085 },
- { 0x7448, 125147 },
- { 0x7449, 125215 },
- { 0x744A, 125211 },
- { 0x744B, 125207 },
- { 0x744C, 125443 },
- { 0x744D, 125430 },
- { 0x744E, 125456 },
- { 0x744F, 125426 },
- { 0x7450, 124587 },
- { 0x7451, 124599 },
- { 0x7452, 124581 },
- { 0x7453, 124593 },
- { 0x7454, 125043 },
- { 0x7455, 125059 },
- { 0x7456, 125027 },
- { 0x7457, 125035 },
- { 0x7458, 125051 },
- { 0x7459, 125019 },
- { 0x745A, 124849 },
- { 0x745B, 124843 },
- { 0x745C, 125312 },
- { 0x745D, 125305 },
- { 0x745E, 124905 },
- { 0x745F, 124900 },
- { 0x7460, 125357 },
- { 0x7461, 125350 },
- { 0x7462, 122822 },
- { 0x7463, 122818 },
- { 0x7464, 122798 },
- { 0x7465, 122801 },
- { 0x7466, 122809 },
- { 0x7467, 122815 },
- { 0x7468, 122826 },
- { 0x7469, 122829 },
- { 0x746A, 122804 },
- { 0x746B, 122812 },
- { 0x746C, 122438 },
- { 0x746D, 122440 },
- { 0x746E, 122455 },
- { 0x746F, 122447 },
- { 0x7470, 122463 },
- { 0x7471, 122451 },
- { 0x7472, 122459 },
- { 0x7473, 122443 },
- { 0x7474, 122411 },
- { 0x7475, 122394 },
- { 0x7476, 122402 },
- { 0x7477, 122862 },
- { 0x7478, 122870 },
- { 0x7479, 122866 },
- { 0x747A, 122742 },
- { 0x747B, 122732 },
- { 0x747C, 122727 },
- { 0x747D, 122737 },
- { 0x747E, 122877 },
- { 0x747F, 122874 },
- { 0x7480, 122880 },
- { 0x7481, 122377 },
- { 0x7482, 122387 },
- { 0x7483, 122384 },
- { 0x7484, 122340 },
- { 0x7485, 122344 },
- { 0x7486, 122369 },
- { 0x7487, 122380 },
- { 0x7488, 122373 },
- { 0x7489, 122390 },
- { 0x748A, 122337 },
- { 0x748B, 123026 },
- { 0x748C, 123029 },
- { 0x748D, 123032 },
- { 0x748E, 124454 },
- { 0x748F, 124457 },
- { 0x7490, 124461 },
- { 0x7491, 124567 },
- { 0x7492, 124570 },
- { 0x7493, 124574 },
- { 0x7494, 124448 },
- { 0x7495, 124564 },
- { 0x7496, 124451 },
- { 0x7497, 122718 },
- { 0x7498, 122724 },
- { 0x7499, 122721 },
- { 0x749A, 122688 },
- { 0x749B, 122692 },
- { 0x749C, 122684 },
- { 0x749D, 122367 },
- { 0x749E, 122500 },
- { 0x749F, 122497 },
- { 0x74A0, 122506 },
- { 0x74A1, 122503 },
- { 0x74A2, 122329 },
- { 0x74A3, 122333 },
- { 0x74A4, 122319 },
- { 0x74A5, 122324 },
- { 0x74A6, 122715 },
- { 0x74A7, 122712 },
- { 0x74A8, 122642 },
- { 0x74A9, 122638 },
- { 0x74AA, 122634 },
- { 0x74AB, 122612 },
- { 0x74AC, 122619 },
- { 0x74AD, 122615 },
- { 0x74AE, 122601 },
- { 0x74AF, 122608 },
- { 0x74B0, 122604 },
- { 0x74B1, 122575 },
- { 0x74B2, 122579 },
- { 0x74B3, 122583 },
- { 0x74B4, 122561 },
- { 0x74B5, 122570 },
- { 0x74B6, 122565 },
- { 0x74B7, 122587 },
- { 0x74B8, 122596 },
- { 0x74B9, 122591 },
- { 0x74BA, 122550 },
- { 0x74BB, 122553 },
- { 0x74BC, 122557 },
- { 0x74BD, 122623 },
- { 0x74BE, 122630 },
- { 0x74BF, 122626 },
- { 0x74C0, 122491 },
- { 0x74C1, 122348 },
- { 0x74C2, 122353 },
- { 0x74C3, 122646 },
- { 0x74C4, 122653 },
- { 0x74C5, 122649 },
- { 0x74C6, 122793 },
- { 0x74C7, 122789 },
- { 0x74C8, 122758 },
- { 0x74C9, 122763 },
- { 0x74CA, 122784 },
- { 0x74CB, 122769 },
- { 0x74CC, 122779 },
- { 0x74CD, 122774 },
- { 0x74CE, 122657 },
- { 0x74CF, 122681 },
- { 0x74D0, 122668 },
- { 0x74D1, 122672 },
- { 0x74D2, 122659 },
- { 0x74D3, 122663 },
- { 0x74D4, 122677 },
- { 0x74D5, 124617 },
- { 0x74D6, 125079 },
- { 0x74D7, 122495 },
- { 0x74D8, 122436 },
- { 0x74D9, 124025 },
- { 0x74DA, 123013 },
- { 0x74DB, 123017 },
- { 0x74DC, 124020 },
- { 0x74DD, 124027 },
- { 0x74DE, 123021 },
- { 0x74DF, 124399 },
- { 0x74E0, 124395 },
- { 0x74E1, 124403 },
- { 0x74E2, 122705 },
- { 0x74E3, 122488 },
- { 0x74E4, 122467 },
- { 0x74E5, 122470 },
- { 0x74E6, 122473 },
- { 0x74E7, 122476 },
- { 0x74E8, 122479 },
- { 0x74E9, 122482 },
- { 0x74EA, 122485 },
- { 0x74EB, 122747 },
- { 0x74EC, 124578 },
- { 0x74ED, 125016 },
- { 0x74EE, 122965 },
- { 0x74EF, 122962 },
- { 0x74F0, 122952 },
- { 0x74F1, 122948 },
- { 0x74F2, 122959 },
- { 0x74F3, 122955 },
- { 0x74F4, 122520 },
- { 0x74F5, 122433 },
- { 0x74F6, 124018 },
- { 0x74F7, 122518 },
- { 0x74F8, 124340 },
- { 0x74F9, 122418 },
- { 0x74FA, 122421 },
- { 0x74FB, 122424 },
- { 0x74FC, 122427 },
- { 0x74FD, 122430 },
- { 0x74FE, 122968 },
- { 0x74FF, 122971 },
- { 0x7500, 122974 },
- { 0x7501, 122977 },
- { 0x7502, 122980 },
- { 0x7503, 122983 },
- { 0x7504, 122986 },
- { 0x7505, 122989 },
- { 0x7506, 122992 },
- { 0x7507, 122995 },
- { 0x7508, 122998 },
- { 0x7509, 123001 },
- { 0x750A, 123004 },
- { 0x750B, 123007 },
- { 0x750C, 123010 },
- { 0x750D, 30055 },
- { 0x750E, 30813 },
- { 0x750F, 31192 },
- { 0x7510, 30767 },
- { 0x7511, 31057 },
- { 0x7512, 30091 },
- { 0x7513, 30560 },
- { 0x7514, 30779 },
- { 0x7515, 30499 },
- { 0x7516, 28966 },
- { 0x7517, 31308 },
- { 0x7518, 29901 },
- { 0x7519, 29908 },
- { 0x751A, 30538 },
- { 0x751B, 31278 },
- { 0x751C, 31319 },
- { 0x751D, 31198 },
- { 0x751E, 28021 },
- { 0x751F, 30034 },
- { 0x7520, 27925 },
- { 0x7521, 29878 },
- { 0x7522, 30525 },
- { 0x7523, 28762 },
- { 0x7524, 30175 },
- { 0x7525, 29957 },
- { 0x7526, 30042 },
- { 0x7527, 27738 },
- { 0x7528, 28497 },
- { 0x7529, 30183 },
- { 0x752A, 27138 },
- { 0x752B, 28831 },
- { 0x752C, 27255 },
- { 0x752D, 28058 },
- { 0x752E, 28233 },
- { 0x752F, 28778 },
- { 0x7530, 28928 },
- { 0x7531, 29048 },
- { 0x7532, 105839 },
- { 0x7533, 105864 },
- { 0x7534, 105888 },
- { 0x7535, 105953 },
- { 0x7536, 105904 },
- { 0x7537, 105929 },
- { 0x7538, 105982 },
- { 0x7539, 105949 },
- { 0x753A, 105876 },
- { 0x753B, 105957 },
- { 0x753C, 105827 },
- { 0x753D, 105937 },
- { 0x753E, 105880 },
- { 0x753F, 105974 },
- { 0x7540, 105978 },
- { 0x7541, 105912 },
- { 0x7542, 105848 },
- { 0x7543, 105941 },
- { 0x7544, 105916 },
- { 0x7545, 105920 },
- { 0x7546, 105945 },
- { 0x7547, 105860 },
- { 0x7548, 105908 },
- { 0x7549, 105872 },
- { 0x754A, 105884 },
- { 0x754B, 105856 },
- { 0x754C, 105933 },
- { 0x754D, 105852 },
- { 0x754E, 105900 },
- { 0x754F, 105896 },
- { 0x7550, 105892 },
- { 0x7551, 105835 },
- { 0x7552, 105924 },
- { 0x7553, 105831 },
- { 0x7554, 105968 },
- { 0x7555, 105843 },
- { 0x7556, 105962 },
- { 0x7557, 105868 },
- { 0x7558, 96932 },
- { 0x7559, 96957 },
- { 0x755A, 97029 },
- { 0x755B, 97049 },
- { 0x755C, 96962 },
- { 0x755D, 97004 },
- { 0x755E, 97064 },
- { 0x755F, 97039 },
- { 0x7560, 96942 },
- { 0x7561, 97014 },
- { 0x7562, 96972 },
- { 0x7563, 96977 },
- { 0x7564, 96947 },
- { 0x7565, 97019 },
- { 0x7566, 96982 },
- { 0x7567, 96987 },
- { 0x7568, 97024 },
- { 0x7569, 96952 },
- { 0x756A, 96967 },
- { 0x756B, 96999 },
- { 0x756C, 97059 },
- { 0x756D, 97044 },
- { 0x756E, 97054 },
- { 0x756F, 97074 },
- { 0x7570, 96937 },
- { 0x7571, 97034 },
- { 0x7572, 97069 },
- { 0x7573, 97087 },
- { 0x7574, 97117 },
- { 0x7575, 97009 },
- { 0x7576, 97092 },
- { 0x7577, 97103 },
- { 0x7578, 97098 },
- { 0x7579, 85960 },
- { 0x757A, 85980 },
- { 0x757B, 86025 },
- { 0x757C, 86045 },
- { 0x757D, 85985 },
- { 0x757E, 86010 },
- { 0x757F, 86067 },
- { 0x7580, 86030 },
- { 0x7581, 85965 },
- { 0x7582, 86015 },
- { 0x7583, 85995 },
- { 0x7584, 85970 },
- { 0x7585, 86020 },
- { 0x7586, 86000 },
- { 0x7587, 85975 },
- { 0x7588, 85990 },
- { 0x7589, 86005 },
- { 0x758A, 86062 },
- { 0x758B, 86035 },
- { 0x758C, 86057 },
- { 0x758D, 86077 },
- { 0x758E, 86083 },
- { 0x758F, 86050 },
- { 0x7590, 86088 },
- { 0x7591, 86040 },
- { 0x7592, 86072 },
- { 0x7593, 96992 },
- { 0x7594, 97079 },
- { 0x7595, 97109 },
- { 0x7596, 105392 },
- { 0x7597, 97827 },
- { 0x7598, 97947 },
- { 0x7599, 97927 },
- { 0x759A, 97862 },
- { 0x759B, 97812 },
- { 0x759C, 97832 },
- { 0x759D, 97872 },
- { 0x759E, 97907 },
- { 0x759F, 97787 },
- { 0x75A0, 97822 },
- { 0x75A1, 97857 },
- { 0x75A2, 97882 },
- { 0x75A3, 97902 },
- { 0x75A4, 97967 },
- { 0x75A5, 97817 },
- { 0x75A6, 97792 },
- { 0x75A7, 97932 },
- { 0x75A8, 97922 },
- { 0x75A9, 97867 },
- { 0x75AA, 97972 },
- { 0x75AB, 97952 },
- { 0x75AC, 97802 },
- { 0x75AD, 97852 },
- { 0x75AE, 97847 },
- { 0x75AF, 97877 },
- { 0x75B0, 97917 },
- { 0x75B1, 97842 },
- { 0x75B2, 97957 },
- { 0x75B3, 97912 },
- { 0x75B4, 97887 },
- { 0x75B5, 97962 },
- { 0x75B6, 97892 },
- { 0x75B7, 97897 },
- { 0x75B8, 97937 },
- { 0x75B9, 97807 },
- { 0x75BA, 97942 },
- { 0x75BB, 97752 },
- { 0x75BC, 97782 },
- { 0x75BD, 97762 },
- { 0x75BE, 97772 },
- { 0x75BF, 97767 },
- { 0x75C0, 97837 },
- { 0x75C1, 97757 },
- { 0x75C2, 97797 },
- { 0x75C3, 97777 },
- { 0x75C4, 97977 },
- { 0x75C5, 97993 },
- { 0x75C6, 97989 },
- { 0x75C7, 98001 },
- { 0x75C8, 97997 },
- { 0x75C9, 97985 },
- { 0x75CA, 97981 },
- { 0x75CB, 97684 },
- { 0x75CC, 97672 },
- { 0x75CD, 97690 },
- { 0x75CE, 97678 },
- { 0x75CF, 97696 },
- { 0x75D0, 97666 },
- { 0x75D1, 98015 },
- { 0x75D2, 97732 },
- { 0x75D3, 97702 },
- { 0x75D4, 97712 },
- { 0x75D5, 97747 },
- { 0x75D6, 97722 },
- { 0x75D7, 97717 },
- { 0x75D8, 97707 },
- { 0x75D9, 97742 },
- { 0x75DA, 97737 },
- { 0x75DB, 97727 },
- { 0x75DC, 98010 },
- { 0x75DD, 98005 },
- { 0x75DE, 16765 },
- { 0x75DF, 16732 },
- { 0x75E0, 16774 },
- { 0x75E1, 16735 },
- { 0x75E2, 16753 },
- { 0x75E3, 16741 },
- { 0x75E4, 16759 },
- { 0x75E5, 16762 },
- { 0x75E6, 16786 },
- { 0x75E7, 16771 },
- { 0x75E8, 16783 },
- { 0x75E9, 16780 },
- { 0x75EA, 16777 },
- { 0x75EB, 16750 },
- { 0x75EC, 16744 },
- { 0x75ED, 16768 },
- { 0x75EE, 16756 },
- { 0x75EF, 16720 },
- { 0x75F0, 16793 },
- { 0x75F1, 16747 },
- { 0x75F2, 16805 },
- { 0x75F3, 16726 },
- { 0x75F4, 16717 },
- { 0x75F5, 16789 },
- { 0x75F6, 16738 },
- { 0x75F7, 16801 },
- { 0x75F8, 16723 },
- { 0x75F9, 16729 },
- { 0x75FA, 16797 },
- { 0x75FB, 16714 },
- { 0x75FC, 16710 },
- { 0x75FD, 65810 },
- { 0x75FE, 65795 },
- { 0x75FF, 65816 },
- { 0x7600, 65819 },
- { 0x7601, 65822 },
- { 0x7602, 65831 },
- { 0x7603, 65873 },
- { 0x7604, 65900 },
- { 0x7605, 65843 },
- { 0x7606, 65849 },
- { 0x7607, 65855 },
- { 0x7608, 65864 },
- { 0x7609, 65906 },
- { 0x760A, 65828 },
- { 0x760B, 65861 },
- { 0x760C, 65903 },
- { 0x760D, 65837 },
- { 0x760E, 65876 },
- { 0x760F, 65870 },
- { 0x7610, 65867 },
- { 0x7611, 65840 },
- { 0x7612, 65804 },
- { 0x7613, 65813 },
- { 0x7614, 65858 },
- { 0x7615, 65846 },
- { 0x7616, 65888 },
- { 0x7617, 65834 },
- { 0x7618, 65798 },
- { 0x7619, 65801 },
- { 0x761A, 65891 },
- { 0x761B, 65807 },
- { 0x761C, 65924 },
- { 0x761D, 65912 },
- { 0x761E, 65909 },
- { 0x761F, 65897 },
- { 0x7620, 65921 },
- { 0x7621, 65882 },
- { 0x7622, 65885 },
- { 0x7623, 65852 },
- { 0x7624, 65825 },
- { 0x7625, 65879 },
- { 0x7626, 65894 },
- { 0x7627, 65915 },
- { 0x7628, 65918 },
- { 0x7629, 65756 },
- { 0x762A, 65762 },
- { 0x762B, 65753 },
- { 0x762C, 65759 },
- { 0x762D, 65783 },
- { 0x762E, 65765 },
- { 0x762F, 65771 },
- { 0x7630, 65792 },
- { 0x7631, 65777 },
- { 0x7632, 65774 },
- { 0x7633, 65768 },
- { 0x7634, 65789 },
- { 0x7635, 65786 },
- { 0x7636, 65780 },
- { 0x7637, 65750 },
- { 0x7638, 6746 },
- { 0x7639, 6794 },
- { 0x763A, 6790 },
- { 0x763B, 6798 },
- { 0x763C, 6838 },
- { 0x763D, 6734 },
- { 0x763E, 6762 },
- { 0x763F, 6754 },
- { 0x7640, 6818 },
- { 0x7641, 6758 },
- { 0x7642, 6742 },
- { 0x7643, 6782 },
- { 0x7644, 6834 },
- { 0x7645, 6786 },
- { 0x7646, 6778 },
- { 0x7647, 6750 },
- { 0x7648, 6802 },
- { 0x7649, 6806 },
- { 0x764A, 6810 },
- { 0x764B, 6814 },
- { 0x764C, 6738 },
- { 0x764D, 6826 },
- { 0x764E, 6766 },
- { 0x764F, 6770 },
- { 0x7650, 6774 },
- { 0x7651, 6830 },
- { 0x7652, 6822 },
- { 0x7653, 6678 },
- { 0x7654, 6682 },
- { 0x7655, 6690 },
- { 0x7656, 6674 },
- { 0x7657, 6686 },
- { 0x7658, 6718 },
- { 0x7659, 6694 },
- { 0x765A, 6702 },
- { 0x765B, 6730 },
- { 0x765C, 6710 },
- { 0x765D, 6706 },
- { 0x765E, 6698 },
- { 0x765F, 6726 },
- { 0x7660, 6722 },
- { 0x7661, 6714 },
- { 0x7662, 91358 },
- { 0x7663, 91370 },
- { 0x7664, 91364 },
- { 0x7665, 91589 },
- { 0x7666, 91592 },
- { 0x7667, 91361 },
- { 0x7668, 91367 },
- { 0x7669, 91671 },
- { 0x766A, 91355 },
- { 0x766B, 91586 },
- { 0x766C, 91352 },
- { 0x766D, 91643 },
- { 0x766E, 91679 },
- { 0x766F, 91655 },
- { 0x7670, 91687 },
- { 0x7671, 91651 },
- { 0x7672, 91619 },
- { 0x7673, 91659 },
- { 0x7674, 91639 },
- { 0x7675, 91675 },
- { 0x7676, 91635 },
- { 0x7677, 91631 },
- { 0x7678, 91667 },
- { 0x7679, 91627 },
- { 0x767A, 91623 },
- { 0x767B, 91663 },
- { 0x767C, 91647 },
- { 0x767D, 91683 },
- { 0x767E, 35011 },
- { 0x767F, 35016 },
- { 0x7680, 35021 },
- { 0x7681, 35331 },
- { 0x7682, 35482 },
- { 0x7683, 35386 },
- { 0x7684, 35246 },
- { 0x7685, 35908 },
- { 0x7686, 35026 },
- { 0x7687, 35031 },
- { 0x7688, 35036 },
- { 0x7689, 35640 },
- { 0x768A, 35600 },
- { 0x768B, 35580 },
- { 0x768C, 35231 },
- { 0x768D, 35984 },
- { 0x768E, 35726 },
- { 0x768F, 35311 },
- { 0x7690, 35251 },
- { 0x7691, 35705 },
- { 0x7692, 35041 },
- { 0x7693, 35046 },
- { 0x7694, 35051 },
- { 0x7695, 35301 },
- { 0x7696, 35477 },
- { 0x7697, 35781 },
- { 0x7698, 35959 },
- { 0x7699, 35056 },
- { 0x769A, 35061 },
- { 0x769B, 35066 },
- { 0x769C, 35761 },
- { 0x769D, 35492 },
- { 0x769E, 35522 },
- { 0x769F, 35700 },
- { 0x76A0, 35071 },
- { 0x76A1, 35076 },
- { 0x76A2, 35081 },
- { 0x76A3, 35827 },
- { 0x76A4, 35507 },
- { 0x76A5, 35837 },
- { 0x76A6, 35746 },
- { 0x76A7, 35695 },
- { 0x76A8, 35665 },
- { 0x76A9, 35685 },
- { 0x76AA, 35989 },
- { 0x76AB, 35903 },
- { 0x76AC, 35101 },
- { 0x76AD, 35106 },
- { 0x76AE, 35111 },
- { 0x76AF, 35822 },
- { 0x76B0, 35590 },
- { 0x76B1, 35690 },
- { 0x76B2, 35401 },
- { 0x76B3, 35994 },
- { 0x76B4, 35131 },
- { 0x76B5, 35136 },
- { 0x76B6, 35141 },
- { 0x76B7, 35426 },
- { 0x76B8, 35371 },
- { 0x76B9, 35276 },
- { 0x76BA, 35776 },
- { 0x76BB, 35559 },
- { 0x76BC, 35086 },
- { 0x76BD, 35091 },
- { 0x76BE, 35096 },
- { 0x76BF, 35452 },
- { 0x76C0, 35913 },
- { 0x76C1, 35918 },
- { 0x76C2, 35116 },
- { 0x76C3, 35121 },
- { 0x76C4, 35126 },
- { 0x76C5, 35462 },
- { 0x76C6, 35281 },
- { 0x76C7, 35527 },
- { 0x76C8, 35351 },
- { 0x76C9, 35146 },
- { 0x76CA, 35151 },
- { 0x76CB, 35156 },
- { 0x76CC, 35796 },
- { 0x76CD, 35575 },
- { 0x76CE, 35811 },
- { 0x76CF, 35321 },
- { 0x76D0, 35887 },
- { 0x76D1, 35161 },
- { 0x76D2, 35166 },
- { 0x76D3, 35171 },
- { 0x76D4, 35554 },
- { 0x76D5, 35406 },
- { 0x76D6, 35715 },
- { 0x76D7, 35615 },
- { 0x76D8, 35176 },
- { 0x76D9, 35181 },
- { 0x76DA, 35186 },
- { 0x76DB, 35396 },
- { 0x76DC, 35381 },
- { 0x76DD, 35675 },
- { 0x76DE, 35447 },
- { 0x76DF, 35999 },
- { 0x76E0, 35512 },
- { 0x76E1, 35191 },
- { 0x76E2, 35196 },
- { 0x76E3, 35201 },
- { 0x76E4, 35595 },
- { 0x76E5, 35857 },
- { 0x76E6, 35893 },
- { 0x76E7, 35211 },
- { 0x76E8, 35944 },
- { 0x76E9, 35206 },
- { 0x76EA, 35487 },
- { 0x76EB, 35216 },
- { 0x76EC, 35710 },
- { 0x76ED, 35421 },
- { 0x76EE, 35650 },
- { 0x76EF, 35271 },
- { 0x76F0, 35660 },
- { 0x76F1, 35442 },
- { 0x76F2, 35266 },
- { 0x76F3, 35979 },
- { 0x76F4, 35236 },
- { 0x76F5, 35457 },
- { 0x76F6, 35221 },
- { 0x76F7, 35416 },
- { 0x76F8, 35585 },
- { 0x76F9, 35741 },
- { 0x76FA, 35791 },
- { 0x76FB, 35610 },
- { 0x76FC, 35806 },
- { 0x76FD, 35645 },
- { 0x76FE, 35436 },
- { 0x76FF, 35538 },
- { 0x7700, 35928 },
- { 0x7701, 35786 },
- { 0x7702, 35565 },
- { 0x7703, 35852 },
- { 0x7704, 35964 },
- { 0x7705, 35842 },
- { 0x7706, 35847 },
- { 0x7707, 35934 },
- { 0x7708, 35291 },
- { 0x7709, 35898 },
- { 0x770A, 35346 },
- { 0x770B, 35502 },
- { 0x770C, 35256 },
- { 0x770D, 35411 },
- { 0x770E, 35261 },
- { 0x770F, 35517 },
- { 0x7710, 35336 },
- { 0x7711, 35736 },
- { 0x7712, 35316 },
- { 0x7713, 35620 },
- { 0x7714, 35241 },
- { 0x7715, 35954 },
- { 0x7716, 35366 },
- { 0x7717, 35872 },
- { 0x7718, 35882 },
- { 0x7719, 35949 },
- { 0x771A, 35816 },
- { 0x771B, 35532 },
- { 0x771C, 35720 },
- { 0x771D, 35670 },
- { 0x771E, 35467 },
- { 0x771F, 35376 },
- { 0x7720, 35226 },
- { 0x7721, 35549 },
- { 0x7722, 35570 },
- { 0x7723, 35801 },
- { 0x7724, 35630 },
- { 0x7725, 35286 },
- { 0x7726, 35751 },
- { 0x7727, 35472 },
- { 0x7728, 35544 },
- { 0x7729, 35361 },
- { 0x772A, 35356 },
- { 0x772B, 35867 },
- { 0x772C, 35625 },
- { 0x772D, 35655 },
- { 0x772E, 35635 },
- { 0x772F, 35969 },
- { 0x7730, 35605 },
- { 0x7731, 35341 },
- { 0x7732, 35326 },
- { 0x7733, 35771 },
- { 0x7734, 35974 },
- { 0x7735, 35756 },
- { 0x7736, 35680 },
- { 0x7737, 35923 },
- { 0x7738, 35939 },
- { 0x7739, 35766 },
- { 0x773A, 35877 },
- { 0x773B, 35431 },
- { 0x773C, 35731 },
- { 0x773D, 35391 },
- { 0x773E, 35832 },
- { 0x773F, 35296 },
- { 0x7740, 35862 },
- { 0x7741, 35497 },
- { 0x7742, 35306 },
- { 0x7743, 34975 },
- { 0x7744, 34983 },
- { 0x7745, 35007 },
- { 0x7746, 34991 },
- { 0x7747, 34987 },
- { 0x7748, 34979 },
- { 0x7749, 35003 },
- { 0x774A, 34999 },
- { 0x774B, 34995 },
- { 0x774C, 36015 },
- { 0x774D, 36010 },
- { 0x774E, 36026 },
- { 0x774F, 36036 },
- { 0x7750, 36004 },
- { 0x7751, 36020 },
- { 0x7752, 36031 },
- { 0x7753, 17218 },
- { 0x7754, 17238 },
- { 0x7755, 17226 },
- { 0x7756, 17230 },
- { 0x7757, 17126 },
- { 0x7758, 17242 },
- { 0x7759, 17142 },
- { 0x775A, 17162 },
- { 0x775B, 17146 },
- { 0x775C, 17110 },
- { 0x775D, 17130 },
- { 0x775E, 17114 },
- { 0x775F, 17118 },
- { 0x7760, 17170 },
- { 0x7761, 17210 },
- { 0x7762, 17206 },
- { 0x7763, 17194 },
- { 0x7764, 17178 },
- { 0x7765, 17158 },
- { 0x7766, 17122 },
- { 0x7767, 17222 },
- { 0x7768, 17166 },
- { 0x7769, 17138 },
- { 0x776A, 17234 },
- { 0x776B, 17134 },
- { 0x776C, 17198 },
- { 0x776D, 17150 },
- { 0x776E, 17190 },
- { 0x776F, 17154 },
- { 0x7770, 17182 },
- { 0x7771, 17174 },
- { 0x7772, 17214 },
- { 0x7773, 17186 },
- { 0x7774, 17202 },
- { 0x7775, 17079 },
- { 0x7776, 17099 },
- { 0x7777, 17087 },
- { 0x7778, 17091 },
- { 0x7779, 16987 },
- { 0x777A, 17103 },
- { 0x777B, 17003 },
- { 0x777C, 17023 },
- { 0x777D, 17007 },
- { 0x777E, 16971 },
- { 0x777F, 16991 },
- { 0x7780, 16975 },
- { 0x7781, 16979 },
- { 0x7782, 17031 },
- { 0x7783, 17071 },
- { 0x7784, 17067 },
- { 0x7785, 17055 },
- { 0x7786, 17039 },
- { 0x7787, 17019 },
- { 0x7788, 16983 },
- { 0x7789, 17083 },
- { 0x778A, 17027 },
- { 0x778B, 16999 },
- { 0x778C, 17095 },
- { 0x778D, 16995 },
- { 0x778E, 17059 },
- { 0x778F, 17011 },
- { 0x7790, 17051 },
- { 0x7791, 17015 },
- { 0x7792, 17043 },
- { 0x7793, 17035 },
- { 0x7794, 17075 },
- { 0x7795, 17047 },
- { 0x7796, 17063 },
- { 0x7797, 16934 },
- { 0x7798, 17107 },
- { 0x7799, 17261 },
- { 0x779A, 16967 },
- { 0x779B, 17258 },
- { 0x779C, 17254 },
- { 0x779D, 16969 },
- { 0x779E, 17264 },
- { 0x779F, 16955 },
- { 0x77A0, 16937 },
- { 0x77A1, 16943 },
- { 0x77A2, 16964 },
- { 0x77A3, 16949 },
- { 0x77A4, 16946 },
- { 0x77A5, 16940 },
- { 0x77A6, 16961 },
- { 0x77A7, 16958 },
- { 0x77A8, 16952 },
- { 0x77A9, 17250 },
- { 0x77AA, 17246 },
- { 0x77AB, 25607 },
- { 0x77AC, 25644 },
- { 0x77AD, 25763 },
- { 0x77AE, 25672 },
- { 0x77AF, 25658 },
- { 0x77B0, 25621 },
- { 0x77B1, 25740 },
- { 0x77B2, 25704 },
- { 0x77B3, 25690 },
- { 0x77B4, 25635 },
- { 0x77B5, 25808 },
- { 0x77B6, 25799 },
- { 0x77B7, 25727 },
- { 0x77B8, 25718 },
- { 0x77B9, 25754 },
- { 0x77BA, 25821 },
- { 0x77BB, 25777 },
- { 0x77BC, 25790 },
- { 0x77BD, 25611 },
- { 0x77BE, 25648 },
- { 0x77BF, 25767 },
- { 0x77C0, 25676 },
- { 0x77C1, 25662 },
- { 0x77C2, 25625 },
- { 0x77C3, 25744 },
- { 0x77C4, 25708 },
- { 0x77C5, 25694 },
- { 0x77C6, 25616 },
- { 0x77C7, 25653 },
- { 0x77C8, 25772 },
- { 0x77C9, 25681 },
- { 0x77CA, 25667 },
- { 0x77CB, 25630 },
- { 0x77CC, 25749 },
- { 0x77CD, 25713 },
- { 0x77CE, 25699 },
- { 0x77CF, 25639 },
- { 0x77D0, 25812 },
- { 0x77D1, 25803 },
- { 0x77D2, 25731 },
- { 0x77D3, 25722 },
- { 0x77D4, 25758 },
- { 0x77D5, 25825 },
- { 0x77D6, 25781 },
- { 0x77D7, 25794 },
- { 0x77D8, 25686 },
- { 0x77D9, 25786 },
- { 0x77DA, 25599 },
- { 0x77DB, 25736 },
- { 0x77DC, 25817 },
- { 0x77DD, 25830 },
- { 0x77DE, 25840 },
- { 0x77DF, 25870 },
- { 0x77E0, 25850 },
- { 0x77E1, 25845 },
- { 0x77E2, 25835 },
- { 0x77E3, 25865 },
- { 0x77E4, 25860 },
- { 0x77E5, 25855 },
- { 0x77E6, 25911 },
- { 0x77E7, 25896 },
- { 0x77E8, 25891 },
- { 0x77E9, 25901 },
- { 0x77EA, 25603 },
- { 0x77EB, 25875 },
- { 0x77EC, 25886 },
- { 0x77ED, 25880 },
- { 0x77EE, 25906 },
- { 0x77EF, 74358 },
- { 0x77F0, 74395 },
- { 0x77F1, 74506 },
- { 0x77F2, 74423 },
- { 0x77F3, 74409 },
- { 0x77F4, 74372 },
- { 0x77F5, 74483 },
- { 0x77F6, 74451 },
- { 0x77F7, 74437 },
- { 0x77F8, 74386 },
- { 0x77F9, 74547 },
- { 0x77FA, 74538 },
- { 0x77FB, 74474 },
- { 0x77FC, 74465 },
- { 0x77FD, 74497 },
- { 0x77FE, 74556 },
- { 0x77FF, 74520 },
- { 0x7800, 74529 },
- { 0x7801, 74362 },
- { 0x7802, 74399 },
- { 0x7803, 74510 },
- { 0x7804, 74427 },
- { 0x7805, 74413 },
- { 0x7806, 74376 },
- { 0x7807, 74487 },
- { 0x7808, 74455 },
- { 0x7809, 74441 },
- { 0x780A, 74367 },
- { 0x780B, 74404 },
- { 0x780C, 74515 },
- { 0x780D, 74432 },
- { 0x780E, 74418 },
- { 0x780F, 74381 },
- { 0x7810, 74492 },
- { 0x7811, 74460 },
- { 0x7812, 74446 },
- { 0x7813, 74390 },
- { 0x7814, 74551 },
- { 0x7815, 74542 },
- { 0x7816, 74478 },
- { 0x7817, 74469 },
- { 0x7818, 74501 },
- { 0x7819, 74560 },
- { 0x781A, 74524 },
- { 0x781B, 74533 },
- { 0x781C, 74575 },
- { 0x781D, 74600 },
- { 0x781E, 74642 },
- { 0x781F, 74616 },
- { 0x7820, 74611 },
- { 0x7821, 74578 },
- { 0x7822, 74637 },
- { 0x7823, 74632 },
- { 0x7824, 74627 },
- { 0x7825, 74589 },
- { 0x7826, 74621 },
- { 0x7827, 74583 },
- { 0x7828, 74605 },
- { 0x7829, 74594 },
- { 0x782A, 74565 },
- { 0x782B, 74570 },
- { 0x782C, 49064 },
- { 0x782D, 49019 },
- { 0x782E, 49067 },
- { 0x782F, 49025 },
- { 0x7830, 49055 },
- { 0x7831, 49088 },
- { 0x7832, 49031 },
- { 0x7833, 49049 },
- { 0x7834, 49058 },
- { 0x7835, 49034 },
- { 0x7836, 49037 },
- { 0x7837, 49073 },
- { 0x7838, 49076 },
- { 0x7839, 49079 },
- { 0x783A, 49016 },
- { 0x783B, 49028 },
- { 0x783C, 49046 },
- { 0x783D, 49040 },
- { 0x783E, 49043 },
- { 0x783F, 49094 },
- { 0x7840, 49052 },
- { 0x7841, 49085 },
- { 0x7842, 49070 },
- { 0x7843, 49082 },
- { 0x7844, 49022 },
- { 0x7845, 49061 },
- { 0x7846, 49091 },
- { 0x7847, 49267 },
- { 0x7848, 49279 },
- { 0x7849, 49271 },
- { 0x784A, 49275 },
- { 0x784B, 49287 },
- { 0x784C, 49331 },
- { 0x784D, 49303 },
- { 0x784E, 49299 },
- { 0x784F, 49327 },
- { 0x7850, 49307 },
- { 0x7851, 49311 },
- { 0x7852, 49339 },
- { 0x7853, 49343 },
- { 0x7854, 49347 },
- { 0x7855, 49283 },
- { 0x7856, 49295 },
- { 0x7857, 49319 },
- { 0x7858, 49315 },
- { 0x7859, 49359 },
- { 0x785A, 49323 },
- { 0x785B, 49351 },
- { 0x785C, 49335 },
- { 0x785D, 49291 },
- { 0x785E, 49355 },
- { 0x785F, 49233 },
- { 0x7860, 49213 },
- { 0x7861, 49229 },
- { 0x7862, 49217 },
- { 0x7863, 49241 },
- { 0x7864, 49245 },
- { 0x7865, 49205 },
- { 0x7866, 49225 },
- { 0x7867, 49221 },
- { 0x7868, 49253 },
- { 0x7869, 49237 },
- { 0x786A, 49209 },
- { 0x786B, 49249 },
- { 0x786C, 49262 },
- { 0x786D, 49257 },
- { 0x786E, 49381 },
- { 0x786F, 49429 },
- { 0x7870, 49397 },
- { 0x7871, 49393 },
- { 0x7872, 49413 },
- { 0x7873, 49421 },
- { 0x7874, 49401 },
- { 0x7875, 49437 },
- { 0x7876, 49441 },
- { 0x7877, 49445 },
- { 0x7878, 49377 },
- { 0x7879, 49389 },
- { 0x787A, 49409 },
- { 0x787B, 49405 },
- { 0x787C, 49457 },
- { 0x787D, 49417 },
- { 0x787E, 49449 },
- { 0x787F, 49433 },
- { 0x7880, 49385 },
- { 0x7881, 49425 },
- { 0x7882, 49453 },
- { 0x7883, 49461 },
- { 0x7884, 49466 },
- { 0x7885, 49161 },
- { 0x7886, 49101 },
- { 0x7887, 49165 },
- { 0x7888, 49109 },
- { 0x7889, 49121 },
- { 0x788A, 49149 },
- { 0x788B, 49193 },
- { 0x788C, 49117 },
- { 0x788D, 49141 },
- { 0x788E, 49153 },
- { 0x788F, 49125 },
- { 0x7890, 49173 },
- { 0x7891, 49177 },
- { 0x7892, 49181 },
- { 0x7893, 49097 },
- { 0x7894, 49113 },
- { 0x7895, 49137 },
- { 0x7896, 49129 },
- { 0x7897, 49133 },
- { 0x7898, 49201 },
- { 0x7899, 49145 },
- { 0x789A, 49189 },
- { 0x789B, 49169 },
- { 0x789C, 49185 },
- { 0x789D, 49105 },
- { 0x789E, 49157 },
- { 0x789F, 49197 },
- { 0x78A0, 49475 },
- { 0x78A1, 49531 },
- { 0x78A2, 49483 },
- { 0x78A3, 49519 },
- { 0x78A4, 49559 },
- { 0x78A5, 49491 },
- { 0x78A6, 49511 },
- { 0x78A7, 49523 },
- { 0x78A8, 49495 },
- { 0x78A9, 49539 },
- { 0x78AA, 49543 },
- { 0x78AB, 49547 },
- { 0x78AC, 49471 },
- { 0x78AD, 49487 },
- { 0x78AE, 49507 },
- { 0x78AF, 49499 },
- { 0x78B0, 49503 },
- { 0x78B1, 49567 },
- { 0x78B2, 49515 },
- { 0x78B3, 49555 },
- { 0x78B4, 49535 },
- { 0x78B5, 49551 },
- { 0x78B6, 49479 },
- { 0x78B7, 49527 },
- { 0x78B8, 49563 },
- { 0x78B9, 49369 },
- { 0x78BA, 49363 },
- { 0x78BB, 71014 },
- { 0x78BC, 71111 },
- { 0x78BD, 71066 },
- { 0x78BE, 71092 },
- { 0x78BF, 70977 },
- { 0x78C0, 71085 },
- { 0x78C1, 71130 },
- { 0x78C2, 70972 },
- { 0x78C3, 71006 },
- { 0x78C4, 71125 },
- { 0x78C5, 71043 },
- { 0x78C6, 71028 },
- { 0x78C7, 70991 },
- { 0x78C8, 71106 },
- { 0x78C9, 71080 },
- { 0x78CA, 71058 },
- { 0x78CB, 70962 },
- { 0x78CC, 70996 },
- { 0x78CD, 71115 },
- { 0x78CE, 71033 },
- { 0x78CF, 71018 },
- { 0x78D0, 70981 },
- { 0x78D1, 71096 },
- { 0x78D2, 71070 },
- { 0x78D3, 71048 },
- { 0x78D4, 70967 },
- { 0x78D5, 71001 },
- { 0x78D6, 71120 },
- { 0x78D7, 71038 },
- { 0x78D8, 71023 },
- { 0x78D9, 70986 },
- { 0x78DA, 71101 },
- { 0x78DB, 71075 },
- { 0x78DC, 71053 },
- { 0x78DD, 71063 },
- { 0x78DE, 71140 },
- { 0x78DF, 71137 },
- { 0x78E0, 71152 },
- { 0x78E1, 71143 },
- { 0x78E2, 71146 },
- { 0x78E3, 71134 },
- { 0x78E4, 71149 },
- { 0x78E5, 71089 },
- { 0x78E6, 71011 },
- { 0x78E7, 51509 },
- { 0x78E8, 51660 },
- { 0x78E9, 51663 },
- { 0x78EA, 51666 },
- { 0x78EB, 51669 },
- { 0x78EC, 51672 },
- { 0x78ED, 51675 },
- { 0x78EE, 51678 },
- { 0x78EF, 51681 },
- { 0x78F0, 51684 },
- { 0x78F1, 51687 },
- { 0x78F2, 51690 },
- { 0x78F3, 51693 },
- { 0x78F4, 51696 },
- { 0x78F5, 51699 },
- { 0x78F6, 51702 },
- { 0x78F7, 51705 },
- { 0x78F8, 51708 },
- { 0x78F9, 51711 },
- { 0x78FA, 51714 },
- { 0x78FB, 51717 },
- { 0x78FC, 51720 },
- { 0x78FD, 51723 },
- { 0x78FE, 51726 },
- { 0x78FF, 51729 },
- { 0x7900, 51732 },
- { 0x7901, 51735 },
- { 0x7902, 51738 },
- { 0x7903, 51741 },
- { 0x7904, 51744 },
- { 0x7905, 51747 },
- { 0x7906, 51750 },
- { 0x7907, 51753 },
- { 0x7908, 51756 },
- { 0x7909, 51759 },
- { 0x790A, 51762 },
- { 0x790B, 51765 },
- { 0x790C, 51768 },
- { 0x790D, 51771 },
- { 0x790E, 51774 },
- { 0x790F, 51777 },
- { 0x7910, 51780 },
- { 0x7911, 51783 },
- { 0x7912, 51786 },
- { 0x7913, 51789 },
- { 0x7914, 51792 },
- { 0x7915, 51795 },
- { 0x7916, 51798 },
- { 0x7917, 51801 },
- { 0x7918, 51804 },
- { 0x7919, 51505 },
- { 0x791A, 51513 },
- { 0x791B, 51516 },
- { 0x791C, 51519 },
- { 0x791D, 51522 },
- { 0x791E, 51525 },
- { 0x791F, 51528 },
- { 0x7920, 51531 },
- { 0x7921, 51534 },
- { 0x7922, 51537 },
- { 0x7923, 51540 },
- { 0x7924, 51543 },
- { 0x7925, 51546 },
- { 0x7926, 51549 },
- { 0x7927, 51552 },
- { 0x7928, 51555 },
- { 0x7929, 51558 },
- { 0x792A, 51561 },
- { 0x792B, 51564 },
- { 0x792C, 51567 },
- { 0x792D, 51570 },
- { 0x792E, 51573 },
- { 0x792F, 51576 },
- { 0x7930, 51579 },
- { 0x7931, 51582 },
- { 0x7932, 51585 },
- { 0x7933, 51588 },
- { 0x7934, 51591 },
- { 0x7935, 51594 },
- { 0x7936, 51597 },
- { 0x7937, 51600 },
- { 0x7938, 51603 },
- { 0x7939, 51606 },
- { 0x793A, 51609 },
- { 0x793B, 51612 },
- { 0x793C, 51615 },
- { 0x793D, 51618 },
- { 0x793E, 51621 },
- { 0x793F, 51624 },
- { 0x7940, 51627 },
- { 0x7941, 51630 },
- { 0x7942, 51633 },
- { 0x7943, 51636 },
- { 0x7944, 51639 },
- { 0x7945, 51642 },
- { 0x7946, 51645 },
- { 0x7947, 51648 },
- { 0x7948, 51651 },
- { 0x7949, 51654 },
- { 0x794A, 51657 },
- { 0x794B, 74747 },
- { 0x794C, 74673 },
- { 0x794D, 74737 },
- { 0x794E, 74927 },
- { 0x794F, 74783 },
- { 0x7950, 74760 },
- { 0x7951, 74697 },
- { 0x7952, 74907 },
- { 0x7953, 74867 },
- { 0x7954, 74843 },
- { 0x7955, 74717 },
- { 0x7956, 74803 },
- { 0x7957, 74951 },
- { 0x7958, 74887 },
- { 0x7959, 74823 },
- { 0x795A, 74668 },
- { 0x795B, 74732 },
- { 0x795C, 74922 },
- { 0x795D, 74778 },
- { 0x795E, 74755 },
- { 0x795F, 74692 },
- { 0x7960, 74902 },
- { 0x7961, 74862 },
- { 0x7962, 74838 },
- { 0x7963, 74712 },
- { 0x7964, 74798 },
- { 0x7965, 74946 },
- { 0x7966, 74882 },
- { 0x7967, 74818 },
- { 0x7968, 74683 },
- { 0x7969, 74678 },
- { 0x796A, 74742 },
- { 0x796B, 74932 },
- { 0x796C, 74788 },
- { 0x796D, 74765 },
- { 0x796E, 74702 },
- { 0x796F, 74912 },
- { 0x7970, 74872 },
- { 0x7971, 74848 },
- { 0x7972, 74722 },
- { 0x7973, 74808 },
- { 0x7974, 74956 },
- { 0x7975, 74892 },
- { 0x7976, 74828 },
- { 0x7977, 74853 },
- { 0x7978, 74663 },
- { 0x7979, 74727 },
- { 0x797A, 74917 },
- { 0x797B, 74773 },
- { 0x797C, 74750 },
- { 0x797D, 74687 },
- { 0x797E, 74897 },
- { 0x797F, 74857 },
- { 0x7980, 74833 },
- { 0x7981, 74707 },
- { 0x7982, 74793 },
- { 0x7983, 74941 },
- { 0x7984, 74877 },
- { 0x7985, 74813 },
- { 0x7986, 74937 },
- { 0x7987, 74770 },
- { 0x7988, 74961 },
- { 0x7989, 74964 },
- { 0x798A, 74967 },
- { 0x798B, 74970 },
- { 0x798C, 74973 },
- { 0x798D, 74976 },
- { 0x798E, 74979 },
- { 0x798F, 74982 },
- { 0x7990, 74985 },
- { 0x7991, 74988 },
- { 0x7992, 74991 },
- { 0x7993, 74994 },
- { 0x7994, 74997 },
- { 0x7995, 75000 },
- { 0x7996, 75003 },
- { 0x7997, 75006 },
- { 0x7998, 75009 },
- { 0x7999, 75012 },
- { 0x799A, 75015 },
- { 0x799B, 75018 },
- { 0x799C, 75021 },
- { 0x799D, 21427 },
- { 0x799E, 21431 },
- { 0x799F, 21377 },
- { 0x79A0, 21395 },
- { 0x79A1, 21458 },
- { 0x79A2, 21413 },
- { 0x79A3, 21404 },
- { 0x79A4, 21386 },
- { 0x79A5, 21449 },
- { 0x79A6, 21440 },
- { 0x79A7, 21422 },
- { 0x79A8, 69514 },
- { 0x79A9, 69625 },
- { 0x79AA, 67873 },
- { 0x79AB, 68881 },
- { 0x79AC, 68205 },
- { 0x79AD, 131857 },
- { 0x79AE, 131862 },
- { 0x79AF, 131867 },
- { 0x79B0, 131872 },
- { 0x79B1, 131877 },
- { 0x79B2, 131882 },
- { 0x79B3, 131887 },
- { 0x79B4, 131892 },
- { 0x79B5, 131897 },
- { 0x79B6, 131902 },
- { 0x79B7, 131907 },
- { 0x79B8, 131912 },
- { 0x79B9, 131917 },
- { 0x79BA, 131922 },
- { 0x79BB, 131927 },
- { 0x79BC, 131932 },
- { 0x79BD, 131937 },
- { 0x79BE, 131942 },
- { 0x79BF, 131947 },
- { 0x79C0, 131952 },
- { 0x79C1, 131957 },
- { 0x79C2, 131962 },
- { 0x79C3, 131967 },
- { 0x79C4, 131972 },
- { 0x79C5, 131977 },
- { 0x79C6, 131982 },
- { 0x79C7, 99347 },
- { 0x79C8, 68315 },
- { 0x79C9, 68321 },
- { 0x79CA, 67850 },
- { 0x79CB, 67852 },
- { 0x79CC, 83935 },
- { 0x79CD, 77485 },
- { 0x79CE, 77490 },
- { 0x79CF, 77495 },
- { 0x79D0, 77500 },
- { 0x79D1, 77505 },
- { 0x79D2, 77510 },
- { 0x79D3, 77515 },
- { 0x79D4, 77520 },
- { 0x79D5, 77525 },
- { 0x79D6, 77530 },
- { 0x79D7, 77535 },
- { 0x79D8, 77540 },
- { 0x79D9, 77545 },
- { 0x79DA, 77550 },
- { 0x79DB, 77555 },
- { 0x79DC, 77560 },
- { 0x79DD, 77565 },
- { 0x79DE, 77570 },
- { 0x79DF, 77575 },
- { 0x79E0, 77580 },
- { 0x79E1, 77585 },
- { 0x79E2, 77590 },
- { 0x79E3, 77595 },
- { 0x79E4, 77600 },
- { 0x79E5, 77605 },
- { 0x79E6, 77610 },
- { 0x79E7, 77238 },
- { 0x79E8, 77242 },
- { 0x79E9, 77248 },
- { 0x79EA, 77250 },
- { 0x79EB, 77447 },
- { 0x79EC, 77259 },
- { 0x79ED, 97265 },
- { 0x79EE, 97271 },
- { 0x79EF, 97277 },
- { 0x79F0, 97283 },
- { 0x79F1, 97289 },
- { 0x79F2, 97295 },
- { 0x79F3, 97301 },
- { 0x79F4, 97307 },
- { 0x79F5, 97313 },
- { 0x79F6, 97319 },
- { 0x79F7, 97325 },
- { 0x79F8, 97331 },
- { 0x79F9, 97337 },
- { 0x79FA, 97343 },
- { 0x79FB, 97349 },
- { 0x79FC, 97355 },
- { 0x79FD, 97361 },
- { 0x79FE, 97367 },
- { 0x79FF, 97373 },
- { 0x7A00, 97379 },
- { 0x7A01, 97385 },
- { 0x7A02, 97391 },
- { 0x7A03, 97397 },
- { 0x7A04, 97403 },
- { 0x7A05, 97409 },
- { 0x7A06, 97415 },
- { 0x7A07, 61493 },
- { 0x7A08, 61496 },
- { 0x7A09, 61499 },
- { 0x7A0A, 67848 },
- { 0x7A0B, 67841 },
- { 0x7A0C, 67930 },
- { 0x7A0D, 97486 },
- { 0x7A0E, 97492 },
- { 0x7A0F, 97498 },
- { 0x7A10, 97504 },
- { 0x7A11, 97510 },
- { 0x7A12, 97516 },
- { 0x7A13, 97522 },
- { 0x7A14, 97528 },
- { 0x7A15, 97534 },
- { 0x7A16, 97540 },
- { 0x7A17, 97546 },
- { 0x7A18, 97552 },
- { 0x7A19, 97558 },
- { 0x7A1A, 97564 },
- { 0x7A1B, 97570 },
- { 0x7A1C, 97576 },
- { 0x7A1D, 97582 },
- { 0x7A1E, 97588 },
- { 0x7A1F, 97594 },
- { 0x7A20, 97600 },
- { 0x7A21, 97606 },
- { 0x7A22, 97612 },
- { 0x7A23, 97618 },
- { 0x7A24, 97624 },
- { 0x7A25, 97630 },
- { 0x7A26, 97636 },
- { 0x7A27, 68919 },
- { 0x7A28, 97470 },
- { 0x7A29, 97473 },
- { 0x7A2A, 97476 },
- { 0x7A2B, 97467 },
- { 0x7A2C, 97479 },
- { 0x7A2D, 61886 },
- { 0x7A2E, 77234 },
- { 0x7A2F, 77460 },
- { 0x7A30, 77473 },
- { 0x7A31, 77240 },
- { 0x7A32, 77440 },
- { 0x7A33, 77244 },
- { 0x7A34, 77246 },
- { 0x7A35, 77451 },
- { 0x7A36, 77252 },
- { 0x7A37, 77257 },
- { 0x7A38, 77627 },
- { 0x7A39, 77638 },
- { 0x7A3A, 77453 },
- { 0x7A3B, 77466 },
- { 0x7A3C, 77477 },
- { 0x7A3D, 77462 },
- { 0x7A3E, 77617 },
- { 0x7A3F, 77668 },
- { 0x7A40, 77621 },
- { 0x7A41, 77442 },
- { 0x7A42, 77480 },
- { 0x7A43, 77236 },
- { 0x7A44, 77436 },
- { 0x7A45, 77632 },
- { 0x7A46, 77666 },
- { 0x7A47, 77449 },
- { 0x7A48, 77456 },
- { 0x7A49, 77458 },
- { 0x7A4A, 14739 },
- { 0x7A4B, 98578 },
- { 0x7A4C, 98583 },
- { 0x7A4D, 98588 },
- { 0x7A4E, 98593 },
- { 0x7A4F, 98598 },
- { 0x7A50, 98603 },
- { 0x7A51, 98608 },
- { 0x7A52, 98613 },
- { 0x7A53, 98618 },
- { 0x7A54, 98623 },
- { 0x7A55, 98628 },
- { 0x7A56, 98633 },
- { 0x7A57, 98638 },
- { 0x7A58, 98643 },
- { 0x7A59, 98648 },
- { 0x7A5A, 98653 },
- { 0x7A5B, 98658 },
- { 0x7A5C, 98663 },
- { 0x7A5D, 98668 },
- { 0x7A5E, 98673 },
- { 0x7A5F, 98678 },
- { 0x7A60, 98683 },
- { 0x7A61, 98688 },
- { 0x7A62, 98693 },
- { 0x7A63, 98698 },
- { 0x7A64, 98703 },
- { 0x7A65, 62391 },
- { 0x7A66, 77663 },
- { 0x7A67, 77660 },
- { 0x7A68, 77341 },
- { 0x7A69, 77329 },
- { 0x7A6A, 77297 },
- { 0x7A6B, 77657 },
- { 0x7A6C, 77273 },
- { 0x7A6D, 77321 },
- { 0x7A6E, 77413 },
- { 0x7A6F, 77325 },
- { 0x7A70, 77277 },
- { 0x7A71, 77369 },
- { 0x7A72, 77389 },
- { 0x7A73, 77361 },
- { 0x7A74, 77289 },
- { 0x7A75, 77337 },
- { 0x7A76, 77281 },
- { 0x7A77, 77365 },
- { 0x7A78, 77285 },
- { 0x7A79, 77409 },
- { 0x7A7A, 77393 },
- { 0x7A7B, 77417 },
- { 0x7A7C, 77317 },
- { 0x7A7D, 77309 },
- { 0x7A7E, 77385 },
- { 0x7A7F, 77349 },
- { 0x7A80, 77357 },
- { 0x7A81, 77261 },
- { 0x7A82, 77265 },
- { 0x7A83, 77425 },
- { 0x7A84, 77333 },
- { 0x7A85, 77269 },
- { 0x7A86, 77301 },
- { 0x7A87, 77353 },
- { 0x7A88, 77421 },
- { 0x7A89, 77345 },
- { 0x7A8A, 77401 },
- { 0x7A8B, 77405 },
- { 0x7A8C, 77305 },
- { 0x7A8D, 77381 },
- { 0x7A8E, 77377 },
- { 0x7A8F, 77373 },
- { 0x7A90, 77397 },
- { 0x7A91, 77293 },
- { 0x7A92, 77313 },
- { 0x7A93, 77429 },
- { 0x7A94, 99329 },
- { 0x7A95, 99293 },
- { 0x7A96, 99299 },
- { 0x7A97, 99311 },
- { 0x7A98, 99335 },
- { 0x7A99, 99317 },
- { 0x7A9A, 99341 },
- { 0x7A9B, 99305 },
- { 0x7A9C, 99323 },
- { 0x7A9D, 68845 },
- { 0x7A9E, 68803 },
- { 0x7A9F, 75253 },
- { 0x7AA0, 75257 },
- { 0x7AA1, 75269 },
- { 0x7AA2, 75261 },
- { 0x7AA3, 75273 },
- { 0x7AA4, 75265 },
- { 0x7AA5, 68933 },
- { 0x7AA6, 22141 },
- { 0x7AA7, 50645 },
- { 0x7AA8, 36162 },
- { 0x7AA9, 77679 },
- { 0x7AAA, 77678 },
- { 0x7AAB, 104356 },
- { 0x7AAC, 62514 },
- { 0x7AAD, 75181 },
- { 0x7AAE, 50114 },
- { 0x7AAF, 40588 },
- { 0x7AB0, 79336 },
- { 0x7AB1, 36044 },
- { 0x7AB2, 21967 },
- { 0x7AB3, 21964 },
- { 0x7AB4, 21970 },
- { 0x7AB5, 22164 },
- { 0x7AB6, 7331 },
- { 0x7AB7, 66347 },
- { 0x7AB8, 22136 },
- { 0x7AB9, 66343 },
- { 0x7ABA, 13594 },
- { 0x7ABB, 65927 },
- { 0x7ABC, 13956 },
- { 0x7ABD, 65931 },
- { 0x7ABE, 84027 },
- { 0x7ABF, 7327 },
- { 0x7AC0, 22131 },
- { 0x7AC1, 13951 },
- { 0x7AC2, 13590 },
- { 0x7AC3, 10116 },
- { 0x7AC4, 69945 },
- { 0x7AC5, 98816 },
- { 0x7AC6, 125515 },
- { 0x7AC7, 20791 },
- { 0x7AC8, 40615 },
- { 0x7AC9, 40621 },
- { 0x7ACA, 40626 },
- { 0x7ACB, 40630 },
- { 0x7ACC, 21300 },
- { 0x7ACD, 21303 },
- { 0x7ACE, 21309 },
- { 0x7ACF, 21306 },
- { 0x7AD0, 6138 },
- { 0x7AD1, 16898 },
- { 0x7AD2, 6146 },
- { 0x7AD3, 16359 },
- { 0x7AD4, 67830 },
- { 0x7AD5, 83886 },
- { 0x7AD6, 98804 },
- { 0x7AD7, 112552 },
- { 0x7AD8, 112139 },
- { 0x7AD9, 15949 },
- { 0x7ADA, 50134 },
- { 0x7ADB, 6148 },
- { 0x7ADC, 39972 },
- { 0x7ADD, 50524 },
- { 0x7ADE, 16055 },
- { 0x7ADF, 93420 },
- { 0x7AE0, 116434 },
- { 0x7AE1, 67055 },
- { 0x7AE2, 6115 },
- { 0x7AE3, 6112 },
- { 0x7AE4, 13648 },
- { 0x7AE5, 13565 },
- { 0x7AE6, 34912 },
- { 0x7AE7, 52079 },
- { 0x7AE8, 13960 },
- { 0x7AE9, 97255 },
- { 0x7AEA, 65513 },
- { 0x7AEB, 102555 },
- { 0x7AEC, 52223 },
- { 0x7AED, 34974 },
- { 0x7AEE, 120983 },
- { 0x7AEF, 116437 },
- { 0x7AF0, 34257 },
- { 0x7AF1, 49620 },
- { 0x7AF2, 115798 },
- { 0x7AF3, 10080 },
- { 0x7AF4, 25081 },
- { 0x7AF5, 15956 },
- { 0x7AF6, 37860 },
- { 0x7AF7, 83885 },
- { 0x7AF8, 120957 },
- { 0x7AF9, 113489 },
- { 0x7AFA, 38808 },
- { 0x7AFB, 14746 },
- { 0x7AFC, 75030 },
- { 0x7AFD, 16033 },
- { 0x7AFE, 16031 },
- { 0x7AFF, 50652 },
- { 0x7B00, 21362 },
- { 0x7B01, 98892 },
- { 0x7B02, 116129 },
- { 0x7B03, 21109 },
- { 0x7B04, 52128 },
- { 0x7B05, 75220 },
- { 0x7B06, 21367 },
- { 0x7B07, 15889 },
- { 0x7B08, 39196 },
- { 0x7B09, 22152 },
- { 0x7B0A, 13534 },
- { 0x7B0B, 16184 },
- { 0x7B0C, 61780 },
- { 0x7B0D, 6157 },
- { 0x7B0E, 86128 },
- { 0x7B0F, 50654 },
- { 0x7B10, 104351 },
- { 0x7B11, 21183 },
- { 0x7B12, 94803 },
- { 0x7B13, 68931 },
- { 0x7B14, 25568 },
- { 0x7B15, 116111 },
- { 0x7B16, 20308 },
- { 0x7B17, 10066 },
- { 0x7B18, 68906 },
- { 0x7B19, 13551 },
- { 0x7B1A, 64987 },
- { 0x7B1B, 16162 },
- { 0x7B1C, 16901 },
- { 0x7B1D, 83898 },
- { 0x7B1E, 99373 },
- { 0x7B1F, 12894 },
- { 0x7B20, 83893 },
- { 0x7B21, 12875 },
- { 0x7B22, 13554 },
- { 0x7B23, 49645 },
- { 0x7B24, 75025 },
- { 0x7B25, 61665 },
- { 0x7B26, 79344 },
- { 0x7B27, 80310 },
- { 0x7B28, 132265 },
- { 0x7B29, 104353 },
- { 0x7B2A, 52082 },
- { 0x7B2B, 112581 },
- { 0x7B2C, 91842 },
- { 0x7B2D, 66709 },
- { 0x7B2E, 37856 },
- { 0x7B2F, 83900 },
- { 0x7B30, 99084 },
- { 0x7B31, 68915 },
- { 0x7B32, 15964 },
- { 0x7B33, 93944 },
- { 0x7B34, 12973 },
- { 0x7B35, 16896 },
- { 0x7B36, 15549 },
- { 0x7B37, 61724 },
- { 0x7B38, 118651 },
- { 0x7B39, 25098 },
- { 0x7B3A, 67057 },
- { 0x7B3B, 95618 },
- { 0x7B3C, 98710 },
- { 0x7B3D, 73018 },
- { 0x7B3E, 62446 },
- { 0x7B3F, 34258 },
- { 0x7B40, 68904 },
- { 0x7B41, 49627 },
- { 0x7B42, 49634 },
- { 0x7B43, 13524 },
- { 0x7B44, 100782 },
- { 0x7B45, 83279 },
- { 0x7B46, 52087 },
- { 0x7B47, 61714 },
- { 0x7B48, 69929 },
- { 0x7B49, 119975 },
- { 0x7B4A, 36092 },
- { 0x7B4B, 50528 },
- { 0x7B4C, 113491 },
- { 0x7B4D, 49571 },
- { 0x7B4E, 11621 },
- { 0x7B4F, 50602 },
- { 0x7B50, 65511 },
- { 0x7B51, 68896 },
- { 0x7B52, 119984 },
- { 0x7B53, 40580 },
- { 0x7B54, 51494 },
- { 0x7B55, 16179 },
- { 0x7B56, 102873 },
- { 0x7B57, 13609 },
- { 0x7B58, 67060 },
- { 0x7B59, 52106 },
- { 0x7B5A, 71998 },
- { 0x7B5B, 97247 },
- { 0x7B5C, 116077 },
- { 0x7B5D, 52224 },
- { 0x7B5E, 73016 },
- { 0x7B5F, 78991 },
- { 0x7B60, 65667 },
- { 0x7B61, 72000 },
- { 0x7B62, 75278 },
- { 0x7B63, 65362 },
- { 0x7B64, 10109 },
- { 0x7B65, 117586 },
- { 0x7B66, 104349 },
- { 0x7B67, 125469 },
- { 0x7B68, 61716 },
- { 0x7B69, 62517 },
- { 0x7B6A, 61827 },
- { 0x7B6B, 65572 },
- { 0x7B6C, 25573 },
- { 0x7B6D, 79406 },
- { 0x7B6E, 38405 },
- { 0x7B6F, 77684 },
- { 0x7B70, 66351 },
- { 0x7B71, 52140 },
- { 0x7B72, 61491 },
- { 0x7B73, 61489 },
- { 0x7B74, 68911 },
- { 0x7B75, 120982 },
- { 0x7B76, 22117 },
- { 0x7B77, 6161 },
- { 0x7B78, 39203 },
- { 0x7B79, 16181 },
- { 0x7B7A, 67831 },
- { 0x7B7B, 20304 },
- { 0x7B7C, 80645 },
- { 0x7B7D, 25582 },
- { 0x7B7E, 104355 },
- { 0x7B7F, 86103 },
- { 0x7B80, 104362 },
- { 0x7B81, 51454 },
- { 0x7B82, 51455 },
- { 0x7B83, 97256 },
- { 0x7B84, 77672 },
- { 0x7B85, 25580 },
- { 0x7B86, 25577 },
- { 0x7B87, 60799 },
- { 0x7B88, 93941 },
- { 0x7B89, 91794 },
- { 0x7B8A, 93728 },
- { 0x7B8B, 12890 },
- { 0x7B8C, 102556 },
- { 0x7B8D, 25575 },
- { 0x7B8E, 14714 },
- { 0x7B8F, 121015 },
- { 0x7B90, 61723 },
- { 0x7B91, 117695 },
- { 0x7B92, 69904 },
- { 0x7B93, 70561 },
- { 0x7B94, 93946 },
- { 0x7B95, 91797 },
- { 0x7B96, 41114 },
- { 0x7B97, 20799 },
- { 0x7B98, 66340 },
- { 0x7B99, 66337 },
- { 0x7B9A, 75229 },
- { 0x7B9B, 20803 },
- { 0x7B9C, 26668 },
- { 0x7B9D, 102559 },
- { 0x7B9E, 4464 },
- { 0x7B9F, 66533 },
- { 0x7BA0, 22018 },
- { 0x7BA1, 22002 },
- { 0x7BA2, 22006 },
- { 0x7BA3, 22010 },
- { 0x7BA4, 22014 },
- { 0x7BA5, 10076 },
- { 0x7BA6, 36086 },
- { 0x7BA7, 320 },
- { 0x7BA8, 40592 },
- { 0x7BA9, 6071 },
- { 0x7BAA, 39907 },
- { 0x7BAB, 70887 },
- { 0x7BAC, 61486 },
- { 0x7BAD, 5509 },
- { 0x7BAE, 52006 },
- { 0x7BAF, 106055 },
- { 0x7BB0, 40599 },
- { 0x7BB1, 39019 },
- { 0x7BB2, 39020 },
- { 0x7BB3, 25570 },
- { 0x7BB4, 10075 },
- { 0x7BB5, 13623 },
- { 0x7BB6, 38752 },
- { 0x7BB7, 60725 },
- { 0x7BB8, 75228 },
- { 0x7BB9, 67840 },
- { 0x7BBA, 6099 },
- { 0x7BBB, 10055 },
- { 0x7BBC, 12917 },
- { 0x7BBD, 90159 },
- { 0x7BBE, 74232 },
- { 0x7BBF, 61821 },
- { 0x7BC0, 5503 },
- { 0x7BC1, 4086 },
- { 0x7BC2, 93727 },
- { 0x7BC3, 13944 },
- { 0x7BC4, 13533 },
- { 0x7BC5, 99371 },
- { 0x7BC6, 80312 },
- { 0x7BC7, 65653 },
- { 0x7BC8, 93174 },
- { 0x7BC9, 12873 },
- { 0x7BCA, 126172 },
- { 0x7BCB, 12912 },
- { 0x7BCC, 74653 },
- { 0x7BCD, 26667 },
- { 0x7BCE, 61466 },
- { 0x7BCF, 112545 },
- { 0x7BD0, 79792 },
- { 0x7BD1, 69658 },
- { 0x7BD2, 36087 },
- { 0x7BD3, 6072 },
- { 0x7BD4, 39908 },
- { 0x7BD5, 61487 },
- { 0x7BD6, 5510 },
- { 0x7BD7, 52007 },
- { 0x7BD8, 98888 },
- { 0x7BD9, 25571 },
- { 0x7BDA, 60726 },
- { 0x7BDB, 6100 },
- { 0x7BDC, 10056 },
- { 0x7BDD, 13586 },
- { 0x7BDE, 70458 },
- { 0x7BDF, 16904 },
- { 0x7BE0, 12892 },
- { 0x7BE1, 37854 },
- { 0x7BE2, 10058 },
- { 0x7BE3, 10035 },
- { 0x7BE4, 83889 },
- { 0x7BE5, 13373 },
- { 0x7BE6, 6132 },
- { 0x7BE7, 6111 },
- { 0x7BE8, 15883 },
- { 0x7BE9, 36091 },
- { 0x7BEA, 65514 },
- { 0x7BEB, 40608 },
- { 0x7BEC, 40649 },
- { 0x7BED, 40684 },
- { 0x7BEE, 40908 },
- { 0x7BEF, 52096 },
- { 0x7BF0, 66334 },
- { 0x7BF1, 112 },
- { 0x7BF2, 65505 },
- { 0x7BF3, 65508 },
- { 0x7BF4, 83890 },
- { 0x7BF5, 15899 },
- { 0x7BF6, 21350 },
- { 0x7BF7, 66359 },
- { 0x7BF8, 118237 },
- { 0x7BF9, 73960 },
- { 0x7BFA, 77686 },
- { 0x7BFB, 25939 },
- { 0x7BFC, 21958 },
- { 0x7BFD, 57431 },
- { 0x7BFE, 49640 },
- { 0x7BFF, 66365 },
- { 0x7C00, 37901 },
- { 0x7C01, 70460 },
- { 0x7C02, 37883 },
- { 0x7C03, 14737 },
- { 0x7C04, 79790 },
- { 0x7C05, 121065 },
- { 0x7C06, 66363 },
- { 0x7C07, 66361 },
- { 0x7C08, 118238 },
- { 0x7C09, 12952 },
- { 0x7C0A, 21180 },
- { 0x7C0B, 5502 },
- { 0x7C0C, 13620 },
- { 0x7C0D, 6517 },
- { 0x7C0E, 41240 },
- { 0x7C0F, 52081 },
- { 0x7C10, 6526 },
- { 0x7C11, 11685 },
- { 0x7C12, 11695 },
- { 0x7C13, 61464 },
- { 0x7C14, 41241 },
- { 0x7C15, 21112 },
- { 0x7C16, 61407 },
- { 0x7C17, 6531 },
- { 0x7C18, 6536 },
- { 0x7C19, 37248 },
- { 0x7C1A, 37252 },
- { 0x7C1B, 12870 },
- { 0x7C1C, 125845 },
- { 0x7C1D, 98506 },
- { 0x7C1E, 93939 },
- { 0x7C1F, 93948 },
- { 0x7C20, 22156 },
- { 0x7C21, 12871 },
- { 0x7C22, 132340 },
- { 0x7C23, 17270 },
- { 0x7C24, 6166 },
- { 0x7C25, 38803 },
- { 0x7C26, 121670 },
- { 0x7C27, 112996 },
- { 0x7C28, 51438 },
- { 0x7C29, 94802 },
- { 0x7C2A, 15556 },
- { 0x7C2B, 13503 },
- { 0x7C2C, 70457 },
- { 0x7C2D, 49621 },
- { 0x7C2E, 77685 },
- { 0x7C2F, 15963 },
- { 0x7C30, 13940 },
- { 0x7C31, 14716 },
- { 0x7C32, 16035 },
- { 0x7C33, 6144 },
- { 0x7C34, 13939 },
- { 0x7C35, 67056 },
- { 0x7C36, 51410 },
- { 0x7C37, 79339 },
- { 0x7C38, 66714 },
- { 0x7C39, 50120 },
- { 0x7C3A, 11702 },
- { 0x7C3B, 116130 },
- { 0x7C3C, 70194 },
- { 0x7C3D, 25104 },
- { 0x7C3E, 12915 },
- { 0x7C3F, 25083 },
- { 0x7C40, 66372 },
- { 0x7C41, 61483 },
- { 0x7C42, 25107 },
- { 0x7C43, 115853 },
- { 0x7C44, 25112 },
- { 0x7C45, 69474 },
- { 0x7C46, 90154 },
- { 0x7C47, 17272 },
- { 0x7C48, 12941 },
- { 0x7C49, 98866 },
- { 0x7C4A, 104423 },
- { 0x7C4B, 116143 },
- { 0x7C4C, 69669 },
- { 0x7C4D, 13274 },
- { 0x7C4E, 15960 },
- { 0x7C4F, 52099 },
- { 0x7C50, 21763 },
- { 0x7C51, 61813 },
- { 0x7C52, 77761 },
- { 0x7C53, 40977 },
- { 0x7C54, 70530 },
- { 0x7C55, 36074 },
- { 0x7C56, 84036 },
- { 0x7C57, 25344 },
- { 0x7C58, 51413 },
- { 0x7C59, 80291 },
- { 0x7C5A, 80303 },
- { 0x7C5B, 80295 },
- { 0x7C5C, 80299 },
- { 0x7C5D, 36076 },
- { 0x7C5E, 21196 },
- { 0x7C5F, 16170 },
- { 0x7C60, 98065 },
- { 0x7C61, 102877 },
- { 0x7C62, 95622 },
- { 0x7C63, 52101 },
- { 0x7C64, 74233 },
- { 0x7C65, 6110 },
- { 0x7C66, 13520 },
- { 0x7C67, 15894 },
- { 0x7C68, 15933 },
- { 0x7C69, 15940 },
- { 0x7C6A, 80654 },
- { 0x7C6B, 99086 },
- { 0x7C6C, 12966 },
- { 0x7C6D, 21192 },
- { 0x7C6E, 21203 },
- { 0x7C6F, 4452 },
- { 0x7C70, 104364 },
- { 0x7C71, 75170 },
- { 0x7C72, 38401 },
- { 0x7C73, 115788 },
- { 0x7C74, 98894 },
- { 0x7C75, 120967 },
- { 0x7C76, 80314 },
- { 0x7C77, 57444 },
- { 0x7C78, 97661 },
- { 0x7C79, 97662 },
- { 0x7C7A, 50604 },
- { 0x7C7B, 15892 },
- { 0x7C7C, 25079 },
- { 0x7C7D, 12913 },
- { 0x7C7E, 60804 },
- { 0x7C7F, 21107 },
- { 0x7C80, 15558 },
- { 0x7C81, 61770 },
- { 0x7C82, 14749 },
- { 0x7C83, 116448 },
- { 0x7C84, 37849 },
- { 0x7C85, 6135 },
- { 0x7C86, 116075 },
- { 0x7C87, 61480 },
- { 0x7C88, 83281 },
- { 0x7C89, 60814 },
- { 0x7C8A, 25592 },
- { 0x7C8B, 74648 },
- { 0x7C8C, 52009 },
- { 0x7C8D, 93857 },
- { 0x7C8E, 90164 },
- { 0x7C8F, 50633 },
- { 0x7C90, 50628 },
- { 0x7C91, 15920 },
- { 0x7C92, 15925 },
- { 0x7C93, 75026 },
- { 0x7C94, 61467 },
- { 0x7C95, 115684 },
- { 0x7C96, 60707 },
- { 0x7C97, 60712 },
- { 0x7C98, 116725 },
- { 0x7C99, 60709 },
- { 0x7C9A, 100 },
- { 0x7C9B, 66534 },
- { 0x7C9C, 50135 },
- { 0x7C9D, 50136 },
- { 0x7C9E, 40582 },
- { 0x7C9F, 120960 },
- { 0x7CA0, 37902 },
- { 0x7CA1, 132254 },
- { 0x7CA2, 13526 },
- { 0x7CA3, 98445 },
- { 0x7CA4, 61477 },
- { 0x7CA5, 78997 },
- { 0x7CA6, 104399 },
- { 0x7CA7, 104406 },
- { 0x7CA8, 104392 },
- { 0x7CA9, 131296 },
- { 0x7CAA, 6510 },
- { 0x7CAB, 13652 },
- { 0x7CAC, 77230 },
- { 0x7CAD, 77219 },
- { 0x7CAE, 77220 },
- { 0x7CAF, 77225 },
- { 0x7CB0, 66711 },
- { 0x7CB1, 90150 },
- { 0x7CB2, 131684 },
- { 0x7CB3, 132312 },
- { 0x7CB4, 14639 },
- { 0x7CB5, 50606 },
- { 0x7CB6, 6168 },
- { 0x7CB7, 14638 },
- { 0x7CB8, 15897 },
- { 0x7CB9, 12896 },
- { 0x7CBA, 12897 },
- { 0x7CBB, 80313 },
- { 0x7CBC, 14471 },
- { 0x7CBD, 37903 },
- { 0x7CBE, 12882 },
- { 0x7CBF, 6127 },
- { 0x7CC0, 307 },
- { 0x7CC1, 16193 },
- { 0x7CC2, 11652 },
- { 0x7CC3, 90 },
- { 0x7CC4, 55338 },
- { 0x7CC5, 25920 },
- { 0x7CC6, 25914 },
- { 0x7CC7, 25931 },
- { 0x7CC8, 25935 },
- { 0x7CC9, 25926 },
- { 0x7CCA, 13528 },
- { 0x7CCB, 90157 },
- { 0x7CCC, 66371 },
- { 0x7CCD, 52225 },
- { 0x7CCE, 7616 },
- { 0x7CCF, 25567 },
- { 0x7CD0, 61448 },
- { 0x7CD1, 119976 },
- { 0x7CD2, 116456 },
- { 0x7CD3, 68926 },
- { 0x7CD4, 10089 },
- { 0x7CD5, 93950 },
- { 0x7CD6, 78965 },
- { 0x7CD7, 20763 },
- { 0x7CD8, 41051 },
- { 0x7CD9, 26686 },
- { 0x7CDA, 26706 },
- { 0x7CDB, 26742 },
- { 0x7CDC, 26712 },
- { 0x7CDD, 38942 },
- { 0x7CDE, 38827 },
- { 0x7CDF, 125520 },
- { 0x7CE0, 131410 },
- { 0x7CE1, 125523 },
- { 0x7CE2, 131413 },
- { 0x7CE3, 34857 },
- { 0x7CE4, 40349 },
- { 0x7CE5, 67892 },
- { 0x7CE6, 21345 },
- { 0x7CE7, 21343 },
- { 0x7CE8, 74198 },
- { 0x7CE9, 74210 },
- { 0x7CEA, 62761 },
- { 0x7CEB, 40901 },
- { 0x7CEC, 25241 },
- { 0x7CED, 50294 },
- { 0x7CEE, 305 },
- { 0x7CEF, 13336 },
- { 0x7CF0, 25940 },
- { 0x7CF1, 60728 },
- { 0x7CF2, 116436 },
- { 0x7CF3, 71874 },
- { 0x7CF4, 12944 },
- { 0x7CF5, 21213 },
- { 0x7CF6, 21225 },
- { 0x7CF7, 21249 },
- { 0x7CF8, 21233 },
- { 0x7CF9, 21229 },
- { 0x7CFA, 21217 },
- { 0x7CFB, 21245 },
- { 0x7CFC, 21241 },
- { 0x7CFD, 21237 },
- { 0x7CFE, 21221 },
- { 0x7CFF, 21253 },
- { 0x7D00, 21257 },
- { 0x7D01, 21261 },
- { 0x7D02, 21270 },
- { 0x7D03, 21288 },
- { 0x7D04, 21276 },
- { 0x7D05, 21273 },
- { 0x7D06, 21264 },
- { 0x7D07, 21285 },
- { 0x7D08, 21282 },
- { 0x7D09, 21279 },
- { 0x7D0A, 21267 },
- { 0x7D0B, 21291 },
- { 0x7D0C, 21294 },
- { 0x7D0D, 38199 },
- { 0x7D0E, 38201 },
- { 0x7D0F, 38207 },
- { 0x7D10, 80647 },
- { 0x7D11, 80648 },
- { 0x7D12, 75218 },
- { 0x7D13, 12943 },
- { 0x7D14, 50142 },
- { 0x7D15, 121712 },
- { 0x7D16, 20589 },
- { 0x7D17, 103 },
- { 0x7D18, 13655 },
- { 0x7D19, 6521 },
- { 0x7D1A, 61808 },
- { 0x7D1B, 13268 },
- { 0x7D1C, 61815 },
- { 0x7D1D, 61816 },
- { 0x7D1E, 94269 },
- { 0x7D1F, 6539 },
- { 0x7D20, 14117 },
- { 0x7D21, 116450 },
- { 0x7D22, 37965 },
- { 0x7D23, 41164 },
- { 0x7D24, 20866 },
- { 0x7D25, 116438 },
- { 0x7D26, 104359 },
- { 0x7D27, 12879 },
- { 0x7D28, 77673 },
- { 0x7D29, 90169 },
- { 0x7D2A, 52116 },
- { 0x7D2B, 10041 },
- { 0x7D2C, 60070 },
- { 0x7D2D, 20801 },
- { 0x7D2E, 34700 },
- { 0x7D2F, 34715 },
- { 0x7D30, 34703 },
- { 0x7D31, 34719 },
- { 0x7D32, 34697 },
- { 0x7D33, 14391 },
- { 0x7D34, 65576 },
- { 0x7D35, 61521 },
- { 0x7D36, 98760 },
- { 0x7D37, 98766 },
- { 0x7D38, 98770 },
- { 0x7D39, 98785 },
- { 0x7D3A, 98717 },
- { 0x7D3B, 61512 },
- { 0x7D3C, 40639 },
- { 0x7D3D, 98852 },
- { 0x7D3E, 98857 },
- { 0x7D3F, 98832 },
- { 0x7D40, 98837 },
- { 0x7D41, 20349 },
- { 0x7D42, 20581 },
- { 0x7D43, 98842 },
- { 0x7D44, 98847 },
- { 0x7D45, 98822 },
- { 0x7D46, 98827 },
- { 0x7D47, 20311 },
- { 0x7D48, 20325 },
- { 0x7D49, 20558 },
- { 0x7D4A, 69452 },
- { 0x7D4B, 94787 },
- { 0x7D4C, 39894 },
- { 0x7D4D, 75040 },
- { 0x7D4E, 61456 },
- { 0x7D4F, 20336 },
- { 0x7D50, 40671 },
- { 0x7D51, 16187 },
- { 0x7D52, 16362 },
- { 0x7D53, 41238 },
- { 0x7D54, 9717 },
- { 0x7D55, 11699 },
- { 0x7D56, 39881 },
- { 0x7D57, 116718 },
- { 0x7D58, 9155 },
- { 0x7D59, 13644 },
- { 0x7D5A, 61726 },
- { 0x7D5B, 75041 },
- { 0x7D5C, 6133 },
- { 0x7D5D, 74235 },
- { 0x7D5E, 86117 },
- { 0x7D5F, 86120 },
- { 0x7D60, 86125 },
- { 0x7D61, 22149 },
- { 0x7D62, 22146 },
- { 0x7D63, 22142 },
- { 0x7D64, 20695 },
- { 0x7D65, 52118 },
- { 0x7D66, 15916 },
- { 0x7D67, 12968 },
- { 0x7D68, 12963 },
- { 0x7D69, 13522 },
- { 0x7D6A, 22063 },
- { 0x7D6B, 22068 },
- { 0x7D6C, 22065 },
- { 0x7D6D, 15884 },
- { 0x7D6E, 15887 },
- { 0x7D6F, 15885 },
- { 0x7D70, 22075 },
- { 0x7D71, 22071 },
- { 0x7D72, 22073 },
- { 0x7D73, 86116 },
- { 0x7D74, 15932 },
- { 0x7D75, 37850 },
- { 0x7D76, 125549 },
- { 0x7D77, 61818 },
- { 0x7D78, 61823 },
- { 0x7D79, 69450 },
- { 0x7D7A, 95623 },
- { 0x7D7B, 94924 },
- { 0x7D7C, 74647 },
- { 0x7D7D, 104373 },
- { 0x7D7E, 125841 },
- { 0x7D7F, 93859 },
- { 0x7D80, 86097 },
- { 0x7D81, 121013 },
- { 0x7D82, 7655 },
- { 0x7D83, 115858 },
- { 0x7D84, 15936 },
- { 0x7D85, 39193 },
- { 0x7D86, 51436 },
- { 0x7D87, 14475 },
- { 0x7D88, 98882 },
- { 0x7D89, 39864 },
- { 0x7D8A, 39867 },
- { 0x7D8B, 39861 },
- { 0x7D8C, 39870 },
- { 0x7D8D, 14324 },
- { 0x7D8E, 38137 },
- { 0x7D8F, 11707 },
- { 0x7D90, 39884 },
- { 0x7D91, 14388 },
- { 0x7D92, 38213 },
- { 0x7D93, 14123 },
- { 0x7D94, 37975 },
- { 0x7D95, 15545 },
- { 0x7D96, 114422 },
- { 0x7D97, 114420 },
- { 0x7D98, 49604 },
- { 0x7D99, 49617 },
- { 0x7D9A, 49608 },
- { 0x7D9B, 49613 },
- { 0x7D9C, 49589 },
- { 0x7D9D, 34295 },
- { 0x7D9E, 49584 },
- { 0x7D9F, 41245 },
- { 0x7DA0, 36084 },
- { 0x7DA1, 39962 },
- { 0x7DA2, 62439 },
- { 0x7DA3, 120951 },
- { 0x7DA4, 36094 },
- { 0x7DA5, 92565 },
- { 0x7DA6, 92581 },
- { 0x7DA7, 13430 },
- { 0x7DA8, 76678 },
- { 0x7DA9, 76691 },
- { 0x7DAA, 76683 },
- { 0x7DAB, 76699 },
- { 0x7DAC, 76674 },
- { 0x7DAD, 76711 },
- { 0x7DAE, 79340 },
- { 0x7DAF, 76715 },
- { 0x7DB0, 13512 },
- { 0x7DB1, 98708 },
- { 0x7DB2, 76741 },
- { 0x7DB3, 76737 },
- { 0x7DB4, 98876 },
- { 0x7DB5, 74022 },
- { 0x7DB6, 132261 },
- { 0x7DB7, 99476 },
- { 0x7DB8, 13390 },
- { 0x7DB9, 74654 },
- { 0x7DBA, 83902 },
- { 0x7DBB, 117690 },
- { 0x7DBC, 70875 },
- { 0x7DBD, 13508 },
- { 0x7DBE, 70882 },
- { 0x7DBF, 70877 },
- { 0x7DC0, 13475 },
- { 0x7DC1, 13479 },
- { 0x7DC2, 13486 },
- { 0x7DC3, 126149 },
- { 0x7DC4, 79342 },
- { 0x7DC5, 17282 },
- { 0x7DC6, 75037 },
- { 0x7DC7, 51419 },
- { 0x7DC8, 122305 },
- { 0x7DC9, 13394 },
- { 0x7DCA, 126145 },
- { 0x7DCB, 91854 },
- { 0x7DCC, 102550 },
- { 0x7DCD, 69925 },
- { 0x7DCE, 40597 },
- { 0x7DCF, 61806 },
- { 0x7DD0, 39960 },
- { 0x7DD1, 112994 },
- { 0x7DD2, 60075 },
- { 0x7DD3, 13407 },
- { 0x7DD4, 54441 },
- { 0x7DD5, 13411 },
- { 0x7DD6, 13516 },
- { 0x7DD7, 117583 },
- { 0x7DD8, 69933 },
- { 0x7DD9, 98864 },
- { 0x7DDA, 21761 },
- { 0x7DDB, 13505 },
- { 0x7DDC, 13452 },
- { 0x7DDD, 92559 },
- { 0x7DDE, 5517 },
- { 0x7DDF, 76662 },
- { 0x7DE0, 76668 },
- { 0x7DE1, 5512 },
- { 0x7DE2, 70869 },
- { 0x7DE3, 75034 },
- { 0x7DE4, 51416 },
- { 0x7DE5, 40594 },
- { 0x7DE6, 98873 },
- { 0x7DE7, 98870 },
- { 0x7DE8, 125547 },
- { 0x7DE9, 13463 },
- { 0x7DEA, 13376 },
- { 0x7DEB, 13381 },
- { 0x7DEC, 61428 },
- { 0x7DED, 122316 },
- { 0x7DEE, 126319 },
- { 0x7DEF, 132251 },
- { 0x7DF0, 25093 },
- { 0x7DF1, 61431 },
- { 0x7DF2, 61439 },
- { 0x7DF3, 61418 },
- { 0x7DF4, 61414 },
- { 0x7DF5, 36296 },
- { 0x7DF6, 39133 },
- { 0x7DF7, 36218 },
- { 0x7DF8, 39079 },
- { 0x7DF9, 65610 },
- { 0x7DFA, 65623 },
- { 0x7DFB, 65605 },
- { 0x7DFC, 65618 },
- { 0x7DFD, 36300 },
- { 0x7DFE, 39137 },
- { 0x7DFF, 36222 },
- { 0x7E00, 39083 },
- { 0x7E01, 25273 },
- { 0x7E02, 25299 },
- { 0x7E03, 25262 },
- { 0x7E04, 25288 },
- { 0x7E05, 36292 },
- { 0x7E06, 39129 },
- { 0x7E07, 36214 },
- { 0x7E08, 39075 },
- { 0x7E09, 25268 },
- { 0x7E0A, 25294 },
- { 0x7E0B, 25257 },
- { 0x7E0C, 25283 },
- { 0x7E0D, 54430 },
- { 0x7E0E, 54434 },
- { 0x7E0F, 39022 },
- { 0x7E10, 39026 },
- { 0x7E11, 114001 },
- { 0x7E12, 79162 },
- { 0x7E13, 120367 },
- { 0x7E14, 112373 },
- { 0x7E15, 61766 },
- { 0x7E16, 25363 },
- { 0x7E17, 94798 },
- { 0x7E18, 25419 },
- { 0x7E19, 25431 },
- { 0x7E1A, 39197 },
- { 0x7E1B, 120663 },
- { 0x7E1C, 120656 },
- { 0x7E1D, 120648 },
- { 0x7E1E, 25491 },
- { 0x7E1F, 120671 },
- { 0x7E20, 25479 },
- { 0x7E21, 16869 },
- { 0x7E22, 16862 },
- { 0x7E23, 67835 },
- { 0x7E24, 75201 },
- { 0x7E25, 61711 },
- { 0x7E26, 118653 },
- { 0x7E27, 39172 },
- { 0x7E28, 75177 },
- { 0x7E29, 119512 },
- { 0x7E2A, 119514 },
- { 0x7E2B, 39970 },
- { 0x7E2C, 36041 },
- { 0x7E2D, 34293 },
- { 0x7E2E, 77675 },
- { 0x7E2F, 16809 },
- { 0x7E30, 16810 },
- { 0x7E31, 5504 },
- { 0x7E32, 98023 },
- { 0x7E33, 120971 },
- { 0x7E34, 5505 },
- { 0x7E35, 71883 },
- { 0x7E36, 100789 },
- { 0x7E37, 13529 },
- { 0x7E38, 61458 },
- { 0x7E39, 98030 },
- { 0x7E3A, 16364 },
- { 0x7E3B, 98028 },
- { 0x7E3C, 117585 },
- { 0x7E3D, 98033 },
- { 0x7E3E, 131240 },
- { 0x7E3F, 86101 },
- { 0x7E40, 120989 },
- { 0x7E41, 78964 },
- { 0x7E42, 97236 },
- { 0x7E43, 97240 },
- { 0x7E44, 120958 },
- { 0x7E45, 97242 },
- { 0x7E46, 41463 },
- { 0x7E47, 16171 },
- { 0x7E48, 75277 },
- { 0x7E49, 116132 },
- { 0x7E4A, 119579 },
- { 0x7E4B, 99595 },
- { 0x7E4C, 125843 },
- { 0x7E4D, 61460 },
- { 0x7E4E, 120963 },
- { 0x7E4F, 13335 },
- { 0x7E50, 97 },
- { 0x7E51, 76746 },
- { 0x7E52, 105 },
- { 0x7E53, 10069 },
- { 0x7E54, 74 },
- { 0x7E55, 75027 },
- { 0x7E56, 122285 },
- { 0x7E57, 67052 },
- { 0x7E58, 108 },
- { 0x7E59, 102872 },
- { 0x7E5A, 97244 },
- { 0x7E5B, 119983 },
- { 0x7E5C, 110 },
- { 0x7E5D, 83887 },
- { 0x7E5E, 14750 },
- { 0x7E5F, 66367 },
- { 0x7E60, 98713 },
- { 0x7E61, 12877 },
- { 0x7E62, 65512 },
- { 0x7E63, 40590 },
- { 0x7E64, 61786 },
- { 0x7E65, 12891 },
- { 0x7E66, 66710 },
- { 0x7E67, 98063 },
- { 0x7E68, 68932 },
- { 0x7E69, 66707 },
- { 0x7E6A, 14386 },
- { 0x7E6B, 99363 },
- { 0x7E6C, 120084 },
- { 0x7E6D, 68876 },
- { 0x7E6E, 12950 },
- { 0x7E6F, 22159 },
- { 0x7E70, 21322 },
- { 0x7E71, 98868 },
- { 0x7E72, 98818 },
- { 0x7E73, 66717 },
- { 0x7E74, 4455 },
- { 0x7E75, 37863 },
- { 0x7E76, 115685 },
- { 0x7E77, 98820 },
- { 0x7E78, 39195 },
- { 0x7E79, 60817 },
- { 0x7E7A, 25565 },
- { 0x7E7B, 6154 },
- { 0x7E7C, 90160 },
- { 0x7E7D, 99887 },
- { 0x7E7E, 120080 },
- { 0x7E7F, 40600 },
- { 0x7E80, 16040 },
- { 0x7E81, 52232 },
- { 0x7E82, 61782 },
- { 0x7E83, 7653 },
- { 0x7E84, 97238 },
- { 0x7E85, 75179 },
- { 0x7E86, 36080 },
- { 0x7E87, 125532 },
- { 0x7E88, 125530 },
- { 0x7E89, 125527 },
- { 0x7E8A, 38970 },
- { 0x7E8B, 132359 },
- { 0x7E8C, 79404 },
- { 0x7E8D, 79402 },
- { 0x7E8E, 116074 },
- { 0x7E8F, 98025 },
- { 0x7E90, 51457 },
- { 0x7E91, 115792 },
- { 0x7E92, 75307 },
- { 0x7E93, 36082 },
- { 0x7E94, 21184 },
- { 0x7E95, 16178 },
- { 0x7E96, 52114 },
- { 0x7E97, 120956 },
- { 0x7E98, 12868 },
- { 0x7E99, 61444 },
- { 0x7E9A, 61712 },
- { 0x7E9B, 117569 },
- { 0x7E9C, 117044 },
- { 0x7E9D, 117110 },
- { 0x7E9E, 117200 },
- { 0x7E9F, 117234 },
- { 0x7EA0, 117519 },
- { 0x7EA1, 117074 },
- { 0x7EA2, 117084 },
- { 0x7EA3, 117079 },
- { 0x7EA4, 117089 },
- { 0x7EA5, 117395 },
- { 0x7EA6, 117507 },
- { 0x7EA7, 117511 },
- { 0x7EA8, 117290 },
- { 0x7EA9, 117560 },
- { 0x7EAA, 117182 },
- { 0x7EAB, 117327 },
- { 0x7EAC, 117332 },
- { 0x7EAD, 117337 },
- { 0x7EAE, 117422 },
- { 0x7EAF, 117157 },
- { 0x7EB0, 117217 },
- { 0x7EB1, 117405 },
- { 0x7EB2, 117515 },
- { 0x7EB3, 117147 },
- { 0x7EB4, 117152 },
- { 0x7EB5, 117114 },
- { 0x7EB6, 117282 },
- { 0x7EB7, 117132 },
- { 0x7EB8, 117137 },
- { 0x7EB9, 117252 },
- { 0x7EBA, 117350 },
- { 0x7EBB, 117242 },
- { 0x7EBC, 117547 },
- { 0x7EBD, 117491 },
- { 0x7EBE, 117258 },
- { 0x7EBF, 117264 },
- { 0x7EC0, 117247 },
- { 0x7EC1, 117161 },
- { 0x7EC2, 117475 },
- { 0x7EC3, 117503 },
- { 0x7EC4, 117061 },
- { 0x7EC5, 117142 },
- { 0x7EC6, 117413 },
- { 0x7EC7, 117497 },
- { 0x7EC8, 117168 },
- { 0x7EC9, 117483 },
- { 0x7ECA, 117399 },
- { 0x7ECB, 117356 },
- { 0x7ECC, 117362 },
- { 0x7ECD, 117346 },
- { 0x7ECE, 117463 },
- { 0x7ECF, 117467 },
- { 0x7ED0, 117471 },
- { 0x7ED1, 117238 },
- { 0x7ED2, 117409 },
- { 0x7ED3, 117455 },
- { 0x7ED4, 117573 },
- { 0x7ED5, 117306 },
- { 0x7ED6, 117342 },
- { 0x7ED7, 117459 },
- { 0x7ED8, 117543 },
- { 0x7ED9, 117310 },
- { 0x7EDA, 117294 },
- { 0x7EDB, 117439 },
- { 0x7EDC, 117221 },
- { 0x7EDD, 117187 },
- { 0x7EDE, 117315 },
- { 0x7EDF, 117319 },
- { 0x7EE0, 117070 },
- { 0x7EE1, 117052 },
- { 0x7EE2, 117286 },
- { 0x7EE3, 117443 },
- { 0x7EE4, 117048 },
- { 0x7EE5, 117066 },
- { 0x7EE6, 117270 },
- { 0x7EE7, 117106 },
- { 0x7EE8, 117226 },
- { 0x7EE9, 117195 },
- { 0x7EEA, 117368 },
- { 0x7EEB, 117418 },
- { 0x7EEC, 117391 },
- { 0x7EED, 117374 },
- { 0x7EEE, 117451 },
- { 0x7EEF, 117174 },
- { 0x7EF0, 117230 },
- { 0x7EF1, 117204 },
- { 0x7EF2, 117178 },
- { 0x7EF3, 117056 },
- { 0x7EF4, 117191 },
- { 0x7EF5, 117434 },
- { 0x7EF6, 117302 },
- { 0x7EF7, 117379 },
- { 0x7EF8, 117385 },
- { 0x7EF9, 117556 },
- { 0x7EFA, 117552 },
- { 0x7EFB, 117323 },
- { 0x7EFC, 117430 },
- { 0x7EFD, 117539 },
- { 0x7EFE, 117274 },
- { 0x7EFF, 117565 },
- { 0x7F00, 117426 },
- { 0x7F01, 117523 },
- { 0x7F02, 117527 },
- { 0x7F03, 117531 },
- { 0x7F04, 117535 },
- { 0x7F05, 117298 },
- { 0x7F06, 117094 },
- { 0x7F07, 117100 },
- { 0x7F08, 117278 },
- { 0x7F09, 117128 },
- { 0x7F0A, 117213 },
- { 0x7F0B, 117447 },
- { 0x7F0C, 117209 },
- { 0x7F0D, 117118 },
- { 0x7F0E, 117123 },
- { 0x7F0F, 6490 },
- { 0x7F10, 122288 },
- { 0x7F11, 34902 },
- { 0x7F12, 53891 },
- { 0x7F13, 94921 },
- { 0x7F14, 92558 },
- { 0x7F15, 61485 },
- { 0x7F16, 37256 },
- { 0x7F17, 20942 },
- { 0x7F18, 20900 },
- { 0x7F19, 20980 },
- { 0x7F1A, 20916 },
- { 0x7F1B, 20835 },
- { 0x7F1C, 60259 },
- { 0x7F1D, 12933 },
- { 0x7F1E, 25311 },
- { 0x7F1F, 16854 },
- { 0x7F20, 112568 },
- { 0x7F21, 40971 },
- { 0x7F22, 38399 },
- { 0x7F23, 20359 },
- { 0x7F24, 20839 },
- { 0x7F25, 34318 },
- { 0x7F26, 60329 },
- { 0x7F27, 12936 },
- { 0x7F28, 25314 },
- { 0x7F29, 16858 },
- { 0x7F2A, 112572 },
- { 0x7F2B, 41054 },
- { 0x7F2C, 41067 },
- { 0x7F2D, 62355 },
- { 0x7F2E, 20362 },
- { 0x7F2F, 20372 },
- { 0x7F30, 20701 },
- { 0x7F31, 41087 },
- { 0x7F32, 41100 },
- { 0x7F33, 69480 },
- { 0x7F34, 20365 },
- { 0x7F35, 20376 },
- { 0x7F36, 20705 },
- { 0x7F37, 41108 },
- { 0x7F38, 16695 },
- { 0x7F39, 34302 },
- { 0x7F3A, 60298 },
- { 0x7F3B, 12930 },
- { 0x7F3C, 16819 },
- { 0x7F3D, 16850 },
- { 0x7F3E, 112564 },
- { 0x7F3F, 16700 },
- { 0x7F40, 34326 },
- { 0x7F41, 60332 },
- { 0x7F42, 12939 },
- { 0x7F43, 25397 },
- { 0x7F44, 16866 },
- { 0x7F45, 112576 },
- { 0x7F46, 34268 },
- { 0x7F47, 60263 },
- { 0x7F48, 12922 },
- { 0x7F49, 25137 },
- { 0x7F4A, 16834 },
- { 0x7F4B, 112559 },
- { 0x7F4C, 34261 },
- { 0x7F4D, 60250 },
- { 0x7F4E, 12918 },
- { 0x7F4F, 25128 },
- { 0x7F50, 16829 },
- { 0x7F51, 112554 },
- { 0x7F52, 34298 },
- { 0x7F53, 60289 },
- { 0x7F54, 12926 },
- { 0x7F55, 25205 },
- { 0x7F56, 16839 },
- { 0x7F57, 34313 },
- { 0x7F58, 60316 },
- { 0x7F59, 39887 },
- { 0x7F5A, 60321 },
- { 0x7F5B, 34282 },
- { 0x7F5C, 60267 },
- { 0x7F5D, 13573 },
- { 0x7F5E, 60272 },
- { 0x7F5F, 75183 },
- { 0x7F60, 34272 },
- { 0x7F61, 25141 },
- { 0x7F62, 60254 },
- { 0x7F63, 25132 },
- { 0x7F64, 10099 },
- { 0x7F65, 60293 },
- { 0x7F66, 25209 },
- { 0x7F67, 16844 },
- { 0x7F68, 25214 },
- { 0x7F69, 34321 },
- { 0x7F6A, 25381 },
- { 0x7F6B, 25386 },
- { 0x7F6C, 68696 },
- { 0x7F6D, 97464 },
- { 0x7F6E, 68536 },
- { 0x7F6F, 97461 },
- { 0x7F70, 15879 },
- { 0x7F71, 26736 },
- { 0x7F72, 26756 },
- { 0x7F73, 26728 },
- { 0x7F74, 26745 },
- { 0x7F75, 26722 },
- { 0x7F76, 26689 },
- { 0x7F77, 26709 },
- { 0x7F78, 26739 },
- { 0x7F79, 26759 },
- { 0x7F7A, 26731 },
- { 0x7F7B, 26748 },
- { 0x7F7C, 26725 },
- { 0x7F7D, 25360 },
- { 0x7F7E, 113855 },
- { 0x7F7F, 79039 },
- { 0x7F80, 120206 },
- { 0x7F81, 112289 },
- { 0x7F82, 113878 },
- { 0x7F83, 79056 },
- { 0x7F84, 120234 },
- { 0x7F85, 112311 },
- { 0x7F86, 113849 },
- { 0x7F87, 79033 },
- { 0x7F88, 120200 },
- { 0x7F89, 112283 },
- { 0x7F8A, 113861 },
- { 0x7F8B, 79045 },
- { 0x7F8C, 120212 },
- { 0x7F8D, 112295 },
- { 0x7F8E, 113898 },
- { 0x7F8F, 79072 },
- { 0x7F90, 120254 },
- { 0x7F91, 112327 },
- { 0x7F92, 25454 },
- { 0x7F93, 25408 },
- { 0x7F94, 25473 },
- { 0x7F95, 25441 },
- { 0x7F96, 25447 },
- { 0x7F97, 25401 },
- { 0x7F98, 25466 },
- { 0x7F99, 25434 },
- { 0x7F9A, 114272 },
- { 0x7F9B, 79311 },
- { 0x7F9C, 120634 },
- { 0x7F9D, 112519 },
- { 0x7F9E, 114266 },
- { 0x7F9F, 79305 },
- { 0x7FA0, 120628 },
- { 0x7FA1, 112513 },
- { 0x7FA2, 114219 },
- { 0x7FA3, 79265 },
- { 0x7FA4, 120581 },
- { 0x7FA5, 112473 },
- { 0x7FA6, 114246 },
- { 0x7FA7, 79292 },
- { 0x7FA8, 120608 },
- { 0x7FA9, 112500 },
- { 0x7FAA, 114239 },
- { 0x7FAB, 79285 },
- { 0x7FAC, 120601 },
- { 0x7FAD, 112493 },
- { 0x7FAE, 114181 },
- { 0x7FAF, 79254 },
- { 0x7FB0, 120547 },
- { 0x7FB1, 112462 },
- { 0x7FB2, 114105 },
- { 0x7FB3, 79227 },
- { 0x7FB4, 120471 },
- { 0x7FB5, 112441 },
- { 0x7FB6, 114119 },
- { 0x7FB7, 79236 },
- { 0x7FB8, 120485 },
- { 0x7FB9, 112450 },
- { 0x7FBA, 113956 },
- { 0x7FBB, 79094 },
- { 0x7FBC, 120312 },
- { 0x7FBD, 112349 },
- { 0x7FBE, 113953 },
- { 0x7FBF, 79091 },
- { 0x7FC0, 120309 },
- { 0x7FC1, 112346 },
- { 0x7FC2, 114122 },
- { 0x7FC3, 79239 },
- { 0x7FC4, 120488 },
- { 0x7FC5, 112453 },
- { 0x7FC6, 36305 },
- { 0x7FC7, 36227 },
- { 0x7FC8, 39088 },
- { 0x7FC9, 39142 },
- { 0x7FCA, 14232 },
- { 0x7FCB, 370 },
- { 0x7FCC, 125738 },
- { 0x7FCD, 125688 },
- { 0x7FCE, 125763 },
- { 0x7FCF, 125713 },
- { 0x7FD0, 125601 },
- { 0x7FD1, 125571 },
- { 0x7FD2, 125631 },
- { 0x7FD3, 125661 },
- { 0x7FD4, 125723 },
- { 0x7FD5, 125673 },
- { 0x7FD6, 125748 },
- { 0x7FD7, 125698 },
- { 0x7FD8, 125583 },
- { 0x7FD9, 125553 },
- { 0x7FDA, 125613 },
- { 0x7FDB, 125643 },
- { 0x7FDC, 125743 },
- { 0x7FDD, 125693 },
- { 0x7FDE, 125768 },
- { 0x7FDF, 125718 },
- { 0x7FE0, 125607 },
- { 0x7FE1, 125577 },
- { 0x7FE2, 125637 },
- { 0x7FE3, 125667 },
- { 0x7FE4, 125733 },
- { 0x7FE5, 125683 },
- { 0x7FE6, 125758 },
- { 0x7FE7, 125708 },
- { 0x7FE8, 125595 },
- { 0x7FE9, 125565 },
- { 0x7FEA, 125625 },
- { 0x7FEB, 125655 },
- { 0x7FEC, 125727 },
- { 0x7FED, 125677 },
- { 0x7FEE, 125752 },
- { 0x7FEF, 125702 },
- { 0x7FF0, 125588 },
- { 0x7FF1, 125558 },
- { 0x7FF2, 125618 },
- { 0x7FF3, 125648 },
- { 0x7FF4, 114111 },
- { 0x7FF5, 79230 },
- { 0x7FF6, 120477 },
- { 0x7FF7, 112444 },
- { 0x7FF8, 113963 },
- { 0x7FF9, 79135 },
- { 0x7FFA, 120324 },
- { 0x7FFB, 112356 },
- { 0x7FFC, 113888 },
- { 0x7FFD, 79062 },
- { 0x7FFE, 120244 },
- { 0x7FFF, 112317 },
- { 0x8000, 25162 },
- { 0x8001, 25179 },
- { 0x8002, 25167 },
- { 0x8003, 25173 },
- { 0x8004, 114200 },
- { 0x8005, 120330 },
- { 0x8006, 113748 },
- { 0x8007, 120108 },
- { 0x8008, 114184 },
- { 0x8009, 120562 },
- { 0x800A, 114196 },
- { 0x800B, 120550 },
- { 0x800C, 114176 },
- { 0x800D, 120542 },
- { 0x800E, 114191 },
- { 0x800F, 120557 },
- { 0x8010, 40698 },
- { 0x8011, 40703 },
- { 0x8012, 17285 },
- { 0x8013, 17303 },
- { 0x8014, 67886 },
- { 0x8015, 67880 },
- { 0x8016, 67877 },
- { 0x8017, 14085 },
- { 0x8018, 14091 },
- { 0x8019, 14079 },
- { 0x801A, 14074 },
- { 0x801B, 14071 },
- { 0x801C, 86129 },
- { 0x801D, 86137 },
- { 0x801E, 86132 },
- { 0x801F, 86141 },
- { 0x8020, 74660 },
- { 0x8021, 40883 },
- { 0x8022, 21116 },
- { 0x8023, 98441 },
- { 0x8024, 131275 },
- { 0x8025, 122072 },
- { 0x8026, 13493 },
- { 0x8027, 15562 },
- { 0x8028, 99088 },
- { 0x8029, 13496 },
- { 0x802A, 38271 },
- { 0x802B, 70528 },
- { 0x802C, 16172 },
- { 0x802D, 12960 },
- { 0x802E, 61504 },
- { 0x802F, 121691 },
- { 0x8030, 131242 },
- { 0x8031, 113490 },
- { 0x8032, 13630 },
- { 0x8033, 0 },
- { 0x8034, 13435 },
- { 0x8035, 21312 },
- { 0x8036, 115682 },
- { 0x8037, 75223 },
- { 0x8038, 86151 },
- { 0x8039, 34905 },
- { 0x803A, 13374 },
- { 0x803B, 98878 },
- { 0x803C, 13385 },
- { 0x803D, 92576 },
- { 0x803E, 92567 },
- { 0x803F, 13439 },
- { 0x8040, 75312 },
- { 0x8041, 76720 },
- { 0x8042, 13418 },
- { 0x8043, 75781 },
- { 0x8044, 98500 },
- { 0x8045, 132260 },
- { 0x8046, 37851 },
- { 0x8047, 61775 },
- { 0x8048, 61479 },
- { 0x8049, 6518 },
- { 0x804A, 60729 },
- { 0x804B, 38801 },
- { 0x804C, 61425 },
- { 0x804D, 94270 },
- { 0x804E, 52086 },
- { 0x804F, 60720 },
- { 0x8050, 116727 },
- { 0x8051, 40586 },
- { 0x8052, 93137 },
- { 0x8053, 51501 },
- { 0x8054, 66356 },
- { 0x8055, 13358 },
- { 0x8056, 83896 },
- { 0x8057, 78992 },
- { 0x8058, 39160 },
- { 0x8059, 13621 },
- { 0x805A, 37907 },
- { 0x805B, 22122 },
- { 0x805C, 61771 },
- { 0x805D, 39853 },
- { 0x805E, 49718 },
- { 0x805F, 71561 },
- { 0x8060, 68929 },
- { 0x8061, 94792 },
- { 0x8062, 98880 },
- { 0x8063, 52112 },
- { 0x8064, 106056 },
- { 0x8065, 66706 },
- { 0x8066, 84033 },
- { 0x8067, 17324 },
- { 0x8068, 61474 },
- { 0x8069, 50292 },
- { 0x806A, 79794 },
- { 0x806B, 25085 },
- { 0x806C, 75323 },
- { 0x806D, 77676 },
- { 0x806E, 6122 },
- { 0x806F, 22161 },
- { 0x8070, 74652 },
- { 0x8071, 113743 },
- { 0x8072, 98052 },
- { 0x8073, 86153 },
- { 0x8074, 69939 },
- { 0x8075, 77759 },
- { 0x8076, 117594 },
- { 0x8077, 12947 },
- { 0x8078, 6078 },
- { 0x8079, 68898 },
- { 0x807A, 80549 },
- { 0x807B, 10054 },
- { 0x807C, 75039 },
- { 0x807D, 6081 },
- { 0x807E, 98800 },
- { 0x807F, 50143 },
- { 0x8080, 34255 },
- { 0x8081, 34911 },
- { 0x8082, 15547 },
- { 0x8083, 17325 },
- { 0x8084, 76729 },
- { 0x8085, 79390 },
- { 0x8086, 76707 },
- { 0x8087, 13423 },
- { 0x8088, 13445 },
- { 0x8089, 119981 },
- { 0x808A, 91852 },
- { 0x808B, 36165 },
- { 0x808C, 112250 },
- { 0x808D, 13499 },
- { 0x808E, 13471 },
- { 0x808F, 16168 },
- { 0x8090, 6171 },
- { 0x8091, 69947 },
- { 0x8092, 54428 },
- { 0x8093, 13548 },
- { 0x8094, 13263 },
- { 0x8095, 14473 },
- { 0x8096, 98802 },
- { 0x8097, 65575 },
- { 0x8098, 79000 },
- { 0x8099, 21962 },
- { 0x809A, 13361 },
- { 0x809B, 4454 },
- { 0x809C, 38751 },
- { 0x809D, 9720 },
- { 0x809E, 6141 },
- { 0x809F, 102878 },
- { 0x80A0, 13278 },
- { 0x80A1, 69948 },
- { 0x80A2, 60072 },
- { 0x80A3, 120103 },
- { 0x80A4, 61787 },
- { 0x80A5, 39165 },
- { 0x80A6, 69943 },
- { 0x80A7, 41249 },
- { 0x80A8, 93176 },
- { 0x80A9, 98801 },
- { 0x80AA, 39202 },
- { 0x80AB, 68910 },
- { 0x80AC, 94331 },
- { 0x80AD, 34559 },
- { 0x80AE, 74651 },
- { 0x80AF, 126321 },
- { 0x80B0, 61390 },
- { 0x80B1, 75173 },
- { 0x80B2, 70891 },
- { 0x80B3, 97237 },
- { 0x80B4, 71879 },
- { 0x80B5, 49573 },
- { 0x80B6, 16358 },
- { 0x80B7, 71235 },
- { 0x80B8, 13281 },
- { 0x80B9, 38812 },
- { 0x80BA, 37846 },
- { 0x80BB, 115690 },
- { 0x80BC, 38807 },
- { 0x80BD, 91844 },
- { 0x80BE, 60816 },
- { 0x80BF, 49638 },
- { 0x80C0, 20310 },
- { 0x80C1, 16169 },
- { 0x80C2, 25089 },
- { 0x80C3, 75043 },
- { 0x80C4, 22022 },
- { 0x80C5, 22029 },
- { 0x80C6, 22026 },
- { 0x80C7, 22033 },
- { 0x80C8, 12942 },
- { 0x80C9, 6488 },
- { 0x80CA, 13550 },
- { 0x80CB, 39964 },
- { 0x80CC, 116435 },
- { 0x80CD, 131268 },
- { 0x80CE, 61719 },
- { 0x80CF, 6118 },
- { 0x80D0, 115549 },
- { 0x80D1, 60248 },
- { 0x80D2, 119971 },
- { 0x80D3, 119973 },
- { 0x80D4, 50522 },
- { 0x80D5, 68928 },
- { 0x80D6, 16166 },
- { 0x80D7, 80308 },
- { 0x80D8, 52130 },
- { 0x80D9, 37255 },
- { 0x80DA, 69905 },
- { 0x80DB, 65749 },
- { 0x80DC, 50133 },
- { 0x80DD, 14744 },
- { 0x80DE, 6155 },
- { 0x80DF, 50127 },
- { 0x80E0, 39971 },
- { 0x80E1, 98890 },
- { 0x80E2, 94790 },
- { 0x80E3, 13276 },
- { 0x80E4, 13456 },
- { 0x80E5, 17267 },
- { 0x80E6, 21209 },
- { 0x80E7, 37250 },
- { 0x80E8, 66712 },
- { 0x80E9, 61422 },
- { 0x80EA, 61400 },
- { 0x80EB, 61437 },
- { 0x80EC, 61396 },
- { 0x80ED, 14718 },
- { 0x80EE, 22113 },
- { 0x80EF, 79333 },
- { 0x80F0, 114838 },
- { 0x80F1, 6123 },
- { 0x80F2, 22155 },
- { 0x80F3, 66525 },
- { 0x80F4, 21108 },
- { 0x80F5, 60806 },
- { 0x80F6, 49641 },
- { 0x80F7, 38749 },
- { 0x80F8, 52139 },
- { 0x80F9, 13261 },
- { 0x80FA, 39021 },
- { 0x80FB, 10077 },
- { 0x80FC, 121062 },
- { 0x80FD, 54453 },
- { 0x80FE, 16366 },
- { 0x80FF, 37861 },
- { 0x8100, 6096 },
- { 0x8101, 68899 },
- { 0x8102, 41251 },
- { 0x8103, 13531 },
- { 0x8104, 78963 },
- { 0x8105, 21111 },
- { 0x8106, 60247 },
- { 0x8107, 70961 },
- { 0x8108, 60073 },
- { 0x8109, 39157 },
- { 0x810A, 12887 },
- { 0x810B, 61717 },
- { 0x810C, 39843 },
- { 0x810D, 21115 },
- { 0x810E, 49623 },
- { 0x810F, 16052 },
- { 0x8110, 4449 },
- { 0x8111, 61826 },
- { 0x8112, 75182 },
- { 0x8113, 36160 },
- { 0x8114, 74024 },
- { 0x8115, 74075 },
- { 0x8116, 74058 },
- { 0x8117, 74092 },
- { 0x8118, 74109 },
- { 0x8119, 74041 },
- { 0x811A, 40835 },
- { 0x811B, 20506 },
- { 0x811C, 74150 },
- { 0x811D, 40720 },
- { 0x811E, 40771 },
- { 0x811F, 40754 },
- { 0x8120, 40788 },
- { 0x8121, 40829 },
- { 0x8122, 40737 },
- { 0x8123, 20391 },
- { 0x8124, 20442 },
- { 0x8125, 20425 },
- { 0x8126, 20459 },
- { 0x8127, 20500 },
- { 0x8128, 20408 },
- { 0x8129, 74035 },
- { 0x812A, 74086 },
- { 0x812B, 74069 },
- { 0x812C, 74103 },
- { 0x812D, 74144 },
- { 0x812E, 74052 },
- { 0x812F, 40797 },
- { 0x8130, 20468 },
- { 0x8131, 74112 },
- { 0x8132, 40841 },
- { 0x8133, 40853 },
- { 0x8134, 40849 },
- { 0x8135, 40857 },
- { 0x8136, 40861 },
- { 0x8137, 40845 },
- { 0x8138, 20512 },
- { 0x8139, 20524 },
- { 0x813A, 20520 },
- { 0x813B, 20528 },
- { 0x813C, 20532 },
- { 0x813D, 20516 },
- { 0x813E, 74156 },
- { 0x813F, 74168 },
- { 0x8140, 74164 },
- { 0x8141, 74172 },
- { 0x8142, 74176 },
- { 0x8143, 74160 },
- { 0x8144, 40813 },
- { 0x8145, 20484 },
- { 0x8146, 74128 },
- { 0x8147, 40712 },
- { 0x8148, 40763 },
- { 0x8149, 40746 },
- { 0x814A, 40780 },
- { 0x814B, 40805 },
- { 0x814C, 40729 },
- { 0x814D, 20383 },
- { 0x814E, 20434 },
- { 0x814F, 20417 },
- { 0x8150, 20451 },
- { 0x8151, 20476 },
- { 0x8152, 20400 },
- { 0x8153, 74027 },
- { 0x8154, 74078 },
- { 0x8155, 74061 },
- { 0x8156, 74095 },
- { 0x8157, 74120 },
- { 0x8158, 74044 },
- { 0x8159, 40821 },
- { 0x815A, 20492 },
- { 0x815B, 74136 },
- { 0x815C, 40865 },
- { 0x815D, 20536 },
- { 0x815E, 74180 },
- { 0x815F, 40868 },
- { 0x8160, 20539 },
- { 0x8161, 74183 },
- { 0x8162, 40877 },
- { 0x8163, 40874 },
- { 0x8164, 40880 },
- { 0x8165, 20548 },
- { 0x8166, 20545 },
- { 0x8167, 20551 },
- { 0x8168, 79357 },
- { 0x8169, 79366 },
- { 0x816A, 79363 },
- { 0x816B, 79348 },
- { 0x816C, 79354 },
- { 0x816D, 79351 },
- { 0x816E, 79360 },
- { 0x816F, 79378 },
- { 0x8170, 79387 },
- { 0x8171, 79384 },
- { 0x8172, 79369 },
- { 0x8173, 79375 },
- { 0x8174, 79372 },
- { 0x8175, 79381 },
- { 0x8176, 49574 },
- { 0x8177, 115687 },
- { 0x8178, 50117 },
- { 0x8179, 61785 },
- { 0x817A, 39856 },
- { 0x817B, 34265 },
- { 0x817C, 13624 },
- { 0x817D, 15966 },
- { 0x817E, 13355 },
- { 0x817F, 79399 },
- { 0x8180, 125470 },
- { 0x8181, 41247 },
- { 0x8182, 51415 },
- { 0x8183, 41248 },
- { 0x8184, 13942 },
- { 0x8185, 115789 },
- { 0x8186, 102876 },
- { 0x8187, 34907 },
- { 0x8188, 61446 },
- { 0x8189, 74020 },
- { 0x818A, 71322 },
- { 0x818B, 22140 },
- { 0x818C, 61698 },
- { 0x818D, 21191 },
- { 0x818E, 37906 },
- { 0x818F, 4448 },
- { 0x8190, 13279 },
- { 0x8191, 19949 },
- { 0x8192, 95620 },
- { 0x8193, 100777 },
- { 0x8194, 14651 },
- { 0x8195, 13262 },
- { 0x8196, 104133 },
- { 0x8197, 122315 },
- { 0x8198, 57436 },
- { 0x8199, 13656 },
- { 0x819A, 60704 },
- { 0x819B, 66358 },
- { 0x819C, 75024 },
- { 0x819D, 61778 },
- { 0x819E, 13943 },
- { 0x819F, 50129 },
- { 0x81A0, 36089 },
- { 0x81A1, 120961 },
- { 0x81A2, 113492 },
- { 0x81A3, 74662 },
- { 0x81A4, 16051 },
- { 0x81A5, 60705 },
- { 0x81A6, 132263 },
- { 0x81A7, 6506 },
- { 0x81A8, 25092 },
- { 0x81A9, 69935 },
- { 0x81AA, 13626 },
- { 0x81AB, 55340 },
- { 0x81AC, 6137 },
- { 0x81AD, 16913 },
- { 0x81AE, 49639 },
- { 0x81AF, 104422 },
- { 0x81B0, 61475 },
- { 0x81B1, 16906 },
- { 0x81B2, 69927 },
- { 0x81B3, 34560 },
- { 0x81B4, 21321 },
- { 0x81B5, 22061 },
- { 0x81B6, 15564 },
- { 0x81B7, 93729 },
- { 0x81B8, 113526 },
- { 0x81B9, 16903 },
- { 0x81BA, 22167 },
- { 0x81BB, 117577 },
- { 0x81BC, 34904 },
- { 0x81BD, 61394 },
- { 0x81BE, 98498 },
- { 0x81BF, 98502 },
- { 0x81C0, 61411 },
- { 0x81C1, 36079 },
- { 0x81C2, 51807 },
- { 0x81C3, 121008 },
- { 0x81C4, 12901 },
- { 0x81C5, 37254 },
- { 0x81C6, 112582 },
- { 0x81C7, 63175 },
- { 0x81C8, 52119 },
- { 0x81C9, 64990 },
- { 0x81CA, 75032 },
- { 0x81CB, 20307 },
- { 0x81CC, 6167 },
- { 0x81CD, 52135 },
- { 0x81CE, 10039 },
- { 0x81CF, 71872 },
- { 0x81D0, 98798 },
- { 0x81D1, 13399 },
- { 0x81D2, 13459 },
- { 0x81D3, 13467 },
- { 0x81D4, 51808 },
- { 0x81D5, 49643 },
- { 0x81D6, 67829 },
- { 0x81D7, 75321 },
- { 0x81D8, 13637 },
- { 0x81D9, 120117 },
- { 0x81DA, 113757 },
- { 0x81DB, 15946 },
- { 0x81DC, 15943 },
- { 0x81DD, 25594 },
- { 0x81DE, 25110 },
- { 0x81DF, 114102 },
- { 0x81E0, 120468 },
- { 0x81E1, 20987 },
- { 0x81E2, 20989 },
- { 0x81E3, 20999 },
- { 0x81E4, 20991 },
- { 0x81E5, 21001 },
- { 0x81E6, 21009 },
- { 0x81E7, 21029 },
- { 0x81E8, 20993 },
- { 0x81E9, 21003 },
- { 0x81EA, 21011 },
- { 0x81EB, 21031 },
- { 0x81EC, 21017 },
- { 0x81ED, 21037 },
- { 0x81EE, 21047 },
- { 0x81EF, 21065 },
- { 0x81F0, 20995 },
- { 0x81F1, 21005 },
- { 0x81F2, 21013 },
- { 0x81F3, 21033 },
- { 0x81F4, 21019 },
- { 0x81F5, 21049 },
- { 0x81F6, 21067 },
- { 0x81F7, 21023 },
- { 0x81F8, 21041 },
- { 0x81F9, 21053 },
- { 0x81FA, 21071 },
- { 0x81FB, 21057 },
- { 0x81FC, 21077 },
- { 0x81FD, 21085 },
- { 0x81FE, 21095 },
- { 0x81FF, 20997 },
- { 0x8200, 21007 },
- { 0x8201, 21015 },
- { 0x8202, 21035 },
- { 0x8203, 21021 },
- { 0x8204, 21039 },
- { 0x8205, 21051 },
- { 0x8206, 21069 },
- { 0x8207, 21025 },
- { 0x8208, 21043 },
- { 0x8209, 21073 },
- { 0x820A, 21059 },
- { 0x820B, 21079 },
- { 0x820C, 21087 },
- { 0x820D, 21097 },
- { 0x820E, 21027 },
- { 0x820F, 21045 },
- { 0x8210, 21055 },
- { 0x8211, 21075 },
- { 0x8212, 21061 },
- { 0x8213, 21081 },
- { 0x8214, 21089 },
- { 0x8215, 21099 },
- { 0x8216, 21063 },
- { 0x8217, 21083 },
- { 0x8218, 21091 },
- { 0x8219, 21101 },
- { 0x821A, 21093 },
- { 0x821B, 21103 },
- { 0x821C, 21105 },
- { 0x821D, 34598 },
- { 0x821E, 34588 },
- { 0x821F, 34676 },
- { 0x8220, 34666 },
- { 0x8221, 34608 },
- { 0x8222, 34834 },
- { 0x8223, 34824 },
- { 0x8224, 34803 },
- { 0x8225, 34793 },
- { 0x8226, 34745 },
- { 0x8227, 34813 },
- { 0x8228, 34764 },
- { 0x8229, 34735 },
- { 0x822A, 34783 },
- { 0x822B, 34754 },
- { 0x822C, 34774 },
- { 0x822D, 34656 },
- { 0x822E, 34627 },
- { 0x822F, 34646 },
- { 0x8230, 34617 },
- { 0x8231, 34637 },
- { 0x8232, 34686 },
- { 0x8233, 40242 },
- { 0x8234, 40232 },
- { 0x8235, 40320 },
- { 0x8236, 40310 },
- { 0x8237, 40252 },
- { 0x8238, 40187 },
- { 0x8239, 40177 },
- { 0x823A, 40156 },
- { 0x823B, 40146 },
- { 0x823C, 40098 },
- { 0x823D, 40166 },
- { 0x823E, 40117 },
- { 0x823F, 40088 },
- { 0x8240, 40136 },
- { 0x8241, 40107 },
- { 0x8242, 40127 },
- { 0x8243, 40300 },
- { 0x8244, 40271 },
- { 0x8245, 40290 },
- { 0x8246, 40261 },
- { 0x8247, 40281 },
- { 0x8248, 40330 },
- { 0x8249, 40020 },
- { 0x824A, 13964 },
- { 0x824B, 39999 },
- { 0x824C, 13994 },
- { 0x824D, 14425 },
- { 0x824E, 40384 },
- { 0x824F, 38247 },
- { 0x8250, 34897 },
- { 0x8251, 99500 },
- { 0x8252, 99504 },
- { 0x8253, 99508 },
- { 0x8254, 99512 },
- { 0x8255, 99516 },
- { 0x8256, 99520 },
- { 0x8257, 119522 },
- { 0x8258, 119526 },
- { 0x8259, 119530 },
- { 0x825A, 119534 },
- { 0x825B, 119538 },
- { 0x825C, 119542 },
- { 0x825D, 13973 },
- { 0x825E, 14003 },
- { 0x825F, 37914 },
- { 0x8260, 37908 },
- { 0x8261, 40008 },
- { 0x8262, 119546 },
- { 0x8263, 40033 },
- { 0x8264, 40376 },
- { 0x8265, 40037 },
- { 0x8266, 40380 },
- { 0x8267, 40372 },
- { 0x8268, 37932 },
- { 0x8269, 38064 },
- { 0x826A, 37939 },
- { 0x826B, 38068 },
- { 0x826C, 38054 },
- { 0x826D, 14100 },
- { 0x826E, 37957 },
- { 0x826F, 40056 },
- { 0x8270, 34579 },
- { 0x8271, 70548 },
- { 0x8272, 40044 },
- { 0x8273, 40065 },
- { 0x8274, 14104 },
- { 0x8275, 67837 },
- { 0x8276, 70551 },
- { 0x8277, 25460 },
- { 0x8278, 40082 },
- { 0x8279, 40226 },
- { 0x827A, 40014 },
- { 0x827B, 13988 },
- { 0x827C, 40210 },
- { 0x827D, 40362 },
- { 0x827E, 34870 },
- { 0x827F, 34722 },
- { 0x8280, 5066 },
- { 0x8281, 5117 },
- { 0x8282, 5168 },
- { 0x8283, 5216 },
- { 0x8284, 5075 },
- { 0x8285, 5126 },
- { 0x8286, 5177 },
- { 0x8287, 5189 },
- { 0x8288, 5102 },
- { 0x8289, 5153 },
- { 0x828A, 5138 },
- { 0x828B, 5087 },
- { 0x828C, 5201 },
- { 0x828D, 5225 },
- { 0x828E, 5240 },
- { 0x828F, 5283 },
- { 0x8290, 132338 },
- { 0x8291, 70540 },
- { 0x8292, 14113 },
- { 0x8293, 37961 },
- { 0x8294, 70555 },
- { 0x8295, 113782 },
- { 0x8296, 120133 },
- { 0x8297, 112262 },
- { 0x8298, 79012 },
- { 0x8299, 14097 },
- { 0x829A, 37954 },
- { 0x829B, 65668 },
- { 0x829C, 37969 },
- { 0x829D, 97646 },
- { 0x829E, 97649 },
- { 0x829F, 97656 },
- { 0x82A0, 40892 },
- { 0x82A1, 14248 },
- { 0x82A2, 60698 },
- { 0x82A3, 38058 },
- { 0x82A4, 97642 },
- { 0x82A5, 39174 },
- { 0x82A6, 39176 },
- { 0x82A7, 39185 },
- { 0x82A8, 39189 },
- { 0x82A9, 39181 },
- { 0x82AA, 41180 },
- { 0x82AB, 116096 },
- { 0x82AC, 116078 },
- { 0x82AD, 116084 },
- { 0x82AE, 116105 },
- { 0x82AF, 116090 },
- { 0x82B0, 116087 },
- { 0x82B1, 116081 },
- { 0x82B2, 116102 },
- { 0x82B3, 116099 },
- { 0x82B4, 116093 },
- { 0x82B5, 94796 },
- { 0x82B6, 10450 },
- { 0x82B7, 10497 },
- { 0x82B8, 10484 },
- { 0x82B9, 10460 },
- { 0x82BA, 10454 },
- { 0x82BB, 10463 },
- { 0x82BC, 10479 },
- { 0x82BD, 10489 },
- { 0x82BE, 10136 },
- { 0x82BF, 10447 },
- { 0x82C0, 10471 },
- { 0x82C1, 10139 },
- { 0x82C2, 10144 },
- { 0x82C3, 10503 },
- { 0x82C4, 10125 },
- { 0x82C5, 10469 },
- { 0x82C6, 10164 },
- { 0x82C7, 10146 },
- { 0x82C8, 10152 },
- { 0x82C9, 10173 },
- { 0x82CA, 10158 },
- { 0x82CB, 10155 },
- { 0x82CC, 10149 },
- { 0x82CD, 10170 },
- { 0x82CE, 10167 },
- { 0x82CF, 10161 },
- { 0x82D0, 10142 },
- { 0x82D1, 10487 },
- { 0x82D2, 10481 },
- { 0x82D3, 10457 },
- { 0x82D4, 10500 },
- { 0x82D5, 10473 },
- { 0x82D6, 10494 },
- { 0x82D7, 10309 },
- { 0x82D8, 10314 },
- { 0x82D9, 10319 },
- { 0x82DA, 10324 },
- { 0x82DB, 10329 },
- { 0x82DC, 10334 },
- { 0x82DD, 10339 },
- { 0x82DE, 10344 },
- { 0x82DF, 10349 },
- { 0x82E0, 10354 },
- { 0x82E1, 10359 },
- { 0x82E2, 10364 },
- { 0x82E3, 10369 },
- { 0x82E4, 10374 },
- { 0x82E5, 10379 },
- { 0x82E6, 10384 },
- { 0x82E7, 10389 },
- { 0x82E8, 10394 },
- { 0x82E9, 10399 },
- { 0x82EA, 10404 },
- { 0x82EB, 10409 },
- { 0x82EC, 10414 },
- { 0x82ED, 10419 },
- { 0x82EE, 10424 },
- { 0x82EF, 10429 },
- { 0x82F0, 10434 },
- { 0x82F1, 10132 },
- { 0x82F2, 10466 },
- { 0x82F3, 10443 },
- { 0x82F4, 10491 },
- { 0x82F5, 10122 },
- { 0x82F6, 10176 },
- { 0x82F7, 10179 },
- { 0x82F8, 10184 },
- { 0x82F9, 10189 },
- { 0x82FA, 10194 },
- { 0x82FB, 10199 },
- { 0x82FC, 10204 },
- { 0x82FD, 10209 },
- { 0x82FE, 10214 },
- { 0x82FF, 10219 },
- { 0x8300, 10224 },
- { 0x8301, 10229 },
- { 0x8302, 10234 },
- { 0x8303, 10239 },
- { 0x8304, 10244 },
- { 0x8305, 10249 },
- { 0x8306, 10254 },
- { 0x8307, 10259 },
- { 0x8308, 10264 },
- { 0x8309, 10269 },
- { 0x830A, 10274 },
- { 0x830B, 10279 },
- { 0x830C, 10284 },
- { 0x830D, 10289 },
- { 0x830E, 10294 },
- { 0x830F, 10299 },
- { 0x8310, 10304 },
- { 0x8311, 10128 },
- { 0x8312, 10476 },
- { 0x8313, 10439 },
- { 0x8314, 10452 },
- { 0x8315, 50139 },
+ { 0x2BA0, 121667 },
+ { 0x2BA1, 121660 },
+ { 0x2BA2, 121687 },
+ { 0x2BA3, 121631 },
+ { 0x2BA4, 121082 },
+ { 0x2BA5, 121076 },
+ { 0x2BA6, 121069 },
+ { 0x2BA7, 21461 },
+ { 0x2BA8, 93954 },
+ { 0x2BA9, 121122 },
+ { 0x2BAA, 121111 },
+ { 0x2BAB, 121104 },
+ { 0x2BAC, 14126 },
+ { 0x2BAD, 37995 },
+ { 0x2BAE, 14296 },
+ { 0x2BAF, 38103 },
+ { 0x2BB0, 14289 },
+ { 0x2BB1, 38096 },
+ { 0x2BB2, 14266 },
+ { 0x2BB3, 38076 },
+ { 0x2BB4, 14149 },
+ { 0x2BB5, 38027 },
+ { 0x2BB6, 61469 },
+ { 0x2BB7, 13618 },
+ { 0x2BB8, 14404 },
+ { 0x2BB9, 38224 },
+ { 0x2BBA, 14279 },
+ { 0x2BBB, 38089 },
+ { 0x2BBC, 14274 },
+ { 0x2BBD, 38084 },
+ { 0x2BBE, 14270 },
+ { 0x2BBF, 38080 },
+ { 0x2BC0, 16872 },
+ { 0x2BC1, 98747 },
+ { 0x2BC2, 51863 },
+ { 0x2BC3, 6495 },
+ { 0x2BC4, 61471 },
+ { 0x2BC5, 93138 },
+ { 0x2BC6, 93147 },
+ { 0x2BC7, 93165 },
+ { 0x2BC8, 93153 },
+ { 0x2BC9, 93150 },
+ { 0x2BCA, 93141 },
+ { 0x2BCB, 93162 },
+ { 0x2BCC, 93159 },
+ { 0x2BCD, 93156 },
+ { 0x2BCE, 121078 },
+ { 0x2BCF, 121107 },
+ { 0x2BD0, 121118 },
+ { 0x2BD1, 121114 },
+ { 0x2BD2, 52521 },
+ { 0x2BD3, 52235 },
+ { 0x2BD4, 16887 },
+ { 0x2BD5, 99533 },
+ { 0x2BD6, 99549 },
+ { 0x2BD7, 99543 },
+ { 0x2BD8, 99556 },
+ { 0x2BD9, 99537 },
+ { 0x2BDA, 68533 },
+ { 0x2BDB, 121125 },
+ { 0x2BDC, 93144 },
+ { 0x2BDD, 93171 },
+ { 0x2BDE, 93168 },
+ { 0x2BDF, 99600 },
+ { 0x2BE0, 14742 },
+ { 0x2BE1, 15953 },
+ { 0x2BE2, 121527 },
+ { 0x2BE3, 121072 },
+ { 0x2BE4, 93643 },
+ { 0x2BE5, 93421 },
+ { 0x2BE6, 93651 },
+ { 0x2BE7, 93427 },
+ { 0x2BE8, 93659 },
+ { 0x2BE9, 93436 },
+ { 0x2BEA, 93647 },
+ { 0x2BEB, 93424 },
+ { 0x2BEC, 93655 },
+ { 0x2BED, 93433 },
+ { 0x2BEE, 93499 },
+ { 0x2BEF, 93469 },
+ { 0x2BF0, 93505 },
+ { 0x2BF1, 93475 },
+ { 0x2BF2, 93511 },
+ { 0x2BF3, 93481 },
+ { 0x2BF4, 93502 },
+ { 0x2BF5, 93472 },
+ { 0x2BF6, 93508 },
+ { 0x2BF7, 93478 },
+ { 0x2BF8, 93574 },
+ { 0x2BF9, 93628 },
+ { 0x2BFA, 93580 },
+ { 0x2BFB, 93634 },
+ { 0x2BFC, 93586 },
+ { 0x2BFD, 93640 },
+ { 0x2BFE, 93577 },
+ { 0x2BFF, 93631 },
+ { 0x2C00, 93583 },
+ { 0x2C01, 93637 },
+ { 0x2C02, 93589 },
+ { 0x2C03, 93454 },
+ { 0x2C04, 93595 },
+ { 0x2C05, 93460 },
+ { 0x2C06, 93675 },
+ { 0x2C07, 93601 },
+ { 0x2C08, 93466 },
+ { 0x2C09, 93592 },
+ { 0x2C0A, 93457 },
+ { 0x2C0B, 93598 },
+ { 0x2C0C, 93463 },
+ { 0x2C0D, 93529 },
+ { 0x2C0E, 93535 },
+ { 0x2C0F, 93541 },
+ { 0x2C10, 93532 },
+ { 0x2C11, 93538 },
+ { 0x2C12, 93484 },
+ { 0x2C13, 93439 },
+ { 0x2C14, 93544 },
+ { 0x2C15, 93490 },
+ { 0x2C16, 93445 },
+ { 0x2C17, 93550 },
+ { 0x2C18, 93496 },
+ { 0x2C19, 93451 },
+ { 0x2C1A, 93556 },
+ { 0x2C1B, 93487 },
+ { 0x2C1C, 93442 },
+ { 0x2C1D, 93547 },
+ { 0x2C1E, 93493 },
+ { 0x2C1F, 93448 },
+ { 0x2C20, 93553 },
+ { 0x2C21, 93514 },
+ { 0x2C22, 93520 },
+ { 0x2C23, 93526 },
+ { 0x2C24, 93517 },
+ { 0x2C25, 93523 },
+ { 0x2C26, 93695 },
+ { 0x2C27, 93619 },
+ { 0x2C28, 93703 },
+ { 0x2C29, 93625 },
+ { 0x2C2A, 93699 },
+ { 0x2C2B, 93622 },
+ { 0x2C2C, 93559 },
+ { 0x2C2D, 93565 },
+ { 0x2C2E, 93571 },
+ { 0x2C2F, 93562 },
+ { 0x2C30, 93568 },
+ { 0x2C31, 93679 },
+ { 0x2C32, 93607 },
+ { 0x2C33, 93613 },
+ { 0x2C34, 93610 },
+ { 0x2C35, 93616 },
+ { 0x2C36, 93430 },
+ { 0x2C37, 93604 },
+ { 0x2C38, 93663 },
+ { 0x2C39, 93667 },
+ { 0x2C3A, 106039 },
+ { 0x2C3B, 106044 },
+ { 0x2C3C, 132371 },
+ { 0x2C3D, 132379 },
+ { 0x2C3E, 93722 },
+ { 0x2C3F, 93715 },
+ { 0x2C40, 93719 },
+ { 0x2C41, 132368 },
+ { 0x2C42, 94566 },
+ { 0x2C43, 94332 },
+ { 0x2C44, 94574 },
+ { 0x2C45, 94338 },
+ { 0x2C46, 94586 },
+ { 0x2C47, 94347 },
+ { 0x2C48, 94570 },
+ { 0x2C49, 94335 },
+ { 0x2C4A, 94582 },
+ { 0x2C4B, 94344 },
+ { 0x2C4C, 94410 },
+ { 0x2C4D, 94380 },
+ { 0x2C4E, 94416 },
+ { 0x2C4F, 94386 },
+ { 0x2C50, 94422 },
+ { 0x2C51, 94392 },
+ { 0x2C52, 94413 },
+ { 0x2C53, 94383 },
+ { 0x2C54, 94419 },
+ { 0x2C55, 94389 },
+ { 0x2C56, 94485 },
+ { 0x2C57, 94551 },
+ { 0x2C58, 94491 },
+ { 0x2C59, 94557 },
+ { 0x2C5A, 94497 },
+ { 0x2C5B, 94563 },
+ { 0x2C5C, 94488 },
+ { 0x2C5D, 94554 },
+ { 0x2C5E, 94494 },
+ { 0x2C5F, 94560 },
+ { 0x2C60, 94500 },
+ { 0x2C61, 94365 },
+ { 0x2C62, 94506 },
+ { 0x2C63, 94371 },
+ { 0x2C64, 94666 },
+ { 0x2C65, 94512 },
+ { 0x2C66, 94377 },
+ { 0x2C67, 94503 },
+ { 0x2C68, 94368 },
+ { 0x2C69, 94509 },
+ { 0x2C6A, 94374 },
+ { 0x2C6B, 94440 },
+ { 0x2C6C, 94446 },
+ { 0x2C6D, 94452 },
+ { 0x2C6E, 94443 },
+ { 0x2C6F, 94449 },
+ { 0x2C70, 94395 },
+ { 0x2C71, 94350 },
+ { 0x2C72, 94455 },
+ { 0x2C73, 94401 },
+ { 0x2C74, 94356 },
+ { 0x2C75, 94461 },
+ { 0x2C76, 94407 },
+ { 0x2C77, 94362 },
+ { 0x2C78, 94467 },
+ { 0x2C79, 94398 },
+ { 0x2C7A, 94353 },
+ { 0x2C7B, 94458 },
+ { 0x2C7C, 94404 },
+ { 0x2C7D, 94359 },
+ { 0x2C7E, 94464 },
+ { 0x2C7F, 94425 },
+ { 0x2C80, 94431 },
+ { 0x2C81, 94437 },
+ { 0x2C82, 94428 },
+ { 0x2C83, 94434 },
+ { 0x2C84, 94686 },
+ { 0x2C85, 94542 },
+ { 0x2C86, 94694 },
+ { 0x2C87, 94548 },
+ { 0x2C88, 94690 },
+ { 0x2C89, 94545 },
+ { 0x2C8A, 94470 },
+ { 0x2C8B, 94476 },
+ { 0x2C8C, 94482 },
+ { 0x2C8D, 94473 },
+ { 0x2C8E, 94479 },
+ { 0x2C8F, 94670 },
+ { 0x2C90, 94530 },
+ { 0x2C91, 94536 },
+ { 0x2C92, 94533 },
+ { 0x2C93, 94539 },
+ { 0x2C94, 94341 },
+ { 0x2C95, 94527 },
+ { 0x2C96, 94610 },
+ { 0x2C97, 94614 },
+ { 0x2C98, 94515 },
+ { 0x2C99, 94521 },
+ { 0x2C9A, 94518 },
+ { 0x2C9B, 94524 },
+ { 0x2C9C, 94773 },
+ { 0x2C9D, 132375 },
+ { 0x2C9E, 94783 },
+ { 0x2C9F, 94776 },
+ { 0x2CA0, 94780 },
+ { 0x2CA1, 80339 },
+ { 0x2CA2, 80387 },
+ { 0x2CA3, 80372 },
+ { 0x2CA4, 80351 },
+ { 0x2CA5, 80345 },
+ { 0x2CA6, 80399 },
+ { 0x2CA7, 80375 },
+ { 0x2CA8, 80369 },
+ { 0x2CA9, 80354 },
+ { 0x2CAA, 80366 },
+ { 0x2CAB, 80357 },
+ { 0x2CAC, 80363 },
+ { 0x2CAD, 80390 },
+ { 0x2CAE, 80408 },
+ { 0x2CAF, 80504 },
+ { 0x2CB0, 80432 },
+ { 0x2CB1, 80501 },
+ { 0x2CB2, 80393 },
+ { 0x2CB3, 80411 },
+ { 0x2CB4, 80342 },
+ { 0x2CB5, 80396 },
+ { 0x2CB6, 80336 },
+ { 0x2CB7, 80378 },
+ { 0x2CB8, 80348 },
+ { 0x2CB9, 80438 },
+ { 0x2CBA, 80417 },
+ { 0x2CBB, 80441 },
+ { 0x2CBC, 80426 },
+ { 0x2CBD, 80498 },
+ { 0x2CBE, 80423 },
+ { 0x2CBF, 80444 },
+ { 0x2CC0, 80513 },
+ { 0x2CC1, 80519 },
+ { 0x2CC2, 80447 },
+ { 0x2CC3, 80360 },
+ { 0x2CC4, 80402 },
+ { 0x2CC5, 80471 },
+ { 0x2CC6, 80405 },
+ { 0x2CC7, 80483 },
+ { 0x2CC8, 80453 },
+ { 0x2CC9, 80462 },
+ { 0x2CCA, 80381 },
+ { 0x2CCB, 80486 },
+ { 0x2CCC, 52347 },
+ { 0x2CCD, 52446 },
+ { 0x2CCE, 52416 },
+ { 0x2CCF, 52329 },
+ { 0x2CD0, 52422 },
+ { 0x2CD1, 52425 },
+ { 0x2CD2, 52350 },
+ { 0x2CD3, 52449 },
+ { 0x2CD4, 52335 },
+ { 0x2CD5, 52464 },
+ { 0x2CD6, 52434 },
+ { 0x2CD7, 52437 },
+ { 0x2CD8, 52389 },
+ { 0x2CD9, 52491 },
+ { 0x2CDA, 52488 },
+ { 0x2CDB, 52431 },
+ { 0x2CDC, 52326 },
+ { 0x2CDD, 52332 },
+ { 0x2CDE, 52413 },
+ { 0x2CDF, 52386 },
+ { 0x2CE0, 52305 },
+ { 0x2CE1, 52377 },
+ { 0x2CE2, 52323 },
+ { 0x2CE3, 52317 },
+ { 0x2CE4, 52401 },
+ { 0x2CE5, 52359 },
+ { 0x2CE6, 52362 },
+ { 0x2CE7, 52371 },
+ { 0x2CE8, 52368 },
+ { 0x2CE9, 52320 },
+ { 0x2CEA, 52242 },
+ { 0x2CEB, 52257 },
+ { 0x2CEC, 52278 },
+ { 0x2CED, 52299 },
+ { 0x2CEE, 52260 },
+ { 0x2CEF, 52245 },
+ { 0x2CF0, 52302 },
+ { 0x2CF1, 52281 },
+ { 0x2CF2, 52251 },
+ { 0x2CF3, 52269 },
+ { 0x2CF4, 52293 },
+ { 0x2CF5, 52266 },
+ { 0x2CF6, 52287 },
+ { 0x2CF7, 52254 },
+ { 0x2CF8, 52296 },
+ { 0x2CF9, 52272 },
+ { 0x2CFA, 52275 },
+ { 0x2CFB, 52290 },
+ { 0x2CFC, 52263 },
+ { 0x2CFD, 52284 },
+ { 0x2CFE, 52248 },
+ { 0x2CFF, 52240 },
+ { 0x2D00, 52410 },
+ { 0x2D01, 52455 },
+ { 0x2D02, 52383 },
+ { 0x2D03, 52479 },
+ { 0x2D04, 52512 },
+ { 0x2D05, 52467 },
+ { 0x2D06, 52500 },
+ { 0x2D07, 52485 },
+ { 0x2D08, 52515 },
+ { 0x2D09, 52419 },
+ { 0x2D0A, 52380 },
+ { 0x2D0B, 52476 },
+ { 0x2D0C, 52470 },
+ { 0x2D0D, 52458 },
+ { 0x2D0E, 52461 },
+ { 0x2D0F, 52506 },
+ { 0x2D10, 52509 },
+ { 0x2D11, 52428 },
+ { 0x2D12, 52482 },
+ { 0x2D13, 52473 },
+ { 0x2D14, 52518 },
+ { 0x2D15, 52440 },
+ { 0x2D16, 52395 },
+ { 0x2D17, 52443 },
+ { 0x2D18, 52398 },
+ { 0x2D19, 52392 },
+ { 0x2D1A, 52365 },
+ { 0x2D1B, 52407 },
+ { 0x2D1C, 52374 },
+ { 0x2D1D, 52494 },
+ { 0x2D1E, 52503 },
+ { 0x2D1F, 52497 },
+ { 0x2D20, 52404 },
+ { 0x2D21, 52452 },
+ { 0x2D22, 52338 },
+ { 0x2D23, 52353 },
+ { 0x2D24, 52308 },
+ { 0x2D25, 52356 },
+ { 0x2D26, 52341 },
+ { 0x2D27, 52311 },
+ { 0x2D28, 52314 },
+ { 0x2D29, 52344 },
+ { 0x2D2A, 121586 },
+ { 0x2D2B, 121590 },
+ { 0x2D2C, 121534 },
+ { 0x2D2D, 121542 },
+ { 0x2D2E, 121562 },
+ { 0x2D2F, 121546 },
+ { 0x2D30, 121538 },
+ { 0x2D31, 121578 },
+ { 0x2D32, 121566 },
+ { 0x2D33, 121554 },
+ { 0x2D34, 121582 },
+ { 0x2D35, 121558 },
+ { 0x2D36, 121570 },
+ { 0x2D37, 121574 },
+ { 0x2D38, 121550 },
+ { 0x2D39, 121530 },
+ { 0x2D3A, 80429 },
+ { 0x2D3B, 80507 },
+ { 0x2D3C, 80474 },
+ { 0x2D3D, 80456 },
+ { 0x2D3E, 80435 },
+ { 0x2D3F, 80522 },
+ { 0x2D40, 80495 },
+ { 0x2D41, 80534 },
+ { 0x2D42, 80468 },
+ { 0x2D43, 80516 },
+ { 0x2D44, 80525 },
+ { 0x2D45, 80537 },
+ { 0x2D46, 80465 },
+ { 0x2D47, 80528 },
+ { 0x2D48, 80540 },
+ { 0x2D49, 80543 },
+ { 0x2D4A, 80420 },
+ { 0x2D4B, 80492 },
+ { 0x2D4C, 80531 },
+ { 0x2D4D, 80546 },
+ { 0x2D4E, 80328 },
+ { 0x2D4F, 80332 },
+ { 0x2D50, 80324 },
+ { 0x2D51, 80320 },
+ { 0x2D52, 80450 },
+ { 0x2D53, 80480 },
+ { 0x2D54, 80510 },
+ { 0x2D55, 80316 },
+ { 0x2D56, 80459 },
+ { 0x2D57, 80477 },
+ { 0x2D58, 80489 },
+ { 0x2D59, 80414 },
+ { 0x2D5A, 5544 },
+ { 0x2D5B, 5583 },
+ { 0x2D5C, 5586 },
+ { 0x2D5D, 5589 },
+ { 0x2D5E, 5574 },
+ { 0x2D5F, 5601 },
+ { 0x2D60, 5592 },
+ { 0x2D61, 5550 },
+ { 0x2D62, 5619 },
+ { 0x2D63, 5628 },
+ { 0x2D64, 5595 },
+ { 0x2D65, 5622 },
+ { 0x2D66, 5613 },
+ { 0x2D67, 5598 },
+ { 0x2D68, 5625 },
+ { 0x2D69, 5532 },
+ { 0x2D6A, 5529 },
+ { 0x2D6B, 5541 },
+ { 0x2D6C, 5535 },
+ { 0x2D6D, 5568 },
+ { 0x2D6E, 5526 },
+ { 0x2D6F, 5553 },
+ { 0x2D70, 5547 },
+ { 0x2D71, 5577 },
+ { 0x2D72, 5607 },
+ { 0x2D73, 5571 },
+ { 0x2D74, 5565 },
+ { 0x2D75, 5556 },
+ { 0x2D76, 5562 },
+ { 0x2D77, 5580 },
+ { 0x2D78, 5610 },
+ { 0x2D79, 5604 },
+ { 0x2D7A, 5616 },
+ { 0x2D7B, 5631 },
+ { 0x2D7C, 5559 },
+ { 0x2D7D, 5538 },
+ { 0x2D7E, 121692 },
+ { 0x2D7F, 94622 },
+ { 0x2D80, 94654 },
+ { 0x2D81, 94658 },
+ { 0x2D82, 94662 },
+ { 0x2D83, 94630 },
+ { 0x2D84, 94590 },
+ { 0x2D85, 94598 },
+ { 0x2D86, 94606 },
+ { 0x2D87, 94594 },
+ { 0x2D88, 94602 },
+ { 0x2D89, 94626 },
+ { 0x2D8A, 94634 },
+ { 0x2D8B, 94642 },
+ { 0x2D8C, 94650 },
+ { 0x2D8D, 94638 },
+ { 0x2D8E, 94646 },
+ { 0x2D8F, 132073 },
+ { 0x2D90, 132052 },
+ { 0x2D91, 132080 },
+ { 0x2D92, 132066 },
+ { 0x2D93, 132045 },
+ { 0x2D94, 132059 },
+ { 0x2D95, 132013 },
+ { 0x2D96, 132038 },
+ { 0x2D97, 132020 },
+ { 0x2D98, 132087 },
+ { 0x2D99, 132094 },
+ { 0x2D9A, 132108 },
+ { 0x2D9B, 132101 },
+ { 0x2D9C, 132031 },
+ { 0x2D9D, 132076 },
+ { 0x2D9E, 132055 },
+ { 0x2D9F, 132083 },
+ { 0x2DA0, 132069 },
+ { 0x2DA1, 132048 },
+ { 0x2DA2, 132062 },
+ { 0x2DA3, 132016 },
+ { 0x2DA4, 132041 },
+ { 0x2DA5, 132023 },
+ { 0x2DA6, 132090 },
+ { 0x2DA7, 132097 },
+ { 0x2DA8, 132111 },
+ { 0x2DA9, 132104 },
+ { 0x2DAA, 132034 },
+ { 0x2DAB, 132027 },
+ { 0x2DAC, 132120 },
+ { 0x2DAD, 132115 },
+ { 0x2DAE, 132157 },
+ { 0x2DAF, 132169 },
+ { 0x2DB0, 132229 },
+ { 0x2DB1, 132181 },
+ { 0x2DB2, 132178 },
+ { 0x2DB3, 132160 },
+ { 0x2DB4, 132220 },
+ { 0x2DB5, 132208 },
+ { 0x2DB6, 132193 },
+ { 0x2DB7, 132166 },
+ { 0x2DB8, 132187 },
+ { 0x2DB9, 132175 },
+ { 0x2DBA, 132232 },
+ { 0x2DBB, 132202 },
+ { 0x2DBC, 132214 },
+ { 0x2DBD, 132205 },
+ { 0x2DBE, 132163 },
+ { 0x2DBF, 132223 },
+ { 0x2DC0, 132184 },
+ { 0x2DC1, 132235 },
+ { 0x2DC2, 132190 },
+ { 0x2DC3, 132238 },
+ { 0x2DC4, 132250 },
+ { 0x2DC5, 132262 },
+ { 0x2DC6, 132211 },
+ { 0x2DC7, 132253 },
+ { 0x2DC8, 132172 },
+ { 0x2DC9, 132226 },
+ { 0x2DCA, 132256 },
+ { 0x2DCB, 132259 },
+ { 0x2DCC, 132247 },
+ { 0x2DCD, 132241 },
+ { 0x2DCE, 132244 },
+ { 0x2DCF, 132196 },
+ { 0x2DD0, 132199 },
+ { 0x2DD1, 132217 },
+ { 0x2DD2, 68833 },
+ { 0x2DD3, 68863 },
+ { 0x2DD4, 68812 },
+ { 0x2DD5, 68743 },
+ { 0x2DD6, 68338 },
+ { 0x2DD7, 68464 },
+ { 0x2DD8, 68416 },
+ { 0x2DD9, 68356 },
+ { 0x2DDA, 68347 },
+ { 0x2DDB, 68398 },
+ { 0x2DDC, 68509 },
+ { 0x2DDD, 68404 },
+ { 0x2DDE, 122329 },
+ { 0x2DDF, 68470 },
+ { 0x2DE0, 68478 },
+ { 0x2DE1, 68502 },
+ { 0x2DE2, 68486 },
+ { 0x2DE3, 68482 },
+ { 0x2DE4, 68474 },
+ { 0x2DE5, 68498 },
+ { 0x2DE6, 68494 },
+ { 0x2DE7, 68490 },
+ { 0x2DE8, 68413 },
+ { 0x2DE9, 68422 },
+ { 0x2DEA, 68430 },
+ { 0x2DEB, 68454 },
+ { 0x2DEC, 68438 },
+ { 0x2DED, 68434 },
+ { 0x2DEE, 68273 },
+ { 0x2DEF, 68252 },
+ { 0x2DF0, 68280 },
+ { 0x2DF1, 68266 },
+ { 0x2DF2, 68245 },
+ { 0x2DF3, 68259 },
+ { 0x2DF4, 68213 },
+ { 0x2DF5, 68234 },
+ { 0x2DF6, 68220 },
+ { 0x2DF7, 68287 },
+ { 0x2DF8, 68294 },
+ { 0x2DF9, 68308 },
+ { 0x2DFA, 68301 },
+ { 0x2DFB, 68227 },
+ { 0x2DFC, 68276 },
+ { 0x2DFD, 68255 },
+ { 0x2DFE, 68283 },
+ { 0x2DFF, 68269 },
+ { 0x2E00, 68248 },
+ { 0x2E01, 68262 },
+ { 0x2E02, 68216 },
+ { 0x2E03, 68237 },
+ { 0x2E04, 68223 },
+ { 0x2E05, 68290 },
+ { 0x2E06, 68297 },
+ { 0x2E07, 68311 },
+ { 0x2E08, 68304 },
+ { 0x2E09, 68230 },
+ { 0x2E0A, 68331 },
+ { 0x2E0B, 68327 },
+ { 0x2E0C, 68241 },
+ { 0x2E0D, 57432 },
+ { 0x2E0E, 68707 },
+ { 0x2E0F, 68719 },
+ { 0x2E10, 68797 },
+ { 0x2E11, 68731 },
+ { 0x2E12, 68728 },
+ { 0x2E13, 68710 },
+ { 0x2E14, 68788 },
+ { 0x2E15, 68770 },
+ { 0x2E16, 68758 },
+ { 0x2E17, 68716 },
+ { 0x2E18, 68752 },
+ { 0x2E19, 68725 },
+ { 0x2E1A, 68800 },
+ { 0x2E1B, 68764 },
+ { 0x2E1C, 68776 },
+ { 0x2E1D, 68767 },
+ { 0x2E1E, 68713 },
+ { 0x2E1F, 68791 },
+ { 0x2E20, 68734 },
+ { 0x2E21, 68821 },
+ { 0x2E22, 68755 },
+ { 0x2E23, 68824 },
+ { 0x2E24, 68854 },
+ { 0x2E25, 68866 },
+ { 0x2E26, 68773 },
+ { 0x2E27, 68815 },
+ { 0x2E28, 68749 },
+ { 0x2E29, 68809 },
+ { 0x2E2A, 68842 },
+ { 0x2E2B, 68851 },
+ { 0x2E2C, 68782 },
+ { 0x2E2D, 68848 },
+ { 0x2E2E, 68740 },
+ { 0x2E2F, 68761 },
+ { 0x2E30, 68722 },
+ { 0x2E31, 68818 },
+ { 0x2E32, 68737 },
+ { 0x2E33, 68806 },
+ { 0x2E34, 68704 },
+ { 0x2E35, 68746 },
+ { 0x2E36, 68785 },
+ { 0x2E37, 68830 },
+ { 0x2E38, 68836 },
+ { 0x2E39, 68794 },
+ { 0x2E3A, 68857 },
+ { 0x2E3B, 68860 },
+ { 0x2E3C, 68839 },
+ { 0x2E3D, 68827 },
+ { 0x2E3E, 68779 },
+ { 0x2E3F, 68426 },
+ { 0x2E40, 68450 },
+ { 0x2E41, 68446 },
+ { 0x2E42, 68442 },
+ { 0x2E43, 68353 },
+ { 0x2E44, 68362 },
+ { 0x2E45, 68370 },
+ { 0x2E46, 68394 },
+ { 0x2E47, 68378 },
+ { 0x2E48, 68374 },
+ { 0x2E49, 68366 },
+ { 0x2E4A, 68390 },
+ { 0x2E4B, 68386 },
+ { 0x2E4C, 68382 },
+ { 0x2E4D, 68344 },
+ { 0x2E4E, 121497 },
+ { 0x2E4F, 121512 },
+ { 0x2E50, 121487 },
+ { 0x2E51, 121482 },
+ { 0x2E52, 121317 },
+ { 0x2E53, 121477 },
+ { 0x2E54, 121472 },
+ { 0x2E55, 121492 },
+ { 0x2E56, 121522 },
+ { 0x2E57, 121502 },
+ { 0x2E58, 121517 },
+ { 0x2E59, 121507 },
+ { 0x2E5A, 61908 },
+ { 0x2E5B, 62075 },
+ { 0x2E5C, 61898 },
+ { 0x2E5D, 70888 },
+ { 0x2E5E, 68553 },
+ { 0x2E5F, 68559 },
+ { 0x2E60, 68565 },
+ { 0x2E61, 68556 },
+ { 0x2E62, 68562 },
+ { 0x2E63, 68583 },
+ { 0x2E64, 68589 },
+ { 0x2E65, 68595 },
+ { 0x2E66, 68586 },
+ { 0x2E67, 68592 },
+ { 0x2E68, 68643 },
+ { 0x2E69, 68649 },
+ { 0x2E6A, 68655 },
+ { 0x2E6B, 68646 },
+ { 0x2E6C, 68652 },
+ { 0x2E6D, 68658 },
+ { 0x2E6E, 68664 },
+ { 0x2E6F, 68670 },
+ { 0x2E70, 68661 },
+ { 0x2E71, 68667 },
+ { 0x2E72, 68613 },
+ { 0x2E73, 68619 },
+ { 0x2E74, 68625 },
+ { 0x2E75, 68616 },
+ { 0x2E76, 68622 },
+ { 0x2E77, 68568 },
+ { 0x2E78, 68574 },
+ { 0x2E79, 68580 },
+ { 0x2E7A, 68571 },
+ { 0x2E7B, 68577 },
+ { 0x2E7C, 68598 },
+ { 0x2E7D, 68604 },
+ { 0x2E7E, 68610 },
+ { 0x2E7F, 68601 },
+ { 0x2E80, 68607 },
+ { 0x2E81, 68685 },
+ { 0x2E82, 68691 },
+ { 0x2E83, 68688 },
+ { 0x2E84, 68628 },
+ { 0x2E85, 68634 },
+ { 0x2E86, 68640 },
+ { 0x2E87, 68631 },
+ { 0x2E88, 68637 },
+ { 0x2E89, 68673 },
+ { 0x2E8A, 68679 },
+ { 0x2E8B, 68676 },
+ { 0x2E8C, 68682 },
+ { 0x2E8D, 62059 },
+ { 0x2E8E, 62329 },
+ { 0x2E8F, 62331 },
+ { 0x2E90, 62256 },
+ { 0x2E91, 62120 },
+ { 0x2E92, 62341 },
+ { 0x2E93, 62137 },
+ { 0x2E94, 62118 },
+ { 0x2E95, 62389 },
+ { 0x2E96, 62262 },
+ { 0x2E97, 62154 },
+ { 0x2E98, 62156 },
+ { 0x2E99, 62292 },
+ { 0x2E9A, 62361 },
+ { 0x2E9B, 62363 },
+ { 0x2E9C, 62266 },
+ { 0x2E9D, 62264 },
+ { 0x2E9E, 62133 },
+ { 0x2E9F, 62268 },
+ { 0x2EA0, 62345 },
+ { 0x2EA1, 62359 },
+ { 0x2EA2, 62141 },
+ { 0x2EA3, 62433 },
+ { 0x2EA4, 62437 },
+ { 0x2EA5, 62425 },
+ { 0x2EA6, 62335 },
+ { 0x2EA7, 62421 },
+ { 0x2EA8, 62427 },
+ { 0x2EA9, 62365 },
+ { 0x2EAA, 62294 },
+ { 0x2EAB, 62343 },
+ { 0x2EAC, 62296 },
+ { 0x2EAD, 62383 },
+ { 0x2EAE, 62419 },
+ { 0x2EAF, 62385 },
+ { 0x2EB0, 62319 },
+ { 0x2EB1, 62321 },
+ { 0x2EB2, 62260 },
+ { 0x2EB3, 62124 },
+ { 0x2EB4, 62126 },
+ { 0x2EB5, 62116 },
+ { 0x2EB6, 62152 },
+ { 0x2EB7, 62302 },
+ { 0x2EB8, 62270 },
+ { 0x2EB9, 62412 },
+ { 0x2EBA, 62304 },
+ { 0x2EBB, 62357 },
+ { 0x2EBC, 62431 },
+ { 0x2EBD, 62351 },
+ { 0x2EBE, 62160 },
+ { 0x2EBF, 62122 },
+ { 0x2EC0, 62394 },
+ { 0x2EC1, 62339 },
+ { 0x2EC2, 62387 },
+ { 0x2EC3, 62274 },
+ { 0x2EC4, 62423 },
+ { 0x2EC5, 62158 },
+ { 0x2EC6, 62349 },
+ { 0x2EC7, 62337 },
+ { 0x2EC8, 62308 },
+ { 0x2EC9, 62306 },
+ { 0x2ECA, 62258 },
+ { 0x2ECB, 62353 },
+ { 0x2ECC, 62333 },
+ { 0x2ECD, 62083 },
+ { 0x2ECE, 62310 },
+ { 0x2ECF, 62272 },
+ { 0x2ED0, 62135 },
+ { 0x2ED1, 62369 },
+ { 0x2ED2, 62300 },
+ { 0x2ED3, 62298 },
+ { 0x2ED4, 62347 },
+ { 0x2ED5, 62371 },
+ { 0x2ED6, 62377 },
+ { 0x2ED7, 62150 },
+ { 0x2ED8, 62429 },
+ { 0x2ED9, 62148 },
+ { 0x2EDA, 62375 },
+ { 0x2EDB, 62373 },
+ { 0x2EDC, 62325 },
+ { 0x2EDD, 62327 },
+ { 0x2EDE, 62254 },
+ { 0x2EDF, 62379 },
+ { 0x2EE0, 62164 },
+ { 0x2EE1, 62317 },
+ { 0x2EE2, 62381 },
+ { 0x2EE3, 62162 },
+ { 0x2EE4, 62417 },
+ { 0x2EE5, 62323 },
+ { 0x2EE6, 121364 },
+ { 0x2EE7, 121322 },
+ { 0x2EE8, 121340 },
+ { 0x2EE9, 121382 },
+ { 0x2EEA, 121352 },
+ { 0x2EEB, 121346 },
+ { 0x2EEC, 121328 },
+ { 0x2EED, 121376 },
+ { 0x2EEE, 121370 },
+ { 0x2EEF, 121358 },
+ { 0x2EF0, 121334 },
+ { 0x2EF1, 121388 },
+ { 0x2EF2, 121394 },
+ { 0x2EF3, 121436 },
+ { 0x2EF4, 121424 },
+ { 0x2EF5, 121406 },
+ { 0x2EF6, 121412 },
+ { 0x2EF7, 121442 },
+ { 0x2EF8, 121418 },
+ { 0x2EF9, 121430 },
+ { 0x2EFA, 121400 },
+ { 0x2EFB, 121448 },
+ { 0x2EFC, 121454 },
+ { 0x2EFD, 121466 },
+ { 0x2EFE, 121460 },
+ { 0x2EFF, 62085 },
+ { 0x2F00, 61882 },
+ { 0x2F01, 61864 },
+ { 0x2F02, 62047 },
+ { 0x2F03, 62018 },
+ { 0x2F04, 62025 },
+ { 0x2F05, 61890 },
+ { 0x2F06, 61895 },
+ { 0x2F07, 61892 },
+ { 0x2F08, 61916 },
+ { 0x2F09, 62063 },
+ { 0x2F0A, 62067 },
+ { 0x2F0B, 62071 },
+ { 0x2F0C, 62055 },
+ { 0x2F0D, 62435 },
+ { 0x2F0E, 62022 },
+ { 0x2F0F, 62006 },
+ { 0x2F10, 61972 },
+ { 0x2F11, 61951 },
+ { 0x2F12, 61918 },
+ { 0x2F13, 61920 },
+ { 0x2F14, 61953 },
+ { 0x2F15, 61902 },
+ { 0x2F16, 62049 },
+ { 0x2F17, 62139 },
+ { 0x2F18, 62027 },
+ { 0x2F19, 62008 },
+ { 0x2F1A, 61975 },
+ { 0x2F1B, 61978 },
+ { 0x2F1C, 61958 },
+ { 0x2F1D, 61922 },
+ { 0x2F1E, 61912 },
+ { 0x2F1F, 62087 },
+ { 0x2F20, 62093 },
+ { 0x2F21, 62079 },
+ { 0x2F22, 62114 },
+ { 0x2F23, 61981 },
+ { 0x2F24, 61960 },
+ { 0x2F25, 61888 },
+ { 0x2F26, 61926 },
+ { 0x2F27, 61900 },
+ { 0x2F28, 62010 },
+ { 0x2F29, 61984 },
+ { 0x2F2A, 61962 },
+ { 0x2F2B, 61872 },
+ { 0x2F2C, 61928 },
+ { 0x2F2D, 61967 },
+ { 0x2F2E, 61877 },
+ { 0x2F2F, 61855 },
+ { 0x2F30, 61936 },
+ { 0x2F31, 61964 },
+ { 0x2F32, 61874 },
+ { 0x2F33, 61852 },
+ { 0x2F34, 61930 },
+ { 0x2F35, 61843 },
+ { 0x2F36, 61847 },
+ { 0x2F37, 62020 },
+ { 0x2F38, 62089 },
+ { 0x2F39, 62099 },
+ { 0x2F3A, 62081 },
+ { 0x2F3B, 62103 },
+ { 0x2F3C, 62105 },
+ { 0x2F3D, 62109 },
+ { 0x2F3E, 62035 },
+ { 0x2F3F, 62012 },
+ { 0x2F40, 61987 },
+ { 0x2F41, 61970 },
+ { 0x2F42, 62037 },
+ { 0x2F43, 62014 },
+ { 0x2F44, 61990 },
+ { 0x2F45, 61996 },
+ { 0x2F46, 61941 },
+ { 0x2F47, 61998 },
+ { 0x2F48, 62039 },
+ { 0x2F49, 62016 },
+ { 0x2F4A, 61993 },
+ { 0x2F4B, 62001 },
+ { 0x2F4C, 61943 },
+ { 0x2F4D, 62003 },
+ { 0x2F4E, 61837 },
+ { 0x2F4F, 61840 },
+ { 0x2F50, 61862 },
+ { 0x2F51, 61866 },
+ { 0x2F52, 61868 },
+ { 0x2F53, 61870 },
+ { 0x2F54, 61833 },
+ { 0x2F55, 61880 },
+ { 0x2F56, 61884 },
+ { 0x2F57, 61904 },
+ { 0x2F58, 61906 },
+ { 0x2F59, 61910 },
+ { 0x2F5A, 61914 },
+ { 0x2F5B, 61924 },
+ { 0x2F5C, 61933 },
+ { 0x2F5D, 61939 },
+ { 0x2F5E, 61945 },
+ { 0x2F5F, 61947 },
+ { 0x2F60, 62091 },
+ { 0x2F61, 61949 },
+ { 0x2F62, 61955 },
+ { 0x2F63, 62095 },
+ { 0x2F64, 62097 },
+ { 0x2F65, 62029 },
+ { 0x2F66, 62031 },
+ { 0x2F67, 62101 },
+ { 0x2F68, 62033 },
+ { 0x2F69, 62041 },
+ { 0x2F6A, 62043 },
+ { 0x2F6B, 62045 },
+ { 0x2F6C, 61858 },
+ { 0x2F6D, 61829 },
+ { 0x2F6E, 121131 },
+ { 0x2F6F, 121149 },
+ { 0x2F70, 121185 },
+ { 0x2F71, 121161 },
+ { 0x2F72, 121155 },
+ { 0x2F73, 121137 },
+ { 0x2F74, 121179 },
+ { 0x2F75, 121173 },
+ { 0x2F76, 121167 },
+ { 0x2F77, 121143 },
+ { 0x2F78, 121191 },
+ { 0x2F79, 121203 },
+ { 0x2F7A, 121245 },
+ { 0x2F7B, 121233 },
+ { 0x2F7C, 121215 },
+ { 0x2F7D, 121221 },
+ { 0x2F7E, 121251 },
+ { 0x2F7F, 121227 },
+ { 0x2F80, 121239 },
+ { 0x2F81, 121209 },
+ { 0x2F82, 121263 },
+ { 0x2F83, 121275 },
+ { 0x2F84, 121311 },
+ { 0x2F85, 121287 },
+ { 0x2F86, 121281 },
+ { 0x2F87, 121269 },
+ { 0x2F88, 121305 },
+ { 0x2F89, 121299 },
+ { 0x2F8A, 121293 },
+ { 0x2F8B, 121197 },
+ { 0x2F8C, 121257 },
+ { 0x2F8D, 62077 },
+ { 0x2F8E, 93224 },
+ { 0x2F8F, 93238 },
+ { 0x2F90, 93375 },
+ { 0x2F91, 93345 },
+ { 0x2F92, 93321 },
+ { 0x2F93, 93327 },
+ { 0x2F94, 93177 },
+ { 0x2F95, 93307 },
+ { 0x2F96, 93283 },
+ { 0x2F97, 93342 },
+ { 0x2F98, 93280 },
+ { 0x2F99, 93402 },
+ { 0x2F9A, 93387 },
+ { 0x2F9B, 93264 },
+ { 0x2F9C, 93311 },
+ { 0x2F9D, 93384 },
+ { 0x2F9E, 93358 },
+ { 0x2F9F, 93243 },
+ { 0x2FA0, 93324 },
+ { 0x2FA1, 93417 },
+ { 0x2FA2, 93295 },
+ { 0x2FA3, 93253 },
+ { 0x2FA4, 93371 },
+ { 0x2FA5, 93304 },
+ { 0x2FA6, 93368 },
+ { 0x2FA7, 93260 },
+ { 0x2FA8, 93276 },
+ { 0x2FA9, 93268 },
+ { 0x2FAA, 93199 },
+ { 0x2FAB, 93219 },
+ { 0x2FAC, 93365 },
+ { 0x2FAD, 93333 },
+ { 0x2FAE, 93318 },
+ { 0x2FAF, 93256 },
+ { 0x2FB0, 93339 },
+ { 0x2FB1, 93352 },
+ { 0x2FB2, 93185 },
+ { 0x2FB3, 93393 },
+ { 0x2FB4, 93411 },
+ { 0x2FB5, 93405 },
+ { 0x2FB6, 93330 },
+ { 0x2FB7, 93336 },
+ { 0x2FB8, 93414 },
+ { 0x2FB9, 93299 },
+ { 0x2FBA, 93361 },
+ { 0x2FBB, 93314 },
+ { 0x2FBC, 93396 },
+ { 0x2FBD, 93181 },
+ { 0x2FBE, 93399 },
+ { 0x2FBF, 93215 },
+ { 0x2FC0, 93210 },
+ { 0x2FC1, 93204 },
+ { 0x2FC2, 93408 },
+ { 0x2FC3, 93229 },
+ { 0x2FC4, 93349 },
+ { 0x2FC5, 93234 },
+ { 0x2FC6, 93189 },
+ { 0x2FC7, 93194 },
+ { 0x2FC8, 93381 },
+ { 0x2FC9, 93390 },
+ { 0x2FCA, 93272 },
+ { 0x2FCB, 93287 },
+ { 0x2FCC, 93249 },
+ { 0x2FCD, 93291 },
+ { 0x2FCE, 696 },
+ { 0x2FCF, 699 },
+ { 0x2FD0, 582 },
+ { 0x2FD1, 693 },
+ { 0x2FD2, 1362 },
+ { 0x2FD3, 1365 },
+ { 0x2FD4, 690 },
+ { 0x2FD5, 1359 },
+ { 0x2FD6, 591 },
+ { 0x2FD7, 594 },
+ { 0x2FD8, 576 },
+ { 0x2FD9, 588 },
+ { 0x2FDA, 2073 },
+ { 0x2FDB, 864 },
+ { 0x2FDC, 2070 },
+ { 0x2FDD, 783 },
+ { 0x2FDE, 786 },
+ { 0x2FDF, 585 },
+ { 0x2FE0, 780 },
+ { 0x2FE1, 648 },
+ { 0x2FE2, 579 },
+ { 0x2FE3, 891 },
+ { 0x2FE4, 972 },
+ { 0x2FE5, 975 },
+ { 0x2FE6, 603 },
+ { 0x2FE7, 969 },
+ { 0x2FE8, 2403 },
+ { 0x2FE9, 2406 },
+ { 0x2FEA, 966 },
+ { 0x2FEB, 2400 },
+ { 0x2FEC, 936 },
+ { 0x2FED, 939 },
+ { 0x2FEE, 597 },
+ { 0x2FEF, 933 },
+ { 0x2FF0, 2412 },
+ { 0x2FF1, 987 },
+ { 0x2FF2, 2409 },
+ { 0x2FF3, 981 },
+ { 0x2FF4, 984 },
+ { 0x2FF5, 606 },
+ { 0x2FF6, 978 },
+ { 0x2FF7, 963 },
+ { 0x2FF8, 600 },
+ { 0x2FF9, 960 },
+ { 0x2FFA, 996 },
+ { 0x2FFB, 999 },
+ { 0x2FFC, 609 },
+ { 0x2FFD, 990 },
+ { 0x2FFE, 2415 },
+ { 0x2FFF, 993 },
+ { 0x3000, 1008 },
+ { 0x3001, 1011 },
+ { 0x3002, 612 },
+ { 0x3003, 1002 },
+ { 0x3004, 2418 },
+ { 0x3005, 1005 },
+ { 0x3006, 1767 },
+ { 0x3007, 1770 },
+ { 0x3008, 792 },
+ { 0x3009, 1764 },
+ { 0x300A, 3336 },
+ { 0x300B, 1761 },
+ { 0x300C, 3333 },
+ { 0x300D, 1755 },
+ { 0x300E, 1758 },
+ { 0x300F, 789 },
+ { 0x3010, 1752 },
+ { 0x3011, 3342 },
+ { 0x3012, 1782 },
+ { 0x3013, 3339 },
+ { 0x3014, 1776 },
+ { 0x3015, 1779 },
+ { 0x3016, 795 },
+ { 0x3017, 1773 },
+ { 0x3018, 1791 },
+ { 0x3019, 1794 },
+ { 0x301A, 798 },
+ { 0x301B, 1785 },
+ { 0x301C, 3345 },
+ { 0x301D, 1788 },
+ { 0x301E, 1803 },
+ { 0x301F, 1806 },
+ { 0x3020, 801 },
+ { 0x3021, 1797 },
+ { 0x3022, 3348 },
+ { 0x3023, 1800 },
+ { 0x3024, 2361 },
+ { 0x3025, 2364 },
+ { 0x3026, 948 },
+ { 0x3027, 2358 },
+ { 0x3028, 3771 },
+ { 0x3029, 3774 },
+ { 0x302A, 2355 },
+ { 0x302B, 3768 },
+ { 0x302C, 2343 },
+ { 0x302D, 2346 },
+ { 0x302E, 942 },
+ { 0x302F, 2340 },
+ { 0x3030, 3780 },
+ { 0x3031, 2376 },
+ { 0x3032, 3777 },
+ { 0x3033, 2370 },
+ { 0x3034, 2373 },
+ { 0x3035, 951 },
+ { 0x3036, 2367 },
+ { 0x3037, 2352 },
+ { 0x3038, 945 },
+ { 0x3039, 2349 },
+ { 0x303A, 2385 },
+ { 0x303B, 2388 },
+ { 0x303C, 954 },
+ { 0x303D, 2379 },
+ { 0x303E, 3783 },
+ { 0x303F, 2382 },
+ { 0x3040, 2394 },
+ { 0x3041, 2397 },
+ { 0x3042, 957 },
+ { 0x3043, 2391 },
+ { 0x3044, 3021 },
+ { 0x3045, 3024 },
+ { 0x3046, 1623 },
+ { 0x3047, 3018 },
+ { 0x3048, 3933 },
+ { 0x3049, 3015 },
+ { 0x304A, 3930 },
+ { 0x304B, 3009 },
+ { 0x304C, 3012 },
+ { 0x304D, 1620 },
+ { 0x304E, 3006 },
+ { 0x304F, 3030 },
+ { 0x3050, 3033 },
+ { 0x3051, 1626 },
+ { 0x3052, 3027 },
+ { 0x3053, 3042 },
+ { 0x3054, 3045 },
+ { 0x3055, 1629 },
+ { 0x3056, 3036 },
+ { 0x3057, 3936 },
+ { 0x3058, 3039 },
+ { 0x3059, 3054 },
+ { 0x305A, 3057 },
+ { 0x305B, 1632 },
+ { 0x305C, 3048 },
+ { 0x305D, 3939 },
+ { 0x305E, 3051 },
+ { 0x305F, 2709 },
+ { 0x3060, 2712 },
+ { 0x3061, 1314 },
+ { 0x3062, 2706 },
+ { 0x3063, 3855 },
+ { 0x3064, 2703 },
+ { 0x3065, 3852 },
+ { 0x3066, 2697 },
+ { 0x3067, 2700 },
+ { 0x3068, 1311 },
+ { 0x3069, 2694 },
+ { 0x306A, 3861 },
+ { 0x306B, 2724 },
+ { 0x306C, 3858 },
+ { 0x306D, 2718 },
+ { 0x306E, 2721 },
+ { 0x306F, 1317 },
+ { 0x3070, 2715 },
+ { 0x3071, 2733 },
+ { 0x3072, 2736 },
+ { 0x3073, 1320 },
+ { 0x3074, 2727 },
+ { 0x3075, 3864 },
+ { 0x3076, 2730 },
+ { 0x3077, 2745 },
+ { 0x3078, 1323 },
+ { 0x3079, 2739 },
+ { 0x307A, 3867 },
+ { 0x307B, 2742 },
+ { 0x307C, 1575 },
+ { 0x307D, 1578 },
+ { 0x307E, 753 },
+ { 0x307F, 1572 },
+ { 0x3080, 2991 },
+ { 0x3081, 1569 },
+ { 0x3082, 2988 },
+ { 0x3083, 1548 },
+ { 0x3084, 1551 },
+ { 0x3085, 747 },
+ { 0x3086, 1545 },
+ { 0x3087, 2997 },
+ { 0x3088, 3000 },
+ { 0x3089, 1590 },
+ { 0x308A, 2994 },
+ { 0x308B, 1584 },
+ { 0x308C, 1587 },
+ { 0x308D, 756 },
+ { 0x308E, 1581 },
+ { 0x308F, 1554 },
+ { 0x3090, 750 },
+ { 0x3091, 1599 },
+ { 0x3092, 1602 },
+ { 0x3093, 759 },
+ { 0x3094, 1593 },
+ { 0x3095, 3003 },
+ { 0x3096, 1596 },
+ { 0x3097, 1608 },
+ { 0x3098, 1611 },
+ { 0x3099, 762 },
+ { 0x309A, 1605 },
+ { 0x309B, 1170 },
+ { 0x309C, 1173 },
+ { 0x309D, 654 },
+ { 0x309E, 1167 },
+ { 0x309F, 1161 },
+ { 0x30A0, 1164 },
+ { 0x30A1, 651 },
+ { 0x30A2, 1158 },
+ { 0x30A3, 1179 },
+ { 0x30A4, 657 },
+ { 0x30A5, 1176 },
+ { 0x30A6, 1188 },
+ { 0x30A7, 1191 },
+ { 0x30A8, 660 },
+ { 0x30A9, 1182 },
+ { 0x30AA, 2556 },
+ { 0x30AB, 1185 },
+ { 0x30AC, 1197 },
+ { 0x30AD, 1200 },
+ { 0x30AE, 663 },
+ { 0x30AF, 1194 },
+ { 0x30B0, 2097 },
+ { 0x30B1, 2100 },
+ { 0x30B2, 870 },
+ { 0x30B3, 2094 },
+ { 0x30B4, 3585 },
+ { 0x30B5, 3588 },
+ { 0x30B6, 2091 },
+ { 0x30B7, 3582 },
+ { 0x30B8, 2079 },
+ { 0x30B9, 2082 },
+ { 0x30BA, 867 },
+ { 0x30BB, 2076 },
+ { 0x30BC, 2106 },
+ { 0x30BD, 2109 },
+ { 0x30BE, 873 },
+ { 0x30BF, 2103 },
+ { 0x30C0, 2088 },
+ { 0x30C1, 2085 },
+ { 0x30C2, 2118 },
+ { 0x30C3, 2121 },
+ { 0x30C4, 876 },
+ { 0x30C5, 2112 },
+ { 0x30C6, 3591 },
+ { 0x30C7, 2115 },
+ { 0x30C8, 2130 },
+ { 0x30C9, 2133 },
+ { 0x30CA, 879 },
+ { 0x30CB, 2124 },
+ { 0x30CC, 3594 },
+ { 0x30CD, 2127 },
+ { 0x30CE, 1128 },
+ { 0x30CF, 1131 },
+ { 0x30D0, 639 },
+ { 0x30D1, 1125 },
+ { 0x30D2, 2547 },
+ { 0x30D3, 1122 },
+ { 0x30D4, 2544 },
+ { 0x30D5, 1095 },
+ { 0x30D6, 1098 },
+ { 0x30D7, 633 },
+ { 0x30D8, 1092 },
+ { 0x30D9, 2550 },
+ { 0x30DA, 1143 },
+ { 0x30DB, 1137 },
+ { 0x30DC, 1140 },
+ { 0x30DD, 642 },
+ { 0x30DE, 1134 },
+ { 0x30DF, 1119 },
+ { 0x30E0, 636 },
+ { 0x30E1, 1116 },
+ { 0x30E2, 1152 },
+ { 0x30E3, 1155 },
+ { 0x30E4, 645 },
+ { 0x30E5, 1146 },
+ { 0x30E6, 2553 },
+ { 0x30E7, 1149 },
+ { 0x30E8, 2040 },
+ { 0x30E9, 2043 },
+ { 0x30EA, 855 },
+ { 0x30EB, 2037 },
+ { 0x30EC, 3567 },
+ { 0x30ED, 2034 },
+ { 0x30EE, 3564 },
+ { 0x30EF, 2022 },
+ { 0x30F0, 2025 },
+ { 0x30F1, 849 },
+ { 0x30F2, 2019 },
+ { 0x30F3, 3573 },
+ { 0x30F4, 3576 },
+ { 0x30F5, 2055 },
+ { 0x30F6, 3570 },
+ { 0x30F7, 2049 },
+ { 0x30F8, 2052 },
+ { 0x30F9, 858 },
+ { 0x30FA, 2046 },
+ { 0x30FB, 2031 },
+ { 0x30FC, 852 },
+ { 0x30FD, 2028 },
+ { 0x30FE, 2064 },
+ { 0x30FF, 2067 },
+ { 0x3100, 861 },
+ { 0x3101, 2058 },
+ { 0x3102, 3579 },
+ { 0x3103, 2061 },
+ { 0x3104, 2514 },
+ { 0x3105, 2517 },
+ { 0x3106, 1107 },
+ { 0x3107, 2511 },
+ { 0x3108, 3804 },
+ { 0x3109, 2508 },
+ { 0x310A, 3801 },
+ { 0x310B, 2496 },
+ { 0x310C, 2499 },
+ { 0x310D, 1101 },
+ { 0x310E, 2493 },
+ { 0x310F, 3810 },
+ { 0x3110, 2529 },
+ { 0x3111, 3807 },
+ { 0x3112, 2523 },
+ { 0x3113, 2526 },
+ { 0x3114, 1110 },
+ { 0x3115, 2520 },
+ { 0x3116, 2505 },
+ { 0x3117, 1104 },
+ { 0x3118, 2502 },
+ { 0x3119, 2538 },
+ { 0x311A, 2541 },
+ { 0x311B, 1113 },
+ { 0x311C, 2532 },
+ { 0x311D, 3813 },
+ { 0x311E, 2535 },
+ { 0x311F, 3081 },
+ { 0x3120, 3084 },
+ { 0x3121, 1641 },
+ { 0x3122, 3078 },
+ { 0x3123, 3942 },
+ { 0x3124, 3075 },
+ { 0x3125, 3063 },
+ { 0x3126, 3066 },
+ { 0x3127, 1635 },
+ { 0x3128, 3060 },
+ { 0x3129, 3090 },
+ { 0x312A, 3093 },
+ { 0x312B, 1644 },
+ { 0x312C, 3087 },
+ { 0x312D, 3072 },
+ { 0x312E, 1638 },
+ { 0x312F, 3069 },
+ { 0x3130, 3102 },
+ { 0x3131, 3105 },
+ { 0x3132, 1647 },
+ { 0x3133, 3096 },
+ { 0x3134, 3945 },
+ { 0x3135, 3099 },
+ { 0x3136, 2769 },
+ { 0x3137, 2772 },
+ { 0x3138, 1332 },
+ { 0x3139, 2766 },
+ { 0x313A, 3873 },
+ { 0x313B, 3876 },
+ { 0x313C, 2763 },
+ { 0x313D, 3870 },
+ { 0x313E, 2751 },
+ { 0x313F, 2754 },
+ { 0x3140, 1326 },
+ { 0x3141, 2748 },
+ { 0x3142, 3879 },
+ { 0x3143, 2784 },
+ { 0x3144, 2778 },
+ { 0x3145, 2781 },
+ { 0x3146, 2775 },
+ { 0x3147, 2760 },
+ { 0x3148, 1329 },
+ { 0x3149, 2757 },
+ { 0x314A, 2787 },
+ { 0x314B, 1671 },
+ { 0x314C, 1674 },
+ { 0x314D, 771 },
+ { 0x314E, 1668 },
+ { 0x314F, 3141 },
+ { 0x3150, 1665 },
+ { 0x3151, 3138 },
+ { 0x3152, 1617 },
+ { 0x3153, 765 },
+ { 0x3154, 1614 },
+ { 0x3155, 3240 },
+ { 0x3156, 1713 },
+ { 0x3157, 3237 },
+ { 0x3158, 1692 },
+ { 0x3159, 1695 },
+ { 0x315A, 774 },
+ { 0x315B, 1689 },
+ { 0x315C, 1653 },
+ { 0x315D, 768 },
+ { 0x315E, 1650 },
+ { 0x315F, 1722 },
+ { 0x3160, 1725 },
+ { 0x3161, 777 },
+ { 0x3162, 1716 },
+ { 0x3163, 3243 },
+ { 0x3164, 1719 },
+ { 0x3165, 2655 },
+ { 0x3166, 2658 },
+ { 0x3167, 1299 },
+ { 0x3168, 2652 },
+ { 0x3169, 3837 },
+ { 0x316A, 2649 },
+ { 0x316B, 3834 },
+ { 0x316C, 2637 },
+ { 0x316D, 2640 },
+ { 0x316E, 1293 },
+ { 0x316F, 2634 },
+ { 0x3170, 3843 },
+ { 0x3171, 2667 },
+ { 0x3172, 3840 },
+ { 0x3173, 2664 },
+ { 0x3174, 1302 },
+ { 0x3175, 2661 },
+ { 0x3176, 2646 },
+ { 0x3177, 1296 },
+ { 0x3178, 2643 },
+ { 0x3179, 2676 },
+ { 0x317A, 2679 },
+ { 0x317B, 1305 },
+ { 0x317C, 2670 },
+ { 0x317D, 3846 },
+ { 0x317E, 2673 },
+ { 0x317F, 2688 },
+ { 0x3180, 2691 },
+ { 0x3181, 1308 },
+ { 0x3182, 2682 },
+ { 0x3183, 3849 },
+ { 0x3184, 2685 },
+ { 0x3185, 1503 },
+ { 0x3186, 1506 },
+ { 0x3187, 735 },
+ { 0x3188, 1500 },
+ { 0x3189, 2925 },
+ { 0x318A, 2928 },
+ { 0x318B, 1497 },
+ { 0x318C, 2922 },
+ { 0x318D, 1485 },
+ { 0x318E, 1488 },
+ { 0x318F, 729 },
+ { 0x3190, 1482 },
+ { 0x3191, 2934 },
+ { 0x3192, 2937 },
+ { 0x3193, 1518 },
+ { 0x3194, 2931 },
+ { 0x3195, 1512 },
+ { 0x3196, 1515 },
+ { 0x3197, 738 },
+ { 0x3198, 1509 },
+ { 0x3199, 1494 },
+ { 0x319A, 732 },
+ { 0x319B, 1491 },
+ { 0x319C, 1527 },
+ { 0x319D, 1530 },
+ { 0x319E, 741 },
+ { 0x319F, 1521 },
+ { 0x31A0, 2940 },
+ { 0x31A1, 1524 },
+ { 0x31A2, 1539 },
+ { 0x31A3, 1542 },
+ { 0x31A4, 744 },
+ { 0x31A5, 1533 },
+ { 0x31A6, 2943 },
+ { 0x31A7, 1536 },
+ { 0x31A8, 1242 },
+ { 0x31A9, 1245 },
+ { 0x31AA, 672 },
+ { 0x31AB, 1239 },
+ { 0x31AC, 2613 },
+ { 0x31AD, 2616 },
+ { 0x31AE, 1236 },
+ { 0x31AF, 2610 },
+ { 0x31B0, 1206 },
+ { 0x31B1, 1209 },
+ { 0x31B2, 666 },
+ { 0x31B3, 1203 },
+ { 0x31B4, 2622 },
+ { 0x31B5, 2625 },
+ { 0x31B6, 1257 },
+ { 0x31B7, 2619 },
+ { 0x31B8, 1251 },
+ { 0x31B9, 1254 },
+ { 0x31BA, 675 },
+ { 0x31BB, 1248 },
+ { 0x31BC, 1215 },
+ { 0x31BD, 1218 },
+ { 0x31BE, 669 },
+ { 0x31BF, 1212 },
+ { 0x31C0, 1266 },
+ { 0x31C1, 1269 },
+ { 0x31C2, 678 },
+ { 0x31C3, 1260 },
+ { 0x31C4, 2628 },
+ { 0x31C5, 1263 },
+ { 0x31C6, 1452 },
+ { 0x31C7, 1455 },
+ { 0x31C8, 720 },
+ { 0x31C9, 1449 },
+ { 0x31CA, 2910 },
+ { 0x31CB, 1446 },
+ { 0x31CC, 2907 },
+ { 0x31CD, 1431 },
+ { 0x31CE, 1434 },
+ { 0x31CF, 714 },
+ { 0x31D0, 1428 },
+ { 0x31D1, 2916 },
+ { 0x31D2, 1467 },
+ { 0x31D3, 2913 },
+ { 0x31D4, 1461 },
+ { 0x31D5, 1464 },
+ { 0x31D6, 723 },
+ { 0x31D7, 1458 },
+ { 0x31D8, 1440 },
+ { 0x31D9, 1443 },
+ { 0x31DA, 717 },
+ { 0x31DB, 1437 },
+ { 0x31DC, 1476 },
+ { 0x31DD, 1479 },
+ { 0x31DE, 726 },
+ { 0x31DF, 1470 },
+ { 0x31E0, 2919 },
+ { 0x31E1, 1473 },
+ { 0x31E2, 2580 },
+ { 0x31E3, 2583 },
+ { 0x31E4, 1227 },
+ { 0x31E5, 3819 },
+ { 0x31E6, 2577 },
+ { 0x31E7, 3816 },
+ { 0x31E8, 2562 },
+ { 0x31E9, 2565 },
+ { 0x31EA, 1221 },
+ { 0x31EB, 2559 },
+ { 0x31EC, 3825 },
+ { 0x31ED, 3828 },
+ { 0x31EE, 2595 },
+ { 0x31EF, 3822 },
+ { 0x31F0, 2589 },
+ { 0x31F1, 2592 },
+ { 0x31F2, 1230 },
+ { 0x31F3, 2586 },
+ { 0x31F4, 2571 },
+ { 0x31F5, 2574 },
+ { 0x31F6, 1224 },
+ { 0x31F7, 2568 },
+ { 0x31F8, 2604 },
+ { 0x31F9, 2607 },
+ { 0x31FA, 1233 },
+ { 0x31FB, 2598 },
+ { 0x31FC, 3831 },
+ { 0x31FD, 2601 },
+ { 0x31FE, 3918 },
+ { 0x31FF, 2961 },
+ { 0x3200, 2949 },
+ { 0x3201, 2952 },
+ { 0x3202, 1557 },
+ { 0x3203, 2946 },
+ { 0x3204, 3924 },
+ { 0x3205, 2973 },
+ { 0x3206, 3921 },
+ { 0x3207, 2967 },
+ { 0x3208, 2970 },
+ { 0x3209, 1563 },
+ { 0x320A, 2964 },
+ { 0x320B, 2958 },
+ { 0x320C, 1560 },
+ { 0x320D, 2955 },
+ { 0x320E, 2982 },
+ { 0x320F, 2985 },
+ { 0x3210, 1566 },
+ { 0x3211, 2976 },
+ { 0x3212, 3927 },
+ { 0x3213, 2979 },
+ { 0x3214, 2820 },
+ { 0x3215, 2823 },
+ { 0x3216, 1353 },
+ { 0x3217, 2817 },
+ { 0x3218, 3885 },
+ { 0x3219, 3888 },
+ { 0x321A, 2814 },
+ { 0x321B, 3882 },
+ { 0x321C, 2802 },
+ { 0x321D, 2805 },
+ { 0x321E, 1347 },
+ { 0x321F, 2799 },
+ { 0x3220, 3894 },
+ { 0x3221, 3897 },
+ { 0x3222, 2835 },
+ { 0x3223, 3891 },
+ { 0x3224, 2829 },
+ { 0x3225, 2832 },
+ { 0x3226, 1356 },
+ { 0x3227, 2826 },
+ { 0x3228, 2811 },
+ { 0x3229, 1350 },
+ { 0x322A, 2808 },
+ { 0x322B, 3951 },
+ { 0x322C, 3123 },
+ { 0x322D, 3948 },
+ { 0x322E, 3111 },
+ { 0x322F, 3114 },
+ { 0x3230, 1656 },
+ { 0x3231, 3108 },
+ { 0x3232, 3954 },
+ { 0x3233, 3957 },
+ { 0x3234, 3135 },
+ { 0x3235, 3129 },
+ { 0x3236, 3132 },
+ { 0x3237, 1662 },
+ { 0x3238, 3126 },
+ { 0x3239, 3120 },
+ { 0x323A, 1659 },
+ { 0x323B, 3117 },
+ { 0x323C, 1290 },
+ { 0x323D, 2631 },
+ { 0x323E, 1287 },
+ { 0x323F, 1275 },
+ { 0x3240, 1278 },
+ { 0x3241, 681 },
+ { 0x3242, 1272 },
+ { 0x3243, 2793 },
+ { 0x3244, 2796 },
+ { 0x3245, 1344 },
+ { 0x3246, 2790 },
+ { 0x3247, 1338 },
+ { 0x3248, 1341 },
+ { 0x3249, 687 },
+ { 0x324A, 1335 },
+ { 0x324B, 1284 },
+ { 0x324C, 684 },
+ { 0x324D, 1281 },
+ { 0x324E, 2139 },
+ { 0x324F, 2142 },
+ { 0x3250, 882 },
+ { 0x3251, 2136 },
+ { 0x3252, 3600 },
+ { 0x3253, 2157 },
+ { 0x3254, 3597 },
+ { 0x3255, 2154 },
+ { 0x3256, 888 },
+ { 0x3257, 2151 },
+ { 0x3258, 2148 },
+ { 0x3259, 885 },
+ { 0x325A, 2145 },
+ { 0x325B, 2280 },
+ { 0x325C, 2283 },
+ { 0x325D, 921 },
+ { 0x325E, 2277 },
+ { 0x325F, 3699 },
+ { 0x3260, 2274 },
+ { 0x3261, 3696 },
+ { 0x3262, 2247 },
+ { 0x3263, 2250 },
+ { 0x3264, 915 },
+ { 0x3265, 2244 },
+ { 0x3266, 3705 },
+ { 0x3267, 2295 },
+ { 0x3268, 3702 },
+ { 0x3269, 2289 },
+ { 0x326A, 2292 },
+ { 0x326B, 924 },
+ { 0x326C, 2286 },
+ { 0x326D, 2256 },
+ { 0x326E, 918 },
+ { 0x326F, 2253 },
+ { 0x3270, 2304 },
+ { 0x3271, 2307 },
+ { 0x3272, 927 },
+ { 0x3273, 2298 },
+ { 0x3274, 3708 },
+ { 0x3275, 2301 },
+ { 0x3276, 2316 },
+ { 0x3277, 2319 },
+ { 0x3278, 930 },
+ { 0x3279, 2310 },
+ { 0x327A, 3711 },
+ { 0x327B, 2313 },
+ { 0x327C, 1050 },
+ { 0x327D, 1053 },
+ { 0x327E, 621 },
+ { 0x327F, 1047 },
+ { 0x3280, 2475 },
+ { 0x3281, 2478 },
+ { 0x3282, 1044 },
+ { 0x3283, 2472 },
+ { 0x3284, 1017 },
+ { 0x3285, 1020 },
+ { 0x3286, 615 },
+ { 0x3287, 1014 },
+ { 0x3288, 2484 },
+ { 0x3289, 1065 },
+ { 0x328A, 2481 },
+ { 0x328B, 1059 },
+ { 0x328C, 1062 },
+ { 0x328D, 624 },
+ { 0x328E, 1056 },
+ { 0x328F, 1026 },
+ { 0x3290, 618 },
+ { 0x3291, 1023 },
+ { 0x3292, 1074 },
+ { 0x3293, 1077 },
+ { 0x3294, 627 },
+ { 0x3295, 1068 },
+ { 0x3296, 2487 },
+ { 0x3297, 1071 },
+ { 0x3298, 1086 },
+ { 0x3299, 1089 },
+ { 0x329A, 630 },
+ { 0x329B, 1080 },
+ { 0x329C, 2490 },
+ { 0x329D, 1083 },
+ { 0x329E, 3735 },
+ { 0x329F, 3738 },
+ { 0x32A0, 2328 },
+ { 0x32A1, 3732 },
+ { 0x32A2, 4059 },
+ { 0x32A3, 4062 },
+ { 0x32A4, 3729 },
+ { 0x32A5, 4056 },
+ { 0x32A6, 3717 },
+ { 0x32A7, 3720 },
+ { 0x32A8, 2322 },
+ { 0x32A9, 3714 },
+ { 0x32AA, 3744 },
+ { 0x32AB, 2331 },
+ { 0x32AC, 3741 },
+ { 0x32AD, 3726 },
+ { 0x32AE, 2325 },
+ { 0x32AF, 3723 },
+ { 0x32B0, 3753 },
+ { 0x32B1, 2334 },
+ { 0x32B2, 3747 },
+ { 0x32B3, 4065 },
+ { 0x32B4, 3750 },
+ { 0x32B5, 3762 },
+ { 0x32B6, 3765 },
+ { 0x32B7, 2337 },
+ { 0x32B8, 3756 },
+ { 0x32B9, 4068 },
+ { 0x32BA, 3759 },
+ { 0x32BB, 3297 },
+ { 0x32BC, 3300 },
+ { 0x32BD, 1743 },
+ { 0x32BE, 3294 },
+ { 0x32BF, 4002 },
+ { 0x32C0, 3291 },
+ { 0x32C1, 3999 },
+ { 0x32C2, 3282 },
+ { 0x32C3, 3285 },
+ { 0x32C4, 1737 },
+ { 0x32C5, 3279 },
+ { 0x32C6, 4005 },
+ { 0x32C7, 3309 },
+ { 0x32C8, 3306 },
+ { 0x32C9, 3303 },
+ { 0x32CA, 3288 },
+ { 0x32CB, 1740 },
+ { 0x32CC, 3318 },
+ { 0x32CD, 1746 },
+ { 0x32CE, 3312 },
+ { 0x32CF, 4008 },
+ { 0x32D0, 3315 },
+ { 0x32D1, 3327 },
+ { 0x32D2, 3330 },
+ { 0x32D3, 1749 },
+ { 0x32D4, 3321 },
+ { 0x32D5, 4011 },
+ { 0x32D6, 3324 },
+ { 0x32D7, 1959 },
+ { 0x32D8, 1962 },
+ { 0x32D9, 837 },
+ { 0x32DA, 1956 },
+ { 0x32DB, 3492 },
+ { 0x32DC, 1953 },
+ { 0x32DD, 3489 },
+ { 0x32DE, 1926 },
+ { 0x32DF, 1929 },
+ { 0x32E0, 831 },
+ { 0x32E1, 1923 },
+ { 0x32E2, 3555 },
+ { 0x32E3, 1992 },
+ { 0x32E4, 3552 },
+ { 0x32E5, 1968 },
+ { 0x32E6, 1971 },
+ { 0x32E7, 840 },
+ { 0x32E8, 1965 },
+ { 0x32E9, 1935 },
+ { 0x32EA, 834 },
+ { 0x32EB, 1932 },
+ { 0x32EC, 2001 },
+ { 0x32ED, 2004 },
+ { 0x32EE, 843 },
+ { 0x32EF, 1995 },
+ { 0x32F0, 3558 },
+ { 0x32F1, 1998 },
+ { 0x32F2, 2013 },
+ { 0x32F3, 2016 },
+ { 0x32F4, 846 },
+ { 0x32F5, 2007 },
+ { 0x32F6, 3561 },
+ { 0x32F7, 2010 },
+ { 0x32F8, 3516 },
+ { 0x32F9, 3519 },
+ { 0x32FA, 1980 },
+ { 0x32FB, 3513 },
+ { 0x32FC, 4038 },
+ { 0x32FD, 3510 },
+ { 0x32FE, 4035 },
+ { 0x32FF, 3498 },
+ { 0x3300, 3501 },
+ { 0x3301, 1974 },
+ { 0x3302, 3495 },
+ { 0x3303, 3525 },
+ { 0x3304, 3528 },
+ { 0x3305, 1983 },
+ { 0x3306, 3522 },
+ { 0x3307, 3507 },
+ { 0x3308, 1977 },
+ { 0x3309, 3504 },
+ { 0x330A, 3534 },
+ { 0x330B, 3537 },
+ { 0x330C, 1986 },
+ { 0x330D, 3531 },
+ { 0x330E, 3546 },
+ { 0x330F, 3549 },
+ { 0x3310, 1989 },
+ { 0x3311, 3540 },
+ { 0x3312, 4041 },
+ { 0x3313, 3543 },
+ { 0x3314, 3645 },
+ { 0x3315, 3648 },
+ { 0x3316, 2259 },
+ { 0x3317, 3642 },
+ { 0x3318, 4047 },
+ { 0x3319, 3669 },
+ { 0x331A, 4044 },
+ { 0x331B, 3663 },
+ { 0x331C, 3666 },
+ { 0x331D, 2265 },
+ { 0x331E, 3660 },
+ { 0x331F, 3654 },
+ { 0x3320, 3657 },
+ { 0x3321, 2262 },
+ { 0x3322, 3651 },
+ { 0x3323, 3678 },
+ { 0x3324, 3681 },
+ { 0x3325, 2268 },
+ { 0x3326, 3672 },
+ { 0x3327, 4050 },
+ { 0x3328, 3675 },
+ { 0x3329, 3690 },
+ { 0x332A, 3693 },
+ { 0x332B, 2271 },
+ { 0x332C, 3684 },
+ { 0x332D, 4053 },
+ { 0x332E, 3687 },
+ { 0x332F, 2424 },
+ { 0x3330, 2427 },
+ { 0x3331, 1029 },
+ { 0x3332, 2421 },
+ { 0x3333, 3789 },
+ { 0x3334, 3792 },
+ { 0x3335, 2448 },
+ { 0x3336, 3786 },
+ { 0x3337, 2442 },
+ { 0x3338, 2445 },
+ { 0x3339, 1035 },
+ { 0x333A, 2439 },
+ { 0x333B, 2433 },
+ { 0x333C, 2436 },
+ { 0x333D, 1032 },
+ { 0x333E, 2430 },
+ { 0x333F, 2457 },
+ { 0x3340, 1038 },
+ { 0x3341, 2451 },
+ { 0x3342, 3795 },
+ { 0x3343, 2454 },
+ { 0x3344, 2466 },
+ { 0x3345, 2469 },
+ { 0x3346, 1041 },
+ { 0x3347, 2460 },
+ { 0x3348, 3798 },
+ { 0x3349, 2463 },
+ { 0x334A, 3375 },
+ { 0x334B, 1881 },
+ { 0x334C, 4014 },
+ { 0x334D, 3396 },
+ { 0x334E, 3390 },
+ { 0x334F, 3393 },
+ { 0x3350, 1887 },
+ { 0x3351, 3387 },
+ { 0x3352, 3381 },
+ { 0x3353, 3384 },
+ { 0x3354, 1884 },
+ { 0x3355, 3378 },
+ { 0x3356, 3405 },
+ { 0x3357, 3408 },
+ { 0x3358, 1890 },
+ { 0x3359, 3399 },
+ { 0x335A, 4017 },
+ { 0x335B, 3402 },
+ { 0x335C, 3417 },
+ { 0x335D, 3420 },
+ { 0x335E, 1893 },
+ { 0x335F, 3411 },
+ { 0x3360, 4020 },
+ { 0x3361, 3414 },
+ { 0x3362, 3192 },
+ { 0x3363, 3195 },
+ { 0x3364, 1698 },
+ { 0x3365, 3189 },
+ { 0x3366, 3210 },
+ { 0x3367, 1704 },
+ { 0x3368, 3207 },
+ { 0x3369, 3201 },
+ { 0x336A, 3204 },
+ { 0x336B, 1701 },
+ { 0x336C, 3198 },
+ { 0x336D, 3219 },
+ { 0x336E, 3222 },
+ { 0x336F, 1707 },
+ { 0x3370, 3213 },
+ { 0x3371, 3978 },
+ { 0x3372, 3216 },
+ { 0x3373, 3231 },
+ { 0x3374, 3234 },
+ { 0x3375, 1710 },
+ { 0x3376, 3225 },
+ { 0x3377, 3981 },
+ { 0x3378, 3228 },
+ { 0x3379, 3438 },
+ { 0x337A, 3441 },
+ { 0x337B, 1938 },
+ { 0x337C, 3435 },
+ { 0x337D, 4026 },
+ { 0x337E, 3462 },
+ { 0x337F, 4023 },
+ { 0x3380, 3456 },
+ { 0x3381, 3459 },
+ { 0x3382, 1944 },
+ { 0x3383, 3453 },
+ { 0x3384, 3447 },
+ { 0x3385, 3450 },
+ { 0x3386, 1941 },
+ { 0x3387, 3444 },
+ { 0x3388, 3471 },
+ { 0x3389, 3474 },
+ { 0x338A, 1947 },
+ { 0x338B, 3465 },
+ { 0x338C, 4029 },
+ { 0x338D, 3468 },
+ { 0x338E, 3483 },
+ { 0x338F, 3486 },
+ { 0x3390, 1950 },
+ { 0x3391, 3477 },
+ { 0x3392, 4032 },
+ { 0x3393, 3480 },
+ { 0x3394, 1860 },
+ { 0x3395, 1863 },
+ { 0x3396, 816 },
+ { 0x3397, 1857 },
+ { 0x3398, 3426 },
+ { 0x3399, 1896 },
+ { 0x339A, 3423 },
+ { 0x339B, 1875 },
+ { 0x339C, 1878 },
+ { 0x339D, 822 },
+ { 0x339E, 1872 },
+ { 0x339F, 1869 },
+ { 0x33A0, 819 },
+ { 0x33A1, 1866 },
+ { 0x33A2, 1905 },
+ { 0x33A3, 1908 },
+ { 0x33A4, 825 },
+ { 0x33A5, 1899 },
+ { 0x33A6, 3429 },
+ { 0x33A7, 1902 },
+ { 0x33A8, 1917 },
+ { 0x33A9, 1920 },
+ { 0x33AA, 828 },
+ { 0x33AB, 1911 },
+ { 0x33AC, 3432 },
+ { 0x33AD, 1914 },
+ { 0x33AE, 1374 },
+ { 0x33AF, 1377 },
+ { 0x33B0, 702 },
+ { 0x33B1, 1371 },
+ { 0x33B2, 2841 },
+ { 0x33B3, 2844 },
+ { 0x33B4, 1368 },
+ { 0x33B5, 2838 },
+ { 0x33B6, 2895 },
+ { 0x33B7, 2898 },
+ { 0x33B8, 1401 },
+ { 0x33B9, 2892 },
+ { 0x33BA, 1395 },
+ { 0x33BB, 1398 },
+ { 0x33BC, 705 },
+ { 0x33BD, 1392 },
+ { 0x33BE, 1410 },
+ { 0x33BF, 1413 },
+ { 0x33C0, 708 },
+ { 0x33C1, 1404 },
+ { 0x33C2, 2901 },
+ { 0x33C3, 1407 },
+ { 0x33C4, 1422 },
+ { 0x33C5, 1425 },
+ { 0x33C6, 711 },
+ { 0x33C7, 1416 },
+ { 0x33C8, 2904 },
+ { 0x33C9, 1419 },
+ { 0x33CA, 1815 },
+ { 0x33CB, 1818 },
+ { 0x33CC, 804 },
+ { 0x33CD, 1812 },
+ { 0x33CE, 3354 },
+ { 0x33CF, 3357 },
+ { 0x33D0, 1809 },
+ { 0x33D1, 3351 },
+ { 0x33D2, 3363 },
+ { 0x33D3, 3366 },
+ { 0x33D4, 1830 },
+ { 0x33D5, 3360 },
+ { 0x33D6, 1824 },
+ { 0x33D7, 1827 },
+ { 0x33D8, 807 },
+ { 0x33D9, 1821 },
+ { 0x33DA, 1839 },
+ { 0x33DB, 1842 },
+ { 0x33DC, 810 },
+ { 0x33DD, 1833 },
+ { 0x33DE, 3369 },
+ { 0x33DF, 1836 },
+ { 0x33E0, 1851 },
+ { 0x33E1, 1854 },
+ { 0x33E2, 813 },
+ { 0x33E3, 1845 },
+ { 0x33E4, 3372 },
+ { 0x33E5, 1848 },
+ { 0x33E6, 2853 },
+ { 0x33E7, 2856 },
+ { 0x33E8, 1380 },
+ { 0x33E9, 2850 },
+ { 0x33EA, 3903 },
+ { 0x33EB, 3906 },
+ { 0x33EC, 2847 },
+ { 0x33ED, 3900 },
+ { 0x33EE, 3912 },
+ { 0x33EF, 2868 },
+ { 0x33F0, 3909 },
+ { 0x33F1, 2862 },
+ { 0x33F2, 2865 },
+ { 0x33F3, 1383 },
+ { 0x33F4, 2859 },
+ { 0x33F5, 2877 },
+ { 0x33F6, 2880 },
+ { 0x33F7, 1386 },
+ { 0x33F8, 2871 },
+ { 0x33F9, 3915 },
+ { 0x33FA, 2874 },
+ { 0x33FB, 2886 },
+ { 0x33FC, 2889 },
+ { 0x33FD, 1389 },
+ { 0x33FE, 2883 },
+ { 0x33FF, 3150 },
+ { 0x3400, 3153 },
+ { 0x3401, 1677 },
+ { 0x3402, 3147 },
+ { 0x3403, 3963 },
+ { 0x3404, 3966 },
+ { 0x3405, 3144 },
+ { 0x3406, 3960 },
+ { 0x3407, 3969 },
+ { 0x3408, 3165 },
+ { 0x3409, 3159 },
+ { 0x340A, 3162 },
+ { 0x340B, 1680 },
+ { 0x340C, 3156 },
+ { 0x340D, 3174 },
+ { 0x340E, 1683 },
+ { 0x340F, 3168 },
+ { 0x3410, 3972 },
+ { 0x3411, 3171 },
+ { 0x3412, 3183 },
+ { 0x3413, 3186 },
+ { 0x3414, 1686 },
+ { 0x3415, 3177 },
+ { 0x3416, 3975 },
+ { 0x3417, 3180 },
+ { 0x3418, 3252 },
+ { 0x3419, 3255 },
+ { 0x341A, 1728 },
+ { 0x341B, 3249 },
+ { 0x341C, 3987 },
+ { 0x341D, 3990 },
+ { 0x341E, 3246 },
+ { 0x341F, 3984 },
+ { 0x3420, 3996 },
+ { 0x3421, 3267 },
+ { 0x3422, 3993 },
+ { 0x3423, 3261 },
+ { 0x3424, 3264 },
+ { 0x3425, 1731 },
+ { 0x3426, 3258 },
+ { 0x3427, 3273 },
+ { 0x3428, 3276 },
+ { 0x3429, 1734 },
+ { 0x342A, 3270 },
+ { 0x342B, 2166 },
+ { 0x342C, 2169 },
+ { 0x342D, 894 },
+ { 0x342E, 2163 },
+ { 0x342F, 3606 },
+ { 0x3430, 3609 },
+ { 0x3431, 2160 },
+ { 0x3432, 3603 },
+ { 0x3433, 3612 },
+ { 0x3434, 2181 },
+ { 0x3435, 2175 },
+ { 0x3436, 2178 },
+ { 0x3437, 897 },
+ { 0x3438, 2172 },
+ { 0x3439, 2190 },
+ { 0x343A, 2193 },
+ { 0x343B, 900 },
+ { 0x343C, 2184 },
+ { 0x343D, 3615 },
+ { 0x343E, 2187 },
+ { 0x343F, 2202 },
+ { 0x3440, 2205 },
+ { 0x3441, 903 },
+ { 0x3442, 2199 },
+ { 0x3443, 3621 },
+ { 0x3444, 3624 },
+ { 0x3445, 2196 },
+ { 0x3446, 3618 },
+ { 0x3447, 3630 },
+ { 0x3448, 3633 },
+ { 0x3449, 2217 },
+ { 0x344A, 3627 },
+ { 0x344B, 2211 },
+ { 0x344C, 2214 },
+ { 0x344D, 906 },
+ { 0x344E, 2208 },
+ { 0x344F, 2226 },
+ { 0x3450, 2229 },
+ { 0x3451, 909 },
+ { 0x3452, 2220 },
+ { 0x3453, 3636 },
+ { 0x3454, 2223 },
+ { 0x3455, 2238 },
+ { 0x3456, 2241 },
+ { 0x3457, 912 },
+ { 0x3458, 2232 },
+ { 0x3459, 3639 },
+ { 0x345A, 2235 },
+ { 0x345B, 492 },
+ { 0x345C, 426 },
+ { 0x345D, 474 },
+ { 0x345E, 555 },
+ { 0x345F, 456 },
+ { 0x3460, 498 },
+ { 0x3461, 531 },
+ { 0x3462, 462 },
+ { 0x3463, 429 },
+ { 0x3464, 537 },
+ { 0x3465, 480 },
+ { 0x3466, 522 },
+ { 0x3467, 483 },
+ { 0x3468, 441 },
+ { 0x3469, 486 },
+ { 0x346A, 543 },
+ { 0x346B, 501 },
+ { 0x346C, 417 },
+ { 0x346D, 516 },
+ { 0x346E, 459 },
+ { 0x346F, 528 },
+ { 0x3470, 447 },
+ { 0x3471, 534 },
+ { 0x3472, 558 },
+ { 0x3473, 435 },
+ { 0x3474, 432 },
+ { 0x3475, 549 },
+ { 0x3476, 513 },
+ { 0x3477, 489 },
+ { 0x3478, 468 },
+ { 0x3479, 510 },
+ { 0x347A, 507 },
+ { 0x347B, 495 },
+ { 0x347C, 504 },
+ { 0x347D, 444 },
+ { 0x347E, 420 },
+ { 0x347F, 561 },
+ { 0x3480, 471 },
+ { 0x3481, 465 },
+ { 0x3482, 546 },
+ { 0x3483, 438 },
+ { 0x3484, 414 },
+ { 0x3485, 570 },
+ { 0x3486, 477 },
+ { 0x3487, 411 },
+ { 0x3488, 525 },
+ { 0x3489, 453 },
+ { 0x348A, 540 },
+ { 0x348B, 564 },
+ { 0x348C, 519 },
+ { 0x348D, 567 },
+ { 0x348E, 450 },
+ { 0x348F, 573 },
+ { 0x3490, 552 },
+ { 0x3491, 423 },
+ { 0x3492, 14496 },
+ { 0x3493, 14535 },
+ { 0x3494, 14580 },
+ { 0x3495, 14502 },
+ { 0x3496, 14541 },
+ { 0x3497, 14586 },
+ { 0x3498, 14511 },
+ { 0x3499, 14520 },
+ { 0x349A, 14574 },
+ { 0x349B, 14517 },
+ { 0x349C, 14499 },
+ { 0x349D, 14562 },
+ { 0x349E, 14565 },
+ { 0x349F, 14589 },
+ { 0x34A0, 14628 },
+ { 0x34A1, 14526 },
+ { 0x34A2, 14529 },
+ { 0x34A3, 14523 },
+ { 0x34A4, 14538 },
+ { 0x34A5, 14595 },
+ { 0x34A6, 14559 },
+ { 0x34A7, 14577 },
+ { 0x34A8, 14514 },
+ { 0x34A9, 14553 },
+ { 0x34AA, 14571 },
+ { 0x34AB, 14508 },
+ { 0x34AC, 14550 },
+ { 0x34AD, 14583 },
+ { 0x34AE, 14556 },
+ { 0x34AF, 14568 },
+ { 0x34B0, 14478 },
+ { 0x34B1, 14493 },
+ { 0x34B2, 14481 },
+ { 0x34B3, 14505 },
+ { 0x34B4, 14484 },
+ { 0x34B5, 14487 },
+ { 0x34B6, 14490 },
+ { 0x34B7, 14544 },
+ { 0x34B8, 14547 },
+ { 0x34B9, 14532 },
+ { 0x34BA, 14613 },
+ { 0x34BB, 14598 },
+ { 0x34BC, 14618 },
+ { 0x34BD, 14603 },
+ { 0x34BE, 14608 },
+ { 0x34BF, 14623 },
+ { 0x34C0, 14635 },
+ { 0x34C1, 14631 },
+ { 0x34C2, 11874 },
+ { 0x34C3, 12183 },
+ { 0x34C4, 12219 },
+ { 0x34C5, 12411 },
+ { 0x34C6, 12582 },
+ { 0x34C7, 12348 },
+ { 0x34C8, 12456 },
+ { 0x34C9, 12135 },
+ { 0x34CA, 12507 },
+ { 0x34CB, 12498 },
+ { 0x34CC, 12600 },
+ { 0x34CD, 12483 },
+ { 0x34CE, 12186 },
+ { 0x34CF, 12402 },
+ { 0x34D0, 12381 },
+ { 0x34D1, 12576 },
+ { 0x34D2, 12462 },
+ { 0x34D3, 12594 },
+ { 0x34D4, 12267 },
+ { 0x34D5, 12354 },
+ { 0x34D6, 12162 },
+ { 0x34D7, 12528 },
+ { 0x34D8, 12360 },
+ { 0x34D9, 12570 },
+ { 0x34DA, 12435 },
+ { 0x34DB, 12588 },
+ { 0x34DC, 12156 },
+ { 0x34DD, 12237 },
+ { 0x34DE, 12558 },
+ { 0x34DF, 12429 },
+ { 0x34E0, 12246 },
+ { 0x34E1, 12626 },
+ { 0x34E2, 12207 },
+ { 0x34E3, 12288 },
+ { 0x34E4, 12309 },
+ { 0x34E5, 12564 },
+ { 0x34E6, 11817 },
+ { 0x34E7, 11925 },
+ { 0x34E8, 11916 },
+ { 0x34E9, 12225 },
+ { 0x34EA, 12096 },
+ { 0x34EB, 12417 },
+ { 0x34EC, 12018 },
+ { 0x34ED, 12144 },
+ { 0x34EE, 11835 },
+ { 0x34EF, 12279 },
+ { 0x34F0, 12258 },
+ { 0x34F1, 12519 },
+ { 0x34F2, 12198 },
+ { 0x34F3, 11886 },
+ { 0x34F4, 12081 },
+ { 0x34F5, 12063 },
+ { 0x34F6, 12390 },
+ { 0x34F7, 12171 },
+ { 0x34F8, 12471 },
+ { 0x34F9, 11964 },
+ { 0x34FA, 12033 },
+ { 0x34FB, 11865 },
+ { 0x34FC, 12300 },
+ { 0x34FD, 12048 },
+ { 0x34FE, 12369 },
+ { 0x34FF, 12126 },
+ { 0x3500, 12444 },
+ { 0x3501, 11850 },
+ { 0x3502, 11934 },
+ { 0x3503, 12318 },
+ { 0x3504, 12111 },
+ { 0x3505, 11949 },
+ { 0x3506, 12546 },
+ { 0x3507, 11901 },
+ { 0x3508, 11979 },
+ { 0x3509, 11997 },
+ { 0x350A, 12336 },
+ { 0x350B, 11811 },
+ { 0x350C, 11826 },
+ { 0x350D, 12534 },
+ { 0x350E, 11910 },
+ { 0x350F, 12216 },
+ { 0x3510, 12090 },
+ { 0x3511, 12408 },
+ { 0x3512, 12012 },
+ { 0x3513, 12138 },
+ { 0x3514, 11829 },
+ { 0x3515, 12273 },
+ { 0x3516, 12252 },
+ { 0x3517, 12495 },
+ { 0x3518, 12513 },
+ { 0x3519, 12192 },
+ { 0x351A, 11880 },
+ { 0x351B, 12075 },
+ { 0x351C, 12057 },
+ { 0x351D, 12384 },
+ { 0x351E, 12165 },
+ { 0x351F, 12465 },
+ { 0x3520, 11958 },
+ { 0x3521, 12027 },
+ { 0x3522, 11859 },
+ { 0x3523, 12294 },
+ { 0x3524, 12042 },
+ { 0x3525, 12363 },
+ { 0x3526, 12120 },
+ { 0x3527, 12438 },
+ { 0x3528, 11844 },
+ { 0x3529, 11928 },
+ { 0x352A, 12312 },
+ { 0x352B, 12105 },
+ { 0x352C, 11943 },
+ { 0x352D, 12243 },
+ { 0x352E, 12540 },
+ { 0x352F, 11895 },
+ { 0x3530, 11973 },
+ { 0x3531, 11988 },
+ { 0x3532, 12330 },
+ { 0x3533, 12009 },
+ { 0x3534, 12345 },
+ { 0x3535, 12231 },
+ { 0x3536, 12423 },
+ { 0x3537, 12585 },
+ { 0x3538, 12351 },
+ { 0x3539, 12459 },
+ { 0x353A, 12153 },
+ { 0x353B, 12510 },
+ { 0x353C, 12504 },
+ { 0x353D, 12603 },
+ { 0x353E, 12492 },
+ { 0x353F, 12189 },
+ { 0x3540, 12405 },
+ { 0x3541, 12399 },
+ { 0x3542, 12579 },
+ { 0x3543, 12480 },
+ { 0x3544, 12597 },
+ { 0x3545, 12270 },
+ { 0x3546, 12357 },
+ { 0x3547, 12180 },
+ { 0x3548, 12531 },
+ { 0x3549, 12378 },
+ { 0x354A, 12573 },
+ { 0x354B, 12453 },
+ { 0x354C, 12591 },
+ { 0x354D, 12159 },
+ { 0x354E, 12240 },
+ { 0x354F, 12561 },
+ { 0x3550, 12432 },
+ { 0x3551, 12249 },
+ { 0x3552, 12632 },
+ { 0x3553, 12213 },
+ { 0x3554, 12291 },
+ { 0x3555, 12327 },
+ { 0x3556, 12567 },
+ { 0x3557, 11823 },
+ { 0x3558, 12072 },
+ { 0x3559, 11922 },
+ { 0x355A, 12234 },
+ { 0x355B, 12102 },
+ { 0x355C, 12426 },
+ { 0x355D, 12024 },
+ { 0x355E, 12150 },
+ { 0x355F, 11841 },
+ { 0x3560, 12285 },
+ { 0x3561, 12264 },
+ { 0x3562, 12525 },
+ { 0x3563, 12204 },
+ { 0x3564, 11892 },
+ { 0x3565, 12087 },
+ { 0x3566, 12069 },
+ { 0x3567, 12396 },
+ { 0x3568, 12177 },
+ { 0x3569, 12477 },
+ { 0x356A, 11970 },
+ { 0x356B, 12039 },
+ { 0x356C, 11871 },
+ { 0x356D, 12306 },
+ { 0x356E, 12054 },
+ { 0x356F, 12375 },
+ { 0x3570, 12132 },
+ { 0x3571, 12450 },
+ { 0x3572, 11856 },
+ { 0x3573, 11940 },
+ { 0x3574, 12324 },
+ { 0x3575, 12117 },
+ { 0x3576, 11955 },
+ { 0x3577, 12552 },
+ { 0x3578, 11907 },
+ { 0x3579, 11985 },
+ { 0x357A, 12003 },
+ { 0x357B, 12342 },
+ { 0x357C, 11820 },
+ { 0x357D, 12006 },
+ { 0x357E, 12555 },
+ { 0x357F, 11919 },
+ { 0x3580, 12228 },
+ { 0x3581, 12099 },
+ { 0x3582, 12420 },
+ { 0x3583, 12021 },
+ { 0x3584, 12147 },
+ { 0x3585, 11838 },
+ { 0x3586, 12282 },
+ { 0x3587, 12261 },
+ { 0x3588, 12522 },
+ { 0x3589, 12201 },
+ { 0x358A, 12489 },
+ { 0x358B, 11889 },
+ { 0x358C, 12084 },
+ { 0x358D, 12066 },
+ { 0x358E, 12393 },
+ { 0x358F, 12174 },
+ { 0x3590, 12474 },
+ { 0x3591, 11967 },
+ { 0x3592, 12036 },
+ { 0x3593, 11868 },
+ { 0x3594, 12303 },
+ { 0x3595, 12051 },
+ { 0x3596, 12372 },
+ { 0x3597, 12129 },
+ { 0x3598, 12447 },
+ { 0x3599, 11853 },
+ { 0x359A, 11937 },
+ { 0x359B, 12321 },
+ { 0x359C, 12114 },
+ { 0x359D, 11952 },
+ { 0x359E, 12549 },
+ { 0x359F, 11904 },
+ { 0x35A0, 11982 },
+ { 0x35A1, 12000 },
+ { 0x35A2, 12339 },
+ { 0x35A3, 11814 },
+ { 0x35A4, 11877 },
+ { 0x35A5, 12537 },
+ { 0x35A6, 11913 },
+ { 0x35A7, 12222 },
+ { 0x35A8, 12093 },
+ { 0x35A9, 12414 },
+ { 0x35AA, 12015 },
+ { 0x35AB, 12141 },
+ { 0x35AC, 11832 },
+ { 0x35AD, 12276 },
+ { 0x35AE, 12255 },
+ { 0x35AF, 12501 },
+ { 0x35B0, 12516 },
+ { 0x35B1, 12195 },
+ { 0x35B2, 12486 },
+ { 0x35B3, 11883 },
+ { 0x35B4, 12078 },
+ { 0x35B5, 12060 },
+ { 0x35B6, 12387 },
+ { 0x35B7, 12168 },
+ { 0x35B8, 12468 },
+ { 0x35B9, 11961 },
+ { 0x35BA, 12030 },
+ { 0x35BB, 11862 },
+ { 0x35BC, 12297 },
+ { 0x35BD, 12045 },
+ { 0x35BE, 12366 },
+ { 0x35BF, 12123 },
+ { 0x35C0, 12441 },
+ { 0x35C1, 11847 },
+ { 0x35C2, 11931 },
+ { 0x35C3, 12315 },
+ { 0x35C4, 12108 },
+ { 0x35C5, 11946 },
+ { 0x35C6, 12543 },
+ { 0x35C7, 12629 },
+ { 0x35C8, 11898 },
+ { 0x35C9, 12210 },
+ { 0x35CA, 11976 },
+ { 0x35CB, 11991 },
+ { 0x35CC, 12333 },
+ { 0x35CD, 11994 },
+ { 0x35CE, 12635 },
+ { 0x35CF, 11737 },
+ { 0x35D0, 11734 },
+ { 0x35D1, 11808 },
+ { 0x35D2, 12610 },
+ { 0x35D3, 12614 },
+ { 0x35D4, 12622 },
+ { 0x35D5, 11802 },
+ { 0x35D6, 11805 },
+ { 0x35D7, 11793 },
+ { 0x35D8, 11772 },
+ { 0x35D9, 11778 },
+ { 0x35DA, 11769 },
+ { 0x35DB, 11775 },
+ { 0x35DC, 11781 },
+ { 0x35DD, 11799 },
+ { 0x35DE, 11790 },
+ { 0x35DF, 11796 },
+ { 0x35E0, 11784 },
+ { 0x35E1, 11787 },
+ { 0x35E2, 11757 },
+ { 0x35E3, 11739 },
+ { 0x35E4, 11745 },
+ { 0x35E5, 11766 },
+ { 0x35E6, 11751 },
+ { 0x35E7, 11748 },
+ { 0x35E8, 11742 },
+ { 0x35E9, 11763 },
+ { 0x35EA, 11760 },
+ { 0x35EB, 11754 },
+ { 0x35EC, 12618 },
+ { 0x35ED, 12606 },
+ { 0x35EE, 85784 },
+ { 0x35EF, 84818 },
+ { 0x35F0, 85692 },
+ { 0x35F1, 84721 },
+ { 0x35F2, 85864 },
+ { 0x35F3, 84907 },
+ { 0x35F4, 85563 },
+ { 0x35F5, 84571 },
+ { 0x35F6, 85688 },
+ { 0x35F7, 84717 },
+ { 0x35F8, 85923 },
+ { 0x35F9, 84966 },
+ { 0x35FA, 85683 },
+ { 0x35FB, 84712 },
+ { 0x35FC, 85815 },
+ { 0x35FD, 84849 },
+ { 0x35FE, 85661 },
+ { 0x35FF, 84690 },
+ { 0x3600, 85836 },
+ { 0x3601, 84875 },
+ { 0x3602, 85854 },
+ { 0x3603, 84897 },
+ { 0x3604, 85820 },
+ { 0x3605, 84859 },
+ { 0x3606, 85762 },
+ { 0x3607, 84791 },
+ { 0x3608, 85793 },
+ { 0x3609, 84827 },
+ { 0x360A, 85841 },
+ { 0x360B, 84880 },
+ { 0x360C, 85355 },
+ { 0x360D, 84363 },
+ { 0x360E, 85869 },
+ { 0x360F, 84912 },
+ { 0x3610, 85621 },
+ { 0x3611, 84629 },
+ { 0x3612, 85626 },
+ { 0x3613, 84634 },
+ { 0x3614, 85631 },
+ { 0x3615, 84639 },
+ { 0x3616, 85918 },
+ { 0x3617, 84961 },
+ { 0x3618, 85913 },
+ { 0x3619, 84956 },
+ { 0x361A, 85773 },
+ { 0x361B, 84802 },
+ { 0x361C, 85026 },
+ { 0x361D, 105411 },
+ { 0x361E, 105379 },
+ { 0x361F, 105595 },
+ { 0x3620, 105615 },
+ { 0x3621, 98862 },
+ { 0x3622, 105590 },
+ { 0x3623, 105421 },
+ { 0x3624, 105489 },
+ { 0x3625, 105429 },
+ { 0x3626, 105534 },
+ { 0x3627, 105544 },
+ { 0x3628, 105539 },
+ { 0x3629, 105556 },
+ { 0x362A, 105414 },
+ { 0x362B, 105605 },
+ { 0x362C, 85016 },
+ { 0x362D, 85958 },
+ { 0x362E, 85411 },
+ { 0x362F, 84419 },
+ { 0x3630, 85546 },
+ { 0x3631, 84554 },
+ { 0x3632, 85674 },
+ { 0x3633, 84703 },
+ { 0x3634, 85534 },
+ { 0x3635, 84542 },
+ { 0x3636, 85550 },
+ { 0x3637, 84558 },
+ { 0x3638, 85322 },
+ { 0x3639, 84330 },
+ { 0x363A, 85500 },
+ { 0x363B, 84508 },
+ { 0x363C, 85653 },
+ { 0x363D, 84677 },
+ { 0x363E, 85649 },
+ { 0x363F, 84673 },
+ { 0x3640, 85641 },
+ { 0x3641, 84665 },
+ { 0x3642, 85460 },
+ { 0x3643, 84468 },
+ { 0x3644, 85617 },
+ { 0x3645, 84625 },
+ { 0x3646, 85768 },
+ { 0x3647, 84797 },
+ { 0x3648, 85798 },
+ { 0x3649, 84832 },
+ { 0x364A, 96922 },
+ { 0x364B, 96927 },
+ { 0x364C, 105441 },
+ { 0x364D, 105574 },
+ { 0x364E, 17333 },
+ { 0x364F, 17354 },
+ { 0x3650, 17345 },
+ { 0x3651, 17363 },
+ { 0x3652, 17348 },
+ { 0x3653, 17453 },
+ { 0x3654, 17474 },
+ { 0x3655, 17342 },
+ { 0x3656, 17441 },
+ { 0x3657, 17336 },
+ { 0x3658, 17366 },
+ { 0x3659, 17396 },
+ { 0x365A, 17459 },
+ { 0x365B, 17534 },
+ { 0x365C, 17546 },
+ { 0x365D, 17549 },
+ { 0x365E, 17471 },
+ { 0x365F, 17504 },
+ { 0x3660, 17552 },
+ { 0x3661, 17339 },
+ { 0x3662, 17468 },
+ { 0x3663, 17384 },
+ { 0x3664, 17540 },
+ { 0x3665, 17405 },
+ { 0x3666, 17561 },
+ { 0x3667, 17537 },
+ { 0x3668, 17495 },
+ { 0x3669, 17426 },
+ { 0x366A, 17522 },
+ { 0x366B, 17393 },
+ { 0x366C, 17555 },
+ { 0x366D, 17486 },
+ { 0x366E, 17465 },
+ { 0x366F, 17489 },
+ { 0x3670, 17414 },
+ { 0x3671, 17513 },
+ { 0x3672, 17492 },
+ { 0x3673, 17525 },
+ { 0x3674, 17510 },
+ { 0x3675, 17516 },
+ { 0x3676, 17447 },
+ { 0x3677, 17483 },
+ { 0x3678, 17444 },
+ { 0x3679, 17417 },
+ { 0x367A, 17402 },
+ { 0x367B, 17372 },
+ { 0x367C, 17378 },
+ { 0x367D, 17390 },
+ { 0x367E, 17531 },
+ { 0x367F, 17450 },
+ { 0x3680, 17423 },
+ { 0x3681, 17570 },
+ { 0x3682, 17507 },
+ { 0x3683, 17438 },
+ { 0x3684, 17462 },
+ { 0x3685, 17528 },
+ { 0x3686, 17351 },
+ { 0x3687, 17420 },
+ { 0x3688, 17411 },
+ { 0x3689, 17387 },
+ { 0x368A, 17369 },
+ { 0x368B, 17399 },
+ { 0x368C, 17432 },
+ { 0x368D, 17360 },
+ { 0x368E, 17501 },
+ { 0x368F, 17456 },
+ { 0x3690, 17435 },
+ { 0x3691, 17375 },
+ { 0x3692, 17408 },
+ { 0x3693, 17357 },
+ { 0x3694, 17381 },
+ { 0x3695, 17498 },
+ { 0x3696, 17480 },
+ { 0x3697, 17429 },
+ { 0x3698, 17477 },
+ { 0x3699, 17519 },
+ { 0x369A, 17558 },
+ { 0x369B, 17564 },
+ { 0x369C, 17543 },
+ { 0x369D, 17567 },
+ { 0x369E, 19939 },
+ { 0x369F, 19943 },
+ { 0x36A0, 19934 },
+ { 0x36A1, 17326 },
+ { 0x36A2, 17329 },
+ { 0x36A3, 17331 },
+ { 0x36A4, 19947 },
+ { 0x36A5, 19936 },
+ { 0x36A6, 96857 },
+ { 0x36A7, 96881 },
+ { 0x36A8, 96863 },
+ { 0x36A9, 96887 },
+ { 0x36AA, 96845 },
+ { 0x36AB, 96869 },
+ { 0x36AC, 96851 },
+ { 0x36AD, 96875 },
+ { 0x36AE, 97190 },
+ { 0x36AF, 95799 },
+ { 0x36B0, 95756 },
+ { 0x36B1, 95712 },
+ { 0x36B2, 97152 },
+ { 0x36B3, 97196 },
+ { 0x36B4, 95805 },
+ { 0x36B5, 95762 },
+ { 0x36B6, 95718 },
+ { 0x36B7, 97158 },
+ { 0x36B8, 97203 },
+ { 0x36B9, 95812 },
+ { 0x36BA, 95769 },
+ { 0x36BB, 95740 },
+ { 0x36BC, 97165 },
+ { 0x36BD, 95644 },
+ { 0x36BE, 95640 },
+ { 0x36BF, 95649 },
+ { 0x36C0, 95870 },
+ { 0x36C1, 96671 },
+ { 0x36C2, 96676 },
+ { 0x36C3, 96691 },
+ { 0x36C4, 96685 },
+ { 0x36C5, 95729 },
+ { 0x36C6, 96706 },
+ { 0x36C7, 96700 },
+ { 0x36C8, 34122 },
+ { 0x36C9, 30919 },
+ { 0x36CA, 34117 },
+ { 0x36CB, 30914 },
+ { 0x36CC, 33806 },
+ { 0x36CD, 30067 },
+ { 0x36CE, 33739 },
+ { 0x36CF, 29822 },
+ { 0x36D0, 34083 },
+ { 0x36D1, 30863 },
+ { 0x36D2, 34092 },
+ { 0x36D3, 30872 },
+ { 0x36D4, 34096 },
+ { 0x36D5, 30876 },
+ { 0x36D6, 31015 },
+ { 0x36D7, 31109 },
+ { 0x36D8, 33658 },
+ { 0x36D9, 29671 },
+ { 0x36DA, 33678 },
+ { 0x36DB, 29691 },
+ { 0x36DC, 33682 },
+ { 0x36DD, 29695 },
+ { 0x36DE, 33686 },
+ { 0x36DF, 29699 },
+ { 0x36E0, 33690 },
+ { 0x36E1, 29703 },
+ { 0x36E2, 33697 },
+ { 0x36E3, 29710 },
+ { 0x36E4, 34055 },
+ { 0x36E5, 30755 },
+ { 0x36E6, 32275 },
+ { 0x36E7, 27845 },
+ { 0x36E8, 32303 },
+ { 0x36E9, 27880 },
+ { 0x36EA, 32281 },
+ { 0x36EB, 27851 },
+ { 0x36EC, 33908 },
+ { 0x36ED, 30314 },
+ { 0x36EE, 32348 },
+ { 0x36EF, 27940 },
+ { 0x36F0, 32632 },
+ { 0x36F1, 28344 },
+ { 0x36F2, 32640 },
+ { 0x36F3, 28352 },
+ { 0x36F4, 33731 },
+ { 0x36F5, 29783 },
+ { 0x36F6, 32869 },
+ { 0x36F7, 28588 },
+ { 0x36F8, 32877 },
+ { 0x36F9, 28603 },
+ { 0x36FA, 32883 },
+ { 0x36FB, 28609 },
+ { 0x36FC, 32894 },
+ { 0x36FD, 28633 },
+ { 0x36FE, 32902 },
+ { 0x36FF, 28641 },
+ { 0x3700, 32994 },
+ { 0x3701, 28792 },
+ { 0x3702, 33792 },
+ { 0x3703, 30010 },
+ { 0x3704, 33432 },
+ { 0x3705, 29358 },
+ { 0x3706, 33743 },
+ { 0x3707, 29842 },
+ { 0x3708, 34102 },
+ { 0x3709, 30882 },
+ { 0x370A, 33894 },
+ { 0x370B, 30279 },
+ { 0x370C, 33900 },
+ { 0x370D, 30285 },
+ { 0x370E, 33839 },
+ { 0x370F, 30206 },
+ { 0x3710, 33711 },
+ { 0x3711, 29749 },
+ { 0x3712, 33715 },
+ { 0x3713, 29757 },
+ { 0x3714, 33751 },
+ { 0x3715, 29866 },
+ { 0x3716, 95637 },
+ { 0x3717, 29870 },
+ { 0x3718, 29984 },
+ { 0x3719, 29988 },
+ { 0x371A, 29992 },
+ { 0x371B, 30006 },
+ { 0x371C, 31169 },
+ { 0x371D, 30021 },
+ { 0x371E, 29834 },
+ { 0x371F, 34001 },
+ { 0x3720, 30665 },
+ { 0x3721, 34006 },
+ { 0x3722, 30670 },
+ { 0x3723, 34011 },
+ { 0x3724, 33970 },
+ { 0x3725, 30613 },
+ { 0x3726, 33945 },
+ { 0x3727, 30447 },
+ { 0x3728, 34016 },
+ { 0x3729, 30680 },
+ { 0x372A, 34021 },
+ { 0x372B, 30685 },
+ { 0x372C, 34026 },
+ { 0x372D, 30690 },
+ { 0x372E, 95746 },
+ { 0x372F, 95859 },
+ { 0x3730, 95899 },
+ { 0x3731, 34079 },
+ { 0x3732, 30819 },
+ { 0x3733, 33935 },
+ { 0x3734, 28042 },
+ { 0x3735, 31330 },
+ { 0x3736, 32537 },
+ { 0x3737, 28213 },
+ { 0x3738, 31610 },
+ { 0x3739, 27074 },
+ { 0x373A, 27131 },
+ { 0x373B, 27633 },
+ { 0x373C, 31600 },
+ { 0x373D, 27064 },
+ { 0x373E, 31964 },
+ { 0x373F, 27491 },
+ { 0x3740, 34040 },
+ { 0x3741, 30715 },
+ { 0x3742, 34045 },
+ { 0x3743, 30720 },
+ { 0x3744, 34050 },
+ { 0x3745, 30725 },
+ { 0x3746, 32023 },
+ { 0x3747, 27557 },
+ { 0x3748, 32296 },
+ { 0x3749, 27866 },
+ { 0x374A, 32530 },
+ { 0x374B, 28199 },
+ { 0x374C, 32980 },
+ { 0x374D, 28733 },
+ { 0x374E, 33091 },
+ { 0x374F, 28908 },
+ { 0x3750, 32054 },
+ { 0x3751, 34073 },
+ { 0x3752, 33925 },
+ { 0x3753, 32342 },
+ { 0x3754, 33884 },
+ { 0x3755, 31091 },
+ { 0x3756, 33940 },
+ { 0x3757, 33955 },
+ { 0x3758, 32233 },
+ { 0x3759, 33747 },
+ { 0x375A, 33797 },
+ { 0x375B, 30025 },
+ { 0x375C, 33863 },
+ { 0x375D, 30238 },
+ { 0x375E, 33338 },
+ { 0x375F, 29237 },
+ { 0x3760, 33981 },
+ { 0x3761, 30645 },
+ { 0x3762, 33986 },
+ { 0x3763, 30650 },
+ { 0x3764, 33991 },
+ { 0x3765, 30655 },
+ { 0x3766, 33786 },
+ { 0x3767, 29996 },
+ { 0x3768, 34087 },
+ { 0x3769, 30867 },
+ { 0x376A, 31661 },
+ { 0x376B, 33027 },
+ { 0x376C, 33639 },
+ { 0x376D, 31711 },
+ { 0x376E, 27208 },
+ { 0x376F, 33070 },
+ { 0x3770, 28880 },
+ { 0x3771, 33913 },
+ { 0x3772, 30330 },
+ { 0x3773, 30360 },
+ { 0x3774, 30355 },
+ { 0x3775, 33919 },
+ { 0x3776, 30371 },
+ { 0x3777, 34031 },
+ { 0x3778, 30695 },
+ { 0x3779, 96724 },
+ { 0x377A, 96736 },
+ { 0x377B, 96786 },
+ { 0x377C, 34067 },
+ { 0x377D, 30784 },
+ { 0x377E, 34250 },
+ { 0x377F, 96748 },
+ { 0x3780, 96612 },
+ { 0x3781, 31204 },
+ { 0x3782, 34240 },
+ { 0x3783, 34245 },
+ { 0x3784, 34235 },
+ { 0x3785, 34225 },
+ { 0x3786, 34230 },
+ { 0x3787, 62560 },
+ { 0x3788, 62568 },
+ { 0x3789, 62526 },
+ { 0x378A, 62576 },
+ { 0x378B, 62564 },
+ { 0x378C, 62572 },
+ { 0x378D, 62518 },
+ { 0x378E, 62604 },
+ { 0x378F, 62660 },
+ { 0x3790, 62592 },
+ { 0x3791, 62652 },
+ { 0x3792, 62522 },
+ { 0x3793, 62584 },
+ { 0x3794, 62640 },
+ { 0x3795, 62600 },
+ { 0x3796, 62656 },
+ { 0x3797, 62676 },
+ { 0x3798, 62684 },
+ { 0x3799, 62644 },
+ { 0x379A, 62680 },
+ { 0x379B, 62632 },
+ { 0x379C, 62672 },
+ { 0x379D, 62588 },
+ { 0x379E, 62648 },
+ { 0x379F, 62616 },
+ { 0x37A0, 62620 },
+ { 0x37A1, 62664 },
+ { 0x37A2, 62580 },
+ { 0x37A3, 62636 },
+ { 0x37A4, 62612 },
+ { 0x37A5, 62624 },
+ { 0x37A6, 62608 },
+ { 0x37A7, 62668 },
+ { 0x37A8, 62628 },
+ { 0x37A9, 62596 },
+ { 0x37AA, 62535 },
+ { 0x37AB, 62545 },
+ { 0x37AC, 62550 },
+ { 0x37AD, 62540 },
+ { 0x37AE, 62555 },
+ { 0x37AF, 62688 },
+ { 0x37B0, 62692 },
+ { 0x37B1, 62696 },
+ { 0x37B2, 62700 },
+ { 0x37B3, 62530 },
+ { 0x37B4, 36337 },
+ { 0x37B5, 36327 },
+ { 0x37B6, 36347 },
+ { 0x37B7, 36342 },
+ { 0x37B8, 36332 },
+ { 0x37B9, 36352 },
+ { 0x37BA, 36323 },
+ { 0x37BB, 36361 },
+ { 0x37BC, 36319 },
+ { 0x37BD, 36357 },
+ { 0x37BE, 98117 },
+ { 0x37BF, 98168 },
+ { 0x37C0, 98108 },
+ { 0x37C1, 98171 },
+ { 0x37C2, 98096 },
+ { 0x37C3, 98156 },
+ { 0x37C4, 98114 },
+ { 0x37C5, 98177 },
+ { 0x37C6, 98141 },
+ { 0x37C7, 98186 },
+ { 0x37C8, 98099 },
+ { 0x37C9, 98126 },
+ { 0x37CA, 98129 },
+ { 0x37CB, 98180 },
+ { 0x37CC, 98093 },
+ { 0x37CD, 98123 },
+ { 0x37CE, 98189 },
+ { 0x37CF, 98198 },
+ { 0x37D0, 98162 },
+ { 0x37D1, 98144 },
+ { 0x37D2, 98195 },
+ { 0x37D3, 98153 },
+ { 0x37D4, 98204 },
+ { 0x37D5, 98150 },
+ { 0x37D6, 98135 },
+ { 0x37D7, 98120 },
+ { 0x37D8, 98183 },
+ { 0x37D9, 98138 },
+ { 0x37DA, 98111 },
+ { 0x37DB, 98078 },
+ { 0x37DC, 98084 },
+ { 0x37DD, 98090 },
+ { 0x37DE, 98081 },
+ { 0x37DF, 98087 },
+ { 0x37E0, 98132 },
+ { 0x37E1, 98147 },
+ { 0x37E2, 98105 },
+ { 0x37E3, 98165 },
+ { 0x37E4, 98102 },
+ { 0x37E5, 98235 },
+ { 0x37E6, 98239 },
+ { 0x37E7, 98192 },
+ { 0x37E8, 98201 },
+ { 0x37E9, 98159 },
+ { 0x37EA, 98174 },
+ { 0x37EB, 98212 },
+ { 0x37EC, 98220 },
+ { 0x37ED, 98208 },
+ { 0x37EE, 98216 },
+ { 0x37EF, 98231 },
+ { 0x37F0, 98243 },
+ { 0x37F1, 98224 },
+ { 0x37F2, 98227 },
+ { 0x37F3, 98074 },
+ { 0x37F4, 98067 },
+ { 0x37F5, 98070 },
+ { 0x37F6, 120680 },
+ { 0x37F7, 120677 },
+ { 0x37F8, 120785 },
+ { 0x37F9, 120800 },
+ { 0x37FA, 120791 },
+ { 0x37FB, 120827 },
+ { 0x37FC, 120797 },
+ { 0x37FD, 120860 },
+ { 0x37FE, 120927 },
+ { 0x37FF, 120935 },
+ { 0x3800, 120923 },
+ { 0x3801, 120931 },
+ { 0x3802, 120788 },
+ { 0x3803, 120818 },
+ { 0x3804, 120803 },
+ { 0x3805, 120794 },
+ { 0x3806, 120845 },
+ { 0x3807, 120806 },
+ { 0x3808, 120833 },
+ { 0x3809, 120887 },
+ { 0x380A, 120821 },
+ { 0x380B, 120881 },
+ { 0x380C, 120893 },
+ { 0x380D, 120812 },
+ { 0x380E, 120872 },
+ { 0x380F, 120830 },
+ { 0x3810, 120884 },
+ { 0x3811, 120899 },
+ { 0x3812, 120914 },
+ { 0x3813, 120920 },
+ { 0x3814, 120875 },
+ { 0x3815, 120917 },
+ { 0x3816, 120896 },
+ { 0x3817, 120857 },
+ { 0x3818, 120911 },
+ { 0x3819, 120815 },
+ { 0x381A, 120878 },
+ { 0x381B, 120842 },
+ { 0x381C, 120848 },
+ { 0x381D, 120902 },
+ { 0x381E, 120809 },
+ { 0x381F, 120869 },
+ { 0x3820, 120839 },
+ { 0x3821, 120866 },
+ { 0x3822, 120851 },
+ { 0x3823, 120836 },
+ { 0x3824, 120863 },
+ { 0x3825, 120905 },
+ { 0x3826, 120908 },
+ { 0x3827, 120854 },
+ { 0x3828, 120824 },
+ { 0x3829, 120890 },
+ { 0x382A, 120939 },
+ { 0x382B, 120734 },
+ { 0x382C, 120722 },
+ { 0x382D, 120750 },
+ { 0x382E, 120730 },
+ { 0x382F, 120758 },
+ { 0x3830, 120767 },
+ { 0x3831, 120777 },
+ { 0x3832, 120762 },
+ { 0x3833, 120772 },
+ { 0x3834, 120718 },
+ { 0x3835, 120746 },
+ { 0x3836, 120738 },
+ { 0x3837, 120726 },
+ { 0x3838, 120754 },
+ { 0x3839, 120742 },
+ { 0x383A, 120674 },
+ { 0x383B, 120683 },
+ { 0x383C, 120686 },
+ { 0x383D, 120782 },
+ { 0x383E, 120706 },
+ { 0x383F, 120688 },
+ { 0x3840, 120694 },
+ { 0x3841, 120715 },
+ { 0x3842, 120700 },
+ { 0x3843, 120697 },
+ { 0x3844, 120691 },
+ { 0x3845, 120712 },
+ { 0x3846, 120709 },
+ { 0x3847, 120703 },
+ { 0x3848, 105783 },
+ { 0x3849, 105759 },
+ { 0x384A, 105767 },
+ { 0x384B, 105795 },
+ { 0x384C, 105775 },
+ { 0x384D, 105771 },
+ { 0x384E, 105763 },
+ { 0x384F, 105791 },
+ { 0x3850, 105787 },
+ { 0x3851, 105779 },
+ { 0x3852, 105799 },
+ { 0x3853, 105803 },
+ { 0x3854, 105807 },
+ { 0x3855, 105811 },
+ { 0x3856, 105815 },
+ { 0x3857, 105819 },
+ { 0x3858, 105823 },
+ { 0x3859, 105755 },
+ { 0x385A, 117745 },
+ { 0x385B, 117801 },
+ { 0x385C, 117734 },
+ { 0x385D, 117793 },
+ { 0x385E, 117797 },
+ { 0x385F, 117805 },
+ { 0x3860, 117782 },
+ { 0x3861, 117701 },
+ { 0x3862, 117812 },
+ { 0x3863, 118221 },
+ { 0x3864, 117742 },
+ { 0x3865, 117712 },
+ { 0x3866, 117990 },
+ { 0x3867, 117881 },
+ { 0x3868, 25986 },
+ { 0x3869, 25962 },
+ { 0x386A, 25970 },
+ { 0x386B, 25998 },
+ { 0x386C, 25978 },
+ { 0x386D, 25974 },
+ { 0x386E, 25966 },
+ { 0x386F, 25994 },
+ { 0x3870, 25990 },
+ { 0x3871, 25982 },
+ { 0x3872, 26050 },
+ { 0x3873, 26110 },
+ { 0x3874, 26042 },
+ { 0x3875, 26114 },
+ { 0x3876, 26082 },
+ { 0x3877, 26126 },
+ { 0x3878, 26102 },
+ { 0x3879, 26118 },
+ { 0x387A, 26086 },
+ { 0x387B, 26106 },
+ { 0x387C, 26062 },
+ { 0x387D, 26074 },
+ { 0x387E, 26122 },
+ { 0x387F, 26058 },
+ { 0x3880, 26038 },
+ { 0x3881, 26030 },
+ { 0x3882, 26078 },
+ { 0x3883, 26098 },
+ { 0x3884, 26054 },
+ { 0x3885, 26094 },
+ { 0x3886, 26130 },
+ { 0x3887, 26046 },
+ { 0x3888, 26090 },
+ { 0x3889, 26034 },
+ { 0x388A, 26022 },
+ { 0x388B, 26066 },
+ { 0x388C, 26026 },
+ { 0x388D, 26070 },
+ { 0x388E, 26018 },
+ { 0x388F, 26002 },
+ { 0x3890, 26010 },
+ { 0x3891, 26014 },
+ { 0x3892, 26006 },
+ { 0x3893, 25958 },
+ { 0x3894, 25949 },
+ { 0x3895, 25953 },
+ { 0x3896, 25941 },
+ { 0x3897, 25945 },
+ { 0x3898, 61590 },
+ { 0x3899, 61581 },
+ { 0x389A, 61626 },
+ { 0x389B, 61611 },
+ { 0x389C, 61578 },
+ { 0x389D, 61599 },
+ { 0x389E, 61602 },
+ { 0x389F, 61572 },
+ { 0x38A0, 61596 },
+ { 0x38A1, 61575 },
+ { 0x38A2, 61587 },
+ { 0x38A3, 61629 },
+ { 0x38A4, 61608 },
+ { 0x38A5, 61605 },
+ { 0x38A6, 61593 },
+ { 0x38A7, 61617 },
+ { 0x38A8, 61614 },
+ { 0x38A9, 61584 },
+ { 0x38AA, 61620 },
+ { 0x38AB, 61632 },
+ { 0x38AC, 61623 },
+ { 0x38AD, 61635 },
+ { 0x38AE, 61569 },
+ { 0x38AF, 61541 },
+ { 0x38B0, 61549 },
+ { 0x38B1, 61537 },
+ { 0x38B2, 61553 },
+ { 0x38B3, 61545 },
+ { 0x38B4, 61557 },
+ { 0x38B5, 61565 },
+ { 0x38B6, 61561 },
+ { 0x38B7, 61655 },
+ { 0x38B8, 61647 },
+ { 0x38B9, 61651 },
+ { 0x38BA, 61643 },
+ { 0x38BB, 61638 },
+ { 0x38BC, 61640 },
+ { 0x38BD, 52760 },
+ { 0x38BE, 52763 },
+ { 0x38BF, 52703 },
+ { 0x38C0, 52757 },
+ { 0x38C1, 52736 },
+ { 0x38C2, 52871 },
+ { 0x38C3, 52739 },
+ { 0x38C4, 52874 },
+ { 0x38C5, 52682 },
+ { 0x38C6, 52688 },
+ { 0x38C7, 52853 },
+ { 0x38C8, 52892 },
+ { 0x38C9, 52595 },
+ { 0x38CA, 52676 },
+ { 0x38CB, 52817 },
+ { 0x38CC, 52718 },
+ { 0x38CD, 52721 },
+ { 0x38CE, 52586 },
+ { 0x38CF, 52889 },
+ { 0x38D0, 52808 },
+ { 0x38D1, 52670 },
+ { 0x38D2, 52841 },
+ { 0x38D3, 52652 },
+ { 0x38D4, 52643 },
+ { 0x38D5, 52856 },
+ { 0x38D6, 52754 },
+ { 0x38D7, 52799 },
+ { 0x38D8, 52580 },
+ { 0x38D9, 52859 },
+ { 0x38DA, 94012 },
+ { 0x38DB, 93999 },
+ { 0x38DC, 94006 },
+ { 0x38DD, 94009 },
+ { 0x38DE, 94087 },
+ { 0x38DF, 94096 },
+ { 0x38E0, 94093 },
+ { 0x38E1, 94140 },
+ { 0x38E2, 94103 },
+ { 0x38E3, 94177 },
+ { 0x38E4, 94226 },
+ { 0x38E5, 94230 },
+ { 0x38E6, 94090 },
+ { 0x38E7, 94106 },
+ { 0x38E8, 94100 },
+ { 0x38E9, 94150 },
+ { 0x38EA, 94157 },
+ { 0x38EB, 94153 },
+ { 0x38EC, 94130 },
+ { 0x38ED, 94133 },
+ { 0x38EE, 94223 },
+ { 0x38EF, 94116 },
+ { 0x38F0, 94119 },
+ { 0x38F1, 94143 },
+ { 0x38F2, 94238 },
+ { 0x38F3, 94146 },
+ { 0x38F4, 94235 },
+ { 0x38F5, 94242 },
+ { 0x38F6, 94245 },
+ { 0x38F7, 94216 },
+ { 0x38F8, 94219 },
+ { 0x38F9, 94170 },
+ { 0x38FA, 94203 },
+ { 0x38FB, 94206 },
+ { 0x38FC, 94123 },
+ { 0x38FD, 94126 },
+ { 0x38FE, 94167 },
+ { 0x38FF, 94174 },
+ { 0x3900, 94181 },
+ { 0x3901, 94109 },
+ { 0x3902, 94112 },
+ { 0x3903, 94164 },
+ { 0x3904, 94213 },
+ { 0x3905, 94185 },
+ { 0x3906, 94188 },
+ { 0x3907, 94161 },
+ { 0x3908, 94210 },
+ { 0x3909, 94195 },
+ { 0x390A, 94199 },
+ { 0x390B, 94192 },
+ { 0x390C, 94137 },
+ { 0x390D, 94002 },
+ { 0x390E, 94079 },
+ { 0x390F, 94083 },
+ { 0x3910, 94057 },
+ { 0x3911, 94061 },
+ { 0x3912, 94048 },
+ { 0x3913, 94052 },
+ { 0x3914, 94075 },
+ { 0x3915, 94066 },
+ { 0x3916, 94071 },
+ { 0x3917, 94259 },
+ { 0x3918, 94263 },
+ { 0x3919, 94255 },
+ { 0x391A, 94253 },
+ { 0x391B, 93958 },
+ { 0x391C, 94045 },
+ { 0x391D, 93968 },
+ { 0x391E, 93974 },
+ { 0x391F, 93971 },
+ { 0x3920, 93981 },
+ { 0x3921, 93990 },
+ { 0x3922, 93984 },
+ { 0x3923, 93987 },
+ { 0x3924, 93961 },
+ { 0x3925, 93964 },
+ { 0x3926, 93993 },
+ { 0x3927, 94249 },
+ { 0x3928, 94267 },
+ { 0x3929, 94033 },
+ { 0x392A, 94015 },
+ { 0x392B, 94021 },
+ { 0x392C, 94042 },
+ { 0x392D, 94027 },
+ { 0x392E, 94024 },
+ { 0x392F, 94018 },
+ { 0x3930, 94039 },
+ { 0x3931, 94036 },
+ { 0x3932, 94030 },
+ { 0x3933, 93977 },
+ { 0x3934, 93996 },
+ { 0x3935, 73682 },
+ { 0x3936, 73678 },
+ { 0x3937, 73686 },
+ { 0x3938, 73694 },
+ { 0x3939, 73674 },
+ { 0x393A, 73134 },
+ { 0x393B, 73906 },
+ { 0x393C, 73607 },
+ { 0x393D, 73557 },
+ { 0x393E, 73562 },
+ { 0x393F, 73587 },
+ { 0x3940, 73567 },
+ { 0x3941, 73592 },
+ { 0x3942, 73577 },
+ { 0x3943, 73612 },
+ { 0x3944, 73602 },
+ { 0x3945, 73052 },
+ { 0x3946, 73022 },
+ { 0x3947, 73032 },
+ { 0x3948, 73067 },
+ { 0x3949, 73042 },
+ { 0x394A, 73037 },
+ { 0x394B, 73027 },
+ { 0x394C, 73062 },
+ { 0x394D, 73057 },
+ { 0x394E, 73047 },
+ { 0x394F, 73597 },
+ { 0x3950, 73552 },
+ { 0x3951, 73582 },
+ { 0x3952, 73547 },
+ { 0x3953, 73572 },
+ { 0x3954, 13049 },
+ { 0x3955, 13055 },
+ { 0x3956, 13061 },
+ { 0x3957, 13052 },
+ { 0x3958, 13064 },
+ { 0x3959, 13058 },
+ { 0x395A, 13082 },
+ { 0x395B, 13133 },
+ { 0x395C, 13073 },
+ { 0x395D, 13127 },
+ { 0x395E, 13163 },
+ { 0x395F, 13139 },
+ { 0x3960, 13118 },
+ { 0x3961, 13160 },
+ { 0x3962, 13079 },
+ { 0x3963, 13130 },
+ { 0x3964, 13169 },
+ { 0x3965, 13142 },
+ { 0x3966, 13166 },
+ { 0x3967, 13103 },
+ { 0x3968, 13157 },
+ { 0x3969, 13070 },
+ { 0x396A, 13124 },
+ { 0x396B, 13145 },
+ { 0x396C, 13091 },
+ { 0x396D, 13121 },
+ { 0x396E, 13094 },
+ { 0x396F, 13151 },
+ { 0x3970, 13148 },
+ { 0x3971, 13067 },
+ { 0x3972, 13115 },
+ { 0x3973, 13136 },
+ { 0x3974, 13088 },
+ { 0x3975, 13112 },
+ { 0x3976, 13109 },
+ { 0x3977, 13097 },
+ { 0x3978, 13085 },
+ { 0x3979, 13106 },
+ { 0x397A, 13154 },
+ { 0x397B, 13100 },
+ { 0x397C, 13076 },
+ { 0x397D, 13021 },
+ { 0x397E, 13009 },
+ { 0x397F, 13037 },
+ { 0x3980, 13033 },
+ { 0x3981, 13017 },
+ { 0x3982, 13041 },
+ { 0x3983, 13013 },
+ { 0x3984, 13025 },
+ { 0x3985, 13029 },
+ { 0x3986, 13045 },
+ { 0x3987, 13228 },
+ { 0x3988, 13220 },
+ { 0x3989, 13216 },
+ { 0x398A, 13224 },
+ { 0x398B, 13176 },
+ { 0x398C, 13172 },
+ { 0x398D, 13208 },
+ { 0x398E, 13242 },
+ { 0x398F, 13204 },
+ { 0x3990, 13196 },
+ { 0x3991, 13184 },
+ { 0x3992, 13188 },
+ { 0x3993, 13200 },
+ { 0x3994, 13192 },
+ { 0x3995, 13180 },
+ { 0x3996, 13212 },
+ { 0x3997, 13237 },
+ { 0x3998, 13232 },
+ { 0x3999, 12997 },
+ { 0x399A, 12979 },
+ { 0x399B, 12985 },
+ { 0x399C, 13006 },
+ { 0x399D, 12991 },
+ { 0x399E, 12988 },
+ { 0x399F, 12982 },
+ { 0x39A0, 13003 },
+ { 0x39A1, 13000 },
+ { 0x39A2, 12994 },
+ { 0x39A3, 13254 },
+ { 0x39A4, 13247 },
+ { 0x39A5, 13250 },
+ { 0x39A6, 13257 },
+ { 0x39A7, 73744 },
+ { 0x39A8, 73736 },
+ { 0x39A9, 73776 },
+ { 0x39AA, 73752 },
+ { 0x39AB, 73792 },
+ { 0x39AC, 73800 },
+ { 0x39AD, 73804 },
+ { 0x39AE, 73812 },
+ { 0x39AF, 73780 },
+ { 0x39B0, 73808 },
+ { 0x39B1, 73784 },
+ { 0x39B2, 73756 },
+ { 0x39B3, 73764 },
+ { 0x39B4, 73748 },
+ { 0x39B5, 73788 },
+ { 0x39B6, 73740 },
+ { 0x39B7, 73911 },
+ { 0x39B8, 73768 },
+ { 0x39B9, 73772 },
+ { 0x39BA, 73760 },
+ { 0x39BB, 73902 },
+ { 0x39BC, 73898 },
+ { 0x39BD, 73894 },
+ { 0x39BE, 73878 },
+ { 0x39BF, 73870 },
+ { 0x39C0, 73874 },
+ { 0x39C1, 73723 },
+ { 0x39C2, 73116 },
+ { 0x39C3, 73121 },
+ { 0x39C4, 73126 },
+ { 0x39C5, 73710 },
+ { 0x39C6, 73715 },
+ { 0x39C7, 11375 },
+ { 0x39C8, 11495 },
+ { 0x39C9, 11430 },
+ { 0x39CA, 11550 },
+ { 0x39CB, 11455 },
+ { 0x39CC, 11575 },
+ { 0x39CD, 11365 },
+ { 0x39CE, 11485 },
+ { 0x39CF, 11435 },
+ { 0x39D0, 11555 },
+ { 0x39D1, 11350 },
+ { 0x39D2, 11470 },
+ { 0x39D3, 11425 },
+ { 0x39D4, 11545 },
+ { 0x39D5, 11405 },
+ { 0x39D6, 11525 },
+ { 0x39D7, 11440 },
+ { 0x39D8, 11560 },
+ { 0x39D9, 11355 },
+ { 0x39DA, 11475 },
+ { 0x39DB, 11410 },
+ { 0x39DC, 11530 },
+ { 0x39DD, 11450 },
+ { 0x39DE, 11570 },
+ { 0x39DF, 11390 },
+ { 0x39E0, 11510 },
+ { 0x39E1, 11345 },
+ { 0x39E2, 11465 },
+ { 0x39E3, 11395 },
+ { 0x39E4, 11515 },
+ { 0x39E5, 11445 },
+ { 0x39E6, 11565 },
+ { 0x39E7, 11360 },
+ { 0x39E8, 11480 },
+ { 0x39E9, 11385 },
+ { 0x39EA, 11505 },
+ { 0x39EB, 11420 },
+ { 0x39EC, 11540 },
+ { 0x39ED, 11400 },
+ { 0x39EE, 11520 },
+ { 0x39EF, 11380 },
+ { 0x39F0, 11500 },
+ { 0x39F1, 11415 },
+ { 0x39F2, 11535 },
+ { 0x39F3, 11370 },
+ { 0x39F4, 11490 },
+ { 0x39F5, 11340 },
+ { 0x39F6, 11460 },
+ { 0x39F7, 11260 },
+ { 0x39F8, 11304 },
+ { 0x39F9, 11292 },
+ { 0x39FA, 11328 },
+ { 0x39FB, 11300 },
+ { 0x39FC, 11288 },
+ { 0x39FD, 11296 },
+ { 0x39FE, 11264 },
+ { 0x39FF, 11320 },
+ { 0x3A00, 11336 },
+ { 0x3A01, 11324 },
+ { 0x3A02, 11332 },
+ { 0x3A03, 11316 },
+ { 0x3A04, 11312 },
+ { 0x3A05, 11308 },
+ { 0x3A06, 11268 },
+ { 0x3A07, 11283 },
+ { 0x3A08, 11273 },
+ { 0x3A09, 11278 },
+ { 0x3A0A, 11590 },
+ { 0x3A0B, 11598 },
+ { 0x3A0C, 11594 },
+ { 0x3A0D, 11580 },
+ { 0x3A0E, 11585 },
+ { 0x3A0F, 60490 },
+ { 0x3A10, 60503 },
+ { 0x3A11, 60533 },
+ { 0x3A12, 60588 },
+ { 0x3A13, 60617 },
+ { 0x3A14, 60670 },
+ { 0x3A15, 60537 },
+ { 0x3A16, 60633 },
+ { 0x3A17, 60584 },
+ { 0x3A18, 60600 },
+ { 0x3A19, 60604 },
+ { 0x3A1A, 60425 },
+ { 0x3A1B, 60430 },
+ { 0x3A1C, 60435 },
+ { 0x3A1D, 60420 },
+ { 0x3A1E, 60440 },
+ { 0x3A1F, 60685 },
+ { 0x3A20, 60376 },
+ { 0x3A21, 60364 },
+ { 0x3A22, 60691 },
+ { 0x3A23, 60371 },
+ { 0x3A24, 60485 },
+ { 0x3A25, 60682 },
+ { 0x3A26, 91514 },
+ { 0x3A27, 91508 },
+ { 0x3A28, 91607 },
+ { 0x3A29, 91610 },
+ { 0x3A2A, 91505 },
+ { 0x3A2B, 91511 },
+ { 0x3A2C, 91298 },
+ { 0x3A2D, 91292 },
+ { 0x3A2E, 91574 },
+ { 0x3A2F, 91577 },
+ { 0x3A30, 91289 },
+ { 0x3A31, 91295 },
+ { 0x3A32, 90716 },
+ { 0x3A33, 90710 },
+ { 0x3A34, 91307 },
+ { 0x3A35, 91310 },
+ { 0x3A36, 90707 },
+ { 0x3A37, 90713 },
+ { 0x3A38, 91559 },
+ { 0x3A39, 91571 },
+ { 0x3A3A, 91565 },
+ { 0x3A3B, 91613 },
+ { 0x3A3C, 91616 },
+ { 0x3A3D, 91562 },
+ { 0x3A3E, 91568 },
+ { 0x3A3F, 90608 },
+ { 0x3A40, 90620 },
+ { 0x3A41, 90614 },
+ { 0x3A42, 91241 },
+ { 0x3A43, 91244 },
+ { 0x3A44, 90611 },
+ { 0x3A45, 90617 },
+ { 0x3A46, 30303 },
+ { 0x3A47, 27002 },
+ { 0x3A48, 30887 },
+ { 0x3A49, 30293 },
+ { 0x3A4A, 27386 },
+ { 0x3A4B, 30233 },
+ { 0x3A4C, 30382 },
+ { 0x3A4D, 28027 },
+ { 0x3A4E, 27973 },
+ { 0x3A4F, 27988 },
+ { 0x3A50, 28110 },
+ { 0x3A51, 28241 },
+ { 0x3A52, 29885 },
+ { 0x3A53, 30892 },
+ { 0x3A54, 30897 },
+ { 0x3A55, 30145 },
+ { 0x3A56, 30735 },
+ { 0x3A57, 30577 },
+ { 0x3A58, 30584 },
+ { 0x3A59, 30465 },
+ { 0x3A5A, 30471 },
+ { 0x3A5B, 30700 },
+ { 0x3A5C, 31101 },
+ { 0x3A5D, 28797 },
+ { 0x3A5E, 30343 },
+ { 0x3A5F, 28786 },
+ { 0x3A60, 30348 },
+ { 0x3A61, 30389 },
+ { 0x3A62, 30394 },
+ { 0x3A63, 30730 },
+ { 0x3A64, 29174 },
+ { 0x3A65, 29065 },
+ { 0x3A66, 29830 },
+ { 0x3A67, 30592 },
+ { 0x3A68, 29136 },
+ { 0x3A69, 29846 },
+ { 0x3A6A, 29858 },
+ { 0x3A6B, 29850 },
+ { 0x3A6C, 29431 },
+ { 0x3A6D, 29439 },
+ { 0x3A6E, 29447 },
+ { 0x3A6F, 29459 },
+ { 0x3A70, 29538 },
+ { 0x3A71, 95624 },
+ { 0x3A72, 96310 },
+ { 0x3A73, 96030 },
+ { 0x3A74, 96016 },
+ { 0x3A75, 96155 },
+ { 0x3A76, 30242 },
+ { 0x3A77, 30745 },
+ { 0x3A78, 30160 },
+ { 0x3A79, 29838 },
+ { 0x3A7A, 30740 },
+ { 0x3A7B, 23595 },
+ { 0x3A7C, 29741 },
+ { 0x3A7D, 29814 },
+ { 0x3A7E, 30517 },
+ { 0x3A7F, 96477 },
+ { 0x3A80, 95823 },
+ { 0x3A81, 95888 },
+ { 0x3A82, 83283 },
+ { 0x3A83, 83287 },
+ { 0x3A84, 83291 },
+ { 0x3A85, 83295 },
+ { 0x3A86, 83303 },
+ { 0x3A87, 83307 },
+ { 0x3A88, 83335 },
+ { 0x3A89, 83383 },
+ { 0x3A8A, 83339 },
+ { 0x3A8B, 83343 },
+ { 0x3A8C, 83347 },
+ { 0x3A8D, 83351 },
+ { 0x3A8E, 83355 },
+ { 0x3A8F, 83359 },
+ { 0x3A90, 83363 },
+ { 0x3A91, 83367 },
+ { 0x3A92, 83371 },
+ { 0x3A93, 83375 },
+ { 0x3A94, 83379 },
+ { 0x3A95, 83387 },
+ { 0x3A96, 83391 },
+ { 0x3A97, 83395 },
+ { 0x3A98, 83399 },
+ { 0x3A99, 83403 },
+ { 0x3A9A, 83407 },
+ { 0x3A9B, 83411 },
+ { 0x3A9C, 83415 },
+ { 0x3A9D, 83419 },
+ { 0x3A9E, 83423 },
+ { 0x3A9F, 83427 },
+ { 0x3AA0, 83435 },
+ { 0x3AA1, 83547 },
+ { 0x3AA2, 83551 },
+ { 0x3AA3, 83439 },
+ { 0x3AA4, 83443 },
+ { 0x3AA5, 83447 },
+ { 0x3AA6, 83451 },
+ { 0x3AA7, 83455 },
+ { 0x3AA8, 83555 },
+ { 0x3AA9, 83559 },
+ { 0x3AAA, 83563 },
+ { 0x3AAB, 83567 },
+ { 0x3AAC, 83571 },
+ { 0x3AAD, 83575 },
+ { 0x3AAE, 83459 },
+ { 0x3AAF, 83299 },
+ { 0x3AB0, 83463 },
+ { 0x3AB1, 83467 },
+ { 0x3AB2, 83471 },
+ { 0x3AB3, 83475 },
+ { 0x3AB4, 83479 },
+ { 0x3AB5, 83311 },
+ { 0x3AB6, 83483 },
+ { 0x3AB7, 83315 },
+ { 0x3AB8, 83487 },
+ { 0x3AB9, 83319 },
+ { 0x3ABA, 83491 },
+ { 0x3ABB, 83323 },
+ { 0x3ABC, 83327 },
+ { 0x3ABD, 83331 },
+ { 0x3ABE, 83543 },
+ { 0x3ABF, 83579 },
+ { 0x3AC0, 83583 },
+ { 0x3AC1, 83587 },
+ { 0x3AC2, 83591 },
+ { 0x3AC3, 83595 },
+ { 0x3AC4, 83599 },
+ { 0x3AC5, 83603 },
+ { 0x3AC6, 83607 },
+ { 0x3AC7, 83611 },
+ { 0x3AC8, 83615 },
+ { 0x3AC9, 83619 },
+ { 0x3ACA, 83623 },
+ { 0x3ACB, 83495 },
+ { 0x3ACC, 83499 },
+ { 0x3ACD, 83503 },
+ { 0x3ACE, 83507 },
+ { 0x3ACF, 83511 },
+ { 0x3AD0, 83515 },
+ { 0x3AD1, 83519 },
+ { 0x3AD2, 60557 },
+ { 0x3AD3, 60596 },
+ { 0x3AD4, 60566 },
+ { 0x3AD5, 60575 },
+ { 0x3AD6, 60520 },
+ { 0x3AD7, 60511 },
+ { 0x3AD8, 60629 },
+ { 0x3AD9, 60608 },
+ { 0x3ADA, 60649 },
+ { 0x3ADB, 60653 },
+ { 0x3ADC, 60666 },
+ { 0x3ADD, 60621 },
+ { 0x3ADE, 60674 },
+ { 0x3ADF, 60549 },
+ { 0x3AE0, 60529 },
+ { 0x3AE1, 60494 },
+ { 0x3AE2, 60662 },
+ { 0x3AE3, 60678 },
+ { 0x3AE4, 60545 },
+ { 0x3AE5, 60645 },
+ { 0x3AE6, 60592 },
+ { 0x3AE7, 60507 },
+ { 0x3AE8, 60553 },
+ { 0x3AE9, 60541 },
+ { 0x3AEA, 60641 },
+ { 0x3AEB, 60637 },
+ { 0x3AEC, 60625 },
+ { 0x3AED, 60561 },
+ { 0x3AEE, 60570 },
+ { 0x3AEF, 60579 },
+ { 0x3AF0, 60524 },
+ { 0x3AF1, 60515 },
+ { 0x3AF2, 60612 },
+ { 0x3AF3, 60657 },
+ { 0x3AF4, 60498 },
+ { 0x3AF5, 60460 },
+ { 0x3AF6, 60450 },
+ { 0x3AF7, 60445 },
+ { 0x3AF8, 60470 },
+ { 0x3AF9, 60475 },
+ { 0x3AFA, 60465 },
+ { 0x3AFB, 60480 },
+ { 0x3AFC, 60455 },
+ { 0x3AFD, 60688 },
+ { 0x3AFE, 60360 },
+ { 0x3AFF, 60367 },
+ { 0x3B00, 60404 },
+ { 0x3B01, 60380 },
+ { 0x3B02, 60388 },
+ { 0x3B03, 60416 },
+ { 0x3B04, 60396 },
+ { 0x3B05, 60392 },
+ { 0x3B06, 60384 },
+ { 0x3B07, 60412 },
+ { 0x3B08, 60408 },
+ { 0x3B09, 60400 },
+ { 0x3B0A, 53531 },
+ { 0x3B0B, 53525 },
+ { 0x3B0C, 53480 },
+ { 0x3B0D, 53549 },
+ { 0x3B0E, 53552 },
+ { 0x3B0F, 53537 },
+ { 0x3B10, 53534 },
+ { 0x3B11, 53558 },
+ { 0x3B12, 53498 },
+ { 0x3B13, 53429 },
+ { 0x3B14, 53510 },
+ { 0x3B15, 53432 },
+ { 0x3B16, 53435 },
+ { 0x3B17, 53570 },
+ { 0x3B18, 53519 },
+ { 0x3B19, 53522 },
+ { 0x3B1A, 53447 },
+ { 0x3B1B, 53516 },
+ { 0x3B1C, 53450 },
+ { 0x3B1D, 53453 },
+ { 0x3B1E, 53384 },
+ { 0x3B1F, 53585 },
+ { 0x3B20, 53588 },
+ { 0x3B21, 53036 },
+ { 0x3B22, 53153 },
+ { 0x3B23, 53072 },
+ { 0x3B24, 53279 },
+ { 0x3B25, 53129 },
+ { 0x3B26, 53075 },
+ { 0x3B27, 53303 },
+ { 0x3B28, 53126 },
+ { 0x3B29, 53204 },
+ { 0x3B2A, 53207 },
+ { 0x3B2B, 53273 },
+ { 0x3B2C, 53285 },
+ { 0x3B2D, 53300 },
+ { 0x3B2E, 53267 },
+ { 0x3B2F, 53291 },
+ { 0x3B30, 53312 },
+ { 0x3B31, 53201 },
+ { 0x3B32, 53321 },
+ { 0x3B33, 53144 },
+ { 0x3B34, 53021 },
+ { 0x3B35, 53237 },
+ { 0x3B36, 52985 },
+ { 0x3B37, 53234 },
+ { 0x3B38, 53015 },
+ { 0x3B39, 53108 },
+ { 0x3B3A, 53306 },
+ { 0x3B3B, 53045 },
+ { 0x3B3C, 52991 },
+ { 0x3B3D, 53261 },
+ { 0x3B3E, 53039 },
+ { 0x3B3F, 53168 },
+ { 0x3B40, 52970 },
+ { 0x3B41, 53297 },
+ { 0x3B42, 53246 },
+ { 0x3B43, 53249 },
+ { 0x3B44, 53120 },
+ { 0x3B45, 52964 },
+ { 0x3B46, 53117 },
+ { 0x3B47, 53123 },
+ { 0x3B48, 52967 },
+ { 0x3B49, 53162 },
+ { 0x3B4A, 53318 },
+ { 0x3B4B, 53213 },
+ { 0x3B4C, 53210 },
+ { 0x3B4D, 52997 },
+ { 0x3B4E, 53231 },
+ { 0x3B4F, 52979 },
+ { 0x3B50, 53105 },
+ { 0x3B51, 53222 },
+ { 0x3B52, 6056 },
+ { 0x3B53, 6059 },
+ { 0x3B54, 6062 },
+ { 0x3B55, 6065 },
+ { 0x3B56, 6068 },
+ { 0x3B57, 30938 },
+ { 0x3B58, 30942 },
+ { 0x3B59, 30946 },
+ { 0x3B5A, 30962 },
+ { 0x3B5B, 30966 },
+ { 0x3B5C, 30970 },
+ { 0x3B5D, 30958 },
+ { 0x3B5E, 79597 },
+ { 0x3B5F, 79587 },
+ { 0x3B60, 79592 },
+ { 0x3B61, 79607 },
+ { 0x3B62, 79602 },
+ { 0x3B63, 54182 },
+ { 0x3B64, 53972 },
+ { 0x3B65, 54388 },
+ { 0x3B66, 54370 },
+ { 0x3B67, 54269 },
+ { 0x3B68, 54277 },
+ { 0x3B69, 54257 },
+ { 0x3B6A, 54261 },
+ { 0x3B6B, 54286 },
+ { 0x3B6C, 54281 },
+ { 0x3B6D, 54273 },
+ { 0x3B6E, 54265 },
+ { 0x3B6F, 54374 },
+ { 0x3B70, 54230 },
+ { 0x3B71, 54224 },
+ { 0x3B72, 54249 },
+ { 0x3B73, 54241 },
+ { 0x3B74, 54200 },
+ { 0x3B75, 54205 },
+ { 0x3B76, 54195 },
+ { 0x3B77, 54105 },
+ { 0x3B78, 54333 },
+ { 0x3B79, 54293 },
+ { 0x3B7A, 54079 },
+ { 0x3B7B, 54174 },
+ { 0x3B7C, 54357 },
+ { 0x3B7D, 54161 },
+ { 0x3B7E, 54187 },
+ { 0x3B7F, 54312 },
+ { 0x3B80, 54121 },
+ { 0x3B81, 54341 },
+ { 0x3B82, 54129 },
+ { 0x3B83, 54137 },
+ { 0x3B84, 54365 },
+ { 0x3B85, 54302 },
+ { 0x3B86, 54092 },
+ { 0x3B87, 54349 },
+ { 0x3B88, 54145 },
+ { 0x3B89, 54216 },
+ { 0x3B8A, 54236 },
+ { 0x3B8B, 54153 },
+ { 0x3B8C, 54169 },
+ { 0x3B8D, 54100 },
+ { 0x3B8E, 54116 },
+ { 0x3B8F, 54087 },
+ { 0x3B90, 54379 },
+ { 0x3B91, 43870 },
+ { 0x3B92, 43864 },
+ { 0x3B93, 43915 },
+ { 0x3B94, 43900 },
+ { 0x3B95, 43910 },
+ { 0x3B96, 43905 },
+ { 0x3B97, 42973 },
+ { 0x3B98, 42958 },
+ { 0x3B99, 42968 },
+ { 0x3B9A, 42963 },
+ { 0x3B9B, 44430 },
+ { 0x3B9C, 44415 },
+ { 0x3B9D, 44425 },
+ { 0x3B9E, 44420 },
+ { 0x3B9F, 44837 },
+ { 0x3BA0, 44822 },
+ { 0x3BA1, 44832 },
+ { 0x3BA2, 44827 },
+ { 0x3BA3, 44801 },
+ { 0x3BA4, 44786 },
+ { 0x3BA5, 44796 },
+ { 0x3BA6, 44791 },
+ { 0x3BA7, 44387 },
+ { 0x3BA8, 44372 },
+ { 0x3BA9, 44382 },
+ { 0x3BAA, 44377 },
+ { 0x3BAB, 43320 },
+ { 0x3BAC, 43305 },
+ { 0x3BAD, 43315 },
+ { 0x3BAE, 43310 },
+ { 0x3BAF, 44687 },
+ { 0x3BB0, 44672 },
+ { 0x3BB1, 44682 },
+ { 0x3BB2, 44677 },
+ { 0x3BB3, 43951 },
+ { 0x3BB4, 43936 },
+ { 0x3BB5, 43946 },
+ { 0x3BB6, 43941 },
+ { 0x3BB7, 44214 },
+ { 0x3BB8, 44199 },
+ { 0x3BB9, 44209 },
+ { 0x3BBA, 44204 },
+ { 0x3BBB, 44778 },
+ { 0x3BBC, 44763 },
+ { 0x3BBD, 44773 },
+ { 0x3BBE, 44768 },
+ { 0x3BBF, 44942 },
+ { 0x3BC0, 44927 },
+ { 0x3BC1, 44937 },
+ { 0x3BC2, 44932 },
+ { 0x3BC3, 44814 },
+ { 0x3BC4, 44809 },
+ { 0x3BC5, 44443 },
+ { 0x3BC6, 44438 },
+ { 0x3BC7, 42460 },
+ { 0x3BC8, 42455 },
+ { 0x3BC9, 43928 },
+ { 0x3BCA, 43923 },
+ { 0x3BCB, 42810 },
+ { 0x3BCC, 42805 },
+ { 0x3BCD, 44227 },
+ { 0x3BCE, 44222 },
+ { 0x3BCF, 44641 },
+ { 0x3BD0, 44626 },
+ { 0x3BD1, 44636 },
+ { 0x3BD2, 44631 },
+ { 0x3BD3, 42577 },
+ { 0x3BD4, 42562 },
+ { 0x3BD5, 42572 },
+ { 0x3BD6, 42567 },
+ { 0x3BD7, 43977 },
+ { 0x3BD8, 43962 },
+ { 0x3BD9, 43972 },
+ { 0x3BDA, 43967 },
+ { 0x3BDB, 44664 },
+ { 0x3BDC, 44649 },
+ { 0x3BDD, 44659 },
+ { 0x3BDE, 44654 },
+ { 0x3BDF, 44175 },
+ { 0x3BE0, 44169 },
+ { 0x3BE1, 44710 },
+ { 0x3BE2, 44695 },
+ { 0x3BE3, 44705 },
+ { 0x3BE4, 44700 },
+ { 0x3BE5, 42740 },
+ { 0x3BE6, 42732 },
+ { 0x3BE7, 42720 },
+ { 0x3BE8, 42702 },
+ { 0x3BE9, 42714 },
+ { 0x3BEA, 42708 },
+ { 0x3BEB, 42796 },
+ { 0x3BEC, 42778 },
+ { 0x3BED, 42790 },
+ { 0x3BEE, 42784 },
+ { 0x3BEF, 43552 },
+ { 0x3BF0, 43546 },
+ { 0x3BF1, 43517 },
+ { 0x3BF2, 43508 },
+ { 0x3BF3, 44991 },
+ { 0x3BF4, 44995 },
+ { 0x3BF5, 44999 },
+ { 0x3BF6, 45004 },
+ { 0x3BF7, 45044 },
+ { 0x3BF8, 45049 },
+ { 0x3BF9, 45054 },
+ { 0x3BFA, 45061 },
+ { 0x3BFB, 45021 },
+ { 0x3BFC, 45026 },
+ { 0x3BFD, 45072 },
+ { 0x3BFE, 45009 },
+ { 0x3BFF, 45015 },
+ { 0x3C00, 45031 },
+ { 0x3C01, 45034 },
+ { 0x3C02, 45039 },
+ { 0x3C03, 45068 },
+ { 0x3C04, 42131 },
+ { 0x3C05, 42116 },
+ { 0x3C06, 42126 },
+ { 0x3C07, 42121 },
+ { 0x3C08, 42105 },
+ { 0x3C09, 42100 },
+ { 0x3C0A, 42144 },
+ { 0x3C0B, 42139 },
+ { 0x3C0C, 42170 },
+ { 0x3C0D, 42165 },
+ { 0x3C0E, 42092 },
+ { 0x3C0F, 42157 },
+ { 0x3C10, 42152 },
+ { 0x3C11, 44902 },
+ { 0x3C12, 44896 },
+ { 0x3C13, 44918 },
+ { 0x3C14, 44912 },
+ { 0x3C15, 42078 },
+ { 0x3C16, 42063 },
+ { 0x3C17, 42073 },
+ { 0x3C18, 42068 },
+ { 0x3C19, 44851 },
+ { 0x3C1A, 44842 },
+ { 0x3C1B, 47314 },
+ { 0x3C1C, 47282 },
+ { 0x3C1D, 47142 },
+ { 0x3C1E, 47132 },
+ { 0x3C1F, 47252 },
+ { 0x3C20, 47242 },
+ { 0x3C21, 47122 },
+ { 0x3C22, 47112 },
+ { 0x3C23, 47162 },
+ { 0x3C24, 47152 },
+ { 0x3C25, 47182 },
+ { 0x3C26, 47172 },
+ { 0x3C27, 47102 },
+ { 0x3C28, 47082 },
+ { 0x3C29, 47092 },
+ { 0x3C2A, 48909 },
+ { 0x3C2B, 48883 },
+ { 0x3C2C, 48896 },
+ { 0x3C2D, 44523 },
+ { 0x3C2E, 44505 },
+ { 0x3C2F, 44517 },
+ { 0x3C30, 44511 },
+ { 0x3C31, 47334 },
+ { 0x3C32, 47202 },
+ { 0x3C33, 47384 },
+ { 0x3C34, 47303 },
+ { 0x3C35, 47272 },
+ { 0x3C36, 45357 },
+ { 0x3C37, 45292 },
+ { 0x3C38, 45380 },
+ { 0x3C39, 45408 },
+ { 0x3C3A, 45342 },
+ { 0x3C3B, 45327 },
+ { 0x3C3C, 46765 },
+ { 0x3C3D, 46672 },
+ { 0x3C3E, 46807 },
+ { 0x3C3F, 46881 },
+ { 0x3C40, 46722 },
+ { 0x3C41, 46707 },
+ { 0x3C42, 48393 },
+ { 0x3C43, 48421 },
+ { 0x3C44, 48385 },
+ { 0x3C45, 48370 },
+ { 0x3C46, 47498 },
+ { 0x3C47, 47579 },
+ { 0x3C48, 45725 },
+ { 0x3C49, 45758 },
+ { 0x3C4A, 47630 },
+ { 0x3C4B, 47586 },
+ { 0x3C4C, 47644 },
+ { 0x3C4D, 48228 },
+ { 0x3C4E, 48130 },
+ { 0x3C4F, 48268 },
+ { 0x3C50, 48334 },
+ { 0x3C51, 46447 },
+ { 0x3C52, 46530 },
+ { 0x3C53, 45513 },
+ { 0x3C54, 45455 },
+ { 0x3C55, 45545 },
+ { 0x3C56, 45559 },
+ { 0x3C57, 46544 },
+ { 0x3C58, 46631 },
+ { 0x3C59, 47428 },
+ { 0x3C5A, 45218 },
+ { 0x3C5B, 45269 },
+ { 0x3C5C, 48489 },
+ { 0x3C5D, 48531 },
+ { 0x3C5E, 45617 },
+ { 0x3C5F, 45573 },
+ { 0x3C60, 45649 },
+ { 0x3C61, 45672 },
+ { 0x3C62, 45602 },
+ { 0x3C63, 45587 },
+ { 0x3C64, 46318 },
+ { 0x3C65, 46398 },
+ { 0x3C66, 46347 },
+ { 0x3C67, 46332 },
+ { 0x3C68, 45913 },
+ { 0x3C69, 45927 },
+ { 0x3C6A, 45841 },
+ { 0x3C6B, 45941 },
+ { 0x3C6C, 45869 },
+ { 0x3C6D, 45996 },
+ { 0x3C6E, 45905 },
+ { 0x3C6F, 45883 },
+ { 0x3C70, 46217 },
+ { 0x3C71, 46047 },
+ { 0x3C72, 46249 },
+ { 0x3C73, 46304 },
+ { 0x3C74, 46150 },
+ { 0x3C75, 46068 },
+ { 0x3C76, 47757 },
+ { 0x3C77, 47685 },
+ { 0x3C78, 47798 },
+ { 0x3C79, 47828 },
+ { 0x3C7A, 47706 },
+ { 0x3C7B, 47692 },
+ { 0x3C7C, 47990 },
+ { 0x3C7D, 47870 },
+ { 0x3C7E, 48004 },
+ { 0x3C7F, 48051 },
+ { 0x3C80, 47920 },
+ { 0x3C81, 47905 },
+ { 0x3C82, 45787 },
+ { 0x3C83, 45819 },
+ { 0x3C84, 45772 },
+ { 0x3C85, 45765 },
+ { 0x3C86, 46992 },
+ { 0x3C87, 46918 },
+ { 0x3C88, 47006 },
+ { 0x3C89, 47061 },
+ { 0x3C8A, 46968 },
+ { 0x3C8B, 46953 },
+ { 0x3C8C, 48341 },
+ { 0x3C8D, 46405 },
+ { 0x3C8E, 47458 },
+ { 0x3C8F, 48861 },
+ { 0x3C90, 48868 },
+ { 0x3C91, 48840 },
+ { 0x3C92, 48826 },
+ { 0x3C93, 48854 },
+ { 0x3C94, 48875 },
+ { 0x3C95, 47232 },
+ { 0x3C96, 47404 },
+ { 0x3C97, 47354 },
+ { 0x3C98, 47394 },
+ { 0x3C99, 47292 },
+ { 0x3C9A, 47262 },
+ { 0x3C9B, 45313 },
+ { 0x3C9C, 45422 },
+ { 0x3C9D, 45387 },
+ { 0x3C9E, 45415 },
+ { 0x3C9F, 45334 },
+ { 0x3CA0, 45320 },
+ { 0x3CA1, 46693 },
+ { 0x3CA2, 46895 },
+ { 0x3CA3, 46860 },
+ { 0x3CA4, 46888 },
+ { 0x3CA5, 46714 },
+ { 0x3CA6, 46700 },
+ { 0x3CA7, 48356 },
+ { 0x3CA8, 48435 },
+ { 0x3CA9, 48400 },
+ { 0x3CAA, 48428 },
+ { 0x3CAB, 48377 },
+ { 0x3CAC, 48363 },
+ { 0x3CAD, 45594 },
+ { 0x3CAE, 45580 },
+ { 0x3CAF, 46339 },
+ { 0x3CB0, 46325 },
+ { 0x3CB1, 45890 },
+ { 0x3CB2, 45848 },
+ { 0x3CB3, 45975 },
+ { 0x3CB4, 45897 },
+ { 0x3CB5, 45876 },
+ { 0x3CB6, 46283 },
+ { 0x3CB7, 46142 },
+ { 0x3CB8, 46061 },
+ { 0x3CB9, 47699 },
+ { 0x3CBA, 47814 },
+ { 0x3CBB, 47891 },
+ { 0x3CBC, 48065 },
+ { 0x3CBD, 48030 },
+ { 0x3CBE, 48058 },
+ { 0x3CBF, 47912 },
+ { 0x3CC0, 47898 },
+ { 0x3CC1, 47449 },
+ { 0x3CC2, 46939 },
+ { 0x3CC3, 47075 },
+ { 0x3CC4, 47040 },
+ { 0x3CC5, 47068 },
+ { 0x3CC6, 46960 },
+ { 0x3CC7, 46946 },
+ { 0x3CC8, 47324 },
+ { 0x3CC9, 47192 },
+ { 0x3CCA, 47344 },
+ { 0x3CCB, 47374 },
+ { 0x3CCC, 47222 },
+ { 0x3CCD, 45350 },
+ { 0x3CCE, 45285 },
+ { 0x3CCF, 45373 },
+ { 0x3CD0, 45401 },
+ { 0x3CD1, 45306 },
+ { 0x3CD2, 46758 },
+ { 0x3CD3, 46665 },
+ { 0x3CD4, 46800 },
+ { 0x3CD5, 46874 },
+ { 0x3CD6, 46686 },
+ { 0x3CD7, 48414 },
+ { 0x3CD8, 47491 },
+ { 0x3CD9, 47572 },
+ { 0x3CDA, 45718 },
+ { 0x3CDB, 45751 },
+ { 0x3CDC, 47623 },
+ { 0x3CDD, 47637 },
+ { 0x3CDE, 48221 },
+ { 0x3CDF, 48123 },
+ { 0x3CE0, 48261 },
+ { 0x3CE1, 48327 },
+ { 0x3CE2, 46440 },
+ { 0x3CE3, 46498 },
+ { 0x3CE4, 46523 },
+ { 0x3CE5, 45506 },
+ { 0x3CE6, 45448 },
+ { 0x3CE7, 45538 },
+ { 0x3CE8, 45552 },
+ { 0x3CE9, 46537 },
+ { 0x3CEA, 47421 },
+ { 0x3CEB, 45211 },
+ { 0x3CEC, 45262 },
+ { 0x3CED, 48482 },
+ { 0x3CEE, 48524 },
+ { 0x3CEF, 45610 },
+ { 0x3CF0, 45566 },
+ { 0x3CF1, 45642 },
+ { 0x3CF2, 45665 },
+ { 0x3CF3, 46311 },
+ { 0x3CF4, 46391 },
+ { 0x3CF5, 45920 },
+ { 0x3CF6, 45834 },
+ { 0x3CF7, 45934 },
+ { 0x3CF8, 45862 },
+ { 0x3CF9, 45989 },
+ { 0x3CFA, 46210 },
+ { 0x3CFB, 46040 },
+ { 0x3CFC, 46242 },
+ { 0x3CFD, 46297 },
+ { 0x3CFE, 46054 },
+ { 0x3CFF, 47750 },
+ { 0x3D00, 47678 },
+ { 0x3D01, 47791 },
+ { 0x3D02, 47821 },
+ { 0x3D03, 47983 },
+ { 0x3D04, 47863 },
+ { 0x3D05, 47997 },
+ { 0x3D06, 48044 },
+ { 0x3D07, 47884 },
+ { 0x3D08, 45780 },
+ { 0x3D09, 45812 },
+ { 0x3D0A, 45826 },
+ { 0x3D0B, 46985 },
+ { 0x3D0C, 46911 },
+ { 0x3D0D, 46999 },
+ { 0x3D0E, 47054 },
+ { 0x3D0F, 46932 },
+ { 0x3D10, 47364 },
+ { 0x3D11, 47212 },
+ { 0x3D12, 45394 },
+ { 0x3D13, 45299 },
+ { 0x3D14, 46867 },
+ { 0x3D15, 46679 },
+ { 0x3D16, 48407 },
+ { 0x3D17, 48349 },
+ { 0x3D18, 48320 },
+ { 0x3D19, 48137 },
+ { 0x3D1A, 48779 },
+ { 0x3D1B, 48613 },
+ { 0x3D1C, 45855 },
+ { 0x3D1D, 45982 },
+ { 0x3D1E, 46290 },
+ { 0x3D1F, 48037 },
+ { 0x3D20, 47877 },
+ { 0x3D21, 47047 },
+ { 0x3D22, 46925 },
+ { 0x3D23, 48833 },
+ { 0x3D24, 48819 },
+ { 0x3D25, 48847 },
+ { 0x3D26, 46573 },
+ { 0x3D27, 46558 },
+ { 0x3D28, 45185 },
+ { 0x3D29, 45170 },
+ { 0x3D2A, 48474 },
+ { 0x3D2B, 48459 },
+ { 0x3D2C, 48187 },
+ { 0x3D2D, 48172 },
+ { 0x3D2E, 48663 },
+ { 0x3D2F, 48648 },
+ { 0x3D30, 45701 },
+ { 0x3D31, 45686 },
+ { 0x3D32, 47527 },
+ { 0x3D33, 47512 },
+ { 0x3D34, 47615 },
+ { 0x3D35, 47600 },
+ { 0x3D36, 46490 },
+ { 0x3D37, 46475 },
+ { 0x3D38, 45498 },
+ { 0x3D39, 45483 },
+ { 0x3D3A, 48701 },
+ { 0x3D3B, 48606 },
+ { 0x3D3C, 48729 },
+ { 0x3D3D, 48793 },
+ { 0x3D3E, 48634 },
+ { 0x3D3F, 48158 },
+ { 0x3D40, 46461 },
+ { 0x3D41, 45469 },
+ { 0x3D42, 46565 },
+ { 0x3D43, 46551 },
+ { 0x3D44, 45177 },
+ { 0x3D45, 45163 },
+ { 0x3D46, 48466 },
+ { 0x3D47, 48452 },
+ { 0x3D48, 48179 },
+ { 0x3D49, 48165 },
+ { 0x3D4A, 48655 },
+ { 0x3D4B, 48641 },
+ { 0x3D4C, 45693 },
+ { 0x3D4D, 45679 },
+ { 0x3D4E, 47519 },
+ { 0x3D4F, 47505 },
+ { 0x3D50, 47607 },
+ { 0x3D51, 47593 },
+ { 0x3D52, 46482 },
+ { 0x3D53, 46468 },
+ { 0x3D54, 45490 },
+ { 0x3D55, 45476 },
+ { 0x3D56, 48680 },
+ { 0x3D57, 48585 },
+ { 0x3D58, 48708 },
+ { 0x3D59, 48772 },
+ { 0x3D5A, 48627 },
+ { 0x3D5B, 48151 },
+ { 0x3D5C, 46454 },
+ { 0x3D5D, 45462 },
+ { 0x3D5E, 48694 },
+ { 0x3D5F, 48599 },
+ { 0x3D60, 48722 },
+ { 0x3D61, 48786 },
+ { 0x3D62, 48144 },
+ { 0x3D63, 48620 },
+ { 0x3D64, 46624 },
+ { 0x3D65, 48214 },
+ { 0x3D66, 48116 },
+ { 0x3D67, 48254 },
+ { 0x3D68, 48687 },
+ { 0x3D69, 48592 },
+ { 0x3D6A, 48715 },
+ { 0x3D6B, 46617 },
+ { 0x3D6C, 47414 },
+ { 0x3D6D, 47435 },
+ { 0x3D6E, 47442 },
+ { 0x3D6F, 60808 },
+ { 0x3D70, 60811 },
+ { 0x3D71, 48939 },
+ { 0x3D72, 48082 },
+ { 0x3D73, 48087 },
+ { 0x3D74, 48092 },
+ { 0x3D75, 48097 },
+ { 0x3D76, 48102 },
+ { 0x3D77, 48980 },
+ { 0x3D78, 48805 },
+ { 0x3D79, 48926 },
+ { 0x3D7A, 48948 },
+ { 0x3D7B, 48809 },
+ { 0x3D7C, 48930 },
+ { 0x3D7D, 48969 },
+ { 0x3D7E, 48922 },
+ { 0x3D7F, 48965 },
+ { 0x3D80, 48957 },
+ { 0x3D81, 46749 },
+ { 0x3D82, 46638 },
+ { 0x3D83, 46647 },
+ { 0x3D84, 46656 },
+ { 0x3D85, 46791 },
+ { 0x3D86, 46842 },
+ { 0x3D87, 46814 },
+ { 0x3D88, 46851 },
+ { 0x3D89, 47535 },
+ { 0x3D8A, 47544 },
+ { 0x3D8B, 45732 },
+ { 0x3D8C, 45741 },
+ { 0x3D8D, 48107 },
+ { 0x3D8E, 48195 },
+ { 0x3D8F, 48204 },
+ { 0x3D90, 48275 },
+ { 0x3D91, 48284 },
+ { 0x3D92, 48293 },
+ { 0x3D93, 48302 },
+ { 0x3D94, 48311 },
+ { 0x3D95, 46413 },
+ { 0x3D96, 46422 },
+ { 0x3D97, 46505 },
+ { 0x3D98, 48567 },
+ { 0x3D99, 48576 },
+ { 0x3D9A, 48671 },
+ { 0x3D9B, 48736 },
+ { 0x3D9C, 48745 },
+ { 0x3D9D, 48754 },
+ { 0x3D9E, 48763 },
+ { 0x3D9F, 45438 },
+ { 0x3DA0, 45520 },
+ { 0x3DA1, 45529 },
+ { 0x3DA2, 46581 },
+ { 0x3DA3, 46590 },
+ { 0x3DA4, 46608 },
+ { 0x3DA5, 46599 },
+ { 0x3DA6, 45193 },
+ { 0x3DA7, 45244 },
+ { 0x3DA8, 45253 },
+ { 0x3DA9, 45234 },
+ { 0x3DAA, 48515 },
+ { 0x3DAB, 48496 },
+ { 0x3DAC, 48505 },
+ { 0x3DAD, 45624 },
+ { 0x3DAE, 45633 },
+ { 0x3DAF, 46355 },
+ { 0x3DB0, 46382 },
+ { 0x3DB1, 46022 },
+ { 0x3DB2, 46003 },
+ { 0x3DB3, 46012 },
+ { 0x3DB4, 46183 },
+ { 0x3DB5, 46174 },
+ { 0x3DB6, 46224 },
+ { 0x3DB7, 46233 },
+ { 0x3DB8, 46256 },
+ { 0x3DB9, 46265 },
+ { 0x3DBA, 47660 },
+ { 0x3DBB, 47669 },
+ { 0x3DBC, 47651 },
+ { 0x3DBD, 47714 },
+ { 0x3DBE, 47741 },
+ { 0x3DBF, 47773 },
+ { 0x3DC0, 47782 },
+ { 0x3DC1, 47732 },
+ { 0x3DC2, 45794 },
+ { 0x3DC3, 45803 },
+ { 0x3DC4, 47854 },
+ { 0x3DC5, 47844 },
+ { 0x3DC6, 47965 },
+ { 0x3DC7, 47974 },
+ { 0x3DC8, 47955 },
+ { 0x3DC9, 48011 },
+ { 0x3DCA, 48020 },
+ { 0x3DCB, 47022 },
+ { 0x3DCC, 47031 },
+ { 0x3DCD, 45364 },
+ { 0x3DCE, 46730 },
+ { 0x3DCF, 46739 },
+ { 0x3DD0, 46772 },
+ { 0x3DD1, 46781 },
+ { 0x3DD2, 46823 },
+ { 0x3DD3, 46832 },
+ { 0x3DD4, 47553 },
+ { 0x3DD5, 47481 },
+ { 0x3DD6, 47562 },
+ { 0x3DD7, 48244 },
+ { 0x3DD8, 46431 },
+ { 0x3DD9, 48558 },
+ { 0x3DDA, 45429 },
+ { 0x3DDB, 46165 },
+ { 0x3DDC, 46274 },
+ { 0x3DDD, 46902 },
+ { 0x3DDE, 46976 },
+ { 0x3DDF, 47013 },
+ { 0x3DE0, 47805 },
+ { 0x3DE1, 46373 },
+ { 0x3DE2, 47835 },
+ { 0x3DE3, 46364 },
+ { 0x3DE4, 46031 },
+ { 0x3DE5, 45225 },
+ { 0x3DE6, 45948 },
+ { 0x3DE7, 47937 },
+ { 0x3DE8, 47764 },
+ { 0x3DE9, 46201 },
+ { 0x3DEA, 45957 },
+ { 0x3DEB, 46192 },
+ { 0x3DEC, 47928 },
+ { 0x3DED, 47472 },
+ { 0x3DEE, 45709 },
+ { 0x3DEF, 47723 },
+ { 0x3DF0, 45656 },
+ { 0x3DF1, 45276 },
+ { 0x3DF2, 45966 },
+ { 0x3DF3, 45202 },
+ { 0x3DF4, 46514 },
+ { 0x3DF5, 48235 },
+ { 0x3DF6, 47946 },
+ { 0x3DF7, 48961 },
+ { 0x3DF8, 48543 },
+ { 0x3DF9, 48072 },
+ { 0x3DFA, 48447 },
+ { 0x3DFB, 48442 },
+ { 0x3DFC, 48934 },
+ { 0x3DFD, 48538 },
+ { 0x3DFE, 48814 },
+ { 0x3DFF, 48800 },
+ { 0x3E00, 48943 },
+ { 0x3E01, 48553 },
+ { 0x3E02, 48985 },
+ { 0x3E03, 48990 },
+ { 0x3E04, 16029 },
+ { 0x3E05, 48952 },
+ { 0x3E06, 48975 },
+ { 0x3E07, 47467 },
+ { 0x3E08, 131141 },
+ { 0x3E09, 131258 },
+ { 0x3E0A, 131251 },
+ { 0x3E0B, 131136 },
+ { 0x3E0C, 131234 },
+ { 0x3E0D, 131245 },
+ { 0x3E0E, 131228 },
+ { 0x3E0F, 131085 },
+ { 0x3E10, 131184 },
+ { 0x3E11, 131239 },
+ { 0x3E12, 105652 },
+ { 0x3E13, 105661 },
+ { 0x3E14, 105166 },
+ { 0x3E15, 105171 },
+ { 0x3E16, 105237 },
+ { 0x3E17, 105249 },
+ { 0x3E18, 105748 },
+ { 0x3E19, 105656 },
+ { 0x3E1A, 105665 },
+ { 0x3E1B, 105085 },
+ { 0x3E1C, 105093 },
+ { 0x3E1D, 105241 },
+ { 0x3E1E, 105253 },
+ { 0x3E1F, 105751 },
+ { 0x3E20, 105401 },
+ { 0x3E21, 105406 },
+ { 0x3E22, 131048 },
+ { 0x3E23, 131030 },
+ { 0x3E24, 131036 },
+ { 0x3E25, 131042 },
+ { 0x3E26, 131129 },
+ { 0x3E27, 131123 },
+ { 0x3E28, 131222 },
+ { 0x3E29, 131070 },
+ { 0x3E2A, 131161 },
+ { 0x3E2B, 131115 },
+ { 0x3E2C, 131214 },
+ { 0x3E2D, 131062 },
+ { 0x3E2E, 131153 },
+ { 0x3E2F, 131100 },
+ { 0x3E30, 131199 },
+ { 0x3E31, 131055 },
+ { 0x3E32, 131146 },
+ { 0x3E33, 131093 },
+ { 0x3E34, 131192 },
+ { 0x3E35, 131077 },
+ { 0x3E36, 131168 },
+ { 0x3E37, 61776 },
+ { 0x3E38, 40995 },
+ { 0x3E39, 131108 },
+ { 0x3E3A, 131207 },
+ { 0x3E3B, 51442 },
+ { 0x3E3C, 117592 },
+ { 0x3E3D, 16891 },
+ { 0x3E3E, 51845 },
+ { 0x3E3F, 51439 },
+ { 0x3E40, 117589 },
+ { 0x3E41, 16884 },
+ { 0x3E42, 38850 },
+ { 0x3E43, 39008 },
+ { 0x3E44, 38830 },
+ { 0x3E45, 39000 },
+ { 0x3E46, 38848 },
+ { 0x3E47, 38992 },
+ { 0x3E48, 39005 },
+ { 0x3E49, 38813 },
+ { 0x3E4A, 38842 },
+ { 0x3E4B, 38861 },
+ { 0x3E4C, 38833 },
+ { 0x3E4D, 38852 },
+ { 0x3E4E, 38837 },
+ { 0x3E4F, 38856 },
+ { 0x3E50, 38939 },
+ { 0x3E51, 38995 },
+ { 0x3E52, 38972 },
+ { 0x3E53, 38845 },
+ { 0x3E54, 39014 },
+ { 0x3E55, 38997 },
+ { 0x3E56, 39011 },
+ { 0x3E57, 38936 },
+ { 0x3E58, 38967 },
+ { 0x3E59, 38933 },
+ { 0x3E5A, 38964 },
+ { 0x3E5B, 39002 },
+ { 0x3E5C, 45147 },
+ { 0x3E5D, 45115 },
+ { 0x3E5E, 45136 },
+ { 0x3E5F, 41574 },
+ { 0x3E60, 45159 },
+ { 0x3E61, 41673 },
+ { 0x3E62, 41669 },
+ { 0x3E63, 41639 },
+ { 0x3E64, 41635 },
+ { 0x3E65, 41694 },
+ { 0x3E66, 41690 },
+ { 0x3E67, 44987 },
+ { 0x3E68, 44983 },
+ { 0x3E69, 42026 },
+ { 0x3E6A, 42022 },
+ { 0x3E6B, 44568 },
+ { 0x3E6C, 43684 },
+ { 0x3E6D, 43676 },
+ { 0x3E6E, 43640 },
+ { 0x3E6F, 43632 },
+ { 0x3E70, 43366 },
+ { 0x3E71, 43358 },
+ { 0x3E72, 43662 },
+ { 0x3E73, 43654 },
+ { 0x3E74, 43471 },
+ { 0x3E75, 43447 },
+ { 0x3E76, 43463 },
+ { 0x3E77, 43455 },
+ { 0x3E78, 43892 },
+ { 0x3E79, 43855 },
+ { 0x3E7A, 42338 },
+ { 0x3E7B, 42323 },
+ { 0x3E7C, 42333 },
+ { 0x3E7D, 42328 },
+ { 0x3E7E, 43291 },
+ { 0x3E7F, 43285 },
+ { 0x3E80, 43297 },
+ { 0x3E81, 43261 },
+ { 0x3E82, 43271 },
+ { 0x3E83, 43266 },
+ { 0x3E84, 44354 },
+ { 0x3E85, 44339 },
+ { 0x3E86, 44349 },
+ { 0x3E87, 44344 },
+ { 0x3E88, 44040 },
+ { 0x3E89, 44025 },
+ { 0x3E8A, 44035 },
+ { 0x3E8B, 44030 },
+ { 0x3E8C, 42683 },
+ { 0x3E8D, 42668 },
+ { 0x3E8E, 42678 },
+ { 0x3E8F, 42673 },
+ { 0x3E90, 44063 },
+ { 0x3E91, 44048 },
+ { 0x3E92, 44058 },
+ { 0x3E93, 44053 },
+ { 0x3E94, 42447 },
+ { 0x3E95, 42442 },
+ { 0x3E96, 44331 },
+ { 0x3E97, 44326 },
+ { 0x3E98, 43133 },
+ { 0x3E99, 43128 },
+ { 0x3E9A, 44407 },
+ { 0x3E9B, 44402 },
+ { 0x3E9C, 44318 },
+ { 0x3E9D, 44303 },
+ { 0x3E9E, 44313 },
+ { 0x3E9F, 44308 },
+ { 0x3EA0, 44739 },
+ { 0x3EA1, 44724 },
+ { 0x3EA2, 44734 },
+ { 0x3EA3, 44729 },
+ { 0x3EA4, 43177 },
+ { 0x3EA5, 43162 },
+ { 0x3EA6, 43172 },
+ { 0x3EA7, 43167 },
+ { 0x3EA8, 42367 },
+ { 0x3EA9, 42352 },
+ { 0x3EAA, 42362 },
+ { 0x3EAB, 42357 },
+ { 0x3EAC, 43227 },
+ { 0x3EAD, 43212 },
+ { 0x3EAE, 43222 },
+ { 0x3EAF, 43217 },
+ { 0x3EB0, 43591 },
+ { 0x3EB1, 43576 },
+ { 0x3EB2, 43586 },
+ { 0x3EB3, 43581 },
+ { 0x3EB4, 42231 },
+ { 0x3EB5, 42216 },
+ { 0x3EB6, 42226 },
+ { 0x3EB7, 42221 },
+ { 0x3EB8, 44560 },
+ { 0x3EB9, 44545 },
+ { 0x3EBA, 44555 },
+ { 0x3EBB, 44550 },
+ { 0x3EBC, 42529 },
+ { 0x3EBD, 42514 },
+ { 0x3EBE, 42524 },
+ { 0x3EBF, 42519 },
+ { 0x3EC0, 43025 },
+ { 0x3EC1, 43010 },
+ { 0x3EC2, 43020 },
+ { 0x3EC3, 43015 },
+ { 0x3EC4, 42864 },
+ { 0x3EC5, 42849 },
+ { 0x3EC6, 42859 },
+ { 0x3EC7, 42854 },
+ { 0x3EC8, 42933 },
+ { 0x3EC9, 42918 },
+ { 0x3ECA, 42928 },
+ { 0x3ECB, 42923 },
+ { 0x3ECC, 44108 },
+ { 0x3ECD, 44093 },
+ { 0x3ECE, 44103 },
+ { 0x3ECF, 44098 },
+ { 0x3ED0, 44191 },
+ { 0x3ED1, 44160 },
+ { 0x3ED2, 44186 },
+ { 0x3ED3, 44181 },
+ { 0x3ED4, 42769 },
+ { 0x3ED5, 42754 },
+ { 0x3ED6, 42764 },
+ { 0x3ED7, 42759 },
+ { 0x3ED8, 43397 },
+ { 0x3ED9, 43392 },
+ { 0x3EDA, 43886 },
+ { 0x3EDB, 43880 },
+ { 0x3EDC, 43568 },
+ { 0x3EDD, 43492 },
+ { 0x3EDE, 43563 },
+ { 0x3EDF, 43558 },
+ { 0x3EE0, 46125 },
+ { 0x3EE1, 46115 },
+ { 0x3EE2, 46085 },
+ { 0x3EE3, 46075 },
+ { 0x3EE4, 46105 },
+ { 0x3EE5, 46095 },
+ { 0x3EE6, 46158 },
+ { 0x3EE7, 46135 },
+ { 0x3EE8, 16920 },
+ { 0x3EE9, 112984 },
+ { 0x3EEA, 112971 },
+ { 0x3EEB, 112947 },
+ { 0x3EEC, 112939 },
+ { 0x3EED, 112950 },
+ { 0x3EEE, 112966 },
+ { 0x3EEF, 112976 },
+ { 0x3EF0, 112613 },
+ { 0x3EF1, 112931 },
+ { 0x3EF2, 112958 },
+ { 0x3EF3, 112616 },
+ { 0x3EF4, 112621 },
+ { 0x3EF5, 112990 },
+ { 0x3EF6, 112598 },
+ { 0x3EF7, 112956 },
+ { 0x3EF8, 112641 },
+ { 0x3EF9, 112623 },
+ { 0x3EFA, 112629 },
+ { 0x3EFB, 112650 },
+ { 0x3EFC, 112635 },
+ { 0x3EFD, 112632 },
+ { 0x3EFE, 112626 },
+ { 0x3EFF, 112647 },
+ { 0x3F00, 112644 },
+ { 0x3F01, 112638 },
+ { 0x3F02, 112619 },
+ { 0x3F03, 112974 },
+ { 0x3F04, 112968 },
+ { 0x3F05, 112942 },
+ { 0x3F06, 112987 },
+ { 0x3F07, 112960 },
+ { 0x3F08, 112981 },
+ { 0x3F09, 112786 },
+ { 0x3F0A, 112791 },
+ { 0x3F0B, 112796 },
+ { 0x3F0C, 112801 },
+ { 0x3F0D, 112806 },
+ { 0x3F0E, 112811 },
+ { 0x3F0F, 112816 },
+ { 0x3F10, 112821 },
+ { 0x3F11, 112826 },
+ { 0x3F12, 112831 },
+ { 0x3F13, 112836 },
+ { 0x3F14, 112841 },
+ { 0x3F15, 112846 },
+ { 0x3F16, 112851 },
+ { 0x3F17, 112856 },
+ { 0x3F18, 112861 },
+ { 0x3F19, 112866 },
+ { 0x3F1A, 112871 },
+ { 0x3F1B, 112876 },
+ { 0x3F1C, 112881 },
+ { 0x3F1D, 112886 },
+ { 0x3F1E, 112891 },
+ { 0x3F1F, 112896 },
+ { 0x3F20, 112901 },
+ { 0x3F21, 112906 },
+ { 0x3F22, 112911 },
+ { 0x3F23, 112609 },
+ { 0x3F24, 112953 },
+ { 0x3F25, 112927 },
+ { 0x3F26, 112978 },
+ { 0x3F27, 112583 },
+ { 0x3F28, 112653 },
+ { 0x3F29, 112656 },
+ { 0x3F2A, 112661 },
+ { 0x3F2B, 112666 },
+ { 0x3F2C, 112671 },
+ { 0x3F2D, 112676 },
+ { 0x3F2E, 112681 },
+ { 0x3F2F, 112686 },
+ { 0x3F30, 112691 },
+ { 0x3F31, 112696 },
+ { 0x3F32, 112701 },
+ { 0x3F33, 112706 },
+ { 0x3F34, 112711 },
+ { 0x3F35, 112716 },
+ { 0x3F36, 112721 },
+ { 0x3F37, 112726 },
+ { 0x3F38, 112731 },
+ { 0x3F39, 112736 },
+ { 0x3F3A, 112741 },
+ { 0x3F3B, 112746 },
+ { 0x3F3C, 112751 },
+ { 0x3F3D, 112756 },
+ { 0x3F3E, 112761 },
+ { 0x3F3F, 112766 },
+ { 0x3F40, 112771 },
+ { 0x3F41, 112776 },
+ { 0x3F42, 112781 },
+ { 0x3F43, 112601 },
+ { 0x3F44, 112963 },
+ { 0x3F45, 112919 },
+ { 0x3F46, 112934 },
+ { 0x3F47, 112605 },
+ { 0x3F48, 112923 },
+ { 0x3F49, 113477 },
+ { 0x3F4A, 112997 },
+ { 0x3F4B, 113008 },
+ { 0x3F4C, 113481 },
+ { 0x3F4D, 113454 },
+ { 0x3F4E, 113393 },
+ { 0x3F4F, 113409 },
+ { 0x3F50, 113419 },
+ { 0x3F51, 113429 },
+ { 0x3F52, 113414 },
+ { 0x3F53, 113424 },
+ { 0x3F54, 113439 },
+ { 0x3F55, 113449 },
+ { 0x3F56, 113444 },
+ { 0x3F57, 113434 },
+ { 0x3F58, 113484 },
+ { 0x3F59, 113225 },
+ { 0x3F5A, 113233 },
+ { 0x3F5B, 113245 },
+ { 0x3F5C, 113229 },
+ { 0x3F5D, 113241 },
+ { 0x3F5E, 113269 },
+ { 0x3F5F, 113277 },
+ { 0x3F60, 113285 },
+ { 0x3F61, 113273 },
+ { 0x3F62, 113281 },
+ { 0x3F63, 113349 },
+ { 0x3F64, 113357 },
+ { 0x3F65, 113365 },
+ { 0x3F66, 113353 },
+ { 0x3F67, 113361 },
+ { 0x3F68, 113369 },
+ { 0x3F69, 113377 },
+ { 0x3F6A, 113385 },
+ { 0x3F6B, 113373 },
+ { 0x3F6C, 113381 },
+ { 0x3F6D, 113309 },
+ { 0x3F6E, 113317 },
+ { 0x3F6F, 113325 },
+ { 0x3F70, 113313 },
+ { 0x3F71, 113321 },
+ { 0x3F72, 113249 },
+ { 0x3F73, 113257 },
+ { 0x3F74, 113265 },
+ { 0x3F75, 113253 },
+ { 0x3F76, 113261 },
+ { 0x3F77, 113289 },
+ { 0x3F78, 113297 },
+ { 0x3F79, 113305 },
+ { 0x3F7A, 113293 },
+ { 0x3F7B, 113301 },
+ { 0x3F7C, 113397 },
+ { 0x3F7D, 113405 },
+ { 0x3F7E, 113401 },
+ { 0x3F7F, 113329 },
+ { 0x3F80, 113337 },
+ { 0x3F81, 113345 },
+ { 0x3F82, 113333 },
+ { 0x3F83, 113341 },
+ { 0x3F84, 113389 },
+ { 0x3F85, 113237 },
+ { 0x3F86, 113458 },
+ { 0x3F87, 113463 },
+ { 0x3F88, 113015 },
+ { 0x3F89, 113134 },
+ { 0x3F8A, 113202 },
+ { 0x3F8B, 113178 },
+ { 0x3F8C, 113122 },
+ { 0x3F8D, 113182 },
+ { 0x3F8E, 113186 },
+ { 0x3F8F, 113138 },
+ { 0x3F90, 113206 },
+ { 0x3F91, 113130 },
+ { 0x3F92, 113210 },
+ { 0x3F93, 113194 },
+ { 0x3F94, 113198 },
+ { 0x3F95, 113166 },
+ { 0x3F96, 113218 },
+ { 0x3F97, 113214 },
+ { 0x3F98, 113190 },
+ { 0x3F99, 113118 },
+ { 0x3F9A, 113126 },
+ { 0x3F9B, 113174 },
+ { 0x3F9C, 113162 },
+ { 0x3F9D, 113102 },
+ { 0x3F9E, 113158 },
+ { 0x3F9F, 113114 },
+ { 0x3FA0, 113106 },
+ { 0x3FA1, 113170 },
+ { 0x3FA2, 113142 },
+ { 0x3FA3, 113146 },
+ { 0x3FA4, 113154 },
+ { 0x3FA5, 113150 },
+ { 0x3FA6, 113110 },
+ { 0x3FA7, 113018 },
+ { 0x3FA8, 113038 },
+ { 0x3FA9, 113066 },
+ { 0x3FAA, 113094 },
+ { 0x3FAB, 113042 },
+ { 0x3FAC, 113022 },
+ { 0x3FAD, 113098 },
+ { 0x3FAE, 113070 },
+ { 0x3FAF, 113030 },
+ { 0x3FB0, 113054 },
+ { 0x3FB1, 113086 },
+ { 0x3FB2, 113050 },
+ { 0x3FB3, 113078 },
+ { 0x3FB4, 113034 },
+ { 0x3FB5, 113090 },
+ { 0x3FB6, 113058 },
+ { 0x3FB7, 113062 },
+ { 0x3FB8, 113082 },
+ { 0x3FB9, 113046 },
+ { 0x3FBA, 113074 },
+ { 0x3FBB, 113026 },
+ { 0x3FBC, 112595 },
+ { 0x3FBD, 112916 },
+ { 0x3FBE, 112586 },
+ { 0x3FBF, 112945 },
+ { 0x3FC0, 112936 },
+ { 0x3FC1, 112592 },
+ { 0x3FC2, 112589 },
+ { 0x3FC3, 113004 },
+ { 0x3FC4, 113471 },
+ { 0x3FC5, 113222 },
+ { 0x3FC6, 113474 },
+ { 0x3FC7, 113468 },
+ { 0x3FC8, 113001 },
+ { 0x3FC9, 113012 },
+ { 0x3FCA, 121702 },
+ { 0x3FCB, 121705 },
+ { 0x3FCC, 121708 },
+ { 0x3FCD, 60796 },
+ { 0x3FCE, 122338 },
+ { 0x3FCF, 59735 },
+ { 0x3FD0, 59860 },
+ { 0x3FD1, 59820 },
+ { 0x3FD2, 59960 },
+ { 0x3FD3, 59745 },
+ { 0x3FD4, 59700 },
+ { 0x3FD5, 59895 },
+ { 0x3FD6, 59730 },
+ { 0x3FD7, 59765 },
+ { 0x3FD8, 59915 },
+ { 0x3FD9, 59940 },
+ { 0x3FDA, 59900 },
+ { 0x3FDB, 59850 },
+ { 0x3FDC, 59970 },
+ { 0x3FDD, 60030 },
+ { 0x3FDE, 59890 },
+ { 0x3FDF, 59980 },
+ { 0x3FE0, 59995 },
+ { 0x3FE1, 60045 },
+ { 0x3FE2, 60040 },
+ { 0x3FE3, 59760 },
+ { 0x3FE4, 60010 },
+ { 0x3FE5, 59770 },
+ { 0x3FE6, 59795 },
+ { 0x3FE7, 59725 },
+ { 0x3FE8, 59800 },
+ { 0x3FE9, 59830 },
+ { 0x3FEA, 59920 },
+ { 0x3FEB, 59935 },
+ { 0x3FEC, 59710 },
+ { 0x3FED, 60005 },
+ { 0x3FEE, 59865 },
+ { 0x3FEF, 59750 },
+ { 0x3FF0, 59910 },
+ { 0x3FF1, 59775 },
+ { 0x3FF2, 60035 },
+ { 0x3FF3, 59790 },
+ { 0x3FF4, 59840 },
+ { 0x3FF5, 59955 },
+ { 0x3FF6, 59815 },
+ { 0x3FF7, 59925 },
+ { 0x3FF8, 59705 },
+ { 0x3FF9, 59810 },
+ { 0x3FFA, 59835 },
+ { 0x3FFB, 59740 },
+ { 0x3FFC, 59875 },
+ { 0x3FFD, 59755 },
+ { 0x3FFE, 59945 },
+ { 0x3FFF, 59950 },
+ { 0x4000, 59715 },
+ { 0x4001, 59855 },
+ { 0x4002, 59720 },
+ { 0x4003, 59990 },
+ { 0x4004, 59930 },
+ { 0x4005, 60020 },
+ { 0x4006, 59870 },
+ { 0x4007, 59880 },
+ { 0x4008, 59780 },
+ { 0x4009, 60015 },
+ { 0x400A, 59785 },
+ { 0x400B, 59805 },
+ { 0x400C, 59885 },
+ { 0x400D, 60050 },
+ { 0x400E, 60000 },
+ { 0x400F, 60060 },
+ { 0x4010, 59905 },
+ { 0x4011, 59825 },
+ { 0x4012, 59965 },
+ { 0x4013, 60025 },
+ { 0x4014, 59845 },
+ { 0x4015, 59985 },
+ { 0x4016, 59975 },
+ { 0x4017, 60055 },
+ { 0x4018, 60065 },
+ { 0x4019, 59074 },
+ { 0x401A, 59078 },
+ { 0x401B, 59082 },
+ { 0x401C, 59086 },
+ { 0x401D, 59090 },
+ { 0x401E, 59094 },
+ { 0x401F, 59098 },
+ { 0x4020, 59102 },
+ { 0x4021, 59106 },
+ { 0x4022, 59110 },
+ { 0x4023, 59114 },
+ { 0x4024, 59118 },
+ { 0x4025, 59122 },
+ { 0x4026, 59126 },
+ { 0x4027, 59130 },
+ { 0x4028, 59135 },
+ { 0x4029, 59140 },
+ { 0x402A, 59145 },
+ { 0x402B, 59475 },
+ { 0x402C, 59480 },
+ { 0x402D, 59485 },
+ { 0x402E, 59490 },
+ { 0x402F, 59495 },
+ { 0x4030, 59500 },
+ { 0x4031, 59505 },
+ { 0x4032, 59510 },
+ { 0x4033, 59515 },
+ { 0x4034, 59520 },
+ { 0x4035, 59150 },
+ { 0x4036, 59155 },
+ { 0x4037, 59160 },
+ { 0x4038, 59165 },
+ { 0x4039, 59170 },
+ { 0x403A, 59670 },
+ { 0x403B, 59675 },
+ { 0x403C, 59175 },
+ { 0x403D, 59180 },
+ { 0x403E, 59185 },
+ { 0x403F, 59680 },
+ { 0x4040, 59685 },
+ { 0x4041, 59189 },
+ { 0x4042, 59194 },
+ { 0x4043, 59199 },
+ { 0x4044, 59203 },
+ { 0x4045, 59208 },
+ { 0x4046, 59212 },
+ { 0x4047, 59216 },
+ { 0x4048, 59221 },
+ { 0x4049, 59225 },
+ { 0x404A, 59229 },
+ { 0x404B, 59690 },
+ { 0x404C, 59233 },
+ { 0x404D, 59237 },
+ { 0x404E, 59241 },
+ { 0x404F, 59246 },
+ { 0x4050, 59250 },
+ { 0x4051, 59254 },
+ { 0x4052, 59259 },
+ { 0x4053, 59264 },
+ { 0x4054, 59268 },
+ { 0x4055, 59272 },
+ { 0x4056, 59276 },
+ { 0x4057, 59280 },
+ { 0x4058, 59284 },
+ { 0x4059, 59288 },
+ { 0x405A, 59292 },
+ { 0x405B, 59296 },
+ { 0x405C, 59300 },
+ { 0x405D, 59305 },
+ { 0x405E, 59309 },
+ { 0x405F, 59314 },
+ { 0x4060, 59318 },
+ { 0x4061, 59322 },
+ { 0x4062, 59326 },
+ { 0x4063, 59330 },
+ { 0x4064, 59334 },
+ { 0x4065, 59338 },
+ { 0x4066, 59342 },
+ { 0x4067, 59346 },
+ { 0x4068, 59350 },
+ { 0x4069, 59354 },
+ { 0x406A, 59358 },
+ { 0x406B, 59363 },
+ { 0x406C, 59368 },
+ { 0x406D, 59373 },
+ { 0x406E, 59378 },
+ { 0x406F, 59383 },
+ { 0x4070, 59387 },
+ { 0x4071, 59392 },
+ { 0x4072, 59396 },
+ { 0x4073, 59400 },
+ { 0x4074, 59406 },
+ { 0x4075, 59411 },
+ { 0x4076, 59417 },
+ { 0x4077, 59422 },
+ { 0x4078, 59426 },
+ { 0x4079, 59695 },
+ { 0x407A, 59430 },
+ { 0x407B, 59434 },
+ { 0x407C, 59438 },
+ { 0x407D, 59442 },
+ { 0x407E, 59446 },
+ { 0x407F, 59450 },
+ { 0x4080, 59455 },
+ { 0x4081, 59459 },
+ { 0x4082, 59463 },
+ { 0x4083, 59467 },
+ { 0x4084, 59471 },
+ { 0x4085, 59525 },
+ { 0x4086, 59530 },
+ { 0x4087, 59535 },
+ { 0x4088, 59540 },
+ { 0x4089, 59545 },
+ { 0x408A, 59550 },
+ { 0x408B, 59555 },
+ { 0x408C, 59560 },
+ { 0x408D, 59565 },
+ { 0x408E, 59570 },
+ { 0x408F, 59575 },
+ { 0x4090, 59580 },
+ { 0x4091, 59585 },
+ { 0x4092, 59590 },
+ { 0x4093, 59595 },
+ { 0x4094, 59600 },
+ { 0x4095, 59605 },
+ { 0x4096, 59610 },
+ { 0x4097, 59615 },
+ { 0x4098, 59620 },
+ { 0x4099, 59625 },
+ { 0x409A, 59630 },
+ { 0x409B, 59635 },
+ { 0x409C, 59640 },
+ { 0x409D, 59645 },
+ { 0x409E, 59650 },
+ { 0x409F, 59655 },
+ { 0x40A0, 59660 },
+ { 0x40A1, 59665 },
+ { 0x40A2, 41261 },
+ { 0x40A3, 41257 },
+ { 0x40A4, 41265 },
+ { 0x40A5, 41273 },
+ { 0x40A6, 41302 },
+ { 0x40A7, 41389 },
+ { 0x40A8, 41324 },
+ { 0x40A9, 41313 },
+ { 0x40AA, 41284 },
+ { 0x40AB, 41371 },
+ { 0x40AC, 41346 },
+ { 0x40AD, 41335 },
+ { 0x40AE, 41295 },
+ { 0x40AF, 41421 },
+ { 0x40B0, 41414 },
+ { 0x40B1, 41364 },
+ { 0x40B2, 41357 },
+ { 0x40B3, 41382 },
+ { 0x40B4, 41428 },
+ { 0x40B5, 41400 },
+ { 0x40B6, 41407 },
+ { 0x40B7, 41276 },
+ { 0x40B8, 41305 },
+ { 0x40B9, 41392 },
+ { 0x40BA, 41327 },
+ { 0x40BB, 41316 },
+ { 0x40BC, 41287 },
+ { 0x40BD, 41374 },
+ { 0x40BE, 41349 },
+ { 0x40BF, 41338 },
+ { 0x40C0, 41280 },
+ { 0x40C1, 41309 },
+ { 0x40C2, 41396 },
+ { 0x40C3, 41331 },
+ { 0x40C4, 41320 },
+ { 0x40C5, 41291 },
+ { 0x40C6, 41378 },
+ { 0x40C7, 41353 },
+ { 0x40C8, 41342 },
+ { 0x40C9, 41298 },
+ { 0x40CA, 41424 },
+ { 0x40CB, 41417 },
+ { 0x40CC, 41367 },
+ { 0x40CD, 41360 },
+ { 0x40CE, 41385 },
+ { 0x40CF, 41431 },
+ { 0x40D0, 41403 },
+ { 0x40D1, 41410 },
+ { 0x40D2, 41435 },
+ { 0x40D3, 41439 },
+ { 0x40D4, 41451 },
+ { 0x40D5, 41443 },
+ { 0x40D6, 41447 },
+ { 0x40D7, 41252 },
+ { 0x40D8, 41268 },
+ { 0x40D9, 41459 },
+ { 0x40DA, 41455 },
+ { 0x40DB, 24686 },
+ { 0x40DC, 24664 },
+ { 0x40DD, 24669 },
+ { 0x40DE, 24724 },
+ { 0x40DF, 24766 },
+ { 0x40E0, 24728 },
+ { 0x40E1, 24755 },
+ { 0x40E2, 24780 },
+ { 0x40E3, 24750 },
+ { 0x40E4, 24713 },
+ { 0x40E5, 24775 },
+ { 0x40E6, 24680 },
+ { 0x40E7, 24739 },
+ { 0x40E8, 24697 },
+ { 0x40E9, 24760 },
+ { 0x40EA, 24745 },
+ { 0x40EB, 24708 },
+ { 0x40EC, 24770 },
+ { 0x40ED, 24674 },
+ { 0x40EE, 24733 },
+ { 0x40EF, 24691 },
+ { 0x40F0, 24718 },
+ { 0x40F1, 24785 },
+ { 0x40F2, 24703 },
+ { 0x40F3, 24801 },
+ { 0x40F4, 24816 },
+ { 0x40F5, 24884 },
+ { 0x40F6, 24870 },
+ { 0x40F7, 24834 },
+ { 0x40F8, 24806 },
+ { 0x40F9, 24874 },
+ { 0x40FA, 24906 },
+ { 0x40FB, 24896 },
+ { 0x40FC, 24900 },
+ { 0x40FD, 24888 },
+ { 0x40FE, 24866 },
+ { 0x40FF, 24830 },
+ { 0x4100, 24857 },
+ { 0x4101, 24915 },
+ { 0x4102, 24919 },
+ { 0x4103, 24892 },
+ { 0x4104, 24848 },
+ { 0x4105, 24820 },
+ { 0x4106, 24852 },
+ { 0x4107, 24879 },
+ { 0x4108, 24910 },
+ { 0x4109, 24838 },
+ { 0x410A, 24861 },
+ { 0x410B, 24791 },
+ { 0x410C, 24825 },
+ { 0x410D, 24843 },
+ { 0x410E, 24796 },
+ { 0x410F, 24811 },
+ { 0x4110, 22179 },
+ { 0x4111, 22183 },
+ { 0x4112, 22208 },
+ { 0x4113, 23428 },
+ { 0x4114, 22228 },
+ { 0x4115, 23625 },
+ { 0x4116, 24569 },
+ { 0x4117, 22223 },
+ { 0x4118, 22204 },
+ { 0x4119, 23424 },
+ { 0x411A, 22219 },
+ { 0x411B, 22215 },
+ { 0x411C, 24603 },
+ { 0x411D, 24574 },
+ { 0x411E, 22251 },
+ { 0x411F, 23618 },
+ { 0x4120, 23628 },
+ { 0x4121, 23555 },
+ { 0x4122, 23552 },
+ { 0x4123, 23558 },
+ { 0x4124, 24617 },
+ { 0x4125, 22231 },
+ { 0x4126, 22189 },
+ { 0x4127, 24614 },
+ { 0x4128, 24636 },
+ { 0x4129, 74196 },
+ { 0x412A, 38372 },
+ { 0x412B, 38276 },
+ { 0x412C, 38384 },
+ { 0x412D, 38375 },
+ { 0x412E, 38279 },
+ { 0x412F, 38378 },
+ { 0x4130, 38381 },
+ { 0x4131, 38393 },
+ { 0x4132, 38396 },
+ { 0x4133, 38390 },
+ { 0x4134, 38273 },
+ { 0x4135, 38387 },
+ { 0x4136, 17322 },
+ { 0x4137, 23621 },
+ { 0x4138, 98437 },
+ { 0x4139, 98376 },
+ { 0x413A, 98417 },
+ { 0x413B, 98389 },
+ { 0x413C, 98322 },
+ { 0x413D, 98356 },
+ { 0x413E, 98372 },
+ { 0x413F, 98405 },
+ { 0x4140, 98348 },
+ { 0x4141, 98313 },
+ { 0x4142, 98256 },
+ { 0x4143, 98381 },
+ { 0x4144, 98276 },
+ { 0x4145, 98409 },
+ { 0x4146, 98393 },
+ { 0x4147, 98272 },
+ { 0x4148, 98264 },
+ { 0x4149, 98422 },
+ { 0x414A, 98426 },
+ { 0x414B, 98364 },
+ { 0x414C, 98280 },
+ { 0x414D, 98339 },
+ { 0x414E, 98360 },
+ { 0x414F, 98385 },
+ { 0x4150, 98300 },
+ { 0x4151, 98292 },
+ { 0x4152, 98288 },
+ { 0x4153, 98317 },
+ { 0x4154, 98260 },
+ { 0x4155, 98268 },
+ { 0x4156, 98326 },
+ { 0x4157, 98284 },
+ { 0x4158, 98352 },
+ { 0x4159, 98252 },
+ { 0x415A, 98334 },
+ { 0x415B, 98304 },
+ { 0x415C, 98397 },
+ { 0x415D, 98401 },
+ { 0x415E, 98296 },
+ { 0x415F, 98247 },
+ { 0x4160, 98330 },
+ { 0x4161, 98368 },
+ { 0x4162, 98413 },
+ { 0x4163, 98343 },
+ { 0x4164, 98308 },
+ { 0x4165, 98431 },
+ { 0x4166, 60078 },
+ { 0x4167, 60087 },
+ { 0x4168, 60081 },
+ { 0x4169, 60144 },
+ { 0x416A, 60090 },
+ { 0x416B, 60084 },
+ { 0x416C, 60096 },
+ { 0x416D, 60132 },
+ { 0x416E, 60138 },
+ { 0x416F, 60159 },
+ { 0x4170, 60099 },
+ { 0x4171, 60102 },
+ { 0x4172, 60117 },
+ { 0x4173, 60105 },
+ { 0x4174, 60108 },
+ { 0x4175, 60111 },
+ { 0x4176, 60153 },
+ { 0x4177, 60156 },
+ { 0x4178, 60129 },
+ { 0x4179, 60114 },
+ { 0x417A, 60150 },
+ { 0x417B, 60120 },
+ { 0x417C, 60123 },
+ { 0x417D, 60126 },
+ { 0x417E, 60162 },
+ { 0x417F, 60141 },
+ { 0x4180, 60147 },
+ { 0x4181, 60093 },
+ { 0x4182, 60135 },
+ { 0x4183, 50145 },
+ { 0x4184, 50232 },
+ { 0x4185, 50151 },
+ { 0x4186, 50166 },
+ { 0x4187, 50274 },
+ { 0x4188, 50184 },
+ { 0x4189, 50217 },
+ { 0x418A, 50199 },
+ { 0x418B, 50181 },
+ { 0x418C, 50148 },
+ { 0x418D, 50169 },
+ { 0x418E, 50175 },
+ { 0x418F, 50202 },
+ { 0x4190, 50190 },
+ { 0x4191, 50238 },
+ { 0x4192, 50265 },
+ { 0x4193, 50187 },
+ { 0x4194, 50277 },
+ { 0x4195, 50193 },
+ { 0x4196, 50229 },
+ { 0x4197, 50196 },
+ { 0x4198, 50172 },
+ { 0x4199, 50271 },
+ { 0x419A, 50178 },
+ { 0x419B, 50241 },
+ { 0x419C, 50160 },
+ { 0x419D, 50154 },
+ { 0x419E, 50289 },
+ { 0x419F, 50163 },
+ { 0x41A0, 50214 },
+ { 0x41A1, 50223 },
+ { 0x41A2, 50250 },
+ { 0x41A3, 50157 },
+ { 0x41A4, 50208 },
+ { 0x41A5, 50244 },
+ { 0x41A6, 50268 },
+ { 0x41A7, 50226 },
+ { 0x41A8, 50211 },
+ { 0x41A9, 50280 },
+ { 0x41AA, 50247 },
+ { 0x41AB, 50283 },
+ { 0x41AC, 50235 },
+ { 0x41AD, 50220 },
+ { 0x41AE, 50256 },
+ { 0x41AF, 50259 },
+ { 0x41B0, 50262 },
+ { 0x41B1, 50253 },
+ { 0x41B2, 50205 },
+ { 0x41B3, 50286 },
+ { 0x41B4, 50797 },
+ { 0x41B5, 50680 },
+ { 0x41B6, 50688 },
+ { 0x41B7, 50712 },
+ { 0x41B8, 50696 },
+ { 0x41B9, 50692 },
+ { 0x41BA, 50684 },
+ { 0x41BB, 50708 },
+ { 0x41BC, 50704 },
+ { 0x41BD, 50700 },
+ { 0x41BE, 50726 },
+ { 0x41BF, 50789 },
+ { 0x41C0, 50785 },
+ { 0x41C1, 50759 },
+ { 0x41C2, 50755 },
+ { 0x41C3, 50768 },
+ { 0x41C4, 50793 },
+ { 0x41C5, 50777 },
+ { 0x41C6, 50781 },
+ { 0x41C7, 50716 },
+ { 0x41C8, 50730 },
+ { 0x41C9, 50772 },
+ { 0x41CA, 50740 },
+ { 0x41CB, 50735 },
+ { 0x41CC, 50721 },
+ { 0x41CD, 50763 },
+ { 0x41CE, 50750 },
+ { 0x41CF, 50745 },
+ { 0x41D0, 7977 },
+ { 0x41D1, 7997 },
+ { 0x41D2, 8041 },
+ { 0x41D3, 8001 },
+ { 0x41D4, 7981 },
+ { 0x41D5, 8061 },
+ { 0x41D6, 8069 },
+ { 0x41D7, 8029 },
+ { 0x41D8, 8105 },
+ { 0x41D9, 7985 },
+ { 0x41DA, 8037 },
+ { 0x41DB, 8009 },
+ { 0x41DC, 8013 },
+ { 0x41DD, 8017 },
+ { 0x41DE, 8085 },
+ { 0x41DF, 7989 },
+ { 0x41E0, 8049 },
+ { 0x41E1, 8101 },
+ { 0x41E2, 8045 },
+ { 0x41E3, 8021 },
+ { 0x41E4, 8025 },
+ { 0x41E5, 8053 },
+ { 0x41E6, 7993 },
+ { 0x41E7, 8077 },
+ { 0x41E8, 8097 },
+ { 0x41E9, 8093 },
+ { 0x41EA, 8005 },
+ { 0x41EB, 8081 },
+ { 0x41EC, 8073 },
+ { 0x41ED, 8033 },
+ { 0x41EE, 8057 },
+ { 0x41EF, 8089 },
+ { 0x41F0, 8119 },
+ { 0x41F1, 8127 },
+ { 0x41F2, 8123 },
+ { 0x41F3, 8131 },
+ { 0x41F4, 8065 },
+ { 0x41F5, 8109 },
+ { 0x41F6, 8114 },
+ { 0x41F7, 52147 },
+ { 0x41F8, 52214 },
+ { 0x41F9, 52153 },
+ { 0x41FA, 52150 },
+ { 0x41FB, 52202 },
+ { 0x41FC, 52220 },
+ { 0x41FD, 52159 },
+ { 0x41FE, 52156 },
+ { 0x41FF, 52211 },
+ { 0x4200, 52141 },
+ { 0x4201, 52178 },
+ { 0x4202, 52181 },
+ { 0x4203, 52184 },
+ { 0x4204, 52205 },
+ { 0x4205, 52144 },
+ { 0x4206, 52166 },
+ { 0x4207, 52217 },
+ { 0x4208, 52208 },
+ { 0x4209, 52190 },
+ { 0x420A, 52193 },
+ { 0x420B, 52196 },
+ { 0x420C, 52199 },
+ { 0x420D, 52169 },
+ { 0x420E, 52175 },
+ { 0x420F, 52172 },
+ { 0x4210, 52187 },
+ { 0x4211, 52162 },
+ { 0x4212, 8151 },
+ { 0x4213, 8183 },
+ { 0x4214, 8191 },
+ { 0x4215, 8187 },
+ { 0x4216, 8135 },
+ { 0x4217, 8255 },
+ { 0x4218, 8263 },
+ { 0x4219, 8251 },
+ { 0x421A, 8267 },
+ { 0x421B, 8139 },
+ { 0x421C, 8227 },
+ { 0x421D, 8195 },
+ { 0x421E, 8271 },
+ { 0x421F, 8275 },
+ { 0x4220, 8239 },
+ { 0x4221, 8231 },
+ { 0x4222, 8199 },
+ { 0x4223, 8203 },
+ { 0x4224, 8207 },
+ { 0x4225, 8147 },
+ { 0x4226, 8259 },
+ { 0x4227, 8279 },
+ { 0x4228, 8283 },
+ { 0x4229, 8223 },
+ { 0x422A, 8247 },
+ { 0x422B, 8143 },
+ { 0x422C, 8171 },
+ { 0x422D, 8155 },
+ { 0x422E, 8159 },
+ { 0x422F, 8235 },
+ { 0x4230, 8211 },
+ { 0x4231, 8219 },
+ { 0x4232, 8243 },
+ { 0x4233, 8215 },
+ { 0x4234, 8167 },
+ { 0x4235, 8179 },
+ { 0x4236, 8175 },
+ { 0x4237, 8163 },
+ { 0x4238, 104473 },
+ { 0x4239, 104478 },
+ { 0x423A, 104488 },
+ { 0x423B, 104493 },
+ { 0x423C, 104483 },
+ { 0x423D, 99423 },
+ { 0x423E, 99426 },
+ { 0x423F, 99450 },
+ { 0x4240, 99405 },
+ { 0x4241, 99447 },
+ { 0x4242, 99384 },
+ { 0x4243, 99393 },
+ { 0x4244, 99444 },
+ { 0x4245, 99432 },
+ { 0x4246, 99417 },
+ { 0x4247, 99420 },
+ { 0x4248, 99402 },
+ { 0x4249, 99441 },
+ { 0x424A, 99456 },
+ { 0x424B, 99408 },
+ { 0x424C, 99429 },
+ { 0x424D, 99411 },
+ { 0x424E, 99396 },
+ { 0x424F, 99462 },
+ { 0x4250, 99399 },
+ { 0x4251, 99387 },
+ { 0x4252, 99438 },
+ { 0x4253, 99435 },
+ { 0x4254, 99459 },
+ { 0x4255, 99465 },
+ { 0x4256, 99453 },
+ { 0x4257, 99390 },
+ { 0x4258, 99378 },
+ { 0x4259, 99381 },
+ { 0x425A, 99414 },
+ { 0x425B, 99375 },
+ { 0x425C, 8774 },
+ { 0x425D, 8778 },
+ { 0x425E, 8782 },
+ { 0x425F, 8830 },
+ { 0x4260, 8834 },
+ { 0x4261, 8810 },
+ { 0x4262, 8814 },
+ { 0x4263, 8894 },
+ { 0x4264, 8790 },
+ { 0x4265, 8822 },
+ { 0x4266, 8826 },
+ { 0x4267, 8878 },
+ { 0x4268, 8882 },
+ { 0x4269, 8794 },
+ { 0x426A, 8798 },
+ { 0x426B, 8802 },
+ { 0x426C, 8914 },
+ { 0x426D, 8862 },
+ { 0x426E, 8786 },
+ { 0x426F, 8806 },
+ { 0x4270, 8854 },
+ { 0x4271, 8858 },
+ { 0x4272, 8842 },
+ { 0x4273, 8846 },
+ { 0x4274, 8850 },
+ { 0x4275, 8898 },
+ { 0x4276, 8886 },
+ { 0x4277, 8890 },
+ { 0x4278, 8866 },
+ { 0x4279, 8870 },
+ { 0x427A, 8838 },
+ { 0x427B, 8874 },
+ { 0x427C, 8902 },
+ { 0x427D, 8906 },
+ { 0x427E, 8910 },
+ { 0x427F, 8818 },
+ { 0x4280, 8930 },
+ { 0x4281, 8938 },
+ { 0x4282, 8942 },
+ { 0x4283, 8946 },
+ { 0x4284, 8926 },
+ { 0x4285, 8934 },
+ { 0x4286, 8918 },
+ { 0x4287, 8922 },
+ { 0x4288, 8950 },
+ { 0x4289, 8954 },
+ { 0x428A, 8962 },
+ { 0x428B, 8958 },
+ { 0x428C, 8966 },
+ { 0x428D, 8970 },
+ { 0x428E, 69392 },
+ { 0x428F, 69387 },
+ { 0x4290, 69382 },
+ { 0x4291, 69402 },
+ { 0x4292, 69397 },
+ { 0x4293, 69407 },
+ { 0x4294, 69430 },
+ { 0x4295, 69425 },
+ { 0x4296, 69420 },
+ { 0x4297, 69440 },
+ { 0x4298, 69435 },
+ { 0x4299, 69445 },
+ { 0x429A, 69282 },
+ { 0x429B, 69318 },
+ { 0x429C, 69322 },
+ { 0x429D, 69370 },
+ { 0x429E, 69278 },
+ { 0x429F, 69358 },
+ { 0x42A0, 69326 },
+ { 0x42A1, 69362 },
+ { 0x42A2, 69330 },
+ { 0x42A3, 69378 },
+ { 0x42A4, 69350 },
+ { 0x42A5, 69354 },
+ { 0x42A6, 69346 },
+ { 0x42A7, 69286 },
+ { 0x42A8, 69366 },
+ { 0x42A9, 69342 },
+ { 0x42AA, 69412 },
+ { 0x42AB, 69306 },
+ { 0x42AC, 69374 },
+ { 0x42AD, 69338 },
+ { 0x42AE, 69416 },
+ { 0x42AF, 69302 },
+ { 0x42B0, 69290 },
+ { 0x42B1, 69294 },
+ { 0x42B2, 69298 },
+ { 0x42B3, 69334 },
+ { 0x42B4, 69314 },
+ { 0x42B5, 69310 },
+ { 0x42B6, 69220 },
+ { 0x42B7, 69215 },
+ { 0x42B8, 69210 },
+ { 0x42B9, 69230 },
+ { 0x42BA, 69225 },
+ { 0x42BB, 69235 },
+ { 0x42BC, 69258 },
+ { 0x42BD, 69253 },
+ { 0x42BE, 69248 },
+ { 0x42BF, 69268 },
+ { 0x42C0, 69263 },
+ { 0x42C1, 69273 },
+ { 0x42C2, 69110 },
+ { 0x42C3, 69146 },
+ { 0x42C4, 69150 },
+ { 0x42C5, 69198 },
+ { 0x42C6, 69106 },
+ { 0x42C7, 69186 },
+ { 0x42C8, 69154 },
+ { 0x42C9, 69190 },
+ { 0x42CA, 69158 },
+ { 0x42CB, 69206 },
+ { 0x42CC, 69178 },
+ { 0x42CD, 69182 },
+ { 0x42CE, 69174 },
+ { 0x42CF, 69114 },
+ { 0x42D0, 69194 },
+ { 0x42D1, 69170 },
+ { 0x42D2, 69240 },
+ { 0x42D3, 69134 },
+ { 0x42D4, 69202 },
+ { 0x42D5, 69166 },
+ { 0x42D6, 69244 },
+ { 0x42D7, 69130 },
+ { 0x42D8, 69118 },
+ { 0x42D9, 69122 },
+ { 0x42DA, 69126 },
+ { 0x42DB, 69162 },
+ { 0x42DC, 69142 },
+ { 0x42DD, 69138 },
+ { 0x42DE, 75748 },
+ { 0x42DF, 75712 },
+ { 0x42E0, 75736 },
+ { 0x42E1, 75688 },
+ { 0x42E2, 75772 },
+ { 0x42E3, 75649 },
+ { 0x42E4, 75754 },
+ { 0x42E5, 75775 },
+ { 0x42E6, 75721 },
+ { 0x42E7, 75733 },
+ { 0x42E8, 75673 },
+ { 0x42E9, 75730 },
+ { 0x42EA, 75691 },
+ { 0x42EB, 75715 },
+ { 0x42EC, 75757 },
+ { 0x42ED, 75727 },
+ { 0x42EE, 75778 },
+ { 0x42EF, 75769 },
+ { 0x42F0, 75718 },
+ { 0x42F1, 75766 },
+ { 0x42F2, 75739 },
+ { 0x42F3, 75742 },
+ { 0x42F4, 75640 },
+ { 0x42F5, 75682 },
+ { 0x42F6, 75667 },
+ { 0x42F7, 75655 },
+ { 0x42F8, 75643 },
+ { 0x42F9, 75760 },
+ { 0x42FA, 75709 },
+ { 0x42FB, 75637 },
+ { 0x42FC, 75751 },
+ { 0x42FD, 75700 },
+ { 0x42FE, 75679 },
+ { 0x42FF, 75658 },
+ { 0x4300, 75697 },
+ { 0x4301, 75652 },
+ { 0x4302, 75703 },
+ { 0x4303, 75745 },
+ { 0x4304, 75706 },
+ { 0x4305, 75670 },
+ { 0x4306, 75664 },
+ { 0x4307, 75646 },
+ { 0x4308, 75661 },
+ { 0x4309, 75685 },
+ { 0x430A, 75763 },
+ { 0x430B, 75676 },
+ { 0x430C, 75694 },
+ { 0x430D, 75724 },
+ { 0x430E, 74331 },
+ { 0x430F, 74286 },
+ { 0x4310, 74313 },
+ { 0x4311, 74301 },
+ { 0x4312, 74316 },
+ { 0x4313, 74325 },
+ { 0x4314, 74337 },
+ { 0x4315, 74307 },
+ { 0x4316, 74310 },
+ { 0x4317, 74355 },
+ { 0x4318, 74322 },
+ { 0x4319, 74334 },
+ { 0x431A, 74295 },
+ { 0x431B, 74292 },
+ { 0x431C, 74352 },
+ { 0x431D, 74340 },
+ { 0x431E, 74343 },
+ { 0x431F, 74346 },
+ { 0x4320, 74349 },
+ { 0x4321, 74328 },
+ { 0x4322, 74298 },
+ { 0x4323, 74319 },
+ { 0x4324, 74268 },
+ { 0x4325, 74271 },
+ { 0x4326, 74274 },
+ { 0x4327, 74277 },
+ { 0x4328, 74280 },
+ { 0x4329, 74283 },
+ { 0x432A, 74289 },
+ { 0x432B, 74304 },
+ { 0x432C, 74256 },
+ { 0x432D, 74238 },
+ { 0x432E, 74244 },
+ { 0x432F, 74265 },
+ { 0x4330, 74250 },
+ { 0x4331, 74247 },
+ { 0x4332, 74241 },
+ { 0x4333, 74262 },
+ { 0x4334, 74259 },
+ { 0x4335, 74253 },
+ { 0x4336, 37702 },
+ { 0x4337, 37726 },
+ { 0x4338, 37770 },
+ { 0x4339, 37722 },
+ { 0x433A, 37774 },
+ { 0x433B, 37778 },
+ { 0x433C, 37838 },
+ { 0x433D, 37706 },
+ { 0x433E, 37786 },
+ { 0x433F, 37730 },
+ { 0x4340, 37794 },
+ { 0x4341, 37710 },
+ { 0x4342, 37734 },
+ { 0x4343, 37822 },
+ { 0x4344, 37802 },
+ { 0x4345, 37738 },
+ { 0x4346, 37742 },
+ { 0x4347, 37746 },
+ { 0x4348, 37714 },
+ { 0x4349, 37806 },
+ { 0x434A, 37750 },
+ { 0x434B, 37826 },
+ { 0x434C, 37754 },
+ { 0x434D, 37810 },
+ { 0x434E, 37758 },
+ { 0x434F, 37830 },
+ { 0x4350, 37814 },
+ { 0x4351, 37842 },
+ { 0x4352, 37834 },
+ { 0x4353, 37782 },
+ { 0x4354, 37718 },
+ { 0x4355, 37762 },
+ { 0x4356, 37798 },
+ { 0x4357, 37790 },
+ { 0x4358, 37766 },
+ { 0x4359, 37818 },
+ { 0x435A, 37558 },
+ { 0x435B, 37582 },
+ { 0x435C, 37626 },
+ { 0x435D, 37578 },
+ { 0x435E, 37630 },
+ { 0x435F, 37634 },
+ { 0x4360, 37694 },
+ { 0x4361, 37562 },
+ { 0x4362, 37642 },
+ { 0x4363, 37586 },
+ { 0x4364, 37650 },
+ { 0x4365, 37566 },
+ { 0x4366, 37590 },
+ { 0x4367, 37678 },
+ { 0x4368, 37658 },
+ { 0x4369, 37594 },
+ { 0x436A, 37598 },
+ { 0x436B, 37602 },
+ { 0x436C, 37570 },
+ { 0x436D, 37662 },
+ { 0x436E, 37606 },
+ { 0x436F, 37682 },
+ { 0x4370, 37610 },
+ { 0x4371, 37666 },
+ { 0x4372, 37614 },
+ { 0x4373, 37686 },
+ { 0x4374, 37670 },
+ { 0x4375, 37698 },
+ { 0x4376, 37690 },
+ { 0x4377, 37638 },
+ { 0x4378, 37574 },
+ { 0x4379, 37618 },
+ { 0x437A, 37654 },
+ { 0x437B, 37646 },
+ { 0x437C, 37622 },
+ { 0x437D, 37674 },
+ { 0x437E, 69670 },
+ { 0x437F, 69688 },
+ { 0x4380, 69691 },
+ { 0x4381, 69751 },
+ { 0x4382, 69694 },
+ { 0x4383, 69769 },
+ { 0x4384, 69754 },
+ { 0x4385, 69697 },
+ { 0x4386, 69673 },
+ { 0x4387, 69700 },
+ { 0x4388, 69703 },
+ { 0x4389, 69760 },
+ { 0x438A, 69706 },
+ { 0x438B, 69676 },
+ { 0x438C, 69709 },
+ { 0x438D, 69712 },
+ { 0x438E, 69715 },
+ { 0x438F, 69766 },
+ { 0x4390, 69718 },
+ { 0x4391, 69724 },
+ { 0x4392, 69721 },
+ { 0x4393, 69772 },
+ { 0x4394, 69679 },
+ { 0x4395, 69727 },
+ { 0x4396, 69730 },
+ { 0x4397, 69733 },
+ { 0x4398, 69775 },
+ { 0x4399, 69736 },
+ { 0x439A, 69778 },
+ { 0x439B, 69739 },
+ { 0x439C, 69781 },
+ { 0x439D, 69682 },
+ { 0x439E, 69742 },
+ { 0x439F, 69745 },
+ { 0x43A0, 69685 },
+ { 0x43A1, 69748 },
+ { 0x43A2, 69784 },
+ { 0x43A3, 69757 },
+ { 0x43A4, 69787 },
+ { 0x43A5, 69763 },
+ { 0x43A6, 104143 },
+ { 0x43A7, 104151 },
+ { 0x43A8, 104179 },
+ { 0x43A9, 104167 },
+ { 0x43AA, 104135 },
+ { 0x43AB, 104327 },
+ { 0x43AC, 104171 },
+ { 0x43AD, 104331 },
+ { 0x43AE, 104227 },
+ { 0x43AF, 104159 },
+ { 0x43B0, 104323 },
+ { 0x43B1, 104231 },
+ { 0x43B2, 104183 },
+ { 0x43B3, 104223 },
+ { 0x43B4, 104199 },
+ { 0x43B5, 104267 },
+ { 0x43B6, 104315 },
+ { 0x43B7, 104255 },
+ { 0x43B8, 104155 },
+ { 0x43B9, 104275 },
+ { 0x43BA, 104191 },
+ { 0x43BB, 104279 },
+ { 0x43BC, 104263 },
+ { 0x43BD, 104215 },
+ { 0x43BE, 104147 },
+ { 0x43BF, 104243 },
+ { 0x43C0, 104163 },
+ { 0x43C1, 104251 },
+ { 0x43C2, 104203 },
+ { 0x43C3, 104211 },
+ { 0x43C4, 104283 },
+ { 0x43C5, 104335 },
+ { 0x43C6, 104295 },
+ { 0x43C7, 104271 },
+ { 0x43C8, 104139 },
+ { 0x43C9, 104307 },
+ { 0x43CA, 104175 },
+ { 0x43CB, 104259 },
+ { 0x43CC, 104239 },
+ { 0x43CD, 104207 },
+ { 0x43CE, 104339 },
+ { 0x43CF, 104219 },
+ { 0x43D0, 104291 },
+ { 0x43D1, 104311 },
+ { 0x43D2, 104303 },
+ { 0x43D3, 104299 },
+ { 0x43D4, 104187 },
+ { 0x43D5, 104247 },
+ { 0x43D6, 104235 },
+ { 0x43D7, 104319 },
+ { 0x43D8, 104287 },
+ { 0x43D9, 104195 },
+ { 0x43DA, 104343 },
+ { 0x43DB, 99746 },
+ { 0x43DC, 99850 },
+ { 0x43DD, 99770 },
+ { 0x43DE, 99774 },
+ { 0x43DF, 99854 },
+ { 0x43E0, 99778 },
+ { 0x43E1, 99858 },
+ { 0x43E2, 99782 },
+ { 0x43E3, 99750 },
+ { 0x43E4, 99786 },
+ { 0x43E5, 99790 },
+ { 0x43E6, 99794 },
+ { 0x43E7, 99862 },
+ { 0x43E8, 99754 },
+ { 0x43E9, 99866 },
+ { 0x43EA, 99798 },
+ { 0x43EB, 99802 },
+ { 0x43EC, 99806 },
+ { 0x43ED, 99870 },
+ { 0x43EE, 99810 },
+ { 0x43EF, 99814 },
+ { 0x43F0, 99874 },
+ { 0x43F1, 99758 },
+ { 0x43F2, 99818 },
+ { 0x43F3, 99822 },
+ { 0x43F4, 99826 },
+ { 0x43F5, 99830 },
+ { 0x43F6, 99878 },
+ { 0x43F7, 99834 },
+ { 0x43F8, 99882 },
+ { 0x43F9, 99762 },
+ { 0x43FA, 99838 },
+ { 0x43FB, 99842 },
+ { 0x43FC, 99766 },
+ { 0x43FD, 99846 },
+ { 0x43FE, 99606 },
+ { 0x43FF, 99710 },
+ { 0x4400, 99630 },
+ { 0x4401, 99634 },
+ { 0x4402, 99714 },
+ { 0x4403, 99638 },
+ { 0x4404, 99718 },
+ { 0x4405, 99642 },
+ { 0x4406, 99610 },
+ { 0x4407, 99646 },
+ { 0x4408, 99650 },
+ { 0x4409, 99654 },
+ { 0x440A, 99722 },
+ { 0x440B, 99614 },
+ { 0x440C, 99726 },
+ { 0x440D, 99658 },
+ { 0x440E, 99662 },
+ { 0x440F, 99666 },
+ { 0x4410, 99730 },
+ { 0x4411, 99670 },
+ { 0x4412, 99674 },
+ { 0x4413, 99734 },
+ { 0x4414, 99618 },
+ { 0x4415, 99678 },
+ { 0x4416, 99682 },
+ { 0x4417, 99686 },
+ { 0x4418, 99690 },
+ { 0x4419, 99738 },
+ { 0x441A, 99694 },
+ { 0x441B, 99742 },
+ { 0x441C, 99622 },
+ { 0x441D, 99698 },
+ { 0x441E, 99702 },
+ { 0x441F, 99626 },
+ { 0x4420, 99706 },
+ { 0x4421, 58650 },
+ { 0x4422, 58654 },
+ { 0x4423, 58658 },
+ { 0x4424, 58662 },
+ { 0x4425, 58666 },
+ { 0x4426, 58670 },
+ { 0x4427, 58674 },
+ { 0x4428, 58678 },
+ { 0x4429, 58682 },
+ { 0x442A, 58686 },
+ { 0x442B, 58690 },
+ { 0x442C, 58694 },
+ { 0x442D, 58698 },
+ { 0x442E, 58702 },
+ { 0x442F, 58706 },
+ { 0x4430, 58710 },
+ { 0x4431, 58966 },
+ { 0x4432, 58970 },
+ { 0x4433, 58714 },
+ { 0x4434, 58974 },
+ { 0x4435, 58978 },
+ { 0x4436, 58718 },
+ { 0x4437, 58982 },
+ { 0x4438, 58722 },
+ { 0x4439, 58726 },
+ { 0x443A, 58730 },
+ { 0x443B, 58734 },
+ { 0x443C, 58614 },
+ { 0x443D, 58738 },
+ { 0x443E, 58742 },
+ { 0x443F, 58746 },
+ { 0x4440, 58750 },
+ { 0x4441, 58754 },
+ { 0x4442, 58758 },
+ { 0x4443, 58762 },
+ { 0x4444, 58766 },
+ { 0x4445, 58770 },
+ { 0x4446, 58774 },
+ { 0x4447, 58778 },
+ { 0x4448, 58782 },
+ { 0x4449, 58786 },
+ { 0x444A, 58790 },
+ { 0x444B, 58794 },
+ { 0x444C, 58798 },
+ { 0x444D, 58802 },
+ { 0x444E, 58806 },
+ { 0x444F, 58810 },
+ { 0x4450, 58814 },
+ { 0x4451, 58818 },
+ { 0x4452, 58822 },
+ { 0x4453, 58826 },
+ { 0x4454, 58830 },
+ { 0x4455, 58834 },
+ { 0x4456, 58838 },
+ { 0x4457, 58842 },
+ { 0x4458, 58846 },
+ { 0x4459, 58850 },
+ { 0x445A, 58854 },
+ { 0x445B, 58858 },
+ { 0x445C, 58862 },
+ { 0x445D, 58866 },
+ { 0x445E, 58870 },
+ { 0x445F, 58874 },
+ { 0x4460, 58878 },
+ { 0x4461, 58882 },
+ { 0x4462, 58886 },
+ { 0x4463, 58890 },
+ { 0x4464, 58894 },
+ { 0x4465, 58898 },
+ { 0x4466, 58902 },
+ { 0x4467, 58906 },
+ { 0x4468, 58994 },
+ { 0x4469, 58910 },
+ { 0x446A, 58914 },
+ { 0x446B, 58618 },
+ { 0x446C, 58918 },
+ { 0x446D, 58922 },
+ { 0x446E, 58986 },
+ { 0x446F, 58990 },
+ { 0x4470, 58622 },
+ { 0x4471, 58926 },
+ { 0x4472, 58930 },
+ { 0x4473, 58934 },
+ { 0x4474, 58938 },
+ { 0x4475, 58942 },
+ { 0x4476, 57688 },
+ { 0x4477, 57692 },
+ { 0x4478, 57696 },
+ { 0x4479, 57700 },
+ { 0x447A, 57704 },
+ { 0x447B, 57708 },
+ { 0x447C, 57712 },
+ { 0x447D, 57716 },
+ { 0x447E, 58626 },
+ { 0x447F, 58630 },
+ { 0x4480, 58634 },
+ { 0x4481, 57720 },
+ { 0x4482, 57724 },
+ { 0x4483, 57728 },
+ { 0x4484, 58638 },
+ { 0x4485, 58642 },
+ { 0x4486, 58646 },
+ { 0x4487, 57732 },
+ { 0x4488, 57736 },
+ { 0x4489, 57740 },
+ { 0x448A, 57744 },
+ { 0x448B, 57748 },
+ { 0x448C, 57752 },
+ { 0x448D, 57756 },
+ { 0x448E, 57760 },
+ { 0x448F, 57764 },
+ { 0x4490, 57768 },
+ { 0x4491, 57772 },
+ { 0x4492, 57776 },
+ { 0x4493, 57780 },
+ { 0x4494, 57784 },
+ { 0x4495, 57788 },
+ { 0x4496, 57792 },
+ { 0x4497, 57796 },
+ { 0x4498, 57800 },
+ { 0x4499, 57804 },
+ { 0x449A, 57808 },
+ { 0x449B, 57812 },
+ { 0x449C, 57816 },
+ { 0x449D, 57820 },
+ { 0x449E, 57824 },
+ { 0x449F, 57828 },
+ { 0x44A0, 57832 },
+ { 0x44A1, 57836 },
+ { 0x44A2, 57840 },
+ { 0x44A3, 57844 },
+ { 0x44A4, 57848 },
+ { 0x44A5, 57852 },
+ { 0x44A6, 57856 },
+ { 0x44A7, 57860 },
+ { 0x44A8, 57864 },
+ { 0x44A9, 57868 },
+ { 0x44AA, 57872 },
+ { 0x44AB, 57876 },
+ { 0x44AC, 57880 },
+ { 0x44AD, 57884 },
+ { 0x44AE, 57888 },
+ { 0x44AF, 57892 },
+ { 0x44B0, 57896 },
+ { 0x44B1, 57900 },
+ { 0x44B2, 57904 },
+ { 0x44B3, 57908 },
+ { 0x44B4, 57912 },
+ { 0x44B5, 57916 },
+ { 0x44B6, 57920 },
+ { 0x44B7, 57924 },
+ { 0x44B8, 57928 },
+ { 0x44B9, 57932 },
+ { 0x44BA, 57936 },
+ { 0x44BB, 57940 },
+ { 0x44BC, 57944 },
+ { 0x44BD, 57948 },
+ { 0x44BE, 57952 },
+ { 0x44BF, 57956 },
+ { 0x44C0, 57960 },
+ { 0x44C1, 58998 },
+ { 0x44C2, 59002 },
+ { 0x44C3, 59006 },
+ { 0x44C4, 59010 },
+ { 0x44C5, 59014 },
+ { 0x44C6, 59018 },
+ { 0x44C7, 59022 },
+ { 0x44C8, 59026 },
+ { 0x44C9, 59030 },
+ { 0x44CA, 59034 },
+ { 0x44CB, 59038 },
+ { 0x44CC, 59042 },
+ { 0x44CD, 59046 },
+ { 0x44CE, 59050 },
+ { 0x44CF, 59054 },
+ { 0x44D0, 59058 },
+ { 0x44D1, 59062 },
+ { 0x44D2, 59066 },
+ { 0x44D3, 59070 },
+ { 0x44D4, 57964 },
+ { 0x44D5, 57968 },
+ { 0x44D6, 57972 },
+ { 0x44D7, 57976 },
+ { 0x44D8, 57980 },
+ { 0x44D9, 57984 },
+ { 0x44DA, 57988 },
+ { 0x44DB, 57992 },
+ { 0x44DC, 57996 },
+ { 0x44DD, 58000 },
+ { 0x44DE, 58004 },
+ { 0x44DF, 58008 },
+ { 0x44E0, 58012 },
+ { 0x44E1, 58016 },
+ { 0x44E2, 58020 },
+ { 0x44E3, 58024 },
+ { 0x44E4, 58028 },
+ { 0x44E5, 58032 },
+ { 0x44E6, 58036 },
+ { 0x44E7, 58040 },
+ { 0x44E8, 58044 },
+ { 0x44E9, 58048 },
+ { 0x44EA, 58052 },
+ { 0x44EB, 58056 },
+ { 0x44EC, 58060 },
+ { 0x44ED, 58064 },
+ { 0x44EE, 58068 },
+ { 0x44EF, 58072 },
+ { 0x44F0, 58076 },
+ { 0x44F1, 58080 },
+ { 0x44F2, 58084 },
+ { 0x44F3, 58088 },
+ { 0x44F4, 58092 },
+ { 0x44F5, 58096 },
+ { 0x44F6, 58100 },
+ { 0x44F7, 58104 },
+ { 0x44F8, 58108 },
+ { 0x44F9, 58112 },
+ { 0x44FA, 58116 },
+ { 0x44FB, 58120 },
+ { 0x44FC, 58124 },
+ { 0x44FD, 58128 },
+ { 0x44FE, 58132 },
+ { 0x44FF, 58136 },
+ { 0x4500, 58140 },
+ { 0x4501, 58144 },
+ { 0x4502, 58148 },
+ { 0x4503, 58152 },
+ { 0x4504, 58156 },
+ { 0x4505, 58160 },
+ { 0x4506, 58164 },
+ { 0x4507, 58168 },
+ { 0x4508, 58172 },
+ { 0x4509, 58176 },
+ { 0x450A, 58180 },
+ { 0x450B, 58184 },
+ { 0x450C, 58188 },
+ { 0x450D, 58192 },
+ { 0x450E, 58196 },
+ { 0x450F, 58200 },
+ { 0x4510, 58204 },
+ { 0x4511, 58208 },
+ { 0x4512, 58212 },
+ { 0x4513, 58216 },
+ { 0x4514, 58220 },
+ { 0x4515, 58224 },
+ { 0x4516, 58228 },
+ { 0x4517, 58232 },
+ { 0x4518, 58236 },
+ { 0x4519, 58240 },
+ { 0x451A, 58244 },
+ { 0x451B, 58248 },
+ { 0x451C, 58252 },
+ { 0x451D, 58256 },
+ { 0x451E, 58260 },
+ { 0x451F, 58264 },
+ { 0x4520, 58268 },
+ { 0x4521, 58272 },
+ { 0x4522, 58276 },
+ { 0x4523, 58280 },
+ { 0x4524, 58284 },
+ { 0x4525, 58288 },
+ { 0x4526, 58292 },
+ { 0x4527, 58296 },
+ { 0x4528, 58300 },
+ { 0x4529, 58304 },
+ { 0x452A, 58308 },
+ { 0x452B, 58312 },
+ { 0x452C, 58316 },
+ { 0x452D, 58320 },
+ { 0x452E, 58324 },
+ { 0x452F, 58328 },
+ { 0x4530, 58332 },
+ { 0x4531, 58336 },
+ { 0x4532, 58340 },
+ { 0x4533, 58344 },
+ { 0x4534, 58348 },
+ { 0x4535, 58352 },
+ { 0x4536, 58356 },
+ { 0x4537, 58360 },
+ { 0x4538, 58364 },
+ { 0x4539, 58368 },
+ { 0x453A, 58372 },
+ { 0x453B, 58376 },
+ { 0x453C, 58380 },
+ { 0x453D, 58384 },
+ { 0x453E, 58388 },
+ { 0x453F, 58392 },
+ { 0x4540, 58396 },
+ { 0x4541, 58400 },
+ { 0x4542, 58404 },
+ { 0x4543, 58408 },
+ { 0x4544, 58412 },
+ { 0x4545, 58416 },
+ { 0x4546, 58420 },
+ { 0x4547, 58424 },
+ { 0x4548, 58428 },
+ { 0x4549, 58432 },
+ { 0x454A, 58436 },
+ { 0x454B, 58440 },
+ { 0x454C, 58444 },
+ { 0x454D, 58448 },
+ { 0x454E, 58452 },
+ { 0x454F, 58456 },
+ { 0x4550, 58460 },
+ { 0x4551, 58464 },
+ { 0x4552, 58468 },
+ { 0x4553, 58472 },
+ { 0x4554, 58476 },
+ { 0x4555, 58480 },
+ { 0x4556, 58484 },
+ { 0x4557, 58488 },
+ { 0x4558, 58492 },
+ { 0x4559, 58497 },
+ { 0x455A, 58502 },
+ { 0x455B, 58507 },
+ { 0x455C, 58512 },
+ { 0x455D, 58517 },
+ { 0x455E, 58522 },
+ { 0x455F, 58527 },
+ { 0x4560, 58532 },
+ { 0x4561, 58946 },
+ { 0x4562, 58951 },
+ { 0x4563, 58956 },
+ { 0x4564, 58961 },
+ { 0x4565, 58537 },
+ { 0x4566, 58542 },
+ { 0x4567, 58547 },
+ { 0x4568, 58552 },
+ { 0x4569, 58557 },
+ { 0x456A, 58562 },
+ { 0x456B, 58567 },
+ { 0x456C, 58572 },
+ { 0x456D, 58577 },
+ { 0x456E, 58582 },
+ { 0x456F, 58586 },
+ { 0x4570, 58590 },
+ { 0x4571, 58594 },
+ { 0x4572, 58598 },
+ { 0x4573, 58602 },
+ { 0x4574, 58606 },
+ { 0x4575, 58610 },
+ { 0x4576, 96576 },
+ { 0x4577, 97219 },
+ { 0x4578, 97213 },
+ { 0x4579, 96208 },
+ { 0x457A, 96510 },
+ { 0x457B, 95912 },
+ { 0x457C, 96212 },
+ { 0x457D, 96224 },
+ { 0x457E, 96217 },
+ { 0x457F, 96300 },
+ { 0x4580, 95946 },
+ { 0x4581, 95932 },
+ { 0x4582, 95938 },
+ { 0x4583, 96617 },
+ { 0x4584, 96401 },
+ { 0x4585, 96305 },
+ { 0x4586, 96345 },
+ { 0x4587, 96515 },
+ { 0x4588, 95964 },
+ { 0x4589, 96520 },
+ { 0x458A, 95980 },
+ { 0x458B, 96527 },
+ { 0x458C, 96314 },
+ { 0x458D, 96599 },
+ { 0x458E, 96232 },
+ { 0x458F, 96237 },
+ { 0x4590, 96010 },
+ { 0x4591, 96549 },
+ { 0x4592, 96045 },
+ { 0x4593, 96324 },
+ { 0x4594, 96328 },
+ { 0x4595, 96482 },
+ { 0x4596, 96487 },
+ { 0x4597, 96082 },
+ { 0x4598, 96581 },
+ { 0x4599, 96396 },
+ { 0x459A, 96092 },
+ { 0x459B, 96453 },
+ { 0x459C, 96461 },
+ { 0x459D, 96100 },
+ { 0x459E, 96106 },
+ { 0x459F, 96561 },
+ { 0x45A0, 96242 },
+ { 0x45A1, 96249 },
+ { 0x45A2, 96254 },
+ { 0x45A3, 96350 },
+ { 0x45A4, 96139 },
+ { 0x45A5, 96172 },
+ { 0x45A6, 96571 },
+ { 0x45A7, 96897 },
+ { 0x45A8, 97136 },
+ { 0x45A9, 96914 },
+ { 0x45AA, 96639 },
+ { 0x45AB, 96903 },
+ { 0x45AC, 96910 },
+ { 0x45AD, 97171 },
+ { 0x45AE, 96116 },
+ { 0x45AF, 68934 },
+ { 0x45B0, 68937 },
+ { 0x45B1, 68940 },
+ { 0x45B2, 68943 },
+ { 0x45B3, 68946 },
+ { 0x45B4, 68949 },
+ { 0x45B5, 68952 },
+ { 0x45B6, 68955 },
+ { 0x45B7, 68958 },
+ { 0x45B8, 68961 },
+ { 0x45B9, 68964 },
+ { 0x45BA, 68967 },
+ { 0x45BB, 68970 },
+ { 0x45BC, 68973 },
+ { 0x45BD, 68976 },
+ { 0x45BE, 68979 },
+ { 0x45BF, 68982 },
+ { 0x45C0, 68985 },
+ { 0x45C1, 68988 },
+ { 0x45C2, 68991 },
+ { 0x45C3, 68994 },
+ { 0x45C4, 68997 },
+ { 0x45C5, 69000 },
+ { 0x45C6, 69003 },
+ { 0x45C7, 69006 },
+ { 0x45C8, 69009 },
+ { 0x45C9, 69012 },
+ { 0x45CA, 69015 },
+ { 0x45CB, 69018 },
+ { 0x45CC, 69021 },
+ { 0x45CD, 69024 },
+ { 0x45CE, 69027 },
+ { 0x45CF, 69030 },
+ { 0x45D0, 69033 },
+ { 0x45D1, 69036 },
+ { 0x45D2, 69039 },
+ { 0x45D3, 69042 },
+ { 0x45D4, 69045 },
+ { 0x45D5, 69048 },
+ { 0x45D6, 69051 },
+ { 0x45D7, 69054 },
+ { 0x45D8, 69057 },
+ { 0x45D9, 69060 },
+ { 0x45DA, 69063 },
+ { 0x45DB, 69066 },
+ { 0x45DC, 69069 },
+ { 0x45DD, 69072 },
+ { 0x45DE, 69075 },
+ { 0x45DF, 69078 },
+ { 0x45E0, 69081 },
+ { 0x45E1, 69084 },
+ { 0x45E2, 69087 },
+ { 0x45E3, 69090 },
+ { 0x45E4, 69093 },
+ { 0x45E5, 69096 },
+ { 0x45E6, 93790 },
+ { 0x45E7, 93758 },
+ { 0x45E8, 93794 },
+ { 0x45E9, 93806 },
+ { 0x45EA, 93730 },
+ { 0x45EB, 93750 },
+ { 0x45EC, 93802 },
+ { 0x45ED, 93762 },
+ { 0x45EE, 93782 },
+ { 0x45EF, 93786 },
+ { 0x45F0, 93766 },
+ { 0x45F1, 93810 },
+ { 0x45F2, 93738 },
+ { 0x45F3, 93742 },
+ { 0x45F4, 93814 },
+ { 0x45F5, 93754 },
+ { 0x45F6, 93734 },
+ { 0x45F7, 93798 },
+ { 0x45F8, 93770 },
+ { 0x45F9, 93774 },
+ { 0x45FA, 93778 },
+ { 0x45FB, 93746 },
+ { 0x45FC, 93853 },
+ { 0x45FD, 93818 },
+ { 0x45FE, 93841 },
+ { 0x45FF, 93845 },
+ { 0x4600, 93832 },
+ { 0x4601, 93849 },
+ { 0x4602, 93822 },
+ { 0x4603, 93827 },
+ { 0x4604, 93836 },
+ { 0x4605, 115736 },
+ { 0x4606, 115712 },
+ { 0x4607, 115743 },
+ { 0x4608, 115752 },
+ { 0x4609, 115691 },
+ { 0x460A, 115706 },
+ { 0x460B, 115749 },
+ { 0x460C, 115715 },
+ { 0x460D, 115730 },
+ { 0x460E, 115733 },
+ { 0x460F, 115718 },
+ { 0x4610, 115755 },
+ { 0x4611, 115697 },
+ { 0x4612, 115739 },
+ { 0x4613, 115700 },
+ { 0x4614, 115758 },
+ { 0x4615, 115709 },
+ { 0x4616, 115694 },
+ { 0x4617, 115746 },
+ { 0x4618, 115721 },
+ { 0x4619, 115724 },
+ { 0x461A, 115727 },
+ { 0x461B, 115703 },
+ { 0x461C, 115782 },
+ { 0x461D, 115785 },
+ { 0x461E, 115761 },
+ { 0x461F, 115767 },
+ { 0x4620, 115776 },
+ { 0x4621, 115773 },
+ { 0x4622, 115770 },
+ { 0x4623, 115764 },
+ { 0x4624, 115779 },
+ { 0x4625, 115627 },
+ { 0x4626, 115596 },
+ { 0x4627, 115611 },
+ { 0x4628, 115572 },
+ { 0x4629, 115635 },
+ { 0x462A, 115644 },
+ { 0x462B, 115599 },
+ { 0x462C, 115551 },
+ { 0x462D, 115566 },
+ { 0x462E, 115641 },
+ { 0x462F, 115575 },
+ { 0x4630, 115590 },
+ { 0x4631, 115623 },
+ { 0x4632, 115593 },
+ { 0x4633, 115615 },
+ { 0x4634, 115578 },
+ { 0x4635, 115631 },
+ { 0x4636, 115647 },
+ { 0x4637, 115603 },
+ { 0x4638, 115557 },
+ { 0x4639, 115607 },
+ { 0x463A, 115560 },
+ { 0x463B, 115650 },
+ { 0x463C, 115569 },
+ { 0x463D, 115554 },
+ { 0x463E, 115638 },
+ { 0x463F, 115581 },
+ { 0x4640, 115584 },
+ { 0x4641, 115619 },
+ { 0x4642, 115587 },
+ { 0x4643, 115563 },
+ { 0x4644, 115653 },
+ { 0x4645, 115663 },
+ { 0x4646, 115672 },
+ { 0x4647, 115669 },
+ { 0x4648, 115678 },
+ { 0x4649, 115666 },
+ { 0x464A, 115660 },
+ { 0x464B, 115675 },
+ { 0x464C, 115656 },
+ { 0x464D, 53857 },
+ { 0x464E, 53833 },
+ { 0x464F, 53860 },
+ { 0x4650, 53872 },
+ { 0x4651, 53812 },
+ { 0x4652, 53830 },
+ { 0x4653, 53854 },
+ { 0x4654, 53836 },
+ { 0x4655, 53848 },
+ { 0x4656, 53851 },
+ { 0x4657, 53839 },
+ { 0x4658, 53866 },
+ { 0x4659, 53821 },
+ { 0x465A, 53824 },
+ { 0x465B, 53869 },
+ { 0x465C, 53818 },
+ { 0x465D, 53815 },
+ { 0x465E, 53863 },
+ { 0x465F, 53842 },
+ { 0x4660, 53845 },
+ { 0x4661, 53827 },
+ { 0x4662, 53875 },
+ { 0x4663, 53885 },
+ { 0x4664, 53882 },
+ { 0x4665, 53888 },
+ { 0x4666, 53878 },
+ { 0x4667, 120004 },
+ { 0x4668, 120007 },
+ { 0x4669, 120043 },
+ { 0x466A, 120040 },
+ { 0x466B, 119995 },
+ { 0x466C, 120031 },
+ { 0x466D, 120037 },
+ { 0x466E, 120010 },
+ { 0x466F, 120028 },
+ { 0x4670, 120034 },
+ { 0x4671, 120013 },
+ { 0x4672, 120046 },
+ { 0x4673, 120016 },
+ { 0x4674, 120019 },
+ { 0x4675, 120055 },
+ { 0x4676, 120001 },
+ { 0x4677, 119998 },
+ { 0x4678, 120052 },
+ { 0x4679, 120022 },
+ { 0x467A, 120049 },
+ { 0x467B, 120058 },
+ { 0x467C, 120025 },
+ { 0x467D, 120061 },
+ { 0x467E, 120068 },
+ { 0x467F, 120077 },
+ { 0x4680, 120064 },
+ { 0x4681, 120071 },
+ { 0x4682, 120074 },
+ { 0x4683, 119992 },
+ { 0x4684, 60165 },
+ { 0x4685, 60168 },
+ { 0x4686, 60183 },
+ { 0x4687, 60174 },
+ { 0x4688, 60177 },
+ { 0x4689, 60219 },
+ { 0x468A, 60186 },
+ { 0x468B, 60222 },
+ { 0x468C, 60189 },
+ { 0x468D, 60192 },
+ { 0x468E, 60195 },
+ { 0x468F, 60198 },
+ { 0x4690, 60201 },
+ { 0x4691, 60207 },
+ { 0x4692, 60237 },
+ { 0x4693, 60213 },
+ { 0x4694, 60216 },
+ { 0x4695, 60180 },
+ { 0x4696, 60204 },
+ { 0x4697, 60210 },
+ { 0x4698, 60240 },
+ { 0x4699, 60225 },
+ { 0x469A, 60228 },
+ { 0x469B, 60231 },
+ { 0x469C, 60234 },
+ { 0x469D, 60171 },
+ { 0x469E, 60243 },
+ { 0x469F, 95460 },
+ { 0x46A0, 95464 },
+ { 0x46A1, 95468 },
+ { 0x46A2, 95472 },
+ { 0x46A3, 95540 },
+ { 0x46A4, 95536 },
+ { 0x46A5, 95476 },
+ { 0x46A6, 95552 },
+ { 0x46A7, 95504 },
+ { 0x46A8, 95492 },
+ { 0x46A9, 95496 },
+ { 0x46AA, 95556 },
+ { 0x46AB, 95500 },
+ { 0x46AC, 95560 },
+ { 0x46AD, 95512 },
+ { 0x46AE, 95564 },
+ { 0x46AF, 95488 },
+ { 0x46B0, 95548 },
+ { 0x46B1, 95544 },
+ { 0x46B2, 95516 },
+ { 0x46B3, 95568 },
+ { 0x46B4, 95520 },
+ { 0x46B5, 95484 },
+ { 0x46B6, 95508 },
+ { 0x46B7, 95524 },
+ { 0x46B8, 95572 },
+ { 0x46B9, 95528 },
+ { 0x46BA, 95576 },
+ { 0x46BB, 95532 },
+ { 0x46BC, 95480 },
+ { 0x46BD, 95580 },
+ { 0x46BE, 95584 },
+ { 0x46BF, 95042 },
+ { 0x46C0, 95046 },
+ { 0x46C1, 95050 },
+ { 0x46C2, 95054 },
+ { 0x46C3, 95122 },
+ { 0x46C4, 95118 },
+ { 0x46C5, 95058 },
+ { 0x46C6, 95086 },
+ { 0x46C7, 95074 },
+ { 0x46C8, 95078 },
+ { 0x46C9, 95082 },
+ { 0x46CA, 95094 },
+ { 0x46CB, 95070 },
+ { 0x46CC, 95130 },
+ { 0x46CD, 95126 },
+ { 0x46CE, 95098 },
+ { 0x46CF, 95134 },
+ { 0x46D0, 95102 },
+ { 0x46D1, 95066 },
+ { 0x46D2, 95090 },
+ { 0x46D3, 95106 },
+ { 0x46D4, 95110 },
+ { 0x46D5, 95114 },
+ { 0x46D6, 95062 },
+ { 0x46D7, 95447 },
+ { 0x46D8, 95392 },
+ { 0x46D9, 95456 },
+ { 0x46DA, 95452 },
+ { 0x46DB, 95139 },
+ { 0x46DC, 95188 },
+ { 0x46DD, 95335 },
+ { 0x46DE, 95228 },
+ { 0x46DF, 95208 },
+ { 0x46E0, 95159 },
+ { 0x46E1, 95306 },
+ { 0x46E2, 95268 },
+ { 0x46E3, 95248 },
+ { 0x46E4, 95179 },
+ { 0x46E5, 95374 },
+ { 0x46E6, 95365 },
+ { 0x46E7, 95297 },
+ { 0x46E8, 95288 },
+ { 0x46E9, 95326 },
+ { 0x46EA, 95383 },
+ { 0x46EB, 95143 },
+ { 0x46EC, 95192 },
+ { 0x46ED, 95339 },
+ { 0x46EE, 95232 },
+ { 0x46EF, 95212 },
+ { 0x46F0, 95163 },
+ { 0x46F1, 95310 },
+ { 0x46F2, 95272 },
+ { 0x46F3, 95252 },
+ { 0x46F4, 95154 },
+ { 0x46F5, 95203 },
+ { 0x46F6, 95350 },
+ { 0x46F7, 95243 },
+ { 0x46F8, 95223 },
+ { 0x46F9, 95174 },
+ { 0x46FA, 95321 },
+ { 0x46FB, 95283 },
+ { 0x46FC, 95263 },
+ { 0x46FD, 95183 },
+ { 0x46FE, 95378 },
+ { 0x46FF, 95369 },
+ { 0x4700, 95301 },
+ { 0x4701, 95292 },
+ { 0x4702, 95330 },
+ { 0x4703, 95387 },
+ { 0x4704, 95355 },
+ { 0x4705, 95360 },
+ { 0x4706, 95148 },
+ { 0x4707, 95197 },
+ { 0x4708, 95344 },
+ { 0x4709, 95237 },
+ { 0x470A, 95217 },
+ { 0x470B, 95168 },
+ { 0x470C, 95315 },
+ { 0x470D, 95277 },
+ { 0x470E, 95257 },
+ { 0x470F, 95397 },
+ { 0x4710, 95412 },
+ { 0x4711, 95442 },
+ { 0x4712, 95422 },
+ { 0x4713, 95417 },
+ { 0x4714, 95402 },
+ { 0x4715, 95437 },
+ { 0x4716, 95432 },
+ { 0x4717, 95427 },
+ { 0x4718, 95407 },
+ { 0x4719, 119647 },
+ { 0x471A, 119626 },
+ { 0x471B, 119634 },
+ { 0x471C, 119638 },
+ { 0x471D, 119622 },
+ { 0x471E, 119630 },
+ { 0x471F, 119643 },
+ { 0x4720, 119599 },
+ { 0x4721, 119607 },
+ { 0x4722, 119604 },
+ { 0x4723, 119668 },
+ { 0x4724, 119716 },
+ { 0x4725, 119659 },
+ { 0x4726, 119713 },
+ { 0x4727, 119653 },
+ { 0x4728, 119704 },
+ { 0x4729, 119665 },
+ { 0x472A, 119725 },
+ { 0x472B, 119740 },
+ { 0x472C, 119749 },
+ { 0x472D, 119707 },
+ { 0x472E, 119746 },
+ { 0x472F, 119722 },
+ { 0x4730, 119689 },
+ { 0x4731, 119737 },
+ { 0x4732, 119656 },
+ { 0x4733, 119710 },
+ { 0x4734, 119677 },
+ { 0x4735, 119680 },
+ { 0x4736, 119728 },
+ { 0x4737, 119650 },
+ { 0x4738, 119701 },
+ { 0x4739, 119674 },
+ { 0x473A, 119695 },
+ { 0x473B, 119683 },
+ { 0x473C, 119671 },
+ { 0x473D, 119692 },
+ { 0x473E, 119731 },
+ { 0x473F, 119734 },
+ { 0x4740, 119686 },
+ { 0x4741, 119698 },
+ { 0x4742, 119662 },
+ { 0x4743, 119719 },
+ { 0x4744, 119755 },
+ { 0x4745, 119752 },
+ { 0x4746, 119743 },
+ { 0x4747, 119588 },
+ { 0x4748, 119596 },
+ { 0x4749, 119592 },
+ { 0x474A, 119772 },
+ { 0x474B, 119610 },
+ { 0x474C, 119613 },
+ { 0x474D, 119619 },
+ { 0x474E, 119616 },
+ { 0x474F, 119766 },
+ { 0x4750, 119769 },
+ { 0x4751, 119758 },
+ { 0x4752, 119762 },
+ { 0x4753, 119774 },
+ { 0x4754, 119778 },
+ { 0x4755, 119790 },
+ { 0x4756, 119794 },
+ { 0x4757, 119801 },
+ { 0x4758, 119805 },
+ { 0x4759, 119787 },
+ { 0x475A, 119781 },
+ { 0x475B, 119797 },
+ { 0x475C, 119784 },
+ { 0x475D, 7822 },
+ { 0x475E, 7947 },
+ { 0x475F, 7867 },
+ { 0x4760, 7832 },
+ { 0x4761, 7877 },
+ { 0x4762, 7852 },
+ { 0x4763, 7887 },
+ { 0x4764, 7882 },
+ { 0x4765, 7862 },
+ { 0x4766, 7847 },
+ { 0x4767, 7842 },
+ { 0x4768, 7872 },
+ { 0x4769, 7837 },
+ { 0x476A, 7922 },
+ { 0x476B, 7927 },
+ { 0x476C, 7952 },
+ { 0x476D, 7817 },
+ { 0x476E, 7857 },
+ { 0x476F, 7827 },
+ { 0x4770, 7942 },
+ { 0x4771, 7917 },
+ { 0x4772, 7937 },
+ { 0x4773, 7912 },
+ { 0x4774, 7892 },
+ { 0x4775, 7907 },
+ { 0x4776, 7957 },
+ { 0x4777, 7902 },
+ { 0x4778, 7897 },
+ { 0x4779, 7932 },
+ { 0x477A, 7962 },
+ { 0x477B, 7967 },
+ { 0x477C, 7972 },
+ { 0x477D, 7687 },
+ { 0x477E, 7697 },
+ { 0x477F, 7682 },
+ { 0x4780, 7772 },
+ { 0x4781, 7702 },
+ { 0x4782, 7727 },
+ { 0x4783, 7752 },
+ { 0x4784, 7707 },
+ { 0x4785, 7662 },
+ { 0x4786, 7722 },
+ { 0x4787, 7747 },
+ { 0x4788, 7692 },
+ { 0x4789, 7777 },
+ { 0x478A, 7767 },
+ { 0x478B, 7712 },
+ { 0x478C, 7757 },
+ { 0x478D, 7677 },
+ { 0x478E, 7742 },
+ { 0x478F, 7657 },
+ { 0x4790, 7667 },
+ { 0x4791, 7762 },
+ { 0x4792, 7672 },
+ { 0x4793, 7797 },
+ { 0x4794, 7717 },
+ { 0x4795, 7792 },
+ { 0x4796, 7782 },
+ { 0x4797, 7732 },
+ { 0x4798, 7787 },
+ { 0x4799, 7737 },
+ { 0x479A, 7802 },
+ { 0x479B, 7807 },
+ { 0x479C, 7812 },
+ { 0x479D, 119868 },
+ { 0x479E, 119835 },
+ { 0x479F, 119871 },
+ { 0x47A0, 119874 },
+ { 0x47A1, 119898 },
+ { 0x47A2, 119895 },
+ { 0x47A3, 119814 },
+ { 0x47A4, 119829 },
+ { 0x47A5, 119808 },
+ { 0x47A6, 119892 },
+ { 0x47A7, 119910 },
+ { 0x47A8, 119877 },
+ { 0x47A9, 119901 },
+ { 0x47AA, 119838 },
+ { 0x47AB, 119853 },
+ { 0x47AC, 119862 },
+ { 0x47AD, 119841 },
+ { 0x47AE, 119856 },
+ { 0x47AF, 119880 },
+ { 0x47B0, 119904 },
+ { 0x47B1, 119913 },
+ { 0x47B2, 119916 },
+ { 0x47B3, 119820 },
+ { 0x47B4, 119823 },
+ { 0x47B5, 119907 },
+ { 0x47B6, 119832 },
+ { 0x47B7, 119865 },
+ { 0x47B8, 119817 },
+ { 0x47B9, 119811 },
+ { 0x47BA, 119886 },
+ { 0x47BB, 119844 },
+ { 0x47BC, 119859 },
+ { 0x47BD, 119883 },
+ { 0x47BE, 119847 },
+ { 0x47BF, 119850 },
+ { 0x47C0, 119889 },
+ { 0x47C1, 119826 },
+ { 0x47C2, 119963 },
+ { 0x47C3, 119967 },
+ { 0x47C4, 119919 },
+ { 0x47C5, 119929 },
+ { 0x47C6, 119926 },
+ { 0x47C7, 119932 },
+ { 0x47C8, 119922 },
+ { 0x47C9, 119951 },
+ { 0x47CA, 119960 },
+ { 0x47CB, 119954 },
+ { 0x47CC, 119938 },
+ { 0x47CD, 119935 },
+ { 0x47CE, 119943 },
+ { 0x47CF, 119947 },
+ { 0x47D0, 66541 },
+ { 0x47D1, 66556 },
+ { 0x47D2, 66565 },
+ { 0x47D3, 66640 },
+ { 0x47D4, 66562 },
+ { 0x47D5, 66637 },
+ { 0x47D6, 66559 },
+ { 0x47D7, 66643 },
+ { 0x47D8, 66544 },
+ { 0x47D9, 66577 },
+ { 0x47DA, 66550 },
+ { 0x47DB, 66607 },
+ { 0x47DC, 66547 },
+ { 0x47DD, 66589 },
+ { 0x47DE, 66553 },
+ { 0x47DF, 66622 },
+ { 0x47E0, 66595 },
+ { 0x47E1, 66628 },
+ { 0x47E2, 66682 },
+ { 0x47E3, 66679 },
+ { 0x47E4, 66583 },
+ { 0x47E5, 66652 },
+ { 0x47E6, 66655 },
+ { 0x47E7, 66571 },
+ { 0x47E8, 66592 },
+ { 0x47E9, 66619 },
+ { 0x47EA, 66673 },
+ { 0x47EB, 66574 },
+ { 0x47EC, 66649 },
+ { 0x47ED, 66676 },
+ { 0x47EE, 66610 },
+ { 0x47EF, 66580 },
+ { 0x47F0, 66568 },
+ { 0x47F1, 66646 },
+ { 0x47F2, 66661 },
+ { 0x47F3, 66694 },
+ { 0x47F4, 66691 },
+ { 0x47F5, 66604 },
+ { 0x47F6, 66667 },
+ { 0x47F7, 66664 },
+ { 0x47F8, 66601 },
+ { 0x47F9, 66658 },
+ { 0x47FA, 66685 },
+ { 0x47FB, 66631 },
+ { 0x47FC, 66625 },
+ { 0x47FD, 66613 },
+ { 0x47FE, 66598 },
+ { 0x47FF, 66616 },
+ { 0x4800, 66634 },
+ { 0x4801, 66670 },
+ { 0x4802, 66688 },
+ { 0x4803, 66697 },
+ { 0x4804, 66700 },
+ { 0x4805, 66586 },
+ { 0x4806, 66703 },
+ { 0x4807, 16703 },
+ { 0x4808, 38816 },
+ { 0x4809, 26692 },
+ { 0x480A, 26672 },
+ { 0x480B, 26699 },
+ { 0x480C, 26679 },
+ { 0x480D, 131636 },
+ { 0x480E, 131604 },
+ { 0x480F, 131640 },
+ { 0x4810, 131652 },
+ { 0x4811, 131576 },
+ { 0x4812, 131596 },
+ { 0x4813, 131648 },
+ { 0x4814, 131608 },
+ { 0x4815, 131628 },
+ { 0x4816, 131632 },
+ { 0x4817, 131612 },
+ { 0x4818, 131656 },
+ { 0x4819, 131584 },
+ { 0x481A, 131588 },
+ { 0x481B, 131660 },
+ { 0x481C, 131600 },
+ { 0x481D, 131580 },
+ { 0x481E, 131644 },
+ { 0x481F, 131616 },
+ { 0x4820, 131620 },
+ { 0x4821, 131624 },
+ { 0x4822, 131592 },
+ { 0x4823, 131664 },
+ { 0x4824, 131682 },
+ { 0x4825, 131690 },
+ { 0x4826, 131686 },
+ { 0x4827, 131678 },
+ { 0x4828, 131694 },
+ { 0x4829, 131668 },
+ { 0x482A, 131673 },
+ { 0x482B, 131506 },
+ { 0x482C, 131482 },
+ { 0x482D, 131510 },
+ { 0x482E, 131522 },
+ { 0x482F, 131466 },
+ { 0x4830, 131538 },
+ { 0x4831, 131518 },
+ { 0x4832, 131486 },
+ { 0x4833, 131498 },
+ { 0x4834, 131502 },
+ { 0x4835, 131490 },
+ { 0x4836, 131526 },
+ { 0x4837, 131534 },
+ { 0x4838, 131474 },
+ { 0x4839, 131530 },
+ { 0x483A, 131470 },
+ { 0x483B, 131514 },
+ { 0x483C, 131494 },
+ { 0x483D, 131478 },
+ { 0x483E, 131542 },
+ { 0x483F, 131560 },
+ { 0x4840, 131568 },
+ { 0x4841, 131564 },
+ { 0x4842, 131556 },
+ { 0x4843, 131572 },
+ { 0x4844, 131546 },
+ { 0x4845, 131551 },
+ { 0x4846, 75093 },
+ { 0x4847, 75073 },
+ { 0x4848, 75097 },
+ { 0x4849, 75109 },
+ { 0x484A, 75057 },
+ { 0x484B, 75125 },
+ { 0x484C, 75105 },
+ { 0x484D, 75077 },
+ { 0x484E, 75089 },
+ { 0x484F, 75081 },
+ { 0x4850, 75113 },
+ { 0x4851, 75121 },
+ { 0x4852, 75065 },
+ { 0x4853, 75117 },
+ { 0x4854, 75061 },
+ { 0x4855, 75101 },
+ { 0x4856, 75085 },
+ { 0x4857, 75069 },
+ { 0x4858, 75163 },
+ { 0x4859, 75158 },
+ { 0x485A, 75051 },
+ { 0x485B, 75045 },
+ { 0x485C, 75129 },
+ { 0x485D, 75142 },
+ { 0x485E, 75150 },
+ { 0x485F, 75146 },
+ { 0x4860, 75138 },
+ { 0x4861, 75154 },
+ { 0x4862, 75133 },
+ { 0x4863, 8287 },
+ { 0x4864, 8497 },
+ { 0x4865, 8522 },
+ { 0x4866, 8292 },
+ { 0x4867, 8507 },
+ { 0x4868, 8502 },
+ { 0x4869, 8297 },
+ { 0x486A, 8382 },
+ { 0x486B, 8572 },
+ { 0x486C, 8302 },
+ { 0x486D, 8512 },
+ { 0x486E, 8402 },
+ { 0x486F, 8582 },
+ { 0x4870, 8312 },
+ { 0x4871, 8527 },
+ { 0x4872, 8412 },
+ { 0x4873, 8587 },
+ { 0x4874, 8307 },
+ { 0x4875, 8517 },
+ { 0x4876, 8407 },
+ { 0x4877, 8367 },
+ { 0x4878, 8562 },
+ { 0x4879, 8347 },
+ { 0x487A, 8552 },
+ { 0x487B, 8447 },
+ { 0x487C, 8607 },
+ { 0x487D, 8417 },
+ { 0x487E, 8592 },
+ { 0x487F, 8487 },
+ { 0x4880, 8642 },
+ { 0x4881, 8317 },
+ { 0x4882, 8532 },
+ { 0x4883, 8422 },
+ { 0x4884, 8457 },
+ { 0x4885, 8357 },
+ { 0x4886, 8322 },
+ { 0x4887, 8427 },
+ { 0x4888, 8597 },
+ { 0x4889, 8472 },
+ { 0x488A, 8627 },
+ { 0x488B, 8462 },
+ { 0x488C, 8622 },
+ { 0x488D, 8477 },
+ { 0x488E, 8632 },
+ { 0x488F, 8612 },
+ { 0x4890, 8467 },
+ { 0x4891, 8647 },
+ { 0x4892, 8362 },
+ { 0x4893, 8387 },
+ { 0x4894, 8372 },
+ { 0x4895, 8352 },
+ { 0x4896, 8557 },
+ { 0x4897, 8327 },
+ { 0x4898, 8537 },
+ { 0x4899, 8377 },
+ { 0x489A, 8567 },
+ { 0x489B, 8392 },
+ { 0x489C, 8577 },
+ { 0x489D, 8332 },
+ { 0x489E, 8542 },
+ { 0x489F, 8432 },
+ { 0x48A0, 8337 },
+ { 0x48A1, 8437 },
+ { 0x48A2, 8452 },
+ { 0x48A3, 8617 },
+ { 0x48A4, 8482 },
+ { 0x48A5, 8637 },
+ { 0x48A6, 8342 },
+ { 0x48A7, 8547 },
+ { 0x48A8, 8442 },
+ { 0x48A9, 8602 },
+ { 0x48AA, 8397 },
+ { 0x48AB, 8492 },
+ { 0x48AC, 9446 },
+ { 0x48AD, 9471 },
+ { 0x48AE, 9481 },
+ { 0x48AF, 9591 },
+ { 0x48B0, 9486 },
+ { 0x48B1, 9626 },
+ { 0x48B2, 9606 },
+ { 0x48B3, 9491 },
+ { 0x48B4, 9596 },
+ { 0x48B5, 9451 },
+ { 0x48B6, 9666 },
+ { 0x48B7, 9496 },
+ { 0x48B8, 9501 },
+ { 0x48B9, 9506 },
+ { 0x48BA, 9611 },
+ { 0x48BB, 9511 },
+ { 0x48BC, 9456 },
+ { 0x48BD, 9571 },
+ { 0x48BE, 9516 },
+ { 0x48BF, 9521 },
+ { 0x48C0, 9476 },
+ { 0x48C1, 9661 },
+ { 0x48C2, 9526 },
+ { 0x48C3, 9616 },
+ { 0x48C4, 9531 },
+ { 0x48C5, 9536 },
+ { 0x48C6, 9636 },
+ { 0x48C7, 9461 },
+ { 0x48C8, 9576 },
+ { 0x48C9, 9696 },
+ { 0x48CA, 9678 },
+ { 0x48CB, 9656 },
+ { 0x48CC, 9541 },
+ { 0x48CD, 9621 },
+ { 0x48CE, 9546 },
+ { 0x48CF, 9672 },
+ { 0x48D0, 9551 },
+ { 0x48D1, 9641 },
+ { 0x48D2, 9556 },
+ { 0x48D3, 9631 },
+ { 0x48D4, 9646 },
+ { 0x48D5, 9601 },
+ { 0x48D6, 9466 },
+ { 0x48D7, 9586 },
+ { 0x48D8, 9702 },
+ { 0x48D9, 9684 },
+ { 0x48DA, 9561 },
+ { 0x48DB, 9566 },
+ { 0x48DC, 9651 },
+ { 0x48DD, 9690 },
+ { 0x48DE, 9581 },
+ { 0x48DF, 9158 },
+ { 0x48E0, 9183 },
+ { 0x48E1, 9193 },
+ { 0x48E2, 9303 },
+ { 0x48E3, 9198 },
+ { 0x48E4, 9338 },
+ { 0x48E5, 9318 },
+ { 0x48E6, 9203 },
+ { 0x48E7, 9308 },
+ { 0x48E8, 9163 },
+ { 0x48E9, 9378 },
+ { 0x48EA, 9208 },
+ { 0x48EB, 9213 },
+ { 0x48EC, 9218 },
+ { 0x48ED, 9323 },
+ { 0x48EE, 9223 },
+ { 0x48EF, 9168 },
+ { 0x48F0, 9283 },
+ { 0x48F1, 9228 },
+ { 0x48F2, 9233 },
+ { 0x48F3, 9188 },
+ { 0x48F4, 9373 },
+ { 0x48F5, 9238 },
+ { 0x48F6, 9328 },
+ { 0x48F7, 9243 },
+ { 0x48F8, 9248 },
+ { 0x48F9, 9348 },
+ { 0x48FA, 9173 },
+ { 0x48FB, 9288 },
+ { 0x48FC, 9408 },
+ { 0x48FD, 9390 },
+ { 0x48FE, 9368 },
+ { 0x48FF, 9253 },
+ { 0x4900, 9333 },
+ { 0x4901, 9258 },
+ { 0x4902, 9384 },
+ { 0x4903, 9263 },
+ { 0x4904, 9353 },
+ { 0x4905, 9268 },
+ { 0x4906, 9343 },
+ { 0x4907, 9358 },
+ { 0x4908, 9313 },
+ { 0x4909, 9178 },
+ { 0x490A, 9298 },
+ { 0x490B, 9414 },
+ { 0x490C, 9396 },
+ { 0x490D, 9273 },
+ { 0x490E, 9278 },
+ { 0x490F, 9363 },
+ { 0x4910, 9402 },
+ { 0x4911, 9293 },
+ { 0x4912, 9420 },
+ { 0x4913, 9438 },
+ { 0x4914, 9434 },
+ { 0x4915, 9442 },
+ { 0x4916, 9424 },
+ { 0x4917, 9429 },
+ { 0x4918, 53694 },
+ { 0x4919, 53698 },
+ { 0x491A, 53742 },
+ { 0x491B, 53754 },
+ { 0x491C, 53798 },
+ { 0x491D, 53722 },
+ { 0x491E, 53702 },
+ { 0x491F, 53718 },
+ { 0x4920, 53778 },
+ { 0x4921, 53710 },
+ { 0x4922, 53706 },
+ { 0x4923, 53774 },
+ { 0x4924, 53746 },
+ { 0x4925, 53790 },
+ { 0x4926, 53770 },
+ { 0x4927, 53750 },
+ { 0x4928, 53794 },
+ { 0x4929, 53726 },
+ { 0x492A, 53714 },
+ { 0x492B, 53730 },
+ { 0x492C, 53734 },
+ { 0x492D, 53738 },
+ { 0x492E, 53762 },
+ { 0x492F, 53802 },
+ { 0x4930, 53766 },
+ { 0x4931, 53807 },
+ { 0x4932, 53782 },
+ { 0x4933, 53786 },
+ { 0x4934, 53758 },
+ { 0x4935, 53674 },
+ { 0x4936, 53682 },
+ { 0x4937, 53690 },
+ { 0x4938, 53678 },
+ { 0x4939, 53686 },
+ { 0x493A, 53614 },
+ { 0x493B, 53609 },
+ { 0x493C, 53630 },
+ { 0x493D, 53626 },
+ { 0x493E, 53618 },
+ { 0x493F, 53622 },
+ { 0x4940, 53658 },
+ { 0x4941, 53634 },
+ { 0x4942, 53642 },
+ { 0x4943, 53670 },
+ { 0x4944, 53650 },
+ { 0x4945, 53646 },
+ { 0x4946, 53638 },
+ { 0x4947, 53666 },
+ { 0x4948, 53662 },
+ { 0x4949, 53654 },
+ { 0x494A, 16056 },
+ { 0x494B, 16062 },
+ { 0x494C, 16080 },
+ { 0x494D, 16068 },
+ { 0x494E, 16065 },
+ { 0x494F, 16059 },
+ { 0x4950, 16077 },
+ { 0x4951, 16074 },
+ { 0x4952, 16071 },
+ { 0x4953, 16091 },
+ { 0x4954, 16140 },
+ { 0x4955, 16137 },
+ { 0x4956, 16117 },
+ { 0x4957, 16114 },
+ { 0x4958, 16124 },
+ { 0x4959, 16143 },
+ { 0x495A, 16131 },
+ { 0x495B, 16134 },
+ { 0x495C, 16083 },
+ { 0x495D, 16094 },
+ { 0x495E, 16127 },
+ { 0x495F, 16102 },
+ { 0x4960, 16098 },
+ { 0x4961, 16087 },
+ { 0x4962, 16120 },
+ { 0x4963, 16110 },
+ { 0x4964, 16106 },
+ { 0x4965, 16146 },
+ { 0x4966, 16154 },
+ { 0x4967, 16150 },
+ { 0x4968, 16158 },
+ { 0x4969, 66499 },
+ { 0x496A, 66374 },
+ { 0x496B, 66392 },
+ { 0x496C, 66463 },
+ { 0x496D, 66478 },
+ { 0x496E, 66398 },
+ { 0x496F, 66424 },
+ { 0x4970, 66496 },
+ { 0x4971, 66508 },
+ { 0x4972, 66442 },
+ { 0x4973, 66415 },
+ { 0x4974, 66430 },
+ { 0x4975, 66493 },
+ { 0x4976, 66395 },
+ { 0x4977, 66469 },
+ { 0x4978, 66418 },
+ { 0x4979, 66386 },
+ { 0x497A, 66475 },
+ { 0x497B, 66505 },
+ { 0x497C, 66472 },
+ { 0x497D, 66427 },
+ { 0x497E, 66401 },
+ { 0x497F, 66421 },
+ { 0x4980, 66433 },
+ { 0x4981, 66511 },
+ { 0x4982, 66383 },
+ { 0x4983, 66407 },
+ { 0x4984, 66410 },
+ { 0x4985, 66466 },
+ { 0x4986, 66445 },
+ { 0x4987, 66502 },
+ { 0x4988, 66436 },
+ { 0x4989, 66448 },
+ { 0x498A, 66457 },
+ { 0x498B, 66460 },
+ { 0x498C, 66404 },
+ { 0x498D, 66481 },
+ { 0x498E, 66389 },
+ { 0x498F, 66380 },
+ { 0x4990, 66439 },
+ { 0x4991, 66484 },
+ { 0x4992, 66377 },
+ { 0x4993, 66514 },
+ { 0x4994, 66518 },
+ { 0x4995, 66522 },
+ { 0x4996, 66451 },
+ { 0x4997, 66487 },
+ { 0x4998, 41772 },
+ { 0x4999, 41762 },
+ { 0x499A, 41767 },
+ { 0x499B, 9022 },
+ { 0x499C, 9062 },
+ { 0x499D, 9002 },
+ { 0x499E, 9057 },
+ { 0x499F, 9080 },
+ { 0x49A0, 8974 },
+ { 0x49A1, 9026 },
+ { 0x49A2, 8994 },
+ { 0x49A3, 9088 },
+ { 0x49A4, 9006 },
+ { 0x49A5, 9018 },
+ { 0x49A6, 9010 },
+ { 0x49A7, 9092 },
+ { 0x49A8, 8982 },
+ { 0x49A9, 8986 },
+ { 0x49AA, 9031 },
+ { 0x49AB, 9036 },
+ { 0x49AC, 9096 },
+ { 0x49AD, 8998 },
+ { 0x49AE, 9100 },
+ { 0x49AF, 8978 },
+ { 0x49B0, 9084 },
+ { 0x49B1, 9067 },
+ { 0x49B2, 9072 },
+ { 0x49B3, 9105 },
+ { 0x49B4, 9014 },
+ { 0x49B5, 8990 },
+ { 0x49B6, 9044 },
+ { 0x49B7, 9049 },
+ { 0x49B8, 9109 },
+ { 0x49B9, 9122 },
+ { 0x49BA, 9134 },
+ { 0x49BB, 9130 },
+ { 0x49BC, 9126 },
+ { 0x49BD, 9118 },
+ { 0x49BE, 9142 },
+ { 0x49BF, 9138 },
+ { 0x49C0, 9113 },
+ { 0x49C1, 9146 },
+ { 0x49C2, 9151 },
+ { 0x49C3, 76794 },
+ { 0x49C4, 76773 },
+ { 0x49C5, 76797 },
+ { 0x49C6, 76752 },
+ { 0x49C7, 76767 },
+ { 0x49C8, 76803 },
+ { 0x49C9, 76779 },
+ { 0x49CA, 76791 },
+ { 0x49CB, 76782 },
+ { 0x49CC, 76806 },
+ { 0x49CD, 76758 },
+ { 0x49CE, 76761 },
+ { 0x49CF, 76809 },
+ { 0x49D0, 76770 },
+ { 0x49D1, 76755 },
+ { 0x49D2, 76800 },
+ { 0x49D3, 76812 },
+ { 0x49D4, 76788 },
+ { 0x49D5, 76764 },
+ { 0x49D6, 76776 },
+ { 0x49D7, 76785 },
+ { 0x49D8, 76875 },
+ { 0x49D9, 76832 },
+ { 0x49DA, 76841 },
+ { 0x49DB, 76828 },
+ { 0x49DC, 76836 },
+ { 0x49DD, 76863 },
+ { 0x49DE, 76867 },
+ { 0x49DF, 76846 },
+ { 0x49E0, 76850 },
+ { 0x49E1, 76854 },
+ { 0x49E2, 76859 },
+ { 0x49E3, 76871 },
+ { 0x49E4, 76815 },
+ { 0x49E5, 76822 },
+ { 0x49E6, 76825 },
+ { 0x49E7, 76818 },
+ { 0x49E8, 76884 },
+ { 0x49E9, 76889 },
+ { 0x49EA, 76902 },
+ { 0x49EB, 76878 },
+ { 0x49EC, 76896 },
+ { 0x49ED, 8696 },
+ { 0x49EE, 8672 },
+ { 0x49EF, 8721 },
+ { 0x49F0, 8668 },
+ { 0x49F1, 8709 },
+ { 0x49F2, 8700 },
+ { 0x49F3, 8692 },
+ { 0x49F4, 8676 },
+ { 0x49F5, 8713 },
+ { 0x49F6, 8656 },
+ { 0x49F7, 8660 },
+ { 0x49F8, 8717 },
+ { 0x49F9, 8652 },
+ { 0x49FA, 8705 },
+ { 0x49FB, 8684 },
+ { 0x49FC, 8688 },
+ { 0x49FD, 8664 },
+ { 0x49FE, 8680 },
+ { 0x49FF, 8725 },
+ { 0x4A00, 8730 },
+ { 0x4A01, 8735 },
+ { 0x4A02, 8741 },
+ { 0x4A03, 8747 },
+ { 0x4A04, 8751 },
+ { 0x4A05, 8756 },
+ { 0x4A06, 8761 },
+ { 0x4A07, 117634 },
+ { 0x4A08, 117640 },
+ { 0x4A09, 117616 },
+ { 0x4A0A, 117637 },
+ { 0x4A0B, 117651 },
+ { 0x4A0C, 117595 },
+ { 0x4A0D, 117610 },
+ { 0x4A0E, 117647 },
+ { 0x4A0F, 117644 },
+ { 0x4A10, 117619 },
+ { 0x4A11, 117631 },
+ { 0x4A12, 117622 },
+ { 0x4A13, 117654 },
+ { 0x4A14, 117601 },
+ { 0x4A15, 117604 },
+ { 0x4A16, 117657 },
+ { 0x4A17, 117613 },
+ { 0x4A18, 117598 },
+ { 0x4A19, 117625 },
+ { 0x4A1A, 117628 },
+ { 0x4A1B, 117607 },
+ { 0x4A1C, 117660 },
+ { 0x4A1D, 117670 },
+ { 0x4A1E, 117676 },
+ { 0x4A1F, 117673 },
+ { 0x4A20, 117667 },
+ { 0x4A21, 117679 },
+ { 0x4A22, 117663 },
+ { 0x4A23, 69880 },
+ { 0x4A24, 69856 },
+ { 0x4A25, 69883 },
+ { 0x4A26, 69892 },
+ { 0x4A27, 69835 },
+ { 0x4A28, 69850 },
+ { 0x4A29, 69889 },
+ { 0x4A2A, 69859 },
+ { 0x4A2B, 69874 },
+ { 0x4A2C, 69877 },
+ { 0x4A2D, 69862 },
+ { 0x4A2E, 69895 },
+ { 0x4A2F, 69841 },
+ { 0x4A30, 69844 },
+ { 0x4A31, 69898 },
+ { 0x4A32, 69853 },
+ { 0x4A33, 69838 },
+ { 0x4A34, 69886 },
+ { 0x4A35, 69865 },
+ { 0x4A36, 69868 },
+ { 0x4A37, 69871 },
+ { 0x4A38, 69847 },
+ { 0x4A39, 69901 },
+ { 0x4A3A, 49731 },
+ { 0x4A3B, 49728 },
+ { 0x4A3C, 49725 },
+ { 0x4A3D, 49734 },
+ { 0x4A3E, 49737 },
+ { 0x4A3F, 49850 },
+ { 0x4A40, 49865 },
+ { 0x4A41, 49856 },
+ { 0x4A42, 49889 },
+ { 0x4A43, 49862 },
+ { 0x4A44, 49919 },
+ { 0x4A45, 50018 },
+ { 0x4A46, 50026 },
+ { 0x4A47, 50014 },
+ { 0x4A48, 50022 },
+ { 0x4A49, 49853 },
+ { 0x4A4A, 49868 },
+ { 0x4A4B, 49859 },
+ { 0x4A4C, 49871 },
+ { 0x4A4D, 49895 },
+ { 0x4A4E, 49946 },
+ { 0x4A4F, 49883 },
+ { 0x4A50, 49940 },
+ { 0x4A51, 49952 },
+ { 0x4A52, 49877 },
+ { 0x4A53, 49931 },
+ { 0x4A54, 49892 },
+ { 0x4A55, 49943 },
+ { 0x4A56, 49958 },
+ { 0x4A57, 50005 },
+ { 0x4A58, 50011 },
+ { 0x4A59, 49934 },
+ { 0x4A5A, 50008 },
+ { 0x4A5B, 49955 },
+ { 0x4A5C, 49916 },
+ { 0x4A5D, 50002 },
+ { 0x4A5E, 49880 },
+ { 0x4A5F, 49937 },
+ { 0x4A60, 49904 },
+ { 0x4A61, 49907 },
+ { 0x4A62, 49993 },
+ { 0x4A63, 49874 },
+ { 0x4A64, 49928 },
+ { 0x4A65, 49901 },
+ { 0x4A66, 49925 },
+ { 0x4A67, 49910 },
+ { 0x4A68, 49898 },
+ { 0x4A69, 49922 },
+ { 0x4A6A, 49996 },
+ { 0x4A6B, 49999 },
+ { 0x4A6C, 49913 },
+ { 0x4A6D, 49886 },
+ { 0x4A6E, 49949 },
+ { 0x4A6F, 49971 },
+ { 0x4A70, 49966 },
+ { 0x4A71, 49976 },
+ { 0x4A72, 49788 },
+ { 0x4A73, 49842 },
+ { 0x4A74, 49776 },
+ { 0x4A75, 49800 },
+ { 0x4A76, 49784 },
+ { 0x4A77, 49804 },
+ { 0x4A78, 49827 },
+ { 0x4A79, 49837 },
+ { 0x4A7A, 49822 },
+ { 0x4A7B, 49832 },
+ { 0x4A7C, 49772 },
+ { 0x4A7D, 49792 },
+ { 0x4A7E, 49780 },
+ { 0x4A7F, 49796 },
+ { 0x4A80, 50095 },
+ { 0x4A81, 49740 },
+ { 0x4A82, 49847 },
+ { 0x4A83, 50097 },
+ { 0x4A84, 50106 },
+ { 0x4A85, 50100 },
+ { 0x4A86, 50110 },
+ { 0x4A87, 50103 },
+ { 0x4A88, 50030 },
+ { 0x4A89, 50047 },
+ { 0x4A8A, 50074 },
+ { 0x4A8B, 50053 },
+ { 0x4A8C, 50050 },
+ { 0x4A8D, 50041 },
+ { 0x4A8E, 50068 },
+ { 0x4A8F, 50059 },
+ { 0x4A90, 50056 },
+ { 0x4A91, 50044 },
+ { 0x4A92, 50089 },
+ { 0x4A93, 50086 },
+ { 0x4A94, 50065 },
+ { 0x4A95, 50062 },
+ { 0x4A96, 50071 },
+ { 0x4A97, 50092 },
+ { 0x4A98, 50077 },
+ { 0x4A99, 50083 },
+ { 0x4A9A, 50033 },
+ { 0x4A9B, 50037 },
+ { 0x4A9C, 49760 },
+ { 0x4A9D, 49742 },
+ { 0x4A9E, 49748 },
+ { 0x4A9F, 49769 },
+ { 0x4AA0, 49754 },
+ { 0x4AA1, 49751 },
+ { 0x4AA2, 49745 },
+ { 0x4AA3, 49766 },
+ { 0x4AA4, 49763 },
+ { 0x4AA5, 49757 },
+ { 0x4AA6, 49720 },
+ { 0x4AA7, 49981 },
+ { 0x4AA8, 49987 },
+ { 0x4AA9, 49808 },
+ { 0x4AAA, 49815 },
+ { 0x4AAB, 49961 },
+ { 0x4AAC, 50080 },
+ { 0x4AAD, 54468 },
+ { 0x4AAE, 54465 },
+ { 0x4AAF, 54462 },
+ { 0x4AB0, 54521 },
+ { 0x4AB1, 54536 },
+ { 0x4AB2, 54527 },
+ { 0x4AB3, 54560 },
+ { 0x4AB4, 54533 },
+ { 0x4AB5, 54590 },
+ { 0x4AB6, 54524 },
+ { 0x4AB7, 54539 },
+ { 0x4AB8, 54530 },
+ { 0x4AB9, 54542 },
+ { 0x4ABA, 54566 },
+ { 0x4ABB, 54617 },
+ { 0x4ABC, 54554 },
+ { 0x4ABD, 54611 },
+ { 0x4ABE, 54620 },
+ { 0x4ABF, 54548 },
+ { 0x4AC0, 54602 },
+ { 0x4AC1, 54563 },
+ { 0x4AC2, 54614 },
+ { 0x4AC3, 54626 },
+ { 0x4AC4, 54644 },
+ { 0x4AC5, 54650 },
+ { 0x4AC6, 54605 },
+ { 0x4AC7, 54653 },
+ { 0x4AC8, 54647 },
+ { 0x4AC9, 54632 },
+ { 0x4ACA, 54623 },
+ { 0x4ACB, 54587 },
+ { 0x4ACC, 54641 },
+ { 0x4ACD, 54551 },
+ { 0x4ACE, 54608 },
+ { 0x4ACF, 54575 },
+ { 0x4AD0, 54578 },
+ { 0x4AD1, 54629 },
+ { 0x4AD2, 54545 },
+ { 0x4AD3, 54599 },
+ { 0x4AD4, 54572 },
+ { 0x4AD5, 54596 },
+ { 0x4AD6, 54581 },
+ { 0x4AD7, 54569 },
+ { 0x4AD8, 54593 },
+ { 0x4AD9, 54635 },
+ { 0x4ADA, 54638 },
+ { 0x4ADB, 54584 },
+ { 0x4ADC, 54557 },
+ { 0x4ADD, 54489 },
+ { 0x4ADE, 54477 },
+ { 0x4ADF, 54501 },
+ { 0x4AE0, 54485 },
+ { 0x4AE1, 54505 },
+ { 0x4AE2, 54473 },
+ { 0x4AE3, 54493 },
+ { 0x4AE4, 54481 },
+ { 0x4AE5, 54497 },
+ { 0x4AE6, 54459 },
+ { 0x4AE7, 54456 },
+ { 0x4AE8, 54669 },
+ { 0x4AE9, 54666 },
+ { 0x4AEA, 54656 },
+ { 0x4AEB, 54663 },
+ { 0x4AEC, 54517 },
+ { 0x4AED, 54471 },
+ { 0x4AEE, 54514 },
+ { 0x4AEF, 54509 },
+ { 0x4AF0, 54659 },
+ { 0x4AF1, 16314 },
+ { 0x4AF2, 16318 },
+ { 0x4AF3, 16258 },
+ { 0x4AF4, 16262 },
+ { 0x4AF5, 16266 },
+ { 0x4AF6, 16274 },
+ { 0x4AF7, 16298 },
+ { 0x4AF8, 16330 },
+ { 0x4AF9, 16290 },
+ { 0x4AFA, 16302 },
+ { 0x4AFB, 16322 },
+ { 0x4AFC, 16306 },
+ { 0x4AFD, 16326 },
+ { 0x4AFE, 16310 },
+ { 0x4AFF, 16278 },
+ { 0x4B00, 16286 },
+ { 0x4B01, 16282 },
+ { 0x4B02, 16334 },
+ { 0x4B03, 16238 },
+ { 0x4B04, 16270 },
+ { 0x4B05, 16246 },
+ { 0x4B06, 16254 },
+ { 0x4B07, 16250 },
+ { 0x4B08, 16242 },
+ { 0x4B09, 16294 },
+ { 0x4B0A, 16222 },
+ { 0x4B0B, 16198 },
+ { 0x4B0C, 16206 },
+ { 0x4B0D, 16234 },
+ { 0x4B0E, 16214 },
+ { 0x4B0F, 16210 },
+ { 0x4B10, 16202 },
+ { 0x4B11, 16230 },
+ { 0x4B12, 16226 },
+ { 0x4B13, 16218 },
+ { 0x4B14, 50312 },
+ { 0x4B15, 50309 },
+ { 0x4B16, 50306 },
+ { 0x4B17, 50407 },
+ { 0x4B18, 50401 },
+ { 0x4B19, 50404 },
+ { 0x4B1A, 50398 },
+ { 0x4B1B, 50428 },
+ { 0x4B1C, 50479 },
+ { 0x4B1D, 50419 },
+ { 0x4B1E, 50473 },
+ { 0x4B1F, 50485 },
+ { 0x4B20, 50413 },
+ { 0x4B21, 50464 },
+ { 0x4B22, 50425 },
+ { 0x4B23, 50476 },
+ { 0x4B24, 50491 },
+ { 0x4B25, 50500 },
+ { 0x4B26, 50509 },
+ { 0x4B27, 50467 },
+ { 0x4B28, 50506 },
+ { 0x4B29, 50488 },
+ { 0x4B2A, 50449 },
+ { 0x4B2B, 50497 },
+ { 0x4B2C, 50416 },
+ { 0x4B2D, 50470 },
+ { 0x4B2E, 50437 },
+ { 0x4B2F, 50440 },
+ { 0x4B30, 50494 },
+ { 0x4B31, 50410 },
+ { 0x4B32, 50461 },
+ { 0x4B33, 50434 },
+ { 0x4B34, 50503 },
+ { 0x4B35, 50458 },
+ { 0x4B36, 50443 },
+ { 0x4B37, 50431 },
+ { 0x4B38, 50455 },
+ { 0x4B39, 50446 },
+ { 0x4B3A, 50422 },
+ { 0x4B3B, 50347 },
+ { 0x4B3C, 50355 },
+ { 0x4B3D, 50383 },
+ { 0x4B3E, 50363 },
+ { 0x4B3F, 50391 },
+ { 0x4B40, 50351 },
+ { 0x4B41, 50371 },
+ { 0x4B42, 50359 },
+ { 0x4B43, 50375 },
+ { 0x4B44, 50387 },
+ { 0x4B45, 50300 },
+ { 0x4B46, 50303 },
+ { 0x4B47, 50512 },
+ { 0x4B48, 50514 },
+ { 0x4B49, 50335 },
+ { 0x4B4A, 50317 },
+ { 0x4B4B, 50323 },
+ { 0x4B4C, 50344 },
+ { 0x4B4D, 50329 },
+ { 0x4B4E, 50326 },
+ { 0x4B4F, 50320 },
+ { 0x4B50, 50341 },
+ { 0x4B51, 50338 },
+ { 0x4B52, 50332 },
+ { 0x4B53, 50516 },
+ { 0x4B54, 50315 },
+ { 0x4B55, 50395 },
+ { 0x4B56, 50519 },
+ { 0x4B57, 50482 },
+ { 0x4B58, 50367 },
+ { 0x4B59, 50379 },
+ { 0x4B5A, 50452 },
+ { 0x4B5B, 94807 },
+ { 0x4B5C, 94813 },
+ { 0x4B5D, 94819 },
+ { 0x4B5E, 94810 },
+ { 0x4B5F, 94816 },
+ { 0x4B60, 94840 },
+ { 0x4B61, 94885 },
+ { 0x4B62, 94831 },
+ { 0x4B63, 94879 },
+ { 0x4B64, 94825 },
+ { 0x4B65, 94870 },
+ { 0x4B66, 94837 },
+ { 0x4B67, 94882 },
+ { 0x4B68, 94891 },
+ { 0x4B69, 94903 },
+ { 0x4B6A, 94909 },
+ { 0x4B6B, 94873 },
+ { 0x4B6C, 94906 },
+ { 0x4B6D, 94888 },
+ { 0x4B6E, 94861 },
+ { 0x4B6F, 94900 },
+ { 0x4B70, 94828 },
+ { 0x4B71, 94876 },
+ { 0x4B72, 94849 },
+ { 0x4B73, 94852 },
+ { 0x4B74, 94894 },
+ { 0x4B75, 94822 },
+ { 0x4B76, 94867 },
+ { 0x4B77, 94846 },
+ { 0x4B78, 94855 },
+ { 0x4B79, 94843 },
+ { 0x4B7A, 94864 },
+ { 0x4B7B, 94858 },
+ { 0x4B7C, 94834 },
+ { 0x4B7D, 94897 },
+ { 0x4B7E, 94804 },
+ { 0x4B7F, 94918 },
+ { 0x4B80, 94912 },
+ { 0x4B81, 94915 },
+ { 0x4B82, 75353 },
+ { 0x4B83, 75343 },
+ { 0x4B84, 75340 },
+ { 0x4B85, 75470 },
+ { 0x4B86, 75485 },
+ { 0x4B87, 75476 },
+ { 0x4B88, 75509 },
+ { 0x4B89, 75482 },
+ { 0x4B8A, 75539 },
+ { 0x4B8B, 75606 },
+ { 0x4B8C, 75614 },
+ { 0x4B8D, 75602 },
+ { 0x4B8E, 75610 },
+ { 0x4B8F, 75473 },
+ { 0x4B90, 75488 },
+ { 0x4B91, 75479 },
+ { 0x4B92, 75491 },
+ { 0x4B93, 75515 },
+ { 0x4B94, 75566 },
+ { 0x4B95, 75503 },
+ { 0x4B96, 75560 },
+ { 0x4B97, 75572 },
+ { 0x4B98, 75497 },
+ { 0x4B99, 75551 },
+ { 0x4B9A, 75512 },
+ { 0x4B9B, 75563 },
+ { 0x4B9C, 75578 },
+ { 0x4B9D, 75593 },
+ { 0x4B9E, 75599 },
+ { 0x4B9F, 75554 },
+ { 0x4BA0, 75596 },
+ { 0x4BA1, 75575 },
+ { 0x4BA2, 75536 },
+ { 0x4BA3, 75590 },
+ { 0x4BA4, 75500 },
+ { 0x4BA5, 75557 },
+ { 0x4BA6, 75524 },
+ { 0x4BA7, 75527 },
+ { 0x4BA8, 75581 },
+ { 0x4BA9, 75494 },
+ { 0x4BAA, 75548 },
+ { 0x4BAB, 75521 },
+ { 0x4BAC, 75545 },
+ { 0x4BAD, 75530 },
+ { 0x4BAE, 75518 },
+ { 0x4BAF, 75569 },
+ { 0x4BB0, 75542 },
+ { 0x4BB1, 75584 },
+ { 0x4BB2, 75587 },
+ { 0x4BB3, 75533 },
+ { 0x4BB4, 75506 },
+ { 0x4BB5, 75418 },
+ { 0x4BB6, 75406 },
+ { 0x4BB7, 75430 },
+ { 0x4BB8, 75414 },
+ { 0x4BB9, 75434 },
+ { 0x4BBA, 75443 },
+ { 0x4BBB, 75453 },
+ { 0x4BBC, 75438 },
+ { 0x4BBD, 75448 },
+ { 0x4BBE, 75402 },
+ { 0x4BBF, 75422 },
+ { 0x4BC0, 75410 },
+ { 0x4BC1, 75426 },
+ { 0x4BC2, 75334 },
+ { 0x4BC3, 75346 },
+ { 0x4BC4, 75356 },
+ { 0x4BC5, 75359 },
+ { 0x4BC6, 75327 },
+ { 0x4BC7, 75362 },
+ { 0x4BC8, 75467 },
+ { 0x4BC9, 75631 },
+ { 0x4BCA, 75627 },
+ { 0x4BCB, 75618 },
+ { 0x4BCC, 75331 },
+ { 0x4BCD, 75463 },
+ { 0x4BCE, 75394 },
+ { 0x4BCF, 75399 },
+ { 0x4BD0, 75458 },
+ { 0x4BD1, 75349 },
+ { 0x4BD2, 75382 },
+ { 0x4BD3, 75364 },
+ { 0x4BD4, 75370 },
+ { 0x4BD5, 75391 },
+ { 0x4BD6, 75376 },
+ { 0x4BD7, 75373 },
+ { 0x4BD8, 75367 },
+ { 0x4BD9, 75388 },
+ { 0x4BDA, 75385 },
+ { 0x4BDB, 75379 },
+ { 0x4BDC, 75329 },
+ { 0x4BDD, 75337 },
+ { 0x4BDE, 75629 },
+ { 0x4BDF, 75634 },
+ { 0x4BE0, 75621 },
+ { 0x4BE1, 75624 },
+ { 0x4BE2, 76523 },
+ { 0x4BE3, 76531 },
+ { 0x4BE4, 76555 },
+ { 0x4BE5, 76539 },
+ { 0x4BE6, 76535 },
+ { 0x4BE7, 76527 },
+ { 0x4BE8, 76551 },
+ { 0x4BE9, 76547 },
+ { 0x4BEA, 76543 },
+ { 0x4BEB, 76569 },
+ { 0x4BEC, 76597 },
+ { 0x4BED, 76593 },
+ { 0x4BEE, 76577 },
+ { 0x4BEF, 76573 },
+ { 0x4BF0, 76581 },
+ { 0x4BF1, 76601 },
+ { 0x4BF2, 76585 },
+ { 0x4BF3, 76589 },
+ { 0x4BF4, 76559 },
+ { 0x4BF5, 76564 },
+ { 0x4BF6, 57289 },
+ { 0x4BF7, 57304 },
+ { 0x4BF8, 57295 },
+ { 0x4BF9, 57301 },
+ { 0x4BFA, 57292 },
+ { 0x4BFB, 57307 },
+ { 0x4BFC, 57298 },
+ { 0x4BFD, 57310 },
+ { 0x4BFE, 57331 },
+ { 0x4BFF, 57388 },
+ { 0x4C00, 57322 },
+ { 0x4C01, 57379 },
+ { 0x4C02, 57382 },
+ { 0x4C03, 57394 },
+ { 0x4C04, 57316 },
+ { 0x4C05, 57370 },
+ { 0x4C06, 57328 },
+ { 0x4C07, 57385 },
+ { 0x4C08, 57400 },
+ { 0x4C09, 57409 },
+ { 0x4C0A, 57418 },
+ { 0x4C0B, 57373 },
+ { 0x4C0C, 57415 },
+ { 0x4C0D, 57397 },
+ { 0x4C0E, 57355 },
+ { 0x4C0F, 57406 },
+ { 0x4C10, 57319 },
+ { 0x4C11, 57412 },
+ { 0x4C12, 57376 },
+ { 0x4C13, 57340 },
+ { 0x4C14, 57343 },
+ { 0x4C15, 57403 },
+ { 0x4C16, 57313 },
+ { 0x4C17, 57364 },
+ { 0x4C18, 57367 },
+ { 0x4C19, 57337 },
+ { 0x4C1A, 57361 },
+ { 0x4C1B, 57349 },
+ { 0x4C1C, 57334 },
+ { 0x4C1D, 57358 },
+ { 0x4C1E, 57352 },
+ { 0x4C1F, 57325 },
+ { 0x4C20, 57391 },
+ { 0x4C21, 57261 },
+ { 0x4C22, 57249 },
+ { 0x4C23, 57273 },
+ { 0x4C24, 57257 },
+ { 0x4C25, 57245 },
+ { 0x4C26, 57265 },
+ { 0x4C27, 57253 },
+ { 0x4C28, 57269 },
+ { 0x4C29, 57237 },
+ { 0x4C2A, 57234 },
+ { 0x4C2B, 57225 },
+ { 0x4C2C, 57231 },
+ { 0x4C2D, 57243 },
+ { 0x4C2E, 57282 },
+ { 0x4C2F, 57240 },
+ { 0x4C30, 57425 },
+ { 0x4C31, 57285 },
+ { 0x4C32, 57428 },
+ { 0x4C33, 57228 },
+ { 0x4C34, 57346 },
+ { 0x4C35, 57421 },
+ { 0x4C36, 57277 },
+ { 0x4C37, 71884 },
+ { 0x4C38, 71890 },
+ { 0x4C39, 71893 },
+ { 0x4C3A, 71887 },
+ { 0x4C3B, 71914 },
+ { 0x4C3C, 71962 },
+ { 0x4C3D, 71905 },
+ { 0x4C3E, 71956 },
+ { 0x4C3F, 71899 },
+ { 0x4C40, 71947 },
+ { 0x4C41, 71911 },
+ { 0x4C42, 71959 },
+ { 0x4C43, 71968 },
+ { 0x4C44, 71983 },
+ { 0x4C45, 71992 },
+ { 0x4C46, 71950 },
+ { 0x4C47, 71986 },
+ { 0x4C48, 71989 },
+ { 0x4C49, 71965 },
+ { 0x4C4A, 71935 },
+ { 0x4C4B, 71980 },
+ { 0x4C4C, 71902 },
+ { 0x4C4D, 71953 },
+ { 0x4C4E, 71923 },
+ { 0x4C4F, 71926 },
+ { 0x4C50, 71971 },
+ { 0x4C51, 71896 },
+ { 0x4C52, 71944 },
+ { 0x4C53, 71920 },
+ { 0x4C54, 71941 },
+ { 0x4C55, 71929 },
+ { 0x4C56, 71917 },
+ { 0x4C57, 71938 },
+ { 0x4C58, 71932 },
+ { 0x4C59, 71908 },
+ { 0x4C5A, 71977 },
+ { 0x4C5B, 71974 },
+ { 0x4C5C, 71995 },
+ { 0x4C5D, 113602 },
+ { 0x4C5E, 113617 },
+ { 0x4C5F, 113608 },
+ { 0x4C60, 113641 },
+ { 0x4C61, 113614 },
+ { 0x4C62, 113671 },
+ { 0x4C63, 113605 },
+ { 0x4C64, 113620 },
+ { 0x4C65, 113611 },
+ { 0x4C66, 113623 },
+ { 0x4C67, 113647 },
+ { 0x4C68, 113707 },
+ { 0x4C69, 113635 },
+ { 0x4C6A, 113695 },
+ { 0x4C6B, 113698 },
+ { 0x4C6C, 113710 },
+ { 0x4C6D, 113629 },
+ { 0x4C6E, 113686 },
+ { 0x4C6F, 113644 },
+ { 0x4C70, 113704 },
+ { 0x4C71, 113701 },
+ { 0x4C72, 113716 },
+ { 0x4C73, 113731 },
+ { 0x4C74, 113740 },
+ { 0x4C75, 113689 },
+ { 0x4C76, 113734 },
+ { 0x4C77, 113722 },
+ { 0x4C78, 113737 },
+ { 0x4C79, 113713 },
+ { 0x4C7A, 113668 },
+ { 0x4C7B, 113728 },
+ { 0x4C7C, 113632 },
+ { 0x4C7D, 113692 },
+ { 0x4C7E, 113656 },
+ { 0x4C7F, 113659 },
+ { 0x4C80, 113719 },
+ { 0x4C81, 113626 },
+ { 0x4C82, 113680 },
+ { 0x4C83, 113683 },
+ { 0x4C84, 113653 },
+ { 0x4C85, 113677 },
+ { 0x4C86, 113662 },
+ { 0x4C87, 113650 },
+ { 0x4C88, 113674 },
+ { 0x4C89, 113725 },
+ { 0x4C8A, 113665 },
+ { 0x4C8B, 113638 },
+ { 0x4C8C, 113533 },
+ { 0x4C8D, 113582 },
+ { 0x4C8E, 113570 },
+ { 0x4C8F, 113594 },
+ { 0x4C90, 113578 },
+ { 0x4C91, 113598 },
+ { 0x4C92, 113566 },
+ { 0x4C93, 113586 },
+ { 0x4C94, 113574 },
+ { 0x4C95, 113590 },
+ { 0x4C96, 113527 },
+ { 0x4C97, 113530 },
+ { 0x4C98, 113554 },
+ { 0x4C99, 113536 },
+ { 0x4C9A, 113542 },
+ { 0x4C9B, 113563 },
+ { 0x4C9C, 113548 },
+ { 0x4C9D, 113545 },
+ { 0x4C9E, 113539 },
+ { 0x4C9F, 113560 },
+ { 0x4CA0, 113557 },
+ { 0x4CA1, 113551 },
+ { 0x4CA2, 69973 },
+ { 0x4CA3, 69978 },
+ { 0x4CA4, 69967 },
+ { 0x4CA5, 69964 },
+ { 0x4CA6, 70037 },
+ { 0x4CA7, 70046 },
+ { 0x4CA8, 70040 },
+ { 0x4CA9, 70073 },
+ { 0x4CAA, 70043 },
+ { 0x4CAB, 70106 },
+ { 0x4CAC, 70182 },
+ { 0x4CAD, 70178 },
+ { 0x4CAE, 70064 },
+ { 0x4CAF, 70049 },
+ { 0x4CB0, 70091 },
+ { 0x4CB1, 70052 },
+ { 0x4CB2, 70079 },
+ { 0x4CB3, 70133 },
+ { 0x4CB4, 70067 },
+ { 0x4CB5, 70127 },
+ { 0x4CB6, 70139 },
+ { 0x4CB7, 70058 },
+ { 0x4CB8, 70118 },
+ { 0x4CB9, 70076 },
+ { 0x4CBA, 70130 },
+ { 0x4CBB, 70145 },
+ { 0x4CBC, 70160 },
+ { 0x4CBD, 70166 },
+ { 0x4CBE, 70121 },
+ { 0x4CBF, 70163 },
+ { 0x4CC0, 70142 },
+ { 0x4CC1, 70103 },
+ { 0x4CC2, 70157 },
+ { 0x4CC3, 70061 },
+ { 0x4CC4, 70124 },
+ { 0x4CC5, 70088 },
+ { 0x4CC6, 70094 },
+ { 0x4CC7, 70148 },
+ { 0x4CC8, 70055 },
+ { 0x4CC9, 70115 },
+ { 0x4CCA, 70085 },
+ { 0x4CCB, 70112 },
+ { 0x4CCC, 70097 },
+ { 0x4CCD, 70082 },
+ { 0x4CCE, 70136 },
+ { 0x4CCF, 70109 },
+ { 0x4CD0, 70151 },
+ { 0x4CD1, 70154 },
+ { 0x4CD2, 70100 },
+ { 0x4CD3, 70070 },
+ { 0x4CD4, 104635 },
+ { 0x4CD5, 69955 },
+ { 0x4CD6, 69970 },
+ { 0x4CD7, 69989 },
+ { 0x4CD8, 69981 },
+ { 0x4CD9, 70005 },
+ { 0x4CDA, 69985 },
+ { 0x4CDB, 70013 },
+ { 0x4CDC, 70022 },
+ { 0x4CDD, 70032 },
+ { 0x4CDE, 70001 },
+ { 0x4CDF, 69993 },
+ { 0x4CE0, 70009 },
+ { 0x4CE1, 69997 },
+ { 0x4CE2, 69961 },
+ { 0x4CE3, 69953 },
+ { 0x4CE4, 69949 },
+ { 0x4CE5, 69958 },
+ { 0x4CE6, 70174 },
+ { 0x4CE7, 70169 },
+ { 0x4CE8, 70190 },
+ { 0x4CE9, 70186 },
+ { 0x4CEA, 70017 },
+ { 0x4CEB, 70027 },
+ { 0x4CEC, 105334 },
+ { 0x4CED, 105314 },
+ { 0x4CEE, 105322 },
+ { 0x4CEF, 105338 },
+ { 0x4CF0, 105330 },
+ { 0x4CF1, 105326 },
+ { 0x4CF2, 105318 },
+ { 0x4CF3, 105342 },
+ { 0x4CF4, 105346 },
+ { 0x4CF5, 105350 },
+ { 0x4CF6, 105358 },
+ { 0x4CF7, 105354 },
+ { 0x4CF8, 15696 },
+ { 0x4CF9, 15711 },
+ { 0x4CFA, 15702 },
+ { 0x4CFB, 15735 },
+ { 0x4CFC, 15708 },
+ { 0x4CFD, 15765 },
+ { 0x4CFE, 15851 },
+ { 0x4CFF, 15859 },
+ { 0x4D00, 15847 },
+ { 0x4D01, 15855 },
+ { 0x4D02, 15699 },
+ { 0x4D03, 15714 },
+ { 0x4D04, 15705 },
+ { 0x4D05, 15717 },
+ { 0x4D06, 15741 },
+ { 0x4D07, 15792 },
+ { 0x4D08, 15729 },
+ { 0x4D09, 15786 },
+ { 0x4D0A, 15801 },
+ { 0x4D0B, 15834 },
+ { 0x4D0C, 15723 },
+ { 0x4D0D, 15777 },
+ { 0x4D0E, 15738 },
+ { 0x4D0F, 15789 },
+ { 0x4D10, 15810 },
+ { 0x4D11, 15837 },
+ { 0x4D12, 15828 },
+ { 0x4D13, 15840 },
+ { 0x4D14, 15780 },
+ { 0x4D15, 15831 },
+ { 0x4D16, 15807 },
+ { 0x4D17, 15762 },
+ { 0x4D18, 15825 },
+ { 0x4D19, 15726 },
+ { 0x4D1A, 15783 },
+ { 0x4D1B, 15750 },
+ { 0x4D1C, 15804 },
+ { 0x4D1D, 15753 },
+ { 0x4D1E, 15813 },
+ { 0x4D1F, 15720 },
+ { 0x4D20, 15774 },
+ { 0x4D21, 15747 },
+ { 0x4D22, 15798 },
+ { 0x4D23, 15771 },
+ { 0x4D24, 15756 },
+ { 0x4D25, 15816 },
+ { 0x4D26, 15744 },
+ { 0x4D27, 15795 },
+ { 0x4D28, 15768 },
+ { 0x4D29, 15819 },
+ { 0x4D2A, 15822 },
+ { 0x4D2B, 15759 },
+ { 0x4D2C, 15732 },
+ { 0x4D2D, 15650 },
+ { 0x4D2E, 15638 },
+ { 0x4D2F, 15662 },
+ { 0x4D30, 15646 },
+ { 0x4D31, 15666 },
+ { 0x4D32, 15675 },
+ { 0x4D33, 15685 },
+ { 0x4D34, 15670 },
+ { 0x4D35, 15680 },
+ { 0x4D36, 15634 },
+ { 0x4D37, 15654 },
+ { 0x4D38, 15642 },
+ { 0x4D39, 15658 },
+ { 0x4D3A, 15579 },
+ { 0x4D3B, 15591 },
+ { 0x4D3C, 15585 },
+ { 0x4D3D, 15582 },
+ { 0x4D3E, 15576 },
+ { 0x4D3F, 15588 },
+ { 0x4D40, 15572 },
+ { 0x4D41, 15567 },
+ { 0x4D42, 15866 },
+ { 0x4D43, 15602 },
+ { 0x4D44, 15693 },
+ { 0x4D45, 15600 },
+ { 0x4D46, 15569 },
+ { 0x4D47, 15874 },
+ { 0x4D48, 15622 },
+ { 0x4D49, 15604 },
+ { 0x4D4A, 15610 },
+ { 0x4D4B, 15631 },
+ { 0x4D4C, 15616 },
+ { 0x4D4D, 15613 },
+ { 0x4D4E, 15607 },
+ { 0x4D4F, 15628 },
+ { 0x4D50, 15625 },
+ { 0x4D51, 15619 },
+ { 0x4D52, 15690 },
+ { 0x4D53, 15871 },
+ { 0x4D54, 15868 },
+ { 0x4D55, 15863 },
+ { 0x4D56, 15843 },
+ { 0x4D57, 15594 },
+ { 0x4D58, 15597 },
+ { 0x4D59, 78697 },
+ { 0x4D5A, 78815 },
+ { 0x4D5B, 78830 },
+ { 0x4D5C, 78821 },
+ { 0x4D5D, 78854 },
+ { 0x4D5E, 78827 },
+ { 0x4D5F, 78884 },
+ { 0x4D60, 78948 },
+ { 0x4D61, 78956 },
+ { 0x4D62, 78944 },
+ { 0x4D63, 78952 },
+ { 0x4D64, 78818 },
+ { 0x4D65, 78833 },
+ { 0x4D66, 78824 },
+ { 0x4D67, 78836 },
+ { 0x4D68, 78860 },
+ { 0x4D69, 78911 },
+ { 0x4D6A, 78848 },
+ { 0x4D6B, 78905 },
+ { 0x4D6C, 78914 },
+ { 0x4D6D, 78842 },
+ { 0x4D6E, 78896 },
+ { 0x4D6F, 78857 },
+ { 0x4D70, 78908 },
+ { 0x4D71, 78920 },
+ { 0x4D72, 78935 },
+ { 0x4D73, 78941 },
+ { 0x4D74, 78899 },
+ { 0x4D75, 78938 },
+ { 0x4D76, 78917 },
+ { 0x4D77, 78881 },
+ { 0x4D78, 78932 },
+ { 0x4D79, 78845 },
+ { 0x4D7A, 78902 },
+ { 0x4D7B, 78869 },
+ { 0x4D7C, 78872 },
+ { 0x4D7D, 78923 },
+ { 0x4D7E, 78839 },
+ { 0x4D7F, 78893 },
+ { 0x4D80, 78866 },
+ { 0x4D81, 78890 },
+ { 0x4D82, 78875 },
+ { 0x4D83, 78863 },
+ { 0x4D84, 78887 },
+ { 0x4D85, 78926 },
+ { 0x4D86, 78929 },
+ { 0x4D87, 78878 },
+ { 0x4D88, 78851 },
+ { 0x4D89, 78765 },
+ { 0x4D8A, 78753 },
+ { 0x4D8B, 78777 },
+ { 0x4D8C, 78761 },
+ { 0x4D8D, 78781 },
+ { 0x4D8E, 78800 },
+ { 0x4D8F, 78810 },
+ { 0x4D90, 78795 },
+ { 0x4D91, 78805 },
+ { 0x4D92, 78749 },
+ { 0x4D93, 78785 },
+ { 0x4D94, 78769 },
+ { 0x4D95, 78757 },
+ { 0x4D96, 78790 },
+ { 0x4D97, 78773 },
+ { 0x4D98, 78714 },
+ { 0x4D99, 78708 },
+ { 0x4D9A, 78705 },
+ { 0x4D9B, 78702 },
+ { 0x4D9C, 78699 },
+ { 0x4D9D, 78711 },
+ { 0x4D9E, 78747 },
+ { 0x4D9F, 78960 },
+ { 0x4DA0, 78695 },
+ { 0x4DA1, 78735 },
+ { 0x4DA2, 78717 },
+ { 0x4DA3, 78723 },
+ { 0x4DA4, 78744 },
+ { 0x4DA5, 78729 },
+ { 0x4DA6, 78726 },
+ { 0x4DA7, 78720 },
+ { 0x4DA8, 78741 },
+ { 0x4DA9, 78738 },
+ { 0x4DAA, 78732 },
+ { 0x4DAB, 75872 },
+ { 0x4DAC, 75887 },
+ { 0x4DAD, 75878 },
+ { 0x4DAE, 75911 },
+ { 0x4DAF, 75884 },
+ { 0x4DB0, 75941 },
+ { 0x4DB1, 76005 },
+ { 0x4DB2, 76013 },
+ { 0x4DB3, 76001 },
+ { 0x4DB4, 76009 },
+ { 0x4DB5, 75875 },
+ { 0x4DB6, 75890 },
+ { 0x4DB7, 75881 },
+ { 0x4DB8, 75893 },
+ { 0x4DB9, 75917 },
+ { 0x4DBA, 75968 },
+ { 0x4DBB, 75905 },
+ { 0x4DBC, 75962 },
+ { 0x4DBD, 75971 },
+ { 0x4DBE, 75899 },
+ { 0x4DBF, 75953 },
+ { 0x4DC0, 75914 },
+ { 0x4DC1, 75965 },
+ { 0x4DC2, 75977 },
+ { 0x4DC3, 75992 },
+ { 0x4DC4, 75998 },
+ { 0x4DC5, 75956 },
+ { 0x4DC6, 75995 },
+ { 0x4DC7, 75974 },
+ { 0x4DC8, 75938 },
+ { 0x4DC9, 75989 },
+ { 0x4DCA, 75902 },
+ { 0x4DCB, 75959 },
+ { 0x4DCC, 75926 },
+ { 0x4DCD, 75929 },
+ { 0x4DCE, 75980 },
+ { 0x4DCF, 75896 },
+ { 0x4DD0, 75950 },
+ { 0x4DD1, 75923 },
+ { 0x4DD2, 75947 },
+ { 0x4DD3, 75932 },
+ { 0x4DD4, 75920 },
+ { 0x4DD5, 75944 },
+ { 0x4DD6, 75983 },
+ { 0x4DD7, 75986 },
+ { 0x4DD8, 75935 },
+ { 0x4DD9, 75908 },
+ { 0x4DDA, 75829 },
+ { 0x4DDB, 75817 },
+ { 0x4DDC, 75841 },
+ { 0x4DDD, 75825 },
+ { 0x4DDE, 75845 },
+ { 0x4DDF, 75849 },
+ { 0x4DE0, 75854 },
+ { 0x4DE1, 75813 },
+ { 0x4DE2, 75833 },
+ { 0x4DE3, 75821 },
+ { 0x4DE4, 75837 },
+ { 0x4DE5, 75808 },
+ { 0x4DE6, 75805 },
+ { 0x4DE7, 75802 },
+ { 0x4DE8, 75796 },
+ { 0x4DE9, 75793 },
+ { 0x4DEA, 75799 },
+ { 0x4DEB, 75811 },
+ { 0x4DEC, 75869 },
+ { 0x4DED, 76140 },
+ { 0x4DEE, 76137 },
+ { 0x4DEF, 76143 },
+ { 0x4DF0, 76146 },
+ { 0x4DF1, 76149 },
+ { 0x4DF2, 75788 },
+ { 0x4DF3, 76105 },
+ { 0x4DF4, 76097 },
+ { 0x4DF5, 76054 },
+ { 0x4DF6, 76036 },
+ { 0x4DF7, 76045 },
+ { 0x4DF8, 76125 },
+ { 0x4DF9, 76130 },
+ { 0x4DFA, 76062 },
+ { 0x4DFB, 76068 },
+ { 0x4DFC, 76119 },
+ { 0x4DFD, 76113 },
+ { 0x4DFE, 76090 },
+ { 0x4DFF, 76074 },
+ { 0x4E00, 76082 },
+ { 0x4E01, 76031 },
+ { 0x4E02, 76021 },
+ { 0x4E03, 76026 },
+ { 0x4E04, 76017 },
+ { 0x4E05, 75859 },
+ { 0x4E06, 75864 },
+ { 0x4E07, 15394 },
+ { 0x4E08, 15409 },
+ { 0x4E09, 15400 },
+ { 0x4E0A, 15433 },
+ { 0x4E0B, 15406 },
+ { 0x4E0C, 15463 },
+ { 0x4E0D, 15530 },
+ { 0x4E0E, 15538 },
+ { 0x4E0F, 15526 },
+ { 0x4E10, 15534 },
+ { 0x4E11, 15397 },
+ { 0x4E12, 15412 },
+ { 0x4E13, 15403 },
+ { 0x4E14, 15415 },
+ { 0x4E15, 15439 },
+ { 0x4E16, 15490 },
+ { 0x4E17, 15427 },
+ { 0x4E18, 15484 },
+ { 0x4E19, 15496 },
+ { 0x4E1A, 15421 },
+ { 0x4E1B, 15475 },
+ { 0x4E1C, 15436 },
+ { 0x4E1D, 15487 },
+ { 0x4E1E, 15502 },
+ { 0x4E1F, 15517 },
+ { 0x4E20, 15523 },
+ { 0x4E21, 15478 },
+ { 0x4E22, 15520 },
+ { 0x4E23, 15499 },
+ { 0x4E24, 15460 },
+ { 0x4E25, 15514 },
+ { 0x4E26, 15424 },
+ { 0x4E27, 15481 },
+ { 0x4E28, 15448 },
+ { 0x4E29, 15451 },
+ { 0x4E2A, 15505 },
+ { 0x4E2B, 15418 },
+ { 0x4E2C, 15472 },
+ { 0x4E2D, 15445 },
+ { 0x4E2E, 15469 },
+ { 0x4E2F, 15454 },
+ { 0x4E30, 15442 },
+ { 0x4E31, 15466 },
+ { 0x4E32, 15508 },
+ { 0x4E33, 15511 },
+ { 0x4E34, 15457 },
+ { 0x4E35, 15430 },
+ { 0x4E36, 15493 },
+ { 0x4E37, 15351 },
+ { 0x4E38, 15339 },
+ { 0x4E39, 15363 },
+ { 0x4E3A, 15347 },
+ { 0x4E3B, 15367 },
+ { 0x4E3C, 15376 },
+ { 0x4E3D, 15386 },
+ { 0x4E3E, 15371 },
+ { 0x4E3F, 15381 },
+ { 0x4E40, 15335 },
+ { 0x4E41, 15355 },
+ { 0x4E42, 15343 },
+ { 0x4E43, 15359 },
+ { 0x4E44, 15297 },
+ { 0x4E45, 15294 },
+ { 0x4E46, 15291 },
+ { 0x4E47, 15300 },
+ { 0x4E48, 15303 },
+ { 0x4E49, 15391 },
+ { 0x4E4A, 15542 },
+ { 0x4E4B, 15288 },
+ { 0x4E4C, 15323 },
+ { 0x4E4D, 15305 },
+ { 0x4E4E, 15311 },
+ { 0x4E4F, 15332 },
+ { 0x4E50, 15317 },
+ { 0x4E51, 15314 },
+ { 0x4E52, 15308 },
+ { 0x4E53, 15329 },
+ { 0x4E54, 15326 },
+ { 0x4E55, 15320 },
+ { 0x4E56, 114881 },
+ { 0x4E57, 115524 },
+ { 0x4E58, 114936 },
+ { 0x4E59, 115512 },
+ { 0x4E5A, 114876 },
+ { 0x4E5B, 115533 },
+ { 0x4E5C, 115527 },
+ { 0x4E5D, 115540 },
+ { 0x4E5E, 115543 },
+ { 0x4E5F, 114919 },
+ { 0x4E60, 114928 },
+ { 0x4E61, 114922 },
+ { 0x4E62, 115517 },
+ { 0x4E63, 39286 },
+ { 0x4E64, 39301 },
+ { 0x4E65, 39292 },
+ { 0x4E66, 39325 },
+ { 0x4E67, 39298 },
+ { 0x4E68, 39355 },
+ { 0x4E69, 39289 },
+ { 0x4E6A, 39304 },
+ { 0x4E6B, 39295 },
+ { 0x4E6C, 39307 },
+ { 0x4E6D, 39331 },
+ { 0x4E6E, 39382 },
+ { 0x4E6F, 39319 },
+ { 0x4E70, 39376 },
+ { 0x4E71, 39385 },
+ { 0x4E72, 39313 },
+ { 0x4E73, 39367 },
+ { 0x4E74, 39328 },
+ { 0x4E75, 39379 },
+ { 0x4E76, 39391 },
+ { 0x4E77, 39406 },
+ { 0x4E78, 39412 },
+ { 0x4E79, 39370 },
+ { 0x4E7A, 39409 },
+ { 0x4E7B, 39388 },
+ { 0x4E7C, 39352 },
+ { 0x4E7D, 39403 },
+ { 0x4E7E, 39316 },
+ { 0x4E7F, 39373 },
+ { 0x4E80, 39340 },
+ { 0x4E81, 39343 },
+ { 0x4E82, 39394 },
+ { 0x4E83, 39310 },
+ { 0x4E84, 39364 },
+ { 0x4E85, 39337 },
+ { 0x4E86, 39361 },
+ { 0x4E87, 39346 },
+ { 0x4E88, 39334 },
+ { 0x4E89, 39358 },
+ { 0x4E8A, 39400 },
+ { 0x4E8B, 39349 },
+ { 0x4E8C, 39322 },
+ { 0x4E8D, 39397 },
+ { 0x4E8E, 39217 },
+ { 0x4E8F, 39214 },
+ { 0x4E90, 39266 },
+ { 0x4E91, 39254 },
+ { 0x4E92, 39278 },
+ { 0x4E93, 39262 },
+ { 0x4E94, 39282 },
+ { 0x4E95, 39250 },
+ { 0x4E96, 39270 },
+ { 0x4E97, 39258 },
+ { 0x4E98, 39274 },
+ { 0x4E99, 39211 },
+ { 0x4E9A, 39208 },
+ { 0x4E9B, 39415 },
+ { 0x4E9C, 39419 },
+ { 0x4E9D, 39238 },
+ { 0x4E9E, 39220 },
+ { 0x4E9F, 39226 },
+ { 0x4EA0, 39247 },
+ { 0x4EA1, 39232 },
+ { 0x4EA2, 39229 },
+ { 0x4EA3, 39223 },
+ { 0x4EA4, 39244 },
+ { 0x4EA5, 39241 },
+ { 0x4EA6, 39235 },
+ { 0x4EA7, 12754 },
+ { 0x4EA8, 12796 },
+ { 0x4EA9, 12802 },
+ { 0x4EAA, 12763 },
+ { 0x4EAB, 12775 },
+ { 0x4EAC, 12834 },
+ { 0x4EAD, 12766 },
+ { 0x4EAE, 12811 },
+ { 0x4EAF, 12736 },
+ { 0x4EB0, 12760 },
+ { 0x4EB1, 12751 },
+ { 0x4EB2, 12781 },
+ { 0x4EB3, 12814 },
+ { 0x4EB4, 12769 },
+ { 0x4EB5, 12757 },
+ { 0x4EB6, 12772 },
+ { 0x4EB7, 12808 },
+ { 0x4EB8, 12748 },
+ { 0x4EB9, 12733 },
+ { 0x4EBA, 12742 },
+ { 0x4EBB, 12787 },
+ { 0x4EBC, 12745 },
+ { 0x4EBD, 12830 },
+ { 0x4EBE, 12790 },
+ { 0x4EBF, 12778 },
+ { 0x4EC0, 12793 },
+ { 0x4EC1, 12826 },
+ { 0x4EC2, 12847 },
+ { 0x4EC3, 12852 },
+ { 0x4EC4, 12857 },
+ { 0x4EC5, 12689 },
+ { 0x4EC6, 12709 },
+ { 0x4EC7, 12697 },
+ { 0x4EC8, 12725 },
+ { 0x4EC9, 12705 },
+ { 0x4ECA, 12729 },
+ { 0x4ECB, 12693 },
+ { 0x4ECC, 12721 },
+ { 0x4ECD, 12701 },
+ { 0x4ECE, 12713 },
+ { 0x4ECF, 12717 },
+ { 0x4ED0, 12653 },
+ { 0x4ED1, 12677 },
+ { 0x4ED2, 12659 },
+ { 0x4ED3, 12665 },
+ { 0x4ED4, 12686 },
+ { 0x4ED5, 12671 },
+ { 0x4ED6, 12668 },
+ { 0x4ED7, 12662 },
+ { 0x4ED8, 12683 },
+ { 0x4ED9, 12680 },
+ { 0x4EDA, 12674 },
+ { 0x4EDB, 12838 },
+ { 0x4EDC, 12841 },
+ { 0x4EDD, 12649 },
+ { 0x4EDE, 12656 },
+ { 0x4EDF, 12646 },
+ { 0x4EE0, 12844 },
+ { 0x4EE1, 12739 },
+ { 0x4EE2, 12817 },
+ { 0x4EE3, 12823 },
+ { 0x4EE4, 12784 },
+ { 0x4EE5, 12820 },
+ { 0x4EE6, 12805 },
+ { 0x4EE7, 12799 },
+ { 0x4EE8, 21823 },
+ { 0x4EE9, 21838 },
+ { 0x4EEA, 21829 },
+ { 0x4EEB, 21862 },
+ { 0x4EEC, 21835 },
+ { 0x4EED, 21892 },
+ { 0x4EEE, 21826 },
+ { 0x4EEF, 21841 },
+ { 0x4EF0, 21832 },
+ { 0x4EF1, 21844 },
+ { 0x4EF2, 21868 },
+ { 0x4EF3, 21919 },
+ { 0x4EF4, 21856 },
+ { 0x4EF5, 21913 },
+ { 0x4EF6, 21922 },
+ { 0x4EF7, 21850 },
+ { 0x4EF8, 21904 },
+ { 0x4EF9, 21865 },
+ { 0x4EFA, 21916 },
+ { 0x4EFB, 21928 },
+ { 0x4EFC, 21946 },
+ { 0x4EFD, 21952 },
+ { 0x4EFE, 21907 },
+ { 0x4EFF, 21949 },
+ { 0x4F00, 21925 },
+ { 0x4F01, 21889 },
+ { 0x4F02, 21943 },
+ { 0x4F03, 21853 },
+ { 0x4F04, 21910 },
+ { 0x4F05, 21877 },
+ { 0x4F06, 21880 },
+ { 0x4F07, 21931 },
+ { 0x4F08, 21847 },
+ { 0x4F09, 21901 },
+ { 0x4F0A, 21874 },
+ { 0x4F0B, 21898 },
+ { 0x4F0C, 21883 },
+ { 0x4F0D, 21871 },
+ { 0x4F0E, 21895 },
+ { 0x4F0F, 21937 },
+ { 0x4F10, 21940 },
+ { 0x4F11, 21886 },
+ { 0x4F12, 21859 },
+ { 0x4F13, 21934 },
+ { 0x4F14, 21793 },
+ { 0x4F15, 21781 },
+ { 0x4F16, 21805 },
+ { 0x4F17, 21789 },
+ { 0x4F18, 21809 },
+ { 0x4F19, 21813 },
+ { 0x4F1A, 21818 },
+ { 0x4F1B, 21777 },
+ { 0x4F1C, 21797 },
+ { 0x4F1D, 21785 },
+ { 0x4F1E, 21801 },
+ { 0x4F1F, 21774 },
+ { 0x4F20, 21771 },
+ { 0x4F21, 21768 },
+ { 0x4F22, 21765 },
+ { 0x4F23, 21955 },
+ { 0x4F24, 66314 },
+ { 0x4F25, 66174 },
+ { 0x4F26, 66239 },
+ { 0x4F27, 66254 },
+ { 0x4F28, 66244 },
+ { 0x4F29, 66249 },
+ { 0x4F2A, 66214 },
+ { 0x4F2B, 66234 },
+ { 0x4F2C, 66179 },
+ { 0x4F2D, 66184 },
+ { 0x4F2E, 66259 },
+ { 0x4F2F, 66209 },
+ { 0x4F30, 66219 },
+ { 0x4F31, 66269 },
+ { 0x4F32, 66294 },
+ { 0x4F33, 66229 },
+ { 0x4F34, 66264 },
+ { 0x4F35, 66279 },
+ { 0x4F36, 66289 },
+ { 0x4F37, 66319 },
+ { 0x4F38, 66204 },
+ { 0x4F39, 66194 },
+ { 0x4F3A, 66189 },
+ { 0x4F3B, 66199 },
+ { 0x4F3C, 66224 },
+ { 0x4F3D, 66299 },
+ { 0x4F3E, 66304 },
+ { 0x4F3F, 66309 },
+ { 0x4F40, 66274 },
+ { 0x4F41, 66324 },
+ { 0x4F42, 66284 },
+ { 0x4F43, 66329 },
+ { 0x4F44, 66118 },
+ { 0x4F45, 65978 },
+ { 0x4F46, 66043 },
+ { 0x4F47, 66058 },
+ { 0x4F48, 66048 },
+ { 0x4F49, 66053 },
+ { 0x4F4A, 66018 },
+ { 0x4F4B, 66038 },
+ { 0x4F4C, 65983 },
+ { 0x4F4D, 65988 },
+ { 0x4F4E, 66063 },
+ { 0x4F4F, 66013 },
+ { 0x4F50, 66023 },
+ { 0x4F51, 66073 },
+ { 0x4F52, 66098 },
+ { 0x4F53, 66033 },
+ { 0x4F54, 66068 },
+ { 0x4F55, 66083 },
+ { 0x4F56, 66093 },
+ { 0x4F57, 66123 },
+ { 0x4F58, 66008 },
+ { 0x4F59, 65998 },
+ { 0x4F5A, 65993 },
+ { 0x4F5B, 66003 },
+ { 0x4F5C, 66028 },
+ { 0x4F5D, 66103 },
+ { 0x4F5E, 66108 },
+ { 0x4F5F, 66113 },
+ { 0x4F60, 66078 },
+ { 0x4F61, 66128 },
+ { 0x4F62, 66088 },
+ { 0x4F63, 66133 },
+ { 0x4F64, 65962 },
+ { 0x4F65, 65938 },
+ { 0x4F66, 65946 },
+ { 0x4F67, 65974 },
+ { 0x4F68, 65954 },
+ { 0x4F69, 65950 },
+ { 0x4F6A, 65942 },
+ { 0x4F6B, 65970 },
+ { 0x4F6C, 65966 },
+ { 0x4F6D, 65958 },
+ { 0x4F6E, 66138 },
+ { 0x4F6F, 66166 },
+ { 0x4F70, 66162 },
+ { 0x4F71, 66146 },
+ { 0x4F72, 66142 },
+ { 0x4F73, 66150 },
+ { 0x4F74, 66170 },
+ { 0x4F75, 66154 },
+ { 0x4F76, 66158 },
+ { 0x4F77, 65935 },
+ { 0x4F78, 21573 },
+ { 0x4F79, 21593 },
+ { 0x4F7A, 21581 },
+ { 0x4F7B, 21617 },
+ { 0x4F7C, 21589 },
+ { 0x4F7D, 21657 },
+ { 0x4F7E, 21577 },
+ { 0x4F7F, 21585 },
+ { 0x4F80, 21625 },
+ { 0x4F81, 21693 },
+ { 0x4F82, 21609 },
+ { 0x4F83, 21689 },
+ { 0x4F84, 21701 },
+ { 0x4F85, 21601 },
+ { 0x4F86, 21677 },
+ { 0x4F87, 21621 },
+ { 0x4F88, 21709 },
+ { 0x4F89, 21729 },
+ { 0x4F8A, 21681 },
+ { 0x4F8B, 21737 },
+ { 0x4F8C, 21705 },
+ { 0x4F8D, 21653 },
+ { 0x4F8E, 21725 },
+ { 0x4F8F, 21605 },
+ { 0x4F90, 21685 },
+ { 0x4F91, 21637 },
+ { 0x4F92, 21641 },
+ { 0x4F93, 21713 },
+ { 0x4F94, 21597 },
+ { 0x4F95, 21673 },
+ { 0x4F96, 21633 },
+ { 0x4F97, 21665 },
+ { 0x4F98, 21733 },
+ { 0x4F99, 21645 },
+ { 0x4F9A, 21629 },
+ { 0x4F9B, 21661 },
+ { 0x4F9C, 21717 },
+ { 0x4F9D, 21721 },
+ { 0x4F9E, 21649 },
+ { 0x4F9F, 21613 },
+ { 0x4FA0, 21697 },
+ { 0x4FA1, 21669 },
+ { 0x4FA2, 21549 },
+ { 0x4FA3, 21534 },
+ { 0x4FA4, 21559 },
+ { 0x4FA5, 21544 },
+ { 0x4FA6, 21564 },
+ { 0x4FA7, 21529 },
+ { 0x4FA8, 21554 },
+ { 0x4FA9, 21539 },
+ { 0x4FAA, 21481 },
+ { 0x4FAB, 21485 },
+ { 0x4FAC, 21477 },
+ { 0x4FAD, 21749 },
+ { 0x4FAE, 21756 },
+ { 0x4FAF, 21745 },
+ { 0x4FB0, 21752 },
+ { 0x4FB1, 21741 },
+ { 0x4FB2, 21473 },
+ { 0x4FB3, 21569 },
+ { 0x4FB4, 21469 },
+ { 0x4FB5, 21463 },
+ { 0x4FB6, 21513 },
+ { 0x4FB7, 21489 },
+ { 0x4FB8, 21497 },
+ { 0x4FB9, 21525 },
+ { 0x4FBA, 21505 },
+ { 0x4FBB, 21501 },
+ { 0x4FBC, 21493 },
+ { 0x4FBD, 21521 },
+ { 0x4FBE, 21517 },
+ { 0x4FBF, 21509 },
+ { 0x4FC0, 122166 },
+ { 0x4FC1, 122181 },
+ { 0x4FC2, 122172 },
+ { 0x4FC3, 122205 },
+ { 0x4FC4, 122178 },
+ { 0x4FC5, 122235 },
+ { 0x4FC6, 122301 },
+ { 0x4FC7, 122305 },
+ { 0x4FC8, 122169 },
+ { 0x4FC9, 122184 },
+ { 0x4FCA, 122175 },
+ { 0x4FCB, 122187 },
+ { 0x4FCC, 122211 },
+ { 0x4FCD, 122262 },
+ { 0x4FCE, 122199 },
+ { 0x4FCF, 122256 },
+ { 0x4FD0, 122268 },
+ { 0x4FD1, 122193 },
+ { 0x4FD2, 122247 },
+ { 0x4FD3, 122208 },
+ { 0x4FD4, 122259 },
+ { 0x4FD5, 122274 },
+ { 0x4FD6, 122292 },
+ { 0x4FD7, 122298 },
+ { 0x4FD8, 122250 },
+ { 0x4FD9, 122295 },
+ { 0x4FDA, 122271 },
+ { 0x4FDB, 122232 },
+ { 0x4FDC, 122289 },
+ { 0x4FDD, 122196 },
+ { 0x4FDE, 122253 },
+ { 0x4FDF, 122220 },
+ { 0x4FE0, 122223 },
+ { 0x4FE1, 122277 },
+ { 0x4FE2, 122190 },
+ { 0x4FE3, 122244 },
+ { 0x4FE4, 122217 },
+ { 0x4FE5, 122241 },
+ { 0x4FE6, 122226 },
+ { 0x4FE7, 122214 },
+ { 0x4FE8, 122238 },
+ { 0x4FE9, 122283 },
+ { 0x4FEA, 122286 },
+ { 0x4FEB, 122229 },
+ { 0x4FEC, 122202 },
+ { 0x4FED, 122265 },
+ { 0x4FEE, 122280 },
+ { 0x4FEF, 122131 },
+ { 0x4FF0, 122119 },
+ { 0x4FF1, 122143 },
+ { 0x4FF2, 122127 },
+ { 0x4FF3, 122147 },
+ { 0x4FF4, 122151 },
+ { 0x4FF5, 122156 },
+ { 0x4FF6, 122115 },
+ { 0x4FF7, 122135 },
+ { 0x4FF8, 122123 },
+ { 0x4FF9, 122139 },
+ { 0x4FFA, 122109 },
+ { 0x4FFB, 122106 },
+ { 0x4FFC, 122100 },
+ { 0x4FFD, 122112 },
+ { 0x4FFE, 122103 },
+ { 0x4FFF, 122309 },
+ { 0x5000, 122161 },
+ { 0x5001, 116830 },
+ { 0x5002, 116784 },
+ { 0x5003, 116814 },
+ { 0x5004, 116794 },
+ { 0x5005, 116779 },
+ { 0x5006, 116809 },
+ { 0x5007, 116789 },
+ { 0x5008, 116799 },
+ { 0x5009, 116804 },
+ { 0x500A, 116819 },
+ { 0x500B, 116825 },
+ { 0x500C, 116862 },
+ { 0x500D, 116930 },
+ { 0x500E, 116850 },
+ { 0x500F, 116926 },
+ { 0x5010, 116934 },
+ { 0x5011, 116842 },
+ { 0x5012, 116910 },
+ { 0x5013, 116858 },
+ { 0x5014, 116942 },
+ { 0x5015, 116966 },
+ { 0x5016, 116990 },
+ { 0x5017, 116914 },
+ { 0x5018, 116974 },
+ { 0x5019, 116938 },
+ { 0x501A, 116890 },
+ { 0x501B, 116958 },
+ { 0x501C, 116846 },
+ { 0x501D, 116918 },
+ { 0x501E, 116874 },
+ { 0x501F, 116878 },
+ { 0x5020, 116946 },
+ { 0x5021, 116838 },
+ { 0x5022, 116906 },
+ { 0x5023, 116870 },
+ { 0x5024, 116962 },
+ { 0x5025, 116986 },
+ { 0x5026, 116922 },
+ { 0x5027, 116978 },
+ { 0x5028, 116970 },
+ { 0x5029, 116902 },
+ { 0x502A, 116834 },
+ { 0x502B, 116898 },
+ { 0x502C, 116882 },
+ { 0x502D, 116866 },
+ { 0x502E, 116894 },
+ { 0x502F, 116950 },
+ { 0x5030, 116954 },
+ { 0x5031, 116886 },
+ { 0x5032, 116854 },
+ { 0x5033, 116982 },
+ { 0x5034, 116774 },
+ { 0x5035, 116752 },
+ { 0x5036, 116764 },
+ { 0x5037, 116768 },
+ { 0x5038, 116746 },
+ { 0x5039, 116760 },
+ { 0x503A, 116756 },
+ { 0x503B, 117039 },
+ { 0x503C, 117034 },
+ { 0x503D, 117024 },
+ { 0x503E, 117019 },
+ { 0x503F, 117029 },
+ { 0x5040, 117005 },
+ { 0x5041, 116994 },
+ { 0x5042, 116737 },
+ { 0x5043, 116733 },
+ { 0x5044, 116741 },
+ { 0x5045, 116728 },
+ { 0x5046, 117010 },
+ { 0x5047, 116999 },
+ { 0x5048, 117016 },
+ { 0x5049, 77068 },
+ { 0x504A, 77026 },
+ { 0x504B, 77050 },
+ { 0x504C, 77034 },
+ { 0x504D, 77022 },
+ { 0x504E, 77030 },
+ { 0x504F, 77046 },
+ { 0x5050, 77038 },
+ { 0x5051, 77042 },
+ { 0x5052, 77059 },
+ { 0x5053, 77054 },
+ { 0x5054, 77064 },
+ { 0x5055, 77092 },
+ { 0x5056, 77146 },
+ { 0x5057, 77083 },
+ { 0x5058, 77140 },
+ { 0x5059, 77149 },
+ { 0x505A, 77077 },
+ { 0x505B, 77128 },
+ { 0x505C, 77089 },
+ { 0x505D, 77143 },
+ { 0x505E, 77155 },
+ { 0x505F, 77173 },
+ { 0x5060, 77188 },
+ { 0x5061, 77131 },
+ { 0x5062, 77179 },
+ { 0x5063, 77152 },
+ { 0x5064, 77113 },
+ { 0x5065, 77167 },
+ { 0x5066, 77080 },
+ { 0x5067, 77134 },
+ { 0x5068, 77101 },
+ { 0x5069, 77104 },
+ { 0x506A, 77158 },
+ { 0x506B, 77074 },
+ { 0x506C, 77125 },
+ { 0x506D, 77098 },
+ { 0x506E, 77170 },
+ { 0x506F, 77185 },
+ { 0x5070, 77137 },
+ { 0x5071, 77176 },
+ { 0x5072, 77122 },
+ { 0x5073, 77071 },
+ { 0x5074, 77119 },
+ { 0x5075, 77107 },
+ { 0x5076, 77095 },
+ { 0x5077, 77116 },
+ { 0x5078, 77161 },
+ { 0x5079, 77164 },
+ { 0x507A, 77110 },
+ { 0x507B, 77086 },
+ { 0x507C, 77182 },
+ { 0x507D, 76956 },
+ { 0x507E, 76959 },
+ { 0x507F, 77206 },
+ { 0x5080, 77202 },
+ { 0x5081, 77214 },
+ { 0x5082, 77210 },
+ { 0x5083, 76972 },
+ { 0x5084, 76977 },
+ { 0x5085, 77012 },
+ { 0x5086, 76967 },
+ { 0x5087, 76992 },
+ { 0x5088, 76962 },
+ { 0x5089, 76987 },
+ { 0x508A, 76997 },
+ { 0x508B, 76982 },
+ { 0x508C, 77017 },
+ { 0x508D, 77002 },
+ { 0x508E, 77007 },
+ { 0x508F, 76953 },
+ { 0x5090, 76950 },
+ { 0x5091, 77199 },
+ { 0x5092, 77197 },
+ { 0x5093, 76943 },
+ { 0x5094, 76937 },
+ { 0x5095, 76946 },
+ { 0x5096, 76940 },
+ { 0x5097, 76927 },
+ { 0x5098, 76918 },
+ { 0x5099, 76911 },
+ { 0x509A, 77191 },
+ { 0x509B, 77194 },
+ { 0x509C, 82718 },
+ { 0x509D, 82730 },
+ { 0x509E, 82722 },
+ { 0x509F, 82734 },
+ { 0x50A0, 82714 },
+ { 0x50A1, 82726 },
+ { 0x50A2, 82742 },
+ { 0x50A3, 82754 },
+ { 0x50A4, 82746 },
+ { 0x50A5, 82758 },
+ { 0x50A6, 82738 },
+ { 0x50A7, 82750 },
+ { 0x50A8, 81163 },
+ { 0x50A9, 81166 },
+ { 0x50AA, 81169 },
+ { 0x50AB, 81160 },
+ { 0x50AC, 9801 },
+ { 0x50AD, 9781 },
+ { 0x50AE, 9786 },
+ { 0x50AF, 9791 },
+ { 0x50B0, 9756 },
+ { 0x50B1, 9831 },
+ { 0x50B2, 9826 },
+ { 0x50B3, 9846 },
+ { 0x50B4, 9771 },
+ { 0x50B5, 9766 },
+ { 0x50B6, 9841 },
+ { 0x50B7, 9811 },
+ { 0x50B8, 9746 },
+ { 0x50B9, 9751 },
+ { 0x50BA, 9816 },
+ { 0x50BB, 9856 },
+ { 0x50BC, 9796 },
+ { 0x50BD, 9851 },
+ { 0x50BE, 9806 },
+ { 0x50BF, 9761 },
+ { 0x50C0, 9836 },
+ { 0x50C1, 9721 },
+ { 0x50C2, 9726 },
+ { 0x50C3, 9731 },
+ { 0x50C4, 9736 },
+ { 0x50C5, 9741 },
+ { 0x50C6, 9821 },
+ { 0x50C7, 9776 },
+ { 0x50C8, 9885 },
+ { 0x50C9, 9861 },
+ { 0x50CA, 9891 },
+ { 0x50CB, 9873 },
+ { 0x50CC, 9879 },
+ { 0x50CD, 9867 },
+ { 0x50CE, 9897 },
+ { 0x50CF, 9909 },
+ { 0x50D0, 9903 },
+ { 0x50D1, 9920 },
+ { 0x50D2, 9915 },
+ { 0x50D3, 9963 },
+ { 0x50D4, 9926 },
+ { 0x50D5, 9933 },
+ { 0x50D6, 9969 },
+ { 0x50D7, 9944 },
+ { 0x50D8, 9939 },
+ { 0x50D9, 9950 },
+ { 0x50DA, 9957 },
+ { 0x50DB, 9993 },
+ { 0x50DC, 9987 },
+ { 0x50DD, 9998 },
+ { 0x50DE, 10005 },
+ { 0x50DF, 10016 },
+ { 0x50E0, 10011 },
+ { 0x50E1, 9976 },
+ { 0x50E2, 10022 },
+ { 0x50E3, 10029 },
+ { 0x50E4, 9981 },
+ { 0x50E5, 117704 },
+ { 0x50E6, 117707 },
+ { 0x50E7, 117720 },
+ { 0x50E8, 117723 },
+ { 0x50E9, 117768 },
+ { 0x50EA, 117772 },
+ { 0x50EB, 117752 },
+ { 0x50EC, 117757 },
+ { 0x50ED, 117785 },
+ { 0x50EE, 117728 },
+ { 0x50EF, 102673 },
+ { 0x50F0, 102688 },
+ { 0x50F1, 102679 },
+ { 0x50F2, 102712 },
+ { 0x50F3, 102685 },
+ { 0x50F4, 102742 },
+ { 0x50F5, 102806 },
+ { 0x50F6, 102810 },
+ { 0x50F7, 102802 },
+ { 0x50F8, 102676 },
+ { 0x50F9, 102691 },
+ { 0x50FA, 102682 },
+ { 0x50FB, 102694 },
+ { 0x50FC, 102718 },
+ { 0x50FD, 102769 },
+ { 0x50FE, 102706 },
+ { 0x50FF, 102763 },
+ { 0x5100, 102772 },
+ { 0x5101, 102700 },
+ { 0x5102, 102754 },
+ { 0x5103, 102715 },
+ { 0x5104, 102766 },
+ { 0x5105, 102778 },
+ { 0x5106, 102793 },
+ { 0x5107, 102799 },
+ { 0x5108, 102757 },
+ { 0x5109, 102796 },
+ { 0x510A, 102775 },
+ { 0x510B, 102739 },
+ { 0x510C, 102790 },
+ { 0x510D, 102703 },
+ { 0x510E, 102760 },
+ { 0x510F, 102727 },
+ { 0x5110, 102730 },
+ { 0x5111, 102781 },
+ { 0x5112, 102697 },
+ { 0x5113, 102751 },
+ { 0x5114, 102724 },
+ { 0x5115, 102748 },
+ { 0x5116, 102733 },
+ { 0x5117, 102721 },
+ { 0x5118, 102745 },
+ { 0x5119, 102784 },
+ { 0x511A, 102787 },
+ { 0x511B, 102736 },
+ { 0x511C, 102709 },
+ { 0x511D, 102635 },
+ { 0x511E, 102623 },
+ { 0x511F, 102647 },
+ { 0x5120, 102631 },
+ { 0x5121, 102651 },
+ { 0x5122, 102660 },
+ { 0x5123, 102665 },
+ { 0x5124, 102655 },
+ { 0x5125, 102619 },
+ { 0x5126, 102639 },
+ { 0x5127, 102627 },
+ { 0x5128, 102643 },
+ { 0x5129, 102581 },
+ { 0x512A, 102575 },
+ { 0x512B, 102572 },
+ { 0x512C, 102569 },
+ { 0x512D, 102578 },
+ { 0x512E, 102587 },
+ { 0x512F, 102670 },
+ { 0x5130, 102584 },
+ { 0x5131, 102563 },
+ { 0x5132, 102566 },
+ { 0x5133, 102607 },
+ { 0x5134, 102589 },
+ { 0x5135, 102595 },
+ { 0x5136, 102616 },
+ { 0x5137, 102601 },
+ { 0x5138, 102598 },
+ { 0x5139, 102592 },
+ { 0x513A, 102613 },
+ { 0x513B, 102610 },
+ { 0x513C, 102604 },
+ { 0x513D, 102814 },
+ { 0x513E, 102823 },
+ { 0x513F, 102850 },
+ { 0x5140, 102829 },
+ { 0x5141, 102826 },
+ { 0x5142, 102817 },
+ { 0x5143, 102844 },
+ { 0x5144, 102835 },
+ { 0x5145, 102832 },
+ { 0x5146, 102820 },
+ { 0x5147, 102862 },
+ { 0x5148, 102859 },
+ { 0x5149, 102841 },
+ { 0x514A, 102838 },
+ { 0x514B, 102847 },
+ { 0x514C, 102865 },
+ { 0x514D, 102853 },
+ { 0x514E, 102856 },
+ { 0x514F, 102868 },
+ { 0x5150, 71323 },
+ { 0x5151, 71326 },
+ { 0x5152, 71379 },
+ { 0x5153, 71418 },
+ { 0x5154, 71370 },
+ { 0x5155, 71421 },
+ { 0x5156, 71364 },
+ { 0x5157, 71412 },
+ { 0x5158, 71376 },
+ { 0x5159, 71424 },
+ { 0x515A, 71400 },
+ { 0x515B, 71433 },
+ { 0x515C, 71367 },
+ { 0x515D, 71388 },
+ { 0x515E, 71391 },
+ { 0x515F, 71427 },
+ { 0x5160, 71361 },
+ { 0x5161, 71385 },
+ { 0x5162, 71436 },
+ { 0x5163, 71442 },
+ { 0x5164, 71415 },
+ { 0x5165, 71403 },
+ { 0x5166, 71439 },
+ { 0x5167, 71409 },
+ { 0x5168, 71358 },
+ { 0x5169, 71406 },
+ { 0x516A, 71394 },
+ { 0x516B, 71382 },
+ { 0x516C, 71430 },
+ { 0x516D, 71397 },
+ { 0x516E, 71373 },
+ { 0x516F, 71355 },
+ { 0x5170, 71473 },
+ { 0x5171, 71525 },
+ { 0x5172, 71461 },
+ { 0x5173, 71529 },
+ { 0x5174, 71453 },
+ { 0x5175, 71517 },
+ { 0x5176, 71469 },
+ { 0x5177, 71533 },
+ { 0x5178, 71501 },
+ { 0x5179, 71545 },
+ { 0x517A, 71457 },
+ { 0x517B, 71485 },
+ { 0x517C, 71489 },
+ { 0x517D, 71537 },
+ { 0x517E, 71449 },
+ { 0x517F, 71481 },
+ { 0x5180, 71549 },
+ { 0x5181, 71557 },
+ { 0x5182, 71521 },
+ { 0x5183, 71505 },
+ { 0x5184, 71553 },
+ { 0x5185, 71513 },
+ { 0x5186, 71509 },
+ { 0x5187, 71493 },
+ { 0x5188, 71477 },
+ { 0x5189, 71541 },
+ { 0x518A, 71497 },
+ { 0x518B, 71465 },
+ { 0x518C, 71445 },
+ { 0x518D, 71351 },
+ { 0x518E, 71339 },
+ { 0x518F, 71347 },
+ { 0x5190, 71335 },
+ { 0x5191, 71343 },
+ { 0x5192, 71329 },
+ { 0x5193, 71332 },
+ { 0x5194, 71678 },
+ { 0x5195, 71698 },
+ { 0x5196, 71686 },
+ { 0x5197, 71730 },
+ { 0x5198, 71694 },
+ { 0x5199, 71770 },
+ { 0x519A, 71682 },
+ { 0x519B, 71702 },
+ { 0x519C, 71690 },
+ { 0x519D, 71706 },
+ { 0x519E, 71738 },
+ { 0x519F, 71806 },
+ { 0x51A0, 71722 },
+ { 0x51A1, 71798 },
+ { 0x51A2, 71814 },
+ { 0x51A3, 71714 },
+ { 0x51A4, 71786 },
+ { 0x51A5, 71734 },
+ { 0x51A6, 71802 },
+ { 0x51A7, 71822 },
+ { 0x51A8, 71846 },
+ { 0x51A9, 71862 },
+ { 0x51AA, 71790 },
+ { 0x51AB, 71850 },
+ { 0x51AC, 71818 },
+ { 0x51AD, 71766 },
+ { 0x51AE, 71838 },
+ { 0x51AF, 71718 },
+ { 0x51B0, 71794 },
+ { 0x51B1, 71750 },
+ { 0x51B2, 71754 },
+ { 0x51B3, 71826 },
+ { 0x51B4, 71710 },
+ { 0x51B5, 71782 },
+ { 0x51B6, 71746 },
+ { 0x51B7, 71778 },
+ { 0x51B8, 71758 },
+ { 0x51B9, 71742 },
+ { 0x51BA, 71774 },
+ { 0x51BB, 71830 },
+ { 0x51BC, 71834 },
+ { 0x51BD, 71762 },
+ { 0x51BE, 71726 },
+ { 0x51BF, 71810 },
+ { 0x51C0, 71858 },
+ { 0x51C1, 71854 },
+ { 0x51C2, 71842 },
+ { 0x51C3, 71647 },
+ { 0x51C4, 71632 },
+ { 0x51C5, 71662 },
+ { 0x51C6, 71642 },
+ { 0x51C7, 71667 },
+ { 0x51C8, 71672 },
+ { 0x51C9, 71627 },
+ { 0x51CA, 71652 },
+ { 0x51CB, 71637 },
+ { 0x51CC, 71657 },
+ { 0x51CD, 71580 },
+ { 0x51CE, 71576 },
+ { 0x51CF, 71564 },
+ { 0x51D0, 71568 },
+ { 0x51D1, 71572 },
+ { 0x51D2, 71866 },
+ { 0x51D3, 71624 },
+ { 0x51D4, 71869 },
+ { 0x51D5, 71608 },
+ { 0x51D6, 71584 },
+ { 0x51D7, 71592 },
+ { 0x51D8, 71620 },
+ { 0x51D9, 71600 },
+ { 0x51DA, 71596 },
+ { 0x51DB, 71588 },
+ { 0x51DC, 71616 },
+ { 0x51DD, 71612 },
+ { 0x51DE, 71604 },
+ { 0x51DF, 70294 },
+ { 0x51E0, 70306 },
+ { 0x51E1, 70298 },
+ { 0x51E2, 70342 },
+ { 0x51E3, 70302 },
+ { 0x51E4, 70386 },
+ { 0x51E5, 70330 },
+ { 0x51E6, 70310 },
+ { 0x51E7, 70366 },
+ { 0x51E8, 70314 },
+ { 0x51E9, 70394 },
+ { 0x51EA, 70390 },
+ { 0x51EB, 70318 },
+ { 0x51EC, 70398 },
+ { 0x51ED, 70358 },
+ { 0x51EE, 70350 },
+ { 0x51EF, 70422 },
+ { 0x51F0, 70382 },
+ { 0x51F1, 70438 },
+ { 0x51F2, 70354 },
+ { 0x51F3, 70334 },
+ { 0x51F4, 70414 },
+ { 0x51F5, 70326 },
+ { 0x51F6, 70410 },
+ { 0x51F7, 70362 },
+ { 0x51F8, 70322 },
+ { 0x51F9, 70402 },
+ { 0x51FA, 70442 },
+ { 0x51FB, 70450 },
+ { 0x51FC, 70426 },
+ { 0x51FD, 70346 },
+ { 0x51FE, 70418 },
+ { 0x51FF, 70406 },
+ { 0x5200, 70446 },
+ { 0x5201, 70430 },
+ { 0x5202, 70370 },
+ { 0x5203, 70434 },
+ { 0x5204, 70338 },
+ { 0x5205, 70374 },
+ { 0x5206, 70378 },
+ { 0x5207, 70259 },
+ { 0x5208, 70249 },
+ { 0x5209, 70279 },
+ { 0x520A, 70254 },
+ { 0x520B, 70289 },
+ { 0x520C, 70274 },
+ { 0x520D, 70264 },
+ { 0x520E, 70284 },
+ { 0x520F, 70269 },
+ { 0x5210, 70205 },
+ { 0x5211, 70201 },
+ { 0x5212, 70454 },
+ { 0x5213, 70198 },
+ { 0x5214, 70233 },
+ { 0x5215, 70209 },
+ { 0x5216, 70217 },
+ { 0x5217, 70245 },
+ { 0x5218, 70225 },
+ { 0x5219, 70221 },
+ { 0x521A, 70213 },
+ { 0x521B, 70241 },
+ { 0x521C, 70237 },
+ { 0x521D, 70229 },
+ { 0x521E, 71195 },
+ { 0x521F, 71189 },
+ { 0x5220, 71225 },
+ { 0x5221, 71207 },
+ { 0x5222, 71180 },
+ { 0x5223, 71201 },
+ { 0x5224, 71216 },
+ { 0x5225, 71186 },
+ { 0x5226, 71204 },
+ { 0x5227, 71183 },
+ { 0x5228, 71192 },
+ { 0x5229, 71228 },
+ { 0x522A, 71222 },
+ { 0x522B, 71210 },
+ { 0x522C, 71198 },
+ { 0x522D, 71219 },
+ { 0x522E, 71213 },
+ { 0x522F, 71177 },
+ { 0x5230, 71159 },
+ { 0x5231, 71165 },
+ { 0x5232, 71173 },
+ { 0x5233, 71161 },
+ { 0x5234, 71169 },
+ { 0x5235, 71231 },
+ { 0x5236, 71155 },
+ { 0x5237, 13671 },
+ { 0x5238, 13668 },
+ { 0x5239, 13659 },
+ { 0x523A, 13665 },
+ { 0x523B, 13751 },
+ { 0x523C, 13766 },
+ { 0x523D, 13757 },
+ { 0x523E, 13787 },
+ { 0x523F, 13763 },
+ { 0x5240, 13817 },
+ { 0x5241, 13884 },
+ { 0x5242, 13892 },
+ { 0x5243, 13880 },
+ { 0x5244, 13888 },
+ { 0x5245, 13754 },
+ { 0x5246, 13769 },
+ { 0x5247, 13760 },
+ { 0x5248, 13793 },
+ { 0x5249, 13844 },
+ { 0x524A, 13781 },
+ { 0x524B, 13838 },
+ { 0x524C, 13847 },
+ { 0x524D, 13775 },
+ { 0x524E, 13829 },
+ { 0x524F, 13790 },
+ { 0x5250, 13841 },
+ { 0x5251, 13853 },
+ { 0x5252, 13868 },
+ { 0x5253, 13877 },
+ { 0x5254, 13832 },
+ { 0x5255, 13871 },
+ { 0x5256, 13850 },
+ { 0x5257, 13814 },
+ { 0x5258, 13865 },
+ { 0x5259, 13778 },
+ { 0x525A, 13835 },
+ { 0x525B, 13802 },
+ { 0x525C, 13805 },
+ { 0x525D, 13856 },
+ { 0x525E, 13772 },
+ { 0x525F, 13826 },
+ { 0x5260, 13799 },
+ { 0x5261, 13823 },
+ { 0x5262, 13808 },
+ { 0x5263, 13796 },
+ { 0x5264, 13820 },
+ { 0x5265, 13859 },
+ { 0x5266, 13862 },
+ { 0x5267, 13811 },
+ { 0x5268, 13784 },
+ { 0x5269, 13874 },
+ { 0x526A, 13718 },
+ { 0x526B, 13743 },
+ { 0x526C, 13710 },
+ { 0x526D, 13730 },
+ { 0x526E, 13714 },
+ { 0x526F, 13734 },
+ { 0x5270, 13738 },
+ { 0x5271, 13706 },
+ { 0x5272, 13722 },
+ { 0x5273, 13726 },
+ { 0x5274, 13662 },
+ { 0x5275, 13896 },
+ { 0x5276, 13674 },
+ { 0x5277, 13748 },
+ { 0x5278, 13930 },
+ { 0x5279, 13934 },
+ { 0x527A, 13916 },
+ { 0x527B, 13901 },
+ { 0x527C, 13898 },
+ { 0x527D, 13908 },
+ { 0x527E, 13922 },
+ { 0x527F, 13905 },
+ { 0x5280, 13912 },
+ { 0x5281, 13919 },
+ { 0x5282, 13926 },
+ { 0x5283, 13694 },
+ { 0x5284, 13676 },
+ { 0x5285, 13682 },
+ { 0x5286, 13703 },
+ { 0x5287, 13688 },
+ { 0x5288, 13685 },
+ { 0x5289, 13679 },
+ { 0x528A, 13700 },
+ { 0x528B, 13697 },
+ { 0x528C, 13691 },
+ { 0x528D, 14592 },
+ { 0x528E, 39797 },
+ { 0x528F, 39793 },
+ { 0x5290, 39769 },
+ { 0x5291, 39785 },
+ { 0x5292, 39765 },
+ { 0x5293, 39789 },
+ { 0x5294, 39805 },
+ { 0x5295, 39817 },
+ { 0x5296, 39773 },
+ { 0x5297, 39777 },
+ { 0x5298, 39781 },
+ { 0x5299, 39745 },
+ { 0x529A, 39749 },
+ { 0x529B, 39813 },
+ { 0x529C, 39809 },
+ { 0x529D, 39741 },
+ { 0x529E, 39761 },
+ { 0x529F, 39753 },
+ { 0x52A0, 39757 },
+ { 0x52A1, 39801 },
+ { 0x52A2, 39821 },
+ { 0x52A3, 39464 },
+ { 0x52A4, 39482 },
+ { 0x52A5, 39509 },
+ { 0x52A6, 39494 },
+ { 0x52A7, 39521 },
+ { 0x52A8, 39485 },
+ { 0x52A9, 39503 },
+ { 0x52AA, 39512 },
+ { 0x52AB, 39473 },
+ { 0x52AC, 39479 },
+ { 0x52AD, 39467 },
+ { 0x52AE, 39506 },
+ { 0x52AF, 39488 },
+ { 0x52B0, 39476 },
+ { 0x52B1, 39470 },
+ { 0x52B2, 39453 },
+ { 0x52B3, 39449 },
+ { 0x52B4, 39457 },
+ { 0x52B5, 39460 },
+ { 0x52B6, 39835 },
+ { 0x52B7, 39839 },
+ { 0x52B8, 39738 },
+ { 0x52B9, 39442 },
+ { 0x52BA, 39566 },
+ { 0x52BB, 39569 },
+ { 0x52BC, 39436 },
+ { 0x52BD, 39826 },
+ { 0x52BE, 39515 },
+ { 0x52BF, 39518 },
+ { 0x52C0, 39830 },
+ { 0x52C1, 106057 },
+ { 0x52C2, 106060 },
+ { 0x52C3, 106070 },
+ { 0x52C4, 106085 },
+ { 0x52C5, 106065 },
+ { 0x52C6, 106075 },
+ { 0x52C7, 106096 },
+ { 0x52C8, 106091 },
+ { 0x52C9, 106080 },
+ { 0x52CA, 106170 },
+ { 0x52CB, 106173 },
+ { 0x52CC, 106216 },
+ { 0x52CD, 106221 },
+ { 0x52CE, 106194 },
+ { 0x52CF, 106227 },
+ { 0x52D0, 106189 },
+ { 0x52D1, 106199 },
+ { 0x52D2, 106233 },
+ { 0x52D3, 106243 },
+ { 0x52D4, 106248 },
+ { 0x52D5, 106180 },
+ { 0x52D6, 106176 },
+ { 0x52D7, 107392 },
+ { 0x52D8, 107423 },
+ { 0x52D9, 107407 },
+ { 0x52DA, 107400 },
+ { 0x52DB, 107413 },
+ { 0x52DC, 107418 },
+ { 0x52DD, 106253 },
+ { 0x52DE, 106261 },
+ { 0x52DF, 106264 },
+ { 0x52E0, 106269 },
+ { 0x52E1, 106276 },
+ { 0x52E2, 106279 },
+ { 0x52E3, 106304 },
+ { 0x52E4, 106309 },
+ { 0x52E5, 106284 },
+ { 0x52E6, 106314 },
+ { 0x52E7, 106289 },
+ { 0x52E8, 106294 },
+ { 0x52E9, 106299 },
+ { 0x52EA, 109541 },
+ { 0x52EB, 110324 },
+ { 0x52EC, 109544 },
+ { 0x52ED, 109552 },
+ { 0x52EE, 106319 },
+ { 0x52EF, 106322 },
+ { 0x52F0, 106342 },
+ { 0x52F1, 106333 },
+ { 0x52F2, 106327 },
+ { 0x52F3, 110327 },
+ { 0x52F4, 109557 },
+ { 0x52F5, 109560 },
+ { 0x52F6, 109563 },
+ { 0x52F7, 110330 },
+ { 0x52F8, 110333 },
+ { 0x52F9, 107428 },
+ { 0x52FA, 107468 },
+ { 0x52FB, 107431 },
+ { 0x52FC, 107456 },
+ { 0x52FD, 107436 },
+ { 0x52FE, 107443 },
+ { 0x52FF, 109568 },
+ { 0x5300, 110930 },
+ { 0x5301, 106347 },
+ { 0x5302, 107473 },
+ { 0x5303, 109571 },
+ { 0x5304, 110933 },
+ { 0x5305, 107482 },
+ { 0x5306, 107485 },
+ { 0x5307, 110336 },
+ { 0x5308, 107490 },
+ { 0x5309, 110339 },
+ { 0x530A, 106350 },
+ { 0x530B, 106353 },
+ { 0x530C, 106358 },
+ { 0x530D, 106363 },
+ { 0x530E, 106369 },
+ { 0x530F, 106372 },
+ { 0x5310, 106378 },
+ { 0x5311, 106391 },
+ { 0x5312, 110342 },
+ { 0x5313, 110345 },
+ { 0x5314, 107493 },
+ { 0x5315, 109574 },
+ { 0x5316, 106396 },
+ { 0x5317, 107496 },
+ { 0x5318, 107504 },
+ { 0x5319, 107638 },
+ { 0x531A, 107656 },
+ { 0x531B, 107512 },
+ { 0x531C, 107518 },
+ { 0x531D, 107524 },
+ { 0x531E, 107532 },
+ { 0x531F, 107644 },
+ { 0x5320, 107606 },
+ { 0x5321, 107538 },
+ { 0x5322, 107544 },
+ { 0x5323, 107550 },
+ { 0x5324, 107612 },
+ { 0x5325, 107558 },
+ { 0x5326, 107564 },
+ { 0x5327, 107570 },
+ { 0x5328, 107618 },
+ { 0x5329, 107578 },
+ { 0x532A, 107624 },
+ { 0x532B, 107584 },
+ { 0x532C, 107650 },
+ { 0x532D, 107590 },
+ { 0x532E, 107632 },
+ { 0x532F, 107662 },
+ { 0x5330, 107665 },
+ { 0x5331, 110350 },
+ { 0x5332, 110353 },
+ { 0x5333, 106404 },
+ { 0x5334, 107668 },
+ { 0x5335, 107671 },
+ { 0x5336, 107686 },
+ { 0x5337, 109580 },
+ { 0x5338, 107691 },
+ { 0x5339, 107694 },
+ { 0x533A, 109588 },
+ { 0x533B, 106407 },
+ { 0x533C, 106414 },
+ { 0x533D, 106410 },
+ { 0x533E, 106419 },
+ { 0x533F, 107701 },
+ { 0x5340, 107709 },
+ { 0x5341, 109596 },
+ { 0x5342, 107714 },
+ { 0x5343, 110356 },
+ { 0x5344, 107868 },
+ { 0x5345, 107871 },
+ { 0x5346, 109599 },
+ { 0x5347, 109602 },
+ { 0x5348, 109606 },
+ { 0x5349, 109611 },
+ { 0x534A, 109614 },
+ { 0x534B, 106102 },
+ { 0x534C, 106113 },
+ { 0x534D, 106105 },
+ { 0x534E, 106423 },
+ { 0x534F, 106426 },
+ { 0x5350, 106445 },
+ { 0x5351, 106440 },
+ { 0x5352, 106460 },
+ { 0x5353, 106465 },
+ { 0x5354, 106435 },
+ { 0x5355, 109617 },
+ { 0x5356, 109620 },
+ { 0x5357, 106470 },
+ { 0x5358, 106473 },
+ { 0x5359, 106481 },
+ { 0x535A, 106486 },
+ { 0x535B, 106476 },
+ { 0x535C, 106496 },
+ { 0x535D, 106501 },
+ { 0x535E, 106492 },
+ { 0x535F, 109623 },
+ { 0x5360, 110359 },
+ { 0x5361, 109626 },
+ { 0x5362, 109634 },
+ { 0x5363, 109637 },
+ { 0x5364, 109642 },
+ { 0x5365, 109649 },
+ { 0x5366, 109658 },
+ { 0x5367, 109704 },
+ { 0x5368, 109737 },
+ { 0x5369, 109743 },
+ { 0x536A, 109663 },
+ { 0x536B, 109668 },
+ { 0x536C, 109714 },
+ { 0x536D, 109750 },
+ { 0x536E, 109755 },
+ { 0x536F, 109720 },
+ { 0x5370, 109674 },
+ { 0x5371, 109725 },
+ { 0x5372, 109679 },
+ { 0x5373, 109684 },
+ { 0x5374, 109694 },
+ { 0x5375, 109699 },
+ { 0x5376, 106506 },
+ { 0x5377, 106509 },
+ { 0x5378, 107874 },
+ { 0x5379, 107882 },
+ { 0x537A, 107891 },
+ { 0x537B, 107898 },
+ { 0x537C, 108045 },
+ { 0x537D, 107910 },
+ { 0x537E, 108053 },
+ { 0x537F, 108258 },
+ { 0x5380, 108058 },
+ { 0x5381, 108063 },
+ { 0x5382, 108070 },
+ { 0x5383, 108075 },
+ { 0x5384, 107924 },
+ { 0x5385, 107929 },
+ { 0x5386, 108088 },
+ { 0x5387, 108095 },
+ { 0x5388, 107934 },
+ { 0x5389, 107939 },
+ { 0x538A, 107946 },
+ { 0x538B, 107951 },
+ { 0x538C, 108270 },
+ { 0x538D, 108115 },
+ { 0x538E, 107964 },
+ { 0x538F, 108134 },
+ { 0x5390, 108139 },
+ { 0x5391, 108276 },
+ { 0x5392, 107976 },
+ { 0x5393, 108146 },
+ { 0x5394, 108151 },
+ { 0x5395, 107985 },
+ { 0x5396, 108283 },
+ { 0x5397, 108158 },
+ { 0x5398, 108164 },
+ { 0x5399, 108173 },
+ { 0x539A, 108318 },
+ { 0x539B, 108178 },
+ { 0x539C, 108183 },
+ { 0x539D, 108190 },
+ { 0x539E, 107992 },
+ { 0x539F, 107997 },
+ { 0x53A0, 108004 },
+ { 0x53A1, 108214 },
+ { 0x53A2, 108219 },
+ { 0x53A3, 108028 },
+ { 0x53A4, 108226 },
+ { 0x53A5, 108231 },
+ { 0x53A6, 108236 },
+ { 0x53A7, 108241 },
+ { 0x53A8, 108293 },
+ { 0x53A9, 108248 },
+ { 0x53AA, 108303 },
+ { 0x53AB, 107905 },
+ { 0x53AC, 108033 },
+ { 0x53AD, 108038 },
+ { 0x53AE, 107877 },
+ { 0x53AF, 109810 },
+ { 0x53B0, 109819 },
+ { 0x53B1, 108330 },
+ { 0x53B2, 108333 },
+ { 0x53B3, 108341 },
+ { 0x53B4, 108344 },
+ { 0x53B5, 110366 },
+ { 0x53B6, 108353 },
+ { 0x53B7, 108356 },
+ { 0x53B8, 109824 },
+ { 0x53B9, 109832 },
+ { 0x53BA, 109827 },
+ { 0x53BB, 109836 },
+ { 0x53BC, 108359 },
+ { 0x53BD, 109841 },
+ { 0x53BE, 110951 },
+ { 0x53BF, 111180 },
+ { 0x53C0, 111188 },
+ { 0x53C1, 106513 },
+ { 0x53C2, 106516 },
+ { 0x53C3, 106521 },
+ { 0x53C4, 106526 },
+ { 0x53C5, 108362 },
+ { 0x53C6, 108365 },
+ { 0x53C7, 108370 },
+ { 0x53C8, 110369 },
+ { 0x53C9, 109847 },
+ { 0x53CA, 109850 },
+ { 0x53CB, 109854 },
+ { 0x53CC, 109857 },
+ { 0x53CD, 109881 },
+ { 0x53CE, 109876 },
+ { 0x53CF, 109864 },
+ { 0x53D0, 109871 },
+ { 0x53D1, 110372 },
+ { 0x53D2, 109887 },
+ { 0x53D3, 109911 },
+ { 0x53D4, 109894 },
+ { 0x53D5, 109906 },
+ { 0x53D6, 109890 },
+ { 0x53D7, 106531 },
+ { 0x53D8, 106534 },
+ { 0x53D9, 108378 },
+ { 0x53DA, 108391 },
+ { 0x53DB, 108396 },
+ { 0x53DC, 108404 },
+ { 0x53DD, 108409 },
+ { 0x53DE, 108381 },
+ { 0x53DF, 108416 },
+ { 0x53E0, 108432 },
+ { 0x53E1, 108439 },
+ { 0x53E2, 108419 },
+ { 0x53E3, 108444 },
+ { 0x53E4, 108447 },
+ { 0x53E5, 108450 },
+ { 0x53E6, 108455 },
+ { 0x53E7, 109916 },
+ { 0x53E8, 110375 },
+ { 0x53E9, 110954 },
+ { 0x53EA, 106539 },
+ { 0x53EB, 106546 },
+ { 0x53EC, 106542 },
+ { 0x53ED, 108458 },
+ { 0x53EE, 106555 },
+ { 0x53EF, 106563 },
+ { 0x53F0, 106602 },
+ { 0x53F1, 106577 },
+ { 0x53F2, 106607 },
+ { 0x53F3, 106582 },
+ { 0x53F4, 106587 },
+ { 0x53F5, 106592 },
+ { 0x53F6, 106597 },
+ { 0x53F7, 106558 },
+ { 0x53F8, 106612 },
+ { 0x53F9, 109919 },
+ { 0x53FA, 109922 },
+ { 0x53FB, 109932 },
+ { 0x53FC, 109942 },
+ { 0x53FD, 109937 },
+ { 0x53FE, 109927 },
+ { 0x53FF, 109947 },
+ { 0x5400, 106118 },
+ { 0x5401, 106121 },
+ { 0x5402, 106615 },
+ { 0x5403, 109953 },
+ { 0x5404, 109956 },
+ { 0x5405, 109962 },
+ { 0x5406, 106618 },
+ { 0x5407, 108461 },
+ { 0x5408, 108468 },
+ { 0x5409, 108464 },
+ { 0x540A, 108476 },
+ { 0x540B, 108472 },
+ { 0x540C, 106621 },
+ { 0x540D, 106624 },
+ { 0x540E, 108487 },
+ { 0x540F, 106630 },
+ { 0x5410, 106633 },
+ { 0x5411, 106642 },
+ { 0x5412, 106647 },
+ { 0x5413, 106638 },
+ { 0x5414, 109968 },
+ { 0x5415, 106652 },
+ { 0x5416, 106655 },
+ { 0x5417, 108490 },
+ { 0x5418, 106658 },
+ { 0x5419, 106661 },
+ { 0x541A, 106678 },
+ { 0x541B, 106683 },
+ { 0x541C, 106934 },
+ { 0x541D, 106835 },
+ { 0x541E, 107006 },
+ { 0x541F, 106840 },
+ { 0x5420, 106690 },
+ { 0x5421, 107011 },
+ { 0x5422, 106944 },
+ { 0x5423, 106700 },
+ { 0x5424, 106845 },
+ { 0x5425, 106949 },
+ { 0x5426, 106850 },
+ { 0x5427, 106855 },
+ { 0x5428, 106705 },
+ { 0x5429, 106955 },
+ { 0x542A, 106965 },
+ { 0x542B, 106972 },
+ { 0x542C, 106710 },
+ { 0x542D, 106979 },
+ { 0x542E, 106869 },
+ { 0x542F, 106722 },
+ { 0x5430, 106874 },
+ { 0x5431, 106732 },
+ { 0x5432, 106879 },
+ { 0x5433, 106737 },
+ { 0x5434, 106742 },
+ { 0x5435, 106747 },
+ { 0x5436, 106752 },
+ { 0x5437, 106759 },
+ { 0x5438, 106766 },
+ { 0x5439, 106773 },
+ { 0x543A, 106778 },
+ { 0x543B, 106785 },
+ { 0x543C, 106889 },
+ { 0x543D, 106795 },
+ { 0x543E, 106800 },
+ { 0x543F, 106805 },
+ { 0x5440, 106894 },
+ { 0x5441, 106899 },
+ { 0x5442, 106904 },
+ { 0x5443, 106984 },
+ { 0x5444, 106909 },
+ { 0x5445, 106914 },
+ { 0x5446, 107016 },
+ { 0x5447, 106919 },
+ { 0x5448, 106666 },
+ { 0x5449, 106815 },
+ { 0x544A, 106820 },
+ { 0x544B, 106994 },
+ { 0x544C, 106929 },
+ { 0x544D, 106830 },
+ { 0x544E, 108493 },
+ { 0x544F, 108496 },
+ { 0x5450, 108501 },
+ { 0x5451, 109971 },
+ { 0x5452, 109974 },
+ { 0x5453, 109977 },
+ { 0x5454, 109980 },
+ { 0x5455, 109983 },
+ { 0x5456, 108504 },
+ { 0x5457, 108507 },
+ { 0x5458, 108513 },
+ { 0x5459, 108516 },
+ { 0x545A, 108521 },
+ { 0x545B, 109988 },
+ { 0x545C, 109991 },
+ { 0x545D, 110957 },
+ { 0x545E, 110972 },
+ { 0x545F, 110960 },
+ { 0x5460, 110378 },
+ { 0x5461, 107021 },
+ { 0x5462, 107034 },
+ { 0x5463, 107024 },
+ { 0x5464, 107029 },
+ { 0x5465, 108530 },
+ { 0x5466, 108533 },
+ { 0x5467, 110381 },
+ { 0x5468, 109994 },
+ { 0x5469, 110982 },
+ { 0x546A, 110985 },
+ { 0x546B, 107039 },
+ { 0x546C, 107042 },
+ { 0x546D, 108536 },
+ { 0x546E, 108539 },
+ { 0x546F, 108542 },
+ { 0x5470, 108547 },
+ { 0x5471, 108550 },
+ { 0x5472, 108553 },
+ { 0x5473, 108557 },
+ { 0x5474, 108560 },
+ { 0x5475, 108563 },
+ { 0x5476, 110990 },
+ { 0x5477, 110993 },
+ { 0x5478, 107054 },
+ { 0x5479, 110384 },
+ { 0x547A, 110387 },
+ { 0x547B, 110392 },
+ { 0x547C, 110401 },
+ { 0x547D, 110408 },
+ { 0x547E, 110436 },
+ { 0x547F, 110441 },
+ { 0x5480, 110554 },
+ { 0x5481, 110561 },
+ { 0x5482, 110446 },
+ { 0x5483, 110566 },
+ { 0x5484, 110451 },
+ { 0x5485, 110456 },
+ { 0x5486, 110571 },
+ { 0x5487, 110576 },
+ { 0x5488, 110581 },
+ { 0x5489, 110466 },
+ { 0x548A, 110588 },
+ { 0x548B, 110471 },
+ { 0x548C, 110593 },
+ { 0x548D, 110478 },
+ { 0x548E, 110483 },
+ { 0x548F, 110490 },
+ { 0x5490, 110497 },
+ { 0x5491, 110599 },
+ { 0x5492, 110604 },
+ { 0x5493, 110609 },
+ { 0x5494, 110614 },
+ { 0x5495, 110677 },
+ { 0x5496, 110650 },
+ { 0x5497, 110502 },
+ { 0x5498, 110623 },
+ { 0x5499, 110507 },
+ { 0x549A, 110512 },
+ { 0x549B, 110655 },
+ { 0x549C, 110519 },
+ { 0x549D, 110628 },
+ { 0x549E, 110682 },
+ { 0x549F, 110691 },
+ { 0x54A0, 110660 },
+ { 0x54A1, 110665 },
+ { 0x54A2, 110635 },
+ { 0x54A3, 110640 },
+ { 0x54A4, 110672 },
+ { 0x54A5, 110524 },
+ { 0x54A6, 110415 },
+ { 0x54A7, 110420 },
+ { 0x54A8, 110427 },
+ { 0x54A9, 110535 },
+ { 0x54AA, 110542 },
+ { 0x54AB, 110645 },
+ { 0x54AC, 110699 },
+ { 0x54AD, 110703 },
+ { 0x54AE, 110718 },
+ { 0x54AF, 110723 },
+ { 0x54B0, 110706 },
+ { 0x54B1, 110710 },
+ { 0x54B2, 110996 },
+ { 0x54B3, 108568 },
+ { 0x54B4, 108571 },
+ { 0x54B5, 108576 },
+ { 0x54B6, 108579 },
+ { 0x54B7, 108584 },
+ { 0x54B8, 107057 },
+ { 0x54B9, 108591 },
+ { 0x54BA, 110999 },
+ { 0x54BB, 109997 },
+ { 0x54BC, 107060 },
+ { 0x54BD, 107063 },
+ { 0x54BE, 108594 },
+ { 0x54BF, 108607 },
+ { 0x54C0, 108660 },
+ { 0x54C1, 108694 },
+ { 0x54C2, 108706 },
+ { 0x54C3, 108712 },
+ { 0x54C4, 108612 },
+ { 0x54C5, 108619 },
+ { 0x54C6, 108718 },
+ { 0x54C7, 108723 },
+ { 0x54C8, 108728 },
+ { 0x54C9, 108624 },
+ { 0x54CA, 108629 },
+ { 0x54CB, 108752 },
+ { 0x54CC, 108636 },
+ { 0x54CD, 108643 },
+ { 0x54CE, 108648 },
+ { 0x54CF, 108653 },
+ { 0x54D0, 108735 },
+ { 0x54D1, 108747 },
+ { 0x54D2, 108603 },
+ { 0x54D3, 108771 },
+ { 0x54D4, 108776 },
+ { 0x54D5, 108767 },
+ { 0x54D6, 108757 },
+ { 0x54D7, 108781 },
+ { 0x54D8, 110730 },
+ { 0x54D9, 110733 },
+ { 0x54DA, 110742 },
+ { 0x54DB, 110738 },
+ { 0x54DC, 108784 },
+ { 0x54DD, 108787 },
+ { 0x54DE, 108790 },
+ { 0x54DF, 108793 },
+ { 0x54E0, 108798 },
+ { 0x54E1, 107068 },
+ { 0x54E2, 107075 },
+ { 0x54E3, 107071 },
+ { 0x54E4, 108806 },
+ { 0x54E5, 108809 },
+ { 0x54E6, 108812 },
+ { 0x54E7, 110000 },
+ { 0x54E8, 110747 },
+ { 0x54E9, 107080 },
+ { 0x54EA, 108815 },
+ { 0x54EB, 107083 },
+ { 0x54EC, 108818 },
+ { 0x54ED, 107091 },
+ { 0x54EE, 107094 },
+ { 0x54EF, 108821 },
+ { 0x54F0, 108824 },
+ { 0x54F1, 111002 },
+ { 0x54F2, 111005 },
+ { 0x54F3, 110006 },
+ { 0x54F4, 110037 },
+ { 0x54F5, 110047 },
+ { 0x54F6, 110042 },
+ { 0x54F7, 110009 },
+ { 0x54F8, 110014 },
+ { 0x54F9, 110052 },
+ { 0x54FA, 110750 },
+ { 0x54FB, 110757 },
+ { 0x54FC, 110762 },
+ { 0x54FD, 110769 },
+ { 0x54FE, 110753 },
+ { 0x54FF, 107099 },
+ { 0x5500, 108828 },
+ { 0x5501, 110057 },
+ { 0x5502, 110066 },
+ { 0x5503, 110060 },
+ { 0x5504, 110070 },
+ { 0x5505, 110779 },
+ { 0x5506, 108837 },
+ { 0x5507, 108834 },
+ { 0x5508, 110075 },
+ { 0x5509, 107102 },
+ { 0x550A, 107105 },
+ { 0x550B, 107110 },
+ { 0x550C, 107115 },
+ { 0x550D, 107119 },
+ { 0x550E, 107122 },
+ { 0x550F, 108841 },
+ { 0x5510, 108844 },
+ { 0x5511, 108855 },
+ { 0x5512, 108847 },
+ { 0x5513, 111008 },
+ { 0x5514, 111023 },
+ { 0x5515, 111058 },
+ { 0x5516, 111063 },
+ { 0x5517, 111081 },
+ { 0x5518, 111038 },
+ { 0x5519, 111046 },
+ { 0x551A, 111091 },
+ { 0x551B, 111103 },
+ { 0x551C, 111108 },
+ { 0x551D, 111116 },
+ { 0x551E, 111123 },
+ { 0x551F, 111051 },
+ { 0x5520, 111132 },
+ { 0x5521, 110782 },
+ { 0x5522, 107127 },
+ { 0x5523, 110081 },
+ { 0x5524, 108864 },
+ { 0x5525, 108876 },
+ { 0x5526, 108905 },
+ { 0x5527, 108882 },
+ { 0x5528, 108888 },
+ { 0x5529, 108899 },
+ { 0x552A, 108872 },
+ { 0x552B, 108867 },
+ { 0x552C, 108911 },
+ { 0x552D, 108916 },
+ { 0x552E, 110785 },
+ { 0x552F, 110843 },
+ { 0x5530, 110788 },
+ { 0x5531, 110812 },
+ { 0x5532, 110818 },
+ { 0x5533, 110824 },
+ { 0x5534, 110831 },
+ { 0x5535, 110794 },
+ { 0x5536, 110800 },
+ { 0x5537, 110837 },
+ { 0x5538, 110806 },
+ { 0x5539, 110849 },
+ { 0x553A, 110855 },
+ { 0x553B, 107130 },
+ { 0x553C, 108924 },
+ { 0x553D, 108927 },
+ { 0x553E, 108930 },
+ { 0x553F, 110862 },
+ { 0x5540, 107133 },
+ { 0x5541, 107136 },
+ { 0x5542, 107156 },
+ { 0x5543, 107161 },
+ { 0x5544, 107166 },
+ { 0x5545, 107141 },
+ { 0x5546, 107146 },
+ { 0x5547, 107171 },
+ { 0x5548, 107151 },
+ { 0x5549, 107176 },
+ { 0x554A, 107181 },
+ { 0x554B, 110869 },
+ { 0x554C, 110882 },
+ { 0x554D, 110872 },
+ { 0x554E, 110877 },
+ { 0x554F, 110887 },
+ { 0x5550, 107186 },
+ { 0x5551, 108933 },
+ { 0x5552, 107189 },
+ { 0x5553, 107192 },
+ { 0x5554, 107195 },
+ { 0x5555, 109062 },
+ { 0x5556, 108936 },
+ { 0x5557, 108954 },
+ { 0x5558, 108959 },
+ { 0x5559, 108999 },
+ { 0x555A, 108969 },
+ { 0x555B, 109010 },
+ { 0x555C, 109015 },
+ { 0x555D, 109020 },
+ { 0x555E, 108974 },
+ { 0x555F, 109025 },
+ { 0x5560, 109030 },
+ { 0x5561, 109052 },
+ { 0x5562, 109042 },
+ { 0x5563, 108979 },
+ { 0x5564, 108984 },
+ { 0x5565, 108989 },
+ { 0x5566, 108994 },
+ { 0x5567, 109047 },
+ { 0x5568, 108949 },
+ { 0x5569, 108939 },
+ { 0x556A, 109066 },
+ { 0x556B, 109069 },
+ { 0x556C, 111162 },
+ { 0x556D, 109075 },
+ { 0x556E, 109078 },
+ { 0x556F, 110105 },
+ { 0x5570, 110108 },
+ { 0x5571, 110130 },
+ { 0x5572, 110140 },
+ { 0x5573, 110125 },
+ { 0x5574, 110145 },
+ { 0x5575, 110135 },
+ { 0x5576, 110113 },
+ { 0x5577, 110118 },
+ { 0x5578, 110150 },
+ { 0x5579, 110892 },
+ { 0x557A, 110895 },
+ { 0x557B, 109081 },
+ { 0x557C, 109084 },
+ { 0x557D, 109093 },
+ { 0x557E, 109104 },
+ { 0x557F, 110898 },
+ { 0x5580, 110157 },
+ { 0x5581, 110901 },
+ { 0x5582, 111165 },
+ { 0x5583, 111467 },
+ { 0x5584, 110160 },
+ { 0x5585, 110163 },
+ { 0x5586, 110168 },
+ { 0x5587, 110173 },
+ { 0x5588, 110176 },
+ { 0x5589, 110181 },
+ { 0x558A, 110222 },
+ { 0x558B, 110186 },
+ { 0x558C, 110191 },
+ { 0x558D, 110196 },
+ { 0x558E, 110201 },
+ { 0x558F, 110227 },
+ { 0x5590, 110207 },
+ { 0x5591, 110212 },
+ { 0x5592, 110217 },
+ { 0x5593, 111168 },
+ { 0x5594, 110232 },
+ { 0x5595, 110243 },
+ { 0x5596, 110235 },
+ { 0x5597, 110904 },
+ { 0x5598, 109130 },
+ { 0x5599, 109133 },
+ { 0x559A, 110247 },
+ { 0x559B, 111171 },
+ { 0x559C, 107198 },
+ { 0x559D, 107201 },
+ { 0x559E, 109139 },
+ { 0x559F, 110264 },
+ { 0x55A0, 110267 },
+ { 0x55A1, 110273 },
+ { 0x55A2, 110907 },
+ { 0x55A3, 107210 },
+ { 0x55A4, 107213 },
+ { 0x55A5, 109142 },
+ { 0x55A6, 110276 },
+ { 0x55A7, 110910 },
+ { 0x55A8, 109145 },
+ { 0x55A9, 111174 },
+ { 0x55AA, 109148 },
+ { 0x55AB, 110279 },
+ { 0x55AC, 107218 },
+ { 0x55AD, 107235 },
+ { 0x55AE, 107225 },
+ { 0x55AF, 107230 },
+ { 0x55B0, 107221 },
+ { 0x55B1, 109151 },
+ { 0x55B2, 109154 },
+ { 0x55B3, 109165 },
+ { 0x55B4, 109169 },
+ { 0x55B5, 109172 },
+ { 0x55B6, 109182 },
+ { 0x55B7, 109187 },
+ { 0x55B8, 109192 },
+ { 0x55B9, 109197 },
+ { 0x55BA, 109177 },
+ { 0x55BB, 110282 },
+ { 0x55BC, 109202 },
+ { 0x55BD, 107239 },
+ { 0x55BE, 107242 },
+ { 0x55BF, 107246 },
+ { 0x55C0, 107249 },
+ { 0x55C1, 109208 },
+ { 0x55C2, 109211 },
+ { 0x55C3, 109230 },
+ { 0x55C4, 109214 },
+ { 0x55C5, 109219 },
+ { 0x55C6, 107253 },
+ { 0x55C7, 110290 },
+ { 0x55C8, 109235 },
+ { 0x55C9, 109238 },
+ { 0x55CA, 109253 },
+ { 0x55CB, 109256 },
+ { 0x55CC, 106125 },
+ { 0x55CD, 106137 },
+ { 0x55CE, 106132 },
+ { 0x55CF, 106151 },
+ { 0x55D0, 106162 },
+ { 0x55D1, 106141 },
+ { 0x55D2, 107256 },
+ { 0x55D3, 107259 },
+ { 0x55D4, 107262 },
+ { 0x55D5, 107298 },
+ { 0x55D6, 107293 },
+ { 0x55D7, 107288 },
+ { 0x55D8, 107269 },
+ { 0x55D9, 107278 },
+ { 0x55DA, 107265 },
+ { 0x55DB, 107302 },
+ { 0x55DC, 107306 },
+ { 0x55DD, 110293 },
+ { 0x55DE, 107312 },
+ { 0x55DF, 107337 },
+ { 0x55E0, 107325 },
+ { 0x55E1, 107332 },
+ { 0x55E2, 107315 },
+ { 0x55E3, 110913 },
+ { 0x55E4, 110296 },
+ { 0x55E5, 110304 },
+ { 0x55E6, 110299 },
+ { 0x55E7, 107342 },
+ { 0x55E8, 107345 },
+ { 0x55E9, 107349 },
+ { 0x55EA, 107356 },
+ { 0x55EB, 107352 },
+ { 0x55EC, 109264 },
+ { 0x55ED, 109267 },
+ { 0x55EE, 109274 },
+ { 0x55EF, 109281 },
+ { 0x55F0, 109286 },
+ { 0x55F1, 109315 },
+ { 0x55F2, 109291 },
+ { 0x55F3, 109303 },
+ { 0x55F4, 109296 },
+ { 0x55F5, 109324 },
+ { 0x55F6, 109327 },
+ { 0x55F7, 110309 },
+ { 0x55F8, 109330 },
+ { 0x55F9, 109333 },
+ { 0x55FA, 109456 },
+ { 0x55FB, 109385 },
+ { 0x55FC, 109390 },
+ { 0x55FD, 109345 },
+ { 0x55FE, 109395 },
+ { 0x55FF, 109435 },
+ { 0x5600, 109400 },
+ { 0x5601, 109350 },
+ { 0x5602, 109355 },
+ { 0x5603, 109405 },
+ { 0x5604, 109360 },
+ { 0x5605, 109410 },
+ { 0x5606, 109365 },
+ { 0x5607, 109420 },
+ { 0x5608, 109425 },
+ { 0x5609, 109370 },
+ { 0x560A, 109430 },
+ { 0x560B, 109441 },
+ { 0x560C, 109375 },
+ { 0x560D, 109338 },
+ { 0x560E, 109380 },
+ { 0x560F, 109451 },
+ { 0x5610, 110916 },
+ { 0x5611, 110919 },
+ { 0x5612, 109466 },
+ { 0x5613, 109469 },
+ { 0x5614, 109474 },
+ { 0x5615, 109479 },
+ { 0x5616, 109484 },
+ { 0x5617, 110315 },
+ { 0x5618, 110312 },
+ { 0x5619, 111177 },
+ { 0x561A, 110924 },
+ { 0x561B, 109489 },
+ { 0x561C, 109492 },
+ { 0x561D, 109497 },
+ { 0x561E, 107361 },
+ { 0x561F, 107364 },
+ { 0x5620, 107368 },
+ { 0x5621, 109503 },
+ { 0x5622, 110318 },
+ { 0x5623, 109506 },
+ { 0x5624, 107374 },
+ { 0x5625, 107377 },
+ { 0x5626, 109509 },
+ { 0x5627, 109512 },
+ { 0x5628, 109515 },
+ { 0x5629, 109520 },
+ { 0x562A, 110321 },
+ { 0x562B, 107382 },
+ { 0x562C, 109523 },
+ { 0x562D, 109526 },
+ { 0x562E, 110927 },
+ { 0x562F, 109538 },
+ { 0x5630, 108526 },
+ { 0x5631, 106205 },
+ { 0x5632, 107395 },
+ { 0x5633, 109547 },
+ { 0x5634, 107598 },
+ { 0x5635, 109577 },
+ { 0x5636, 109591 },
+ { 0x5637, 107704 },
+ { 0x5638, 109709 },
+ { 0x5639, 109732 },
+ { 0x563A, 107915 },
+ { 0x563B, 108253 },
+ { 0x563C, 109844 },
+ { 0x563D, 108375 },
+ { 0x563E, 109950 },
+ { 0x563F, 107001 },
+ { 0x5640, 106939 },
+ { 0x5641, 106960 },
+ { 0x5642, 106864 },
+ { 0x5643, 106715 },
+ { 0x5644, 106884 },
+ { 0x5645, 106790 },
+ { 0x5646, 106989 },
+ { 0x5647, 106810 },
+ { 0x5648, 106924 },
+ { 0x5649, 110461 },
+ { 0x564A, 108761 },
+ { 0x564B, 108699 },
+ { 0x564C, 108684 },
+ { 0x564D, 110003 },
+ { 0x564E, 110774 },
+ { 0x564F, 108831 },
+ { 0x5650, 108861 },
+ { 0x5651, 110078 },
+ { 0x5652, 111070 },
+ { 0x5653, 111028 },
+ { 0x5654, 110096 },
+ { 0x5655, 110865 },
+ { 0x5656, 110102 },
+ { 0x5657, 109004 },
+ { 0x5658, 109205 },
+ { 0x5659, 107320 },
+ { 0x565A, 106128 },
+ { 0x565B, 111597 },
+ { 0x565C, 112001 },
+ { 0x565D, 111740 },
+ { 0x565E, 111669 },
+ { 0x565F, 111564 },
+ { 0x5660, 111942 },
+ { 0x5661, 111896 },
+ { 0x5662, 111835 },
+ { 0x5663, 112029 },
+ { 0x5664, 111768 },
+ { 0x5665, 111697 },
+ { 0x5666, 111575 },
+ { 0x5667, 111947 },
+ { 0x5668, 111901 },
+ { 0x5669, 111840 },
+ { 0x566A, 111728 },
+ { 0x566B, 111657 },
+ { 0x566C, 111552 },
+ { 0x566D, 111930 },
+ { 0x566E, 111884 },
+ { 0x566F, 111823 },
+ { 0x5670, 111505 },
+ { 0x5671, 111623 },
+ { 0x5672, 112034 },
+ { 0x5673, 111773 },
+ { 0x5674, 111702 },
+ { 0x5675, 111580 },
+ { 0x5676, 111952 },
+ { 0x5677, 111906 },
+ { 0x5678, 111845 },
+ { 0x5679, 111510 },
+ { 0x567A, 111628 },
+ { 0x567B, 112039 },
+ { 0x567C, 111778 },
+ { 0x567D, 111707 },
+ { 0x567E, 111633 },
+ { 0x567F, 112044 },
+ { 0x5680, 112049 },
+ { 0x5681, 111783 },
+ { 0x5682, 111712 },
+ { 0x5683, 111585 },
+ { 0x5684, 111957 },
+ { 0x5685, 111911 },
+ { 0x5686, 111850 },
+ { 0x5687, 111515 },
+ { 0x5688, 111638 },
+ { 0x5689, 112056 },
+ { 0x568A, 112061 },
+ { 0x568B, 111788 },
+ { 0x568C, 111717 },
+ { 0x568D, 111993 },
+ { 0x568E, 111985 },
+ { 0x568F, 111489 },
+ { 0x5690, 111613 },
+ { 0x5691, 112017 },
+ { 0x5692, 112022 },
+ { 0x5693, 111763 },
+ { 0x5694, 111692 },
+ { 0x5695, 112068 },
+ { 0x5696, 112075 },
+ { 0x5697, 111793 },
+ { 0x5698, 111816 },
+ { 0x5699, 111800 },
+ { 0x569A, 111808 },
+ { 0x569B, 111590 },
+ { 0x569C, 111978 },
+ { 0x569D, 111962 },
+ { 0x569E, 111970 },
+ { 0x569F, 111916 },
+ { 0x56A0, 111923 },
+ { 0x56A1, 111855 },
+ { 0x56A2, 111870 },
+ { 0x56A3, 111877 },
+ { 0x56A4, 111862 },
+ { 0x56A5, 111602 },
+ { 0x56A6, 112006 },
+ { 0x56A7, 111745 },
+ { 0x56A8, 111674 },
+ { 0x56A9, 111569 },
+ { 0x56AA, 111484 },
+ { 0x56AB, 111608 },
+ { 0x56AC, 112012 },
+ { 0x56AD, 111751 },
+ { 0x56AE, 111756 },
+ { 0x56AF, 111680 },
+ { 0x56B0, 111685 },
+ { 0x56B1, 112108 },
+ { 0x56B2, 112104 },
+ { 0x56B3, 111500 },
+ { 0x56B4, 111618 },
+ { 0x56B5, 111520 },
+ { 0x56B6, 111643 },
+ { 0x56B7, 111722 },
+ { 0x56B8, 111526 },
+ { 0x56B9, 111649 },
+ { 0x56BA, 111534 },
+ { 0x56BB, 111540 },
+ { 0x56BC, 111470 },
+ { 0x56BD, 111477 },
+ { 0x56BE, 111546 },
+ { 0x56BF, 111494 },
+ { 0x56C0, 112082 },
+ { 0x56C1, 112088 },
+ { 0x56C2, 112099 },
+ { 0x56C3, 112094 },
+ { 0x56C4, 111733 },
+ { 0x56C5, 111662 },
+ { 0x56C6, 111557 },
+ { 0x56C7, 111935 },
+ { 0x56C8, 111889 },
+ { 0x56C9, 111828 },
+ { 0x56CA, 112112 },
+ { 0x56CB, 112134 },
+ { 0x56CC, 112119 },
+ { 0x56CD, 112124 },
+ { 0x56CE, 112129 },
+ { 0x56CF, 106210 },
+ { 0x56D0, 106238 },
+ { 0x56D1, 106256 },
+ { 0x56D2, 107476 },
+ { 0x56D3, 110946 },
+ { 0x56D4, 110936 },
+ { 0x56D5, 110941 },
+ { 0x56D6, 106384 },
+ { 0x56D7, 106399 },
+ { 0x56D8, 107499 },
+ { 0x56D9, 107681 },
+ { 0x56DA, 107674 },
+ { 0x56DB, 109583 },
+ { 0x56DC, 107836 },
+ { 0x56DD, 107758 },
+ { 0x56DE, 107763 },
+ { 0x56DF, 107770 },
+ { 0x56E0, 107775 },
+ { 0x56E1, 107841 },
+ { 0x56E2, 107717 },
+ { 0x56E3, 107722 },
+ { 0x56E4, 107820 },
+ { 0x56E5, 107826 },
+ { 0x56E6, 107727 },
+ { 0x56E7, 107732 },
+ { 0x56E8, 107780 },
+ { 0x56E9, 107846 },
+ { 0x56EA, 107786 },
+ { 0x56EB, 107851 },
+ { 0x56EC, 107856 },
+ { 0x56ED, 107863 },
+ { 0x56EE, 107791 },
+ { 0x56EF, 107796 },
+ { 0x56F0, 107803 },
+ { 0x56F1, 107831 },
+ { 0x56F2, 107810 },
+ { 0x56F3, 107737 },
+ { 0x56F4, 107742 },
+ { 0x56F5, 107747 },
+ { 0x56F6, 107815 },
+ { 0x56F7, 107752 },
+ { 0x56F8, 106450 },
+ { 0x56F9, 106455 },
+ { 0x56FA, 110362 },
+ { 0x56FB, 109629 },
+ { 0x56FC, 109785 },
+ { 0x56FD, 109761 },
+ { 0x56FE, 109791 },
+ { 0x56FF, 109767 },
+ { 0x5700, 109798 },
+ { 0x5701, 109773 },
+ { 0x5702, 109804 },
+ { 0x5703, 109779 },
+ { 0x5704, 109689 },
+ { 0x5705, 108313 },
+ { 0x5706, 108082 },
+ { 0x5707, 108100 },
+ { 0x5708, 108108 },
+ { 0x5709, 108265 },
+ { 0x570A, 107959 },
+ { 0x570B, 108120 },
+ { 0x570C, 108127 },
+ { 0x570D, 107969 },
+ { 0x570E, 108323 },
+ { 0x570F, 108197 },
+ { 0x5710, 108202 },
+ { 0x5711, 108209 },
+ { 0x5712, 108288 },
+ { 0x5713, 108009 },
+ { 0x5714, 108014 },
+ { 0x5715, 108021 },
+ { 0x5716, 108298 },
+ { 0x5717, 108308 },
+ { 0x5718, 109813 },
+ { 0x5719, 111183 },
+ { 0x571A, 109899 },
+ { 0x571B, 108385 },
+ { 0x571C, 108425 },
+ { 0x571D, 106550 },
+ { 0x571E, 106568 },
+ { 0x571F, 106695 },
+ { 0x5720, 106727 },
+ { 0x5721, 106671 },
+ { 0x5722, 106825 },
+ { 0x5723, 110547 },
+ { 0x5724, 111193 },
+ { 0x5725, 111196 },
+ { 0x5726, 111199 },
+ { 0x5727, 111202 },
+ { 0x5728, 111205 },
+ { 0x5729, 111208 },
+ { 0x572A, 111211 },
+ { 0x572B, 111214 },
+ { 0x572C, 111220 },
+ { 0x572D, 111223 },
+ { 0x572E, 111228 },
+ { 0x572F, 111231 },
+ { 0x5730, 111234 },
+ { 0x5731, 111237 },
+ { 0x5732, 111240 },
+ { 0x5733, 111243 },
+ { 0x5734, 111246 },
+ { 0x5735, 111249 },
+ { 0x5736, 111252 },
+ { 0x5737, 111255 },
+ { 0x5738, 111258 },
+ { 0x5739, 111261 },
+ { 0x573A, 111264 },
+ { 0x573B, 111267 },
+ { 0x573C, 111270 },
+ { 0x573D, 111273 },
+ { 0x573E, 111276 },
+ { 0x573F, 111279 },
+ { 0x5740, 111282 },
+ { 0x5741, 111285 },
+ { 0x5742, 111297 },
+ { 0x5743, 111302 },
+ { 0x5744, 111309 },
+ { 0x5745, 111290 },
+ { 0x5746, 111318 },
+ { 0x5747, 111321 },
+ { 0x5748, 111324 },
+ { 0x5749, 111327 },
+ { 0x574A, 111330 },
+ { 0x574B, 111333 },
+ { 0x574C, 111336 },
+ { 0x574D, 111339 },
+ { 0x574E, 111342 },
+ { 0x574F, 111345 },
+ { 0x5750, 111348 },
+ { 0x5751, 111371 },
+ { 0x5752, 111376 },
+ { 0x5753, 111391 },
+ { 0x5754, 111381 },
+ { 0x5755, 111351 },
+ { 0x5756, 111386 },
+ { 0x5757, 111356 },
+ { 0x5758, 111361 },
+ { 0x5759, 111366 },
+ { 0x575A, 111398 },
+ { 0x575B, 111403 },
+ { 0x575C, 111406 },
+ { 0x575D, 111424 },
+ { 0x575E, 111409 },
+ { 0x575F, 111429 },
+ { 0x5760, 111434 },
+ { 0x5761, 111414 },
+ { 0x5762, 111440 },
+ { 0x5763, 111449 },
+ { 0x5764, 111419 },
+ { 0x5765, 111456 },
+ { 0x5766, 111461 },
+ { 0x5767, 111464 },
+ { 0x5768, 108597 },
+ { 0x5769, 108689 },
+ { 0x576A, 108665 },
+ { 0x576B, 108670 },
+ { 0x576C, 108675 },
+ { 0x576D, 108742 },
+ { 0x576E, 107086 },
+ { 0x576F, 110023 },
+ { 0x5770, 110030 },
+ { 0x5771, 111075 },
+ { 0x5772, 111137 },
+ { 0x5773, 111086 },
+ { 0x5774, 111033 },
+ { 0x5775, 111147 },
+ { 0x5776, 111157 },
+ { 0x5777, 111142 },
+ { 0x5778, 111096 },
+ { 0x5779, 111011 },
+ { 0x577A, 111016 },
+ { 0x577B, 111152 },
+ { 0x577C, 108943 },
+ { 0x577D, 108964 },
+ { 0x577E, 109035 },
+ { 0x577F, 109057 },
+ { 0x5780, 110153 },
+ { 0x5781, 109088 },
+ { 0x5782, 109120 },
+ { 0x5783, 109125 },
+ { 0x5784, 109115 },
+ { 0x5785, 110257 },
+ { 0x5786, 110250 },
+ { 0x5787, 107205 },
+ { 0x5788, 110285 },
+ { 0x5789, 109241 },
+ { 0x578A, 109247 },
+ { 0x578B, 109320 },
+ { 0x578C, 109310 },
+ { 0x578D, 109446 },
+ { 0x578E, 109461 },
+ { 0x578F, 109415 },
+ { 0x5790, 109500 },
+ { 0x5791, 107385 },
+ { 0x5792, 109531 },
+ { 0x5793, 125874 },
+ { 0x5794, 125877 },
+ { 0x5795, 125880 },
+ { 0x5796, 125883 },
+ { 0x5797, 125886 },
+ { 0x5798, 125889 },
+ { 0x5799, 125892 },
+ { 0x579A, 125895 },
+ { 0x579B, 125898 },
+ { 0x579C, 125901 },
+ { 0x579D, 125904 },
+ { 0x579E, 126165 },
+ { 0x579F, 125907 },
+ { 0x57A0, 125910 },
+ { 0x57A1, 125913 },
+ { 0x57A2, 125916 },
+ { 0x57A3, 125919 },
+ { 0x57A4, 125922 },
+ { 0x57A5, 125925 },
+ { 0x57A6, 125928 },
+ { 0x57A7, 125931 },
+ { 0x57A8, 125934 },
+ { 0x57A9, 125937 },
+ { 0x57AA, 125940 },
+ { 0x57AB, 125943 },
+ { 0x57AC, 125946 },
+ { 0x57AD, 125949 },
+ { 0x57AE, 125952 },
+ { 0x57AF, 125955 },
+ { 0x57B0, 125958 },
+ { 0x57B1, 125961 },
+ { 0x57B2, 125964 },
+ { 0x57B3, 125967 },
+ { 0x57B4, 125970 },
+ { 0x57B5, 125973 },
+ { 0x57B6, 125976 },
+ { 0x57B7, 125979 },
+ { 0x57B8, 125982 },
+ { 0x57B9, 125985 },
+ { 0x57BA, 125988 },
+ { 0x57BB, 125991 },
+ { 0x57BC, 125994 },
+ { 0x57BD, 125997 },
+ { 0x57BE, 126000 },
+ { 0x57BF, 126003 },
+ { 0x57C0, 126006 },
+ { 0x57C1, 126009 },
+ { 0x57C2, 126012 },
+ { 0x57C3, 126015 },
+ { 0x57C4, 126018 },
+ { 0x57C5, 126021 },
+ { 0x57C6, 126024 },
+ { 0x57C7, 126027 },
+ { 0x57C8, 126030 },
+ { 0x57C9, 126033 },
+ { 0x57CA, 126036 },
+ { 0x57CB, 126039 },
+ { 0x57CC, 126042 },
+ { 0x57CD, 126045 },
+ { 0x57CE, 126048 },
+ { 0x57CF, 126051 },
+ { 0x57D0, 126054 },
+ { 0x57D1, 126168 },
+ { 0x57D2, 126057 },
+ { 0x57D3, 126060 },
+ { 0x57D4, 126063 },
+ { 0x57D5, 126066 },
+ { 0x57D6, 126069 },
+ { 0x57D7, 126072 },
+ { 0x57D8, 126075 },
+ { 0x57D9, 126078 },
+ { 0x57DA, 126081 },
+ { 0x57DB, 126084 },
+ { 0x57DC, 126087 },
+ { 0x57DD, 126090 },
+ { 0x57DE, 126093 },
+ { 0x57DF, 126096 },
+ { 0x57E0, 126099 },
+ { 0x57E1, 126102 },
+ { 0x57E2, 126105 },
+ { 0x57E3, 126108 },
+ { 0x57E4, 126111 },
+ { 0x57E5, 126114 },
+ { 0x57E6, 126117 },
+ { 0x57E7, 126120 },
+ { 0x57E8, 126123 },
+ { 0x57E9, 126126 },
+ { 0x57EA, 126129 },
+ { 0x57EB, 126132 },
+ { 0x57EC, 126135 },
+ { 0x57ED, 126138 },
+ { 0x57EE, 126141 },
+ { 0x57EF, 126144 },
+ { 0x57F0, 126147 },
+ { 0x57F1, 126150 },
+ { 0x57F2, 126153 },
+ { 0x57F3, 126156 },
+ { 0x57F4, 126159 },
+ { 0x57F5, 126162 },
+ { 0x57F6, 86731 },
+ { 0x57F7, 86734 },
+ { 0x57F8, 86737 },
+ { 0x57F9, 86740 },
+ { 0x57FA, 86743 },
+ { 0x57FB, 89032 },
+ { 0x57FC, 86746 },
+ { 0x57FD, 89035 },
+ { 0x57FE, 89038 },
+ { 0x57FF, 86749 },
+ { 0x5800, 86752 },
+ { 0x5801, 86755 },
+ { 0x5802, 86758 },
+ { 0x5803, 86761 },
+ { 0x5804, 86764 },
+ { 0x5805, 86767 },
+ { 0x5806, 86770 },
+ { 0x5807, 89041 },
+ { 0x5808, 86773 },
+ { 0x5809, 86776 },
+ { 0x580A, 86779 },
+ { 0x580B, 89044 },
+ { 0x580C, 86782 },
+ { 0x580D, 86785 },
+ { 0x580E, 86788 },
+ { 0x580F, 86791 },
+ { 0x5810, 86794 },
+ { 0x5811, 86797 },
+ { 0x5812, 86800 },
+ { 0x5813, 86803 },
+ { 0x5814, 86806 },
+ { 0x5815, 86809 },
+ { 0x5816, 86812 },
+ { 0x5817, 86815 },
+ { 0x5818, 86818 },
+ { 0x5819, 86821 },
+ { 0x581A, 86824 },
+ { 0x581B, 89047 },
+ { 0x581C, 86827 },
+ { 0x581D, 86830 },
+ { 0x581E, 86833 },
+ { 0x581F, 86836 },
+ { 0x5820, 86839 },
+ { 0x5821, 86842 },
+ { 0x5822, 86845 },
+ { 0x5823, 86848 },
+ { 0x5824, 89050 },
+ { 0x5825, 86851 },
+ { 0x5826, 86854 },
+ { 0x5827, 89053 },
+ { 0x5828, 86857 },
+ { 0x5829, 89056 },
+ { 0x582A, 86860 },
+ { 0x582B, 86863 },
+ { 0x582C, 89059 },
+ { 0x582D, 86866 },
+ { 0x582E, 86869 },
+ { 0x582F, 86872 },
+ { 0x5830, 86875 },
+ { 0x5831, 86878 },
+ { 0x5832, 86881 },
+ { 0x5833, 86884 },
+ { 0x5834, 86887 },
+ { 0x5835, 86890 },
+ { 0x5836, 86893 },
+ { 0x5837, 86896 },
+ { 0x5838, 86899 },
+ { 0x5839, 86902 },
+ { 0x583A, 86905 },
+ { 0x583B, 86908 },
+ { 0x583C, 86911 },
+ { 0x583D, 86914 },
+ { 0x583E, 86917 },
+ { 0x583F, 86920 },
+ { 0x5840, 86923 },
+ { 0x5841, 86926 },
+ { 0x5842, 86929 },
+ { 0x5843, 86932 },
+ { 0x5844, 86935 },
+ { 0x5845, 86938 },
+ { 0x5846, 86941 },
+ { 0x5847, 86944 },
+ { 0x5848, 86947 },
+ { 0x5849, 86950 },
+ { 0x584A, 86953 },
+ { 0x584B, 89158 },
+ { 0x584C, 86956 },
+ { 0x584D, 86959 },
+ { 0x584E, 86962 },
+ { 0x584F, 86965 },
+ { 0x5850, 86968 },
+ { 0x5851, 86971 },
+ { 0x5852, 89174 },
+ { 0x5853, 89177 },
+ { 0x5854, 89180 },
+ { 0x5855, 86974 },
+ { 0x5856, 86977 },
+ { 0x5857, 86980 },
+ { 0x5858, 86983 },
+ { 0x5859, 86986 },
+ { 0x585A, 86989 },
+ { 0x585B, 86992 },
+ { 0x585C, 86995 },
+ { 0x585D, 89183 },
+ { 0x585E, 86998 },
+ { 0x585F, 87001 },
+ { 0x5860, 87004 },
+ { 0x5861, 87007 },
+ { 0x5862, 87010 },
+ { 0x5863, 87013 },
+ { 0x5864, 87016 },
+ { 0x5865, 87019 },
+ { 0x5866, 87022 },
+ { 0x5867, 87025 },
+ { 0x5868, 87028 },
+ { 0x5869, 87031 },
+ { 0x586A, 87034 },
+ { 0x586B, 87037 },
+ { 0x586C, 87040 },
+ { 0x586D, 87043 },
+ { 0x586E, 87046 },
+ { 0x586F, 87049 },
+ { 0x5870, 87052 },
+ { 0x5871, 87055 },
+ { 0x5872, 87058 },
+ { 0x5873, 87061 },
+ { 0x5874, 89186 },
+ { 0x5875, 87064 },
+ { 0x5876, 87067 },
+ { 0x5877, 87070 },
+ { 0x5878, 87073 },
+ { 0x5879, 87076 },
+ { 0x587A, 87079 },
+ { 0x587B, 87082 },
+ { 0x587C, 87085 },
+ { 0x587D, 87088 },
+ { 0x587E, 87091 },
+ { 0x587F, 87094 },
+ { 0x5880, 87097 },
+ { 0x5881, 87100 },
+ { 0x5882, 87103 },
+ { 0x5883, 87106 },
+ { 0x5884, 87109 },
+ { 0x5885, 87112 },
+ { 0x5886, 87115 },
+ { 0x5887, 87118 },
+ { 0x5888, 89189 },
+ { 0x5889, 87121 },
+ { 0x588A, 87124 },
+ { 0x588B, 87127 },
+ { 0x588C, 87130 },
+ { 0x588D, 89192 },
+ { 0x588E, 87133 },
+ { 0x588F, 87136 },
+ { 0x5890, 87139 },
+ { 0x5891, 89195 },
+ { 0x5892, 87142 },
+ { 0x5893, 87145 },
+ { 0x5894, 87148 },
+ { 0x5895, 87151 },
+ { 0x5896, 87154 },
+ { 0x5897, 87157 },
+ { 0x5898, 87160 },
+ { 0x5899, 87163 },
+ { 0x589A, 87166 },
+ { 0x589B, 87169 },
+ { 0x589C, 87172 },
+ { 0x589D, 87175 },
+ { 0x589E, 89198 },
+ { 0x589F, 87178 },
+ { 0x58A0, 87181 },
+ { 0x58A1, 89201 },
+ { 0x58A2, 87184 },
+ { 0x58A3, 87187 },
+ { 0x58A4, 89204 },
+ { 0x58A5, 89207 },
+ { 0x58A6, 89210 },
+ { 0x58A7, 89213 },
+ { 0x58A8, 89216 },
+ { 0x58A9, 89219 },
+ { 0x58AA, 89222 },
+ { 0x58AB, 89225 },
+ { 0x58AC, 89228 },
+ { 0x58AD, 87190 },
+ { 0x58AE, 87193 },
+ { 0x58AF, 89231 },
+ { 0x58B0, 87196 },
+ { 0x58B1, 87199 },
+ { 0x58B2, 89234 },
+ { 0x58B3, 87202 },
+ { 0x58B4, 87205 },
+ { 0x58B5, 87208 },
+ { 0x58B6, 87211 },
+ { 0x58B7, 87214 },
+ { 0x58B8, 87217 },
+ { 0x58B9, 87220 },
+ { 0x58BA, 87223 },
+ { 0x58BB, 87226 },
+ { 0x58BC, 87229 },
+ { 0x58BD, 87232 },
+ { 0x58BE, 87235 },
+ { 0x58BF, 87238 },
+ { 0x58C0, 89237 },
+ { 0x58C1, 89240 },
+ { 0x58C2, 89243 },
+ { 0x58C3, 89246 },
+ { 0x58C4, 89249 },
+ { 0x58C5, 89252 },
+ { 0x58C6, 89255 },
+ { 0x58C7, 89258 },
+ { 0x58C8, 87241 },
+ { 0x58C9, 87244 },
+ { 0x58CA, 87247 },
+ { 0x58CB, 87250 },
+ { 0x58CC, 87253 },
+ { 0x58CD, 87256 },
+ { 0x58CE, 87259 },
+ { 0x58CF, 87262 },
+ { 0x58D0, 89261 },
+ { 0x58D1, 87265 },
+ { 0x58D2, 89264 },
+ { 0x58D3, 87268 },
+ { 0x58D4, 87271 },
+ { 0x58D5, 87274 },
+ { 0x58D6, 87277 },
+ { 0x58D7, 87280 },
+ { 0x58D8, 87283 },
+ { 0x58D9, 87286 },
+ { 0x58DA, 89267 },
+ { 0x58DB, 87289 },
+ { 0x58DC, 89270 },
+ { 0x58DD, 87292 },
+ { 0x58DE, 87295 },
+ { 0x58DF, 87298 },
+ { 0x58E0, 89273 },
+ { 0x58E1, 87301 },
+ { 0x58E2, 87304 },
+ { 0x58E3, 87307 },
+ { 0x58E4, 87310 },
+ { 0x58E5, 87313 },
+ { 0x58E6, 87316 },
+ { 0x58E7, 87319 },
+ { 0x58E8, 87322 },
+ { 0x58E9, 89276 },
+ { 0x58EA, 87325 },
+ { 0x58EB, 87328 },
+ { 0x58EC, 87331 },
+ { 0x58ED, 87334 },
+ { 0x58EE, 87337 },
+ { 0x58EF, 87340 },
+ { 0x58F0, 89279 },
+ { 0x58F1, 87343 },
+ { 0x58F2, 87346 },
+ { 0x58F3, 87349 },
+ { 0x58F4, 87352 },
+ { 0x58F5, 89282 },
+ { 0x58F6, 87355 },
+ { 0x58F7, 87358 },
+ { 0x58F8, 87361 },
+ { 0x58F9, 87364 },
+ { 0x58FA, 87367 },
+ { 0x58FB, 87370 },
+ { 0x58FC, 87373 },
+ { 0x58FD, 87376 },
+ { 0x58FE, 87379 },
+ { 0x58FF, 87382 },
+ { 0x5900, 87385 },
+ { 0x5901, 87388 },
+ { 0x5902, 89285 },
+ { 0x5903, 87391 },
+ { 0x5904, 87394 },
+ { 0x5905, 87397 },
+ { 0x5906, 87400 },
+ { 0x5907, 87403 },
+ { 0x5908, 87406 },
+ { 0x5909, 87409 },
+ { 0x590A, 87412 },
+ { 0x590B, 89288 },
+ { 0x590C, 87415 },
+ { 0x590D, 87418 },
+ { 0x590E, 87421 },
+ { 0x590F, 87424 },
+ { 0x5910, 87427 },
+ { 0x5911, 87430 },
+ { 0x5912, 87433 },
+ { 0x5913, 87436 },
+ { 0x5914, 87439 },
+ { 0x5915, 87442 },
+ { 0x5916, 89291 },
+ { 0x5917, 87445 },
+ { 0x5918, 87448 },
+ { 0x5919, 87451 },
+ { 0x591A, 87454 },
+ { 0x591B, 87457 },
+ { 0x591C, 87460 },
+ { 0x591D, 89294 },
+ { 0x591E, 87463 },
+ { 0x591F, 89297 },
+ { 0x5920, 87466 },
+ { 0x5921, 87469 },
+ { 0x5922, 87472 },
+ { 0x5923, 87475 },
+ { 0x5924, 87478 },
+ { 0x5925, 87481 },
+ { 0x5926, 87484 },
+ { 0x5927, 89300 },
+ { 0x5928, 87487 },
+ { 0x5929, 89303 },
+ { 0x592A, 87490 },
+ { 0x592B, 89306 },
+ { 0x592C, 87493 },
+ { 0x592D, 87496 },
+ { 0x592E, 87499 },
+ { 0x592F, 87502 },
+ { 0x5930, 89309 },
+ { 0x5931, 89312 },
+ { 0x5932, 89315 },
+ { 0x5933, 87505 },
+ { 0x5934, 87508 },
+ { 0x5935, 87515 },
+ { 0x5936, 87518 },
+ { 0x5937, 87521 },
+ { 0x5938, 87524 },
+ { 0x5939, 87527 },
+ { 0x593A, 87530 },
+ { 0x593B, 89318 },
+ { 0x593C, 87533 },
+ { 0x593D, 89321 },
+ { 0x593E, 89324 },
+ { 0x593F, 87536 },
+ { 0x5940, 87539 },
+ { 0x5941, 87542 },
+ { 0x5942, 87545 },
+ { 0x5943, 89327 },
+ { 0x5944, 87548 },
+ { 0x5945, 87551 },
+ { 0x5946, 87554 },
+ { 0x5947, 87557 },
+ { 0x5948, 87560 },
+ { 0x5949, 87563 },
+ { 0x594A, 87566 },
+ { 0x594B, 87569 },
+ { 0x594C, 87572 },
+ { 0x594D, 89330 },
+ { 0x594E, 87575 },
+ { 0x594F, 87578 },
+ { 0x5950, 87581 },
+ { 0x5951, 87584 },
+ { 0x5952, 87587 },
+ { 0x5953, 87590 },
+ { 0x5954, 89333 },
+ { 0x5955, 87593 },
+ { 0x5956, 87596 },
+ { 0x5957, 87599 },
+ { 0x5958, 87602 },
+ { 0x5959, 87605 },
+ { 0x595A, 87608 },
+ { 0x595B, 87611 },
+ { 0x595C, 87614 },
+ { 0x595D, 87617 },
+ { 0x595E, 87620 },
+ { 0x595F, 89336 },
+ { 0x5960, 87623 },
+ { 0x5961, 89339 },
+ { 0x5962, 87626 },
+ { 0x5963, 87629 },
+ { 0x5964, 87632 },
+ { 0x5965, 87635 },
+ { 0x5966, 87638 },
+ { 0x5967, 87641 },
+ { 0x5968, 89342 },
+ { 0x5969, 87644 },
+ { 0x596A, 87647 },
+ { 0x596B, 89345 },
+ { 0x596C, 87650 },
+ { 0x596D, 87653 },
+ { 0x596E, 87656 },
+ { 0x596F, 87659 },
+ { 0x5970, 87662 },
+ { 0x5971, 87665 },
+ { 0x5972, 87668 },
+ { 0x5973, 87671 },
+ { 0x5974, 87674 },
+ { 0x5975, 87677 },
+ { 0x5976, 87680 },
+ { 0x5977, 87683 },
+ { 0x5978, 87686 },
+ { 0x5979, 87689 },
+ { 0x597A, 87692 },
+ { 0x597B, 89348 },
+ { 0x597C, 87695 },
+ { 0x597D, 87698 },
+ { 0x597E, 87710 },
+ { 0x597F, 87713 },
+ { 0x5980, 87716 },
+ { 0x5981, 87719 },
+ { 0x5982, 87722 },
+ { 0x5983, 89351 },
+ { 0x5984, 87725 },
+ { 0x5985, 87728 },
+ { 0x5986, 87731 },
+ { 0x5987, 87734 },
+ { 0x5988, 89354 },
+ { 0x5989, 87737 },
+ { 0x598A, 89357 },
+ { 0x598B, 87740 },
+ { 0x598C, 89360 },
+ { 0x598D, 87743 },
+ { 0x598E, 87746 },
+ { 0x598F, 87749 },
+ { 0x5990, 87752 },
+ { 0x5991, 87755 },
+ { 0x5992, 87758 },
+ { 0x5993, 87761 },
+ { 0x5994, 87764 },
+ { 0x5995, 87767 },
+ { 0x5996, 87770 },
+ { 0x5997, 87773 },
+ { 0x5998, 87776 },
+ { 0x5999, 87779 },
+ { 0x599A, 87782 },
+ { 0x599B, 89363 },
+ { 0x599C, 87785 },
+ { 0x599D, 87788 },
+ { 0x599E, 87791 },
+ { 0x599F, 87794 },
+ { 0x59A0, 89366 },
+ { 0x59A1, 87797 },
+ { 0x59A2, 87800 },
+ { 0x59A3, 87807 },
+ { 0x59A4, 89369 },
+ { 0x59A5, 89372 },
+ { 0x59A6, 87810 },
+ { 0x59A7, 87813 },
+ { 0x59A8, 89375 },
+ { 0x59A9, 87816 },
+ { 0x59AA, 87819 },
+ { 0x59AB, 87822 },
+ { 0x59AC, 87825 },
+ { 0x59AD, 87828 },
+ { 0x59AE, 87831 },
+ { 0x59AF, 87834 },
+ { 0x59B0, 89378 },
+ { 0x59B1, 87837 },
+ { 0x59B2, 87840 },
+ { 0x59B3, 89381 },
+ { 0x59B4, 89384 },
+ { 0x59B5, 89387 },
+ { 0x59B6, 89390 },
+ { 0x59B7, 89393 },
+ { 0x59B8, 89396 },
+ { 0x59B9, 89399 },
+ { 0x59BA, 89402 },
+ { 0x59BB, 87843 },
+ { 0x59BC, 87846 },
+ { 0x59BD, 87849 },
+ { 0x59BE, 89405 },
+ { 0x59BF, 87852 },
+ { 0x59C0, 89408 },
+ { 0x59C1, 87855 },
+ { 0x59C2, 89411 },
+ { 0x59C3, 87858 },
+ { 0x59C4, 87861 },
+ { 0x59C5, 87864 },
+ { 0x59C6, 87867 },
+ { 0x59C7, 87870 },
+ { 0x59C8, 89414 },
+ { 0x59C9, 87873 },
+ { 0x59CA, 87876 },
+ { 0x59CB, 89417 },
+ { 0x59CC, 87879 },
+ { 0x59CD, 87882 },
+ { 0x59CE, 87885 },
+ { 0x59CF, 87888 },
+ { 0x59D0, 89420 },
+ { 0x59D1, 87891 },
+ { 0x59D2, 87894 },
+ { 0x59D3, 87897 },
+ { 0x59D4, 89423 },
+ { 0x59D5, 87900 },
+ { 0x59D6, 87903 },
+ { 0x59D7, 89426 },
+ { 0x59D8, 89429 },
+ { 0x59D9, 87906 },
+ { 0x59DA, 87909 },
+ { 0x59DB, 87912 },
+ { 0x59DC, 87915 },
+ { 0x59DD, 87918 },
+ { 0x59DE, 87921 },
+ { 0x59DF, 87924 },
+ { 0x59E0, 89432 },
+ { 0x59E1, 87927 },
+ { 0x59E2, 87930 },
+ { 0x59E3, 87933 },
+ { 0x59E4, 87936 },
+ { 0x59E5, 87939 },
+ { 0x59E6, 87942 },
+ { 0x59E7, 87945 },
+ { 0x59E8, 87948 },
+ { 0x59E9, 87951 },
+ { 0x59EA, 87954 },
+ { 0x59EB, 87957 },
+ { 0x59EC, 87960 },
+ { 0x59ED, 87963 },
+ { 0x59EE, 87966 },
+ { 0x59EF, 87969 },
+ { 0x59F0, 87972 },
+ { 0x59F1, 87975 },
+ { 0x59F2, 87978 },
+ { 0x59F3, 87981 },
+ { 0x59F4, 87984 },
+ { 0x59F5, 87987 },
+ { 0x59F6, 87990 },
+ { 0x59F7, 89435 },
+ { 0x59F8, 89438 },
+ { 0x59F9, 87993 },
+ { 0x59FA, 87996 },
+ { 0x59FB, 87999 },
+ { 0x59FC, 88002 },
+ { 0x59FD, 88005 },
+ { 0x59FE, 88008 },
+ { 0x59FF, 88011 },
+ { 0x5A00, 89441 },
+ { 0x5A01, 88014 },
+ { 0x5A02, 88017 },
+ { 0x5A03, 88020 },
+ { 0x5A04, 88023 },
+ { 0x5A05, 88026 },
+ { 0x5A06, 88029 },
+ { 0x5A07, 88032 },
+ { 0x5A08, 88035 },
+ { 0x5A09, 89444 },
+ { 0x5A0A, 88038 },
+ { 0x5A0B, 89447 },
+ { 0x5A0C, 88041 },
+ { 0x5A0D, 89450 },
+ { 0x5A0E, 88044 },
+ { 0x5A0F, 88047 },
+ { 0x5A10, 89453 },
+ { 0x5A11, 88050 },
+ { 0x5A12, 88053 },
+ { 0x5A13, 88056 },
+ { 0x5A14, 88059 },
+ { 0x5A15, 88062 },
+ { 0x5A16, 89456 },
+ { 0x5A17, 89459 },
+ { 0x5A18, 89462 },
+ { 0x5A19, 89465 },
+ { 0x5A1A, 89468 },
+ { 0x5A1B, 90012 },
+ { 0x5A1C, 89471 },
+ { 0x5A1D, 89474 },
+ { 0x5A1E, 89477 },
+ { 0x5A1F, 89480 },
+ { 0x5A20, 89483 },
+ { 0x5A21, 89486 },
+ { 0x5A22, 89489 },
+ { 0x5A23, 89492 },
+ { 0x5A24, 89495 },
+ { 0x5A25, 89498 },
+ { 0x5A26, 89501 },
+ { 0x5A27, 89504 },
+ { 0x5A28, 90015 },
+ { 0x5A29, 89507 },
+ { 0x5A2A, 89510 },
+ { 0x5A2B, 89513 },
+ { 0x5A2C, 89516 },
+ { 0x5A2D, 89519 },
+ { 0x5A2E, 89522 },
+ { 0x5A2F, 89525 },
+ { 0x5A30, 89528 },
+ { 0x5A31, 89531 },
+ { 0x5A32, 89534 },
+ { 0x5A33, 89537 },
+ { 0x5A34, 89540 },
+ { 0x5A35, 89543 },
+ { 0x5A36, 90018 },
+ { 0x5A37, 89546 },
+ { 0x5A38, 90021 },
+ { 0x5A39, 89549 },
+ { 0x5A3A, 89552 },
+ { 0x5A3B, 89555 },
+ { 0x5A3C, 89558 },
+ { 0x5A3D, 89561 },
+ { 0x5A3E, 89564 },
+ { 0x5A3F, 89567 },
+ { 0x5A40, 90024 },
+ { 0x5A41, 89570 },
+ { 0x5A42, 89573 },
+ { 0x5A43, 89576 },
+ { 0x5A44, 89579 },
+ { 0x5A45, 90027 },
+ { 0x5A46, 88065 },
+ { 0x5A47, 89582 },
+ { 0x5A48, 88068 },
+ { 0x5A49, 88071 },
+ { 0x5A4A, 88074 },
+ { 0x5A4B, 88077 },
+ { 0x5A4C, 89585 },
+ { 0x5A4D, 88080 },
+ { 0x5A4E, 89588 },
+ { 0x5A4F, 89591 },
+ { 0x5A50, 89594 },
+ { 0x5A51, 89597 },
+ { 0x5A52, 89600 },
+ { 0x5A53, 89603 },
+ { 0x5A54, 88083 },
+ { 0x5A55, 88086 },
+ { 0x5A56, 88089 },
+ { 0x5A57, 88092 },
+ { 0x5A58, 89606 },
+ { 0x5A59, 89609 },
+ { 0x5A5A, 89612 },
+ { 0x5A5B, 88095 },
+ { 0x5A5C, 88098 },
+ { 0x5A5D, 88101 },
+ { 0x5A5E, 88104 },
+ { 0x5A5F, 88107 },
+ { 0x5A60, 88110 },
+ { 0x5A61, 88113 },
+ { 0x5A62, 88116 },
+ { 0x5A63, 88119 },
+ { 0x5A64, 89615 },
+ { 0x5A65, 88122 },
+ { 0x5A66, 89618 },
+ { 0x5A67, 88125 },
+ { 0x5A68, 88128 },
+ { 0x5A69, 88131 },
+ { 0x5A6A, 88134 },
+ { 0x5A6B, 89621 },
+ { 0x5A6C, 88137 },
+ { 0x5A6D, 89624 },
+ { 0x5A6E, 88140 },
+ { 0x5A6F, 88143 },
+ { 0x5A70, 88146 },
+ { 0x5A71, 88149 },
+ { 0x5A72, 89627 },
+ { 0x5A73, 88152 },
+ { 0x5A74, 89630 },
+ { 0x5A75, 88155 },
+ { 0x5A76, 88158 },
+ { 0x5A77, 88161 },
+ { 0x5A78, 89633 },
+ { 0x5A79, 88164 },
+ { 0x5A7A, 88167 },
+ { 0x5A7B, 88170 },
+ { 0x5A7C, 89636 },
+ { 0x5A7D, 89639 },
+ { 0x5A7E, 89642 },
+ { 0x5A7F, 89645 },
+ { 0x5A80, 88173 },
+ { 0x5A81, 88176 },
+ { 0x5A82, 88179 },
+ { 0x5A83, 88182 },
+ { 0x5A84, 88185 },
+ { 0x5A85, 88188 },
+ { 0x5A86, 88191 },
+ { 0x5A87, 88194 },
+ { 0x5A88, 88197 },
+ { 0x5A89, 88200 },
+ { 0x5A8A, 88203 },
+ { 0x5A8B, 88206 },
+ { 0x5A8C, 88209 },
+ { 0x5A8D, 88212 },
+ { 0x5A8E, 89648 },
+ { 0x5A8F, 89651 },
+ { 0x5A90, 88215 },
+ { 0x5A91, 88218 },
+ { 0x5A92, 89654 },
+ { 0x5A93, 88221 },
+ { 0x5A94, 88224 },
+ { 0x5A95, 89657 },
+ { 0x5A96, 88227 },
+ { 0x5A97, 88230 },
+ { 0x5A98, 88233 },
+ { 0x5A99, 88236 },
+ { 0x5A9A, 88239 },
+ { 0x5A9B, 88242 },
+ { 0x5A9C, 88245 },
+ { 0x5A9D, 88248 },
+ { 0x5A9E, 88251 },
+ { 0x5A9F, 88254 },
+ { 0x5AA0, 88257 },
+ { 0x5AA1, 88260 },
+ { 0x5AA2, 88263 },
+ { 0x5AA3, 88266 },
+ { 0x5AA4, 88269 },
+ { 0x5AA5, 88272 },
+ { 0x5AA6, 88275 },
+ { 0x5AA7, 89660 },
+ { 0x5AA8, 88278 },
+ { 0x5AA9, 89663 },
+ { 0x5AAA, 89666 },
+ { 0x5AAB, 88281 },
+ { 0x5AAC, 88284 },
+ { 0x5AAD, 88287 },
+ { 0x5AAE, 88290 },
+ { 0x5AAF, 88293 },
+ { 0x5AB0, 88296 },
+ { 0x5AB1, 88299 },
+ { 0x5AB2, 89669 },
+ { 0x5AB3, 88302 },
+ { 0x5AB4, 88305 },
+ { 0x5AB5, 88308 },
+ { 0x5AB6, 88311 },
+ { 0x5AB7, 88314 },
+ { 0x5AB8, 88317 },
+ { 0x5AB9, 89672 },
+ { 0x5ABA, 88320 },
+ { 0x5ABB, 88323 },
+ { 0x5ABC, 88326 },
+ { 0x5ABD, 88329 },
+ { 0x5ABE, 88332 },
+ { 0x5ABF, 88335 },
+ { 0x5AC0, 88338 },
+ { 0x5AC1, 88341 },
+ { 0x5AC2, 88344 },
+ { 0x5AC3, 88347 },
+ { 0x5AC4, 88350 },
+ { 0x5AC5, 88353 },
+ { 0x5AC6, 88356 },
+ { 0x5AC7, 88359 },
+ { 0x5AC8, 88362 },
+ { 0x5AC9, 89675 },
+ { 0x5ACA, 88365 },
+ { 0x5ACB, 88368 },
+ { 0x5ACC, 88371 },
+ { 0x5ACD, 88374 },
+ { 0x5ACE, 89678 },
+ { 0x5ACF, 88377 },
+ { 0x5AD0, 88380 },
+ { 0x5AD1, 88383 },
+ { 0x5AD2, 88386 },
+ { 0x5AD3, 88389 },
+ { 0x5AD4, 88392 },
+ { 0x5AD5, 88395 },
+ { 0x5AD6, 88398 },
+ { 0x5AD7, 89681 },
+ { 0x5AD8, 89684 },
+ { 0x5AD9, 88401 },
+ { 0x5ADA, 88404 },
+ { 0x5ADB, 88407 },
+ { 0x5ADC, 89687 },
+ { 0x5ADD, 88410 },
+ { 0x5ADE, 88413 },
+ { 0x5ADF, 88416 },
+ { 0x5AE0, 88419 },
+ { 0x5AE1, 88422 },
+ { 0x5AE2, 88425 },
+ { 0x5AE3, 88428 },
+ { 0x5AE4, 88431 },
+ { 0x5AE5, 88434 },
+ { 0x5AE6, 89690 },
+ { 0x5AE7, 89693 },
+ { 0x5AE8, 88437 },
+ { 0x5AE9, 88440 },
+ { 0x5AEA, 88443 },
+ { 0x5AEB, 88446 },
+ { 0x5AEC, 88449 },
+ { 0x5AED, 88452 },
+ { 0x5AEE, 88455 },
+ { 0x5AEF, 88458 },
+ { 0x5AF0, 88461 },
+ { 0x5AF1, 89696 },
+ { 0x5AF2, 88464 },
+ { 0x5AF3, 88467 },
+ { 0x5AF4, 88470 },
+ { 0x5AF5, 88473 },
+ { 0x5AF6, 88476 },
+ { 0x5AF7, 88479 },
+ { 0x5AF8, 88482 },
+ { 0x5AF9, 88485 },
+ { 0x5AFA, 88488 },
+ { 0x5AFB, 88491 },
+ { 0x5AFC, 88494 },
+ { 0x5AFD, 88497 },
+ { 0x5AFE, 88500 },
+ { 0x5AFF, 88503 },
+ { 0x5B00, 89699 },
+ { 0x5B01, 88506 },
+ { 0x5B02, 88509 },
+ { 0x5B03, 88512 },
+ { 0x5B04, 88515 },
+ { 0x5B05, 89702 },
+ { 0x5B06, 88518 },
+ { 0x5B07, 89705 },
+ { 0x5B08, 88521 },
+ { 0x5B09, 89708 },
+ { 0x5B0A, 88524 },
+ { 0x5B0B, 88527 },
+ { 0x5B0C, 89711 },
+ { 0x5B0D, 88530 },
+ { 0x5B0E, 88533 },
+ { 0x5B0F, 88536 },
+ { 0x5B10, 88539 },
+ { 0x5B11, 88542 },
+ { 0x5B12, 89714 },
+ { 0x5B13, 88545 },
+ { 0x5B14, 88548 },
+ { 0x5B15, 88551 },
+ { 0x5B16, 88554 },
+ { 0x5B17, 88557 },
+ { 0x5B18, 88560 },
+ { 0x5B19, 88563 },
+ { 0x5B1A, 88566 },
+ { 0x5B1B, 88569 },
+ { 0x5B1C, 88572 },
+ { 0x5B1D, 88575 },
+ { 0x5B1E, 88578 },
+ { 0x5B1F, 88581 },
+ { 0x5B20, 88584 },
+ { 0x5B21, 88587 },
+ { 0x5B22, 88590 },
+ { 0x5B23, 89717 },
+ { 0x5B24, 88593 },
+ { 0x5B25, 89720 },
+ { 0x5B26, 88596 },
+ { 0x5B27, 88599 },
+ { 0x5B28, 88602 },
+ { 0x5B29, 88610 },
+ { 0x5B2A, 88613 },
+ { 0x5B2B, 88616 },
+ { 0x5B2C, 88619 },
+ { 0x5B2D, 88622 },
+ { 0x5B2E, 88625 },
+ { 0x5B2F, 89723 },
+ { 0x5B30, 89726 },
+ { 0x5B31, 88628 },
+ { 0x5B32, 88631 },
+ { 0x5B33, 88634 },
+ { 0x5B34, 88637 },
+ { 0x5B35, 88640 },
+ { 0x5B36, 88643 },
+ { 0x5B37, 88646 },
+ { 0x5B38, 88649 },
+ { 0x5B39, 88652 },
+ { 0x5B3A, 88655 },
+ { 0x5B3B, 88658 },
+ { 0x5B3C, 88661 },
+ { 0x5B3D, 88664 },
+ { 0x5B3E, 88667 },
+ { 0x5B3F, 88670 },
+ { 0x5B40, 88673 },
+ { 0x5B41, 88676 },
+ { 0x5B42, 89729 },
+ { 0x5B43, 88679 },
+ { 0x5B44, 88682 },
+ { 0x5B45, 88685 },
+ { 0x5B46, 88688 },
+ { 0x5B47, 88691 },
+ { 0x5B48, 88694 },
+ { 0x5B49, 89732 },
+ { 0x5B4A, 88697 },
+ { 0x5B4B, 88700 },
+ { 0x5B4C, 88703 },
+ { 0x5B4D, 89735 },
+ { 0x5B4E, 88706 },
+ { 0x5B4F, 88709 },
+ { 0x5B50, 88712 },
+ { 0x5B51, 88715 },
+ { 0x5B52, 88718 },
+ { 0x5B53, 88721 },
+ { 0x5B54, 88724 },
+ { 0x5B55, 88727 },
+ { 0x5B56, 88730 },
+ { 0x5B57, 88733 },
+ { 0x5B58, 88736 },
+ { 0x5B59, 89738 },
+ { 0x5B5A, 89741 },
+ { 0x5B5B, 89744 },
+ { 0x5B5C, 89747 },
+ { 0x5B5D, 89750 },
+ { 0x5B5E, 89753 },
+ { 0x5B5F, 89756 },
+ { 0x5B60, 89759 },
+ { 0x5B61, 89762 },
+ { 0x5B62, 88739 },
+ { 0x5B63, 89765 },
+ { 0x5B64, 88742 },
+ { 0x5B65, 88745 },
+ { 0x5B66, 88748 },
+ { 0x5B67, 88751 },
+ { 0x5B68, 88754 },
+ { 0x5B69, 89768 },
+ { 0x5B6A, 89771 },
+ { 0x5B6B, 88757 },
+ { 0x5B6C, 88760 },
+ { 0x5B6D, 88763 },
+ { 0x5B6E, 88766 },
+ { 0x5B6F, 89774 },
+ { 0x5B70, 89777 },
+ { 0x5B71, 89780 },
+ { 0x5B72, 88769 },
+ { 0x5B73, 89786 },
+ { 0x5B74, 89789 },
+ { 0x5B75, 88772 },
+ { 0x5B76, 88775 },
+ { 0x5B77, 88778 },
+ { 0x5B78, 88781 },
+ { 0x5B79, 88784 },
+ { 0x5B7A, 88787 },
+ { 0x5B7B, 88790 },
+ { 0x5B7C, 88793 },
+ { 0x5B7D, 89792 },
+ { 0x5B7E, 89795 },
+ { 0x5B7F, 89798 },
+ { 0x5B80, 89801 },
+ { 0x5B81, 89804 },
+ { 0x5B82, 89807 },
+ { 0x5B83, 89810 },
+ { 0x5B84, 89813 },
+ { 0x5B85, 89816 },
+ { 0x5B86, 89819 },
+ { 0x5B87, 89822 },
+ { 0x5B88, 89825 },
+ { 0x5B89, 88796 },
+ { 0x5B8A, 88799 },
+ { 0x5B8B, 88802 },
+ { 0x5B8C, 89828 },
+ { 0x5B8D, 88805 },
+ { 0x5B8E, 88808 },
+ { 0x5B8F, 88811 },
+ { 0x5B90, 88814 },
+ { 0x5B91, 88817 },
+ { 0x5B92, 89831 },
+ { 0x5B93, 88820 },
+ { 0x5B94, 89834 },
+ { 0x5B95, 88823 },
+ { 0x5B96, 89837 },
+ { 0x5B97, 88826 },
+ { 0x5B98, 89840 },
+ { 0x5B99, 88829 },
+ { 0x5B9A, 88832 },
+ { 0x5B9B, 89843 },
+ { 0x5B9C, 88835 },
+ { 0x5B9D, 88838 },
+ { 0x5B9E, 88841 },
+ { 0x5B9F, 88844 },
+ { 0x5BA0, 89846 },
+ { 0x5BA1, 88847 },
+ { 0x5BA2, 88850 },
+ { 0x5BA3, 88853 },
+ { 0x5BA4, 89849 },
+ { 0x5BA5, 88856 },
+ { 0x5BA6, 88859 },
+ { 0x5BA7, 88862 },
+ { 0x5BA8, 89852 },
+ { 0x5BA9, 88865 },
+ { 0x5BAA, 88868 },
+ { 0x5BAB, 88871 },
+ { 0x5BAC, 88874 },
+ { 0x5BAD, 88877 },
+ { 0x5BAE, 88880 },
+ { 0x5BAF, 89855 },
+ { 0x5BB0, 88883 },
+ { 0x5BB1, 89858 },
+ { 0x5BB2, 88886 },
+ { 0x5BB3, 88889 },
+ { 0x5BB4, 88892 },
+ { 0x5BB5, 88895 },
+ { 0x5BB6, 89861 },
+ { 0x5BB7, 88898 },
+ { 0x5BB8, 88901 },
+ { 0x5BB9, 88904 },
+ { 0x5BBA, 89864 },
+ { 0x5BBB, 88907 },
+ { 0x5BBC, 89867 },
+ { 0x5BBD, 88910 },
+ { 0x5BBE, 88913 },
+ { 0x5BBF, 88916 },
+ { 0x5BC0, 88919 },
+ { 0x5BC1, 88922 },
+ { 0x5BC2, 88925 },
+ { 0x5BC3, 89870 },
+ { 0x5BC4, 88928 },
+ { 0x5BC5, 88936 },
+ { 0x5BC6, 88939 },
+ { 0x5BC7, 88942 },
+ { 0x5BC8, 88945 },
+ { 0x5BC9, 89873 },
+ { 0x5BCA, 89876 },
+ { 0x5BCB, 88948 },
+ { 0x5BCC, 88951 },
+ { 0x5BCD, 89879 },
+ { 0x5BCE, 88954 },
+ { 0x5BCF, 88957 },
+ { 0x5BD0, 89882 },
+ { 0x5BD1, 88960 },
+ { 0x5BD2, 89885 },
+ { 0x5BD3, 88963 },
+ { 0x5BD4, 88966 },
+ { 0x5BD5, 88969 },
+ { 0x5BD6, 88972 },
+ { 0x5BD7, 88975 },
+ { 0x5BD8, 88978 },
+ { 0x5BD9, 88981 },
+ { 0x5BDA, 88984 },
+ { 0x5BDB, 88987 },
+ { 0x5BDC, 89888 },
+ { 0x5BDD, 89891 },
+ { 0x5BDE, 89894 },
+ { 0x5BDF, 89897 },
+ { 0x5BE0, 88990 },
+ { 0x5BE1, 89900 },
+ { 0x5BE2, 89903 },
+ { 0x5BE3, 88993 },
+ { 0x5BE4, 89906 },
+ { 0x5BE5, 88996 },
+ { 0x5BE6, 89909 },
+ { 0x5BE7, 88999 },
+ { 0x5BE8, 89002 },
+ { 0x5BE9, 89005 },
+ { 0x5BEA, 89008 },
+ { 0x5BEB, 89011 },
+ { 0x5BEC, 89014 },
+ { 0x5BED, 89017 },
+ { 0x5BEE, 89020 },
+ { 0x5BEF, 89023 },
+ { 0x5BF0, 89026 },
+ { 0x5BF1, 89912 },
+ { 0x5BF2, 89915 },
+ { 0x5BF3, 89918 },
+ { 0x5BF4, 89921 },
+ { 0x5BF5, 89924 },
+ { 0x5BF6, 89927 },
+ { 0x5BF7, 89930 },
+ { 0x5BF8, 89933 },
+ { 0x5BF9, 89936 },
+ { 0x5BFA, 89029 },
+ { 0x5BFB, 89939 },
+ { 0x5BFC, 89942 },
+ { 0x5BFD, 89945 },
+ { 0x5BFE, 89948 },
+ { 0x5BFF, 89951 },
+ { 0x5C00, 89954 },
+ { 0x5C01, 89957 },
+ { 0x5C02, 89960 },
+ { 0x5C03, 89062 },
+ { 0x5C04, 89065 },
+ { 0x5C05, 89068 },
+ { 0x5C06, 89071 },
+ { 0x5C07, 89074 },
+ { 0x5C08, 89077 },
+ { 0x5C09, 89080 },
+ { 0x5C0A, 89963 },
+ { 0x5C0B, 89966 },
+ { 0x5C0C, 89083 },
+ { 0x5C0D, 89086 },
+ { 0x5C0E, 89089 },
+ { 0x5C0F, 89092 },
+ { 0x5C10, 89095 },
+ { 0x5C11, 89098 },
+ { 0x5C12, 89101 },
+ { 0x5C13, 89104 },
+ { 0x5C14, 89107 },
+ { 0x5C15, 89110 },
+ { 0x5C16, 89113 },
+ { 0x5C17, 89116 },
+ { 0x5C18, 89119 },
+ { 0x5C19, 89122 },
+ { 0x5C1A, 89125 },
+ { 0x5C1B, 89128 },
+ { 0x5C1C, 89131 },
+ { 0x5C1D, 89134 },
+ { 0x5C1E, 89137 },
+ { 0x5C1F, 89140 },
+ { 0x5C20, 89143 },
+ { 0x5C21, 89146 },
+ { 0x5C22, 89149 },
+ { 0x5C23, 89152 },
+ { 0x5C24, 89155 },
+ { 0x5C25, 89783 },
+ { 0x5C26, 90142 },
+ { 0x5C27, 90146 },
+ { 0x5C28, 89980 },
+ { 0x5C29, 89997 },
+ { 0x5C2A, 89974 },
+ { 0x5C2B, 89991 },
+ { 0x5C2C, 90030 },
+ { 0x5C2D, 89166 },
+ { 0x5C2E, 86723 },
+ { 0x5C2F, 90003 },
+ { 0x5C30, 89969 },
+ { 0x5C31, 89986 },
+ { 0x5C32, 89170 },
+ { 0x5C33, 86727 },
+ { 0x5C34, 89161 },
+ { 0x5C35, 86718 },
+ { 0x5C36, 90008 },
+ { 0x5C37, 87511 },
+ { 0x5C38, 87706 },
+ { 0x5C39, 87803 },
+ { 0x5C3A, 87701 },
+ { 0x5C3B, 88605 },
+ { 0x5C3C, 88931 },
+ { 0x5C3D, 90065 },
+ { 0x5C3E, 90125 },
+ { 0x5C3F, 90082 },
+ { 0x5C40, 90058 },
+ { 0x5C41, 90044 },
+ { 0x5C42, 90132 },
+ { 0x5C43, 90088 },
+ { 0x5C44, 90118 },
+ { 0x5C45, 90072 },
+ { 0x5C46, 90104 },
+ { 0x5C47, 90096 },
+ { 0x5C48, 90038 },
+ { 0x5C49, 90050 },
+ { 0x5C4A, 90110 },
+ { 0x5C4B, 90034 },
+ { 0x5C4C, 100791 },
+ { 0x5C4D, 100794 },
+ { 0x5C4E, 100797 },
+ { 0x5C4F, 100800 },
+ { 0x5C50, 100803 },
+ { 0x5C51, 100806 },
+ { 0x5C52, 100809 },
+ { 0x5C53, 100812 },
+ { 0x5C54, 100815 },
+ { 0x5C55, 100818 },
+ { 0x5C56, 102376 },
+ { 0x5C57, 100821 },
+ { 0x5C58, 100824 },
+ { 0x5C59, 100827 },
+ { 0x5C5A, 100830 },
+ { 0x5C5B, 100833 },
+ { 0x5C5C, 100836 },
+ { 0x5C5D, 100839 },
+ { 0x5C5E, 100842 },
+ { 0x5C5F, 100845 },
+ { 0x5C60, 100848 },
+ { 0x5C61, 100851 },
+ { 0x5C62, 100854 },
+ { 0x5C63, 100857 },
+ { 0x5C64, 100860 },
+ { 0x5C65, 100863 },
+ { 0x5C66, 100866 },
+ { 0x5C67, 102379 },
+ { 0x5C68, 100869 },
+ { 0x5C69, 100872 },
+ { 0x5C6A, 100875 },
+ { 0x5C6B, 100878 },
+ { 0x5C6C, 100881 },
+ { 0x5C6D, 100884 },
+ { 0x5C6E, 100887 },
+ { 0x5C6F, 100890 },
+ { 0x5C70, 100893 },
+ { 0x5C71, 100896 },
+ { 0x5C72, 100899 },
+ { 0x5C73, 100902 },
+ { 0x5C74, 100905 },
+ { 0x5C75, 102382 },
+ { 0x5C76, 100908 },
+ { 0x5C77, 100911 },
+ { 0x5C78, 102385 },
+ { 0x5C79, 100914 },
+ { 0x5C7A, 100917 },
+ { 0x5C7B, 100920 },
+ { 0x5C7C, 100923 },
+ { 0x5C7D, 102388 },
+ { 0x5C7E, 100926 },
+ { 0x5C7F, 102391 },
+ { 0x5C80, 102394 },
+ { 0x5C81, 100929 },
+ { 0x5C82, 100932 },
+ { 0x5C83, 100935 },
+ { 0x5C84, 100938 },
+ { 0x5C85, 100941 },
+ { 0x5C86, 100944 },
+ { 0x5C87, 100947 },
+ { 0x5C88, 100950 },
+ { 0x5C89, 100953 },
+ { 0x5C8A, 100956 },
+ { 0x5C8B, 100959 },
+ { 0x5C8C, 100962 },
+ { 0x5C8D, 100965 },
+ { 0x5C8E, 100968 },
+ { 0x5C8F, 100971 },
+ { 0x5C90, 100974 },
+ { 0x5C91, 100977 },
+ { 0x5C92, 100980 },
+ { 0x5C93, 100983 },
+ { 0x5C94, 100986 },
+ { 0x5C95, 102397 },
+ { 0x5C96, 102400 },
+ { 0x5C97, 102403 },
+ { 0x5C98, 100989 },
+ { 0x5C99, 100992 },
+ { 0x5C9A, 100995 },
+ { 0x5C9B, 100998 },
+ { 0x5C9C, 101001 },
+ { 0x5C9D, 101004 },
+ { 0x5C9E, 101007 },
+ { 0x5C9F, 101010 },
+ { 0x5CA0, 101013 },
+ { 0x5CA1, 101016 },
+ { 0x5CA2, 101019 },
+ { 0x5CA3, 101022 },
+ { 0x5CA4, 101025 },
+ { 0x5CA5, 101028 },
+ { 0x5CA6, 101031 },
+ { 0x5CA7, 101034 },
+ { 0x5CA8, 101037 },
+ { 0x5CA9, 101040 },
+ { 0x5CAA, 101043 },
+ { 0x5CAB, 101046 },
+ { 0x5CAC, 101049 },
+ { 0x5CAD, 101052 },
+ { 0x5CAE, 101055 },
+ { 0x5CAF, 101058 },
+ { 0x5CB0, 101061 },
+ { 0x5CB1, 101064 },
+ { 0x5CB2, 101067 },
+ { 0x5CB3, 101070 },
+ { 0x5CB4, 101073 },
+ { 0x5CB5, 101076 },
+ { 0x5CB6, 101079 },
+ { 0x5CB7, 102406 },
+ { 0x5CB8, 101082 },
+ { 0x5CB9, 102409 },
+ { 0x5CBA, 101085 },
+ { 0x5CBB, 101088 },
+ { 0x5CBC, 102412 },
+ { 0x5CBD, 101091 },
+ { 0x5CBE, 102415 },
+ { 0x5CBF, 101094 },
+ { 0x5CC0, 102418 },
+ { 0x5CC1, 101097 },
+ { 0x5CC2, 101100 },
+ { 0x5CC3, 102421 },
+ { 0x5CC4, 102424 },
+ { 0x5CC5, 102427 },
+ { 0x5CC6, 101103 },
+ { 0x5CC7, 102430 },
+ { 0x5CC8, 102433 },
+ { 0x5CC9, 101106 },
+ { 0x5CCA, 101109 },
+ { 0x5CCB, 102436 },
+ { 0x5CCC, 102439 },
+ { 0x5CCD, 102442 },
+ { 0x5CCE, 101112 },
+ { 0x5CCF, 101115 },
+ { 0x5CD0, 101118 },
+ { 0x5CD1, 102445 },
+ { 0x5CD2, 102448 },
+ { 0x5CD3, 101121 },
+ { 0x5CD4, 101124 },
+ { 0x5CD5, 101127 },
+ { 0x5CD6, 101130 },
+ { 0x5CD7, 101133 },
+ { 0x5CD8, 102451 },
+ { 0x5CD9, 101136 },
+ { 0x5CDA, 101139 },
+ { 0x5CDB, 101142 },
+ { 0x5CDC, 101145 },
+ { 0x5CDD, 101148 },
+ { 0x5CDE, 101151 },
+ { 0x5CDF, 101154 },
+ { 0x5CE0, 101157 },
+ { 0x5CE1, 101160 },
+ { 0x5CE2, 101163 },
+ { 0x5CE3, 102454 },
+ { 0x5CE4, 101166 },
+ { 0x5CE5, 101169 },
+ { 0x5CE6, 101172 },
+ { 0x5CE7, 101175 },
+ { 0x5CE8, 101178 },
+ { 0x5CE9, 101181 },
+ { 0x5CEA, 101184 },
+ { 0x5CEB, 101187 },
+ { 0x5CEC, 101190 },
+ { 0x5CED, 101193 },
+ { 0x5CEE, 102457 },
+ { 0x5CEF, 101196 },
+ { 0x5CF0, 101199 },
+ { 0x5CF1, 101202 },
+ { 0x5CF2, 101205 },
+ { 0x5CF3, 101208 },
+ { 0x5CF4, 101211 },
+ { 0x5CF5, 101214 },
+ { 0x5CF6, 101217 },
+ { 0x5CF7, 101220 },
+ { 0x5CF8, 101223 },
+ { 0x5CF9, 101226 },
+ { 0x5CFA, 101229 },
+ { 0x5CFB, 101232 },
+ { 0x5CFC, 101235 },
+ { 0x5CFD, 101238 },
+ { 0x5CFE, 101241 },
+ { 0x5CFF, 101244 },
+ { 0x5D00, 101247 },
+ { 0x5D01, 101250 },
+ { 0x5D02, 101253 },
+ { 0x5D03, 101256 },
+ { 0x5D04, 101259 },
+ { 0x5D05, 101262 },
+ { 0x5D06, 101265 },
+ { 0x5D07, 101268 },
+ { 0x5D08, 101271 },
+ { 0x5D09, 101274 },
+ { 0x5D0A, 101277 },
+ { 0x5D0B, 101280 },
+ { 0x5D0C, 101283 },
+ { 0x5D0D, 101286 },
+ { 0x5D0E, 101289 },
+ { 0x5D0F, 101292 },
+ { 0x5D10, 101295 },
+ { 0x5D11, 101298 },
+ { 0x5D12, 101301 },
+ { 0x5D13, 101304 },
+ { 0x5D14, 101307 },
+ { 0x5D15, 101310 },
+ { 0x5D16, 101313 },
+ { 0x5D17, 101316 },
+ { 0x5D18, 101319 },
+ { 0x5D19, 101322 },
+ { 0x5D1A, 101325 },
+ { 0x5D1B, 101328 },
+ { 0x5D1C, 101331 },
+ { 0x5D1D, 101334 },
+ { 0x5D1E, 101337 },
+ { 0x5D1F, 101340 },
+ { 0x5D20, 101343 },
+ { 0x5D21, 101346 },
+ { 0x5D22, 101349 },
+ { 0x5D23, 101352 },
+ { 0x5D24, 101355 },
+ { 0x5D25, 101358 },
+ { 0x5D26, 101361 },
+ { 0x5D27, 101364 },
+ { 0x5D28, 101367 },
+ { 0x5D29, 101370 },
+ { 0x5D2A, 101373 },
+ { 0x5D2B, 101376 },
+ { 0x5D2C, 101379 },
+ { 0x5D2D, 101382 },
+ { 0x5D2E, 101385 },
+ { 0x5D2F, 101388 },
+ { 0x5D30, 101391 },
+ { 0x5D31, 101394 },
+ { 0x5D32, 102460 },
+ { 0x5D33, 102463 },
+ { 0x5D34, 101397 },
+ { 0x5D35, 101400 },
+ { 0x5D36, 101403 },
+ { 0x5D37, 101406 },
+ { 0x5D38, 101409 },
+ { 0x5D39, 102466 },
+ { 0x5D3A, 101412 },
+ { 0x5D3B, 101415 },
+ { 0x5D3C, 102469 },
+ { 0x5D3D, 101418 },
+ { 0x5D3E, 101421 },
+ { 0x5D3F, 101424 },
+ { 0x5D40, 101427 },
+ { 0x5D41, 101430 },
+ { 0x5D42, 101433 },
+ { 0x5D43, 102472 },
+ { 0x5D44, 101436 },
+ { 0x5D45, 102475 },
+ { 0x5D46, 101439 },
+ { 0x5D47, 101442 },
+ { 0x5D48, 101445 },
+ { 0x5D49, 101448 },
+ { 0x5D4A, 101451 },
+ { 0x5D4B, 101454 },
+ { 0x5D4C, 101457 },
+ { 0x5D4D, 101460 },
+ { 0x5D4E, 101463 },
+ { 0x5D4F, 101466 },
+ { 0x5D50, 101469 },
+ { 0x5D51, 102478 },
+ { 0x5D52, 101472 },
+ { 0x5D53, 101475 },
+ { 0x5D54, 101478 },
+ { 0x5D55, 101481 },
+ { 0x5D56, 101484 },
+ { 0x5D57, 101487 },
+ { 0x5D58, 101490 },
+ { 0x5D59, 101493 },
+ { 0x5D5A, 101496 },
+ { 0x5D5B, 101499 },
+ { 0x5D5C, 101502 },
+ { 0x5D5D, 101505 },
+ { 0x5D5E, 101508 },
+ { 0x5D5F, 101511 },
+ { 0x5D60, 101514 },
+ { 0x5D61, 101517 },
+ { 0x5D62, 101520 },
+ { 0x5D63, 101523 },
+ { 0x5D64, 101526 },
+ { 0x5D65, 101529 },
+ { 0x5D66, 101532 },
+ { 0x5D67, 101535 },
+ { 0x5D68, 101538 },
+ { 0x5D69, 101541 },
+ { 0x5D6A, 101544 },
+ { 0x5D6B, 101547 },
+ { 0x5D6C, 101550 },
+ { 0x5D6D, 101553 },
+ { 0x5D6E, 101556 },
+ { 0x5D6F, 101559 },
+ { 0x5D70, 101562 },
+ { 0x5D71, 101565 },
+ { 0x5D72, 101568 },
+ { 0x5D73, 101571 },
+ { 0x5D74, 101574 },
+ { 0x5D75, 101577 },
+ { 0x5D76, 101580 },
+ { 0x5D77, 101583 },
+ { 0x5D78, 101586 },
+ { 0x5D79, 101589 },
+ { 0x5D7A, 102481 },
+ { 0x5D7B, 101592 },
+ { 0x5D7C, 101595 },
+ { 0x5D7D, 101598 },
+ { 0x5D7E, 101601 },
+ { 0x5D7F, 101604 },
+ { 0x5D80, 101607 },
+ { 0x5D81, 101610 },
+ { 0x5D82, 101613 },
+ { 0x5D83, 101616 },
+ { 0x5D84, 101619 },
+ { 0x5D85, 101622 },
+ { 0x5D86, 101625 },
+ { 0x5D87, 101628 },
+ { 0x5D88, 101631 },
+ { 0x5D89, 101634 },
+ { 0x5D8A, 101637 },
+ { 0x5D8B, 101640 },
+ { 0x5D8C, 101643 },
+ { 0x5D8D, 101646 },
+ { 0x5D8E, 101649 },
+ { 0x5D8F, 101652 },
+ { 0x5D90, 101655 },
+ { 0x5D91, 102484 },
+ { 0x5D92, 101658 },
+ { 0x5D93, 101661 },
+ { 0x5D94, 101664 },
+ { 0x5D95, 101667 },
+ { 0x5D96, 101670 },
+ { 0x5D97, 102487 },
+ { 0x5D98, 101673 },
+ { 0x5D99, 101676 },
+ { 0x5D9A, 101679 },
+ { 0x5D9B, 101682 },
+ { 0x5D9C, 101685 },
+ { 0x5D9D, 102490 },
+ { 0x5D9E, 101688 },
+ { 0x5D9F, 101691 },
+ { 0x5DA0, 101694 },
+ { 0x5DA1, 101697 },
+ { 0x5DA2, 101700 },
+ { 0x5DA3, 101703 },
+ { 0x5DA4, 101706 },
+ { 0x5DA5, 101709 },
+ { 0x5DA6, 101712 },
+ { 0x5DA7, 101715 },
+ { 0x5DA8, 102493 },
+ { 0x5DA9, 101718 },
+ { 0x5DAA, 101721 },
+ { 0x5DAB, 101724 },
+ { 0x5DAC, 101727 },
+ { 0x5DAD, 101730 },
+ { 0x5DAE, 101733 },
+ { 0x5DAF, 101736 },
+ { 0x5DB0, 101739 },
+ { 0x5DB1, 101742 },
+ { 0x5DB2, 101745 },
+ { 0x5DB3, 101748 },
+ { 0x5DB4, 101751 },
+ { 0x5DB5, 101754 },
+ { 0x5DB6, 101757 },
+ { 0x5DB7, 101760 },
+ { 0x5DB8, 101763 },
+ { 0x5DB9, 101766 },
+ { 0x5DBA, 101769 },
+ { 0x5DBB, 101772 },
+ { 0x5DBC, 101775 },
+ { 0x5DBD, 102496 },
+ { 0x5DBE, 101778 },
+ { 0x5DBF, 101781 },
+ { 0x5DC0, 102499 },
+ { 0x5DC1, 102502 },
+ { 0x5DC2, 102505 },
+ { 0x5DC3, 101784 },
+ { 0x5DC4, 101787 },
+ { 0x5DC5, 101790 },
+ { 0x5DC6, 101793 },
+ { 0x5DC7, 102508 },
+ { 0x5DC8, 102511 },
+ { 0x5DC9, 102514 },
+ { 0x5DCA, 101796 },
+ { 0x5DCB, 101799 },
+ { 0x5DCC, 101802 },
+ { 0x5DCD, 101805 },
+ { 0x5DCE, 101808 },
+ { 0x5DCF, 101811 },
+ { 0x5DD0, 101814 },
+ { 0x5DD1, 101817 },
+ { 0x5DD2, 101820 },
+ { 0x5DD3, 101823 },
+ { 0x5DD4, 101826 },
+ { 0x5DD5, 101829 },
+ { 0x5DD6, 101832 },
+ { 0x5DD7, 101835 },
+ { 0x5DD8, 101838 },
+ { 0x5DD9, 101841 },
+ { 0x5DDA, 101844 },
+ { 0x5DDB, 101847 },
+ { 0x5DDC, 101850 },
+ { 0x5DDD, 101853 },
+ { 0x5DDE, 101856 },
+ { 0x5DDF, 101859 },
+ { 0x5DE0, 101862 },
+ { 0x5DE1, 102517 },
+ { 0x5DE2, 101865 },
+ { 0x5DE3, 101868 },
+ { 0x5DE4, 101871 },
+ { 0x5DE5, 101874 },
+ { 0x5DE6, 101877 },
+ { 0x5DE7, 102520 },
+ { 0x5DE8, 101880 },
+ { 0x5DE9, 101883 },
+ { 0x5DEA, 101886 },
+ { 0x5DEB, 101889 },
+ { 0x5DEC, 102523 },
+ { 0x5DED, 101892 },
+ { 0x5DEE, 101895 },
+ { 0x5DEF, 101898 },
+ { 0x5DF0, 102526 },
+ { 0x5DF1, 101901 },
+ { 0x5DF2, 101904 },
+ { 0x5DF3, 101907 },
+ { 0x5DF4, 101910 },
+ { 0x5DF5, 101913 },
+ { 0x5DF6, 101916 },
+ { 0x5DF7, 101919 },
+ { 0x5DF8, 101922 },
+ { 0x5DF9, 101925 },
+ { 0x5DFA, 101928 },
+ { 0x5DFB, 102529 },
+ { 0x5DFC, 101931 },
+ { 0x5DFD, 101934 },
+ { 0x5DFE, 102532 },
+ { 0x5DFF, 101940 },
+ { 0x5E00, 101943 },
+ { 0x5E01, 101946 },
+ { 0x5E02, 102535 },
+ { 0x5E03, 101949 },
+ { 0x5E04, 101952 },
+ { 0x5E05, 101955 },
+ { 0x5E06, 101958 },
+ { 0x5E07, 101961 },
+ { 0x5E08, 101964 },
+ { 0x5E09, 101967 },
+ { 0x5E0A, 101971 },
+ { 0x5E0B, 101974 },
+ { 0x5E0C, 101977 },
+ { 0x5E0D, 101980 },
+ { 0x5E0E, 101983 },
+ { 0x5E0F, 101986 },
+ { 0x5E10, 101989 },
+ { 0x5E11, 101992 },
+ { 0x5E12, 101995 },
+ { 0x5E13, 101998 },
+ { 0x5E14, 102001 },
+ { 0x5E15, 102004 },
+ { 0x5E16, 102007 },
+ { 0x5E17, 102010 },
+ { 0x5E18, 102013 },
+ { 0x5E19, 102016 },
+ { 0x5E1A, 102019 },
+ { 0x5E1B, 102538 },
+ { 0x5E1C, 102025 },
+ { 0x5E1D, 102028 },
+ { 0x5E1E, 102031 },
+ { 0x5E1F, 102034 },
+ { 0x5E20, 102037 },
+ { 0x5E21, 102040 },
+ { 0x5E22, 102043 },
+ { 0x5E23, 102046 },
+ { 0x5E24, 102049 },
+ { 0x5E25, 102052 },
+ { 0x5E26, 102055 },
+ { 0x5E27, 102058 },
+ { 0x5E28, 102061 },
+ { 0x5E29, 102064 },
+ { 0x5E2A, 102067 },
+ { 0x5E2B, 102070 },
+ { 0x5E2C, 102073 },
+ { 0x5E2D, 102076 },
+ { 0x5E2E, 102079 },
+ { 0x5E2F, 102082 },
+ { 0x5E30, 102085 },
+ { 0x5E31, 102088 },
+ { 0x5E32, 102091 },
+ { 0x5E33, 102094 },
+ { 0x5E34, 102097 },
+ { 0x5E35, 102100 },
+ { 0x5E36, 102103 },
+ { 0x5E37, 102106 },
+ { 0x5E38, 102109 },
+ { 0x5E39, 102112 },
+ { 0x5E3A, 102115 },
+ { 0x5E3B, 102118 },
+ { 0x5E3C, 102121 },
+ { 0x5E3D, 102124 },
+ { 0x5E3E, 102127 },
+ { 0x5E3F, 102130 },
+ { 0x5E40, 102133 },
+ { 0x5E41, 102136 },
+ { 0x5E42, 102139 },
+ { 0x5E43, 102142 },
+ { 0x5E44, 102544 },
+ { 0x5E45, 102145 },
+ { 0x5E46, 102148 },
+ { 0x5E47, 102151 },
+ { 0x5E48, 102154 },
+ { 0x5E49, 102157 },
+ { 0x5E4A, 102160 },
+ { 0x5E4B, 102163 },
+ { 0x5E4C, 102547 },
+ { 0x5E4D, 102166 },
+ { 0x5E4E, 102169 },
+ { 0x5E4F, 102172 },
+ { 0x5E50, 102175 },
+ { 0x5E51, 102178 },
+ { 0x5E52, 102181 },
+ { 0x5E53, 102184 },
+ { 0x5E54, 102187 },
+ { 0x5E55, 102190 },
+ { 0x5E56, 102193 },
+ { 0x5E57, 102196 },
+ { 0x5E58, 102199 },
+ { 0x5E59, 102202 },
+ { 0x5E5A, 102205 },
+ { 0x5E5B, 102208 },
+ { 0x5E5C, 102211 },
+ { 0x5E5D, 102214 },
+ { 0x5E5E, 102217 },
+ { 0x5E5F, 102220 },
+ { 0x5E60, 102223 },
+ { 0x5E61, 102226 },
+ { 0x5E62, 102229 },
+ { 0x5E63, 102232 },
+ { 0x5E64, 102235 },
+ { 0x5E65, 102238 },
+ { 0x5E66, 102241 },
+ { 0x5E67, 102244 },
+ { 0x5E68, 102247 },
+ { 0x5E69, 102250 },
+ { 0x5E6A, 102253 },
+ { 0x5E6B, 102256 },
+ { 0x5E6C, 102259 },
+ { 0x5E6D, 102262 },
+ { 0x5E6E, 102265 },
+ { 0x5E6F, 102268 },
+ { 0x5E70, 102271 },
+ { 0x5E71, 102274 },
+ { 0x5E72, 102277 },
+ { 0x5E73, 102280 },
+ { 0x5E74, 102283 },
+ { 0x5E75, 102286 },
+ { 0x5E76, 102289 },
+ { 0x5E77, 102292 },
+ { 0x5E78, 102295 },
+ { 0x5E79, 102298 },
+ { 0x5E7A, 102301 },
+ { 0x5E7B, 102304 },
+ { 0x5E7C, 102307 },
+ { 0x5E7D, 102310 },
+ { 0x5E7E, 102313 },
+ { 0x5E7F, 102316 },
+ { 0x5E80, 102319 },
+ { 0x5E81, 102322 },
+ { 0x5E82, 102325 },
+ { 0x5E83, 102328 },
+ { 0x5E84, 102331 },
+ { 0x5E85, 102334 },
+ { 0x5E86, 102337 },
+ { 0x5E87, 102340 },
+ { 0x5E88, 102343 },
+ { 0x5E89, 102346 },
+ { 0x5E8A, 102349 },
+ { 0x5E8B, 102352 },
+ { 0x5E8C, 102355 },
+ { 0x5E8D, 102358 },
+ { 0x5E8E, 102361 },
+ { 0x5E8F, 102364 },
+ { 0x5E90, 102367 },
+ { 0x5E91, 102370 },
+ { 0x5E92, 102373 },
+ { 0x5E93, 17805 },
+ { 0x5E94, 17784 },
+ { 0x5E95, 17667 },
+ { 0x5E96, 17661 },
+ { 0x5E97, 17616 },
+ { 0x5E98, 17936 },
+ { 0x5E99, 17779 },
+ { 0x5E9A, 17638 },
+ { 0x5E9B, 17850 },
+ { 0x5E9C, 17654 },
+ { 0x5E9D, 17647 },
+ { 0x5E9E, 17924 },
+ { 0x5E9F, 17588 },
+ { 0x5EA0, 17830 },
+ { 0x5EA1, 17908 },
+ { 0x5EA2, 17872 },
+ { 0x5EA3, 17928 },
+ { 0x5EA4, 17896 },
+ { 0x5EA5, 17888 },
+ { 0x5EA6, 17920 },
+ { 0x5EA7, 17834 },
+ { 0x5EA8, 17689 },
+ { 0x5EA9, 17932 },
+ { 0x5EAA, 17789 },
+ { 0x5EAB, 17601 },
+ { 0x5EAC, 17737 },
+ { 0x5EAD, 17868 },
+ { 0x5EAE, 17846 },
+ { 0x5EAF, 17912 },
+ { 0x5EB0, 17892 },
+ { 0x5EB1, 17611 },
+ { 0x5EB2, 17756 },
+ { 0x5EB3, 17573 },
+ { 0x5EB4, 17940 },
+ { 0x5EB5, 17742 },
+ { 0x5EB6, 17775 },
+ { 0x5EB7, 17826 },
+ { 0x5EB8, 17944 },
+ { 0x5EB9, 17880 },
+ { 0x5EBA, 17701 },
+ { 0x5EBB, 17583 },
+ { 0x5EBC, 17625 },
+ { 0x5EBD, 17643 },
+ { 0x5EBE, 17904 },
+ { 0x5EBF, 17721 },
+ { 0x5EC0, 17673 },
+ { 0x5EC1, 17810 },
+ { 0x5EC2, 17793 },
+ { 0x5EC3, 17860 },
+ { 0x5EC4, 17916 },
+ { 0x5EC5, 17818 },
+ { 0x5EC6, 17597 },
+ { 0x5EC7, 17948 },
+ { 0x5EC8, 17709 },
+ { 0x5EC9, 17876 },
+ { 0x5ECA, 17771 },
+ { 0x5ECB, 17814 },
+ { 0x5ECC, 17697 },
+ { 0x5ECD, 17677 },
+ { 0x5ECE, 17705 },
+ { 0x5ECF, 17681 },
+ { 0x5ED0, 17606 },
+ { 0x5ED1, 17856 },
+ { 0x5ED2, 17733 },
+ { 0x5ED3, 17765 },
+ { 0x5ED4, 17751 },
+ { 0x5ED5, 17842 },
+ { 0x5ED6, 17884 },
+ { 0x5ED7, 17900 },
+ { 0x5ED8, 17801 },
+ { 0x5ED9, 17797 },
+ { 0x5EDA, 17725 },
+ { 0x5EDB, 17822 },
+ { 0x5EDC, 17747 },
+ { 0x5EDD, 17864 },
+ { 0x5EDE, 17685 },
+ { 0x5EDF, 17761 },
+ { 0x5EE0, 17838 },
+ { 0x5EE1, 17713 },
+ { 0x5EE2, 17634 },
+ { 0x5EE3, 17593 },
+ { 0x5EE4, 17729 },
+ { 0x5EE5, 17693 },
+ { 0x5EE6, 17579 },
+ { 0x5EE7, 17630 },
+ { 0x5EE8, 17621 },
+ { 0x5EE9, 17717 },
+ { 0x5EEA, 18143 },
+ { 0x5EEB, 17971 },
+ { 0x5EEC, 18067 },
+ { 0x5EED, 18022 },
+ { 0x5EEE, 17998 },
+ { 0x5EEF, 18003 },
+ { 0x5EF0, 18084 },
+ { 0x5EF1, 18151 },
+ { 0x5EF2, 18159 },
+ { 0x5EF3, 17980 },
+ { 0x5EF4, 18147 },
+ { 0x5EF5, 18079 },
+ { 0x5EF6, 17988 },
+ { 0x5EF7, 18097 },
+ { 0x5EF8, 18008 },
+ { 0x5EF9, 18192 },
+ { 0x5EFA, 18018 },
+ { 0x5EFB, 17966 },
+ { 0x5EFC, 18062 },
+ { 0x5EFD, 18188 },
+ { 0x5EFE, 18049 },
+ { 0x5EFF, 18035 },
+ { 0x5F00, 18013 },
+ { 0x5F01, 18114 },
+ { 0x5F02, 18180 },
+ { 0x5F03, 18155 },
+ { 0x5F04, 18118 },
+ { 0x5F05, 18102 },
+ { 0x5F06, 18075 },
+ { 0x5F07, 18163 },
+ { 0x5F08, 18092 },
+ { 0x5F09, 18106 },
+ { 0x5F0A, 18176 },
+ { 0x5F0B, 18071 },
+ { 0x5F0C, 18040 },
+ { 0x5F0D, 18134 },
+ { 0x5F0E, 18138 },
+ { 0x5F0F, 18126 },
+ { 0x5F10, 18027 },
+ { 0x5F11, 18122 },
+ { 0x5F12, 18184 },
+ { 0x5F13, 18168 },
+ { 0x5F14, 18172 },
+ { 0x5F15, 18044 },
+ { 0x5F16, 18031 },
+ { 0x5F17, 18088 },
+ { 0x5F18, 17976 },
+ { 0x5F19, 18110 },
+ { 0x5F1A, 17961 },
+ { 0x5F1B, 17956 },
+ { 0x5F1C, 17994 },
+ { 0x5F1D, 18130 },
+ { 0x5F1E, 18058 },
+ { 0x5F1F, 17952 },
+ { 0x5F20, 17984 },
+ { 0x5F21, 18054 },
+ { 0x5F22, 18448 },
+ { 0x5F23, 18274 },
+ { 0x5F24, 18298 },
+ { 0x5F25, 18591 },
+ { 0x5F26, 18436 },
+ { 0x5F27, 18595 },
+ { 0x5F28, 18444 },
+ { 0x5F29, 18490 },
+ { 0x5F2A, 18571 },
+ { 0x5F2B, 18412 },
+ { 0x5F2C, 18385 },
+ { 0x5F2D, 18269 },
+ { 0x5F2E, 18420 },
+ { 0x5F2F, 18555 },
+ { 0x5F30, 18518 },
+ { 0x5F31, 18324 },
+ { 0x5F32, 18599 },
+ { 0x5F33, 18306 },
+ { 0x5F34, 18494 },
+ { 0x5F35, 18214 },
+ { 0x5F36, 18474 },
+ { 0x5F37, 18333 },
+ { 0x5F38, 18551 },
+ { 0x5F39, 18329 },
+ { 0x5F3A, 18408 },
+ { 0x5F3B, 18498 },
+ { 0x5F3C, 18223 },
+ { 0x5F3D, 18391 },
+ { 0x5F3E, 18432 },
+ { 0x5F3F, 18559 },
+ { 0x5F40, 18461 },
+ { 0x5F41, 18399 },
+ { 0x5F42, 18482 },
+ { 0x5F43, 18542 },
+ { 0x5F44, 18404 },
+ { 0x5F45, 18579 },
+ { 0x5F46, 18205 },
+ { 0x5F47, 18377 },
+ { 0x5F48, 18522 },
+ { 0x5F49, 18249 },
+ { 0x5F4A, 18575 },
+ { 0x5F4B, 18538 },
+ { 0x5F4C, 18583 },
+ { 0x5F4D, 18563 },
+ { 0x5F4E, 18440 },
+ { 0x5F4F, 18219 },
+ { 0x5F50, 18428 },
+ { 0x5F51, 18265 },
+ { 0x5F52, 18465 },
+ { 0x5F53, 18302 },
+ { 0x5F54, 18587 },
+ { 0x5F55, 18510 },
+ { 0x5F56, 18210 },
+ { 0x5F57, 18453 },
+ { 0x5F58, 18245 },
+ { 0x5F59, 18567 },
+ { 0x5F5A, 18469 },
+ { 0x5F5B, 18526 },
+ { 0x5F5C, 18237 },
+ { 0x5F5D, 18357 },
+ { 0x5F5E, 18416 },
+ { 0x5F5F, 18514 },
+ { 0x5F60, 18196 },
+ { 0x5F61, 18241 },
+ { 0x5F62, 18365 },
+ { 0x5F63, 18361 },
+ { 0x5F64, 18290 },
+ { 0x5F65, 18547 },
+ { 0x5F66, 18369 },
+ { 0x5F67, 18381 },
+ { 0x5F68, 18314 },
+ { 0x5F69, 18373 },
+ { 0x5F6A, 18345 },
+ { 0x5F6B, 18200 },
+ { 0x5F6C, 18294 },
+ { 0x5F6D, 18349 },
+ { 0x5F6E, 18478 },
+ { 0x5F6F, 18530 },
+ { 0x5F70, 18257 },
+ { 0x5F71, 18502 },
+ { 0x5F72, 18506 },
+ { 0x5F73, 18534 },
+ { 0x5F74, 18424 },
+ { 0x5F75, 18310 },
+ { 0x5F76, 18319 },
+ { 0x5F77, 18486 },
+ { 0x5F78, 18457 },
+ { 0x5F79, 18337 },
+ { 0x5F7A, 18341 },
+ { 0x5F7B, 18395 },
+ { 0x5F7C, 18227 },
+ { 0x5F7D, 18232 },
+ { 0x5F7E, 18353 },
+ { 0x5F7F, 18261 },
+ { 0x5F80, 18253 },
+ { 0x5F81, 18282 },
+ { 0x5F82, 18278 },
+ { 0x5F83, 18286 },
+ { 0x5F84, 18778 },
+ { 0x5F85, 18733 },
+ { 0x5F86, 18663 },
+ { 0x5F87, 18790 },
+ { 0x5F88, 18931 },
+ { 0x5F89, 18765 },
+ { 0x5F8A, 18927 },
+ { 0x5F8B, 18939 },
+ { 0x5F8C, 19059 },
+ { 0x5F8D, 18830 },
+ { 0x5F8E, 18959 },
+ { 0x5F8F, 18923 },
+ { 0x5F90, 18850 },
+ { 0x5F91, 18919 },
+ { 0x5F92, 19071 },
+ { 0x5F93, 18870 },
+ { 0x5F94, 19023 },
+ { 0x5F95, 18814 },
+ { 0x5F96, 18717 },
+ { 0x5F97, 18635 },
+ { 0x5F98, 19055 },
+ { 0x5F99, 18753 },
+ { 0x5F9A, 18701 },
+ { 0x5F9B, 18903 },
+ { 0x5F9C, 18911 },
+ { 0x5F9D, 19035 },
+ { 0x5F9E, 18786 },
+ { 0x5F9F, 19019 },
+ { 0x5FA0, 18737 },
+ { 0x5FA1, 19051 },
+ { 0x5FA2, 18886 },
+ { 0x5FA3, 19047 },
+ { 0x5FA4, 18627 },
+ { 0x5FA5, 18741 },
+ { 0x5FA6, 19003 },
+ { 0x5FA7, 19067 },
+ { 0x5FA8, 18806 },
+ { 0x5FA9, 19039 },
+ { 0x5FAA, 18971 },
+ { 0x5FAB, 18810 },
+ { 0x5FAC, 18794 },
+ { 0x5FAD, 18979 },
+ { 0x5FAE, 18842 },
+ { 0x5FAF, 18983 },
+ { 0x5FB0, 18659 },
+ { 0x5FB1, 18655 },
+ { 0x5FB2, 19007 },
+ { 0x5FB3, 18769 },
+ { 0x5FB4, 18891 },
+ { 0x5FB5, 18834 },
+ { 0x5FB6, 19027 },
+ { 0x5FB7, 18713 },
+ { 0x5FB8, 18963 },
+ { 0x5FB9, 18745 },
+ { 0x5FBA, 18846 },
+ { 0x5FBB, 18955 },
+ { 0x5FBC, 19063 },
+ { 0x5FBD, 18975 },
+ { 0x5FBE, 19011 },
+ { 0x5FBF, 18749 },
+ { 0x5FC0, 18679 },
+ { 0x5FC1, 19015 },
+ { 0x5FC2, 18838 },
+ { 0x5FC3, 18647 },
+ { 0x5FC4, 18987 },
+ { 0x5FC5, 18907 },
+ { 0x5FC6, 19043 },
+ { 0x5FC7, 18878 },
+ { 0x5FC8, 18671 },
+ { 0x5FC9, 18882 },
+ { 0x5FCA, 18802 },
+ { 0x5FCB, 18947 },
+ { 0x5FCC, 18862 },
+ { 0x5FCD, 18639 },
+ { 0x5FCE, 18991 },
+ { 0x5FCF, 18999 },
+ { 0x5FD0, 18874 },
+ { 0x5FD1, 18782 },
+ { 0x5FD2, 18643 },
+ { 0x5FD3, 18818 },
+ { 0x5FD4, 18866 },
+ { 0x5FD5, 19031 },
+ { 0x5FD6, 18915 },
+ { 0x5FD7, 18761 },
+ { 0x5FD8, 18995 },
+ { 0x5FD9, 18943 },
+ { 0x5FDA, 18935 },
+ { 0x5FDB, 18967 },
+ { 0x5FDC, 18607 },
+ { 0x5FDD, 18687 },
+ { 0x5FDE, 18725 },
+ { 0x5FDF, 18729 },
+ { 0x5FE0, 18667 },
+ { 0x5FE1, 18697 },
+ { 0x5FE2, 18895 },
+ { 0x5FE3, 18899 },
+ { 0x5FE4, 18603 },
+ { 0x5FE5, 18721 },
+ { 0x5FE6, 18611 },
+ { 0x5FE7, 18854 },
+ { 0x5FE8, 18951 },
+ { 0x5FE9, 18757 },
+ { 0x5FEA, 18619 },
+ { 0x5FEB, 18709 },
+ { 0x5FEC, 18822 },
+ { 0x5FED, 18675 },
+ { 0x5FEE, 18615 },
+ { 0x5FEF, 18858 },
+ { 0x5FF0, 18683 },
+ { 0x5FF1, 18798 },
+ { 0x5FF2, 18651 },
+ { 0x5FF3, 18692 },
+ { 0x5FF4, 18623 },
+ { 0x5FF5, 18826 },
+ { 0x5FF6, 18773 },
+ { 0x5FF7, 18705 },
+ { 0x5FF8, 18631 },
+ { 0x5FF9, 19419 },
+ { 0x5FFA, 19525 },
+ { 0x5FFB, 19573 },
+ { 0x5FFC, 19176 },
+ { 0x5FFD, 19310 },
+ { 0x5FFE, 19380 },
+ { 0x5FFF, 19234 },
+ { 0x6000, 19270 },
+ { 0x6001, 19250 },
+ { 0x6002, 19657 },
+ { 0x6003, 19427 },
+ { 0x6004, 19496 },
+ { 0x6005, 19278 },
+ { 0x6006, 19431 },
+ { 0x6007, 19569 },
+ { 0x6008, 19318 },
+ { 0x6009, 19258 },
+ { 0x600A, 19705 },
+ { 0x600B, 19472 },
+ { 0x600C, 19294 },
+ { 0x600D, 19372 },
+ { 0x600E, 19184 },
+ { 0x600F, 19653 },
+ { 0x6010, 19435 },
+ { 0x6011, 19388 },
+ { 0x6012, 19645 },
+ { 0x6013, 19439 },
+ { 0x6014, 19609 },
+ { 0x6015, 19661 },
+ { 0x6016, 19605 },
+ { 0x6017, 19476 },
+ { 0x6018, 19254 },
+ { 0x6019, 19685 },
+ { 0x601A, 19396 },
+ { 0x601B, 19561 },
+ { 0x601C, 19709 },
+ { 0x601D, 19693 },
+ { 0x601E, 19196 },
+ { 0x601F, 19384 },
+ { 0x6020, 19677 },
+ { 0x6021, 19423 },
+ { 0x6022, 19520 },
+ { 0x6023, 19262 },
+ { 0x6024, 19242 },
+ { 0x6025, 19414 },
+ { 0x6026, 19713 },
+ { 0x6027, 19545 },
+ { 0x6028, 19557 },
+ { 0x6029, 19529 },
+ { 0x602A, 19629 },
+ { 0x602B, 19144 },
+ { 0x602C, 19621 },
+ { 0x602D, 19565 },
+ { 0x602E, 19617 },
+ { 0x602F, 19665 },
+ { 0x6030, 19625 },
+ { 0x6031, 19533 },
+ { 0x6032, 19376 },
+ { 0x6033, 19148 },
+ { 0x6034, 19516 },
+ { 0x6035, 19673 },
+ { 0x6036, 19701 },
+ { 0x6037, 19697 },
+ { 0x6038, 19581 },
+ { 0x6039, 19392 },
+ { 0x603A, 19464 },
+ { 0x603B, 19452 },
+ { 0x603C, 19352 },
+ { 0x603D, 19302 },
+ { 0x603E, 19368 },
+ { 0x603F, 19322 },
+ { 0x6040, 19229 },
+ { 0x6041, 19326 },
+ { 0x6042, 19577 },
+ { 0x6043, 19585 },
+ { 0x6044, 19613 },
+ { 0x6045, 19549 },
+ { 0x6046, 19641 },
+ { 0x6047, 19164 },
+ { 0x6048, 19553 },
+ { 0x6049, 19597 },
+ { 0x604A, 19168 },
+ { 0x604B, 19192 },
+ { 0x604C, 19689 },
+ { 0x604D, 19356 },
+ { 0x604E, 19087 },
+ { 0x604F, 19460 },
+ { 0x6050, 19480 },
+ { 0x6051, 19537 },
+ { 0x6052, 19681 },
+ { 0x6053, 19224 },
+ { 0x6054, 19468 },
+ { 0x6055, 19492 },
+ { 0x6056, 19400 },
+ { 0x6057, 19348 },
+ { 0x6058, 19216 },
+ { 0x6059, 19404 },
+ { 0x605A, 19637 },
+ { 0x605B, 19091 },
+ { 0x605C, 19212 },
+ { 0x605D, 19500 },
+ { 0x605E, 19593 },
+ { 0x605F, 19172 },
+ { 0x6060, 19488 },
+ { 0x6061, 19456 },
+ { 0x6062, 19669 },
+ { 0x6063, 19589 },
+ { 0x6064, 19130 },
+ { 0x6065, 19096 },
+ { 0x6066, 19160 },
+ { 0x6067, 19443 },
+ { 0x6068, 19075 },
+ { 0x6069, 19298 },
+ { 0x606A, 19083 },
+ { 0x606B, 19079 },
+ { 0x606C, 19180 },
+ { 0x606D, 19135 },
+ { 0x606E, 19274 },
+ { 0x606F, 19282 },
+ { 0x6070, 19408 },
+ { 0x6071, 19508 },
+ { 0x6072, 19541 },
+ { 0x6073, 19601 },
+ { 0x6074, 19633 },
+ { 0x6075, 19335 },
+ { 0x6076, 19330 },
+ { 0x6077, 19344 },
+ { 0x6078, 19340 },
+ { 0x6079, 19364 },
+ { 0x607A, 19484 },
+ { 0x607B, 19447 },
+ { 0x607C, 19238 },
+ { 0x607D, 19314 },
+ { 0x607E, 19156 },
+ { 0x607F, 19306 },
+ { 0x6080, 19114 },
+ { 0x6081, 19122 },
+ { 0x6082, 19504 },
+ { 0x6083, 19246 },
+ { 0x6084, 19649 },
+ { 0x6085, 19220 },
+ { 0x6086, 19266 },
+ { 0x6087, 19512 },
+ { 0x6088, 19101 },
+ { 0x6089, 19126 },
+ { 0x608A, 19140 },
+ { 0x608B, 19188 },
+ { 0x608C, 19110 },
+ { 0x608D, 19204 },
+ { 0x608E, 19118 },
+ { 0x608F, 19200 },
+ { 0x6090, 19290 },
+ { 0x6091, 19106 },
+ { 0x6092, 19208 },
+ { 0x6093, 19286 },
+ { 0x6094, 19152 },
+ { 0x6095, 19360 },
+ { 0x6096, 19730 },
+ { 0x6097, 19722 },
+ { 0x6098, 19738 },
+ { 0x6099, 19726 },
+ { 0x609A, 19810 },
+ { 0x609B, 19838 },
+ { 0x609C, 19802 },
+ { 0x609D, 19742 },
+ { 0x609E, 19818 },
+ { 0x609F, 19898 },
+ { 0x60A0, 19914 },
+ { 0x60A1, 19834 },
+ { 0x60A2, 19866 },
+ { 0x60A3, 19918 },
+ { 0x60A4, 19718 },
+ { 0x60A5, 19830 },
+ { 0x60A6, 19906 },
+ { 0x60A7, 19770 },
+ { 0x60A8, 19902 },
+ { 0x60A9, 19854 },
+ { 0x60AA, 19790 },
+ { 0x60AB, 19882 },
+ { 0x60AC, 19762 },
+ { 0x60AD, 19922 },
+ { 0x60AE, 19850 },
+ { 0x60AF, 19826 },
+ { 0x60B0, 19778 },
+ { 0x60B1, 19874 },
+ { 0x60B2, 19886 },
+ { 0x60B3, 19878 },
+ { 0x60B4, 19846 },
+ { 0x60B5, 19806 },
+ { 0x60B6, 19766 },
+ { 0x60B7, 19758 },
+ { 0x60B8, 19894 },
+ { 0x60B9, 19786 },
+ { 0x60BA, 19930 },
+ { 0x60BB, 19870 },
+ { 0x60BC, 19822 },
+ { 0x60BD, 19890 },
+ { 0x60BE, 19782 },
+ { 0x60BF, 19774 },
+ { 0x60C0, 19746 },
+ { 0x60C1, 19798 },
+ { 0x60C2, 19734 },
+ { 0x60C3, 19862 },
+ { 0x60C4, 19814 },
+ { 0x60C5, 19750 },
+ { 0x60C6, 19754 },
+ { 0x60C7, 19858 },
+ { 0x60C8, 19842 },
+ { 0x60C9, 19794 },
+ { 0x60CA, 19926 },
+ { 0x60CB, 19910 },
+ { 0x60CC, 6619 },
+ { 0x60CD, 6646 },
+ { 0x60CE, 6625 },
+ { 0x60CF, 6643 },
+ { 0x60D0, 6589 },
+ { 0x60D1, 6592 },
+ { 0x60D2, 6580 },
+ { 0x60D3, 6652 },
+ { 0x60D4, 6661 },
+ { 0x60D5, 6637 },
+ { 0x60D6, 6631 },
+ { 0x60D7, 6628 },
+ { 0x60D8, 6670 },
+ { 0x60D9, 6604 },
+ { 0x60DA, 6664 },
+ { 0x60DB, 6649 },
+ { 0x60DC, 6610 },
+ { 0x60DD, 6607 },
+ { 0x60DE, 6586 },
+ { 0x60DF, 6616 },
+ { 0x60E0, 6655 },
+ { 0x60E1, 6667 },
+ { 0x60E2, 6595 },
+ { 0x60E3, 6622 },
+ { 0x60E4, 6583 },
+ { 0x60E5, 6598 },
+ { 0x60E6, 6640 },
+ { 0x60E7, 6601 },
+ { 0x60E8, 6634 },
+ { 0x60E9, 6613 },
+ { 0x60EA, 6658 },
+ { 0x60EB, 6565 },
+ { 0x60EC, 6547 },
+ { 0x60ED, 6553 },
+ { 0x60EE, 6574 },
+ { 0x60EF, 6559 },
+ { 0x60F0, 6556 },
+ { 0x60F1, 6550 },
+ { 0x60F2, 6571 },
+ { 0x60F3, 6568 },
+ { 0x60F4, 6562 },
+ { 0x60F5, 6545 },
+ { 0x60F6, 6577 },
+ { 0x60F7, 63293 },
+ { 0x60F8, 63284 },
+ { 0x60F9, 63287 },
+ { 0x60FA, 63290 },
+ { 0x60FB, 63215 },
+ { 0x60FC, 63206 },
+ { 0x60FD, 63209 },
+ { 0x60FE, 63212 },
+ { 0x60FF, 63329 },
+ { 0x6100, 63320 },
+ { 0x6101, 63323 },
+ { 0x6102, 63326 },
+ { 0x6103, 63236 },
+ { 0x6104, 63227 },
+ { 0x6105, 63230 },
+ { 0x6106, 63233 },
+ { 0x6107, 63257 },
+ { 0x6108, 63248 },
+ { 0x6109, 63251 },
+ { 0x610A, 63254 },
+ { 0x610B, 63317 },
+ { 0x610C, 63308 },
+ { 0x610D, 63311 },
+ { 0x610E, 63314 },
+ { 0x610F, 63353 },
+ { 0x6110, 63344 },
+ { 0x6111, 63347 },
+ { 0x6112, 63350 },
+ { 0x6113, 63413 },
+ { 0x6114, 63404 },
+ { 0x6115, 63407 },
+ { 0x6116, 63410 },
+ { 0x6117, 63435 },
+ { 0x6118, 63419 },
+ { 0x6119, 63443 },
+ { 0x611A, 63439 },
+ { 0x611B, 63392 },
+ { 0x611C, 63401 },
+ { 0x611D, 63395 },
+ { 0x611E, 63398 },
+ { 0x611F, 63432 },
+ { 0x6120, 63423 },
+ { 0x6121, 63426 },
+ { 0x6122, 63429 },
+ { 0x6123, 63278 },
+ { 0x6124, 63269 },
+ { 0x6125, 63272 },
+ { 0x6126, 63275 },
+ { 0x6127, 63260 },
+ { 0x6128, 63368 },
+ { 0x6129, 63242 },
+ { 0x612A, 63371 },
+ { 0x612B, 63302 },
+ { 0x612C, 63338 },
+ { 0x612D, 63332 },
+ { 0x612E, 63296 },
+ { 0x612F, 63377 },
+ { 0x6130, 63380 },
+ { 0x6131, 63218 },
+ { 0x6132, 63266 },
+ { 0x6133, 63281 },
+ { 0x6134, 63245 },
+ { 0x6135, 63263 },
+ { 0x6136, 63365 },
+ { 0x6137, 63305 },
+ { 0x6138, 63224 },
+ { 0x6139, 63299 },
+ { 0x613A, 63374 },
+ { 0x613B, 63383 },
+ { 0x613C, 63221 },
+ { 0x613D, 63389 },
+ { 0x613E, 63362 },
+ { 0x613F, 63416 },
+ { 0x6140, 63386 },
+ { 0x6141, 63335 },
+ { 0x6142, 63239 },
+ { 0x6143, 63359 },
+ { 0x6144, 63356 },
+ { 0x6145, 63341 },
+ { 0x6146, 63194 },
+ { 0x6147, 63176 },
+ { 0x6148, 63182 },
+ { 0x6149, 63203 },
+ { 0x614A, 63188 },
+ { 0x614B, 63185 },
+ { 0x614C, 63179 },
+ { 0x614D, 63200 },
+ { 0x614E, 63197 },
+ { 0x614F, 63191 },
+ { 0x6150, 20054 },
+ { 0x6151, 19998 },
+ { 0x6152, 20010 },
+ { 0x6153, 19990 },
+ { 0x6154, 20038 },
+ { 0x6155, 20046 },
+ { 0x6156, 20030 },
+ { 0x6157, 20050 },
+ { 0x6158, 20062 },
+ { 0x6159, 19994 },
+ { 0x615A, 20058 },
+ { 0x615B, 20022 },
+ { 0x615C, 20026 },
+ { 0x615D, 20034 },
+ { 0x615E, 19982 },
+ { 0x615F, 19978 },
+ { 0x6160, 20042 },
+ { 0x6161, 20014 },
+ { 0x6162, 19974 },
+ { 0x6163, 20018 },
+ { 0x6164, 20066 },
+ { 0x6165, 20006 },
+ { 0x6166, 20070 },
+ { 0x6167, 19954 },
+ { 0x6168, 19966 },
+ { 0x6169, 20002 },
+ { 0x616A, 19970 },
+ { 0x616B, 19986 },
+ { 0x616C, 19958 },
+ { 0x616D, 19962 },
+ { 0x616E, 20084 },
+ { 0x616F, 20074 },
+ { 0x6170, 20079 },
+ { 0x6171, 20089 },
+ { 0x6172, 20094 },
+ { 0x6173, 19950 },
+ { 0x6174, 61246 },
+ { 0x6175, 61250 },
+ { 0x6176, 61182 },
+ { 0x6177, 61186 },
+ { 0x6178, 61230 },
+ { 0x6179, 61234 },
+ { 0x617A, 61198 },
+ { 0x617B, 61202 },
+ { 0x617C, 61174 },
+ { 0x617D, 61178 },
+ { 0x617E, 61222 },
+ { 0x617F, 61226 },
+ { 0x6180, 61262 },
+ { 0x6181, 61266 },
+ { 0x6182, 61238 },
+ { 0x6183, 61242 },
+ { 0x6184, 61270 },
+ { 0x6185, 61274 },
+ { 0x6186, 61190 },
+ { 0x6187, 61194 },
+ { 0x6188, 61254 },
+ { 0x6189, 61258 },
+ { 0x618A, 61166 },
+ { 0x618B, 61170 },
+ { 0x618C, 61206 },
+ { 0x618D, 61210 },
+ { 0x618E, 61214 },
+ { 0x618F, 61218 },
+ { 0x6190, 61337 },
+ { 0x6191, 61381 },
+ { 0x6192, 61321 },
+ { 0x6193, 61317 },
+ { 0x6194, 61365 },
+ { 0x6195, 61333 },
+ { 0x6196, 61361 },
+ { 0x6197, 61369 },
+ { 0x6198, 61345 },
+ { 0x6199, 61353 },
+ { 0x619A, 61325 },
+ { 0x619B, 61349 },
+ { 0x619C, 61373 },
+ { 0x619D, 61357 },
+ { 0x619E, 61385 },
+ { 0x619F, 61377 },
+ { 0x61A0, 61329 },
+ { 0x61A1, 61309 },
+ { 0x61A2, 61341 },
+ { 0x61A3, 61313 },
+ { 0x61A4, 60928 },
+ { 0x61A5, 60913 },
+ { 0x61A6, 60923 },
+ { 0x61A7, 60933 },
+ { 0x61A8, 60938 },
+ { 0x61A9, 60918 },
+ { 0x61AA, 60943 },
+ { 0x61AB, 61041 },
+ { 0x61AC, 61051 },
+ { 0x61AD, 61000 },
+ { 0x61AE, 61046 },
+ { 0x61AF, 61026 },
+ { 0x61B0, 61111 },
+ { 0x61B1, 61096 },
+ { 0x61B2, 61101 },
+ { 0x61B3, 61106 },
+ { 0x61B4, 61036 },
+ { 0x61B5, 61066 },
+ { 0x61B6, 61031 },
+ { 0x61B7, 60952 },
+ { 0x61B8, 61084 },
+ { 0x61B9, 60983 },
+ { 0x61BA, 61150 },
+ { 0x61BB, 61126 },
+ { 0x61BC, 61134 },
+ { 0x61BD, 61162 },
+ { 0x61BE, 61142 },
+ { 0x61BF, 61138 },
+ { 0x61C0, 61130 },
+ { 0x61C1, 61158 },
+ { 0x61C2, 61154 },
+ { 0x61C3, 61146 },
+ { 0x61C4, 61288 },
+ { 0x61C5, 61297 },
+ { 0x61C6, 61283 },
+ { 0x61C7, 61301 },
+ { 0x61C8, 61292 },
+ { 0x61C9, 61278 },
+ { 0x61CA, 61305 },
+ { 0x61CB, 61021 },
+ { 0x61CC, 61092 },
+ { 0x61CD, 61005 },
+ { 0x61CE, 61121 },
+ { 0x61CF, 61057 },
+ { 0x61D0, 61062 },
+ { 0x61D1, 61076 },
+ { 0x61D2, 61088 },
+ { 0x61D3, 61080 },
+ { 0x61D4, 60948 },
+ { 0x61D5, 61116 },
+ { 0x61D6, 61071 },
+ { 0x61D7, 61017 },
+ { 0x61D8, 61009 },
+ { 0x61D9, 61013 },
+ { 0x61DA, 60969 },
+ { 0x61DB, 60963 },
+ { 0x61DC, 60989 },
+ { 0x61DD, 60994 },
+ { 0x61DE, 60957 },
+ { 0x61DF, 60977 },
+ { 0x61E0, 60908 },
+ { 0x61E1, 60898 },
+ { 0x61E2, 60838 },
+ { 0x61E3, 60868 },
+ { 0x61E4, 60903 },
+ { 0x61E5, 60828 },
+ { 0x61E6, 60858 },
+ { 0x61E7, 60873 },
+ { 0x61E8, 60883 },
+ { 0x61E9, 60888 },
+ { 0x61EA, 60878 },
+ { 0x61EB, 60863 },
+ { 0x61EC, 60823 },
+ { 0x61ED, 60843 },
+ { 0x61EE, 60818 },
+ { 0x61EF, 60853 },
+ { 0x61F0, 60893 },
+ { 0x61F1, 60833 },
+ { 0x61F2, 60848 },
+ { 0x61F3, 122007 },
+ { 0x61F4, 122031 },
+ { 0x61F5, 122043 },
+ { 0x61F6, 122047 },
+ { 0x61F7, 122091 },
+ { 0x61F8, 122059 },
+ { 0x61F9, 122071 },
+ { 0x61FA, 122019 },
+ { 0x61FB, 122035 },
+ { 0x61FC, 121983 },
+ { 0x61FD, 121979 },
+ { 0x61FE, 121991 },
+ { 0x61FF, 121999 },
+ { 0x6200, 121959 },
+ { 0x6201, 121995 },
+ { 0x6202, 121975 },
+ { 0x6203, 121963 },
+ { 0x6204, 121967 },
+ { 0x6205, 122039 },
+ { 0x6206, 122087 },
+ { 0x6207, 122003 },
+ { 0x6208, 122023 },
+ { 0x6209, 122067 },
+ { 0x620A, 122079 },
+ { 0x620B, 122051 },
+ { 0x620C, 121971 },
+ { 0x620D, 122083 },
+ { 0x620E, 122011 },
+ { 0x620F, 122027 },
+ { 0x6210, 122015 },
+ { 0x6211, 122063 },
+ { 0x6212, 122055 },
+ { 0x6213, 121838 },
+ { 0x6214, 121862 },
+ { 0x6215, 121874 },
+ { 0x6216, 121878 },
+ { 0x6217, 121922 },
+ { 0x6218, 121890 },
+ { 0x6219, 121902 },
+ { 0x621A, 121850 },
+ { 0x621B, 121866 },
+ { 0x621C, 121814 },
+ { 0x621D, 121810 },
+ { 0x621E, 121822 },
+ { 0x621F, 121830 },
+ { 0x6220, 121790 },
+ { 0x6221, 121826 },
+ { 0x6222, 121806 },
+ { 0x6223, 121794 },
+ { 0x6224, 121798 },
+ { 0x6225, 121870 },
+ { 0x6226, 121918 },
+ { 0x6227, 121834 },
+ { 0x6228, 121854 },
+ { 0x6229, 121898 },
+ { 0x622A, 121910 },
+ { 0x622B, 121882 },
+ { 0x622C, 121802 },
+ { 0x622D, 121914 },
+ { 0x622E, 121842 },
+ { 0x622F, 121858 },
+ { 0x6230, 121846 },
+ { 0x6231, 121894 },
+ { 0x6232, 121886 },
+ { 0x6233, 121773 },
+ { 0x6234, 121745 },
+ { 0x6235, 121756 },
+ { 0x6236, 121782 },
+ { 0x6237, 121767 },
+ { 0x6238, 121764 },
+ { 0x6239, 121753 },
+ { 0x623A, 121779 },
+ { 0x623B, 121776 },
+ { 0x623C, 121770 },
+ { 0x623D, 121926 },
+ { 0x623E, 121929 },
+ { 0x623F, 121932 },
+ { 0x6240, 121950 },
+ { 0x6241, 121944 },
+ { 0x6242, 121935 },
+ { 0x6243, 121938 },
+ { 0x6244, 121953 },
+ { 0x6245, 121941 },
+ { 0x6246, 121947 },
+ { 0x6247, 121748 },
+ { 0x6248, 121759 },
+ { 0x6249, 121785 },
+ { 0x624A, 121743 },
+ { 0x624B, 121740 },
+ { 0x624C, 121956 },
+ { 0x624D, 122095 },
+ { 0x624E, 15021 },
+ { 0x624F, 14994 },
+ { 0x6250, 15049 },
+ { 0x6251, 15116 },
+ { 0x6252, 15015 },
+ { 0x6253, 15101 },
+ { 0x6254, 15230 },
+ { 0x6255, 15000 },
+ { 0x6256, 15036 },
+ { 0x6257, 15143 },
+ { 0x6258, 15030 },
+ { 0x6259, 14997 },
+ { 0x625A, 15065 },
+ { 0x625B, 15053 },
+ { 0x625C, 15140 },
+ { 0x625D, 15083 },
+ { 0x625E, 15018 },
+ { 0x625F, 15107 },
+ { 0x6260, 15057 },
+ { 0x6261, 15234 },
+ { 0x6262, 15110 },
+ { 0x6263, 15176 },
+ { 0x6264, 15012 },
+ { 0x6265, 15098 },
+ { 0x6266, 15095 },
+ { 0x6267, 15170 },
+ { 0x6268, 15182 },
+ { 0x6269, 15155 },
+ { 0x626A, 15203 },
+ { 0x626B, 15200 },
+ { 0x626C, 15009 },
+ { 0x626D, 15003 },
+ { 0x626E, 15045 },
+ { 0x626F, 15024 },
+ { 0x6270, 15119 },
+ { 0x6271, 15104 },
+ { 0x6272, 15173 },
+ { 0x6273, 15238 },
+ { 0x6274, 15006 },
+ { 0x6275, 15042 },
+ { 0x6276, 15089 },
+ { 0x6277, 15167 },
+ { 0x6278, 15188 },
+ { 0x6279, 15164 },
+ { 0x627A, 15113 },
+ { 0x627B, 15179 },
+ { 0x627C, 15185 },
+ { 0x627D, 15158 },
+ { 0x627E, 15073 },
+ { 0x627F, 15069 },
+ { 0x6280, 15246 },
+ { 0x6281, 15125 },
+ { 0x6282, 15128 },
+ { 0x6283, 15146 },
+ { 0x6284, 15191 },
+ { 0x6285, 15134 },
+ { 0x6286, 15086 },
+ { 0x6287, 15061 },
+ { 0x6288, 15027 },
+ { 0x6289, 15077 },
+ { 0x628A, 15149 },
+ { 0x628B, 15152 },
+ { 0x628C, 15194 },
+ { 0x628D, 15242 },
+ { 0x628E, 15197 },
+ { 0x628F, 15206 },
+ { 0x6290, 15039 },
+ { 0x6291, 14991 },
+ { 0x6292, 15092 },
+ { 0x6293, 15080 },
+ { 0x6294, 15131 },
+ { 0x6295, 15161 },
+ { 0x6296, 15033 },
+ { 0x6297, 15137 },
+ { 0x6298, 15122 },
+ { 0x6299, 14760 },
+ { 0x629A, 15274 },
+ { 0x629B, 14765 },
+ { 0x629C, 14752 },
+ { 0x629D, 14756 },
+ { 0x629E, 14781 },
+ { 0x629F, 14813 },
+ { 0x62A0, 14917 },
+ { 0x62A1, 14825 },
+ { 0x62A2, 14921 },
+ { 0x62A3, 14797 },
+ { 0x62A4, 14881 },
+ { 0x62A5, 14905 },
+ { 0x62A6, 14805 },
+ { 0x62A7, 14785 },
+ { 0x62A8, 14841 },
+ { 0x62A9, 14925 },
+ { 0x62AA, 14945 },
+ { 0x62AB, 14789 },
+ { 0x62AC, 14849 },
+ { 0x62AD, 14933 },
+ { 0x62AE, 14969 },
+ { 0x62AF, 14865 },
+ { 0x62B0, 14853 },
+ { 0x62B1, 14861 },
+ { 0x62B2, 14869 },
+ { 0x62B3, 14937 },
+ { 0x62B4, 14801 },
+ { 0x62B5, 14889 },
+ { 0x62B6, 14949 },
+ { 0x62B7, 14977 },
+ { 0x62B8, 14897 },
+ { 0x62B9, 14953 },
+ { 0x62BA, 14957 },
+ { 0x62BB, 14809 },
+ { 0x62BC, 14909 },
+ { 0x62BD, 14817 },
+ { 0x62BE, 14913 },
+ { 0x62BF, 14929 },
+ { 0x62C0, 14986 },
+ { 0x62C1, 14845 },
+ { 0x62C2, 14981 },
+ { 0x62C3, 14821 },
+ { 0x62C4, 14837 },
+ { 0x62C5, 14829 },
+ { 0x62C6, 14885 },
+ { 0x62C7, 14793 },
+ { 0x62C8, 14873 },
+ { 0x62C9, 14961 },
+ { 0x62CA, 14965 },
+ { 0x62CB, 14877 },
+ { 0x62CC, 14941 },
+ { 0x62CD, 14901 },
+ { 0x62CE, 14857 },
+ { 0x62CF, 14833 },
+ { 0x62D0, 14973 },
+ { 0x62D1, 14893 },
+ { 0x62D2, 14778 },
+ { 0x62D3, 14768 },
+ { 0x62D4, 14772 },
+ { 0x62D5, 14775 },
+ { 0x62D6, 15209 },
+ { 0x62D7, 15212 },
+ { 0x62D8, 15215 },
+ { 0x62D9, 15218 },
+ { 0x62DA, 15221 },
+ { 0x62DB, 15224 },
+ { 0x62DC, 15227 },
+ { 0x62DD, 15250 },
+ { 0x62DE, 15254 },
+ { 0x62DF, 15258 },
+ { 0x62E0, 15262 },
+ { 0x62E1, 15266 },
+ { 0x62E2, 15270 },
+ { 0x62E3, 63447 },
+ { 0x62E4, 36365 },
+ { 0x62E5, 8766 },
+ { 0x62E6, 8770 },
+ { 0x62E7, 55341 },
+ { 0x62E8, 120972 },
+ { 0x62E9, 120977 },
+ { 0x62EA, 63450 },
+ { 0x62EB, 63452 },
+ { 0x62EC, 63454 },
+ { 0x62ED, 63456 },
+ { 0x62EE, 63458 },
+ { 0x62EF, 63460 },
+ { 0x62F0, 63462 },
+ { 0x62F1, 63464 },
+ { 0x62F2, 63466 },
+ { 0x62F3, 63468 },
+ { 0x62F4, 63470 },
+ { 0x62F5, 63472 },
+ { 0x62F6, 63474 },
+ { 0x62F7, 63476 },
+ { 0x62F8, 63478 },
+ { 0x62F9, 63480 },
+ { 0x62FA, 63482 },
+ { 0x62FB, 63484 },
+ { 0x62FC, 63486 },
+ { 0x62FD, 63488 },
+ { 0x62FE, 63490 },
+ { 0x62FF, 63492 },
+ { 0x6300, 63494 },
+ { 0x6301, 63496 },
+ { 0x6302, 63498 },
+ { 0x6303, 63500 },
+ { 0x6304, 63502 },
+ { 0x6305, 63504 },
+ { 0x6306, 63506 },
+ { 0x6307, 63508 },
+ { 0x6308, 63510 },
+ { 0x6309, 63512 },
+ { 0x630A, 63514 },
+ { 0x630B, 63516 },
+ { 0x630C, 63518 },
+ { 0x630D, 63520 },
+ { 0x630E, 63522 },
+ { 0x630F, 63524 },
+ { 0x6310, 63526 },
+ { 0x6311, 63528 },
+ { 0x6312, 63530 },
+ { 0x6313, 63532 },
+ { 0x6314, 63534 },
+ { 0x6315, 63536 },
+ { 0x6316, 63538 },
+ { 0x6317, 63540 },
+ { 0x6318, 63542 },
+ { 0x6319, 63544 },
+ { 0x631A, 63546 },
+ { 0x631B, 63548 },
+ { 0x631C, 63550 },
+ { 0x631D, 63552 },
+ { 0x631E, 63554 },
+ { 0x631F, 63556 },
+ { 0x6320, 63558 },
+ { 0x6321, 63560 },
+ { 0x6322, 63562 },
+ { 0x6323, 63564 },
+ { 0x6324, 63566 },
+ { 0x6325, 63568 },
+ { 0x6326, 63570 },
+ { 0x6327, 63572 },
+ { 0x6328, 63574 },
+ { 0x6329, 63576 },
+ { 0x632A, 63578 },
+ { 0x632B, 63580 },
+ { 0x632C, 63582 },
+ { 0x632D, 63584 },
+ { 0x632E, 63586 },
+ { 0x632F, 63588 },
+ { 0x6330, 63590 },
+ { 0x6331, 63592 },
+ { 0x6332, 63594 },
+ { 0x6333, 63596 },
+ { 0x6334, 63598 },
+ { 0x6335, 63600 },
+ { 0x6336, 63602 },
+ { 0x6337, 63604 },
+ { 0x6338, 63606 },
+ { 0x6339, 63608 },
+ { 0x633A, 63610 },
+ { 0x633B, 63612 },
+ { 0x633C, 63614 },
+ { 0x633D, 63616 },
+ { 0x633E, 63618 },
+ { 0x633F, 63620 },
+ { 0x6340, 63622 },
+ { 0x6341, 63624 },
+ { 0x6342, 63626 },
+ { 0x6343, 63628 },
+ { 0x6344, 63630 },
+ { 0x6345, 63632 },
+ { 0x6346, 63634 },
+ { 0x6347, 63636 },
+ { 0x6348, 63638 },
+ { 0x6349, 63640 },
+ { 0x634A, 63642 },
+ { 0x634B, 63644 },
+ { 0x634C, 63646 },
+ { 0x634D, 63648 },
+ { 0x634E, 63650 },
+ { 0x634F, 63652 },
+ { 0x6350, 63654 },
+ { 0x6351, 63656 },
+ { 0x6352, 63658 },
+ { 0x6353, 63660 },
+ { 0x6354, 63662 },
+ { 0x6355, 63664 },
+ { 0x6356, 63666 },
+ { 0x6357, 63668 },
+ { 0x6358, 63670 },
+ { 0x6359, 63672 },
+ { 0x635A, 63674 },
+ { 0x635B, 63676 },
+ { 0x635C, 63678 },
+ { 0x635D, 63680 },
+ { 0x635E, 63682 },
+ { 0x635F, 63684 },
+ { 0x6360, 63686 },
+ { 0x6361, 63688 },
+ { 0x6362, 63690 },
+ { 0x6363, 63692 },
+ { 0x6364, 63694 },
+ { 0x6365, 63696 },
+ { 0x6366, 63698 },
+ { 0x6367, 63700 },
+ { 0x6368, 63702 },
+ { 0x6369, 63704 },
+ { 0x636A, 63706 },
+ { 0x636B, 63708 },
+ { 0x636C, 63710 },
+ { 0x636D, 63712 },
+ { 0x636E, 63714 },
+ { 0x636F, 63716 },
+ { 0x6370, 63718 },
+ { 0x6371, 63720 },
+ { 0x6372, 63722 },
+ { 0x6373, 63724 },
+ { 0x6374, 63726 },
+ { 0x6375, 63728 },
+ { 0x6376, 63730 },
+ { 0x6377, 63732 },
+ { 0x6378, 63734 },
+ { 0x6379, 63736 },
+ { 0x637A, 63738 },
+ { 0x637B, 63740 },
+ { 0x637C, 63742 },
+ { 0x637D, 63744 },
+ { 0x637E, 63746 },
+ { 0x637F, 63748 },
+ { 0x6380, 63750 },
+ { 0x6381, 63752 },
+ { 0x6382, 63754 },
+ { 0x6383, 63756 },
+ { 0x6384, 63758 },
+ { 0x6385, 63760 },
+ { 0x6386, 63762 },
+ { 0x6387, 63764 },
+ { 0x6388, 63766 },
+ { 0x6389, 63768 },
+ { 0x638A, 63770 },
+ { 0x638B, 63772 },
+ { 0x638C, 63774 },
+ { 0x638D, 63776 },
+ { 0x638E, 63778 },
+ { 0x638F, 63780 },
+ { 0x6390, 63782 },
+ { 0x6391, 63784 },
+ { 0x6392, 63786 },
+ { 0x6393, 63788 },
+ { 0x6394, 63790 },
+ { 0x6395, 63792 },
+ { 0x6396, 63794 },
+ { 0x6397, 63796 },
+ { 0x6398, 63798 },
+ { 0x6399, 63800 },
+ { 0x639A, 63802 },
+ { 0x639B, 63804 },
+ { 0x639C, 63806 },
+ { 0x639D, 63808 },
+ { 0x639E, 63810 },
+ { 0x639F, 63812 },
+ { 0x63A0, 63814 },
+ { 0x63A1, 63816 },
+ { 0x63A2, 63818 },
+ { 0x63A3, 63820 },
+ { 0x63A4, 63822 },
+ { 0x63A5, 63824 },
+ { 0x63A6, 63826 },
+ { 0x63A7, 63828 },
+ { 0x63A8, 63830 },
+ { 0x63A9, 63832 },
+ { 0x63AA, 63834 },
+ { 0x63AB, 63836 },
+ { 0x63AC, 63838 },
+ { 0x63AD, 63840 },
+ { 0x63AE, 63842 },
+ { 0x63AF, 63844 },
+ { 0x63B0, 63846 },
+ { 0x63B1, 63848 },
+ { 0x63B2, 63850 },
+ { 0x63B3, 63852 },
+ { 0x63B4, 63854 },
+ { 0x63B5, 63856 },
+ { 0x63B6, 63858 },
+ { 0x63B7, 63860 },
+ { 0x63B8, 63862 },
+ { 0x63B9, 63864 },
+ { 0x63BA, 63866 },
+ { 0x63BB, 63868 },
+ { 0x63BC, 63870 },
+ { 0x63BD, 63872 },
+ { 0x63BE, 63874 },
+ { 0x63BF, 63876 },
+ { 0x63C0, 63878 },
+ { 0x63C1, 63880 },
+ { 0x63C2, 63882 },
+ { 0x63C3, 63884 },
+ { 0x63C4, 63886 },
+ { 0x63C5, 63888 },
+ { 0x63C6, 63890 },
+ { 0x63C7, 63892 },
+ { 0x63C8, 63894 },
+ { 0x63C9, 63896 },
+ { 0x63CA, 63898 },
+ { 0x63CB, 63900 },
+ { 0x63CC, 63902 },
+ { 0x63CD, 63904 },
+ { 0x63CE, 63906 },
+ { 0x63CF, 63908 },
+ { 0x63D0, 63910 },
+ { 0x63D1, 63912 },
+ { 0x63D2, 63914 },
+ { 0x63D3, 63916 },
+ { 0x63D4, 63918 },
+ { 0x63D5, 63920 },
+ { 0x63D6, 63922 },
+ { 0x63D7, 63924 },
+ { 0x63D8, 63926 },
+ { 0x63D9, 63928 },
+ { 0x63DA, 63930 },
+ { 0x63DB, 63932 },
+ { 0x63DC, 63934 },
+ { 0x63DD, 63936 },
+ { 0x63DE, 63938 },
+ { 0x63DF, 63940 },
+ { 0x63E0, 63942 },
+ { 0x63E1, 63944 },
+ { 0x63E2, 63946 },
+ { 0x63E3, 63948 },
+ { 0x63E4, 63950 },
+ { 0x63E5, 63952 },
+ { 0x63E6, 63954 },
+ { 0x63E7, 63956 },
+ { 0x63E8, 63958 },
+ { 0x63E9, 63960 },
+ { 0x63EA, 63962 },
+ { 0x63EB, 63964 },
+ { 0x63EC, 63966 },
+ { 0x63ED, 63968 },
+ { 0x63EE, 63970 },
+ { 0x63EF, 63972 },
+ { 0x63F0, 63974 },
+ { 0x63F1, 63976 },
+ { 0x63F2, 63978 },
+ { 0x63F3, 63980 },
+ { 0x63F4, 63982 },
+ { 0x63F5, 63984 },
+ { 0x63F6, 63986 },
+ { 0x63F7, 63988 },
+ { 0x63F8, 63990 },
+ { 0x63F9, 63992 },
+ { 0x63FA, 63994 },
+ { 0x63FB, 63996 },
+ { 0x63FC, 63998 },
+ { 0x63FD, 64000 },
+ { 0x63FE, 64002 },
+ { 0x63FF, 64004 },
+ { 0x6400, 64006 },
+ { 0x6401, 64008 },
+ { 0x6402, 64010 },
+ { 0x6403, 64012 },
+ { 0x6404, 64014 },
+ { 0x6405, 64016 },
+ { 0x6406, 64018 },
+ { 0x6407, 64020 },
+ { 0x6408, 64022 },
+ { 0x6409, 64024 },
+ { 0x640A, 64026 },
+ { 0x640B, 64028 },
+ { 0x640C, 64030 },
+ { 0x640D, 64032 },
+ { 0x640E, 64034 },
+ { 0x640F, 64036 },
+ { 0x6410, 64038 },
+ { 0x6411, 64040 },
+ { 0x6412, 64042 },
+ { 0x6413, 64044 },
+ { 0x6414, 64046 },
+ { 0x6415, 64048 },
+ { 0x6416, 64050 },
+ { 0x6417, 64052 },
+ { 0x6418, 64054 },
+ { 0x6419, 64056 },
+ { 0x641A, 64058 },
+ { 0x641B, 64060 },
+ { 0x641C, 64062 },
+ { 0x641D, 64064 },
+ { 0x641E, 64066 },
+ { 0x641F, 64068 },
+ { 0x6420, 64070 },
+ { 0x6421, 64072 },
+ { 0x6422, 64074 },
+ { 0x6423, 64076 },
+ { 0x6424, 64078 },
+ { 0x6425, 64080 },
+ { 0x6426, 64082 },
+ { 0x6427, 64084 },
+ { 0x6428, 64086 },
+ { 0x6429, 64088 },
+ { 0x642A, 64090 },
+ { 0x642B, 64092 },
+ { 0x642C, 64094 },
+ { 0x642D, 64096 },
+ { 0x642E, 64098 },
+ { 0x642F, 64100 },
+ { 0x6430, 64102 },
+ { 0x6431, 64104 },
+ { 0x6432, 64106 },
+ { 0x6433, 64108 },
+ { 0x6434, 64110 },
+ { 0x6435, 64112 },
+ { 0x6436, 64114 },
+ { 0x6437, 64116 },
+ { 0x6438, 64118 },
+ { 0x6439, 64120 },
+ { 0x643A, 64122 },
+ { 0x643B, 64124 },
+ { 0x643C, 64126 },
+ { 0x643D, 64128 },
+ { 0x643E, 64130 },
+ { 0x643F, 64132 },
+ { 0x6440, 64134 },
+ { 0x6441, 64136 },
+ { 0x6442, 64138 },
+ { 0x6443, 64140 },
+ { 0x6444, 64142 },
+ { 0x6445, 64144 },
+ { 0x6446, 64146 },
+ { 0x6447, 64148 },
+ { 0x6448, 64150 },
+ { 0x6449, 64152 },
+ { 0x644A, 64154 },
+ { 0x644B, 64156 },
+ { 0x644C, 64158 },
+ { 0x644D, 64160 },
+ { 0x644E, 64162 },
+ { 0x644F, 64164 },
+ { 0x6450, 64166 },
+ { 0x6451, 64168 },
+ { 0x6452, 64170 },
+ { 0x6453, 64172 },
+ { 0x6454, 64174 },
+ { 0x6455, 64176 },
+ { 0x6456, 64178 },
+ { 0x6457, 64180 },
+ { 0x6458, 64182 },
+ { 0x6459, 64184 },
+ { 0x645A, 64186 },
+ { 0x645B, 64188 },
+ { 0x645C, 64190 },
+ { 0x645D, 64192 },
+ { 0x645E, 64194 },
+ { 0x645F, 64196 },
+ { 0x6460, 64198 },
+ { 0x6461, 64200 },
+ { 0x6462, 64202 },
+ { 0x6463, 64204 },
+ { 0x6464, 64206 },
+ { 0x6465, 64208 },
+ { 0x6466, 64210 },
+ { 0x6467, 64212 },
+ { 0x6468, 64214 },
+ { 0x6469, 64216 },
+ { 0x646A, 64218 },
+ { 0x646B, 64220 },
+ { 0x646C, 64222 },
+ { 0x646D, 64224 },
+ { 0x646E, 64226 },
+ { 0x646F, 64228 },
+ { 0x6470, 64230 },
+ { 0x6471, 64232 },
+ { 0x6472, 64234 },
+ { 0x6473, 64236 },
+ { 0x6474, 64238 },
+ { 0x6475, 64240 },
+ { 0x6476, 64242 },
+ { 0x6477, 64244 },
+ { 0x6478, 64246 },
+ { 0x6479, 64248 },
+ { 0x647A, 64250 },
+ { 0x647B, 64252 },
+ { 0x647C, 64254 },
+ { 0x647D, 64256 },
+ { 0x647E, 64258 },
+ { 0x647F, 64260 },
+ { 0x6480, 64262 },
+ { 0x6481, 64264 },
+ { 0x6482, 64266 },
+ { 0x6483, 64268 },
+ { 0x6484, 64270 },
+ { 0x6485, 64272 },
+ { 0x6486, 64274 },
+ { 0x6487, 64276 },
+ { 0x6488, 64278 },
+ { 0x6489, 64280 },
+ { 0x648A, 64282 },
+ { 0x648B, 64284 },
+ { 0x648C, 64286 },
+ { 0x648D, 64288 },
+ { 0x648E, 64290 },
+ { 0x648F, 64292 },
+ { 0x6490, 64294 },
+ { 0x6491, 64296 },
+ { 0x6492, 64298 },
+ { 0x6493, 64300 },
+ { 0x6494, 64302 },
+ { 0x6495, 64304 },
+ { 0x6496, 64306 },
+ { 0x6497, 64308 },
+ { 0x6498, 64310 },
+ { 0x6499, 64312 },
+ { 0x649A, 64314 },
+ { 0x649B, 64316 },
+ { 0x649C, 64318 },
+ { 0x649D, 64320 },
+ { 0x649E, 64322 },
+ { 0x649F, 64324 },
+ { 0x64A0, 64326 },
+ { 0x64A1, 64328 },
+ { 0x64A2, 64330 },
+ { 0x64A3, 64332 },
+ { 0x64A4, 64334 },
+ { 0x64A5, 64336 },
+ { 0x64A6, 64338 },
+ { 0x64A7, 64340 },
+ { 0x64A8, 64342 },
+ { 0x64A9, 64344 },
+ { 0x64AA, 64346 },
+ { 0x64AB, 64348 },
+ { 0x64AC, 64350 },
+ { 0x64AD, 64352 },
+ { 0x64AE, 64354 },
+ { 0x64AF, 64356 },
+ { 0x64B0, 64358 },
+ { 0x64B1, 64360 },
+ { 0x64B2, 64362 },
+ { 0x64B3, 64364 },
+ { 0x64B4, 64366 },
+ { 0x64B5, 64368 },
+ { 0x64B6, 64370 },
+ { 0x64B7, 64372 },
+ { 0x64B8, 64374 },
+ { 0x64B9, 64376 },
+ { 0x64BA, 64378 },
+ { 0x64BB, 64380 },
+ { 0x64BC, 64382 },
+ { 0x64BD, 64384 },
+ { 0x64BE, 64386 },
+ { 0x64BF, 64388 },
+ { 0x64C0, 64390 },
+ { 0x64C1, 64392 },
+ { 0x64C2, 64394 },
+ { 0x64C3, 64396 },
+ { 0x64C4, 64398 },
+ { 0x64C5, 64400 },
+ { 0x64C6, 64402 },
+ { 0x64C7, 64404 },
+ { 0x64C8, 64406 },
+ { 0x64C9, 64408 },
+ { 0x64CA, 64410 },
+ { 0x64CB, 64412 },
+ { 0x64CC, 64414 },
+ { 0x64CD, 64416 },
+ { 0x64CE, 64418 },
+ { 0x64CF, 64420 },
+ { 0x64D0, 64422 },
+ { 0x64D1, 64424 },
+ { 0x64D2, 64426 },
+ { 0x64D3, 64428 },
+ { 0x64D4, 64430 },
+ { 0x64D5, 64432 },
+ { 0x64D6, 64434 },
+ { 0x64D7, 64436 },
+ { 0x64D8, 64438 },
+ { 0x64D9, 64440 },
+ { 0x64DA, 64442 },
+ { 0x64DB, 64444 },
+ { 0x64DC, 64446 },
+ { 0x64DD, 64448 },
+ { 0x64DE, 64450 },
+ { 0x64DF, 64452 },
+ { 0x64E0, 64454 },
+ { 0x64E1, 64456 },
+ { 0x64E2, 64458 },
+ { 0x64E3, 64460 },
+ { 0x64E4, 64462 },
+ { 0x64E5, 64464 },
+ { 0x64E6, 64466 },
+ { 0x64E7, 64468 },
+ { 0x64E8, 64470 },
+ { 0x64E9, 64472 },
+ { 0x64EA, 64474 },
+ { 0x64EB, 64476 },
+ { 0x64EC, 64478 },
+ { 0x64ED, 64480 },
+ { 0x64EE, 64482 },
+ { 0x64EF, 64484 },
+ { 0x64F0, 64486 },
+ { 0x64F1, 64488 },
+ { 0x64F2, 64490 },
+ { 0x64F3, 64492 },
+ { 0x64F4, 64494 },
+ { 0x64F5, 64496 },
+ { 0x64F6, 64498 },
+ { 0x64F7, 64500 },
+ { 0x64F8, 64502 },
+ { 0x64F9, 64504 },
+ { 0x64FA, 64506 },
+ { 0x64FB, 64508 },
+ { 0x64FC, 64510 },
+ { 0x64FD, 64512 },
+ { 0x64FE, 64514 },
+ { 0x64FF, 64516 },
+ { 0x6500, 64518 },
+ { 0x6501, 64520 },
+ { 0x6502, 64522 },
+ { 0x6503, 64524 },
+ { 0x6504, 64526 },
+ { 0x6505, 64528 },
+ { 0x6506, 64530 },
+ { 0x6507, 64532 },
+ { 0x6508, 64534 },
+ { 0x6509, 64536 },
+ { 0x650A, 64538 },
+ { 0x650B, 64540 },
+ { 0x650C, 64542 },
+ { 0x650D, 64544 },
+ { 0x650E, 64546 },
+ { 0x650F, 64548 },
+ { 0x6510, 64550 },
+ { 0x6511, 64552 },
+ { 0x6512, 64554 },
+ { 0x6513, 64556 },
+ { 0x6514, 64558 },
+ { 0x6515, 64560 },
+ { 0x6516, 64562 },
+ { 0x6517, 64564 },
+ { 0x6518, 64566 },
+ { 0x6519, 64568 },
+ { 0x651A, 64570 },
+ { 0x651B, 64572 },
+ { 0x651C, 64574 },
+ { 0x651D, 64576 },
+ { 0x651E, 64578 },
+ { 0x651F, 64580 },
+ { 0x6520, 64582 },
+ { 0x6521, 64584 },
+ { 0x6522, 64586 },
+ { 0x6523, 64588 },
+ { 0x6524, 64590 },
+ { 0x6525, 64592 },
+ { 0x6526, 64594 },
+ { 0x6527, 64596 },
+ { 0x6528, 64598 },
+ { 0x6529, 64600 },
+ { 0x652A, 64602 },
+ { 0x652B, 64604 },
+ { 0x652C, 64606 },
+ { 0x652D, 64608 },
+ { 0x652E, 64610 },
+ { 0x652F, 64612 },
+ { 0x6530, 64614 },
+ { 0x6531, 64616 },
+ { 0x6532, 64618 },
+ { 0x6533, 64620 },
+ { 0x6534, 64622 },
+ { 0x6535, 64624 },
+ { 0x6536, 64626 },
+ { 0x6537, 64628 },
+ { 0x6538, 64630 },
+ { 0x6539, 64632 },
+ { 0x653A, 64634 },
+ { 0x653B, 64636 },
+ { 0x653C, 64638 },
+ { 0x653D, 64640 },
+ { 0x653E, 64642 },
+ { 0x653F, 64644 },
+ { 0x6540, 64646 },
+ { 0x6541, 64648 },
+ { 0x6542, 64650 },
+ { 0x6543, 64652 },
+ { 0x6544, 64654 },
+ { 0x6545, 64656 },
+ { 0x6546, 64658 },
+ { 0x6547, 64660 },
+ { 0x6548, 64662 },
+ { 0x6549, 64664 },
+ { 0x654A, 64666 },
+ { 0x654B, 64668 },
+ { 0x654C, 64670 },
+ { 0x654D, 64672 },
+ { 0x654E, 64674 },
+ { 0x654F, 64676 },
+ { 0x6550, 64678 },
+ { 0x6551, 64680 },
+ { 0x6552, 64682 },
+ { 0x6553, 64684 },
+ { 0x6554, 64686 },
+ { 0x6555, 64688 },
+ { 0x6556, 64690 },
+ { 0x6557, 64692 },
+ { 0x6558, 64694 },
+ { 0x6559, 64696 },
+ { 0x655A, 64698 },
+ { 0x655B, 64700 },
+ { 0x655C, 64702 },
+ { 0x655D, 64704 },
+ { 0x655E, 64706 },
+ { 0x655F, 64708 },
+ { 0x6560, 64710 },
+ { 0x6561, 64712 },
+ { 0x6562, 64714 },
+ { 0x6563, 64716 },
+ { 0x6564, 64718 },
+ { 0x6565, 64720 },
+ { 0x6566, 64722 },
+ { 0x6567, 64724 },
+ { 0x6568, 64726 },
+ { 0x6569, 64728 },
+ { 0x656A, 64730 },
+ { 0x656B, 64732 },
+ { 0x656C, 64734 },
+ { 0x656D, 64736 },
+ { 0x656E, 64738 },
+ { 0x656F, 64740 },
+ { 0x6570, 64742 },
+ { 0x6571, 64744 },
+ { 0x6572, 64746 },
+ { 0x6573, 64748 },
+ { 0x6574, 64750 },
+ { 0x6575, 64752 },
+ { 0x6576, 64754 },
+ { 0x6577, 64756 },
+ { 0x6578, 64758 },
+ { 0x6579, 64760 },
+ { 0x657A, 64762 },
+ { 0x657B, 64764 },
+ { 0x657C, 64766 },
+ { 0x657D, 64768 },
+ { 0x657E, 64770 },
+ { 0x657F, 64772 },
+ { 0x6580, 64774 },
+ { 0x6581, 64776 },
+ { 0x6582, 64778 },
+ { 0x6583, 64780 },
+ { 0x6584, 64782 },
+ { 0x6585, 64784 },
+ { 0x6586, 64786 },
+ { 0x6587, 64788 },
+ { 0x6588, 64790 },
+ { 0x6589, 64792 },
+ { 0x658A, 64794 },
+ { 0x658B, 64796 },
+ { 0x658C, 64798 },
+ { 0x658D, 64800 },
+ { 0x658E, 64802 },
+ { 0x658F, 64804 },
+ { 0x6590, 64806 },
+ { 0x6591, 64808 },
+ { 0x6592, 64810 },
+ { 0x6593, 64812 },
+ { 0x6594, 64814 },
+ { 0x6595, 64816 },
+ { 0x6596, 64818 },
+ { 0x6597, 64820 },
+ { 0x6598, 64822 },
+ { 0x6599, 64824 },
+ { 0x659A, 64826 },
+ { 0x659B, 64828 },
+ { 0x659C, 64830 },
+ { 0x659D, 64832 },
+ { 0x659E, 64834 },
+ { 0x659F, 64836 },
+ { 0x65A0, 64838 },
+ { 0x65A1, 64840 },
+ { 0x65A2, 64842 },
+ { 0x65A3, 64844 },
+ { 0x65A4, 64846 },
+ { 0x65A5, 64848 },
+ { 0x65A6, 64850 },
+ { 0x65A7, 64852 },
+ { 0x65A8, 64854 },
+ { 0x65A9, 64856 },
+ { 0x65AA, 64858 },
+ { 0x65AB, 64860 },
+ { 0x65AC, 64862 },
+ { 0x65AD, 64864 },
+ { 0x65AE, 64866 },
+ { 0x65AF, 64868 },
+ { 0x65B0, 64870 },
+ { 0x65B1, 64872 },
+ { 0x65B2, 64874 },
+ { 0x65B3, 64876 },
+ { 0x65B4, 64878 },
+ { 0x65B5, 64880 },
+ { 0x65B6, 64882 },
+ { 0x65B7, 64884 },
+ { 0x65B8, 64886 },
+ { 0x65B9, 64888 },
+ { 0x65BA, 64890 },
+ { 0x65BB, 64892 },
+ { 0x65BC, 64894 },
+ { 0x65BD, 64896 },
+ { 0x65BE, 64898 },
+ { 0x65BF, 64900 },
+ { 0x65C0, 64902 },
+ { 0x65C1, 64904 },
+ { 0x65C2, 64906 },
+ { 0x65C3, 64908 },
+ { 0x65C4, 64910 },
+ { 0x65C5, 64912 },
+ { 0x65C6, 64914 },
+ { 0x65C7, 64916 },
+ { 0x65C8, 64918 },
+ { 0x65C9, 64920 },
+ { 0x65CA, 64922 },
+ { 0x65CB, 64924 },
+ { 0x65CC, 64926 },
+ { 0x65CD, 64928 },
+ { 0x65CE, 64930 },
+ { 0x65CF, 64932 },
+ { 0x65D0, 64934 },
+ { 0x65D1, 64936 },
+ { 0x65D2, 64938 },
+ { 0x65D3, 64940 },
+ { 0x65D4, 64942 },
+ { 0x65D5, 64944 },
+ { 0x65D6, 64946 },
+ { 0x65D7, 64948 },
+ { 0x65D8, 64950 },
+ { 0x65D9, 64952 },
+ { 0x65DA, 64954 },
+ { 0x65DB, 64956 },
+ { 0x65DC, 64958 },
+ { 0x65DD, 64960 },
+ { 0x65DE, 64962 },
+ { 0x65DF, 64964 },
+ { 0x65E0, 64966 },
+ { 0x65E1, 64968 },
+ { 0x65E2, 64970 },
+ { 0x65E3, 64972 },
+ { 0x65E4, 64974 },
+ { 0x65E5, 64976 },
+ { 0x65E6, 64978 },
+ { 0x65E7, 64980 },
+ { 0x65E8, 64982 },
+ { 0x65E9, 64984 },
+ { 0x65EA, 55345 },
+ { 0x65EB, 55349 },
+ { 0x65EC, 55353 },
+ { 0x65ED, 55357 },
+ { 0x65EE, 55361 },
+ { 0x65EF, 55365 },
+ { 0x65F0, 55369 },
+ { 0x65F1, 55373 },
+ { 0x65F2, 55377 },
+ { 0x65F3, 55381 },
+ { 0x65F4, 55385 },
+ { 0x65F5, 55389 },
+ { 0x65F6, 55393 },
+ { 0x65F7, 55397 },
+ { 0x65F8, 55401 },
+ { 0x65F9, 55405 },
+ { 0x65FA, 55409 },
+ { 0x65FB, 55413 },
+ { 0x65FC, 55417 },
+ { 0x65FD, 55421 },
+ { 0x65FE, 55425 },
+ { 0x65FF, 55429 },
+ { 0x6600, 55433 },
+ { 0x6601, 55437 },
+ { 0x6602, 55441 },
+ { 0x6603, 55445 },
+ { 0x6604, 55449 },
+ { 0x6605, 55453 },
+ { 0x6606, 55457 },
+ { 0x6607, 55461 },
+ { 0x6608, 55465 },
+ { 0x6609, 55469 },
+ { 0x660A, 55473 },
+ { 0x660B, 55477 },
+ { 0x660C, 55481 },
+ { 0x660D, 55485 },
+ { 0x660E, 55489 },
+ { 0x660F, 55493 },
+ { 0x6610, 55497 },
+ { 0x6611, 55501 },
+ { 0x6612, 55505 },
+ { 0x6613, 55509 },
+ { 0x6614, 55513 },
+ { 0x6615, 55517 },
+ { 0x6616, 55521 },
+ { 0x6617, 55525 },
+ { 0x6618, 55529 },
+ { 0x6619, 55533 },
+ { 0x661A, 55537 },
+ { 0x661B, 55541 },
+ { 0x661C, 55545 },
+ { 0x661D, 55549 },
+ { 0x661E, 55553 },
+ { 0x661F, 55557 },
+ { 0x6620, 55561 },
+ { 0x6621, 55565 },
+ { 0x6622, 55569 },
+ { 0x6623, 55573 },
+ { 0x6624, 55577 },
+ { 0x6625, 55581 },
+ { 0x6626, 55585 },
+ { 0x6627, 55589 },
+ { 0x6628, 55593 },
+ { 0x6629, 55597 },
+ { 0x662A, 55601 },
+ { 0x662B, 55605 },
+ { 0x662C, 55609 },
+ { 0x662D, 55613 },
+ { 0x662E, 55617 },
+ { 0x662F, 55621 },
+ { 0x6630, 55625 },
+ { 0x6631, 55629 },
+ { 0x6632, 55633 },
+ { 0x6633, 55637 },
+ { 0x6634, 55641 },
+ { 0x6635, 55645 },
+ { 0x6636, 55649 },
+ { 0x6637, 55653 },
+ { 0x6638, 55657 },
+ { 0x6639, 55661 },
+ { 0x663A, 55665 },
+ { 0x663B, 55669 },
+ { 0x663C, 55673 },
+ { 0x663D, 55677 },
+ { 0x663E, 55681 },
+ { 0x663F, 55685 },
+ { 0x6640, 55689 },
+ { 0x6641, 55693 },
+ { 0x6642, 55697 },
+ { 0x6643, 55701 },
+ { 0x6644, 55705 },
+ { 0x6645, 55709 },
+ { 0x6646, 55713 },
+ { 0x6647, 55717 },
+ { 0x6648, 55721 },
+ { 0x6649, 55725 },
+ { 0x664A, 55729 },
+ { 0x664B, 55733 },
+ { 0x664C, 55737 },
+ { 0x664D, 55741 },
+ { 0x664E, 55745 },
+ { 0x664F, 55749 },
+ { 0x6650, 55753 },
+ { 0x6651, 55757 },
+ { 0x6652, 55761 },
+ { 0x6653, 55765 },
+ { 0x6654, 55769 },
+ { 0x6655, 55773 },
+ { 0x6656, 55777 },
+ { 0x6657, 55781 },
+ { 0x6658, 55785 },
+ { 0x6659, 55789 },
+ { 0x665A, 55793 },
+ { 0x665B, 55797 },
+ { 0x665C, 55801 },
+ { 0x665D, 55805 },
+ { 0x665E, 55809 },
+ { 0x665F, 55813 },
+ { 0x6660, 55817 },
+ { 0x6661, 55821 },
+ { 0x6662, 55825 },
+ { 0x6663, 55829 },
+ { 0x6664, 55833 },
+ { 0x6665, 55837 },
+ { 0x6666, 55841 },
+ { 0x6667, 55845 },
+ { 0x6668, 55849 },
+ { 0x6669, 55853 },
+ { 0x666A, 55857 },
+ { 0x666B, 55861 },
+ { 0x666C, 55865 },
+ { 0x666D, 55869 },
+ { 0x666E, 55873 },
+ { 0x666F, 55877 },
+ { 0x6670, 55881 },
+ { 0x6671, 55885 },
+ { 0x6672, 55889 },
+ { 0x6673, 55893 },
+ { 0x6674, 55897 },
+ { 0x6675, 55901 },
+ { 0x6676, 55905 },
+ { 0x6677, 55909 },
+ { 0x6678, 55913 },
+ { 0x6679, 55917 },
+ { 0x667A, 55921 },
+ { 0x667B, 55925 },
+ { 0x667C, 55929 },
+ { 0x667D, 55933 },
+ { 0x667E, 55937 },
+ { 0x667F, 55941 },
+ { 0x6680, 55945 },
+ { 0x6681, 55949 },
+ { 0x6682, 55953 },
+ { 0x6683, 55957 },
+ { 0x6684, 55961 },
+ { 0x6685, 55965 },
+ { 0x6686, 55969 },
+ { 0x6687, 55973 },
+ { 0x6688, 55977 },
+ { 0x6689, 55981 },
+ { 0x668A, 55985 },
+ { 0x668B, 55989 },
+ { 0x668C, 55993 },
+ { 0x668D, 55997 },
+ { 0x668E, 56001 },
+ { 0x668F, 56005 },
+ { 0x6690, 56009 },
+ { 0x6691, 56013 },
+ { 0x6692, 56017 },
+ { 0x6693, 56021 },
+ { 0x6694, 56025 },
+ { 0x6695, 56029 },
+ { 0x6696, 56033 },
+ { 0x6697, 56037 },
+ { 0x6698, 56041 },
+ { 0x6699, 56045 },
+ { 0x669A, 56049 },
+ { 0x669B, 56053 },
+ { 0x669C, 56057 },
+ { 0x669D, 56061 },
+ { 0x669E, 56065 },
+ { 0x669F, 56069 },
+ { 0x66A0, 56073 },
+ { 0x66A1, 56077 },
+ { 0x66A2, 56081 },
+ { 0x66A3, 56085 },
+ { 0x66A4, 56089 },
+ { 0x66A5, 56093 },
+ { 0x66A6, 56097 },
+ { 0x66A7, 56101 },
+ { 0x66A8, 56105 },
+ { 0x66A9, 56109 },
+ { 0x66AA, 56113 },
+ { 0x66AB, 56117 },
+ { 0x66AC, 56121 },
+ { 0x66AD, 56125 },
+ { 0x66AE, 56129 },
+ { 0x66AF, 56133 },
+ { 0x66B0, 56137 },
+ { 0x66B1, 56141 },
+ { 0x66B2, 56145 },
+ { 0x66B3, 56149 },
+ { 0x66B4, 56153 },
+ { 0x66B5, 56157 },
+ { 0x66B6, 56161 },
+ { 0x66B7, 56165 },
+ { 0x66B8, 56169 },
+ { 0x66B9, 56173 },
+ { 0x66BA, 56177 },
+ { 0x66BB, 56181 },
+ { 0x66BC, 56185 },
+ { 0x66BD, 56189 },
+ { 0x66BE, 56193 },
+ { 0x66BF, 56197 },
+ { 0x66C0, 56201 },
+ { 0x66C1, 56205 },
+ { 0x66C2, 56209 },
+ { 0x66C3, 56213 },
+ { 0x66C4, 56217 },
+ { 0x66C5, 56221 },
+ { 0x66C6, 56225 },
+ { 0x66C7, 56229 },
+ { 0x66C8, 56233 },
+ { 0x66C9, 56237 },
+ { 0x66CA, 56241 },
+ { 0x66CB, 56245 },
+ { 0x66CC, 56249 },
+ { 0x66CD, 56253 },
+ { 0x66CE, 56257 },
+ { 0x66CF, 56261 },
+ { 0x66D0, 56265 },
+ { 0x66D1, 56269 },
+ { 0x66D2, 56273 },
+ { 0x66D3, 56277 },
+ { 0x66D4, 56281 },
+ { 0x66D5, 56285 },
+ { 0x66D6, 56289 },
+ { 0x66D7, 56293 },
+ { 0x66D8, 56297 },
+ { 0x66D9, 56301 },
+ { 0x66DA, 56305 },
+ { 0x66DB, 56309 },
+ { 0x66DC, 56313 },
+ { 0x66DD, 56317 },
+ { 0x66DE, 56321 },
+ { 0x66DF, 56325 },
+ { 0x66E0, 56329 },
+ { 0x66E1, 56333 },
+ { 0x66E2, 56337 },
+ { 0x66E3, 56341 },
+ { 0x66E4, 56345 },
+ { 0x66E5, 56349 },
+ { 0x66E6, 56353 },
+ { 0x66E7, 56357 },
+ { 0x66E8, 56361 },
+ { 0x66E9, 56365 },
+ { 0x66EA, 56369 },
+ { 0x66EB, 56373 },
+ { 0x66EC, 56377 },
+ { 0x66ED, 56381 },
+ { 0x66EE, 56385 },
+ { 0x66EF, 56389 },
+ { 0x66F0, 56393 },
+ { 0x66F1, 56397 },
+ { 0x66F2, 56401 },
+ { 0x66F3, 56405 },
+ { 0x66F4, 56409 },
+ { 0x66F5, 56413 },
+ { 0x66F6, 56417 },
+ { 0x66F7, 56421 },
+ { 0x66F8, 56425 },
+ { 0x66F9, 56429 },
+ { 0x66FA, 56433 },
+ { 0x66FB, 56437 },
+ { 0x66FC, 56441 },
+ { 0x66FD, 56445 },
+ { 0x66FE, 56449 },
+ { 0x66FF, 56453 },
+ { 0x6700, 56457 },
+ { 0x6701, 56461 },
+ { 0x6702, 56465 },
+ { 0x6703, 56469 },
+ { 0x6704, 56473 },
+ { 0x6705, 56477 },
+ { 0x6706, 56481 },
+ { 0x6707, 56485 },
+ { 0x6708, 56489 },
+ { 0x6709, 56493 },
+ { 0x670A, 56497 },
+ { 0x670B, 56501 },
+ { 0x670C, 56505 },
+ { 0x670D, 56509 },
+ { 0x670E, 56513 },
+ { 0x670F, 56517 },
+ { 0x6710, 56521 },
+ { 0x6711, 56525 },
+ { 0x6712, 56529 },
+ { 0x6713, 56533 },
+ { 0x6714, 56537 },
+ { 0x6715, 56541 },
+ { 0x6716, 56545 },
+ { 0x6717, 56549 },
+ { 0x6718, 56553 },
+ { 0x6719, 56557 },
+ { 0x671A, 56561 },
+ { 0x671B, 56565 },
+ { 0x671C, 56569 },
+ { 0x671D, 56573 },
+ { 0x671E, 56577 },
+ { 0x671F, 56581 },
+ { 0x6720, 56585 },
+ { 0x6721, 56589 },
+ { 0x6722, 56593 },
+ { 0x6723, 56597 },
+ { 0x6724, 56601 },
+ { 0x6725, 56605 },
+ { 0x6726, 56609 },
+ { 0x6727, 56613 },
+ { 0x6728, 56617 },
+ { 0x6729, 56621 },
+ { 0x672A, 56625 },
+ { 0x672B, 56629 },
+ { 0x672C, 56633 },
+ { 0x672D, 56637 },
+ { 0x672E, 56641 },
+ { 0x672F, 56645 },
+ { 0x6730, 56649 },
+ { 0x6731, 56653 },
+ { 0x6732, 56657 },
+ { 0x6733, 56661 },
+ { 0x6734, 56665 },
+ { 0x6735, 56669 },
+ { 0x6736, 56673 },
+ { 0x6737, 56677 },
+ { 0x6738, 56681 },
+ { 0x6739, 56685 },
+ { 0x673A, 56689 },
+ { 0x673B, 56693 },
+ { 0x673C, 56697 },
+ { 0x673D, 56701 },
+ { 0x673E, 56705 },
+ { 0x673F, 56709 },
+ { 0x6740, 56713 },
+ { 0x6741, 56717 },
+ { 0x6742, 56721 },
+ { 0x6743, 56725 },
+ { 0x6744, 56729 },
+ { 0x6745, 56733 },
+ { 0x6746, 56737 },
+ { 0x6747, 56741 },
+ { 0x6748, 56745 },
+ { 0x6749, 56749 },
+ { 0x674A, 56753 },
+ { 0x674B, 56757 },
+ { 0x674C, 56761 },
+ { 0x674D, 56765 },
+ { 0x674E, 56769 },
+ { 0x674F, 56773 },
+ { 0x6750, 56777 },
+ { 0x6751, 56781 },
+ { 0x6752, 56785 },
+ { 0x6753, 56789 },
+ { 0x6754, 56793 },
+ { 0x6755, 56797 },
+ { 0x6756, 56801 },
+ { 0x6757, 56805 },
+ { 0x6758, 56809 },
+ { 0x6759, 56813 },
+ { 0x675A, 56817 },
+ { 0x675B, 56821 },
+ { 0x675C, 56825 },
+ { 0x675D, 56829 },
+ { 0x675E, 56833 },
+ { 0x675F, 56837 },
+ { 0x6760, 56841 },
+ { 0x6761, 56845 },
+ { 0x6762, 56849 },
+ { 0x6763, 56853 },
+ { 0x6764, 56857 },
+ { 0x6765, 56861 },
+ { 0x6766, 56865 },
+ { 0x6767, 56869 },
+ { 0x6768, 56873 },
+ { 0x6769, 56877 },
+ { 0x676A, 56881 },
+ { 0x676B, 56885 },
+ { 0x676C, 56889 },
+ { 0x676D, 56893 },
+ { 0x676E, 56897 },
+ { 0x676F, 56901 },
+ { 0x6770, 56905 },
+ { 0x6771, 56909 },
+ { 0x6772, 56913 },
+ { 0x6773, 56917 },
+ { 0x6774, 56921 },
+ { 0x6775, 56925 },
+ { 0x6776, 56929 },
+ { 0x6777, 56933 },
+ { 0x6778, 56937 },
+ { 0x6779, 56941 },
+ { 0x677A, 56945 },
+ { 0x677B, 56949 },
+ { 0x677C, 56953 },
+ { 0x677D, 56957 },
+ { 0x677E, 56961 },
+ { 0x677F, 56965 },
+ { 0x6780, 56969 },
+ { 0x6781, 56973 },
+ { 0x6782, 56977 },
+ { 0x6783, 56981 },
+ { 0x6784, 56985 },
+ { 0x6785, 56989 },
+ { 0x6786, 56993 },
+ { 0x6787, 56997 },
+ { 0x6788, 57001 },
+ { 0x6789, 57005 },
+ { 0x678A, 57009 },
+ { 0x678B, 57013 },
+ { 0x678C, 57017 },
+ { 0x678D, 57021 },
+ { 0x678E, 57025 },
+ { 0x678F, 57029 },
+ { 0x6790, 57033 },
+ { 0x6791, 57037 },
+ { 0x6792, 57041 },
+ { 0x6793, 57045 },
+ { 0x6794, 57049 },
+ { 0x6795, 57053 },
+ { 0x6796, 57057 },
+ { 0x6797, 57061 },
+ { 0x6798, 57065 },
+ { 0x6799, 57069 },
+ { 0x679A, 57073 },
+ { 0x679B, 57077 },
+ { 0x679C, 57081 },
+ { 0x679D, 57085 },
+ { 0x679E, 57089 },
+ { 0x679F, 57093 },
+ { 0x67A0, 57097 },
+ { 0x67A1, 57101 },
+ { 0x67A2, 57105 },
+ { 0x67A3, 57109 },
+ { 0x67A4, 57113 },
+ { 0x67A5, 57117 },
+ { 0x67A6, 57121 },
+ { 0x67A7, 57125 },
+ { 0x67A8, 57129 },
+ { 0x67A9, 57133 },
+ { 0x67AA, 57137 },
+ { 0x67AB, 57141 },
+ { 0x67AC, 57145 },
+ { 0x67AD, 57149 },
+ { 0x67AE, 57153 },
+ { 0x67AF, 57157 },
+ { 0x67B0, 57161 },
+ { 0x67B1, 57165 },
+ { 0x67B2, 57169 },
+ { 0x67B3, 57173 },
+ { 0x67B4, 57177 },
+ { 0x67B5, 57181 },
+ { 0x67B6, 57185 },
+ { 0x67B7, 57189 },
+ { 0x67B8, 57193 },
+ { 0x67B9, 57197 },
+ { 0x67BA, 57201 },
+ { 0x67BB, 57205 },
+ { 0x67BC, 57209 },
+ { 0x67BD, 57213 },
+ { 0x67BE, 57217 },
+ { 0x67BF, 57221 },
+ { 0x67C0, 94698 },
+ { 0x67C1, 94702 },
+ { 0x67C2, 94706 },
+ { 0x67C3, 94710 },
+ { 0x67C4, 94714 },
+ { 0x67C5, 94718 },
+ { 0x67C6, 94722 },
+ { 0x67C7, 94727 },
+ { 0x67C8, 94732 },
+ { 0x67C9, 94737 },
+ { 0x67CA, 94742 },
+ { 0x67CB, 94747 },
+ { 0x67CC, 94752 },
+ { 0x67CD, 94757 },
+ { 0x67CE, 93711 },
+ { 0x67CF, 118654 },
+ { 0x67D0, 118657 },
+ { 0x67D1, 118660 },
+ { 0x67D2, 118717 },
+ { 0x67D3, 118681 },
+ { 0x67D4, 118684 },
+ { 0x67D5, 118687 },
+ { 0x67D6, 118690 },
+ { 0x67D7, 118702 },
+ { 0x67D8, 118705 },
+ { 0x67D9, 118708 },
+ { 0x67DA, 118711 },
+ { 0x67DB, 118714 },
+ { 0x67DC, 118666 },
+ { 0x67DD, 118669 },
+ { 0x67DE, 118672 },
+ { 0x67DF, 118675 },
+ { 0x67E0, 118678 },
+ { 0x67E1, 118693 },
+ { 0x67E2, 118696 },
+ { 0x67E3, 118699 },
+ { 0x67E4, 118822 },
+ { 0x67E5, 118825 },
+ { 0x67E6, 118828 },
+ { 0x67E7, 118831 },
+ { 0x67E8, 118834 },
+ { 0x67E9, 118837 },
+ { 0x67EA, 118840 },
+ { 0x67EB, 118843 },
+ { 0x67EC, 118846 },
+ { 0x67ED, 119476 },
+ { 0x67EE, 119479 },
+ { 0x67EF, 119482 },
+ { 0x67F0, 118867 },
+ { 0x67F1, 118870 },
+ { 0x67F2, 118873 },
+ { 0x67F3, 118876 },
+ { 0x67F4, 118879 },
+ { 0x67F5, 118882 },
+ { 0x67F6, 118885 },
+ { 0x67F7, 118888 },
+ { 0x67F8, 118900 },
+ { 0x67F9, 118903 },
+ { 0x67FA, 118906 },
+ { 0x67FB, 118909 },
+ { 0x67FC, 118912 },
+ { 0x67FD, 118915 },
+ { 0x67FE, 118918 },
+ { 0x67FF, 118849 },
+ { 0x6800, 118852 },
+ { 0x6801, 118855 },
+ { 0x6802, 118858 },
+ { 0x6803, 118861 },
+ { 0x6804, 118864 },
+ { 0x6805, 118891 },
+ { 0x6806, 118894 },
+ { 0x6807, 118897 },
+ { 0x6808, 119485 },
+ { 0x6809, 119170 },
+ { 0x680A, 119173 },
+ { 0x680B, 119176 },
+ { 0x680C, 119179 },
+ { 0x680D, 119182 },
+ { 0x680E, 119185 },
+ { 0x680F, 119188 },
+ { 0x6810, 119191 },
+ { 0x6811, 119209 },
+ { 0x6812, 119212 },
+ { 0x6813, 119215 },
+ { 0x6814, 119218 },
+ { 0x6815, 119221 },
+ { 0x6816, 119224 },
+ { 0x6817, 119248 },
+ { 0x6818, 119251 },
+ { 0x6819, 119254 },
+ { 0x681A, 119257 },
+ { 0x681B, 119260 },
+ { 0x681C, 119263 },
+ { 0x681D, 119266 },
+ { 0x681E, 119269 },
+ { 0x681F, 119194 },
+ { 0x6820, 119197 },
+ { 0x6821, 119200 },
+ { 0x6822, 119203 },
+ { 0x6823, 119206 },
+ { 0x6824, 119227 },
+ { 0x6825, 119230 },
+ { 0x6826, 119233 },
+ { 0x6827, 119236 },
+ { 0x6828, 119239 },
+ { 0x6829, 119242 },
+ { 0x682A, 119245 },
+ { 0x682B, 119272 },
+ { 0x682C, 119275 },
+ { 0x682D, 119278 },
+ { 0x682E, 119281 },
+ { 0x682F, 119311 },
+ { 0x6830, 119314 },
+ { 0x6831, 119317 },
+ { 0x6832, 119320 },
+ { 0x6833, 119323 },
+ { 0x6834, 119326 },
+ { 0x6835, 119329 },
+ { 0x6836, 119350 },
+ { 0x6837, 119353 },
+ { 0x6838, 119356 },
+ { 0x6839, 119359 },
+ { 0x683A, 119500 },
+ { 0x683B, 119284 },
+ { 0x683C, 119287 },
+ { 0x683D, 119290 },
+ { 0x683E, 119293 },
+ { 0x683F, 119296 },
+ { 0x6840, 119299 },
+ { 0x6841, 119302 },
+ { 0x6842, 119305 },
+ { 0x6843, 119308 },
+ { 0x6844, 119332 },
+ { 0x6845, 119335 },
+ { 0x6846, 119338 },
+ { 0x6847, 119341 },
+ { 0x6848, 119344 },
+ { 0x6849, 119347 },
+ { 0x684A, 119497 },
+ { 0x684B, 118999 },
+ { 0x684C, 119002 },
+ { 0x684D, 119005 },
+ { 0x684E, 119008 },
+ { 0x684F, 119011 },
+ { 0x6850, 119014 },
+ { 0x6851, 119017 },
+ { 0x6852, 119020 },
+ { 0x6853, 119023 },
+ { 0x6854, 119044 },
+ { 0x6855, 119047 },
+ { 0x6856, 119050 },
+ { 0x6857, 119053 },
+ { 0x6858, 119056 },
+ { 0x6859, 119059 },
+ { 0x685A, 119062 },
+ { 0x685B, 119494 },
+ { 0x685C, 119080 },
+ { 0x685D, 119083 },
+ { 0x685E, 119086 },
+ { 0x685F, 119026 },
+ { 0x6860, 119029 },
+ { 0x6861, 119032 },
+ { 0x6862, 119035 },
+ { 0x6863, 119038 },
+ { 0x6864, 119041 },
+ { 0x6865, 119491 },
+ { 0x6866, 119065 },
+ { 0x6867, 119068 },
+ { 0x6868, 119071 },
+ { 0x6869, 119074 },
+ { 0x686A, 119077 },
+ { 0x686B, 118720 },
+ { 0x686C, 118723 },
+ { 0x686D, 118726 },
+ { 0x686E, 118729 },
+ { 0x686F, 118732 },
+ { 0x6870, 118735 },
+ { 0x6871, 118738 },
+ { 0x6872, 118741 },
+ { 0x6873, 118744 },
+ { 0x6874, 119470 },
+ { 0x6875, 119473 },
+ { 0x6876, 118768 },
+ { 0x6877, 118771 },
+ { 0x6878, 118774 },
+ { 0x6879, 118777 },
+ { 0x687A, 118780 },
+ { 0x687B, 118783 },
+ { 0x687C, 118786 },
+ { 0x687D, 118813 },
+ { 0x687E, 118816 },
+ { 0x687F, 118819 },
+ { 0x6880, 118747 },
+ { 0x6881, 118750 },
+ { 0x6882, 118753 },
+ { 0x6883, 118756 },
+ { 0x6884, 118759 },
+ { 0x6885, 118762 },
+ { 0x6886, 118765 },
+ { 0x6887, 118789 },
+ { 0x6888, 118792 },
+ { 0x6889, 118795 },
+ { 0x688A, 118798 },
+ { 0x688B, 118801 },
+ { 0x688C, 118804 },
+ { 0x688D, 118807 },
+ { 0x688E, 118810 },
+ { 0x688F, 118921 },
+ { 0x6890, 118924 },
+ { 0x6891, 118927 },
+ { 0x6892, 118930 },
+ { 0x6893, 118933 },
+ { 0x6894, 118936 },
+ { 0x6895, 118939 },
+ { 0x6896, 118948 },
+ { 0x6897, 118951 },
+ { 0x6898, 118954 },
+ { 0x6899, 118957 },
+ { 0x689A, 118960 },
+ { 0x689B, 118963 },
+ { 0x689C, 118966 },
+ { 0x689D, 118987 },
+ { 0x689E, 118990 },
+ { 0x689F, 118993 },
+ { 0x68A0, 118996 },
+ { 0x68A1, 118942 },
+ { 0x68A2, 118945 },
+ { 0x68A3, 119488 },
+ { 0x68A4, 118969 },
+ { 0x68A5, 118972 },
+ { 0x68A6, 118975 },
+ { 0x68A7, 118978 },
+ { 0x68A8, 118981 },
+ { 0x68A9, 118984 },
+ { 0x68AA, 119425 },
+ { 0x68AB, 119428 },
+ { 0x68AC, 119431 },
+ { 0x68AD, 119434 },
+ { 0x68AE, 119437 },
+ { 0x68AF, 119503 },
+ { 0x68B0, 119458 },
+ { 0x68B1, 119461 },
+ { 0x68B2, 119464 },
+ { 0x68B3, 119467 },
+ { 0x68B4, 119440 },
+ { 0x68B5, 119443 },
+ { 0x68B6, 119446 },
+ { 0x68B7, 119449 },
+ { 0x68B8, 119452 },
+ { 0x68B9, 119455 },
+ { 0x68BA, 119089 },
+ { 0x68BB, 119092 },
+ { 0x68BC, 119095 },
+ { 0x68BD, 119098 },
+ { 0x68BE, 119113 },
+ { 0x68BF, 119116 },
+ { 0x68C0, 119119 },
+ { 0x68C1, 119122 },
+ { 0x68C2, 119125 },
+ { 0x68C3, 119128 },
+ { 0x68C4, 119131 },
+ { 0x68C5, 119152 },
+ { 0x68C6, 119155 },
+ { 0x68C7, 119158 },
+ { 0x68C8, 119161 },
+ { 0x68C9, 119164 },
+ { 0x68CA, 119167 },
+ { 0x68CB, 119101 },
+ { 0x68CC, 119104 },
+ { 0x68CD, 119107 },
+ { 0x68CE, 119110 },
+ { 0x68CF, 119134 },
+ { 0x68D0, 119137 },
+ { 0x68D1, 119140 },
+ { 0x68D2, 119143 },
+ { 0x68D3, 119146 },
+ { 0x68D4, 119149 },
+ { 0x68D5, 119362 },
+ { 0x68D6, 119365 },
+ { 0x68D7, 119368 },
+ { 0x68D8, 119371 },
+ { 0x68D9, 119374 },
+ { 0x68DA, 119389 },
+ { 0x68DB, 119392 },
+ { 0x68DC, 119395 },
+ { 0x68DD, 119398 },
+ { 0x68DE, 119401 },
+ { 0x68DF, 119377 },
+ { 0x68E0, 119380 },
+ { 0x68E1, 119383 },
+ { 0x68E2, 119386 },
+ { 0x68E3, 119404 },
+ { 0x68E4, 119407 },
+ { 0x68E5, 119410 },
+ { 0x68E6, 119413 },
+ { 0x68E7, 119416 },
+ { 0x68E8, 119419 },
+ { 0x68E9, 119422 },
+ { 0x68EA, 119506 },
+ { 0x68EB, 119509 },
+ { 0x68EC, 93707 },
+ { 0x68ED, 94769 },
+ { 0x68EE, 94765 },
+ { 0x68EF, 94761 },
+ { 0x68F0, 93671 },
+ { 0x68F1, 93687 },
+ { 0x68F2, 93683 },
+ { 0x68F3, 93691 },
+ { 0x68F4, 94618 },
+ { 0x68F5, 94678 },
+ { 0x68F6, 94674 },
+ { 0x68F7, 94682 },
+ { 0x68F8, 94578 },
+ { 0x68F9, 36368 },
+ { 0x68FA, 36370 },
+ { 0x68FB, 36372 },
+ { 0x68FC, 36374 },
+ { 0x68FD, 36376 },
+ { 0x68FE, 36378 },
+ { 0x68FF, 36380 },
+ { 0x6900, 36382 },
+ { 0x6901, 36384 },
+ { 0x6902, 36386 },
+ { 0x6903, 36388 },
+ { 0x6904, 36390 },
+ { 0x6905, 36392 },
+ { 0x6906, 36394 },
+ { 0x6907, 36396 },
+ { 0x6908, 36398 },
+ { 0x6909, 36400 },
+ { 0x690A, 36402 },
+ { 0x690B, 36404 },
+ { 0x690C, 36406 },
+ { 0x690D, 36408 },
+ { 0x690E, 36410 },
+ { 0x690F, 36412 },
+ { 0x6910, 36414 },
+ { 0x6911, 36416 },
+ { 0x6912, 36418 },
+ { 0x6913, 36420 },
+ { 0x6914, 36422 },
+ { 0x6915, 36424 },
+ { 0x6916, 36426 },
+ { 0x6917, 36428 },
+ { 0x6918, 36430 },
+ { 0x6919, 36432 },
+ { 0x691A, 36434 },
+ { 0x691B, 36436 },
+ { 0x691C, 36438 },
+ { 0x691D, 36440 },
+ { 0x691E, 36442 },
+ { 0x691F, 36444 },
+ { 0x6920, 36446 },
+ { 0x6921, 36448 },
+ { 0x6922, 36450 },
+ { 0x6923, 36452 },
+ { 0x6924, 36454 },
+ { 0x6925, 36456 },
+ { 0x6926, 36458 },
+ { 0x6927, 36460 },
+ { 0x6928, 36462 },
+ { 0x6929, 36464 },
+ { 0x692A, 36466 },
+ { 0x692B, 36468 },
+ { 0x692C, 36470 },
+ { 0x692D, 36472 },
+ { 0x692E, 36474 },
+ { 0x692F, 36476 },
+ { 0x6930, 36478 },
+ { 0x6931, 36480 },
+ { 0x6932, 36482 },
+ { 0x6933, 36484 },
+ { 0x6934, 36486 },
+ { 0x6935, 36488 },
+ { 0x6936, 36490 },
+ { 0x6937, 36492 },
+ { 0x6938, 36494 },
+ { 0x6939, 36496 },
+ { 0x693A, 36498 },
+ { 0x693B, 36500 },
+ { 0x693C, 36502 },
+ { 0x693D, 36504 },
+ { 0x693E, 36506 },
+ { 0x693F, 36508 },
+ { 0x6940, 36510 },
+ { 0x6941, 36512 },
+ { 0x6942, 36514 },
+ { 0x6943, 36516 },
+ { 0x6944, 36518 },
+ { 0x6945, 36520 },
+ { 0x6946, 36522 },
+ { 0x6947, 36524 },
+ { 0x6948, 36526 },
+ { 0x6949, 36528 },
+ { 0x694A, 36530 },
+ { 0x694B, 36532 },
+ { 0x694C, 36534 },
+ { 0x694D, 36536 },
+ { 0x694E, 36538 },
+ { 0x694F, 36540 },
+ { 0x6950, 36542 },
+ { 0x6951, 36544 },
+ { 0x6952, 36546 },
+ { 0x6953, 36548 },
+ { 0x6954, 36550 },
+ { 0x6955, 36552 },
+ { 0x6956, 36554 },
+ { 0x6957, 36556 },
+ { 0x6958, 36558 },
+ { 0x6959, 36560 },
+ { 0x695A, 36562 },
+ { 0x695B, 36564 },
+ { 0x695C, 36566 },
+ { 0x695D, 36568 },
+ { 0x695E, 36570 },
+ { 0x695F, 36572 },
+ { 0x6960, 36574 },
+ { 0x6961, 36576 },
+ { 0x6962, 36578 },
+ { 0x6963, 36580 },
+ { 0x6964, 36582 },
+ { 0x6965, 36584 },
+ { 0x6966, 36586 },
+ { 0x6967, 36588 },
+ { 0x6968, 36590 },
+ { 0x6969, 36592 },
+ { 0x696A, 36594 },
+ { 0x696B, 36596 },
+ { 0x696C, 36598 },
+ { 0x696D, 36600 },
+ { 0x696E, 36602 },
+ { 0x696F, 36604 },
+ { 0x6970, 36606 },
+ { 0x6971, 36608 },
+ { 0x6972, 36610 },
+ { 0x6973, 36612 },
+ { 0x6974, 36614 },
+ { 0x6975, 36616 },
+ { 0x6976, 36618 },
+ { 0x6977, 36620 },
+ { 0x6978, 36622 },
+ { 0x6979, 36624 },
+ { 0x697A, 36626 },
+ { 0x697B, 36628 },
+ { 0x697C, 36630 },
+ { 0x697D, 36632 },
+ { 0x697E, 36634 },
+ { 0x697F, 36636 },
+ { 0x6980, 36638 },
+ { 0x6981, 36640 },
+ { 0x6982, 36642 },
+ { 0x6983, 36644 },
+ { 0x6984, 36646 },
+ { 0x6985, 36648 },
+ { 0x6986, 36650 },
+ { 0x6987, 36652 },
+ { 0x6988, 36654 },
+ { 0x6989, 36656 },
+ { 0x698A, 36658 },
+ { 0x698B, 36660 },
+ { 0x698C, 36662 },
+ { 0x698D, 36664 },
+ { 0x698E, 36666 },
+ { 0x698F, 36668 },
+ { 0x6990, 36670 },
+ { 0x6991, 36672 },
+ { 0x6992, 36674 },
+ { 0x6993, 36676 },
+ { 0x6994, 36678 },
+ { 0x6995, 36680 },
+ { 0x6996, 36682 },
+ { 0x6997, 36684 },
+ { 0x6998, 36686 },
+ { 0x6999, 36688 },
+ { 0x699A, 36690 },
+ { 0x699B, 36692 },
+ { 0x699C, 36694 },
+ { 0x699D, 36696 },
+ { 0x699E, 36698 },
+ { 0x699F, 36700 },
+ { 0x69A0, 36702 },
+ { 0x69A1, 36704 },
+ { 0x69A2, 36706 },
+ { 0x69A3, 36708 },
+ { 0x69A4, 36710 },
+ { 0x69A5, 36712 },
+ { 0x69A6, 36714 },
+ { 0x69A7, 36716 },
+ { 0x69A8, 36718 },
+ { 0x69A9, 36720 },
+ { 0x69AA, 36722 },
+ { 0x69AB, 36724 },
+ { 0x69AC, 36726 },
+ { 0x69AD, 36728 },
+ { 0x69AE, 36730 },
+ { 0x69AF, 36732 },
+ { 0x69B0, 36734 },
+ { 0x69B1, 36736 },
+ { 0x69B2, 36738 },
+ { 0x69B3, 36740 },
+ { 0x69B4, 36742 },
+ { 0x69B5, 36744 },
+ { 0x69B6, 36746 },
+ { 0x69B7, 36748 },
+ { 0x69B8, 36750 },
+ { 0x69B9, 36752 },
+ { 0x69BA, 36754 },
+ { 0x69BB, 36756 },
+ { 0x69BC, 36758 },
+ { 0x69BD, 36760 },
+ { 0x69BE, 36762 },
+ { 0x69BF, 36764 },
+ { 0x69C0, 36766 },
+ { 0x69C1, 36768 },
+ { 0x69C2, 36770 },
+ { 0x69C3, 36772 },
+ { 0x69C4, 36774 },
+ { 0x69C5, 36776 },
+ { 0x69C6, 36778 },
+ { 0x69C7, 36780 },
+ { 0x69C8, 36782 },
+ { 0x69C9, 36784 },
+ { 0x69CA, 36786 },
+ { 0x69CB, 36788 },
+ { 0x69CC, 36790 },
+ { 0x69CD, 36792 },
+ { 0x69CE, 36794 },
+ { 0x69CF, 36796 },
+ { 0x69D0, 36798 },
+ { 0x69D1, 36800 },
+ { 0x69D2, 36802 },
+ { 0x69D3, 36804 },
+ { 0x69D4, 36806 },
+ { 0x69D5, 36808 },
+ { 0x69D6, 36810 },
+ { 0x69D7, 36812 },
+ { 0x69D8, 36814 },
+ { 0x69D9, 36816 },
+ { 0x69DA, 36818 },
+ { 0x69DB, 36820 },
+ { 0x69DC, 36822 },
+ { 0x69DD, 36824 },
+ { 0x69DE, 36826 },
+ { 0x69DF, 36828 },
+ { 0x69E0, 36830 },
+ { 0x69E1, 36832 },
+ { 0x69E2, 36834 },
+ { 0x69E3, 36836 },
+ { 0x69E4, 36838 },
+ { 0x69E5, 36840 },
+ { 0x69E6, 36842 },
+ { 0x69E7, 36844 },
+ { 0x69E8, 36846 },
+ { 0x69E9, 36848 },
+ { 0x69EA, 36850 },
+ { 0x69EB, 36852 },
+ { 0x69EC, 36854 },
+ { 0x69ED, 36856 },
+ { 0x69EE, 36858 },
+ { 0x69EF, 36860 },
+ { 0x69F0, 36862 },
+ { 0x69F1, 36864 },
+ { 0x69F2, 36866 },
+ { 0x69F3, 36868 },
+ { 0x69F4, 36870 },
+ { 0x69F5, 36872 },
+ { 0x69F6, 36874 },
+ { 0x69F7, 36876 },
+ { 0x69F8, 36878 },
+ { 0x69F9, 36880 },
+ { 0x69FA, 36882 },
+ { 0x69FB, 36884 },
+ { 0x69FC, 36886 },
+ { 0x69FD, 36888 },
+ { 0x69FE, 36890 },
+ { 0x69FF, 36892 },
+ { 0x6A00, 36894 },
+ { 0x6A01, 36896 },
+ { 0x6A02, 36898 },
+ { 0x6A03, 36900 },
+ { 0x6A04, 36902 },
+ { 0x6A05, 36904 },
+ { 0x6A06, 36906 },
+ { 0x6A07, 36908 },
+ { 0x6A08, 36910 },
+ { 0x6A09, 36912 },
+ { 0x6A0A, 36914 },
+ { 0x6A0B, 36916 },
+ { 0x6A0C, 36918 },
+ { 0x6A0D, 36920 },
+ { 0x6A0E, 36922 },
+ { 0x6A0F, 36924 },
+ { 0x6A10, 36926 },
+ { 0x6A11, 36928 },
+ { 0x6A12, 36930 },
+ { 0x6A13, 36932 },
+ { 0x6A14, 36934 },
+ { 0x6A15, 36936 },
+ { 0x6A16, 36938 },
+ { 0x6A17, 36940 },
+ { 0x6A18, 36942 },
+ { 0x6A19, 36944 },
+ { 0x6A1A, 36946 },
+ { 0x6A1B, 36948 },
+ { 0x6A1C, 36950 },
+ { 0x6A1D, 36952 },
+ { 0x6A1E, 36954 },
+ { 0x6A1F, 36956 },
+ { 0x6A20, 36958 },
+ { 0x6A21, 36960 },
+ { 0x6A22, 36962 },
+ { 0x6A23, 36964 },
+ { 0x6A24, 36966 },
+ { 0x6A25, 36968 },
+ { 0x6A26, 36970 },
+ { 0x6A27, 36972 },
+ { 0x6A28, 36974 },
+ { 0x6A29, 36976 },
+ { 0x6A2A, 36978 },
+ { 0x6A2B, 36980 },
+ { 0x6A2C, 36982 },
+ { 0x6A2D, 36984 },
+ { 0x6A2E, 36986 },
+ { 0x6A2F, 36988 },
+ { 0x6A30, 36990 },
+ { 0x6A31, 36992 },
+ { 0x6A32, 36994 },
+ { 0x6A33, 36996 },
+ { 0x6A34, 36998 },
+ { 0x6A35, 37000 },
+ { 0x6A36, 37002 },
+ { 0x6A37, 37004 },
+ { 0x6A38, 37006 },
+ { 0x6A39, 37008 },
+ { 0x6A3A, 37010 },
+ { 0x6A3B, 37012 },
+ { 0x6A3C, 37014 },
+ { 0x6A3D, 37016 },
+ { 0x6A3E, 37018 },
+ { 0x6A3F, 37020 },
+ { 0x6A40, 37022 },
+ { 0x6A41, 37024 },
+ { 0x6A42, 37026 },
+ { 0x6A43, 37028 },
+ { 0x6A44, 37030 },
+ { 0x6A45, 37032 },
+ { 0x6A46, 37034 },
+ { 0x6A47, 37036 },
+ { 0x6A48, 37038 },
+ { 0x6A49, 37040 },
+ { 0x6A4A, 37042 },
+ { 0x6A4B, 37044 },
+ { 0x6A4C, 37046 },
+ { 0x6A4D, 37048 },
+ { 0x6A4E, 37050 },
+ { 0x6A4F, 37052 },
+ { 0x6A50, 37054 },
+ { 0x6A51, 37056 },
+ { 0x6A52, 37058 },
+ { 0x6A53, 37060 },
+ { 0x6A54, 37062 },
+ { 0x6A55, 37064 },
+ { 0x6A56, 37066 },
+ { 0x6A57, 37068 },
+ { 0x6A58, 37070 },
+ { 0x6A59, 37072 },
+ { 0x6A5A, 37074 },
+ { 0x6A5B, 37076 },
+ { 0x6A5C, 37078 },
+ { 0x6A5D, 37080 },
+ { 0x6A5E, 37082 },
+ { 0x6A5F, 37084 },
+ { 0x6A60, 37086 },
+ { 0x6A61, 37088 },
+ { 0x6A62, 37090 },
+ { 0x6A63, 37092 },
+ { 0x6A64, 37094 },
+ { 0x6A65, 37096 },
+ { 0x6A66, 37098 },
+ { 0x6A67, 37100 },
+ { 0x6A68, 37102 },
+ { 0x6A69, 37104 },
+ { 0x6A6A, 37106 },
+ { 0x6A6B, 37108 },
+ { 0x6A6C, 37110 },
+ { 0x6A6D, 37112 },
+ { 0x6A6E, 37114 },
+ { 0x6A6F, 37116 },
+ { 0x6A70, 37118 },
+ { 0x6A71, 37120 },
+ { 0x6A72, 37122 },
+ { 0x6A73, 37124 },
+ { 0x6A74, 37126 },
+ { 0x6A75, 37128 },
+ { 0x6A76, 37130 },
+ { 0x6A77, 37132 },
+ { 0x6A78, 37134 },
+ { 0x6A79, 37136 },
+ { 0x6A7A, 37138 },
+ { 0x6A7B, 37140 },
+ { 0x6A7C, 37142 },
+ { 0x6A7D, 37144 },
+ { 0x6A7E, 37146 },
+ { 0x6A7F, 37148 },
+ { 0x6A80, 37150 },
+ { 0x6A81, 37152 },
+ { 0x6A82, 37154 },
+ { 0x6A83, 37156 },
+ { 0x6A84, 37158 },
+ { 0x6A85, 86339 },
+ { 0x6A86, 86554 },
+ { 0x6A87, 86449 },
+ { 0x6A88, 86525 },
+ { 0x6A89, 86324 },
+ { 0x6A8A, 86389 },
+ { 0x6A8B, 86401 },
+ { 0x6A8C, 86311 },
+ { 0x6A8D, 86314 },
+ { 0x6A8E, 86544 },
+ { 0x6A8F, 86331 },
+ { 0x6A90, 86456 },
+ { 0x6A91, 86452 },
+ { 0x6A92, 86317 },
+ { 0x6A93, 86327 },
+ { 0x6A94, 86392 },
+ { 0x6A95, 86459 },
+ { 0x6A96, 86590 },
+ { 0x6A97, 86669 },
+ { 0x6A98, 86557 },
+ { 0x6A99, 86572 },
+ { 0x6A9A, 86657 },
+ { 0x6A9B, 86566 },
+ { 0x6A9C, 86575 },
+ { 0x6A9D, 86587 },
+ { 0x6A9E, 86404 },
+ { 0x6A9F, 86425 },
+ { 0x6AA0, 86345 },
+ { 0x6AA1, 86463 },
+ { 0x6AA2, 86407 },
+ { 0x6AA3, 86428 },
+ { 0x6AA4, 86348 },
+ { 0x6AA5, 86466 },
+ { 0x6AA6, 86420 },
+ { 0x6AA7, 86441 },
+ { 0x6AA8, 86376 },
+ { 0x6AA9, 86381 },
+ { 0x6AAA, 86514 },
+ { 0x6AAB, 86519 },
+ { 0x6AAC, 86416 },
+ { 0x6AAD, 86437 },
+ { 0x6AAE, 86366 },
+ { 0x6AAF, 86501 },
+ { 0x6AB0, 86411 },
+ { 0x6AB1, 86432 },
+ { 0x6AB2, 86352 },
+ { 0x6AB3, 86470 },
+ { 0x6AB4, 86370 },
+ { 0x6AB5, 86357 },
+ { 0x6AB6, 86361 },
+ { 0x6AB7, 86505 },
+ { 0x6AB8, 86509 },
+ { 0x6AB9, 86492 },
+ { 0x6ABA, 86496 },
+ { 0x6ABB, 86533 },
+ { 0x6ABC, 86528 },
+ { 0x6ABD, 86547 },
+ { 0x6ABE, 86602 },
+ { 0x6ABF, 86550 },
+ { 0x6AC0, 86488 },
+ { 0x6AC1, 86484 },
+ { 0x6AC2, 86396 },
+ { 0x6AC3, 86334 },
+ { 0x6AC4, 86475 },
+ { 0x6AC5, 86479 },
+ { 0x6AC6, 86308 },
+ { 0x6AC7, 86689 },
+ { 0x6AC8, 86578 },
+ { 0x6AC9, 86446 },
+ { 0x6ACA, 86617 },
+ { 0x6ACB, 86342 },
+ { 0x6ACC, 86321 },
+ { 0x6ACD, 86569 },
+ { 0x6ACE, 86653 },
+ { 0x6ACF, 86596 },
+ { 0x6AD0, 86560 },
+ { 0x6AD1, 86677 },
+ { 0x6AD2, 86705 },
+ { 0x6AD3, 86673 },
+ { 0x6AD4, 86629 },
+ { 0x6AD5, 86614 },
+ { 0x6AD6, 86537 },
+ { 0x6AD7, 86563 },
+ { 0x6AD8, 86611 },
+ { 0x6AD9, 86540 },
+ { 0x6ADA, 86633 },
+ { 0x6ADB, 86709 },
+ { 0x6ADC, 86593 },
+ { 0x6ADD, 86661 },
+ { 0x6ADE, 86620 },
+ { 0x6ADF, 86584 },
+ { 0x6AE0, 86581 },
+ { 0x6AE1, 86599 },
+ { 0x6AE2, 86608 },
+ { 0x6AE3, 86605 },
+ { 0x6AE4, 86623 },
+ { 0x6AE5, 86626 },
+ { 0x6AE6, 86649 },
+ { 0x6AE7, 86645 },
+ { 0x6AE8, 86641 },
+ { 0x6AE9, 86637 },
+ { 0x6AEA, 86697 },
+ { 0x6AEB, 86693 },
+ { 0x6AEC, 86681 },
+ { 0x6AED, 86665 },
+ { 0x6AEE, 86685 },
+ { 0x6AEF, 86701 },
+ { 0x6AF0, 86259 },
+ { 0x6AF1, 86211 },
+ { 0x6AF2, 86264 },
+ { 0x6AF3, 86201 },
+ { 0x6AF4, 86206 },
+ { 0x6AF5, 86254 },
+ { 0x6AF6, 86283 },
+ { 0x6AF7, 86296 },
+ { 0x6AF8, 86287 },
+ { 0x6AF9, 86279 },
+ { 0x6AFA, 86269 },
+ { 0x6AFB, 86274 },
+ { 0x6AFC, 86291 },
+ { 0x6AFD, 86233 },
+ { 0x6AFE, 86241 },
+ { 0x6AFF, 86237 },
+ { 0x6B00, 86224 },
+ { 0x6B01, 86216 },
+ { 0x6B02, 86246 },
+ { 0x6B03, 86220 },
+ { 0x6B04, 86229 },
+ { 0x6B05, 86250 },
+ { 0x6B06, 86176 },
+ { 0x6B07, 86188 },
+ { 0x6B08, 86184 },
+ { 0x6B09, 86167 },
+ { 0x6B0A, 86159 },
+ { 0x6B0B, 86193 },
+ { 0x6B0C, 86163 },
+ { 0x6B0D, 86172 },
+ { 0x6B0E, 86197 },
+ { 0x6B0F, 86180 },
+ { 0x6B10, 86154 },
+ { 0x6B11, 86301 },
+ { 0x6B12, 86305 },
+ { 0x6B13, 86713 },
+ { 0x6B14, 116120 },
+ { 0x6B15, 116124 },
+ { 0x6B16, 116116 },
+ { 0x6B17, 116112 },
+ { 0x6B18, 100613 },
+ { 0x6B19, 100479 },
+ { 0x6B1A, 100521 },
+ { 0x6B1B, 100631 },
+ { 0x6B1C, 100495 },
+ { 0x6B1D, 100546 },
+ { 0x6B1E, 100441 },
+ { 0x6B1F, 100676 },
+ { 0x6B20, 100588 },
+ { 0x6B21, 100423 },
+ { 0x6B22, 100660 },
+ { 0x6B23, 100572 },
+ { 0x6B24, 100622 },
+ { 0x6B25, 100487 },
+ { 0x6B26, 100527 },
+ { 0x6B27, 100638 },
+ { 0x6B28, 100501 },
+ { 0x6B29, 100552 },
+ { 0x6B2A, 100448 },
+ { 0x6B2B, 100682 },
+ { 0x6B2C, 100594 },
+ { 0x6B2D, 100432 },
+ { 0x6B2E, 100668 },
+ { 0x6B2F, 100580 },
+ { 0x6B30, 100515 },
+ { 0x6B31, 100416 },
+ { 0x6B32, 100697 },
+ { 0x6B33, 100654 },
+ { 0x6B34, 100688 },
+ { 0x6B35, 100566 },
+ { 0x6B36, 100455 },
+ { 0x6B37, 100645 },
+ { 0x6B38, 100461 },
+ { 0x6B39, 100412 },
+ { 0x6B3A, 100507 },
+ { 0x6B3B, 100703 },
+ { 0x6B3C, 100600 },
+ { 0x6B3D, 100562 },
+ { 0x6B3E, 100720 },
+ { 0x6B3F, 100475 },
+ { 0x6B40, 100650 },
+ { 0x6B41, 100542 },
+ { 0x6B42, 100533 },
+ { 0x6B43, 100511 },
+ { 0x6B44, 100693 },
+ { 0x6B45, 100469 },
+ { 0x6B46, 100760 },
+ { 0x6B47, 100754 },
+ { 0x6B48, 100766 },
+ { 0x6B49, 100724 },
+ { 0x6B4A, 100743 },
+ { 0x6B4B, 100711 },
+ { 0x6B4C, 100732 },
+ { 0x6B4D, 100736 },
+ { 0x6B4E, 100604 },
+ { 0x6B4F, 100608 },
+ { 0x6B50, 100707 },
+ { 0x6B51, 100715 },
+ { 0x6B52, 100558 },
+ { 0x6B53, 100728 },
+ { 0x6B54, 100772 },
+ { 0x6B55, 100537 },
+ { 0x6B56, 100465 },
+ { 0x6B57, 100748 },
+ { 0x6B58, 100399 },
+ { 0x6B59, 100403 },
+ { 0x6B5A, 100407 },
+ { 0x6B5B, 100395 },
+ { 0x6B5C, 100391 },
+ { 0x6B5D, 99905 },
+ { 0x6B5E, 99908 },
+ { 0x6B5F, 100221 },
+ { 0x6B60, 99888 },
+ { 0x6B61, 99951 },
+ { 0x6B62, 100278 },
+ { 0x6B63, 100228 },
+ { 0x6B64, 100231 },
+ { 0x6B65, 100301 },
+ { 0x6B66, 100304 },
+ { 0x6B67, 100236 },
+ { 0x6B68, 100378 },
+ { 0x6B69, 99944 },
+ { 0x6B6A, 100375 },
+ { 0x6B6B, 100281 },
+ { 0x6B6C, 100285 },
+ { 0x6B6D, 100293 },
+ { 0x6B6E, 100289 },
+ { 0x6B6F, 100297 },
+ { 0x6B70, 100242 },
+ { 0x6B71, 100250 },
+ { 0x6B72, 100246 },
+ { 0x6B73, 100274 },
+ { 0x6B74, 100254 },
+ { 0x6B75, 100264 },
+ { 0x6B76, 100259 },
+ { 0x6B77, 100269 },
+ { 0x6B78, 99947 },
+ { 0x6B79, 100224 },
+ { 0x6B7A, 100218 },
+ { 0x6B7B, 100209 },
+ { 0x6B7C, 100206 },
+ { 0x6B7D, 100381 },
+ { 0x6B7E, 100316 },
+ { 0x6B7F, 100312 },
+ { 0x6B80, 100330 },
+ { 0x6B81, 100308 },
+ { 0x6B82, 100387 },
+ { 0x6B83, 100325 },
+ { 0x6B84, 100354 },
+ { 0x6B85, 100320 },
+ { 0x6B86, 100334 },
+ { 0x6B87, 100339 },
+ { 0x6B88, 100349 },
+ { 0x6B89, 100344 },
+ { 0x6B8A, 100358 },
+ { 0x6B8B, 100366 },
+ { 0x6B8C, 100371 },
+ { 0x6B8D, 100361 },
+ { 0x6B8E, 99912 },
+ { 0x6B8F, 99893 },
+ { 0x6B90, 99899 },
+ { 0x6B91, 99954 },
+ { 0x6B92, 100215 },
+ { 0x6B93, 99979 },
+ { 0x6B94, 100005 },
+ { 0x6B95, 99993 },
+ { 0x6B96, 100010 },
+ { 0x6B97, 99998 },
+ { 0x6B98, 100024 },
+ { 0x6B99, 100028 },
+ { 0x6B9A, 99982 },
+ { 0x6B9B, 99987 },
+ { 0x6B9C, 100017 },
+ { 0x6B9D, 100384 },
+ { 0x6B9E, 100034 },
+ { 0x6B9F, 100054 },
+ { 0x6BA0, 100156 },
+ { 0x6BA1, 100121 },
+ { 0x6BA2, 100134 },
+ { 0x6BA3, 100058 },
+ { 0x6BA4, 100160 },
+ { 0x6BA5, 100185 },
+ { 0x6BA6, 100202 },
+ { 0x6BA7, 100038 },
+ { 0x6BA8, 100125 },
+ { 0x6BA9, 100198 },
+ { 0x6BAA, 100189 },
+ { 0x6BAB, 100129 },
+ { 0x6BAC, 100193 },
+ { 0x6BAD, 100047 },
+ { 0x6BAE, 100149 },
+ { 0x6BAF, 100043 },
+ { 0x6BB0, 100138 },
+ { 0x6BB1, 100142 },
+ { 0x6BB2, 100168 },
+ { 0x6BB3, 100172 },
+ { 0x6BB4, 99957 },
+ { 0x6BB5, 99960 },
+ { 0x6BB6, 99964 },
+ { 0x6BB7, 99968 },
+ { 0x6BB8, 99972 },
+ { 0x6BB9, 100164 },
+ { 0x6BBA, 100177 },
+ { 0x6BBB, 100181 },
+ { 0x6BBC, 99918 },
+ { 0x6BBD, 99921 },
+ { 0x6BBE, 99940 },
+ { 0x6BBF, 99925 },
+ { 0x6BC0, 99930 },
+ { 0x6BC1, 99935 },
+ { 0x6BC2, 100062 },
+ { 0x6BC3, 100084 },
+ { 0x6BC4, 100076 },
+ { 0x6BC5, 100102 },
+ { 0x6BC6, 100071 },
+ { 0x6BC7, 100089 },
+ { 0x6BC8, 100094 },
+ { 0x6BC9, 100110 },
+ { 0x6BCA, 100115 },
+ { 0x6BCB, 100066 },
+ { 0x6BCC, 100212 },
+ { 0x6BCD, 99976 },
+ { 0x6BCE, 99896 },
+ { 0x6BCF, 99915 },
+ { 0x6BD0, 99902 },
+ { 0x6BD1, 103026 },
+ { 0x6BD2, 103060 },
+ { 0x6BD3, 104053 },
+ { 0x6BD4, 103021 },
+ { 0x6BD5, 103016 },
+ { 0x6BD6, 103397 },
+ { 0x6BD7, 103392 },
+ { 0x6BD8, 103692 },
+ { 0x6BD9, 103958 },
+ { 0x6BDA, 104039 },
+ { 0x6BDB, 103966 },
+ { 0x6BDC, 103970 },
+ { 0x6BDD, 103709 },
+ { 0x6BDE, 102974 },
+ { 0x6BDF, 102883 },
+ { 0x6BE0, 103379 },
+ { 0x6BE1, 103908 },
+ { 0x6BE2, 103991 },
+ { 0x6BE3, 104000 },
+ { 0x6BE4, 103584 },
+ { 0x6BE5, 103047 },
+ { 0x6BE6, 103338 },
+ { 0x6BE7, 103256 },
+ { 0x6BE8, 103362 },
+ { 0x6BE9, 103619 },
+ { 0x6BEA, 103051 },
+ { 0x6BEB, 102897 },
+ { 0x6BEC, 103515 },
+ { 0x6BED, 103930 },
+ { 0x6BEE, 103807 },
+ { 0x6BEF, 103794 },
+ { 0x6BF0, 103563 },
+ { 0x6BF1, 103347 },
+ { 0x6BF2, 103596 },
+ { 0x6BF3, 103610 },
+ { 0x6BF4, 103615 },
+ { 0x6BF5, 103284 },
+ { 0x6BF6, 103030 },
+ { 0x6BF7, 103357 },
+ { 0x6BF8, 103592 },
+ { 0x6BF9, 104067 },
+ { 0x6BFA, 103366 },
+ { 0x6BFB, 103579 },
+ { 0x6BFC, 103573 },
+ { 0x6BFD, 103944 },
+ { 0x6BFE, 103038 },
+ { 0x6BFF, 103007 },
+ { 0x6C00, 102879 },
+ { 0x6C01, 102912 },
+ { 0x6C02, 103588 },
+ { 0x6C03, 103935 },
+ { 0x6C04, 102968 },
+ { 0x6C05, 103172 },
+ { 0x6C06, 103900 },
+ { 0x6C07, 103871 },
+ { 0x6C08, 103279 },
+ { 0x6C09, 103798 },
+ { 0x6C0A, 103949 },
+ { 0x6C0B, 103696 },
+ { 0x6C0C, 103628 },
+ { 0x6C0D, 103555 },
+ { 0x6C0E, 104034 },
+ { 0x6C0F, 104048 },
+ { 0x6C10, 103493 },
+ { 0x6C11, 102902 },
+ { 0x6C12, 103547 },
+ { 0x6C13, 103700 },
+ { 0x6C14, 103866 },
+ { 0x6C15, 104075 },
+ { 0x6C16, 104071 },
+ { 0x6C17, 102892 },
+ { 0x6C18, 103333 },
+ { 0x6C19, 103011 },
+ { 0x6C1A, 103551 },
+ { 0x6C1B, 103705 },
+ { 0x6C1C, 104107 },
+ { 0x6C1D, 104099 },
+ { 0x6C1E, 103802 },
+ { 0x6C1F, 103912 },
+ { 0x6C20, 103497 },
+ { 0x6C21, 103435 },
+ { 0x6C22, 103995 },
+ { 0x6C23, 103985 },
+ { 0x6C24, 103601 },
+ { 0x6C25, 104103 },
+ { 0x6C26, 103482 },
+ { 0x6C27, 103474 },
+ { 0x6C28, 103328 },
+ { 0x6C29, 103387 },
+ { 0x6C2A, 103352 },
+ { 0x6C2B, 103953 },
+ { 0x6C2C, 103343 },
+ { 0x6C2D, 103975 },
+ { 0x6C2E, 103543 },
+ { 0x6C2F, 104043 },
+ { 0x6C30, 104029 },
+ { 0x6C31, 103102 },
+ { 0x6C32, 103539 },
+ { 0x6C33, 104095 },
+ { 0x6C34, 103861 },
+ { 0x6C35, 104005 },
+ { 0x6C36, 103568 },
+ { 0x6C37, 103034 },
+ { 0x6C38, 103623 },
+ { 0x6C39, 103684 },
+ { 0x6C3A, 103370 },
+ { 0x6C3B, 103055 },
+ { 0x6C3C, 104119 },
+ { 0x6C3D, 104111 },
+ { 0x6C3E, 104087 },
+ { 0x6C3F, 104123 },
+ { 0x6C40, 104127 },
+ { 0x6C41, 104091 },
+ { 0x6C42, 104115 },
+ { 0x6C43, 104083 },
+ { 0x6C44, 104079 },
+ { 0x6C45, 103107 },
+ { 0x6C46, 103939 },
+ { 0x6C47, 104057 },
+ { 0x6C48, 104062 },
+ { 0x6C49, 103042 },
+ { 0x6C4A, 102906 },
+ { 0x6C4B, 103904 },
+ { 0x6C4C, 103881 },
+ { 0x6C4D, 102921 },
+ { 0x6C4E, 102916 },
+ { 0x6C4F, 103559 },
+ { 0x6C50, 103288 },
+ { 0x6C51, 103002 },
+ { 0x6C52, 103534 },
+ { 0x6C53, 103529 },
+ { 0x6C54, 103524 },
+ { 0x6C55, 103605 },
+ { 0x6C56, 102888 },
+ { 0x6C57, 102998 },
+ { 0x6C58, 103383 },
+ { 0x6C59, 103857 },
+ { 0x6C5A, 103520 },
+ { 0x6C5B, 103304 },
+ { 0x6C5C, 103298 },
+ { 0x6C5D, 103310 },
+ { 0x6C5E, 103322 },
+ { 0x6C5F, 103316 },
+ { 0x6C60, 103244 },
+ { 0x6C61, 103267 },
+ { 0x6C62, 103261 },
+ { 0x6C63, 103655 },
+ { 0x6C64, 103672 },
+ { 0x6C65, 103665 },
+ { 0x6C66, 103659 },
+ { 0x6C67, 103962 },
+ { 0x6C68, 102979 },
+ { 0x6C69, 104021 },
+ { 0x6C6A, 103478 },
+ { 0x6C6B, 102936 },
+ { 0x6C6C, 102958 },
+ { 0x6C6D, 102926 },
+ { 0x6C6E, 102953 },
+ { 0x6C6F, 102931 },
+ { 0x6C70, 102948 },
+ { 0x6C71, 102963 },
+ { 0x6C72, 102942 },
+ { 0x6C73, 103733 },
+ { 0x6C74, 103713 },
+ { 0x6C75, 103764 },
+ { 0x6C76, 103720 },
+ { 0x6C77, 103739 },
+ { 0x6C78, 103783 },
+ { 0x6C79, 103770 },
+ { 0x6C7A, 103776 },
+ { 0x6C7B, 103745 },
+ { 0x6C7C, 103751 },
+ { 0x6C7D, 103273 },
+ { 0x6C7E, 103979 },
+ { 0x6C7F, 103895 },
+ { 0x6C80, 103890 },
+ { 0x6C81, 103885 },
+ { 0x6C82, 103727 },
+ { 0x6C83, 103788 },
+ { 0x6C84, 103757 },
+ { 0x6C85, 104009 },
+ { 0x6C86, 104015 },
+ { 0x6C87, 103486 },
+ { 0x6C88, 103688 },
+ { 0x6C89, 104025 },
+ { 0x6C8A, 103177 },
+ { 0x6C8B, 103210 },
+ { 0x6C8C, 103222 },
+ { 0x6C8D, 103126 },
+ { 0x6C8E, 103184 },
+ { 0x6C8F, 103165 },
+ { 0x6C90, 103190 },
+ { 0x6C91, 103216 },
+ { 0x6C92, 103203 },
+ { 0x6C93, 103196 },
+ { 0x6C94, 103137 },
+ { 0x6C95, 103144 },
+ { 0x6C96, 103112 },
+ { 0x6C97, 103158 },
+ { 0x6C98, 103132 },
+ { 0x6C99, 102983 },
+ { 0x6C9A, 102988 },
+ { 0x6C9B, 102993 },
+ { 0x6C9C, 103119 },
+ { 0x6C9D, 103228 },
+ { 0x6C9E, 103430 },
+ { 0x6C9F, 103092 },
+ { 0x6CA0, 103097 },
+ { 0x6CA1, 103064 },
+ { 0x6CA2, 103085 },
+ { 0x6CA3, 103071 },
+ { 0x6CA4, 103078 },
+ { 0x6CA5, 103402 },
+ { 0x6CA6, 103423 },
+ { 0x6CA7, 103409 },
+ { 0x6CA8, 103416 },
+ { 0x6CA9, 103234 },
+ { 0x6CAA, 103239 },
+ { 0x6CAB, 103633 },
+ { 0x6CAC, 103639 },
+ { 0x6CAD, 103645 },
+ { 0x6CAE, 103650 },
+ { 0x6CAF, 103834 },
+ { 0x6CB0, 103839 },
+ { 0x6CB1, 103845 },
+ { 0x6CB2, 103851 },
+ { 0x6CB3, 103811 },
+ { 0x6CB4, 103816 },
+ { 0x6CB5, 103822 },
+ { 0x6CB6, 103828 },
+ { 0x6CB7, 103679 },
+ { 0x6CB8, 103876 },
+ { 0x6CB9, 103375 },
+ { 0x6CBA, 103459 },
+ { 0x6CBB, 103469 },
+ { 0x6CBC, 103444 },
+ { 0x6CBD, 103439 },
+ { 0x6CBE, 103449 },
+ { 0x6CBF, 103464 },
+ { 0x6CC0, 103454 },
+ { 0x6CC1, 103924 },
+ { 0x6CC2, 103509 },
+ { 0x6CC3, 103918 },
+ { 0x6CC4, 103503 },
+ { 0x6CC5, 103293 },
+ { 0x6CC6, 103250 },
+ { 0x6CC7, 72439 },
+ { 0x6CC8, 72337 },
+ { 0x6CC9, 72214 },
+ { 0x6CCA, 72572 },
+ { 0x6CCB, 72321 },
+ { 0x6CCC, 72283 },
+ { 0x6CCD, 72144 },
+ { 0x6CCE, 72267 },
+ { 0x6CCF, 72435 },
+ { 0x6CD0, 72056 },
+ { 0x6CD1, 72045 },
+ { 0x6CD2, 72272 },
+ { 0x6CD3, 72097 },
+ { 0x6CD4, 72653 },
+ { 0x6CD5, 72657 },
+ { 0x6CD6, 72661 },
+ { 0x6CD7, 72536 },
+ { 0x6CD8, 72539 },
+ { 0x6CD9, 72298 },
+ { 0x6CDA, 72523 },
+ { 0x6CDB, 72205 },
+ { 0x6CDC, 72520 },
+ { 0x6CDD, 72605 },
+ { 0x6CDE, 72738 },
+ { 0x6CDF, 72956 },
+ { 0x6CE0, 72876 },
+ { 0x6CE1, 72872 },
+ { 0x6CE2, 72665 },
+ { 0x6CE3, 72952 },
+ { 0x6CE4, 72963 },
+ { 0x6CE5, 72022 },
+ { 0x6CE6, 72026 },
+ { 0x6CE7, 72032 },
+ { 0x6CE8, 72002 },
+ { 0x6CE9, 72006 },
+ { 0x6CEA, 72010 },
+ { 0x6CEB, 72016 },
+ { 0x6CEC, 72107 },
+ { 0x6CED, 72111 },
+ { 0x6CEE, 72596 },
+ { 0x6CEF, 72333 },
+ { 0x6CF0, 72329 },
+ { 0x6CF1, 72115 },
+ { 0x6CF2, 72119 },
+ { 0x6CF3, 72543 },
+ { 0x6CF4, 72547 },
+ { 0x6CF5, 72275 },
+ { 0x6CF6, 72279 },
+ { 0x6CF7, 72567 },
+ { 0x6CF8, 72562 },
+ { 0x6CF9, 72317 },
+ { 0x6CFA, 72052 },
+ { 0x6CFB, 72427 },
+ { 0x6CFC, 72431 },
+ { 0x6CFD, 72980 },
+ { 0x6CFE, 72984 },
+ { 0x6CFF, 72251 },
+ { 0x6D00, 72294 },
+ { 0x6D01, 72135 },
+ { 0x6D02, 72558 },
+ { 0x6D03, 72345 },
+ { 0x6D04, 72916 },
+ { 0x6D05, 73000 },
+ { 0x6D06, 72992 },
+ { 0x6D07, 72087 },
+ { 0x6D08, 72038 },
+ { 0x6D09, 72163 },
+ { 0x6D0A, 72309 },
+ { 0x6D0B, 72452 },
+ { 0x6D0C, 72447 },
+ { 0x6D0D, 72696 },
+ { 0x6D0E, 72676 },
+ { 0x6D0F, 72720 },
+ { 0x6D10, 72714 },
+ { 0x6D11, 72732 },
+ { 0x6D12, 72726 },
+ { 0x6D13, 72708 },
+ { 0x6D14, 72702 },
+ { 0x6D15, 72689 },
+ { 0x6D16, 72682 },
+ { 0x6D17, 72154 },
+ { 0x6D18, 72149 },
+ { 0x6D19, 73010 },
+ { 0x6D1A, 73004 },
+ { 0x6D1B, 72973 },
+ { 0x6D1C, 72181 },
+ { 0x6D1D, 72601 },
+ { 0x6D1E, 72159 },
+ { 0x6D1F, 72531 },
+ { 0x6D20, 72526 },
+ { 0x6D21, 72208 },
+ { 0x6D22, 72290 },
+ { 0x6D23, 72131 },
+ { 0x6D24, 72554 },
+ { 0x6D25, 72341 },
+ { 0x6D26, 72912 },
+ { 0x6D27, 72996 },
+ { 0x6D28, 72988 },
+ { 0x6D29, 72081 },
+ { 0x6D2A, 72773 },
+ { 0x6D2B, 72852 },
+ { 0x6D2C, 72835 },
+ { 0x6D2D, 72839 },
+ { 0x6D2E, 72843 },
+ { 0x6D2F, 72580 },
+ { 0x6D30, 72584 },
+ { 0x6D31, 72588 },
+ { 0x6D32, 72847 },
+ { 0x6D33, 72794 },
+ { 0x6D34, 72798 },
+ { 0x6D35, 72802 },
+ { 0x6D36, 72806 },
+ { 0x6D37, 72810 },
+ { 0x6D38, 72193 },
+ { 0x6D39, 72069 },
+ { 0x6D3A, 72189 },
+ { 0x6D3B, 72065 },
+ { 0x6D3C, 72197 },
+ { 0x6D3D, 72073 },
+ { 0x6D3E, 72201 },
+ { 0x6D3F, 72077 },
+ { 0x6D40, 72785 },
+ { 0x6D41, 72831 },
+ { 0x6D42, 72814 },
+ { 0x6D43, 72857 },
+ { 0x6D44, 72823 },
+ { 0x6D45, 72865 },
+ { 0x6D46, 72861 },
+ { 0x6D47, 72777 },
+ { 0x6D48, 72920 },
+ { 0x6D49, 72924 },
+ { 0x6D4A, 72755 },
+ { 0x6D4B, 72747 },
+ { 0x6D4C, 72764 },
+ { 0x6D4D, 72781 },
+ { 0x6D4E, 72751 },
+ { 0x6D4F, 72789 },
+ { 0x6D50, 72818 },
+ { 0x6D51, 72977 },
+ { 0x6D52, 72457 },
+ { 0x6D53, 72042 },
+ { 0x6D54, 72264 },
+ { 0x6D55, 72248 },
+ { 0x6D56, 72218 },
+ { 0x6D57, 72869 },
+ { 0x6D58, 72960 },
+ { 0x6D59, 72227 },
+ { 0x6D5A, 72221 },
+ { 0x6D5B, 72049 },
+ { 0x6D5C, 72170 },
+ { 0x6D5D, 72592 },
+ { 0x6D5E, 72177 },
+ { 0x6D5F, 72173 },
+ { 0x6D60, 72609 },
+ { 0x6D61, 72613 },
+ { 0x6D62, 72617 },
+ { 0x6D63, 72621 },
+ { 0x6D64, 72625 },
+ { 0x6D65, 72629 },
+ { 0x6D66, 72633 },
+ { 0x6D67, 72637 },
+ { 0x6D68, 72641 },
+ { 0x6D69, 72645 },
+ { 0x6D6A, 72649 },
+ { 0x6D6B, 72967 },
+ { 0x6D6C, 72970 },
+ { 0x6D6D, 72060 },
+ { 0x6D6E, 72325 },
+ { 0x6D6F, 72759 },
+ { 0x6D70, 72742 },
+ { 0x6D71, 72827 },
+ { 0x6D72, 72768 },
+ { 0x6D73, 72260 },
+ { 0x6D74, 72255 },
+ { 0x6D75, 72139 },
+ { 0x6D76, 72880 },
+ { 0x6D77, 72884 },
+ { 0x6D78, 72185 },
+ { 0x6D79, 72100 },
+ { 0x6D7A, 72103 },
+ { 0x6D7B, 72413 },
+ { 0x6D7C, 72235 },
+ { 0x6D7D, 72302 },
+ { 0x6D7E, 72936 },
+ { 0x6D7F, 72932 },
+ { 0x6D80, 72416 },
+ { 0x6D81, 72423 },
+ { 0x6D82, 72948 },
+ { 0x6D83, 72944 },
+ { 0x6D84, 72127 },
+ { 0x6D85, 72123 },
+ { 0x6D86, 72238 },
+ { 0x6D87, 72243 },
+ { 0x6D88, 72305 },
+ { 0x6D89, 72928 },
+ { 0x6D8A, 72419 },
+ { 0x6D8B, 72940 },
+ { 0x6D8C, 72460 },
+ { 0x6D8D, 72475 },
+ { 0x6D8E, 72467 },
+ { 0x6D8F, 72482 },
+ { 0x6D90, 72489 },
+ { 0x6D91, 72496 },
+ { 0x6D92, 72504 },
+ { 0x6D93, 72512 },
+ { 0x6D94, 72211 },
+ { 0x6D95, 72888 },
+ { 0x6D96, 72893 },
+ { 0x6D97, 72443 },
+ { 0x6D98, 72287 },
+ { 0x6D99, 72551 },
+ { 0x6D9A, 72314 },
+ { 0x6D9B, 72905 },
+ { 0x6D9C, 72577 },
+ { 0x6D9D, 72669 },
+ { 0x6D9E, 72898 },
+ { 0x6D9F, 72901 },
+ { 0x6DA0, 72908 },
+ { 0x6DA1, 72672 },
+ { 0x6DA2, 72093 },
+ { 0x6DA3, 72349 },
+ { 0x6DA4, 72354 },
+ { 0x6DA5, 72370 },
+ { 0x6DA6, 72408 },
+ { 0x6DA7, 72375 },
+ { 0x6DA8, 72365 },
+ { 0x6DA9, 72401 },
+ { 0x6DAA, 72394 },
+ { 0x6DAB, 72387 },
+ { 0x6DAC, 72380 },
+ { 0x6DAD, 72360 },
+ { 0x6DAE, 72167 },
+ { 0x6DAF, 72232 },
+ { 0x6DB0, 23436 },
+ { 0x6DB1, 23440 },
+ { 0x6DB2, 23444 },
+ { 0x6DB3, 23448 },
+ { 0x6DB4, 23452 },
+ { 0x6DB5, 23456 },
+ { 0x6DB6, 23460 },
+ { 0x6DB7, 23464 },
+ { 0x6DB8, 23468 },
+ { 0x6DB9, 23472 },
+ { 0x6DBA, 23476 },
+ { 0x6DBB, 23480 },
+ { 0x6DBC, 23484 },
+ { 0x6DBD, 23488 },
+ { 0x6DBE, 23492 },
+ { 0x6DBF, 23496 },
+ { 0x6DC0, 23500 },
+ { 0x6DC1, 23504 },
+ { 0x6DC2, 23508 },
+ { 0x6DC3, 23512 },
+ { 0x6DC4, 23516 },
+ { 0x6DC5, 23520 },
+ { 0x6DC6, 23524 },
+ { 0x6DC7, 23528 },
+ { 0x6DC8, 23532 },
+ { 0x6DC9, 23536 },
+ { 0x6DCA, 23540 },
+ { 0x6DCB, 23544 },
+ { 0x6DCC, 23548 },
+ { 0x6DCD, 24927 },
+ { 0x6DCE, 24931 },
+ { 0x6DCF, 24935 },
+ { 0x6DD0, 24939 },
+ { 0x6DD1, 24943 },
+ { 0x6DD2, 24947 },
+ { 0x6DD3, 24951 },
+ { 0x6DD4, 24955 },
+ { 0x6DD5, 24959 },
+ { 0x6DD6, 24963 },
+ { 0x6DD7, 24967 },
+ { 0x6DD8, 24971 },
+ { 0x6DD9, 24975 },
+ { 0x6DDA, 24979 },
+ { 0x6DDB, 24983 },
+ { 0x6DDC, 24987 },
+ { 0x6DDD, 24991 },
+ { 0x6DDE, 24995 },
+ { 0x6DDF, 24999 },
+ { 0x6DE0, 25003 },
+ { 0x6DE1, 25007 },
+ { 0x6DE2, 25011 },
+ { 0x6DE3, 25015 },
+ { 0x6DE4, 25019 },
+ { 0x6DE5, 25023 },
+ { 0x6DE6, 25027 },
+ { 0x6DE7, 25031 },
+ { 0x6DE8, 25035 },
+ { 0x6DE9, 25039 },
+ { 0x6DEA, 25043 },
+ { 0x6DEB, 25047 },
+ { 0x6DEC, 25051 },
+ { 0x6DED, 25055 },
+ { 0x6DEE, 25059 },
+ { 0x6DEF, 25063 },
+ { 0x6DF0, 25067 },
+ { 0x6DF1, 25071 },
+ { 0x6DF2, 104672 },
+ { 0x6DF3, 104680 },
+ { 0x6DF4, 104676 },
+ { 0x6DF5, 24578 },
+ { 0x6DF6, 94292 },
+ { 0x6DF7, 94271 },
+ { 0x6DF8, 94280 },
+ { 0x6DF9, 94301 },
+ { 0x6DFA, 94286 },
+ { 0x6DFB, 94283 },
+ { 0x6DFC, 94274 },
+ { 0x6DFD, 94298 },
+ { 0x6DFE, 94295 },
+ { 0x6DFF, 94289 },
+ { 0x6E00, 94277 },
+ { 0x6E01, 94304 },
+ { 0x6E02, 94307 },
+ { 0x6E03, 94325 },
+ { 0x6E04, 94319 },
+ { 0x6E05, 94310 },
+ { 0x6E06, 94313 },
+ { 0x6E07, 94328 },
+ { 0x6E08, 94316 },
+ { 0x6E09, 94322 },
+ { 0x6E0A, 34935 },
+ { 0x6E0B, 34914 },
+ { 0x6E0C, 34923 },
+ { 0x6E0D, 34944 },
+ { 0x6E0E, 34929 },
+ { 0x6E0F, 34926 },
+ { 0x6E10, 34917 },
+ { 0x6E11, 34941 },
+ { 0x6E12, 34938 },
+ { 0x6E13, 34932 },
+ { 0x6E14, 34920 },
+ { 0x6E15, 34947 },
+ { 0x6E16, 34950 },
+ { 0x6E17, 34968 },
+ { 0x6E18, 34962 },
+ { 0x6E19, 34953 },
+ { 0x6E1A, 34956 },
+ { 0x6E1B, 34971 },
+ { 0x6E1C, 34959 },
+ { 0x6E1D, 34965 },
+ { 0x6E1E, 97233 },
+ { 0x6E1F, 51490 },
+ { 0x6E20, 51462 },
+ { 0x6E21, 51478 },
+ { 0x6E22, 51474 },
+ { 0x6E23, 51459 },
+ { 0x6E24, 116510 },
+ { 0x6E25, 116477 },
+ { 0x6E26, 116492 },
+ { 0x6E27, 116538 },
+ { 0x6E28, 116557 },
+ { 0x6E29, 116682 },
+ { 0x6E2A, 116507 },
+ { 0x6E2B, 116673 },
+ { 0x6E2C, 116611 },
+ { 0x6E2D, 116709 },
+ { 0x6E2E, 116664 },
+ { 0x6E2F, 116706 },
+ { 0x6E30, 116594 },
+ { 0x6E31, 116691 },
+ { 0x6E32, 116495 },
+ { 0x6E33, 116544 },
+ { 0x6E34, 116553 },
+ { 0x6E35, 116582 },
+ { 0x6E36, 116630 },
+ { 0x6E37, 116535 },
+ { 0x6E38, 116576 },
+ { 0x6E39, 116676 },
+ { 0x6E3A, 116474 },
+ { 0x6E3B, 116462 },
+ { 0x6E3C, 116661 },
+ { 0x6E3D, 116627 },
+ { 0x6E3E, 116520 },
+ { 0x6E3F, 116513 },
+ { 0x6E40, 116697 },
+ { 0x6E41, 116470 },
+ { 0x6E42, 116570 },
+ { 0x6E43, 116526 },
+ { 0x6E44, 116615 },
+ { 0x6E45, 116561 },
+ { 0x6E46, 116636 },
+ { 0x6E47, 116603 },
+ { 0x6E48, 116529 },
+ { 0x6E49, 116588 },
+ { 0x6E4A, 116649 },
+ { 0x6E4B, 116465 },
+ { 0x6E4C, 116597 },
+ { 0x6E4D, 116484 },
+ { 0x6E4E, 116667 },
+ { 0x6E4F, 116498 },
+ { 0x6E50, 116643 },
+ { 0x6E51, 116685 },
+ { 0x6E52, 116573 },
+ { 0x6E53, 116532 },
+ { 0x6E54, 116523 },
+ { 0x6E55, 116606 },
+ { 0x6E56, 116618 },
+ { 0x6E57, 116567 },
+ { 0x6E58, 116585 },
+ { 0x6E59, 116501 },
+ { 0x6E5A, 116703 },
+ { 0x6E5B, 116516 },
+ { 0x6E5C, 116688 },
+ { 0x6E5D, 116639 },
+ { 0x6E5E, 116564 },
+ { 0x6E5F, 116694 },
+ { 0x6E60, 116714 },
+ { 0x6E61, 116481 },
+ { 0x6E62, 116504 },
+ { 0x6E63, 116579 },
+ { 0x6E64, 116489 },
+ { 0x6E65, 116624 },
+ { 0x6E66, 116621 },
+ { 0x6E67, 116547 },
+ { 0x6E68, 116670 },
+ { 0x6E69, 116652 },
+ { 0x6E6A, 116600 },
+ { 0x6E6B, 116591 },
+ { 0x6E6C, 116655 },
+ { 0x6E6D, 116541 },
+ { 0x6E6E, 116550 },
+ { 0x6E6F, 116679 },
+ { 0x6E70, 116658 },
+ { 0x6E71, 116457 },
+ { 0x6E72, 116700 },
+ { 0x6E73, 116646 },
+ { 0x6E74, 116633 },
+ { 0x6E75, 83982 },
+ { 0x6E76, 83992 },
+ { 0x6E77, 84022 },
+ { 0x6E78, 84002 },
+ { 0x6E79, 83997 },
+ { 0x6E7A, 83987 },
+ { 0x6E7B, 84017 },
+ { 0x6E7C, 84012 },
+ { 0x6E7D, 84007 },
+ { 0x6E7E, 83937 },
+ { 0x6E7F, 83947 },
+ { 0x6E80, 83977 },
+ { 0x6E81, 83957 },
+ { 0x6E82, 83952 },
+ { 0x6E83, 83942 },
+ { 0x6E84, 83972 },
+ { 0x6E85, 83967 },
+ { 0x6E86, 83962 },
+ { 0x6E87, 121084 },
+ { 0x6E88, 121088 },
+ { 0x6E89, 121100 },
+ { 0x6E8A, 121096 },
+ { 0x6E8B, 121092 },
+ { 0x6E8C, 39422 },
+ { 0x6E8D, 39425 },
+ { 0x6E8E, 127458 },
+ { 0x6E8F, 127462 },
+ { 0x6E90, 127466 },
+ { 0x6E91, 127470 },
+ { 0x6E92, 127474 },
+ { 0x6E93, 127478 },
+ { 0x6E94, 127482 },
+ { 0x6E95, 127486 },
+ { 0x6E96, 127490 },
+ { 0x6E97, 127494 },
+ { 0x6E98, 127498 },
+ { 0x6E99, 127502 },
+ { 0x6E9A, 127506 },
+ { 0x6E9B, 127510 },
+ { 0x6E9C, 127514 },
+ { 0x6E9D, 127518 },
+ { 0x6E9E, 127522 },
+ { 0x6E9F, 127526 },
+ { 0x6EA0, 127530 },
+ { 0x6EA1, 127534 },
+ { 0x6EA2, 127538 },
+ { 0x6EA3, 127542 },
+ { 0x6EA4, 127546 },
+ { 0x6EA5, 127550 },
+ { 0x6EA6, 127554 },
+ { 0x6EA7, 127558 },
+ { 0x6EA8, 126434 },
+ { 0x6EA9, 126438 },
+ { 0x6EAA, 126442 },
+ { 0x6EAB, 126446 },
+ { 0x6EAC, 126450 },
+ { 0x6EAD, 126454 },
+ { 0x6EAE, 126458 },
+ { 0x6EAF, 126462 },
+ { 0x6EB0, 126466 },
+ { 0x6EB1, 126470 },
+ { 0x6EB2, 126474 },
+ { 0x6EB3, 126478 },
+ { 0x6EB4, 126482 },
+ { 0x6EB5, 126486 },
+ { 0x6EB6, 126490 },
+ { 0x6EB7, 126494 },
+ { 0x6EB8, 126498 },
+ { 0x6EB9, 126502 },
+ { 0x6EBA, 126506 },
+ { 0x6EBB, 126510 },
+ { 0x6EBC, 126514 },
+ { 0x6EBD, 126518 },
+ { 0x6EBE, 126522 },
+ { 0x6EBF, 126526 },
+ { 0x6EC0, 126530 },
+ { 0x6EC1, 126534 },
+ { 0x6EC2, 128217 },
+ { 0x6EC3, 128221 },
+ { 0x6EC4, 128225 },
+ { 0x6EC5, 128229 },
+ { 0x6EC6, 128233 },
+ { 0x6EC7, 128237 },
+ { 0x6EC8, 128241 },
+ { 0x6EC9, 128245 },
+ { 0x6ECA, 128249 },
+ { 0x6ECB, 128253 },
+ { 0x6ECC, 128257 },
+ { 0x6ECD, 128261 },
+ { 0x6ECE, 128265 },
+ { 0x6ECF, 128269 },
+ { 0x6ED0, 128273 },
+ { 0x6ED1, 128277 },
+ { 0x6ED2, 128281 },
+ { 0x6ED3, 128285 },
+ { 0x6ED4, 128289 },
+ { 0x6ED5, 128293 },
+ { 0x6ED6, 128297 },
+ { 0x6ED7, 128301 },
+ { 0x6ED8, 128305 },
+ { 0x6ED9, 128309 },
+ { 0x6EDA, 128313 },
+ { 0x6EDB, 128317 },
+ { 0x6EDC, 128002 },
+ { 0x6EDD, 128006 },
+ { 0x6EDE, 128010 },
+ { 0x6EDF, 128014 },
+ { 0x6EE0, 128018 },
+ { 0x6EE1, 128022 },
+ { 0x6EE2, 128026 },
+ { 0x6EE3, 128030 },
+ { 0x6EE4, 128034 },
+ { 0x6EE5, 128038 },
+ { 0x6EE6, 128042 },
+ { 0x6EE7, 128046 },
+ { 0x6EE8, 128050 },
+ { 0x6EE9, 128054 },
+ { 0x6EEA, 128058 },
+ { 0x6EEB, 128062 },
+ { 0x6EEC, 128066 },
+ { 0x6EED, 128070 },
+ { 0x6EEE, 128074 },
+ { 0x6EEF, 128078 },
+ { 0x6EF0, 128082 },
+ { 0x6EF1, 128086 },
+ { 0x6EF2, 128090 },
+ { 0x6EF3, 128094 },
+ { 0x6EF4, 128098 },
+ { 0x6EF5, 126932 },
+ { 0x6EF6, 126937 },
+ { 0x6EF7, 126942 },
+ { 0x6EF8, 126947 },
+ { 0x6EF9, 126952 },
+ { 0x6EFA, 126957 },
+ { 0x6EFB, 126962 },
+ { 0x6EFC, 126967 },
+ { 0x6EFD, 126972 },
+ { 0x6EFE, 126977 },
+ { 0x6EFF, 126982 },
+ { 0x6F00, 126987 },
+ { 0x6F01, 126992 },
+ { 0x6F02, 126997 },
+ { 0x6F03, 127002 },
+ { 0x6F04, 127007 },
+ { 0x6F05, 127012 },
+ { 0x6F06, 127017 },
+ { 0x6F07, 127022 },
+ { 0x6F08, 127027 },
+ { 0x6F09, 127032 },
+ { 0x6F0A, 127037 },
+ { 0x6F0B, 127042 },
+ { 0x6F0C, 127047 },
+ { 0x6F0D, 127052 },
+ { 0x6F0E, 127057 },
+ { 0x6F0F, 126671 },
+ { 0x6F10, 126676 },
+ { 0x6F11, 126681 },
+ { 0x6F12, 126686 },
+ { 0x6F13, 126691 },
+ { 0x6F14, 126696 },
+ { 0x6F15, 126701 },
+ { 0x6F16, 126706 },
+ { 0x6F17, 126711 },
+ { 0x6F18, 126716 },
+ { 0x6F19, 126721 },
+ { 0x6F1A, 126726 },
+ { 0x6F1B, 126731 },
+ { 0x6F1C, 126736 },
+ { 0x6F1D, 126741 },
+ { 0x6F1E, 126746 },
+ { 0x6F1F, 126751 },
+ { 0x6F20, 126756 },
+ { 0x6F21, 126761 },
+ { 0x6F22, 126766 },
+ { 0x6F23, 126771 },
+ { 0x6F24, 126776 },
+ { 0x6F25, 126781 },
+ { 0x6F26, 126786 },
+ { 0x6F27, 126791 },
+ { 0x6F28, 126796 },
+ { 0x6F29, 128525 },
+ { 0x6F2A, 128529 },
+ { 0x6F2B, 128533 },
+ { 0x6F2C, 128537 },
+ { 0x6F2D, 128541 },
+ { 0x6F2E, 128545 },
+ { 0x6F2F, 128549 },
+ { 0x6F30, 128553 },
+ { 0x6F31, 128557 },
+ { 0x6F32, 128561 },
+ { 0x6F33, 128565 },
+ { 0x6F34, 128569 },
+ { 0x6F35, 128573 },
+ { 0x6F36, 128577 },
+ { 0x6F37, 128581 },
+ { 0x6F38, 128585 },
+ { 0x6F39, 128589 },
+ { 0x6F3A, 128593 },
+ { 0x6F3B, 128433 },
+ { 0x6F3C, 128437 },
+ { 0x6F3D, 128441 },
+ { 0x6F3E, 128445 },
+ { 0x6F3F, 128449 },
+ { 0x6F40, 128453 },
+ { 0x6F41, 128457 },
+ { 0x6F42, 128461 },
+ { 0x6F43, 128465 },
+ { 0x6F44, 128469 },
+ { 0x6F45, 128473 },
+ { 0x6F46, 128477 },
+ { 0x6F47, 128481 },
+ { 0x6F48, 128485 },
+ { 0x6F49, 128489 },
+ { 0x6F4A, 128493 },
+ { 0x6F4B, 128497 },
+ { 0x6F4C, 128501 },
+ { 0x6F4D, 128505 },
+ { 0x6F4E, 128509 },
+ { 0x6F4F, 128513 },
+ { 0x6F50, 128517 },
+ { 0x6F51, 128521 },
+ { 0x6F52, 127328 },
+ { 0x6F53, 127333 },
+ { 0x6F54, 127338 },
+ { 0x6F55, 127343 },
+ { 0x6F56, 127348 },
+ { 0x6F57, 127353 },
+ { 0x6F58, 127358 },
+ { 0x6F59, 127363 },
+ { 0x6F5A, 127368 },
+ { 0x6F5B, 127373 },
+ { 0x6F5C, 127378 },
+ { 0x6F5D, 127383 },
+ { 0x6F5E, 127388 },
+ { 0x6F5F, 127393 },
+ { 0x6F60, 127398 },
+ { 0x6F61, 127403 },
+ { 0x6F62, 127408 },
+ { 0x6F63, 127413 },
+ { 0x6F64, 127418 },
+ { 0x6F65, 127423 },
+ { 0x6F66, 127428 },
+ { 0x6F67, 127433 },
+ { 0x6F68, 127438 },
+ { 0x6F69, 127443 },
+ { 0x6F6A, 127448 },
+ { 0x6F6B, 127453 },
+ { 0x6F6C, 127198 },
+ { 0x6F6D, 127203 },
+ { 0x6F6E, 127208 },
+ { 0x6F6F, 127213 },
+ { 0x6F70, 127218 },
+ { 0x6F71, 127223 },
+ { 0x6F72, 127228 },
+ { 0x6F73, 127233 },
+ { 0x6F74, 127238 },
+ { 0x6F75, 127243 },
+ { 0x6F76, 127248 },
+ { 0x6F77, 127253 },
+ { 0x6F78, 127258 },
+ { 0x6F79, 127263 },
+ { 0x6F7A, 127268 },
+ { 0x6F7B, 127273 },
+ { 0x6F7C, 127278 },
+ { 0x6F7D, 127283 },
+ { 0x6F7E, 127288 },
+ { 0x6F7F, 127293 },
+ { 0x6F80, 127298 },
+ { 0x6F81, 127303 },
+ { 0x6F82, 127308 },
+ { 0x6F83, 127313 },
+ { 0x6F84, 127318 },
+ { 0x6F85, 127323 },
+ { 0x6F86, 128704 },
+ { 0x6F87, 128708 },
+ { 0x6F88, 128712 },
+ { 0x6F89, 128716 },
+ { 0x6F8A, 128720 },
+ { 0x6F8B, 128724 },
+ { 0x6F8C, 128728 },
+ { 0x6F8D, 128732 },
+ { 0x6F8E, 128736 },
+ { 0x6F8F, 128740 },
+ { 0x6F90, 128744 },
+ { 0x6F91, 128748 },
+ { 0x6F92, 128752 },
+ { 0x6F93, 128756 },
+ { 0x6F94, 128760 },
+ { 0x6F95, 128764 },
+ { 0x6F96, 128768 },
+ { 0x6F97, 128772 },
+ { 0x6F98, 128776 },
+ { 0x6F99, 128780 },
+ { 0x6F9A, 128784 },
+ { 0x6F9B, 128600 },
+ { 0x6F9C, 128604 },
+ { 0x6F9D, 128608 },
+ { 0x6F9E, 128612 },
+ { 0x6F9F, 128616 },
+ { 0x6FA0, 128620 },
+ { 0x6FA1, 128624 },
+ { 0x6FA2, 128628 },
+ { 0x6FA3, 128632 },
+ { 0x6FA4, 128636 },
+ { 0x6FA5, 128640 },
+ { 0x6FA6, 128644 },
+ { 0x6FA7, 128648 },
+ { 0x6FA8, 128652 },
+ { 0x6FA9, 128656 },
+ { 0x6FAA, 128660 },
+ { 0x6FAB, 128664 },
+ { 0x6FAC, 128668 },
+ { 0x6FAD, 128672 },
+ { 0x6FAE, 128676 },
+ { 0x6FAF, 128680 },
+ { 0x6FB0, 128684 },
+ { 0x6FB1, 128688 },
+ { 0x6FB2, 128692 },
+ { 0x6FB3, 128696 },
+ { 0x6FB4, 128700 },
+ { 0x6FB5, 130950 },
+ { 0x6FB6, 130954 },
+ { 0x6FB7, 130958 },
+ { 0x6FB8, 130962 },
+ { 0x6FB9, 130966 },
+ { 0x6FBA, 130970 },
+ { 0x6FBB, 130974 },
+ { 0x6FBC, 130978 },
+ { 0x6FBD, 130982 },
+ { 0x6FBE, 130986 },
+ { 0x6FBF, 130990 },
+ { 0x6FC0, 130994 },
+ { 0x6FC1, 130998 },
+ { 0x6FC2, 131002 },
+ { 0x6FC3, 131006 },
+ { 0x6FC4, 131010 },
+ { 0x6FC5, 131014 },
+ { 0x6FC6, 131018 },
+ { 0x6FC7, 131022 },
+ { 0x6FC8, 130846 },
+ { 0x6FC9, 130850 },
+ { 0x6FCA, 130854 },
+ { 0x6FCB, 130858 },
+ { 0x6FCC, 130862 },
+ { 0x6FCD, 130866 },
+ { 0x6FCE, 130870 },
+ { 0x6FCF, 130874 },
+ { 0x6FD0, 130878 },
+ { 0x6FD1, 130882 },
+ { 0x6FD2, 130886 },
+ { 0x6FD3, 130890 },
+ { 0x6FD4, 130894 },
+ { 0x6FD5, 130898 },
+ { 0x6FD6, 130902 },
+ { 0x6FD7, 130906 },
+ { 0x6FD8, 130910 },
+ { 0x6FD9, 130914 },
+ { 0x6FDA, 130918 },
+ { 0x6FDB, 130922 },
+ { 0x6FDC, 130926 },
+ { 0x6FDD, 130930 },
+ { 0x6FDE, 130934 },
+ { 0x6FDF, 130938 },
+ { 0x6FE0, 130942 },
+ { 0x6FE1, 130946 },
+ { 0x6FE2, 127801 },
+ { 0x6FE3, 127806 },
+ { 0x6FE4, 127811 },
+ { 0x6FE5, 127816 },
+ { 0x6FE6, 127821 },
+ { 0x6FE7, 127826 },
+ { 0x6FE8, 127831 },
+ { 0x6FE9, 127836 },
+ { 0x6FEA, 127841 },
+ { 0x6FEB, 127846 },
+ { 0x6FEC, 127851 },
+ { 0x6FED, 127856 },
+ { 0x6FEE, 127861 },
+ { 0x6FEF, 127866 },
+ { 0x6FF0, 127871 },
+ { 0x6FF1, 127876 },
+ { 0x6FF2, 127881 },
+ { 0x6FF3, 127886 },
+ { 0x6FF4, 127891 },
+ { 0x6FF5, 127896 },
+ { 0x6FF6, 127901 },
+ { 0x6FF7, 127906 },
+ { 0x6FF8, 127911 },
+ { 0x6FF9, 127916 },
+ { 0x6FFA, 127921 },
+ { 0x6FFB, 127926 },
+ { 0x6FFC, 127671 },
+ { 0x6FFD, 127676 },
+ { 0x6FFE, 127681 },
+ { 0x6FFF, 127686 },
+ { 0x7000, 127691 },
+ { 0x7001, 127696 },
+ { 0x7002, 127701 },
+ { 0x7003, 127706 },
+ { 0x7004, 127711 },
+ { 0x7005, 127716 },
+ { 0x7006, 127721 },
+ { 0x7007, 127726 },
+ { 0x7008, 127731 },
+ { 0x7009, 127736 },
+ { 0x700A, 127741 },
+ { 0x700B, 127746 },
+ { 0x700C, 127751 },
+ { 0x700D, 127756 },
+ { 0x700E, 127761 },
+ { 0x700F, 127766 },
+ { 0x7010, 127771 },
+ { 0x7011, 127776 },
+ { 0x7012, 127781 },
+ { 0x7013, 127786 },
+ { 0x7014, 127791 },
+ { 0x7015, 127796 },
+ { 0x7016, 130702 },
+ { 0x7017, 130706 },
+ { 0x7018, 130710 },
+ { 0x7019, 130714 },
+ { 0x701A, 130718 },
+ { 0x701B, 130722 },
+ { 0x701C, 130726 },
+ { 0x701D, 130730 },
+ { 0x701E, 130734 },
+ { 0x701F, 130738 },
+ { 0x7020, 130742 },
+ { 0x7021, 130746 },
+ { 0x7022, 130750 },
+ { 0x7023, 130754 },
+ { 0x7024, 130758 },
+ { 0x7025, 130762 },
+ { 0x7026, 130766 },
+ { 0x7027, 130770 },
+ { 0x7028, 130774 },
+ { 0x7029, 130778 },
+ { 0x702A, 130782 },
+ { 0x702B, 130786 },
+ { 0x702C, 130790 },
+ { 0x702D, 130794 },
+ { 0x702E, 130798 },
+ { 0x702F, 130802 },
+ { 0x7030, 130338 },
+ { 0x7031, 130342 },
+ { 0x7032, 130346 },
+ { 0x7033, 130350 },
+ { 0x7034, 130354 },
+ { 0x7035, 130358 },
+ { 0x7036, 130362 },
+ { 0x7037, 130366 },
+ { 0x7038, 130370 },
+ { 0x7039, 130374 },
+ { 0x703A, 130378 },
+ { 0x703B, 130382 },
+ { 0x703C, 130386 },
+ { 0x703D, 130390 },
+ { 0x703E, 130394 },
+ { 0x703F, 130398 },
+ { 0x7040, 130402 },
+ { 0x7041, 130406 },
+ { 0x7042, 130410 },
+ { 0x7043, 130414 },
+ { 0x7044, 130418 },
+ { 0x7045, 130422 },
+ { 0x7046, 130426 },
+ { 0x7047, 130430 },
+ { 0x7048, 130434 },
+ { 0x7049, 130438 },
+ { 0x704A, 130032 },
+ { 0x704B, 130037 },
+ { 0x704C, 130042 },
+ { 0x704D, 130047 },
+ { 0x704E, 130052 },
+ { 0x704F, 130057 },
+ { 0x7050, 130062 },
+ { 0x7051, 130067 },
+ { 0x7052, 130072 },
+ { 0x7053, 130077 },
+ { 0x7054, 130082 },
+ { 0x7055, 130087 },
+ { 0x7056, 130092 },
+ { 0x7057, 130097 },
+ { 0x7058, 130102 },
+ { 0x7059, 130107 },
+ { 0x705A, 130112 },
+ { 0x705B, 130117 },
+ { 0x705C, 130122 },
+ { 0x705D, 130127 },
+ { 0x705E, 130132 },
+ { 0x705F, 130137 },
+ { 0x7060, 130142 },
+ { 0x7061, 130147 },
+ { 0x7062, 130152 },
+ { 0x7063, 130157 },
+ { 0x7064, 129110 },
+ { 0x7065, 129115 },
+ { 0x7066, 129120 },
+ { 0x7067, 129125 },
+ { 0x7068, 129130 },
+ { 0x7069, 129135 },
+ { 0x706A, 129140 },
+ { 0x706B, 129145 },
+ { 0x706C, 129150 },
+ { 0x706D, 129155 },
+ { 0x706E, 129160 },
+ { 0x706F, 129165 },
+ { 0x7070, 129170 },
+ { 0x7071, 129175 },
+ { 0x7072, 129180 },
+ { 0x7073, 129185 },
+ { 0x7074, 129190 },
+ { 0x7075, 129195 },
+ { 0x7076, 129200 },
+ { 0x7077, 129205 },
+ { 0x7078, 129210 },
+ { 0x7079, 129215 },
+ { 0x707A, 129220 },
+ { 0x707B, 129225 },
+ { 0x707C, 129230 },
+ { 0x707D, 129235 },
+ { 0x707E, 130572 },
+ { 0x707F, 130577 },
+ { 0x7080, 130582 },
+ { 0x7081, 130587 },
+ { 0x7082, 130592 },
+ { 0x7083, 130597 },
+ { 0x7084, 130602 },
+ { 0x7085, 130607 },
+ { 0x7086, 130612 },
+ { 0x7087, 130617 },
+ { 0x7088, 130622 },
+ { 0x7089, 130627 },
+ { 0x708A, 130632 },
+ { 0x708B, 130637 },
+ { 0x708C, 130642 },
+ { 0x708D, 130647 },
+ { 0x708E, 130652 },
+ { 0x708F, 130657 },
+ { 0x7090, 130662 },
+ { 0x7091, 130667 },
+ { 0x7092, 130672 },
+ { 0x7093, 130677 },
+ { 0x7094, 130682 },
+ { 0x7095, 130687 },
+ { 0x7096, 130692 },
+ { 0x7097, 130697 },
+ { 0x7098, 130442 },
+ { 0x7099, 130447 },
+ { 0x709A, 130452 },
+ { 0x709B, 130457 },
+ { 0x709C, 130462 },
+ { 0x709D, 130467 },
+ { 0x709E, 130472 },
+ { 0x709F, 130477 },
+ { 0x70A0, 130482 },
+ { 0x70A1, 130487 },
+ { 0x70A2, 130492 },
+ { 0x70A3, 130497 },
+ { 0x70A4, 130502 },
+ { 0x70A5, 130507 },
+ { 0x70A6, 130512 },
+ { 0x70A7, 130517 },
+ { 0x70A8, 130522 },
+ { 0x70A9, 130527 },
+ { 0x70AA, 130532 },
+ { 0x70AB, 130537 },
+ { 0x70AC, 130542 },
+ { 0x70AD, 130547 },
+ { 0x70AE, 130552 },
+ { 0x70AF, 130557 },
+ { 0x70B0, 130562 },
+ { 0x70B1, 130567 },
+ { 0x70B2, 129713 },
+ { 0x70B3, 129719 },
+ { 0x70B4, 129725 },
+ { 0x70B5, 129731 },
+ { 0x70B6, 129737 },
+ { 0x70B7, 129743 },
+ { 0x70B8, 129749 },
+ { 0x70B9, 129755 },
+ { 0x70BA, 129761 },
+ { 0x70BB, 129767 },
+ { 0x70BC, 129773 },
+ { 0x70BD, 129779 },
+ { 0x70BE, 129785 },
+ { 0x70BF, 129791 },
+ { 0x70C0, 129797 },
+ { 0x70C1, 129803 },
+ { 0x70C2, 129809 },
+ { 0x70C3, 129815 },
+ { 0x70C4, 129821 },
+ { 0x70C5, 129827 },
+ { 0x70C6, 129833 },
+ { 0x70C7, 129839 },
+ { 0x70C8, 129845 },
+ { 0x70C9, 129851 },
+ { 0x70CA, 129857 },
+ { 0x70CB, 129863 },
+ { 0x70CC, 129400 },
+ { 0x70CD, 129406 },
+ { 0x70CE, 129412 },
+ { 0x70CF, 129418 },
+ { 0x70D0, 129424 },
+ { 0x70D1, 129430 },
+ { 0x70D2, 129436 },
+ { 0x70D3, 129442 },
+ { 0x70D4, 129448 },
+ { 0x70D5, 129454 },
+ { 0x70D6, 129460 },
+ { 0x70D7, 129466 },
+ { 0x70D8, 129472 },
+ { 0x70D9, 129478 },
+ { 0x70DA, 129484 },
+ { 0x70DB, 129490 },
+ { 0x70DC, 129496 },
+ { 0x70DD, 129502 },
+ { 0x70DE, 129508 },
+ { 0x70DF, 129514 },
+ { 0x70E0, 129520 },
+ { 0x70E1, 129526 },
+ { 0x70E2, 129532 },
+ { 0x70E3, 129538 },
+ { 0x70E4, 129544 },
+ { 0x70E5, 129550 },
+ { 0x70E6, 128932 },
+ { 0x70E7, 128936 },
+ { 0x70E8, 128940 },
+ { 0x70E9, 128944 },
+ { 0x70EA, 128948 },
+ { 0x70EB, 128952 },
+ { 0x70EC, 128956 },
+ { 0x70ED, 128960 },
+ { 0x70EE, 128964 },
+ { 0x70EF, 128968 },
+ { 0x70F0, 128972 },
+ { 0x70F1, 128976 },
+ { 0x70F2, 128980 },
+ { 0x70F3, 128984 },
+ { 0x70F4, 128988 },
+ { 0x70F5, 128992 },
+ { 0x70F6, 128996 },
+ { 0x70F7, 129000 },
+ { 0x70F8, 129004 },
+ { 0x70F9, 129008 },
+ { 0x70FA, 129012 },
+ { 0x70FB, 129016 },
+ { 0x70FC, 129020 },
+ { 0x70FD, 129024 },
+ { 0x70FE, 129028 },
+ { 0x70FF, 129032 },
+ { 0x7100, 128828 },
+ { 0x7101, 128832 },
+ { 0x7102, 128836 },
+ { 0x7103, 128840 },
+ { 0x7104, 128844 },
+ { 0x7105, 128848 },
+ { 0x7106, 128852 },
+ { 0x7107, 128856 },
+ { 0x7108, 128860 },
+ { 0x7109, 128864 },
+ { 0x710A, 128868 },
+ { 0x710B, 128872 },
+ { 0x710C, 128876 },
+ { 0x710D, 128880 },
+ { 0x710E, 128884 },
+ { 0x710F, 128888 },
+ { 0x7110, 128892 },
+ { 0x7111, 128896 },
+ { 0x7112, 128900 },
+ { 0x7113, 128904 },
+ { 0x7114, 128908 },
+ { 0x7115, 128912 },
+ { 0x7116, 128916 },
+ { 0x7117, 128920 },
+ { 0x7118, 128924 },
+ { 0x7119, 128928 },
+ { 0x711A, 128191 },
+ { 0x711B, 128196 },
+ { 0x711C, 127614 },
+ { 0x711D, 127602 },
+ { 0x711E, 127622 },
+ { 0x711F, 127618 },
+ { 0x7120, 127655 },
+ { 0x7121, 127610 },
+ { 0x7122, 127582 },
+ { 0x7123, 127642 },
+ { 0x7124, 127606 },
+ { 0x7125, 127626 },
+ { 0x7126, 127630 },
+ { 0x7127, 127562 },
+ { 0x7128, 127566 },
+ { 0x7129, 127574 },
+ { 0x712A, 127659 },
+ { 0x712B, 127570 },
+ { 0x712C, 127594 },
+ { 0x712D, 127646 },
+ { 0x712E, 127638 },
+ { 0x712F, 127598 },
+ { 0x7130, 127663 },
+ { 0x7131, 127586 },
+ { 0x7132, 127578 },
+ { 0x7133, 127590 },
+ { 0x7134, 127634 },
+ { 0x7135, 126431 },
+ { 0x7136, 126590 },
+ { 0x7137, 126578 },
+ { 0x7138, 126603 },
+ { 0x7139, 126594 },
+ { 0x713A, 126631 },
+ { 0x713B, 126586 },
+ { 0x713C, 126558 },
+ { 0x713D, 126623 },
+ { 0x713E, 126582 },
+ { 0x713F, 126607 },
+ { 0x7140, 126611 },
+ { 0x7141, 126538 },
+ { 0x7142, 126542 },
+ { 0x7143, 126550 },
+ { 0x7144, 126635 },
+ { 0x7145, 126546 },
+ { 0x7146, 126570 },
+ { 0x7147, 126598 },
+ { 0x7148, 126619 },
+ { 0x7149, 126574 },
+ { 0x714A, 126639 },
+ { 0x714B, 126562 },
+ { 0x714C, 126554 },
+ { 0x714D, 126566 },
+ { 0x714E, 126615 },
+ { 0x714F, 127931 },
+ { 0x7150, 127667 },
+ { 0x7151, 126643 },
+ { 0x7152, 126427 },
+ { 0x7153, 126379 },
+ { 0x7154, 126383 },
+ { 0x7155, 126375 },
+ { 0x7156, 128373 },
+ { 0x7157, 128361 },
+ { 0x7158, 128381 },
+ { 0x7159, 128377 },
+ { 0x715A, 128410 },
+ { 0x715B, 128369 },
+ { 0x715C, 128341 },
+ { 0x715D, 128401 },
+ { 0x715E, 128365 },
+ { 0x715F, 128385 },
+ { 0x7160, 128389 },
+ { 0x7161, 128321 },
+ { 0x7162, 128325 },
+ { 0x7163, 128333 },
+ { 0x7164, 128414 },
+ { 0x7165, 128329 },
+ { 0x7166, 128353 },
+ { 0x7167, 128405 },
+ { 0x7168, 128397 },
+ { 0x7169, 128357 },
+ { 0x716A, 128418 },
+ { 0x716B, 128345 },
+ { 0x716C, 128337 },
+ { 0x716D, 128349 },
+ { 0x716E, 128393 },
+ { 0x716F, 127999 },
+ { 0x7170, 128154 },
+ { 0x7171, 128142 },
+ { 0x7172, 128167 },
+ { 0x7173, 128158 },
+ { 0x7174, 128201 },
+ { 0x7175, 128150 },
+ { 0x7176, 128122 },
+ { 0x7177, 128187 },
+ { 0x7178, 128146 },
+ { 0x7179, 128171 },
+ { 0x717A, 128175 },
+ { 0x717B, 128102 },
+ { 0x717C, 128106 },
+ { 0x717D, 128114 },
+ { 0x717E, 128205 },
+ { 0x717F, 128110 },
+ { 0x7180, 128134 },
+ { 0x7181, 128162 },
+ { 0x7182, 128183 },
+ { 0x7183, 128138 },
+ { 0x7184, 128209 },
+ { 0x7185, 128126 },
+ { 0x7186, 128118 },
+ { 0x7187, 128130 },
+ { 0x7188, 128179 },
+ { 0x7189, 128426 },
+ { 0x718A, 128422 },
+ { 0x718B, 128213 },
+ { 0x718C, 127995 },
+ { 0x718D, 127987 },
+ { 0x718E, 127991 },
+ { 0x718F, 127983 },
+ { 0x7190, 127127 },
+ { 0x7191, 127112 },
+ { 0x7192, 127137 },
+ { 0x7193, 127132 },
+ { 0x7194, 127173 },
+ { 0x7195, 127122 },
+ { 0x7196, 127087 },
+ { 0x7197, 127162 },
+ { 0x7198, 127117 },
+ { 0x7199, 127142 },
+ { 0x719A, 127147 },
+ { 0x719B, 127062 },
+ { 0x719C, 127067 },
+ { 0x719D, 127077 },
+ { 0x719E, 127178 },
+ { 0x719F, 127072 },
+ { 0x71A0, 127102 },
+ { 0x71A1, 127167 },
+ { 0x71A2, 127157 },
+ { 0x71A3, 127107 },
+ { 0x71A4, 127183 },
+ { 0x71A5, 127092 },
+ { 0x71A6, 127082 },
+ { 0x71A7, 127097 },
+ { 0x71A8, 127152 },
+ { 0x71A9, 126667 },
+ { 0x71AA, 126866 },
+ { 0x71AB, 126851 },
+ { 0x71AC, 126882 },
+ { 0x71AD, 126871 },
+ { 0x71AE, 126912 },
+ { 0x71AF, 126861 },
+ { 0x71B0, 126826 },
+ { 0x71B1, 126907 },
+ { 0x71B2, 126856 },
+ { 0x71B3, 126887 },
+ { 0x71B4, 126892 },
+ { 0x71B5, 126801 },
+ { 0x71B6, 126806 },
+ { 0x71B7, 126816 },
+ { 0x71B8, 126917 },
+ { 0x71B9, 126811 },
+ { 0x71BA, 126841 },
+ { 0x71BB, 126876 },
+ { 0x71BC, 126902 },
+ { 0x71BD, 126846 },
+ { 0x71BE, 126922 },
+ { 0x71BF, 126831 },
+ { 0x71C0, 126821 },
+ { 0x71C1, 126836 },
+ { 0x71C2, 126897 },
+ { 0x71C3, 127193 },
+ { 0x71C4, 127188 },
+ { 0x71C5, 126927 },
+ { 0x71C6, 126662 },
+ { 0x71C7, 126652 },
+ { 0x71C8, 126657 },
+ { 0x71C9, 126647 },
+ { 0x71CA, 130227 },
+ { 0x71CB, 130212 },
+ { 0x71CC, 130237 },
+ { 0x71CD, 130232 },
+ { 0x71CE, 130273 },
+ { 0x71CF, 130222 },
+ { 0x71D0, 130187 },
+ { 0x71D1, 130262 },
+ { 0x71D2, 130217 },
+ { 0x71D3, 130242 },
+ { 0x71D4, 130247 },
+ { 0x71D5, 130162 },
+ { 0x71D6, 130167 },
+ { 0x71D7, 130177 },
+ { 0x71D8, 130278 },
+ { 0x71D9, 130172 },
+ { 0x71DA, 130202 },
+ { 0x71DB, 130267 },
+ { 0x71DC, 130257 },
+ { 0x71DD, 130207 },
+ { 0x71DE, 130283 },
+ { 0x71DF, 130192 },
+ { 0x71E0, 130182 },
+ { 0x71E1, 130197 },
+ { 0x71E2, 130252 },
+ { 0x71E3, 129106 },
+ { 0x71E4, 129305 },
+ { 0x71E5, 129290 },
+ { 0x71E6, 129321 },
+ { 0x71E7, 129310 },
+ { 0x71E8, 129351 },
+ { 0x71E9, 129300 },
+ { 0x71EA, 129265 },
+ { 0x71EB, 129346 },
+ { 0x71EC, 129295 },
+ { 0x71ED, 129326 },
+ { 0x71EE, 129331 },
+ { 0x71EF, 129240 },
+ { 0x71F0, 129245 },
+ { 0x71F1, 129255 },
+ { 0x71F2, 129356 },
+ { 0x71F3, 129250 },
+ { 0x71F4, 129280 },
+ { 0x71F5, 129315 },
+ { 0x71F6, 129341 },
+ { 0x71F7, 129285 },
+ { 0x71F8, 129361 },
+ { 0x71F9, 129270 },
+ { 0x71FA, 129260 },
+ { 0x71FB, 129275 },
+ { 0x71FC, 129336 },
+ { 0x71FD, 130293 },
+ { 0x71FE, 130288 },
+ { 0x71FF, 129366 },
+ { 0x7200, 129101 },
+ { 0x7201, 129041 },
+ { 0x7202, 129046 },
+ { 0x7203, 129036 },
+ { 0x7204, 129947 },
+ { 0x7205, 129929 },
+ { 0x7206, 129959 },
+ { 0x7207, 129953 },
+ { 0x7208, 130002 },
+ { 0x7209, 129941 },
+ { 0x720A, 129899 },
+ { 0x720B, 129989 },
+ { 0x720C, 129935 },
+ { 0x720D, 129965 },
+ { 0x720E, 129971 },
+ { 0x720F, 129869 },
+ { 0x7210, 129875 },
+ { 0x7211, 129887 },
+ { 0x7212, 130008 },
+ { 0x7213, 129881 },
+ { 0x7214, 129917 },
+ { 0x7215, 129995 },
+ { 0x7216, 129983 },
+ { 0x7217, 129923 },
+ { 0x7218, 130014 },
+ { 0x7219, 129905 },
+ { 0x721A, 129893 },
+ { 0x721B, 129911 },
+ { 0x721C, 129977 },
+ { 0x721D, 129395 },
+ { 0x721E, 129634 },
+ { 0x721F, 129616 },
+ { 0x7220, 129653 },
+ { 0x7221, 129640 },
+ { 0x7222, 129689 },
+ { 0x7223, 129628 },
+ { 0x7224, 129586 },
+ { 0x7225, 129683 },
+ { 0x7226, 129622 },
+ { 0x7227, 129659 },
+ { 0x7228, 129665 },
+ { 0x7229, 129556 },
+ { 0x722A, 129562 },
+ { 0x722B, 129574 },
+ { 0x722C, 129695 },
+ { 0x722D, 129568 },
+ { 0x722E, 129604 },
+ { 0x722F, 129646 },
+ { 0x7230, 129677 },
+ { 0x7231, 129610 },
+ { 0x7232, 129701 },
+ { 0x7233, 129592 },
+ { 0x7234, 129580 },
+ { 0x7235, 129598 },
+ { 0x7236, 129671 },
+ { 0x7237, 130026 },
+ { 0x7238, 130020 },
+ { 0x7239, 129707 },
+ { 0x723A, 129389 },
+ { 0x723B, 129377 },
+ { 0x723C, 129383 },
+ { 0x723D, 129371 },
+ { 0x723E, 127651 },
+ { 0x723F, 126627 },
+ { 0x7240, 126411 },
+ { 0x7241, 126387 },
+ { 0x7242, 126395 },
+ { 0x7243, 126423 },
+ { 0x7244, 126403 },
+ { 0x7245, 126399 },
+ { 0x7246, 126391 },
+ { 0x7247, 126419 },
+ { 0x7248, 126415 },
+ { 0x7249, 126407 },
+ { 0x724A, 130830 },
+ { 0x724B, 130806 },
+ { 0x724C, 130814 },
+ { 0x724D, 130842 },
+ { 0x724E, 130822 },
+ { 0x724F, 130818 },
+ { 0x7250, 130810 },
+ { 0x7251, 130838 },
+ { 0x7252, 130834 },
+ { 0x7253, 130826 },
+ { 0x7254, 130322 },
+ { 0x7255, 130298 },
+ { 0x7256, 130306 },
+ { 0x7257, 130334 },
+ { 0x7258, 130314 },
+ { 0x7259, 130310 },
+ { 0x725A, 130302 },
+ { 0x725B, 130330 },
+ { 0x725C, 130326 },
+ { 0x725D, 130318 },
+ { 0x725E, 129081 },
+ { 0x725F, 129051 },
+ { 0x7260, 129061 },
+ { 0x7261, 129096 },
+ { 0x7262, 129071 },
+ { 0x7263, 129066 },
+ { 0x7264, 129056 },
+ { 0x7265, 129091 },
+ { 0x7266, 129086 },
+ { 0x7267, 129076 },
+ { 0x7268, 128812 },
+ { 0x7269, 128788 },
+ { 0x726A, 128796 },
+ { 0x726B, 128824 },
+ { 0x726C, 128804 },
+ { 0x726D, 128800 },
+ { 0x726E, 128792 },
+ { 0x726F, 128820 },
+ { 0x7270, 128816 },
+ { 0x7271, 128808 },
+ { 0x7272, 123151 },
+ { 0x7273, 124297 },
+ { 0x7274, 122944 },
+ { 0x7275, 124029 },
+ { 0x7276, 124196 },
+ { 0x7277, 124072 },
+ { 0x7278, 123176 },
+ { 0x7279, 124300 },
+ { 0x727A, 123626 },
+ { 0x727B, 123574 },
+ { 0x727C, 123325 },
+ { 0x727D, 123329 },
+ { 0x727E, 123333 },
+ { 0x727F, 124309 },
+ { 0x7280, 123352 },
+ { 0x7281, 124313 },
+ { 0x7282, 123364 },
+ { 0x7283, 123472 },
+ { 0x7284, 123454 },
+ { 0x7285, 123154 },
+ { 0x7286, 123338 },
+ { 0x7287, 123497 },
+ { 0x7288, 123502 },
+ { 0x7289, 123567 },
+ { 0x728A, 123539 },
+ { 0x728B, 123553 },
+ { 0x728C, 123478 },
+ { 0x728D, 124338 },
+ { 0x728E, 123736 },
+ { 0x728F, 123180 },
+ { 0x7290, 123399 },
+ { 0x7291, 124328 },
+ { 0x7292, 123490 },
+ { 0x7293, 123369 },
+ { 0x7294, 123404 },
+ { 0x7295, 123459 },
+ { 0x7296, 123160 },
+ { 0x7297, 123168 },
+ { 0x7298, 123344 },
+ { 0x7299, 123356 },
+ { 0x729A, 123423 },
+ { 0x729B, 123441 },
+ { 0x729C, 123435 },
+ { 0x729D, 123429 },
+ { 0x729E, 123656 },
+ { 0x729F, 123509 },
+ { 0x72A0, 123524 },
+ { 0x72A1, 123516 },
+ { 0x72A2, 123781 },
+ { 0x72A3, 123285 },
+ { 0x72A4, 123559 },
+ { 0x72A5, 123483 },
+ { 0x72A6, 123532 },
+ { 0x72A7, 123545 },
+ { 0x72A8, 123774 },
+ { 0x72A9, 123278 },
+ { 0x72AA, 123793 },
+ { 0x72AB, 123800 },
+ { 0x72AC, 123265 },
+ { 0x72AD, 123257 },
+ { 0x72AE, 123299 },
+ { 0x72AF, 123447 },
+ { 0x72B0, 123416 },
+ { 0x72B1, 123410 },
+ { 0x72B2, 123751 },
+ { 0x72B3, 123759 },
+ { 0x72B4, 123767 },
+ { 0x72B5, 123292 },
+ { 0x72B6, 123865 },
+ { 0x72B7, 123869 },
+ { 0x72B8, 123874 },
+ { 0x72B9, 123879 },
+ { 0x72BA, 123884 },
+ { 0x72BB, 123067 },
+ { 0x72BC, 123102 },
+ { 0x72BD, 124162 },
+ { 0x72BE, 123818 },
+ { 0x72BF, 123893 },
+ { 0x72C0, 123829 },
+ { 0x72C1, 123906 },
+ { 0x72C2, 123823 },
+ { 0x72C3, 123899 },
+ { 0x72C4, 123836 },
+ { 0x72C5, 122915 },
+ { 0x72C6, 122920 },
+ { 0x72C7, 124156 },
+ { 0x72C8, 124020 },
+ { 0x72C9, 123843 },
+ { 0x72CA, 123857 },
+ { 0x72CB, 123849 },
+ { 0x72CC, 123816 },
+ { 0x72CD, 123958 },
+ { 0x72CE, 123890 },
+ { 0x72CF, 123950 },
+ { 0x72D0, 123914 },
+ { 0x72D1, 123946 },
+ { 0x72D2, 123954 },
+ { 0x72D3, 123919 },
+ { 0x72D4, 123925 },
+ { 0x72D5, 123929 },
+ { 0x72D6, 123935 },
+ { 0x72D7, 123942 },
+ { 0x72D8, 123061 },
+ { 0x72D9, 123079 },
+ { 0x72DA, 123063 },
+ { 0x72DB, 123083 },
+ { 0x72DC, 124011 },
+ { 0x72DD, 123963 },
+ { 0x72DE, 122926 },
+ { 0x72DF, 122909 },
+ { 0x72E0, 122934 },
+ { 0x72E1, 122961 },
+ { 0x72E2, 122929 },
+ { 0x72E3, 122911 },
+ { 0x72E4, 122939 },
+ { 0x72E5, 122965 },
+ { 0x72E6, 124370 },
+ { 0x72E7, 124368 },
+ { 0x72E8, 124291 },
+ { 0x72E9, 124014 },
+ { 0x72EA, 124032 },
+ { 0x72EB, 124016 },
+ { 0x72EC, 124036 },
+ { 0x72ED, 124167 },
+ { 0x72EE, 124180 },
+ { 0x72EF, 124150 },
+ { 0x72F0, 124248 },
+ { 0x72F1, 124175 },
+ { 0x72F2, 124251 },
+ { 0x72F3, 124170 },
+ { 0x72F4, 124152 },
+ { 0x72F5, 124255 },
+ { 0x72F6, 124261 },
+ { 0x72F7, 124058 },
+ { 0x72F8, 123376 },
+ { 0x72F9, 124317 },
+ { 0x72FA, 124232 },
+ { 0x72FB, 124100 },
+ { 0x72FC, 124267 },
+ { 0x72FD, 123381 },
+ { 0x72FE, 123387 },
+ { 0x72FF, 124237 },
+ { 0x7300, 123681 },
+ { 0x7301, 123697 },
+ { 0x7302, 123691 },
+ { 0x7303, 123685 },
+ { 0x7304, 123673 },
+ { 0x7305, 123638 },
+ { 0x7306, 124343 },
+ { 0x7307, 124040 },
+ { 0x7308, 124110 },
+ { 0x7309, 123716 },
+ { 0x730A, 123677 },
+ { 0x730B, 123721 },
+ { 0x730C, 123712 },
+ { 0x730D, 124279 },
+ { 0x730E, 123707 },
+ { 0x730F, 124274 },
+ { 0x7310, 124125 },
+ { 0x7311, 124118 },
+ { 0x7312, 123703 },
+ { 0x7313, 124347 },
+ { 0x7314, 124270 },
+ { 0x7315, 124114 },
+ { 0x7316, 123467 },
+ { 0x7317, 124333 },
+ { 0x7318, 124243 },
+ { 0x7319, 124185 },
+ { 0x731A, 124105 },
+ { 0x731B, 123393 },
+ { 0x731C, 124322 },
+ { 0x731D, 123115 },
+ { 0x731E, 124188 },
+ { 0x731F, 124060 },
+ { 0x7320, 123111 },
+ { 0x7321, 123146 },
+ { 0x7322, 123127 },
+ { 0x7323, 124293 },
+ { 0x7324, 124025 },
+ { 0x7325, 124068 },
+ { 0x7326, 123131 },
+ { 0x7327, 123141 },
+ { 0x7328, 123135 },
+ { 0x7329, 123119 },
+ { 0x732A, 123123 },
+ { 0x732B, 123965 },
+ { 0x732C, 123186 },
+ { 0x732D, 124304 },
+ { 0x732E, 124373 },
+ { 0x732F, 123975 },
+ { 0x7330, 123969 },
+ { 0x7331, 123981 },
+ { 0x7332, 122947 },
+ { 0x7333, 124199 },
+ { 0x7334, 124080 },
+ { 0x7335, 124075 },
+ { 0x7336, 123742 },
+ { 0x7337, 124283 },
+ { 0x7338, 123726 },
+ { 0x7339, 124351 },
+ { 0x733A, 123811 },
+ { 0x733B, 123730 },
+ { 0x733C, 124007 },
+ { 0x733D, 123788 },
+ { 0x733E, 123807 },
+ { 0x733F, 123746 },
+ { 0x7340, 124355 },
+ { 0x7341, 124379 },
+ { 0x7342, 122969 },
+ { 0x7343, 124286 },
+ { 0x7344, 124144 },
+ { 0x7345, 124138 },
+ { 0x7346, 124133 },
+ { 0x7347, 124360 },
+ { 0x7348, 123087 },
+ { 0x7349, 123093 },
+ { 0x734A, 124000 },
+ { 0x734B, 123993 },
+ { 0x734C, 123987 },
+ { 0x734D, 124228 },
+ { 0x734E, 123196 },
+ { 0x734F, 124213 },
+ { 0x7350, 123229 },
+ { 0x7351, 123236 },
+ { 0x7352, 123222 },
+ { 0x7353, 123208 },
+ { 0x7354, 123201 },
+ { 0x7355, 123215 },
+ { 0x7356, 123313 },
+ { 0x7357, 123306 },
+ { 0x7358, 123191 },
+ { 0x7359, 123320 },
+ { 0x735A, 123250 },
+ { 0x735B, 123072 },
+ { 0x735C, 123243 },
+ { 0x735D, 123273 },
+ { 0x735E, 122952 },
+ { 0x735F, 122956 },
+ { 0x7360, 124208 },
+ { 0x7361, 124218 },
+ { 0x7362, 124204 },
+ { 0x7363, 124223 },
+ { 0x7364, 124095 },
+ { 0x7365, 124090 },
+ { 0x7366, 124086 },
+ { 0x7367, 123579 },
+ { 0x7368, 123582 },
+ { 0x7369, 123604 },
+ { 0x736A, 123609 },
+ { 0x736B, 123599 },
+ { 0x736C, 123669 },
+ { 0x736D, 123650 },
+ { 0x736E, 123663 },
+ { 0x736F, 123644 },
+ { 0x7370, 123614 },
+ { 0x7371, 123586 },
+ { 0x7372, 123632 },
+ { 0x7373, 123620 },
+ { 0x7374, 123592 },
+ { 0x7375, 123100 },
+ { 0x7376, 123108 },
+ { 0x7377, 122722 },
+ { 0x7378, 122728 },
+ { 0x7379, 122725 },
+ { 0x737A, 122567 },
+ { 0x737B, 122573 },
+ { 0x737C, 122570 },
+ { 0x737D, 122775 },
+ { 0x737E, 122781 },
+ { 0x737F, 122778 },
+ { 0x7380, 122535 },
+ { 0x7381, 122541 },
+ { 0x7382, 122538 },
+ { 0x7383, 122384 },
+ { 0x7384, 122390 },
+ { 0x7385, 122387 },
+ { 0x7386, 122885 },
+ { 0x7387, 122882 },
+ { 0x7388, 122863 },
+ { 0x7389, 122871 },
+ { 0x738A, 122867 },
+ { 0x738B, 122875 },
+ { 0x738C, 122879 },
+ { 0x738D, 122548 },
+ { 0x738E, 122556 },
+ { 0x738F, 122552 },
+ { 0x7390, 122560 },
+ { 0x7391, 122564 },
+ { 0x7392, 122859 },
+ { 0x7393, 124385 },
+ { 0x7394, 124390 },
+ { 0x7395, 124407 },
+ { 0x7396, 124411 },
+ { 0x7397, 124395 },
+ { 0x7398, 124401 },
+ { 0x7399, 124415 },
+ { 0x739A, 124936 },
+ { 0x739B, 125390 },
+ { 0x739C, 124950 },
+ { 0x739D, 124955 },
+ { 0x739E, 124945 },
+ { 0x739F, 124960 },
+ { 0x73A0, 124940 },
+ { 0x73A1, 124912 },
+ { 0x73A2, 124907 },
+ { 0x73A3, 124916 },
+ { 0x73A4, 124920 },
+ { 0x73A5, 124786 },
+ { 0x73A6, 124970 },
+ { 0x73A7, 124965 },
+ { 0x73A8, 124975 },
+ { 0x73A9, 124979 },
+ { 0x73AA, 124650 },
+ { 0x73AB, 124654 },
+ { 0x73AC, 124646 },
+ { 0x73AD, 124885 },
+ { 0x73AE, 124889 },
+ { 0x73AF, 124881 },
+ { 0x73B0, 124893 },
+ { 0x73B1, 124778 },
+ { 0x73B2, 124782 },
+ { 0x73B3, 124774 },
+ { 0x73B4, 124635 },
+ { 0x73B5, 124639 },
+ { 0x73B6, 124631 },
+ { 0x73B7, 124989 },
+ { 0x73B8, 124993 },
+ { 0x73B9, 124985 },
+ { 0x73BA, 124861 },
+ { 0x73BB, 124865 },
+ { 0x73BC, 124857 },
+ { 0x73BD, 124454 },
+ { 0x73BE, 124450 },
+ { 0x73BF, 124458 },
+ { 0x73C0, 124466 },
+ { 0x73C1, 124462 },
+ { 0x73C2, 124470 },
+ { 0x73C3, 124447 },
+ { 0x73C4, 124437 },
+ { 0x73C5, 124432 },
+ { 0x73C6, 124442 },
+ { 0x73C7, 124495 },
+ { 0x73C8, 124499 },
+ { 0x73C9, 124491 },
+ { 0x73CA, 124503 },
+ { 0x73CB, 124551 },
+ { 0x73CC, 124555 },
+ { 0x73CD, 124547 },
+ { 0x73CE, 124559 },
+ { 0x73CF, 124512 },
+ { 0x73D0, 124517 },
+ { 0x73D1, 124507 },
+ { 0x73D2, 124522 },
+ { 0x73D3, 124532 },
+ { 0x73D4, 124537 },
+ { 0x73D5, 124527 },
+ { 0x73D6, 124542 },
+ { 0x73D7, 125404 },
+ { 0x73D8, 125409 },
+ { 0x73D9, 125399 },
+ { 0x73DA, 125414 },
+ { 0x73DB, 125394 },
+ { 0x73DC, 125362 },
+ { 0x73DD, 125357 },
+ { 0x73DE, 125366 },
+ { 0x73DF, 125370 },
+ { 0x73E0, 125272 },
+ { 0x73E1, 125424 },
+ { 0x73E2, 125419 },
+ { 0x73E3, 125435 },
+ { 0x73E4, 125429 },
+ { 0x73E5, 125108 },
+ { 0x73E6, 125349 },
+ { 0x73E7, 125353 },
+ { 0x73E8, 125345 },
+ { 0x73E9, 125269 },
+ { 0x73EA, 125097 },
+ { 0x73EB, 125101 },
+ { 0x73EC, 125093 },
+ { 0x73ED, 125444 },
+ { 0x73EE, 125448 },
+ { 0x73EF, 125440 },
+ { 0x73F0, 125323 },
+ { 0x73F1, 125327 },
+ { 0x73F2, 125319 },
+ { 0x73F3, 124582 },
+ { 0x73F4, 124578 },
+ { 0x73F5, 124586 },
+ { 0x73F6, 124570 },
+ { 0x73F7, 124566 },
+ { 0x73F8, 124574 },
+ { 0x73F9, 124563 },
+ { 0x73FA, 124810 },
+ { 0x73FB, 124815 },
+ { 0x73FC, 124805 },
+ { 0x73FD, 124820 },
+ { 0x73FE, 124830 },
+ { 0x73FF, 124835 },
+ { 0x7400, 124825 },
+ { 0x7401, 124840 },
+ { 0x7402, 124845 },
+ { 0x7403, 124851 },
+ { 0x7404, 124662 },
+ { 0x7405, 124666 },
+ { 0x7406, 124658 },
+ { 0x7407, 124685 },
+ { 0x7408, 124694 },
+ { 0x7409, 124681 },
+ { 0x740A, 124689 },
+ { 0x740B, 124715 },
+ { 0x740C, 124721 },
+ { 0x740D, 124709 },
+ { 0x740E, 124733 },
+ { 0x740F, 124739 },
+ { 0x7410, 124727 },
+ { 0x7411, 124789 },
+ { 0x7412, 124897 },
+ { 0x7413, 124902 },
+ { 0x7414, 125014 },
+ { 0x7415, 125000 },
+ { 0x7416, 125028 },
+ { 0x7417, 124997 },
+ { 0x7418, 124799 },
+ { 0x7419, 124675 },
+ { 0x741A, 124703 },
+ { 0x741B, 124750 },
+ { 0x741C, 125022 },
+ { 0x741D, 125008 },
+ { 0x741E, 125036 },
+ { 0x741F, 124794 },
+ { 0x7420, 124670 },
+ { 0x7421, 124698 },
+ { 0x7422, 124745 },
+ { 0x7423, 125017 },
+ { 0x7424, 125003 },
+ { 0x7425, 125031 },
+ { 0x7426, 124762 },
+ { 0x7427, 124768 },
+ { 0x7428, 124756 },
+ { 0x7429, 125305 },
+ { 0x742A, 125299 },
+ { 0x742B, 125159 },
+ { 0x742C, 125145 },
+ { 0x742D, 125166 },
+ { 0x742E, 125152 },
+ { 0x742F, 125226 },
+ { 0x7430, 125212 },
+ { 0x7431, 125219 },
+ { 0x7432, 125205 },
+ { 0x7433, 125263 },
+ { 0x7434, 125257 },
+ { 0x7435, 125477 },
+ { 0x7436, 125464 },
+ { 0x7437, 125490 },
+ { 0x7438, 125293 },
+ { 0x7439, 125287 },
+ { 0x743A, 125122 },
+ { 0x743B, 125115 },
+ { 0x743C, 125137 },
+ { 0x743D, 125129 },
+ { 0x743E, 125198 },
+ { 0x743F, 125184 },
+ { 0x7440, 125191 },
+ { 0x7441, 125177 },
+ { 0x7442, 125251 },
+ { 0x7443, 125245 },
+ { 0x7444, 125472 },
+ { 0x7445, 125459 },
+ { 0x7446, 125485 },
+ { 0x7447, 125279 },
+ { 0x7448, 125283 },
+ { 0x7449, 125275 },
+ { 0x744A, 125311 },
+ { 0x744B, 125315 },
+ { 0x744C, 125111 },
+ { 0x744D, 125173 },
+ { 0x744E, 125241 },
+ { 0x744F, 125237 },
+ { 0x7450, 125233 },
+ { 0x7451, 125469 },
+ { 0x7452, 125456 },
+ { 0x7453, 125482 },
+ { 0x7454, 125452 },
+ { 0x7455, 124613 },
+ { 0x7456, 124625 },
+ { 0x7457, 124607 },
+ { 0x7458, 124619 },
+ { 0x7459, 125069 },
+ { 0x745A, 125085 },
+ { 0x745B, 125053 },
+ { 0x745C, 125061 },
+ { 0x745D, 125077 },
+ { 0x745E, 125045 },
+ { 0x745F, 124875 },
+ { 0x7460, 124869 },
+ { 0x7461, 125338 },
+ { 0x7462, 125331 },
+ { 0x7463, 124931 },
+ { 0x7464, 124926 },
+ { 0x7465, 125383 },
+ { 0x7466, 125376 },
+ { 0x7467, 122848 },
+ { 0x7468, 122844 },
+ { 0x7469, 122824 },
+ { 0x746A, 122827 },
+ { 0x746B, 122835 },
+ { 0x746C, 122841 },
+ { 0x746D, 122852 },
+ { 0x746E, 122855 },
+ { 0x746F, 122830 },
+ { 0x7470, 122838 },
+ { 0x7471, 122464 },
+ { 0x7472, 122466 },
+ { 0x7473, 122481 },
+ { 0x7474, 122473 },
+ { 0x7475, 122489 },
+ { 0x7476, 122477 },
+ { 0x7477, 122485 },
+ { 0x7478, 122469 },
+ { 0x7479, 122437 },
+ { 0x747A, 122420 },
+ { 0x747B, 122428 },
+ { 0x747C, 122888 },
+ { 0x747D, 122896 },
+ { 0x747E, 122892 },
+ { 0x747F, 122768 },
+ { 0x7480, 122758 },
+ { 0x7481, 122753 },
+ { 0x7482, 122763 },
+ { 0x7483, 122903 },
+ { 0x7484, 122900 },
+ { 0x7485, 122906 },
+ { 0x7486, 122403 },
+ { 0x7487, 122413 },
+ { 0x7488, 122410 },
+ { 0x7489, 122366 },
+ { 0x748A, 122370 },
+ { 0x748B, 122395 },
+ { 0x748C, 122406 },
+ { 0x748D, 122399 },
+ { 0x748E, 122416 },
+ { 0x748F, 122363 },
+ { 0x7490, 123052 },
+ { 0x7491, 123055 },
+ { 0x7492, 123058 },
+ { 0x7493, 124480 },
+ { 0x7494, 124483 },
+ { 0x7495, 124487 },
+ { 0x7496, 124593 },
+ { 0x7497, 124596 },
+ { 0x7498, 124600 },
+ { 0x7499, 124474 },
+ { 0x749A, 124590 },
+ { 0x749B, 124477 },
+ { 0x749C, 122744 },
+ { 0x749D, 122750 },
+ { 0x749E, 122747 },
+ { 0x749F, 122714 },
+ { 0x74A0, 122718 },
+ { 0x74A1, 122710 },
+ { 0x74A2, 122393 },
+ { 0x74A3, 122526 },
+ { 0x74A4, 122523 },
+ { 0x74A5, 122532 },
+ { 0x74A6, 122529 },
+ { 0x74A7, 122355 },
+ { 0x74A8, 122359 },
+ { 0x74A9, 122345 },
+ { 0x74AA, 122350 },
+ { 0x74AB, 122741 },
+ { 0x74AC, 122738 },
+ { 0x74AD, 122668 },
+ { 0x74AE, 122664 },
+ { 0x74AF, 122660 },
+ { 0x74B0, 122638 },
+ { 0x74B1, 122645 },
+ { 0x74B2, 122641 },
+ { 0x74B3, 122627 },
+ { 0x74B4, 122634 },
+ { 0x74B5, 122630 },
+ { 0x74B6, 122601 },
+ { 0x74B7, 122605 },
+ { 0x74B8, 122609 },
+ { 0x74B9, 122587 },
+ { 0x74BA, 122596 },
+ { 0x74BB, 122591 },
+ { 0x74BC, 122613 },
+ { 0x74BD, 122622 },
+ { 0x74BE, 122617 },
+ { 0x74BF, 122576 },
+ { 0x74C0, 122579 },
+ { 0x74C1, 122583 },
+ { 0x74C2, 122649 },
+ { 0x74C3, 122656 },
+ { 0x74C4, 122652 },
+ { 0x74C5, 122517 },
+ { 0x74C6, 122374 },
+ { 0x74C7, 122379 },
+ { 0x74C8, 122672 },
+ { 0x74C9, 122679 },
+ { 0x74CA, 122675 },
+ { 0x74CB, 122819 },
+ { 0x74CC, 122815 },
+ { 0x74CD, 122784 },
+ { 0x74CE, 122789 },
+ { 0x74CF, 122810 },
+ { 0x74D0, 122795 },
+ { 0x74D1, 122805 },
+ { 0x74D2, 122800 },
+ { 0x74D3, 122683 },
+ { 0x74D4, 122707 },
+ { 0x74D5, 122694 },
+ { 0x74D6, 122698 },
+ { 0x74D7, 122685 },
+ { 0x74D8, 122689 },
+ { 0x74D9, 122703 },
+ { 0x74DA, 124643 },
+ { 0x74DB, 125105 },
+ { 0x74DC, 122521 },
+ { 0x74DD, 122462 },
+ { 0x74DE, 124051 },
+ { 0x74DF, 123039 },
+ { 0x74E0, 123043 },
+ { 0x74E1, 124046 },
+ { 0x74E2, 124053 },
+ { 0x74E3, 123047 },
+ { 0x74E4, 124425 },
+ { 0x74E5, 124421 },
+ { 0x74E6, 124429 },
+ { 0x74E7, 122731 },
+ { 0x74E8, 122514 },
+ { 0x74E9, 122493 },
+ { 0x74EA, 122496 },
+ { 0x74EB, 122499 },
+ { 0x74EC, 122502 },
+ { 0x74ED, 122505 },
+ { 0x74EE, 122508 },
+ { 0x74EF, 122511 },
+ { 0x74F0, 122773 },
+ { 0x74F1, 124604 },
+ { 0x74F2, 125042 },
+ { 0x74F3, 122991 },
+ { 0x74F4, 122988 },
+ { 0x74F5, 122978 },
+ { 0x74F6, 122974 },
+ { 0x74F7, 122985 },
+ { 0x74F8, 122981 },
+ { 0x74F9, 122546 },
+ { 0x74FA, 122459 },
+ { 0x74FB, 124044 },
+ { 0x74FC, 122544 },
+ { 0x74FD, 124366 },
+ { 0x74FE, 122444 },
+ { 0x74FF, 122447 },
+ { 0x7500, 122450 },
+ { 0x7501, 122453 },
+ { 0x7502, 122456 },
+ { 0x7503, 122994 },
+ { 0x7504, 122997 },
+ { 0x7505, 123000 },
+ { 0x7506, 123003 },
+ { 0x7507, 123006 },
+ { 0x7508, 123009 },
+ { 0x7509, 123012 },
+ { 0x750A, 123015 },
+ { 0x750B, 123018 },
+ { 0x750C, 123021 },
+ { 0x750D, 123024 },
+ { 0x750E, 123027 },
+ { 0x750F, 123030 },
+ { 0x7510, 123033 },
+ { 0x7511, 123036 },
+ { 0x7512, 30055 },
+ { 0x7513, 30813 },
+ { 0x7514, 31192 },
+ { 0x7515, 30767 },
+ { 0x7516, 31057 },
+ { 0x7517, 30091 },
+ { 0x7518, 30560 },
+ { 0x7519, 30779 },
+ { 0x751A, 30499 },
+ { 0x751B, 28966 },
+ { 0x751C, 31308 },
+ { 0x751D, 29901 },
+ { 0x751E, 29908 },
+ { 0x751F, 30538 },
+ { 0x7520, 31278 },
+ { 0x7521, 31319 },
+ { 0x7522, 31198 },
+ { 0x7523, 28021 },
+ { 0x7524, 30034 },
+ { 0x7525, 27925 },
+ { 0x7526, 29878 },
+ { 0x7527, 30525 },
+ { 0x7528, 28762 },
+ { 0x7529, 30175 },
+ { 0x752A, 29957 },
+ { 0x752B, 30042 },
+ { 0x752C, 27738 },
+ { 0x752D, 28497 },
+ { 0x752E, 30183 },
+ { 0x752F, 27138 },
+ { 0x7530, 28831 },
+ { 0x7531, 27255 },
+ { 0x7532, 28058 },
+ { 0x7533, 28233 },
+ { 0x7534, 28778 },
+ { 0x7535, 28928 },
+ { 0x7536, 29048 },
+ { 0x7537, 105839 },
+ { 0x7538, 105864 },
+ { 0x7539, 105888 },
+ { 0x753A, 105953 },
+ { 0x753B, 105904 },
+ { 0x753C, 105929 },
+ { 0x753D, 105982 },
+ { 0x753E, 105949 },
+ { 0x753F, 105876 },
+ { 0x7540, 105957 },
+ { 0x7541, 105827 },
+ { 0x7542, 105937 },
+ { 0x7543, 105880 },
+ { 0x7544, 105974 },
+ { 0x7545, 105978 },
+ { 0x7546, 105912 },
+ { 0x7547, 105848 },
+ { 0x7548, 105941 },
+ { 0x7549, 105916 },
+ { 0x754A, 105920 },
+ { 0x754B, 105945 },
+ { 0x754C, 105860 },
+ { 0x754D, 105908 },
+ { 0x754E, 105872 },
+ { 0x754F, 105884 },
+ { 0x7550, 105856 },
+ { 0x7551, 105933 },
+ { 0x7552, 105852 },
+ { 0x7553, 105900 },
+ { 0x7554, 105896 },
+ { 0x7555, 105892 },
+ { 0x7556, 105835 },
+ { 0x7557, 105924 },
+ { 0x7558, 105831 },
+ { 0x7559, 105968 },
+ { 0x755A, 105843 },
+ { 0x755B, 105962 },
+ { 0x755C, 105868 },
+ { 0x755D, 96932 },
+ { 0x755E, 96957 },
+ { 0x755F, 97029 },
+ { 0x7560, 97049 },
+ { 0x7561, 96962 },
+ { 0x7562, 97004 },
+ { 0x7563, 97064 },
+ { 0x7564, 97039 },
+ { 0x7565, 96942 },
+ { 0x7566, 97014 },
+ { 0x7567, 96972 },
+ { 0x7568, 96977 },
+ { 0x7569, 96947 },
+ { 0x756A, 97019 },
+ { 0x756B, 96982 },
+ { 0x756C, 96987 },
+ { 0x756D, 97024 },
+ { 0x756E, 96952 },
+ { 0x756F, 96967 },
+ { 0x7570, 96999 },
+ { 0x7571, 97059 },
+ { 0x7572, 97044 },
+ { 0x7573, 97054 },
+ { 0x7574, 97074 },
+ { 0x7575, 96937 },
+ { 0x7576, 97034 },
+ { 0x7577, 97069 },
+ { 0x7578, 97087 },
+ { 0x7579, 97117 },
+ { 0x757A, 97009 },
+ { 0x757B, 97092 },
+ { 0x757C, 97103 },
+ { 0x757D, 97098 },
+ { 0x757E, 85960 },
+ { 0x757F, 85980 },
+ { 0x7580, 86025 },
+ { 0x7581, 86045 },
+ { 0x7582, 85985 },
+ { 0x7583, 86010 },
+ { 0x7584, 86067 },
+ { 0x7585, 86030 },
+ { 0x7586, 85965 },
+ { 0x7587, 86015 },
+ { 0x7588, 85995 },
+ { 0x7589, 85970 },
+ { 0x758A, 86020 },
+ { 0x758B, 86000 },
+ { 0x758C, 85975 },
+ { 0x758D, 85990 },
+ { 0x758E, 86005 },
+ { 0x758F, 86062 },
+ { 0x7590, 86035 },
+ { 0x7591, 86057 },
+ { 0x7592, 86077 },
+ { 0x7593, 86083 },
+ { 0x7594, 86050 },
+ { 0x7595, 86088 },
+ { 0x7596, 86040 },
+ { 0x7597, 86072 },
+ { 0x7598, 96992 },
+ { 0x7599, 97079 },
+ { 0x759A, 97109 },
+ { 0x759B, 105392 },
+ { 0x759C, 97827 },
+ { 0x759D, 97947 },
+ { 0x759E, 97927 },
+ { 0x759F, 97862 },
+ { 0x75A0, 97812 },
+ { 0x75A1, 97832 },
+ { 0x75A2, 97872 },
+ { 0x75A3, 97907 },
+ { 0x75A4, 97787 },
+ { 0x75A5, 97822 },
+ { 0x75A6, 97857 },
+ { 0x75A7, 97882 },
+ { 0x75A8, 97902 },
+ { 0x75A9, 97967 },
+ { 0x75AA, 97817 },
+ { 0x75AB, 97792 },
+ { 0x75AC, 97932 },
+ { 0x75AD, 97922 },
+ { 0x75AE, 97867 },
+ { 0x75AF, 97972 },
+ { 0x75B0, 97952 },
+ { 0x75B1, 97802 },
+ { 0x75B2, 97852 },
+ { 0x75B3, 97847 },
+ { 0x75B4, 97877 },
+ { 0x75B5, 97917 },
+ { 0x75B6, 97842 },
+ { 0x75B7, 97957 },
+ { 0x75B8, 97912 },
+ { 0x75B9, 97887 },
+ { 0x75BA, 97962 },
+ { 0x75BB, 97892 },
+ { 0x75BC, 97897 },
+ { 0x75BD, 97937 },
+ { 0x75BE, 97807 },
+ { 0x75BF, 97942 },
+ { 0x75C0, 97752 },
+ { 0x75C1, 97782 },
+ { 0x75C2, 97762 },
+ { 0x75C3, 97772 },
+ { 0x75C4, 97767 },
+ { 0x75C5, 97837 },
+ { 0x75C6, 97757 },
+ { 0x75C7, 97797 },
+ { 0x75C8, 97777 },
+ { 0x75C9, 97977 },
+ { 0x75CA, 97993 },
+ { 0x75CB, 97989 },
+ { 0x75CC, 98001 },
+ { 0x75CD, 97997 },
+ { 0x75CE, 97985 },
+ { 0x75CF, 97981 },
+ { 0x75D0, 97684 },
+ { 0x75D1, 97672 },
+ { 0x75D2, 97690 },
+ { 0x75D3, 97678 },
+ { 0x75D4, 97696 },
+ { 0x75D5, 97666 },
+ { 0x75D6, 98015 },
+ { 0x75D7, 97732 },
+ { 0x75D8, 97702 },
+ { 0x75D9, 97712 },
+ { 0x75DA, 97747 },
+ { 0x75DB, 97722 },
+ { 0x75DC, 97717 },
+ { 0x75DD, 97707 },
+ { 0x75DE, 97742 },
+ { 0x75DF, 97737 },
+ { 0x75E0, 97727 },
+ { 0x75E1, 98010 },
+ { 0x75E2, 98005 },
+ { 0x75E3, 16765 },
+ { 0x75E4, 16732 },
+ { 0x75E5, 16774 },
+ { 0x75E6, 16735 },
+ { 0x75E7, 16753 },
+ { 0x75E8, 16741 },
+ { 0x75E9, 16759 },
+ { 0x75EA, 16762 },
+ { 0x75EB, 16786 },
+ { 0x75EC, 16771 },
+ { 0x75ED, 16783 },
+ { 0x75EE, 16780 },
+ { 0x75EF, 16777 },
+ { 0x75F0, 16750 },
+ { 0x75F1, 16744 },
+ { 0x75F2, 16768 },
+ { 0x75F3, 16756 },
+ { 0x75F4, 16720 },
+ { 0x75F5, 16793 },
+ { 0x75F6, 16747 },
+ { 0x75F7, 16805 },
+ { 0x75F8, 16726 },
+ { 0x75F9, 16717 },
+ { 0x75FA, 16789 },
+ { 0x75FB, 16738 },
+ { 0x75FC, 16801 },
+ { 0x75FD, 16723 },
+ { 0x75FE, 16729 },
+ { 0x75FF, 16797 },
+ { 0x7600, 16714 },
+ { 0x7601, 16710 },
+ { 0x7602, 65810 },
+ { 0x7603, 65795 },
+ { 0x7604, 65816 },
+ { 0x7605, 65819 },
+ { 0x7606, 65822 },
+ { 0x7607, 65831 },
+ { 0x7608, 65873 },
+ { 0x7609, 65900 },
+ { 0x760A, 65843 },
+ { 0x760B, 65849 },
+ { 0x760C, 65855 },
+ { 0x760D, 65864 },
+ { 0x760E, 65906 },
+ { 0x760F, 65828 },
+ { 0x7610, 65861 },
+ { 0x7611, 65903 },
+ { 0x7612, 65837 },
+ { 0x7613, 65876 },
+ { 0x7614, 65870 },
+ { 0x7615, 65867 },
+ { 0x7616, 65840 },
+ { 0x7617, 65804 },
+ { 0x7618, 65813 },
+ { 0x7619, 65858 },
+ { 0x761A, 65846 },
+ { 0x761B, 65888 },
+ { 0x761C, 65834 },
+ { 0x761D, 65798 },
+ { 0x761E, 65801 },
+ { 0x761F, 65891 },
+ { 0x7620, 65807 },
+ { 0x7621, 65924 },
+ { 0x7622, 65912 },
+ { 0x7623, 65909 },
+ { 0x7624, 65897 },
+ { 0x7625, 65921 },
+ { 0x7626, 65882 },
+ { 0x7627, 65885 },
+ { 0x7628, 65852 },
+ { 0x7629, 65825 },
+ { 0x762A, 65879 },
+ { 0x762B, 65894 },
+ { 0x762C, 65915 },
+ { 0x762D, 65918 },
+ { 0x762E, 65756 },
+ { 0x762F, 65762 },
+ { 0x7630, 65753 },
+ { 0x7631, 65759 },
+ { 0x7632, 65783 },
+ { 0x7633, 65765 },
+ { 0x7634, 65771 },
+ { 0x7635, 65792 },
+ { 0x7636, 65777 },
+ { 0x7637, 65774 },
+ { 0x7638, 65768 },
+ { 0x7639, 65789 },
+ { 0x763A, 65786 },
+ { 0x763B, 65780 },
+ { 0x763C, 65750 },
+ { 0x763D, 6746 },
+ { 0x763E, 6794 },
+ { 0x763F, 6790 },
+ { 0x7640, 6798 },
+ { 0x7641, 6838 },
+ { 0x7642, 6734 },
+ { 0x7643, 6762 },
+ { 0x7644, 6754 },
+ { 0x7645, 6818 },
+ { 0x7646, 6758 },
+ { 0x7647, 6742 },
+ { 0x7648, 6782 },
+ { 0x7649, 6834 },
+ { 0x764A, 6786 },
+ { 0x764B, 6778 },
+ { 0x764C, 6750 },
+ { 0x764D, 6802 },
+ { 0x764E, 6806 },
+ { 0x764F, 6810 },
+ { 0x7650, 6814 },
+ { 0x7651, 6738 },
+ { 0x7652, 6826 },
+ { 0x7653, 6766 },
+ { 0x7654, 6770 },
+ { 0x7655, 6774 },
+ { 0x7656, 6830 },
+ { 0x7657, 6822 },
+ { 0x7658, 6678 },
+ { 0x7659, 6682 },
+ { 0x765A, 6690 },
+ { 0x765B, 6674 },
+ { 0x765C, 6686 },
+ { 0x765D, 6718 },
+ { 0x765E, 6694 },
+ { 0x765F, 6702 },
+ { 0x7660, 6730 },
+ { 0x7661, 6710 },
+ { 0x7662, 6706 },
+ { 0x7663, 6698 },
+ { 0x7664, 6726 },
+ { 0x7665, 6722 },
+ { 0x7666, 6714 },
+ { 0x7667, 91358 },
+ { 0x7668, 91370 },
+ { 0x7669, 91364 },
+ { 0x766A, 91589 },
+ { 0x766B, 91592 },
+ { 0x766C, 91361 },
+ { 0x766D, 91367 },
+ { 0x766E, 91671 },
+ { 0x766F, 91355 },
+ { 0x7670, 91586 },
+ { 0x7671, 91352 },
+ { 0x7672, 91643 },
+ { 0x7673, 91679 },
+ { 0x7674, 91655 },
+ { 0x7675, 91687 },
+ { 0x7676, 91651 },
+ { 0x7677, 91619 },
+ { 0x7678, 91659 },
+ { 0x7679, 91639 },
+ { 0x767A, 91675 },
+ { 0x767B, 91635 },
+ { 0x767C, 91631 },
+ { 0x767D, 91667 },
+ { 0x767E, 91627 },
+ { 0x767F, 91623 },
+ { 0x7680, 91663 },
+ { 0x7681, 91647 },
+ { 0x7682, 91683 },
+ { 0x7683, 35011 },
+ { 0x7684, 35016 },
+ { 0x7685, 35021 },
+ { 0x7686, 35331 },
+ { 0x7687, 35482 },
+ { 0x7688, 35386 },
+ { 0x7689, 35246 },
+ { 0x768A, 35908 },
+ { 0x768B, 35026 },
+ { 0x768C, 35031 },
+ { 0x768D, 35036 },
+ { 0x768E, 35640 },
+ { 0x768F, 35600 },
+ { 0x7690, 35580 },
+ { 0x7691, 35231 },
+ { 0x7692, 35984 },
+ { 0x7693, 35726 },
+ { 0x7694, 35311 },
+ { 0x7695, 35251 },
+ { 0x7696, 35705 },
+ { 0x7697, 35041 },
+ { 0x7698, 35046 },
+ { 0x7699, 35051 },
+ { 0x769A, 35301 },
+ { 0x769B, 35477 },
+ { 0x769C, 35781 },
+ { 0x769D, 35959 },
+ { 0x769E, 35056 },
+ { 0x769F, 35061 },
+ { 0x76A0, 35066 },
+ { 0x76A1, 35761 },
+ { 0x76A2, 35492 },
+ { 0x76A3, 35522 },
+ { 0x76A4, 35700 },
+ { 0x76A5, 35071 },
+ { 0x76A6, 35076 },
+ { 0x76A7, 35081 },
+ { 0x76A8, 35827 },
+ { 0x76A9, 35507 },
+ { 0x76AA, 35837 },
+ { 0x76AB, 35746 },
+ { 0x76AC, 35695 },
+ { 0x76AD, 35665 },
+ { 0x76AE, 35685 },
+ { 0x76AF, 35989 },
+ { 0x76B0, 35903 },
+ { 0x76B1, 35101 },
+ { 0x76B2, 35106 },
+ { 0x76B3, 35111 },
+ { 0x76B4, 35822 },
+ { 0x76B5, 35590 },
+ { 0x76B6, 35690 },
+ { 0x76B7, 35401 },
+ { 0x76B8, 35994 },
+ { 0x76B9, 35131 },
+ { 0x76BA, 35136 },
+ { 0x76BB, 35141 },
+ { 0x76BC, 35426 },
+ { 0x76BD, 35371 },
+ { 0x76BE, 35276 },
+ { 0x76BF, 35776 },
+ { 0x76C0, 35559 },
+ { 0x76C1, 35086 },
+ { 0x76C2, 35091 },
+ { 0x76C3, 35096 },
+ { 0x76C4, 35452 },
+ { 0x76C5, 35913 },
+ { 0x76C6, 35918 },
+ { 0x76C7, 35116 },
+ { 0x76C8, 35121 },
+ { 0x76C9, 35126 },
+ { 0x76CA, 35462 },
+ { 0x76CB, 35281 },
+ { 0x76CC, 35527 },
+ { 0x76CD, 35351 },
+ { 0x76CE, 35146 },
+ { 0x76CF, 35151 },
+ { 0x76D0, 35156 },
+ { 0x76D1, 35796 },
+ { 0x76D2, 35575 },
+ { 0x76D3, 35811 },
+ { 0x76D4, 35321 },
+ { 0x76D5, 35887 },
+ { 0x76D6, 35161 },
+ { 0x76D7, 35166 },
+ { 0x76D8, 35171 },
+ { 0x76D9, 35554 },
+ { 0x76DA, 35406 },
+ { 0x76DB, 35715 },
+ { 0x76DC, 35615 },
+ { 0x76DD, 35176 },
+ { 0x76DE, 35181 },
+ { 0x76DF, 35186 },
+ { 0x76E0, 35396 },
+ { 0x76E1, 35381 },
+ { 0x76E2, 35675 },
+ { 0x76E3, 35447 },
+ { 0x76E4, 35999 },
+ { 0x76E5, 35512 },
+ { 0x76E6, 35191 },
+ { 0x76E7, 35196 },
+ { 0x76E8, 35201 },
+ { 0x76E9, 35595 },
+ { 0x76EA, 35857 },
+ { 0x76EB, 35893 },
+ { 0x76EC, 35211 },
+ { 0x76ED, 35944 },
+ { 0x76EE, 35206 },
+ { 0x76EF, 35487 },
+ { 0x76F0, 35216 },
+ { 0x76F1, 35710 },
+ { 0x76F2, 35421 },
+ { 0x76F3, 35650 },
+ { 0x76F4, 35271 },
+ { 0x76F5, 35660 },
+ { 0x76F6, 35442 },
+ { 0x76F7, 35266 },
+ { 0x76F8, 35979 },
+ { 0x76F9, 35236 },
+ { 0x76FA, 35457 },
+ { 0x76FB, 35221 },
+ { 0x76FC, 35416 },
+ { 0x76FD, 35585 },
+ { 0x76FE, 35741 },
+ { 0x76FF, 35791 },
+ { 0x7700, 35610 },
+ { 0x7701, 35806 },
+ { 0x7702, 35645 },
+ { 0x7703, 35436 },
+ { 0x7704, 35538 },
+ { 0x7705, 35928 },
+ { 0x7706, 35786 },
+ { 0x7707, 35565 },
+ { 0x7708, 35852 },
+ { 0x7709, 35964 },
+ { 0x770A, 35842 },
+ { 0x770B, 35847 },
+ { 0x770C, 35934 },
+ { 0x770D, 35291 },
+ { 0x770E, 35898 },
+ { 0x770F, 35346 },
+ { 0x7710, 35502 },
+ { 0x7711, 35256 },
+ { 0x7712, 35411 },
+ { 0x7713, 35261 },
+ { 0x7714, 35517 },
+ { 0x7715, 35336 },
+ { 0x7716, 35736 },
+ { 0x7717, 35316 },
+ { 0x7718, 35620 },
+ { 0x7719, 35241 },
+ { 0x771A, 35954 },
+ { 0x771B, 35366 },
+ { 0x771C, 35872 },
+ { 0x771D, 35882 },
+ { 0x771E, 35949 },
+ { 0x771F, 35816 },
+ { 0x7720, 35532 },
+ { 0x7721, 35720 },
+ { 0x7722, 35670 },
+ { 0x7723, 35467 },
+ { 0x7724, 35376 },
+ { 0x7725, 35226 },
+ { 0x7726, 35549 },
+ { 0x7727, 35570 },
+ { 0x7728, 35801 },
+ { 0x7729, 35630 },
+ { 0x772A, 35286 },
+ { 0x772B, 35751 },
+ { 0x772C, 35472 },
+ { 0x772D, 35544 },
+ { 0x772E, 35361 },
+ { 0x772F, 35356 },
+ { 0x7730, 35867 },
+ { 0x7731, 35625 },
+ { 0x7732, 35655 },
+ { 0x7733, 35635 },
+ { 0x7734, 35969 },
+ { 0x7735, 35605 },
+ { 0x7736, 35341 },
+ { 0x7737, 35326 },
+ { 0x7738, 35771 },
+ { 0x7739, 35974 },
+ { 0x773A, 35756 },
+ { 0x773B, 35680 },
+ { 0x773C, 35923 },
+ { 0x773D, 35939 },
+ { 0x773E, 35766 },
+ { 0x773F, 35877 },
+ { 0x7740, 35431 },
+ { 0x7741, 35731 },
+ { 0x7742, 35391 },
+ { 0x7743, 35832 },
+ { 0x7744, 35296 },
+ { 0x7745, 35862 },
+ { 0x7746, 35497 },
+ { 0x7747, 35306 },
+ { 0x7748, 34975 },
+ { 0x7749, 34983 },
+ { 0x774A, 35007 },
+ { 0x774B, 34991 },
+ { 0x774C, 34987 },
+ { 0x774D, 34979 },
+ { 0x774E, 35003 },
+ { 0x774F, 34999 },
+ { 0x7750, 34995 },
+ { 0x7751, 36015 },
+ { 0x7752, 36010 },
+ { 0x7753, 36026 },
+ { 0x7754, 36036 },
+ { 0x7755, 36004 },
+ { 0x7756, 36020 },
+ { 0x7757, 36031 },
+ { 0x7758, 17218 },
+ { 0x7759, 17238 },
+ { 0x775A, 17226 },
+ { 0x775B, 17230 },
+ { 0x775C, 17126 },
+ { 0x775D, 17242 },
+ { 0x775E, 17142 },
+ { 0x775F, 17162 },
+ { 0x7760, 17146 },
+ { 0x7761, 17110 },
+ { 0x7762, 17130 },
+ { 0x7763, 17114 },
+ { 0x7764, 17118 },
+ { 0x7765, 17170 },
+ { 0x7766, 17210 },
+ { 0x7767, 17206 },
+ { 0x7768, 17194 },
+ { 0x7769, 17178 },
+ { 0x776A, 17158 },
+ { 0x776B, 17122 },
+ { 0x776C, 17222 },
+ { 0x776D, 17166 },
+ { 0x776E, 17138 },
+ { 0x776F, 17234 },
+ { 0x7770, 17134 },
+ { 0x7771, 17198 },
+ { 0x7772, 17150 },
+ { 0x7773, 17190 },
+ { 0x7774, 17154 },
+ { 0x7775, 17182 },
+ { 0x7776, 17174 },
+ { 0x7777, 17214 },
+ { 0x7778, 17186 },
+ { 0x7779, 17202 },
+ { 0x777A, 17079 },
+ { 0x777B, 17099 },
+ { 0x777C, 17087 },
+ { 0x777D, 17091 },
+ { 0x777E, 16987 },
+ { 0x777F, 17103 },
+ { 0x7780, 17003 },
+ { 0x7781, 17023 },
+ { 0x7782, 17007 },
+ { 0x7783, 16971 },
+ { 0x7784, 16991 },
+ { 0x7785, 16975 },
+ { 0x7786, 16979 },
+ { 0x7787, 17031 },
+ { 0x7788, 17071 },
+ { 0x7789, 17067 },
+ { 0x778A, 17055 },
+ { 0x778B, 17039 },
+ { 0x778C, 17019 },
+ { 0x778D, 16983 },
+ { 0x778E, 17083 },
+ { 0x778F, 17027 },
+ { 0x7790, 16999 },
+ { 0x7791, 17095 },
+ { 0x7792, 16995 },
+ { 0x7793, 17059 },
+ { 0x7794, 17011 },
+ { 0x7795, 17051 },
+ { 0x7796, 17015 },
+ { 0x7797, 17043 },
+ { 0x7798, 17035 },
+ { 0x7799, 17075 },
+ { 0x779A, 17047 },
+ { 0x779B, 17063 },
+ { 0x779C, 16934 },
+ { 0x779D, 17107 },
+ { 0x779E, 17261 },
+ { 0x779F, 16967 },
+ { 0x77A0, 17258 },
+ { 0x77A1, 17254 },
+ { 0x77A2, 16969 },
+ { 0x77A3, 17264 },
+ { 0x77A4, 16955 },
+ { 0x77A5, 16937 },
+ { 0x77A6, 16943 },
+ { 0x77A7, 16964 },
+ { 0x77A8, 16949 },
+ { 0x77A9, 16946 },
+ { 0x77AA, 16940 },
+ { 0x77AB, 16961 },
+ { 0x77AC, 16958 },
+ { 0x77AD, 16952 },
+ { 0x77AE, 17250 },
+ { 0x77AF, 17246 },
+ { 0x77B0, 25607 },
+ { 0x77B1, 25644 },
+ { 0x77B2, 25763 },
+ { 0x77B3, 25672 },
+ { 0x77B4, 25658 },
+ { 0x77B5, 25621 },
+ { 0x77B6, 25740 },
+ { 0x77B7, 25704 },
+ { 0x77B8, 25690 },
+ { 0x77B9, 25635 },
+ { 0x77BA, 25808 },
+ { 0x77BB, 25799 },
+ { 0x77BC, 25727 },
+ { 0x77BD, 25718 },
+ { 0x77BE, 25754 },
+ { 0x77BF, 25821 },
+ { 0x77C0, 25777 },
+ { 0x77C1, 25790 },
+ { 0x77C2, 25611 },
+ { 0x77C3, 25648 },
+ { 0x77C4, 25767 },
+ { 0x77C5, 25676 },
+ { 0x77C6, 25662 },
+ { 0x77C7, 25625 },
+ { 0x77C8, 25744 },
+ { 0x77C9, 25708 },
+ { 0x77CA, 25694 },
+ { 0x77CB, 25616 },
+ { 0x77CC, 25653 },
+ { 0x77CD, 25772 },
+ { 0x77CE, 25681 },
+ { 0x77CF, 25667 },
+ { 0x77D0, 25630 },
+ { 0x77D1, 25749 },
+ { 0x77D2, 25713 },
+ { 0x77D3, 25699 },
+ { 0x77D4, 25639 },
+ { 0x77D5, 25812 },
+ { 0x77D6, 25803 },
+ { 0x77D7, 25731 },
+ { 0x77D8, 25722 },
+ { 0x77D9, 25758 },
+ { 0x77DA, 25825 },
+ { 0x77DB, 25781 },
+ { 0x77DC, 25794 },
+ { 0x77DD, 25686 },
+ { 0x77DE, 25786 },
+ { 0x77DF, 25599 },
+ { 0x77E0, 25736 },
+ { 0x77E1, 25817 },
+ { 0x77E2, 25830 },
+ { 0x77E3, 25840 },
+ { 0x77E4, 25870 },
+ { 0x77E5, 25850 },
+ { 0x77E6, 25845 },
+ { 0x77E7, 25835 },
+ { 0x77E8, 25865 },
+ { 0x77E9, 25860 },
+ { 0x77EA, 25855 },
+ { 0x77EB, 25911 },
+ { 0x77EC, 25896 },
+ { 0x77ED, 25891 },
+ { 0x77EE, 25901 },
+ { 0x77EF, 25603 },
+ { 0x77F0, 25875 },
+ { 0x77F1, 25886 },
+ { 0x77F2, 25880 },
+ { 0x77F3, 25906 },
+ { 0x77F4, 74358 },
+ { 0x77F5, 74395 },
+ { 0x77F6, 74506 },
+ { 0x77F7, 74423 },
+ { 0x77F8, 74409 },
+ { 0x77F9, 74372 },
+ { 0x77FA, 74483 },
+ { 0x77FB, 74451 },
+ { 0x77FC, 74437 },
+ { 0x77FD, 74386 },
+ { 0x77FE, 74547 },
+ { 0x77FF, 74538 },
+ { 0x7800, 74474 },
+ { 0x7801, 74465 },
+ { 0x7802, 74497 },
+ { 0x7803, 74556 },
+ { 0x7804, 74520 },
+ { 0x7805, 74529 },
+ { 0x7806, 74362 },
+ { 0x7807, 74399 },
+ { 0x7808, 74510 },
+ { 0x7809, 74427 },
+ { 0x780A, 74413 },
+ { 0x780B, 74376 },
+ { 0x780C, 74487 },
+ { 0x780D, 74455 },
+ { 0x780E, 74441 },
+ { 0x780F, 74367 },
+ { 0x7810, 74404 },
+ { 0x7811, 74515 },
+ { 0x7812, 74432 },
+ { 0x7813, 74418 },
+ { 0x7814, 74381 },
+ { 0x7815, 74492 },
+ { 0x7816, 74460 },
+ { 0x7817, 74446 },
+ { 0x7818, 74390 },
+ { 0x7819, 74551 },
+ { 0x781A, 74542 },
+ { 0x781B, 74478 },
+ { 0x781C, 74469 },
+ { 0x781D, 74501 },
+ { 0x781E, 74560 },
+ { 0x781F, 74524 },
+ { 0x7820, 74533 },
+ { 0x7821, 74575 },
+ { 0x7822, 74600 },
+ { 0x7823, 74642 },
+ { 0x7824, 74616 },
+ { 0x7825, 74611 },
+ { 0x7826, 74578 },
+ { 0x7827, 74637 },
+ { 0x7828, 74632 },
+ { 0x7829, 74627 },
+ { 0x782A, 74589 },
+ { 0x782B, 74621 },
+ { 0x782C, 74583 },
+ { 0x782D, 74605 },
+ { 0x782E, 74594 },
+ { 0x782F, 74565 },
+ { 0x7830, 74570 },
+ { 0x7831, 49064 },
+ { 0x7832, 49019 },
+ { 0x7833, 49067 },
+ { 0x7834, 49025 },
+ { 0x7835, 49055 },
+ { 0x7836, 49088 },
+ { 0x7837, 49031 },
+ { 0x7838, 49049 },
+ { 0x7839, 49058 },
+ { 0x783A, 49034 },
+ { 0x783B, 49037 },
+ { 0x783C, 49073 },
+ { 0x783D, 49076 },
+ { 0x783E, 49079 },
+ { 0x783F, 49016 },
+ { 0x7840, 49028 },
+ { 0x7841, 49046 },
+ { 0x7842, 49040 },
+ { 0x7843, 49043 },
+ { 0x7844, 49094 },
+ { 0x7845, 49052 },
+ { 0x7846, 49085 },
+ { 0x7847, 49070 },
+ { 0x7848, 49082 },
+ { 0x7849, 49022 },
+ { 0x784A, 49061 },
+ { 0x784B, 49091 },
+ { 0x784C, 49267 },
+ { 0x784D, 49279 },
+ { 0x784E, 49271 },
+ { 0x784F, 49275 },
+ { 0x7850, 49287 },
+ { 0x7851, 49331 },
+ { 0x7852, 49303 },
+ { 0x7853, 49299 },
+ { 0x7854, 49327 },
+ { 0x7855, 49307 },
+ { 0x7856, 49311 },
+ { 0x7857, 49339 },
+ { 0x7858, 49343 },
+ { 0x7859, 49347 },
+ { 0x785A, 49283 },
+ { 0x785B, 49295 },
+ { 0x785C, 49319 },
+ { 0x785D, 49315 },
+ { 0x785E, 49359 },
+ { 0x785F, 49323 },
+ { 0x7860, 49351 },
+ { 0x7861, 49335 },
+ { 0x7862, 49291 },
+ { 0x7863, 49355 },
+ { 0x7864, 49233 },
+ { 0x7865, 49213 },
+ { 0x7866, 49229 },
+ { 0x7867, 49217 },
+ { 0x7868, 49241 },
+ { 0x7869, 49245 },
+ { 0x786A, 49205 },
+ { 0x786B, 49225 },
+ { 0x786C, 49221 },
+ { 0x786D, 49253 },
+ { 0x786E, 49237 },
+ { 0x786F, 49209 },
+ { 0x7870, 49249 },
+ { 0x7871, 49262 },
+ { 0x7872, 49257 },
+ { 0x7873, 49381 },
+ { 0x7874, 49429 },
+ { 0x7875, 49397 },
+ { 0x7876, 49393 },
+ { 0x7877, 49413 },
+ { 0x7878, 49421 },
+ { 0x7879, 49401 },
+ { 0x787A, 49437 },
+ { 0x787B, 49441 },
+ { 0x787C, 49445 },
+ { 0x787D, 49377 },
+ { 0x787E, 49389 },
+ { 0x787F, 49409 },
+ { 0x7880, 49405 },
+ { 0x7881, 49457 },
+ { 0x7882, 49417 },
+ { 0x7883, 49449 },
+ { 0x7884, 49433 },
+ { 0x7885, 49385 },
+ { 0x7886, 49425 },
+ { 0x7887, 49453 },
+ { 0x7888, 49461 },
+ { 0x7889, 49466 },
+ { 0x788A, 49161 },
+ { 0x788B, 49101 },
+ { 0x788C, 49165 },
+ { 0x788D, 49109 },
+ { 0x788E, 49121 },
+ { 0x788F, 49149 },
+ { 0x7890, 49193 },
+ { 0x7891, 49117 },
+ { 0x7892, 49141 },
+ { 0x7893, 49153 },
+ { 0x7894, 49125 },
+ { 0x7895, 49173 },
+ { 0x7896, 49177 },
+ { 0x7897, 49181 },
+ { 0x7898, 49097 },
+ { 0x7899, 49113 },
+ { 0x789A, 49137 },
+ { 0x789B, 49129 },
+ { 0x789C, 49133 },
+ { 0x789D, 49201 },
+ { 0x789E, 49145 },
+ { 0x789F, 49189 },
+ { 0x78A0, 49169 },
+ { 0x78A1, 49185 },
+ { 0x78A2, 49105 },
+ { 0x78A3, 49157 },
+ { 0x78A4, 49197 },
+ { 0x78A5, 49475 },
+ { 0x78A6, 49531 },
+ { 0x78A7, 49483 },
+ { 0x78A8, 49519 },
+ { 0x78A9, 49559 },
+ { 0x78AA, 49491 },
+ { 0x78AB, 49511 },
+ { 0x78AC, 49523 },
+ { 0x78AD, 49495 },
+ { 0x78AE, 49539 },
+ { 0x78AF, 49543 },
+ { 0x78B0, 49547 },
+ { 0x78B1, 49471 },
+ { 0x78B2, 49487 },
+ { 0x78B3, 49507 },
+ { 0x78B4, 49499 },
+ { 0x78B5, 49503 },
+ { 0x78B6, 49567 },
+ { 0x78B7, 49515 },
+ { 0x78B8, 49555 },
+ { 0x78B9, 49535 },
+ { 0x78BA, 49551 },
+ { 0x78BB, 49479 },
+ { 0x78BC, 49527 },
+ { 0x78BD, 49563 },
+ { 0x78BE, 49369 },
+ { 0x78BF, 49363 },
+ { 0x78C0, 71014 },
+ { 0x78C1, 71111 },
+ { 0x78C2, 71066 },
+ { 0x78C3, 71092 },
+ { 0x78C4, 70977 },
+ { 0x78C5, 71085 },
+ { 0x78C6, 71130 },
+ { 0x78C7, 70972 },
+ { 0x78C8, 71006 },
+ { 0x78C9, 71125 },
+ { 0x78CA, 71043 },
+ { 0x78CB, 71028 },
+ { 0x78CC, 70991 },
+ { 0x78CD, 71106 },
+ { 0x78CE, 71080 },
+ { 0x78CF, 71058 },
+ { 0x78D0, 70962 },
+ { 0x78D1, 70996 },
+ { 0x78D2, 71115 },
+ { 0x78D3, 71033 },
+ { 0x78D4, 71018 },
+ { 0x78D5, 70981 },
+ { 0x78D6, 71096 },
+ { 0x78D7, 71070 },
+ { 0x78D8, 71048 },
+ { 0x78D9, 70967 },
+ { 0x78DA, 71001 },
+ { 0x78DB, 71120 },
+ { 0x78DC, 71038 },
+ { 0x78DD, 71023 },
+ { 0x78DE, 70986 },
+ { 0x78DF, 71101 },
+ { 0x78E0, 71075 },
+ { 0x78E1, 71053 },
+ { 0x78E2, 71063 },
+ { 0x78E3, 71140 },
+ { 0x78E4, 71137 },
+ { 0x78E5, 71152 },
+ { 0x78E6, 71143 },
+ { 0x78E7, 71146 },
+ { 0x78E8, 71134 },
+ { 0x78E9, 71149 },
+ { 0x78EA, 71089 },
+ { 0x78EB, 71011 },
+ { 0x78EC, 51509 },
+ { 0x78ED, 51660 },
+ { 0x78EE, 51663 },
+ { 0x78EF, 51666 },
+ { 0x78F0, 51669 },
+ { 0x78F1, 51672 },
+ { 0x78F2, 51675 },
+ { 0x78F3, 51678 },
+ { 0x78F4, 51681 },
+ { 0x78F5, 51684 },
+ { 0x78F6, 51687 },
+ { 0x78F7, 51690 },
+ { 0x78F8, 51693 },
+ { 0x78F9, 51696 },
+ { 0x78FA, 51699 },
+ { 0x78FB, 51702 },
+ { 0x78FC, 51705 },
+ { 0x78FD, 51708 },
+ { 0x78FE, 51711 },
+ { 0x78FF, 51714 },
+ { 0x7900, 51717 },
+ { 0x7901, 51720 },
+ { 0x7902, 51723 },
+ { 0x7903, 51726 },
+ { 0x7904, 51729 },
+ { 0x7905, 51732 },
+ { 0x7906, 51735 },
+ { 0x7907, 51738 },
+ { 0x7908, 51741 },
+ { 0x7909, 51744 },
+ { 0x790A, 51747 },
+ { 0x790B, 51750 },
+ { 0x790C, 51753 },
+ { 0x790D, 51756 },
+ { 0x790E, 51759 },
+ { 0x790F, 51762 },
+ { 0x7910, 51765 },
+ { 0x7911, 51768 },
+ { 0x7912, 51771 },
+ { 0x7913, 51774 },
+ { 0x7914, 51777 },
+ { 0x7915, 51780 },
+ { 0x7916, 51783 },
+ { 0x7917, 51786 },
+ { 0x7918, 51789 },
+ { 0x7919, 51792 },
+ { 0x791A, 51795 },
+ { 0x791B, 51798 },
+ { 0x791C, 51801 },
+ { 0x791D, 51804 },
+ { 0x791E, 51505 },
+ { 0x791F, 51513 },
+ { 0x7920, 51516 },
+ { 0x7921, 51519 },
+ { 0x7922, 51522 },
+ { 0x7923, 51525 },
+ { 0x7924, 51528 },
+ { 0x7925, 51531 },
+ { 0x7926, 51534 },
+ { 0x7927, 51537 },
+ { 0x7928, 51540 },
+ { 0x7929, 51543 },
+ { 0x792A, 51546 },
+ { 0x792B, 51549 },
+ { 0x792C, 51552 },
+ { 0x792D, 51555 },
+ { 0x792E, 51558 },
+ { 0x792F, 51561 },
+ { 0x7930, 51564 },
+ { 0x7931, 51567 },
+ { 0x7932, 51570 },
+ { 0x7933, 51573 },
+ { 0x7934, 51576 },
+ { 0x7935, 51579 },
+ { 0x7936, 51582 },
+ { 0x7937, 51585 },
+ { 0x7938, 51588 },
+ { 0x7939, 51591 },
+ { 0x793A, 51594 },
+ { 0x793B, 51597 },
+ { 0x793C, 51600 },
+ { 0x793D, 51603 },
+ { 0x793E, 51606 },
+ { 0x793F, 51609 },
+ { 0x7940, 51612 },
+ { 0x7941, 51615 },
+ { 0x7942, 51618 },
+ { 0x7943, 51621 },
+ { 0x7944, 51624 },
+ { 0x7945, 51627 },
+ { 0x7946, 51630 },
+ { 0x7947, 51633 },
+ { 0x7948, 51636 },
+ { 0x7949, 51639 },
+ { 0x794A, 51642 },
+ { 0x794B, 51645 },
+ { 0x794C, 51648 },
+ { 0x794D, 51651 },
+ { 0x794E, 51654 },
+ { 0x794F, 51657 },
+ { 0x7950, 74747 },
+ { 0x7951, 74673 },
+ { 0x7952, 74737 },
+ { 0x7953, 74927 },
+ { 0x7954, 74783 },
+ { 0x7955, 74760 },
+ { 0x7956, 74697 },
+ { 0x7957, 74907 },
+ { 0x7958, 74867 },
+ { 0x7959, 74843 },
+ { 0x795A, 74717 },
+ { 0x795B, 74803 },
+ { 0x795C, 74951 },
+ { 0x795D, 74887 },
+ { 0x795E, 74823 },
+ { 0x795F, 74668 },
+ { 0x7960, 74732 },
+ { 0x7961, 74922 },
+ { 0x7962, 74778 },
+ { 0x7963, 74755 },
+ { 0x7964, 74692 },
+ { 0x7965, 74902 },
+ { 0x7966, 74862 },
+ { 0x7967, 74838 },
+ { 0x7968, 74712 },
+ { 0x7969, 74798 },
+ { 0x796A, 74946 },
+ { 0x796B, 74882 },
+ { 0x796C, 74818 },
+ { 0x796D, 74683 },
+ { 0x796E, 74678 },
+ { 0x796F, 74742 },
+ { 0x7970, 74932 },
+ { 0x7971, 74788 },
+ { 0x7972, 74765 },
+ { 0x7973, 74702 },
+ { 0x7974, 74912 },
+ { 0x7975, 74872 },
+ { 0x7976, 74848 },
+ { 0x7977, 74722 },
+ { 0x7978, 74808 },
+ { 0x7979, 74956 },
+ { 0x797A, 74892 },
+ { 0x797B, 74828 },
+ { 0x797C, 74853 },
+ { 0x797D, 74663 },
+ { 0x797E, 74727 },
+ { 0x797F, 74917 },
+ { 0x7980, 74773 },
+ { 0x7981, 74750 },
+ { 0x7982, 74687 },
+ { 0x7983, 74897 },
+ { 0x7984, 74857 },
+ { 0x7985, 74833 },
+ { 0x7986, 74707 },
+ { 0x7987, 74793 },
+ { 0x7988, 74941 },
+ { 0x7989, 74877 },
+ { 0x798A, 74813 },
+ { 0x798B, 74937 },
+ { 0x798C, 74770 },
+ { 0x798D, 74961 },
+ { 0x798E, 74964 },
+ { 0x798F, 74967 },
+ { 0x7990, 74970 },
+ { 0x7991, 74973 },
+ { 0x7992, 74976 },
+ { 0x7993, 74979 },
+ { 0x7994, 74982 },
+ { 0x7995, 74985 },
+ { 0x7996, 74988 },
+ { 0x7997, 74991 },
+ { 0x7998, 74994 },
+ { 0x7999, 74997 },
+ { 0x799A, 75000 },
+ { 0x799B, 75003 },
+ { 0x799C, 75006 },
+ { 0x799D, 75009 },
+ { 0x799E, 75012 },
+ { 0x799F, 75015 },
+ { 0x79A0, 75018 },
+ { 0x79A1, 75021 },
+ { 0x79A2, 21427 },
+ { 0x79A3, 21431 },
+ { 0x79A4, 21377 },
+ { 0x79A5, 21395 },
+ { 0x79A6, 21458 },
+ { 0x79A7, 21413 },
+ { 0x79A8, 21404 },
+ { 0x79A9, 21386 },
+ { 0x79AA, 21449 },
+ { 0x79AB, 21440 },
+ { 0x79AC, 21422 },
+ { 0x79AD, 69514 },
+ { 0x79AE, 69625 },
+ { 0x79AF, 67873 },
+ { 0x79B0, 68881 },
+ { 0x79B1, 68205 },
+ { 0x79B2, 131883 },
+ { 0x79B3, 131888 },
+ { 0x79B4, 131893 },
+ { 0x79B5, 131898 },
+ { 0x79B6, 131903 },
+ { 0x79B7, 131908 },
+ { 0x79B8, 131913 },
+ { 0x79B9, 131918 },
+ { 0x79BA, 131923 },
+ { 0x79BB, 131928 },
+ { 0x79BC, 131933 },
+ { 0x79BD, 131938 },
+ { 0x79BE, 131943 },
+ { 0x79BF, 131948 },
+ { 0x79C0, 131953 },
+ { 0x79C1, 131958 },
+ { 0x79C2, 131963 },
+ { 0x79C3, 131968 },
+ { 0x79C4, 131973 },
+ { 0x79C5, 131978 },
+ { 0x79C6, 131983 },
+ { 0x79C7, 131988 },
+ { 0x79C8, 131993 },
+ { 0x79C9, 131998 },
+ { 0x79CA, 132003 },
+ { 0x79CB, 132008 },
+ { 0x79CC, 99347 },
+ { 0x79CD, 68315 },
+ { 0x79CE, 68321 },
+ { 0x79CF, 67850 },
+ { 0x79D0, 67852 },
+ { 0x79D1, 83935 },
+ { 0x79D2, 77485 },
+ { 0x79D3, 77490 },
+ { 0x79D4, 77495 },
+ { 0x79D5, 77500 },
+ { 0x79D6, 77505 },
+ { 0x79D7, 77510 },
+ { 0x79D8, 77515 },
+ { 0x79D9, 77520 },
+ { 0x79DA, 77525 },
+ { 0x79DB, 77530 },
+ { 0x79DC, 77535 },
+ { 0x79DD, 77540 },
+ { 0x79DE, 77545 },
+ { 0x79DF, 77550 },
+ { 0x79E0, 77555 },
+ { 0x79E1, 77560 },
+ { 0x79E2, 77565 },
+ { 0x79E3, 77570 },
+ { 0x79E4, 77575 },
+ { 0x79E5, 77580 },
+ { 0x79E6, 77585 },
+ { 0x79E7, 77590 },
+ { 0x79E8, 77595 },
+ { 0x79E9, 77600 },
+ { 0x79EA, 77605 },
+ { 0x79EB, 77610 },
+ { 0x79EC, 77238 },
+ { 0x79ED, 77242 },
+ { 0x79EE, 77248 },
+ { 0x79EF, 77250 },
+ { 0x79F0, 77447 },
+ { 0x79F1, 77259 },
+ { 0x79F2, 97265 },
+ { 0x79F3, 97271 },
+ { 0x79F4, 97277 },
+ { 0x79F5, 97283 },
+ { 0x79F6, 97289 },
+ { 0x79F7, 97295 },
+ { 0x79F8, 97301 },
+ { 0x79F9, 97307 },
+ { 0x79FA, 97313 },
+ { 0x79FB, 97319 },
+ { 0x79FC, 97325 },
+ { 0x79FD, 97331 },
+ { 0x79FE, 97337 },
+ { 0x79FF, 97343 },
+ { 0x7A00, 97349 },
+ { 0x7A01, 97355 },
+ { 0x7A02, 97361 },
+ { 0x7A03, 97367 },
+ { 0x7A04, 97373 },
+ { 0x7A05, 97379 },
+ { 0x7A06, 97385 },
+ { 0x7A07, 97391 },
+ { 0x7A08, 97397 },
+ { 0x7A09, 97403 },
+ { 0x7A0A, 97409 },
+ { 0x7A0B, 97415 },
+ { 0x7A0C, 61493 },
+ { 0x7A0D, 61496 },
+ { 0x7A0E, 61499 },
+ { 0x7A0F, 67848 },
+ { 0x7A10, 67841 },
+ { 0x7A11, 67930 },
+ { 0x7A12, 97486 },
+ { 0x7A13, 97492 },
+ { 0x7A14, 97498 },
+ { 0x7A15, 97504 },
+ { 0x7A16, 97510 },
+ { 0x7A17, 97516 },
+ { 0x7A18, 97522 },
+ { 0x7A19, 97528 },
+ { 0x7A1A, 97534 },
+ { 0x7A1B, 97540 },
+ { 0x7A1C, 97546 },
+ { 0x7A1D, 97552 },
+ { 0x7A1E, 97558 },
+ { 0x7A1F, 97564 },
+ { 0x7A20, 97570 },
+ { 0x7A21, 97576 },
+ { 0x7A22, 97582 },
+ { 0x7A23, 97588 },
+ { 0x7A24, 97594 },
+ { 0x7A25, 97600 },
+ { 0x7A26, 97606 },
+ { 0x7A27, 97612 },
+ { 0x7A28, 97618 },
+ { 0x7A29, 97624 },
+ { 0x7A2A, 97630 },
+ { 0x7A2B, 97636 },
+ { 0x7A2C, 68919 },
+ { 0x7A2D, 97470 },
+ { 0x7A2E, 97473 },
+ { 0x7A2F, 97476 },
+ { 0x7A30, 97467 },
+ { 0x7A31, 97479 },
+ { 0x7A32, 61886 },
+ { 0x7A33, 77234 },
+ { 0x7A34, 77460 },
+ { 0x7A35, 77473 },
+ { 0x7A36, 77240 },
+ { 0x7A37, 77440 },
+ { 0x7A38, 77244 },
+ { 0x7A39, 77246 },
+ { 0x7A3A, 77451 },
+ { 0x7A3B, 77252 },
+ { 0x7A3C, 77257 },
+ { 0x7A3D, 77627 },
+ { 0x7A3E, 77638 },
+ { 0x7A3F, 77453 },
+ { 0x7A40, 77466 },
+ { 0x7A41, 77477 },
+ { 0x7A42, 77462 },
+ { 0x7A43, 77617 },
+ { 0x7A44, 77668 },
+ { 0x7A45, 77621 },
+ { 0x7A46, 77442 },
+ { 0x7A47, 77480 },
+ { 0x7A48, 77236 },
+ { 0x7A49, 77436 },
+ { 0x7A4A, 77632 },
+ { 0x7A4B, 77666 },
+ { 0x7A4C, 77449 },
+ { 0x7A4D, 77456 },
+ { 0x7A4E, 77458 },
+ { 0x7A4F, 14739 },
+ { 0x7A50, 98578 },
+ { 0x7A51, 98583 },
+ { 0x7A52, 98588 },
+ { 0x7A53, 98593 },
+ { 0x7A54, 98598 },
+ { 0x7A55, 98603 },
+ { 0x7A56, 98608 },
+ { 0x7A57, 98613 },
+ { 0x7A58, 98618 },
+ { 0x7A59, 98623 },
+ { 0x7A5A, 98628 },
+ { 0x7A5B, 98633 },
+ { 0x7A5C, 98638 },
+ { 0x7A5D, 98643 },
+ { 0x7A5E, 98648 },
+ { 0x7A5F, 98653 },
+ { 0x7A60, 98658 },
+ { 0x7A61, 98663 },
+ { 0x7A62, 98668 },
+ { 0x7A63, 98673 },
+ { 0x7A64, 98678 },
+ { 0x7A65, 98683 },
+ { 0x7A66, 98688 },
+ { 0x7A67, 98693 },
+ { 0x7A68, 98698 },
+ { 0x7A69, 98703 },
+ { 0x7A6A, 62391 },
+ { 0x7A6B, 77663 },
+ { 0x7A6C, 77660 },
+ { 0x7A6D, 77341 },
+ { 0x7A6E, 77329 },
+ { 0x7A6F, 77297 },
+ { 0x7A70, 77657 },
+ { 0x7A71, 77273 },
+ { 0x7A72, 77321 },
+ { 0x7A73, 77413 },
+ { 0x7A74, 77325 },
+ { 0x7A75, 77277 },
+ { 0x7A76, 77369 },
+ { 0x7A77, 77389 },
+ { 0x7A78, 77361 },
+ { 0x7A79, 77289 },
+ { 0x7A7A, 77337 },
+ { 0x7A7B, 77281 },
+ { 0x7A7C, 77365 },
+ { 0x7A7D, 77285 },
+ { 0x7A7E, 77409 },
+ { 0x7A7F, 77393 },
+ { 0x7A80, 77417 },
+ { 0x7A81, 77317 },
+ { 0x7A82, 77309 },
+ { 0x7A83, 77385 },
+ { 0x7A84, 77349 },
+ { 0x7A85, 77357 },
+ { 0x7A86, 77261 },
+ { 0x7A87, 77265 },
+ { 0x7A88, 77425 },
+ { 0x7A89, 77333 },
+ { 0x7A8A, 77269 },
+ { 0x7A8B, 77301 },
+ { 0x7A8C, 77353 },
+ { 0x7A8D, 77421 },
+ { 0x7A8E, 77345 },
+ { 0x7A8F, 77401 },
+ { 0x7A90, 77405 },
+ { 0x7A91, 77305 },
+ { 0x7A92, 77381 },
+ { 0x7A93, 77377 },
+ { 0x7A94, 77373 },
+ { 0x7A95, 77397 },
+ { 0x7A96, 77293 },
+ { 0x7A97, 77313 },
+ { 0x7A98, 77429 },
+ { 0x7A99, 99329 },
+ { 0x7A9A, 99293 },
+ { 0x7A9B, 99299 },
+ { 0x7A9C, 99311 },
+ { 0x7A9D, 99335 },
+ { 0x7A9E, 99317 },
+ { 0x7A9F, 99341 },
+ { 0x7AA0, 99305 },
+ { 0x7AA1, 99323 },
+ { 0x7AA2, 68845 },
+ { 0x7AA3, 68803 },
+ { 0x7AA4, 75253 },
+ { 0x7AA5, 75257 },
+ { 0x7AA6, 75269 },
+ { 0x7AA7, 75261 },
+ { 0x7AA8, 75273 },
+ { 0x7AA9, 75265 },
+ { 0x7AAA, 68933 },
+ { 0x7AAB, 22141 },
+ { 0x7AAC, 50645 },
+ { 0x7AAD, 36162 },
+ { 0x7AAE, 77679 },
+ { 0x7AAF, 77678 },
+ { 0x7AB0, 104356 },
+ { 0x7AB1, 62514 },
+ { 0x7AB2, 75181 },
+ { 0x7AB3, 50114 },
+ { 0x7AB4, 40588 },
+ { 0x7AB5, 79336 },
+ { 0x7AB6, 36044 },
+ { 0x7AB7, 21967 },
+ { 0x7AB8, 21964 },
+ { 0x7AB9, 21970 },
+ { 0x7ABA, 22164 },
+ { 0x7ABB, 7331 },
+ { 0x7ABC, 66347 },
+ { 0x7ABD, 22136 },
+ { 0x7ABE, 66343 },
+ { 0x7ABF, 13594 },
+ { 0x7AC0, 65927 },
+ { 0x7AC1, 13956 },
+ { 0x7AC2, 65931 },
+ { 0x7AC3, 84027 },
+ { 0x7AC4, 7327 },
+ { 0x7AC5, 22131 },
+ { 0x7AC6, 13951 },
+ { 0x7AC7, 13590 },
+ { 0x7AC8, 10116 },
+ { 0x7AC9, 69945 },
+ { 0x7ACA, 98816 },
+ { 0x7ACB, 125541 },
+ { 0x7ACC, 20791 },
+ { 0x7ACD, 40615 },
+ { 0x7ACE, 40621 },
+ { 0x7ACF, 40626 },
+ { 0x7AD0, 40630 },
+ { 0x7AD1, 21300 },
+ { 0x7AD2, 21303 },
+ { 0x7AD3, 21309 },
+ { 0x7AD4, 21306 },
+ { 0x7AD5, 6138 },
+ { 0x7AD6, 16898 },
+ { 0x7AD7, 6146 },
+ { 0x7AD8, 16359 },
+ { 0x7AD9, 67830 },
+ { 0x7ADA, 83886 },
+ { 0x7ADB, 98804 },
+ { 0x7ADC, 112552 },
+ { 0x7ADD, 112139 },
+ { 0x7ADE, 15949 },
+ { 0x7ADF, 50134 },
+ { 0x7AE0, 6148 },
+ { 0x7AE1, 39972 },
+ { 0x7AE2, 50524 },
+ { 0x7AE3, 16055 },
+ { 0x7AE4, 93420 },
+ { 0x7AE5, 116434 },
+ { 0x7AE6, 67055 },
+ { 0x7AE7, 6115 },
+ { 0x7AE8, 6112 },
+ { 0x7AE9, 13648 },
+ { 0x7AEA, 13565 },
+ { 0x7AEB, 34912 },
+ { 0x7AEC, 52079 },
+ { 0x7AED, 13960 },
+ { 0x7AEE, 97255 },
+ { 0x7AEF, 65513 },
+ { 0x7AF0, 102555 },
+ { 0x7AF1, 52223 },
+ { 0x7AF2, 34974 },
+ { 0x7AF3, 120983 },
+ { 0x7AF4, 116437 },
+ { 0x7AF5, 34257 },
+ { 0x7AF6, 49620 },
+ { 0x7AF7, 115798 },
+ { 0x7AF8, 10080 },
+ { 0x7AF9, 25081 },
+ { 0x7AFA, 15956 },
+ { 0x7AFB, 37860 },
+ { 0x7AFC, 83885 },
+ { 0x7AFD, 120957 },
+ { 0x7AFE, 113489 },
+ { 0x7AFF, 38808 },
+ { 0x7B00, 14746 },
+ { 0x7B01, 75030 },
+ { 0x7B02, 16033 },
+ { 0x7B03, 16031 },
+ { 0x7B04, 50652 },
+ { 0x7B05, 21362 },
+ { 0x7B06, 98892 },
+ { 0x7B07, 116129 },
+ { 0x7B08, 21109 },
+ { 0x7B09, 52128 },
+ { 0x7B0A, 75220 },
+ { 0x7B0B, 21367 },
+ { 0x7B0C, 15889 },
+ { 0x7B0D, 39196 },
+ { 0x7B0E, 22152 },
+ { 0x7B0F, 13534 },
+ { 0x7B10, 16184 },
+ { 0x7B11, 61780 },
+ { 0x7B12, 6157 },
+ { 0x7B13, 86128 },
+ { 0x7B14, 50654 },
+ { 0x7B15, 104351 },
+ { 0x7B16, 21183 },
+ { 0x7B17, 94803 },
+ { 0x7B18, 68931 },
+ { 0x7B19, 25568 },
+ { 0x7B1A, 116111 },
+ { 0x7B1B, 20308 },
+ { 0x7B1C, 10066 },
+ { 0x7B1D, 68906 },
+ { 0x7B1E, 13551 },
+ { 0x7B1F, 64987 },
+ { 0x7B20, 16162 },
+ { 0x7B21, 16901 },
+ { 0x7B22, 83898 },
+ { 0x7B23, 99373 },
+ { 0x7B24, 12894 },
+ { 0x7B25, 83893 },
+ { 0x7B26, 12875 },
+ { 0x7B27, 13554 },
+ { 0x7B28, 49645 },
+ { 0x7B29, 75025 },
+ { 0x7B2A, 61665 },
+ { 0x7B2B, 79344 },
+ { 0x7B2C, 80310 },
+ { 0x7B2D, 132291 },
+ { 0x7B2E, 104353 },
+ { 0x7B2F, 52082 },
+ { 0x7B30, 112581 },
+ { 0x7B31, 91842 },
+ { 0x7B32, 66709 },
+ { 0x7B33, 37856 },
+ { 0x7B34, 83900 },
+ { 0x7B35, 99084 },
+ { 0x7B36, 68915 },
+ { 0x7B37, 15964 },
+ { 0x7B38, 93944 },
+ { 0x7B39, 12973 },
+ { 0x7B3A, 16896 },
+ { 0x7B3B, 15549 },
+ { 0x7B3C, 61724 },
+ { 0x7B3D, 118651 },
+ { 0x7B3E, 25098 },
+ { 0x7B3F, 67057 },
+ { 0x7B40, 95618 },
+ { 0x7B41, 98710 },
+ { 0x7B42, 73018 },
+ { 0x7B43, 62446 },
+ { 0x7B44, 34258 },
+ { 0x7B45, 68904 },
+ { 0x7B46, 49627 },
+ { 0x7B47, 49634 },
+ { 0x7B48, 13524 },
+ { 0x7B49, 100782 },
+ { 0x7B4A, 83279 },
+ { 0x7B4B, 52087 },
+ { 0x7B4C, 61714 },
+ { 0x7B4D, 69929 },
+ { 0x7B4E, 119975 },
+ { 0x7B4F, 36092 },
+ { 0x7B50, 50528 },
+ { 0x7B51, 113491 },
+ { 0x7B52, 49571 },
+ { 0x7B53, 11621 },
+ { 0x7B54, 50602 },
+ { 0x7B55, 65511 },
+ { 0x7B56, 68896 },
+ { 0x7B57, 119984 },
+ { 0x7B58, 40580 },
+ { 0x7B59, 51494 },
+ { 0x7B5A, 16179 },
+ { 0x7B5B, 102873 },
+ { 0x7B5C, 13609 },
+ { 0x7B5D, 67060 },
+ { 0x7B5E, 52106 },
+ { 0x7B5F, 71998 },
+ { 0x7B60, 97247 },
+ { 0x7B61, 116077 },
+ { 0x7B62, 52224 },
+ { 0x7B63, 73016 },
+ { 0x7B64, 78991 },
+ { 0x7B65, 65667 },
+ { 0x7B66, 72000 },
+ { 0x7B67, 75278 },
+ { 0x7B68, 65362 },
+ { 0x7B69, 10109 },
+ { 0x7B6A, 117586 },
+ { 0x7B6B, 104349 },
+ { 0x7B6C, 125495 },
+ { 0x7B6D, 61716 },
+ { 0x7B6E, 62517 },
+ { 0x7B6F, 61827 },
+ { 0x7B70, 65572 },
+ { 0x7B71, 25573 },
+ { 0x7B72, 79406 },
+ { 0x7B73, 38405 },
+ { 0x7B74, 77684 },
+ { 0x7B75, 66351 },
+ { 0x7B76, 52140 },
+ { 0x7B77, 61491 },
+ { 0x7B78, 61489 },
+ { 0x7B79, 68911 },
+ { 0x7B7A, 120982 },
+ { 0x7B7B, 22117 },
+ { 0x7B7C, 6161 },
+ { 0x7B7D, 39203 },
+ { 0x7B7E, 16181 },
+ { 0x7B7F, 67831 },
+ { 0x7B80, 20304 },
+ { 0x7B81, 80645 },
+ { 0x7B82, 25582 },
+ { 0x7B83, 104355 },
+ { 0x7B84, 86103 },
+ { 0x7B85, 104362 },
+ { 0x7B86, 51454 },
+ { 0x7B87, 51455 },
+ { 0x7B88, 97256 },
+ { 0x7B89, 77672 },
+ { 0x7B8A, 25580 },
+ { 0x7B8B, 25577 },
+ { 0x7B8C, 60799 },
+ { 0x7B8D, 93941 },
+ { 0x7B8E, 91794 },
+ { 0x7B8F, 93728 },
+ { 0x7B90, 12890 },
+ { 0x7B91, 102556 },
+ { 0x7B92, 25575 },
+ { 0x7B93, 14714 },
+ { 0x7B94, 121015 },
+ { 0x7B95, 61723 },
+ { 0x7B96, 117695 },
+ { 0x7B97, 69904 },
+ { 0x7B98, 70561 },
+ { 0x7B99, 93946 },
+ { 0x7B9A, 91797 },
+ { 0x7B9B, 41114 },
+ { 0x7B9C, 20799 },
+ { 0x7B9D, 66340 },
+ { 0x7B9E, 66337 },
+ { 0x7B9F, 75229 },
+ { 0x7BA0, 20803 },
+ { 0x7BA1, 26668 },
+ { 0x7BA2, 102559 },
+ { 0x7BA3, 4464 },
+ { 0x7BA4, 66533 },
+ { 0x7BA5, 22018 },
+ { 0x7BA6, 22002 },
+ { 0x7BA7, 22006 },
+ { 0x7BA8, 22010 },
+ { 0x7BA9, 22014 },
+ { 0x7BAA, 10076 },
+ { 0x7BAB, 36086 },
+ { 0x7BAC, 320 },
+ { 0x7BAD, 40592 },
+ { 0x7BAE, 6071 },
+ { 0x7BAF, 39907 },
+ { 0x7BB0, 70887 },
+ { 0x7BB1, 61486 },
+ { 0x7BB2, 5509 },
+ { 0x7BB3, 52006 },
+ { 0x7BB4, 106055 },
+ { 0x7BB5, 40599 },
+ { 0x7BB6, 39019 },
+ { 0x7BB7, 39020 },
+ { 0x7BB8, 25570 },
+ { 0x7BB9, 10075 },
+ { 0x7BBA, 13623 },
+ { 0x7BBB, 38752 },
+ { 0x7BBC, 60725 },
+ { 0x7BBD, 75228 },
+ { 0x7BBE, 67840 },
+ { 0x7BBF, 6099 },
+ { 0x7BC0, 10055 },
+ { 0x7BC1, 12917 },
+ { 0x7BC2, 90159 },
+ { 0x7BC3, 74232 },
+ { 0x7BC4, 61821 },
+ { 0x7BC5, 5503 },
+ { 0x7BC6, 4086 },
+ { 0x7BC7, 93727 },
+ { 0x7BC8, 13944 },
+ { 0x7BC9, 13533 },
+ { 0x7BCA, 99371 },
+ { 0x7BCB, 80312 },
+ { 0x7BCC, 65653 },
+ { 0x7BCD, 93174 },
+ { 0x7BCE, 12873 },
+ { 0x7BCF, 126198 },
+ { 0x7BD0, 12912 },
+ { 0x7BD1, 74653 },
+ { 0x7BD2, 26667 },
+ { 0x7BD3, 61466 },
+ { 0x7BD4, 112545 },
+ { 0x7BD5, 79792 },
+ { 0x7BD6, 69658 },
+ { 0x7BD7, 36087 },
+ { 0x7BD8, 6072 },
+ { 0x7BD9, 39908 },
+ { 0x7BDA, 61487 },
+ { 0x7BDB, 5510 },
+ { 0x7BDC, 52007 },
+ { 0x7BDD, 98888 },
+ { 0x7BDE, 25571 },
+ { 0x7BDF, 60726 },
+ { 0x7BE0, 6100 },
+ { 0x7BE1, 10056 },
+ { 0x7BE2, 13586 },
+ { 0x7BE3, 70458 },
+ { 0x7BE4, 16904 },
+ { 0x7BE5, 12892 },
+ { 0x7BE6, 37854 },
+ { 0x7BE7, 10058 },
+ { 0x7BE8, 10035 },
+ { 0x7BE9, 83889 },
+ { 0x7BEA, 13373 },
+ { 0x7BEB, 6132 },
+ { 0x7BEC, 6111 },
+ { 0x7BED, 15883 },
+ { 0x7BEE, 36091 },
+ { 0x7BEF, 65514 },
+ { 0x7BF0, 40608 },
+ { 0x7BF1, 40649 },
+ { 0x7BF2, 40684 },
+ { 0x7BF3, 40908 },
+ { 0x7BF4, 52096 },
+ { 0x7BF5, 66334 },
+ { 0x7BF6, 112 },
+ { 0x7BF7, 65505 },
+ { 0x7BF8, 65508 },
+ { 0x7BF9, 83890 },
+ { 0x7BFA, 15899 },
+ { 0x7BFB, 21350 },
+ { 0x7BFC, 66359 },
+ { 0x7BFD, 118237 },
+ { 0x7BFE, 73960 },
+ { 0x7BFF, 77686 },
+ { 0x7C00, 25939 },
+ { 0x7C01, 21958 },
+ { 0x7C02, 57431 },
+ { 0x7C03, 49640 },
+ { 0x7C04, 66365 },
+ { 0x7C05, 37901 },
+ { 0x7C06, 70460 },
+ { 0x7C07, 37883 },
+ { 0x7C08, 14737 },
+ { 0x7C09, 79790 },
+ { 0x7C0A, 121065 },
+ { 0x7C0B, 66363 },
+ { 0x7C0C, 66361 },
+ { 0x7C0D, 118238 },
+ { 0x7C0E, 12952 },
+ { 0x7C0F, 21180 },
+ { 0x7C10, 5502 },
+ { 0x7C11, 13620 },
+ { 0x7C12, 6517 },
+ { 0x7C13, 41240 },
+ { 0x7C14, 52081 },
+ { 0x7C15, 6526 },
+ { 0x7C16, 11685 },
+ { 0x7C17, 11695 },
+ { 0x7C18, 61464 },
+ { 0x7C19, 41241 },
+ { 0x7C1A, 21112 },
+ { 0x7C1B, 61407 },
+ { 0x7C1C, 6531 },
+ { 0x7C1D, 6536 },
+ { 0x7C1E, 37248 },
+ { 0x7C1F, 37252 },
+ { 0x7C20, 12870 },
+ { 0x7C21, 125871 },
+ { 0x7C22, 98506 },
+ { 0x7C23, 93939 },
+ { 0x7C24, 93948 },
+ { 0x7C25, 22156 },
+ { 0x7C26, 12871 },
+ { 0x7C27, 132366 },
+ { 0x7C28, 17270 },
+ { 0x7C29, 6166 },
+ { 0x7C2A, 38803 },
+ { 0x7C2B, 121696 },
+ { 0x7C2C, 112996 },
+ { 0x7C2D, 51438 },
+ { 0x7C2E, 94802 },
+ { 0x7C2F, 15556 },
+ { 0x7C30, 13503 },
+ { 0x7C31, 70457 },
+ { 0x7C32, 49621 },
+ { 0x7C33, 77685 },
+ { 0x7C34, 15963 },
+ { 0x7C35, 13940 },
+ { 0x7C36, 14716 },
+ { 0x7C37, 16035 },
+ { 0x7C38, 6144 },
+ { 0x7C39, 13939 },
+ { 0x7C3A, 67056 },
+ { 0x7C3B, 51410 },
+ { 0x7C3C, 79339 },
+ { 0x7C3D, 66714 },
+ { 0x7C3E, 50120 },
+ { 0x7C3F, 11702 },
+ { 0x7C40, 116130 },
+ { 0x7C41, 70194 },
+ { 0x7C42, 25104 },
+ { 0x7C43, 12915 },
+ { 0x7C44, 25083 },
+ { 0x7C45, 66372 },
+ { 0x7C46, 61483 },
+ { 0x7C47, 25107 },
+ { 0x7C48, 115853 },
+ { 0x7C49, 25112 },
+ { 0x7C4A, 69474 },
+ { 0x7C4B, 90154 },
+ { 0x7C4C, 17272 },
+ { 0x7C4D, 12941 },
+ { 0x7C4E, 98866 },
+ { 0x7C4F, 104423 },
+ { 0x7C50, 116143 },
+ { 0x7C51, 69669 },
+ { 0x7C52, 13274 },
+ { 0x7C53, 15960 },
+ { 0x7C54, 52099 },
+ { 0x7C55, 21763 },
+ { 0x7C56, 61813 },
+ { 0x7C57, 77761 },
+ { 0x7C58, 40977 },
+ { 0x7C59, 70530 },
+ { 0x7C5A, 36074 },
+ { 0x7C5B, 84036 },
+ { 0x7C5C, 25344 },
+ { 0x7C5D, 51413 },
+ { 0x7C5E, 80291 },
+ { 0x7C5F, 80303 },
+ { 0x7C60, 80295 },
+ { 0x7C61, 80299 },
+ { 0x7C62, 36076 },
+ { 0x7C63, 21196 },
+ { 0x7C64, 16170 },
+ { 0x7C65, 98065 },
+ { 0x7C66, 102877 },
+ { 0x7C67, 95622 },
+ { 0x7C68, 52101 },
+ { 0x7C69, 74233 },
+ { 0x7C6A, 6110 },
+ { 0x7C6B, 13520 },
+ { 0x7C6C, 15894 },
+ { 0x7C6D, 15933 },
+ { 0x7C6E, 15940 },
+ { 0x7C6F, 80654 },
+ { 0x7C70, 99086 },
+ { 0x7C71, 12966 },
+ { 0x7C72, 21192 },
+ { 0x7C73, 21203 },
+ { 0x7C74, 4452 },
+ { 0x7C75, 104364 },
+ { 0x7C76, 75170 },
+ { 0x7C77, 38401 },
+ { 0x7C78, 115788 },
+ { 0x7C79, 98894 },
+ { 0x7C7A, 120967 },
+ { 0x7C7B, 80314 },
+ { 0x7C7C, 57444 },
+ { 0x7C7D, 97661 },
+ { 0x7C7E, 97662 },
+ { 0x7C7F, 50604 },
+ { 0x7C80, 15892 },
+ { 0x7C81, 25079 },
+ { 0x7C82, 12913 },
+ { 0x7C83, 60804 },
+ { 0x7C84, 21107 },
+ { 0x7C85, 15558 },
+ { 0x7C86, 61770 },
+ { 0x7C87, 14749 },
+ { 0x7C88, 116448 },
+ { 0x7C89, 37849 },
+ { 0x7C8A, 6135 },
+ { 0x7C8B, 116075 },
+ { 0x7C8C, 61480 },
+ { 0x7C8D, 83281 },
+ { 0x7C8E, 60814 },
+ { 0x7C8F, 25592 },
+ { 0x7C90, 74648 },
+ { 0x7C91, 52009 },
+ { 0x7C92, 93857 },
+ { 0x7C93, 90164 },
+ { 0x7C94, 50633 },
+ { 0x7C95, 50628 },
+ { 0x7C96, 15920 },
+ { 0x7C97, 15925 },
+ { 0x7C98, 75026 },
+ { 0x7C99, 61467 },
+ { 0x7C9A, 115684 },
+ { 0x7C9B, 60707 },
+ { 0x7C9C, 60712 },
+ { 0x7C9D, 116725 },
+ { 0x7C9E, 60709 },
+ { 0x7C9F, 100 },
+ { 0x7CA0, 66534 },
+ { 0x7CA1, 50135 },
+ { 0x7CA2, 50136 },
+ { 0x7CA3, 40582 },
+ { 0x7CA4, 120960 },
+ { 0x7CA5, 37902 },
+ { 0x7CA6, 132280 },
+ { 0x7CA7, 13526 },
+ { 0x7CA8, 98445 },
+ { 0x7CA9, 61477 },
+ { 0x7CAA, 78997 },
+ { 0x7CAB, 104399 },
+ { 0x7CAC, 104406 },
+ { 0x7CAD, 104392 },
+ { 0x7CAE, 131322 },
+ { 0x7CAF, 6510 },
+ { 0x7CB0, 13652 },
+ { 0x7CB1, 77230 },
+ { 0x7CB2, 77219 },
+ { 0x7CB3, 77220 },
+ { 0x7CB4, 77225 },
+ { 0x7CB5, 66711 },
+ { 0x7CB6, 90150 },
+ { 0x7CB7, 131710 },
+ { 0x7CB8, 132338 },
+ { 0x7CB9, 14639 },
+ { 0x7CBA, 50606 },
+ { 0x7CBB, 6168 },
+ { 0x7CBC, 14638 },
+ { 0x7CBD, 15897 },
+ { 0x7CBE, 12896 },
+ { 0x7CBF, 12897 },
+ { 0x7CC0, 80313 },
+ { 0x7CC1, 14471 },
+ { 0x7CC2, 37903 },
+ { 0x7CC3, 12882 },
+ { 0x7CC4, 6127 },
+ { 0x7CC5, 307 },
+ { 0x7CC6, 16193 },
+ { 0x7CC7, 11652 },
+ { 0x7CC8, 90 },
+ { 0x7CC9, 55338 },
+ { 0x7CCA, 25920 },
+ { 0x7CCB, 25914 },
+ { 0x7CCC, 25931 },
+ { 0x7CCD, 25935 },
+ { 0x7CCE, 25926 },
+ { 0x7CCF, 13528 },
+ { 0x7CD0, 90157 },
+ { 0x7CD1, 66371 },
+ { 0x7CD2, 52225 },
+ { 0x7CD3, 7616 },
+ { 0x7CD4, 25567 },
+ { 0x7CD5, 61448 },
+ { 0x7CD6, 119976 },
+ { 0x7CD7, 116456 },
+ { 0x7CD8, 68926 },
+ { 0x7CD9, 10089 },
+ { 0x7CDA, 93950 },
+ { 0x7CDB, 78965 },
+ { 0x7CDC, 20763 },
+ { 0x7CDD, 41051 },
+ { 0x7CDE, 26686 },
+ { 0x7CDF, 26706 },
+ { 0x7CE0, 26742 },
+ { 0x7CE1, 26712 },
+ { 0x7CE2, 38942 },
+ { 0x7CE3, 38827 },
+ { 0x7CE4, 125546 },
+ { 0x7CE5, 131436 },
+ { 0x7CE6, 125549 },
+ { 0x7CE7, 131439 },
+ { 0x7CE8, 34857 },
+ { 0x7CE9, 40349 },
+ { 0x7CEA, 67892 },
+ { 0x7CEB, 21345 },
+ { 0x7CEC, 21343 },
+ { 0x7CED, 74198 },
+ { 0x7CEE, 74210 },
+ { 0x7CEF, 62761 },
+ { 0x7CF0, 40901 },
+ { 0x7CF1, 25241 },
+ { 0x7CF2, 50294 },
+ { 0x7CF3, 305 },
+ { 0x7CF4, 13336 },
+ { 0x7CF5, 25940 },
+ { 0x7CF6, 60728 },
+ { 0x7CF7, 116436 },
+ { 0x7CF8, 71874 },
+ { 0x7CF9, 12944 },
+ { 0x7CFA, 21213 },
+ { 0x7CFB, 21225 },
+ { 0x7CFC, 21249 },
+ { 0x7CFD, 21233 },
+ { 0x7CFE, 21229 },
+ { 0x7CFF, 21217 },
+ { 0x7D00, 21245 },
+ { 0x7D01, 21241 },
+ { 0x7D02, 21237 },
+ { 0x7D03, 21221 },
+ { 0x7D04, 21253 },
+ { 0x7D05, 21257 },
+ { 0x7D06, 21261 },
+ { 0x7D07, 21270 },
+ { 0x7D08, 21288 },
+ { 0x7D09, 21276 },
+ { 0x7D0A, 21273 },
+ { 0x7D0B, 21264 },
+ { 0x7D0C, 21285 },
+ { 0x7D0D, 21282 },
+ { 0x7D0E, 21279 },
+ { 0x7D0F, 21267 },
+ { 0x7D10, 21291 },
+ { 0x7D11, 21294 },
+ { 0x7D12, 38199 },
+ { 0x7D13, 38201 },
+ { 0x7D14, 38207 },
+ { 0x7D15, 80647 },
+ { 0x7D16, 80648 },
+ { 0x7D17, 75218 },
+ { 0x7D18, 12943 },
+ { 0x7D19, 50142 },
+ { 0x7D1A, 121738 },
+ { 0x7D1B, 20589 },
+ { 0x7D1C, 103 },
+ { 0x7D1D, 13655 },
+ { 0x7D1E, 6521 },
+ { 0x7D1F, 61808 },
+ { 0x7D20, 13268 },
+ { 0x7D21, 61815 },
+ { 0x7D22, 61816 },
+ { 0x7D23, 94269 },
+ { 0x7D24, 6539 },
+ { 0x7D25, 14117 },
+ { 0x7D26, 116450 },
+ { 0x7D27, 37965 },
+ { 0x7D28, 41164 },
+ { 0x7D29, 20866 },
+ { 0x7D2A, 116438 },
+ { 0x7D2B, 104359 },
+ { 0x7D2C, 12879 },
+ { 0x7D2D, 77673 },
+ { 0x7D2E, 90169 },
+ { 0x7D2F, 52116 },
+ { 0x7D30, 10041 },
+ { 0x7D31, 60070 },
+ { 0x7D32, 20801 },
+ { 0x7D33, 34700 },
+ { 0x7D34, 34715 },
+ { 0x7D35, 34703 },
+ { 0x7D36, 34719 },
+ { 0x7D37, 34697 },
+ { 0x7D38, 14391 },
+ { 0x7D39, 65576 },
+ { 0x7D3A, 61521 },
+ { 0x7D3B, 98760 },
+ { 0x7D3C, 98766 },
+ { 0x7D3D, 98770 },
+ { 0x7D3E, 98785 },
+ { 0x7D3F, 98717 },
+ { 0x7D40, 61512 },
+ { 0x7D41, 40639 },
+ { 0x7D42, 98852 },
+ { 0x7D43, 98857 },
+ { 0x7D44, 98832 },
+ { 0x7D45, 98837 },
+ { 0x7D46, 20349 },
+ { 0x7D47, 20581 },
+ { 0x7D48, 98842 },
+ { 0x7D49, 98847 },
+ { 0x7D4A, 98822 },
+ { 0x7D4B, 98827 },
+ { 0x7D4C, 20311 },
+ { 0x7D4D, 20325 },
+ { 0x7D4E, 20558 },
+ { 0x7D4F, 69452 },
+ { 0x7D50, 94787 },
+ { 0x7D51, 39894 },
+ { 0x7D52, 75040 },
+ { 0x7D53, 61456 },
+ { 0x7D54, 20336 },
+ { 0x7D55, 40671 },
+ { 0x7D56, 16187 },
+ { 0x7D57, 16362 },
+ { 0x7D58, 41238 },
+ { 0x7D59, 9717 },
+ { 0x7D5A, 11699 },
+ { 0x7D5B, 39881 },
+ { 0x7D5C, 116718 },
+ { 0x7D5D, 9155 },
+ { 0x7D5E, 13644 },
+ { 0x7D5F, 61726 },
+ { 0x7D60, 75041 },
+ { 0x7D61, 6133 },
+ { 0x7D62, 74235 },
+ { 0x7D63, 86117 },
+ { 0x7D64, 86120 },
+ { 0x7D65, 86125 },
+ { 0x7D66, 22149 },
+ { 0x7D67, 22146 },
+ { 0x7D68, 22142 },
+ { 0x7D69, 20695 },
+ { 0x7D6A, 52118 },
+ { 0x7D6B, 15916 },
+ { 0x7D6C, 12968 },
+ { 0x7D6D, 12963 },
+ { 0x7D6E, 13522 },
+ { 0x7D6F, 22063 },
+ { 0x7D70, 22068 },
+ { 0x7D71, 22065 },
+ { 0x7D72, 15884 },
+ { 0x7D73, 15887 },
+ { 0x7D74, 15885 },
+ { 0x7D75, 22075 },
+ { 0x7D76, 22071 },
+ { 0x7D77, 22073 },
+ { 0x7D78, 86116 },
+ { 0x7D79, 15932 },
+ { 0x7D7A, 37850 },
+ { 0x7D7B, 125575 },
+ { 0x7D7C, 61818 },
+ { 0x7D7D, 61823 },
+ { 0x7D7E, 69450 },
+ { 0x7D7F, 95623 },
+ { 0x7D80, 94924 },
+ { 0x7D81, 74647 },
+ { 0x7D82, 104373 },
+ { 0x7D83, 125867 },
+ { 0x7D84, 93859 },
+ { 0x7D85, 86097 },
+ { 0x7D86, 121013 },
+ { 0x7D87, 7655 },
+ { 0x7D88, 115858 },
+ { 0x7D89, 15936 },
+ { 0x7D8A, 39193 },
+ { 0x7D8B, 51436 },
+ { 0x7D8C, 14475 },
+ { 0x7D8D, 98882 },
+ { 0x7D8E, 39864 },
+ { 0x7D8F, 39867 },
+ { 0x7D90, 39861 },
+ { 0x7D91, 39870 },
+ { 0x7D92, 14324 },
+ { 0x7D93, 38137 },
+ { 0x7D94, 11707 },
+ { 0x7D95, 39884 },
+ { 0x7D96, 14388 },
+ { 0x7D97, 38213 },
+ { 0x7D98, 14123 },
+ { 0x7D99, 37975 },
+ { 0x7D9A, 15545 },
+ { 0x7D9B, 114422 },
+ { 0x7D9C, 114420 },
+ { 0x7D9D, 49604 },
+ { 0x7D9E, 49617 },
+ { 0x7D9F, 49608 },
+ { 0x7DA0, 49613 },
+ { 0x7DA1, 49589 },
+ { 0x7DA2, 34295 },
+ { 0x7DA3, 49584 },
+ { 0x7DA4, 41245 },
+ { 0x7DA5, 36084 },
+ { 0x7DA6, 39962 },
+ { 0x7DA7, 62439 },
+ { 0x7DA8, 120951 },
+ { 0x7DA9, 36094 },
+ { 0x7DAA, 92565 },
+ { 0x7DAB, 92581 },
+ { 0x7DAC, 13430 },
+ { 0x7DAD, 76678 },
+ { 0x7DAE, 76691 },
+ { 0x7DAF, 76683 },
+ { 0x7DB0, 76699 },
+ { 0x7DB1, 76674 },
+ { 0x7DB2, 76711 },
+ { 0x7DB3, 79340 },
+ { 0x7DB4, 76715 },
+ { 0x7DB5, 13512 },
+ { 0x7DB6, 98708 },
+ { 0x7DB7, 76741 },
+ { 0x7DB8, 76737 },
+ { 0x7DB9, 98876 },
+ { 0x7DBA, 74022 },
+ { 0x7DBB, 132287 },
+ { 0x7DBC, 99476 },
+ { 0x7DBD, 13390 },
+ { 0x7DBE, 74654 },
+ { 0x7DBF, 83902 },
+ { 0x7DC0, 117690 },
+ { 0x7DC1, 70875 },
+ { 0x7DC2, 13508 },
+ { 0x7DC3, 70882 },
+ { 0x7DC4, 70877 },
+ { 0x7DC5, 13475 },
+ { 0x7DC6, 13479 },
+ { 0x7DC7, 13486 },
+ { 0x7DC8, 126175 },
+ { 0x7DC9, 79342 },
+ { 0x7DCA, 17282 },
+ { 0x7DCB, 75037 },
+ { 0x7DCC, 51419 },
+ { 0x7DCD, 122331 },
+ { 0x7DCE, 13394 },
+ { 0x7DCF, 126171 },
+ { 0x7DD0, 91854 },
+ { 0x7DD1, 102550 },
+ { 0x7DD2, 69925 },
+ { 0x7DD3, 40597 },
+ { 0x7DD4, 61806 },
+ { 0x7DD5, 39960 },
+ { 0x7DD6, 112994 },
+ { 0x7DD7, 60075 },
+ { 0x7DD8, 13407 },
+ { 0x7DD9, 54441 },
+ { 0x7DDA, 13411 },
+ { 0x7DDB, 13516 },
+ { 0x7DDC, 117583 },
+ { 0x7DDD, 69933 },
+ { 0x7DDE, 98864 },
+ { 0x7DDF, 21761 },
+ { 0x7DE0, 13505 },
+ { 0x7DE1, 13452 },
+ { 0x7DE2, 92559 },
+ { 0x7DE3, 5517 },
+ { 0x7DE4, 76662 },
+ { 0x7DE5, 76668 },
+ { 0x7DE6, 5512 },
+ { 0x7DE7, 70869 },
+ { 0x7DE8, 75034 },
+ { 0x7DE9, 51416 },
+ { 0x7DEA, 40594 },
+ { 0x7DEB, 98873 },
+ { 0x7DEC, 98870 },
+ { 0x7DED, 125573 },
+ { 0x7DEE, 13463 },
+ { 0x7DEF, 13376 },
+ { 0x7DF0, 13381 },
+ { 0x7DF1, 61428 },
+ { 0x7DF2, 122342 },
+ { 0x7DF3, 126345 },
+ { 0x7DF4, 132277 },
+ { 0x7DF5, 25093 },
+ { 0x7DF6, 61431 },
+ { 0x7DF7, 61439 },
+ { 0x7DF8, 61418 },
+ { 0x7DF9, 61414 },
+ { 0x7DFA, 36296 },
+ { 0x7DFB, 39133 },
+ { 0x7DFC, 36218 },
+ { 0x7DFD, 39079 },
+ { 0x7DFE, 65610 },
+ { 0x7DFF, 65623 },
+ { 0x7E00, 65605 },
+ { 0x7E01, 65618 },
+ { 0x7E02, 36300 },
+ { 0x7E03, 39137 },
+ { 0x7E04, 36222 },
+ { 0x7E05, 39083 },
+ { 0x7E06, 25273 },
+ { 0x7E07, 25299 },
+ { 0x7E08, 25262 },
+ { 0x7E09, 25288 },
+ { 0x7E0A, 36292 },
+ { 0x7E0B, 39129 },
+ { 0x7E0C, 36214 },
+ { 0x7E0D, 39075 },
+ { 0x7E0E, 25268 },
+ { 0x7E0F, 25294 },
+ { 0x7E10, 25257 },
+ { 0x7E11, 25283 },
+ { 0x7E12, 54430 },
+ { 0x7E13, 54434 },
+ { 0x7E14, 39022 },
+ { 0x7E15, 39026 },
+ { 0x7E16, 114001 },
+ { 0x7E17, 79162 },
+ { 0x7E18, 120367 },
+ { 0x7E19, 112373 },
+ { 0x7E1A, 61766 },
+ { 0x7E1B, 25363 },
+ { 0x7E1C, 94798 },
+ { 0x7E1D, 25419 },
+ { 0x7E1E, 25431 },
+ { 0x7E1F, 39197 },
+ { 0x7E20, 120663 },
+ { 0x7E21, 120656 },
+ { 0x7E22, 120648 },
+ { 0x7E23, 25491 },
+ { 0x7E24, 120671 },
+ { 0x7E25, 25479 },
+ { 0x7E26, 16869 },
+ { 0x7E27, 16862 },
+ { 0x7E28, 67835 },
+ { 0x7E29, 75201 },
+ { 0x7E2A, 61711 },
+ { 0x7E2B, 118653 },
+ { 0x7E2C, 39172 },
+ { 0x7E2D, 75177 },
+ { 0x7E2E, 119512 },
+ { 0x7E2F, 119514 },
+ { 0x7E30, 39970 },
+ { 0x7E31, 36041 },
+ { 0x7E32, 34293 },
+ { 0x7E33, 77675 },
+ { 0x7E34, 16809 },
+ { 0x7E35, 16810 },
+ { 0x7E36, 5504 },
+ { 0x7E37, 98023 },
+ { 0x7E38, 120971 },
+ { 0x7E39, 5505 },
+ { 0x7E3A, 71883 },
+ { 0x7E3B, 100789 },
+ { 0x7E3C, 13529 },
+ { 0x7E3D, 61458 },
+ { 0x7E3E, 98030 },
+ { 0x7E3F, 16364 },
+ { 0x7E40, 98028 },
+ { 0x7E41, 117585 },
+ { 0x7E42, 98033 },
+ { 0x7E43, 131266 },
+ { 0x7E44, 86101 },
+ { 0x7E45, 120989 },
+ { 0x7E46, 78964 },
+ { 0x7E47, 97236 },
+ { 0x7E48, 97240 },
+ { 0x7E49, 120958 },
+ { 0x7E4A, 97242 },
+ { 0x7E4B, 41463 },
+ { 0x7E4C, 16171 },
+ { 0x7E4D, 75277 },
+ { 0x7E4E, 116132 },
+ { 0x7E4F, 119579 },
+ { 0x7E50, 99595 },
+ { 0x7E51, 125869 },
+ { 0x7E52, 61460 },
+ { 0x7E53, 120963 },
+ { 0x7E54, 13335 },
+ { 0x7E55, 97 },
+ { 0x7E56, 76746 },
+ { 0x7E57, 105 },
+ { 0x7E58, 10069 },
+ { 0x7E59, 74 },
+ { 0x7E5A, 75027 },
+ { 0x7E5B, 122311 },
+ { 0x7E5C, 67052 },
+ { 0x7E5D, 108 },
+ { 0x7E5E, 102872 },
+ { 0x7E5F, 97244 },
+ { 0x7E60, 119983 },
+ { 0x7E61, 110 },
+ { 0x7E62, 83887 },
+ { 0x7E63, 14750 },
+ { 0x7E64, 66367 },
+ { 0x7E65, 98713 },
+ { 0x7E66, 12877 },
+ { 0x7E67, 65512 },
+ { 0x7E68, 40590 },
+ { 0x7E69, 61786 },
+ { 0x7E6A, 12891 },
+ { 0x7E6B, 66710 },
+ { 0x7E6C, 98063 },
+ { 0x7E6D, 68932 },
+ { 0x7E6E, 66707 },
+ { 0x7E6F, 14386 },
+ { 0x7E70, 99363 },
+ { 0x7E71, 120084 },
+ { 0x7E72, 68876 },
+ { 0x7E73, 12950 },
+ { 0x7E74, 22159 },
+ { 0x7E75, 21322 },
+ { 0x7E76, 98868 },
+ { 0x7E77, 98818 },
+ { 0x7E78, 66717 },
+ { 0x7E79, 4455 },
+ { 0x7E7A, 37863 },
+ { 0x7E7B, 115685 },
+ { 0x7E7C, 98820 },
+ { 0x7E7D, 39195 },
+ { 0x7E7E, 60817 },
+ { 0x7E7F, 25565 },
+ { 0x7E80, 6154 },
+ { 0x7E81, 90160 },
+ { 0x7E82, 99887 },
+ { 0x7E83, 120080 },
+ { 0x7E84, 40600 },
+ { 0x7E85, 16040 },
+ { 0x7E86, 52232 },
+ { 0x7E87, 61782 },
+ { 0x7E88, 7653 },
+ { 0x7E89, 97238 },
+ { 0x7E8A, 75179 },
+ { 0x7E8B, 36080 },
+ { 0x7E8C, 125558 },
+ { 0x7E8D, 125556 },
+ { 0x7E8E, 125553 },
+ { 0x7E8F, 38970 },
+ { 0x7E90, 132385 },
+ { 0x7E91, 79404 },
+ { 0x7E92, 79402 },
+ { 0x7E93, 116074 },
+ { 0x7E94, 98025 },
+ { 0x7E95, 51457 },
+ { 0x7E96, 115792 },
+ { 0x7E97, 75307 },
+ { 0x7E98, 36082 },
+ { 0x7E99, 21184 },
+ { 0x7E9A, 16178 },
+ { 0x7E9B, 52114 },
+ { 0x7E9C, 120956 },
+ { 0x7E9D, 12868 },
+ { 0x7E9E, 61444 },
+ { 0x7E9F, 61712 },
+ { 0x7EA0, 117569 },
+ { 0x7EA1, 117044 },
+ { 0x7EA2, 117110 },
+ { 0x7EA3, 117200 },
+ { 0x7EA4, 117234 },
+ { 0x7EA5, 117519 },
+ { 0x7EA6, 117074 },
+ { 0x7EA7, 117084 },
+ { 0x7EA8, 117079 },
+ { 0x7EA9, 117089 },
+ { 0x7EAA, 117395 },
+ { 0x7EAB, 117507 },
+ { 0x7EAC, 117511 },
+ { 0x7EAD, 117290 },
+ { 0x7EAE, 117560 },
+ { 0x7EAF, 117182 },
+ { 0x7EB0, 117327 },
+ { 0x7EB1, 117332 },
+ { 0x7EB2, 117337 },
+ { 0x7EB3, 117422 },
+ { 0x7EB4, 117157 },
+ { 0x7EB5, 117217 },
+ { 0x7EB6, 117405 },
+ { 0x7EB7, 117515 },
+ { 0x7EB8, 117147 },
+ { 0x7EB9, 117152 },
+ { 0x7EBA, 117114 },
+ { 0x7EBB, 117282 },
+ { 0x7EBC, 117132 },
+ { 0x7EBD, 117137 },
+ { 0x7EBE, 117252 },
+ { 0x7EBF, 117350 },
+ { 0x7EC0, 117242 },
+ { 0x7EC1, 117547 },
+ { 0x7EC2, 117491 },
+ { 0x7EC3, 117258 },
+ { 0x7EC4, 117264 },
+ { 0x7EC5, 117247 },
+ { 0x7EC6, 117161 },
+ { 0x7EC7, 117475 },
+ { 0x7EC8, 117503 },
+ { 0x7EC9, 117061 },
+ { 0x7ECA, 117142 },
+ { 0x7ECB, 117413 },
+ { 0x7ECC, 117497 },
+ { 0x7ECD, 117168 },
+ { 0x7ECE, 117483 },
+ { 0x7ECF, 117399 },
+ { 0x7ED0, 117356 },
+ { 0x7ED1, 117362 },
+ { 0x7ED2, 117346 },
+ { 0x7ED3, 117463 },
+ { 0x7ED4, 117467 },
+ { 0x7ED5, 117471 },
+ { 0x7ED6, 117238 },
+ { 0x7ED7, 117409 },
+ { 0x7ED8, 117455 },
+ { 0x7ED9, 117573 },
+ { 0x7EDA, 117306 },
+ { 0x7EDB, 117342 },
+ { 0x7EDC, 117459 },
+ { 0x7EDD, 117543 },
+ { 0x7EDE, 117310 },
+ { 0x7EDF, 117294 },
+ { 0x7EE0, 117439 },
+ { 0x7EE1, 117221 },
+ { 0x7EE2, 117187 },
+ { 0x7EE3, 117315 },
+ { 0x7EE4, 117319 },
+ { 0x7EE5, 117070 },
+ { 0x7EE6, 117052 },
+ { 0x7EE7, 117286 },
+ { 0x7EE8, 117443 },
+ { 0x7EE9, 117048 },
+ { 0x7EEA, 117066 },
+ { 0x7EEB, 117270 },
+ { 0x7EEC, 117106 },
+ { 0x7EED, 117226 },
+ { 0x7EEE, 117195 },
+ { 0x7EEF, 117368 },
+ { 0x7EF0, 117418 },
+ { 0x7EF1, 117391 },
+ { 0x7EF2, 117374 },
+ { 0x7EF3, 117451 },
+ { 0x7EF4, 117174 },
+ { 0x7EF5, 117230 },
+ { 0x7EF6, 117204 },
+ { 0x7EF7, 117178 },
+ { 0x7EF8, 117056 },
+ { 0x7EF9, 117191 },
+ { 0x7EFA, 117434 },
+ { 0x7EFB, 117302 },
+ { 0x7EFC, 117379 },
+ { 0x7EFD, 117385 },
+ { 0x7EFE, 117556 },
+ { 0x7EFF, 117552 },
+ { 0x7F00, 117323 },
+ { 0x7F01, 117430 },
+ { 0x7F02, 117539 },
+ { 0x7F03, 117274 },
+ { 0x7F04, 117565 },
+ { 0x7F05, 117426 },
+ { 0x7F06, 117523 },
+ { 0x7F07, 117527 },
+ { 0x7F08, 117531 },
+ { 0x7F09, 117535 },
+ { 0x7F0A, 117298 },
+ { 0x7F0B, 117094 },
+ { 0x7F0C, 117100 },
+ { 0x7F0D, 117278 },
+ { 0x7F0E, 117128 },
+ { 0x7F0F, 117213 },
+ { 0x7F10, 117447 },
+ { 0x7F11, 117209 },
+ { 0x7F12, 117118 },
+ { 0x7F13, 117123 },
+ { 0x7F14, 6490 },
+ { 0x7F15, 122314 },
+ { 0x7F16, 34902 },
+ { 0x7F17, 53891 },
+ { 0x7F18, 94921 },
+ { 0x7F19, 92558 },
+ { 0x7F1A, 61485 },
+ { 0x7F1B, 37256 },
+ { 0x7F1C, 20942 },
+ { 0x7F1D, 20900 },
+ { 0x7F1E, 20980 },
+ { 0x7F1F, 20916 },
+ { 0x7F20, 20835 },
+ { 0x7F21, 60259 },
+ { 0x7F22, 12933 },
+ { 0x7F23, 25311 },
+ { 0x7F24, 16854 },
+ { 0x7F25, 112568 },
+ { 0x7F26, 40971 },
+ { 0x7F27, 38399 },
+ { 0x7F28, 20359 },
+ { 0x7F29, 20839 },
+ { 0x7F2A, 34318 },
+ { 0x7F2B, 60329 },
+ { 0x7F2C, 12936 },
+ { 0x7F2D, 25314 },
+ { 0x7F2E, 16858 },
+ { 0x7F2F, 112572 },
+ { 0x7F30, 41054 },
+ { 0x7F31, 41067 },
+ { 0x7F32, 62355 },
+ { 0x7F33, 20362 },
+ { 0x7F34, 20372 },
+ { 0x7F35, 20701 },
+ { 0x7F36, 41087 },
+ { 0x7F37, 41100 },
+ { 0x7F38, 69480 },
+ { 0x7F39, 20365 },
+ { 0x7F3A, 20376 },
+ { 0x7F3B, 20705 },
+ { 0x7F3C, 41108 },
+ { 0x7F3D, 16695 },
+ { 0x7F3E, 34302 },
+ { 0x7F3F, 60298 },
+ { 0x7F40, 12930 },
+ { 0x7F41, 16819 },
+ { 0x7F42, 16850 },
+ { 0x7F43, 112564 },
+ { 0x7F44, 16700 },
+ { 0x7F45, 34326 },
+ { 0x7F46, 60332 },
+ { 0x7F47, 12939 },
+ { 0x7F48, 25397 },
+ { 0x7F49, 16866 },
+ { 0x7F4A, 112576 },
+ { 0x7F4B, 34268 },
+ { 0x7F4C, 60263 },
+ { 0x7F4D, 12922 },
+ { 0x7F4E, 25137 },
+ { 0x7F4F, 16834 },
+ { 0x7F50, 112559 },
+ { 0x7F51, 34261 },
+ { 0x7F52, 60250 },
+ { 0x7F53, 12918 },
+ { 0x7F54, 25128 },
+ { 0x7F55, 16829 },
+ { 0x7F56, 112554 },
+ { 0x7F57, 34298 },
+ { 0x7F58, 60289 },
+ { 0x7F59, 12926 },
+ { 0x7F5A, 25205 },
+ { 0x7F5B, 16839 },
+ { 0x7F5C, 34313 },
+ { 0x7F5D, 60316 },
+ { 0x7F5E, 39887 },
+ { 0x7F5F, 60321 },
+ { 0x7F60, 34282 },
+ { 0x7F61, 60267 },
+ { 0x7F62, 13573 },
+ { 0x7F63, 60272 },
+ { 0x7F64, 75183 },
+ { 0x7F65, 34272 },
+ { 0x7F66, 25141 },
+ { 0x7F67, 60254 },
+ { 0x7F68, 25132 },
+ { 0x7F69, 10099 },
+ { 0x7F6A, 60293 },
+ { 0x7F6B, 25209 },
+ { 0x7F6C, 16844 },
+ { 0x7F6D, 25214 },
+ { 0x7F6E, 34321 },
+ { 0x7F6F, 25381 },
+ { 0x7F70, 25386 },
+ { 0x7F71, 68696 },
+ { 0x7F72, 97464 },
+ { 0x7F73, 68536 },
+ { 0x7F74, 97461 },
+ { 0x7F75, 15879 },
+ { 0x7F76, 26736 },
+ { 0x7F77, 26756 },
+ { 0x7F78, 26728 },
+ { 0x7F79, 26745 },
+ { 0x7F7A, 26722 },
+ { 0x7F7B, 26689 },
+ { 0x7F7C, 26709 },
+ { 0x7F7D, 26739 },
+ { 0x7F7E, 26759 },
+ { 0x7F7F, 26731 },
+ { 0x7F80, 26748 },
+ { 0x7F81, 26725 },
+ { 0x7F82, 25360 },
+ { 0x7F83, 113855 },
+ { 0x7F84, 79039 },
+ { 0x7F85, 120206 },
+ { 0x7F86, 112289 },
+ { 0x7F87, 113878 },
+ { 0x7F88, 79056 },
+ { 0x7F89, 120234 },
+ { 0x7F8A, 112311 },
+ { 0x7F8B, 113849 },
+ { 0x7F8C, 79033 },
+ { 0x7F8D, 120200 },
+ { 0x7F8E, 112283 },
+ { 0x7F8F, 113861 },
+ { 0x7F90, 79045 },
+ { 0x7F91, 120212 },
+ { 0x7F92, 112295 },
+ { 0x7F93, 113898 },
+ { 0x7F94, 79072 },
+ { 0x7F95, 120254 },
+ { 0x7F96, 112327 },
+ { 0x7F97, 25454 },
+ { 0x7F98, 25408 },
+ { 0x7F99, 25473 },
+ { 0x7F9A, 25441 },
+ { 0x7F9B, 25447 },
+ { 0x7F9C, 25401 },
+ { 0x7F9D, 25466 },
+ { 0x7F9E, 25434 },
+ { 0x7F9F, 114272 },
+ { 0x7FA0, 79311 },
+ { 0x7FA1, 120634 },
+ { 0x7FA2, 112519 },
+ { 0x7FA3, 114266 },
+ { 0x7FA4, 79305 },
+ { 0x7FA5, 120628 },
+ { 0x7FA6, 112513 },
+ { 0x7FA7, 114219 },
+ { 0x7FA8, 79265 },
+ { 0x7FA9, 120581 },
+ { 0x7FAA, 112473 },
+ { 0x7FAB, 114246 },
+ { 0x7FAC, 79292 },
+ { 0x7FAD, 120608 },
+ { 0x7FAE, 112500 },
+ { 0x7FAF, 114239 },
+ { 0x7FB0, 79285 },
+ { 0x7FB1, 120601 },
+ { 0x7FB2, 112493 },
+ { 0x7FB3, 114181 },
+ { 0x7FB4, 79254 },
+ { 0x7FB5, 120547 },
+ { 0x7FB6, 112462 },
+ { 0x7FB7, 114105 },
+ { 0x7FB8, 79227 },
+ { 0x7FB9, 120471 },
+ { 0x7FBA, 112441 },
+ { 0x7FBB, 114119 },
+ { 0x7FBC, 79236 },
+ { 0x7FBD, 120485 },
+ { 0x7FBE, 112450 },
+ { 0x7FBF, 113956 },
+ { 0x7FC0, 79094 },
+ { 0x7FC1, 120312 },
+ { 0x7FC2, 112349 },
+ { 0x7FC3, 113953 },
+ { 0x7FC4, 79091 },
+ { 0x7FC5, 120309 },
+ { 0x7FC6, 112346 },
+ { 0x7FC7, 114122 },
+ { 0x7FC8, 79239 },
+ { 0x7FC9, 120488 },
+ { 0x7FCA, 112453 },
+ { 0x7FCB, 36305 },
+ { 0x7FCC, 36227 },
+ { 0x7FCD, 39088 },
+ { 0x7FCE, 39142 },
+ { 0x7FCF, 14232 },
+ { 0x7FD0, 370 },
+ { 0x7FD1, 125764 },
+ { 0x7FD2, 125714 },
+ { 0x7FD3, 125789 },
+ { 0x7FD4, 125739 },
+ { 0x7FD5, 125627 },
+ { 0x7FD6, 125597 },
+ { 0x7FD7, 125657 },
+ { 0x7FD8, 125687 },
+ { 0x7FD9, 125749 },
+ { 0x7FDA, 125699 },
+ { 0x7FDB, 125774 },
+ { 0x7FDC, 125724 },
+ { 0x7FDD, 125609 },
+ { 0x7FDE, 125579 },
+ { 0x7FDF, 125639 },
+ { 0x7FE0, 125669 },
+ { 0x7FE1, 125769 },
+ { 0x7FE2, 125719 },
+ { 0x7FE3, 125794 },
+ { 0x7FE4, 125744 },
+ { 0x7FE5, 125633 },
+ { 0x7FE6, 125603 },
+ { 0x7FE7, 125663 },
+ { 0x7FE8, 125693 },
+ { 0x7FE9, 125759 },
+ { 0x7FEA, 125709 },
+ { 0x7FEB, 125784 },
+ { 0x7FEC, 125734 },
+ { 0x7FED, 125621 },
+ { 0x7FEE, 125591 },
+ { 0x7FEF, 125651 },
+ { 0x7FF0, 125681 },
+ { 0x7FF1, 125753 },
+ { 0x7FF2, 125703 },
+ { 0x7FF3, 125778 },
+ { 0x7FF4, 125728 },
+ { 0x7FF5, 125614 },
+ { 0x7FF6, 125584 },
+ { 0x7FF7, 125644 },
+ { 0x7FF8, 125674 },
+ { 0x7FF9, 114111 },
+ { 0x7FFA, 79230 },
+ { 0x7FFB, 120477 },
+ { 0x7FFC, 112444 },
+ { 0x7FFD, 113963 },
+ { 0x7FFE, 79135 },
+ { 0x7FFF, 120324 },
+ { 0x8000, 112356 },
+ { 0x8001, 113888 },
+ { 0x8002, 79062 },
+ { 0x8003, 120244 },
+ { 0x8004, 112317 },
+ { 0x8005, 25162 },
+ { 0x8006, 25179 },
+ { 0x8007, 25167 },
+ { 0x8008, 25173 },
+ { 0x8009, 114200 },
+ { 0x800A, 120330 },
+ { 0x800B, 113748 },
+ { 0x800C, 120108 },
+ { 0x800D, 114184 },
+ { 0x800E, 120562 },
+ { 0x800F, 114196 },
+ { 0x8010, 120550 },
+ { 0x8011, 114176 },
+ { 0x8012, 120542 },
+ { 0x8013, 114191 },
+ { 0x8014, 120557 },
+ { 0x8015, 40698 },
+ { 0x8016, 40703 },
+ { 0x8017, 17285 },
+ { 0x8018, 17303 },
+ { 0x8019, 67886 },
+ { 0x801A, 67880 },
+ { 0x801B, 67877 },
+ { 0x801C, 14085 },
+ { 0x801D, 14091 },
+ { 0x801E, 14079 },
+ { 0x801F, 14074 },
+ { 0x8020, 14071 },
+ { 0x8021, 86129 },
+ { 0x8022, 86137 },
+ { 0x8023, 86132 },
+ { 0x8024, 86141 },
+ { 0x8025, 74660 },
+ { 0x8026, 40883 },
+ { 0x8027, 21116 },
+ { 0x8028, 98441 },
+ { 0x8029, 131301 },
+ { 0x802A, 122098 },
+ { 0x802B, 13493 },
+ { 0x802C, 15562 },
+ { 0x802D, 99088 },
+ { 0x802E, 13496 },
+ { 0x802F, 38271 },
+ { 0x8030, 70528 },
+ { 0x8031, 16172 },
+ { 0x8032, 12960 },
+ { 0x8033, 61504 },
+ { 0x8034, 121717 },
+ { 0x8035, 131268 },
+ { 0x8036, 113490 },
+ { 0x8037, 13630 },
+ { 0x8038, 0 },
+ { 0x8039, 13435 },
+ { 0x803A, 21312 },
+ { 0x803B, 115682 },
+ { 0x803C, 75223 },
+ { 0x803D, 86151 },
+ { 0x803E, 34905 },
+ { 0x803F, 13374 },
+ { 0x8040, 98878 },
+ { 0x8041, 13385 },
+ { 0x8042, 92576 },
+ { 0x8043, 92567 },
+ { 0x8044, 13439 },
+ { 0x8045, 75312 },
+ { 0x8046, 76720 },
+ { 0x8047, 13418 },
+ { 0x8048, 75781 },
+ { 0x8049, 98500 },
+ { 0x804A, 132286 },
+ { 0x804B, 37851 },
+ { 0x804C, 61775 },
+ { 0x804D, 61479 },
+ { 0x804E, 6518 },
+ { 0x804F, 60729 },
+ { 0x8050, 38801 },
+ { 0x8051, 61425 },
+ { 0x8052, 94270 },
+ { 0x8053, 52086 },
+ { 0x8054, 60720 },
+ { 0x8055, 116727 },
+ { 0x8056, 40586 },
+ { 0x8057, 93137 },
+ { 0x8058, 51501 },
+ { 0x8059, 66356 },
+ { 0x805A, 13358 },
+ { 0x805B, 83896 },
+ { 0x805C, 78992 },
+ { 0x805D, 39160 },
+ { 0x805E, 13621 },
+ { 0x805F, 37907 },
+ { 0x8060, 22122 },
+ { 0x8061, 61771 },
+ { 0x8062, 39853 },
+ { 0x8063, 49718 },
+ { 0x8064, 71561 },
+ { 0x8065, 68929 },
+ { 0x8066, 94792 },
+ { 0x8067, 98880 },
+ { 0x8068, 52112 },
+ { 0x8069, 106056 },
+ { 0x806A, 66706 },
+ { 0x806B, 84033 },
+ { 0x806C, 17324 },
+ { 0x806D, 61474 },
+ { 0x806E, 50292 },
+ { 0x806F, 79794 },
+ { 0x8070, 25085 },
+ { 0x8071, 75323 },
+ { 0x8072, 77676 },
+ { 0x8073, 6122 },
+ { 0x8074, 22161 },
+ { 0x8075, 74652 },
+ { 0x8076, 113743 },
+ { 0x8077, 98052 },
+ { 0x8078, 86153 },
+ { 0x8079, 69939 },
+ { 0x807A, 77759 },
+ { 0x807B, 117594 },
+ { 0x807C, 12947 },
+ { 0x807D, 6078 },
+ { 0x807E, 68898 },
+ { 0x807F, 80549 },
+ { 0x8080, 10054 },
+ { 0x8081, 75039 },
+ { 0x8082, 6081 },
+ { 0x8083, 98800 },
+ { 0x8084, 50143 },
+ { 0x8085, 34255 },
+ { 0x8086, 34911 },
+ { 0x8087, 15547 },
+ { 0x8088, 17325 },
+ { 0x8089, 76729 },
+ { 0x808A, 79390 },
+ { 0x808B, 76707 },
+ { 0x808C, 13423 },
+ { 0x808D, 13445 },
+ { 0x808E, 119981 },
+ { 0x808F, 91852 },
+ { 0x8090, 36165 },
+ { 0x8091, 112250 },
+ { 0x8092, 13499 },
+ { 0x8093, 13471 },
+ { 0x8094, 16168 },
+ { 0x8095, 6171 },
+ { 0x8096, 69947 },
+ { 0x8097, 54428 },
+ { 0x8098, 13548 },
+ { 0x8099, 13263 },
+ { 0x809A, 14473 },
+ { 0x809B, 98802 },
+ { 0x809C, 65575 },
+ { 0x809D, 79000 },
+ { 0x809E, 21962 },
+ { 0x809F, 13361 },
+ { 0x80A0, 4454 },
+ { 0x80A1, 38751 },
+ { 0x80A2, 9720 },
+ { 0x80A3, 6141 },
+ { 0x80A4, 102878 },
+ { 0x80A5, 13278 },
+ { 0x80A6, 69948 },
+ { 0x80A7, 60072 },
+ { 0x80A8, 120103 },
+ { 0x80A9, 61787 },
+ { 0x80AA, 39165 },
+ { 0x80AB, 69943 },
+ { 0x80AC, 41249 },
+ { 0x80AD, 93176 },
+ { 0x80AE, 98801 },
+ { 0x80AF, 39202 },
+ { 0x80B0, 68910 },
+ { 0x80B1, 94331 },
+ { 0x80B2, 34559 },
+ { 0x80B3, 74651 },
+ { 0x80B4, 126347 },
+ { 0x80B5, 61390 },
+ { 0x80B6, 75173 },
+ { 0x80B7, 70891 },
+ { 0x80B8, 97237 },
+ { 0x80B9, 71879 },
+ { 0x80BA, 49573 },
+ { 0x80BB, 16358 },
+ { 0x80BC, 71235 },
+ { 0x80BD, 13281 },
+ { 0x80BE, 38812 },
+ { 0x80BF, 37846 },
+ { 0x80C0, 115690 },
+ { 0x80C1, 38807 },
+ { 0x80C2, 91844 },
+ { 0x80C3, 60816 },
+ { 0x80C4, 49638 },
+ { 0x80C5, 20310 },
+ { 0x80C6, 16169 },
+ { 0x80C7, 25089 },
+ { 0x80C8, 75043 },
+ { 0x80C9, 22022 },
+ { 0x80CA, 22029 },
+ { 0x80CB, 22026 },
+ { 0x80CC, 22033 },
+ { 0x80CD, 12942 },
+ { 0x80CE, 6488 },
+ { 0x80CF, 13550 },
+ { 0x80D0, 39964 },
+ { 0x80D1, 116435 },
+ { 0x80D2, 131294 },
+ { 0x80D3, 61719 },
+ { 0x80D4, 6118 },
+ { 0x80D5, 115549 },
+ { 0x80D6, 60248 },
+ { 0x80D7, 119971 },
+ { 0x80D8, 119973 },
+ { 0x80D9, 50522 },
+ { 0x80DA, 68928 },
+ { 0x80DB, 16166 },
+ { 0x80DC, 80308 },
+ { 0x80DD, 52130 },
+ { 0x80DE, 37255 },
+ { 0x80DF, 69905 },
+ { 0x80E0, 65749 },
+ { 0x80E1, 50133 },
+ { 0x80E2, 14744 },
+ { 0x80E3, 6155 },
+ { 0x80E4, 50127 },
+ { 0x80E5, 39971 },
+ { 0x80E6, 98890 },
+ { 0x80E7, 94790 },
+ { 0x80E8, 13276 },
+ { 0x80E9, 13456 },
+ { 0x80EA, 17267 },
+ { 0x80EB, 21209 },
+ { 0x80EC, 37250 },
+ { 0x80ED, 66712 },
+ { 0x80EE, 61422 },
+ { 0x80EF, 61400 },
+ { 0x80F0, 61437 },
+ { 0x80F1, 61396 },
+ { 0x80F2, 14718 },
+ { 0x80F3, 22113 },
+ { 0x80F4, 79333 },
+ { 0x80F5, 114838 },
+ { 0x80F6, 6123 },
+ { 0x80F7, 22155 },
+ { 0x80F8, 66525 },
+ { 0x80F9, 21108 },
+ { 0x80FA, 60806 },
+ { 0x80FB, 49641 },
+ { 0x80FC, 38749 },
+ { 0x80FD, 52139 },
+ { 0x80FE, 13261 },
+ { 0x80FF, 39021 },
+ { 0x8100, 10077 },
+ { 0x8101, 121062 },
+ { 0x8102, 54453 },
+ { 0x8103, 16366 },
+ { 0x8104, 37861 },
+ { 0x8105, 6096 },
+ { 0x8106, 68899 },
+ { 0x8107, 41251 },
+ { 0x8108, 13531 },
+ { 0x8109, 78963 },
+ { 0x810A, 21111 },
+ { 0x810B, 60247 },
+ { 0x810C, 70961 },
+ { 0x810D, 60073 },
+ { 0x810E, 39157 },
+ { 0x810F, 12887 },
+ { 0x8110, 61717 },
+ { 0x8111, 39843 },
+ { 0x8112, 21115 },
+ { 0x8113, 49623 },
+ { 0x8114, 16052 },
+ { 0x8115, 4449 },
+ { 0x8116, 61826 },
+ { 0x8117, 75182 },
+ { 0x8118, 36160 },
+ { 0x8119, 74024 },
+ { 0x811A, 74075 },
+ { 0x811B, 74058 },
+ { 0x811C, 74092 },
+ { 0x811D, 74109 },
+ { 0x811E, 74041 },
+ { 0x811F, 40835 },
+ { 0x8120, 20506 },
+ { 0x8121, 74150 },
+ { 0x8122, 40720 },
+ { 0x8123, 40771 },
+ { 0x8124, 40754 },
+ { 0x8125, 40788 },
+ { 0x8126, 40829 },
+ { 0x8127, 40737 },
+ { 0x8128, 20391 },
+ { 0x8129, 20442 },
+ { 0x812A, 20425 },
+ { 0x812B, 20459 },
+ { 0x812C, 20500 },
+ { 0x812D, 20408 },
+ { 0x812E, 74035 },
+ { 0x812F, 74086 },
+ { 0x8130, 74069 },
+ { 0x8131, 74103 },
+ { 0x8132, 74144 },
+ { 0x8133, 74052 },
+ { 0x8134, 40797 },
+ { 0x8135, 20468 },
+ { 0x8136, 74112 },
+ { 0x8137, 40841 },
+ { 0x8138, 40853 },
+ { 0x8139, 40849 },
+ { 0x813A, 40857 },
+ { 0x813B, 40861 },
+ { 0x813C, 40845 },
+ { 0x813D, 20512 },
+ { 0x813E, 20524 },
+ { 0x813F, 20520 },
+ { 0x8140, 20528 },
+ { 0x8141, 20532 },
+ { 0x8142, 20516 },
+ { 0x8143, 74156 },
+ { 0x8144, 74168 },
+ { 0x8145, 74164 },
+ { 0x8146, 74172 },
+ { 0x8147, 74176 },
+ { 0x8148, 74160 },
+ { 0x8149, 40813 },
+ { 0x814A, 20484 },
+ { 0x814B, 74128 },
+ { 0x814C, 40712 },
+ { 0x814D, 40763 },
+ { 0x814E, 40746 },
+ { 0x814F, 40780 },
+ { 0x8150, 40805 },
+ { 0x8151, 40729 },
+ { 0x8152, 20383 },
+ { 0x8153, 20434 },
+ { 0x8154, 20417 },
+ { 0x8155, 20451 },
+ { 0x8156, 20476 },
+ { 0x8157, 20400 },
+ { 0x8158, 74027 },
+ { 0x8159, 74078 },
+ { 0x815A, 74061 },
+ { 0x815B, 74095 },
+ { 0x815C, 74120 },
+ { 0x815D, 74044 },
+ { 0x815E, 40821 },
+ { 0x815F, 20492 },
+ { 0x8160, 74136 },
+ { 0x8161, 40865 },
+ { 0x8162, 20536 },
+ { 0x8163, 74180 },
+ { 0x8164, 40868 },
+ { 0x8165, 20539 },
+ { 0x8166, 74183 },
+ { 0x8167, 40877 },
+ { 0x8168, 40874 },
+ { 0x8169, 40880 },
+ { 0x816A, 20548 },
+ { 0x816B, 20545 },
+ { 0x816C, 20551 },
+ { 0x816D, 79357 },
+ { 0x816E, 79366 },
+ { 0x816F, 79363 },
+ { 0x8170, 79348 },
+ { 0x8171, 79354 },
+ { 0x8172, 79351 },
+ { 0x8173, 79360 },
+ { 0x8174, 79378 },
+ { 0x8175, 79387 },
+ { 0x8176, 79384 },
+ { 0x8177, 79369 },
+ { 0x8178, 79375 },
+ { 0x8179, 79372 },
+ { 0x817A, 79381 },
+ { 0x817B, 49574 },
+ { 0x817C, 115687 },
+ { 0x817D, 50117 },
+ { 0x817E, 61785 },
+ { 0x817F, 39856 },
+ { 0x8180, 34265 },
+ { 0x8181, 13624 },
+ { 0x8182, 15966 },
+ { 0x8183, 13355 },
+ { 0x8184, 79399 },
+ { 0x8185, 125496 },
+ { 0x8186, 41247 },
+ { 0x8187, 51415 },
+ { 0x8188, 41248 },
+ { 0x8189, 13942 },
+ { 0x818A, 115789 },
+ { 0x818B, 102876 },
+ { 0x818C, 34907 },
+ { 0x818D, 61446 },
+ { 0x818E, 74020 },
+ { 0x818F, 71322 },
+ { 0x8190, 22140 },
+ { 0x8191, 61698 },
+ { 0x8192, 21191 },
+ { 0x8193, 37906 },
+ { 0x8194, 4448 },
+ { 0x8195, 13279 },
+ { 0x8196, 19949 },
+ { 0x8197, 95620 },
+ { 0x8198, 100777 },
+ { 0x8199, 14651 },
+ { 0x819A, 13262 },
+ { 0x819B, 104133 },
+ { 0x819C, 122341 },
+ { 0x819D, 57436 },
+ { 0x819E, 13656 },
+ { 0x819F, 60704 },
+ { 0x81A0, 66358 },
+ { 0x81A1, 75024 },
+ { 0x81A2, 61778 },
+ { 0x81A3, 13943 },
+ { 0x81A4, 50129 },
+ { 0x81A5, 36089 },
+ { 0x81A6, 120961 },
+ { 0x81A7, 113492 },
+ { 0x81A8, 74662 },
+ { 0x81A9, 16051 },
+ { 0x81AA, 60705 },
+ { 0x81AB, 132289 },
+ { 0x81AC, 6506 },
+ { 0x81AD, 25092 },
+ { 0x81AE, 69935 },
+ { 0x81AF, 13626 },
+ { 0x81B0, 55340 },
+ { 0x81B1, 6137 },
+ { 0x81B2, 16913 },
+ { 0x81B3, 49639 },
+ { 0x81B4, 104422 },
+ { 0x81B5, 61475 },
+ { 0x81B6, 16906 },
+ { 0x81B7, 69927 },
+ { 0x81B8, 34560 },
+ { 0x81B9, 21321 },
+ { 0x81BA, 22061 },
+ { 0x81BB, 15564 },
+ { 0x81BC, 93729 },
+ { 0x81BD, 113526 },
+ { 0x81BE, 16903 },
+ { 0x81BF, 22167 },
+ { 0x81C0, 117577 },
+ { 0x81C1, 34904 },
+ { 0x81C2, 61394 },
+ { 0x81C3, 98498 },
+ { 0x81C4, 98502 },
+ { 0x81C5, 61411 },
+ { 0x81C6, 36079 },
+ { 0x81C7, 51807 },
+ { 0x81C8, 121008 },
+ { 0x81C9, 12901 },
+ { 0x81CA, 37254 },
+ { 0x81CB, 112582 },
+ { 0x81CC, 63175 },
+ { 0x81CD, 52119 },
+ { 0x81CE, 64990 },
+ { 0x81CF, 75032 },
+ { 0x81D0, 20307 },
+ { 0x81D1, 6167 },
+ { 0x81D2, 52135 },
+ { 0x81D3, 10039 },
+ { 0x81D4, 71872 },
+ { 0x81D5, 98798 },
+ { 0x81D6, 13399 },
+ { 0x81D7, 13459 },
+ { 0x81D8, 13467 },
+ { 0x81D9, 51808 },
+ { 0x81DA, 49643 },
+ { 0x81DB, 67829 },
+ { 0x81DC, 75321 },
+ { 0x81DD, 13637 },
+ { 0x81DE, 120117 },
+ { 0x81DF, 113757 },
+ { 0x81E0, 15946 },
+ { 0x81E1, 15943 },
+ { 0x81E2, 25594 },
+ { 0x81E3, 25110 },
+ { 0x81E4, 114102 },
+ { 0x81E5, 120468 },
+ { 0x81E6, 20987 },
+ { 0x81E7, 20989 },
+ { 0x81E8, 20999 },
+ { 0x81E9, 20991 },
+ { 0x81EA, 21001 },
+ { 0x81EB, 21009 },
+ { 0x81EC, 21029 },
+ { 0x81ED, 20993 },
+ { 0x81EE, 21003 },
+ { 0x81EF, 21011 },
+ { 0x81F0, 21031 },
+ { 0x81F1, 21017 },
+ { 0x81F2, 21037 },
+ { 0x81F3, 21047 },
+ { 0x81F4, 21065 },
+ { 0x81F5, 20995 },
+ { 0x81F6, 21005 },
+ { 0x81F7, 21013 },
+ { 0x81F8, 21033 },
+ { 0x81F9, 21019 },
+ { 0x81FA, 21049 },
+ { 0x81FB, 21067 },
+ { 0x81FC, 21023 },
+ { 0x81FD, 21041 },
+ { 0x81FE, 21053 },
+ { 0x81FF, 21071 },
+ { 0x8200, 21057 },
+ { 0x8201, 21077 },
+ { 0x8202, 21085 },
+ { 0x8203, 21095 },
+ { 0x8204, 20997 },
+ { 0x8205, 21007 },
+ { 0x8206, 21015 },
+ { 0x8207, 21035 },
+ { 0x8208, 21021 },
+ { 0x8209, 21039 },
+ { 0x820A, 21051 },
+ { 0x820B, 21069 },
+ { 0x820C, 21025 },
+ { 0x820D, 21043 },
+ { 0x820E, 21073 },
+ { 0x820F, 21059 },
+ { 0x8210, 21079 },
+ { 0x8211, 21087 },
+ { 0x8212, 21097 },
+ { 0x8213, 21027 },
+ { 0x8214, 21045 },
+ { 0x8215, 21055 },
+ { 0x8216, 21075 },
+ { 0x8217, 21061 },
+ { 0x8218, 21081 },
+ { 0x8219, 21089 },
+ { 0x821A, 21099 },
+ { 0x821B, 21063 },
+ { 0x821C, 21083 },
+ { 0x821D, 21091 },
+ { 0x821E, 21101 },
+ { 0x821F, 21093 },
+ { 0x8220, 21103 },
+ { 0x8221, 21105 },
+ { 0x8222, 34598 },
+ { 0x8223, 34588 },
+ { 0x8224, 34676 },
+ { 0x8225, 34666 },
+ { 0x8226, 34608 },
+ { 0x8227, 34834 },
+ { 0x8228, 34824 },
+ { 0x8229, 34803 },
+ { 0x822A, 34793 },
+ { 0x822B, 34745 },
+ { 0x822C, 34813 },
+ { 0x822D, 34764 },
+ { 0x822E, 34735 },
+ { 0x822F, 34783 },
+ { 0x8230, 34754 },
+ { 0x8231, 34774 },
+ { 0x8232, 34656 },
+ { 0x8233, 34627 },
+ { 0x8234, 34646 },
+ { 0x8235, 34617 },
+ { 0x8236, 34637 },
+ { 0x8237, 34686 },
+ { 0x8238, 40242 },
+ { 0x8239, 40232 },
+ { 0x823A, 40320 },
+ { 0x823B, 40310 },
+ { 0x823C, 40252 },
+ { 0x823D, 40187 },
+ { 0x823E, 40177 },
+ { 0x823F, 40156 },
+ { 0x8240, 40146 },
+ { 0x8241, 40098 },
+ { 0x8242, 40166 },
+ { 0x8243, 40117 },
+ { 0x8244, 40088 },
+ { 0x8245, 40136 },
+ { 0x8246, 40107 },
+ { 0x8247, 40127 },
+ { 0x8248, 40300 },
+ { 0x8249, 40271 },
+ { 0x824A, 40290 },
+ { 0x824B, 40261 },
+ { 0x824C, 40281 },
+ { 0x824D, 40330 },
+ { 0x824E, 40020 },
+ { 0x824F, 13964 },
+ { 0x8250, 39999 },
+ { 0x8251, 13994 },
+ { 0x8252, 14425 },
+ { 0x8253, 40384 },
+ { 0x8254, 38247 },
+ { 0x8255, 34897 },
+ { 0x8256, 99500 },
+ { 0x8257, 99504 },
+ { 0x8258, 99508 },
+ { 0x8259, 99512 },
+ { 0x825A, 99516 },
+ { 0x825B, 99520 },
+ { 0x825C, 119522 },
+ { 0x825D, 119526 },
+ { 0x825E, 119530 },
+ { 0x825F, 119534 },
+ { 0x8260, 119538 },
+ { 0x8261, 119542 },
+ { 0x8262, 13973 },
+ { 0x8263, 14003 },
+ { 0x8264, 37914 },
+ { 0x8265, 37908 },
+ { 0x8266, 40008 },
+ { 0x8267, 119546 },
+ { 0x8268, 40033 },
+ { 0x8269, 40376 },
+ { 0x826A, 40037 },
+ { 0x826B, 40380 },
+ { 0x826C, 40372 },
+ { 0x826D, 37932 },
+ { 0x826E, 38064 },
+ { 0x826F, 37939 },
+ { 0x8270, 38068 },
+ { 0x8271, 38054 },
+ { 0x8272, 14100 },
+ { 0x8273, 37957 },
+ { 0x8274, 40056 },
+ { 0x8275, 34579 },
+ { 0x8276, 70548 },
+ { 0x8277, 40044 },
+ { 0x8278, 40065 },
+ { 0x8279, 14104 },
+ { 0x827A, 67837 },
+ { 0x827B, 70551 },
+ { 0x827C, 25460 },
+ { 0x827D, 40082 },
+ { 0x827E, 40226 },
+ { 0x827F, 40014 },
+ { 0x8280, 13988 },
+ { 0x8281, 40210 },
+ { 0x8282, 40362 },
+ { 0x8283, 34870 },
+ { 0x8284, 34722 },
+ { 0x8285, 5066 },
+ { 0x8286, 5117 },
+ { 0x8287, 5168 },
+ { 0x8288, 5216 },
+ { 0x8289, 5075 },
+ { 0x828A, 5126 },
+ { 0x828B, 5177 },
+ { 0x828C, 5189 },
+ { 0x828D, 5102 },
+ { 0x828E, 5153 },
+ { 0x828F, 5138 },
+ { 0x8290, 5087 },
+ { 0x8291, 5201 },
+ { 0x8292, 5225 },
+ { 0x8293, 5240 },
+ { 0x8294, 5283 },
+ { 0x8295, 132364 },
+ { 0x8296, 70540 },
+ { 0x8297, 14113 },
+ { 0x8298, 37961 },
+ { 0x8299, 70555 },
+ { 0x829A, 113782 },
+ { 0x829B, 120133 },
+ { 0x829C, 112262 },
+ { 0x829D, 79012 },
+ { 0x829E, 14097 },
+ { 0x829F, 37954 },
+ { 0x82A0, 65668 },
+ { 0x82A1, 37969 },
+ { 0x82A2, 97646 },
+ { 0x82A3, 97649 },
+ { 0x82A4, 97656 },
+ { 0x82A5, 40892 },
+ { 0x82A6, 14248 },
+ { 0x82A7, 60698 },
+ { 0x82A8, 38058 },
+ { 0x82A9, 97642 },
+ { 0x82AA, 39174 },
+ { 0x82AB, 39176 },
+ { 0x82AC, 39185 },
+ { 0x82AD, 39189 },
+ { 0x82AE, 39181 },
+ { 0x82AF, 41180 },
+ { 0x82B0, 116096 },
+ { 0x82B1, 116078 },
+ { 0x82B2, 116084 },
+ { 0x82B3, 116105 },
+ { 0x82B4, 116090 },
+ { 0x82B5, 116087 },
+ { 0x82B6, 116081 },
+ { 0x82B7, 116102 },
+ { 0x82B8, 116099 },
+ { 0x82B9, 116093 },
+ { 0x82BA, 94796 },
+ { 0x82BB, 10450 },
+ { 0x82BC, 10497 },
+ { 0x82BD, 10484 },
+ { 0x82BE, 10460 },
+ { 0x82BF, 10454 },
+ { 0x82C0, 10463 },
+ { 0x82C1, 10479 },
+ { 0x82C2, 10489 },
+ { 0x82C3, 10136 },
+ { 0x82C4, 10447 },
+ { 0x82C5, 10471 },
+ { 0x82C6, 10139 },
+ { 0x82C7, 10144 },
+ { 0x82C8, 10503 },
+ { 0x82C9, 10125 },
+ { 0x82CA, 10469 },
+ { 0x82CB, 10164 },
+ { 0x82CC, 10146 },
+ { 0x82CD, 10152 },
+ { 0x82CE, 10173 },
+ { 0x82CF, 10158 },
+ { 0x82D0, 10155 },
+ { 0x82D1, 10149 },
+ { 0x82D2, 10170 },
+ { 0x82D3, 10167 },
+ { 0x82D4, 10161 },
+ { 0x82D5, 10142 },
+ { 0x82D6, 10487 },
+ { 0x82D7, 10481 },
+ { 0x82D8, 10457 },
+ { 0x82D9, 10500 },
+ { 0x82DA, 10473 },
+ { 0x82DB, 10494 },
+ { 0x82DC, 10309 },
+ { 0x82DD, 10314 },
+ { 0x82DE, 10319 },
+ { 0x82DF, 10324 },
+ { 0x82E0, 10329 },
+ { 0x82E1, 10334 },
+ { 0x82E2, 10339 },
+ { 0x82E3, 10344 },
+ { 0x82E4, 10349 },
+ { 0x82E5, 10354 },
+ { 0x82E6, 10359 },
+ { 0x82E7, 10364 },
+ { 0x82E8, 10369 },
+ { 0x82E9, 10374 },
+ { 0x82EA, 10379 },
+ { 0x82EB, 10384 },
+ { 0x82EC, 10389 },
+ { 0x82ED, 10394 },
+ { 0x82EE, 10399 },
+ { 0x82EF, 10404 },
+ { 0x82F0, 10409 },
+ { 0x82F1, 10414 },
+ { 0x82F2, 10419 },
+ { 0x82F3, 10424 },
+ { 0x82F4, 10429 },
+ { 0x82F5, 10434 },
+ { 0x82F6, 10132 },
+ { 0x82F7, 10466 },
+ { 0x82F8, 10443 },
+ { 0x82F9, 10491 },
+ { 0x82FA, 10122 },
+ { 0x82FB, 10176 },
+ { 0x82FC, 10179 },
+ { 0x82FD, 10184 },
+ { 0x82FE, 10189 },
+ { 0x82FF, 10194 },
+ { 0x8300, 10199 },
+ { 0x8301, 10204 },
+ { 0x8302, 10209 },
+ { 0x8303, 10214 },
+ { 0x8304, 10219 },
+ { 0x8305, 10224 },
+ { 0x8306, 10229 },
+ { 0x8307, 10234 },
+ { 0x8308, 10239 },
+ { 0x8309, 10244 },
+ { 0x830A, 10249 },
+ { 0x830B, 10254 },
+ { 0x830C, 10259 },
+ { 0x830D, 10264 },
+ { 0x830E, 10269 },
+ { 0x830F, 10274 },
+ { 0x8310, 10279 },
+ { 0x8311, 10284 },
+ { 0x8312, 10289 },
+ { 0x8313, 10294 },
+ { 0x8314, 10299 },
+ { 0x8315, 10304 },
+ { 0x8316, 10128 },
+ { 0x8317, 10476 },
+ { 0x8318, 10439 },
+ { 0x8319, 10452 },
+ { 0x831A, 50139 },
};
#define UNICODE_CHARNAME_MAX_LENGTH 88
#define UNICODE_CHARNAME_MAX_WORDS 15
-static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_ranges[697] = {
+static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_ranges[696] = {
{ 0, 32, 95 },
{ 95, 65, 728 },
{ 823, 67, 6 },
@@ -114946,431 +114963,430 @@ static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_r
{ 10827, 1077, 26 },
{ 10853, 1078, 89 },
{ 10942, 1090, 214 },
- { 11156, 1116, 12 },
- { 11168, 1120, 64 },
- { 11232, 1121, 86 },
- { 11318, 1123, 103 },
- { 11421, 1128, 43 },
- { 11464, 1129, 94 },
- { 11558, 1130, 84 },
- { 11642, 1142, 47 },
- { 11689, 1143, 480 },
- { 12169, 7735, 64 },
- { 12233, 28727, 1165 },
- { 13398, 28730, 55 },
- { 13453, 28739, 348 },
- { 13801, 28759, 184 },
- { 13985, 28767, 203 },
- { 14188, 28772, 2 },
- { 14190, 28773, 1 },
- { 14191, 28774, 5 },
- { 14196, 28798, 59 },
- { 14255, 28801, 10 },
- { 14265, 28807, 56 },
- { 14321, 28815, 70 },
- { 14391, 28823, 12 },
- { 14403, 28829, 116 },
- { 14519, 28840, 30 },
- { 14549, 28843, 78 },
- { 14627, 28844, 11 },
- { 14638, 28848, 33 },
- { 14671, 28849, 55 },
- { 14726, 28858, 14 },
- { 14740, 28860, 10 },
- { 14750, 28862, 103 },
- { 14853, 28886, 28 },
- { 14881, 28896, 6 },
- { 14887, 28898, 6 },
- { 14893, 28900, 6 },
- { 14899, 28909, 7 },
- { 14906, 28910, 7 },
- { 14913, 28911, 60 },
- { 14973, 28915, 126 },
- { 15099, 28917, 10 },
- { 15109, 40107, 23 },
- { 15132, 40111, 49 },
- { 15181, 48865, 2 },
- { 15183, 48924, 3 },
- { 15186, 49070, 7 },
- { 15193, 49082, 5 },
- { 15198, 49087, 26 },
- { 15224, 49088, 5 },
- { 15229, 49089, 1 },
- { 15230, 49090, 2 },
- { 15232, 49091, 2 },
- { 15234, 49092, 125 },
- { 15359, 49108, 445 },
- { 15804, 49110, 54 },
- { 15858, 49117, 1 },
- { 15859, 49149, 16 },
- { 15875, 49165, 10 },
- { 15885, 49171, 51 },
- { 15936, 49172, 19 },
- { 15955, 49173, 4 },
- { 15959, 49177, 5 },
- { 15964, 49178, 135 },
- { 16099, 49180, 1 },
- { 16100, 49181, 190 },
- { 16290, 49184, 6 },
- { 16296, 49186, 6 },
- { 16302, 49188, 6 },
- { 16308, 49190, 3 },
- { 16311, 49193, 7 },
- { 16318, 49194, 7 },
- { 16325, 49204, 5 },
- { 16330, 49206, 12 },
- { 16342, 49207, 26 },
- { 16368, 49208, 19 },
- { 16387, 49209, 2 },
- { 16389, 49210, 15 },
- { 16404, 49212, 14 },
- { 16418, 49246, 123 },
- { 16541, 49251, 3 },
- { 16544, 49255, 45 },
- { 16589, 49258, 88 },
- { 16677, 49259, 13 },
- { 16690, 49262, 1 },
- { 16691, 49309, 46 },
- { 16737, 49439, 29 },
- { 16766, 49442, 49 },
- { 16815, 49457, 28 },
- { 16843, 49461, 36 },
- { 16879, 49470, 30 },
- { 16909, 49475, 43 },
- { 16952, 49480, 30 },
- { 16982, 49481, 37 },
- { 17019, 49485, 14 },
- { 17033, 49527, 158 },
- { 17191, 49529, 10 },
- { 17201, 49535, 36 },
- { 17237, 49539, 36 },
- { 17273, 49543, 40 },
- { 17313, 49551, 52 },
- { 17365, 49562, 12 },
- { 17377, 49563, 15 },
- { 17392, 49564, 7 },
- { 17399, 49565, 2 },
- { 17401, 49566, 11 },
- { 17412, 49567, 15 },
- { 17427, 49568, 7 },
- { 17434, 49569, 2 },
- { 17436, 49636, 311 },
- { 17747, 49645, 22 },
- { 17769, 49655, 8 },
- { 17777, 49679, 6 },
- { 17783, 49680, 42 },
- { 17825, 49681, 9 },
- { 17834, 49750, 6 },
- { 17840, 49752, 1 },
- { 17841, 49753, 44 },
- { 17885, 49754, 2 },
- { 17887, 49757, 1 },
- { 17888, 49759, 23 },
- { 17911, 49760, 72 },
- { 17983, 49768, 9 },
- { 17992, 49816, 19 },
- { 18011, 49817, 2 },
- { 18013, 49822, 33 },
- { 18046, 49825, 27 },
- { 18073, 49830, 1 },
- { 18074, 49894, 56 },
- { 18130, 49898, 20 },
- { 18150, 49900, 50 },
- { 18200, 49901, 2 },
- { 18202, 49906, 8 },
- { 18210, 49907, 3 },
- { 18213, 49908, 29 },
- { 18242, 49910, 3 },
- { 18245, 49914, 10 },
- { 18255, 49921, 9 },
- { 18264, 49928, 64 },
- { 18328, 49960, 39 },
- { 18367, 49964, 12 },
- { 18379, 49973, 54 },
- { 18433, 49976, 29 },
- { 18462, 49978, 27 },
- { 18489, 49983, 26 },
- { 18515, 49990, 4 },
- { 18519, 50002, 7 },
- { 18526, 50082, 73 },
- { 18599, 50137, 51 },
- { 18650, 50150, 51 },
- { 18701, 50157, 46 },
- { 18747, 50165, 10 },
- { 18757, 50459, 31 },
- { 18788, 50460, 42 },
- { 18830, 50461, 3 },
- { 18833, 50463, 2 },
- { 18835, 50538, 43 },
- { 18878, 50546, 42 },
- { 18920, 50568, 26 },
- { 18946, 50606, 28 },
- { 18974, 50626, 23 },
- { 18997, 50635, 78 },
- { 19075, 50639, 36 },
- { 19111, 50648, 68 },
- { 19179, 50658, 1 },
- { 19180, 50660, 25 },
- { 19205, 50667, 10 },
- { 19215, 50673, 53 },
- { 19268, 50674, 18 },
- { 19286, 50682, 39 },
- { 19325, 50691, 96 },
- { 19421, 50692, 20 },
- { 19441, 50703, 18 },
- { 19459, 50704, 47 },
- { 19506, 50766, 7 },
- { 19513, 50767, 1 },
- { 19514, 50768, 4 },
- { 19518, 50769, 15 },
- { 19533, 50770, 11 },
- { 19544, 50776, 59 },
- { 19603, 50781, 10 },
- { 19613, 50787, 4 },
- { 19617, 50788, 8 },
- { 19625, 50790, 2 },
- { 19627, 50792, 22 },
- { 19649, 50793, 7 },
- { 19656, 50794, 2 },
- { 19658, 50795, 5 },
- { 19663, 50796, 10 },
- { 19673, 50798, 2 },
- { 19675, 50800, 3 },
- { 19678, 50802, 1 },
- { 19679, 50808, 1 },
- { 19680, 50813, 7 },
- { 19687, 50815, 7 },
- { 19694, 50818, 5 },
- { 19699, 50957, 92 },
- { 19791, 50958, 5 },
- { 19796, 50988, 72 },
- { 19868, 50996, 10 },
- { 19878, 51162, 54 },
- { 19932, 51164, 38 },
- { 19970, 51198, 69 },
- { 20039, 51209, 10 },
- { 20049, 51215, 13 },
- { 20062, 51234, 58 },
- { 20120, 51240, 10 },
- { 20130, 51294, 27 },
- { 20157, 51296, 15 },
- { 20172, 51300, 23 },
- { 20195, 51485, 60 },
- { 20255, 51585, 83 },
- { 20338, 51597, 8 },
- { 20346, 51599, 1 },
- { 20347, 51601, 8 },
- { 20355, 51602, 2 },
- { 20357, 51603, 30 },
- { 20387, 51604, 2 },
- { 20389, 51606, 12 },
- { 20401, 51615, 10 },
- { 20411, 51685, 8 },
- { 20419, 51687, 46 },
- { 20465, 51689, 11 },
- { 20476, 51716, 72 },
- { 20548, 51724, 83 },
- { 20631, 51737, 73 },
- { 20704, 51744, 10 },
- { 20714, 51990, 9 },
- { 20723, 51991, 45 },
- { 20768, 51992, 14 },
- { 20782, 52002, 29 },
- { 20811, 52005, 32 },
- { 20843, 52007, 22 },
- { 20865, 52008, 14 },
- { 20879, 52081, 7 },
- { 20886, 52082, 2 },
- { 20888, 52083, 44 },
- { 20932, 52086, 1 },
- { 20933, 52087, 2 },
- { 20935, 52088, 9 },
- { 20944, 52096, 10 },
- { 20954, 52102, 6 },
- { 20960, 52103, 2 },
- { 20962, 52104, 37 },
- { 20999, 52105, 2 },
- { 21001, 52106, 6 },
- { 21007, 52113, 10 },
- { 21017, 52423, 25 },
- { 21042, 52430, 17 },
- { 21059, 52431, 41 },
- { 21100, 52434, 28 },
- { 21128, 52520, 1 },
- { 21129, 52535, 50 },
- { 21179, 52548, 923 },
- { 22102, 52650, 111 },
- { 22213, 52651, 5 },
- { 22218, 52662, 196 },
- { 22414, 55298, 99 },
- { 22513, 55311, 1110 },
- { 23623, 59321, 583 },
- { 24206, 67954, 569 },
- { 24775, 67961, 31 },
- { 24806, 67962, 10 },
- { 24816, 67966, 81 },
- { 24897, 67967, 10 },
- { 24907, 67973, 30 },
- { 24937, 67975, 6 },
- { 24943, 67985, 70 },
- { 25013, 67995, 10 },
- { 25023, 67996, 7 },
- { 25030, 67997, 21 },
- { 25051, 68002, 19 },
- { 25070, 68690, 91 },
- { 25161, 68791, 75 },
- { 25236, 68795, 57 },
- { 25293, 68802, 17 },
- { 25310, 68866, 5 },
- { 25315, 68877, 2 },
- { 25317, 75035, 1238 },
- { 26555, 84021, 4 },
- { 26559, 84022, 7 },
- { 26566, 84023, 2 },
- { 26568, 84024, 291 },
- { 26859, 84039, 1 },
- { 26860, 84068, 3 },
- { 26863, 84070, 1 },
- { 26864, 84084, 4 },
- { 26868, 84092, 396 },
- { 27264, 86400, 107 },
- { 27371, 86405, 13 },
- { 27384, 86408, 9 },
- { 27393, 86415, 10 },
- { 27403, 86417, 8 },
- { 27411, 91117, 46 },
- { 27457, 91119, 23 },
- { 27480, 91128, 116 },
- { 27596, 91188, 246 },
- { 27842, 91198, 39 },
- { 27881, 91200, 194 },
- { 28075, 91221, 70 },
- { 28145, 91343, 20 },
- { 28165, 91355, 20 },
- { 28185, 91367, 87 },
- { 28272, 91376, 25 },
- { 28297, 91511, 85 },
- { 28382, 91512, 71 },
- { 28453, 91513, 2 },
- { 28455, 91515, 1 },
- { 28456, 91517, 2 },
- { 28458, 91519, 4 },
- { 28462, 91520, 12 },
- { 28474, 91521, 1 },
- { 28475, 91522, 7 },
- { 28482, 91523, 65 },
- { 28547, 91524, 4 },
- { 28551, 91526, 8 },
- { 28559, 91527, 7 },
- { 28566, 91528, 28 },
- { 28594, 91529, 4 },
- { 28598, 91530, 5 },
- { 28603, 91531, 1 },
- { 28604, 91534, 7 },
- { 28611, 91535, 340 },
- { 28951, 91537, 292 },
- { 29243, 91539, 702 },
- { 29945, 91554, 5 },
- { 29950, 91555, 15 },
- { 29965, 92659, 31 },
- { 29996, 92665, 6 },
- { 30002, 92878, 7 },
- { 30009, 92879, 17 },
- { 30026, 92881, 7 },
- { 30033, 92882, 2 },
- { 30035, 92883, 5 },
- { 30040, 92888, 62 },
- { 30102, 92921, 1 },
- { 30103, 93033, 45 },
- { 30148, 93036, 14 },
- { 30162, 93038, 10 },
- { 30172, 93042, 2 },
- { 30174, 93362, 31 },
- { 30205, 93379, 58 },
- { 30263, 93384, 1 },
- { 30264, 93848, 42 },
- { 30306, 94590, 7 },
- { 30313, 94591, 4 },
- { 30317, 94592, 2 },
- { 30319, 94593, 15 },
- { 30334, 94594, 197 },
- { 30531, 94596, 16 },
- { 30547, 94637, 76 },
- { 30623, 94641, 10 },
- { 30633, 94645, 2 },
- { 30635, 95430, 68 },
- { 30703, 95506, 61 },
- { 30764, 95700, 4 },
- { 30768, 95701, 27 },
- { 30795, 95702, 2 },
- { 30797, 95703, 1 },
- { 30798, 95705, 1 },
- { 30799, 95706, 10 },
- { 30809, 95707, 4 },
- { 30813, 95708, 1 },
- { 30814, 95709, 1 },
- { 30815, 95715, 1 },
- { 30816, 95719, 1 },
- { 30817, 95720, 1 },
- { 30818, 95721, 1 },
- { 30819, 95722, 3 },
- { 30822, 95723, 2 },
- { 30824, 95724, 1 },
- { 30825, 95726, 1 },
- { 30826, 95727, 1 },
- { 30827, 95728, 1 },
- { 30828, 95729, 1 },
- { 30829, 95730, 1 },
- { 30830, 95731, 2 },
- { 30832, 95732, 1 },
- { 30833, 95734, 4 },
- { 30837, 95735, 7 },
- { 30844, 95736, 4 },
- { 30848, 95737, 4 },
- { 30852, 95738, 1 },
- { 30853, 95739, 10 },
- { 30863, 95740, 17 },
- { 30880, 95745, 3 },
- { 30883, 95746, 5 },
- { 30888, 95747, 17 },
- { 30905, 95799, 2 },
- { 30907, 96069, 44 },
- { 30951, 96073, 100 },
- { 31051, 96085, 15 },
- { 31066, 96087, 15 },
- { 31081, 96088, 15 },
- { 31096, 96089, 37 },
- { 31133, 96099, 174 },
- { 31307, 96155, 29 },
- { 31336, 96168, 44 },
- { 31380, 96172, 9 },
- { 31389, 96179, 2 },
- { 31391, 96193, 6 },
- { 31397, 96347, 984 },
- { 32381, 96351, 17 },
- { 32398, 96354, 13 },
- { 32411, 96357, 119 },
- { 32530, 96361, 95 },
- { 32625, 96367, 12 },
- { 32637, 96371, 1 },
- { 32638, 96386, 12 },
- { 32650, 96390, 56 },
- { 32706, 96398, 10 },
- { 32716, 96404, 40 },
- { 32756, 96412, 30 },
- { 32786, 96414, 2 },
- { 32788, 96492, 340 },
- { 33128, 96504, 14 },
- { 33142, 96506, 13 },
- { 33155, 96509, 9 },
- { 33164, 96516, 46 },
- { 33210, 96517, 7 },
- { 33217, 96525, 14 },
- { 33231, 96529, 9 },
- { 33240, 96536, 9 },
- { 33249, 96543, 147 },
- { 33396, 96544, 55 },
- { 33451, 96581, 10 },
- { 33461, 884044, 1 },
- { 33462, 884074, 96 },
+ { 11156, 1116, 80 },
+ { 11236, 1117, 86 },
+ { 11322, 1119, 103 },
+ { 11425, 1124, 43 },
+ { 11468, 1125, 94 },
+ { 11562, 1126, 84 },
+ { 11646, 1137, 48 },
+ { 11694, 1138, 480 },
+ { 12174, 7730, 64 },
+ { 12238, 28722, 1165 },
+ { 13403, 28725, 55 },
+ { 13458, 28734, 348 },
+ { 13806, 28754, 184 },
+ { 13990, 28762, 203 },
+ { 14193, 28767, 2 },
+ { 14195, 28768, 1 },
+ { 14196, 28769, 5 },
+ { 14201, 28793, 59 },
+ { 14260, 28796, 10 },
+ { 14270, 28802, 56 },
+ { 14326, 28810, 70 },
+ { 14396, 28818, 12 },
+ { 14408, 28824, 116 },
+ { 14524, 28835, 30 },
+ { 14554, 28838, 78 },
+ { 14632, 28839, 11 },
+ { 14643, 28843, 33 },
+ { 14676, 28844, 55 },
+ { 14731, 28853, 14 },
+ { 14745, 28855, 10 },
+ { 14755, 28857, 103 },
+ { 14858, 28881, 28 },
+ { 14886, 28891, 6 },
+ { 14892, 28893, 6 },
+ { 14898, 28895, 6 },
+ { 14904, 28904, 7 },
+ { 14911, 28905, 7 },
+ { 14918, 28906, 60 },
+ { 14978, 28910, 126 },
+ { 15104, 28912, 10 },
+ { 15114, 40102, 23 },
+ { 15137, 40106, 49 },
+ { 15186, 48860, 2 },
+ { 15188, 48919, 3 },
+ { 15191, 49065, 7 },
+ { 15198, 49077, 5 },
+ { 15203, 49082, 26 },
+ { 15229, 49083, 5 },
+ { 15234, 49084, 1 },
+ { 15235, 49085, 2 },
+ { 15237, 49086, 2 },
+ { 15239, 49087, 125 },
+ { 15364, 49103, 445 },
+ { 15809, 49105, 54 },
+ { 15863, 49112, 1 },
+ { 15864, 49144, 16 },
+ { 15880, 49160, 10 },
+ { 15890, 49166, 51 },
+ { 15941, 49167, 19 },
+ { 15960, 49168, 4 },
+ { 15964, 49172, 5 },
+ { 15969, 49173, 135 },
+ { 16104, 49175, 1 },
+ { 16105, 49176, 190 },
+ { 16295, 49179, 6 },
+ { 16301, 49181, 6 },
+ { 16307, 49183, 6 },
+ { 16313, 49185, 3 },
+ { 16316, 49188, 7 },
+ { 16323, 49189, 7 },
+ { 16330, 49199, 5 },
+ { 16335, 49201, 12 },
+ { 16347, 49202, 26 },
+ { 16373, 49203, 19 },
+ { 16392, 49204, 2 },
+ { 16394, 49205, 15 },
+ { 16409, 49207, 14 },
+ { 16423, 49241, 123 },
+ { 16546, 49246, 3 },
+ { 16549, 49250, 45 },
+ { 16594, 49253, 88 },
+ { 16682, 49254, 13 },
+ { 16695, 49257, 1 },
+ { 16696, 49304, 46 },
+ { 16742, 49434, 29 },
+ { 16771, 49437, 49 },
+ { 16820, 49452, 28 },
+ { 16848, 49456, 36 },
+ { 16884, 49465, 30 },
+ { 16914, 49470, 43 },
+ { 16957, 49475, 30 },
+ { 16987, 49476, 37 },
+ { 17024, 49480, 14 },
+ { 17038, 49522, 158 },
+ { 17196, 49524, 10 },
+ { 17206, 49530, 36 },
+ { 17242, 49534, 36 },
+ { 17278, 49538, 40 },
+ { 17318, 49546, 52 },
+ { 17370, 49557, 12 },
+ { 17382, 49558, 15 },
+ { 17397, 49559, 7 },
+ { 17404, 49560, 2 },
+ { 17406, 49561, 11 },
+ { 17417, 49562, 15 },
+ { 17432, 49563, 7 },
+ { 17439, 49564, 2 },
+ { 17441, 49631, 311 },
+ { 17752, 49640, 22 },
+ { 17774, 49650, 8 },
+ { 17782, 49674, 6 },
+ { 17788, 49675, 42 },
+ { 17830, 49676, 9 },
+ { 17839, 49745, 6 },
+ { 17845, 49747, 1 },
+ { 17846, 49748, 44 },
+ { 17890, 49749, 2 },
+ { 17892, 49752, 1 },
+ { 17893, 49754, 23 },
+ { 17916, 49755, 72 },
+ { 17988, 49763, 9 },
+ { 17997, 49811, 19 },
+ { 18016, 49812, 2 },
+ { 18018, 49817, 33 },
+ { 18051, 49820, 27 },
+ { 18078, 49825, 1 },
+ { 18079, 49889, 56 },
+ { 18135, 49893, 20 },
+ { 18155, 49895, 50 },
+ { 18205, 49896, 2 },
+ { 18207, 49901, 8 },
+ { 18215, 49902, 3 },
+ { 18218, 49903, 29 },
+ { 18247, 49905, 3 },
+ { 18250, 49909, 10 },
+ { 18260, 49916, 9 },
+ { 18269, 49923, 64 },
+ { 18333, 49955, 39 },
+ { 18372, 49959, 12 },
+ { 18384, 49968, 54 },
+ { 18438, 49971, 29 },
+ { 18467, 49973, 27 },
+ { 18494, 49978, 26 },
+ { 18520, 49985, 4 },
+ { 18524, 49997, 7 },
+ { 18531, 50077, 73 },
+ { 18604, 50132, 51 },
+ { 18655, 50145, 51 },
+ { 18706, 50152, 46 },
+ { 18752, 50160, 10 },
+ { 18762, 50454, 31 },
+ { 18793, 50455, 42 },
+ { 18835, 50456, 3 },
+ { 18838, 50458, 2 },
+ { 18840, 50533, 43 },
+ { 18883, 50541, 42 },
+ { 18925, 50563, 26 },
+ { 18951, 50601, 28 },
+ { 18979, 50621, 23 },
+ { 19002, 50630, 78 },
+ { 19080, 50634, 36 },
+ { 19116, 50643, 68 },
+ { 19184, 50653, 1 },
+ { 19185, 50655, 25 },
+ { 19210, 50662, 10 },
+ { 19220, 50668, 53 },
+ { 19273, 50669, 18 },
+ { 19291, 50677, 39 },
+ { 19330, 50686, 96 },
+ { 19426, 50687, 20 },
+ { 19446, 50698, 18 },
+ { 19464, 50699, 47 },
+ { 19511, 50761, 7 },
+ { 19518, 50762, 1 },
+ { 19519, 50763, 4 },
+ { 19523, 50764, 15 },
+ { 19538, 50765, 11 },
+ { 19549, 50771, 59 },
+ { 19608, 50776, 10 },
+ { 19618, 50782, 4 },
+ { 19622, 50783, 8 },
+ { 19630, 50785, 2 },
+ { 19632, 50787, 22 },
+ { 19654, 50788, 7 },
+ { 19661, 50789, 2 },
+ { 19663, 50790, 5 },
+ { 19668, 50791, 10 },
+ { 19678, 50793, 2 },
+ { 19680, 50795, 3 },
+ { 19683, 50797, 1 },
+ { 19684, 50803, 1 },
+ { 19685, 50808, 7 },
+ { 19692, 50810, 7 },
+ { 19699, 50813, 5 },
+ { 19704, 50952, 92 },
+ { 19796, 50953, 5 },
+ { 19801, 50983, 72 },
+ { 19873, 50991, 10 },
+ { 19883, 51157, 54 },
+ { 19937, 51159, 38 },
+ { 19975, 51193, 69 },
+ { 20044, 51204, 10 },
+ { 20054, 51210, 13 },
+ { 20067, 51229, 58 },
+ { 20125, 51235, 10 },
+ { 20135, 51289, 27 },
+ { 20162, 51291, 15 },
+ { 20177, 51295, 23 },
+ { 20200, 51480, 60 },
+ { 20260, 51580, 83 },
+ { 20343, 51592, 8 },
+ { 20351, 51594, 1 },
+ { 20352, 51596, 8 },
+ { 20360, 51597, 2 },
+ { 20362, 51598, 30 },
+ { 20392, 51599, 2 },
+ { 20394, 51601, 12 },
+ { 20406, 51610, 10 },
+ { 20416, 51680, 8 },
+ { 20424, 51682, 46 },
+ { 20470, 51684, 11 },
+ { 20481, 51711, 72 },
+ { 20553, 51719, 83 },
+ { 20636, 51732, 73 },
+ { 20709, 51739, 10 },
+ { 20719, 51985, 9 },
+ { 20728, 51986, 45 },
+ { 20773, 51987, 14 },
+ { 20787, 51997, 29 },
+ { 20816, 52000, 32 },
+ { 20848, 52002, 22 },
+ { 20870, 52003, 14 },
+ { 20884, 52076, 7 },
+ { 20891, 52077, 2 },
+ { 20893, 52078, 44 },
+ { 20937, 52081, 1 },
+ { 20938, 52082, 2 },
+ { 20940, 52083, 9 },
+ { 20949, 52091, 10 },
+ { 20959, 52097, 6 },
+ { 20965, 52098, 2 },
+ { 20967, 52099, 37 },
+ { 21004, 52100, 2 },
+ { 21006, 52101, 6 },
+ { 21012, 52108, 10 },
+ { 21022, 52418, 25 },
+ { 21047, 52425, 17 },
+ { 21064, 52426, 41 },
+ { 21105, 52429, 28 },
+ { 21133, 52515, 1 },
+ { 21134, 52530, 50 },
+ { 21184, 52543, 923 },
+ { 22107, 52645, 111 },
+ { 22218, 52646, 5 },
+ { 22223, 52657, 196 },
+ { 22419, 55293, 99 },
+ { 22518, 55306, 1110 },
+ { 23628, 59316, 583 },
+ { 24211, 67949, 569 },
+ { 24780, 67956, 31 },
+ { 24811, 67957, 10 },
+ { 24821, 67961, 81 },
+ { 24902, 67962, 10 },
+ { 24912, 67968, 30 },
+ { 24942, 67970, 6 },
+ { 24948, 67980, 70 },
+ { 25018, 67990, 10 },
+ { 25028, 67991, 7 },
+ { 25035, 67992, 21 },
+ { 25056, 67997, 19 },
+ { 25075, 68685, 91 },
+ { 25166, 68786, 75 },
+ { 25241, 68790, 57 },
+ { 25298, 68797, 17 },
+ { 25315, 68861, 5 },
+ { 25320, 68872, 2 },
+ { 25322, 75030, 1238 },
+ { 26560, 84016, 4 },
+ { 26564, 84017, 7 },
+ { 26571, 84018, 2 },
+ { 26573, 84019, 291 },
+ { 26864, 84034, 1 },
+ { 26865, 84063, 3 },
+ { 26868, 84065, 1 },
+ { 26869, 84079, 4 },
+ { 26873, 84087, 396 },
+ { 27269, 86395, 107 },
+ { 27376, 86400, 13 },
+ { 27389, 86403, 9 },
+ { 27398, 86410, 10 },
+ { 27408, 86412, 8 },
+ { 27416, 91112, 46 },
+ { 27462, 91114, 23 },
+ { 27485, 91123, 116 },
+ { 27601, 91183, 246 },
+ { 27847, 91193, 39 },
+ { 27886, 91195, 194 },
+ { 28080, 91216, 70 },
+ { 28150, 91338, 20 },
+ { 28170, 91350, 20 },
+ { 28190, 91362, 87 },
+ { 28277, 91371, 25 },
+ { 28302, 91506, 85 },
+ { 28387, 91507, 71 },
+ { 28458, 91508, 2 },
+ { 28460, 91510, 1 },
+ { 28461, 91512, 2 },
+ { 28463, 91514, 4 },
+ { 28467, 91515, 12 },
+ { 28479, 91516, 1 },
+ { 28480, 91517, 7 },
+ { 28487, 91518, 65 },
+ { 28552, 91519, 4 },
+ { 28556, 91521, 8 },
+ { 28564, 91522, 7 },
+ { 28571, 91523, 28 },
+ { 28599, 91524, 4 },
+ { 28603, 91525, 5 },
+ { 28608, 91526, 1 },
+ { 28609, 91529, 7 },
+ { 28616, 91530, 340 },
+ { 28956, 91532, 292 },
+ { 29248, 91534, 702 },
+ { 29950, 91549, 5 },
+ { 29955, 91550, 15 },
+ { 29970, 92654, 31 },
+ { 30001, 92660, 6 },
+ { 30007, 92873, 7 },
+ { 30014, 92874, 17 },
+ { 30031, 92876, 7 },
+ { 30038, 92877, 2 },
+ { 30040, 92878, 5 },
+ { 30045, 92883, 62 },
+ { 30107, 92916, 1 },
+ { 30108, 93028, 45 },
+ { 30153, 93031, 14 },
+ { 30167, 93033, 10 },
+ { 30177, 93037, 2 },
+ { 30179, 93357, 31 },
+ { 30210, 93374, 58 },
+ { 30268, 93379, 1 },
+ { 30269, 93843, 42 },
+ { 30311, 94585, 7 },
+ { 30318, 94586, 4 },
+ { 30322, 94587, 2 },
+ { 30324, 94588, 15 },
+ { 30339, 94589, 197 },
+ { 30536, 94591, 16 },
+ { 30552, 94632, 76 },
+ { 30628, 94636, 10 },
+ { 30638, 94640, 2 },
+ { 30640, 95425, 68 },
+ { 30708, 95501, 61 },
+ { 30769, 95695, 4 },
+ { 30773, 95696, 27 },
+ { 30800, 95697, 2 },
+ { 30802, 95698, 1 },
+ { 30803, 95700, 1 },
+ { 30804, 95701, 10 },
+ { 30814, 95702, 4 },
+ { 30818, 95703, 1 },
+ { 30819, 95704, 1 },
+ { 30820, 95710, 1 },
+ { 30821, 95714, 1 },
+ { 30822, 95715, 1 },
+ { 30823, 95716, 1 },
+ { 30824, 95717, 3 },
+ { 30827, 95718, 2 },
+ { 30829, 95719, 1 },
+ { 30830, 95721, 1 },
+ { 30831, 95722, 1 },
+ { 30832, 95723, 1 },
+ { 30833, 95724, 1 },
+ { 30834, 95725, 1 },
+ { 30835, 95726, 2 },
+ { 30837, 95727, 1 },
+ { 30838, 95729, 4 },
+ { 30842, 95730, 7 },
+ { 30849, 95731, 4 },
+ { 30853, 95732, 4 },
+ { 30857, 95733, 1 },
+ { 30858, 95734, 10 },
+ { 30868, 95735, 17 },
+ { 30885, 95740, 3 },
+ { 30888, 95741, 5 },
+ { 30893, 95742, 17 },
+ { 30910, 95794, 2 },
+ { 30912, 96064, 44 },
+ { 30956, 96068, 100 },
+ { 31056, 96080, 15 },
+ { 31071, 96082, 15 },
+ { 31086, 96083, 15 },
+ { 31101, 96084, 37 },
+ { 31138, 96094, 174 },
+ { 31312, 96150, 29 },
+ { 31341, 96163, 44 },
+ { 31385, 96167, 9 },
+ { 31394, 96174, 2 },
+ { 31396, 96188, 6 },
+ { 31402, 96342, 984 },
+ { 32386, 96346, 17 },
+ { 32403, 96349, 13 },
+ { 32416, 96352, 119 },
+ { 32535, 96356, 95 },
+ { 32630, 96362, 12 },
+ { 32642, 96366, 1 },
+ { 32643, 96381, 12 },
+ { 32655, 96385, 56 },
+ { 32711, 96393, 10 },
+ { 32721, 96399, 40 },
+ { 32761, 96407, 30 },
+ { 32791, 96409, 2 },
+ { 32793, 96487, 340 },
+ { 33133, 96499, 14 },
+ { 33147, 96501, 13 },
+ { 33160, 96504, 9 },
+ { 33169, 96511, 46 },
+ { 33215, 96512, 7 },
+ { 33222, 96520, 14 },
+ { 33236, 96524, 9 },
+ { 33245, 96531, 9 },
+ { 33254, 96538, 147 },
+ { 33401, 96539, 55 },
+ { 33456, 96576, 10 },
+ { 33466, 884039, 1 },
+ { 33467, 884069, 96 },
};
diff --git a/lib/uninorm.in.h b/lib/uninorm.in.h
index 804e4acf..14c1576c 100644
--- a/lib/uninorm.in.h
+++ b/lib/uninorm.in.h
@@ -1,5 +1,5 @@
/* Normalization forms (composition and decomposition) of Unicode strings.
- Copyright (C) 2001-2002, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
@@ -21,14 +21,17 @@
/* Get common macros for C. */
#include <unistring/cdefs.h>
-/* Get LIBUNISTRING_DLL_VARIABLE. */
-#include <unistring/woe32dll.h>
-
/* Get size_t. */
#include <stddef.h>
#include "unitypes.h"
+#if @HAVE_UNISTRING_WOE32DLL_H@
+# include <unistring/woe32dll.h>
+#else
+# define LIBUNISTRING_DLL_VARIABLE
+#endif
+
#ifdef __cplusplus
extern "C" {
@@ -114,21 +117,21 @@ struct unicode_normalization_form;
typedef const struct unicode_normalization_form *uninorm_t;
/* UNINORM_NFD: Normalization form D: canonical decomposition. */
-extern LIBUNISTRING_DLL_VARIABLE const struct unicode_normalization_form uninorm_nfd;
+extern @GNULIB_UNINORM_NFD_DLL_VARIABLE@ const struct unicode_normalization_form uninorm_nfd;
#define UNINORM_NFD (&uninorm_nfd)
/* UNINORM_NFC: Normalization form C: canonical decomposition, then
canonical composition. */
-extern LIBUNISTRING_DLL_VARIABLE const struct unicode_normalization_form uninorm_nfc;
+extern @GNULIB_UNINORM_NFC_DLL_VARIABLE@ const struct unicode_normalization_form uninorm_nfc;
#define UNINORM_NFC (&uninorm_nfc)
/* UNINORM_NFKD: Normalization form KD: compatibility decomposition. */
-extern LIBUNISTRING_DLL_VARIABLE const struct unicode_normalization_form uninorm_nfkd;
+extern @GNULIB_UNINORM_NFKD_DLL_VARIABLE@ const struct unicode_normalization_form uninorm_nfkd;
#define UNINORM_NFKD (&uninorm_nfkd)
/* UNINORM_NFKC: Normalization form KC: compatibility decomposition, then
canonical composition. */
-extern LIBUNISTRING_DLL_VARIABLE const struct unicode_normalization_form uninorm_nfkc;
+extern @GNULIB_UNINORM_NFKC_DLL_VARIABLE@ const struct unicode_normalization_form uninorm_nfkc;
#define UNINORM_NFKC (&uninorm_nfkc)
/* Test whether a normalization form does compatibility decomposition. */
diff --git a/lib/uninorm/canonical-decomposition.c b/lib/uninorm/canonical-decomposition.c
index 3bf0a087..ad817285 100644
--- a/lib/uninorm/canonical-decomposition.c
+++ b/lib/uninorm/canonical-decomposition.c
@@ -1,5 +1,5 @@
/* Canonical decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/compat-decomposition.c b/lib/uninorm/compat-decomposition.c
index 3e923528..7e65eec2 100644
--- a/lib/uninorm/compat-decomposition.c
+++ b/lib/uninorm/compat-decomposition.c
@@ -1,5 +1,5 @@
/* Compatibility decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/composition-table.gperf b/lib/uninorm/composition-table.gperf
index d7c7d184..b66b80e5 100644
--- a/lib/uninorm/composition-table.gperf
+++ b/lib/uninorm/composition-table.gperf
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Canonical composition of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2009-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uninorm/composition.c b/lib/uninorm/composition.c
index 645099e8..df662895 100644
--- a/lib/uninorm/composition.c
+++ b/lib/uninorm/composition.c
@@ -1,5 +1,5 @@
/* Canonical composition of Unicode characters.
- Copyright (C) 2002, 2006, 2009, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009, 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/decompose-internal.c b/lib/uninorm/decompose-internal.c
index 1ed82356..483ff4a4 100644
--- a/lib/uninorm/decompose-internal.c
+++ b/lib/uninorm/decompose-internal.c
@@ -1,5 +1,5 @@
/* Decomposition of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/decompose-internal.h b/lib/uninorm/decompose-internal.h
index 15d82502..b9640404 100644
--- a/lib/uninorm/decompose-internal.h
+++ b/lib/uninorm/decompose-internal.h
@@ -1,5 +1,5 @@
/* Decomposition of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/decomposing-form.c b/lib/uninorm/decomposing-form.c
index 62f10efc..d8a2d90d 100644
--- a/lib/uninorm/decomposing-form.c
+++ b/lib/uninorm/decomposing-form.c
@@ -1,5 +1,5 @@
/* Decomposing variant of a normalization form.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/decomposition-table.c b/lib/uninorm/decomposition-table.c
index 9bd91fc2..dfb26f45 100644
--- a/lib/uninorm/decomposition-table.c
+++ b/lib/uninorm/decomposition-table.c
@@ -1,5 +1,5 @@
/* Decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/decomposition-table.h b/lib/uninorm/decomposition-table.h
index 555f34e5..631d874e 100644
--- a/lib/uninorm/decomposition-table.h
+++ b/lib/uninorm/decomposition-table.h
@@ -1,5 +1,5 @@
/* Decomposition of Unicode characters.
- Copyright (C) 2001-2003, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/decomposition-table1.h b/lib/uninorm/decomposition-table1.h
index c2e8e6d9..ee245ce4 100644
--- a/lib/uninorm/decomposition-table1.h
+++ b/lib/uninorm/decomposition-table1.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decomposition of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uninorm/decomposition-table2.h b/lib/uninorm/decomposition-table2.h
index cddd9917..667ce474 100644
--- a/lib/uninorm/decomposition-table2.h
+++ b/lib/uninorm/decomposition-table2.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decomposition of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uninorm/decomposition.c b/lib/uninorm/decomposition.c
index ec5a3d79..46a7a595 100644
--- a/lib/uninorm/decomposition.c
+++ b/lib/uninorm/decomposition.c
@@ -1,5 +1,5 @@
/* Decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/nfc.c b/lib/uninorm/nfc.c
index 5dfabbe2..9d262356 100644
--- a/lib/uninorm/nfc.c
+++ b/lib/uninorm/nfc.c
@@ -1,5 +1,5 @@
/* Unicode Normalization Form C.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/nfd.c b/lib/uninorm/nfd.c
index e7a122b2..1e821bd9 100644
--- a/lib/uninorm/nfd.c
+++ b/lib/uninorm/nfd.c
@@ -1,5 +1,5 @@
/* Unicode Normalization Form D.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/nfkc.c b/lib/uninorm/nfkc.c
index e1a7caea..319b7a1b 100644
--- a/lib/uninorm/nfkc.c
+++ b/lib/uninorm/nfkc.c
@@ -1,5 +1,5 @@
/* Unicode Normalization Form KC.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/nfkd.c b/lib/uninorm/nfkd.c
index fcaed38a..1f2d030c 100644
--- a/lib/uninorm/nfkd.c
+++ b/lib/uninorm/nfkd.c
@@ -1,5 +1,5 @@
/* Unicode Normalization Form KD.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/normalize-internal.h b/lib/uninorm/normalize-internal.h
index aae6dbd3..a53d2ddb 100644
--- a/lib/uninorm/normalize-internal.h
+++ b/lib/uninorm/normalize-internal.h
@@ -1,5 +1,5 @@
/* Normalization of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/u-normalize-internal.h b/lib/uninorm/u-normalize-internal.h
index f0d9c6e0..9f5e0b04 100644
--- a/lib/uninorm/u-normalize-internal.h
+++ b/lib/uninorm/u-normalize-internal.h
@@ -1,5 +1,5 @@
/* Decomposition and composition of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/u-normcmp.h b/lib/uninorm/u-normcmp.h
index c709ab71..f846d510 100644
--- a/lib/uninorm/u-normcmp.h
+++ b/lib/uninorm/u-normcmp.h
@@ -1,5 +1,5 @@
/* Normalization insensitive comparison of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u-normcoll.h b/lib/uninorm/u-normcoll.h
index 3f86ddc2..7543e483 100644
--- a/lib/uninorm/u-normcoll.h
+++ b/lib/uninorm/u-normcoll.h
@@ -1,5 +1,5 @@
/* Locale dependent, normalization insensitive comparison of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u-normxfrm.h b/lib/uninorm/u-normxfrm.h
index a3ca0472..2d7f10e1 100644
--- a/lib/uninorm/u-normxfrm.h
+++ b/lib/uninorm/u-normxfrm.h
@@ -1,5 +1,5 @@
/* Locale dependent transformation for comparison of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u16-normalize.c b/lib/uninorm/u16-normalize.c
index 43e936d0..323c3eaa 100644
--- a/lib/uninorm/u16-normalize.c
+++ b/lib/uninorm/u16-normalize.c
@@ -1,5 +1,5 @@
/* Normalization of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u16-normcmp.c b/lib/uninorm/u16-normcmp.c
index 49c58191..7e244252 100644
--- a/lib/uninorm/u16-normcmp.c
+++ b/lib/uninorm/u16-normcmp.c
@@ -1,5 +1,5 @@
/* Normalization insensitive comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u16-normcoll.c b/lib/uninorm/u16-normcoll.c
index 4a3d7661..3649b0ac 100644
--- a/lib/uninorm/u16-normcoll.c
+++ b/lib/uninorm/u16-normcoll.c
@@ -1,5 +1,5 @@
/* Locale dependent, normalization insensitive comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u16-normxfrm.c b/lib/uninorm/u16-normxfrm.c
index f0ca014d..17cf959f 100644
--- a/lib/uninorm/u16-normxfrm.c
+++ b/lib/uninorm/u16-normxfrm.c
@@ -1,5 +1,5 @@
/* Locale dependent transformation for comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u32-normalize.c b/lib/uninorm/u32-normalize.c
index 6cfab7ed..fc1c9dfd 100644
--- a/lib/uninorm/u32-normalize.c
+++ b/lib/uninorm/u32-normalize.c
@@ -1,5 +1,5 @@
/* Normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uninorm/u32-normcmp.c b/lib/uninorm/u32-normcmp.c
index dc88a41e..f3d51002 100644
--- a/lib/uninorm/u32-normcmp.c
+++ b/lib/uninorm/u32-normcmp.c
@@ -1,5 +1,5 @@
/* Normalization insensitive comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u32-normcoll.c b/lib/uninorm/u32-normcoll.c
index d9b6522d..bba7f6a3 100644
--- a/lib/uninorm/u32-normcoll.c
+++ b/lib/uninorm/u32-normcoll.c
@@ -1,5 +1,5 @@
/* Locale dependent, normalization insensitive comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u32-normxfrm.c b/lib/uninorm/u32-normxfrm.c
index 098ee2c1..fb77472b 100644
--- a/lib/uninorm/u32-normxfrm.c
+++ b/lib/uninorm/u32-normxfrm.c
@@ -1,5 +1,5 @@
/* Locale dependent transformation for comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u8-normalize.c b/lib/uninorm/u8-normalize.c
index fe40d114..488a8a1e 100644
--- a/lib/uninorm/u8-normalize.c
+++ b/lib/uninorm/u8-normalize.c
@@ -1,5 +1,5 @@
/* Normalization of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u8-normcmp.c b/lib/uninorm/u8-normcmp.c
index 3c0f12a5..8eacdd5f 100644
--- a/lib/uninorm/u8-normcmp.c
+++ b/lib/uninorm/u8-normcmp.c
@@ -1,5 +1,5 @@
/* Normalization insensitive comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u8-normcoll.c b/lib/uninorm/u8-normcoll.c
index c7fac9ab..fea1c9dd 100644
--- a/lib/uninorm/u8-normcoll.c
+++ b/lib/uninorm/u8-normcoll.c
@@ -1,5 +1,5 @@
/* Locale dependent, normalization insensitive comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/u8-normxfrm.c b/lib/uninorm/u8-normxfrm.c
index 39fb9c8d..2d222416 100644
--- a/lib/uninorm/u8-normxfrm.c
+++ b/lib/uninorm/u8-normxfrm.c
@@ -1,5 +1,5 @@
/* Locale dependent transformation for comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uninorm/uninorm-filter.c b/lib/uninorm/uninorm-filter.c
index 99bb8684..c2af849c 100644
--- a/lib/uninorm/uninorm-filter.c
+++ b/lib/uninorm/uninorm-filter.c
@@ -1,5 +1,5 @@
/* Stream-based normalization of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistd.c b/lib/unistd.c
index 95978e6a..f3b3f7bd 100644
--- a/lib/unistd.c
+++ b/lib/unistd.c
@@ -1,6 +1,6 @@
/* Inline functions for <unistd.h>.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,5 +18,5 @@
#include <config.h>
#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
-#include "unistd.h"
+#include <unistd.h>
typedef int dummy;
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 50f6e565..b4129663 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -40,6 +40,24 @@
# undef _GL_INCLUDING_UNISTD_H
#endif
+/* Avoid lseek bugs in FreeBSD, macOS <https://bugs.gnu.org/61386>.
+ This bug is fixed after FreeBSD 13; see <https://bugs.freebsd.org/256205>.
+ Use macOS "9999" to stand for a future fixed macOS version. */
+#if defined __FreeBSD__ && __FreeBSD__ < 14
+# undef SEEK_DATA
+# undef SEEK_HOLE
+#elif defined __APPLE__ && defined __MACH__ && defined SEEK_DATA
+# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+# include <AvailabilityMacros.h>
+# endif
+# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \
+ || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000)
+# include <sys/fcntl.h> /* It also defines the two macros. */
+# undef SEEK_DATA
+# undef SEEK_HOLE
+# endif
+#endif
+
/* Get all possible declarations of gethostname(). */
#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
&& !defined _GL_INCLUDING_WINSOCK2_H
@@ -51,6 +69,12 @@
#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
#define _@GUARD_PREFIX@_UNISTD_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
/* But avoid namespace pollution on glibc systems. */
#ifndef __GLIBC__
@@ -152,9 +176,6 @@
# include <getopt-pfx-core.h>
#endif
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UNISTD_INLINE
# define _GL_UNISTD_INLINE _GL_INLINE
@@ -541,17 +562,22 @@ _GL_CXXALIASWARN (dup2);
Return newfd if successful, otherwise -1 and errno set.
See the Linux man page at
<https://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */
-# if @HAVE_DUP3@
+# if @REPLACE_DUP3@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef dup3
# define dup3 rpl_dup3
# endif
_GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags));
_GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags));
# else
+# if !@HAVE_DUP3@
_GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags));
+# endif
_GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (dup3);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef dup3
# if HAVE_RAW_DECL_DUP3
@@ -870,7 +896,9 @@ _GL_FUNCDECL_SYS (execvpe, int,
_GL_CXXALIAS_SYS (execvpe, int,
(const char *program, char * const *argv, char * const *env));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (execvpe);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef execvpe
# if HAVE_RAW_DECL_EXECVPE
@@ -925,7 +953,9 @@ _GL_FUNCDECL_SYS (faccessat, int,
_GL_CXXALIAS_SYS (faccessat, int,
(int fd, char const *file, int mode, int flag));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (faccessat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef faccessat
# if HAVE_RAW_DECL_FACCESSAT
@@ -941,23 +971,28 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
Return 0 if successful, otherwise -1 and errno set.
See the POSIX:2008 specification
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */
-# if ! @HAVE_FCHDIR@
+# if @REPLACE_FCHDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fchdir
+# define fchdir rpl_fchdir
+# endif
+_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/));
+_GL_CXXALIAS_RPL (fchdir, int, (int /*fd*/));
+# else
+# if !@HAVE_FCHDIR@ || !@HAVE_DECL_FCHDIR@
_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
-
+# endif
+_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
+# endif
+_GL_CXXALIASWARN (fchdir);
+# if @REPLACE_FCHDIR@ || !@HAVE_FCHDIR@
/* Gnulib internal hooks needed to maintain the fchdir metadata. */
_GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
_GL_ARG_NONNULL ((2));
_GL_EXTERN_C void _gl_unregister_fd (int fd);
_GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
_GL_EXTERN_C const char *_gl_directory_name (int fd);
-
-# else
-# if !@HAVE_DECL_FCHDIR@
-_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
-# endif
# endif
-_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
-_GL_CXXALIASWARN (fchdir);
#elif defined GNULIB_POSIXCHECK
# undef fchdir
# if HAVE_RAW_DECL_FCHDIR
@@ -1002,11 +1037,22 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
Return 0 if successful, otherwise -1 and errno set.
See POSIX:2008 specification
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */
-# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+# if @REPLACE_FDATASYNC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fdatasync
+# define fdatasync rpl_fdatasync
+# endif
+_GL_FUNCDECL_RPL (fdatasync, int, (int fd));
+_GL_CXXALIAS_RPL (fdatasync, int, (int fd));
+# else
+# if !@HAVE_FDATASYNC@|| !@HAVE_DECL_FDATASYNC@
_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
-# endif
+# endif
_GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (fdatasync);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef fdatasync
# if HAVE_RAW_DECL_FDATASYNC
@@ -1053,7 +1099,9 @@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
# endif
_GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (ftruncate);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef ftruncate
# if HAVE_RAW_DECL_FTRUNCATE
@@ -1070,10 +1118,10 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
or SIZE was too small.
See the POSIX:2008 specification
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
- Additionally, the gnulib module 'getcwd' guarantees the following GNU
- extension: If BUF is NULL, an array is allocated with 'malloc'; the array
- is SIZE bytes long, unless SIZE == 0, in which case it is as big as
- necessary. */
+ Additionally, the gnulib module 'getcwd' or 'getcwd-lgpl' guarantees the
+ following GNU extension: If BUF is NULL, an array is allocated with
+ 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case
+ it is as big as necessary. */
# if @REPLACE_GETCWD@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# define getcwd rpl_getcwd
@@ -1185,11 +1233,22 @@ _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
#if @GNULIB_GETENTROPY@
/* Fill a buffer with random bytes. */
-# if !@HAVE_GETENTROPY@
+# if @REPLACE_GETENTROPY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getentropy
+# define getentropy rpl_getentropy
+# endif
+_GL_FUNCDECL_RPL (getentropy, int, (void *buffer, size_t length));
+_GL_CXXALIAS_RPL (getentropy, int, (void *buffer, size_t length));
+# else
+# if !@HAVE_GETENTROPY@
_GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length));
-# endif
+# endif
_GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getentropy);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getentropy
# if HAVE_RAW_DECL_GETENTROPY
@@ -1323,7 +1382,9 @@ _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
int size. */
_GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getlogin_r);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getlogin_r
# if HAVE_RAW_DECL_GETLOGIN_R
@@ -1661,7 +1722,9 @@ _GL_CXXALIAS_SYS (linkat, int,
(int fd1, const char *path1, int fd2, const char *path2,
int flag));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (linkat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef linkat
# if HAVE_RAW_DECL_LINKAT
@@ -1742,8 +1805,9 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - "
Return 0 upon success, or -1 with errno set upon failure.
See also the Linux man page at
<https://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */
-# if @HAVE_PIPE2@
+# if @REPLACE_PIPE2@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef pipe2
# define pipe2 rpl_pipe2
# endif
_GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
@@ -1752,7 +1816,9 @@ _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
_GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (pipe2);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef pipe2
# if HAVE_RAW_DECL_PIPE2
@@ -1787,7 +1853,9 @@ _GL_FUNCDECL_SYS (pread, ssize_t,
_GL_CXXALIAS_SYS (pread, ssize_t,
(int fd, void *buf, size_t bufsize, off_t offset));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (pread);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef pread
# if HAVE_RAW_DECL_PREAD
@@ -1822,7 +1890,9 @@ _GL_FUNCDECL_SYS (pwrite, ssize_t,
_GL_CXXALIAS_SYS (pwrite, ssize_t,
(int fd, const void *buf, size_t bufsize, off_t offset));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (pwrite);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef pwrite
# if HAVE_RAW_DECL_PWRITE
@@ -1936,7 +2006,9 @@ _GL_CXXALIAS_SYS (readlinkat, ssize_t,
(int fd, char const *restrict file,
char *restrict buf, size_t len));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (readlinkat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef readlinkat
# if HAVE_RAW_DECL_READLINKAT
@@ -1996,15 +2068,27 @@ _GL_CXXALIASWARN (rmdir);
Platforms with no ability to set the hostname return -1 and set
errno = ENOSYS. */
-# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
+# if @REPLACE_SETHOSTNAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef sethostname
+# define sethostname rpl_sethostname
+# endif
+_GL_FUNCDECL_RPL (sethostname, int, (const char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (sethostname, int, (const char *name, size_t len));
+# else
+# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
_GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len)
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
/* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5
and FreeBSD 6.4 the second parameter is int. On Solaris 11
2011-10, the first parameter is not const. */
_GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (sethostname);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef sethostname
# if HAVE_RAW_DECL_SETHOSTNAME
@@ -2113,7 +2197,9 @@ _GL_FUNCDECL_SYS (symlinkat, int,
_GL_CXXALIAS_SYS (symlinkat, int,
(char const *contents, int fd, char const *file));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (symlinkat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef symlinkat
# if HAVE_RAW_DECL_SYMLINKAT
@@ -2143,7 +2229,9 @@ _GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
# endif
_GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (truncate);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef truncate
# if HAVE_RAW_DECL_TRUNCATE
@@ -2173,7 +2261,9 @@ _GL_FUNCDECL_SYS (ttyname_r, int,
_GL_CXXALIAS_SYS (ttyname_r, int,
(int fd, char *buf, size_t buflen));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (ttyname_r);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef ttyname_r
# if HAVE_RAW_DECL_TTYNAME_R
diff --git a/lib/unistdio.in.h b/lib/unistdio.in.h
index 8e8dfc2d..174024ec 100644
--- a/lib/unistdio.in.h
+++ b/lib/unistdio.in.h
@@ -1,5 +1,5 @@
/* Elementary Unicode string functions.
- Copyright (C) 2002, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unistdio/u-asnprintf.h b/lib/unistdio/u-asnprintf.h
index 632cf95d..302b3e51 100644
--- a/lib/unistdio/u-asnprintf.h
+++ b/lib/unistdio/u-asnprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-asprintf.h b/lib/unistdio/u-asprintf.h
index febb9940..bbec610e 100644
--- a/lib/unistdio/u-asprintf.h
+++ b/lib/unistdio/u-asprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-printf-args.c b/lib/unistdio/u-printf-args.c
index e9f69dd6..c8545194 100644
--- a/lib/unistdio/u-printf-args.c
+++ b/lib/unistdio/u-printf-args.c
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-printf-args.h b/lib/unistdio/u-printf-args.h
index 42428a33..e8c38758 100644
--- a/lib/unistdio/u-printf-args.h
+++ b/lib/unistdio/u-printf-args.h
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-printf-parse.h b/lib/unistdio/u-printf-parse.h
index 48d709f1..6292aa10 100644
--- a/lib/unistdio/u-printf-parse.h
+++ b/lib/unistdio/u-printf-parse.h
@@ -1,5 +1,5 @@
/* Parse printf format string.
- Copyright (C) 1999, 2002, 2005, 2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005, 2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-snprintf.h b/lib/unistdio/u-snprintf.h
index 5fa4a68e..c74bf876 100644
--- a/lib/unistdio/u-snprintf.h
+++ b/lib/unistdio/u-snprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-sprintf.h b/lib/unistdio/u-sprintf.h
index a3b34515..8b65188e 100644
--- a/lib/unistdio/u-sprintf.h
+++ b/lib/unistdio/u-sprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u-vasprintf.h b/lib/unistdio/u-vasprintf.h
index 6efbfcf6..bc04a0f5 100644
--- a/lib/unistdio/u-vasprintf.h
+++ b/lib/unistdio/u-vasprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unistdio/u-vsnprintf.h b/lib/unistdio/u-vsnprintf.h
index 9ff93702..50abaf30 100644
--- a/lib/unistdio/u-vsnprintf.h
+++ b/lib/unistdio/u-vsnprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unistdio/u-vsprintf.h b/lib/unistdio/u-vsprintf.h
index 8b1fe7dd..60b1b7f1 100644
--- a/lib/unistdio/u-vsprintf.h
+++ b/lib/unistdio/u-vsprintf.h
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unistdio/u16-asnprintf.c b/lib/unistdio/u16-asnprintf.c
index f855fb31..d558b701 100644
--- a/lib/unistdio/u16-asnprintf.c
+++ b/lib/unistdio/u16-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-asprintf.c b/lib/unistdio/u16-asprintf.c
index 71f2bf59..eed4f082 100644
--- a/lib/unistdio/u16-asprintf.c
+++ b/lib/unistdio/u16-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-printf-parse.c b/lib/unistdio/u16-printf-parse.c
index 07ca7fcf..c8db8a74 100644
--- a/lib/unistdio/u16-printf-parse.c
+++ b/lib/unistdio/u16-printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software.
diff --git a/lib/unistdio/u16-snprintf.c b/lib/unistdio/u16-snprintf.c
index a375be3f..a07c9e7f 100644
--- a/lib/unistdio/u16-snprintf.c
+++ b/lib/unistdio/u16-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-sprintf.c b/lib/unistdio/u16-sprintf.c
index f45cd83e..69b04974 100644
--- a/lib/unistdio/u16-sprintf.c
+++ b/lib/unistdio/u16-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-asnprintf.c b/lib/unistdio/u16-u16-asnprintf.c
index d3deea11..39ef34e7 100644
--- a/lib/unistdio/u16-u16-asnprintf.c
+++ b/lib/unistdio/u16-u16-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-asprintf.c b/lib/unistdio/u16-u16-asprintf.c
index a2896519..fba52cba 100644
--- a/lib/unistdio/u16-u16-asprintf.c
+++ b/lib/unistdio/u16-u16-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-snprintf.c b/lib/unistdio/u16-u16-snprintf.c
index 9731e5e6..bf4a5c9e 100644
--- a/lib/unistdio/u16-u16-snprintf.c
+++ b/lib/unistdio/u16-u16-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-sprintf.c b/lib/unistdio/u16-u16-sprintf.c
index 9c88172c..20d4f53d 100644
--- a/lib/unistdio/u16-u16-sprintf.c
+++ b/lib/unistdio/u16-u16-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-vasnprintf.c b/lib/unistdio/u16-u16-vasnprintf.c
index bfd70fac..c7ea8ddd 100644
--- a/lib/unistdio/u16-u16-vasnprintf.c
+++ b/lib/unistdio/u16-u16-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to UTF-16 strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
@@ -46,7 +46,6 @@
#define DIRECTIVES u16_directives
#define PRINTF_PARSE u16_printf_parse
#define DCHAR_T uint16_t
-#define DCHAR_T_IS_UINT16_T 1
#define DCHAR_CPY u16_cpy
#define DCHAR_SET u16_set
#define DCHAR_MBSNLEN u16_mbsnlen
diff --git a/lib/unistdio/u16-u16-vasprintf.c b/lib/unistdio/u16-u16-vasprintf.c
index 5b0b1646..1f57a389 100644
--- a/lib/unistdio/u16-u16-vasprintf.c
+++ b/lib/unistdio/u16-u16-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-vsnprintf.c b/lib/unistdio/u16-u16-vsnprintf.c
index d4af493d..157baa09 100644
--- a/lib/unistdio/u16-u16-vsnprintf.c
+++ b/lib/unistdio/u16-u16-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-u16-vsprintf.c b/lib/unistdio/u16-u16-vsprintf.c
index 3fd389c1..f95d1643 100644
--- a/lib/unistdio/u16-u16-vsprintf.c
+++ b/lib/unistdio/u16-u16-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-vasnprintf.c b/lib/unistdio/u16-vasnprintf.c
index 9e08c6ab..9e53aa29 100644
--- a/lib/unistdio/u16-vasnprintf.c
+++ b/lib/unistdio/u16-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to UTF-16 strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
@@ -47,7 +47,6 @@
#define FCHAR_T_ONLY_ASCII 1
#define PRINTF_PARSE ulc_printf_parse
#define DCHAR_T uint16_t
-#define DCHAR_T_IS_UINT16_T 1
#define DCHAR_CPY u16_cpy
#define DCHAR_SET u16_set
#define DCHAR_MBSNLEN u16_mbsnlen
diff --git a/lib/unistdio/u16-vasprintf.c b/lib/unistdio/u16-vasprintf.c
index 05354afb..67cfdf23 100644
--- a/lib/unistdio/u16-vasprintf.c
+++ b/lib/unistdio/u16-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-vsnprintf.c b/lib/unistdio/u16-vsnprintf.c
index cb0a0022..1cbb1c49 100644
--- a/lib/unistdio/u16-vsnprintf.c
+++ b/lib/unistdio/u16-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u16-vsprintf.c b/lib/unistdio/u16-vsprintf.c
index e0f4a48e..e4e420b5 100644
--- a/lib/unistdio/u16-vsprintf.c
+++ b/lib/unistdio/u16-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-asnprintf.c b/lib/unistdio/u32-asnprintf.c
index 0498cefe..eed6cec7 100644
--- a/lib/unistdio/u32-asnprintf.c
+++ b/lib/unistdio/u32-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-asprintf.c b/lib/unistdio/u32-asprintf.c
index 519f95c1..dafebcc3 100644
--- a/lib/unistdio/u32-asprintf.c
+++ b/lib/unistdio/u32-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-printf-parse.c b/lib/unistdio/u32-printf-parse.c
index aeccc000..2b101851 100644
--- a/lib/unistdio/u32-printf-parse.c
+++ b/lib/unistdio/u32-printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software.
diff --git a/lib/unistdio/u32-snprintf.c b/lib/unistdio/u32-snprintf.c
index fa22384c..b1d142a4 100644
--- a/lib/unistdio/u32-snprintf.c
+++ b/lib/unistdio/u32-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-sprintf.c b/lib/unistdio/u32-sprintf.c
index e36df8b2..65316e4d 100644
--- a/lib/unistdio/u32-sprintf.c
+++ b/lib/unistdio/u32-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-asnprintf.c b/lib/unistdio/u32-u32-asnprintf.c
index 4bfff5a1..616a355b 100644
--- a/lib/unistdio/u32-u32-asnprintf.c
+++ b/lib/unistdio/u32-u32-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-asprintf.c b/lib/unistdio/u32-u32-asprintf.c
index 5633bb07..71087e75 100644
--- a/lib/unistdio/u32-u32-asprintf.c
+++ b/lib/unistdio/u32-u32-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-snprintf.c b/lib/unistdio/u32-u32-snprintf.c
index 10182dd3..1be4c1a9 100644
--- a/lib/unistdio/u32-u32-snprintf.c
+++ b/lib/unistdio/u32-u32-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-sprintf.c b/lib/unistdio/u32-u32-sprintf.c
index 7357fc69..bcc144a8 100644
--- a/lib/unistdio/u32-u32-sprintf.c
+++ b/lib/unistdio/u32-u32-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-vasnprintf.c b/lib/unistdio/u32-u32-vasnprintf.c
index 6e7ea901..f2ff161d 100644
--- a/lib/unistdio/u32-u32-vasnprintf.c
+++ b/lib/unistdio/u32-u32-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to UTF-32 strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
@@ -46,7 +46,6 @@
#define DIRECTIVES u32_directives
#define PRINTF_PARSE u32_printf_parse
#define DCHAR_T uint32_t
-#define DCHAR_T_IS_UINT32_T 1
#define DCHAR_CPY u32_cpy
#define DCHAR_SET u32_set
#define DCHAR_MBSNLEN u32_mbsnlen
diff --git a/lib/unistdio/u32-u32-vasprintf.c b/lib/unistdio/u32-u32-vasprintf.c
index c62d51be..8f9ef2aa 100644
--- a/lib/unistdio/u32-u32-vasprintf.c
+++ b/lib/unistdio/u32-u32-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-vsnprintf.c b/lib/unistdio/u32-u32-vsnprintf.c
index 7ba651ca..54dbeba3 100644
--- a/lib/unistdio/u32-u32-vsnprintf.c
+++ b/lib/unistdio/u32-u32-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-u32-vsprintf.c b/lib/unistdio/u32-u32-vsprintf.c
index d151323f..af823d71 100644
--- a/lib/unistdio/u32-u32-vsprintf.c
+++ b/lib/unistdio/u32-u32-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-vasnprintf.c b/lib/unistdio/u32-vasnprintf.c
index 14594844..855a66a0 100644
--- a/lib/unistdio/u32-vasnprintf.c
+++ b/lib/unistdio/u32-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to UTF-32 strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
@@ -47,7 +47,6 @@
#define FCHAR_T_ONLY_ASCII 1
#define PRINTF_PARSE ulc_printf_parse
#define DCHAR_T uint32_t
-#define DCHAR_T_IS_UINT32_T 1
#define DCHAR_CPY u32_cpy
#define DCHAR_SET u32_set
#define DCHAR_MBSNLEN u32_mbsnlen
diff --git a/lib/unistdio/u32-vasprintf.c b/lib/unistdio/u32-vasprintf.c
index 8b9791c7..8760c93f 100644
--- a/lib/unistdio/u32-vasprintf.c
+++ b/lib/unistdio/u32-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-vsnprintf.c b/lib/unistdio/u32-vsnprintf.c
index 1ec73140..806f3281 100644
--- a/lib/unistdio/u32-vsnprintf.c
+++ b/lib/unistdio/u32-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u32-vsprintf.c b/lib/unistdio/u32-vsprintf.c
index 9e8e360e..67802237 100644
--- a/lib/unistdio/u32-vsprintf.c
+++ b/lib/unistdio/u32-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-asnprintf.c b/lib/unistdio/u8-asnprintf.c
index bf7182bd..67a5d29c 100644
--- a/lib/unistdio/u8-asnprintf.c
+++ b/lib/unistdio/u8-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-asprintf.c b/lib/unistdio/u8-asprintf.c
index 1694c5d0..4255e32b 100644
--- a/lib/unistdio/u8-asprintf.c
+++ b/lib/unistdio/u8-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-printf-parse.c b/lib/unistdio/u8-printf-parse.c
index d7584bd4..77da2d4b 100644
--- a/lib/unistdio/u8-printf-parse.c
+++ b/lib/unistdio/u8-printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software.
diff --git a/lib/unistdio/u8-snprintf.c b/lib/unistdio/u8-snprintf.c
index 1c83a169..9809a66e 100644
--- a/lib/unistdio/u8-snprintf.c
+++ b/lib/unistdio/u8-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-sprintf.c b/lib/unistdio/u8-sprintf.c
index 767f5971..3c2f6b41 100644
--- a/lib/unistdio/u8-sprintf.c
+++ b/lib/unistdio/u8-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-asnprintf.c b/lib/unistdio/u8-u8-asnprintf.c
index dd906f77..2b11f2f1 100644
--- a/lib/unistdio/u8-u8-asnprintf.c
+++ b/lib/unistdio/u8-u8-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-asprintf.c b/lib/unistdio/u8-u8-asprintf.c
index d3cf7af5..0b171ec1 100644
--- a/lib/unistdio/u8-u8-asprintf.c
+++ b/lib/unistdio/u8-u8-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-snprintf.c b/lib/unistdio/u8-u8-snprintf.c
index b8c61d7f..acd50158 100644
--- a/lib/unistdio/u8-u8-snprintf.c
+++ b/lib/unistdio/u8-u8-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-sprintf.c b/lib/unistdio/u8-u8-sprintf.c
index 1de12b1d..9eed64bb 100644
--- a/lib/unistdio/u8-u8-sprintf.c
+++ b/lib/unistdio/u8-u8-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-vasnprintf.c b/lib/unistdio/u8-u8-vasnprintf.c
index 0fc6b7c5..c5e8f748 100644
--- a/lib/unistdio/u8-u8-vasnprintf.c
+++ b/lib/unistdio/u8-u8-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to UTF-8 strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
@@ -46,7 +46,6 @@
#define DIRECTIVES u8_directives
#define PRINTF_PARSE u8_printf_parse
#define DCHAR_T uint8_t
-#define DCHAR_T_IS_UINT8_T 1
#define DCHAR_CPY u8_cpy
#define DCHAR_SET u8_set
#define DCHAR_MBSNLEN u8_mbsnlen
diff --git a/lib/unistdio/u8-u8-vasprintf.c b/lib/unistdio/u8-u8-vasprintf.c
index 5487926b..fff309e2 100644
--- a/lib/unistdio/u8-u8-vasprintf.c
+++ b/lib/unistdio/u8-u8-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-vsnprintf.c b/lib/unistdio/u8-u8-vsnprintf.c
index 904a782e..8b7681d1 100644
--- a/lib/unistdio/u8-u8-vsnprintf.c
+++ b/lib/unistdio/u8-u8-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-u8-vsprintf.c b/lib/unistdio/u8-u8-vsprintf.c
index 0a95daa1..f37fff35 100644
--- a/lib/unistdio/u8-u8-vsprintf.c
+++ b/lib/unistdio/u8-u8-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-vasnprintf.c b/lib/unistdio/u8-vasnprintf.c
index ce458713..2dd8e0ba 100644
--- a/lib/unistdio/u8-vasnprintf.c
+++ b/lib/unistdio/u8-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to UTF-8 strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
@@ -47,7 +47,6 @@
#define FCHAR_T_ONLY_ASCII 1
#define PRINTF_PARSE ulc_printf_parse
#define DCHAR_T uint8_t
-#define DCHAR_T_IS_UINT8_T 1
#define DCHAR_CPY u8_cpy
#define DCHAR_SET u8_set
#define DCHAR_MBSNLEN u8_mbsnlen
diff --git a/lib/unistdio/u8-vasprintf.c b/lib/unistdio/u8-vasprintf.c
index 4c4f4d7e..e97067c1 100644
--- a/lib/unistdio/u8-vasprintf.c
+++ b/lib/unistdio/u8-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-vsnprintf.c b/lib/unistdio/u8-vsnprintf.c
index a32889c4..4d818e47 100644
--- a/lib/unistdio/u8-vsnprintf.c
+++ b/lib/unistdio/u8-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/u8-vsprintf.c b/lib/unistdio/u8-vsprintf.c
index 14e6c268..5f904f6a 100644
--- a/lib/unistdio/u8-vsprintf.c
+++ b/lib/unistdio/u8-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-asnprintf.c b/lib/unistdio/ulc-asnprintf.c
index b6521708..05f1cc2e 100644
--- a/lib/unistdio/ulc-asnprintf.c
+++ b/lib/unistdio/ulc-asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-asprintf.c b/lib/unistdio/ulc-asprintf.c
index fbceb2af..135fee90 100644
--- a/lib/unistdio/ulc-asprintf.c
+++ b/lib/unistdio/ulc-asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-fprintf.c b/lib/unistdio/ulc-fprintf.c
index 71a299a4..5ef0e7ce 100644
--- a/lib/unistdio/ulc-fprintf.c
+++ b/lib/unistdio/ulc-fprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to a stream.
- Copyright (C) 2004, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unistdio/ulc-printf-parse.c b/lib/unistdio/ulc-printf-parse.c
index 83910420..7188d9d2 100644
--- a/lib/unistdio/ulc-printf-parse.c
+++ b/lib/unistdio/ulc-printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-snprintf.c b/lib/unistdio/ulc-snprintf.c
index b53100e8..e7f91ec2 100644
--- a/lib/unistdio/ulc-snprintf.c
+++ b/lib/unistdio/ulc-snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-sprintf.c b/lib/unistdio/ulc-sprintf.c
index 2c0e3bca..c3a6737c 100644
--- a/lib/unistdio/ulc-sprintf.c
+++ b/lib/unistdio/ulc-sprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2005-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2005-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-vasnprintf.c b/lib/unistdio/ulc-vasnprintf.c
index 2ce2a7df..4cc4fe4a 100644
--- a/lib/unistdio/ulc-vasnprintf.c
+++ b/lib/unistdio/ulc-vasnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-vasprintf.c b/lib/unistdio/ulc-vasprintf.c
index 9e1ae14b..023c43f7 100644
--- a/lib/unistdio/ulc-vasprintf.c
+++ b/lib/unistdio/ulc-vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-vfprintf.c b/lib/unistdio/ulc-vfprintf.c
index ffb2638a..483d49a5 100644
--- a/lib/unistdio/ulc-vfprintf.c
+++ b/lib/unistdio/ulc-vfprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to a stream.
- Copyright (C) 2004, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/lib/unistdio/ulc-vsnprintf.c b/lib/unistdio/ulc-vsnprintf.c
index 07e0a276..b7188994 100644
--- a/lib/unistdio/ulc-vsnprintf.c
+++ b/lib/unistdio/ulc-vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistdio/ulc-vsprintf.c b/lib/unistdio/ulc-vsprintf.c
index 3d0b3d15..3301c4a2 100644
--- a/lib/unistdio/ulc-vsprintf.c
+++ b/lib/unistdio/ulc-vsprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software.
diff --git a/lib/unistr.in.h b/lib/unistr.in.h
index 90125e59..f89a680e 100644
--- a/lib/unistr.in.h
+++ b/lib/unistr.in.h
@@ -1,5 +1,5 @@
/* Elementary Unicode string functions.
- Copyright (C) 2001-2002, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -386,6 +386,15 @@ extern uint16_t *
extern uint32_t *
u32_cpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
+/* Copy N units from SRC to DEST, returning pointer after last written unit. */
+/* Similar to mempcpy(). */
+extern uint8_t *
+ u8_pcpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n);
+extern uint16_t *
+ u16_pcpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n);
+extern uint32_t *
+ u32_pcpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
+
/* Copy N units from SRC to DEST, guaranteeing correct behavior for
overlapping memory areas. */
/* Similar to memmove(). */
diff --git a/lib/unistr/u-cmp2.h b/lib/unistr/u-cmp2.h
index 1b4ca97f..8d5960b4 100644
--- a/lib/unistr/u-cmp2.h
+++ b/lib/unistr/u-cmp2.h
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-8/UTF-16/UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u-cpy-alloc.h b/lib/unistr/u-cpy-alloc.h
index 0f60d1e5..ac225661 100644
--- a/lib/unistr/u-cpy-alloc.h
+++ b/lib/unistr/u-cpy-alloc.h
@@ -1,5 +1,5 @@
/* Copy piece of UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u-cpy.h b/lib/unistr/u-cpy.h
index f0b3bc85..4848c146 100644
--- a/lib/unistr/u-cpy.h
+++ b/lib/unistr/u-cpy.h
@@ -1,5 +1,5 @@
/* Copy piece of UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u-endswith.h b/lib/unistr/u-endswith.h
index d69204b7..0c512ad9 100644
--- a/lib/unistr/u-endswith.h
+++ b/lib/unistr/u-endswith.h
@@ -1,5 +1,5 @@
/* Substring test for UTF-8/UTF-16/UTF-32 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-move.h b/lib/unistr/u-move.h
index 00ced078..9aa36c41 100644
--- a/lib/unistr/u-move.h
+++ b/lib/unistr/u-move.h
@@ -1,5 +1,5 @@
/* Copy piece of UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-pcpy.h b/lib/unistr/u-pcpy.h
new file mode 100644
index 00000000..81241975
--- /dev/null
+++ b/lib/unistr/u-pcpy.h
@@ -0,0 +1,22 @@
+/* Copy piece of UTF-8/16/32 string, return pointer after last written unit.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2023.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+UNIT *
+FUNC (UNIT *dest, const UNIT *src, size_t n)
+{
+ return U_CPY (dest, src, n) + n;
+}
diff --git a/lib/unistr/u-set.h b/lib/unistr/u-set.h
index 573da7e9..088cabef 100644
--- a/lib/unistr/u-set.h
+++ b/lib/unistr/u-set.h
@@ -1,5 +1,5 @@
/* Fill UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-startswith.h b/lib/unistr/u-startswith.h
index a6aded59..8346c26c 100644
--- a/lib/unistr/u-startswith.h
+++ b/lib/unistr/u-startswith.h
@@ -1,5 +1,5 @@
/* Substring test for UTF-8/UTF-16/UTF-32 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-stpcpy.h b/lib/unistr/u-stpcpy.h
index 07008b0a..22099ed7 100644
--- a/lib/unistr/u-stpcpy.h
+++ b/lib/unistr/u-stpcpy.h
@@ -1,5 +1,5 @@
/* Copy UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-stpncpy.h b/lib/unistr/u-stpncpy.h
index 9c4e5829..2e532e07 100644
--- a/lib/unistr/u-stpncpy.h
+++ b/lib/unistr/u-stpncpy.h
@@ -1,5 +1,5 @@
/* Copy UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strcat.h b/lib/unistr/u-strcat.h
index f742165b..a4a4e931 100644
--- a/lib/unistr/u-strcat.h
+++ b/lib/unistr/u-strcat.h
@@ -1,27 +1,19 @@
/* Concatenate UTF-8/UTF-16/UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
UNIT *
FUNC (UNIT *dest, const UNIT *src)
diff --git a/lib/unistr/u-strcoll.h b/lib/unistr/u-strcoll.h
index ee08ab75..e26eac08 100644
--- a/lib/unistr/u-strcoll.h
+++ b/lib/unistr/u-strcoll.h
@@ -1,6 +1,6 @@
/* Compare UTF-8/UTF-16/UTF-32 strings using the collation rules of the current
locale.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u-strcpy.h b/lib/unistr/u-strcpy.h
index 04c1b9d2..4151d1cc 100644
--- a/lib/unistr/u-strcpy.h
+++ b/lib/unistr/u-strcpy.h
@@ -1,5 +1,5 @@
/* Copy UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strcspn.h b/lib/unistr/u-strcspn.h
index eab30943..3cca61c1 100644
--- a/lib/unistr/u-strcspn.h
+++ b/lib/unistr/u-strcspn.h
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strdup.h b/lib/unistr/u-strdup.h
index 543a5448..978687b6 100644
--- a/lib/unistr/u-strdup.h
+++ b/lib/unistr/u-strdup.h
@@ -1,5 +1,5 @@
/* Copy UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u-strlen.h b/lib/unistr/u-strlen.h
index 70998fc4..03106a15 100644
--- a/lib/unistr/u-strlen.h
+++ b/lib/unistr/u-strlen.h
@@ -1,27 +1,19 @@
/* Determine length of UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
size_t
FUNC (const UNIT *s)
diff --git a/lib/unistr/u-strncat.h b/lib/unistr/u-strncat.h
index 3e85b615..587960da 100644
--- a/lib/unistr/u-strncat.h
+++ b/lib/unistr/u-strncat.h
@@ -1,5 +1,5 @@
/* Concatenate UTF-8/UTF-16/UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strncpy.h b/lib/unistr/u-strncpy.h
index 89b65dd1..c59db653 100644
--- a/lib/unistr/u-strncpy.h
+++ b/lib/unistr/u-strncpy.h
@@ -1,5 +1,5 @@
/* Copy UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strnlen.h b/lib/unistr/u-strnlen.h
index b7237ce9..4ec1474f 100644
--- a/lib/unistr/u-strnlen.h
+++ b/lib/unistr/u-strnlen.h
@@ -1,5 +1,5 @@
/* Determine bounded length of UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strpbrk.h b/lib/unistr/u-strpbrk.h
index 847bd6f9..c5f9d2de 100644
--- a/lib/unistr/u-strpbrk.h
+++ b/lib/unistr/u-strpbrk.h
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strspn.h b/lib/unistr/u-strspn.h
index 13b5df84..021ffcfc 100644
--- a/lib/unistr/u-strspn.h
+++ b/lib/unistr/u-strspn.h
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u-strstr.h b/lib/unistr/u-strstr.h
deleted file mode 100644
index 98dda4be..00000000
--- a/lib/unistr/u-strstr.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Substring test for UTF-8/UTF-16/UTF-32 strings. -*- coding: utf-8 -*-
- Copyright (C) 1999, 2002, 2006, 2010-2022 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002, 2005.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file 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 and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-UNIT *
-FUNC (const UNIT *haystack, const UNIT *needle)
-{
- UNIT first = needle[0];
-
- /* Is needle empty? */
- if (first == 0)
- return (UNIT *) haystack;
-
- /* Is needle nearly empty (only one unit)? */
- if (needle[1] == 0)
- return U_STRCHR (haystack, first);
-
-#ifdef U_STRMBTOUC
- /* Is needle nearly empty (only one character)? */
- {
- ucs4_t first_uc;
- int count = U_STRMBTOUC (&first_uc, needle);
- if (count > 0 && needle[count] == 0)
- return U_STRCHR (haystack, first_uc);
- }
-#endif
-
-#if UNIT_IS_UINT8_T
- return (uint8_t *) strstr ((const char *) haystack, (const char *) needle);
-#else
- {
- /* Minimizing the worst-case complexity:
- Let n = U_STRLEN(haystack), m = U_STRLEN(needle).
- The naïve algorithm is O(n*m) worst-case.
- The Knuth-Morris-Pratt algorithm is O(n) worst-case but it needs a
- memory allocation.
- To achieve linear complexity and yet amortize the cost of the
- memory allocation, we activate the Knuth-Morris-Pratt algorithm
- only once the naïve algorithm has already run for some time; more
- precisely, when
- - the outer loop count is >= 10,
- - the average number of comparisons per outer loop is >= 5,
- - the total number of comparisons is >= m.
- But we try it only once. If the memory allocation attempt failed,
- we don't retry it. */
- bool try_kmp = true;
- size_t outer_loop_count = 0;
- size_t comparison_count = 0;
- size_t last_ccount = 0; /* last comparison count */
- const UNIT *needle_last_ccount = needle; /* = needle + last_ccount */
-
- /* Speed up the following searches of needle by caching its first
- character. */
- UNIT b = *needle++;
-
- for (;; haystack++)
- {
- if (*haystack == 0)
- /* No match. */
- return NULL;
-
- /* See whether it's advisable to use an asymptotically faster
- algorithm. */
- if (try_kmp
- && outer_loop_count >= 10
- && comparison_count >= 5 * outer_loop_count)
- {
- /* See if needle + comparison_count now reaches the end of
- needle. */
- if (needle_last_ccount != NULL)
- {
- needle_last_ccount +=
- U_STRNLEN (needle_last_ccount,
- comparison_count - last_ccount);
- if (*needle_last_ccount == 0)
- needle_last_ccount = NULL;
- last_ccount = comparison_count;
- }
- if (needle_last_ccount == NULL)
- {
- /* Try the Knuth-Morris-Pratt algorithm. */
- const UNIT *result;
- bool success =
- knuth_morris_pratt (haystack,
- needle - 1, U_STRLEN (needle - 1),
- &result);
- if (success)
- return (UNIT *) result;
- try_kmp = false;
- }
- }
-
- outer_loop_count++;
- comparison_count++;
- if (*haystack == b)
- /* The first character matches. */
- {
- const UNIT *rhaystack = haystack + 1;
- const UNIT *rneedle = needle;
-
- for (;; rhaystack++, rneedle++)
- {
- if (*rneedle == 0)
- /* Found a match. */
- return (UNIT *) haystack;
- if (*rhaystack == 0)
- /* No match. */
- return NULL;
- comparison_count++;
- if (*rhaystack != *rneedle)
- /* Nothing in this round. */
- break;
- }
- }
- }
- }
-#endif
-}
diff --git a/lib/unistr/u-strtok.h b/lib/unistr/u-strtok.h
index 088e80ba..823b545d 100644
--- a/lib/unistr/u-strtok.h
+++ b/lib/unistr/u-strtok.h
@@ -1,5 +1,5 @@
/* Tokenize UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-check.c b/lib/unistr/u16-check.c
index f97327d6..9372236e 100644
--- a/lib/unistr/u16-check.c
+++ b/lib/unistr/u16-check.c
@@ -1,5 +1,5 @@
/* Check UTF-16 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-chr.c b/lib/unistr/u16-chr.c
index 97927c2f..fa46cfb1 100644
--- a/lib/unistr/u16-chr.c
+++ b/lib/unistr/u16-chr.c
@@ -1,5 +1,5 @@
/* Search character in piece of UTF-16 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-cmp.c b/lib/unistr/u16-cmp.c
index 67a69889..1a27f5d3 100644
--- a/lib/unistr/u16-cmp.c
+++ b/lib/unistr/u16-cmp.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-16 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-cmp2.c b/lib/unistr/u16-cmp2.c
index f6d323eb..bb53fef2 100644
--- a/lib/unistr/u16-cmp2.c
+++ b/lib/unistr/u16-cmp2.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u16-cpy-alloc.c b/lib/unistr/u16-cpy-alloc.c
index 2da1e64d..a7259d7b 100644
--- a/lib/unistr/u16-cpy-alloc.c
+++ b/lib/unistr/u16-cpy-alloc.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-cpy.c b/lib/unistr/u16-cpy.c
index 0f0b7d54..0c61d33d 100644
--- a/lib/unistr/u16-cpy.c
+++ b/lib/unistr/u16-cpy.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-endswith.c b/lib/unistr/u16-endswith.c
index 0dddd2df..b12105d1 100644
--- a/lib/unistr/u16-endswith.c
+++ b/lib/unistr/u16-endswith.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-16 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-mblen.c b/lib/unistr/u16-mblen.c
index 2083ee7b..e29d3c07 100644
--- a/lib/unistr/u16-mblen.c
+++ b/lib/unistr/u16-mblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-mbsnlen.c b/lib/unistr/u16-mbsnlen.c
index 05b3330d..3a074507 100644
--- a/lib/unistr/u16-mbsnlen.c
+++ b/lib/unistr/u16-mbsnlen.c
@@ -1,5 +1,5 @@
/* Count characters in UTF-16 string.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unistr/u16-mbtouc-aux.c b/lib/unistr/u16-mbtouc-aux.c
index 99a54aab..f6ca667c 100644
--- a/lib/unistr/u16-mbtouc-aux.c
+++ b/lib/unistr/u16-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-16 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unistr/u16-mbtouc-unsafe-aux.c b/lib/unistr/u16-mbtouc-unsafe-aux.c
index 7199854a..44f68229 100644
--- a/lib/unistr/u16-mbtouc-unsafe-aux.c
+++ b/lib/unistr/u16-mbtouc-unsafe-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-16 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unistr/u16-mbtouc-unsafe.c b/lib/unistr/u16-mbtouc-unsafe.c
index bacacc7d..3d5f8289 100644
--- a/lib/unistr/u16-mbtouc-unsafe.c
+++ b/lib/unistr/u16-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unistr/u16-mbtouc.c b/lib/unistr/u16-mbtouc.c
index 20cae8ee..e6fad1c8 100644
--- a/lib/unistr/u16-mbtouc.c
+++ b/lib/unistr/u16-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unistr/u16-mbtoucr.c b/lib/unistr/u16-mbtoucr.c
index 7cb40c1b..7a0ff452 100644
--- a/lib/unistr/u16-mbtoucr.c
+++ b/lib/unistr/u16-mbtoucr.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string, returning an error code.
- Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software.
diff --git a/lib/unistr/u16-move.c b/lib/unistr/u16-move.c
index 9c8ac008..680ac997 100644
--- a/lib/unistr/u16-move.c
+++ b/lib/unistr/u16-move.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-next.c b/lib/unistr/u16-next.c
index c5bc23ab..c4307681 100644
--- a/lib/unistr/u16-next.c
+++ b/lib/unistr/u16-next.c
@@ -1,5 +1,5 @@
/* Iterate over next character in UTF-16 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-pcpy.c b/lib/unistr/u16-pcpy.c
new file mode 100644
index 00000000..9ed2c9dc
--- /dev/null
+++ b/lib/unistr/u16-pcpy.c
@@ -0,0 +1,34 @@
+/* Copy piece of UTF-16 string, return pointer after last written unit.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2023.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+#define FUNC u16_pcpy
+#define UNIT uint16_t
+#define U_CPY u16_cpy
+#include "u-pcpy.h"
diff --git a/lib/unistr/u16-prev.c b/lib/unistr/u16-prev.c
index bf5259da..38032708 100644
--- a/lib/unistr/u16-prev.c
+++ b/lib/unistr/u16-prev.c
@@ -1,5 +1,5 @@
/* Iterate over previous character in UTF-16 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-set.c b/lib/unistr/u16-set.c
index 0f676bd7..ee4c4d08 100644
--- a/lib/unistr/u16-set.c
+++ b/lib/unistr/u16-set.c
@@ -1,5 +1,5 @@
/* Fill UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-startswith.c b/lib/unistr/u16-startswith.c
index 2c51c9fe..748ecc51 100644
--- a/lib/unistr/u16-startswith.c
+++ b/lib/unistr/u16-startswith.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-16 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-stpcpy.c b/lib/unistr/u16-stpcpy.c
index 9844d501..268d44e7 100644
--- a/lib/unistr/u16-stpcpy.c
+++ b/lib/unistr/u16-stpcpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-16 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-stpncpy.c b/lib/unistr/u16-stpncpy.c
index da4d90b6..33793a0f 100644
--- a/lib/unistr/u16-stpncpy.c
+++ b/lib/unistr/u16-stpncpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strcat.c b/lib/unistr/u16-strcat.c
index acc0b008..e3aac729 100644
--- a/lib/unistr/u16-strcat.c
+++ b/lib/unistr/u16-strcat.c
@@ -1,5 +1,5 @@
/* Concatenate UTF-16 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strchr.c b/lib/unistr/u16-strchr.c
index 99ba61cc..fe42999e 100644
--- a/lib/unistr/u16-strchr.c
+++ b/lib/unistr/u16-strchr.c
@@ -1,5 +1,5 @@
/* Search character in UTF-16 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-strcmp.c b/lib/unistr/u16-strcmp.c
index 4c7f3cc1..449d5d6a 100644
--- a/lib/unistr/u16-strcmp.c
+++ b/lib/unistr/u16-strcmp.c
@@ -1,5 +1,5 @@
/* Compare UTF-16 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strcoll.c b/lib/unistr/u16-strcoll.c
index fd0a3162..ea0b2d03 100644
--- a/lib/unistr/u16-strcoll.c
+++ b/lib/unistr/u16-strcoll.c
@@ -1,5 +1,5 @@
/* Compare UTF-16 strings using the collation rules of the current locale.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u16-strcpy.c b/lib/unistr/u16-strcpy.c
index 714e8a6f..798cf246 100644
--- a/lib/unistr/u16-strcpy.c
+++ b/lib/unistr/u16-strcpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strcspn.c b/lib/unistr/u16-strcspn.c
index 686fb89f..c36a84c1 100644
--- a/lib/unistr/u16-strcspn.c
+++ b/lib/unistr/u16-strcspn.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strdup.c b/lib/unistr/u16-strdup.c
index cf6f53bd..bebed128 100644
--- a/lib/unistr/u16-strdup.c
+++ b/lib/unistr/u16-strdup.c
@@ -1,5 +1,5 @@
/* Copy UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strlen.c b/lib/unistr/u16-strlen.c
index 95e805cc..d6db9170 100644
--- a/lib/unistr/u16-strlen.c
+++ b/lib/unistr/u16-strlen.c
@@ -1,5 +1,5 @@
/* Determine length of UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strmblen.c b/lib/unistr/u16-strmblen.c
index d30f6698..4cbd0204 100644
--- a/lib/unistr/u16-strmblen.c
+++ b/lib/unistr/u16-strmblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-strmbtouc.c b/lib/unistr/u16-strmbtouc.c
index 18853957..c4a9704d 100644
--- a/lib/unistr/u16-strmbtouc.c
+++ b/lib/unistr/u16-strmbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-strncat.c b/lib/unistr/u16-strncat.c
index f2a1a2dc..4aa93252 100644
--- a/lib/unistr/u16-strncat.c
+++ b/lib/unistr/u16-strncat.c
@@ -1,5 +1,5 @@
/* Concatenate UTF-16 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strncmp.c b/lib/unistr/u16-strncmp.c
index aad7d68c..0021dbbb 100644
--- a/lib/unistr/u16-strncmp.c
+++ b/lib/unistr/u16-strncmp.c
@@ -1,5 +1,5 @@
/* Compare UTF-16 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strncpy.c b/lib/unistr/u16-strncpy.c
index daa40195..855208b0 100644
--- a/lib/unistr/u16-strncpy.c
+++ b/lib/unistr/u16-strncpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strnlen.c b/lib/unistr/u16-strnlen.c
index f07a7b57..a4618a6a 100644
--- a/lib/unistr/u16-strnlen.c
+++ b/lib/unistr/u16-strnlen.c
@@ -1,5 +1,5 @@
/* Determine bounded length of UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strpbrk.c b/lib/unistr/u16-strpbrk.c
index 8e262fcc..6cb82c9d 100644
--- a/lib/unistr/u16-strpbrk.c
+++ b/lib/unistr/u16-strpbrk.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strrchr.c b/lib/unistr/u16-strrchr.c
index 3cb31b85..822a44bf 100644
--- a/lib/unistr/u16-strrchr.c
+++ b/lib/unistr/u16-strrchr.c
@@ -1,5 +1,5 @@
/* Search character in UTF-16 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u16-strspn.c b/lib/unistr/u16-strspn.c
index 36423593..dc575075 100644
--- a/lib/unistr/u16-strspn.c
+++ b/lib/unistr/u16-strspn.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-strstr.c b/lib/unistr/u16-strstr.c
index 7ca7625d..8460bb46 100644
--- a/lib/unistr/u16-strstr.c
+++ b/lib/unistr/u16-strstr.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-16 strings.
- Copyright (C) 1999, 2002, 2006, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2010-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
@@ -28,18 +28,10 @@
/* Specification. */
#include "unistr.h"
-#include "malloca.h"
-
-/* FIXME: Maybe walking the string via u16_mblen is a win? */
-
#define UNIT uint16_t
-
-#define CANON_ELEMENT(c) c
-#include "str-kmp.h"
-
#define FUNC u16_strstr
-#define U_STRCHR u16_strchr
-#define U_STRMBTOUC u16_strmbtouc
-#define U_STRLEN u16_strlen
-#define U_STRNLEN u16_strnlen
-#include "u-strstr.h"
+#define RETURN_TYPE uint16_t *
+#define MEMCHR0(s, n) u16_chr (s, n, 0)
+#define STRCHR u16_strchr
+#define CMP_FUNC u16_cmp
+#include "wcsstr-impl.h"
diff --git a/lib/unistr/u16-strtok.c b/lib/unistr/u16-strtok.c
index dbe6ffb8..2ee3c082 100644
--- a/lib/unistr/u16-strtok.c
+++ b/lib/unistr/u16-strtok.c
@@ -1,5 +1,5 @@
/* Tokenize UTF-16 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-to-u32.c b/lib/unistr/u16-to-u32.c
index 8a070fdc..a75770a2 100644
--- a/lib/unistr/u16-to-u32.c
+++ b/lib/unistr/u16-to-u32.c
@@ -1,5 +1,5 @@
/* Convert UTF-16 string to UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-to-u8.c b/lib/unistr/u16-to-u8.c
index f64f9fb3..dd434b79 100644
--- a/lib/unistr/u16-to-u8.c
+++ b/lib/unistr/u16-to-u8.c
@@ -1,5 +1,5 @@
/* Convert UTF-16 string to UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-uctomb-aux.c b/lib/unistr/u16-uctomb-aux.c
index 337d34df..f90aad7f 100644
--- a/lib/unistr/u16-uctomb-aux.c
+++ b/lib/unistr/u16-uctomb-aux.c
@@ -1,5 +1,5 @@
/* Conversion UCS-4 to UTF-16.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u16-uctomb.c b/lib/unistr/u16-uctomb.c
index 56947f48..0cc6c721 100644
--- a/lib/unistr/u16-uctomb.c
+++ b/lib/unistr/u16-uctomb.c
@@ -1,5 +1,5 @@
/* Store a character in UTF-16 string.
- Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-check.c b/lib/unistr/u32-check.c
index 2547812b..813ccd55 100644
--- a/lib/unistr/u32-check.c
+++ b/lib/unistr/u32-check.c
@@ -1,5 +1,5 @@
/* Check UTF-32 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-chr.c b/lib/unistr/u32-chr.c
index f23b58a1..65500d83 100644
--- a/lib/unistr/u32-chr.c
+++ b/lib/unistr/u32-chr.c
@@ -1,27 +1,19 @@
/* Search character in piece of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unistr/u32-cmp.c b/lib/unistr/u32-cmp.c
index af875b48..c953c8af 100644
--- a/lib/unistr/u32-cmp.c
+++ b/lib/unistr/u32-cmp.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-cmp2.c b/lib/unistr/u32-cmp2.c
index d3d7060f..6cc084f7 100644
--- a/lib/unistr/u32-cmp2.c
+++ b/lib/unistr/u32-cmp2.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u32-cpy-alloc.c b/lib/unistr/u32-cpy-alloc.c
index 3c7490de..ecdffe52 100644
--- a/lib/unistr/u32-cpy-alloc.c
+++ b/lib/unistr/u32-cpy-alloc.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-cpy.c b/lib/unistr/u32-cpy.c
index a2664e2e..a1a840f7 100644
--- a/lib/unistr/u32-cpy.c
+++ b/lib/unistr/u32-cpy.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u32-endswith.c b/lib/unistr/u32-endswith.c
index 4942f200..7b701e0b 100644
--- a/lib/unistr/u32-endswith.c
+++ b/lib/unistr/u32-endswith.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-32 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-mblen.c b/lib/unistr/u32-mblen.c
index e3f9a2a1..0317b3c1 100644
--- a/lib/unistr/u32-mblen.c
+++ b/lib/unistr/u32-mblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-mbsnlen.c b/lib/unistr/u32-mbsnlen.c
index 80c9ba71..c2cb7277 100644
--- a/lib/unistr/u32-mbsnlen.c
+++ b/lib/unistr/u32-mbsnlen.c
@@ -1,5 +1,5 @@
/* Count characters in UTF-32 string.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unistr/u32-mbtouc-unsafe.c b/lib/unistr/u32-mbtouc-unsafe.c
index 38904ea1..0e8eecb7 100644
--- a/lib/unistr/u32-mbtouc-unsafe.c
+++ b/lib/unistr/u32-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u32-mbtouc.c b/lib/unistr/u32-mbtouc.c
index 70ff857b..96acabd9 100644
--- a/lib/unistr/u32-mbtouc.c
+++ b/lib/unistr/u32-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-mbtoucr.c b/lib/unistr/u32-mbtoucr.c
index 245f639b..967ade81 100644
--- a/lib/unistr/u32-mbtoucr.c
+++ b/lib/unistr/u32-mbtoucr.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-32 string, returning an error code.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-move.c b/lib/unistr/u32-move.c
index a5fdd255..3f06b30a 100644
--- a/lib/unistr/u32-move.c
+++ b/lib/unistr/u32-move.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-next.c b/lib/unistr/u32-next.c
index 348fd987..8668e63b 100644
--- a/lib/unistr/u32-next.c
+++ b/lib/unistr/u32-next.c
@@ -1,5 +1,5 @@
/* Iterate over next character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-pcpy.c b/lib/unistr/u32-pcpy.c
new file mode 100644
index 00000000..922f704c
--- /dev/null
+++ b/lib/unistr/u32-pcpy.c
@@ -0,0 +1,26 @@
+/* Copy piece of UTF-32 string, return pointer after last written unit.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2023.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+#define FUNC u32_pcpy
+#define UNIT uint32_t
+#define U_CPY u32_cpy
+#include "u-pcpy.h"
diff --git a/lib/unistr/u32-prev.c b/lib/unistr/u32-prev.c
index 0289bafe..26eb7dcd 100644
--- a/lib/unistr/u32-prev.c
+++ b/lib/unistr/u32-prev.c
@@ -1,5 +1,5 @@
/* Iterate over previous character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-set.c b/lib/unistr/u32-set.c
index 60f2eaf0..51cf3d63 100644
--- a/lib/unistr/u32-set.c
+++ b/lib/unistr/u32-set.c
@@ -1,5 +1,5 @@
/* Fill UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-startswith.c b/lib/unistr/u32-startswith.c
index 9d5c53dc..c9c765a7 100644
--- a/lib/unistr/u32-startswith.c
+++ b/lib/unistr/u32-startswith.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-32 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-stpcpy.c b/lib/unistr/u32-stpcpy.c
index d95c8551..48cc3e14 100644
--- a/lib/unistr/u32-stpcpy.c
+++ b/lib/unistr/u32-stpcpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-stpncpy.c b/lib/unistr/u32-stpncpy.c
index 1281b649..fc5177d9 100644
--- a/lib/unistr/u32-stpncpy.c
+++ b/lib/unistr/u32-stpncpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strcat.c b/lib/unistr/u32-strcat.c
index d345487f..2da08b18 100644
--- a/lib/unistr/u32-strcat.c
+++ b/lib/unistr/u32-strcat.c
@@ -1,27 +1,19 @@
/* Concatenate UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unistr/u32-strchr.c b/lib/unistr/u32-strchr.c
index 48d9057d..cf8b0ca1 100644
--- a/lib/unistr/u32-strchr.c
+++ b/lib/unistr/u32-strchr.c
@@ -1,5 +1,5 @@
/* Search character in UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strcmp.c b/lib/unistr/u32-strcmp.c
index 6dc801d1..058cf7c4 100644
--- a/lib/unistr/u32-strcmp.c
+++ b/lib/unistr/u32-strcmp.c
@@ -1,5 +1,5 @@
/* Compare UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strcoll.c b/lib/unistr/u32-strcoll.c
index 688b8081..c7de5bd6 100644
--- a/lib/unistr/u32-strcoll.c
+++ b/lib/unistr/u32-strcoll.c
@@ -1,5 +1,5 @@
/* Compare UTF-32 strings using the collation rules of the current locale.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u32-strcpy.c b/lib/unistr/u32-strcpy.c
index b9520741..c23e8763 100644
--- a/lib/unistr/u32-strcpy.c
+++ b/lib/unistr/u32-strcpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strcspn.c b/lib/unistr/u32-strcspn.c
index 0e7fc00e..ab6c635e 100644
--- a/lib/unistr/u32-strcspn.c
+++ b/lib/unistr/u32-strcspn.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strdup.c b/lib/unistr/u32-strdup.c
index ce1fd612..d4e9ae56 100644
--- a/lib/unistr/u32-strdup.c
+++ b/lib/unistr/u32-strdup.c
@@ -1,5 +1,5 @@
/* Copy UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strlen.c b/lib/unistr/u32-strlen.c
index 5f618d8f..1c43a30a 100644
--- a/lib/unistr/u32-strlen.c
+++ b/lib/unistr/u32-strlen.c
@@ -1,27 +1,19 @@
/* Determine length of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/lib/unistr/u32-strmblen.c b/lib/unistr/u32-strmblen.c
index 75e19ee3..294bcf5f 100644
--- a/lib/unistr/u32-strmblen.c
+++ b/lib/unistr/u32-strmblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strmbtouc.c b/lib/unistr/u32-strmbtouc.c
index 42ab71a1..64879f2a 100644
--- a/lib/unistr/u32-strmbtouc.c
+++ b/lib/unistr/u32-strmbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strncat.c b/lib/unistr/u32-strncat.c
index 3133084a..ab16565d 100644
--- a/lib/unistr/u32-strncat.c
+++ b/lib/unistr/u32-strncat.c
@@ -1,5 +1,5 @@
/* Concatenate UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strncmp.c b/lib/unistr/u32-strncmp.c
index a99e1116..0c009ada 100644
--- a/lib/unistr/u32-strncmp.c
+++ b/lib/unistr/u32-strncmp.c
@@ -1,5 +1,5 @@
/* Compare UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strncpy.c b/lib/unistr/u32-strncpy.c
index 6f1b40c0..1806238e 100644
--- a/lib/unistr/u32-strncpy.c
+++ b/lib/unistr/u32-strncpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strnlen.c b/lib/unistr/u32-strnlen.c
index de0b764a..abdf9596 100644
--- a/lib/unistr/u32-strnlen.c
+++ b/lib/unistr/u32-strnlen.c
@@ -1,5 +1,5 @@
/* Determine bounded length of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strpbrk.c b/lib/unistr/u32-strpbrk.c
index a054ef6b..8dc1543a 100644
--- a/lib/unistr/u32-strpbrk.c
+++ b/lib/unistr/u32-strpbrk.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strrchr.c b/lib/unistr/u32-strrchr.c
index ab38bb2c..158c954c 100644
--- a/lib/unistr/u32-strrchr.c
+++ b/lib/unistr/u32-strrchr.c
@@ -1,5 +1,5 @@
/* Search character in UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strspn.c b/lib/unistr/u32-strspn.c
index ab089acf..f3625f9c 100644
--- a/lib/unistr/u32-strspn.c
+++ b/lib/unistr/u32-strspn.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-strstr.c b/lib/unistr/u32-strstr.c
index f483c32f..573c6580 100644
--- a/lib/unistr/u32-strstr.c
+++ b/lib/unistr/u32-strstr.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-32 strings.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
@@ -28,15 +28,10 @@
/* Specification. */
#include "unistr.h"
-#include "malloca.h"
-
#define UNIT uint32_t
-
-#define CANON_ELEMENT(c) c
-#include "str-kmp.h"
-
#define FUNC u32_strstr
-#define U_STRCHR u32_strchr
-#define U_STRLEN u32_strlen
-#define U_STRNLEN u32_strnlen
-#include "u-strstr.h"
+#define RETURN_TYPE uint32_t *
+#define MEMCHR0(s, n) u32_chr (s, n, 0)
+#define STRCHR u32_strchr
+#define CMP_FUNC u32_cmp
+#include "wcsstr-impl.h"
diff --git a/lib/unistr/u32-strtok.c b/lib/unistr/u32-strtok.c
index 1fd9c10f..2723ef52 100644
--- a/lib/unistr/u32-strtok.c
+++ b/lib/unistr/u32-strtok.c
@@ -1,5 +1,5 @@
/* Tokenize UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-to-u16.c b/lib/unistr/u32-to-u16.c
index af12bd72..91dcd203 100644
--- a/lib/unistr/u32-to-u16.c
+++ b/lib/unistr/u32-to-u16.c
@@ -1,5 +1,5 @@
/* Convert UTF-32 string to UTF-16 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u32-to-u8.c b/lib/unistr/u32-to-u8.c
index bf462b41..e8095ce8 100644
--- a/lib/unistr/u32-to-u8.c
+++ b/lib/unistr/u32-to-u8.c
@@ -1,5 +1,5 @@
/* Convert UTF-32 string to UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u32-uctomb.c b/lib/unistr/u32-uctomb.c
index c6cd7439..552672fa 100644
--- a/lib/unistr/u32-uctomb.c
+++ b/lib/unistr/u32-uctomb.c
@@ -1,5 +1,5 @@
/* Store a character in UTF-32 string.
- Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u8-check.c b/lib/unistr/u8-check.c
index b6228c1f..556f9927 100644
--- a/lib/unistr/u8-check.c
+++ b/lib/unistr/u8-check.c
@@ -1,5 +1,5 @@
/* Check UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
@@ -57,13 +57,13 @@ u8_check (const uint8_t *s, size_t n)
continue;
}
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if (s + 4 <= s_end
&& (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40
&& (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
{
s += 4;
continue;
diff --git a/lib/unistr/u8-chr.c b/lib/unistr/u8-chr.c
index d309a82a..550d5756 100644
--- a/lib/unistr/u8-chr.c
+++ b/lib/unistr/u8-chr.c
@@ -1,5 +1,5 @@
/* Search character in piece of UTF-8 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u8-cmp.c b/lib/unistr/u8-cmp.c
index effe0dce..064b8206 100644
--- a/lib/unistr/u8-cmp.c
+++ b/lib/unistr/u8-cmp.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-cmp2.c b/lib/unistr/u8-cmp2.c
index 1864115f..11d3c364 100644
--- a/lib/unistr/u8-cmp2.c
+++ b/lib/unistr/u8-cmp2.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u8-cpy-alloc.c b/lib/unistr/u8-cpy-alloc.c
index 550f6777..9e3f6bff 100644
--- a/lib/unistr/u8-cpy-alloc.c
+++ b/lib/unistr/u8-cpy-alloc.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-cpy.c b/lib/unistr/u8-cpy.c
index e25c264c..e2c89c39 100644
--- a/lib/unistr/u8-cpy.c
+++ b/lib/unistr/u8-cpy.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-endswith.c b/lib/unistr/u8-endswith.c
index 8173a884..f9dda573 100644
--- a/lib/unistr/u8-endswith.c
+++ b/lib/unistr/u8-endswith.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-mblen.c b/lib/unistr/u8-mblen.c
index c431c92a..79878f24 100644
--- a/lib/unistr/u8-mblen.c
+++ b/lib/unistr/u8-mblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
@@ -47,13 +47,13 @@ u8_mblen (const uint8_t *s, size_t n)
&& (c != 0xed || s[1] < 0xa0))
return 3;
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if (n >= 4
&& (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40
&& (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
return 4;
}
}
diff --git a/lib/unistr/u8-mbsnlen.c b/lib/unistr/u8-mbsnlen.c
index 9c2fa4a3..5c9bd43d 100644
--- a/lib/unistr/u8-mbsnlen.c
+++ b/lib/unistr/u8-mbsnlen.c
@@ -1,5 +1,5 @@
/* Count characters in UTF-8 string.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software.
diff --git a/lib/unistr/u8-mbtouc-aux.c b/lib/unistr/u8-mbtouc-aux.c
index 018cf507..22ed807b 100644
--- a/lib/unistr/u8-mbtouc-aux.c
+++ b/lib/unistr/u8-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software: you can redistribute it and/or modify
@@ -52,20 +52,15 @@ u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n)
{
if (n >= 3)
{
- if ((s[1] ^ 0x80) < 0x40)
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xe1 || s[1] >= 0xa0)
+ && (c != 0xed || s[1] < 0xa0))
{
if ((s[2] ^ 0x80) < 0x40)
{
- if ((c >= 0xe1 || s[1] >= 0xa0)
- && (c != 0xed || s[1] < 0xa0))
- {
- *puc = ((unsigned int) (c & 0x0f) << 12)
- | ((unsigned int) (s[1] ^ 0x80) << 6)
- | (unsigned int) (s[2] ^ 0x80);
- return 3;
- }
- /* invalid multibyte character */
- *puc = 0xfffd;
+ *puc = ((unsigned int) (c & 0x0f) << 12)
+ | ((unsigned int) (s[1] ^ 0x80) << 6)
+ | (unsigned int) (s[2] ^ 0x80);
return 3;
}
/* invalid multibyte character */
@@ -73,38 +68,50 @@ u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n)
return 2;
}
/* invalid multibyte character */
+ *puc = 0xfffd;
+ return 1;
}
else
{
- /* incomplete multibyte character */
*puc = 0xfffd;
- if (n == 1 || (s[1] ^ 0x80) >= 0x40)
- return 1;
+ if (n == 1)
+ {
+ /* incomplete multibyte character */
+ return 1;
+ }
else
- return 2;
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xe1 || s[1] >= 0xa0)
+ && (c != 0xed || s[1] < 0xa0))
+ {
+ /* incomplete multibyte character */
+ return 2;
+ }
+ else
+ {
+ /* invalid multibyte character */
+ return 1;
+ }
+ }
}
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if (n >= 4)
{
- if ((s[1] ^ 0x80) < 0x40)
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xf1 || s[1] >= 0x90)
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
{
if ((s[2] ^ 0x80) < 0x40)
{
if ((s[3] ^ 0x80) < 0x40)
{
- if ((c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
- {
- *puc = ((unsigned int) (c & 0x07) << 18)
- | ((unsigned int) (s[1] ^ 0x80) << 12)
- | ((unsigned int) (s[2] ^ 0x80) << 6)
- | (unsigned int) (s[3] ^ 0x80);
- return 4;
- }
- /* invalid multibyte character */
- *puc = 0xfffd;
+ *puc = ((unsigned int) (c & 0x07) << 18)
+ | ((unsigned int) (s[1] ^ 0x80) << 12)
+ | ((unsigned int) (s[2] ^ 0x80) << 6)
+ | (unsigned int) (s[3] ^ 0x80);
return 4;
}
/* invalid multibyte character */
@@ -116,17 +123,48 @@ u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n)
return 2;
}
/* invalid multibyte character */
+ *puc = 0xfffd;
+ return 1;
}
else
{
- /* incomplete multibyte character */
*puc = 0xfffd;
- if (n == 1 || (s[1] ^ 0x80) >= 0x40)
- return 1;
- else if (n == 2 || (s[2] ^ 0x80) >= 0x40)
- return 2;
+ if (n == 1)
+ {
+ /* incomplete multibyte character */
+ return 1;
+ }
else
- return 3;
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xf1 || s[1] >= 0x90)
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
+ {
+ if (n == 2)
+ {
+ /* incomplete multibyte character */
+ return 2;
+ }
+ else
+ {
+ if ((s[2] ^ 0x80) < 0x40)
+ {
+ /* incomplete multibyte character */
+ return 3;
+ }
+ else
+ {
+ /* invalid multibyte character */
+ return 2;
+ }
+ }
+ }
+ else
+ {
+ /* invalid multibyte character */
+ return 1;
+ }
+ }
}
}
}
diff --git a/lib/unistr/u8-mbtouc-unsafe-aux.c b/lib/unistr/u8-mbtouc-unsafe-aux.c
index 36e40af8..c763bd44 100644
--- a/lib/unistr/u8-mbtouc-unsafe-aux.c
+++ b/lib/unistr/u8-mbtouc-unsafe-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u8-mbtouc-unsafe.c b/lib/unistr/u8-mbtouc-unsafe.c
index 3dd30a12..bfd64941 100644
--- a/lib/unistr/u8-mbtouc-unsafe.c
+++ b/lib/unistr/u8-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u8-mbtouc.c b/lib/unistr/u8-mbtouc.c
index 45250724..6a863a6a 100644
--- a/lib/unistr/u8-mbtouc.c
+++ b/lib/unistr/u8-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software: you can redistribute it and/or modify
@@ -62,20 +62,15 @@ u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n)
{
if (n >= 3)
{
- if ((s[1] ^ 0x80) < 0x40)
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xe1 || s[1] >= 0xa0)
+ && (c != 0xed || s[1] < 0xa0))
{
if ((s[2] ^ 0x80) < 0x40)
{
- if ((c >= 0xe1 || s[1] >= 0xa0)
- && (c != 0xed || s[1] < 0xa0))
- {
- *puc = ((unsigned int) (c & 0x0f) << 12)
- | ((unsigned int) (s[1] ^ 0x80) << 6)
- | (unsigned int) (s[2] ^ 0x80);
- return 3;
- }
- /* invalid multibyte character */
- *puc = 0xfffd;
+ *puc = ((unsigned int) (c & 0x0f) << 12)
+ | ((unsigned int) (s[1] ^ 0x80) << 6)
+ | (unsigned int) (s[2] ^ 0x80);
return 3;
}
/* invalid multibyte character */
@@ -83,38 +78,50 @@ u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n)
return 2;
}
/* invalid multibyte character */
+ *puc = 0xfffd;
+ return 1;
}
else
{
- /* incomplete multibyte character */
*puc = 0xfffd;
- if (n == 1 || (s[1] ^ 0x80) >= 0x40)
- return 1;
+ if (n == 1)
+ {
+ /* incomplete multibyte character */
+ return 1;
+ }
else
- return 2;
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xe1 || s[1] >= 0xa0)
+ && (c != 0xed || s[1] < 0xa0))
+ {
+ /* incomplete multibyte character */
+ return 2;
+ }
+ else
+ {
+ /* invalid multibyte character */
+ return 1;
+ }
+ }
}
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if (n >= 4)
{
- if ((s[1] ^ 0x80) < 0x40)
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xf1 || s[1] >= 0x90)
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
{
if ((s[2] ^ 0x80) < 0x40)
{
if ((s[3] ^ 0x80) < 0x40)
{
- if ((c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
- {
- *puc = ((unsigned int) (c & 0x07) << 18)
- | ((unsigned int) (s[1] ^ 0x80) << 12)
- | ((unsigned int) (s[2] ^ 0x80) << 6)
- | (unsigned int) (s[3] ^ 0x80);
- return 4;
- }
- /* invalid multibyte character */
- *puc = 0xfffd;
+ *puc = ((unsigned int) (c & 0x07) << 18)
+ | ((unsigned int) (s[1] ^ 0x80) << 12)
+ | ((unsigned int) (s[2] ^ 0x80) << 6)
+ | (unsigned int) (s[3] ^ 0x80);
return 4;
}
/* invalid multibyte character */
@@ -126,17 +133,48 @@ u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n)
return 2;
}
/* invalid multibyte character */
+ *puc = 0xfffd;
+ return 1;
}
else
{
- /* incomplete multibyte character */
*puc = 0xfffd;
- if (n == 1 || (s[1] ^ 0x80) >= 0x40)
- return 1;
- else if (n == 2 || (s[2] ^ 0x80) >= 0x40)
- return 2;
+ if (n == 1)
+ {
+ /* incomplete multibyte character */
+ return 1;
+ }
else
- return 3;
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xf1 || s[1] >= 0x90)
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
+ {
+ if (n == 2)
+ {
+ /* incomplete multibyte character */
+ return 2;
+ }
+ else
+ {
+ if ((s[2] ^ 0x80) < 0x40)
+ {
+ /* incomplete multibyte character */
+ return 3;
+ }
+ else
+ {
+ /* invalid multibyte character */
+ return 2;
+ }
+ }
+ }
+ else
+ {
+ /* invalid multibyte character */
+ return 1;
+ }
+ }
}
}
}
diff --git a/lib/unistr/u8-mbtoucr.c b/lib/unistr/u8-mbtoucr.c
index 6672298a..564e47e9 100644
--- a/lib/unistr/u8-mbtoucr.c
+++ b/lib/unistr/u8-mbtoucr.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string, returning an error code.
- Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This file is free software: you can redistribute it and/or modify
@@ -86,13 +86,13 @@ u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n)
return -2;
}
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if (n >= 2)
{
if ((s[1] ^ 0x80) < 0x40
&& (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
{
if (n >= 3)
{
diff --git a/lib/unistr/u8-move.c b/lib/unistr/u8-move.c
index d7b8225e..f9f37352 100644
--- a/lib/unistr/u8-move.c
+++ b/lib/unistr/u8-move.c
@@ -1,5 +1,5 @@
/* Copy piece of UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-next.c b/lib/unistr/u8-next.c
index 06598555..bba21662 100644
--- a/lib/unistr/u8-next.c
+++ b/lib/unistr/u8-next.c
@@ -1,5 +1,5 @@
/* Iterate over next character in UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-pcpy.c b/lib/unistr/u8-pcpy.c
new file mode 100644
index 00000000..f3caa8b7
--- /dev/null
+++ b/lib/unistr/u8-pcpy.c
@@ -0,0 +1,34 @@
+/* Copy piece of UTF-8 string, return pointer after last written unit.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2023.
+
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+
+ This file 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 and the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+#define FUNC u8_pcpy
+#define UNIT uint8_t
+#define U_CPY u8_cpy
+#include "u-pcpy.h"
diff --git a/lib/unistr/u8-prev.c b/lib/unistr/u8-prev.c
index d41629ef..d733f758 100644
--- a/lib/unistr/u8-prev.c
+++ b/lib/unistr/u8-prev.c
@@ -1,5 +1,5 @@
/* Iterate over previous character in UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
@@ -63,9 +63,9 @@ u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start)
{
uint8_t c_4 = s[-4];
- if (c_4 >= 0xf0 && c_4 < 0xf8
+ if (c_4 >= 0xf0 && c_4 <= 0xf4
&& (c_4 >= 0xf1 || c_3 >= 0x90)
- && (c_4 < 0xf4 || (c_4 == 0xf4 && c_3 < 0x90)))
+ && (c_4 < 0xf4 || (/* c_4 == 0xf4 && */ c_3 < 0x90)))
{
*puc = ((unsigned int) (c_4 & 0x07) << 18)
| ((unsigned int) (c_3 ^ 0x80) << 12)
diff --git a/lib/unistr/u8-set.c b/lib/unistr/u8-set.c
index 250c0030..b585fdbc 100644
--- a/lib/unistr/u8-set.c
+++ b/lib/unistr/u8-set.c
@@ -1,5 +1,5 @@
/* Fill UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-startswith.c b/lib/unistr/u8-startswith.c
index b14fdb2f..25ead39c 100644
--- a/lib/unistr/u8-startswith.c
+++ b/lib/unistr/u8-startswith.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-stpcpy.c b/lib/unistr/u8-stpcpy.c
index 30b03bc1..8a34960f 100644
--- a/lib/unistr/u8-stpcpy.c
+++ b/lib/unistr/u8-stpcpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-stpncpy.c b/lib/unistr/u8-stpncpy.c
index d235f463..2c994b9e 100644
--- a/lib/unistr/u8-stpncpy.c
+++ b/lib/unistr/u8-stpncpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strcat.c b/lib/unistr/u8-strcat.c
index aac92043..10847e61 100644
--- a/lib/unistr/u8-strcat.c
+++ b/lib/unistr/u8-strcat.c
@@ -1,5 +1,5 @@
/* Concatenate UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strchr.c b/lib/unistr/u8-strchr.c
index f5c09851..355a12c7 100644
--- a/lib/unistr/u8-strchr.c
+++ b/lib/unistr/u8-strchr.c
@@ -1,5 +1,5 @@
/* Search character in UTF-8 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u8-strcmp.c b/lib/unistr/u8-strcmp.c
index 0ff9ac0f..385b0b53 100644
--- a/lib/unistr/u8-strcmp.c
+++ b/lib/unistr/u8-strcmp.c
@@ -1,5 +1,5 @@
/* Compare UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strcoll.c b/lib/unistr/u8-strcoll.c
index 56acf3c0..f5ff8c71 100644
--- a/lib/unistr/u8-strcoll.c
+++ b/lib/unistr/u8-strcoll.c
@@ -1,5 +1,5 @@
/* Compare UTF-8 strings using the collation rules of the current locale.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/unistr/u8-strcpy.c b/lib/unistr/u8-strcpy.c
index f705234f..60ba3384 100644
--- a/lib/unistr/u8-strcpy.c
+++ b/lib/unistr/u8-strcpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strcspn.c b/lib/unistr/u8-strcspn.c
index 404434ff..f73621c1 100644
--- a/lib/unistr/u8-strcspn.c
+++ b/lib/unistr/u8-strcspn.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strdup.c b/lib/unistr/u8-strdup.c
index f66f46ee..5309690d 100644
--- a/lib/unistr/u8-strdup.c
+++ b/lib/unistr/u8-strdup.c
@@ -1,5 +1,5 @@
/* Copy UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strlen.c b/lib/unistr/u8-strlen.c
index 6892ec08..7f489e33 100644
--- a/lib/unistr/u8-strlen.c
+++ b/lib/unistr/u8-strlen.c
@@ -1,5 +1,5 @@
/* Determine length of UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u8-strmblen.c b/lib/unistr/u8-strmblen.c
index 5e15636b..48ea2602 100644
--- a/lib/unistr/u8-strmblen.c
+++ b/lib/unistr/u8-strmblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
@@ -51,12 +51,12 @@ u8_strmblen (const uint8_t *s)
&& (c != 0xed || s[1] < 0xa0))
return 3;
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40
&& (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
return 4;
}
}
diff --git a/lib/unistr/u8-strmbtouc.c b/lib/unistr/u8-strmbtouc.c
index 8af0bb2a..ce6aad9e 100644
--- a/lib/unistr/u8-strmbtouc.c
+++ b/lib/unistr/u8-strmbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
@@ -63,12 +63,12 @@ u8_strmbtouc (ucs4_t *puc, const uint8_t *s)
return 3;
}
}
- else if (c < 0xf8)
+ else if (c <= 0xf4)
{
if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
&& (s[3] ^ 0x80) < 0x40
&& (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)))
+ && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
{
*puc = ((unsigned int) (c & 0x07) << 18)
| ((unsigned int) (s[1] ^ 0x80) << 12)
diff --git a/lib/unistr/u8-strncat.c b/lib/unistr/u8-strncat.c
index c5f91df5..a82a7f23 100644
--- a/lib/unistr/u8-strncat.c
+++ b/lib/unistr/u8-strncat.c
@@ -1,5 +1,5 @@
/* Concatenate UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strncmp.c b/lib/unistr/u8-strncmp.c
index b534e08f..bc11a21d 100644
--- a/lib/unistr/u8-strncmp.c
+++ b/lib/unistr/u8-strncmp.c
@@ -1,5 +1,5 @@
/* Compare UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strncpy.c b/lib/unistr/u8-strncpy.c
index caebbf77..3e40f2f4 100644
--- a/lib/unistr/u8-strncpy.c
+++ b/lib/unistr/u8-strncpy.c
@@ -1,5 +1,5 @@
/* Copy UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strnlen.c b/lib/unistr/u8-strnlen.c
index 1c601593..88df261f 100644
--- a/lib/unistr/u8-strnlen.c
+++ b/lib/unistr/u8-strnlen.c
@@ -1,5 +1,5 @@
/* Determine bounded length of UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strpbrk.c b/lib/unistr/u8-strpbrk.c
index 54d75df5..d7495649 100644
--- a/lib/unistr/u8-strpbrk.c
+++ b/lib/unistr/u8-strpbrk.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strrchr.c b/lib/unistr/u8-strrchr.c
index f9999836..6caae2d7 100644
--- a/lib/unistr/u8-strrchr.c
+++ b/lib/unistr/u8-strrchr.c
@@ -1,5 +1,5 @@
/* Search character in UTF-8 string.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2024 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/lib/unistr/u8-strspn.c b/lib/unistr/u8-strspn.c
index 20a87fea..f4dd9736 100644
--- a/lib/unistr/u8-strspn.c
+++ b/lib/unistr/u8-strspn.c
@@ -1,5 +1,5 @@
/* Search for some characters in UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-strstr.c b/lib/unistr/u8-strstr.c
index 8b34c0a9..df2dc964 100644
--- a/lib/unistr/u8-strstr.c
+++ b/lib/unistr/u8-strstr.c
@@ -1,5 +1,5 @@
/* Substring test for UTF-8 strings.
- Copyright (C) 1999, 2002, 2006, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2010-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
@@ -30,11 +30,26 @@
#include <string.h>
-/* FIXME: Maybe walking the string via u8_mblen is a win? */
-
-#define FUNC u8_strstr
-#define UNIT uint8_t
-#define U_STRCHR u8_strchr
-#define U_STRMBTOUC u8_strmbtouc
-#define UNIT_IS_UINT8_T 1
-#include "u-strstr.h"
+uint8_t *
+u8_strstr (const uint8_t *haystack, const uint8_t *needle)
+{
+ uint8_t first = needle[0];
+
+ /* Is needle empty? */
+ if (first == 0)
+ return (uint8_t *) haystack;
+
+ /* Is needle nearly empty (only one unit)? */
+ if (needle[1] == 0)
+ return u8_strchr (haystack, first);
+
+ /* Is needle nearly empty (only one character)? */
+ {
+ ucs4_t first_uc;
+ int count = u8_strmbtouc (&first_uc, needle);
+ if (count > 0 && needle[count] == 0)
+ return u8_strchr (haystack, first_uc);
+ }
+
+ return (uint8_t *) strstr ((const char *) haystack, (const char *) needle);
+}
diff --git a/lib/unistr/u8-strtok.c b/lib/unistr/u8-strtok.c
index 285df308..5981b747 100644
--- a/lib/unistr/u8-strtok.c
+++ b/lib/unistr/u8-strtok.c
@@ -1,5 +1,5 @@
/* Tokenize UTF-8 string.
- Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-to-u16.c b/lib/unistr/u8-to-u16.c
index 38d117b4..74b79741 100644
--- a/lib/unistr/u8-to-u16.c
+++ b/lib/unistr/u8-to-u16.c
@@ -1,5 +1,5 @@
/* Convert UTF-8 string to UTF-16 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/unistr/u8-to-u32.c b/lib/unistr/u8-to-u32.c
index 9f74ede5..a57bb5dc 100644
--- a/lib/unistr/u8-to-u32.c
+++ b/lib/unistr/u8-to-u32.c
@@ -1,5 +1,5 @@
/* Convert UTF-8 string to UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u8-uctomb-aux.c b/lib/unistr/u8-uctomb-aux.c
index 5ca21915..ffe567d9 100644
--- a/lib/unistr/u8-uctomb-aux.c
+++ b/lib/unistr/u8-uctomb-aux.c
@@ -1,5 +1,5 @@
/* Conversion UCS-4 to UTF-8.
- Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistr/u8-uctomb.c b/lib/unistr/u8-uctomb.c
index 2259b1db..0f903fdb 100644
--- a/lib/unistr/u8-uctomb.c
+++ b/lib/unistr/u8-uctomb.c
@@ -1,5 +1,5 @@
/* Store a character in UTF-8 string.
- Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/unistring/cdefs.h b/lib/unistring/cdefs.h
index 3faf5ba8..621235c0 100644
--- a/lib/unistring/cdefs.h
+++ b/lib/unistring/cdefs.h
@@ -1,5 +1,5 @@
/* Common macro definitions for C include files.
- Copyright (C) 2008-2021 Free Software Foundation, Inc.
+ Copyright (C) 2008-2023 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or
modify it under the terms of either:
@@ -74,7 +74,9 @@
#if (defined __has_attribute \
&& (!defined __clang_minor__ \
- || 3 < __clang_major__ + (5 <= __clang_minor__)))
+ || (defined __apple_build_version__ \
+ ? 6000000 <= __apple_build_version__ \
+ : 5 <= __clang_major__)))
# define _UC_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
#else
# define _UC_HAS_ATTRIBUTE(attr) _UC_ATTR_##attr
@@ -82,10 +84,14 @@
# define _UC_ATTR_unused _UC_GNUC_PREREQ (2, 7)
#endif
-#ifdef __has_c_attribute
-# define _UC_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
+#ifdef __cplusplus
+# if defined __clang__
+# define _UC_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
#else
-# define _UC_HAS_C_ATTRIBUTE(attr) 0
+# if defined __GNUC__ && !defined __clang__
+# define _UC_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
#endif
#if _UC_GNUC_PREREQ (11, 0)
@@ -93,7 +99,14 @@
#else
# define _UC_ATTRIBUTE_DEALLOC(f, i)
#endif
-#define _UC_ATTRIBUTE_DEALLOC_FREE _UC_ATTRIBUTE_DEALLOC (free, 1)
+#if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+# define _UC_ATTRIBUTE_DEALLOC_FREE \
+ _UC_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+#else
+# define _UC_ATTRIBUTE_DEALLOC_FREE \
+ _UC_ATTRIBUTE_DEALLOC (free, 1)
+#endif
#if _UC_HAS_ATTRIBUTE (malloc)
# define _UC_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
@@ -101,9 +114,18 @@
# define _UC_ATTRIBUTE_MALLOC
#endif
-#if _UC_HAS_C_ATTRIBUTE (maybe_unused)
-# define _UC_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
-#else
+#ifndef _UC_BRACKET_BEFORE_ATTRIBUTE
+# if defined __clang__ && defined __cplusplus
+# if !defined __apple_build_version__ && __clang_major__ >= 10
+# define _UC_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# elif defined __has_c_attribute
+# if __has_c_attribute (__maybe_unused__)
+# define _UC_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+# endif
+# endif
+#endif
+#ifndef _UC_ATTRIBUTE_MAYBE_UNUSED
# define _UC_ATTRIBUTE_MAYBE_UNUSED _UC_ATTRIBUTE_UNUSED
#endif
diff --git a/lib/unistring/inline.h b/lib/unistring/inline.h
index 4605fbfa..710cf504 100644
--- a/lib/unistring/inline.h
+++ b/lib/unistring/inline.h
@@ -1,5 +1,5 @@
/* Decision whether to use 'inline' or not.
- Copyright (C) 2006, 2009, 2018 Free Software Foundation, Inc.
+ Copyright (C) 2006-2023 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or
modify it under the terms of either:
@@ -40,10 +40,10 @@
equivalent is effectively supported, i.e. if the compiler is likely to
drop unused 'static inline' functions. */
-#if defined __GNUC__
-/* GNU C or GNU C++. */
+#if defined __GNUC__ || defined __clang__
+/* GNU C/C++ or clang C/C++. */
# if defined __NO_INLINE__
-/* GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is
+/* GCC and clang define __NO_INLINE__ if not optimizing or if -fno-inline is
specified. */
# define UNISTRING_HAVE_INLINE 0
# else
diff --git a/lib/unistring/version.in.h b/lib/unistring/version.in.h
index d35adc6b..2b8264b6 100644
--- a/lib/unistring/version.in.h
+++ b/lib/unistring/version.in.h
@@ -1,5 +1,5 @@
/* Meta information about GNU libunistring.
- Copyright (C) 2009-2010 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or
@@ -30,6 +30,9 @@
/* Get LIBUNISTRING_DLL_VARIABLE. */
#include <unistring/woe32dll.h>
+/* Declare _libunistring_unicode_version. */
+#include <unimetadata.h>
+
#ifdef __cplusplus
extern "C" {
diff --git a/lib/unitypes.in.h b/lib/unitypes.in.h
index 846a6885..be4342be 100644
--- a/lib/unitypes.in.h
+++ b/lib/unitypes.in.h
@@ -1,5 +1,5 @@
/* Elementary types and macros for the GNU UniString library.
- Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/uniwbrk.in.h b/lib/uniwbrk.in.h
index 694158f8..3f95b7ab 100644
--- a/lib/uniwbrk.in.h
+++ b/lib/uniwbrk.in.h
@@ -1,5 +1,5 @@
/* Word breaks in Unicode strings.
- Copyright (C) 2001-2003, 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/u-wordbreaks.h b/lib/uniwbrk/u-wordbreaks.h
index 6d003ca4..18abe695 100644
--- a/lib/uniwbrk/u-wordbreaks.h
+++ b/lib/uniwbrk/u-wordbreaks.h
@@ -1,5 +1,5 @@
/* Word breaks in UTF-8/UTF-16/UTF-32 strings. -*- coding: utf-8 -*-
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/u16-wordbreaks.c b/lib/uniwbrk/u16-wordbreaks.c
index de2bd198..22d2020e 100644
--- a/lib/uniwbrk/u16-wordbreaks.c
+++ b/lib/uniwbrk/u16-wordbreaks.c
@@ -1,5 +1,5 @@
/* Word breaks in UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/u32-wordbreaks.c b/lib/uniwbrk/u32-wordbreaks.c
index 74ea417c..17e89c93 100644
--- a/lib/uniwbrk/u32-wordbreaks.c
+++ b/lib/uniwbrk/u32-wordbreaks.c
@@ -1,5 +1,5 @@
/* Word breaks in UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/u8-wordbreaks.c b/lib/uniwbrk/u8-wordbreaks.c
index df305e27..e99b76a7 100644
--- a/lib/uniwbrk/u8-wordbreaks.c
+++ b/lib/uniwbrk/u8-wordbreaks.c
@@ -1,5 +1,5 @@
/* Word breaks in UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/ulc-wordbreaks.c b/lib/uniwbrk/ulc-wordbreaks.c
index b753d88d..75293611 100644
--- a/lib/uniwbrk/ulc-wordbreaks.c
+++ b/lib/uniwbrk/ulc-wordbreaks.c
@@ -1,5 +1,5 @@
/* Word breaks in strings.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/wbrkprop.h b/lib/uniwbrk/wbrkprop.h
index 4b41723c..ab1be336 100644
--- a/lib/uniwbrk/wbrkprop.h
+++ b/lib/uniwbrk/wbrkprop.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Word breaking properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -527,8 +527,8 @@ static const wbrkprop_t uniwbrkprop =
WBP_MIDLETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
- WBP_FORMAT, WBP_FORMAT, WBP_FORMAT, WBP_FORMAT,
- WBP_FORMAT, WBP_FORMAT, WBP_OTHER, WBP_OTHER,
+ WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+ WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_MIDNUM, WBP_MIDNUM, WBP_OTHER, WBP_OTHER,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
@@ -582,7 +582,7 @@ static const wbrkprop_t uniwbrkprop =
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
WBP_OTHER, WBP_ALETTER, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
- WBP_EXTEND, WBP_FORMAT, WBP_OTHER, WBP_EXTEND,
+ WBP_EXTEND, WBP_NUMERIC, WBP_OTHER, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_ALETTER, WBP_ALETTER, WBP_EXTEND,
WBP_EXTEND, WBP_OTHER, WBP_EXTEND, WBP_EXTEND,
@@ -594,7 +594,7 @@ static const wbrkprop_t uniwbrkprop =
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
- WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_FORMAT,
+ WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
WBP_ALETTER, WBP_EXTEND, WBP_ALETTER, WBP_ALETTER,
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -691,7 +691,7 @@ static const wbrkprop_t uniwbrkprop =
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
- WBP_FORMAT, WBP_FORMAT, WBP_OTHER, WBP_OTHER,
+ WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
@@ -711,7 +711,7 @@ static const wbrkprop_t uniwbrkprop =
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
- WBP_EXTEND, WBP_EXTEND, WBP_FORMAT, WBP_EXTEND,
+ WBP_EXTEND, WBP_EXTEND, WBP_NUMERIC, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
@@ -3998,11 +3998,11 @@ static const wbrkprop_t uniwbrkprop =
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_OTHER,
- WBP_OTHER, WBP_FORMAT, WBP_OTHER, WBP_OTHER,
+ WBP_OTHER, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_EXTEND, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
- WBP_OTHER, WBP_FORMAT, WBP_OTHER, WBP_OTHER,
+ WBP_OTHER, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
diff --git a/lib/uniwbrk/wbrktable.c b/lib/uniwbrk/wbrktable.c
index 0e81414d..688fc796 100644
--- a/lib/uniwbrk/wbrktable.c
+++ b/lib/uniwbrk/wbrktable.c
@@ -1,5 +1,5 @@
/* Word break auxiliary table. -*- coding: utf-8 -*-
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/wbrktable.h b/lib/uniwbrk/wbrktable.h
index d4d2bfca..05374f67 100644
--- a/lib/uniwbrk/wbrktable.h
+++ b/lib/uniwbrk/wbrktable.h
@@ -1,5 +1,5 @@
/* Word break auxiliary table.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwbrk/wordbreak-property.c b/lib/uniwbrk/wordbreak-property.c
index 2774af2f..18a5396c 100644
--- a/lib/uniwbrk/wordbreak-property.c
+++ b/lib/uniwbrk/wordbreak-property.c
@@ -1,5 +1,5 @@
/* Word break property.
- Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software.
diff --git a/lib/uniwidth.in.h b/lib/uniwidth.in.h
index 79140c87..0805dc1c 100644
--- a/lib/uniwidth.in.h
+++ b/lib/uniwidth.in.h
@@ -1,5 +1,5 @@
/* Display width functions.
- Copyright (C) 2001-2002, 2005, 2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 2001-2002, 2005, 2007, 2009-2024 Free Software Foundation,
Inc.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uniwidth/cjk.h b/lib/uniwidth/cjk.h
index b791ba96..5fab365f 100644
--- a/lib/uniwidth/cjk.h
+++ b/lib/uniwidth/cjk.h
@@ -1,5 +1,5 @@
/* Test for CJK encoding.
- Copyright (C) 2001-2002, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uniwidth/u16-strwidth.c b/lib/uniwidth/u16-strwidth.c
index 8e182f8d..a3741ba4 100644
--- a/lib/uniwidth/u16-strwidth.c
+++ b/lib/uniwidth/u16-strwidth.c
@@ -1,5 +1,5 @@
/* Determine display width of UTF-16 string.
- Copyright (C) 2001-2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/uniwidth/u16-width.c b/lib/uniwidth/u16-width.c
index 4a513866..6efec067 100644
--- a/lib/uniwidth/u16-width.c
+++ b/lib/uniwidth/u16-width.c
@@ -1,5 +1,5 @@
/* Determine display width of UTF-16 string.
- Copyright (C) 2001-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/uniwidth/u32-strwidth.c b/lib/uniwidth/u32-strwidth.c
index 84e276e4..30442026 100644
--- a/lib/uniwidth/u32-strwidth.c
+++ b/lib/uniwidth/u32-strwidth.c
@@ -1,5 +1,5 @@
/* Determine display width of UTF-32 string.
- Copyright (C) 2001-2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/uniwidth/u32-width.c b/lib/uniwidth/u32-width.c
index a3c15bd0..5f53ab8e 100644
--- a/lib/uniwidth/u32-width.c
+++ b/lib/uniwidth/u32-width.c
@@ -1,5 +1,5 @@
/* Determine display width of UTF-32 string.
- Copyright (C) 2001-2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/uniwidth/u8-strwidth.c b/lib/uniwidth/u8-strwidth.c
index d272c55d..91171cd2 100644
--- a/lib/uniwidth/u8-strwidth.c
+++ b/lib/uniwidth/u8-strwidth.c
@@ -1,5 +1,5 @@
/* Determine display width of UTF-8 string.
- Copyright (C) 2001-2002, 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/uniwidth/u8-width.c b/lib/uniwidth/u8-width.c
index 01e2ddc7..2bd5090d 100644
--- a/lib/uniwidth/u8-width.c
+++ b/lib/uniwidth/u8-width.c
@@ -1,5 +1,5 @@
/* Determine display width of UTF-8 string.
- Copyright (C) 2001-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software.
diff --git a/lib/uniwidth/width.c b/lib/uniwidth/width.c
index 1c945a88..4942aa1e 100644
--- a/lib/uniwidth/width.c
+++ b/lib/uniwidth/width.c
@@ -1,5 +1,5 @@
/* Determine display width of Unicode character.
- Copyright (C) 2001-2002, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This file is free software: you can redistribute it and/or modify
diff --git a/lib/uniwidth/width0.h b/lib/uniwidth/width0.h
index a4de856f..6cc35536 100644
--- a/lib/uniwidth/width0.h
+++ b/lib/uniwidth/width0.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Table of non-spacing or control characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
static const unsigned char nonspacing_table_data[48*64] = {
/* 0x0000-0x01ff */
@@ -54,19 +46,19 @@ static const unsigned char nonspacing_table_data[48*64] = {
0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */
0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */
/* 0x0600-0x07ff */
- 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
+ 0x00, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */
- 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
- 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */
+ 0x00, 0x00, 0xc0, 0x9f, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */
0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x20, /* 0x07c0-0x07ff */
/* 0x0800-0x09ff */
0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
- 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
- 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
+ 0x00, 0xfc, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */
0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
@@ -281,8 +273,8 @@ static const unsigned char nonspacing_table_data[48*64] = {
/* 0x11000-0x111ff */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */
0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x80, /* 0x11040-0x1107f */
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */
- 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x06, /* 0x11080-0x110bf */
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */
diff --git a/lib/uniwidth/width2.h b/lib/uniwidth/width2.h
index 25a50e56..47979b5d 100644
--- a/lib/uniwidth/width2.h
+++ b/lib/uniwidth/width2.h
@@ -1,29 +1,21 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Width 2 property of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
+ This file 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.
This file 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 and the GNU General Public License
- for more details.
+ 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 and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#define header_0 16
#define header_2 9
diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
index 01d18bf5..de204458 100644
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 1999, 2002-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -83,8 +83,9 @@
#include <stdio.h> /* snprintf(), sprintf() */
#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
#include <string.h> /* memcpy(), strlen() */
+#include <wchar.h> /* mbstate_t, mbrtowc(), mbrlen(), wcrtomb(), mbszero() */
#include <errno.h> /* errno */
-#include <limits.h> /* CHAR_BIT */
+#include <limits.h> /* CHAR_BIT, INT_WIDTH, LONG_WIDTH */
#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
#if HAVE_NL_LANGINFO
# include <langinfo.h>
@@ -102,29 +103,29 @@
#include "attribute.h"
-#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
# include <math.h>
# include "float+.h"
#endif
-#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE
# include <math.h>
# include "isnand-nolibm.h"
#endif
-#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
# include <math.h>
# include "isnanl-nolibm.h"
# include "fpucw.h"
#endif
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE
# include <math.h>
# include "isnand-nolibm.h"
# include "printf-frexp.h"
#endif
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
# include <math.h>
# include "isnanl-nolibm.h"
# include "printf-frexpl.h"
@@ -137,8 +138,6 @@
# define VASNPRINTF vasnwprintf
# define FCHAR_T wchar_t
# define DCHAR_T wchar_t
-# define TCHAR_T wchar_t
-# define DCHAR_IS_TCHAR 1
# define DIRECTIVE wchar_t_directive
# define DIRECTIVES wchar_t_directives
# define PRINTF_PARSE wprintf_parse
@@ -158,24 +157,32 @@
# endif
#endif
#if WIDE_CHAR_VERSION
- /* TCHAR_T is wchar_t. */
-# define USE_SNPRINTF 1
-# if HAVE_DECL__SNWPRINTF
- /* On Windows, the function swprintf() has a different signature than
- on Unix; we use the function _snwprintf() or - on mingw - snwprintf()
- instead. The mingw function snwprintf() has fewer bugs than the
- MSVCRT function _snwprintf(), so prefer that. */
-# if defined __MINGW32__
-# define SNPRINTF snwprintf
+ /* DCHAR_T is wchar_t. */
+# if HAVE_DECL__SNWPRINTF || (HAVE_SWPRINTF && HAVE_WORKING_SWPRINTF)
+# define TCHAR_T wchar_t
+# define DCHAR_IS_TCHAR 1
+# define USE_SNPRINTF 1
+# if HAVE_DECL__SNWPRINTF
+ /* On Windows, the function swprintf() has a different signature than
+ on Unix; we use the function _snwprintf() or - on mingw - snwprintf()
+ instead. The mingw function snwprintf() has fewer bugs than the
+ MSVCRT function _snwprintf(), so prefer that. */
+# if defined __MINGW32__
+# define SNPRINTF snwprintf
+# else
+# define SNPRINTF _snwprintf
+# define USE_MSVC__SNPRINTF 1
+# endif
# else
-# define SNPRINTF _snwprintf
-# define USE_MSVC__SNPRINTF 1
+ /* Unix. */
+# define SNPRINTF swprintf
# endif
# else
- /* Unix. */
-# define SNPRINTF swprintf
+ /* Old platforms such as NetBSD 3.0, OpenBSD 3.8, HP-UX 11.00, IRIX 6.5. */
+# define TCHAR_T char
# endif
-#else
+#endif
+#if !WIDE_CHAR_VERSION || !DCHAR_IS_TCHAR
/* TCHAR_T is char. */
/* Use snprintf if it exists under the name 'snprintf' or '_snprintf'.
But don't use it on BeOS, since BeOS snprintf produces no output if the
@@ -240,7 +247,7 @@ local_strnlen (const char *string, size_t maxlen)
# endif
#endif
-#if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF) && WIDE_CHAR_VERSION) || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && !WIDE_CHAR_VERSION && DCHAR_IS_TCHAR)) && HAVE_WCHAR_T
+#if (((!USE_SNPRINTF || WIDE_CHAR_VERSION || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_WPRINTF_DIRECTIVE_LC) && WIDE_CHAR_VERSION) || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_PRINTF_DIRECTIVE_LS) && !WIDE_CHAR_VERSION && DCHAR_IS_TCHAR)) && HAVE_WCHAR_T
# if HAVE_WCSLEN
# define local_wcslen wcslen
# else
@@ -263,8 +270,8 @@ local_wcslen (const wchar_t *s)
# endif
#endif
-#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF) && HAVE_WCHAR_T && WIDE_CHAR_VERSION
-# if HAVE_WCSNLEN
+#if (!USE_SNPRINTF || (WIDE_CHAR_VERSION && DCHAR_IS_TCHAR) || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF) && HAVE_WCHAR_T && WIDE_CHAR_VERSION
+# if HAVE_WCSNLEN && HAVE_DECL_WCSNLEN
# define local_wcsnlen wcsnlen
# else
# ifndef local_wcsnlen_defined
@@ -282,12 +289,12 @@ local_wcsnlen (const wchar_t *s, size_t maxlen)
# endif
#endif
-#if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL) || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T) || (ENABLE_WCHAR_FALLBACK && HAVE_WINT_T)) && !WIDE_CHAR_VERSION
+#if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_PRINTF_DIRECTIVE_LS || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T) || ((NEED_PRINTF_DIRECTIVE_LC || ENABLE_WCHAR_FALLBACK) && HAVE_WINT_T)) && !WIDE_CHAR_VERSION
# if ENABLE_WCHAR_FALLBACK
static size_t
wctomb_fallback (char *s, wchar_t wc)
{
- static char hex[16] = "0123456789ABCDEF";
+ static char const hex[16] = "0123456789ABCDEF";
s[0] = '\\';
if (sizeof (wchar_t) > 2 && wc > 0xffff)
@@ -350,7 +357,7 @@ local_wctomb (char *s, wchar_t wc)
# endif
#endif
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
/* Determine the decimal-point character according to the current locale. */
# ifndef decimal_point_char_defined
# define decimal_point_char_defined 1
@@ -377,7 +384,7 @@ decimal_point_char (void)
# endif
#endif
-#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL
+#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE
/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */
static int
@@ -388,7 +395,7 @@ is_infinite_or_zero (double x)
#endif
-#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL
+#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE
/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */
static int
@@ -399,7 +406,7 @@ is_infinite_or_zerol (long double x)
#endif
-#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE
/* Converting 'long double' to decimal without rare rounding bugs requires
real bignums. We use the naming conventions of GNU gmp, but vastly simpler
@@ -920,6 +927,14 @@ divide (mpn_t a, mpn_t b, mpn_t *q)
return roomptr;
}
+/* Avoid pointless GCC warning "argument 1 value '18446744073709551615' exceeds
+ maximum object size 9223372036854775807", triggered by the use of xsum as
+ argument of malloc. */
+# if __GNUC__ >= 7
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Walloc-size-larger-than="
+# endif
+
/* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal
representation.
Destroys the contents of a.
@@ -976,6 +991,10 @@ convert_to_decimal (mpn_t a, size_t extra_zeroes)
return c_ptr;
}
+# if __GNUC__ >= 7
+# pragma GCC diagnostic pop
+# endif
+
# if NEED_PRINTF_LONG_DOUBLE
/* Assuming x is finite and >= 0:
@@ -1170,8 +1189,6 @@ scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n)
void *z_memory;
char *digits;
- if (memory == NULL)
- return NULL;
/* x = 2^e * m, hence
y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m)
= round (2^s * 5^n * m). */
@@ -1379,10 +1396,13 @@ scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n)
static char *
scale10_round_decimal_long_double (long double x, int n)
{
- int e IF_LINT(= 0);
+ int e;
mpn_t m;
void *memory = decode_long_double (x, &e, &m);
- return scale10_round_decimal_decoded (e, m, memory, n);
+ if (memory != NULL)
+ return scale10_round_decimal_decoded (e, m, memory, n);
+ else
+ return NULL;
}
# endif
@@ -1397,10 +1417,13 @@ scale10_round_decimal_long_double (long double x, int n)
static char *
scale10_round_decimal_double (double x, int n)
{
- int e IF_LINT(= 0);
+ int e;
mpn_t m;
void *memory = decode_double (x, &e, &m);
- return scale10_round_decimal_decoded (e, m, memory, n);
+ if (memory != NULL)
+ return scale10_round_decimal_decoded (e, m, memory, n);
+ else
+ return NULL;
}
# endif
@@ -1603,7 +1626,7 @@ is_borderline (const char *digits, size_t precision)
#endif
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF
+#if !USE_SNPRINTF || (WIDE_CHAR_VERSION && DCHAR_IS_TCHAR) || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF
/* Use a different function name, to make it possible that the 'wchar_t'
parametrization and the 'char' parametrization get compiled in the same
@@ -1626,24 +1649,156 @@ MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion,
switch (conversion)
{
case 'd': case 'i': case 'u':
- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
- * 0.30103 /* binary -> decimal */
- )
- + 1; /* turn floor into ceil */
- else if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long) * CHAR_BIT
- * 0.30103 /* binary -> decimal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (sizeof (unsigned int) * CHAR_BIT
- * 0.30103 /* binary -> decimal */
- )
- + 1; /* turn floor into ceil */
+ switch (type)
+ {
+ default:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_LONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (long int) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long int) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_LONGLONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (long long int) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGLONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long int) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT8_T:
+ tmp_length =
+ (unsigned int) (sizeof (int8_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint8_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT16_T:
+ tmp_length =
+ (unsigned int) (sizeof (int16_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint16_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT32_T:
+ tmp_length =
+ (unsigned int) (sizeof (int32_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint32_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT64_T:
+ tmp_length =
+ (unsigned int) (sizeof (int64_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint64_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT_FAST8_T:
+ tmp_length =
+ (unsigned int) (sizeof (int_fast8_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast8_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT_FAST16_T:
+ tmp_length =
+ (unsigned int) (sizeof (int_fast16_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast16_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT_FAST32_T:
+ tmp_length =
+ (unsigned int) (sizeof (int_fast32_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast32_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_INT_FAST64_T:
+ tmp_length =
+ (unsigned int) (sizeof (int_fast64_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast64_t) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ }
if (tmp_length < precision)
tmp_length = precision;
/* Multiply by 2, as an estimate for FLAG_GROUP. */
@@ -1652,25 +1807,156 @@ MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion,
tmp_length = xsum (tmp_length, 1);
break;
+ case 'b':
+ #if SUPPORT_GNU_PRINTF_DIRECTIVES \
+ || (__GLIBC__ + (__GLIBC_MINOR__ >= 35) > 2)
+ case 'B':
+ #endif
+ switch (type)
+ {
+ default:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long int) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGLONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long int) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint8_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint16_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint32_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint64_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast8_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast16_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast32_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast64_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ }
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Add 2, to account for a prefix from the alternate form. */
+ tmp_length = xsum (tmp_length, 2);
+ break;
+
case 'o':
- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
- * 0.333334 /* binary -> octal */
- )
- + 1; /* turn floor into ceil */
- else if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long) * CHAR_BIT
- * 0.333334 /* binary -> octal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (sizeof (unsigned int) * CHAR_BIT
- * 0.333334 /* binary -> octal */
- )
- + 1; /* turn floor into ceil */
+ switch (type)
+ {
+ default:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long int) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGLONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long int) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint8_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint16_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint32_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint64_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast8_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast16_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast32_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast64_t) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ }
if (tmp_length < precision)
tmp_length = precision;
/* Add 1, to account for a leading sign. */
@@ -1678,27 +1964,89 @@ MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion,
break;
case 'x': case 'X':
- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- else if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (sizeof (unsigned int) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
+ switch (type)
+ {
+ default:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long int) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGLONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long int) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint8_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint16_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint32_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint64_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast8_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast16_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast32_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast64_t) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ break;
+ }
if (tmp_length < precision)
tmp_length = precision;
- /* Add 2, to account for a leading sign or alternate form. */
+ /* Add 2, to account for a prefix from the alternate form. */
tmp_length = xsum (tmp_length, 2);
break;
@@ -1987,6 +2335,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
if (dp->conversion == 'n')
{
+#if NEED_PRINTF_WITH_N_DIRECTIVE
switch (a.arg[dp->arg_index].type)
{
case TYPE_COUNT_SCHAR_POINTER:
@@ -2004,9 +2353,36 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
case TYPE_COUNT_LONGLONGINT_POINTER:
*a.arg[dp->arg_index].a.a_count_longlongint_pointer = length;
break;
+ case TYPE_COUNT_INT8_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int8_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT16_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int16_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT32_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int32_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT64_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int64_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT_FAST8_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int_fast8_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT_FAST16_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int_fast16_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT_FAST32_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int_fast32_t_pointer = length;
+ break;
+ case TYPE_COUNT_INT_FAST64_T_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int_fast64_t_pointer = length;
+ break;
default:
abort ();
}
+#else
+ abort ();
+#endif
}
#if ENABLE_UNISTDIO
/* The unistdio extensions. */
@@ -2129,7 +2505,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters = 0;
}
- if (characters < width && !(dp->flags & FLAG_LEFT))
+ if (characters < width && !(flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2174,7 +2550,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
# endif
- if (characters < width && (dp->flags & FLAG_LEFT))
+ if (characters < width && (flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2231,7 +2607,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters = 0;
}
- if (characters < width && !(dp->flags & FLAG_LEFT))
+ if (characters < width && !(flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2276,7 +2652,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
# endif
- if (characters < width && (dp->flags & FLAG_LEFT))
+ if (characters < width && (flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2333,7 +2709,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters = 0;
}
- if (characters < width && !(dp->flags & FLAG_LEFT))
+ if (characters < width && !(flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2378,7 +2754,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
# endif
- if (characters < width && (dp->flags & FLAG_LEFT))
+ if (characters < width && (flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2393,7 +2769,150 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
}
#endif
-#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL) || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T
+#if WIDE_CHAR_VERSION && (!DCHAR_IS_TCHAR || NEED_WPRINTF_DIRECTIVE_LC)
+ else if ((dp->conversion == 's'
+ && a.arg[dp->arg_index].type == TYPE_WIDE_STRING)
+ || (dp->conversion == 'c'
+ && a.arg[dp->arg_index].type == TYPE_WIDE_CHAR))
+ {
+ /* %ls or %lc in vasnwprintf. See the specification of
+ fwprintf. */
+ /* It would be silly to use snprintf ("%ls", ...) and then
+ convert back the result from a char[] to a wchar_t[].
+ Instead, just copy the argument wchar_t[] to the result. */
+ int flags = dp->flags;
+ size_t width;
+
+ width = 0;
+ if (dp->width_start != dp->width_end)
+ {
+ if (dp->width_arg_index != ARG_NONE)
+ {
+ int arg;
+
+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->width_arg_index].a.a_int;
+ width = arg;
+ if (arg < 0)
+ {
+ /* "A negative field width is taken as a '-' flag
+ followed by a positive field width." */
+ flags |= FLAG_LEFT;
+ width = -width;
+ }
+ }
+ else
+ {
+ const FCHAR_T *digitp = dp->width_start;
+
+ do
+ width = xsum (xtimes (width, 10), *digitp++ - '0');
+ while (digitp != dp->width_end);
+ }
+ }
+
+ {
+ const wchar_t *ls_arg;
+ wchar_t lc_arg[1];
+ size_t characters;
+
+ if (dp->conversion == 's')
+ {
+ int has_precision;
+ size_t precision;
+
+ has_precision = 0;
+ precision = 6;
+ if (dp->precision_start != dp->precision_end)
+ {
+ if (dp->precision_arg_index != ARG_NONE)
+ {
+ int arg;
+
+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->precision_arg_index].a.a_int;
+ /* "A negative precision is taken as if the precision
+ were omitted." */
+ if (arg >= 0)
+ {
+ precision = arg;
+ has_precision = 1;
+ }
+ }
+ else
+ {
+ const FCHAR_T *digitp = dp->precision_start + 1;
+
+ precision = 0;
+ while (digitp != dp->precision_end)
+ precision = xsum (xtimes (precision, 10), *digitp++ - '0');
+ has_precision = 1;
+ }
+ }
+
+ ls_arg = a.arg[dp->arg_index].a.a_wide_string;
+
+ if (has_precision)
+ {
+ /* Use only at most PRECISION wide characters, from
+ the left. */
+ const wchar_t *ls_arg_end;
+
+ ls_arg_end = ls_arg;
+ characters = 0;
+ for (; precision > 0; precision--)
+ {
+ if (*ls_arg_end == 0)
+ /* Found the terminating null wide character. */
+ break;
+ ls_arg_end++;
+ characters++;
+ }
+ }
+ else
+ {
+ /* Use the entire string, and count the number of wide
+ characters. */
+ characters = local_wcslen (ls_arg);
+ }
+ }
+ else /* dp->conversion == 'c' */
+ {
+ lc_arg[0] = (wchar_t) a.arg[dp->arg_index].a.a_wide_char;
+ ls_arg = lc_arg;
+ characters = 1;
+ }
+
+ {
+ size_t total = (characters < width ? width : characters);
+ ENSURE_ALLOCATION (xsum (length, total));
+
+ if (characters < width && !(flags & FLAG_LEFT))
+ {
+ size_t n = width - characters;
+ DCHAR_SET (result + length, ' ', n);
+ length += n;
+ }
+
+ if (characters > 0)
+ {
+ DCHAR_CPY (result + length, ls_arg, characters);
+ length += characters;
+ }
+
+ if (characters < width && (flags & FLAG_LEFT))
+ {
+ size_t n = width - characters;
+ DCHAR_SET (result + length, ' ', n);
+ length += n;
+ }
+ }
+ }
+ }
+#endif
+#if (!USE_SNPRINTF || WIDE_CHAR_VERSION || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_PRINTF_DIRECTIVE_LS || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T
else if (dp->conversion == 's'
# if WIDE_CHAR_VERSION
&& a.arg[dp->arg_index].type != TYPE_WIDE_STRING
@@ -2492,7 +3011,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
wide characters, from the left. */
# if HAVE_MBRTOWC
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
arg_end = arg;
characters = 0;
@@ -2520,7 +3039,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters. */
# if HAVE_MBRTOWC
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
arg_end = arg;
characters = 0;
@@ -2550,7 +3069,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters = 0;
}
- if (characters < width && !(dp->flags & FLAG_LEFT))
+ if (characters < width && !(flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2564,7 +3083,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
size_t remaining;
# if HAVE_MBRTOWC
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
ENSURE_ALLOCATION (xsum (length, characters));
for (remaining = characters; remaining > 0; remaining--)
@@ -2590,7 +3109,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
# if HAVE_MBRTOWC
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
while (arg < arg_end)
{
@@ -2601,17 +3120,19 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# else
count = mbtowc (&wc, arg, arg_end - arg);
# endif
- if (count <= 0)
- /* mbrtowc not consistent with mbrlen, or mbtowc
- not consistent with mblen. */
+ if (count == 0)
+ /* mbrtowc not consistent with strlen. */
abort ();
+ if (count < 0)
+ /* Invalid or incomplete multibyte character. */
+ goto fail_with_EILSEQ;
ENSURE_ALLOCATION (xsum (length, 1));
result[length++] = wc;
arg += count;
}
}
- if (characters < width && (dp->flags & FLAG_LEFT))
+ if (characters < width && (flags & FLAG_LEFT))
{
size_t n = width - characters;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2640,7 +3161,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
at most PRECISION bytes, from the left. */
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
arg_end = arg;
characters = 0;
@@ -2673,7 +3194,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
bytes. */
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
arg_end = arg;
characters = 0;
@@ -2713,7 +3234,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
size_t remaining;
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
for (remaining = characters; remaining > 0; )
{
@@ -2767,7 +3288,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
/* w doesn't matter. */
w = 0;
- if (w < width && !(dp->flags & FLAG_LEFT))
+ if (w < width && !(flags & FLAG_LEFT))
{
size_t n = width - w;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2782,7 +3303,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
size_t remaining;
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
ENSURE_ALLOCATION (xsum (length, characters));
for (remaining = characters; remaining > 0; )
@@ -2808,7 +3329,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
while (arg < arg_end)
{
@@ -2835,7 +3356,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
length += tmpdst_len;
# endif
- if (w < width && (dp->flags & FLAG_LEFT))
+ if (w < width && (flags & FLAG_LEFT))
{
size_t n = width - w;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2846,12 +3367,13 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# endif
}
#endif
-#if ENABLE_WCHAR_FALLBACK && HAVE_WINT_T && !WIDE_CHAR_VERSION
+#if (NEED_PRINTF_DIRECTIVE_LC || ENABLE_WCHAR_FALLBACK) && HAVE_WINT_T && !WIDE_CHAR_VERSION
else if (dp->conversion == 'c'
&& a.arg[dp->arg_index].type == TYPE_WIDE_CHAR)
{
/* Implement the 'lc' directive ourselves, in order to provide
- the fallback that avoids EILSEQ. */
+ a correct behaviour for the null wint_t argument and/or the
+ fallback that avoids EILSEQ. */
int flags = dp->flags;
int has_width;
size_t width;
@@ -2906,21 +3428,18 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
/* Count the number of bytes. */
characters = 0;
- if (arg != 0)
- {
- char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
- int count;
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
+ int count;
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
- mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbstate_t state;
+ mbszero (&state);
# endif
- count = local_wcrtomb (cbuf, arg, &state);
- if (count < 0)
- /* Inconsistency. */
- abort ();
- characters = count;
- }
+ count = local_wcrtomb (cbuf, arg, &state);
+ if (count < 0)
+ /* Cannot convert. */
+ goto fail_with_EILSEQ;
+ characters = count;
}
# if DCHAR_IS_TCHAR
else
@@ -2932,13 +3451,13 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# if !DCHAR_IS_TCHAR
/* Convert the string into a piece of temporary memory. */
- if (characters > 0) /* implies arg != 0 */
+ if (characters > 0)
{
char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
int count;
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
count = local_wcrtomb (cbuf, arg, &state);
@@ -2976,7 +3495,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
/* w doesn't matter. */
w = 0;
- if (w < width && !(dp->flags & FLAG_LEFT))
+ if (w < width && !(flags & FLAG_LEFT))
{
size_t n = width - w;
ENSURE_ALLOCATION (xsum (length, n));
@@ -2989,12 +3508,12 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
/* We know the number of bytes in advance. */
ENSURE_ALLOCATION (xsum (length, characters));
- if (characters > 0) /* implies arg != 0 */
+ if (characters > 0)
{
int count;
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbszero (&state);
# endif
count = local_wcrtomb (result + length, arg, &state);
@@ -3006,23 +3525,20 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
else
{
- if (arg != 0)
- {
- char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
- int count;
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
+ int count;
# if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
- mbstate_t state;
- memset (&state, '\0', sizeof (mbstate_t));
+ mbstate_t state;
+ mbszero (&state);
# endif
- count = local_wcrtomb (cbuf, arg, &state);
- if (count <= 0)
- /* Inconsistency. */
- abort ();
- ENSURE_ALLOCATION (xsum (length, count));
- memcpy (result + length, cbuf, count);
- length += count;
- }
+ count = local_wcrtomb (cbuf, arg, &state);
+ if (count < 0)
+ /* Cannot convert. */
+ goto fail_with_EILSEQ;
+ ENSURE_ALLOCATION (xsum (length, count));
+ memcpy (result + length, cbuf, count);
+ length += count;
}
# else
ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len),
@@ -3032,7 +3548,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
length += tmpdst_len;
# endif
- if (w < width && (dp->flags & FLAG_LEFT))
+ if (w < width && (flags & FLAG_LEFT))
{
size_t n = width - w;
ENSURE_ALLOCATION (xsum (length, n));
@@ -3042,14 +3558,399 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
}
#endif
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
+#if NEED_WPRINTF_DIRECTIVE_C && WIDE_CHAR_VERSION
+ else if (dp->conversion == 'c'
+ && a.arg[dp->arg_index].type != TYPE_WIDE_CHAR)
+ {
+ /* Implement the 'c' directive ourselves, in order to avoid
+ EILSEQ in the "C" locale. */
+ int flags = dp->flags;
+ size_t width;
+
+ width = 0;
+ if (dp->width_start != dp->width_end)
+ {
+ if (dp->width_arg_index != ARG_NONE)
+ {
+ int arg;
+
+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->width_arg_index].a.a_int;
+ width = arg;
+ if (arg < 0)
+ {
+ /* "A negative field width is taken as a '-' flag
+ followed by a positive field width." */
+ flags |= FLAG_LEFT;
+ width = -width;
+ }
+ }
+ else
+ {
+ const FCHAR_T *digitp = dp->width_start;
+
+ do
+ width = xsum (xtimes (width, 10), *digitp++ - '0');
+ while (digitp != dp->width_end);
+ }
+ }
+
+ /* %c in vasnwprintf. See the specification of fwprintf. */
+ {
+ char arg = (char) a.arg[dp->arg_index].a.a_char;
+ mbstate_t state;
+ wchar_t wc;
+
+ mbszero (&state);
+ int count = mbrtowc (&wc, &arg, 1, &state);
+ if (count < 0)
+ /* Invalid or incomplete multibyte character. */
+ goto fail_with_EILSEQ;
+
+ if (1 < width && !(flags & FLAG_LEFT))
+ {
+ size_t n = width - 1;
+ ENSURE_ALLOCATION (xsum (length, n));
+ DCHAR_SET (result + length, ' ', n);
+ length += n;
+ }
+
+ ENSURE_ALLOCATION (xsum (length, 1));
+ result[length++] = wc;
+
+ if (1 < width && (flags & FLAG_LEFT))
+ {
+ size_t n = width - 1;
+ ENSURE_ALLOCATION (xsum (length, n));
+ DCHAR_SET (result + length, ' ', n);
+ length += n;
+ }
+ }
+ }
+#endif
+#if NEED_PRINTF_DIRECTIVE_B || NEED_PRINTF_DIRECTIVE_UPPERCASE_B
+ else if (0
+# if NEED_PRINTF_DIRECTIVE_B
+ || (dp->conversion == 'b')
+# endif
+# if NEED_PRINTF_DIRECTIVE_UPPERCASE_B
+ || (dp->conversion == 'B')
+# endif
+ )
+ {
+ arg_type type = a.arg[dp->arg_index].type;
+ int flags = dp->flags;
+ int has_width;
+ size_t width;
+ int has_precision;
+ size_t precision;
+ size_t tmp_length;
+ size_t count;
+ DCHAR_T tmpbuf[700];
+ DCHAR_T *tmp;
+ DCHAR_T *tmp_end;
+ DCHAR_T *tmp_start;
+ DCHAR_T *pad_ptr;
+ DCHAR_T *p;
+
+ has_width = 0;
+ width = 0;
+ if (dp->width_start != dp->width_end)
+ {
+ if (dp->width_arg_index != ARG_NONE)
+ {
+ int arg;
+
+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->width_arg_index].a.a_int;
+ width = arg;
+ if (arg < 0)
+ {
+ /* "A negative field width is taken as a '-' flag
+ followed by a positive field width." */
+ flags |= FLAG_LEFT;
+ width = -width;
+ }
+ }
+ else
+ {
+ const FCHAR_T *digitp = dp->width_start;
+
+ do
+ width = xsum (xtimes (width, 10), *digitp++ - '0');
+ while (digitp != dp->width_end);
+ }
+ has_width = 1;
+ }
+
+ has_precision = 0;
+ precision = 1;
+ if (dp->precision_start != dp->precision_end)
+ {
+ if (dp->precision_arg_index != ARG_NONE)
+ {
+ int arg;
+
+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->precision_arg_index].a.a_int;
+ /* "A negative precision is taken as if the precision
+ were omitted." */
+ if (arg >= 0)
+ {
+ precision = arg;
+ has_precision = 1;
+ }
+ }
+ else
+ {
+ const FCHAR_T *digitp = dp->precision_start + 1;
+
+ precision = 0;
+ while (digitp != dp->precision_end)
+ precision = xsum (xtimes (precision, 10), *digitp++ - '0');
+ has_precision = 1;
+ }
+ }
+
+ /* Allocate a temporary buffer of sufficient size. */
+ switch (type)
+ {
+ default:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long int) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_ULONGLONGINT:
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long int) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint8_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint16_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint32_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint64_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST8_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast8_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST16_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast16_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST32_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast32_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ case TYPE_UINT_FAST64_T:
+ tmp_length =
+ (unsigned int) (sizeof (uint_fast64_t) * CHAR_BIT)
+ + 1; /* turn floor into ceil */
+ break;
+ }
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Add 2, to account for a prefix from the alternate form. */
+ tmp_length = xsum (tmp_length, 2);
+
+ if (tmp_length < width)
+ tmp_length = width;
+
+ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T))
+ tmp = tmpbuf;
+ else
+ {
+ size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T));
+
+ if (size_overflow_p (tmp_memsize))
+ /* Overflow, would lead to out of memory. */
+ goto out_of_memory;
+ tmp = (DCHAR_T *) malloc (tmp_memsize);
+ if (tmp == NULL)
+ /* Out of memory. */
+ goto out_of_memory;
+ }
+
+ tmp_end = tmp + tmp_length;
+
+ unsigned long long arg;
+ switch (type)
+ {
+ case TYPE_UCHAR:
+ arg = a.arg[dp->arg_index].a.a_uchar;
+ break;
+ case TYPE_USHORT:
+ arg = a.arg[dp->arg_index].a.a_ushort;
+ break;
+ case TYPE_UINT:
+ arg = a.arg[dp->arg_index].a.a_uint;
+ break;
+ case TYPE_ULONGINT:
+ arg = a.arg[dp->arg_index].a.a_ulongint;
+ break;
+ case TYPE_ULONGLONGINT:
+ arg = a.arg[dp->arg_index].a.a_ulonglongint;
+ break;
+ case TYPE_UINT8_T:
+ arg = a.arg[dp->arg_index].a.a_uint8_t;
+ break;
+ case TYPE_UINT16_T:
+ arg = a.arg[dp->arg_index].a.a_uint16_t;
+ break;
+ case TYPE_UINT32_T:
+ arg = a.arg[dp->arg_index].a.a_uint32_t;
+ break;
+ case TYPE_UINT64_T:
+ arg = a.arg[dp->arg_index].a.a_uint64_t;
+ break;
+ case TYPE_UINT_FAST8_T:
+ arg = a.arg[dp->arg_index].a.a_uint_fast8_t;
+ break;
+ case TYPE_UINT_FAST16_T:
+ arg = a.arg[dp->arg_index].a.a_uint_fast16_t;
+ break;
+ case TYPE_UINT_FAST32_T:
+ arg = a.arg[dp->arg_index].a.a_uint_fast32_t;
+ break;
+ case TYPE_UINT_FAST64_T:
+ arg = a.arg[dp->arg_index].a.a_uint_fast64_t;
+ break;
+ default:
+ abort ();
+ }
+ int need_prefix = ((flags & FLAG_ALT) && arg != 0);
+
+ p = tmp_end;
+ /* "The result of converting a zero value with a precision
+ of zero is no characters." */
+ if (!(has_precision && precision == 0 && arg == 0))
+ {
+ do
+ {
+ *--p = '0' + (arg & 1);
+ arg = arg >> 1;
+ }
+ while (arg != 0);
+ }
+
+ if (has_precision)
+ {
+ DCHAR_T *digits_start = tmp_end - precision;
+ while (p > digits_start)
+ *--p = '0';
+ }
+
+ pad_ptr = p;
+
+ if (need_prefix)
+ {
+# if NEED_PRINTF_DIRECTIVE_B && !NEED_PRINTF_DIRECTIVE_UPPERCASE_B
+ *--p = 'b';
+# elif NEED_PRINTF_DIRECTIVE_UPPERCASE_B && !NEED_PRINTF_DIRECTIVE_B
+ *--p = 'B';
+# else
+ *--p = dp->conversion;
+# endif
+ *--p = '0';
+ }
+ tmp_start = p;
+
+ /* The generated string now extends from tmp_start to tmp_end,
+ with the zero padding insertion point being at pad_ptr,
+ tmp_start <= pad_ptr <= tmp_end. */
+ count = tmp_end - tmp_start;
+
+ if (count < width)
+ {
+ size_t pad = width - count;
+
+ if (flags & FLAG_LEFT)
+ {
+ /* Pad with spaces on the right. */
+ for (p = tmp_start; p < tmp_end; p++)
+ *(p - pad) = *p;
+ for (p = tmp_end - pad; p < tmp_end; p++)
+ *p = ' ';
+ }
+ else if ((flags & FLAG_ZERO)
+ /* Neither ISO C nor POSIX specify that the '0'
+ flag is ignored when a width and a precision
+ are both present. But most implementations
+ do so. */
+ && !(has_width && has_precision))
+ {
+ /* Pad with zeroes. */
+ for (p = tmp_start; p < pad_ptr; p++)
+ *(p - pad) = *p;
+ for (p = pad_ptr - pad; p < pad_ptr; p++)
+ *p = '0';
+ }
+ else
+ {
+ /* Pad with spaces on the left. */
+ for (p = tmp_start - pad; p < tmp_start; p++)
+ *p = ' ';
+ }
+
+ tmp_start = tmp_start - pad;
+ }
+
+ count = tmp_end - tmp_start;
+
+ if (count > tmp_length)
+ /* tmp_length was incorrectly calculated - fix the
+ code above! */
+ abort ();
+
+ /* Make room for the result. */
+ if (count >= allocated - length)
+ {
+ size_t n = xsum (length, count);
+
+ ENSURE_ALLOCATION (n);
+ }
+
+ /* Append the result. */
+ memcpy (result + length, tmp_start, count * sizeof (DCHAR_T));
+ if (tmp != tmpbuf)
+ free (tmp);
+ length += count;
+ }
+#endif
+#if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
else if ((dp->conversion == 'a' || dp->conversion == 'A')
# if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE))
&& (0
# if NEED_PRINTF_DOUBLE
|| a.arg[dp->arg_index].type == TYPE_DOUBLE
# endif
-# if NEED_PRINTF_LONG_DOUBLE
+# if NEED_PRINTF_LONG_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
|| a.arg[dp->arg_index].type == TYPE_LONGDOUBLE
# endif
)
@@ -3169,7 +4070,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
p = tmp;
if (type == TYPE_LONGDOUBLE)
{
-# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE
+# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || (NEED_WPRINTF_DIRECTIVE_LA && WIDE_CHAR_VERSION)
long double arg = a.arg[dp->arg_index].a.a_longdouble;
if (isnanl (arg))
@@ -3289,7 +4190,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
}
*p++ = dp->conversion - 'A' + 'P';
-# if WIDE_CHAR_VERSION
+# if WIDE_CHAR_VERSION && DCHAR_IS_TCHAR
{
static const wchar_t decimal_format[] =
{ '%', '+', 'd', '\0' };
@@ -3440,7 +4341,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
}
*p++ = dp->conversion - 'A' + 'P';
-# if WIDE_CHAR_VERSION
+# if WIDE_CHAR_VERSION && DCHAR_IS_TCHAR
{
static const wchar_t decimal_format[] =
{ '%', '+', 'd', '\0' };
@@ -3532,7 +4433,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
length += count;
}
#endif
-#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
+#if NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE
else if ((dp->conversion == 'f' || dp->conversion == 'F'
|| dp->conversion == 'e' || dp->conversion == 'E'
|| dp->conversion == 'g' || dp->conversion == 'G'
@@ -3900,7 +4801,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
*p++ = dp->conversion; /* 'e' or 'E' */
-# if WIDE_CHAR_VERSION
+# if WIDE_CHAR_VERSION && DCHAR_IS_TCHAR
{
static const wchar_t decimal_format[] =
{ '%', '+', '.', '2', 'd', '\0' };
@@ -4081,7 +4982,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
}
*p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */
-# if WIDE_CHAR_VERSION
+# if WIDE_CHAR_VERSION && DCHAR_IS_TCHAR
{
static const wchar_t decimal_format[] =
{ '%', '+', '.', '2', 'd', '\0' };
@@ -4358,7 +5259,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
*p++ = dp->conversion; /* 'e' or 'E' */
-# if WIDE_CHAR_VERSION
+# if WIDE_CHAR_VERSION && DCHAR_IS_TCHAR
{
static const wchar_t decimal_format[] =
/* Produce the same number of exponent digits
@@ -4551,7 +5452,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
}
*p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */
-# if WIDE_CHAR_VERSION
+# if WIDE_CHAR_VERSION && DCHAR_IS_TCHAR
{
static const wchar_t decimal_format[] =
/* Produce the same number of exponent digits
@@ -4719,24 +5620,24 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
arg_type type = a.arg[dp->arg_index].type;
int flags = dp->flags;
-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if (WIDE_CHAR_VERSION && MUSL_LIBC) || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
int has_width;
#endif
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || WIDE_CHAR_VERSION || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
size_t width;
#endif
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || (WIDE_CHAR_VERSION && DCHAR_IS_TCHAR) || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (WIDE_CHAR_VERSION && MUSL_LIBC) || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
int has_precision;
size_t precision;
#endif
-#if NEED_PRINTF_UNBOUNDED_PRECISION
+#if NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
int prec_ourselves;
#else
# define prec_ourselves 0
#endif
-#if NEED_PRINTF_FLAG_LEFTADJUST
+#if (WIDE_CHAR_VERSION && MUSL_LIBC) || NEED_PRINTF_FLAG_LEFTADJUST
# define pad_ourselves 1
-#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
int pad_ourselves;
#else
# define pad_ourselves 0
@@ -4751,10 +5652,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
TCHAR_T *tmp;
#endif
-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if (WIDE_CHAR_VERSION && MUSL_LIBC) || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
has_width = 0;
#endif
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || WIDE_CHAR_VERSION || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
width = 0;
if (dp->width_start != dp->width_end)
{
@@ -4782,13 +5683,13 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
width = xsum (xtimes (width, 10), *digitp++ - '0');
while (digitp != dp->width_end);
}
-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+# if (WIDE_CHAR_VERSION && MUSL_LIBC) || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
has_width = 1;
-#endif
+# endif
}
#endif
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || (WIDE_CHAR_VERSION && DCHAR_IS_TCHAR) || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (WIDE_CHAR_VERSION && MUSL_LIBC) || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
has_precision = 0;
precision = 6;
if (dp->precision_start != dp->precision_end)
@@ -4821,14 +5722,32 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
#endif
/* Decide whether to handle the precision ourselves. */
-#if NEED_PRINTF_UNBOUNDED_PRECISION
+#if NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
switch (dp->conversion)
{
+# if NEED_PRINTF_UNBOUNDED_PRECISION
case 'd': case 'i': case 'u':
+ case 'b':
+ #if SUPPORT_GNU_PRINTF_DIRECTIVES \
+ || (__GLIBC__ + (__GLIBC_MINOR__ >= 35) > 2)
+ case 'B':
+ #endif
case 'o':
- case 'x': case 'X': case 'p':
prec_ourselves = has_precision && (precision > 0);
break;
+# endif
+ case 'x': case 'X': case 'p':
+ prec_ourselves =
+ has_precision
+ && (0
+# if NEED_PRINTF_FLAG_ALT_PRECISION_ZERO
+ || (precision == 0)
+# endif
+# if NEED_PRINTF_UNBOUNDED_PRECISION
+ || (precision > 0)
+# endif
+ );
+ break;
default:
prec_ourselves = 0;
break;
@@ -4836,7 +5755,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
#endif
/* Decide whether to perform the padding ourselves. */
-#if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION)
+#if !((WIDE_CHAR_VERSION && MUSL_LIBC) || NEED_PRINTF_FLAG_LEFTADJUST) && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION)
switch (dp->conversion)
{
# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO
@@ -4955,6 +5874,54 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
case TYPE_LONGLONGINT:
case TYPE_ULONGLONGINT:
+ #if INT8_WIDTH > LONG_WIDTH
+ case TYPE_INT8_T:
+ #endif
+ #if UINT8_WIDTH > LONG_WIDTH
+ case TYPE_UINT8_T:
+ #endif
+ #if INT16_WIDTH > LONG_WIDTH
+ case TYPE_INT16_T:
+ #endif
+ #if UINT16_WIDTH > LONG_WIDTH
+ case TYPE_UINT16_T:
+ #endif
+ #if INT32_WIDTH > LONG_WIDTH
+ case TYPE_INT32_T:
+ #endif
+ #if UINT32_WIDTH > LONG_WIDTH
+ case TYPE_UINT32_T:
+ #endif
+ #if INT64_WIDTH > LONG_WIDTH
+ case TYPE_INT64_T:
+ #endif
+ #if UINT64_WIDTH > LONG_WIDTH
+ case TYPE_UINT64_T:
+ #endif
+ #if INT_FAST8_WIDTH > LONG_WIDTH
+ case TYPE_INT_FAST8_T:
+ #endif
+ #if UINT_FAST8_WIDTH > LONG_WIDTH
+ case TYPE_UINT_FAST8_T:
+ #endif
+ #if INT_FAST16_WIDTH > LONG_WIDTH
+ case TYPE_INT_FAST16_T:
+ #endif
+ #if UINT_FAST16_WIDTH > LONG_WIDTH
+ case TYPE_UINT_FAST16_T:
+ #endif
+ #if INT_FAST32_WIDTH > LONG_WIDTH
+ case TYPE_INT3_FAST2_T:
+ #endif
+ #if UINT_FAST32_WIDTH > LONG_WIDTH
+ case TYPE_UINT_FAST32_T:
+ #endif
+ #if INT_FAST64_WIDTH > LONG_WIDTH
+ case TYPE_INT_FAST64_T:
+ #endif
+ #if UINT_FAST64_WIDTH > LONG_WIDTH
+ case TYPE_UINT_FAST64_T:
+ #endif
#if defined _WIN32 && ! defined __CYGWIN__
*fbp++ = 'I';
*fbp++ = '6';
@@ -4966,12 +5933,60 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
FALLTHROUGH;
case TYPE_LONGINT:
case TYPE_ULONGINT:
-#if HAVE_WINT_T
+ #if INT8_WIDTH > INT_WIDTH && INT8_WIDTH <= LONG_WIDTH
+ case TYPE_INT8_T:
+ #endif
+ #if UINT8_WIDTH > INT_WIDTH && UINT8_WIDTH <= LONG_WIDTH
+ case TYPE_UINT8_T:
+ #endif
+ #if INT16_WIDTH > INT_WIDTH && INT16_WIDTH <= LONG_WIDTH
+ case TYPE_INT16_T:
+ #endif
+ #if UINT16_WIDTH > INT_WIDTH && UINT16_WIDTH <= LONG_WIDTH
+ case TYPE_UINT16_T:
+ #endif
+ #if INT32_WIDTH > INT_WIDTH && INT32_WIDTH <= LONG_WIDTH
+ case TYPE_INT32_T:
+ #endif
+ #if UINT32_WIDTH > INT_WIDTH && UINT32_WIDTH <= LONG_WIDTH
+ case TYPE_UINT32_T:
+ #endif
+ #if INT64_WIDTH > INT_WIDTH && INT64_WIDTH <= LONG_WIDTH
+ case TYPE_INT64_T:
+ #endif
+ #if UINT64_WIDTH > INT_WIDTH && UINT64_WIDTH <= LONG_WIDTH
+ case TYPE_UINT64_T:
+ #endif
+ #if INT_FAST8_WIDTH > INT_WIDTH && INT_FAST8_WIDTH <= LONG_WIDTH
+ case TYPE_INT_FAST8_T:
+ #endif
+ #if UINT_FAST8_WIDTH > INT_WIDTH && UINT_FAST8_WIDTH <= LONG_WIDTH
+ case TYPE_UINT_FAST8_T:
+ #endif
+ #if INT_FAST16_WIDTH > INT_WIDTH && INT_FAST16_WIDTH <= LONG_WIDTH
+ case TYPE_INT_FAST16_T:
+ #endif
+ #if UINT_FAST16_WIDTH > INT_WIDTH && UINT_FAST16_WIDTH <= LONG_WIDTH
+ case TYPE_UINT_FAST16_T:
+ #endif
+ #if INT_FAST32_WIDTH > INT_WIDTH && INT_FAST32_WIDTH <= LONG_WIDTH
+ case TYPE_INT_FAST32_T:
+ #endif
+ #if UINT_FAST32_WIDTH > INT_WIDTH && UINT_FAST32_WIDTH <= LONG_WIDTH
+ case TYPE_UINT_FAST32_T:
+ #endif
+ #if INT_FAST64_WIDTH > INT_WIDTH && INT_FAST64_WIDTH <= LONG_WIDTH
+ case TYPE_INT_FAST64_T:
+ #endif
+ #if UINT_FAST64_WIDTH > INT_WIDTH && UINT_FAST64_WIDTH <= LONG_WIDTH
+ case TYPE_UINT_FAST64_T:
+ #endif
+ #if HAVE_WINT_T
case TYPE_WIDE_CHAR:
-#endif
-#if HAVE_WCHAR_T
+ #endif
+ #if HAVE_WCHAR_T
case TYPE_WIDE_STRING:
-#endif
+ #endif
*fbp++ = 'l';
break;
case TYPE_LONGDOUBLE:
@@ -4987,47 +6002,74 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
#endif
*fbp = dp->conversion;
#if USE_SNPRINTF
-# if ((HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99) \
+ /* Decide whether to pass %n in the format string
+ to SNPRINTF. */
+# if (((!WIDE_CHAR_VERSION || !DCHAR_IS_TCHAR) \
+ && (HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99)) \
|| ((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
&& !defined __UCLIBC__) \
|| (defined __APPLE__ && defined __MACH__) \
+ || defined __OpenBSD__ \
|| defined __ANDROID__ \
- || (defined _WIN32 && ! defined __CYGWIN__))
- /* On systems where we know that snprintf's return value
- conforms to ISO C 99 (HAVE_SNPRINTF_RETVAL_C99) and that
- snprintf always produces NUL-terminated strings
- (HAVE_SNPRINTF_TRUNCATION_C99), it is possible to avoid
- using %n. And it is desirable to do so, because more and
- more platforms no longer support %n, for "security reasons".
- In particular, the following platforms:
+ || (defined _WIN32 && ! defined __CYGWIN__)) \
+ || (WIDE_CHAR_VERSION && MUSL_LIBC)
+ /* We can avoid passing %n and instead rely on SNPRINTF's
+ return value if
+ - !WIDE_CHAR_VERSION || !DCHAR_IS_TCHAR, because otherwise,
+ when WIDE_CHAR_VERSION && DCHAR_IS_TCHAR,
+ snwprintf()/_snwprintf() (Windows) and swprintf() (Unix)
+ don't return the needed buffer size,
+ and
+ - we're compiling for a system where we know
+ - that snprintf's return value conforms to ISO C 99
+ (HAVE_SNPRINTF_RETVAL_C99) and
+ - that snprintf always produces NUL-terminated strings
+ (HAVE_SNPRINTF_TRUNCATION_C99).
+ And it is desirable to do so, because more and more platforms
+ no longer support %n, for "security reasons". */
+ /* On specific platforms, listed below, we *must* avoid %n.
+ In the case
+ !WIDE_CHAR_VERSION && HAVE_SNPRINTF_RETVAL_C99 && !USE_MSVC__SNPRINTF
+ we can rely on the return value of snprintf instead. Whereas
+ in the opposite case
+ WIDE_CHAR_VERSION || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF
+ we need to make room based on an estimation, computed by
+ MAX_ROOM_NEEDED. */
+ /* The following platforms forbid %n:
- On glibc2 systems from 2004-10-18 or newer, the use of
%n in format strings in writable memory may crash the
program (if compiled with _FORTIFY_SOURCE=2).
- - On Mac OS X 10.13 or newer, the use of %n in format
+ - On macOS 10.13 or newer, the use of %n in format
strings in writable memory by default crashes the
program.
+ - On OpenBSD, since 2021-08-30, the use of %n in format
+ strings produces an abort (see
+ <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/vfprintf.c.diff?r1=1.79&r2=1.80&f=h>,
+ <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/vfwprintf.c.diff?r1=1.20&r2=1.21&f=h>).
- On Android, starting on 2018-03-07, the use of %n in
format strings produces a fatal error (see
<https://android.googlesource.com/platform/bionic/+/41398d03b7e8e0dfb951660ae713e682e9fc0336>).
- On these platforms, HAVE_SNPRINTF_RETVAL_C99 and
- HAVE_SNPRINTF_TRUNCATION_C99 are 1. We have listed them
- explicitly in the condition above, in case of cross-
- compilation (just to be sure). */
- /* On native Windows systems (such as mingw), we can avoid using
- %n because:
+ - On native Windows systems (such as mingw) where the OS is
+ Windows Vista, the use of %n in format strings by default
+ crashes the program. See
+ <https://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and
+ <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/set-printf-count-output>
+ On the first four of these platforms, if !WIDE_CHAR_VERSION,
+ it is not a big deal to avoid %n, because on these platforms,
+ HAVE_SNPRINTF_RETVAL_C99 and HAVE_SNPRINTF_TRUNCATION_C99 are
+ 1.
+ On native Windows, if !WIDE_CHAR_VERSION, it's not a big deal
+ either because:
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
snprintf does not write more than the specified number
of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes
'4', '5', '6' into buf, not '4', '5', '\0'.)
- Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf
allows us to recognize the case of an insufficient
- buffer size: it returns -1 in this case.
- On native Windows systems (such as mingw) where the OS is
- Windows Vista, the use of %n in format strings by default
- crashes the program. See
- <https://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and
- <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/set-printf-count-output>
- So we should avoid %n in this situation. */
+ buffer size: it returns -1 in this case. */
+ /* Additionally, in the WIDE_CHAR_VERSION case, we cannot use %n
+ on musl libc because we would run into an swprintf() bug.
+ See <https://www.openwall.com/lists/musl/2023/03/19/1>. */
fbp[1] = '\0';
# else /* AIX <= 5.1, HP-UX, IRIX, OSF/1, Solaris <= 9, BeOS */
fbp[1] = '%';
@@ -5188,6 +6230,102 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
SNPRINTF_BUF (arg);
}
break;
+ case TYPE_INT8_T:
+ {
+ int8_t arg = a.arg[dp->arg_index].a.a_int8_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT8_T:
+ {
+ uint8_t arg = a.arg[dp->arg_index].a.a_uint8_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT16_T:
+ {
+ int16_t arg = a.arg[dp->arg_index].a.a_int16_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT16_T:
+ {
+ uint16_t arg = a.arg[dp->arg_index].a.a_uint16_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT32_T:
+ {
+ int32_t arg = a.arg[dp->arg_index].a.a_int32_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT32_T:
+ {
+ uint32_t arg = a.arg[dp->arg_index].a.a_uint32_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT64_T:
+ {
+ int64_t arg = a.arg[dp->arg_index].a.a_int64_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT64_T:
+ {
+ uint64_t arg = a.arg[dp->arg_index].a.a_uint64_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT_FAST8_T:
+ {
+ int_fast8_t arg = a.arg[dp->arg_index].a.a_int_fast8_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT_FAST8_T:
+ {
+ uint_fast8_t arg = a.arg[dp->arg_index].a.a_uint_fast8_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT_FAST16_T:
+ {
+ int_fast16_t arg = a.arg[dp->arg_index].a.a_int_fast16_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT_FAST16_T:
+ {
+ uint_fast16_t arg = a.arg[dp->arg_index].a.a_uint_fast16_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT_FAST32_T:
+ {
+ int_fast32_t arg = a.arg[dp->arg_index].a.a_int_fast32_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT_FAST32_T:
+ {
+ uint_fast32_t arg = a.arg[dp->arg_index].a.a_uint_fast32_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT_FAST64_T:
+ {
+ int_fast64_t arg = a.arg[dp->arg_index].a.a_int_fast64_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT_FAST64_T:
+ {
+ uint_fast64_t arg = a.arg[dp->arg_index].a.a_uint_fast64_t;
+ SNPRINTF_BUF (arg);
+ }
+ break;
case TYPE_DOUBLE:
{
double arg = a.arg[dp->arg_index].a.a_double;
@@ -5270,12 +6408,16 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
/* Look at the snprintf() return value. */
if (retcount < 0)
{
-# if !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF
+# if (WIDE_CHAR_VERSION && DCHAR_IS_TCHAR) || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF
/* HP-UX 10.20 snprintf() is doubly deficient:
It doesn't understand the '%n' directive,
*and* it returns -1 (rather than the length
that would have been required) when the
buffer is too small.
+ Likewise, in case of
+ WIDE_CHAR_VERSION && DCHAR_IS_TCHAR, the
+ functions snwprintf()/_snwprintf() (Windows)
+ or swprintf() (Unix).
But a failure at this point can also come
from other reasons than a too small buffer,
such as an invalid wide string argument to
@@ -5311,7 +6453,15 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# endif
}
else
- count = retcount;
+ {
+ count = retcount;
+# if WIDE_CHAR_VERSION && defined __MINGW32__
+ if (count == 0 && dp->conversion == 'c')
+ /* snwprintf returned 0 instead of 1. But it
+ wrote a null wide character. */
+ count = 1;
+# endif
+ }
}
}
#endif
@@ -5369,7 +6519,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
}
#endif
-#if NEED_PRINTF_UNBOUNDED_PRECISION
+#if NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
if (prec_ourselves)
{
/* Handle the precision. */
@@ -5429,6 +6579,15 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
count += insert;
}
+# if NEED_PRINTF_FLAG_ALT_PRECISION_ZERO
+ else if (precision == 0
+ && move == 1
+ && prec_ptr[prefix_count] == '0')
+ {
+ /* Replace the "0" result with an empty string. */
+ count = prefix_count;
+ }
+# endif
}
#endif
@@ -5441,11 +6600,13 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
#if !DCHAR_IS_TCHAR
/* Convert from TCHAR_T[] to DCHAR_T[]. */
- if (dp->conversion == 'c' || dp->conversion == 's')
+ if (dp->conversion == 'c' || dp->conversion == 's'
+# if __GLIBC__ >= 2 && !defined __UCLIBC__
+ || (flags & FLAG_LOCALIZED)
+# endif
+ )
{
- /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING
- TYPE_WIDE_STRING.
- The result string is not certainly ASCII. */
+ /* The result string is not guaranteed to be ASCII. */
const TCHAR_T *tmpsrc;
DCHAR_T *tmpdst;
size_t tmpdst_len;
@@ -5456,6 +6617,56 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# else
tmpsrc = tmp;
# endif
+# if WIDE_CHAR_VERSION
+ /* Convert tmpsrc[0..count-1] to a freshly allocated
+ wide character array. */
+ mbstate_t state;
+
+ mbszero (&state);
+ tmpdst_len = 0;
+ {
+ const TCHAR_T *src = tmpsrc;
+ size_t srclen = count;
+
+ for (; srclen > 0; tmpdst_len++)
+ {
+ /* Parse the next multibyte character. */
+ size_t ret = mbrtowc (NULL, src, srclen, &state);
+ if (ret == (size_t)(-2) || ret == (size_t)(-1))
+ goto fail_with_EILSEQ;
+ if (ret == 0)
+ ret = 1;
+ src += ret;
+ srclen -= ret;
+ }
+ }
+
+ tmpdst =
+ (wchar_t *) malloc ((tmpdst_len + 1) * sizeof (wchar_t));
+ if (tmpdst == NULL)
+ goto out_of_memory;
+
+ mbszero (&state);
+ {
+ DCHAR_T *destptr = tmpdst;
+ const TCHAR_T *src = tmpsrc;
+ size_t srclen = count;
+
+ for (; srclen > 0; destptr++)
+ {
+ /* Parse the next multibyte character. */
+ size_t ret = mbrtowc (destptr, src, srclen, &state);
+ if (ret == (size_t)(-2) || ret == (size_t)(-1))
+ /* Should already have been caught in the first
+ loop, above. */
+ abort ();
+ if (ret == 0)
+ ret = 1;
+ src += ret;
+ srclen -= ret;
+ }
+ }
+# else
tmpdst =
DCHAR_CONV_FROM_ENCODING (locale_charset (),
iconveh_question_mark,
@@ -5464,6 +6675,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
NULL, &tmpdst_len);
if (tmpdst == NULL)
goto fail_with_errno;
+# endif
ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len),
{ free (tmpdst); goto out_of_memory; });
DCHAR_CPY (result + length, tmpdst, tmpdst_len);
@@ -5530,7 +6742,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
/* Here count <= allocated - length. */
/* Perform padding. */
-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if (WIDE_CHAR_VERSION && MUSL_LIBC) || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_FLAG_ALT_PRECISION_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
if (pad_ourselves && has_width)
{
size_t w;
@@ -5589,6 +6801,22 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z')
|| (*pad_ptr >= 'a' && *pad_ptr <= 'z'))
pad_ptr = NULL;
+ else
+ /* Do the zero-padding after the "0x" or
+ "0b" prefix, not before. */
+ if (p - rp >= 2
+ && *rp == '0'
+ && (((dp->conversion == 'a'
+ || dp->conversion == 'x')
+ && rp[1] == 'x')
+ || ((dp->conversion == 'A'
+ || dp->conversion == 'X')
+ && rp[1] == 'X')
+ || (dp->conversion == 'b'
+ && rp[1] == 'b')
+ || (dp->conversion == 'B'
+ && rp[1] == 'B')))
+ pad_ptr += 2;
}
/* The generated string now extends from rp to p,
with the zero padding insertion point being at
@@ -5602,7 +6830,22 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
for (; pad > 0; pad--)
*p++ = ' ';
}
- else if ((flags & FLAG_ZERO) && pad_ptr != NULL)
+ else if ((flags & FLAG_ZERO) && pad_ptr != NULL
+ /* ISO C says: "For d, i, o, u, x, and X
+ conversions, if a precision is
+ specified, the 0 flag is ignored. */
+ && !(has_precision
+ && (dp->conversion == 'd'
+ || dp->conversion == 'i'
+ || dp->conversion == 'o'
+ || dp->conversion == 'u'
+ || dp->conversion == 'x'
+ || dp->conversion == 'X'
+ /* Although ISO C does not
+ require it, treat 'b' and 'B'
+ like 'x' and 'X'. */
+ || dp->conversion == 'b'
+ || dp->conversion == 'B')))
{
/* Pad with zeroes. */
DCHAR_T *q = end;
@@ -5696,7 +6939,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
errno = ENOMEM;
goto fail_with_errno;
-#if ENABLE_UNISTDIO || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL) || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T)
+#if ENABLE_UNISTDIO || ((!USE_SNPRINTF || WIDE_CHAR_VERSION || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || NEED_PRINTF_DIRECTIVE_LS || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T) || ((NEED_PRINTF_DIRECTIVE_LC || ENABLE_WCHAR_FALLBACK) && HAVE_WINT_T && !WIDE_CHAR_VERSION) || (NEED_WPRINTF_DIRECTIVE_C && WIDE_CHAR_VERSION)
fail_with_EILSEQ:
errno = EILSEQ;
goto fail_with_errno;
diff --git a/lib/verify.h b/lib/verify.h
index 99af8029..08268c24 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -1,6 +1,6 @@
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -37,7 +37,7 @@
&& (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__)))
# define _GL_HAVE__STATIC_ASSERT 1
# endif
-# if (202000 <= __STDC_VERSION__ \
+# if (202311 <= __STDC_VERSION__ \
|| (!defined __STRICT_ANSI__ && 9 <= __GNUC__))
# define _GL_HAVE__STATIC_ASSERT1 1
# endif
@@ -188,9 +188,9 @@ template <int w>
_gl_verify_type<(R) ? 1 : -1>
#elif defined _GL_HAVE__STATIC_ASSERT
# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
- struct { \
- _Static_assert (R, DIAGNOSTIC); \
- int _gl_dummy; \
+ struct { \
+ _Static_assert (R, DIAGNOSTIC); \
+ int _gl_dummy; \
}
#else
# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
@@ -212,8 +212,8 @@ template <int w>
#elif defined _GL_HAVE__STATIC_ASSERT
# define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
#else
-# define _GL_VERIFY(R, DIAGNOSTIC, ...) \
- extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
+# define _GL_VERIFY(R, DIAGNOSTIC, ...) \
+ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
[_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
# if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
# pragma GCC diagnostic ignored "-Wnested-externs"
@@ -222,28 +222,57 @@ template <int w>
/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
#ifdef _GL_STATIC_ASSERT_H
-# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
-# define _Static_assert(R, ...) \
- _GL_VERIFY ((R), "static assertion failed", -)
+/* Define _Static_assert if needed. */
+/* With clang ≥ 3.8.0 in C++ mode, _Static_assert already works and accepts
+ 1 or 2 arguments. We better don't override it, because clang's standard
+ C++ library uses static_assert inside classes in several places, and our
+ replacement via _GL_VERIFY does not work in these contexts. */
+# if (defined __cplusplus && defined __clang__ \
+ && (4 <= __clang_major__ + (8 <= __clang_minor__)))
+# if 5 <= __clang_major__
+/* Avoid "warning: 'static_assert' with no message is a C++17 extension". */
+# pragma clang diagnostic ignored "-Wc++17-extensions"
+# else
+/* Avoid "warning: static_assert with no message is a C++1z extension". */
+# pragma clang diagnostic ignored "-Wc++1z-extensions"
+# endif
+# elif !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
+# if !defined _MSC_VER || defined __clang__
+# define _Static_assert(...) \
+ _GL_VERIFY (__VA_ARGS__, "static assertion failed", -)
+# else
+# if defined __cplusplus && _MSC_VER >= 1910
+ /* In MSVC 14.1 or newer, static_assert accepts one or two arguments,
+ but _Static_assert is not defined. */
+# define _Static_assert static_assert
+# else
+ /* Work around MSVC preprocessor incompatibility with ISO C; see
+ <https://stackoverflow.com/questions/5134523/>. */
+# define _Static_assert(R, ...) \
+ _GL_VERIFY ((R), "static assertion failed", -)
+# endif
+# endif
# endif
+/* Define static_assert if needed. */
# if (!defined static_assert \
&& __STDC_VERSION__ < 202311 \
&& (!defined __cplusplus \
|| (__cpp_static_assert < 201411 \
- && __GNUG__ < 6 && __clang_major__ < 6)))
+ && __GNUG__ < 6 && __clang_major__ < 6 && _MSC_VER < 1910)))
# if defined __cplusplus && _MSC_VER >= 1900 && !defined __clang__
/* MSVC 14 in C++ mode supports the two-arguments static_assert but not
the one-argument static_assert, and it does not support _Static_assert.
We have to play preprocessor tricks to distinguish the two cases.
- Since the MSVC preprocessor is not ISO C compliant (cf.
- <https://stackoverflow.com/questions/5134523/>), the solution is specific
- to MSVC. */
+ Since the MSVC preprocessor is not ISO C compliant (see above),.
+ the solution is specific to MSVC. */
# define _GL_EXPAND(x) x
# define _GL_SA1(a1) static_assert ((a1), "static assertion failed")
# define _GL_SA2 static_assert
# define _GL_SA3 static_assert
# define _GL_SA_PICK(x1,x2,x3,x4,...) x4
# define static_assert(...) _GL_EXPAND(_GL_SA_PICK(__VA_ARGS__,_GL_SA3,_GL_SA2,_GL_SA1)) (__VA_ARGS__)
+/* Avoid "fatal error C1189: #error: The C++ Standard Library forbids macroizing keywords." */
+# define _ALLOW_KEYWORD_MACROS 1
# else
# define static_assert _Static_assert /* C11 requires this #define. */
# endif
@@ -252,7 +281,9 @@ template <int w>
/* @assert.h omit start@ */
-#if 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
+#if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_TRAP 0
+#elif 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
# define _GL_HAS_BUILTIN_TRAP 1
#elif defined __has_builtin
# define _GL_HAS_BUILTIN_TRAP __has_builtin (__builtin_trap)
@@ -260,12 +291,16 @@ template <int w>
# define _GL_HAS_BUILTIN_TRAP 0
#endif
-#if 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
-# define _GL_HAS_BUILTIN_UNREACHABLE 1
-#elif defined __has_builtin
-# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
-#else
-# define _GL_HAS_BUILTIN_UNREACHABLE 0
+#ifndef _GL_HAS_BUILTIN_UNREACHABLE
+# if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+# define _GL_HAS_BUILTIN_UNREACHABLE 1
+# elif defined __has_builtin
+# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+# else
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# endif
#endif
/* Each of these macros verifies that its argument R is nonzero. To
diff --git a/lib/warn-on-use.h b/lib/warn-on-use.h
index 94f5b920..701013a0 100644
--- a/lib/warn-on-use.h
+++ b/lib/warn-on-use.h
@@ -1,5 +1,5 @@
/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -32,6 +32,10 @@
_GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
linkage.
+ _GL_WARN_ON_USE should not be used more than once for a given function
+ in a given compilation unit (because this may generate a warning even
+ if the function is never called).
+
However, one of the reasons that a function is a portability trap is
if it has the wrong signature. Declaring FUNCTION with a different
signature in C is a compilation error, so this macro must use the
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index 3558adfb..a33a10f7 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -84,6 +84,13 @@
#ifndef _@GUARD_PREFIX@_WCHAR_H
#define _@GUARD_PREFIX@_WCHAR_H
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
that can be freed by passing them as the Ith argument to the
function F. */
@@ -99,7 +106,14 @@
can be freed via 'free'; it can be used only after declaring 'free'. */
/* Applies to: functions. Cannot be used on inline functions. */
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
-# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+# define _GL_ATTRIBUTE_DEALLOC_FREE \
+ _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
#endif
/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
@@ -123,6 +137,28 @@
# endif
#endif
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_ARG_NONNULL is copied here. */
@@ -181,7 +217,11 @@ typedef int rpl_mbstate_t;
# if (@REPLACE_FREE@ && !defined free \
&& !(defined __cplusplus && defined GNULIB_NAMESPACE))
/* We can't do '#define free rpl_free' here. */
+# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW;
+# else
_GL_EXTERN_C void rpl_free (void *);
+# endif
# undef _GL_ATTRIBUTE_DEALLOC_FREE
# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
# else
@@ -193,7 +233,7 @@ _GL_EXTERN_C
void __cdecl free (void *);
# else
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
-_GL_EXTERN_C void free (void *) throw ();
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
# else
_GL_EXTERN_C void free (void *);
# endif
@@ -208,13 +248,20 @@ _GL_EXTERN_C
void __cdecl free (void *);
# else
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
-_GL_EXTERN_C void free (void *) throw ();
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
# else
_GL_EXTERN_C void free (void *);
# endif
# endif
#endif
+
+#if @GNULIB_MBSZERO@
+/* Get memset(). */
+# include <string.h>
+#endif
+
+
/* Convert a single-byte character to a wide character. */
#if @GNULIB_BTOWC@
# if @REPLACE_BTOWC@
@@ -271,7 +318,7 @@ _GL_WARN_ON_USE (wctob, "wctob is unportable - "
#endif
-/* Test whether *PS is in the initial state. */
+/* Test whether *PS is in an initial state. */
#if @GNULIB_MBSINIT@
# if @REPLACE_MBSINIT@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -298,6 +345,208 @@ _GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
#endif
+/* Put *PS into an initial state. */
+#if @GNULIB_MBSZERO@
+/* ISO C 23 § 7.31.6.(3) says that zeroing an mbstate_t is a way to put the
+ mbstate_t into an initial state. However, on many platforms an mbstate_t
+ is large, and it is possible - as an optimization - to get away with zeroing
+ only part of it. So, instead of
+
+ mbstate_t state = { 0 };
+
+ or
+
+ mbstate_t state;
+ memset (&state, 0, sizeof (mbstate_t));
+
+ we can write this faster code:
+
+ mbstate_t state;
+ mbszero (&state);
+ */
+/* _GL_MBSTATE_INIT_SIZE describes how mbsinit() behaves: It is the number of
+ bytes at the beginning of an mbstate_t that need to be zero, for mbsinit()
+ to return true.
+ _GL_MBSTATE_ZERO_SIZE is the number of bytes at the beginning of an mbstate_t
+ that need to be zero,
+ - for mbsinit() to return true, and
+ - for all other multibyte-aware functions to operate properly.
+ 0 < _GL_MBSTATE_INIT_SIZE <= _GL_MBSTATE_ZERO_SIZE <= sizeof (mbstate_t).
+ These values are determined by source code inspection, where possible, and
+ by running the gnulib unit tests.
+ We need _GL_MBSTATE_INIT_SIZE because if we define _GL_MBSTATE_ZERO_SIZE
+ without considering what mbsinit() does, we get test failures such as
+ assertion "mbsinit (&iter->state)" failed
+ */
+# if GNULIB_defined_mbstate_t /* AIX, IRIX */
+/* mbstate_t has at least 4 bytes. They are used as coded in
+ gnulib/lib/mbrtowc.c. */
+# define _GL_MBSTATE_INIT_SIZE 1
+/* define _GL_MBSTATE_ZERO_SIZE 4
+ does not work: it causes test failures.
+ So, use the safe fallback value, below. */
+# elif __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 /* glibc */
+/* mbstate_t is defined in <bits/types/__mbstate_t.h>.
+ For more details, see glibc/iconv/skeleton.c. */
+# define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (((mbstate_t) {0}).__count) */
+# define _GL_MBSTATE_ZERO_SIZE /* 8 */ sizeof (mbstate_t)
+# elif defined MUSL_LIBC /* musl libc */
+/* mbstate_t is defined in <bits/alltypes.h>.
+ It is an opaque aligned 8-byte struct, of which at most the first
+ 4 bytes are used.
+ For more details, see src/multibyte/mbrtowc.c. */
+# define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (unsigned) */
+# define _GL_MBSTATE_ZERO_SIZE 4
+# elif defined __APPLE__ && defined __MACH__ /* macOS */
+/* On macOS, mbstate_t is defined in <machine/_types.h>.
+ It is an opaque aligned 128-byte struct, of which at most the first
+ 12 bytes are used.
+ For more details, see the __mbsinit implementations in
+ Libc-<version>/locale/FreeBSD/
+ {ascii,none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8,utf2}.c. */
+/* File INIT_SIZE ZERO_SIZE
+ ascii.c 0 0
+ none.c 0 0
+ euc.c 12 12
+ mskanji.c 4 4
+ big5.c 4 4
+ gb2312.c 4 6
+ gbk.c 4 4
+ gb18030.c 4 8
+ utf8.c 8 10
+ utf2.c 8 12 */
+# define _GL_MBSTATE_INIT_SIZE 12
+# define _GL_MBSTATE_ZERO_SIZE 12
+# elif defined __FreeBSD__ /* FreeBSD */
+/* On FreeBSD, mbstate_t is defined in src/sys/sys/_types.h.
+ It is an opaque aligned 128-byte struct, of which at most the first
+ 12 bytes are used.
+ For more details, see the __mbsinit implementations in
+ src/lib/libc/locale/
+ {ascii,none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8}.c. */
+/* File INIT_SIZE ZERO_SIZE
+ ascii.c 0 0
+ none.c 0 0
+ euc.c 12 12
+ mskanji.c 4 4
+ big5.c 4 4
+ gb2312.c 4 6
+ gbk.c 4 4
+ gb18030.c 4 8
+ utf8.c 8 12 */
+# define _GL_MBSTATE_INIT_SIZE 12
+# define _GL_MBSTATE_ZERO_SIZE 12
+# elif defined __NetBSD__ /* NetBSD */
+/* On NetBSD, mbstate_t is defined in src/sys/sys/ansi.h.
+ It is an opaque aligned 128-byte struct, of which at most the first
+ 28 bytes are used.
+ For more details, see the *State types in
+ src/lib/libc/citrus/modules/citrus_*.c
+ (ignoring citrus_{hz,iso2022,utf7,viqr,zw}.c, since these implement
+ stateful encodings, not usable as locale encodings). */
+/* File ZERO_SIZE
+ citrus/citrus_none.c 0
+ citrus/modules/citrus_euc.c 8
+ citrus/modules/citrus_euctw.c 8
+ citrus/modules/citrus_mskanji.c 8
+ citrus/modules/citrus_big5.c 8
+ citrus/modules/citrus_gbk2k.c 8
+ citrus/modules/citrus_dechanyu.c 8
+ citrus/modules/citrus_johab.c 6
+ citrus/modules/citrus_utf8.c 12 */
+/* But 12 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test
+ failures for values < 28. */
+# define _GL_MBSTATE_ZERO_SIZE 28
+# elif defined __OpenBSD__ /* OpenBSD */
+/* On OpenBSD, mbstate_t is defined in src/sys/sys/_types.h.
+ It is an opaque aligned 128-byte struct, of which at most the first
+ 12 bytes are used.
+ For more details, see src/lib/libc/citrus/citrus_*.c. */
+/* File INIT_SIZE ZERO_SIZE
+ citrus_none.c 0 0
+ citrus_utf8.c 12 12 */
+# define _GL_MBSTATE_INIT_SIZE 12
+# define _GL_MBSTATE_ZERO_SIZE 12
+# elif defined __minix /* Minix */
+/* On Minix, mbstate_t is defined in sys/sys/ansi.h.
+ It is an opaque aligned 128-byte struct.
+ For more details, see the *State types in
+ lib/libc/citrus/citrus_*.c. */
+/* File INIT_SIZE ZERO_SIZE
+ citrus_none.c 0 0 */
+/* But 1 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test
+ failures for values < 4. */
+# define _GL_MBSTATE_ZERO_SIZE 4
+# elif defined __sun /* Solaris */
+/* On Solaris, mbstate_t is defined in <wchar_impl.h>.
+ It is an opaque aligned 24-byte or 32-byte struct, of which at most the first
+ 20 or 28 bytes are used.
+ For more details on OpenSolaris derivatives, see the *State types in
+ illumos-gate/usr/src/lib/libc/port/locale/
+ {none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8}.c. */
+/* File INIT_SIZE ZERO_SIZE
+ none.c 0 0
+ euc.c 12 12
+ mskanji.c 4 4
+ big5.c 4 4
+ gb2312.c 4 6
+ gbk.c 4 4
+ gb18030.c 4 8
+ utf8.c 12 12 */
+/* But 12 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test
+ failures
+ - in OpenIndiana and OmniOS: for values < 16,
+ - in Solaris 10 and 11: for values < 20 (in 32-bit mode)
+ or < 28 (in 64-bit mode).
+ Since we don't have a good way to distinguish the OpenSolaris derivatives
+ from the proprietary Solaris versions, and can't inspect the Solaris source
+ code, use the safe fallback values, below. */
+# elif defined __CYGWIN__ /* Cygwin */
+/* On Cygwin, mbstate_t is defined in <sys/_types.h>.
+ For more details, see newlib/libc/stdlib/mbtowc_r.c and
+ winsup/cygwin/strfuncs.cc. */
+# define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (int) */
+# define _GL_MBSTATE_ZERO_SIZE 8
+# elif defined _WIN32 && !defined __CYGWIN__ /* Native Windows. */
+/* MSVC defines 'mbstate_t' as an aligned 8-byte struct.
+ On mingw, 'mbstate_t' is sometimes defined as 'int', sometimes defined
+ as an aligned 8-byte struct, of which the first 4 bytes matter.
+ Use the safe values, below. */
+# elif defined __ANDROID__ /* Android */
+/* Android defines 'mbstate_t' in <bits/mbstate_t.h>.
+ It is an opaque 4-byte or 8-byte struct.
+ For more details, see
+ bionic/libc/private/bionic_mbstate.h
+ bionic/libc/bionic/mbrtoc32.cpp
+ bionic/libc/bionic/mbrtoc16.cpp
+ */
+# define _GL_MBSTATE_INIT_SIZE 4
+# define _GL_MBSTATE_ZERO_SIZE 4
+# endif
+/* Use safe values as defaults. */
+# ifndef _GL_MBSTATE_INIT_SIZE
+# define _GL_MBSTATE_INIT_SIZE sizeof (mbstate_t)
+# endif
+# ifndef _GL_MBSTATE_ZERO_SIZE
+# define _GL_MBSTATE_ZERO_SIZE sizeof (mbstate_t)
+# endif
+_GL_BEGIN_C_LINKAGE
+# if defined IN_MBSZERO
+_GL_EXTERN_INLINE
+# else
+_GL_INLINE
+# endif
+_GL_ARG_NONNULL ((1)) void
+mbszero (mbstate_t *ps)
+{
+ memset (ps, 0, _GL_MBSTATE_ZERO_SIZE);
+}
+_GL_END_C_LINKAGE
+_GL_CXXALIAS_SYS (mbszero, void, (mbstate_t *ps));
+_GL_CXXALIASWARN (mbszero);
+#endif
+
+
/* Convert a multibyte character to a wide character. */
#if @GNULIB_MBRTOWC@
# if @REPLACE_MBRTOWC@
@@ -434,7 +683,9 @@ _GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
const char **restrict srcp, size_t srclen, size_t len,
mbstate_t *restrict ps));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mbsnrtowcs);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef mbsnrtowcs
# if HAVE_RAW_DECL_MBSNRTOWCS
@@ -622,13 +873,25 @@ _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
/* Compare N wide characters of S1 and S2. */
#if @GNULIB_WMEMCMP@
-# if !@HAVE_WMEMCMP@
+# if @REPLACE_WMEMCMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wmemcmp
+# define wmemcmp rpl_wmemcmp
+# endif
+_GL_FUNCDECL_RPL (wmemcmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n)
+ _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wmemcmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# else
+# if !@HAVE_WMEMCMP@
_GL_FUNCDECL_SYS (wmemcmp, int,
(const wchar_t *s1, const wchar_t *s2, size_t n)
_GL_ATTRIBUTE_PURE);
-# endif
+# endif
_GL_CXXALIAS_SYS (wmemcmp, int,
(const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wmemcmp);
# endif
@@ -687,14 +950,27 @@ _GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
/* Copy N wide characters of SRC to DEST.
Return pointer to wide characters after the last written wide character. */
#if @GNULIB_WMEMPCPY@
-# if !@HAVE_WMEMPCPY@
+# if @REPLACE_WMEMPCPY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wmempcpy
+# define wmempcpy rpl_wmempcpy
+# endif
+_GL_FUNCDECL_RPL (wmempcpy, wchar_t *,
+ (wchar_t *restrict dest,
+ const wchar_t *restrict src, size_t n));
+_GL_CXXALIAS_RPL (wmempcpy, wchar_t *,
+ (wchar_t *restrict dest,
+ const wchar_t *restrict src, size_t n));
+# else
+# if !@HAVE_WMEMPCPY@
_GL_FUNCDECL_SYS (wmempcpy, wchar_t *,
(wchar_t *restrict dest,
const wchar_t *restrict src, size_t n));
-# endif
+# endif
_GL_CXXALIAS_SYS (wmempcpy, wchar_t *,
(wchar_t *restrict dest,
const wchar_t *restrict src, size_t n));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wmempcpy);
# endif
@@ -894,11 +1170,21 @@ _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
/* Compare S1 and S2. */
#if @GNULIB_WCSCMP@
-# if !@HAVE_WCSCMP@
+# if @REPLACE_WCSCMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcscmp
+# define wcscmp rpl_wcscmp
+# endif
+_GL_FUNCDECL_RPL (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
+ _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+# else
+# if !@HAVE_WCSCMP@
_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
_GL_ATTRIBUTE_PURE);
-# endif
+# endif
_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wcscmp);
# endif
@@ -913,13 +1199,25 @@ _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
/* Compare no more than N wide characters of S1 and S2. */
#if @GNULIB_WCSNCMP@
-# if !@HAVE_WCSNCMP@
+# if @REPLACE_WCSNCMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsncmp
+# define wcsncmp rpl_wcsncmp
+# endif
+_GL_FUNCDECL_RPL (wcsncmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n)
+ _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcsncmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# else
+# if !@HAVE_WCSNCMP@
_GL_FUNCDECL_SYS (wcsncmp, int,
(const wchar_t *s1, const wchar_t *s2, size_t n)
_GL_ATTRIBUTE_PURE);
-# endif
+# endif
_GL_CXXALIAS_SYS (wcsncmp, int,
(const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wcsncmp);
# endif
@@ -1028,9 +1326,16 @@ _GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s));
namespace, not in the global namespace. So, force a declaration in
the global namespace. */
# if !@HAVE_WCSDUP@ || (defined __sun && defined __cplusplus) || __GNUC__ >= 11
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
(const wchar_t *s)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+ (const wchar_t *s)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
# endif
@@ -1038,9 +1343,16 @@ _GL_CXXALIASWARN (wcsdup);
#else
# if __GNUC__ >= 11 && !defined wcsdup
/* For -Wmismatched-dealloc: Associate wcsdup with free or rpl_free. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
(const wchar_t *s)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+ (const wchar_t *s)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef wcsdup
@@ -1059,9 +1371,16 @@ _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
# endif
_GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s));
# else
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
(const wchar_t *s)
+ _GL_ATTRIBUTE_NOTHROW
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# else
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+ (const wchar_t *s)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
# if @HAVE_DECL_WCSDUP@
_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
# endif
@@ -1133,7 +1452,7 @@ _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
#endif
-/* Return the length of the initial segmet of WCS which consists entirely
+/* Return the length of the initial segment of WCS which consists entirely
of wide characters not in REJECT. */
#if @GNULIB_WCSCSPN@
# if !@HAVE_WCSCSPN@
@@ -1153,7 +1472,7 @@ _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
#endif
-/* Return the length of the initial segmet of WCS which consists entirely
+/* Return the length of the initial segment of WCS which consists entirely
of wide characters in ACCEPT. */
#if @GNULIB_WCSSPN@
# if !@HAVE_WCSSPN@
@@ -1208,12 +1527,25 @@ _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
/* Find the first occurrence of NEEDLE in HAYSTACK. */
#if @GNULIB_WCSSTR@
-# if !@HAVE_WCSSTR@
+# if @REPLACE_WCSSTR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsstr
+# define wcsstr rpl_wcsstr
+# endif
+_GL_FUNCDECL_RPL (wcsstr, wchar_t *,
+ (const wchar_t *restrict haystack,
+ const wchar_t *restrict needle)
+ _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcsstr, wchar_t *,
+ (const wchar_t *restrict haystack,
+ const wchar_t *restrict needle));
+# else
+# if !@HAVE_WCSSTR@
_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
(const wchar_t *restrict haystack,
const wchar_t *restrict needle)
_GL_ATTRIBUTE_PURE);
-# endif
+# endif
/* On some systems, this function is defined as an overloaded function:
extern "C++" {
const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
@@ -1224,6 +1556,7 @@ _GL_CXXALIAS_SYS_CAST2 (wcsstr,
(const wchar_t *restrict, const wchar_t *restrict),
const wchar_t *,
(const wchar_t *restrict, const wchar_t *restrict));
+# endif
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
@@ -1351,6 +1684,24 @@ _GL_WARN_ON_USE (wcsftime, "wcsftime is unportable - "
#endif
+#if @GNULIB_WGETCWD@ && (defined _WIN32 && !defined __CYGWIN__)
+/* Gets the name of the current working directory.
+ (a) If BUF is non-NULL, it is assumed to have room for SIZE wide characters.
+ This function stores the working directory (NUL-terminated) in BUF and
+ returns BUF.
+ (b) If BUF is NULL, an array is allocated with 'malloc'. The array is SIZE
+ wide characters long, unless SIZE == 0, in which case it is as big as
+ necessary.
+ If the directory couldn't be determined or SIZE was too small, this function
+ returns NULL and sets errno. For a directory of length LEN, SIZE should be
+ >= LEN + 3 in case (a) or >= LEN + 1 in case (b).
+ Possible errno values include:
+ - ERANGE if SIZE is too small.
+ - ENOMEM if the memory could no be allocated. */
+_GL_FUNCDECL_SYS (wgetcwd, wchar_t *, (wchar_t *buf, size_t size));
+#endif
+
+
#endif /* _@GUARD_PREFIX@_WCHAR_H */
#endif /* _@GUARD_PREFIX@_WCHAR_H */
#endif
diff --git a/lib/wcs-two-way.h b/lib/wcs-two-way.h
new file mode 100644
index 00000000..17011fe9
--- /dev/null
+++ b/lib/wcs-two-way.h
@@ -0,0 +1,302 @@
+/* Wide character substring search, using the Two-Way algorithm.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Written by Eric Blake <ebb9@byu.net>, 2008.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Before including this file, you need to include <config.h> and
+ <string.h>, and define:
+ UNIT The element type of the needle and haystack.
+ RETURN_TYPE A macro that expands to the return type.
+ AVAILABLE(h, h_l, j, n_l)
+ A macro that returns nonzero if there are
+ at least N_L characters left starting at H[J].
+ H is 'UNIT *', H_L, J, and N_L are 'size_t';
+ H_L is an lvalue. For NUL-terminated searches,
+ H_L can be modified each iteration to avoid
+ having to compute the end of H up front.
+
+ For case-insensitivity, you may optionally define:
+ CMP_FUNC(p1, p2, l) A macro that returns 0 iff the first L
+ characters of P1 and P2 are equal.
+ CANON_ELEMENT(c) A macro that canonicalizes an element right after
+ it has been fetched from one of the two strings.
+ The argument is a 'UNIT'; the result must be a
+ 'UNIT' as well.
+
+ This file undefines the macros documented above, and defines
+ LONG_NEEDLE_THRESHOLD.
+*/
+
+#include <limits.h>
+#include <stdint.h>
+
+/* We use the Two-Way string matching algorithm (also known as
+ Chrochemore-Perrin), which guarantees linear complexity with
+ constant space.
+
+ See https://www-igm.univ-mlv.fr/~lecroq/string/node26.html#SECTION00260
+*/
+
+#ifndef MAX
+# define MAX(a, b) ((a < b) ? (b) : (a))
+#endif
+
+#ifndef CANON_ELEMENT
+# define CANON_ELEMENT(c) c
+#endif
+#ifndef CMP_FUNC
+# define CMP_FUNC wmemcmp
+#endif
+
+/* Perform a critical factorization of NEEDLE, of length NEEDLE_LEN.
+ Return the index of the first character in the right half, and set
+ *PERIOD to the global period of the right half.
+
+ The global period of a string is the smallest index (possibly its
+ length) at which all remaining bytes in the string are repetitions
+ of the prefix (the last repetition may be a subset of the prefix).
+
+ When NEEDLE is factored into two halves, a local period is the
+ length of the smallest word that shares a suffix with the left half
+ and shares a prefix with the right half. All factorizations of a
+ non-empty NEEDLE have a local period of at least 1 and no greater
+ than NEEDLE_LEN.
+
+ A critical factorization has the property that the local period
+ equals the global period. All strings have at least one critical
+ factorization with the left half smaller than the global period.
+ And while some strings have more than one critical factorization,
+ it is provable that with an ordered alphabet, at least one of the
+ critical factorizations corresponds to a maximal suffix.
+
+ Given an ordered alphabet, a critical factorization can be computed
+ in linear time, with 2 * NEEDLE_LEN comparisons, by computing the
+ shorter of two ordered maximal suffixes. The ordered maximal
+ suffixes are determined by lexicographic comparison while tracking
+ periodicity. */
+static size_t
+critical_factorization (const UNIT *needle, size_t needle_len,
+ size_t *period)
+{
+ /* Index of last character of left half, or SIZE_MAX. */
+ size_t max_suffix, max_suffix_rev;
+ size_t j; /* Index into NEEDLE for current candidate suffix. */
+ size_t k; /* Offset into current period. */
+ size_t p; /* Intermediate period. */
+ UNIT a, b; /* Current comparison characters. */
+
+ /* Special case NEEDLE_LEN of 1 or 2 (all callers already filtered
+ out 0-length needles. */
+ if (needle_len < 3)
+ {
+ *period = 1;
+ return needle_len - 1;
+ }
+
+ /* Invariants:
+ 0 <= j < NEEDLE_LEN - 1
+ -1 <= max_suffix{,_rev} < j (treating SIZE_MAX as if it were signed)
+ min(max_suffix, max_suffix_rev) < global period of NEEDLE
+ 1 <= p <= global period of NEEDLE
+ p == global period of the substring NEEDLE[max_suffix{,_rev}+1...j]
+ 1 <= k <= p
+ */
+
+ /* Perform lexicographic search. */
+ max_suffix = SIZE_MAX;
+ j = 0;
+ k = p = 1;
+ while (j + k < needle_len)
+ {
+ a = CANON_ELEMENT (needle[j + k]);
+ b = CANON_ELEMENT (needle[max_suffix + k]);
+ if (a < b)
+ {
+ /* Suffix is smaller, period is entire prefix so far. */
+ j += k;
+ k = 1;
+ p = j - max_suffix;
+ }
+ else if (a == b)
+ {
+ /* Advance through repetition of the current period. */
+ if (k != p)
+ ++k;
+ else
+ {
+ j += p;
+ k = 1;
+ }
+ }
+ else /* b < a */
+ {
+ /* Suffix is larger, start over from current location. */
+ max_suffix = j++;
+ k = p = 1;
+ }
+ }
+ *period = p;
+
+ /* Perform reverse lexicographic search. */
+ max_suffix_rev = SIZE_MAX;
+ j = 0;
+ k = p = 1;
+ while (j + k < needle_len)
+ {
+ a = CANON_ELEMENT (needle[j + k]);
+ b = CANON_ELEMENT (needle[max_suffix_rev + k]);
+ if (b < a)
+ {
+ /* Suffix is smaller, period is entire prefix so far. */
+ j += k;
+ k = 1;
+ p = j - max_suffix_rev;
+ }
+ else if (a == b)
+ {
+ /* Advance through repetition of the current period. */
+ if (k != p)
+ ++k;
+ else
+ {
+ j += p;
+ k = 1;
+ }
+ }
+ else /* a < b */
+ {
+ /* Suffix is larger, start over from current location. */
+ max_suffix_rev = j++;
+ k = p = 1;
+ }
+ }
+
+ /* Choose the shorter suffix. Return the index of the first character
+ of the right half, rather than the last character of the left half.
+
+ For some examples, 'banana' has two critical factorizations, both
+ exposed by the two lexicographic extreme suffixes of 'anana' and
+ 'nana', where both suffixes have a period of 2. On the other
+ hand, with 'aab' and 'bba', both strings have a single critical
+ factorization of the last character, with the suffix having a period
+ of 1. While the maximal lexicographic suffix of 'aab' is 'b',
+ the maximal lexicographic suffix of 'bba' is 'ba', which is not a
+ critical factorization. Conversely, the maximal reverse
+ lexicographic suffix of 'a' works for 'bba', but not 'ab' for
+ 'aab'. The shorter suffix of the two will always be a critical
+ factorization. */
+ if (max_suffix_rev + 1 < max_suffix + 1)
+ return max_suffix + 1;
+ *period = p;
+ return max_suffix_rev + 1;
+}
+
+/* Return the first location of non-empty NEEDLE within HAYSTACK, or
+ NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This
+ method is optimized for NEEDLE_LEN < LONG_NEEDLE_THRESHOLD.
+ Performance is guaranteed to be linear, with an initialization cost
+ of 2 * NEEDLE_LEN comparisons.
+
+ If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at
+ most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching.
+ If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 *
+ HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */
+static RETURN_TYPE _GL_ATTRIBUTE_PURE
+two_way_short_needle (const UNIT *haystack, size_t haystack_len,
+ const UNIT *needle, size_t needle_len)
+{
+ size_t i; /* Index into current character of NEEDLE. */
+ size_t j; /* Index into current window of HAYSTACK. */
+ size_t period; /* The period of the right half of needle. */
+ size_t suffix; /* The index of the right half of needle. */
+
+ /* Factor the needle into two halves, such that the left half is
+ smaller than the global period, and the right half is
+ periodic (with a period as large as NEEDLE_LEN - suffix). */
+ suffix = critical_factorization (needle, needle_len, &period);
+
+ /* Perform the search. Each iteration compares the right half
+ first. */
+ if (CMP_FUNC (needle, needle + period, suffix) == 0)
+ {
+ /* Entire needle is periodic; a mismatch in the left half can
+ only advance by the period, so use memory to avoid rescanning
+ known occurrences of the period in the right half. */
+ size_t memory = 0;
+ j = 0;
+ while (AVAILABLE (haystack, haystack_len, j, needle_len))
+ {
+ /* Scan for matches in right half. */
+ i = MAX (suffix, memory);
+ while (i < needle_len && (CANON_ELEMENT (needle[i])
+ == CANON_ELEMENT (haystack[i + j])))
+ ++i;
+ if (needle_len <= i)
+ {
+ /* Scan for matches in left half. */
+ i = suffix - 1;
+ while (memory < i + 1 && (CANON_ELEMENT (needle[i])
+ == CANON_ELEMENT (haystack[i + j])))
+ --i;
+ if (i + 1 < memory + 1)
+ return (RETURN_TYPE) (haystack + j);
+ /* No match, so remember how many repetitions of period
+ on the right half were scanned. */
+ j += period;
+ memory = needle_len - period;
+ }
+ else
+ {
+ j += i - suffix + 1;
+ memory = 0;
+ }
+ }
+ }
+ else
+ {
+ /* The two halves of needle are distinct; no extra memory is
+ required, and any mismatch results in a maximal shift. */
+ period = MAX (suffix, needle_len - suffix) + 1;
+ j = 0;
+ while (AVAILABLE (haystack, haystack_len, j, needle_len))
+ {
+ /* Scan for matches in right half. */
+ i = suffix;
+ while (i < needle_len && (CANON_ELEMENT (needle[i])
+ == CANON_ELEMENT (haystack[i + j])))
+ ++i;
+ if (needle_len <= i)
+ {
+ /* Scan for matches in left half. */
+ i = suffix - 1;
+ while (i != SIZE_MAX && (CANON_ELEMENT (needle[i])
+ == CANON_ELEMENT (haystack[i + j])))
+ --i;
+ if (i == SIZE_MAX)
+ return (RETURN_TYPE) (haystack + j);
+ j += period;
+ }
+ else
+ j += i - suffix + 1;
+ }
+ }
+ return NULL;
+}
+
+#undef AVAILABLE
+#undef CANON_ELEMENT
+#undef CMP_FUNC
+#undef MAX
diff --git a/lib/wcsstr-impl.h b/lib/wcsstr-impl.h
new file mode 100644
index 00000000..b5f094e8
--- /dev/null
+++ b/lib/wcsstr-impl.h
@@ -0,0 +1,56 @@
+/* Locate a substring in a wide string.
+ Copyright (C) 1999, 2011-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake, 2008. */
+
+#define AVAILABLE(h, h_l, j, n_l) \
+ (!MEMCHR0 ((h) + (h_l), (j) + (n_l) - (h_l)) \
+ && ((h_l) = (j) + (n_l)))
+#include "wcs-two-way.h"
+
+RETURN_TYPE
+FUNC (const UNIT *haystack_start, const UNIT *needle_start)
+{
+ const UNIT *haystack = haystack_start;
+ const UNIT *needle = needle_start;
+ size_t needle_len; /* Length of NEEDLE. */
+ size_t haystack_len; /* Known minimum length of HAYSTACK. */
+ bool ok = true; /* True if NEEDLE is prefix of HAYSTACK. */
+
+ /* Determine length of NEEDLE, and in the process, make sure
+ HAYSTACK is at least as long (no point processing all of a long
+ NEEDLE if HAYSTACK is too short). */
+ while (*haystack && *needle)
+ ok &= *haystack++ == *needle++;
+ if (*needle)
+ return NULL;
+ if (ok)
+ return (RETURN_TYPE) haystack_start;
+
+ /* Reduce the size of haystack using STRCHR, since it has a smaller
+ linear coefficient than the Two-Way algorithm. */
+ needle_len = needle - needle_start;
+ haystack = STRCHR (haystack_start + 1, *needle_start);
+ if (!haystack || __builtin_expect (needle_len == 1, 0))
+ return (RETURN_TYPE) haystack;
+ needle -= needle_len;
+ haystack_len = (haystack > haystack_start + needle_len ? 1
+ : needle_len + haystack_start - haystack);
+
+ /* Perform the search. */
+ return two_way_short_needle (haystack, haystack_len,
+ needle, needle_len);
+}
diff --git a/lib/wctype-h.c b/lib/wctype-h.c
index 12781433..7e4ff13a 100644
--- a/lib/wctype-h.c
+++ b/lib/wctype-h.c
@@ -1,6 +1,6 @@
/* Inline functions for <wctype.h>.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,4 +20,4 @@
#include <config.h>
#define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE
-#include "wctype.h"
+#include <wctype.h>
diff --git a/lib/wctype.in.h b/lib/wctype.in.h
index 98cafee7..851c4f4e 100644
--- a/lib/wctype.in.h
+++ b/lib/wctype.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -44,6 +44,12 @@
#ifndef _@GUARD_PREFIX@_WCTYPE_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if @HAVE_WINT_T@
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
# include <wchar.h>
@@ -68,9 +74,6 @@
#ifndef _@GUARD_PREFIX@_WCTYPE_H
#define _@GUARD_PREFIX@_WCTYPE_H
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_WCTYPE_INLINE
# define _GL_WCTYPE_INLINE _GL_INLINE
@@ -78,6 +81,8 @@ _GL_INLINE_HEADER_BEGIN
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
/* The definition of _GL_WARN_ON_USE is copied here. */
/* Solaris 2.6 <wctype.h> includes <widec.h> which includes <euc.h> which
@@ -127,7 +132,8 @@ typedef unsigned int rpl_wint_t;
/* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions.
Linux libc5 has <wctype.h> and the functions but they are broken.
mingw and MSVC have <wctype.h> and the functions but they take a wchar_t
- as argument, not an rpl_wint_t.
+ as argument, not an rpl_wint_t. Additionally, the mingw iswprint function
+ and the Android iswpunct function are broken.
Assume all 11 functions (all isw* except iswblank) are implemented the
same way, or not at all. */
# if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@
@@ -179,7 +185,11 @@ rpl_iswlower (wint_t wc)
_GL_WCTYPE_INLINE int
rpl_iswprint (wint_t wc)
{
+# ifdef __MINGW32__
+ return ((wchar_t) wc == wc ? wc == ' ' || iswgraph ((wchar_t) wc) : 0);
+# else
return ((wchar_t) wc == wc ? iswprint ((wchar_t) wc) : 0);
+# endif
}
_GL_WCTYPE_INLINE int
@@ -484,6 +494,16 @@ _GL_FUNCDECL_RPL (iswdigit, int, (wint_t wc));
# endif
# endif
+# if @GNULIB_ISWPUNCT@
+# if @REPLACE_ISWPUNCT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef iswpunct
+# define iswpunct rpl_iswpunct
+# endif
+_GL_FUNCDECL_RPL (iswpunct, int, (wint_t wc));
+# endif
+# endif
+
# if @GNULIB_ISWXDIGIT@
# if @REPLACE_ISWXDIGIT@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -623,14 +643,32 @@ _GL_CXXALIASWARN (iswblank);
typedef void * wctype_t;
# define GNULIB_defined_wctype_t 1
# endif
+#elif @REPLACE_WCTYPE@
+# if !GNULIB_defined_wctype_t
+typedef void *rpl_wctype_t;
+# undef wctype_t
+# define wctype_t rpl_wctype_t
+# define GNULIB_defined_wctype_t 1
+# endif
#endif
/* Get a descriptor for a wide character property. */
#if @GNULIB_WCTYPE@
-# if !@HAVE_WCTYPE_T@
-_GL_FUNCDECL_SYS (wctype, wctype_t, (const char *name));
-# endif
+# if @REPLACE_WCTYPE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wctype
+# define wctype rpl_wctype
+# endif
+_GL_FUNCDECL_RPL (wctype, wctype_t, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (wctype, wctype_t, (const char *name));
+# else
+# if !@HAVE_WCTYPE_T@
+_GL_FUNCDECL_SYS (wctype, wctype_t, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+# endif
_GL_CXXALIAS_SYS (wctype, wctype_t, (const char *name));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wctype);
# endif
@@ -646,7 +684,7 @@ _GL_WARN_ON_USE (wctype, "wctype is unportable - "
The argument WC must be either a wchar_t value or WEOF.
The argument DESC must have been returned by the wctype() function. */
#if @GNULIB_ISWCTYPE@
-# if @GNULIBHEADERS_OVERRIDE_WINT_T@
+# if @GNULIBHEADERS_OVERRIDE_WINT_T@ || @REPLACE_WCTYPE@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef iswctype
# define iswctype rpl_iswctype
@@ -687,14 +725,32 @@ _GL_CXXALIASWARN (towupper);
typedef void * wctrans_t;
# define GNULIB_defined_wctrans_t 1
# endif
+#elif @REPLACE_WCTRANS@
+# if !GNULIB_defined_wctrans_t
+typedef void *rpl_wctrans_t;
+# undef wctrans_t
+# define wctrans_t rpl_wctrans_t
+# define GNULIB_defined_wctrans_t 1
+# endif
#endif
/* Get a descriptor for a wide character case conversion. */
#if @GNULIB_WCTRANS@
-# if !@HAVE_WCTRANS_T@
-_GL_FUNCDECL_SYS (wctrans, wctrans_t, (const char *name));
-# endif
+# if @REPLACE_WCTRANS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wctrans
+# define wctrans rpl_wctrans
+# endif
+_GL_FUNCDECL_RPL (wctrans, wctrans_t, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (wctrans, wctrans_t, (const char *name));
+# else
+# if !@HAVE_WCTRANS_T@
+_GL_FUNCDECL_SYS (wctrans, wctrans_t, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+# endif
_GL_CXXALIAS_SYS (wctrans, wctrans_t, (const char *name));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (wctrans);
# endif
@@ -710,10 +766,19 @@ _GL_WARN_ON_USE (wctrans, "wctrans is unportable - "
The argument WC must be either a wchar_t value or WEOF.
The argument DESC must have been returned by the wctrans() function. */
#if @GNULIB_TOWCTRANS@
-# if !@HAVE_WCTRANS_T@
+# if @REPLACE_WCTRANS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef towctrans
+# define towctrans rpl_towctrans
+# endif
+_GL_FUNCDECL_RPL (towctrans, wint_t, (wint_t wc, wctrans_t desc));
+_GL_CXXALIAS_RPL (towctrans, wint_t, (wint_t wc, wctrans_t desc));
+# else
+# if !@HAVE_WCTRANS_T@
_GL_FUNCDECL_SYS (towctrans, wint_t, (wint_t wc, wctrans_t desc));
-# endif
+# endif
_GL_CXXALIAS_SYS (towctrans, wint_t, (wint_t wc, wctrans_t desc));
+# endif
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (towctrans);
# endif
diff --git a/lib/wcwidth.c b/lib/wcwidth.c
index f99a0a61..328a8930 100644
--- a/lib/wcwidth.c
+++ b/lib/wcwidth.c
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a character.
- Copyright (C) 2006-2007, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-initguard.h b/lib/windows-initguard.h
index a29d7e97..6bace3f0 100644
--- a/lib/windows-initguard.h
+++ b/lib/windows-initguard.h
@@ -1,5 +1,5 @@
/* Init guards, somewhat like spinlocks (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-mutex.c b/lib/windows-mutex.c
index 28e429c1..b112e13b 100644
--- a/lib/windows-mutex.c
+++ b/lib/windows-mutex.c
@@ -1,5 +1,5 @@
/* Plain mutexes (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-mutex.h b/lib/windows-mutex.h
index 7aedfdf6..88de4bdc 100644
--- a/lib/windows-mutex.h
+++ b/lib/windows-mutex.h
@@ -1,5 +1,5 @@
/* Plain mutexes (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-once.c b/lib/windows-once.c
index deea5487..17854f5c 100644
--- a/lib/windows-once.c
+++ b/lib/windows-once.c
@@ -1,5 +1,5 @@
/* Once-only control (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-once.h b/lib/windows-once.h
index 85534c99..c5bbcd57 100644
--- a/lib/windows-once.h
+++ b/lib/windows-once.h
@@ -1,5 +1,5 @@
/* Once-only control (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-recmutex.c b/lib/windows-recmutex.c
index d8087ac1..e5672baf 100644
--- a/lib/windows-recmutex.c
+++ b/lib/windows-recmutex.c
@@ -1,5 +1,5 @@
/* Plain recursive mutexes (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-recmutex.h b/lib/windows-recmutex.h
index 746e75c0..9fa445b3 100644
--- a/lib/windows-recmutex.h
+++ b/lib/windows-recmutex.h
@@ -1,5 +1,5 @@
/* Plain recursive mutexes (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-rwlock.c b/lib/windows-rwlock.c
index d186e037..e60c4efc 100644
--- a/lib/windows-rwlock.c
+++ b/lib/windows-rwlock.c
@@ -1,5 +1,5 @@
/* Read-write locks (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/windows-rwlock.h b/lib/windows-rwlock.h
index 65c5ab49..08d67750 100644
--- a/lib/windows-rwlock.h
+++ b/lib/windows-rwlock.h
@@ -1,5 +1,5 @@
/* Read-write locks (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/xalloc-oversized.h b/lib/xalloc-oversized.h
index aefa6fd8..7f30f83e 100644
--- a/lib/xalloc-oversized.h
+++ b/lib/xalloc-oversized.h
@@ -1,6 +1,6 @@
/* xalloc-oversized.h -- memory allocation size checking
- Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2003-2004, 2006-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -29,8 +29,7 @@
is SIZE_MAX - 1. */
#define __xalloc_oversized(n, s) \
((s) != 0 \
- && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \
- < (n)))
+ && (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n))
/* Return 1 if and only if an array of N objects, each of size S,
cannot exist reliably because its total size in bytes would exceed
@@ -48,13 +47,13 @@
#if 7 <= __GNUC__ && !defined __clang__ && PTRDIFF_MAX < SIZE_MAX
# define xalloc_oversized(n, s) \
__builtin_mul_overflow_p (n, s, (ptrdiff_t) 1)
-#elif (5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ \
- && PTRDIFF_MAX < SIZE_MAX)
+#elif 5 <= __GNUC__ && !defined __ICC && PTRDIFF_MAX < SIZE_MAX
# define xalloc_oversized(n, s) \
(__builtin_constant_p (n) && __builtin_constant_p (s) \
? __xalloc_oversized (n, s) \
- : ({ ptrdiff_t __xalloc_count; \
- __builtin_mul_overflow (n, s, &__xalloc_count); }))
+ : __extension__ \
+ ({ ptrdiff_t __xalloc_count; \
+ __builtin_mul_overflow (n, s, &__xalloc_count); }))
/* Other compilers use integer division; this may be slower but is
more portable. */
diff --git a/lib/xsize.c b/lib/xsize.c
index 761e3434..87744675 100644
--- a/lib/xsize.c
+++ b/lib/xsize.c
@@ -1,6 +1,6 @@
/* Checked size_t computations.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/lib/xsize.h b/lib/xsize.h
index 0bfa4c88..71c9c073 100644
--- a/lib/xsize.h
+++ b/lib/xsize.h
@@ -1,6 +1,6 @@
/* xsize.h -- Checked size_t computations.
- Copyright (C) 2003, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,6 +18,11 @@
#ifndef _XSIZE_H
#define _XSIZE_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, HAVE_STDINT_H. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get size_t. */
#include <stddef.h>
@@ -30,9 +35,6 @@
/* Get ATTRIBUTE_PURE. */
#include "attribute.h"
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef XSIZE_INLINE
# define XSIZE_INLINE _GL_INLINE
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index dbd6ce4d..0d21aee4 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,6 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
+# Copyright (C) 1996-2001, 2003-2019, 2021-2023 Free Software
# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
@@ -1368,7 +1368,7 @@ mips64*-*linux*)
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly. Note that the listed cases only cover the
# situations where additional linker options are needed (such as when
@@ -1383,7 +1383,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
- x86_64-*linux*)
+ x86_64-*linux*|x86_64-gnu*)
case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
@@ -1412,7 +1412,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_x86_64_fbsd"
;;
- x86_64-*linux*)
+ x86_64-*linux*|x86_64-gnu*)
LD="${LD-ld} -m elf_x86_64"
;;
powerpcle-*linux*)
@@ -2840,7 +2840,7 @@ linux*android*)
version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
- library_names_spec='$libname$release$shared_ext'
+ library_names_spec='$libname$release$shared_ext $libname$shared_ext'
soname_spec='$libname$release$shared_ext'
finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
@@ -2852,8 +2852,9 @@ linux*android*)
hardcode_into_libs=yes
dynamic_linker='Android linker'
- # Don't embed -rpath directories since the linker doesn't support them.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ # -rpath works at least for libraries that are not overridden by
+ # libraries installed in system locations.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
# This must be glibc/ELF.
diff --git a/tests/Makefile.gnulib b/tests/Makefile.gnulib
index 4b3f0ea2..5e989140 100644
--- a/tests/Makefile.gnulib
+++ b/tests/Makefile.gnulib
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -81,6 +81,14 @@ EXTRA_DIST += test-accept.c signature.h macros.h
## end gnulib module accept-tests
+## begin gnulib module alignasof-tests
+
+TESTS += test-alignasof
+check_PROGRAMS += test-alignasof
+EXTRA_DIST += test-alignasof.c macros.h
+
+## end gnulib module alignasof-tests
+
## begin gnulib module alloca
@@ -202,6 +210,22 @@ EXTRA_DIST += test-bind.c signature.h macros.h
## end gnulib module bind-tests
+## begin gnulib module btoc32
+
+libtests_a_SOURCES += btoc32.c
+
+## end gnulib module btoc32
+
+## begin gnulib module btoc32-tests
+
+TESTS += test-btoc32-1.sh test-btoc32-2.sh test-btoc32-3.sh
+TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
+check_PROGRAMS += test-btoc32
+test_btoc32_LDADD = $(LDADD) $(LIBUNISTRING) $(SETLOCALE_LIB) $(LIBC32CONV)
+EXTRA_DIST += test-btoc32-1.sh test-btoc32-2.sh test-btoc32-3.sh test-btoc32.c signature.h macros.h
+
+## end gnulib module btoc32-tests
+
## begin gnulib module btowc
if GL_COND_OBJ_BTOWC
@@ -212,11 +236,11 @@ endif
## begin gnulib module btowc-tests
-TESTS += test-btowc1.sh test-btowc2.sh
+TESTS += test-btowc-1.sh test-btowc-2.sh test-btowc-3.sh
TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
check_PROGRAMS += test-btowc
-test_btowc_LDADD = $(LDADD) $(LIB_SETLOCALE)
-EXTRA_DIST += test-btowc1.sh test-btowc2.sh test-btowc.c signature.h macros.h
+test_btowc_LDADD = $(LDADD) $(SETLOCALE_LIB)
+EXTRA_DIST += test-btowc-1.sh test-btowc-2.sh test-btowc-3.sh test-btowc.c signature.h macros.h
## end gnulib module btowc-tests
@@ -224,7 +248,7 @@ EXTRA_DIST += test-btowc1.sh test-btowc2.sh test-btowc.c signature.h macros.h
TESTS += test-c-ctype
check_PROGRAMS += test-c-ctype
-test_c_ctype_LDADD = $(LDADD) $(LIB_SETLOCALE)
+test_c_ctype_LDADD = $(LDADD) $(SETLOCALE_LIB)
EXTRA_DIST += test-c-ctype.c macros.h
## end gnulib module c-ctype-tests
@@ -234,12 +258,235 @@ EXTRA_DIST += test-c-ctype.c macros.h
TESTS += test-c-strcase.sh
TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@'
check_PROGRAMS += test-c-strcasecmp test-c-strncasecmp
-test_c_strcasecmp_LDADD = $(LDADD) $(LIB_SETLOCALE)
-test_c_strncasecmp_LDADD = $(LDADD) $(LIB_SETLOCALE)
+test_c_strcasecmp_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_c_strncasecmp_LDADD = $(LDADD) $(SETLOCALE_LIB)
EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c macros.h
## end gnulib module c-strcase-tests
+## begin gnulib module c32isalnum-tests
+
+TESTS += test-c32isalnum.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isalnum
+test_c32isalnum_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isalnum.sh test-c32isalnum.c signature.h macros.h
+
+## end gnulib module c32isalnum-tests
+
+## begin gnulib module c32isalpha-tests
+
+TESTS += test-c32isalpha.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isalpha
+test_c32isalpha_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isalpha.sh test-c32isalpha.c signature.h macros.h
+
+## end gnulib module c32isalpha-tests
+
+## begin gnulib module c32isblank-tests
+
+TESTS += test-c32isblank.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isblank
+test_c32isblank_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isblank.sh test-c32isblank.c signature.h macros.h
+
+## end gnulib module c32isblank-tests
+
+## begin gnulib module c32iscntrl-tests
+
+TESTS += test-c32iscntrl.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32iscntrl
+test_c32iscntrl_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32iscntrl.sh test-c32iscntrl.c signature.h macros.h
+
+## end gnulib module c32iscntrl-tests
+
+## begin gnulib module c32isdigit-tests
+
+TESTS += test-c32isdigit.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isdigit
+test_c32isdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isdigit.sh test-c32isdigit.c signature.h macros.h
+
+## end gnulib module c32isdigit-tests
+
+## begin gnulib module c32isgraph-tests
+
+TESTS += test-c32isgraph.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isgraph
+test_c32isgraph_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isgraph.sh test-c32isgraph.c signature.h macros.h
+
+## end gnulib module c32isgraph-tests
+
+## begin gnulib module c32islower-tests
+
+TESTS += test-c32islower.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32islower
+test_c32islower_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32islower.sh test-c32islower.c signature.h macros.h
+
+## end gnulib module c32islower-tests
+
+## begin gnulib module c32isprint-tests
+
+TESTS += test-c32isprint.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isprint
+test_c32isprint_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isprint.sh test-c32isprint.c signature.h macros.h
+
+## end gnulib module c32isprint-tests
+
+## begin gnulib module c32ispunct-tests
+
+TESTS += test-c32ispunct.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32ispunct
+test_c32ispunct_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32ispunct.sh test-c32ispunct.c signature.h macros.h
+
+## end gnulib module c32ispunct-tests
+
+## begin gnulib module c32isspace-tests
+
+TESTS += test-c32isspace.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isspace
+test_c32isspace_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isspace.sh test-c32isspace.c signature.h macros.h
+
+## end gnulib module c32isspace-tests
+
+## begin gnulib module c32isupper-tests
+
+TESTS += test-c32isupper.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isupper
+test_c32isupper_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isupper.sh test-c32isupper.c signature.h macros.h
+
+## end gnulib module c32isupper-tests
+
+## begin gnulib module c32isxdigit-tests
+
+TESTS += test-c32isxdigit.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32isxdigit
+test_c32isxdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32isxdigit.sh test-c32isxdigit.c signature.h macros.h
+
+## end gnulib module c32isxdigit-tests
+
+## begin gnulib module c32rtomb
+
+if GL_COND_OBJ_C32RTOMB
+libtests_a_SOURCES += c32rtomb.c
+endif
+
+## end gnulib module c32rtomb
+
+## begin gnulib module c32rtomb-tests
+
+TESTS += \
+ test-c32rtomb.sh \
+ test-c32rtomb-w32-2.sh test-c32rtomb-w32-3.sh test-c32rtomb-w32-4.sh \
+ test-c32rtomb-w32-5.sh test-c32rtomb-w32-6.sh test-c32rtomb-w32-7.sh \
+ test-c32rtomb-w32-8.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32rtomb test-c32rtomb-w32
+test_c32rtomb_LDADD = $(LDADD) $(LIBUNISTRING) $(SETLOCALE_LIB) $(LIBC32CONV)
+EXTRA_DIST += test-c32rtomb.sh test-c32rtomb.c test-c32rtomb-w32-2.sh test-c32rtomb-w32-3.sh test-c32rtomb-w32-4.sh test-c32rtomb-w32-5.sh test-c32rtomb-w32-6.sh test-c32rtomb-w32-7.sh test-c32rtomb-w32-8.sh test-c32rtomb-w32.c signature.h macros.h
+
+## end gnulib module c32rtomb-tests
+
+## begin gnulib module c32tob
+
+libtests_a_SOURCES += c32tob.c
+
+## end gnulib module c32tob
+
+## begin gnulib module c32tolower-tests
+
+TESTS += test-c32tolower.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-c32tolower
+test_c32tolower_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32tolower.sh test-c32tolower.c signature.h macros.h
+
+## end gnulib module c32tolower-tests
+
+## begin gnulib module c32width-tests
+
+TESTS += test-c32width
+check_PROGRAMS += test-c32width
+test_c32width_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+EXTRA_DIST += test-c32width.c signature.h macros.h
+
+## end gnulib module c32width-tests
+
## begin gnulib module calloc-gnu
@@ -390,10 +637,41 @@ if GL_COND_OBJ_ERROR
libtests_a_SOURCES += error.c
endif
-EXTRA_DIST += error.h
-
## end gnulib module error
+## begin gnulib module error-h
+
+BUILT_SOURCES += error.h
+
+# We need the following in order to override <error.h>.
+error.h: error.in.h $(top_builddir)/config.status $(CXXDEFS_H)
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_ERROR_H''@|$(HAVE_ERROR_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''NEXT_ERROR_H''@|$(NEXT_ERROR_H)|g' \
+ -e 's|@''HAVE_ERROR''@|$(HAVE_ERROR)|g' \
+ -e 's|@''HAVE_ERROR_AT_LINE''@|$(HAVE_ERROR_AT_LINE)|g' \
+ -e 's|@''REPLACE_ERROR''@|$(REPLACE_ERROR)|g' \
+ -e 's|@''REPLACE_ERROR_AT_LINE''@|$(REPLACE_ERROR_AT_LINE)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ $(srcdir)/error.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += error.h error.h-t
+
+EXTRA_DIST += error.in.h
+
+## end gnulib module error-h
+
+## begin gnulib module error-tests
+
+TESTS += test-error.sh
+check_PROGRAMS += test-error
+test_error_LDADD = $(LDADD) $(LIBINTL)
+EXTRA_DIST += test-error.sh test-error.c macros.h
+
+## end gnulib module error-tests
+
## begin gnulib module exitfail
libtests_a_SOURCES += exitfail.c
@@ -539,7 +817,7 @@ EXTRA_DIST += test-free.c macros.h
TESTS += test-frexp-nolibm
check_PROGRAMS += test-frexp-nolibm
test_frexp_nolibm_SOURCES = test-frexp.c randomd.c
-EXTRA_DIST += test-frexp.c test-frexp.h minus-zero.h infinity.h nan.h signature.h macros.h randomd.c
+EXTRA_DIST += test-frexp.c test-frexp.h minus-zero.h infinity.h signature.h macros.h randomd.c
## end gnulib module frexp-nolibm-tests
@@ -548,7 +826,7 @@ EXTRA_DIST += test-frexp.c test-frexp.h minus-zero.h infinity.h nan.h signature.
TESTS += test-frexpl-nolibm
check_PROGRAMS += test-frexpl-nolibm
test_frexpl_nolibm_SOURCES = test-frexpl.c randoml.c
-EXTRA_DIST += test-frexpl.c test-frexp.h minus-zero.h infinity.h nan.h signature.h macros.h randoml.c
+EXTRA_DIST += test-frexpl.c test-frexp.h minus-zero.h infinity.h signature.h macros.h randoml.c
## end gnulib module frexpl-nolibm-tests
@@ -667,7 +945,11 @@ endif
## begin gnulib module getprogname
-libtests_a_SOURCES += getprogname.h getprogname.c
+if GL_COND_OBJ_GETPROGNAME
+libtests_a_SOURCES += getprogname.c
+endif
+
+EXTRA_DIST += getprogname.h
## end gnulib module getprogname
@@ -700,7 +982,7 @@ endif
TESTS += test-gettimeofday
check_PROGRAMS += test-gettimeofday
-EXTRA_DIST += signature.h test-gettimeofday.c
+EXTRA_DIST += test-gettimeofday.c signature.h macros.h
## end gnulib module gettimeofday-tests
@@ -717,7 +999,7 @@ V_GPERF_0 = @echo " GPERF " $@;
TESTS += test-hard-locale
check_PROGRAMS += test-hard-locale
-test_hard_locale_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIB_HARD_LOCALE@
+test_hard_locale_LDADD = $(LDADD) $(SETLOCALE_LIB) @HARD_LOCALE_LIB@
# We cannot call this program 'locale', because the C++ compiler on Mac OS X
# would then barf upon '#include <locale>'. So, call it 'current-locale'.
noinst_PROGRAMS += current-locale
@@ -846,7 +1128,7 @@ EXTRA_DIST += test-isblank.c signature.h macros.h
TESTS += test-isnand-nolibm
check_PROGRAMS += test-isnand-nolibm
-EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h nan.h macros.h
+EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h macros.h
## end gnulib module isnand-nolibm-tests
@@ -855,7 +1137,7 @@ EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h nan.h m
TESTS += test-isnanf-nolibm
check_PROGRAMS += test-isnanf-nolibm
-EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h nan.h macros.h
+EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h macros.h
## end gnulib module isnanf-nolibm-tests
@@ -864,7 +1146,7 @@ EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h nan.h m
TESTS += test-isnanl-nolibm
check_PROGRAMS += test-isnanl-nolibm
-EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h nan.h macros.h
+EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h macros.h
## end gnulib module isnanl-nolibm-tests
@@ -885,11 +1167,20 @@ TESTS_ENVIRONMENT += \
LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@'
check_PROGRAMS += test-iswdigit
-test_iswdigit_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
+test_iswdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
EXTRA_DIST += test-iswdigit.sh test-iswdigit.c signature.h macros.h
## end gnulib module iswdigit-tests
+## begin gnulib module iswpunct-tests
+
+TESTS += test-iswpunct.sh
+check_PROGRAMS += test-iswpunct
+test_iswpunct_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
+EXTRA_DIST += test-iswpunct.sh test-iswpunct.c signature.h macros.h
+
+## end gnulib module iswpunct-tests
+
## begin gnulib module iswxdigit-tests
TESTS += test-iswxdigit.sh
@@ -899,7 +1190,7 @@ TESTS_ENVIRONMENT += \
LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@'
check_PROGRAMS += test-iswxdigit
-test_iswxdigit_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
+test_iswxdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
EXTRA_DIST += test-iswxdigit.sh test-iswxdigit.c signature.h macros.h
## end gnulib module iswxdigit-tests
@@ -912,6 +1203,21 @@ EXTRA_DIST += test-langinfo.c
## end gnulib module langinfo-tests
+## begin gnulib module largefile-tests
+
+TESTS += test-largefile
+check_PROGRAMS += test-largefile
+EXTRA_DIST += test-largefile.c
+
+## end gnulib module largefile-tests
+
+## begin gnulib module libc-config
+
+
+EXTRA_DIST += cdefs.h libc-config.h
+
+## end gnulib module libc-config
+
## begin gnulib module limits-h-tests
TESTS += test-limits-h
@@ -942,7 +1248,7 @@ EXTRA_DIST += test-listen.c signature.h macros.h
## begin gnulib module localcharset-tests
noinst_PROGRAMS += test-localcharset
-test_localcharset_LDADD = $(LDADD) $(LIB_SETLOCALE)
+test_localcharset_LDADD = $(LDADD) $(SETLOCALE_LIB)
EXTRA_DIST += test-localcharset.c
## end gnulib module localcharset-tests
@@ -959,7 +1265,7 @@ EXTRA_DIST += test-locale.c
TESTS += test-localename
check_PROGRAMS += test-localename
-test_localename_LDADD = $(LDADD) $(LIB_SETLOCALE) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
+test_localename_LDADD = $(LDADD) $(SETLOCALE_LIB) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
EXTRA_DIST += test-localename.c macros.h
@@ -975,7 +1281,7 @@ test_once1_SOURCES = test-once.c
test_once1_LDADD = $(LDADD) @LIBTHREAD@
test_once2_SOURCES = test-once.c
test_once2_LDADD = $(LDADD) @LIBMULTITHREAD@
-EXTRA_DIST += test-rwlock1.c test-lock.c test-once.c atomic-int-gnulib.h
+EXTRA_DIST += test-rwlock1.c test-lock.c test-once.c atomic-int-gnulib.h macros.h
## end gnulib module lock-tests
@@ -1029,22 +1335,41 @@ EXTRA_DIST += test-math.c macros.h
## end gnulib module math-tests
+## begin gnulib module mbrtoc32-tests
+
+TESTS += \
+ test-mbrtoc32-1.sh test-mbrtoc32-2.sh test-mbrtoc32-3.sh test-mbrtoc32-4.sh \
+ test-mbrtoc32-5.sh \
+ test-mbrtoc32-w32-2.sh test-mbrtoc32-w32-3.sh test-mbrtoc32-w32-4.sh \
+ test-mbrtoc32-w32-5.sh test-mbrtoc32-w32-6.sh test-mbrtoc32-w32-7.sh \
+ test-mbrtoc32-w32-8.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-mbrtoc32 test-mbrtoc32-w32
+test_mbrtoc32_LDADD = $(LDADD) $(LIBUNISTRING) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBC32CONV)
+EXTRA_DIST += test-mbrtoc32-1.sh test-mbrtoc32-2.sh test-mbrtoc32-3.sh test-mbrtoc32-4.sh test-mbrtoc32-5.sh test-mbrtoc32.c test-mbrtoc32-w32-2.sh test-mbrtoc32-w32-3.sh test-mbrtoc32-w32-4.sh test-mbrtoc32-w32-5.sh test-mbrtoc32-w32-6.sh test-mbrtoc32-w32-7.sh test-mbrtoc32-w32-8.sh test-mbrtoc32-w32.c signature.h macros.h
+
+## end gnulib module mbrtoc32-tests
+
## begin gnulib module mbrtowc-tests
TESTS += \
- test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \
- test-mbrtowc5.sh \
- test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
- test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh \
- test-mbrtowc-w32-7.sh
+ test-mbrtowc-1.sh test-mbrtowc-2.sh test-mbrtowc-3.sh test-mbrtowc-4.sh \
+ test-mbrtowc-5.sh \
+ test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
+ test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh \
+ test-mbrtowc-w32-8.sh
TESTS_ENVIRONMENT += \
LOCALE_FR='@LOCALE_FR@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@'
check_PROGRAMS += test-mbrtowc test-mbrtowc-w32
-test_mbrtowc_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
-EXTRA_DIST += test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc5.sh test-mbrtowc.c test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh test-mbrtowc-w32.c signature.h macros.h
+test_mbrtowc_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
+EXTRA_DIST += test-mbrtowc-1.sh test-mbrtowc-2.sh test-mbrtowc-3.sh test-mbrtowc-4.sh test-mbrtowc-5.sh test-mbrtowc.c test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh test-mbrtowc-w32-8.sh test-mbrtowc-w32.c signature.h macros.h
## end gnulib module mbrtowc-tests
@@ -1053,7 +1378,7 @@ EXTRA_DIST += test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.s
TESTS += test-mbsinit.sh
TESTS_ENVIRONMENT += LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
check_PROGRAMS += test-mbsinit
-test_mbsinit_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
+test_mbsinit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
EXTRA_DIST += test-mbsinit.sh test-mbsinit.c signature.h macros.h
## end gnulib module mbsinit-tests
@@ -1096,6 +1421,12 @@ EXTRA_DIST += msvc-nothrow.h
## end gnulib module msvc-nothrow
+## begin gnulib module nan
+
+libtests_a_SOURCES += nan.h
+
+## end gnulib module nan
+
## begin gnulib module nanosleep
if GL_COND_OBJ_NANOSLEEP
@@ -1108,7 +1439,7 @@ endif
TESTS += test-nanosleep
check_PROGRAMS += test-nanosleep
-test_nanosleep_LDADD = $(LDADD) $(LIB_NANOSLEEP)
+test_nanosleep_LDADD = $(LDADD) $(NANOSLEEP_LIB)
EXTRA_DIST += test-nanosleep.c signature.h macros.h
## end gnulib module nanosleep-tests
@@ -1241,7 +1572,7 @@ endif
TESTS += test-pselect
check_PROGRAMS += test-pselect
-test_pselect_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ @LIB_PTHREAD_SIGMASK@ $(INET_PTON_LIB)
+test_pselect_LDADD = $(LDADD) @SELECT_LIB@ @LIBSOCKET@ @PTHREAD_SIGMASK_LIB@ $(INET_PTON_LIB)
EXTRA_DIST += test-pselect.c test-select.h macros.h signature.h
## end gnulib module pselect-tests
@@ -1284,6 +1615,8 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e 's|@''HAVE_PTHREAD_DETACH''@|$(HAVE_PTHREAD_DETACH)|g' \
-e 's|@''HAVE_PTHREAD_JOIN''@|$(HAVE_PTHREAD_JOIN)|g' \
-e 's|@''HAVE_PTHREAD_EXIT''@|$(HAVE_PTHREAD_EXIT)|g' \
+ < $(srcdir)/pthread.in.h > $@-t1
+ $(AM_V_at)sed \
-e 's|@''HAVE_PTHREAD_ONCE''@|$(HAVE_PTHREAD_ONCE)|g' \
-e 's|@''HAVE_PTHREAD_MUTEX_INIT''@|$(HAVE_PTHREAD_MUTEX_INIT)|g' \
-e 's|@''HAVE_PTHREAD_MUTEXATTR_INIT''@|$(HAVE_PTHREAD_MUTEXATTR_INIT)|g' \
@@ -1325,8 +1658,9 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e 's|@''HAVE_PTHREAD_SPIN_TRYLOCK''@|$(HAVE_PTHREAD_SPIN_TRYLOCK)|g' \
-e 's|@''HAVE_PTHREAD_SPIN_UNLOCK''@|$(HAVE_PTHREAD_SPIN_UNLOCK)|g' \
-e 's|@''HAVE_PTHREAD_SPIN_DESTROY''@|$(HAVE_PTHREAD_SPIN_DESTROY)|g' \
- < $(srcdir)/pthread.in.h | \
- sed -e 's|@''REPLACE_PTHREAD_CREATE''@|$(REPLACE_PTHREAD_CREATE)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_PTHREAD_CREATE''@|$(REPLACE_PTHREAD_CREATE)|g' \
-e 's|@''REPLACE_PTHREAD_ATTR_INIT''@|$(REPLACE_PTHREAD_ATTR_INIT)|g' \
-e 's|@''REPLACE_PTHREAD_ATTR_GETDETACHSTATE''@|$(REPLACE_PTHREAD_ATTR_GETDETACHSTATE)|g' \
-e 's|@''REPLACE_PTHREAD_ATTR_SETDETACHSTATE''@|$(REPLACE_PTHREAD_ATTR_SETDETACHSTATE)|g' \
@@ -1360,6 +1694,8 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e 's|@''REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK''@|$(REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK)|g' \
-e 's|@''REPLACE_PTHREAD_RWLOCK_UNLOCK''@|$(REPLACE_PTHREAD_RWLOCK_UNLOCK)|g' \
-e 's|@''REPLACE_PTHREAD_RWLOCK_DESTROY''@|$(REPLACE_PTHREAD_RWLOCK_DESTROY)|g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
-e 's|@''REPLACE_PTHREAD_COND_INIT''@|$(REPLACE_PTHREAD_COND_INIT)|g' \
-e 's|@''REPLACE_PTHREAD_CONDATTR_INIT''@|$(REPLACE_PTHREAD_CONDATTR_INIT)|g' \
-e 's|@''REPLACE_PTHREAD_CONDATTR_DESTROY''@|$(REPLACE_PTHREAD_CONDATTR_DESTROY)|g' \
@@ -1381,9 +1717,10 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e '/definition of _Noreturn/r $(_NORETURN_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += pthread.h pthread.h-t
+ < $@-t3 > $@-t4
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+ $(AM_V_at)mv $@-t4 $@
+MOSTLYCLEANFILES += pthread.h pthread.h-t1 pthread.h-t2 pthread.h-t3 pthread.h-t4
EXTRA_DIST += pthread.in.h
@@ -1426,8 +1763,8 @@ endif
TESTS += test-pthread_sigmask1 test-pthread_sigmask2
check_PROGRAMS += test-pthread_sigmask1 test-pthread_sigmask2
-test_pthread_sigmask1_LDADD = $(LDADD) @LIB_PTHREAD_SIGMASK@
-test_pthread_sigmask2_LDADD = $(LDADD) @LIB_PTHREAD_SIGMASK@ @LIBMULTITHREAD@
+test_pthread_sigmask1_LDADD = $(LDADD) @PTHREAD_SIGMASK_LIB@
+test_pthread_sigmask2_LDADD = $(LDADD) @PTHREAD_SIGMASK_LIB@ @LIBMULTITHREAD@
EXTRA_DIST += test-pthread_sigmask1.c test-pthread_sigmask2.c signature.h macros.h
## end gnulib module pthread_sigmask-tests
@@ -1456,6 +1793,39 @@ EXTRA_DIST += test-raise.c signature.h macros.h
## end gnulib module raise-tests
+## begin gnulib module random
+
+if GL_COND_OBJ_RANDOM
+libtests_a_SOURCES += random.c
+endif
+
+## end gnulib module random
+
+## begin gnulib module random-tests
+
+TESTS += test-random test-random-mt
+check_PROGRAMS += test-random test-random-mt
+test_random_mt_LDADD = $(LDADD) $(LIBINTL) $(LIBMULTITHREAD) $(YIELD_LIB)
+EXTRA_DIST += test-random.c test-random-mt.c signature.h macros.h
+
+## end gnulib module random-tests
+
+## begin gnulib module random_r
+
+if GL_COND_OBJ_RANDOM_R
+libtests_a_SOURCES += random_r.c
+endif
+
+## end gnulib module random_r
+
+## begin gnulib module random_r-tests
+
+TESTS += test-random_r
+check_PROGRAMS += test-random_r
+EXTRA_DIST += test-random_r.c signature.h macros.h
+
+## end gnulib module random_r-tests
+
## begin gnulib module realloc-gnu
@@ -1500,8 +1870,7 @@ EXTRA_DIST += test-reallocarray.c signature.h macros.h
## begin gnulib module same-inode
-
-EXTRA_DIST += same-inode.h
+libtests_a_SOURCES += same-inode.h same-inode.c
## end gnulib module same-inode
@@ -1563,9 +1932,9 @@ endif
TESTS += test-select test-select-in.sh test-select-out.sh
# test-select-stdin has to be run by hand.
check_PROGRAMS += test-select test-select-fd test-select-stdin
-test_select_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ $(INET_PTON_LIB)
-test_select_fd_LDADD = $(LDADD) @LIB_SELECT@
-test_select_stdin_LDADD = $(LDADD) @LIB_SELECT@
+test_select_LDADD = $(LDADD) @SELECT_LIB@ @LIBSOCKET@ $(INET_PTON_LIB)
+test_select_fd_LDADD = $(LDADD) @SELECT_LIB@
+test_select_stdin_LDADD = $(LDADD) @SELECT_LIB@
EXTRA_DIST += macros.h signature.h test-select.c test-select.h test-select-fd.c test-select-in.sh test-select-out.sh test-select-stdin.c
## end gnulib module select-tests
@@ -1604,13 +1973,21 @@ check_PROGRAMS += \
test-setlocale_null \
test-setlocale_null-mt-one \
test-setlocale_null-mt-all
-test_setlocale_null_LDADD = $(LDADD) @LIB_SETLOCALE_NULL@
-test_setlocale_null_mt_one_LDADD = $(LDADD) @LIB_SETLOCALE_NULL@ $(LIBMULTITHREAD) $(LIB_NANOSLEEP)
-test_setlocale_null_mt_all_LDADD = $(LDADD) @LIB_SETLOCALE_NULL@ $(LIBMULTITHREAD) $(LIB_NANOSLEEP)
+test_setlocale_null_LDADD = $(LDADD) @SETLOCALE_NULL_LIB@
+test_setlocale_null_mt_one_LDADD = $(LDADD) @SETLOCALE_NULL_LIB@ $(LIBMULTITHREAD) $(NANOSLEEP_LIB)
+test_setlocale_null_mt_all_LDADD = $(LDADD) @SETLOCALE_NULL_LIB@ $(LIBMULTITHREAD) $(NANOSLEEP_LIB)
EXTRA_DIST += test-setlocale_null.c test-setlocale_null-mt-one.c test-setlocale_null-mt-all.c
## end gnulib module setlocale-null-tests
+## begin gnulib module setlocale-null-unlocked-tests
+
+TESTS += test-setlocale_null-unlocked
+check_PROGRAMS += test-setlocale_null-unlocked
+EXTRA_DIST += test-setlocale_null-unlocked.c
+
+## end gnulib module setlocale-null-unlocked-tests
+
## begin gnulib module setlocale-tests
TESTS += test-setlocale1.sh test-setlocale2.sh
@@ -1620,8 +1997,8 @@ TESTS_ENVIRONMENT += \
LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@'
check_PROGRAMS += test-setlocale1 test-setlocale2
-test_setlocale1_LDADD = $(LDADD) @LIB_SETLOCALE@
-test_setlocale2_LDADD = $(LDADD) @LIB_SETLOCALE@
+test_setlocale1_LDADD = $(LDADD) @SETLOCALE_LIB@
+test_setlocale2_LDADD = $(LDADD) @SETLOCALE_LIB@
EXTRA_DIST += test-setlocale1.sh test-setlocale1.c test-setlocale2.sh test-setlocale2.c signature.h macros.h
## end gnulib module setlocale-tests
@@ -1702,6 +2079,18 @@ EXTRA_DIST += test-signbit.c minus-zero.h infinity.h macros.h
## end gnulib module signbit-tests
+## begin gnulib module signed-nan
+
+libtests_a_SOURCES += signed-nan.h
+
+## end gnulib module signed-nan
+
+## begin gnulib module signed-snan
+
+libtests_a_SOURCES += signed-snan.h
+
+## end gnulib module signed-snan
+
## begin gnulib module sigprocmask
if GL_COND_OBJ_SIGPROCMASK
@@ -1734,6 +2123,12 @@ EXTRA_DIST += test-sleep.c signature.h macros.h
## end gnulib module sleep-tests
+## begin gnulib module snan
+
+libtests_a_SOURCES += snan.h
+
+## end gnulib module snan
+
## begin gnulib module snippet/_Noreturn
# Because this Makefile snippet defines a variable used by other
@@ -1842,39 +2237,11 @@ EXTRA_DIST += stat-time.h
TESTS += test-stat-time
check_PROGRAMS += test-stat-time
-test_stat_time_LDADD = $(LDADD) $(LIB_NANOSLEEP)
+test_stat_time_LDADD = $(LDADD) $(NANOSLEEP_LIB)
EXTRA_DIST += test-stat-time.c macros.h nap.h
## end gnulib module stat-time-tests
-## begin gnulib module stdalign
-
-BUILT_SOURCES += $(STDALIGN_H)
-
-# We need the following in order to create <stdalign.h> when the system
-# doesn't have one that works.
-if GL_GENERATE_STDALIGN_H
-stdalign.h: stdalign.in.h $(top_builddir)/config.status
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/stdalign.in.h
- $(AM_V_at)mv $@-t $@
-else
-stdalign.h: $(top_builddir)/config.status
- rm -f $@
-endif
-MOSTLYCLEANFILES += stdalign.h stdalign.h-t
-
-EXTRA_DIST += stdalign.in.h
-
-## end gnulib module stdalign
-
-## begin gnulib module stdalign-tests
-
-TESTS += test-stdalign
-check_PROGRAMS += test-stdalign
-EXTRA_DIST += test-stdalign.c macros.h
-
-## end gnulib module stdalign-tests
-
## begin gnulib module stdbool-tests
TESTS += test-stdbool
@@ -1980,14 +2347,17 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \
-e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \
-e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \
- < $(srcdir)/stdio.in.h | \
- sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
+ < $(srcdir)/stdio.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
-e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
-e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
-e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
-e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
-e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+ -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \
-e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+ -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
@@ -1998,6 +2368,8 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
-e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
-e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
-e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
-e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
-e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
@@ -2035,9 +2407,10 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += stdio.h stdio.h-t
+ < $@-t2 > $@-t3
+ $(AM_V_at)rm -f $@-t1 $@-t2
+ $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += stdio.h stdio.h-t1 stdio.h-t2 stdio.h-t3
if GL_COND_OBJ_STDIO_READ
libtests_a_SOURCES += stdio-read.c
@@ -2054,7 +2427,7 @@ EXTRA_DIST += stdio.in.h
TESTS += test-stdio
check_PROGRAMS += test-stdio
-EXTRA_DIST += test-stdio.c
+EXTRA_DIST += test-stdio.c macros.h
## end gnulib module stdio-tests
@@ -2493,6 +2866,14 @@ EXTRA_DIST += test-thread_self.c test-thread_create.c macros.h
## begin gnulib module time
+if GL_COND_OBJ_TIME
+libtests_a_SOURCES += time.c
+endif
+
+## end gnulib module time
+
+## begin gnulib module time-h
+
BUILT_SOURCES += time.h
# We need the following in order to create <time.h> when the system
@@ -2510,6 +2891,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \
-e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \
-e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \
+ -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \
-e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \
-e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \
-e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \
@@ -2531,7 +2913,10 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
+ -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \
-e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+ -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \
+ -e 's|@''REPLACE_TIMESPEC_GETRES''@|$(REPLACE_TIMESPEC_GETRES)|g' \
-e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
@@ -2547,16 +2932,32 @@ MOSTLYCLEANFILES += time.h time.h-t
EXTRA_DIST += time.in.h
-## end gnulib module time
+## end gnulib module time-h
+
+## begin gnulib module time-h-tests
+
+TESTS += test-time-h
+check_PROGRAMS += test-time-h
+EXTRA_DIST += test-time-h.c
+
+## end gnulib module time-h-tests
## begin gnulib module time-tests
TESTS += test-time
check_PROGRAMS += test-time
-EXTRA_DIST += test-time.c
+EXTRA_DIST += test-time.c signature.h macros.h
## end gnulib module time-tests
+## begin gnulib module uchar-tests
+
+TESTS += test-uchar
+check_PROGRAMS += test-uchar
+EXTRA_DIST += test-uchar.c
+
+## end gnulib module uchar-tests
+
## begin gnulib module unicase/cased-tests
TESTS += test-cased
@@ -2583,7 +2984,7 @@ TESTS += unicase/test-locale-language.sh
TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' LOCALE_ZH_CN='@LOCALE_ZH_CN@'
check_PROGRAMS += test-locale-language
test_locale_language_SOURCES = unicase/test-locale-language.c
-test_locale_language_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
+test_locale_language_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
EXTRA_DIST += unicase/test-locale-language.sh unicase/test-locale-language.c macros.h
## end gnulib module unicase/locale-language-tests
@@ -2959,7 +3360,7 @@ TESTS_ENVIRONMENT += \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
check_PROGRAMS += test-ulc-casecmp
test_ulc_casecmp_SOURCES = unicase/test-ulc-casecmp.c
-test_ulc_casecmp_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_casecmp_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += unicase/test-ulc-casecmp1.sh unicase/test-ulc-casecmp2.sh unicase/test-ulc-casecmp.c unicase/test-casecmp.h macros.h
@@ -2973,7 +3374,7 @@ TESTS_ENVIRONMENT += \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
check_PROGRAMS += test-ulc-casecoll
test_ulc_casecoll_SOURCES = unicase/test-ulc-casecoll.c
-test_ulc_casecoll_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_casecoll_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += unicase/test-ulc-casecoll1.sh unicase/test-ulc-casecoll2.sh unicase/test-ulc-casecoll.c unicase/test-casecmp.h macros.h
@@ -3843,6 +4244,36 @@ EXTRA_DIST += unictype/test-digit.c unictype/test-digit.h macros.h
## end gnulib module unictype/digit-tests
+## begin gnulib module unictype/incb-byname-tests
+
+TESTS += test-incb_byname
+check_PROGRAMS += test-incb_byname
+test_incb_byname_SOURCES = unictype/test-incb_byname.c
+test_incb_byname_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-incb_byname.c macros.h
+
+## end gnulib module unictype/incb-byname-tests
+
+## begin gnulib module unictype/incb-name-tests
+
+TESTS += test-incb_name
+check_PROGRAMS += test-incb_name
+test_incb_name_SOURCES = unictype/test-incb_name.c
+test_incb_name_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-incb_name.c macros.h
+
+## end gnulib module unictype/incb-name-tests
+
+## begin gnulib module unictype/incb-of-tests
+
+TESTS += test-incb_of
+check_PROGRAMS += test-incb_of
+test_incb_of_SOURCES = unictype/test-incb_of.c
+test_incb_of_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-incb_of.c unictype/test-incb_of.h macros.h
+
+## end gnulib module unictype/incb-of-tests
+
## begin gnulib module unictype/joininggroup-byname-tests
TESTS += test-joininggroup_byname
@@ -4413,6 +4844,26 @@ EXTRA_DIST += unictype/test-pr_hyphen.c unictype/test-predicate-part1.h unictype
## end gnulib module unictype/property-hyphen-tests
+## begin gnulib module unictype/property-id-compat-math-continue-tests
+
+TESTS += test-pr_id_compat_math_continue
+check_PROGRAMS += test-pr_id_compat_math_continue
+test_pr_id_compat_math_continue_SOURCES = unictype/test-pr_id_compat_math_continue.c
+test_pr_id_compat_math_continue_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-pr_id_compat_math_continue.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h macros.h
+
+## end gnulib module unictype/property-id-compat-math-continue-tests
+
+## begin gnulib module unictype/property-id-compat-math-start-tests
+
+TESTS += test-pr_id_compat_math_start
+check_PROGRAMS += test-pr_id_compat_math_start
+test_pr_id_compat_math_start_SOURCES = unictype/test-pr_id_compat_math_start.c
+test_pr_id_compat_math_start_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-pr_id_compat_math_start.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h macros.h
+
+## end gnulib module unictype/property-id-compat-math-start-tests
+
## begin gnulib module unictype/property-id-continue-tests
TESTS += test-pr_id_continue
@@ -4463,6 +4914,16 @@ EXTRA_DIST += unictype/test-pr_ids_trinary_operator.c unictype/test-predicate-pa
## end gnulib module unictype/property-ids-trinary-operator-tests
+## begin gnulib module unictype/property-ids-unary-operator-tests
+
+TESTS += test-pr_ids_unary_operator
+check_PROGRAMS += test-pr_ids_unary_operator
+test_pr_ids_unary_operator_SOURCES = unictype/test-pr_ids_unary_operator.c
+test_pr_ids_unary_operator_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-pr_ids_unary_operator.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h macros.h
+
+## end gnulib module unictype/property-ids-unary-operator-tests
+
## begin gnulib module unictype/property-ignorable-control-tests
TESTS += test-pr_ignorable_control
@@ -4693,6 +5154,16 @@ EXTRA_DIST += unictype/test-pr_pattern_white_space.c unictype/test-predicate-par
## end gnulib module unictype/property-pattern-white-space-tests
+## begin gnulib module unictype/property-prepended-concatenation-mark-tests
+
+TESTS += test-pr_prepended_concatenation_mark
+check_PROGRAMS += test-pr_prepended_concatenation_mark
+test_pr_prepended_concatenation_mark_SOURCES = unictype/test-pr_prepended_concatenation_mark.c
+test_pr_prepended_concatenation_mark_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-pr_prepended_concatenation_mark.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h macros.h
+
+## end gnulib module unictype/property-prepended-concatenation-mark-tests
+
## begin gnulib module unictype/property-private-use-tests
TESTS += test-pr_private_use
@@ -4939,7 +5410,7 @@ TESTS += test-u16-grapheme-breaks
check_PROGRAMS += test-u16-grapheme-breaks
test_u16_grapheme_breaks_SOURCES = unigbrk/test-u16-grapheme-breaks.c
test_u16_grapheme_breaks_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u16-grapheme-breaks.c
+EXTRA_DIST += unigbrk/test-u16-grapheme-breaks.c macros.h
## end gnulib module unigbrk/u16-grapheme-breaks-tests
@@ -4949,7 +5420,7 @@ TESTS += test-u16-grapheme-next
check_PROGRAMS += test-u16-grapheme-next
test_u16_grapheme_next_SOURCES = unigbrk/test-u16-grapheme-next.c
test_u16_grapheme_next_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u16-grapheme-next.c
+EXTRA_DIST += unigbrk/test-u16-grapheme-next.c macros.h
## end gnulib module unigbrk/u16-grapheme-next-tests
@@ -4959,7 +5430,7 @@ TESTS += test-u16-grapheme-prev
check_PROGRAMS += test-u16-grapheme-prev
test_u16_grapheme_prev_SOURCES = unigbrk/test-u16-grapheme-prev.c
test_u16_grapheme_prev_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u16-grapheme-prev.c
+EXTRA_DIST += unigbrk/test-u16-grapheme-prev.c macros.h
## end gnulib module unigbrk/u16-grapheme-prev-tests
@@ -4969,7 +5440,7 @@ TESTS += test-u32-grapheme-breaks
check_PROGRAMS += test-u32-grapheme-breaks
test_u32_grapheme_breaks_SOURCES = unigbrk/test-u32-grapheme-breaks.c
test_u32_grapheme_breaks_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u32-grapheme-breaks.c
+EXTRA_DIST += unigbrk/test-u32-grapheme-breaks.c macros.h
## end gnulib module unigbrk/u32-grapheme-breaks-tests
@@ -4979,7 +5450,7 @@ TESTS += test-u32-grapheme-next
check_PROGRAMS += test-u32-grapheme-next
test_u32_grapheme_next_SOURCES = unigbrk/test-u32-grapheme-next.c
test_u32_grapheme_next_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u32-grapheme-next.c
+EXTRA_DIST += unigbrk/test-u32-grapheme-next.c macros.h
## end gnulib module unigbrk/u32-grapheme-next-tests
@@ -4989,7 +5460,7 @@ TESTS += test-u32-grapheme-prev
check_PROGRAMS += test-u32-grapheme-prev
test_u32_grapheme_prev_SOURCES = unigbrk/test-u32-grapheme-prev.c
test_u32_grapheme_prev_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u32-grapheme-prev.c
+EXTRA_DIST += unigbrk/test-u32-grapheme-prev.c macros.h
## end gnulib module unigbrk/u32-grapheme-prev-tests
@@ -4999,7 +5470,7 @@ TESTS += test-u8-grapheme-breaks
check_PROGRAMS += test-u8-grapheme-breaks
test_u8_grapheme_breaks_SOURCES = unigbrk/test-u8-grapheme-breaks.c
test_u8_grapheme_breaks_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u8-grapheme-breaks.c
+EXTRA_DIST += unigbrk/test-u8-grapheme-breaks.c macros.h
## end gnulib module unigbrk/u8-grapheme-breaks-tests
@@ -5009,7 +5480,7 @@ TESTS += test-u8-grapheme-next
check_PROGRAMS += test-u8-grapheme-next
test_u8_grapheme_next_SOURCES = unigbrk/test-u8-grapheme-next.c
test_u8_grapheme_next_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u8-grapheme-next.c
+EXTRA_DIST += unigbrk/test-u8-grapheme-next.c macros.h
## end gnulib module unigbrk/u8-grapheme-next-tests
@@ -5019,7 +5490,7 @@ TESTS += test-u8-grapheme-prev
check_PROGRAMS += test-u8-grapheme-prev
test_u8_grapheme_prev_SOURCES = unigbrk/test-u8-grapheme-prev.c
test_u8_grapheme_prev_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-u8-grapheme-prev.c
+EXTRA_DIST += unigbrk/test-u8-grapheme-prev.c macros.h
## end gnulib module unigbrk/u8-grapheme-prev-tests
@@ -5039,7 +5510,7 @@ TESTS += unigbrk/test-uc-grapheme-breaks.sh
check_PROGRAMS += test-uc-grapheme-breaks
test_uc_grapheme_breaks_SOURCES = unigbrk/test-uc-grapheme-breaks.c
test_uc_grapheme_breaks_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unigbrk/test-uc-grapheme-breaks.c unigbrk/test-uc-grapheme-breaks.sh unigbrk/GraphemeBreakTest.txt
+EXTRA_DIST += unigbrk/test-uc-grapheme-breaks.c unigbrk/test-uc-grapheme-breaks.sh unigbrk/GraphemeBreakTest.txt macros.h
## end gnulib module unigbrk/uc-grapheme-breaks-tests
@@ -5059,7 +5530,7 @@ TESTS += unigbrk/test-ulc-grapheme-breaks.sh
TESTS_ENVIRONMENT += LOCALE_AR='@LOCALE_AR@'
check_PROGRAMS += test-ulc-grapheme-breaks
test_ulc_grapheme_breaks_SOURCES = unigbrk/test-ulc-grapheme-breaks.c
-test_ulc_grapheme_breaks_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_grapheme_breaks_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += unigbrk/test-ulc-grapheme-breaks.sh unigbrk/test-ulc-grapheme-breaks.c macros.h
## end gnulib module unigbrk/ulc-grapheme-breaks-tests
@@ -5146,6 +5617,16 @@ EXTRA_DIST += unilbrk/test-ulc-width-linebreaks.c macros.h
## end gnulib module unilbrk/ulc-width-linebreaks-tests
+## begin gnulib module unimetadata/u-version-tests
+
+TESTS += test-u-version
+check_PROGRAMS += test-u-version
+test_u_version_SOURCES = unimetadata/test-u-version.c
+test_u_version_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unimetadata/test-u-version.c macros.h
+
+## end gnulib module unimetadata/u-version-tests
+
## begin gnulib module uniname/uniname-tests
# Unlike other libunistring modules, this test passes only when the
@@ -5385,9 +5866,9 @@ check_PROGRAMS += test-u16-vasnprintf1 test-u16-vasnprintf2 test-u16-vasnprintf3
test_u16_vasnprintf1_SOURCES = unistdio/test-u16-vasnprintf1.c
test_u16_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u16_vasnprintf2_SOURCES = unistdio/test-u16-vasnprintf2.c
-test_u16_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u16_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u16_vasnprintf3_SOURCES = unistdio/test-u16-vasnprintf3.c
-test_u16_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u16_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += unistdio/test-u16-vasnprintf1.c unistdio/test-u16-asnprintf1.h unistdio/test-u16-printf1.h unistdio/test-u16-vasnprintf2.sh unistdio/test-u16-vasnprintf2.c unistdio/test-u16-vasnprintf3.sh unistdio/test-u16-vasnprintf3.c macros.h
## end gnulib module unistdio/u16-vasnprintf-tests
@@ -5440,9 +5921,9 @@ check_PROGRAMS += test-u32-vasnprintf1 test-u32-vasnprintf2 test-u32-vasnprintf3
test_u32_vasnprintf1_SOURCES = unistdio/test-u32-vasnprintf1.c
test_u32_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u32_vasnprintf2_SOURCES = unistdio/test-u32-vasnprintf2.c
-test_u32_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u32_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u32_vasnprintf3_SOURCES = unistdio/test-u32-vasnprintf3.c
-test_u32_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u32_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += unistdio/test-u32-vasnprintf1.c unistdio/test-u32-asnprintf1.h unistdio/test-u32-printf1.h unistdio/test-u32-vasnprintf2.sh unistdio/test-u32-vasnprintf2.c unistdio/test-u32-vasnprintf3.sh unistdio/test-u32-vasnprintf3.c macros.h
## end gnulib module unistdio/u32-vasnprintf-tests
@@ -5495,9 +5976,9 @@ check_PROGRAMS += test-u8-vasnprintf1 test-u8-vasnprintf2 test-u8-vasnprintf3
test_u8_vasnprintf1_SOURCES = unistdio/test-u8-vasnprintf1.c
test_u8_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u8_vasnprintf2_SOURCES = unistdio/test-u8-vasnprintf2.c
-test_u8_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u8_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u8_vasnprintf3_SOURCES = unistdio/test-u8-vasnprintf3.c
-test_u8_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u8_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += unistdio/test-u8-vasnprintf1.c unistdio/test-u8-asnprintf1.h unistdio/test-u8-printf1.h unistdio/test-u8-vasnprintf2.sh unistdio/test-u8-vasnprintf2.c unistdio/test-u8-vasnprintf3.sh unistdio/test-u8-vasnprintf3.c macros.h
## end gnulib module unistdio/u8-vasnprintf-tests
@@ -5537,7 +6018,7 @@ EXTRA_DIST += unistdio/test-u8-vsprintf1.c unistdio/test-u8-printf1.h macros.h
TESTS += test-ulc-asnprintf1
check_PROGRAMS += test-ulc-asnprintf1
test_ulc_asnprintf1_SOURCES = unistdio/test-ulc-asnprintf1.c
-test_ulc_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
EXTRA_DIST += unistdio/test-ulc-asnprintf1.c unistdio/test-ulc-asnprintf1.h unistdio/test-ulc-printf1.h macros.h
## end gnulib module unistdio/ulc-asnprintf-tests
@@ -5548,11 +6029,11 @@ TESTS += test-ulc-vasnprintf1 unistdio/test-ulc-vasnprintf2.sh unistdio/test-ulc
TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
check_PROGRAMS += test-ulc-vasnprintf1 test-ulc-vasnprintf2 test-ulc-vasnprintf3
test_ulc_vasnprintf1_SOURCES = unistdio/test-ulc-vasnprintf1.c
-test_ulc_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vasnprintf2_SOURCES = unistdio/test-ulc-vasnprintf2.c
-test_ulc_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vasnprintf3_SOURCES = unistdio/test-ulc-vasnprintf3.c
-test_ulc_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
EXTRA_DIST += unistdio/test-ulc-vasnprintf1.c unistdio/test-ulc-asnprintf1.h unistdio/test-ulc-printf1.h unistdio/test-ulc-vasnprintf2.sh unistdio/test-ulc-vasnprintf2.c unistdio/test-ulc-vasnprintf3.sh unistdio/test-ulc-vasnprintf3.c macros.h
## end gnulib module unistdio/ulc-vasnprintf-tests
@@ -5562,7 +6043,7 @@ EXTRA_DIST += unistdio/test-ulc-vasnprintf1.c unistdio/test-ulc-asnprintf1.h uni
TESTS += test-ulc-vasprintf1
check_PROGRAMS += test-ulc-vasprintf1
test_ulc_vasprintf1_SOURCES = unistdio/test-ulc-vasprintf1.c
-test_ulc_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
EXTRA_DIST += unistdio/test-ulc-vasprintf1.c unistdio/test-ulc-printf1.h macros.h
## end gnulib module unistdio/ulc-vasprintf-tests
@@ -5572,7 +6053,7 @@ EXTRA_DIST += unistdio/test-ulc-vasprintf1.c unistdio/test-ulc-printf1.h macros.
TESTS += test-ulc-vsnprintf1
check_PROGRAMS += test-ulc-vsnprintf1
test_ulc_vsnprintf1_SOURCES = unistdio/test-ulc-vsnprintf1.c
-test_ulc_vsnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vsnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(MBRTOWC_LIB)
EXTRA_DIST += unistdio/test-ulc-vsnprintf1.c unistdio/test-ulc-printf1.h macros.h
## end gnulib module unistdio/ulc-vsnprintf-tests
@@ -5582,7 +6063,7 @@ EXTRA_DIST += unistdio/test-ulc-vsnprintf1.c unistdio/test-ulc-printf1.h macros.
TESTS += test-ulc-vsprintf1
check_PROGRAMS += test-ulc-vsprintf1
test_ulc_vsprintf1_SOURCES = unistdio/test-ulc-vsprintf1.c
-test_ulc_vsprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vsprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(MBRTOWC_LIB)
EXTRA_DIST += unistdio/test-ulc-vsprintf1.c unistdio/test-ulc-printf1.h macros.h
## end gnulib module unistdio/ulc-vsprintf-tests
@@ -5717,6 +6198,16 @@ EXTRA_DIST += unistr/test-u16-next.c macros.h
## end gnulib module unistr/u16-next-tests
+## begin gnulib module unistr/u16-pcpy-tests
+
+TESTS += test-u16-pcpy
+check_PROGRAMS += test-u16-pcpy
+test_u16_pcpy_SOURCES = unistr/test-u16-pcpy.c
+test_u16_pcpy_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unistr/test-u16-pcpy.c unistr/test-pcpy.h macros.h
+
+## end gnulib module unistr/u16-pcpy-tests
+
## begin gnulib module unistr/u16-prev-tests
TESTS += test-u16-prev
@@ -6067,6 +6558,16 @@ EXTRA_DIST += unistr/test-u32-next.c macros.h
## end gnulib module unistr/u32-next-tests
+## begin gnulib module unistr/u32-pcpy-tests
+
+TESTS += test-u32-pcpy
+check_PROGRAMS += test-u32-pcpy
+test_u32_pcpy_SOURCES = unistr/test-u32-pcpy.c
+test_u32_pcpy_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unistr/test-u32-pcpy.c unistr/test-pcpy.h macros.h
+
+## end gnulib module unistr/u32-pcpy-tests
+
## begin gnulib module unistr/u32-prev-tests
TESTS += test-u32-prev
@@ -6417,6 +6918,16 @@ EXTRA_DIST += unistr/test-u8-next.c macros.h
## end gnulib module unistr/u8-next-tests
+## begin gnulib module unistr/u8-pcpy-tests
+
+TESTS += test-u8-pcpy
+check_PROGRAMS += test-u8-pcpy
+test_u8_pcpy_SOURCES = unistr/test-u8-pcpy.c
+test_u8_pcpy_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unistr/test-u8-pcpy.c unistr/test-pcpy.h macros.h
+
+## end gnulib module unistr/u8-pcpy-tests
+
## begin gnulib module unistr/u8-prev-tests
TESTS += test-u8-prev
@@ -6675,7 +7186,7 @@ TESTS += uniwbrk/test-ulc-wordbreaks.sh
TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@'
check_PROGRAMS += test-ulc-wordbreaks
test_ulc_wordbreaks_SOURCES = uniwbrk/test-ulc-wordbreaks.c
-test_ulc_wordbreaks_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_wordbreaks_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
EXTRA_DIST += uniwbrk/test-ulc-wordbreaks.sh uniwbrk/test-ulc-wordbreaks.c macros.h
@@ -6829,17 +7340,17 @@ endif
TESTS += \
test-wcrtomb.sh \
- test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh \
- test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh test-wcrtomb-w32-6.sh \
- test-wcrtomb-w32-7.sh
+ test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
+ test-wcrtomb-w32-5.sh test-wcrtomb-w32-6.sh test-wcrtomb-w32-7.sh \
+ test-wcrtomb-w32-8.sh
TESTS_ENVIRONMENT += \
LOCALE_FR='@LOCALE_FR@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@'
check_PROGRAMS += test-wcrtomb test-wcrtomb-w32
-test_wcrtomb_LDADD = $(LDADD) $(LIB_SETLOCALE)
-EXTRA_DIST += test-wcrtomb.sh test-wcrtomb.c test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh test-wcrtomb-w32-6.sh test-wcrtomb-w32-7.sh test-wcrtomb-w32.c signature.h macros.h
+test_wcrtomb_LDADD = $(LDADD) $(SETLOCALE_LIB)
+EXTRA_DIST += test-wcrtomb.sh test-wcrtomb.c test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh test-wcrtomb-w32-6.sh test-wcrtomb-w32-7.sh test-wcrtomb-w32-8.sh test-wcrtomb-w32.c signature.h macros.h
## end gnulib module wcrtomb-tests
@@ -6873,7 +7384,7 @@ EXTRA_DIST += test-wctype-h.c macros.h
TESTS += test-wcwidth
check_PROGRAMS += test-wcwidth
-test_wcwidth_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING)
+test_wcwidth_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING)
EXTRA_DIST += test-wcwidth.c signature.h macros.h
## end gnulib module wcwidth-tests
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 1da30a6a..4f17e0d7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2022 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -112,17 +112,27 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
- test-arpa_inet$(EXEEXT) test-array-mergesort$(EXEEXT) \
- test-assert$(EXEEXT) test-binary-io.sh test-bind$(EXEEXT) \
- test-btowc1.sh test-btowc2.sh test-c-ctype$(EXEEXT) \
- test-c-strcase.sh test-calloc-gnu$(EXEEXT) \
- test-cloexec$(EXEEXT) test-close$(EXEEXT) \
- test-connect$(EXEEXT) test-ctype$(EXEEXT) test-dup2$(EXEEXT) \
- test-environ$(EXEEXT) test-errno$(EXEEXT) \
- test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \
- test-fgetc$(EXEEXT) test-float$(EXEEXT) test-fputc$(EXEEXT) \
- test-fread$(EXEEXT) test-free$(EXEEXT) \
+TESTS = test-accept$(EXEEXT) test-alignasof$(EXEEXT) \
+ test-alloca-opt$(EXEEXT) test-arpa_inet$(EXEEXT) \
+ test-array-mergesort$(EXEEXT) test-assert$(EXEEXT) \
+ test-binary-io.sh test-bind$(EXEEXT) test-btoc32-1.sh \
+ test-btoc32-2.sh test-btoc32-3.sh test-btowc-1.sh \
+ test-btowc-2.sh test-btowc-3.sh test-c-ctype$(EXEEXT) \
+ test-c-strcase.sh test-c32isalnum.sh test-c32isalpha.sh \
+ test-c32isblank.sh test-c32iscntrl.sh test-c32isdigit.sh \
+ test-c32isgraph.sh test-c32islower.sh test-c32isprint.sh \
+ test-c32ispunct.sh test-c32isspace.sh test-c32isupper.sh \
+ test-c32isxdigit.sh test-c32rtomb.sh test-c32rtomb-w32-2.sh \
+ test-c32rtomb-w32-3.sh test-c32rtomb-w32-4.sh \
+ test-c32rtomb-w32-5.sh test-c32rtomb-w32-6.sh \
+ test-c32rtomb-w32-7.sh test-c32rtomb-w32-8.sh \
+ test-c32tolower.sh test-c32width$(EXEEXT) \
+ test-calloc-gnu$(EXEEXT) test-cloexec$(EXEEXT) \
+ test-close$(EXEEXT) test-connect$(EXEEXT) test-ctype$(EXEEXT) \
+ test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
+ test-error.sh test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) \
+ test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) test-float$(EXEEXT) \
+ test-fputc$(EXEEXT) test-fread$(EXEEXT) test-free$(EXEEXT) \
test-frexp-nolibm$(EXEEXT) test-frexpl-nolibm$(EXEEXT) \
test-fseterr$(EXEEXT) test-fstat$(EXEEXT) test-ftruncate.sh \
test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \
@@ -134,18 +144,24 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-ioctl$(EXEEXT) test-isblank$(EXEEXT) \
test-isnand-nolibm$(EXEEXT) test-isnanf-nolibm$(EXEEXT) \
test-isnanl-nolibm$(EXEEXT) test-iswblank$(EXEEXT) \
- test-iswdigit.sh test-iswxdigit.sh test-langinfo$(EXEEXT) \
+ test-iswdigit.sh test-iswpunct.sh test-iswxdigit.sh \
+ test-langinfo$(EXEEXT) test-largefile$(EXEEXT) \
test-limits-h$(EXEEXT) test-listen$(EXEEXT) \
test-locale$(EXEEXT) test-localename$(EXEEXT) \
test-rwlock1$(EXEEXT) test-lock$(EXEEXT) test-once1$(EXEEXT) \
test-once2$(EXEEXT) test-lstat$(EXEEXT) \
test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \
- test-math$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \
- test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc5.sh \
- test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
- test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
- test-mbrtowc-w32-5.sh test-mbrtowc-w32-6.sh \
- test-mbrtowc-w32-7.sh test-mbsinit.sh test-memchr$(EXEEXT) \
+ test-math$(EXEEXT) test-mbrtoc32-1.sh test-mbrtoc32-2.sh \
+ test-mbrtoc32-3.sh test-mbrtoc32-4.sh test-mbrtoc32-5.sh \
+ test-mbrtoc32-w32-2.sh test-mbrtoc32-w32-3.sh \
+ test-mbrtoc32-w32-4.sh test-mbrtoc32-w32-5.sh \
+ test-mbrtoc32-w32-6.sh test-mbrtoc32-w32-7.sh \
+ test-mbrtoc32-w32-8.sh test-mbrtowc-1.sh test-mbrtowc-2.sh \
+ test-mbrtowc-3.sh test-mbrtowc-4.sh test-mbrtowc-5.sh \
+ test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
+ test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh \
+ test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh \
+ test-mbrtowc-w32-8.sh test-mbsinit.sh test-memchr$(EXEEXT) \
test-nanosleep$(EXEEXT) test-netinet_in$(EXEEXT) \
test-open$(EXEEXT) test-pathmax$(EXEEXT) test-perror.sh \
test-perror2$(EXEEXT) test-pipe$(EXEEXT) \
@@ -153,51 +169,53 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-pselect$(EXEEXT) test-pthread$(EXEEXT) \
test-pthread-thread$(EXEEXT) test-pthread_sigmask1$(EXEEXT) \
test-pthread_sigmask2$(EXEEXT) test-raise$(EXEEXT) \
- test-realloc-gnu$(EXEEXT) test-reallocarray$(EXEEXT) \
- test-sched$(EXEEXT) test-select$(EXEEXT) test-select-in.sh \
- test-select-out.sh test-setenv$(EXEEXT) \
- test-setlocale_null$(EXEEXT) \
+ test-random$(EXEEXT) test-random-mt$(EXEEXT) \
+ test-random_r$(EXEEXT) test-realloc-gnu$(EXEEXT) \
+ test-reallocarray$(EXEEXT) test-sched$(EXEEXT) \
+ test-select$(EXEEXT) test-select-in.sh test-select-out.sh \
+ test-setenv$(EXEEXT) test-setlocale_null$(EXEEXT) \
test-setlocale_null-mt-one$(EXEEXT) \
- test-setlocale_null-mt-all$(EXEEXT) test-setlocale1.sh \
+ test-setlocale_null-mt-all$(EXEEXT) \
+ test-setlocale_null-unlocked$(EXEEXT) test-setlocale1.sh \
test-setlocale2.sh test-setsockopt$(EXEEXT) \
test-signal-h$(EXEEXT) test-signbit$(EXEEXT) \
test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
test-sockets$(EXEEXT) test-stat$(EXEEXT) \
- test-stat-time$(EXEEXT) test-stdalign$(EXEEXT) \
- test-stdbool$(EXEEXT) test-stdckdint$(EXEEXT) \
- test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
- test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \
- test-strerror_r$(EXEEXT) test-striconveh$(EXEEXT) \
- test-striconveha$(EXEEXT) test-string$(EXEEXT) \
- test-strncat$(EXEEXT) test-strstr$(EXEEXT) \
- test-symlink$(EXEEXT) test-sys_ioctl$(EXEEXT) \
- test-sys_select$(EXEEXT) test-sys_socket$(EXEEXT) \
- test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \
- test-sys_types$(EXEEXT) test-sys_uio$(EXEEXT) test-init.sh \
- test-thread_self$(EXEEXT) test-thread_create$(EXEEXT) \
- test-time$(EXEEXT) test-cased$(EXEEXT) test-ignorable$(EXEEXT) \
- unicase/test-locale-language.sh test-uc_tolower$(EXEEXT) \
- test-uc_totitle$(EXEEXT) test-uc_toupper$(EXEEXT) \
- test-u16-casecmp$(EXEEXT) test-u16-casecoll$(EXEEXT) \
- test-u16-casefold$(EXEEXT) test-u16-is-cased$(EXEEXT) \
- test-u16-is-casefolded$(EXEEXT) test-u16-is-lowercase$(EXEEXT) \
- test-u16-is-titlecase$(EXEEXT) test-u16-is-uppercase$(EXEEXT) \
- test-u16-tolower$(EXEEXT) test-u16-totitle$(EXEEXT) \
- test-u16-toupper$(EXEEXT) test-u32-casecmp$(EXEEXT) \
- test-u32-casecoll$(EXEEXT) test-u32-casefold$(EXEEXT) \
- test-u32-is-cased$(EXEEXT) test-u32-is-casefolded$(EXEEXT) \
- test-u32-is-lowercase$(EXEEXT) test-u32-is-titlecase$(EXEEXT) \
- test-u32-is-uppercase$(EXEEXT) test-u32-tolower$(EXEEXT) \
- test-u32-totitle$(EXEEXT) test-u32-toupper$(EXEEXT) \
- test-u8-casecmp$(EXEEXT) test-u8-casecoll$(EXEEXT) \
- test-u8-casefold$(EXEEXT) test-u8-is-cased$(EXEEXT) \
- test-u8-is-casefolded$(EXEEXT) test-u8-is-lowercase$(EXEEXT) \
- test-u8-is-titlecase$(EXEEXT) test-u8-is-uppercase$(EXEEXT) \
- test-u8-tolower$(EXEEXT) test-u8-totitle$(EXEEXT) \
- test-u8-toupper$(EXEEXT) unicase/test-ulc-casecmp1.sh \
- unicase/test-ulc-casecmp2.sh unicase/test-ulc-casecoll1.sh \
- unicase/test-ulc-casecoll2.sh test-u16-conv-from-enc$(EXEEXT) \
- test-u16-conv-to-enc$(EXEEXT) \
+ test-stat-time$(EXEEXT) test-stdbool$(EXEEXT) \
+ test-stdckdint$(EXEEXT) test-stddef$(EXEEXT) \
+ test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \
+ test-strerror$(EXEEXT) test-strerror_r$(EXEEXT) \
+ test-striconveh$(EXEEXT) test-striconveha$(EXEEXT) \
+ test-string$(EXEEXT) test-strncat$(EXEEXT) \
+ test-strstr$(EXEEXT) test-symlink$(EXEEXT) \
+ test-sys_ioctl$(EXEEXT) test-sys_select$(EXEEXT) \
+ test-sys_socket$(EXEEXT) test-sys_stat$(EXEEXT) \
+ test-sys_time$(EXEEXT) test-sys_types$(EXEEXT) \
+ test-sys_uio$(EXEEXT) test-init.sh test-thread_self$(EXEEXT) \
+ test-thread_create$(EXEEXT) test-time-h$(EXEEXT) \
+ test-time$(EXEEXT) test-uchar$(EXEEXT) test-cased$(EXEEXT) \
+ test-ignorable$(EXEEXT) unicase/test-locale-language.sh \
+ test-uc_tolower$(EXEEXT) test-uc_totitle$(EXEEXT) \
+ test-uc_toupper$(EXEEXT) test-u16-casecmp$(EXEEXT) \
+ test-u16-casecoll$(EXEEXT) test-u16-casefold$(EXEEXT) \
+ test-u16-is-cased$(EXEEXT) test-u16-is-casefolded$(EXEEXT) \
+ test-u16-is-lowercase$(EXEEXT) test-u16-is-titlecase$(EXEEXT) \
+ test-u16-is-uppercase$(EXEEXT) test-u16-tolower$(EXEEXT) \
+ test-u16-totitle$(EXEEXT) test-u16-toupper$(EXEEXT) \
+ test-u32-casecmp$(EXEEXT) test-u32-casecoll$(EXEEXT) \
+ test-u32-casefold$(EXEEXT) test-u32-is-cased$(EXEEXT) \
+ test-u32-is-casefolded$(EXEEXT) test-u32-is-lowercase$(EXEEXT) \
+ test-u32-is-titlecase$(EXEEXT) test-u32-is-uppercase$(EXEEXT) \
+ test-u32-tolower$(EXEEXT) test-u32-totitle$(EXEEXT) \
+ test-u32-toupper$(EXEEXT) test-u8-casecmp$(EXEEXT) \
+ test-u8-casecoll$(EXEEXT) test-u8-casefold$(EXEEXT) \
+ test-u8-is-cased$(EXEEXT) test-u8-is-casefolded$(EXEEXT) \
+ test-u8-is-lowercase$(EXEEXT) test-u8-is-titlecase$(EXEEXT) \
+ test-u8-is-uppercase$(EXEEXT) test-u8-tolower$(EXEEXT) \
+ test-u8-totitle$(EXEEXT) test-u8-toupper$(EXEEXT) \
+ unicase/test-ulc-casecmp1.sh unicase/test-ulc-casecmp2.sh \
+ unicase/test-ulc-casecoll1.sh unicase/test-ulc-casecoll2.sh \
+ test-u16-conv-from-enc$(EXEEXT) test-u16-conv-to-enc$(EXEEXT) \
test-u16-strconv-from-enc$(EXEEXT) \
test-u16-strconv-to-enc$(EXEEXT) \
test-u32-conv-from-enc$(EXEEXT) test-u32-conv-to-enc$(EXEEXT) \
@@ -243,7 +261,8 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-ctype_punct$(EXEEXT) test-ctype_space$(EXEEXT) \
test-ctype_upper$(EXEEXT) test-ctype_xdigit$(EXEEXT) \
test-decdigit$(EXEEXT) test-digit$(EXEEXT) \
- test-joininggroup_byname$(EXEEXT) \
+ test-incb_byname$(EXEEXT) test-incb_name$(EXEEXT) \
+ test-incb_of$(EXEEXT) test-joininggroup_byname$(EXEEXT) \
test-joininggroup_name$(EXEEXT) test-joininggroup_of$(EXEEXT) \
test-joiningtype_byname$(EXEEXT) \
test-joiningtype_longname$(EXEEXT) \
@@ -286,10 +305,14 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-pr_grapheme_base$(EXEEXT) \
test-pr_grapheme_extend$(EXEEXT) \
test-pr_grapheme_link$(EXEEXT) test-pr_hex_digit$(EXEEXT) \
- test-pr_hyphen$(EXEEXT) test-pr_id_continue$(EXEEXT) \
- test-pr_id_start$(EXEEXT) test-pr_ideographic$(EXEEXT) \
+ test-pr_hyphen$(EXEEXT) \
+ test-pr_id_compat_math_continue$(EXEEXT) \
+ test-pr_id_compat_math_start$(EXEEXT) \
+ test-pr_id_continue$(EXEEXT) test-pr_id_start$(EXEEXT) \
+ test-pr_ideographic$(EXEEXT) \
test-pr_ids_binary_operator$(EXEEXT) \
test-pr_ids_trinary_operator$(EXEEXT) \
+ test-pr_ids_unary_operator$(EXEEXT) \
test-pr_ignorable_control$(EXEEXT) \
test-pr_iso_control$(EXEEXT) test-pr_join_control$(EXEEXT) \
test-pr_left_of_pair$(EXEEXT) test-pr_line_separator$(EXEEXT) \
@@ -307,6 +330,7 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-pr_paragraph_separator$(EXEEXT) \
test-pr_pattern_syntax$(EXEEXT) \
test-pr_pattern_white_space$(EXEEXT) \
+ test-pr_prepended_concatenation_mark$(EXEEXT) \
test-pr_private_use$(EXEEXT) test-pr_punctuation$(EXEEXT) \
test-pr_quotation_mark$(EXEEXT) test-pr_radical$(EXEEXT) \
test-pr_regional_indicator$(EXEEXT) \
@@ -340,8 +364,8 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-u8-possible-linebreaks$(EXEEXT) \
test-u8-width-linebreaks$(EXEEXT) \
test-ulc-possible-linebreaks$(EXEEXT) \
- test-ulc-width-linebreaks$(EXEEXT) $(am__append_50) \
- test-canonical-decomposition$(EXEEXT) \
+ test-ulc-width-linebreaks$(EXEEXT) test-u-version$(EXEEXT) \
+ $(am__append_55) test-canonical-decomposition$(EXEEXT) \
test-compat-decomposition$(EXEEXT) test-composition$(EXEEXT) \
test-decomposing-form$(EXEEXT) test-decomposition$(EXEEXT) \
test-uninorm-filter-nfc$(EXEEXT) test-nfc$(EXEEXT) \
@@ -374,24 +398,25 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-u16-mblen$(EXEEXT) test-u16-mbsnlen$(EXEEXT) \
test-u16-mbtouc$(EXEEXT) test-u16-mbtouc-unsafe$(EXEEXT) \
test-u16-mbtoucr$(EXEEXT) test-u16-move$(EXEEXT) \
- test-u16-next$(EXEEXT) test-u16-prev$(EXEEXT) \
- test-u16-set$(EXEEXT) test-u16-stpcpy$(EXEEXT) \
- test-u16-stpncpy$(EXEEXT) test-u16-strcat$(EXEEXT) \
- test-u16-strchr$(EXEEXT) test-u16-strcmp$(EXEEXT) \
- test-u16-strcoll$(EXEEXT) test-u16-strcpy$(EXEEXT) \
- test-u16-strdup$(EXEEXT) test-u16-strlen$(EXEEXT) \
- test-u16-strmblen$(EXEEXT) test-u16-strmbtouc$(EXEEXT) \
- test-u16-strncat$(EXEEXT) test-u16-strncmp$(EXEEXT) \
- test-u16-strncpy$(EXEEXT) test-u16-strnlen$(EXEEXT) \
- test-u16-strstr$(EXEEXT) test-u16-strtok$(EXEEXT) \
- test-u16-to-u32$(EXEEXT) test-u16-to-u8$(EXEEXT) \
- test-u16-uctomb$(EXEEXT) test-u32-check$(EXEEXT) \
- test-u32-chr$(EXEEXT) test-u32-cmp$(EXEEXT) \
- test-u32-cmp2$(EXEEXT) test-u32-cpy-alloc$(EXEEXT) \
- test-u32-cpy$(EXEEXT) test-u32-mblen$(EXEEXT) \
- test-u32-mbsnlen$(EXEEXT) test-u32-mbtouc$(EXEEXT) \
- test-u32-mbtouc-unsafe$(EXEEXT) test-u32-mbtoucr$(EXEEXT) \
- test-u32-move$(EXEEXT) test-u32-next$(EXEEXT) \
+ test-u16-next$(EXEEXT) test-u16-pcpy$(EXEEXT) \
+ test-u16-prev$(EXEEXT) test-u16-set$(EXEEXT) \
+ test-u16-stpcpy$(EXEEXT) test-u16-stpncpy$(EXEEXT) \
+ test-u16-strcat$(EXEEXT) test-u16-strchr$(EXEEXT) \
+ test-u16-strcmp$(EXEEXT) test-u16-strcoll$(EXEEXT) \
+ test-u16-strcpy$(EXEEXT) test-u16-strdup$(EXEEXT) \
+ test-u16-strlen$(EXEEXT) test-u16-strmblen$(EXEEXT) \
+ test-u16-strmbtouc$(EXEEXT) test-u16-strncat$(EXEEXT) \
+ test-u16-strncmp$(EXEEXT) test-u16-strncpy$(EXEEXT) \
+ test-u16-strnlen$(EXEEXT) test-u16-strstr$(EXEEXT) \
+ test-u16-strtok$(EXEEXT) test-u16-to-u32$(EXEEXT) \
+ test-u16-to-u8$(EXEEXT) test-u16-uctomb$(EXEEXT) \
+ test-u32-check$(EXEEXT) test-u32-chr$(EXEEXT) \
+ test-u32-cmp$(EXEEXT) test-u32-cmp2$(EXEEXT) \
+ test-u32-cpy-alloc$(EXEEXT) test-u32-cpy$(EXEEXT) \
+ test-u32-mblen$(EXEEXT) test-u32-mbsnlen$(EXEEXT) \
+ test-u32-mbtouc$(EXEEXT) test-u32-mbtouc-unsafe$(EXEEXT) \
+ test-u32-mbtoucr$(EXEEXT) test-u32-move$(EXEEXT) \
+ test-u32-next$(EXEEXT) test-u32-pcpy$(EXEEXT) \
test-u32-prev$(EXEEXT) test-u32-set$(EXEEXT) \
test-u32-stpcpy$(EXEEXT) test-u32-stpncpy$(EXEEXT) \
test-u32-strcat$(EXEEXT) test-u32-strchr$(EXEEXT) \
@@ -409,44 +434,54 @@ TESTS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-u8-mblen$(EXEEXT) test-u8-mbsnlen$(EXEEXT) \
test-u8-mbtouc$(EXEEXT) test-u8-mbtouc-unsafe$(EXEEXT) \
test-u8-mbtoucr$(EXEEXT) test-u8-move$(EXEEXT) \
- test-u8-next$(EXEEXT) test-u8-prev$(EXEEXT) \
- test-u8-set$(EXEEXT) test-u8-stpcpy$(EXEEXT) \
- test-u8-stpncpy$(EXEEXT) test-u8-strcat$(EXEEXT) \
- test-u8-strchr$(EXEEXT) test-u8-strcmp$(EXEEXT) \
- test-u8-strcoll$(EXEEXT) test-u8-strcpy$(EXEEXT) \
- test-u8-strdup$(EXEEXT) test-u8-strlen$(EXEEXT) \
- test-u8-strmblen$(EXEEXT) test-u8-strmbtouc$(EXEEXT) \
- test-u8-strncat$(EXEEXT) test-u8-strncmp$(EXEEXT) \
- test-u8-strncpy$(EXEEXT) test-u8-strnlen$(EXEEXT) \
- test-u8-strstr$(EXEEXT) test-u8-strtok$(EXEEXT) \
- test-u8-to-u16$(EXEEXT) test-u8-to-u32$(EXEEXT) \
- test-u8-uctomb$(EXEEXT) test-u16-wordbreaks$(EXEEXT) \
- test-u32-wordbreaks$(EXEEXT) uniwbrk/test-uc-wordbreaks.sh \
- test-u8-wordbreaks$(EXEEXT) uniwbrk/test-ulc-wordbreaks.sh \
- test-u16-strwidth$(EXEEXT) test-u16-width$(EXEEXT) \
- test-u32-strwidth$(EXEEXT) test-u32-width$(EXEEXT) \
- test-u8-strwidth$(EXEEXT) test-u8-width$(EXEEXT) \
- test-uc_width$(EXEEXT) uniwidth/test-uc_width2.sh \
- test-unsetenv$(EXEEXT) test-usleep$(EXEEXT) \
- test-verify$(EXEEXT) test-verify.sh test-wchar$(EXEEXT) \
- test-wcrtomb.sh test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
+ test-u8-next$(EXEEXT) test-u8-pcpy$(EXEEXT) \
+ test-u8-prev$(EXEEXT) test-u8-set$(EXEEXT) \
+ test-u8-stpcpy$(EXEEXT) test-u8-stpncpy$(EXEEXT) \
+ test-u8-strcat$(EXEEXT) test-u8-strchr$(EXEEXT) \
+ test-u8-strcmp$(EXEEXT) test-u8-strcoll$(EXEEXT) \
+ test-u8-strcpy$(EXEEXT) test-u8-strdup$(EXEEXT) \
+ test-u8-strlen$(EXEEXT) test-u8-strmblen$(EXEEXT) \
+ test-u8-strmbtouc$(EXEEXT) test-u8-strncat$(EXEEXT) \
+ test-u8-strncmp$(EXEEXT) test-u8-strncpy$(EXEEXT) \
+ test-u8-strnlen$(EXEEXT) test-u8-strstr$(EXEEXT) \
+ test-u8-strtok$(EXEEXT) test-u8-to-u16$(EXEEXT) \
+ test-u8-to-u32$(EXEEXT) test-u8-uctomb$(EXEEXT) \
+ test-u16-wordbreaks$(EXEEXT) test-u32-wordbreaks$(EXEEXT) \
+ uniwbrk/test-uc-wordbreaks.sh test-u8-wordbreaks$(EXEEXT) \
+ uniwbrk/test-ulc-wordbreaks.sh test-u16-strwidth$(EXEEXT) \
+ test-u16-width$(EXEEXT) test-u32-strwidth$(EXEEXT) \
+ test-u32-width$(EXEEXT) test-u8-strwidth$(EXEEXT) \
+ test-u8-width$(EXEEXT) test-uc_width$(EXEEXT) \
+ uniwidth/test-uc_width2.sh test-unsetenv$(EXEEXT) \
+ test-usleep$(EXEEXT) test-verify$(EXEEXT) test-verify.sh \
+ test-wchar$(EXEEXT) test-wcrtomb.sh test-wcrtomb-w32-2.sh \
test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
test-wcrtomb-w32-5.sh test-wcrtomb-w32-6.sh \
- test-wcrtomb-w32-7.sh test-wctype-h$(EXEEXT) \
- test-wcwidth$(EXEEXT) test-xalloc-die.sh
+ test-wcrtomb-w32-7.sh test-wcrtomb-w32-8.sh \
+ test-wctype-h$(EXEEXT) test-wcwidth$(EXEEXT) \
+ test-xalloc-die.sh
XFAIL_TESTS =
noinst_PROGRAMS = current-locale$(EXEEXT) test-localcharset$(EXEEXT)
-check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
- test-arpa_inet$(EXEEXT) test-array-mergesort$(EXEEXT) \
- test-assert$(EXEEXT) test-binary-io$(EXEEXT) \
- test-bind$(EXEEXT) test-btowc$(EXEEXT) test-c-ctype$(EXEEXT) \
+check_PROGRAMS = test-accept$(EXEEXT) test-alignasof$(EXEEXT) \
+ test-alloca-opt$(EXEEXT) test-arpa_inet$(EXEEXT) \
+ test-array-mergesort$(EXEEXT) test-assert$(EXEEXT) \
+ test-binary-io$(EXEEXT) test-bind$(EXEEXT) \
+ test-btoc32$(EXEEXT) test-btowc$(EXEEXT) test-c-ctype$(EXEEXT) \
test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \
+ test-c32isalnum$(EXEEXT) test-c32isalpha$(EXEEXT) \
+ test-c32isblank$(EXEEXT) test-c32iscntrl$(EXEEXT) \
+ test-c32isdigit$(EXEEXT) test-c32isgraph$(EXEEXT) \
+ test-c32islower$(EXEEXT) test-c32isprint$(EXEEXT) \
+ test-c32ispunct$(EXEEXT) test-c32isspace$(EXEEXT) \
+ test-c32isupper$(EXEEXT) test-c32isxdigit$(EXEEXT) \
+ test-c32rtomb$(EXEEXT) test-c32rtomb-w32$(EXEEXT) \
+ test-c32tolower$(EXEEXT) test-c32width$(EXEEXT) \
test-calloc-gnu$(EXEEXT) test-cloexec$(EXEEXT) \
test-close$(EXEEXT) test-connect$(EXEEXT) test-ctype$(EXEEXT) \
test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
- test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \
- test-fgetc$(EXEEXT) test-float$(EXEEXT) test-fputc$(EXEEXT) \
- test-fread$(EXEEXT) test-free$(EXEEXT) \
+ test-error$(EXEEXT) test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) \
+ test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) test-float$(EXEEXT) \
+ test-fputc$(EXEEXT) test-fread$(EXEEXT) test-free$(EXEEXT) \
test-frexp-nolibm$(EXEEXT) test-frexpl-nolibm$(EXEEXT) \
test-fseterr$(EXEEXT) test-fstat$(EXEEXT) \
test-ftruncate$(EXEEXT) test-fwrite$(EXEEXT) \
@@ -459,13 +494,15 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-isblank$(EXEEXT) test-isnand-nolibm$(EXEEXT) \
test-isnanf-nolibm$(EXEEXT) test-isnanl-nolibm$(EXEEXT) \
test-iswblank$(EXEEXT) test-iswdigit$(EXEEXT) \
- test-iswxdigit$(EXEEXT) test-langinfo$(EXEEXT) \
+ test-iswpunct$(EXEEXT) test-iswxdigit$(EXEEXT) \
+ test-langinfo$(EXEEXT) test-largefile$(EXEEXT) \
test-limits-h$(EXEEXT) test-listen$(EXEEXT) \
test-locale$(EXEEXT) test-localename$(EXEEXT) \
test-rwlock1$(EXEEXT) test-lock$(EXEEXT) test-once1$(EXEEXT) \
test-once2$(EXEEXT) test-lstat$(EXEEXT) \
test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \
- test-math$(EXEEXT) test-mbrtowc$(EXEEXT) \
+ test-math$(EXEEXT) test-mbrtoc32$(EXEEXT) \
+ test-mbrtoc32-w32$(EXEEXT) test-mbrtowc$(EXEEXT) \
test-mbrtowc-w32$(EXEEXT) test-mbsinit$(EXEEXT) \
test-memchr$(EXEEXT) test-nanosleep$(EXEEXT) \
test-netinet_in$(EXEEXT) test-open$(EXEEXT) \
@@ -475,50 +512,53 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-pselect$(EXEEXT) test-pthread$(EXEEXT) \
test-pthread-thread$(EXEEXT) test-pthread_sigmask1$(EXEEXT) \
test-pthread_sigmask2$(EXEEXT) test-raise$(EXEEXT) \
- test-realloc-gnu$(EXEEXT) test-reallocarray$(EXEEXT) \
- test-sched$(EXEEXT) test-select$(EXEEXT) \
- test-select-fd$(EXEEXT) test-select-stdin$(EXEEXT) \
- test-setenv$(EXEEXT) test-setlocale_null$(EXEEXT) \
+ test-random$(EXEEXT) test-random-mt$(EXEEXT) \
+ test-random_r$(EXEEXT) test-realloc-gnu$(EXEEXT) \
+ test-reallocarray$(EXEEXT) test-sched$(EXEEXT) \
+ test-select$(EXEEXT) test-select-fd$(EXEEXT) \
+ test-select-stdin$(EXEEXT) test-setenv$(EXEEXT) \
+ test-setlocale_null$(EXEEXT) \
test-setlocale_null-mt-one$(EXEEXT) \
- test-setlocale_null-mt-all$(EXEEXT) test-setlocale1$(EXEEXT) \
+ test-setlocale_null-mt-all$(EXEEXT) \
+ test-setlocale_null-unlocked$(EXEEXT) test-setlocale1$(EXEEXT) \
test-setlocale2$(EXEEXT) test-setsockopt$(EXEEXT) \
test-signal-h$(EXEEXT) test-signbit$(EXEEXT) \
test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
test-sockets$(EXEEXT) test-stat$(EXEEXT) \
- test-stat-time$(EXEEXT) test-stdalign$(EXEEXT) \
- test-stdbool$(EXEEXT) test-stdckdint$(EXEEXT) \
- test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
- test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \
- test-strerror_r$(EXEEXT) test-striconveh$(EXEEXT) \
- test-striconveha$(EXEEXT) test-string$(EXEEXT) \
- test-strncat$(EXEEXT) test-strstr$(EXEEXT) \
- test-symlink$(EXEEXT) test-sys_ioctl$(EXEEXT) \
- test-sys_select$(EXEEXT) test-sys_socket$(EXEEXT) \
- test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \
- test-sys_types$(EXEEXT) test-sys_uio$(EXEEXT) \
- test-thread_self$(EXEEXT) test-thread_create$(EXEEXT) \
- test-time$(EXEEXT) test-cased$(EXEEXT) test-ignorable$(EXEEXT) \
- test-locale-language$(EXEEXT) test-uc_tolower$(EXEEXT) \
- test-uc_totitle$(EXEEXT) test-uc_toupper$(EXEEXT) \
- test-u16-casecmp$(EXEEXT) test-u16-casecoll$(EXEEXT) \
- test-u16-casefold$(EXEEXT) test-u16-is-cased$(EXEEXT) \
- test-u16-is-casefolded$(EXEEXT) test-u16-is-lowercase$(EXEEXT) \
- test-u16-is-titlecase$(EXEEXT) test-u16-is-uppercase$(EXEEXT) \
- test-u16-tolower$(EXEEXT) test-u16-totitle$(EXEEXT) \
- test-u16-toupper$(EXEEXT) test-u32-casecmp$(EXEEXT) \
- test-u32-casecoll$(EXEEXT) test-u32-casefold$(EXEEXT) \
- test-u32-is-cased$(EXEEXT) test-u32-is-casefolded$(EXEEXT) \
- test-u32-is-lowercase$(EXEEXT) test-u32-is-titlecase$(EXEEXT) \
- test-u32-is-uppercase$(EXEEXT) test-u32-tolower$(EXEEXT) \
- test-u32-totitle$(EXEEXT) test-u32-toupper$(EXEEXT) \
- test-u8-casecmp$(EXEEXT) test-u8-casecoll$(EXEEXT) \
- test-u8-casefold$(EXEEXT) test-u8-is-cased$(EXEEXT) \
- test-u8-is-casefolded$(EXEEXT) test-u8-is-lowercase$(EXEEXT) \
- test-u8-is-titlecase$(EXEEXT) test-u8-is-uppercase$(EXEEXT) \
- test-u8-tolower$(EXEEXT) test-u8-totitle$(EXEEXT) \
- test-u8-toupper$(EXEEXT) test-ulc-casecmp$(EXEEXT) \
- test-ulc-casecoll$(EXEEXT) test-u16-conv-from-enc$(EXEEXT) \
- test-u16-conv-to-enc$(EXEEXT) \
+ test-stat-time$(EXEEXT) test-stdbool$(EXEEXT) \
+ test-stdckdint$(EXEEXT) test-stddef$(EXEEXT) \
+ test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \
+ test-strerror$(EXEEXT) test-strerror_r$(EXEEXT) \
+ test-striconveh$(EXEEXT) test-striconveha$(EXEEXT) \
+ test-string$(EXEEXT) test-strncat$(EXEEXT) \
+ test-strstr$(EXEEXT) test-symlink$(EXEEXT) \
+ test-sys_ioctl$(EXEEXT) test-sys_select$(EXEEXT) \
+ test-sys_socket$(EXEEXT) test-sys_stat$(EXEEXT) \
+ test-sys_time$(EXEEXT) test-sys_types$(EXEEXT) \
+ test-sys_uio$(EXEEXT) test-thread_self$(EXEEXT) \
+ test-thread_create$(EXEEXT) test-time-h$(EXEEXT) \
+ test-time$(EXEEXT) test-uchar$(EXEEXT) test-cased$(EXEEXT) \
+ test-ignorable$(EXEEXT) test-locale-language$(EXEEXT) \
+ test-uc_tolower$(EXEEXT) test-uc_totitle$(EXEEXT) \
+ test-uc_toupper$(EXEEXT) test-u16-casecmp$(EXEEXT) \
+ test-u16-casecoll$(EXEEXT) test-u16-casefold$(EXEEXT) \
+ test-u16-is-cased$(EXEEXT) test-u16-is-casefolded$(EXEEXT) \
+ test-u16-is-lowercase$(EXEEXT) test-u16-is-titlecase$(EXEEXT) \
+ test-u16-is-uppercase$(EXEEXT) test-u16-tolower$(EXEEXT) \
+ test-u16-totitle$(EXEEXT) test-u16-toupper$(EXEEXT) \
+ test-u32-casecmp$(EXEEXT) test-u32-casecoll$(EXEEXT) \
+ test-u32-casefold$(EXEEXT) test-u32-is-cased$(EXEEXT) \
+ test-u32-is-casefolded$(EXEEXT) test-u32-is-lowercase$(EXEEXT) \
+ test-u32-is-titlecase$(EXEEXT) test-u32-is-uppercase$(EXEEXT) \
+ test-u32-tolower$(EXEEXT) test-u32-totitle$(EXEEXT) \
+ test-u32-toupper$(EXEEXT) test-u8-casecmp$(EXEEXT) \
+ test-u8-casecoll$(EXEEXT) test-u8-casefold$(EXEEXT) \
+ test-u8-is-cased$(EXEEXT) test-u8-is-casefolded$(EXEEXT) \
+ test-u8-is-lowercase$(EXEEXT) test-u8-is-titlecase$(EXEEXT) \
+ test-u8-is-uppercase$(EXEEXT) test-u8-tolower$(EXEEXT) \
+ test-u8-totitle$(EXEEXT) test-u8-toupper$(EXEEXT) \
+ test-ulc-casecmp$(EXEEXT) test-ulc-casecoll$(EXEEXT) \
+ test-u16-conv-from-enc$(EXEEXT) test-u16-conv-to-enc$(EXEEXT) \
test-u16-strconv-from-enc$(EXEEXT) \
test-u16-strconv-to-enc$(EXEEXT) \
test-u32-conv-from-enc$(EXEEXT) test-u32-conv-to-enc$(EXEEXT) \
@@ -564,7 +604,8 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-ctype_punct$(EXEEXT) test-ctype_space$(EXEEXT) \
test-ctype_upper$(EXEEXT) test-ctype_xdigit$(EXEEXT) \
test-decdigit$(EXEEXT) test-digit$(EXEEXT) \
- test-joininggroup_byname$(EXEEXT) \
+ test-incb_byname$(EXEEXT) test-incb_name$(EXEEXT) \
+ test-incb_of$(EXEEXT) test-joininggroup_byname$(EXEEXT) \
test-joininggroup_name$(EXEEXT) test-joininggroup_of$(EXEEXT) \
test-joiningtype_byname$(EXEEXT) \
test-joiningtype_longname$(EXEEXT) \
@@ -607,10 +648,14 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-pr_grapheme_base$(EXEEXT) \
test-pr_grapheme_extend$(EXEEXT) \
test-pr_grapheme_link$(EXEEXT) test-pr_hex_digit$(EXEEXT) \
- test-pr_hyphen$(EXEEXT) test-pr_id_continue$(EXEEXT) \
- test-pr_id_start$(EXEEXT) test-pr_ideographic$(EXEEXT) \
+ test-pr_hyphen$(EXEEXT) \
+ test-pr_id_compat_math_continue$(EXEEXT) \
+ test-pr_id_compat_math_start$(EXEEXT) \
+ test-pr_id_continue$(EXEEXT) test-pr_id_start$(EXEEXT) \
+ test-pr_ideographic$(EXEEXT) \
test-pr_ids_binary_operator$(EXEEXT) \
test-pr_ids_trinary_operator$(EXEEXT) \
+ test-pr_ids_unary_operator$(EXEEXT) \
test-pr_ignorable_control$(EXEEXT) \
test-pr_iso_control$(EXEEXT) test-pr_join_control$(EXEEXT) \
test-pr_left_of_pair$(EXEEXT) test-pr_line_separator$(EXEEXT) \
@@ -628,6 +673,7 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-pr_paragraph_separator$(EXEEXT) \
test-pr_pattern_syntax$(EXEEXT) \
test-pr_pattern_white_space$(EXEEXT) \
+ test-pr_prepended_concatenation_mark$(EXEEXT) \
test-pr_private_use$(EXEEXT) test-pr_punctuation$(EXEEXT) \
test-pr_quotation_mark$(EXEEXT) test-pr_radical$(EXEEXT) \
test-pr_regional_indicator$(EXEEXT) \
@@ -661,8 +707,8 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-u8-possible-linebreaks$(EXEEXT) \
test-u8-width-linebreaks$(EXEEXT) \
test-ulc-possible-linebreaks$(EXEEXT) \
- test-ulc-width-linebreaks$(EXEEXT) $(am__EXEEXT_2) \
- test-canonical-decomposition$(EXEEXT) \
+ test-ulc-width-linebreaks$(EXEEXT) test-u-version$(EXEEXT) \
+ $(am__EXEEXT_2) test-canonical-decomposition$(EXEEXT) \
test-compat-decomposition$(EXEEXT) test-composition$(EXEEXT) \
test-decomposing-form$(EXEEXT) test-decomposition$(EXEEXT) \
test-uninorm-filter-nfc$(EXEEXT) test-nfc$(EXEEXT) \
@@ -693,24 +739,25 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-u16-mblen$(EXEEXT) test-u16-mbsnlen$(EXEEXT) \
test-u16-mbtouc$(EXEEXT) test-u16-mbtouc-unsafe$(EXEEXT) \
test-u16-mbtoucr$(EXEEXT) test-u16-move$(EXEEXT) \
- test-u16-next$(EXEEXT) test-u16-prev$(EXEEXT) \
- test-u16-set$(EXEEXT) test-u16-stpcpy$(EXEEXT) \
- test-u16-stpncpy$(EXEEXT) test-u16-strcat$(EXEEXT) \
- test-u16-strchr$(EXEEXT) test-u16-strcmp$(EXEEXT) \
- test-u16-strcoll$(EXEEXT) test-u16-strcpy$(EXEEXT) \
- test-u16-strdup$(EXEEXT) test-u16-strlen$(EXEEXT) \
- test-u16-strmblen$(EXEEXT) test-u16-strmbtouc$(EXEEXT) \
- test-u16-strncat$(EXEEXT) test-u16-strncmp$(EXEEXT) \
- test-u16-strncpy$(EXEEXT) test-u16-strnlen$(EXEEXT) \
- test-u16-strstr$(EXEEXT) test-u16-strtok$(EXEEXT) \
- test-u16-to-u32$(EXEEXT) test-u16-to-u8$(EXEEXT) \
- test-u16-uctomb$(EXEEXT) test-u32-check$(EXEEXT) \
- test-u32-chr$(EXEEXT) test-u32-cmp$(EXEEXT) \
- test-u32-cmp2$(EXEEXT) test-u32-cpy-alloc$(EXEEXT) \
- test-u32-cpy$(EXEEXT) test-u32-mblen$(EXEEXT) \
- test-u32-mbsnlen$(EXEEXT) test-u32-mbtouc$(EXEEXT) \
- test-u32-mbtouc-unsafe$(EXEEXT) test-u32-mbtoucr$(EXEEXT) \
- test-u32-move$(EXEEXT) test-u32-next$(EXEEXT) \
+ test-u16-next$(EXEEXT) test-u16-pcpy$(EXEEXT) \
+ test-u16-prev$(EXEEXT) test-u16-set$(EXEEXT) \
+ test-u16-stpcpy$(EXEEXT) test-u16-stpncpy$(EXEEXT) \
+ test-u16-strcat$(EXEEXT) test-u16-strchr$(EXEEXT) \
+ test-u16-strcmp$(EXEEXT) test-u16-strcoll$(EXEEXT) \
+ test-u16-strcpy$(EXEEXT) test-u16-strdup$(EXEEXT) \
+ test-u16-strlen$(EXEEXT) test-u16-strmblen$(EXEEXT) \
+ test-u16-strmbtouc$(EXEEXT) test-u16-strncat$(EXEEXT) \
+ test-u16-strncmp$(EXEEXT) test-u16-strncpy$(EXEEXT) \
+ test-u16-strnlen$(EXEEXT) test-u16-strstr$(EXEEXT) \
+ test-u16-strtok$(EXEEXT) test-u16-to-u32$(EXEEXT) \
+ test-u16-to-u8$(EXEEXT) test-u16-uctomb$(EXEEXT) \
+ test-u32-check$(EXEEXT) test-u32-chr$(EXEEXT) \
+ test-u32-cmp$(EXEEXT) test-u32-cmp2$(EXEEXT) \
+ test-u32-cpy-alloc$(EXEEXT) test-u32-cpy$(EXEEXT) \
+ test-u32-mblen$(EXEEXT) test-u32-mbsnlen$(EXEEXT) \
+ test-u32-mbtouc$(EXEEXT) test-u32-mbtouc-unsafe$(EXEEXT) \
+ test-u32-mbtoucr$(EXEEXT) test-u32-move$(EXEEXT) \
+ test-u32-next$(EXEEXT) test-u32-pcpy$(EXEEXT) \
test-u32-prev$(EXEEXT) test-u32-set$(EXEEXT) \
test-u32-stpcpy$(EXEEXT) test-u32-stpncpy$(EXEEXT) \
test-u32-strcat$(EXEEXT) test-u32-strchr$(EXEEXT) \
@@ -728,93 +775,100 @@ check_PROGRAMS = test-accept$(EXEEXT) test-alloca-opt$(EXEEXT) \
test-u8-mblen$(EXEEXT) test-u8-mbsnlen$(EXEEXT) \
test-u8-mbtouc$(EXEEXT) test-u8-mbtouc-unsafe$(EXEEXT) \
test-u8-mbtoucr$(EXEEXT) test-u8-move$(EXEEXT) \
- test-u8-next$(EXEEXT) test-u8-prev$(EXEEXT) \
- test-u8-set$(EXEEXT) test-u8-stpcpy$(EXEEXT) \
- test-u8-stpncpy$(EXEEXT) test-u8-strcat$(EXEEXT) \
- test-u8-strchr$(EXEEXT) test-u8-strcmp$(EXEEXT) \
- test-u8-strcoll$(EXEEXT) test-u8-strcpy$(EXEEXT) \
- test-u8-strdup$(EXEEXT) test-u8-strlen$(EXEEXT) \
- test-u8-strmblen$(EXEEXT) test-u8-strmbtouc$(EXEEXT) \
- test-u8-strncat$(EXEEXT) test-u8-strncmp$(EXEEXT) \
- test-u8-strncpy$(EXEEXT) test-u8-strnlen$(EXEEXT) \
- test-u8-strstr$(EXEEXT) test-u8-strtok$(EXEEXT) \
- test-u8-to-u16$(EXEEXT) test-u8-to-u32$(EXEEXT) \
- test-u8-uctomb$(EXEEXT) test-u16-wordbreaks$(EXEEXT) \
- test-u32-wordbreaks$(EXEEXT) test-uc-wordbreaks$(EXEEXT) \
- test-u8-wordbreaks$(EXEEXT) test-ulc-wordbreaks$(EXEEXT) \
- test-u16-strwidth$(EXEEXT) test-u16-width$(EXEEXT) \
- test-u32-strwidth$(EXEEXT) test-u32-width$(EXEEXT) \
- test-u8-strwidth$(EXEEXT) test-u8-width$(EXEEXT) \
- test-uc_width$(EXEEXT) test-uc_width2$(EXEEXT) \
- test-unsetenv$(EXEEXT) test-usleep$(EXEEXT) \
- test-verify$(EXEEXT) test-wchar$(EXEEXT) test-wcrtomb$(EXEEXT) \
- test-wcrtomb-w32$(EXEEXT) test-wctype-h$(EXEEXT) \
- test-wcwidth$(EXEEXT) test-xalloc-die$(EXEEXT)
+ test-u8-next$(EXEEXT) test-u8-pcpy$(EXEEXT) \
+ test-u8-prev$(EXEEXT) test-u8-set$(EXEEXT) \
+ test-u8-stpcpy$(EXEEXT) test-u8-stpncpy$(EXEEXT) \
+ test-u8-strcat$(EXEEXT) test-u8-strchr$(EXEEXT) \
+ test-u8-strcmp$(EXEEXT) test-u8-strcoll$(EXEEXT) \
+ test-u8-strcpy$(EXEEXT) test-u8-strdup$(EXEEXT) \
+ test-u8-strlen$(EXEEXT) test-u8-strmblen$(EXEEXT) \
+ test-u8-strmbtouc$(EXEEXT) test-u8-strncat$(EXEEXT) \
+ test-u8-strncmp$(EXEEXT) test-u8-strncpy$(EXEEXT) \
+ test-u8-strnlen$(EXEEXT) test-u8-strstr$(EXEEXT) \
+ test-u8-strtok$(EXEEXT) test-u8-to-u16$(EXEEXT) \
+ test-u8-to-u32$(EXEEXT) test-u8-uctomb$(EXEEXT) \
+ test-u16-wordbreaks$(EXEEXT) test-u32-wordbreaks$(EXEEXT) \
+ test-uc-wordbreaks$(EXEEXT) test-u8-wordbreaks$(EXEEXT) \
+ test-ulc-wordbreaks$(EXEEXT) test-u16-strwidth$(EXEEXT) \
+ test-u16-width$(EXEEXT) test-u32-strwidth$(EXEEXT) \
+ test-u32-width$(EXEEXT) test-u8-strwidth$(EXEEXT) \
+ test-u8-width$(EXEEXT) test-uc_width$(EXEEXT) \
+ test-uc_width2$(EXEEXT) test-unsetenv$(EXEEXT) \
+ test-usleep$(EXEEXT) test-verify$(EXEEXT) test-wchar$(EXEEXT) \
+ test-wcrtomb$(EXEEXT) test-wcrtomb-w32$(EXEEXT) \
+ test-wctype-h$(EXEEXT) test-wcwidth$(EXEEXT) \
+ test-xalloc-die$(EXEEXT)
EXTRA_PROGRAMS = test-verify-try$(EXEEXT)
@GL_COND_OBJ_ACCEPT_TRUE@am__append_1 = accept.c
@GL_COND_OBJ_BIND_TRUE@am__append_2 = bind.c
@GL_COND_OBJ_BTOWC_TRUE@am__append_3 = btowc.c
-@GL_COND_OBJ_CLOSE_TRUE@am__append_4 = close.c
-@GL_COND_OBJ_CONNECT_TRUE@am__append_5 = connect.c
-@GL_COND_OBJ_DUP2_TRUE@am__append_6 = dup2.c
-@GL_COND_OBJ_ERROR_TRUE@am__append_7 = error.c
-@GL_COND_OBJ_FCNTL_TRUE@am__append_8 = fcntl.c
-@GL_COND_OBJ_FDOPEN_TRUE@am__append_9 = fdopen.c
-@GL_COND_OBJ_FSTAT_TRUE@am__append_10 = fstat.c
-@GL_COND_OBJ_FTRUNCATE_TRUE@am__append_11 = ftruncate.c
-@GL_COND_OBJ_GETCWD_LGPL_TRUE@am__append_12 = getcwd-lgpl.c
-@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__append_13 = getdtablesize.c
-@GL_COND_OBJ_GETPAGESIZE_TRUE@am__append_14 = getpagesize.c
-@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__append_15 = gettimeofday.c
-@GL_COND_OBJ_INET_PTON_TRUE@am__append_16 = inet_pton.c
-@GL_COND_OBJ_IOCTL_TRUE@am__append_17 = ioctl.c
-@GL_COND_OBJ_ISBLANK_TRUE@am__append_18 = isblank.c
-@GL_COND_OBJ_LISTEN_TRUE@am__append_19 = listen.c
-@GL_COND_OBJ_LSTAT_TRUE@am__append_20 = lstat.c
-@GL_COND_OBJ_MBTOWC_TRUE@am__append_21 = mbtowc.c
-@GL_COND_OBJ_MSVC_INVAL_TRUE@am__append_22 = msvc-inval.c
-@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__append_23 = msvc-nothrow.c
-@GL_COND_OBJ_NANOSLEEP_TRUE@am__append_24 = nanosleep.c
-@GL_COND_OBJ_OPEN_TRUE@am__append_25 = open.c
-@GL_COND_OBJ_PERROR_TRUE@am__append_26 = perror.c
-@GL_COND_OBJ_PIPE_TRUE@am__append_27 = pipe.c
-@GL_COND_OBJ_PSELECT_TRUE@am__append_28 = pselect.c
-@GL_COND_OBJ_PTHREAD_THREAD_TRUE@am__append_29 = pthread-thread.c
-@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__append_30 = pthread_sigmask.c
-@GL_COND_OBJ_PUTENV_TRUE@am__append_31 = putenv.c
-@GL_COND_OBJ_RAISE_TRUE@am__append_32 = raise.c
-@GL_COND_OBJ_REALLOCARRAY_TRUE@am__append_33 = reallocarray.c
-@GL_COND_OBJ_SCHED_YIELD_TRUE@am__append_34 = sched_yield.c
-@GL_COND_OBJ_SELECT_TRUE@am__append_35 = select.c
-@GL_COND_OBJ_SETENV_TRUE@am__append_36 = setenv.c
-@GL_COND_OBJ_SETLOCALE_TRUE@am__append_37 = setlocale.c
-@GL_COND_OBJ_SETSOCKOPT_TRUE@am__append_38 = setsockopt.c
-@GL_COND_OBJ_SIGPROCMASK_TRUE@am__append_39 = sigprocmask.c
-@GL_COND_OBJ_SLEEP_TRUE@am__append_40 = sleep.c
-@GL_COND_OBJ_SOCKET_TRUE@am__append_41 = socket.c
-@GL_COND_OBJ_STAT_TRUE@am__append_42 = stat.c
-@GL_COND_OBJ_STDIO_READ_TRUE@am__append_43 = stdio-read.c
-@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_44 = stdio-write.c
-@GL_COND_OBJ_STRERROR_TRUE@am__append_45 = strerror.c
-@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_46 = strerror-override.c
-@GL_COND_OBJ_SYMLINK_TRUE@am__append_47 = symlink.c
-@WOE32DLL_FALSE@am__append_48 = test-categ_none
-@WOE32DLL_FALSE@am__append_49 = test-categ_none
+@GL_COND_OBJ_C32RTOMB_TRUE@am__append_4 = c32rtomb.c
+@GL_COND_OBJ_CLOSE_TRUE@am__append_5 = close.c
+@GL_COND_OBJ_CONNECT_TRUE@am__append_6 = connect.c
+@GL_COND_OBJ_DUP2_TRUE@am__append_7 = dup2.c
+@GL_COND_OBJ_ERROR_TRUE@am__append_8 = error.c
+@GL_COND_OBJ_FCNTL_TRUE@am__append_9 = fcntl.c
+@GL_COND_OBJ_FDOPEN_TRUE@am__append_10 = fdopen.c
+@GL_COND_OBJ_FSTAT_TRUE@am__append_11 = fstat.c
+@GL_COND_OBJ_FTRUNCATE_TRUE@am__append_12 = ftruncate.c
+@GL_COND_OBJ_GETCWD_LGPL_TRUE@am__append_13 = getcwd-lgpl.c
+@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__append_14 = getdtablesize.c
+@GL_COND_OBJ_GETPAGESIZE_TRUE@am__append_15 = getpagesize.c
+@GL_COND_OBJ_GETPROGNAME_TRUE@am__append_16 = getprogname.c
+@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__append_17 = gettimeofday.c
+@GL_COND_OBJ_INET_PTON_TRUE@am__append_18 = inet_pton.c
+@GL_COND_OBJ_IOCTL_TRUE@am__append_19 = ioctl.c
+@GL_COND_OBJ_ISBLANK_TRUE@am__append_20 = isblank.c
+@GL_COND_OBJ_LISTEN_TRUE@am__append_21 = listen.c
+@GL_COND_OBJ_LSTAT_TRUE@am__append_22 = lstat.c
+@GL_COND_OBJ_MBTOWC_TRUE@am__append_23 = mbtowc.c
+@GL_COND_OBJ_MSVC_INVAL_TRUE@am__append_24 = msvc-inval.c
+@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__append_25 = msvc-nothrow.c
+@GL_COND_OBJ_NANOSLEEP_TRUE@am__append_26 = nanosleep.c
+@GL_COND_OBJ_OPEN_TRUE@am__append_27 = open.c
+@GL_COND_OBJ_PERROR_TRUE@am__append_28 = perror.c
+@GL_COND_OBJ_PIPE_TRUE@am__append_29 = pipe.c
+@GL_COND_OBJ_PSELECT_TRUE@am__append_30 = pselect.c
+@GL_COND_OBJ_PTHREAD_THREAD_TRUE@am__append_31 = pthread-thread.c
+@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__append_32 = pthread_sigmask.c
+@GL_COND_OBJ_PUTENV_TRUE@am__append_33 = putenv.c
+@GL_COND_OBJ_RAISE_TRUE@am__append_34 = raise.c
+@GL_COND_OBJ_RANDOM_TRUE@am__append_35 = random.c
+@GL_COND_OBJ_RANDOM_R_TRUE@am__append_36 = random_r.c
+@GL_COND_OBJ_REALLOCARRAY_TRUE@am__append_37 = reallocarray.c
+@GL_COND_OBJ_SCHED_YIELD_TRUE@am__append_38 = sched_yield.c
+@GL_COND_OBJ_SELECT_TRUE@am__append_39 = select.c
+@GL_COND_OBJ_SETENV_TRUE@am__append_40 = setenv.c
+@GL_COND_OBJ_SETLOCALE_TRUE@am__append_41 = setlocale.c
+@GL_COND_OBJ_SETSOCKOPT_TRUE@am__append_42 = setsockopt.c
+@GL_COND_OBJ_SIGPROCMASK_TRUE@am__append_43 = sigprocmask.c
+@GL_COND_OBJ_SLEEP_TRUE@am__append_44 = sleep.c
+@GL_COND_OBJ_SOCKET_TRUE@am__append_45 = socket.c
+@GL_COND_OBJ_STAT_TRUE@am__append_46 = stat.c
+@GL_COND_OBJ_STDIO_READ_TRUE@am__append_47 = stdio-read.c
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_48 = stdio-write.c
+@GL_COND_OBJ_STRERROR_TRUE@am__append_49 = strerror.c
+@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_50 = strerror-override.c
+@GL_COND_OBJ_SYMLINK_TRUE@am__append_51 = symlink.c
+@GL_COND_OBJ_TIME_TRUE@am__append_52 = time.c
+@WOE32DLL_FALSE@am__append_53 = test-categ_none
+@WOE32DLL_FALSE@am__append_54 = test-categ_none
# Unlike other libunistring modules, this test passes only when the
# same version of uniname/uniname.c is used (even if it is newer).
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_50 = uniname/test-uninames.sh
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_51 = test-uninames
-@GL_COND_OBJ_UNSETENV_TRUE@am__append_52 = unsetenv.c
-@GL_COND_OBJ_USLEEP_TRUE@am__append_53 = usleep.c
-@GL_COND_OBJ_WCRTOMB_TRUE@am__append_54 = wcrtomb.c
-@GL_COND_OBJ_WCTOB_TRUE@am__append_55 = wctob.c
-@GL_COND_OBJ_WCTOMB_TRUE@am__append_56 = wctomb.c
-@GL_COND_OBJ_WINDOWS_THREAD_TRUE@am__append_57 = windows-thread.c
-@GL_COND_OBJ_WINDOWS_TLS_TRUE@am__append_58 = windows-tls.c
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_55 = uniname/test-uninames.sh
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_56 = test-uninames
+@GL_COND_OBJ_UNSETENV_TRUE@am__append_57 = unsetenv.c
+@GL_COND_OBJ_USLEEP_TRUE@am__append_58 = usleep.c
+@GL_COND_OBJ_WCRTOMB_TRUE@am__append_59 = wcrtomb.c
+@GL_COND_OBJ_WCTOB_TRUE@am__append_60 = wctob.c
+@GL_COND_OBJ_WCTOMB_TRUE@am__append_61 = wctomb.c
+@GL_COND_OBJ_WINDOWS_THREAD_TRUE@am__append_62 = windows-thread.c
+@GL_COND_OBJ_WINDOWS_TLS_TRUE@am__append_63 = windows-tls.c
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib-m4/__inline.m4 \
$(top_srcdir)/gnulib-m4/absolute-header.m4 \
$(top_srcdir)/gnulib-m4/alloca.m4 \
$(top_srcdir)/gnulib-m4/arpa_inet_h.m4 \
@@ -822,6 +876,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/builtin-expect.m4 \
$(top_srcdir)/gnulib-m4/c-bool.m4 \
+ $(top_srcdir)/gnulib-m4/c32rtomb.m4 \
$(top_srcdir)/gnulib-m4/calloc.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/codeset.m4 \
@@ -832,6 +887,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/environ.m4 \
$(top_srcdir)/gnulib-m4/errno_h.m4 \
$(top_srcdir)/gnulib-m4/error.m4 \
+ $(top_srcdir)/gnulib-m4/error_h.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
$(top_srcdir)/gnulib-m4/exponentf.m4 \
$(top_srcdir)/gnulib-m4/exponentl.m4 \
@@ -876,6 +932,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/iswdigit.m4 \
+ $(top_srcdir)/gnulib-m4/iswpunct.m4 \
$(top_srcdir)/gnulib-m4/iswxdigit.m4 \
$(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
@@ -901,6 +958,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/math_h.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
+ $(top_srcdir)/gnulib-m4/mbrtoc32.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
$(top_srcdir)/gnulib-m4/mbsinit.m4 \
$(top_srcdir)/gnulib-m4/mbstate_t.m4 \
@@ -913,6 +971,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib-m4/multiarch.m4 \
$(top_srcdir)/gnulib-m4/musl.m4 \
+ $(top_srcdir)/gnulib-m4/nan-mips.m4 \
$(top_srcdir)/gnulib-m4/nanosleep.m4 \
$(top_srcdir)/gnulib-m4/netinet_in_h.m4 \
$(top_srcdir)/gnulib-m4/nocrash.m4 \
@@ -933,6 +992,8 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/pthread_sigmask.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/raise.m4 \
+ $(top_srcdir)/gnulib-m4/random.m4 \
+ $(top_srcdir)/gnulib-m4/random_r.m4 \
$(top_srcdir)/gnulib-m4/realloc.m4 \
$(top_srcdir)/gnulib-m4/reallocarray.m4 \
$(top_srcdir)/gnulib-m4/relocatable-lib.m4 \
@@ -948,6 +1009,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/size_max.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
+ $(top_srcdir)/gnulib-m4/snan.m4 \
$(top_srcdir)/gnulib-m4/socketlib.m4 \
$(top_srcdir)/gnulib-m4/sockets.m4 \
$(top_srcdir)/gnulib-m4/socklen.m4 \
@@ -976,7 +1038,13 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/sys_uio_h.m4 \
$(top_srcdir)/gnulib-m4/thread.m4 \
$(top_srcdir)/gnulib-m4/threadlib.m4 \
+ $(top_srcdir)/gnulib-m4/time.m4 \
$(top_srcdir)/gnulib-m4/time_h.m4 \
+ $(top_srcdir)/gnulib-m4/uchar_h.m4 \
+ $(top_srcdir)/gnulib-m4/unicase_h.m4 \
+ $(top_srcdir)/gnulib-m4/unictype_h.m4 \
+ $(top_srcdir)/gnulib-m4/unimetadata_h.m4 \
+ $(top_srcdir)/gnulib-m4/uninorm_h.m4 \
$(top_srcdir)/gnulib-m4/unistd_h.m4 \
$(top_srcdir)/gnulib-m4/usleep.m4 \
$(top_srcdir)/gnulib-m4/vasnprintf.m4 \
@@ -992,7 +1060,6 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/wint_t.m4 \
$(top_srcdir)/gnulib-m4/xalloc.m4 \
$(top_srcdir)/gnulib-m4/xsize.m4 \
- $(top_srcdir)/gnulib-m4/year2038.m4 \
$(top_srcdir)/gnulib-m4/yield.m4 \
$(top_srcdir)/gnulib-m4/zzgnulib.m4 \
$(top_srcdir)/m4/exported.m4 \
@@ -1020,105 +1087,115 @@ am__v_AR_1 =
libtests_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 =
am__libtests_a_SOURCES_DIST = accept.c basename-lgpl.c binary-io.h \
- binary-io.c bind.c btowc.c cloexec.c close.c connect.c dup2.c \
- error.c exitfail.c fcntl.c fd-hook.c fdopen.c fstat.c \
- ftruncate.c getcwd-lgpl.c getdtablesize.c getpagesize.c \
- getprogname.h getprogname.c gettext.h gettimeofday.c ialloc.c \
- inet_pton.c ioctl.c isblank.c listen.c lstat.c mbtowc.c \
- msvc-inval.c msvc-nothrow.c nanosleep.c open.c perror.c pipe.c \
- pselect.c pthread-thread.c pthread_sigmask.c putenv.c raise.c \
- reallocarray.c sched_yield.c select.c setenv.c setlocale.c \
- setsockopt.c sigprocmask.c sleep.c socket.c sockets.h \
+ binary-io.c bind.c btoc32.c btowc.c c32rtomb.c c32tob.c \
+ cloexec.c close.c connect.c dup2.c error.c exitfail.c fcntl.c \
+ fd-hook.c fdopen.c fstat.c ftruncate.c getcwd-lgpl.c \
+ getdtablesize.c getpagesize.c getprogname.c gettext.h \
+ gettimeofday.c ialloc.c inet_pton.c ioctl.c isblank.c listen.c \
+ lstat.c mbtowc.c msvc-inval.c msvc-nothrow.c nan.h nanosleep.c \
+ open.c perror.c pipe.c pselect.c pthread-thread.c \
+ pthread_sigmask.c putenv.c raise.c random.c random_r.c \
+ reallocarray.c same-inode.h same-inode.c sched_yield.c \
+ select.c setenv.c setlocale.c setsockopt.c signed-nan.h \
+ signed-snan.h sigprocmask.c sleep.c snan.h socket.c sockets.h \
sockets.c stat.c stat-time.c stdio-read.c stdio-write.c \
strerror.c strerror-override.c symlink.c sys_socket.c \
- glthread/thread.h glthread/thread.c unsetenv.c usleep.c \
+ glthread/thread.h glthread/thread.c time.c unsetenv.c usleep.c \
wcrtomb.c wctob.c wctomb.c windows-thread.c windows-tls.c \
xmalloc.c xalloc-die.c glthread/yield.h
@GL_COND_OBJ_ACCEPT_TRUE@am__objects_1 = accept.$(OBJEXT)
@GL_COND_OBJ_BIND_TRUE@am__objects_2 = bind.$(OBJEXT)
@GL_COND_OBJ_BTOWC_TRUE@am__objects_3 = btowc.$(OBJEXT)
-@GL_COND_OBJ_CLOSE_TRUE@am__objects_4 = close.$(OBJEXT)
-@GL_COND_OBJ_CONNECT_TRUE@am__objects_5 = connect.$(OBJEXT)
-@GL_COND_OBJ_DUP2_TRUE@am__objects_6 = dup2.$(OBJEXT)
-@GL_COND_OBJ_ERROR_TRUE@am__objects_7 = error.$(OBJEXT)
-@GL_COND_OBJ_FCNTL_TRUE@am__objects_8 = fcntl.$(OBJEXT)
-@GL_COND_OBJ_FDOPEN_TRUE@am__objects_9 = fdopen.$(OBJEXT)
-@GL_COND_OBJ_FSTAT_TRUE@am__objects_10 = fstat.$(OBJEXT)
-@GL_COND_OBJ_FTRUNCATE_TRUE@am__objects_11 = ftruncate.$(OBJEXT)
-@GL_COND_OBJ_GETCWD_LGPL_TRUE@am__objects_12 = getcwd-lgpl.$(OBJEXT)
-@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__objects_13 = \
+@GL_COND_OBJ_C32RTOMB_TRUE@am__objects_4 = c32rtomb.$(OBJEXT)
+@GL_COND_OBJ_CLOSE_TRUE@am__objects_5 = close.$(OBJEXT)
+@GL_COND_OBJ_CONNECT_TRUE@am__objects_6 = connect.$(OBJEXT)
+@GL_COND_OBJ_DUP2_TRUE@am__objects_7 = dup2.$(OBJEXT)
+@GL_COND_OBJ_ERROR_TRUE@am__objects_8 = error.$(OBJEXT)
+@GL_COND_OBJ_FCNTL_TRUE@am__objects_9 = fcntl.$(OBJEXT)
+@GL_COND_OBJ_FDOPEN_TRUE@am__objects_10 = fdopen.$(OBJEXT)
+@GL_COND_OBJ_FSTAT_TRUE@am__objects_11 = fstat.$(OBJEXT)
+@GL_COND_OBJ_FTRUNCATE_TRUE@am__objects_12 = ftruncate.$(OBJEXT)
+@GL_COND_OBJ_GETCWD_LGPL_TRUE@am__objects_13 = getcwd-lgpl.$(OBJEXT)
+@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__objects_14 = \
@GL_COND_OBJ_GETDTABLESIZE_TRUE@ getdtablesize.$(OBJEXT)
-@GL_COND_OBJ_GETPAGESIZE_TRUE@am__objects_14 = getpagesize.$(OBJEXT)
-@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__objects_15 = \
+@GL_COND_OBJ_GETPAGESIZE_TRUE@am__objects_15 = getpagesize.$(OBJEXT)
+@GL_COND_OBJ_GETPROGNAME_TRUE@am__objects_16 = getprogname.$(OBJEXT)
+@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__objects_17 = \
@GL_COND_OBJ_GETTIMEOFDAY_TRUE@ gettimeofday.$(OBJEXT)
-@GL_COND_OBJ_INET_PTON_TRUE@am__objects_16 = inet_pton.$(OBJEXT)
-@GL_COND_OBJ_IOCTL_TRUE@am__objects_17 = ioctl.$(OBJEXT)
-@GL_COND_OBJ_ISBLANK_TRUE@am__objects_18 = isblank.$(OBJEXT)
-@GL_COND_OBJ_LISTEN_TRUE@am__objects_19 = listen.$(OBJEXT)
-@GL_COND_OBJ_LSTAT_TRUE@am__objects_20 = lstat.$(OBJEXT)
-@GL_COND_OBJ_MBTOWC_TRUE@am__objects_21 = mbtowc.$(OBJEXT)
-@GL_COND_OBJ_MSVC_INVAL_TRUE@am__objects_22 = msvc-inval.$(OBJEXT)
-@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__objects_23 = \
+@GL_COND_OBJ_INET_PTON_TRUE@am__objects_18 = inet_pton.$(OBJEXT)
+@GL_COND_OBJ_IOCTL_TRUE@am__objects_19 = ioctl.$(OBJEXT)
+@GL_COND_OBJ_ISBLANK_TRUE@am__objects_20 = isblank.$(OBJEXT)
+@GL_COND_OBJ_LISTEN_TRUE@am__objects_21 = listen.$(OBJEXT)
+@GL_COND_OBJ_LSTAT_TRUE@am__objects_22 = lstat.$(OBJEXT)
+@GL_COND_OBJ_MBTOWC_TRUE@am__objects_23 = mbtowc.$(OBJEXT)
+@GL_COND_OBJ_MSVC_INVAL_TRUE@am__objects_24 = msvc-inval.$(OBJEXT)
+@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__objects_25 = \
@GL_COND_OBJ_MSVC_NOTHROW_TRUE@ msvc-nothrow.$(OBJEXT)
-@GL_COND_OBJ_NANOSLEEP_TRUE@am__objects_24 = nanosleep.$(OBJEXT)
-@GL_COND_OBJ_OPEN_TRUE@am__objects_25 = open.$(OBJEXT)
-@GL_COND_OBJ_PERROR_TRUE@am__objects_26 = perror.$(OBJEXT)
-@GL_COND_OBJ_PIPE_TRUE@am__objects_27 = pipe.$(OBJEXT)
-@GL_COND_OBJ_PSELECT_TRUE@am__objects_28 = pselect.$(OBJEXT)
-@GL_COND_OBJ_PTHREAD_THREAD_TRUE@am__objects_29 = \
+@GL_COND_OBJ_NANOSLEEP_TRUE@am__objects_26 = nanosleep.$(OBJEXT)
+@GL_COND_OBJ_OPEN_TRUE@am__objects_27 = open.$(OBJEXT)
+@GL_COND_OBJ_PERROR_TRUE@am__objects_28 = perror.$(OBJEXT)
+@GL_COND_OBJ_PIPE_TRUE@am__objects_29 = pipe.$(OBJEXT)
+@GL_COND_OBJ_PSELECT_TRUE@am__objects_30 = pselect.$(OBJEXT)
+@GL_COND_OBJ_PTHREAD_THREAD_TRUE@am__objects_31 = \
@GL_COND_OBJ_PTHREAD_THREAD_TRUE@ pthread-thread.$(OBJEXT)
-@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__objects_30 = \
+@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__objects_32 = \
@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@ pthread_sigmask.$(OBJEXT)
-@GL_COND_OBJ_PUTENV_TRUE@am__objects_31 = putenv.$(OBJEXT)
-@GL_COND_OBJ_RAISE_TRUE@am__objects_32 = raise.$(OBJEXT)
-@GL_COND_OBJ_REALLOCARRAY_TRUE@am__objects_33 = \
+@GL_COND_OBJ_PUTENV_TRUE@am__objects_33 = putenv.$(OBJEXT)
+@GL_COND_OBJ_RAISE_TRUE@am__objects_34 = raise.$(OBJEXT)
+@GL_COND_OBJ_RANDOM_TRUE@am__objects_35 = random.$(OBJEXT)
+@GL_COND_OBJ_RANDOM_R_TRUE@am__objects_36 = random_r.$(OBJEXT)
+@GL_COND_OBJ_REALLOCARRAY_TRUE@am__objects_37 = \
@GL_COND_OBJ_REALLOCARRAY_TRUE@ reallocarray.$(OBJEXT)
-@GL_COND_OBJ_SCHED_YIELD_TRUE@am__objects_34 = sched_yield.$(OBJEXT)
-@GL_COND_OBJ_SELECT_TRUE@am__objects_35 = select.$(OBJEXT)
-@GL_COND_OBJ_SETENV_TRUE@am__objects_36 = setenv.$(OBJEXT)
-@GL_COND_OBJ_SETLOCALE_TRUE@am__objects_37 = setlocale.$(OBJEXT)
-@GL_COND_OBJ_SETSOCKOPT_TRUE@am__objects_38 = setsockopt.$(OBJEXT)
-@GL_COND_OBJ_SIGPROCMASK_TRUE@am__objects_39 = sigprocmask.$(OBJEXT)
-@GL_COND_OBJ_SLEEP_TRUE@am__objects_40 = sleep.$(OBJEXT)
-@GL_COND_OBJ_SOCKET_TRUE@am__objects_41 = socket.$(OBJEXT)
-@GL_COND_OBJ_STAT_TRUE@am__objects_42 = stat.$(OBJEXT)
-@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_43 = stdio-read.$(OBJEXT)
-@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_44 = stdio-write.$(OBJEXT)
-@GL_COND_OBJ_STRERROR_TRUE@am__objects_45 = strerror.$(OBJEXT)
-@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_46 = strerror-override.$(OBJEXT)
-@GL_COND_OBJ_SYMLINK_TRUE@am__objects_47 = symlink.$(OBJEXT)
+@GL_COND_OBJ_SCHED_YIELD_TRUE@am__objects_38 = sched_yield.$(OBJEXT)
+@GL_COND_OBJ_SELECT_TRUE@am__objects_39 = select.$(OBJEXT)
+@GL_COND_OBJ_SETENV_TRUE@am__objects_40 = setenv.$(OBJEXT)
+@GL_COND_OBJ_SETLOCALE_TRUE@am__objects_41 = setlocale.$(OBJEXT)
+@GL_COND_OBJ_SETSOCKOPT_TRUE@am__objects_42 = setsockopt.$(OBJEXT)
+@GL_COND_OBJ_SIGPROCMASK_TRUE@am__objects_43 = sigprocmask.$(OBJEXT)
+@GL_COND_OBJ_SLEEP_TRUE@am__objects_44 = sleep.$(OBJEXT)
+@GL_COND_OBJ_SOCKET_TRUE@am__objects_45 = socket.$(OBJEXT)
+@GL_COND_OBJ_STAT_TRUE@am__objects_46 = stat.$(OBJEXT)
+@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_47 = stdio-read.$(OBJEXT)
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_48 = stdio-write.$(OBJEXT)
+@GL_COND_OBJ_STRERROR_TRUE@am__objects_49 = strerror.$(OBJEXT)
+@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_50 = strerror-override.$(OBJEXT)
+@GL_COND_OBJ_SYMLINK_TRUE@am__objects_51 = symlink.$(OBJEXT)
am__dirstamp = $(am__leading_dot)dirstamp
-@GL_COND_OBJ_UNSETENV_TRUE@am__objects_48 = unsetenv.$(OBJEXT)
-@GL_COND_OBJ_USLEEP_TRUE@am__objects_49 = usleep.$(OBJEXT)
-@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_50 = wcrtomb.$(OBJEXT)
-@GL_COND_OBJ_WCTOB_TRUE@am__objects_51 = wctob.$(OBJEXT)
-@GL_COND_OBJ_WCTOMB_TRUE@am__objects_52 = wctomb.$(OBJEXT)
-@GL_COND_OBJ_WINDOWS_THREAD_TRUE@am__objects_53 = \
+@GL_COND_OBJ_TIME_TRUE@am__objects_52 = time.$(OBJEXT)
+@GL_COND_OBJ_UNSETENV_TRUE@am__objects_53 = unsetenv.$(OBJEXT)
+@GL_COND_OBJ_USLEEP_TRUE@am__objects_54 = usleep.$(OBJEXT)
+@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_55 = wcrtomb.$(OBJEXT)
+@GL_COND_OBJ_WCTOB_TRUE@am__objects_56 = wctob.$(OBJEXT)
+@GL_COND_OBJ_WCTOMB_TRUE@am__objects_57 = wctomb.$(OBJEXT)
+@GL_COND_OBJ_WINDOWS_THREAD_TRUE@am__objects_58 = \
@GL_COND_OBJ_WINDOWS_THREAD_TRUE@ windows-thread.$(OBJEXT)
-@GL_COND_OBJ_WINDOWS_TLS_TRUE@am__objects_54 = windows-tls.$(OBJEXT)
+@GL_COND_OBJ_WINDOWS_TLS_TRUE@am__objects_59 = windows-tls.$(OBJEXT)
am_libtests_a_OBJECTS = $(am__objects_1) basename-lgpl.$(OBJEXT) \
- binary-io.$(OBJEXT) $(am__objects_2) $(am__objects_3) \
- cloexec.$(OBJEXT) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6) $(am__objects_7) exitfail.$(OBJEXT) \
- $(am__objects_8) fd-hook.$(OBJEXT) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) getprogname.$(OBJEXT) \
- $(am__objects_15) ialloc.$(OBJEXT) $(am__objects_16) \
- $(am__objects_17) $(am__objects_18) $(am__objects_19) \
- $(am__objects_20) $(am__objects_21) $(am__objects_22) \
- $(am__objects_23) $(am__objects_24) $(am__objects_25) \
- $(am__objects_26) $(am__objects_27) $(am__objects_28) \
- $(am__objects_29) $(am__objects_30) $(am__objects_31) \
- $(am__objects_32) $(am__objects_33) $(am__objects_34) \
- $(am__objects_35) $(am__objects_36) $(am__objects_37) \
- $(am__objects_38) $(am__objects_39) $(am__objects_40) \
- $(am__objects_41) sockets.$(OBJEXT) $(am__objects_42) \
- stat-time.$(OBJEXT) $(am__objects_43) $(am__objects_44) \
- $(am__objects_45) $(am__objects_46) $(am__objects_47) \
+ binary-io.$(OBJEXT) $(am__objects_2) btoc32.$(OBJEXT) \
+ $(am__objects_3) $(am__objects_4) c32tob.$(OBJEXT) \
+ cloexec.$(OBJEXT) $(am__objects_5) $(am__objects_6) \
+ $(am__objects_7) $(am__objects_8) exitfail.$(OBJEXT) \
+ $(am__objects_9) fd-hook.$(OBJEXT) $(am__objects_10) \
+ $(am__objects_11) $(am__objects_12) $(am__objects_13) \
+ $(am__objects_14) $(am__objects_15) $(am__objects_16) \
+ $(am__objects_17) ialloc.$(OBJEXT) $(am__objects_18) \
+ $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+ $(am__objects_22) $(am__objects_23) $(am__objects_24) \
+ $(am__objects_25) $(am__objects_26) $(am__objects_27) \
+ $(am__objects_28) $(am__objects_29) $(am__objects_30) \
+ $(am__objects_31) $(am__objects_32) $(am__objects_33) \
+ $(am__objects_34) $(am__objects_35) $(am__objects_36) \
+ $(am__objects_37) same-inode.$(OBJEXT) $(am__objects_38) \
+ $(am__objects_39) $(am__objects_40) $(am__objects_41) \
+ $(am__objects_42) $(am__objects_43) $(am__objects_44) \
+ $(am__objects_45) sockets.$(OBJEXT) $(am__objects_46) \
+ stat-time.$(OBJEXT) $(am__objects_47) $(am__objects_48) \
+ $(am__objects_49) $(am__objects_50) $(am__objects_51) \
sys_socket.$(OBJEXT) glthread/thread.$(OBJEXT) \
- $(am__objects_48) $(am__objects_49) $(am__objects_50) \
- $(am__objects_51) $(am__objects_52) $(am__objects_53) \
- $(am__objects_54) xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT)
+ $(am__objects_52) $(am__objects_53) $(am__objects_54) \
+ $(am__objects_55) $(am__objects_56) $(am__objects_57) \
+ $(am__objects_58) $(am__objects_59) xmalloc.$(OBJEXT) \
+ xalloc-die.$(OBJEXT)
libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
am_current_locale_OBJECTS = locale.$(OBJEXT)
current_locale_OBJECTS = $(am_current_locale_OBJECTS)
@@ -1135,6 +1212,12 @@ test_accept_OBJECTS = test-accept.$(OBJEXT)
am__DEPENDENCIES_2 = libtests.a ../lib/libunistring.la libtests.a \
../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1)
test_accept_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_alignasof_SOURCES = test-alignasof.c
+test_alignasof_OBJECTS = test-alignasof.$(OBJEXT)
+test_alignasof_LDADD = $(LDADD)
+test_alignasof_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_alloca_opt_SOURCES = test-alloca-opt.c
test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
test_alloca_opt_LDADD = $(LDADD)
@@ -1192,6 +1275,9 @@ test_block_of_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_block_test_OBJECTS = unictype/test-block_test.$(OBJEXT)
test_block_test_OBJECTS = $(am_test_block_test_OBJECTS)
test_block_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_btoc32_SOURCES = test-btoc32.c
+test_btoc32_OBJECTS = test-btoc32.$(OBJEXT)
+test_btoc32_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
test_btowc_SOURCES = test-btowc.c
test_btowc_OBJECTS = test-btowc.$(OBJEXT)
test_btowc_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
@@ -1207,6 +1293,72 @@ test_c_strncasecmp_SOURCES = test-c-strncasecmp.c
test_c_strncasecmp_OBJECTS = test-c-strncasecmp.$(OBJEXT)
test_c_strncasecmp_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1)
+test_c32isalnum_SOURCES = test-c32isalnum.c
+test_c32isalnum_OBJECTS = test-c32isalnum.$(OBJEXT)
+test_c32isalnum_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isalpha_SOURCES = test-c32isalpha.c
+test_c32isalpha_OBJECTS = test-c32isalpha.$(OBJEXT)
+test_c32isalpha_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isblank_SOURCES = test-c32isblank.c
+test_c32isblank_OBJECTS = test-c32isblank.$(OBJEXT)
+test_c32isblank_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32iscntrl_SOURCES = test-c32iscntrl.c
+test_c32iscntrl_OBJECTS = test-c32iscntrl.$(OBJEXT)
+test_c32iscntrl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isdigit_SOURCES = test-c32isdigit.c
+test_c32isdigit_OBJECTS = test-c32isdigit.$(OBJEXT)
+test_c32isdigit_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isgraph_SOURCES = test-c32isgraph.c
+test_c32isgraph_OBJECTS = test-c32isgraph.$(OBJEXT)
+test_c32isgraph_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32islower_SOURCES = test-c32islower.c
+test_c32islower_OBJECTS = test-c32islower.$(OBJEXT)
+test_c32islower_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isprint_SOURCES = test-c32isprint.c
+test_c32isprint_OBJECTS = test-c32isprint.$(OBJEXT)
+test_c32isprint_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32ispunct_SOURCES = test-c32ispunct.c
+test_c32ispunct_OBJECTS = test-c32ispunct.$(OBJEXT)
+test_c32ispunct_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isspace_SOURCES = test-c32isspace.c
+test_c32isspace_OBJECTS = test-c32isspace.$(OBJEXT)
+test_c32isspace_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isupper_SOURCES = test-c32isupper.c
+test_c32isupper_OBJECTS = test-c32isupper.$(OBJEXT)
+test_c32isupper_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32isxdigit_SOURCES = test-c32isxdigit.c
+test_c32isxdigit_OBJECTS = test-c32isxdigit.$(OBJEXT)
+test_c32isxdigit_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32rtomb_SOURCES = test-c32rtomb.c
+test_c32rtomb_OBJECTS = test-c32rtomb.$(OBJEXT)
+test_c32rtomb_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
+test_c32rtomb_w32_SOURCES = test-c32rtomb-w32.c
+test_c32rtomb_w32_OBJECTS = test-c32rtomb-w32.$(OBJEXT)
+test_c32rtomb_w32_LDADD = $(LDADD)
+test_c32rtomb_w32_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_c32tolower_SOURCES = test-c32tolower.c
+test_c32tolower_OBJECTS = test-c32tolower.$(OBJEXT)
+test_c32tolower_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_c32width_SOURCES = test-c32width.c
+test_c32width_OBJECTS = test-c32width.$(OBJEXT)
+test_c32width_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
test_calloc_gnu_SOURCES = test-calloc-gnu.c
test_calloc_gnu_OBJECTS = test-calloc-gnu.$(OBJEXT)
test_calloc_gnu_LDADD = $(LDADD)
@@ -1479,6 +1631,9 @@ test_errno_OBJECTS = test-errno.$(OBJEXT)
test_errno_LDADD = $(LDADD)
test_errno_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \
../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1)
+test_error_SOURCES = test-error.c
+test_error_OBJECTS = test-error.$(OBJEXT)
+test_error_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
test_fcntl_SOURCES = test-fcntl.c
test_fcntl_OBJECTS = test-fcntl.$(OBJEXT)
test_fcntl_LDADD = $(LDADD)
@@ -1598,6 +1753,15 @@ test_ignore_value_LDADD = $(LDADD)
test_ignore_value_DEPENDENCIES = libtests.a ../lib/libunistring.la \
libtests.a ../lib/libunistring.la libtests.a \
$(am__DEPENDENCIES_1)
+am_test_incb_byname_OBJECTS = unictype/test-incb_byname.$(OBJEXT)
+test_incb_byname_OBJECTS = $(am_test_incb_byname_OBJECTS)
+test_incb_byname_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_incb_name_OBJECTS = unictype/test-incb_name.$(OBJEXT)
+test_incb_name_OBJECTS = $(am_test_incb_name_OBJECTS)
+test_incb_name_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_incb_of_OBJECTS = unictype/test-incb_of.$(OBJEXT)
+test_incb_of_OBJECTS = $(am_test_incb_of_OBJECTS)
+test_incb_of_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_inet_pton_SOURCES = test-inet_pton.c
test_inet_pton_OBJECTS = test-inet_pton.$(OBJEXT)
test_inet_pton_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -1652,6 +1816,10 @@ test_iswdigit_SOURCES = test-iswdigit.c
test_iswdigit_OBJECTS = test-iswdigit.$(OBJEXT)
test_iswdigit_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_iswpunct_SOURCES = test-iswpunct.c
+test_iswpunct_OBJECTS = test-iswpunct.$(OBJEXT)
+test_iswpunct_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
test_iswxdigit_SOURCES = test-iswxdigit.c
test_iswxdigit_OBJECTS = test-iswxdigit.$(OBJEXT)
test_iswxdigit_DEPENDENCIES = $(am__DEPENDENCIES_2) \
@@ -1693,6 +1861,12 @@ test_langinfo_LDADD = $(LDADD)
test_langinfo_DEPENDENCIES = libtests.a ../lib/libunistring.la \
libtests.a ../lib/libunistring.la libtests.a \
$(am__DEPENDENCIES_1)
+test_largefile_SOURCES = test-largefile.c
+test_largefile_OBJECTS = test-largefile.$(OBJEXT)
+test_largefile_LDADD = $(LDADD)
+test_largefile_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_limits_h_SOURCES = test-limits-h.c
test_limits_h_OBJECTS = test-limits-h.$(OBJEXT)
test_limits_h_LDADD = $(LDADD)
@@ -1746,6 +1920,16 @@ test_math_OBJECTS = test-math.$(OBJEXT)
test_math_LDADD = $(LDADD)
test_math_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \
../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1)
+test_mbrtoc32_SOURCES = test-mbrtoc32.c
+test_mbrtoc32_OBJECTS = test-mbrtoc32.$(OBJEXT)
+test_mbrtoc32_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_mbrtoc32_w32_SOURCES = test-mbrtoc32-w32.c
+test_mbrtoc32_w32_OBJECTS = test-mbrtoc32-w32.$(OBJEXT)
+test_mbrtoc32_w32_LDADD = $(LDADD)
+test_mbrtoc32_w32_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_mbrtowc_SOURCES = test-mbrtowc.c
test_mbrtowc_OBJECTS = test-mbrtowc.$(OBJEXT)
test_mbrtowc_DEPENDENCIES = $(am__DEPENDENCIES_2) \
@@ -2047,6 +2231,16 @@ test_pr_hex_digit_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_pr_hyphen_OBJECTS = unictype/test-pr_hyphen.$(OBJEXT)
test_pr_hyphen_OBJECTS = $(am_test_pr_hyphen_OBJECTS)
test_pr_hyphen_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_pr_id_compat_math_continue_OBJECTS = \
+ unictype/test-pr_id_compat_math_continue.$(OBJEXT)
+test_pr_id_compat_math_continue_OBJECTS = \
+ $(am_test_pr_id_compat_math_continue_OBJECTS)
+test_pr_id_compat_math_continue_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_pr_id_compat_math_start_OBJECTS = \
+ unictype/test-pr_id_compat_math_start.$(OBJEXT)
+test_pr_id_compat_math_start_OBJECTS = \
+ $(am_test_pr_id_compat_math_start_OBJECTS)
+test_pr_id_compat_math_start_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_pr_id_continue_OBJECTS = \
unictype/test-pr_id_continue.$(OBJEXT)
test_pr_id_continue_OBJECTS = $(am_test_pr_id_continue_OBJECTS)
@@ -2068,6 +2262,11 @@ am_test_pr_ids_trinary_operator_OBJECTS = \
test_pr_ids_trinary_operator_OBJECTS = \
$(am_test_pr_ids_trinary_operator_OBJECTS)
test_pr_ids_trinary_operator_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_pr_ids_unary_operator_OBJECTS = \
+ unictype/test-pr_ids_unary_operator.$(OBJEXT)
+test_pr_ids_unary_operator_OBJECTS = \
+ $(am_test_pr_ids_unary_operator_OBJECTS)
+test_pr_ids_unary_operator_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_pr_ignorable_control_OBJECTS = \
unictype/test-pr_ignorable_control.$(OBJEXT)
test_pr_ignorable_control_OBJECTS = \
@@ -2168,6 +2367,12 @@ am_test_pr_pattern_white_space_OBJECTS = \
test_pr_pattern_white_space_OBJECTS = \
$(am_test_pr_pattern_white_space_OBJECTS)
test_pr_pattern_white_space_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_pr_prepended_concatenation_mark_OBJECTS = \
+ unictype/test-pr_prepended_concatenation_mark.$(OBJEXT)
+test_pr_prepended_concatenation_mark_OBJECTS = \
+ $(am_test_pr_prepended_concatenation_mark_OBJECTS)
+test_pr_prepended_concatenation_mark_DEPENDENCIES = \
+ $(am__DEPENDENCIES_2)
am_test_pr_private_use_OBJECTS = \
unictype/test-pr_private_use.$(OBJEXT)
test_pr_private_use_OBJECTS = $(am_test_pr_private_use_OBJECTS)
@@ -2279,6 +2484,23 @@ test_raise_OBJECTS = test-raise.$(OBJEXT)
test_raise_LDADD = $(LDADD)
test_raise_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \
../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1)
+test_random_SOURCES = test-random.c
+test_random_OBJECTS = test-random.$(OBJEXT)
+test_random_LDADD = $(LDADD)
+test_random_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_random_mt_SOURCES = test-random-mt.c
+test_random_mt_OBJECTS = test-random-mt.$(OBJEXT)
+test_random_mt_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+test_random_r_SOURCES = test-random_r.c
+test_random_r_OBJECTS = test-random_r.$(OBJEXT)
+test_random_r_LDADD = $(LDADD)
+test_random_r_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_realloc_gnu_SOURCES = test-realloc-gnu.c
test_realloc_gnu_OBJECTS = test-realloc-gnu.$(OBJEXT)
test_realloc_gnu_LDADD = $(LDADD)
@@ -2336,6 +2558,13 @@ test_setlocale_null_mt_one_OBJECTS = \
test-setlocale_null-mt-one.$(OBJEXT)
test_setlocale_null_mt_one_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+test_setlocale_null_unlocked_SOURCES = test-setlocale_null-unlocked.c
+test_setlocale_null_unlocked_OBJECTS = \
+ test-setlocale_null-unlocked.$(OBJEXT)
+test_setlocale_null_unlocked_LDADD = $(LDADD)
+test_setlocale_null_unlocked_DEPENDENCIES = libtests.a \
+ ../lib/libunistring.la libtests.a ../lib/libunistring.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_setsockopt_SOURCES = test-setsockopt.c
test_setsockopt_OBJECTS = test-setsockopt.$(OBJEXT)
test_setsockopt_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -2372,12 +2601,6 @@ test_stat_time_SOURCES = test-stat-time.c
test_stat_time_OBJECTS = test-stat-time.$(OBJEXT)
test_stat_time_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1)
-test_stdalign_SOURCES = test-stdalign.c
-test_stdalign_OBJECTS = test-stdalign.$(OBJEXT)
-test_stdalign_LDADD = $(LDADD)
-test_stdalign_DEPENDENCIES = libtests.a ../lib/libunistring.la \
- libtests.a ../lib/libunistring.la libtests.a \
- $(am__DEPENDENCIES_1)
test_stdbool_SOURCES = test-stdbool.c
test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
test_stdbool_LDADD = $(LDADD)
@@ -2524,6 +2747,15 @@ test_time_OBJECTS = test-time.$(OBJEXT)
test_time_LDADD = $(LDADD)
test_time_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \
../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1)
+test_time_h_SOURCES = test-time-h.c
+test_time_h_OBJECTS = test-time-h.$(OBJEXT)
+test_time_h_LDADD = $(LDADD)
+test_time_h_DEPENDENCIES = libtests.a ../lib/libunistring.la \
+ libtests.a ../lib/libunistring.la libtests.a \
+ $(am__DEPENDENCIES_1)
+am_test_u_version_OBJECTS = unimetadata/test-u-version.$(OBJEXT)
+test_u_version_OBJECTS = $(am_test_u_version_OBJECTS)
+test_u_version_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u16_asnprintf1_OBJECTS = \
unistdio/test-u16-asnprintf1.$(OBJEXT)
test_u16_asnprintf1_OBJECTS = $(am_test_u16_asnprintf1_OBJECTS)
@@ -2624,6 +2856,9 @@ test_u16_normcmp_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u16_normcoll_OBJECTS = uninorm/test-u16-normcoll.$(OBJEXT)
test_u16_normcoll_OBJECTS = $(am_test_u16_normcoll_OBJECTS)
test_u16_normcoll_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_u16_pcpy_OBJECTS = unistr/test-u16-pcpy.$(OBJEXT)
+test_u16_pcpy_OBJECTS = $(am_test_u16_pcpy_OBJECTS)
+test_u16_pcpy_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u16_possible_linebreaks_OBJECTS = \
unilbrk/test-u16-possible-linebreaks.$(OBJEXT)
test_u16_possible_linebreaks_OBJECTS = \
@@ -2871,6 +3106,9 @@ test_u32_normcmp_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u32_normcoll_OBJECTS = uninorm/test-u32-normcoll.$(OBJEXT)
test_u32_normcoll_OBJECTS = $(am_test_u32_normcoll_OBJECTS)
test_u32_normcoll_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_u32_pcpy_OBJECTS = unistr/test-u32-pcpy.$(OBJEXT)
+test_u32_pcpy_OBJECTS = $(am_test_u32_pcpy_OBJECTS)
+test_u32_pcpy_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u32_possible_linebreaks_OBJECTS = \
unilbrk/test-u32-possible-linebreaks.$(OBJEXT)
test_u32_possible_linebreaks_OBJECTS = \
@@ -3100,6 +3338,9 @@ test_u8_normcmp_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u8_normcoll_OBJECTS = uninorm/test-u8-normcoll.$(OBJEXT)
test_u8_normcoll_OBJECTS = $(am_test_u8_normcoll_OBJECTS)
test_u8_normcoll_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_u8_pcpy_OBJECTS = unistr/test-u8-pcpy.$(OBJEXT)
+test_u8_pcpy_OBJECTS = $(am_test_u8_pcpy_OBJECTS)
+test_u8_pcpy_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_u8_possible_linebreaks_OBJECTS = \
unilbrk/test-u8-possible-linebreaks.$(OBJEXT)
test_u8_possible_linebreaks_OBJECTS = \
@@ -3258,6 +3499,11 @@ test_uc_width_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_test_uc_width2_OBJECTS = uniwidth/test-uc_width2.$(OBJEXT)
test_uc_width2_OBJECTS = $(am_test_uc_width2_OBJECTS)
test_uc_width2_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_uchar_SOURCES = test-uchar.c
+test_uchar_OBJECTS = test-uchar.$(OBJEXT)
+test_uchar_LDADD = $(LDADD)
+test_uchar_DEPENDENCIES = libtests.a ../lib/libunistring.la libtests.a \
+ ../lib/libunistring.la libtests.a $(am__DEPENDENCIES_1)
am_test_ulc_asnprintf1_OBJECTS = \
unistdio/test-ulc-asnprintf1.$(OBJEXT)
test_ulc_asnprintf1_OBJECTS = $(am_test_ulc_asnprintf1_OBJECTS)
@@ -3404,56 +3650,67 @@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
./$(DEPDIR)/basename-lgpl.Po ./$(DEPDIR)/binary-io.Po \
- ./$(DEPDIR)/bind.Po ./$(DEPDIR)/btowc.Po ./$(DEPDIR)/calloc.Po \
- ./$(DEPDIR)/cloexec.Po ./$(DEPDIR)/close.Po \
- ./$(DEPDIR)/connect.Po ./$(DEPDIR)/dup2.Po \
- ./$(DEPDIR)/error.Po ./$(DEPDIR)/exitfail.Po \
- ./$(DEPDIR)/fcntl.Po ./$(DEPDIR)/fd-hook.Po \
- ./$(DEPDIR)/fdopen.Po ./$(DEPDIR)/fstat.Po \
- ./$(DEPDIR)/ftruncate.Po ./$(DEPDIR)/getcwd-lgpl.Po \
- ./$(DEPDIR)/getdtablesize.Po ./$(DEPDIR)/getpagesize.Po \
- ./$(DEPDIR)/getprogname.Po ./$(DEPDIR)/gettimeofday.Po \
- ./$(DEPDIR)/ialloc.Po ./$(DEPDIR)/iconvsupport.Po \
- ./$(DEPDIR)/inet_pton.Po ./$(DEPDIR)/ioctl.Po \
- ./$(DEPDIR)/isblank.Po ./$(DEPDIR)/listen.Po \
- ./$(DEPDIR)/locale.Po ./$(DEPDIR)/lstat.Po \
- ./$(DEPDIR)/malloc.Po ./$(DEPDIR)/mbtowc.Po \
- ./$(DEPDIR)/msvc-inval.Po ./$(DEPDIR)/msvc-nothrow.Po \
- ./$(DEPDIR)/nanosleep.Po ./$(DEPDIR)/open.Po \
- ./$(DEPDIR)/perror.Po ./$(DEPDIR)/pipe.Po \
+ ./$(DEPDIR)/bind.Po ./$(DEPDIR)/btoc32.Po ./$(DEPDIR)/btowc.Po \
+ ./$(DEPDIR)/c32rtomb.Po ./$(DEPDIR)/c32tob.Po \
+ ./$(DEPDIR)/calloc.Po ./$(DEPDIR)/cloexec.Po \
+ ./$(DEPDIR)/close.Po ./$(DEPDIR)/connect.Po \
+ ./$(DEPDIR)/dup2.Po ./$(DEPDIR)/error.Po \
+ ./$(DEPDIR)/exitfail.Po ./$(DEPDIR)/fcntl.Po \
+ ./$(DEPDIR)/fd-hook.Po ./$(DEPDIR)/fdopen.Po \
+ ./$(DEPDIR)/fstat.Po ./$(DEPDIR)/ftruncate.Po \
+ ./$(DEPDIR)/getcwd-lgpl.Po ./$(DEPDIR)/getdtablesize.Po \
+ ./$(DEPDIR)/getpagesize.Po ./$(DEPDIR)/getprogname.Po \
+ ./$(DEPDIR)/gettimeofday.Po ./$(DEPDIR)/ialloc.Po \
+ ./$(DEPDIR)/iconvsupport.Po ./$(DEPDIR)/inet_pton.Po \
+ ./$(DEPDIR)/ioctl.Po ./$(DEPDIR)/isblank.Po \
+ ./$(DEPDIR)/listen.Po ./$(DEPDIR)/locale.Po \
+ ./$(DEPDIR)/lstat.Po ./$(DEPDIR)/malloc.Po \
+ ./$(DEPDIR)/mbtowc.Po ./$(DEPDIR)/msvc-inval.Po \
+ ./$(DEPDIR)/msvc-nothrow.Po ./$(DEPDIR)/nanosleep.Po \
+ ./$(DEPDIR)/open.Po ./$(DEPDIR)/perror.Po ./$(DEPDIR)/pipe.Po \
./$(DEPDIR)/pselect.Po ./$(DEPDIR)/pthread-thread.Po \
./$(DEPDIR)/pthread_sigmask.Po ./$(DEPDIR)/putenv.Po \
- ./$(DEPDIR)/raise.Po ./$(DEPDIR)/randomd.Po \
+ ./$(DEPDIR)/raise.Po ./$(DEPDIR)/random.Po \
+ ./$(DEPDIR)/random_r.Po ./$(DEPDIR)/randomd.Po \
./$(DEPDIR)/randoml.Po ./$(DEPDIR)/realloc.Po \
- ./$(DEPDIR)/reallocarray.Po ./$(DEPDIR)/sched_yield.Po \
- ./$(DEPDIR)/select.Po ./$(DEPDIR)/setenv.Po \
- ./$(DEPDIR)/setlocale.Po ./$(DEPDIR)/setsockopt.Po \
- ./$(DEPDIR)/sigprocmask.Po ./$(DEPDIR)/sleep.Po \
- ./$(DEPDIR)/socket.Po ./$(DEPDIR)/sockets.Po \
- ./$(DEPDIR)/stat-time.Po ./$(DEPDIR)/stat-w32.Po \
- ./$(DEPDIR)/stat.Po ./$(DEPDIR)/stdio-read.Po \
- ./$(DEPDIR)/stdio-write.Po ./$(DEPDIR)/strerror-override.Po \
- ./$(DEPDIR)/strerror.Po ./$(DEPDIR)/strerror_r.Po \
- ./$(DEPDIR)/symlink.Po ./$(DEPDIR)/sys_socket.Po \
- ./$(DEPDIR)/test-accept.Po ./$(DEPDIR)/test-alloca-opt.Po \
+ ./$(DEPDIR)/reallocarray.Po ./$(DEPDIR)/same-inode.Po \
+ ./$(DEPDIR)/sched_yield.Po ./$(DEPDIR)/select.Po \
+ ./$(DEPDIR)/setenv.Po ./$(DEPDIR)/setlocale.Po \
+ ./$(DEPDIR)/setsockopt.Po ./$(DEPDIR)/sigprocmask.Po \
+ ./$(DEPDIR)/sleep.Po ./$(DEPDIR)/socket.Po \
+ ./$(DEPDIR)/sockets.Po ./$(DEPDIR)/stat-time.Po \
+ ./$(DEPDIR)/stat-w32.Po ./$(DEPDIR)/stat.Po \
+ ./$(DEPDIR)/stdio-read.Po ./$(DEPDIR)/stdio-write.Po \
+ ./$(DEPDIR)/strerror-override.Po ./$(DEPDIR)/strerror.Po \
+ ./$(DEPDIR)/strerror_r.Po ./$(DEPDIR)/symlink.Po \
+ ./$(DEPDIR)/sys_socket.Po ./$(DEPDIR)/test-accept.Po \
+ ./$(DEPDIR)/test-alignasof.Po ./$(DEPDIR)/test-alloca-opt.Po \
./$(DEPDIR)/test-arpa_inet.Po \
./$(DEPDIR)/test-array-mergesort.Po ./$(DEPDIR)/test-assert.Po \
./$(DEPDIR)/test-binary-io.Po ./$(DEPDIR)/test-bind.Po \
- ./$(DEPDIR)/test-btowc.Po ./$(DEPDIR)/test-c-ctype.Po \
- ./$(DEPDIR)/test-c-strcasecmp.Po \
+ ./$(DEPDIR)/test-btoc32.Po ./$(DEPDIR)/test-btowc.Po \
+ ./$(DEPDIR)/test-c-ctype.Po ./$(DEPDIR)/test-c-strcasecmp.Po \
./$(DEPDIR)/test-c-strncasecmp.Po \
+ ./$(DEPDIR)/test-c32isalnum.Po ./$(DEPDIR)/test-c32isalpha.Po \
+ ./$(DEPDIR)/test-c32isblank.Po ./$(DEPDIR)/test-c32iscntrl.Po \
+ ./$(DEPDIR)/test-c32isdigit.Po ./$(DEPDIR)/test-c32isgraph.Po \
+ ./$(DEPDIR)/test-c32islower.Po ./$(DEPDIR)/test-c32isprint.Po \
+ ./$(DEPDIR)/test-c32ispunct.Po ./$(DEPDIR)/test-c32isspace.Po \
+ ./$(DEPDIR)/test-c32isupper.Po ./$(DEPDIR)/test-c32isxdigit.Po \
+ ./$(DEPDIR)/test-c32rtomb-w32.Po ./$(DEPDIR)/test-c32rtomb.Po \
+ ./$(DEPDIR)/test-c32tolower.Po ./$(DEPDIR)/test-c32width.Po \
./$(DEPDIR)/test-calloc-gnu.Po ./$(DEPDIR)/test-cloexec.Po \
./$(DEPDIR)/test-close.Po ./$(DEPDIR)/test-connect.Po \
./$(DEPDIR)/test-ctype.Po ./$(DEPDIR)/test-dup2.Po \
./$(DEPDIR)/test-environ.Po ./$(DEPDIR)/test-errno.Po \
- ./$(DEPDIR)/test-fcntl-h.Po ./$(DEPDIR)/test-fcntl.Po \
- ./$(DEPDIR)/test-fdopen.Po ./$(DEPDIR)/test-fgetc.Po \
- ./$(DEPDIR)/test-float.Po ./$(DEPDIR)/test-fputc.Po \
- ./$(DEPDIR)/test-fread.Po ./$(DEPDIR)/test-free.Po \
- ./$(DEPDIR)/test-frexp.Po ./$(DEPDIR)/test-frexpl.Po \
- ./$(DEPDIR)/test-fseterr.Po ./$(DEPDIR)/test-fstat.Po \
- ./$(DEPDIR)/test-ftruncate.Po ./$(DEPDIR)/test-fwrite.Po \
- ./$(DEPDIR)/test-getcwd-lgpl.Po \
+ ./$(DEPDIR)/test-error.Po ./$(DEPDIR)/test-fcntl-h.Po \
+ ./$(DEPDIR)/test-fcntl.Po ./$(DEPDIR)/test-fdopen.Po \
+ ./$(DEPDIR)/test-fgetc.Po ./$(DEPDIR)/test-float.Po \
+ ./$(DEPDIR)/test-fputc.Po ./$(DEPDIR)/test-fread.Po \
+ ./$(DEPDIR)/test-free.Po ./$(DEPDIR)/test-frexp.Po \
+ ./$(DEPDIR)/test-frexpl.Po ./$(DEPDIR)/test-fseterr.Po \
+ ./$(DEPDIR)/test-fstat.Po ./$(DEPDIR)/test-ftruncate.Po \
+ ./$(DEPDIR)/test-fwrite.Po ./$(DEPDIR)/test-getcwd-lgpl.Po \
./$(DEPDIR)/test-getdtablesize.Po \
./$(DEPDIR)/test-getprogname.Po \
./$(DEPDIR)/test-gettimeofday.Po \
@@ -3464,13 +3721,15 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
./$(DEPDIR)/test-isblank.Po ./$(DEPDIR)/test-isnand-nolibm.Po \
./$(DEPDIR)/test-isnanf-nolibm.Po \
./$(DEPDIR)/test-isnanl-nolibm.Po ./$(DEPDIR)/test-iswblank.Po \
- ./$(DEPDIR)/test-iswdigit.Po ./$(DEPDIR)/test-iswxdigit.Po \
- ./$(DEPDIR)/test-langinfo.Po ./$(DEPDIR)/test-limits-h.Po \
+ ./$(DEPDIR)/test-iswdigit.Po ./$(DEPDIR)/test-iswpunct.Po \
+ ./$(DEPDIR)/test-iswxdigit.Po ./$(DEPDIR)/test-langinfo.Po \
+ ./$(DEPDIR)/test-largefile.Po ./$(DEPDIR)/test-limits-h.Po \
./$(DEPDIR)/test-listen.Po ./$(DEPDIR)/test-localcharset.Po \
./$(DEPDIR)/test-locale.Po ./$(DEPDIR)/test-localename.Po \
./$(DEPDIR)/test-lock.Po ./$(DEPDIR)/test-lstat.Po \
./$(DEPDIR)/test-malloc-gnu.Po ./$(DEPDIR)/test-malloca.Po \
- ./$(DEPDIR)/test-math.Po ./$(DEPDIR)/test-mbrtowc-w32.Po \
+ ./$(DEPDIR)/test-math.Po ./$(DEPDIR)/test-mbrtoc32-w32.Po \
+ ./$(DEPDIR)/test-mbrtoc32.Po ./$(DEPDIR)/test-mbrtowc-w32.Po \
./$(DEPDIR)/test-mbrtowc.Po ./$(DEPDIR)/test-mbsinit.Po \
./$(DEPDIR)/test-memchr.Po ./$(DEPDIR)/test-nanosleep.Po \
./$(DEPDIR)/test-netinet_in.Po ./$(DEPDIR)/test-once.Po \
@@ -3481,7 +3740,8 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
./$(DEPDIR)/test-pthread-thread.Po ./$(DEPDIR)/test-pthread.Po \
./$(DEPDIR)/test-pthread_sigmask1.Po \
./$(DEPDIR)/test-pthread_sigmask2.Po ./$(DEPDIR)/test-raise.Po \
- ./$(DEPDIR)/test-realloc-gnu.Po \
+ ./$(DEPDIR)/test-random-mt.Po ./$(DEPDIR)/test-random.Po \
+ ./$(DEPDIR)/test-random_r.Po ./$(DEPDIR)/test-realloc-gnu.Po \
./$(DEPDIR)/test-reallocarray.Po ./$(DEPDIR)/test-rwlock1.Po \
./$(DEPDIR)/test-sched.Po ./$(DEPDIR)/test-select-fd.Po \
./$(DEPDIR)/test-select-stdin.Po ./$(DEPDIR)/test-select.Po \
@@ -3489,35 +3749,37 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
./$(DEPDIR)/test-setlocale2.Po \
./$(DEPDIR)/test-setlocale_null-mt-all.Po \
./$(DEPDIR)/test-setlocale_null-mt-one.Po \
+ ./$(DEPDIR)/test-setlocale_null-unlocked.Po \
./$(DEPDIR)/test-setlocale_null.Po \
./$(DEPDIR)/test-setsockopt.Po ./$(DEPDIR)/test-signal-h.Po \
./$(DEPDIR)/test-signbit.Po ./$(DEPDIR)/test-sigprocmask.Po \
./$(DEPDIR)/test-sleep.Po ./$(DEPDIR)/test-sockets.Po \
./$(DEPDIR)/test-stat-time.Po ./$(DEPDIR)/test-stat.Po \
- ./$(DEPDIR)/test-stdalign.Po ./$(DEPDIR)/test-stdbool.Po \
- ./$(DEPDIR)/test-stdckdint.Po ./$(DEPDIR)/test-stddef.Po \
- ./$(DEPDIR)/test-stdint.Po ./$(DEPDIR)/test-stdio.Po \
- ./$(DEPDIR)/test-stdlib.Po ./$(DEPDIR)/test-strerror.Po \
- ./$(DEPDIR)/test-strerror_r.Po ./$(DEPDIR)/test-striconveh.Po \
- ./$(DEPDIR)/test-striconveha.Po ./$(DEPDIR)/test-string.Po \
- ./$(DEPDIR)/test-strncat.Po ./$(DEPDIR)/test-strstr.Po \
- ./$(DEPDIR)/test-symlink.Po ./$(DEPDIR)/test-sys_ioctl.Po \
- ./$(DEPDIR)/test-sys_select.Po ./$(DEPDIR)/test-sys_socket.Po \
- ./$(DEPDIR)/test-sys_stat.Po ./$(DEPDIR)/test-sys_time.Po \
- ./$(DEPDIR)/test-sys_types.Po ./$(DEPDIR)/test-sys_uio.Po \
- ./$(DEPDIR)/test-thread_create.Po \
- ./$(DEPDIR)/test-thread_self.Po ./$(DEPDIR)/test-time.Po \
+ ./$(DEPDIR)/test-stdbool.Po ./$(DEPDIR)/test-stdckdint.Po \
+ ./$(DEPDIR)/test-stddef.Po ./$(DEPDIR)/test-stdint.Po \
+ ./$(DEPDIR)/test-stdio.Po ./$(DEPDIR)/test-stdlib.Po \
+ ./$(DEPDIR)/test-strerror.Po ./$(DEPDIR)/test-strerror_r.Po \
+ ./$(DEPDIR)/test-striconveh.Po ./$(DEPDIR)/test-striconveha.Po \
+ ./$(DEPDIR)/test-string.Po ./$(DEPDIR)/test-strncat.Po \
+ ./$(DEPDIR)/test-strstr.Po ./$(DEPDIR)/test-symlink.Po \
+ ./$(DEPDIR)/test-sys_ioctl.Po ./$(DEPDIR)/test-sys_select.Po \
+ ./$(DEPDIR)/test-sys_socket.Po ./$(DEPDIR)/test-sys_stat.Po \
+ ./$(DEPDIR)/test-sys_time.Po ./$(DEPDIR)/test-sys_types.Po \
+ ./$(DEPDIR)/test-sys_uio.Po ./$(DEPDIR)/test-thread_create.Po \
+ ./$(DEPDIR)/test-thread_self.Po ./$(DEPDIR)/test-time-h.Po \
+ ./$(DEPDIR)/test-time.Po ./$(DEPDIR)/test-uchar.Po \
./$(DEPDIR)/test-unistd.Po ./$(DEPDIR)/test-unsetenv.Po \
./$(DEPDIR)/test-usleep.Po ./$(DEPDIR)/test-verify-try.Po \
./$(DEPDIR)/test-verify.Po ./$(DEPDIR)/test-wchar.Po \
./$(DEPDIR)/test-wcrtomb-w32.Po ./$(DEPDIR)/test-wcrtomb.Po \
./$(DEPDIR)/test-wctype-h.Po ./$(DEPDIR)/test-wcwidth.Po \
- ./$(DEPDIR)/test-xalloc-die.Po ./$(DEPDIR)/unsetenv.Po \
- ./$(DEPDIR)/usleep.Po ./$(DEPDIR)/wcrtomb.Po \
- ./$(DEPDIR)/wctob.Po ./$(DEPDIR)/wctomb.Po \
- ./$(DEPDIR)/windows-thread.Po ./$(DEPDIR)/windows-tls.Po \
- ./$(DEPDIR)/xalloc-die.Po ./$(DEPDIR)/xmalloc.Po \
- glthread/$(DEPDIR)/thread.Po unicase/$(DEPDIR)/test-cased.Po \
+ ./$(DEPDIR)/test-xalloc-die.Po ./$(DEPDIR)/time.Po \
+ ./$(DEPDIR)/unsetenv.Po ./$(DEPDIR)/usleep.Po \
+ ./$(DEPDIR)/wcrtomb.Po ./$(DEPDIR)/wctob.Po \
+ ./$(DEPDIR)/wctomb.Po ./$(DEPDIR)/windows-thread.Po \
+ ./$(DEPDIR)/windows-tls.Po ./$(DEPDIR)/xalloc-die.Po \
+ ./$(DEPDIR)/xmalloc.Po glthread/$(DEPDIR)/thread.Po \
+ unicase/$(DEPDIR)/test-cased.Po \
unicase/$(DEPDIR)/test-ignorable.Po \
unicase/$(DEPDIR)/test-locale-language.Po \
unicase/$(DEPDIR)/test-u16-casecmp.Po \
@@ -3643,6 +3905,9 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unictype/$(DEPDIR)/test-ctype_xdigit.Po \
unictype/$(DEPDIR)/test-decdigit.Po \
unictype/$(DEPDIR)/test-digit.Po \
+ unictype/$(DEPDIR)/test-incb_byname.Po \
+ unictype/$(DEPDIR)/test-incb_name.Po \
+ unictype/$(DEPDIR)/test-incb_of.Po \
unictype/$(DEPDIR)/test-joininggroup_byname.Po \
unictype/$(DEPDIR)/test-joininggroup_name.Po \
unictype/$(DEPDIR)/test-joininggroup_of.Po \
@@ -3700,11 +3965,14 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unictype/$(DEPDIR)/test-pr_grapheme_link.Po \
unictype/$(DEPDIR)/test-pr_hex_digit.Po \
unictype/$(DEPDIR)/test-pr_hyphen.Po \
+ unictype/$(DEPDIR)/test-pr_id_compat_math_continue.Po \
+ unictype/$(DEPDIR)/test-pr_id_compat_math_start.Po \
unictype/$(DEPDIR)/test-pr_id_continue.Po \
unictype/$(DEPDIR)/test-pr_id_start.Po \
unictype/$(DEPDIR)/test-pr_ideographic.Po \
unictype/$(DEPDIR)/test-pr_ids_binary_operator.Po \
unictype/$(DEPDIR)/test-pr_ids_trinary_operator.Po \
+ unictype/$(DEPDIR)/test-pr_ids_unary_operator.Po \
unictype/$(DEPDIR)/test-pr_ignorable_control.Po \
unictype/$(DEPDIR)/test-pr_iso_control.Po \
unictype/$(DEPDIR)/test-pr_join_control.Po \
@@ -3728,6 +3996,7 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unictype/$(DEPDIR)/test-pr_paragraph_separator.Po \
unictype/$(DEPDIR)/test-pr_pattern_syntax.Po \
unictype/$(DEPDIR)/test-pr_pattern_white_space.Po \
+ unictype/$(DEPDIR)/test-pr_prepended_concatenation_mark.Po \
unictype/$(DEPDIR)/test-pr_private_use.Po \
unictype/$(DEPDIR)/test-pr_punctuation.Po \
unictype/$(DEPDIR)/test-pr_quotation_mark.Po \
@@ -3773,6 +4042,7 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unilbrk/$(DEPDIR)/test-u8-width-linebreaks.Po \
unilbrk/$(DEPDIR)/test-ulc-possible-linebreaks.Po \
unilbrk/$(DEPDIR)/test-ulc-width-linebreaks.Po \
+ unimetadata/$(DEPDIR)/test-u-version.Po \
uniname/$(DEPDIR)/test-uninames.Po \
uninorm/$(DEPDIR)/test-canonical-decomposition.Po \
uninorm/$(DEPDIR)/test-compat-decomposition.Po \
@@ -3846,6 +4116,7 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unistr/$(DEPDIR)/test-u16-mbtoucr.Po \
unistr/$(DEPDIR)/test-u16-move.Po \
unistr/$(DEPDIR)/test-u16-next.Po \
+ unistr/$(DEPDIR)/test-u16-pcpy.Po \
unistr/$(DEPDIR)/test-u16-prev.Po \
unistr/$(DEPDIR)/test-u16-set.Po \
unistr/$(DEPDIR)/test-u16-stpcpy.Po \
@@ -3881,6 +4152,7 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unistr/$(DEPDIR)/test-u32-mbtoucr.Po \
unistr/$(DEPDIR)/test-u32-move.Po \
unistr/$(DEPDIR)/test-u32-next.Po \
+ unistr/$(DEPDIR)/test-u32-pcpy.Po \
unistr/$(DEPDIR)/test-u32-prev.Po \
unistr/$(DEPDIR)/test-u32-set.Po \
unistr/$(DEPDIR)/test-u32-stpcpy.Po \
@@ -3916,6 +4188,7 @@ am__depfiles_remade = ./$(DEPDIR)/accept.Po ./$(DEPDIR)/alloca.Po \
unistr/$(DEPDIR)/test-u8-mbtoucr.Po \
unistr/$(DEPDIR)/test-u8-move.Po \
unistr/$(DEPDIR)/test-u8-next.Po \
+ unistr/$(DEPDIR)/test-u8-pcpy.Po \
unistr/$(DEPDIR)/test-u8-prev.Po \
unistr/$(DEPDIR)/test-u8-set.Po \
unistr/$(DEPDIR)/test-u8-stpcpy.Po \
@@ -3971,14 +4244,20 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
- $(current_locale_SOURCES) test-accept.c test-alloca-opt.c \
- test-arpa_inet.c test-array-mergesort.c test-assert.c \
- $(test_bidi_byname_SOURCES) $(test_bidi_longname_SOURCES) \
- $(test_bidi_name_SOURCES) $(test_bidi_of_SOURCES) \
- $(test_bidi_test_SOURCES) test-binary-io.c test-bind.c \
- $(test_block_list_SOURCES) $(test_block_of_SOURCES) \
- $(test_block_test_SOURCES) test-btowc.c test-c-ctype.c \
- test-c-strcasecmp.c test-c-strncasecmp.c test-calloc-gnu.c \
+ $(current_locale_SOURCES) test-accept.c test-alignasof.c \
+ test-alloca-opt.c test-arpa_inet.c test-array-mergesort.c \
+ test-assert.c $(test_bidi_byname_SOURCES) \
+ $(test_bidi_longname_SOURCES) $(test_bidi_name_SOURCES) \
+ $(test_bidi_of_SOURCES) $(test_bidi_test_SOURCES) \
+ test-binary-io.c test-bind.c $(test_block_list_SOURCES) \
+ $(test_block_of_SOURCES) $(test_block_test_SOURCES) \
+ test-btoc32.c test-btowc.c test-c-ctype.c test-c-strcasecmp.c \
+ test-c-strncasecmp.c test-c32isalnum.c test-c32isalpha.c \
+ test-c32isblank.c test-c32iscntrl.c test-c32isdigit.c \
+ test-c32isgraph.c test-c32islower.c test-c32isprint.c \
+ test-c32ispunct.c test-c32isspace.c test-c32isupper.c \
+ test-c32isxdigit.c test-c32rtomb.c test-c32rtomb-w32.c \
+ test-c32tolower.c test-c32width.c test-calloc-gnu.c \
$(test_canonical_decomposition_SOURCES) $(test_cased_SOURCES) \
$(test_categ_C_SOURCES) $(test_categ_Cc_SOURCES) \
$(test_categ_Cf_SOURCES) $(test_categ_Cn_SOURCES) \
@@ -4018,28 +4297,32 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_ctype_upper_SOURCES) $(test_ctype_xdigit_SOURCES) \
$(test_decdigit_SOURCES) $(test_decomposing_form_SOURCES) \
$(test_decomposition_SOURCES) $(test_digit_SOURCES) \
- test-dup2.c test-environ.c test-errno.c test-fcntl.c \
- test-fcntl-h.c test-fdopen.c test-fgetc.c test-float.c \
- test-fputc.c test-fread.c test-free.c \
+ test-dup2.c test-environ.c test-errno.c test-error.c \
+ test-fcntl.c test-fcntl-h.c test-fdopen.c test-fgetc.c \
+ test-float.c test-fputc.c test-fread.c test-free.c \
$(test_frexp_nolibm_SOURCES) $(test_frexpl_nolibm_SOURCES) \
test-fseterr.c test-fstat.c test-ftruncate.c test-fwrite.c \
test-getcwd-lgpl.c test-getdtablesize.c test-getprogname.c \
test-gettimeofday.c test-hard-locale.c test-iconv.c \
test-iconv-h.c $(test_ignorable_SOURCES) test-ignore-value.c \
- test-inet_pton.c test-intprops.c test-inttypes.c test-ioctl.c \
- test-isblank.c test-isnand-nolibm.c test-isnanf-nolibm.c \
- test-isnanl-nolibm.c test-iswblank.c test-iswdigit.c \
+ $(test_incb_byname_SOURCES) $(test_incb_name_SOURCES) \
+ $(test_incb_of_SOURCES) test-inet_pton.c test-intprops.c \
+ test-inttypes.c test-ioctl.c test-isblank.c \
+ test-isnand-nolibm.c test-isnanf-nolibm.c test-isnanl-nolibm.c \
+ test-iswblank.c test-iswdigit.c test-iswpunct.c \
test-iswxdigit.c $(test_joininggroup_byname_SOURCES) \
$(test_joininggroup_name_SOURCES) \
$(test_joininggroup_of_SOURCES) \
$(test_joiningtype_byname_SOURCES) \
$(test_joiningtype_longname_SOURCES) \
$(test_joiningtype_name_SOURCES) \
- $(test_joiningtype_of_SOURCES) test-langinfo.c test-limits-h.c \
- test-listen.c test-localcharset.c test-locale.c \
+ $(test_joiningtype_of_SOURCES) test-langinfo.c \
+ test-largefile.c test-limits-h.c test-listen.c \
+ test-localcharset.c test-locale.c \
$(test_locale_language_SOURCES) test-localename.c test-lock.c \
test-lstat.c test-malloc-gnu.c test-malloca.c test-math.c \
- test-mbrtowc.c test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \
+ test-mbrtoc32.c test-mbrtoc32-w32.c test-mbrtowc.c \
+ test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \
$(test_mirror_SOURCES) test-nanosleep.c test-netinet_in.c \
$(test_nfc_SOURCES) $(test_nfd_SOURCES) $(test_nfkc_SOURCES) \
$(test_nfkd_SOURCES) $(test_numeric_SOURCES) \
@@ -4084,10 +4367,14 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_pr_grapheme_base_SOURCES) \
$(test_pr_grapheme_extend_SOURCES) \
$(test_pr_grapheme_link_SOURCES) $(test_pr_hex_digit_SOURCES) \
- $(test_pr_hyphen_SOURCES) $(test_pr_id_continue_SOURCES) \
- $(test_pr_id_start_SOURCES) $(test_pr_ideographic_SOURCES) \
+ $(test_pr_hyphen_SOURCES) \
+ $(test_pr_id_compat_math_continue_SOURCES) \
+ $(test_pr_id_compat_math_start_SOURCES) \
+ $(test_pr_id_continue_SOURCES) $(test_pr_id_start_SOURCES) \
+ $(test_pr_ideographic_SOURCES) \
$(test_pr_ids_binary_operator_SOURCES) \
$(test_pr_ids_trinary_operator_SOURCES) \
+ $(test_pr_ids_unary_operator_SOURCES) \
$(test_pr_ignorable_control_SOURCES) \
$(test_pr_iso_control_SOURCES) $(test_pr_join_control_SOURCES) \
$(test_pr_left_of_pair_SOURCES) \
@@ -4108,6 +4395,7 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_pr_paragraph_separator_SOURCES) \
$(test_pr_pattern_syntax_SOURCES) \
$(test_pr_pattern_white_space_SOURCES) \
+ $(test_pr_prepended_concatenation_mark_SOURCES) \
$(test_pr_private_use_SOURCES) $(test_pr_punctuation_SOURCES) \
$(test_pr_quotation_mark_SOURCES) $(test_pr_radical_SOURCES) \
$(test_pr_regional_indicator_SOURCES) \
@@ -4123,15 +4411,16 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_pr_xid_start_SOURCES) $(test_pr_zero_width_SOURCES) \
test-printf-frexp.c test-printf-frexpl.c test-pselect.c \
test-pthread.c test-pthread-thread.c test-pthread_sigmask1.c \
- test-pthread_sigmask2.c test-raise.c test-realloc-gnu.c \
+ test-pthread_sigmask2.c test-raise.c test-random.c \
+ test-random-mt.c test-random_r.c test-realloc-gnu.c \
test-reallocarray.c test-rwlock1.c test-sched.c \
$(test_scripts_SOURCES) test-select.c test-select-fd.c \
test-select-stdin.c test-setenv.c test-setlocale1.c \
test-setlocale2.c test-setlocale_null.c \
test-setlocale_null-mt-all.c test-setlocale_null-mt-one.c \
- test-setsockopt.c test-signal-h.c test-signbit.c \
- test-sigprocmask.c test-sleep.c test-sockets.c test-stat.c \
- test-stat-time.c test-stdalign.c test-stdbool.c \
+ test-setlocale_null-unlocked.c test-setsockopt.c \
+ test-signal-h.c test-signbit.c test-sigprocmask.c test-sleep.c \
+ test-sockets.c test-stat.c test-stat-time.c test-stdbool.c \
test-stdckdint.c test-stddef.c test-stdint.c test-stdio.c \
test-stdlib.c test-strerror.c test-strerror_r.c \
test-striconveh.c $(test_striconveha_SOURCES) test-string.c \
@@ -4141,11 +4430,12 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-sys_ioctl.c test-sys_select.c test-sys_socket.c \
test-sys_stat.c test-sys_time.c test-sys_types.c \
test-sys_uio.c test-thread_create.c test-thread_self.c \
- test-time.c $(test_u16_asnprintf1_SOURCES) \
- $(test_u16_casecmp_SOURCES) $(test_u16_casecoll_SOURCES) \
- $(test_u16_casefold_SOURCES) $(test_u16_check_SOURCES) \
- $(test_u16_chr_SOURCES) $(test_u16_cmp_SOURCES) \
- $(test_u16_cmp2_SOURCES) $(test_u16_conv_from_enc_SOURCES) \
+ test-time.c test-time-h.c $(test_u_version_SOURCES) \
+ $(test_u16_asnprintf1_SOURCES) $(test_u16_casecmp_SOURCES) \
+ $(test_u16_casecoll_SOURCES) $(test_u16_casefold_SOURCES) \
+ $(test_u16_check_SOURCES) $(test_u16_chr_SOURCES) \
+ $(test_u16_cmp_SOURCES) $(test_u16_cmp2_SOURCES) \
+ $(test_u16_conv_from_enc_SOURCES) \
$(test_u16_conv_to_enc_SOURCES) $(test_u16_cpy_SOURCES) \
$(test_u16_cpy_alloc_SOURCES) \
$(test_u16_grapheme_breaks_SOURCES) \
@@ -4159,6 +4449,7 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_u16_mbtouc_unsafe_SOURCES) $(test_u16_mbtoucr_SOURCES) \
$(test_u16_move_SOURCES) $(test_u16_next_SOURCES) \
$(test_u16_normcmp_SOURCES) $(test_u16_normcoll_SOURCES) \
+ $(test_u16_pcpy_SOURCES) \
$(test_u16_possible_linebreaks_SOURCES) \
$(test_u16_prev_SOURCES) $(test_u16_set_SOURCES) \
$(test_u16_stpcpy_SOURCES) $(test_u16_stpncpy_SOURCES) \
@@ -4199,6 +4490,7 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_u32_nfc_big_SOURCES) $(test_u32_nfd_big_SOURCES) \
$(test_u32_nfkc_big_SOURCES) $(test_u32_nfkd_big_SOURCES) \
$(test_u32_normcmp_SOURCES) $(test_u32_normcoll_SOURCES) \
+ $(test_u32_pcpy_SOURCES) \
$(test_u32_possible_linebreaks_SOURCES) \
$(test_u32_prev_SOURCES) $(test_u32_set_SOURCES) \
$(test_u32_stpcpy_SOURCES) $(test_u32_stpncpy_SOURCES) \
@@ -4237,11 +4529,12 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_u8_mbtouc_unsafe_SOURCES) $(test_u8_mbtoucr_SOURCES) \
$(test_u8_move_SOURCES) $(test_u8_next_SOURCES) \
$(test_u8_normcmp_SOURCES) $(test_u8_normcoll_SOURCES) \
- $(test_u8_possible_linebreaks_SOURCES) $(test_u8_prev_SOURCES) \
- $(test_u8_set_SOURCES) $(test_u8_stpcpy_SOURCES) \
- $(test_u8_stpncpy_SOURCES) $(test_u8_strcat_SOURCES) \
- $(test_u8_strchr_SOURCES) $(test_u8_strcmp_SOURCES) \
- $(test_u8_strcoll_SOURCES) $(test_u8_strconv_from_enc_SOURCES) \
+ $(test_u8_pcpy_SOURCES) $(test_u8_possible_linebreaks_SOURCES) \
+ $(test_u8_prev_SOURCES) $(test_u8_set_SOURCES) \
+ $(test_u8_stpcpy_SOURCES) $(test_u8_stpncpy_SOURCES) \
+ $(test_u8_strcat_SOURCES) $(test_u8_strchr_SOURCES) \
+ $(test_u8_strcmp_SOURCES) $(test_u8_strcoll_SOURCES) \
+ $(test_u8_strconv_from_enc_SOURCES) \
$(test_u8_strconv_to_enc_SOURCES) $(test_u8_strcpy_SOURCES) \
$(test_u8_strdup_SOURCES) $(test_u8_strlen_SOURCES) \
$(test_u8_strmblen_SOURCES) $(test_u8_strmbtouc_SOURCES) \
@@ -4262,8 +4555,8 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
$(test_uc_wordbreaks_SOURCES) $(test_uc_tolower_SOURCES) \
$(test_uc_totitle_SOURCES) $(test_uc_toupper_SOURCES) \
$(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \
- $(test_ulc_asnprintf1_SOURCES) $(test_ulc_casecmp_SOURCES) \
- $(test_ulc_casecoll_SOURCES) \
+ test-uchar.c $(test_ulc_asnprintf1_SOURCES) \
+ $(test_ulc_casecmp_SOURCES) $(test_ulc_casecoll_SOURCES) \
$(test_ulc_grapheme_breaks_SOURCES) \
$(test_ulc_possible_linebreaks_SOURCES) \
$(test_ulc_vasnprintf1_SOURCES) \
@@ -4278,14 +4571,20 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-wcwidth.c test-xalloc-die.c
DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(EXTRA_libtests_a_SOURCES) $(current_locale_SOURCES) \
- test-accept.c test-alloca-opt.c test-arpa_inet.c \
- test-array-mergesort.c test-assert.c \
+ test-accept.c test-alignasof.c test-alloca-opt.c \
+ test-arpa_inet.c test-array-mergesort.c test-assert.c \
$(test_bidi_byname_SOURCES) $(test_bidi_longname_SOURCES) \
$(test_bidi_name_SOURCES) $(test_bidi_of_SOURCES) \
$(test_bidi_test_SOURCES) test-binary-io.c test-bind.c \
$(test_block_list_SOURCES) $(test_block_of_SOURCES) \
- $(test_block_test_SOURCES) test-btowc.c test-c-ctype.c \
- test-c-strcasecmp.c test-c-strncasecmp.c test-calloc-gnu.c \
+ $(test_block_test_SOURCES) test-btoc32.c test-btowc.c \
+ test-c-ctype.c test-c-strcasecmp.c test-c-strncasecmp.c \
+ test-c32isalnum.c test-c32isalpha.c test-c32isblank.c \
+ test-c32iscntrl.c test-c32isdigit.c test-c32isgraph.c \
+ test-c32islower.c test-c32isprint.c test-c32ispunct.c \
+ test-c32isspace.c test-c32isupper.c test-c32isxdigit.c \
+ test-c32rtomb.c test-c32rtomb-w32.c test-c32tolower.c \
+ test-c32width.c test-calloc-gnu.c \
$(test_canonical_decomposition_SOURCES) $(test_cased_SOURCES) \
$(test_categ_C_SOURCES) $(test_categ_Cc_SOURCES) \
$(test_categ_Cf_SOURCES) $(test_categ_Cn_SOURCES) \
@@ -4325,28 +4624,32 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_ctype_upper_SOURCES) $(test_ctype_xdigit_SOURCES) \
$(test_decdigit_SOURCES) $(test_decomposing_form_SOURCES) \
$(test_decomposition_SOURCES) $(test_digit_SOURCES) \
- test-dup2.c test-environ.c test-errno.c test-fcntl.c \
- test-fcntl-h.c test-fdopen.c test-fgetc.c test-float.c \
- test-fputc.c test-fread.c test-free.c \
+ test-dup2.c test-environ.c test-errno.c test-error.c \
+ test-fcntl.c test-fcntl-h.c test-fdopen.c test-fgetc.c \
+ test-float.c test-fputc.c test-fread.c test-free.c \
$(test_frexp_nolibm_SOURCES) $(test_frexpl_nolibm_SOURCES) \
test-fseterr.c test-fstat.c test-ftruncate.c test-fwrite.c \
test-getcwd-lgpl.c test-getdtablesize.c test-getprogname.c \
test-gettimeofday.c test-hard-locale.c test-iconv.c \
test-iconv-h.c $(test_ignorable_SOURCES) test-ignore-value.c \
- test-inet_pton.c test-intprops.c test-inttypes.c test-ioctl.c \
- test-isblank.c test-isnand-nolibm.c test-isnanf-nolibm.c \
- test-isnanl-nolibm.c test-iswblank.c test-iswdigit.c \
+ $(test_incb_byname_SOURCES) $(test_incb_name_SOURCES) \
+ $(test_incb_of_SOURCES) test-inet_pton.c test-intprops.c \
+ test-inttypes.c test-ioctl.c test-isblank.c \
+ test-isnand-nolibm.c test-isnanf-nolibm.c test-isnanl-nolibm.c \
+ test-iswblank.c test-iswdigit.c test-iswpunct.c \
test-iswxdigit.c $(test_joininggroup_byname_SOURCES) \
$(test_joininggroup_name_SOURCES) \
$(test_joininggroup_of_SOURCES) \
$(test_joiningtype_byname_SOURCES) \
$(test_joiningtype_longname_SOURCES) \
$(test_joiningtype_name_SOURCES) \
- $(test_joiningtype_of_SOURCES) test-langinfo.c test-limits-h.c \
- test-listen.c test-localcharset.c test-locale.c \
+ $(test_joiningtype_of_SOURCES) test-langinfo.c \
+ test-largefile.c test-limits-h.c test-listen.c \
+ test-localcharset.c test-locale.c \
$(test_locale_language_SOURCES) test-localename.c test-lock.c \
test-lstat.c test-malloc-gnu.c test-malloca.c test-math.c \
- test-mbrtowc.c test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \
+ test-mbrtoc32.c test-mbrtoc32-w32.c test-mbrtowc.c \
+ test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \
$(test_mirror_SOURCES) test-nanosleep.c test-netinet_in.c \
$(test_nfc_SOURCES) $(test_nfd_SOURCES) $(test_nfkc_SOURCES) \
$(test_nfkd_SOURCES) $(test_numeric_SOURCES) \
@@ -4391,10 +4694,14 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_pr_grapheme_base_SOURCES) \
$(test_pr_grapheme_extend_SOURCES) \
$(test_pr_grapheme_link_SOURCES) $(test_pr_hex_digit_SOURCES) \
- $(test_pr_hyphen_SOURCES) $(test_pr_id_continue_SOURCES) \
- $(test_pr_id_start_SOURCES) $(test_pr_ideographic_SOURCES) \
+ $(test_pr_hyphen_SOURCES) \
+ $(test_pr_id_compat_math_continue_SOURCES) \
+ $(test_pr_id_compat_math_start_SOURCES) \
+ $(test_pr_id_continue_SOURCES) $(test_pr_id_start_SOURCES) \
+ $(test_pr_ideographic_SOURCES) \
$(test_pr_ids_binary_operator_SOURCES) \
$(test_pr_ids_trinary_operator_SOURCES) \
+ $(test_pr_ids_unary_operator_SOURCES) \
$(test_pr_ignorable_control_SOURCES) \
$(test_pr_iso_control_SOURCES) $(test_pr_join_control_SOURCES) \
$(test_pr_left_of_pair_SOURCES) \
@@ -4415,6 +4722,7 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_pr_paragraph_separator_SOURCES) \
$(test_pr_pattern_syntax_SOURCES) \
$(test_pr_pattern_white_space_SOURCES) \
+ $(test_pr_prepended_concatenation_mark_SOURCES) \
$(test_pr_private_use_SOURCES) $(test_pr_punctuation_SOURCES) \
$(test_pr_quotation_mark_SOURCES) $(test_pr_radical_SOURCES) \
$(test_pr_regional_indicator_SOURCES) \
@@ -4430,15 +4738,16 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_pr_xid_start_SOURCES) $(test_pr_zero_width_SOURCES) \
test-printf-frexp.c test-printf-frexpl.c test-pselect.c \
test-pthread.c test-pthread-thread.c test-pthread_sigmask1.c \
- test-pthread_sigmask2.c test-raise.c test-realloc-gnu.c \
+ test-pthread_sigmask2.c test-raise.c test-random.c \
+ test-random-mt.c test-random_r.c test-realloc-gnu.c \
test-reallocarray.c test-rwlock1.c test-sched.c \
$(test_scripts_SOURCES) test-select.c test-select-fd.c \
test-select-stdin.c test-setenv.c test-setlocale1.c \
test-setlocale2.c test-setlocale_null.c \
test-setlocale_null-mt-all.c test-setlocale_null-mt-one.c \
- test-setsockopt.c test-signal-h.c test-signbit.c \
- test-sigprocmask.c test-sleep.c test-sockets.c test-stat.c \
- test-stat-time.c test-stdalign.c test-stdbool.c \
+ test-setlocale_null-unlocked.c test-setsockopt.c \
+ test-signal-h.c test-signbit.c test-sigprocmask.c test-sleep.c \
+ test-sockets.c test-stat.c test-stat-time.c test-stdbool.c \
test-stdckdint.c test-stddef.c test-stdint.c test-stdio.c \
test-stdlib.c test-strerror.c test-strerror_r.c \
test-striconveh.c $(test_striconveha_SOURCES) test-string.c \
@@ -4448,11 +4757,12 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
test-sys_ioctl.c test-sys_select.c test-sys_socket.c \
test-sys_stat.c test-sys_time.c test-sys_types.c \
test-sys_uio.c test-thread_create.c test-thread_self.c \
- test-time.c $(test_u16_asnprintf1_SOURCES) \
- $(test_u16_casecmp_SOURCES) $(test_u16_casecoll_SOURCES) \
- $(test_u16_casefold_SOURCES) $(test_u16_check_SOURCES) \
- $(test_u16_chr_SOURCES) $(test_u16_cmp_SOURCES) \
- $(test_u16_cmp2_SOURCES) $(test_u16_conv_from_enc_SOURCES) \
+ test-time.c test-time-h.c $(test_u_version_SOURCES) \
+ $(test_u16_asnprintf1_SOURCES) $(test_u16_casecmp_SOURCES) \
+ $(test_u16_casecoll_SOURCES) $(test_u16_casefold_SOURCES) \
+ $(test_u16_check_SOURCES) $(test_u16_chr_SOURCES) \
+ $(test_u16_cmp_SOURCES) $(test_u16_cmp2_SOURCES) \
+ $(test_u16_conv_from_enc_SOURCES) \
$(test_u16_conv_to_enc_SOURCES) $(test_u16_cpy_SOURCES) \
$(test_u16_cpy_alloc_SOURCES) \
$(test_u16_grapheme_breaks_SOURCES) \
@@ -4466,6 +4776,7 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_u16_mbtouc_unsafe_SOURCES) $(test_u16_mbtoucr_SOURCES) \
$(test_u16_move_SOURCES) $(test_u16_next_SOURCES) \
$(test_u16_normcmp_SOURCES) $(test_u16_normcoll_SOURCES) \
+ $(test_u16_pcpy_SOURCES) \
$(test_u16_possible_linebreaks_SOURCES) \
$(test_u16_prev_SOURCES) $(test_u16_set_SOURCES) \
$(test_u16_stpcpy_SOURCES) $(test_u16_stpncpy_SOURCES) \
@@ -4506,6 +4817,7 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_u32_nfc_big_SOURCES) $(test_u32_nfd_big_SOURCES) \
$(test_u32_nfkc_big_SOURCES) $(test_u32_nfkd_big_SOURCES) \
$(test_u32_normcmp_SOURCES) $(test_u32_normcoll_SOURCES) \
+ $(test_u32_pcpy_SOURCES) \
$(test_u32_possible_linebreaks_SOURCES) \
$(test_u32_prev_SOURCES) $(test_u32_set_SOURCES) \
$(test_u32_stpcpy_SOURCES) $(test_u32_stpncpy_SOURCES) \
@@ -4544,11 +4856,12 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_u8_mbtouc_unsafe_SOURCES) $(test_u8_mbtoucr_SOURCES) \
$(test_u8_move_SOURCES) $(test_u8_next_SOURCES) \
$(test_u8_normcmp_SOURCES) $(test_u8_normcoll_SOURCES) \
- $(test_u8_possible_linebreaks_SOURCES) $(test_u8_prev_SOURCES) \
- $(test_u8_set_SOURCES) $(test_u8_stpcpy_SOURCES) \
- $(test_u8_stpncpy_SOURCES) $(test_u8_strcat_SOURCES) \
- $(test_u8_strchr_SOURCES) $(test_u8_strcmp_SOURCES) \
- $(test_u8_strcoll_SOURCES) $(test_u8_strconv_from_enc_SOURCES) \
+ $(test_u8_pcpy_SOURCES) $(test_u8_possible_linebreaks_SOURCES) \
+ $(test_u8_prev_SOURCES) $(test_u8_set_SOURCES) \
+ $(test_u8_stpcpy_SOURCES) $(test_u8_stpncpy_SOURCES) \
+ $(test_u8_strcat_SOURCES) $(test_u8_strchr_SOURCES) \
+ $(test_u8_strcmp_SOURCES) $(test_u8_strcoll_SOURCES) \
+ $(test_u8_strconv_from_enc_SOURCES) \
$(test_u8_strconv_to_enc_SOURCES) $(test_u8_strcpy_SOURCES) \
$(test_u8_strdup_SOURCES) $(test_u8_strlen_SOURCES) \
$(test_u8_strmblen_SOURCES) $(test_u8_strmbtouc_SOURCES) \
@@ -4569,8 +4882,8 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(test_uc_wordbreaks_SOURCES) $(test_uc_tolower_SOURCES) \
$(test_uc_totitle_SOURCES) $(test_uc_toupper_SOURCES) \
$(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \
- $(test_ulc_asnprintf1_SOURCES) $(test_ulc_casecmp_SOURCES) \
- $(test_ulc_casecoll_SOURCES) \
+ test-uchar.c $(test_ulc_asnprintf1_SOURCES) \
+ $(test_ulc_casecmp_SOURCES) $(test_ulc_casecoll_SOURCES) \
$(test_ulc_grapheme_breaks_SOURCES) \
$(test_ulc_possible_linebreaks_SOURCES) \
$(test_ulc_vasnprintf1_SOURCES) \
@@ -4884,6 +5197,8 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ -DEXEEXT=\"@EXEEXT@\"
DEPDIR = @DEPDIR@
@@ -4925,7 +5240,33 @@ GL_GNULIB_ATANF = @GL_GNULIB_ATANF@
GL_GNULIB_ATANL = @GL_GNULIB_ATANL@
GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
GL_GNULIB_BIND = @GL_GNULIB_BIND@
+GL_GNULIB_BTOC32 = @GL_GNULIB_BTOC32@
GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@
+GL_GNULIB_C32ISALNUM = @GL_GNULIB_C32ISALNUM@
+GL_GNULIB_C32ISALPHA = @GL_GNULIB_C32ISALPHA@
+GL_GNULIB_C32ISBLANK = @GL_GNULIB_C32ISBLANK@
+GL_GNULIB_C32ISCNTRL = @GL_GNULIB_C32ISCNTRL@
+GL_GNULIB_C32ISDIGIT = @GL_GNULIB_C32ISDIGIT@
+GL_GNULIB_C32ISGRAPH = @GL_GNULIB_C32ISGRAPH@
+GL_GNULIB_C32ISLOWER = @GL_GNULIB_C32ISLOWER@
+GL_GNULIB_C32ISPRINT = @GL_GNULIB_C32ISPRINT@
+GL_GNULIB_C32ISPUNCT = @GL_GNULIB_C32ISPUNCT@
+GL_GNULIB_C32ISSPACE = @GL_GNULIB_C32ISSPACE@
+GL_GNULIB_C32ISUPPER = @GL_GNULIB_C32ISUPPER@
+GL_GNULIB_C32ISXDIGIT = @GL_GNULIB_C32ISXDIGIT@
+GL_GNULIB_C32RTOMB = @GL_GNULIB_C32RTOMB@
+GL_GNULIB_C32SNRTOMBS = @GL_GNULIB_C32SNRTOMBS@
+GL_GNULIB_C32SRTOMBS = @GL_GNULIB_C32SRTOMBS@
+GL_GNULIB_C32STOMBS = @GL_GNULIB_C32STOMBS@
+GL_GNULIB_C32SWIDTH = @GL_GNULIB_C32SWIDTH@
+GL_GNULIB_C32TOB = @GL_GNULIB_C32TOB@
+GL_GNULIB_C32TOLOWER = @GL_GNULIB_C32TOLOWER@
+GL_GNULIB_C32TOUPPER = @GL_GNULIB_C32TOUPPER@
+GL_GNULIB_C32WIDTH = @GL_GNULIB_C32WIDTH@
+GL_GNULIB_C32_APPLY_MAPPING = @GL_GNULIB_C32_APPLY_MAPPING@
+GL_GNULIB_C32_APPLY_TYPE_TEST = @GL_GNULIB_C32_APPLY_TYPE_TEST@
+GL_GNULIB_C32_GET_MAPPING = @GL_GNULIB_C32_GET_MAPPING@
+GL_GNULIB_C32_GET_TYPE_TEST = @GL_GNULIB_C32_GET_TYPE_TEST@
GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
@@ -5038,6 +5379,7 @@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
GL_GNULIB_GETPEERNAME = @GL_GNULIB_GETPEERNAME@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
GL_GNULIB_GETSOCKNAME = @GL_GNULIB_GETSOCKNAME@
GL_GNULIB_GETSOCKOPT = @GL_GNULIB_GETSOCKOPT@
GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
@@ -5069,16 +5411,18 @@ GL_GNULIB_ISNANL = @GL_GNULIB_ISNANL@
GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@
GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@
GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@
+GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@
GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@
GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LDEXP = @GL_GNULIB_LDEXP@
GL_GNULIB_LDEXPF = @GL_GNULIB_LDEXPF@
GL_GNULIB_LDEXPL = @GL_GNULIB_LDEXPL@
GL_GNULIB_LINK = @GL_GNULIB_LINK@
GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
GL_GNULIB_LISTEN = @GL_GNULIB_LISTEN@
GL_GNULIB_LOCALECONV = @GL_GNULIB_LOCALECONV@
-GL_GNULIB_LOCALENAME = @GL_GNULIB_LOCALENAME@
+GL_GNULIB_LOCALENAME_UNSAFE = @GL_GNULIB_LOCALENAME_UNSAFE@
GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
GL_GNULIB_LOG = @GL_GNULIB_LOG@
GL_GNULIB_LOG10 = @GL_GNULIB_LOG10@
@@ -5100,6 +5444,8 @@ GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@
+GL_GNULIB_MBRTOC16 = @GL_GNULIB_MBRTOC16@
+GL_GNULIB_MBRTOC32 = @GL_GNULIB_MBRTOC32@
GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@
GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
@@ -5109,15 +5455,20 @@ GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@
GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSNRTOC32S = @GL_GNULIB_MBSNRTOC32S@
GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@
GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSRTOC32S = @GL_GNULIB_MBSRTOC32S@
GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@
GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOC32S = @GL_GNULIB_MBSTOC32S@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -5170,6 +5521,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
@@ -5223,6 +5575,7 @@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
GL_GNULIB_RAISE = @GL_GNULIB_RAISE@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
@@ -5297,6 +5650,7 @@ GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOF = @GL_GNULIB_STRTOF@
GL_GNULIB_STRTOIMAX = @GL_GNULIB_STRTOIMAX@
GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
@@ -5312,12 +5666,16 @@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
GL_GNULIB_TANF = @GL_GNULIB_TANF@
GL_GNULIB_TANHF = @GL_GNULIB_TANHF@
GL_GNULIB_TANL = @GL_GNULIB_TANL@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TOTALORDER = @GL_GNULIB_TOTALORDER@
+GL_GNULIB_TOTALORDERF = @GL_GNULIB_TOTALORDERF@
+GL_GNULIB_TOTALORDERL = @GL_GNULIB_TOTALORDERL@
GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNC = @GL_GNULIB_TRUNC@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
@@ -5325,6 +5683,148 @@ GL_GNULIB_TRUNCF = @GL_GNULIB_TRUNCF@
GL_GNULIB_TRUNCL = @GL_GNULIB_TRUNCL@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@
+GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE = @GL_GNULIB_UNIMETADATA_UNICODE_VERSION_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFD_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE@
GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
@@ -5376,6 +5876,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@
GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@
GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@
+GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@
GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@
GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@
GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@
@@ -5384,9 +5885,12 @@ GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@
GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@
GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_CHAR16_T = @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+GNULIBHEADERS_OVERRIDE_CHAR32_T = @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+GNULIBHEADERS_OVERRIDE_CHAR8_T = @GNULIBHEADERS_OVERRIDE_CHAR8_T@
GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ACCEPT4 = @HAVE_ACCEPT4@
HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
@@ -5400,6 +5904,7 @@ HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C32RTOMB = @HAVE_C32RTOMB@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CBRT = @HAVE_CBRT@
@@ -5449,6 +5954,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
@@ -5465,6 +5971,8 @@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
@@ -5499,6 +6007,9 @@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPF = @HAVE_EXPF@
@@ -5537,6 +6048,7 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GETUMASK = @HAVE_GETUMASK@
@@ -5548,6 +6060,8 @@ HAVE_HYPOTL = @HAVE_HYPOTL@
HAVE_ILOGB = @HAVE_ILOGB@
HAVE_ILOGBF = @HAVE_ILOGBF@
HAVE_ILOGBL = @HAVE_ILOGBL@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
@@ -5580,6 +6094,8 @@ HAVE_LOGL = @HAVE_LOGL@
HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOC16 = @HAVE_MBRTOC16@
+HAVE_MBRTOC32 = @HAVE_MBRTOC32@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
@@ -5587,6 +6103,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -5727,6 +6244,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOF = @HAVE_STRTOF@
HAVE_STRTOL = @HAVE_STRTOL@
HAVE_STRTOLD = @HAVE_STRTOLD@
HAVE_STRTOLL = @HAVE_STRTOLL@
@@ -5759,8 +6277,13 @@ HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TOTALORDER = @HAVE_TOTALORDER@
+HAVE_TOTALORDERF = @HAVE_TOTALORDERF@
+HAVE_TOTALORDERL = @HAVE_TOTALORDERL@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UCHAR_H = @HAVE_UCHAR_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_USLEEP = @HAVE_USLEEP@
@@ -5808,6 +6331,7 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
@@ -5825,6 +6349,10 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -5844,6 +6372,7 @@ LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNIGBRK_H = @LIBUNISTRING_UNIGBRK_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
+LIBUNISTRING_UNIMETADATA_H = @LIBUNISTRING_UNIMETADATA_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@
LIBUNISTRING_UNISTDIO_H = @LIBUNISTRING_UNISTDIO_H@
@@ -5880,8 +6409,10 @@ LTLIBTHREAD = @LTLIBTHREAD@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MBRTOWC_LIB = @MBRTOWC_LIB@
MKDIR_P = @MKDIR_P@
NAMESPACING = @NAMESPACING@
+NANOSLEEP_LIB = @NANOSLEEP_LIB@
NETINET_IN_H = @NETINET_IN_H@
NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
NEXT_ASSERT_H = @NEXT_ASSERT_H@
@@ -5889,6 +6420,7 @@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
@@ -5914,11 +6446,13 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_UCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
@@ -5944,6 +6478,7 @@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UCHAR_H = @NEXT_UCHAR_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
@@ -5966,6 +6501,7 @@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTHREAD_SIGMASK_LIB = @PTHREAD_SIGMASK_LIB@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RC = @RC@
@@ -5977,6 +6513,7 @@ REPLACE_ASINF = @REPLACE_ASINF@
REPLACE_ATAN2F = @REPLACE_ATAN2F@
REPLACE_ATANF = @REPLACE_ATANF@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_C32RTOMB = @REPLACE_C32RTOMB@
REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
@@ -5996,7 +6533,10 @@ REPLACE_CTIME = @REPLACE_CTIME@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
REPLACE_EXECL = @REPLACE_EXECL@
REPLACE_EXECLE = @REPLACE_EXECLE@
REPLACE_EXECLP = @REPLACE_EXECLP@
@@ -6013,10 +6553,12 @@ REPLACE_EXPM1F = @REPLACE_EXPM1F@
REPLACE_EXPM1L = @REPLACE_EXPM1L@
REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FFSLL = @REPLACE_FFSLL@
@@ -6051,12 +6593,16 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETPASS = @REPLACE_GETPASS@
REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
@@ -6069,6 +6615,8 @@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_ILOGB = @REPLACE_ILOGB@
REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ILOGBL = @REPLACE_ILOGBL@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
REPLACE_INET_NTOP = @REPLACE_INET_NTOP@
REPLACE_INET_PTON = @REPLACE_INET_PTON@
REPLACE_INITSTATE = @REPLACE_INITSTATE@
@@ -6080,9 +6628,11 @@ REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@
+REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@
REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXP = @REPLACE_LDEXP@
REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
@@ -6109,19 +6659,27 @@ REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOC16 = @REPLACE_MBRTOC16@
+REPLACE_MBRTOC32 = @REPLACE_MBRTOC32@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MEMSET_EXPLICIT = @REPLACE_MEMSET_EXPLICIT@
REPLACE_MKDIR = @REPLACE_MKDIR@
REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_MODF = @REPLACE_MODF@
@@ -6136,8 +6694,10 @@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PSELECT = @REPLACE_PSELECT@
@@ -6199,6 +6759,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_QSORT_R = @REPLACE_QSORT_R@
REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RAND = @REPLACE_RAND@
REPLACE_RANDOM = @REPLACE_RANDOM@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
@@ -6222,6 +6783,7 @@ REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SCHED_YIELD = @REPLACE_SCHED_YIELD@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SETSTATE = @REPLACE_SETSTATE@
REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
@@ -6236,6 +6798,7 @@ REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -6250,6 +6813,7 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOF = @REPLACE_STRTOF@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_STRTOL = @REPLACE_STRTOL@
@@ -6260,12 +6824,19 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@
REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TANF = @REPLACE_TANF@
REPLACE_TANHF = @REPLACE_TANHF@
+REPLACE_TIME = @REPLACE_TIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TIMESPEC_GETRES = @REPLACE_TIMESPEC_GETRES@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOTALORDER = @REPLACE_TOTALORDER@
+REPLACE_TOTALORDERF = @REPLACE_TOTALORDERF@
+REPLACE_TOTALORDERL = @REPLACE_TOTALORDERL@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -6285,21 +6856,33 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
REPLACE_WCSTOK = @REPLACE_WCSTOK@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCTRANS = @REPLACE_WCTRANS@
+REPLACE_WCTYPE = @REPLACE_WCTYPE@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SCHED_YIELD_LIB = @SCHED_YIELD_LIB@
SED = @SED@
+SELECT_LIB = @SELECT_LIB@
+SETLOCALE_LIB = @SETLOCALE_LIB@
+SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDALIGN_H = @STDALIGN_H@
+SMALL_WCHAR_T = @SMALL_WCHAR_T@
STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
@@ -6396,6 +6979,7 @@ SUBDIRS = .
# This must be the last thing that gets added to TESTS_ENVIRONMENT.
TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' \
LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
@@ -6403,6 +6987,36 @@ TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_FR='@LOCALE_FR@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@' LOCALE_FR='@LOCALE_FR@' \
@@ -6422,72 +7036,103 @@ TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
noinst_HEADERS =
noinst_LIBRARIES =
check_LIBRARIES = libtests.a
-EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
- test-alloca-opt.c arpa_inet.in.h test-arpa_inet.c \
- test-array-mergesort.c macros.h test-assert.c basename-lgpl.h \
- test-binary-io.sh test-binary-io.c macros.h w32sock.h \
- test-bind.c signature.h macros.h test-btowc1.sh test-btowc2.sh \
- test-btowc.c signature.h macros.h test-c-ctype.c macros.h \
- test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c \
- macros.h calloc.c test-calloc-gnu.c macros.h calloc.c \
- cloexec.h test-cloexec.c macros.h test-close.c signature.h \
- macros.h w32sock.h test-connect.c signature.h macros.h \
- ctype.in.h test-ctype.c test-dup2.c signature.h macros.h \
- test-environ.c test-errno.c error.h exitfail.h fcntl.in.h \
- test-fcntl-h.c test-fcntl.c signature.h macros.h fd-hook.h \
- test-fdopen.c signature.h macros.h test-fgetc.c signature.h \
- macros.h filename.h test-float.c macros.h test-fputc.c \
- signature.h macros.h test-fread.c signature.h macros.h \
- test-free.c macros.h test-frexp.c test-frexp.h minus-zero.h \
- infinity.h nan.h signature.h macros.h randomd.c test-frexpl.c \
- test-frexp.h minus-zero.h infinity.h nan.h signature.h \
- macros.h randoml.c test-fseterr.c stat-w32.c stat-w32.h \
- test-fstat.c signature.h macros.h test-ftruncate.c \
- test-ftruncate.sh signature.h macros.h test-fwrite.c \
- signature.h macros.h test-getcwd-lgpl.c signature.h macros.h \
- test-getdtablesize.c signature.h macros.h test-getprogname.c \
- signature.h test-gettimeofday.c test-hard-locale.c locale.c \
- ialloc.h test-iconv-h.c test-iconv.c signature.h macros.h \
+EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h \
+ test-alignasof.c macros.h alloca.c test-alloca-opt.c \
+ arpa_inet.in.h test-arpa_inet.c test-array-mergesort.c \
+ macros.h test-assert.c basename-lgpl.h test-binary-io.sh \
+ test-binary-io.c macros.h w32sock.h test-bind.c signature.h \
+ macros.h test-btoc32-1.sh test-btoc32-2.sh test-btoc32-3.sh \
+ test-btoc32.c signature.h macros.h test-btowc-1.sh \
+ test-btowc-2.sh test-btowc-3.sh test-btowc.c signature.h \
+ macros.h test-c-ctype.c macros.h test-c-strcase.sh \
+ test-c-strcasecmp.c test-c-strncasecmp.c macros.h \
+ test-c32isalnum.sh test-c32isalnum.c signature.h macros.h \
+ test-c32isalpha.sh test-c32isalpha.c signature.h macros.h \
+ test-c32isblank.sh test-c32isblank.c signature.h macros.h \
+ test-c32iscntrl.sh test-c32iscntrl.c signature.h macros.h \
+ test-c32isdigit.sh test-c32isdigit.c signature.h macros.h \
+ test-c32isgraph.sh test-c32isgraph.c signature.h macros.h \
+ test-c32islower.sh test-c32islower.c signature.h macros.h \
+ test-c32isprint.sh test-c32isprint.c signature.h macros.h \
+ test-c32ispunct.sh test-c32ispunct.c signature.h macros.h \
+ test-c32isspace.sh test-c32isspace.c signature.h macros.h \
+ test-c32isupper.sh test-c32isupper.c signature.h macros.h \
+ test-c32isxdigit.sh test-c32isxdigit.c signature.h macros.h \
+ test-c32rtomb.sh test-c32rtomb.c test-c32rtomb-w32-2.sh \
+ test-c32rtomb-w32-3.sh test-c32rtomb-w32-4.sh \
+ test-c32rtomb-w32-5.sh test-c32rtomb-w32-6.sh \
+ test-c32rtomb-w32-7.sh test-c32rtomb-w32-8.sh \
+ test-c32rtomb-w32.c signature.h macros.h test-c32tolower.sh \
+ test-c32tolower.c signature.h macros.h test-c32width.c \
+ signature.h macros.h calloc.c test-calloc-gnu.c macros.h \
+ calloc.c cloexec.h test-cloexec.c macros.h test-close.c \
+ signature.h macros.h w32sock.h test-connect.c signature.h \
+ macros.h ctype.in.h test-ctype.c test-dup2.c signature.h \
+ macros.h test-environ.c test-errno.c error.in.h test-error.sh \
+ test-error.c macros.h exitfail.h fcntl.in.h test-fcntl-h.c \
+ test-fcntl.c signature.h macros.h fd-hook.h test-fdopen.c \
+ signature.h macros.h test-fgetc.c signature.h macros.h \
+ filename.h test-float.c macros.h test-fputc.c signature.h \
+ macros.h test-fread.c signature.h macros.h test-free.c \
+ macros.h test-frexp.c test-frexp.h minus-zero.h infinity.h \
+ signature.h macros.h randomd.c test-frexpl.c test-frexp.h \
+ minus-zero.h infinity.h signature.h macros.h randoml.c \
+ test-fseterr.c stat-w32.c stat-w32.h test-fstat.c signature.h \
+ macros.h test-ftruncate.c test-ftruncate.sh signature.h \
+ macros.h test-fwrite.c signature.h macros.h test-getcwd-lgpl.c \
+ signature.h macros.h test-getdtablesize.c signature.h macros.h \
+ getprogname.h test-getprogname.c test-gettimeofday.c \
+ signature.h macros.h test-hard-locale.c locale.c ialloc.h \
+ test-iconv-h.c test-iconv.c signature.h macros.h \
ignore-value.h test-ignore-value.c test-inet_pton.c \
signature.h macros.h intprops-internal.h intprops.h \
test-intprops.c macros.h test-inttypes.c w32sock.h \
test-ioctl.c signature.h macros.h test-isblank.c signature.h \
macros.h test-isnand-nolibm.c test-isnand.h minus-zero.h \
- infinity.h nan.h macros.h test-isnanf-nolibm.c test-isnanf.h \
- minus-zero.h infinity.h nan.h macros.h test-isnanl-nolibm.c \
- test-isnanl.h minus-zero.h infinity.h nan.h macros.h \
- test-iswblank.c macros.h test-iswdigit.sh test-iswdigit.c \
- signature.h macros.h test-iswxdigit.sh test-iswxdigit.c \
- signature.h macros.h test-langinfo.c test-limits-h.c w32sock.h \
- test-listen.c signature.h macros.h test-localcharset.c \
- test-locale.c test-localename.c macros.h test-rwlock1.c \
- test-lock.c test-once.c atomic-int-gnulib.h test-lstat.h \
- test-lstat.c signature.h macros.h malloc.c test-malloc-gnu.c \
- macros.h test-malloca.c test-math.c macros.h test-mbrtowc1.sh \
- test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \
- test-mbrtowc5.sh test-mbrtowc.c test-mbrtowc-w32-1.sh \
+ infinity.h macros.h test-isnanf-nolibm.c test-isnanf.h \
+ minus-zero.h infinity.h macros.h test-isnanl-nolibm.c \
+ test-isnanl.h minus-zero.h infinity.h macros.h test-iswblank.c \
+ macros.h test-iswdigit.sh test-iswdigit.c signature.h macros.h \
+ test-iswpunct.sh test-iswpunct.c signature.h macros.h \
+ test-iswxdigit.sh test-iswxdigit.c signature.h macros.h \
+ test-langinfo.c test-largefile.c cdefs.h libc-config.h \
+ test-limits-h.c w32sock.h test-listen.c signature.h macros.h \
+ test-localcharset.c test-locale.c test-localename.c macros.h \
+ test-rwlock1.c test-lock.c test-once.c atomic-int-gnulib.h \
+ macros.h test-lstat.h test-lstat.c signature.h macros.h \
+ malloc.c test-malloc-gnu.c macros.h test-malloca.c test-math.c \
+ macros.h test-mbrtoc32-1.sh test-mbrtoc32-2.sh \
+ test-mbrtoc32-3.sh test-mbrtoc32-4.sh test-mbrtoc32-5.sh \
+ test-mbrtoc32.c test-mbrtoc32-w32-2.sh test-mbrtoc32-w32-3.sh \
+ test-mbrtoc32-w32-4.sh test-mbrtoc32-w32-5.sh \
+ test-mbrtoc32-w32-6.sh test-mbrtoc32-w32-7.sh \
+ test-mbrtoc32-w32-8.sh test-mbrtoc32-w32.c signature.h \
+ macros.h test-mbrtowc-1.sh test-mbrtowc-2.sh test-mbrtowc-3.sh \
+ test-mbrtowc-4.sh test-mbrtowc-5.sh test-mbrtowc.c \
test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh \
- test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh test-mbrtowc-w32.c \
- signature.h macros.h test-mbsinit.sh test-mbsinit.c \
- signature.h macros.h mbtowc-impl.h test-memchr.c \
- zerosize-ptr.h signature.h macros.h msvc-inval.h \
- msvc-nothrow.h test-nanosleep.c signature.h macros.h \
- netinet_in.in.h test-netinet_in.c test-open.h test-open.c \
- signature.h macros.h pathmax.h test-pathmax.c macros.h \
- signature.h test-perror.c test-perror2.c test-perror.sh \
- test-pipe.c signature.h macros.h test-printf-frexp.c macros.h \
- test-printf-frexpl.c macros.h test-pselect.c test-select.h \
- macros.h signature.h pthread.in.h test-pthread.c \
- test-pthread-thread.c macros.h test-pthread_sigmask1.c \
- test-pthread_sigmask2.c signature.h macros.h test-raise.c \
+ test-mbrtowc-w32-6.sh test-mbrtowc-w32-7.sh \
+ test-mbrtowc-w32-8.sh test-mbrtowc-w32.c signature.h macros.h \
+ test-mbsinit.sh test-mbsinit.c signature.h macros.h \
+ mbtowc-impl.h test-memchr.c zerosize-ptr.h signature.h \
+ macros.h msvc-inval.h msvc-nothrow.h test-nanosleep.c \
+ signature.h macros.h netinet_in.in.h test-netinet_in.c \
+ test-open.h test-open.c signature.h macros.h pathmax.h \
+ test-pathmax.c macros.h signature.h test-perror.c \
+ test-perror2.c test-perror.sh test-pipe.c signature.h macros.h \
+ test-printf-frexp.c macros.h test-printf-frexpl.c macros.h \
+ test-pselect.c test-select.h macros.h signature.h pthread.in.h \
+ test-pthread.c test-pthread-thread.c macros.h \
+ test-pthread_sigmask1.c test-pthread_sigmask2.c signature.h \
+ macros.h test-raise.c signature.h macros.h test-random.c \
+ test-random-mt.c signature.h macros.h test-random_r.c \
signature.h macros.h realloc.c test-realloc-gnu.c macros.h \
- realloc.c test-reallocarray.c signature.h macros.h \
- same-inode.h sched.in.h test-sched.c macros.h signature.h \
- test-select.c test-select.h test-select-fd.c test-select-in.sh \
- test-select-out.sh test-select-stdin.c test-setenv.c \
- signature.h macros.h test-setlocale_null.c \
- test-setlocale_null-mt-one.c test-setlocale_null-mt-all.c \
+ realloc.c test-reallocarray.c signature.h macros.h sched.in.h \
+ test-sched.c macros.h signature.h test-select.c test-select.h \
+ test-select-fd.c test-select-in.sh test-select-out.sh \
+ test-select-stdin.c test-setenv.c signature.h macros.h \
+ test-setlocale_null.c test-setlocale_null-mt-one.c \
+ test-setlocale_null-mt-all.c test-setlocale_null-unlocked.c \
test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \
test-setlocale2.c signature.h macros.h w32sock.h \
test-setsockopt.c signature.h macros.h signal.in.h \
@@ -6496,23 +7141,23 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
signature.h macros.h _Noreturn.h arg-nonnull.h c++defs.h \
warn-on-use.h w32sock.h w32sock.h test-sockets.c stat-w32.c \
stat-w32.h test-stat.h test-stat.c signature.h macros.h \
- stat-time.h test-stat-time.c macros.h nap.h stdalign.in.h \
- test-stdalign.c macros.h test-stdbool.c macros.h \
- test-intprops.c test-stdckdint.c test-stddef.c test-stdint.c \
- stdio.in.h test-stdio.c test-stdlib.c test-sys_wait.h \
- strerror-override.h test-strerror.c signature.h macros.h \
- strerror_r.c test-strerror_r.c signature.h macros.h \
- test-striconveh.c macros.h test-striconveha.c iconvsupport.c \
- macros.h test-string.c test-strncat.c unistr/test-strncat.h \
- zerosize-ptr.h signature.h macros.h test-strstr.c \
- zerosize-ptr.h signature.h macros.h test-symlink.h \
- test-symlink.c signature.h macros.h sys_ioctl.in.h \
- test-sys_ioctl.c sys_select.in.h test-sys_select.c signature.h \
- sys_socket.in.h test-sys_socket.c sys_stat.in.h \
- test-sys_stat.c sys_time.in.h test-sys_time.c test-sys_types.c \
- sys_uio.in.h test-sys_uio.c init.sh test-init.sh \
- test-thread_self.c test-thread_create.c macros.h time.in.h \
- test-time.c unicase/test-cased.c \
+ stat-time.h test-stat-time.c macros.h nap.h test-stdbool.c \
+ macros.h test-intprops.c test-stdckdint.c test-stddef.c \
+ test-stdint.c stdio.in.h test-stdio.c macros.h test-stdlib.c \
+ test-sys_wait.h strerror-override.h test-strerror.c \
+ signature.h macros.h strerror_r.c test-strerror_r.c \
+ signature.h macros.h test-striconveh.c macros.h \
+ test-striconveha.c iconvsupport.c macros.h test-string.c \
+ test-strncat.c unistr/test-strncat.h zerosize-ptr.h \
+ signature.h macros.h test-strstr.c zerosize-ptr.h signature.h \
+ macros.h test-symlink.h test-symlink.c signature.h macros.h \
+ sys_ioctl.in.h test-sys_ioctl.c sys_select.in.h \
+ test-sys_select.c signature.h sys_socket.in.h \
+ test-sys_socket.c sys_stat.in.h test-sys_stat.c sys_time.in.h \
+ test-sys_time.c test-sys_types.c sys_uio.in.h test-sys_uio.c \
+ init.sh test-init.sh test-thread_self.c test-thread_create.c \
+ macros.h time.in.h test-time-h.c test-time.c signature.h \
+ macros.h test-uchar.c unicase/test-cased.c \
unicase/test-predicate-part1.h unicase/test-predicate-part2.h \
macros.h unicase/test-ignorable.c \
unicase/test-predicate-part1.h unicase/test-predicate-part2.h \
@@ -6696,7 +7341,9 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unictype/test-predicate-part2.h macros.h \
unictype/test-decdigit.c unictype/test-decdigit.h macros.h \
unictype/test-digit.c unictype/test-digit.h macros.h \
- unictype/test-joininggroup_byname.c macros.h \
+ unictype/test-incb_byname.c macros.h unictype/test-incb_name.c \
+ macros.h unictype/test-incb_of.c unictype/test-incb_of.h \
+ macros.h unictype/test-joininggroup_byname.c macros.h \
unictype/test-joininggroup_name.c macros.h \
unictype/test-joininggroup_of.c \
unictype/test-joininggroup_of.h macros.h \
@@ -6836,6 +7483,12 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unictype/test-predicate-part2.h macros.h \
unictype/test-pr_hyphen.c unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
+ unictype/test-pr_id_compat_math_continue.c \
+ unictype/test-predicate-part1.h \
+ unictype/test-predicate-part2.h macros.h \
+ unictype/test-pr_id_compat_math_start.c \
+ unictype/test-predicate-part1.h \
+ unictype/test-predicate-part2.h macros.h \
unictype/test-pr_id_continue.c unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
unictype/test-pr_id_start.c unictype/test-predicate-part1.h \
@@ -6848,6 +7501,9 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unictype/test-pr_ids_trinary_operator.c \
unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
+ unictype/test-pr_ids_unary_operator.c \
+ unictype/test-predicate-part1.h \
+ unictype/test-predicate-part2.h macros.h \
unictype/test-pr_ignorable_control.c \
unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
@@ -6911,6 +7567,9 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unictype/test-pr_pattern_white_space.c \
unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
+ unictype/test-pr_prepended_concatenation_mark.c \
+ unictype/test-predicate-part1.h \
+ unictype/test-predicate-part2.h macros.h \
unictype/test-pr_private_use.c unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
unictype/test-pr_punctuation.c unictype/test-predicate-part1.h \
@@ -6964,19 +7623,19 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unictype/test-sy_java_whitespace.c \
unictype/test-predicate-part1.h \
unictype/test-predicate-part2.h macros.h \
- unigbrk/test-u16-grapheme-breaks.c \
- unigbrk/test-u16-grapheme-next.c \
- unigbrk/test-u16-grapheme-prev.c \
- unigbrk/test-u32-grapheme-breaks.c \
- unigbrk/test-u32-grapheme-next.c \
- unigbrk/test-u32-grapheme-prev.c \
- unigbrk/test-u8-grapheme-breaks.c \
- unigbrk/test-u8-grapheme-next.c \
- unigbrk/test-u8-grapheme-prev.c unigbrk/test-uc-gbrk-prop.c \
- unigbrk/test-uc-gbrk-prop.h macros.h \
- unigbrk/test-uc-grapheme-breaks.c \
+ unigbrk/test-u16-grapheme-breaks.c macros.h \
+ unigbrk/test-u16-grapheme-next.c macros.h \
+ unigbrk/test-u16-grapheme-prev.c macros.h \
+ unigbrk/test-u32-grapheme-breaks.c macros.h \
+ unigbrk/test-u32-grapheme-next.c macros.h \
+ unigbrk/test-u32-grapheme-prev.c macros.h \
+ unigbrk/test-u8-grapheme-breaks.c macros.h \
+ unigbrk/test-u8-grapheme-next.c macros.h \
+ unigbrk/test-u8-grapheme-prev.c macros.h \
+ unigbrk/test-uc-gbrk-prop.c unigbrk/test-uc-gbrk-prop.h \
+ macros.h unigbrk/test-uc-grapheme-breaks.c \
unigbrk/test-uc-grapheme-breaks.sh \
- unigbrk/GraphemeBreakTest.txt \
+ unigbrk/GraphemeBreakTest.txt macros.h \
unigbrk/test-uc-is-grapheme-break.c \
unigbrk/test-uc-is-grapheme-break.sh \
unigbrk/GraphemeBreakTest.txt \
@@ -6990,10 +7649,11 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unilbrk/test-u8-width-linebreaks.c macros.h \
unilbrk/test-ulc-possible-linebreaks.c macros.h \
unilbrk/test-ulc-width-linebreaks.c macros.h \
- uniname/test-uninames.sh uniname/test-uninames.c \
- uniname/UnicodeData.txt uniname/HangulSyllableNames.txt \
- uniname/NameAliases.txt uninorm/test-canonical-decomposition.c \
- macros.h uninorm/test-compat-decomposition.c macros.h \
+ unimetadata/test-u-version.c macros.h uniname/test-uninames.sh \
+ uniname/test-uninames.c uniname/UnicodeData.txt \
+ uniname/HangulSyllableNames.txt uniname/NameAliases.txt \
+ uninorm/test-canonical-decomposition.c macros.h \
+ uninorm/test-compat-decomposition.c macros.h \
uninorm/test-composition.c macros.h \
uninorm/test-decomposing-form.c macros.h \
uninorm/test-decomposition.c macros.h \
@@ -7082,8 +7742,9 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
unistr/test-u16-mbtouc-unsafe.c unistr/test-u16-mbtouc.h \
macros.h unistr/test-u16-mbtoucr.c macros.h \
unistr/test-u16-move.c unistr/test-move.h macros.h \
- unistr/test-u16-next.c macros.h unistr/test-u16-prev.c \
- macros.h unistr/test-u16-set.c unistr/test-set.h macros.h \
+ unistr/test-u16-next.c macros.h unistr/test-u16-pcpy.c \
+ unistr/test-pcpy.h macros.h unistr/test-u16-prev.c macros.h \
+ unistr/test-u16-set.c unistr/test-set.h macros.h \
unistr/test-u16-stpcpy.c unistr/test-stpcpy.h macros.h \
unistr/test-u16-stpncpy.c unistr/test-stpncpy.h zerosize-ptr.h \
macros.h unistr/test-u16-strcat.c unistr/test-strcat.h \
@@ -7116,8 +7777,9 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
macros.h unistr/test-u32-mbtouc-unsafe.c \
unistr/test-u32-mbtouc.h macros.h unistr/test-u32-mbtoucr.c \
macros.h unistr/test-u32-move.c unistr/test-move.h macros.h \
- unistr/test-u32-next.c macros.h unistr/test-u32-prev.c \
- macros.h unistr/test-u32-set.c unistr/test-set.h macros.h \
+ unistr/test-u32-next.c macros.h unistr/test-u32-pcpy.c \
+ unistr/test-pcpy.h macros.h unistr/test-u32-prev.c macros.h \
+ unistr/test-u32-set.c unistr/test-set.h macros.h \
unistr/test-u32-stpcpy.c unistr/test-stpcpy.h macros.h \
unistr/test-u32-stpncpy.c unistr/test-stpncpy.h zerosize-ptr.h \
macros.h unistr/test-u32-strcat.c unistr/test-strcat.h \
@@ -7149,7 +7811,8 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
macros.h unistr/test-u8-mbtouc-unsafe.c \
unistr/test-u8-mbtouc.h macros.h unistr/test-u8-mbtoucr.c \
macros.h unistr/test-u8-move.c unistr/test-move.h macros.h \
- unistr/test-u8-next.c macros.h unistr/test-u8-prev.c macros.h \
+ unistr/test-u8-next.c macros.h unistr/test-u8-pcpy.c \
+ unistr/test-pcpy.h macros.h unistr/test-u8-prev.c macros.h \
unistr/test-u8-set.c unistr/test-set.h macros.h \
unistr/test-u8-stpcpy.c unistr/test-stpcpy.h macros.h \
unistr/test-u8-stpncpy.c unistr/test-stpncpy.h zerosize-ptr.h \
@@ -7186,29 +7849,29 @@ EXTRA_DIST = w32sock.h test-accept.c signature.h macros.h alloca.c \
signature.h macros.h test-usleep.c signature.h macros.h \
verify.h test-verify.c test-verify-try.c test-verify.sh \
test-wchar.c test-wcrtomb.sh test-wcrtomb.c \
- test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
- test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
- test-wcrtomb-w32-5.sh test-wcrtomb-w32-6.sh \
- test-wcrtomb-w32-7.sh test-wcrtomb-w32.c signature.h macros.h \
+ test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh \
+ test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh \
+ test-wcrtomb-w32-6.sh test-wcrtomb-w32-7.sh \
+ test-wcrtomb-w32-8.sh test-wcrtomb-w32.c signature.h macros.h \
wctomb-impl.h test-wctype-h.c macros.h test-wcwidth.c \
signature.h macros.h windows-thread.h windows-tls.h xalloc.h \
xalloc.h test-xalloc-die.c test-xalloc-die.sh
-BUILT_SOURCES = arpa/inet.h ctype.h fcntl.h $(NETINET_IN_H) pthread.h \
- sched.h signal.h $(STDALIGN_H) stdio.h sys/ioctl.h \
- sys/select.h sys/socket.h sys/stat.h sys/time.h sys/uio.h \
- time.h
+BUILT_SOURCES = arpa/inet.h ctype.h error.h fcntl.h $(NETINET_IN_H) \
+ pthread.h sched.h signal.h stdio.h sys/ioctl.h sys/select.h \
+ sys/socket.h sys/stat.h sys/time.h sys/uio.h time.h
SUFFIXES =
# This test expects compilation of test-verify-try.c to fail, and
# each time it fails, the makefile rule does not perform the usual
# "mv -f $name.Tpo $name.po, so tell make clean to remove that file.
MOSTLYCLEANFILES = core *.stackdump arpa/inet.h arpa/inet.h-t ctype.h \
- ctype.h-t fcntl.h fcntl.h-t netinet/in.h netinet/in.h-t \
- pthread.h pthread.h-t sched.h sched.h-t signal.h signal.h-t \
- stdalign.h stdalign.h-t stdio.h stdio.h-t sys/ioctl.h \
- sys/ioctl.h-t sys/select.h sys/select.h-t sys/socket.h \
- sys/socket.h-t sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t \
- sys/uio.h sys/uio.h-t time.h time.h-t \
+ ctype.h-t error.h error.h-t fcntl.h fcntl.h-t netinet/in.h \
+ netinet/in.h-t pthread.h pthread.h-t1 pthread.h-t2 \
+ pthread.h-t3 pthread.h-t4 sched.h sched.h-t signal.h \
+ signal.h-t stdio.h stdio.h-t1 stdio.h-t2 stdio.h-t3 \
+ sys/ioctl.h sys/ioctl.h-t sys/select.h sys/select.h-t \
+ sys/socket.h sys/socket.h-t sys/stat.h sys/stat.h-t sys/time.h \
+ sys/time.h-t sys/uio.h sys/uio.h-t time.h time.h-t \
.deps/test-verify-try.Tpo
MOSTLYCLEANDIRS = arpa netinet sys sys sys sys sys
CLEANFILES =
@@ -7223,27 +7886,29 @@ AM_CPPFLAGS = \
LDADD = libtests.a ../lib/libunistring.la libtests.a ../lib/libunistring.la libtests.a $(LIBTESTS_LIBDEPS)
libtests_a_SOURCES = $(am__append_1) basename-lgpl.c binary-io.h \
- binary-io.c $(am__append_2) $(am__append_3) cloexec.c \
- $(am__append_4) $(am__append_5) $(am__append_6) \
- $(am__append_7) exitfail.c $(am__append_8) fd-hook.c \
- $(am__append_9) $(am__append_10) $(am__append_11) \
+ binary-io.c $(am__append_2) btoc32.c $(am__append_3) \
+ $(am__append_4) c32tob.c cloexec.c $(am__append_5) \
+ $(am__append_6) $(am__append_7) $(am__append_8) exitfail.c \
+ $(am__append_9) fd-hook.c $(am__append_10) $(am__append_11) \
$(am__append_12) $(am__append_13) $(am__append_14) \
- getprogname.h getprogname.c gettext.h $(am__append_15) \
- ialloc.c $(am__append_16) $(am__append_17) $(am__append_18) \
- $(am__append_19) $(am__append_20) $(am__append_21) \
- $(am__append_22) $(am__append_23) $(am__append_24) \
- $(am__append_25) $(am__append_26) $(am__append_27) \
- $(am__append_28) $(am__append_29) $(am__append_30) \
- $(am__append_31) $(am__append_32) $(am__append_33) \
- $(am__append_34) $(am__append_35) $(am__append_36) \
- $(am__append_37) $(am__append_38) $(am__append_39) \
- $(am__append_40) $(am__append_41) sockets.h sockets.c \
- $(am__append_42) stat-time.c $(am__append_43) $(am__append_44) \
- $(am__append_45) $(am__append_46) $(am__append_47) \
- sys_socket.c glthread/thread.h glthread/thread.c \
- $(am__append_52) $(am__append_53) $(am__append_54) \
- $(am__append_55) $(am__append_56) $(am__append_57) \
- $(am__append_58) xmalloc.c xalloc-die.c glthread/yield.h
+ $(am__append_15) $(am__append_16) gettext.h $(am__append_17) \
+ ialloc.c $(am__append_18) $(am__append_19) $(am__append_20) \
+ $(am__append_21) $(am__append_22) $(am__append_23) \
+ $(am__append_24) $(am__append_25) nan.h $(am__append_26) \
+ $(am__append_27) $(am__append_28) $(am__append_29) \
+ $(am__append_30) $(am__append_31) $(am__append_32) \
+ $(am__append_33) $(am__append_34) $(am__append_35) \
+ $(am__append_36) $(am__append_37) same-inode.h same-inode.c \
+ $(am__append_38) $(am__append_39) $(am__append_40) \
+ $(am__append_41) $(am__append_42) signed-nan.h signed-snan.h \
+ $(am__append_43) $(am__append_44) snan.h $(am__append_45) \
+ sockets.h sockets.c $(am__append_46) stat-time.c \
+ $(am__append_47) $(am__append_48) $(am__append_49) \
+ $(am__append_50) $(am__append_51) sys_socket.c \
+ glthread/thread.h glthread/thread.c $(am__append_52) \
+ $(am__append_57) $(am__append_58) $(am__append_59) \
+ $(am__append_60) $(am__append_61) $(am__append_62) \
+ $(am__append_63) xmalloc.c xalloc-die.c glthread/yield.h
libtests_a_LIBADD = $(gltests_LIBOBJS) @ALLOCA@
libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) @ALLOCA@
EXTRA_libtests_a_SOURCES = alloca.c calloc.c calloc.c stat-w32.c \
@@ -7251,11 +7916,28 @@ EXTRA_libtests_a_SOURCES = alloca.c calloc.c calloc.c stat-w32.c \
AM_LIBTOOLFLAGS = --preserve-dup-deps
test_accept_LDADD = $(LDADD) @LIBSOCKET@
test_bind_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB)
-test_btowc_LDADD = $(LDADD) $(LIB_SETLOCALE)
-test_c_ctype_LDADD = $(LDADD) $(LIB_SETLOCALE)
-test_c_strcasecmp_LDADD = $(LDADD) $(LIB_SETLOCALE)
-test_c_strncasecmp_LDADD = $(LDADD) $(LIB_SETLOCALE)
+test_btoc32_LDADD = $(LDADD) $(LIBUNISTRING) $(SETLOCALE_LIB) $(LIBC32CONV)
+test_btowc_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_c_ctype_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_c_strcasecmp_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_c_strncasecmp_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_c32isalnum_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isalpha_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isblank_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32iscntrl_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isgraph_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32islower_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isprint_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32ispunct_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isspace_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isupper_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32isxdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32rtomb_LDADD = $(LDADD) $(LIBUNISTRING) $(SETLOCALE_LIB) $(LIBC32CONV)
+test_c32tolower_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBUNISTRING) $(LIBC32CONV)
+test_c32width_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) $(LIBC32CONV)
test_connect_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB)
+test_error_LDADD = $(LDADD) $(LIBINTL)
test_frexp_nolibm_SOURCES = test-frexp.c randomd.c
test_frexpl_nolibm_SOURCES = test-frexpl.c randoml.c
@@ -7279,36 +7961,39 @@ GPERF = gperf
V_GPERF = $(V_GPERF_@AM_V@)
V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
V_GPERF_0 = @echo " GPERF " $@;
-test_hard_locale_LDADD = $(LDADD) $(LIB_SETLOCALE) @LIB_HARD_LOCALE@
+test_hard_locale_LDADD = $(LDADD) $(SETLOCALE_LIB) @HARD_LOCALE_LIB@
current_locale_SOURCES = locale.c
test_iconv_LDADD = $(LDADD) @LIBICONV@
test_inet_pton_LDADD = $(LDADD) @INET_PTON_LIB@
-test_iswdigit_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
-test_iswxdigit_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
+test_iswdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
+test_iswpunct_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
+test_iswxdigit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
test_listen_LDADD = $(LDADD) @LIBSOCKET@
-test_localcharset_LDADD = $(LDADD) $(LIB_SETLOCALE)
-test_localename_LDADD = $(LDADD) $(LIB_SETLOCALE) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
+test_localcharset_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_localename_LDADD = $(LDADD) $(SETLOCALE_LIB) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
test_rwlock1_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@ @LIB_SEMAPHORE@
test_once1_SOURCES = test-once.c
test_once1_LDADD = $(LDADD) @LIBTHREAD@
test_once2_SOURCES = test-once.c
test_once2_LDADD = $(LDADD) @LIBMULTITHREAD@
-test_mbrtowc_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
-test_mbsinit_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIB_MBRTOWC)
-test_nanosleep_LDADD = $(LDADD) $(LIB_NANOSLEEP)
-test_pselect_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ @LIB_PTHREAD_SIGMASK@ $(INET_PTON_LIB)
+test_mbrtoc32_LDADD = $(LDADD) $(LIBUNISTRING) $(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBC32CONV)
+test_mbrtowc_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
+test_mbsinit_LDADD = $(LDADD) $(SETLOCALE_LIB) $(MBRTOWC_LIB)
+test_nanosleep_LDADD = $(LDADD) $(NANOSLEEP_LIB)
+test_pselect_LDADD = $(LDADD) @SELECT_LIB@ @LIBSOCKET@ @PTHREAD_SIGMASK_LIB@ $(INET_PTON_LIB)
test_pthread_thread_LDADD = $(LDADD) @LIBPMULTITHREAD@
-test_pthread_sigmask1_LDADD = $(LDADD) @LIB_PTHREAD_SIGMASK@
-test_pthread_sigmask2_LDADD = $(LDADD) @LIB_PTHREAD_SIGMASK@ @LIBMULTITHREAD@
-test_select_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ $(INET_PTON_LIB)
-test_select_fd_LDADD = $(LDADD) @LIB_SELECT@
-test_select_stdin_LDADD = $(LDADD) @LIB_SELECT@
-test_setlocale_null_LDADD = $(LDADD) @LIB_SETLOCALE_NULL@
-test_setlocale_null_mt_one_LDADD = $(LDADD) @LIB_SETLOCALE_NULL@ $(LIBMULTITHREAD) $(LIB_NANOSLEEP)
-test_setlocale_null_mt_all_LDADD = $(LDADD) @LIB_SETLOCALE_NULL@ $(LIBMULTITHREAD) $(LIB_NANOSLEEP)
-test_setlocale1_LDADD = $(LDADD) @LIB_SETLOCALE@
-test_setlocale2_LDADD = $(LDADD) @LIB_SETLOCALE@
+test_pthread_sigmask1_LDADD = $(LDADD) @PTHREAD_SIGMASK_LIB@
+test_pthread_sigmask2_LDADD = $(LDADD) @PTHREAD_SIGMASK_LIB@ @LIBMULTITHREAD@
+test_random_mt_LDADD = $(LDADD) $(LIBINTL) $(LIBMULTITHREAD) $(YIELD_LIB)
+test_select_LDADD = $(LDADD) @SELECT_LIB@ @LIBSOCKET@ $(INET_PTON_LIB)
+test_select_fd_LDADD = $(LDADD) @SELECT_LIB@
+test_select_stdin_LDADD = $(LDADD) @SELECT_LIB@
+test_setlocale_null_LDADD = $(LDADD) @SETLOCALE_NULL_LIB@
+test_setlocale_null_mt_one_LDADD = $(LDADD) @SETLOCALE_NULL_LIB@ $(LIBMULTITHREAD) $(NANOSLEEP_LIB)
+test_setlocale_null_mt_all_LDADD = $(LDADD) @SETLOCALE_NULL_LIB@ $(LIBMULTITHREAD) $(NANOSLEEP_LIB)
+test_setlocale1_LDADD = $(LDADD) @SETLOCALE_LIB@
+test_setlocale2_LDADD = $(LDADD) @SETLOCALE_LIB@
test_setsockopt_LDADD = $(LDADD) @LIBSOCKET@
# Because this Makefile snippet defines a variable used by other
@@ -7332,7 +8017,7 @@ CXXDEFS_H = $(srcdir)/c++defs.h
WARN_ON_USE_H = $(srcdir)/warn-on-use.h
test_sockets_LDADD = $(LDADD) @LIBSOCKET@
test_stat_LDADD = $(LDADD) $(LIBINTL)
-test_stat_time_LDADD = $(LDADD) $(LIB_NANOSLEEP)
+test_stat_time_LDADD = $(LDADD) $(NANOSLEEP_LIB)
test_striconveh_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_striconveha_SOURCES = test-striconveha.c iconvsupport.c
test_striconveha_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
@@ -7343,7 +8028,7 @@ test_cased_LDADD = $(LDADD) $(LIBUNISTRING)
test_ignorable_SOURCES = unicase/test-ignorable.c
test_ignorable_LDADD = $(LDADD) $(LIBUNISTRING)
test_locale_language_SOURCES = unicase/test-locale-language.c
-test_locale_language_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
+test_locale_language_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
test_uc_tolower_SOURCES = unicase/test-uc_tolower.c
test_uc_tolower_LDADD = $(LDADD) $(LIBUNISTRING)
test_uc_totitle_SOURCES = unicase/test-uc_totitle.c
@@ -7417,9 +8102,9 @@ test_u8_totitle_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_toupper_SOURCES = unicase/test-u8-toupper.c
test_u8_toupper_LDADD = $(LDADD) $(LIBUNISTRING)
test_ulc_casecmp_SOURCES = unicase/test-ulc-casecmp.c
-test_ulc_casecmp_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_casecmp_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_ulc_casecoll_SOURCES = unicase/test-ulc-casecoll.c
-test_ulc_casecoll_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_casecoll_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u16_conv_from_enc_SOURCES = uniconv/test-u16-conv-from-enc.c iconvsupport.c
test_u16_conv_from_enc_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u16_conv_to_enc_SOURCES = uniconv/test-u16-conv-to-enc.c
@@ -7590,6 +8275,12 @@ test_decdigit_SOURCES = unictype/test-decdigit.c
test_decdigit_LDADD = $(LDADD) $(LIBUNISTRING)
test_digit_SOURCES = unictype/test-digit.c
test_digit_LDADD = $(LDADD) $(LIBUNISTRING)
+test_incb_byname_SOURCES = unictype/test-incb_byname.c
+test_incb_byname_LDADD = $(LDADD) $(LIBUNISTRING)
+test_incb_name_SOURCES = unictype/test-incb_name.c
+test_incb_name_LDADD = $(LDADD) $(LIBUNISTRING)
+test_incb_of_SOURCES = unictype/test-incb_of.c
+test_incb_of_LDADD = $(LDADD) $(LIBUNISTRING)
test_joininggroup_byname_SOURCES = unictype/test-joininggroup_byname.c
test_joininggroup_byname_LDADD = $(LDADD) $(LIBUNISTRING)
test_joininggroup_name_SOURCES = unictype/test-joininggroup_name.c
@@ -7704,6 +8395,10 @@ test_pr_hex_digit_SOURCES = unictype/test-pr_hex_digit.c
test_pr_hex_digit_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_hyphen_SOURCES = unictype/test-pr_hyphen.c
test_pr_hyphen_LDADD = $(LDADD) $(LIBUNISTRING)
+test_pr_id_compat_math_continue_SOURCES = unictype/test-pr_id_compat_math_continue.c
+test_pr_id_compat_math_continue_LDADD = $(LDADD) $(LIBUNISTRING)
+test_pr_id_compat_math_start_SOURCES = unictype/test-pr_id_compat_math_start.c
+test_pr_id_compat_math_start_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_id_continue_SOURCES = unictype/test-pr_id_continue.c
test_pr_id_continue_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_id_start_SOURCES = unictype/test-pr_id_start.c
@@ -7714,6 +8409,8 @@ test_pr_ids_binary_operator_SOURCES = unictype/test-pr_ids_binary_operator.c
test_pr_ids_binary_operator_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_ids_trinary_operator_SOURCES = unictype/test-pr_ids_trinary_operator.c
test_pr_ids_trinary_operator_LDADD = $(LDADD) $(LIBUNISTRING)
+test_pr_ids_unary_operator_SOURCES = unictype/test-pr_ids_unary_operator.c
+test_pr_ids_unary_operator_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_ignorable_control_SOURCES = unictype/test-pr_ignorable_control.c
test_pr_ignorable_control_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_iso_control_SOURCES = unictype/test-pr_iso_control.c
@@ -7760,6 +8457,8 @@ test_pr_pattern_syntax_SOURCES = unictype/test-pr_pattern_syntax.c
test_pr_pattern_syntax_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_pattern_white_space_SOURCES = unictype/test-pr_pattern_white_space.c
test_pr_pattern_white_space_LDADD = $(LDADD) $(LIBUNISTRING)
+test_pr_prepended_concatenation_mark_SOURCES = unictype/test-pr_prepended_concatenation_mark.c
+test_pr_prepended_concatenation_mark_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_private_use_SOURCES = unictype/test-pr_private_use.c
test_pr_private_use_LDADD = $(LDADD) $(LIBUNISTRING)
test_pr_punctuation_SOURCES = unictype/test-pr_punctuation.c
@@ -7833,7 +8532,7 @@ test_uc_grapheme_breaks_LDADD = $(LDADD) $(LIBUNISTRING)
test_uc_is_grapheme_break_SOURCES = unigbrk/test-uc-is-grapheme-break.c
test_uc_is_grapheme_break_LDADD = $(LDADD) $(LIBUNISTRING)
test_ulc_grapheme_breaks_SOURCES = unigbrk/test-ulc-grapheme-breaks.c
-test_ulc_grapheme_breaks_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_grapheme_breaks_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u16_possible_linebreaks_SOURCES = unilbrk/test-u16-possible-linebreaks.c
test_u16_possible_linebreaks_LDADD = $(LDADD) $(LIBUNISTRING)
test_u16_width_linebreaks_SOURCES = unilbrk/test-u16-width-linebreaks.c
@@ -7850,6 +8549,8 @@ test_ulc_possible_linebreaks_SOURCES = unilbrk/test-ulc-possible-linebreaks.c
test_ulc_possible_linebreaks_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_ulc_width_linebreaks_SOURCES = unilbrk/test-ulc-width-linebreaks.c
test_ulc_width_linebreaks_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
+test_u_version_SOURCES = unimetadata/test-u-version.c
+test_u_version_LDADD = $(LDADD) $(LIBUNISTRING)
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_SOURCES = uniname/test-uninames.c
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_LDADD = $(LDADD) @LIBINTL@
test_canonical_decomposition_SOURCES = uninorm/test-canonical-decomposition.c
@@ -7929,9 +8630,9 @@ test_u16_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u16_vasnprintf1_SOURCES = unistdio/test-u16-vasnprintf1.c
test_u16_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u16_vasnprintf2_SOURCES = unistdio/test-u16-vasnprintf2.c
-test_u16_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u16_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u16_vasnprintf3_SOURCES = unistdio/test-u16-vasnprintf3.c
-test_u16_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u16_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u16_vasprintf1_SOURCES = unistdio/test-u16-vasprintf1.c
test_u16_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u16_vsnprintf1_SOURCES = unistdio/test-u16-vsnprintf1.c
@@ -7943,9 +8644,9 @@ test_u32_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u32_vasnprintf1_SOURCES = unistdio/test-u32-vasnprintf1.c
test_u32_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u32_vasnprintf2_SOURCES = unistdio/test-u32-vasnprintf2.c
-test_u32_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u32_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u32_vasnprintf3_SOURCES = unistdio/test-u32-vasnprintf3.c
-test_u32_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u32_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u32_vasprintf1_SOURCES = unistdio/test-u32-vasprintf1.c
test_u32_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u32_vsnprintf1_SOURCES = unistdio/test-u32-vsnprintf1.c
@@ -7957,9 +8658,9 @@ test_u8_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u8_vasnprintf1_SOURCES = unistdio/test-u8-vasnprintf1.c
test_u8_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u8_vasnprintf2_SOURCES = unistdio/test-u8-vasnprintf2.c
-test_u8_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u8_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u8_vasnprintf3_SOURCES = unistdio/test-u8-vasnprintf3.c
-test_u8_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_u8_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u8_vasprintf1_SOURCES = unistdio/test-u8-vasprintf1.c
test_u8_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
test_u8_vsnprintf1_SOURCES = unistdio/test-u8-vsnprintf1.c
@@ -7967,19 +8668,19 @@ test_u8_vsnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@
test_u8_vsprintf1_SOURCES = unistdio/test-u8-vsprintf1.c
test_u8_vsprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@
test_ulc_asnprintf1_SOURCES = unistdio/test-ulc-asnprintf1.c
-test_ulc_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_asnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vasnprintf1_SOURCES = unistdio/test-ulc-vasnprintf1.c
-test_ulc_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vasnprintf2_SOURCES = unistdio/test-ulc-vasnprintf2.c
-test_ulc_vasnprintf2_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasnprintf2_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vasnprintf3_SOURCES = unistdio/test-ulc-vasnprintf3.c
-test_ulc_vasnprintf3_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasnprintf3_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vasprintf1_SOURCES = unistdio/test-ulc-vasprintf1.c
-test_ulc_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vasprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vsnprintf1_SOURCES = unistdio/test-ulc-vsnprintf1.c
-test_ulc_vsnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vsnprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(MBRTOWC_LIB)
test_ulc_vsprintf1_SOURCES = unistdio/test-ulc-vsprintf1.c
-test_ulc_vsprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(LIB_MBRTOWC)
+test_ulc_vsprintf1_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@ @LIBICONV@ $(MBRTOWC_LIB)
test_u16_check_SOURCES = unistr/test-u16-check.c
test_u16_check_LDADD = $(LDADD) $(LIBUNISTRING)
test_u16_chr_SOURCES = unistr/test-u16-chr.c
@@ -8006,6 +8707,8 @@ test_u16_move_SOURCES = unistr/test-u16-move.c
test_u16_move_LDADD = $(LDADD) $(LIBUNISTRING)
test_u16_next_SOURCES = unistr/test-u16-next.c
test_u16_next_LDADD = $(LDADD) $(LIBUNISTRING)
+test_u16_pcpy_SOURCES = unistr/test-u16-pcpy.c
+test_u16_pcpy_LDADD = $(LDADD) $(LIBUNISTRING)
test_u16_prev_SOURCES = unistr/test-u16-prev.c
test_u16_prev_LDADD = $(LDADD) $(LIBUNISTRING)
test_u16_set_SOURCES = unistr/test-u16-set.c
@@ -8076,6 +8779,8 @@ test_u32_move_SOURCES = unistr/test-u32-move.c
test_u32_move_LDADD = $(LDADD) $(LIBUNISTRING)
test_u32_next_SOURCES = unistr/test-u32-next.c
test_u32_next_LDADD = $(LDADD) $(LIBUNISTRING)
+test_u32_pcpy_SOURCES = unistr/test-u32-pcpy.c
+test_u32_pcpy_LDADD = $(LDADD) $(LIBUNISTRING)
test_u32_prev_SOURCES = unistr/test-u32-prev.c
test_u32_prev_LDADD = $(LDADD) $(LIBUNISTRING)
test_u32_set_SOURCES = unistr/test-u32-set.c
@@ -8146,6 +8851,8 @@ test_u8_move_SOURCES = unistr/test-u8-move.c
test_u8_move_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_next_SOURCES = unistr/test-u8-next.c
test_u8_next_LDADD = $(LDADD) $(LIBUNISTRING)
+test_u8_pcpy_SOURCES = unistr/test-u8-pcpy.c
+test_u8_pcpy_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_prev_SOURCES = unistr/test-u8-prev.c
test_u8_prev_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_set_SOURCES = unistr/test-u8-set.c
@@ -8199,7 +8906,7 @@ test_uc_wordbreaks_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_wordbreaks_SOURCES = uniwbrk/test-u8-wordbreaks.c
test_u8_wordbreaks_LDADD = $(LDADD) $(LIBUNISTRING)
test_ulc_wordbreaks_SOURCES = uniwbrk/test-ulc-wordbreaks.c
-test_ulc_wordbreaks_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING) @LIBICONV@
+test_ulc_wordbreaks_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING) @LIBICONV@
test_u16_strwidth_SOURCES = uniwidth/test-u16-strwidth.c
test_u16_strwidth_LDADD = $(LDADD) $(LIBUNISTRING)
test_u16_width_SOURCES = uniwidth/test-u16-width.c
@@ -8216,8 +8923,8 @@ test_uc_width_SOURCES = uniwidth/test-uc_width.c
test_uc_width_LDADD = $(LDADD) $(LIBUNISTRING)
test_uc_width2_SOURCES = uniwidth/test-uc_width2.c
test_uc_width2_LDADD = $(LDADD) $(LIBUNISTRING)
-test_wcrtomb_LDADD = $(LDADD) $(LIB_SETLOCALE)
-test_wcwidth_LDADD = $(LDADD) $(LIB_SETLOCALE) $(LIBUNISTRING)
+test_wcrtomb_LDADD = $(LDADD) $(SETLOCALE_LIB)
+test_wcwidth_LDADD = $(LDADD) $(SETLOCALE_LIB) $(LIBUNISTRING)
test_xalloc_die_LDADD = $(LDADD) @LIBINTL@
# Ensure that ../lib/config.h is seen before ../config.h.
@@ -8310,6 +9017,10 @@ test-accept$(EXEEXT): $(test_accept_OBJECTS) $(test_accept_DEPENDENCIES) $(EXTRA
@rm -f test-accept$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_accept_OBJECTS) $(test_accept_LDADD) $(LIBS)
+test-alignasof$(EXEEXT): $(test_alignasof_OBJECTS) $(test_alignasof_DEPENDENCIES) $(EXTRA_test_alignasof_DEPENDENCIES)
+ @rm -f test-alignasof$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_alignasof_OBJECTS) $(test_alignasof_LDADD) $(LIBS)
+
test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) $(EXTRA_test_alloca_opt_DEPENDENCIES)
@rm -f test-alloca-opt$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
@@ -8388,6 +9099,10 @@ test-block_test$(EXEEXT): $(test_block_test_OBJECTS) $(test_block_test_DEPENDENC
@rm -f test-block_test$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_block_test_OBJECTS) $(test_block_test_LDADD) $(LIBS)
+test-btoc32$(EXEEXT): $(test_btoc32_OBJECTS) $(test_btoc32_DEPENDENCIES) $(EXTRA_test_btoc32_DEPENDENCIES)
+ @rm -f test-btoc32$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_btoc32_OBJECTS) $(test_btoc32_LDADD) $(LIBS)
+
test-btowc$(EXEEXT): $(test_btowc_OBJECTS) $(test_btowc_DEPENDENCIES) $(EXTRA_test_btowc_DEPENDENCIES)
@rm -f test-btowc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_btowc_OBJECTS) $(test_btowc_LDADD) $(LIBS)
@@ -8404,6 +9119,70 @@ test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_
@rm -f test-c-strncasecmp$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS)
+test-c32isalnum$(EXEEXT): $(test_c32isalnum_OBJECTS) $(test_c32isalnum_DEPENDENCIES) $(EXTRA_test_c32isalnum_DEPENDENCIES)
+ @rm -f test-c32isalnum$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isalnum_OBJECTS) $(test_c32isalnum_LDADD) $(LIBS)
+
+test-c32isalpha$(EXEEXT): $(test_c32isalpha_OBJECTS) $(test_c32isalpha_DEPENDENCIES) $(EXTRA_test_c32isalpha_DEPENDENCIES)
+ @rm -f test-c32isalpha$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isalpha_OBJECTS) $(test_c32isalpha_LDADD) $(LIBS)
+
+test-c32isblank$(EXEEXT): $(test_c32isblank_OBJECTS) $(test_c32isblank_DEPENDENCIES) $(EXTRA_test_c32isblank_DEPENDENCIES)
+ @rm -f test-c32isblank$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isblank_OBJECTS) $(test_c32isblank_LDADD) $(LIBS)
+
+test-c32iscntrl$(EXEEXT): $(test_c32iscntrl_OBJECTS) $(test_c32iscntrl_DEPENDENCIES) $(EXTRA_test_c32iscntrl_DEPENDENCIES)
+ @rm -f test-c32iscntrl$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32iscntrl_OBJECTS) $(test_c32iscntrl_LDADD) $(LIBS)
+
+test-c32isdigit$(EXEEXT): $(test_c32isdigit_OBJECTS) $(test_c32isdigit_DEPENDENCIES) $(EXTRA_test_c32isdigit_DEPENDENCIES)
+ @rm -f test-c32isdigit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isdigit_OBJECTS) $(test_c32isdigit_LDADD) $(LIBS)
+
+test-c32isgraph$(EXEEXT): $(test_c32isgraph_OBJECTS) $(test_c32isgraph_DEPENDENCIES) $(EXTRA_test_c32isgraph_DEPENDENCIES)
+ @rm -f test-c32isgraph$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isgraph_OBJECTS) $(test_c32isgraph_LDADD) $(LIBS)
+
+test-c32islower$(EXEEXT): $(test_c32islower_OBJECTS) $(test_c32islower_DEPENDENCIES) $(EXTRA_test_c32islower_DEPENDENCIES)
+ @rm -f test-c32islower$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32islower_OBJECTS) $(test_c32islower_LDADD) $(LIBS)
+
+test-c32isprint$(EXEEXT): $(test_c32isprint_OBJECTS) $(test_c32isprint_DEPENDENCIES) $(EXTRA_test_c32isprint_DEPENDENCIES)
+ @rm -f test-c32isprint$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isprint_OBJECTS) $(test_c32isprint_LDADD) $(LIBS)
+
+test-c32ispunct$(EXEEXT): $(test_c32ispunct_OBJECTS) $(test_c32ispunct_DEPENDENCIES) $(EXTRA_test_c32ispunct_DEPENDENCIES)
+ @rm -f test-c32ispunct$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32ispunct_OBJECTS) $(test_c32ispunct_LDADD) $(LIBS)
+
+test-c32isspace$(EXEEXT): $(test_c32isspace_OBJECTS) $(test_c32isspace_DEPENDENCIES) $(EXTRA_test_c32isspace_DEPENDENCIES)
+ @rm -f test-c32isspace$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isspace_OBJECTS) $(test_c32isspace_LDADD) $(LIBS)
+
+test-c32isupper$(EXEEXT): $(test_c32isupper_OBJECTS) $(test_c32isupper_DEPENDENCIES) $(EXTRA_test_c32isupper_DEPENDENCIES)
+ @rm -f test-c32isupper$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isupper_OBJECTS) $(test_c32isupper_LDADD) $(LIBS)
+
+test-c32isxdigit$(EXEEXT): $(test_c32isxdigit_OBJECTS) $(test_c32isxdigit_DEPENDENCIES) $(EXTRA_test_c32isxdigit_DEPENDENCIES)
+ @rm -f test-c32isxdigit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32isxdigit_OBJECTS) $(test_c32isxdigit_LDADD) $(LIBS)
+
+test-c32rtomb$(EXEEXT): $(test_c32rtomb_OBJECTS) $(test_c32rtomb_DEPENDENCIES) $(EXTRA_test_c32rtomb_DEPENDENCIES)
+ @rm -f test-c32rtomb$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32rtomb_OBJECTS) $(test_c32rtomb_LDADD) $(LIBS)
+
+test-c32rtomb-w32$(EXEEXT): $(test_c32rtomb_w32_OBJECTS) $(test_c32rtomb_w32_DEPENDENCIES) $(EXTRA_test_c32rtomb_w32_DEPENDENCIES)
+ @rm -f test-c32rtomb-w32$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32rtomb_w32_OBJECTS) $(test_c32rtomb_w32_LDADD) $(LIBS)
+
+test-c32tolower$(EXEEXT): $(test_c32tolower_OBJECTS) $(test_c32tolower_DEPENDENCIES) $(EXTRA_test_c32tolower_DEPENDENCIES)
+ @rm -f test-c32tolower$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32tolower_OBJECTS) $(test_c32tolower_LDADD) $(LIBS)
+
+test-c32width$(EXEEXT): $(test_c32width_OBJECTS) $(test_c32width_DEPENDENCIES) $(EXTRA_test_c32width_DEPENDENCIES)
+ @rm -f test-c32width$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_c32width_OBJECTS) $(test_c32width_LDADD) $(LIBS)
+
test-calloc-gnu$(EXEEXT): $(test_calloc_gnu_OBJECTS) $(test_calloc_gnu_DEPENDENCIES) $(EXTRA_test_calloc_gnu_DEPENDENCIES)
@rm -f test-calloc-gnu$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_calloc_gnu_OBJECTS) $(test_calloc_gnu_LDADD) $(LIBS)
@@ -8874,6 +9653,10 @@ test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) $(EXTRA_te
@rm -f test-errno$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS)
+test-error$(EXEEXT): $(test_error_OBJECTS) $(test_error_DEPENDENCIES) $(EXTRA_test_error_DEPENDENCIES)
+ @rm -f test-error$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_error_OBJECTS) $(test_error_LDADD) $(LIBS)
+
test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES) $(EXTRA_test_fcntl_DEPENDENCIES)
@rm -f test-fcntl$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fcntl_OBJECTS) $(test_fcntl_LDADD) $(LIBS)
@@ -8967,6 +9750,24 @@ test-ignorable$(EXEEXT): $(test_ignorable_OBJECTS) $(test_ignorable_DEPENDENCIES
test-ignore-value$(EXEEXT): $(test_ignore_value_OBJECTS) $(test_ignore_value_DEPENDENCIES) $(EXTRA_test_ignore_value_DEPENDENCIES)
@rm -f test-ignore-value$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_ignore_value_OBJECTS) $(test_ignore_value_LDADD) $(LIBS)
+unictype/test-incb_byname.$(OBJEXT): unictype/$(am__dirstamp) \
+ unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-incb_byname$(EXEEXT): $(test_incb_byname_OBJECTS) $(test_incb_byname_DEPENDENCIES) $(EXTRA_test_incb_byname_DEPENDENCIES)
+ @rm -f test-incb_byname$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_incb_byname_OBJECTS) $(test_incb_byname_LDADD) $(LIBS)
+unictype/test-incb_name.$(OBJEXT): unictype/$(am__dirstamp) \
+ unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-incb_name$(EXEEXT): $(test_incb_name_OBJECTS) $(test_incb_name_DEPENDENCIES) $(EXTRA_test_incb_name_DEPENDENCIES)
+ @rm -f test-incb_name$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_incb_name_OBJECTS) $(test_incb_name_LDADD) $(LIBS)
+unictype/test-incb_of.$(OBJEXT): unictype/$(am__dirstamp) \
+ unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-incb_of$(EXEEXT): $(test_incb_of_OBJECTS) $(test_incb_of_DEPENDENCIES) $(EXTRA_test_incb_of_DEPENDENCIES)
+ @rm -f test-incb_of$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_incb_of_OBJECTS) $(test_incb_of_LDADD) $(LIBS)
test-inet_pton$(EXEEXT): $(test_inet_pton_OBJECTS) $(test_inet_pton_DEPENDENCIES) $(EXTRA_test_inet_pton_DEPENDENCIES)
@rm -f test-inet_pton$(EXEEXT)
@@ -9008,6 +9809,10 @@ test-iswdigit$(EXEEXT): $(test_iswdigit_OBJECTS) $(test_iswdigit_DEPENDENCIES) $
@rm -f test-iswdigit$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_iswdigit_OBJECTS) $(test_iswdigit_LDADD) $(LIBS)
+test-iswpunct$(EXEEXT): $(test_iswpunct_OBJECTS) $(test_iswpunct_DEPENDENCIES) $(EXTRA_test_iswpunct_DEPENDENCIES)
+ @rm -f test-iswpunct$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_iswpunct_OBJECTS) $(test_iswpunct_LDADD) $(LIBS)
+
test-iswxdigit$(EXEEXT): $(test_iswxdigit_OBJECTS) $(test_iswxdigit_DEPENDENCIES) $(EXTRA_test_iswxdigit_DEPENDENCIES)
@rm -f test-iswxdigit$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_iswxdigit_OBJECTS) $(test_iswxdigit_LDADD) $(LIBS)
@@ -9058,6 +9863,10 @@ test-langinfo$(EXEEXT): $(test_langinfo_OBJECTS) $(test_langinfo_DEPENDENCIES) $
@rm -f test-langinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_langinfo_OBJECTS) $(test_langinfo_LDADD) $(LIBS)
+test-largefile$(EXEEXT): $(test_largefile_OBJECTS) $(test_largefile_DEPENDENCIES) $(EXTRA_test_largefile_DEPENDENCIES)
+ @rm -f test-largefile$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_largefile_OBJECTS) $(test_largefile_LDADD) $(LIBS)
+
test-limits-h$(EXEEXT): $(test_limits_h_OBJECTS) $(test_limits_h_DEPENDENCIES) $(EXTRA_test_limits_h_DEPENDENCIES)
@rm -f test-limits-h$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_limits_h_OBJECTS) $(test_limits_h_LDADD) $(LIBS)
@@ -9104,6 +9913,14 @@ test-math$(EXEEXT): $(test_math_OBJECTS) $(test_math_DEPENDENCIES) $(EXTRA_test_
@rm -f test-math$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_math_OBJECTS) $(test_math_LDADD) $(LIBS)
+test-mbrtoc32$(EXEEXT): $(test_mbrtoc32_OBJECTS) $(test_mbrtoc32_DEPENDENCIES) $(EXTRA_test_mbrtoc32_DEPENDENCIES)
+ @rm -f test-mbrtoc32$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_mbrtoc32_OBJECTS) $(test_mbrtoc32_LDADD) $(LIBS)
+
+test-mbrtoc32-w32$(EXEEXT): $(test_mbrtoc32_w32_OBJECTS) $(test_mbrtoc32_w32_DEPENDENCIES) $(EXTRA_test_mbrtoc32_w32_DEPENDENCIES)
+ @rm -f test-mbrtoc32-w32$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_mbrtoc32_w32_OBJECTS) $(test_mbrtoc32_w32_LDADD) $(LIBS)
+
test-mbrtowc$(EXEEXT): $(test_mbrtowc_OBJECTS) $(test_mbrtowc_DEPENDENCIES) $(EXTRA_test_mbrtowc_DEPENDENCIES)
@rm -f test-mbrtowc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_mbrtowc_OBJECTS) $(test_mbrtowc_LDADD) $(LIBS)
@@ -9503,6 +10320,18 @@ unictype/test-pr_hyphen.$(OBJEXT): unictype/$(am__dirstamp) \
test-pr_hyphen$(EXEEXT): $(test_pr_hyphen_OBJECTS) $(test_pr_hyphen_DEPENDENCIES) $(EXTRA_test_pr_hyphen_DEPENDENCIES)
@rm -f test-pr_hyphen$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_pr_hyphen_OBJECTS) $(test_pr_hyphen_LDADD) $(LIBS)
+unictype/test-pr_id_compat_math_continue.$(OBJEXT): \
+ unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-pr_id_compat_math_continue$(EXEEXT): $(test_pr_id_compat_math_continue_OBJECTS) $(test_pr_id_compat_math_continue_DEPENDENCIES) $(EXTRA_test_pr_id_compat_math_continue_DEPENDENCIES)
+ @rm -f test-pr_id_compat_math_continue$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pr_id_compat_math_continue_OBJECTS) $(test_pr_id_compat_math_continue_LDADD) $(LIBS)
+unictype/test-pr_id_compat_math_start.$(OBJEXT): \
+ unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-pr_id_compat_math_start$(EXEEXT): $(test_pr_id_compat_math_start_OBJECTS) $(test_pr_id_compat_math_start_DEPENDENCIES) $(EXTRA_test_pr_id_compat_math_start_DEPENDENCIES)
+ @rm -f test-pr_id_compat_math_start$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pr_id_compat_math_start_OBJECTS) $(test_pr_id_compat_math_start_LDADD) $(LIBS)
unictype/test-pr_id_continue.$(OBJEXT): unictype/$(am__dirstamp) \
unictype/$(DEPDIR)/$(am__dirstamp)
@@ -9533,6 +10362,12 @@ unictype/test-pr_ids_trinary_operator.$(OBJEXT): \
test-pr_ids_trinary_operator$(EXEEXT): $(test_pr_ids_trinary_operator_OBJECTS) $(test_pr_ids_trinary_operator_DEPENDENCIES) $(EXTRA_test_pr_ids_trinary_operator_DEPENDENCIES)
@rm -f test-pr_ids_trinary_operator$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_pr_ids_trinary_operator_OBJECTS) $(test_pr_ids_trinary_operator_LDADD) $(LIBS)
+unictype/test-pr_ids_unary_operator.$(OBJEXT): \
+ unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-pr_ids_unary_operator$(EXEEXT): $(test_pr_ids_unary_operator_OBJECTS) $(test_pr_ids_unary_operator_DEPENDENCIES) $(EXTRA_test_pr_ids_unary_operator_DEPENDENCIES)
+ @rm -f test-pr_ids_unary_operator$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pr_ids_unary_operator_OBJECTS) $(test_pr_ids_unary_operator_LDADD) $(LIBS)
unictype/test-pr_ignorable_control.$(OBJEXT): \
unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp)
@@ -9671,6 +10506,12 @@ unictype/test-pr_pattern_white_space.$(OBJEXT): \
test-pr_pattern_white_space$(EXEEXT): $(test_pr_pattern_white_space_OBJECTS) $(test_pr_pattern_white_space_DEPENDENCIES) $(EXTRA_test_pr_pattern_white_space_DEPENDENCIES)
@rm -f test-pr_pattern_white_space$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_pr_pattern_white_space_OBJECTS) $(test_pr_pattern_white_space_LDADD) $(LIBS)
+unictype/test-pr_prepended_concatenation_mark.$(OBJEXT): \
+ unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-pr_prepended_concatenation_mark$(EXEEXT): $(test_pr_prepended_concatenation_mark_OBJECTS) $(test_pr_prepended_concatenation_mark_DEPENDENCIES) $(EXTRA_test_pr_prepended_concatenation_mark_DEPENDENCIES)
+ @rm -f test-pr_prepended_concatenation_mark$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pr_prepended_concatenation_mark_OBJECTS) $(test_pr_prepended_concatenation_mark_LDADD) $(LIBS)
unictype/test-pr_private_use.$(OBJEXT): unictype/$(am__dirstamp) \
unictype/$(DEPDIR)/$(am__dirstamp)
@@ -9818,6 +10659,18 @@ test-raise$(EXEEXT): $(test_raise_OBJECTS) $(test_raise_DEPENDENCIES) $(EXTRA_te
@rm -f test-raise$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_raise_OBJECTS) $(test_raise_LDADD) $(LIBS)
+test-random$(EXEEXT): $(test_random_OBJECTS) $(test_random_DEPENDENCIES) $(EXTRA_test_random_DEPENDENCIES)
+ @rm -f test-random$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_random_OBJECTS) $(test_random_LDADD) $(LIBS)
+
+test-random-mt$(EXEEXT): $(test_random_mt_OBJECTS) $(test_random_mt_DEPENDENCIES) $(EXTRA_test_random_mt_DEPENDENCIES)
+ @rm -f test-random-mt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_random_mt_OBJECTS) $(test_random_mt_LDADD) $(LIBS)
+
+test-random_r$(EXEEXT): $(test_random_r_OBJECTS) $(test_random_r_DEPENDENCIES) $(EXTRA_test_random_r_DEPENDENCIES)
+ @rm -f test-random_r$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_random_r_OBJECTS) $(test_random_r_LDADD) $(LIBS)
+
test-realloc-gnu$(EXEEXT): $(test_realloc_gnu_OBJECTS) $(test_realloc_gnu_DEPENDENCIES) $(EXTRA_test_realloc_gnu_DEPENDENCIES)
@rm -f test-realloc-gnu$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_realloc_gnu_OBJECTS) $(test_realloc_gnu_LDADD) $(LIBS)
@@ -9876,6 +10729,10 @@ test-setlocale_null-mt-one$(EXEEXT): $(test_setlocale_null_mt_one_OBJECTS) $(tes
@rm -f test-setlocale_null-mt-one$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_setlocale_null_mt_one_OBJECTS) $(test_setlocale_null_mt_one_LDADD) $(LIBS)
+test-setlocale_null-unlocked$(EXEEXT): $(test_setlocale_null_unlocked_OBJECTS) $(test_setlocale_null_unlocked_DEPENDENCIES) $(EXTRA_test_setlocale_null_unlocked_DEPENDENCIES)
+ @rm -f test-setlocale_null-unlocked$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_setlocale_null_unlocked_OBJECTS) $(test_setlocale_null_unlocked_LDADD) $(LIBS)
+
test-setsockopt$(EXEEXT): $(test_setsockopt_OBJECTS) $(test_setsockopt_DEPENDENCIES) $(EXTRA_test_setsockopt_DEPENDENCIES)
@rm -f test-setsockopt$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_setsockopt_OBJECTS) $(test_setsockopt_LDADD) $(LIBS)
@@ -9908,10 +10765,6 @@ test-stat-time$(EXEEXT): $(test_stat_time_OBJECTS) $(test_stat_time_DEPENDENCIES
@rm -f test-stat-time$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stat_time_OBJECTS) $(test_stat_time_LDADD) $(LIBS)
-test-stdalign$(EXEEXT): $(test_stdalign_OBJECTS) $(test_stdalign_DEPENDENCIES) $(EXTRA_test_stdalign_DEPENDENCIES)
- @rm -f test-stdalign$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(test_stdalign_OBJECTS) $(test_stdalign_LDADD) $(LIBS)
-
test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) $(EXTRA_test_stdbool_DEPENDENCIES)
@rm -f test-stdbool$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
@@ -10031,6 +10884,22 @@ test-thread_self$(EXEEXT): $(test_thread_self_OBJECTS) $(test_thread_self_DEPEND
test-time$(EXEEXT): $(test_time_OBJECTS) $(test_time_DEPENDENCIES) $(EXTRA_test_time_DEPENDENCIES)
@rm -f test-time$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_time_OBJECTS) $(test_time_LDADD) $(LIBS)
+
+test-time-h$(EXEEXT): $(test_time_h_OBJECTS) $(test_time_h_DEPENDENCIES) $(EXTRA_test_time_h_DEPENDENCIES)
+ @rm -f test-time-h$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_time_h_OBJECTS) $(test_time_h_LDADD) $(LIBS)
+unimetadata/$(am__dirstamp):
+ @$(MKDIR_P) unimetadata
+ @: > unimetadata/$(am__dirstamp)
+unimetadata/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) unimetadata/$(DEPDIR)
+ @: > unimetadata/$(DEPDIR)/$(am__dirstamp)
+unimetadata/test-u-version.$(OBJEXT): unimetadata/$(am__dirstamp) \
+ unimetadata/$(DEPDIR)/$(am__dirstamp)
+
+test-u-version$(EXEEXT): $(test_u_version_OBJECTS) $(test_u_version_DEPENDENCIES) $(EXTRA_test_u_version_DEPENDENCIES)
+ @rm -f test-u-version$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_u_version_OBJECTS) $(test_u_version_LDADD) $(LIBS)
unistdio/$(am__dirstamp):
@$(MKDIR_P) unistdio
@: > unistdio/$(am__dirstamp)
@@ -10229,6 +11098,12 @@ uninorm/test-u16-normcoll.$(OBJEXT): uninorm/$(am__dirstamp) \
test-u16-normcoll$(EXEEXT): $(test_u16_normcoll_OBJECTS) $(test_u16_normcoll_DEPENDENCIES) $(EXTRA_test_u16_normcoll_DEPENDENCIES)
@rm -f test-u16-normcoll$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_u16_normcoll_OBJECTS) $(test_u16_normcoll_LDADD) $(LIBS)
+unistr/test-u16-pcpy.$(OBJEXT): unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+
+test-u16-pcpy$(EXEEXT): $(test_u16_pcpy_OBJECTS) $(test_u16_pcpy_DEPENDENCIES) $(EXTRA_test_u16_pcpy_DEPENDENCIES)
+ @rm -f test-u16-pcpy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_u16_pcpy_OBJECTS) $(test_u16_pcpy_LDADD) $(LIBS)
unilbrk/$(am__dirstamp):
@$(MKDIR_P) unilbrk
@: > unilbrk/$(am__dirstamp)
@@ -10675,6 +11550,12 @@ uninorm/test-u32-normcoll.$(OBJEXT): uninorm/$(am__dirstamp) \
test-u32-normcoll$(EXEEXT): $(test_u32_normcoll_OBJECTS) $(test_u32_normcoll_DEPENDENCIES) $(EXTRA_test_u32_normcoll_DEPENDENCIES)
@rm -f test-u32-normcoll$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_u32_normcoll_OBJECTS) $(test_u32_normcoll_LDADD) $(LIBS)
+unistr/test-u32-pcpy.$(OBJEXT): unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+
+test-u32-pcpy$(EXEEXT): $(test_u32_pcpy_OBJECTS) $(test_u32_pcpy_DEPENDENCIES) $(EXTRA_test_u32_pcpy_DEPENDENCIES)
+ @rm -f test-u32-pcpy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_u32_pcpy_OBJECTS) $(test_u32_pcpy_LDADD) $(LIBS)
unilbrk/test-u32-possible-linebreaks.$(OBJEXT): \
unilbrk/$(am__dirstamp) unilbrk/$(DEPDIR)/$(am__dirstamp)
@@ -11077,6 +11958,12 @@ uninorm/test-u8-normcoll.$(OBJEXT): uninorm/$(am__dirstamp) \
test-u8-normcoll$(EXEEXT): $(test_u8_normcoll_OBJECTS) $(test_u8_normcoll_DEPENDENCIES) $(EXTRA_test_u8_normcoll_DEPENDENCIES)
@rm -f test-u8-normcoll$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_u8_normcoll_OBJECTS) $(test_u8_normcoll_LDADD) $(LIBS)
+unistr/test-u8-pcpy.$(OBJEXT): unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+
+test-u8-pcpy$(EXEEXT): $(test_u8_pcpy_OBJECTS) $(test_u8_pcpy_DEPENDENCIES) $(EXTRA_test_u8_pcpy_DEPENDENCIES)
+ @rm -f test-u8-pcpy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_u8_pcpy_OBJECTS) $(test_u8_pcpy_LDADD) $(LIBS)
unilbrk/test-u8-possible-linebreaks.$(OBJEXT): \
unilbrk/$(am__dirstamp) unilbrk/$(DEPDIR)/$(am__dirstamp)
@@ -11359,6 +12246,10 @@ uniwidth/test-uc_width2.$(OBJEXT): uniwidth/$(am__dirstamp) \
test-uc_width2$(EXEEXT): $(test_uc_width2_OBJECTS) $(test_uc_width2_DEPENDENCIES) $(EXTRA_test_uc_width2_DEPENDENCIES)
@rm -f test-uc_width2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_uc_width2_OBJECTS) $(test_uc_width2_LDADD) $(LIBS)
+
+test-uchar$(EXEEXT): $(test_uchar_OBJECTS) $(test_uchar_DEPENDENCIES) $(EXTRA_test_uchar_DEPENDENCIES)
+ @rm -f test-uchar$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_uchar_OBJECTS) $(test_uchar_LDADD) $(LIBS)
unistdio/test-ulc-asnprintf1.$(OBJEXT): unistdio/$(am__dirstamp) \
unistdio/$(DEPDIR)/$(am__dirstamp)
@@ -11508,6 +12399,7 @@ mostlyclean-compile:
-rm -f unictype/*.$(OBJEXT)
-rm -f unigbrk/*.$(OBJEXT)
-rm -f unilbrk/*.$(OBJEXT)
+ -rm -f unimetadata/*.$(OBJEXT)
-rm -f uniname/*.$(OBJEXT)
-rm -f uninorm/*.$(OBJEXT)
-rm -f unistdio/*.$(OBJEXT)
@@ -11523,7 +12415,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binary-io.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bind.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btoc32.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c32rtomb.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c32tob.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calloc.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cloexec.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@ # am--include-marker
@@ -11562,10 +12457,13 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_sigmask.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raise.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_r.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randomd.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randoml.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reallocarray.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/same-inode.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@ # am--include-marker
@@ -11586,16 +12484,34 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sys_socket.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-accept.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alignasof.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-arpa_inet.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-array-mergesort.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-assert.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-binary-io.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bind.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-btoc32.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-btowc.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isalnum.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isalpha.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isblank.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32iscntrl.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isdigit.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isgraph.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32islower.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isprint.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32ispunct.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isspace.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isupper.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32isxdigit.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32rtomb-w32.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32rtomb.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32tolower.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c32width.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-calloc-gnu.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-cloexec.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@ # am--include-marker
@@ -11604,6 +12520,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-error.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@ # am--include-marker
@@ -11636,8 +12553,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanl-nolibm.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswblank.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswdigit.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswpunct.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswxdigit.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-langinfo.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-largefile.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-limits-h.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-listen.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localcharset.Po@am__quote@ # am--include-marker
@@ -11648,6 +12567,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloc-gnu.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-math.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtoc32-w32.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtoc32.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc-w32.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsinit.Po@am__quote@ # am--include-marker
@@ -11668,6 +12589,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread_sigmask1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread_sigmask2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-raise.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-random-mt.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-random.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-random_r.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-realloc-gnu.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-reallocarray.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rwlock1.Po@am__quote@ # am--include-marker
@@ -11680,6 +12604,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale_null-mt-all.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale_null-mt-one.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale_null-unlocked.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale_null.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setsockopt.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h.Po@am__quote@ # am--include-marker
@@ -11689,7 +12614,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sockets.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat-time.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdalign.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdckdint.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@ # am--include-marker
@@ -11713,7 +12637,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_uio.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_create.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_self.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time-h.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-uchar.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-usleep.Po@am__quote@ # am--include-marker
@@ -11725,6 +12651,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wctype-h.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wcwidth.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xalloc-die.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Po@am__quote@ # am--include-marker
@@ -11861,6 +12788,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_xdigit.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-decdigit.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-digit.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-incb_byname.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-incb_name.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-incb_of.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-joininggroup_byname.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-joininggroup_name.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-joininggroup_of.Po@am__quote@ # am--include-marker
@@ -11918,11 +12848,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_grapheme_link.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_hex_digit.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_hyphen.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_id_compat_math_continue.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_id_compat_math_start.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_id_continue.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_id_start.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ideographic.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ids_binary_operator.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ids_trinary_operator.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ids_unary_operator.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_ignorable_control.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_iso_control.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_join_control.Po@am__quote@ # am--include-marker
@@ -11946,6 +12879,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_paragraph_separator.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_pattern_syntax.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_pattern_white_space.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_prepended_concatenation_mark.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_private_use.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_punctuation.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-pr_quotation_mark.Po@am__quote@ # am--include-marker
@@ -11991,6 +12925,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u8-width-linebreaks.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-ulc-possible-linebreaks.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-ulc-width-linebreaks.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unimetadata/$(DEPDIR)/test-u-version.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@uniname/$(DEPDIR)/test-uninames.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-canonical-decomposition.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/test-compat-decomposition.Po@am__quote@ # am--include-marker
@@ -12066,6 +13001,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-mbtoucr.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-move.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-next.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-pcpy.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-prev.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-set.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-stpcpy.Po@am__quote@ # am--include-marker
@@ -12101,6 +13037,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-mbtoucr.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-move.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-next.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-pcpy.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-prev.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-set.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u32-stpcpy.Po@am__quote@ # am--include-marker
@@ -12136,6 +13073,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-mbtoucr.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-move.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-next.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-pcpy.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-prev.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-set.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-stpcpy.Po@am__quote@ # am--include-marker
@@ -12455,6 +13393,13 @@ test-accept.log: test-accept$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-alignasof.log: test-alignasof$(EXEEXT)
+ @p='test-alignasof$(EXEEXT)'; \
+ b='test-alignasof'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-alloca-opt.log: test-alloca-opt$(EXEEXT)
@p='test-alloca-opt$(EXEEXT)'; \
b='test-alloca-opt'; \
@@ -12497,16 +13442,44 @@ test-bind.log: test-bind$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-btowc1.sh.log: test-btowc1.sh
- @p='test-btowc1.sh'; \
- b='test-btowc1.sh'; \
+test-btoc32-1.sh.log: test-btoc32-1.sh
+ @p='test-btoc32-1.sh'; \
+ b='test-btoc32-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-btoc32-2.sh.log: test-btoc32-2.sh
+ @p='test-btoc32-2.sh'; \
+ b='test-btoc32-2.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-btowc2.sh.log: test-btowc2.sh
- @p='test-btowc2.sh'; \
- b='test-btowc2.sh'; \
+test-btoc32-3.sh.log: test-btoc32-3.sh
+ @p='test-btoc32-3.sh'; \
+ b='test-btoc32-3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-btowc-1.sh.log: test-btowc-1.sh
+ @p='test-btowc-1.sh'; \
+ b='test-btowc-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-btowc-2.sh.log: test-btowc-2.sh
+ @p='test-btowc-2.sh'; \
+ b='test-btowc-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-btowc-3.sh.log: test-btowc-3.sh
+ @p='test-btowc-3.sh'; \
+ b='test-btowc-3.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
@@ -12525,6 +13498,160 @@ test-c-strcase.sh.log: test-c-strcase.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isalnum.sh.log: test-c32isalnum.sh
+ @p='test-c32isalnum.sh'; \
+ b='test-c32isalnum.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isalpha.sh.log: test-c32isalpha.sh
+ @p='test-c32isalpha.sh'; \
+ b='test-c32isalpha.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isblank.sh.log: test-c32isblank.sh
+ @p='test-c32isblank.sh'; \
+ b='test-c32isblank.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32iscntrl.sh.log: test-c32iscntrl.sh
+ @p='test-c32iscntrl.sh'; \
+ b='test-c32iscntrl.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isdigit.sh.log: test-c32isdigit.sh
+ @p='test-c32isdigit.sh'; \
+ b='test-c32isdigit.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isgraph.sh.log: test-c32isgraph.sh
+ @p='test-c32isgraph.sh'; \
+ b='test-c32isgraph.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32islower.sh.log: test-c32islower.sh
+ @p='test-c32islower.sh'; \
+ b='test-c32islower.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isprint.sh.log: test-c32isprint.sh
+ @p='test-c32isprint.sh'; \
+ b='test-c32isprint.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32ispunct.sh.log: test-c32ispunct.sh
+ @p='test-c32ispunct.sh'; \
+ b='test-c32ispunct.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isspace.sh.log: test-c32isspace.sh
+ @p='test-c32isspace.sh'; \
+ b='test-c32isspace.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isupper.sh.log: test-c32isupper.sh
+ @p='test-c32isupper.sh'; \
+ b='test-c32isupper.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32isxdigit.sh.log: test-c32isxdigit.sh
+ @p='test-c32isxdigit.sh'; \
+ b='test-c32isxdigit.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb.sh.log: test-c32rtomb.sh
+ @p='test-c32rtomb.sh'; \
+ b='test-c32rtomb.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-2.sh.log: test-c32rtomb-w32-2.sh
+ @p='test-c32rtomb-w32-2.sh'; \
+ b='test-c32rtomb-w32-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-3.sh.log: test-c32rtomb-w32-3.sh
+ @p='test-c32rtomb-w32-3.sh'; \
+ b='test-c32rtomb-w32-3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-4.sh.log: test-c32rtomb-w32-4.sh
+ @p='test-c32rtomb-w32-4.sh'; \
+ b='test-c32rtomb-w32-4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-5.sh.log: test-c32rtomb-w32-5.sh
+ @p='test-c32rtomb-w32-5.sh'; \
+ b='test-c32rtomb-w32-5.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-6.sh.log: test-c32rtomb-w32-6.sh
+ @p='test-c32rtomb-w32-6.sh'; \
+ b='test-c32rtomb-w32-6.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-7.sh.log: test-c32rtomb-w32-7.sh
+ @p='test-c32rtomb-w32-7.sh'; \
+ b='test-c32rtomb-w32-7.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32rtomb-w32-8.sh.log: test-c32rtomb-w32-8.sh
+ @p='test-c32rtomb-w32-8.sh'; \
+ b='test-c32rtomb-w32-8.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32tolower.sh.log: test-c32tolower.sh
+ @p='test-c32tolower.sh'; \
+ b='test-c32tolower.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-c32width.log: test-c32width$(EXEEXT)
+ @p='test-c32width$(EXEEXT)'; \
+ b='test-c32width'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-calloc-gnu.log: test-calloc-gnu$(EXEEXT)
@p='test-calloc-gnu$(EXEEXT)'; \
b='test-calloc-gnu'; \
@@ -12581,6 +13708,13 @@ test-errno.log: test-errno$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-error.sh.log: test-error.sh
+ @p='test-error.sh'; \
+ b='test-error.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fcntl-h.log: test-fcntl-h$(EXEEXT)
@p='test-fcntl-h$(EXEEXT)'; \
b='test-fcntl-h'; \
@@ -12805,6 +13939,13 @@ test-iswdigit.sh.log: test-iswdigit.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-iswpunct.sh.log: test-iswpunct.sh
+ @p='test-iswpunct.sh'; \
+ b='test-iswpunct.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-iswxdigit.sh.log: test-iswxdigit.sh
@p='test-iswxdigit.sh'; \
b='test-iswxdigit.sh'; \
@@ -12819,6 +13960,13 @@ test-langinfo.log: test-langinfo$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-largefile.log: test-largefile$(EXEEXT)
+ @p='test-largefile$(EXEEXT)'; \
+ b='test-largefile'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-limits-h.log: test-limits-h$(EXEEXT)
@p='test-limits-h$(EXEEXT)'; \
b='test-limits-h'; \
@@ -12903,44 +14051,121 @@ test-math.log: test-math$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-mbrtowc1.sh.log: test-mbrtowc1.sh
- @p='test-mbrtowc1.sh'; \
- b='test-mbrtowc1.sh'; \
+test-mbrtoc32-1.sh.log: test-mbrtoc32-1.sh
+ @p='test-mbrtoc32-1.sh'; \
+ b='test-mbrtoc32-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtoc32-2.sh.log: test-mbrtoc32-2.sh
+ @p='test-mbrtoc32-2.sh'; \
+ b='test-mbrtoc32-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtoc32-3.sh.log: test-mbrtoc32-3.sh
+ @p='test-mbrtoc32-3.sh'; \
+ b='test-mbrtoc32-3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtoc32-4.sh.log: test-mbrtoc32-4.sh
+ @p='test-mbrtoc32-4.sh'; \
+ b='test-mbrtoc32-4.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-mbrtowc2.sh.log: test-mbrtowc2.sh
- @p='test-mbrtowc2.sh'; \
- b='test-mbrtowc2.sh'; \
+test-mbrtoc32-5.sh.log: test-mbrtoc32-5.sh
+ @p='test-mbrtoc32-5.sh'; \
+ b='test-mbrtoc32-5.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-mbrtowc3.sh.log: test-mbrtowc3.sh
- @p='test-mbrtowc3.sh'; \
- b='test-mbrtowc3.sh'; \
+test-mbrtoc32-w32-2.sh.log: test-mbrtoc32-w32-2.sh
+ @p='test-mbrtoc32-w32-2.sh'; \
+ b='test-mbrtoc32-w32-2.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-mbrtowc4.sh.log: test-mbrtowc4.sh
- @p='test-mbrtowc4.sh'; \
- b='test-mbrtowc4.sh'; \
+test-mbrtoc32-w32-3.sh.log: test-mbrtoc32-w32-3.sh
+ @p='test-mbrtoc32-w32-3.sh'; \
+ b='test-mbrtoc32-w32-3.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-mbrtowc5.sh.log: test-mbrtowc5.sh
- @p='test-mbrtowc5.sh'; \
- b='test-mbrtowc5.sh'; \
+test-mbrtoc32-w32-4.sh.log: test-mbrtoc32-w32-4.sh
+ @p='test-mbrtoc32-w32-4.sh'; \
+ b='test-mbrtoc32-w32-4.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-mbrtowc-w32-1.sh.log: test-mbrtowc-w32-1.sh
- @p='test-mbrtowc-w32-1.sh'; \
- b='test-mbrtowc-w32-1.sh'; \
+test-mbrtoc32-w32-5.sh.log: test-mbrtoc32-w32-5.sh
+ @p='test-mbrtoc32-w32-5.sh'; \
+ b='test-mbrtoc32-w32-5.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtoc32-w32-6.sh.log: test-mbrtoc32-w32-6.sh
+ @p='test-mbrtoc32-w32-6.sh'; \
+ b='test-mbrtoc32-w32-6.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtoc32-w32-7.sh.log: test-mbrtoc32-w32-7.sh
+ @p='test-mbrtoc32-w32-7.sh'; \
+ b='test-mbrtoc32-w32-7.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtoc32-w32-8.sh.log: test-mbrtoc32-w32-8.sh
+ @p='test-mbrtoc32-w32-8.sh'; \
+ b='test-mbrtoc32-w32-8.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtowc-1.sh.log: test-mbrtowc-1.sh
+ @p='test-mbrtowc-1.sh'; \
+ b='test-mbrtowc-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtowc-2.sh.log: test-mbrtowc-2.sh
+ @p='test-mbrtowc-2.sh'; \
+ b='test-mbrtowc-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtowc-3.sh.log: test-mbrtowc-3.sh
+ @p='test-mbrtowc-3.sh'; \
+ b='test-mbrtowc-3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtowc-4.sh.log: test-mbrtowc-4.sh
+ @p='test-mbrtowc-4.sh'; \
+ b='test-mbrtowc-4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtowc-5.sh.log: test-mbrtowc-5.sh
+ @p='test-mbrtowc-5.sh'; \
+ b='test-mbrtowc-5.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
@@ -12987,6 +14212,13 @@ test-mbrtowc-w32-7.sh.log: test-mbrtowc-w32-7.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-mbrtowc-w32-8.sh.log: test-mbrtowc-w32-8.sh
+ @p='test-mbrtowc-w32-8.sh'; \
+ b='test-mbrtowc-w32-8.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbsinit.sh.log: test-mbsinit.sh
@p='test-mbsinit.sh'; \
b='test-mbsinit.sh'; \
@@ -13106,6 +14338,27 @@ test-raise.log: test-raise$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-random.log: test-random$(EXEEXT)
+ @p='test-random$(EXEEXT)'; \
+ b='test-random'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-random-mt.log: test-random-mt$(EXEEXT)
+ @p='test-random-mt$(EXEEXT)'; \
+ b='test-random-mt'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-random_r.log: test-random_r$(EXEEXT)
+ @p='test-random_r$(EXEEXT)'; \
+ b='test-random_r'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-realloc-gnu.log: test-realloc-gnu$(EXEEXT)
@p='test-realloc-gnu$(EXEEXT)'; \
b='test-realloc-gnu'; \
@@ -13176,6 +14429,13 @@ test-setlocale_null-mt-all.log: test-setlocale_null-mt-all$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-setlocale_null-unlocked.log: test-setlocale_null-unlocked$(EXEEXT)
+ @p='test-setlocale_null-unlocked$(EXEEXT)'; \
+ b='test-setlocale_null-unlocked'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-setlocale1.sh.log: test-setlocale1.sh
@p='test-setlocale1.sh'; \
b='test-setlocale1.sh'; \
@@ -13246,13 +14506,6 @@ test-stat-time.log: test-stat-time$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-stdalign.log: test-stdalign$(EXEEXT)
- @p='test-stdalign$(EXEEXT)'; \
- b='test-stdalign'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdbool.log: test-stdbool$(EXEEXT)
@p='test-stdbool$(EXEEXT)'; \
b='test-stdbool'; \
@@ -13421,6 +14674,13 @@ test-thread_create.log: test-thread_create$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-time-h.log: test-time-h$(EXEEXT)
+ @p='test-time-h$(EXEEXT)'; \
+ b='test-time-h'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-time.log: test-time$(EXEEXT)
@p='test-time$(EXEEXT)'; \
b='test-time'; \
@@ -13428,6 +14688,13 @@ test-time.log: test-time$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-uchar.log: test-uchar$(EXEEXT)
+ @p='test-uchar$(EXEEXT)'; \
+ b='test-uchar'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-cased.log: test-cased$(EXEEXT)
@p='test-cased$(EXEEXT)'; \
b='test-cased'; \
@@ -14324,6 +15591,27 @@ test-digit.log: test-digit$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-incb_byname.log: test-incb_byname$(EXEEXT)
+ @p='test-incb_byname$(EXEEXT)'; \
+ b='test-incb_byname'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-incb_name.log: test-incb_name$(EXEEXT)
+ @p='test-incb_name$(EXEEXT)'; \
+ b='test-incb_name'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-incb_of.log: test-incb_of$(EXEEXT)
+ @p='test-incb_of$(EXEEXT)'; \
+ b='test-incb_of'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-joininggroup_byname.log: test-joininggroup_byname$(EXEEXT)
@p='test-joininggroup_byname$(EXEEXT)'; \
b='test-joininggroup_byname'; \
@@ -14723,6 +16011,20 @@ test-pr_hyphen.log: test-pr_hyphen$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pr_id_compat_math_continue.log: test-pr_id_compat_math_continue$(EXEEXT)
+ @p='test-pr_id_compat_math_continue$(EXEEXT)'; \
+ b='test-pr_id_compat_math_continue'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pr_id_compat_math_start.log: test-pr_id_compat_math_start$(EXEEXT)
+ @p='test-pr_id_compat_math_start$(EXEEXT)'; \
+ b='test-pr_id_compat_math_start'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-pr_id_continue.log: test-pr_id_continue$(EXEEXT)
@p='test-pr_id_continue$(EXEEXT)'; \
b='test-pr_id_continue'; \
@@ -14758,6 +16060,13 @@ test-pr_ids_trinary_operator.log: test-pr_ids_trinary_operator$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pr_ids_unary_operator.log: test-pr_ids_unary_operator$(EXEEXT)
+ @p='test-pr_ids_unary_operator$(EXEEXT)'; \
+ b='test-pr_ids_unary_operator'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-pr_ignorable_control.log: test-pr_ignorable_control$(EXEEXT)
@p='test-pr_ignorable_control$(EXEEXT)'; \
b='test-pr_ignorable_control'; \
@@ -14919,6 +16228,13 @@ test-pr_pattern_white_space.log: test-pr_pattern_white_space$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pr_prepended_concatenation_mark.log: test-pr_prepended_concatenation_mark$(EXEEXT)
+ @p='test-pr_prepended_concatenation_mark$(EXEEXT)'; \
+ b='test-pr_prepended_concatenation_mark'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-pr_private_use.log: test-pr_private_use$(EXEEXT)
@p='test-pr_private_use$(EXEEXT)'; \
b='test-pr_private_use'; \
@@ -15234,6 +16550,13 @@ test-ulc-width-linebreaks.log: test-ulc-width-linebreaks$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-u-version.log: test-u-version$(EXEEXT)
+ @p='test-u-version$(EXEEXT)'; \
+ b='test-u-version'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
uniname/test-uninames.sh.log: uniname/test-uninames.sh
@p='uniname/test-uninames.sh'; \
b='uniname/test-uninames.sh'; \
@@ -15675,6 +16998,13 @@ test-u16-next.log: test-u16-next$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-u16-pcpy.log: test-u16-pcpy$(EXEEXT)
+ @p='test-u16-pcpy$(EXEEXT)'; \
+ b='test-u16-pcpy'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-u16-prev.log: test-u16-prev$(EXEEXT)
@p='test-u16-prev$(EXEEXT)'; \
b='test-u16-prev'; \
@@ -15920,6 +17250,13 @@ test-u32-next.log: test-u32-next$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-u32-pcpy.log: test-u32-pcpy$(EXEEXT)
+ @p='test-u32-pcpy$(EXEEXT)'; \
+ b='test-u32-pcpy'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-u32-prev.log: test-u32-prev$(EXEEXT)
@p='test-u32-prev$(EXEEXT)'; \
b='test-u32-prev'; \
@@ -16165,6 +17502,13 @@ test-u8-next.log: test-u8-next$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-u8-pcpy.log: test-u8-pcpy$(EXEEXT)
+ @p='test-u8-pcpy$(EXEEXT)'; \
+ b='test-u8-pcpy'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-u8-prev.log: test-u8-prev$(EXEEXT)
@p='test-u8-prev$(EXEEXT)'; \
b='test-u8-prev'; \
@@ -16452,13 +17796,6 @@ test-wcrtomb.sh.log: test-wcrtomb.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-test-wcrtomb-w32-1.sh.log: test-wcrtomb-w32-1.sh
- @p='test-wcrtomb-w32-1.sh'; \
- b='test-wcrtomb-w32-1.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb-w32-2.sh.log: test-wcrtomb-w32-2.sh
@p='test-wcrtomb-w32-2.sh'; \
b='test-wcrtomb-w32-2.sh'; \
@@ -16501,6 +17838,13 @@ test-wcrtomb-w32-7.sh.log: test-wcrtomb-w32-7.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-wcrtomb-w32-8.sh.log: test-wcrtomb-w32-8.sh
+ @p='test-wcrtomb-w32-8.sh'; \
+ b='test-wcrtomb-w32-8.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wctype-h.log: test-wctype-h$(EXEEXT)
@p='test-wctype-h$(EXEEXT)'; \
b='test-wctype-h'; \
@@ -16647,6 +17991,8 @@ distclean-generic:
-rm -f unigbrk/$(am__dirstamp)
-rm -f unilbrk/$(DEPDIR)/$(am__dirstamp)
-rm -f unilbrk/$(am__dirstamp)
+ -rm -f unimetadata/$(DEPDIR)/$(am__dirstamp)
+ -rm -f unimetadata/$(am__dirstamp)
-rm -f uniname/$(DEPDIR)/$(am__dirstamp)
-rm -f uniname/$(am__dirstamp)
-rm -f uninorm/$(DEPDIR)/$(am__dirstamp)
@@ -16678,7 +18024,10 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/basename-lgpl.Po
-rm -f ./$(DEPDIR)/binary-io.Po
-rm -f ./$(DEPDIR)/bind.Po
+ -rm -f ./$(DEPDIR)/btoc32.Po
-rm -f ./$(DEPDIR)/btowc.Po
+ -rm -f ./$(DEPDIR)/c32rtomb.Po
+ -rm -f ./$(DEPDIR)/c32tob.Po
-rm -f ./$(DEPDIR)/calloc.Po
-rm -f ./$(DEPDIR)/cloexec.Po
-rm -f ./$(DEPDIR)/close.Po
@@ -16717,10 +18066,13 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/pthread_sigmask.Po
-rm -f ./$(DEPDIR)/putenv.Po
-rm -f ./$(DEPDIR)/raise.Po
+ -rm -f ./$(DEPDIR)/random.Po
+ -rm -f ./$(DEPDIR)/random_r.Po
-rm -f ./$(DEPDIR)/randomd.Po
-rm -f ./$(DEPDIR)/randoml.Po
-rm -f ./$(DEPDIR)/realloc.Po
-rm -f ./$(DEPDIR)/reallocarray.Po
+ -rm -f ./$(DEPDIR)/same-inode.Po
-rm -f ./$(DEPDIR)/sched_yield.Po
-rm -f ./$(DEPDIR)/select.Po
-rm -f ./$(DEPDIR)/setenv.Po
@@ -16741,16 +18093,34 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/symlink.Po
-rm -f ./$(DEPDIR)/sys_socket.Po
-rm -f ./$(DEPDIR)/test-accept.Po
+ -rm -f ./$(DEPDIR)/test-alignasof.Po
-rm -f ./$(DEPDIR)/test-alloca-opt.Po
-rm -f ./$(DEPDIR)/test-arpa_inet.Po
-rm -f ./$(DEPDIR)/test-array-mergesort.Po
-rm -f ./$(DEPDIR)/test-assert.Po
-rm -f ./$(DEPDIR)/test-binary-io.Po
-rm -f ./$(DEPDIR)/test-bind.Po
+ -rm -f ./$(DEPDIR)/test-btoc32.Po
-rm -f ./$(DEPDIR)/test-btowc.Po
-rm -f ./$(DEPDIR)/test-c-ctype.Po
-rm -f ./$(DEPDIR)/test-c-strcasecmp.Po
-rm -f ./$(DEPDIR)/test-c-strncasecmp.Po
+ -rm -f ./$(DEPDIR)/test-c32isalnum.Po
+ -rm -f ./$(DEPDIR)/test-c32isalpha.Po
+ -rm -f ./$(DEPDIR)/test-c32isblank.Po
+ -rm -f ./$(DEPDIR)/test-c32iscntrl.Po
+ -rm -f ./$(DEPDIR)/test-c32isdigit.Po
+ -rm -f ./$(DEPDIR)/test-c32isgraph.Po
+ -rm -f ./$(DEPDIR)/test-c32islower.Po
+ -rm -f ./$(DEPDIR)/test-c32isprint.Po
+ -rm -f ./$(DEPDIR)/test-c32ispunct.Po
+ -rm -f ./$(DEPDIR)/test-c32isspace.Po
+ -rm -f ./$(DEPDIR)/test-c32isupper.Po
+ -rm -f ./$(DEPDIR)/test-c32isxdigit.Po
+ -rm -f ./$(DEPDIR)/test-c32rtomb-w32.Po
+ -rm -f ./$(DEPDIR)/test-c32rtomb.Po
+ -rm -f ./$(DEPDIR)/test-c32tolower.Po
+ -rm -f ./$(DEPDIR)/test-c32width.Po
-rm -f ./$(DEPDIR)/test-calloc-gnu.Po
-rm -f ./$(DEPDIR)/test-cloexec.Po
-rm -f ./$(DEPDIR)/test-close.Po
@@ -16759,6 +18129,7 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-dup2.Po
-rm -f ./$(DEPDIR)/test-environ.Po
-rm -f ./$(DEPDIR)/test-errno.Po
+ -rm -f ./$(DEPDIR)/test-error.Po
-rm -f ./$(DEPDIR)/test-fcntl-h.Po
-rm -f ./$(DEPDIR)/test-fcntl.Po
-rm -f ./$(DEPDIR)/test-fdopen.Po
@@ -16791,8 +18162,10 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-isnanl-nolibm.Po
-rm -f ./$(DEPDIR)/test-iswblank.Po
-rm -f ./$(DEPDIR)/test-iswdigit.Po
+ -rm -f ./$(DEPDIR)/test-iswpunct.Po
-rm -f ./$(DEPDIR)/test-iswxdigit.Po
-rm -f ./$(DEPDIR)/test-langinfo.Po
+ -rm -f ./$(DEPDIR)/test-largefile.Po
-rm -f ./$(DEPDIR)/test-limits-h.Po
-rm -f ./$(DEPDIR)/test-listen.Po
-rm -f ./$(DEPDIR)/test-localcharset.Po
@@ -16803,6 +18176,8 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-malloc-gnu.Po
-rm -f ./$(DEPDIR)/test-malloca.Po
-rm -f ./$(DEPDIR)/test-math.Po
+ -rm -f ./$(DEPDIR)/test-mbrtoc32-w32.Po
+ -rm -f ./$(DEPDIR)/test-mbrtoc32.Po
-rm -f ./$(DEPDIR)/test-mbrtowc-w32.Po
-rm -f ./$(DEPDIR)/test-mbrtowc.Po
-rm -f ./$(DEPDIR)/test-mbsinit.Po
@@ -16823,6 +18198,9 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-pthread_sigmask1.Po
-rm -f ./$(DEPDIR)/test-pthread_sigmask2.Po
-rm -f ./$(DEPDIR)/test-raise.Po
+ -rm -f ./$(DEPDIR)/test-random-mt.Po
+ -rm -f ./$(DEPDIR)/test-random.Po
+ -rm -f ./$(DEPDIR)/test-random_r.Po
-rm -f ./$(DEPDIR)/test-realloc-gnu.Po
-rm -f ./$(DEPDIR)/test-reallocarray.Po
-rm -f ./$(DEPDIR)/test-rwlock1.Po
@@ -16835,6 +18213,7 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-setlocale2.Po
-rm -f ./$(DEPDIR)/test-setlocale_null-mt-all.Po
-rm -f ./$(DEPDIR)/test-setlocale_null-mt-one.Po
+ -rm -f ./$(DEPDIR)/test-setlocale_null-unlocked.Po
-rm -f ./$(DEPDIR)/test-setlocale_null.Po
-rm -f ./$(DEPDIR)/test-setsockopt.Po
-rm -f ./$(DEPDIR)/test-signal-h.Po
@@ -16844,7 +18223,6 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-sockets.Po
-rm -f ./$(DEPDIR)/test-stat-time.Po
-rm -f ./$(DEPDIR)/test-stat.Po
- -rm -f ./$(DEPDIR)/test-stdalign.Po
-rm -f ./$(DEPDIR)/test-stdbool.Po
-rm -f ./$(DEPDIR)/test-stdckdint.Po
-rm -f ./$(DEPDIR)/test-stddef.Po
@@ -16868,7 +18246,9 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-sys_uio.Po
-rm -f ./$(DEPDIR)/test-thread_create.Po
-rm -f ./$(DEPDIR)/test-thread_self.Po
+ -rm -f ./$(DEPDIR)/test-time-h.Po
-rm -f ./$(DEPDIR)/test-time.Po
+ -rm -f ./$(DEPDIR)/test-uchar.Po
-rm -f ./$(DEPDIR)/test-unistd.Po
-rm -f ./$(DEPDIR)/test-unsetenv.Po
-rm -f ./$(DEPDIR)/test-usleep.Po
@@ -16880,6 +18260,7 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/test-wctype-h.Po
-rm -f ./$(DEPDIR)/test-wcwidth.Po
-rm -f ./$(DEPDIR)/test-xalloc-die.Po
+ -rm -f ./$(DEPDIR)/time.Po
-rm -f ./$(DEPDIR)/unsetenv.Po
-rm -f ./$(DEPDIR)/usleep.Po
-rm -f ./$(DEPDIR)/wcrtomb.Po
@@ -17016,6 +18397,9 @@ distclean: distclean-recursive
-rm -f unictype/$(DEPDIR)/test-ctype_xdigit.Po
-rm -f unictype/$(DEPDIR)/test-decdigit.Po
-rm -f unictype/$(DEPDIR)/test-digit.Po
+ -rm -f unictype/$(DEPDIR)/test-incb_byname.Po
+ -rm -f unictype/$(DEPDIR)/test-incb_name.Po
+ -rm -f unictype/$(DEPDIR)/test-incb_of.Po
-rm -f unictype/$(DEPDIR)/test-joininggroup_byname.Po
-rm -f unictype/$(DEPDIR)/test-joininggroup_name.Po
-rm -f unictype/$(DEPDIR)/test-joininggroup_of.Po
@@ -17073,11 +18457,14 @@ distclean: distclean-recursive
-rm -f unictype/$(DEPDIR)/test-pr_grapheme_link.Po
-rm -f unictype/$(DEPDIR)/test-pr_hex_digit.Po
-rm -f unictype/$(DEPDIR)/test-pr_hyphen.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_id_compat_math_continue.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_id_compat_math_start.Po
-rm -f unictype/$(DEPDIR)/test-pr_id_continue.Po
-rm -f unictype/$(DEPDIR)/test-pr_id_start.Po
-rm -f unictype/$(DEPDIR)/test-pr_ideographic.Po
-rm -f unictype/$(DEPDIR)/test-pr_ids_binary_operator.Po
-rm -f unictype/$(DEPDIR)/test-pr_ids_trinary_operator.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_ids_unary_operator.Po
-rm -f unictype/$(DEPDIR)/test-pr_ignorable_control.Po
-rm -f unictype/$(DEPDIR)/test-pr_iso_control.Po
-rm -f unictype/$(DEPDIR)/test-pr_join_control.Po
@@ -17101,6 +18488,7 @@ distclean: distclean-recursive
-rm -f unictype/$(DEPDIR)/test-pr_paragraph_separator.Po
-rm -f unictype/$(DEPDIR)/test-pr_pattern_syntax.Po
-rm -f unictype/$(DEPDIR)/test-pr_pattern_white_space.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_prepended_concatenation_mark.Po
-rm -f unictype/$(DEPDIR)/test-pr_private_use.Po
-rm -f unictype/$(DEPDIR)/test-pr_punctuation.Po
-rm -f unictype/$(DEPDIR)/test-pr_quotation_mark.Po
@@ -17146,6 +18534,7 @@ distclean: distclean-recursive
-rm -f unilbrk/$(DEPDIR)/test-u8-width-linebreaks.Po
-rm -f unilbrk/$(DEPDIR)/test-ulc-possible-linebreaks.Po
-rm -f unilbrk/$(DEPDIR)/test-ulc-width-linebreaks.Po
+ -rm -f unimetadata/$(DEPDIR)/test-u-version.Po
-rm -f uniname/$(DEPDIR)/test-uninames.Po
-rm -f uninorm/$(DEPDIR)/test-canonical-decomposition.Po
-rm -f uninorm/$(DEPDIR)/test-compat-decomposition.Po
@@ -17221,6 +18610,7 @@ distclean: distclean-recursive
-rm -f unistr/$(DEPDIR)/test-u16-mbtoucr.Po
-rm -f unistr/$(DEPDIR)/test-u16-move.Po
-rm -f unistr/$(DEPDIR)/test-u16-next.Po
+ -rm -f unistr/$(DEPDIR)/test-u16-pcpy.Po
-rm -f unistr/$(DEPDIR)/test-u16-prev.Po
-rm -f unistr/$(DEPDIR)/test-u16-set.Po
-rm -f unistr/$(DEPDIR)/test-u16-stpcpy.Po
@@ -17256,6 +18646,7 @@ distclean: distclean-recursive
-rm -f unistr/$(DEPDIR)/test-u32-mbtoucr.Po
-rm -f unistr/$(DEPDIR)/test-u32-move.Po
-rm -f unistr/$(DEPDIR)/test-u32-next.Po
+ -rm -f unistr/$(DEPDIR)/test-u32-pcpy.Po
-rm -f unistr/$(DEPDIR)/test-u32-prev.Po
-rm -f unistr/$(DEPDIR)/test-u32-set.Po
-rm -f unistr/$(DEPDIR)/test-u32-stpcpy.Po
@@ -17291,6 +18682,7 @@ distclean: distclean-recursive
-rm -f unistr/$(DEPDIR)/test-u8-mbtoucr.Po
-rm -f unistr/$(DEPDIR)/test-u8-move.Po
-rm -f unistr/$(DEPDIR)/test-u8-next.Po
+ -rm -f unistr/$(DEPDIR)/test-u8-pcpy.Po
-rm -f unistr/$(DEPDIR)/test-u8-prev.Po
-rm -f unistr/$(DEPDIR)/test-u8-set.Po
-rm -f unistr/$(DEPDIR)/test-u8-stpcpy.Po
@@ -17376,7 +18768,10 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/basename-lgpl.Po
-rm -f ./$(DEPDIR)/binary-io.Po
-rm -f ./$(DEPDIR)/bind.Po
+ -rm -f ./$(DEPDIR)/btoc32.Po
-rm -f ./$(DEPDIR)/btowc.Po
+ -rm -f ./$(DEPDIR)/c32rtomb.Po
+ -rm -f ./$(DEPDIR)/c32tob.Po
-rm -f ./$(DEPDIR)/calloc.Po
-rm -f ./$(DEPDIR)/cloexec.Po
-rm -f ./$(DEPDIR)/close.Po
@@ -17415,10 +18810,13 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/pthread_sigmask.Po
-rm -f ./$(DEPDIR)/putenv.Po
-rm -f ./$(DEPDIR)/raise.Po
+ -rm -f ./$(DEPDIR)/random.Po
+ -rm -f ./$(DEPDIR)/random_r.Po
-rm -f ./$(DEPDIR)/randomd.Po
-rm -f ./$(DEPDIR)/randoml.Po
-rm -f ./$(DEPDIR)/realloc.Po
-rm -f ./$(DEPDIR)/reallocarray.Po
+ -rm -f ./$(DEPDIR)/same-inode.Po
-rm -f ./$(DEPDIR)/sched_yield.Po
-rm -f ./$(DEPDIR)/select.Po
-rm -f ./$(DEPDIR)/setenv.Po
@@ -17439,16 +18837,34 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/symlink.Po
-rm -f ./$(DEPDIR)/sys_socket.Po
-rm -f ./$(DEPDIR)/test-accept.Po
+ -rm -f ./$(DEPDIR)/test-alignasof.Po
-rm -f ./$(DEPDIR)/test-alloca-opt.Po
-rm -f ./$(DEPDIR)/test-arpa_inet.Po
-rm -f ./$(DEPDIR)/test-array-mergesort.Po
-rm -f ./$(DEPDIR)/test-assert.Po
-rm -f ./$(DEPDIR)/test-binary-io.Po
-rm -f ./$(DEPDIR)/test-bind.Po
+ -rm -f ./$(DEPDIR)/test-btoc32.Po
-rm -f ./$(DEPDIR)/test-btowc.Po
-rm -f ./$(DEPDIR)/test-c-ctype.Po
-rm -f ./$(DEPDIR)/test-c-strcasecmp.Po
-rm -f ./$(DEPDIR)/test-c-strncasecmp.Po
+ -rm -f ./$(DEPDIR)/test-c32isalnum.Po
+ -rm -f ./$(DEPDIR)/test-c32isalpha.Po
+ -rm -f ./$(DEPDIR)/test-c32isblank.Po
+ -rm -f ./$(DEPDIR)/test-c32iscntrl.Po
+ -rm -f ./$(DEPDIR)/test-c32isdigit.Po
+ -rm -f ./$(DEPDIR)/test-c32isgraph.Po
+ -rm -f ./$(DEPDIR)/test-c32islower.Po
+ -rm -f ./$(DEPDIR)/test-c32isprint.Po
+ -rm -f ./$(DEPDIR)/test-c32ispunct.Po
+ -rm -f ./$(DEPDIR)/test-c32isspace.Po
+ -rm -f ./$(DEPDIR)/test-c32isupper.Po
+ -rm -f ./$(DEPDIR)/test-c32isxdigit.Po
+ -rm -f ./$(DEPDIR)/test-c32rtomb-w32.Po
+ -rm -f ./$(DEPDIR)/test-c32rtomb.Po
+ -rm -f ./$(DEPDIR)/test-c32tolower.Po
+ -rm -f ./$(DEPDIR)/test-c32width.Po
-rm -f ./$(DEPDIR)/test-calloc-gnu.Po
-rm -f ./$(DEPDIR)/test-cloexec.Po
-rm -f ./$(DEPDIR)/test-close.Po
@@ -17457,6 +18873,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-dup2.Po
-rm -f ./$(DEPDIR)/test-environ.Po
-rm -f ./$(DEPDIR)/test-errno.Po
+ -rm -f ./$(DEPDIR)/test-error.Po
-rm -f ./$(DEPDIR)/test-fcntl-h.Po
-rm -f ./$(DEPDIR)/test-fcntl.Po
-rm -f ./$(DEPDIR)/test-fdopen.Po
@@ -17489,8 +18906,10 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-isnanl-nolibm.Po
-rm -f ./$(DEPDIR)/test-iswblank.Po
-rm -f ./$(DEPDIR)/test-iswdigit.Po
+ -rm -f ./$(DEPDIR)/test-iswpunct.Po
-rm -f ./$(DEPDIR)/test-iswxdigit.Po
-rm -f ./$(DEPDIR)/test-langinfo.Po
+ -rm -f ./$(DEPDIR)/test-largefile.Po
-rm -f ./$(DEPDIR)/test-limits-h.Po
-rm -f ./$(DEPDIR)/test-listen.Po
-rm -f ./$(DEPDIR)/test-localcharset.Po
@@ -17501,6 +18920,8 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-malloc-gnu.Po
-rm -f ./$(DEPDIR)/test-malloca.Po
-rm -f ./$(DEPDIR)/test-math.Po
+ -rm -f ./$(DEPDIR)/test-mbrtoc32-w32.Po
+ -rm -f ./$(DEPDIR)/test-mbrtoc32.Po
-rm -f ./$(DEPDIR)/test-mbrtowc-w32.Po
-rm -f ./$(DEPDIR)/test-mbrtowc.Po
-rm -f ./$(DEPDIR)/test-mbsinit.Po
@@ -17521,6 +18942,9 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-pthread_sigmask1.Po
-rm -f ./$(DEPDIR)/test-pthread_sigmask2.Po
-rm -f ./$(DEPDIR)/test-raise.Po
+ -rm -f ./$(DEPDIR)/test-random-mt.Po
+ -rm -f ./$(DEPDIR)/test-random.Po
+ -rm -f ./$(DEPDIR)/test-random_r.Po
-rm -f ./$(DEPDIR)/test-realloc-gnu.Po
-rm -f ./$(DEPDIR)/test-reallocarray.Po
-rm -f ./$(DEPDIR)/test-rwlock1.Po
@@ -17533,6 +18957,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-setlocale2.Po
-rm -f ./$(DEPDIR)/test-setlocale_null-mt-all.Po
-rm -f ./$(DEPDIR)/test-setlocale_null-mt-one.Po
+ -rm -f ./$(DEPDIR)/test-setlocale_null-unlocked.Po
-rm -f ./$(DEPDIR)/test-setlocale_null.Po
-rm -f ./$(DEPDIR)/test-setsockopt.Po
-rm -f ./$(DEPDIR)/test-signal-h.Po
@@ -17542,7 +18967,6 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-sockets.Po
-rm -f ./$(DEPDIR)/test-stat-time.Po
-rm -f ./$(DEPDIR)/test-stat.Po
- -rm -f ./$(DEPDIR)/test-stdalign.Po
-rm -f ./$(DEPDIR)/test-stdbool.Po
-rm -f ./$(DEPDIR)/test-stdckdint.Po
-rm -f ./$(DEPDIR)/test-stddef.Po
@@ -17566,7 +18990,9 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-sys_uio.Po
-rm -f ./$(DEPDIR)/test-thread_create.Po
-rm -f ./$(DEPDIR)/test-thread_self.Po
+ -rm -f ./$(DEPDIR)/test-time-h.Po
-rm -f ./$(DEPDIR)/test-time.Po
+ -rm -f ./$(DEPDIR)/test-uchar.Po
-rm -f ./$(DEPDIR)/test-unistd.Po
-rm -f ./$(DEPDIR)/test-unsetenv.Po
-rm -f ./$(DEPDIR)/test-usleep.Po
@@ -17578,6 +19004,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/test-wctype-h.Po
-rm -f ./$(DEPDIR)/test-wcwidth.Po
-rm -f ./$(DEPDIR)/test-xalloc-die.Po
+ -rm -f ./$(DEPDIR)/time.Po
-rm -f ./$(DEPDIR)/unsetenv.Po
-rm -f ./$(DEPDIR)/usleep.Po
-rm -f ./$(DEPDIR)/wcrtomb.Po
@@ -17714,6 +19141,9 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unictype/$(DEPDIR)/test-ctype_xdigit.Po
-rm -f unictype/$(DEPDIR)/test-decdigit.Po
-rm -f unictype/$(DEPDIR)/test-digit.Po
+ -rm -f unictype/$(DEPDIR)/test-incb_byname.Po
+ -rm -f unictype/$(DEPDIR)/test-incb_name.Po
+ -rm -f unictype/$(DEPDIR)/test-incb_of.Po
-rm -f unictype/$(DEPDIR)/test-joininggroup_byname.Po
-rm -f unictype/$(DEPDIR)/test-joininggroup_name.Po
-rm -f unictype/$(DEPDIR)/test-joininggroup_of.Po
@@ -17771,11 +19201,14 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unictype/$(DEPDIR)/test-pr_grapheme_link.Po
-rm -f unictype/$(DEPDIR)/test-pr_hex_digit.Po
-rm -f unictype/$(DEPDIR)/test-pr_hyphen.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_id_compat_math_continue.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_id_compat_math_start.Po
-rm -f unictype/$(DEPDIR)/test-pr_id_continue.Po
-rm -f unictype/$(DEPDIR)/test-pr_id_start.Po
-rm -f unictype/$(DEPDIR)/test-pr_ideographic.Po
-rm -f unictype/$(DEPDIR)/test-pr_ids_binary_operator.Po
-rm -f unictype/$(DEPDIR)/test-pr_ids_trinary_operator.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_ids_unary_operator.Po
-rm -f unictype/$(DEPDIR)/test-pr_ignorable_control.Po
-rm -f unictype/$(DEPDIR)/test-pr_iso_control.Po
-rm -f unictype/$(DEPDIR)/test-pr_join_control.Po
@@ -17799,6 +19232,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unictype/$(DEPDIR)/test-pr_paragraph_separator.Po
-rm -f unictype/$(DEPDIR)/test-pr_pattern_syntax.Po
-rm -f unictype/$(DEPDIR)/test-pr_pattern_white_space.Po
+ -rm -f unictype/$(DEPDIR)/test-pr_prepended_concatenation_mark.Po
-rm -f unictype/$(DEPDIR)/test-pr_private_use.Po
-rm -f unictype/$(DEPDIR)/test-pr_punctuation.Po
-rm -f unictype/$(DEPDIR)/test-pr_quotation_mark.Po
@@ -17844,6 +19278,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unilbrk/$(DEPDIR)/test-u8-width-linebreaks.Po
-rm -f unilbrk/$(DEPDIR)/test-ulc-possible-linebreaks.Po
-rm -f unilbrk/$(DEPDIR)/test-ulc-width-linebreaks.Po
+ -rm -f unimetadata/$(DEPDIR)/test-u-version.Po
-rm -f uniname/$(DEPDIR)/test-uninames.Po
-rm -f uninorm/$(DEPDIR)/test-canonical-decomposition.Po
-rm -f uninorm/$(DEPDIR)/test-compat-decomposition.Po
@@ -17919,6 +19354,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unistr/$(DEPDIR)/test-u16-mbtoucr.Po
-rm -f unistr/$(DEPDIR)/test-u16-move.Po
-rm -f unistr/$(DEPDIR)/test-u16-next.Po
+ -rm -f unistr/$(DEPDIR)/test-u16-pcpy.Po
-rm -f unistr/$(DEPDIR)/test-u16-prev.Po
-rm -f unistr/$(DEPDIR)/test-u16-set.Po
-rm -f unistr/$(DEPDIR)/test-u16-stpcpy.Po
@@ -17954,6 +19390,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unistr/$(DEPDIR)/test-u32-mbtoucr.Po
-rm -f unistr/$(DEPDIR)/test-u32-move.Po
-rm -f unistr/$(DEPDIR)/test-u32-next.Po
+ -rm -f unistr/$(DEPDIR)/test-u32-pcpy.Po
-rm -f unistr/$(DEPDIR)/test-u32-prev.Po
-rm -f unistr/$(DEPDIR)/test-u32-set.Po
-rm -f unistr/$(DEPDIR)/test-u32-stpcpy.Po
@@ -17989,6 +19426,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f unistr/$(DEPDIR)/test-u8-mbtoucr.Po
-rm -f unistr/$(DEPDIR)/test-u8-move.Po
-rm -f unistr/$(DEPDIR)/test-u8-next.Po
+ -rm -f unistr/$(DEPDIR)/test-u8-pcpy.Po
-rm -f unistr/$(DEPDIR)/test-u8-prev.Po
-rm -f unistr/$(DEPDIR)/test-u8-set.Po
-rm -f unistr/$(DEPDIR)/test-u8-stpcpy.Po
@@ -18106,6 +19544,21 @@ ctype.h: ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
$(srcdir)/ctype.in.h > $@-t
$(AM_V_at)mv $@-t $@
+# We need the following in order to override <error.h>.
+error.h: error.in.h $(top_builddir)/config.status $(CXXDEFS_H)
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_ERROR_H''@|$(HAVE_ERROR_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''NEXT_ERROR_H''@|$(NEXT_ERROR_H)|g' \
+ -e 's|@''HAVE_ERROR''@|$(HAVE_ERROR)|g' \
+ -e 's|@''HAVE_ERROR_AT_LINE''@|$(HAVE_ERROR_AT_LINE)|g' \
+ -e 's|@''REPLACE_ERROR''@|$(REPLACE_ERROR)|g' \
+ -e 's|@''REPLACE_ERROR_AT_LINE''@|$(REPLACE_ERROR_AT_LINE)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ $(srcdir)/error.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+
# We need the following in order to create <fcntl.h> when the system
# doesn't have one that works with the given compiler.
fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
@@ -18184,6 +19637,8 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e 's|@''HAVE_PTHREAD_DETACH''@|$(HAVE_PTHREAD_DETACH)|g' \
-e 's|@''HAVE_PTHREAD_JOIN''@|$(HAVE_PTHREAD_JOIN)|g' \
-e 's|@''HAVE_PTHREAD_EXIT''@|$(HAVE_PTHREAD_EXIT)|g' \
+ < $(srcdir)/pthread.in.h > $@-t1
+ $(AM_V_at)sed \
-e 's|@''HAVE_PTHREAD_ONCE''@|$(HAVE_PTHREAD_ONCE)|g' \
-e 's|@''HAVE_PTHREAD_MUTEX_INIT''@|$(HAVE_PTHREAD_MUTEX_INIT)|g' \
-e 's|@''HAVE_PTHREAD_MUTEXATTR_INIT''@|$(HAVE_PTHREAD_MUTEXATTR_INIT)|g' \
@@ -18225,8 +19680,9 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e 's|@''HAVE_PTHREAD_SPIN_TRYLOCK''@|$(HAVE_PTHREAD_SPIN_TRYLOCK)|g' \
-e 's|@''HAVE_PTHREAD_SPIN_UNLOCK''@|$(HAVE_PTHREAD_SPIN_UNLOCK)|g' \
-e 's|@''HAVE_PTHREAD_SPIN_DESTROY''@|$(HAVE_PTHREAD_SPIN_DESTROY)|g' \
- < $(srcdir)/pthread.in.h | \
- sed -e 's|@''REPLACE_PTHREAD_CREATE''@|$(REPLACE_PTHREAD_CREATE)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
+ -e 's|@''REPLACE_PTHREAD_CREATE''@|$(REPLACE_PTHREAD_CREATE)|g' \
-e 's|@''REPLACE_PTHREAD_ATTR_INIT''@|$(REPLACE_PTHREAD_ATTR_INIT)|g' \
-e 's|@''REPLACE_PTHREAD_ATTR_GETDETACHSTATE''@|$(REPLACE_PTHREAD_ATTR_GETDETACHSTATE)|g' \
-e 's|@''REPLACE_PTHREAD_ATTR_SETDETACHSTATE''@|$(REPLACE_PTHREAD_ATTR_SETDETACHSTATE)|g' \
@@ -18260,6 +19716,8 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e 's|@''REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK''@|$(REPLACE_PTHREAD_RWLOCK_TIMEDWRLOCK)|g' \
-e 's|@''REPLACE_PTHREAD_RWLOCK_UNLOCK''@|$(REPLACE_PTHREAD_RWLOCK_UNLOCK)|g' \
-e 's|@''REPLACE_PTHREAD_RWLOCK_DESTROY''@|$(REPLACE_PTHREAD_RWLOCK_DESTROY)|g' \
+ < $@-t2 > $@-t3
+ $(AM_V_at)sed \
-e 's|@''REPLACE_PTHREAD_COND_INIT''@|$(REPLACE_PTHREAD_COND_INIT)|g' \
-e 's|@''REPLACE_PTHREAD_CONDATTR_INIT''@|$(REPLACE_PTHREAD_CONDATTR_INIT)|g' \
-e 's|@''REPLACE_PTHREAD_CONDATTR_DESTROY''@|$(REPLACE_PTHREAD_CONDATTR_DESTROY)|g' \
@@ -18281,8 +19739,9 @@ pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H
-e '/definition of _Noreturn/r $(_NORETURN_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t3 > $@-t4
+ $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+ $(AM_V_at)mv $@-t4 $@
# We need the following in order to create a replacement for <sched.h> when
# the system doesn't have one.
@@ -18335,14 +19794,6 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
$(srcdir)/signal.in.h > $@-t
$(AM_V_at)mv $@-t $@
-# We need the following in order to create <stdalign.h> when the system
-# doesn't have one that works.
-@GL_GENERATE_STDALIGN_H_TRUE@stdalign.h: stdalign.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDALIGN_H_TRUE@ $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/stdalign.in.h
-@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_at)mv $@-t $@
-@GL_GENERATE_STDALIGN_H_FALSE@stdalign.h: $(top_builddir)/config.status
-@GL_GENERATE_STDALIGN_H_FALSE@ rm -f $@
-
# We need the following in order to create <stdio.h> when the system
# doesn't have one that works with the given compiler.
stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
@@ -18412,14 +19863,17 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \
-e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \
-e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \
- < $(srcdir)/stdio.in.h | \
- sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
+ < $(srcdir)/stdio.in.h > $@-t1
+ $(AM_V_at)sed \
+ -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
-e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
-e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
-e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
-e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
-e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+ -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \
-e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+ -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
@@ -18430,6 +19884,8 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
-e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
-e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+ < $@-t1 > $@-t2
+ $(AM_V_at)sed \
-e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
-e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
-e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
@@ -18467,8 +19923,9 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- > $@-t
- $(AM_V_at)mv $@-t $@
+ < $@-t2 > $@-t3
+ $(AM_V_at)rm -f $@-t1 $@-t2
+ $(AM_V_at)mv $@-t3 $@
# We need the following in order to create <sys/ioctl.h> when the system
# does not have a complete one.
@@ -18666,6 +20123,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \
-e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \
-e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \
+ -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \
-e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \
-e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \
-e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \
@@ -18687,7 +20145,10 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
+ -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \
-e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+ -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \
+ -e 's|@''REPLACE_TIMESPEC_GETRES''@|$(REPLACE_TIMESPEC_GETRES)|g' \
-e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
diff --git a/tests/_Noreturn.h b/tests/_Noreturn.h
index e914627a..7326bd47 100644
--- a/tests/_Noreturn.h
+++ b/tests/_Noreturn.h
@@ -1,5 +1,5 @@
/* A C macro for declaring that a function does not return.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -26,6 +26,11 @@
AIX system header files and several gnulib header files use precisely
this syntax with 'extern'. */
# define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+ && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+ /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+ that rare LLVM bug, though you may get many false-alarm warnings. */
+# define _Noreturn
# elif ((!defined __cplusplus || defined __clang__) \
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|| (!defined __STRICT_ANSI__ \
diff --git a/tests/accept.c b/tests/accept.c
index 5c4d1f35..18ce80c6 100644
--- a/tests/accept.c
+++ b/tests/accept.c
@@ -1,6 +1,6 @@
/* accept.c --- wrappers for Windows accept function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/arg-nonnull.h b/tests/arg-nonnull.h
index e4513efe..46c711ca 100644
--- a/tests/arg-nonnull.h
+++ b/tests/arg-nonnull.h
@@ -1,5 +1,5 @@
/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/tests/arpa_inet.in.h b/tests/arpa_inet.in.h
index f5d7db2d..523a448c 100644
--- a/tests/arpa_inet.in.h
+++ b/tests/arpa_inet.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <arpa/inet.h>.
- Copyright (C) 2005-2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -49,6 +49,11 @@
#ifndef _@GUARD_PREFIX@_ARPA_INET_H
#define _@GUARD_PREFIX@_ARPA_INET_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get all possible declarations of inet_ntop() and inet_pton(). */
#if (@GNULIB_INET_NTOP@ || @GNULIB_INET_PTON@ || defined GNULIB_POSIXCHECK) \
&& @HAVE_WS2TCPIP_H@
diff --git a/tests/atomic-int-gnulib.h b/tests/atomic-int-gnulib.h
index d1c68a2b..b459f344 100644
--- a/tests/atomic-int-gnulib.h
+++ b/tests/atomic-int-gnulib.h
@@ -1,5 +1,5 @@
/* Atomic integers. Useful for testing multithreaded locking primitives.
- Copyright (C) 2005, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -107,6 +107,7 @@ init_atomic_int (struct atomic_int *ai)
else
{
perror ("sem_open failed");
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/basename-lgpl.c b/tests/basename-lgpl.c
index f8da1484..256f8460 100644
--- a/tests/basename-lgpl.c
+++ b/tests/basename-lgpl.c
@@ -1,6 +1,6 @@
/* basename.c -- return the last element in a file name
- Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2022 Free Software
+ Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/basename-lgpl.h b/tests/basename-lgpl.h
index 5569f219..2a56be98 100644
--- a/tests/basename-lgpl.h
+++ b/tests/basename-lgpl.h
@@ -1,6 +1,6 @@
/* Extract the last component (base name) of a file name.
- Copyright (C) 1998, 2001, 2003-2006, 2009-2022 Free Software Foundation,
+ Copyright (C) 1998, 2001, 2003-2006, 2009-2024 Free Software Foundation,
Inc.
This file is free software: you can redistribute it and/or modify
@@ -19,6 +19,11 @@
#ifndef _BASENAME_LGPL_H
#define _BASENAME_LGPL_H
+/* This file uses _GL_ATTRIBUTE_PURE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
diff --git a/tests/binary-io.c b/tests/binary-io.c
index ea407fd7..40f01d67 100644
--- a/tests/binary-io.c
+++ b/tests/binary-io.c
@@ -1,5 +1,5 @@
/* Binary mode I/O.
- Copyright 2017-2022 Free Software Foundation, Inc.
+ Copyright 2017-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/binary-io.h b/tests/binary-io.h
index 5b7661e2..0cc5c117 100644
--- a/tests/binary-io.h
+++ b/tests/binary-io.h
@@ -1,5 +1,5 @@
/* Binary mode I/O.
- Copyright (C) 2001, 2003, 2005, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -17,6 +17,11 @@
#ifndef _BINARY_H
#define _BINARY_H
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_UNUSED. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* For systems that distinguish between text and binary I/O.
O_BINARY is guaranteed by the gnulib <fcntl.h>. */
#include <fcntl.h>
@@ -25,9 +30,6 @@
so we include it here first. */
#include <stdio.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef BINARY_IO_INLINE
# define BINARY_IO_INLINE _GL_INLINE
diff --git a/tests/bind.c b/tests/bind.c
index 199e0ba9..7c557448 100644
--- a/tests/bind.c
+++ b/tests/bind.c
@@ -1,6 +1,6 @@
/* bind.c --- wrappers for Windows bind function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/btoc32.c b/tests/btoc32.c
new file mode 100644
index 00000000..4f223059
--- /dev/null
+++ b/tests/btoc32.c
@@ -0,0 +1,68 @@
+/* Convert unibyte character to 32-bit wide character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2020. */
+
+#include <config.h>
+
+#define IN_BTOC32
+/* Specification. */
+#include <uchar.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <wchar.h>
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+#if _GL_WCHAR_T_IS_UCS4
+_GL_EXTERN_INLINE
+#endif
+wint_t
+btoc32 (int c)
+{
+#if HAVE_WORKING_MBRTOC32 && !_GL_WCHAR_T_IS_UCS4
+ /* The char32_t encoding of a multibyte character may be different than its
+ wchar_t encoding. */
+ if (c != EOF)
+ {
+ mbstate_t state;
+ char s[1];
+ char32_t wc;
+
+ mbszero (&state);
+ s[0] = (unsigned char) c;
+ if (mbrtoc32 (&wc, s, 1, &state) <= 1)
+ return wc;
+ }
+ return WEOF;
+#else
+ /* In all known locale encodings, unibyte characters correspond only to
+ characters in the BMP. */
+ wint_t wc = btowc (c);
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ if (wc != WEOF && wc != 0)
+ {
+ wc = locale_encoding_to_unicode (wc);
+ if (wc == 0)
+ return WEOF;
+ }
+# endif
+ return wc;
+#endif
+}
diff --git a/tests/btowc.c b/tests/btowc.c
index 4af58bb0..8bf21aa6 100644
--- a/tests/btowc.c
+++ b/tests/btowc.c
@@ -1,5 +1,5 @@
/* Convert unibyte character to wide character.
- Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
@@ -22,6 +22,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
wint_t
btowc (int c)
@@ -32,7 +33,14 @@ btowc (int c)
wchar_t wc;
buf[0] = c;
+#if HAVE_MBRTOWC
+ mbstate_t state;
+ mbszero (&state);
+ size_t ret = mbrtowc (&wc, buf, 1, &state);
+ if (!(ret == (size_t)(-1) || ret == (size_t)(-2)))
+#else
if (mbtowc (&wc, buf, 1) >= 0)
+#endif
return wc;
}
return WEOF;
diff --git a/tests/c++defs.h b/tests/c++defs.h
index ad181558..eb66967b 100644
--- a/tests/c++defs.h
+++ b/tests/c++defs.h
@@ -1,5 +1,5 @@
/* C++ compatible function declaration macros.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -99,6 +99,12 @@
Example:
_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
_GL_ARG_NONNULL ((1)));
+
+ Note: Attributes, such as _GL_ATTRIBUTE_DEPRECATED, are supported in front
+ of a _GL_FUNCDECL_RPL invocation only in C mode, not in C++ mode. (That's
+ because
+ [[...]] extern "C" <declaration>;
+ is invalid syntax in C++.)
*/
#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
_GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
diff --git a/tests/c32rtomb.c b/tests/c32rtomb.c
new file mode 100644
index 00000000..260bf097
--- /dev/null
+++ b/tests/c32rtomb.c
@@ -0,0 +1,132 @@
+/* Convert 32-bit wide character to multibyte character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2020. */
+
+#include <config.h>
+
+/* Specification. */
+#include <uchar.h>
+
+#include <errno.h>
+#include <wchar.h>
+
+#include "attribute.h" /* FALLTHROUGH */
+#include "localcharset.h"
+#include "streq.h"
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+size_t
+c32rtomb (char *s, char32_t wc, mbstate_t *ps)
+#undef c32rtomb
+{
+#if HAVE_WORKING_MBRTOC32
+
+# if C32RTOMB_RETVAL_BUG
+ if (s == NULL)
+ /* We know the NUL wide character corresponds to the NUL character. */
+ return 1;
+# endif
+
+ return c32rtomb (s, wc, ps);
+
+#elif _GL_SMALL_WCHAR_T
+
+ if (s == NULL)
+ return wcrtomb (NULL, 0, ps);
+ else
+ {
+ /* Special-case all encodings that may produce wide character values
+ > WCHAR_MAX. */
+ const char *encoding = locale_charset ();
+ if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+ {
+ /* Special-case the UTF-8 encoding. Assume that the wide-character
+ encoding in a UTF-8 locale is UCS-2 or, equivalently, UTF-16. */
+ if (wc < 0x80)
+ {
+ s[0] = (unsigned char) wc;
+ return 1;
+ }
+ else
+ {
+ int count;
+
+ if (wc < 0x800)
+ count = 2;
+ else if (wc < 0x10000)
+ {
+ if (wc < 0xd800 || wc >= 0xe000)
+ count = 3;
+ else
+ {
+ errno = EILSEQ;
+ return (size_t)(-1);
+ }
+ }
+ else if (wc < 0x110000)
+ count = 4;
+ else
+ {
+ errno = EILSEQ;
+ return (size_t)(-1);
+ }
+
+ switch (count) /* note: code falls through cases! */
+ {
+ case 4: s[3] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x10000;
+ FALLTHROUGH;
+ case 3: s[2] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x800;
+ FALLTHROUGH;
+ case 2: s[1] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0xc0;
+ /*case 1:*/ s[0] = wc;
+ }
+ return count;
+ }
+ }
+ else
+ {
+ if ((wchar_t) wc == wc)
+ return wcrtomb (s, (wchar_t) wc, ps);
+ else
+ {
+ errno = EILSEQ;
+ return (size_t)(-1);
+ }
+ }
+ }
+
+#else
+
+ /* char32_t and wchar_t are equivalent. */
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ if (wc != 0)
+ {
+ wc = unicode_to_locale_encoding (wc);
+ if (wc == 0)
+ {
+ errno = EILSEQ;
+ return (size_t)(-1);
+ }
+ }
+# endif
+ return wcrtomb (s, (wchar_t) wc, ps);
+
+#endif
+}
diff --git a/tests/c32tob.c b/tests/c32tob.c
new file mode 100644
index 00000000..901c9249
--- /dev/null
+++ b/tests/c32tob.c
@@ -0,0 +1,70 @@
+/* Convert 32-bit wide character to unibyte character.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This file 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 3 of the
+ License, or (at your option) any later version.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2020. */
+
+#include <config.h>
+
+#define IN_C32TOB
+/* Specification. */
+#include <uchar.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <wchar.h>
+
+#if GL_CHAR32_T_IS_UNICODE
+# include "lc-charset-unicode.h"
+#endif
+
+#if _GL_WCHAR_T_IS_UCS4
+_GL_EXTERN_INLINE
+#endif
+int
+c32tob (wint_t wc)
+{
+#if HAVE_WORKING_MBRTOC32 && !_GL_WCHAR_T_IS_UCS4
+ /* The char32_t encoding of a multibyte character may be different than its
+ wchar_t encoding. */
+ if (wc != WEOF)
+ {
+ mbstate_t state;
+ char buf[8];
+
+ mbszero (&state);
+ if (c32rtomb (buf, wc, &state) == 1)
+ return (unsigned char) buf[0];
+ }
+ return EOF;
+#elif _GL_SMALL_WCHAR_T
+ /* In all known encodings, unibyte characters correspond only to
+ characters in the BMP. */
+ if (wc != WEOF && (wchar_t) wc == wc)
+ return wctob ((wchar_t) wc);
+ else
+ return EOF;
+#else
+# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
+ if (wc != 0)
+ {
+ wc = unicode_to_locale_encoding (wc);
+ if (wc == 0)
+ return EOF;
+ }
+# endif
+ return wctob (wc);
+#endif
+}
diff --git a/tests/calloc.c b/tests/calloc.c
index 0a934b30..81dfd3ef 100644
--- a/tests/calloc.c
+++ b/tests/calloc.c
@@ -1,6 +1,6 @@
/* calloc() function that is glibc compatible.
This wrapper function is required at least on Tru64 UNIX 5.1 and mingw.
- Copyright (C) 2004-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2004-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/cdefs.h b/tests/cdefs.h
new file mode 100644
index 00000000..d38382ad
--- /dev/null
+++ b/tests/cdefs.h
@@ -0,0 +1,715 @@
+/* Copyright (C) 1992-2024 Free Software Foundation, Inc.
+ Copyright The GNU Toolchain Authors.
+ 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, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_CDEFS_H
+#define _SYS_CDEFS_H 1
+
+/* We are almost always included from features.h. */
+#ifndef _FEATURES_H
+# include <features.h>
+#endif
+
+/* The GNU libc does not support any K&R compilers or the traditional mode
+ of ISO C compilers anymore. Check for some of the combinations not
+ supported anymore. */
+#if defined __GNUC__ && !defined __STDC__
+# error "You need a ISO C conforming compiler to use the glibc headers"
+#endif
+
+/* Some user header file might have defined this before. */
+#undef __P
+#undef __PMT
+
+/* Compilers that lack __has_attribute may object to
+ #if defined __has_attribute && __has_attribute (...)
+ even though they do not need to evaluate the right-hand side of the &&.
+ Similarly for __has_builtin, etc. */
+#if (defined __has_attribute \
+ && (!defined __clang_minor__ \
+ || (defined __apple_build_version__ \
+ ? 7000000 <= __apple_build_version__ \
+ : 5 <= __clang_major__)))
+# define __glibc_has_attribute(attr) __has_attribute (attr)
+#else
+# define __glibc_has_attribute(attr) 0
+#endif
+#ifdef __has_builtin
+# define __glibc_has_builtin(name) __has_builtin (name)
+#else
+# define __glibc_has_builtin(name) 0
+#endif
+#ifdef __has_extension
+# define __glibc_has_extension(ext) __has_extension (ext)
+#else
+# define __glibc_has_extension(ext) 0
+#endif
+
+#if defined __GNUC__ || defined __clang__
+
+/* All functions, except those with callbacks or those that
+ synchronize memory, are leaf functions. */
+# if __GNUC_PREREQ (4, 6) && !defined _LIBC
+# define __LEAF , __leaf__
+# define __LEAF_ATTR __attribute__ ((__leaf__))
+# else
+# define __LEAF
+# define __LEAF_ATTR
+# endif
+
+/* GCC can always grok prototypes. For C++ programs we add throw()
+ to help it optimize the function calls. But this only works with
+ gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions
+ as non-throwing using a function attribute since programs can use
+ the -fexceptions options for C code as well. */
+# if !defined __cplusplus \
+ && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__))
+# define __THROW __attribute__ ((__nothrow__ __LEAF))
+# define __THROWNL __attribute__ ((__nothrow__))
+# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
+# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct
+# else
+# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4)
+# if __cplusplus >= 201103L
+# define __THROW noexcept (true)
+# else
+# define __THROW throw ()
+# endif
+# define __THROWNL __THROW
+# define __NTH(fct) __LEAF_ATTR fct __THROW
+# define __NTHNL(fct) fct __THROW
+# else
+# define __THROW
+# define __THROWNL
+# define __NTH(fct) fct
+# define __NTHNL(fct) fct
+# endif
+# endif
+
+#else /* Not GCC or clang. */
+
+# if (defined __cplusplus \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
+# define __inline inline
+# else
+# define __inline /* No inline functions. */
+# endif
+
+# define __THROW
+# define __THROWNL
+# define __NTH(fct) fct
+
+#endif /* GCC || clang. */
+
+/* These two macros are not used in glibc anymore. They are kept here
+ only because some other projects expect the macros to be defined. */
+#define __P(args) args
+#define __PMT(args) args
+
+/* For these things, GCC behaves the ANSI way normally,
+ and the non-ANSI way under -traditional. */
+
+#define __CONCAT(x,y) x ## y
+#define __STRING(x) #x
+
+/* This is not a typedef so `const __ptr_t' does the right thing. */
+#define __ptr_t void *
+
+
+/* C++ needs to know that types and declarations are C, not C++. */
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS
+# define __END_DECLS
+#endif
+
+
+/* Gnulib avoids these definitions, as they don't work on non-glibc platforms.
+ In particular, __bos and __bos0 are defined differently in the Android libc.
+ */
+#ifndef __GNULIB_CDEFS
+
+/* Fortify support. */
+# define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+# define __bos0(ptr) __builtin_object_size (ptr, 0)
+
+/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */
+# if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \
+ || __GNUC_PREREQ (12, 0))
+# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0)
+# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1)
+# else
+# define __glibc_objsize0(__o) __bos0 (__o)
+# define __glibc_objsize(__o) __bos (__o)
+# endif
+
+/* Compile time conditions to choose between the regular, _chk and _chk_warn
+ variants. These conditions should get evaluated to constant and optimized
+ away. */
+
+# define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s))
+# define __glibc_unsigned_or_positive(__l) \
+ ((__typeof (__l)) 0 < (__typeof (__l)) -1 \
+ || (__builtin_constant_p (__l) && (__l) > 0))
+
+/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ
+ condition can be folded to a constant and if it is true, or unknown (-1) */
+# define __glibc_safe_or_unknown_len(__l, __s, __osz) \
+ ((__osz) == (__SIZE_TYPE__) -1 \
+ || (__glibc_unsigned_or_positive (__l) \
+ && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
+ (__s), (__osz))) \
+ && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz))))
+
+/* Conversely, we know at compile time that the length is unsafe if the
+ __L * __S <= __OBJSZ condition can be folded to a constant and if it is
+ false. */
+# define __glibc_unsafe_len(__l, __s, __osz) \
+ (__glibc_unsigned_or_positive (__l) \
+ && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
+ __s, __osz)) \
+ && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz))
+
+/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be
+ declared. */
+
+# define __glibc_fortify(f, __l, __s, __osz, ...) \
+ (__glibc_safe_or_unknown_len (__l, __s, __osz) \
+ ? __ ## f ## _alias (__VA_ARGS__) \
+ : (__glibc_unsafe_len (__l, __s, __osz) \
+ ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \
+ : __ ## f ## _chk (__VA_ARGS__, __osz))) \
+
+/* Fortify function f, where object size argument passed to f is the number of
+ elements and not total size. */
+
+# define __glibc_fortify_n(f, __l, __s, __osz, ...) \
+ (__glibc_safe_or_unknown_len (__l, __s, __osz) \
+ ? __ ## f ## _alias (__VA_ARGS__) \
+ : (__glibc_unsafe_len (__l, __s, __osz) \
+ ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \
+ : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \
+
+#endif
+
+
+#if __GNUC_PREREQ (4,3)
+# define __warnattr(msg) __attribute__((__warning__ (msg)))
+# define __errordecl(name, msg) \
+ extern void name (void) __attribute__((__error__ (msg)))
+#else
+# define __warnattr(msg)
+# define __errordecl(name, msg) extern void name (void)
+#endif
+
+/* Support for flexible arrays.
+ Headers that should use flexible arrays only if they're "real"
+ (e.g. only if they won't affect sizeof()) should test
+ #if __glibc_c99_flexarr_available. */
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc
+# define __flexarr []
+# define __glibc_c99_flexarr_available 1
+#elif __GNUC_PREREQ (2,97) || defined __clang__
+/* GCC 2.97 and clang support C99 flexible array members as an extension,
+ even when in C89 mode or compiling C++ (any version). */
+# define __flexarr []
+# define __glibc_c99_flexarr_available 1
+#elif defined __GNUC__
+/* Pre-2.97 GCC did not support C99 flexible arrays but did have
+ an equivalent extension with slightly different notation. */
+# define __flexarr [0]
+# define __glibc_c99_flexarr_available 1
+#else
+/* Some other non-C99 compiler. Approximate with [1]. */
+# define __flexarr [1]
+# define __glibc_c99_flexarr_available 0
+#endif
+
+
+/* __asm__ ("xyz") is used throughout the headers to rename functions
+ at the assembly language level. This is wrapped by the __REDIRECT
+ macro, in order to support compilers that can do this some other
+ way. When compilers don't support asm-names at all, we have to do
+ preprocessor tricks instead (which don't have exactly the right
+ semantics, but it's the best we can do).
+
+ Example:
+ int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
+
+#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4)
+
+# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
+# ifdef __cplusplus
+# define __REDIRECT_NTH(name, proto, alias) \
+ name proto __THROW __asm__ (__ASMNAME (#alias))
+# define __REDIRECT_NTHNL(name, proto, alias) \
+ name proto __THROWNL __asm__ (__ASMNAME (#alias))
+# else
+# define __REDIRECT_NTH(name, proto, alias) \
+ name proto __asm__ (__ASMNAME (#alias)) __THROW
+# define __REDIRECT_NTHNL(name, proto, alias) \
+ name proto __asm__ (__ASMNAME (#alias)) __THROWNL
+# endif
+# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
+
+/*
+#elif __SOME_OTHER_COMPILER__
+
+# define __REDIRECT(name, proto, alias) name proto; \
+ _Pragma("let " #name " = " #alias)
+*/
+#endif
+
+/* GCC and clang have various useful declarations that can be made with
+ the '__attribute__' syntax. All of the ways we use this do fine if
+ they are omitted for compilers that don't understand it. */
+#if !(defined __GNUC__ || defined __clang__)
+# define __attribute__(xyz) /* Ignore */
+#endif
+
+/* At some point during the gcc 2.96 development the `malloc' attribute
+ for functions was introduced. We don't want to use it unconditionally
+ (although this would be possible) since it generates warnings. */
+#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__)
+# define __attribute_malloc__ __attribute__ ((__malloc__))
+#else
+# define __attribute_malloc__ /* Ignore */
+#endif
+
+/* Tell the compiler which arguments to an allocation function
+ indicate the size of the allocation. */
+#if __GNUC_PREREQ (4, 3)
+# define __attribute_alloc_size__(params) \
+ __attribute__ ((__alloc_size__ params))
+#else
+# define __attribute_alloc_size__(params) /* Ignore. */
+#endif
+
+/* Tell the compiler which argument to an allocation function
+ indicates the alignment of the allocation. */
+#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__)
+# define __attribute_alloc_align__(param) \
+ __attribute__ ((__alloc_align__ param))
+#else
+# define __attribute_alloc_align__(param) /* Ignore. */
+#endif
+
+/* At some point during the gcc 2.96 development the `pure' attribute
+ for functions was introduced. We don't want to use it unconditionally
+ (although this would be possible) since it generates warnings. */
+#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__)
+# define __attribute_pure__ __attribute__ ((__pure__))
+#else
+# define __attribute_pure__ /* Ignore */
+#endif
+
+/* This declaration tells the compiler that the value is constant. */
+#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__)
+# define __attribute_const__ __attribute__ ((__const__))
+#else
+# define __attribute_const__ /* Ignore */
+#endif
+
+#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__)
+# define __attribute_maybe_unused__ __attribute__ ((__unused__))
+#else
+# define __attribute_maybe_unused__ /* Ignore */
+#endif
+
+/* At some point during the gcc 3.1 development the `used' attribute
+ for functions was introduced. We don't want to use it unconditionally
+ (although this would be possible) since it generates warnings. */
+#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__)
+# define __attribute_used__ __attribute__ ((__used__))
+# define __attribute_noinline__ __attribute__ ((__noinline__))
+#else
+# define __attribute_used__ __attribute__ ((__unused__))
+# define __attribute_noinline__ /* Ignore */
+#endif
+
+/* Since version 3.2, gcc allows marking deprecated functions. */
+#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__)
+# define __attribute_deprecated__ __attribute__ ((__deprecated__))
+#else
+# define __attribute_deprecated__ /* Ignore */
+#endif
+
+/* Since version 4.5, gcc also allows one to specify the message printed
+ when a deprecated function is used. clang claims to be gcc 4.2, but
+ may also support this feature. */
+#if __GNUC_PREREQ (4,5) \
+ || __glibc_has_extension (__attribute_deprecated_with_message__)
+# define __attribute_deprecated_msg__(msg) \
+ __attribute__ ((__deprecated__ (msg)))
+#else
+# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
+#endif
+
+/* At some point during the gcc 2.8 development the `format_arg' attribute
+ for functions was introduced. We don't want to use it unconditionally
+ (although this would be possible) since it generates warnings.
+ If several `format_arg' attributes are given for the same function, in
+ gcc-3.0 and older, all but the last one are ignored. In newer gccs,
+ all designated arguments are considered. */
+#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__)
+# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
+#else
+# define __attribute_format_arg__(x) /* Ignore */
+#endif
+
+/* At some point during the gcc 2.97 development the `strfmon' format
+ attribute for functions was introduced. We don't want to use it
+ unconditionally (although this would be possible) since it
+ generates warnings. */
+#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__)
+# define __attribute_format_strfmon__(a,b) \
+ __attribute__ ((__format__ (__strfmon__, a, b)))
+#else
+# define __attribute_format_strfmon__(a,b) /* Ignore */
+#endif
+
+/* The nonnull function attribute marks pointer parameters that
+ must not be NULL. This has the name __nonnull in glibc,
+ and __attribute_nonnull__ in files shared with Gnulib to avoid
+ collision with a different __nonnull in DragonFlyBSD 5.9. */
+#ifndef __attribute_nonnull__
+# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
+# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
+# else
+# define __attribute_nonnull__(params)
+# endif
+#endif
+#ifndef __nonnull
+# define __nonnull(params) __attribute_nonnull__ (params)
+#endif
+
+/* The returns_nonnull function attribute marks the return type of the function
+ as always being non-null. */
+#ifndef __returns_nonnull
+# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__)
+# define __returns_nonnull __attribute__ ((__returns_nonnull__))
+# else
+# define __returns_nonnull
+# endif
+#endif
+
+/* If fortification mode, we warn about unused results of certain
+ function calls which can lead to problems. */
+#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__)
+# define __attribute_warn_unused_result__ \
+ __attribute__ ((__warn_unused_result__))
+# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0
+# define __wur __attribute_warn_unused_result__
+# endif
+#else
+# define __attribute_warn_unused_result__ /* empty */
+#endif
+#ifndef __wur
+# define __wur /* Ignore */
+#endif
+
+/* Forces a function to be always inlined. */
+#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__)
+/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
+ it conflicts with this definition. Therefore undefine it first to
+ allow either header to be included first. */
+# undef __always_inline
+# define __always_inline __inline __attribute__ ((__always_inline__))
+#else
+# undef __always_inline
+# define __always_inline __inline
+#endif
+
+/* Associate error messages with the source location of the call site rather
+ than with the source location inside the function. */
+#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__)
+# define __attribute_artificial__ __attribute__ ((__artificial__))
+#else
+# define __attribute_artificial__ /* Ignore */
+#endif
+
+/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+ inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
+ or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+ older than 4.3 may define these macros and still not guarantee GNU inlining
+ semantics.
+
+ clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+ semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+ __GNUC_GNU_INLINE__ macro definitions. */
+#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
+ || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
+ || defined __GNUC_GNU_INLINE__)))
+# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+# define __extern_always_inline \
+ extern __always_inline __attribute__ ((__gnu_inline__))
+# else
+# define __extern_inline extern __inline
+# define __extern_always_inline extern __always_inline
+# endif
+#endif
+
+#ifdef __extern_always_inline
+# define __fortify_function __extern_always_inline __attribute_artificial__
+#endif
+
+/* GCC 4.3 and above allow passing all anonymous arguments of an
+ __extern_always_inline function to some other vararg function. */
+#if __GNUC_PREREQ (4,3)
+# define __va_arg_pack() __builtin_va_arg_pack ()
+# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
+#endif
+
+/* It is possible to compile containing GCC extensions even if GCC is
+ run in pedantic mode if the uses are carefully marked using the
+ `__extension__' keyword. But this is not generally available before
+ version 2.8. */
+#if !(__GNUC_PREREQ (2,8) || defined __clang__)
+# define __extension__ /* Ignore */
+#endif
+
+/* __restrict is known in EGCS 1.2 and above, and in clang.
+ It works also in C++ mode (outside of arrays), but only when spelled
+ as '__restrict', not 'restrict'. */
+#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3)
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+# define __restrict restrict
+# else
+# define __restrict /* Ignore */
+# endif
+#endif
+
+/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+ array_name[restrict]
+ GCC 3.1 and clang support this.
+ This syntax is not usable in C++ mode. */
+#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus
+# define __restrict_arr __restrict
+#else
+# ifdef __GNUC__
+# define __restrict_arr /* Not supported in old GCC. */
+# else
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+# define __restrict_arr restrict
+# else
+/* Some other non-C99 compiler. */
+# define __restrict_arr /* Not supported. */
+# endif
+# endif
+#endif
+
+#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect)
+# define __glibc_unlikely(cond) __builtin_expect ((cond), 0)
+# define __glibc_likely(cond) __builtin_expect ((cond), 1)
+#else
+# define __glibc_unlikely(cond) (cond)
+# define __glibc_likely(cond) (cond)
+#endif
+
+#if (!defined _Noreturn \
+ && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+ && !(__GNUC_PREREQ (4,7) \
+ || (3 < __clang_major__ + (5 <= __clang_minor__))))
+# if __GNUC_PREREQ (2,8)
+# define _Noreturn __attribute__ ((__noreturn__))
+# else
+# define _Noreturn
+# endif
+#endif
+
+#if __GNUC_PREREQ (8, 0)
+/* Describes a char array whose address can safely be passed as the first
+ argument to strncpy and strncat, as the char array is not necessarily
+ a NUL-terminated string. */
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
+#else
+# define __attribute_nonstring__
+#endif
+
+/* Undefine (also defined in libc-symbols.h). */
+#undef __attribute_copy__
+#if __GNUC_PREREQ (9, 0)
+/* Copies attributes from the declaration or type referenced by
+ the argument. */
+# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg)))
+#else
+# define __attribute_copy__(arg)
+#endif
+
+#if (!defined _Static_assert && !defined __cplusplus \
+ && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+ && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \
+ || defined __STRICT_ANSI__))
+# define _Static_assert(expr, diagnostic) \
+ extern int (*__Static_assert_function (void)) \
+ [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
+#endif
+
+/* Gnulib avoids including these, as they don't work on non-glibc or
+ older glibc platforms. */
+#ifndef __GNULIB_CDEFS
+# include <bits/wordsize.h>
+# include <bits/long-double.h>
+#endif
+
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+# ifdef __REDIRECT
+
+/* Alias name defined automatically. */
+# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
+# define __LDBL_REDIR_DECL(name) \
+ extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
+
+/* Alias name defined automatically, with leading underscores. */
+# define __LDBL_REDIR2_DECL(name) \
+ extern __typeof (__##name) __##name \
+ __asm (__ASMNAME ("__" #name "ieee128"));
+
+/* Alias name defined manually. */
+# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
+# define __LDBL_REDIR1_DECL(name, alias) \
+ extern __typeof (name) name __asm (__ASMNAME (#alias));
+
+# define __LDBL_REDIR1_NTH(name, proto, alias) \
+ __REDIRECT_NTH (name, proto, alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
+
+/* Unused. */
+# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
+# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
+
+# else
+_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
+# endif
+#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
+# define __LDBL_COMPAT 1
+# ifdef __REDIRECT
+# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
+# define __LDBL_REDIR(name, proto) \
+ __LDBL_REDIR1 (name, proto, __nldbl_##name)
+# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
+# define __LDBL_REDIR_NTH(name, proto) \
+ __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
+# define __LDBL_REDIR2_DECL(name) \
+ extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
+# define __LDBL_REDIR1_DECL(name, alias) \
+ extern __typeof (name) name __asm (__ASMNAME (#alias));
+# define __LDBL_REDIR_DECL(name) \
+ extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+# define __REDIRECT_LDBL(name, proto, alias) \
+ __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
+# endif
+#endif
+#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
+ || !defined __REDIRECT
+# define __LDBL_REDIR1(name, proto, alias) name proto
+# define __LDBL_REDIR(name, proto) name proto
+# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
+# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
+# define __LDBL_REDIR2_DECL(name)
+# define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __REDIRECT_NTH (name, proto, alias)
+# endif
+#endif
+
+/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
+ intended for use in preprocessor macros.
+
+ Note: MESSAGE must be a _single_ string; concatenation of string
+ literals is not supported. */
+#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
+# define __glibc_macro_warning1(message) _Pragma (#message)
+# define __glibc_macro_warning(message) \
+ __glibc_macro_warning1 (GCC warning message)
+#else
+# define __glibc_macro_warning(msg)
+#endif
+
+/* Generic selection (ISO C11) is a C-only feature, available in GCC
+ since version 4.9. Previous versions do not provide generic
+ selection, even though they might set __STDC_VERSION__ to 201112L,
+ when in -std=c11 mode. Thus, we must check for !defined __GNUC__
+ when testing __STDC_VERSION__ for generic selection support.
+ On the other hand, Clang also defines __GNUC__, so a clang-specific
+ check is required to enable the use of generic selection. */
+#if !defined __cplusplus \
+ && (__GNUC_PREREQ (4, 9) \
+ || __glibc_has_extension (c_generic_selections) \
+ || (!defined __GNUC__ && defined __STDC_VERSION__ \
+ && __STDC_VERSION__ >= 201112L))
+# define __HAVE_GENERIC_SELECTION 1
+#else
+# define __HAVE_GENERIC_SELECTION 0
+#endif
+
+#if __GNUC_PREREQ (10, 0)
+/* Designates a 1-based positional argument ref-index of pointer type
+ that can be used to access size-index elements of the pointed-to
+ array according to access mode, or at least one element when
+ size-index is not provided:
+ access (access-mode, <ref-index> [, <size-index>]) */
+# define __attr_access(x) __attribute__ ((__access__ x))
+/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may
+ use the access attribute to get object sizes from function definition
+ arguments, so we can't use them on functions we fortify. Drop the object
+ size hints for such functions. */
+# if __USE_FORTIFY_LEVEL == 3
+# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o)))
+# else
+# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s))
+# endif
+# if __GNUC_PREREQ (11, 0)
+# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))
+# else
+# define __attr_access_none(argno)
+# endif
+#else
+# define __fortified_attr_access(a, o, s)
+# define __attr_access(x)
+# define __attr_access_none(argno)
+#endif
+
+#if __GNUC_PREREQ (11, 0)
+/* Designates dealloc as a function to call to deallocate objects
+ allocated by the declared function. */
+# define __attr_dealloc(dealloc, argno) \
+ __attribute__ ((__malloc__ (dealloc, argno)))
+# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1)
+#else
+# define __attr_dealloc(dealloc, argno)
+# define __attr_dealloc_free
+#endif
+
+/* Specify that a function such as setjmp or vfork may return
+ twice. */
+#if __GNUC_PREREQ (4, 1)
+# define __attribute_returns_twice__ __attribute__ ((__returns_twice__))
+#else
+# define __attribute_returns_twice__ /* Ignore. */
+#endif
+
+#endif /* sys/cdefs.h */
diff --git a/tests/cloexec.c b/tests/cloexec.c
index 812be01a..cdb0d740 100644
--- a/tests/cloexec.c
+++ b/tests/cloexec.c
@@ -1,6 +1,6 @@
/* cloexec.c - set or clear the close-on-exec descriptor flag
- Copyright (C) 1991, 2004-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1991, 2004-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/cloexec.h b/tests/cloexec.h
index 15d2d5ef..f52e5f2e 100644
--- a/tests/cloexec.h
+++ b/tests/cloexec.h
@@ -1,6 +1,6 @@
/* cloexec.c - set or clear the close-on-exec descriptor flag
- Copyright (C) 2004, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/close.c b/tests/close.c
index 44990ba7..830fd820 100644
--- a/tests/close.c
+++ b/tests/close.c
@@ -1,5 +1,5 @@
/* close replacement.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/connect.c b/tests/connect.c
index d1600634..421849c1 100644
--- a/tests/connect.c
+++ b/tests/connect.c
@@ -1,6 +1,6 @@
/* connect.c --- wrappers for Windows connect function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/ctype.in.h b/tests/ctype.in.h
index dc81170d..61bcbf16 100644
--- a/tests/ctype.in.h
+++ b/tests/ctype.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <ctype.h>, for platforms on which it is incomplete.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -36,6 +36,11 @@
#ifndef _@GUARD_PREFIX@_CTYPE_H
#define _@GUARD_PREFIX@_CTYPE_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_WARN_ON_USE is copied here. */
diff --git a/tests/dup2.c b/tests/dup2.c
index 1c766ab3..916e113d 100644
--- a/tests/dup2.c
+++ b/tests/dup2.c
@@ -1,6 +1,6 @@
/* Duplicate an open file descriptor to a specified file descriptor.
- Copyright (C) 1999, 2004-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2004-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/error.c b/tests/error.c
index 272d45e4..c53dfeb6 100644
--- a/tests/error.c
+++ b/tests/error.c
@@ -1,5 +1,5 @@
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2007, 2009-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This file is free software: you can redistribute it and/or modify
@@ -19,9 +19,10 @@
#if !_LIBC
# include <config.h>
+# define _GL_NO_INLINE_ERROR
#endif
-#include "error.h"
+#include <error.h>
#include <stdarg.h>
#include <stdio.h>
@@ -42,8 +43,6 @@
# define USE_UNLOCKED_IO 0
# define _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(a, b)
# define _GL_ARG_NONNULL(a)
-#else
-# include "getprogname.h"
#endif
#if USE_UNLOCKED_IO
diff --git a/tests/error.h b/tests/error.h
deleted file mode 100644
index 45ec2a5e..00000000
--- a/tests/error.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Declaration for error-reporting function
- Copyright (C) 1995-1997, 2003, 2006, 2008-2022 Free Software Foundation,
- Inc.
- This file is part of the GNU C Library.
-
- This file 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.
-
- This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _ERROR_H
-#define _ERROR_H 1
-
-/* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM. */
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Print a message with 'fprintf (stderr, FORMAT, ...)';
- if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
- If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */
-
-extern void error (int __status, int __errnum, const char *__format, ...)
-#if GNULIB_VFPRINTF_POSIX
- _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 3, 4))
-#else
- _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, 3, 4))
-#endif
- ;
-
-extern void error_at_line (int __status, int __errnum, const char *__fname,
- unsigned int __lineno, const char *__format, ...)
-#if GNULIB_VFPRINTF_POSIX
- _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 5, 6))
-#else
- _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, 5, 6))
-#endif
- ;
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-extern void (*error_print_progname) (void);
-
-/* This variable is incremented each time 'error' is called. */
-extern unsigned int error_message_count;
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-extern int error_one_per_line;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* error.h */
diff --git a/tests/error.in.h b/tests/error.in.h
new file mode 100644
index 00000000..51f8cafd
--- /dev/null
+++ b/tests/error.in.h
@@ -0,0 +1,216 @@
+/* Declarations for error-reporting functions.
+ Copyright (C) 1995-1997, 2003, 2006, 2008-2024 Free Software Foundation,
+ Inc.
+ This file is part of the GNU C Library.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _@GUARD_PREFIX@_ERROR_H
+
+/* No @PRAGMA_SYSTEM_HEADER@ here, because it would prevent
+ -Wimplicit-fallthrough warnings for missing FALLTHROUGH after error(...)
+ or error_at_line(...) invocations. */
+
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_ERROR_H@
+# @INCLUDE_NEXT@ @NEXT_ERROR_H@
+#endif
+
+#ifndef _@GUARD_PREFIX@_ERROR_H
+#define _@GUARD_PREFIX@_ERROR_H
+
+/* This file uses _GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_FORMAT,
+ _GL_ATTRIBUTE_MAYBE_UNUSED. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* Get 'unreachable'. */
+#include <stddef.h>
+
+/* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM. */
+#include <stdio.h>
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+#if GNULIB_VFPRINTF_POSIX
+# define _GL_ATTRIBUTE_SPEC_PRINTF_ERROR _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD
+#else
+# define _GL_ATTRIBUTE_SPEC_PRINTF_ERROR _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM
+#endif
+
+/* Helper macro for supporting the compiler's control flow analysis better.
+ It evaluates its arguments only once.
+ Test case: Compile copy-file.c with "gcc -Wimplicit-fallthrough". */
+#if defined __GNUC__ || defined __clang__
+/* Use 'unreachable' to tell the compiler when the function call does not
+ return. */
+# define __gl_error_call1(function, status, ...) \
+ ((function) (status, __VA_ARGS__), \
+ (status) != 0 ? unreachable () : (void) 0)
+/* If STATUS is a not a constant, the function call may or may not return;
+ therefore -Wimplicit-fallthrough will produce a warning. Use a compound
+ statement in order to evaluate STATUS only once.
+ If STATUS is a constant, we don't use a compound statement, because that
+ would trigger a -Wimplicit-fallthrough warning even when STATUS is != 0,
+ when not optimizing. This causes STATUS to be evaluated twice, but
+ that's OK since it does not have side effects. */
+# define __gl_error_call(function, status, ...) \
+ (__builtin_constant_p (status) \
+ ? __gl_error_call1 (function, status, __VA_ARGS__) \
+ : __extension__ \
+ ({ \
+ int const __errstatus = status; \
+ __gl_error_call1 (function, __errstatus, __VA_ARGS__); \
+ }))
+#else
+# define __gl_error_call(function, status, ...) \
+ (function) (status, __VA_ARGS__)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Print a message with 'fprintf (stderr, FORMAT, ...)';
+ if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
+ If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */
+#if @REPLACE_ERROR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef error
+# define error rpl_error
+# endif
+_GL_FUNCDECL_RPL (error, void,
+ (int __status, int __errnum, const char *__format, ...)
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 3, 4)));
+_GL_CXXALIAS_RPL (error, void,
+ (int __status, int __errnum, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+# undef error
+# define error(status, ...) \
+ __gl_error_call (rpl_error, status, __VA_ARGS__)
+# endif
+#else
+# if ! @HAVE_ERROR@
+_GL_FUNCDECL_SYS (error, void,
+ (int __status, int __errnum, const char *__format, ...)
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 3, 4)));
+# endif
+_GL_CXXALIAS_SYS (error, void,
+ (int __status, int __errnum, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+# ifdef error
+/* Only gcc ≥ 4.7 has __builtin_va_arg_pack. */
+# if _GL_GNUC_PREREQ (4, 7)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wattributes"
+_GL_ATTRIBUTE_MAYBE_UNUSED
+static void
+_GL_ATTRIBUTE_ALWAYS_INLINE
+_GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 3, 4))
+_gl_inline_error (int __status, int __errnum, const char *__format, ...)
+{
+ return error (__status, __errnum, __format, __builtin_va_arg_pack ());
+}
+# pragma GCC diagnostic pop
+# undef error
+# define error(status, ...) \
+ __gl_error_call (_gl_inline_error, status, __VA_ARGS__)
+# endif
+# else
+# define error(status, ...) \
+ __gl_error_call (error, status, __VA_ARGS__)
+# endif
+# endif
+#endif
+#if __GLIBC__ >= 2
+_GL_CXXALIASWARN (error);
+#endif
+
+/* Likewise. If FILENAME is non-NULL, include FILENAME:LINENO: in the
+ message. */
+#if @REPLACE_ERROR_AT_LINE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef error_at_line
+# define error_at_line rpl_error_at_line
+# endif
+_GL_FUNCDECL_RPL (error_at_line, void,
+ (int __status, int __errnum, const char *__filename,
+ unsigned int __lineno, const char *__format, ...)
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 5, 6)));
+_GL_CXXALIAS_RPL (error_at_line, void,
+ (int __status, int __errnum, const char *__filename,
+ unsigned int __lineno, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+# undef error_at_line
+# define error_at_line(status, ...) \
+ __gl_error_call (rpl_error_at_line, status, __VA_ARGS__)
+# endif
+#else
+# if ! @HAVE_ERROR_AT_LINE@
+_GL_FUNCDECL_SYS (error_at_line, void,
+ (int __status, int __errnum, const char *__filename,
+ unsigned int __lineno, const char *__format, ...)
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 5, 6)));
+# endif
+_GL_CXXALIAS_SYS (error_at_line, void,
+ (int __status, int __errnum, const char *__filename,
+ unsigned int __lineno, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+# ifdef error_at_line
+/* Only gcc ≥ 4.7 has __builtin_va_arg_pack. */
+# if _GL_GNUC_PREREQ (4, 7)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wattributes"
+_GL_ATTRIBUTE_MAYBE_UNUSED
+static void
+_GL_ATTRIBUTE_ALWAYS_INLINE
+_GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 5, 6))
+_gl_inline_error_at_line (int __status, int __errnum, const char *__filename,
+ unsigned int __lineno, const char *__format, ...)
+{
+ return error_at_line (__status, __errnum, __filename, __lineno, __format,
+ __builtin_va_arg_pack ());
+}
+# pragma GCC diagnostic pop
+# undef error_at_line
+# define error_at_line(status, ...) \
+ __gl_error_call (_gl_inline_error_at_line, status, __VA_ARGS__)
+# endif
+# else
+# define error_at_line(status, ...) \
+ __gl_error_call (error_at_line, status, __VA_ARGS__)
+# endif
+# endif
+#endif
+_GL_CXXALIASWARN (error_at_line);
+
+/* If NULL, error will flush stdout, then print on stderr the program
+ name, a colon and a space. Otherwise, error will call this
+ function without parameters instead. */
+extern void (*error_print_progname) (void);
+
+/* This variable is incremented each time 'error' is called. */
+extern unsigned int error_message_count;
+
+/* Sometimes we want to have at most one error per line. This
+ variable controls whether this mode is selected or not. */
+extern int error_one_per_line;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _@GUARD_PREFIX@_ERROR_H */
+#endif /* _@GUARD_PREFIX@_ERROR_H */
diff --git a/tests/exitfail.c b/tests/exitfail.c
index 84fb0eff..8a5962e8 100644
--- a/tests/exitfail.c
+++ b/tests/exitfail.c
@@ -1,6 +1,6 @@
/* Failure exit status
- Copyright (C) 2002-2003, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/exitfail.h b/tests/exitfail.h
index 865f096a..20ac506b 100644
--- a/tests/exitfail.h
+++ b/tests/exitfail.h
@@ -1,6 +1,6 @@
/* Failure exit status
- Copyright (C) 2002, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/fcntl.c b/tests/fcntl.c
index f9753c40..7cd3a0f9 100644
--- a/tests/fcntl.c
+++ b/tests/fcntl.c
@@ -1,6 +1,6 @@
/* Provide file descriptor control.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/fcntl.in.h b/tests/fcntl.in.h
index 9270ced8..eea3b954 100644
--- a/tests/fcntl.in.h
+++ b/tests/fcntl.in.h
@@ -1,6 +1,6 @@
/* Like <fcntl.h>, but with non-working flags defined to 0.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -74,6 +74,11 @@
#ifndef _@GUARD_PREFIX@_FCNTL_H
#define _@GUARD_PREFIX@_FCNTL_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */
# include <unistd.h>
#endif
diff --git a/tests/fd-hook.c b/tests/fd-hook.c
index 64a7a80c..75bbe49c 100644
--- a/tests/fd-hook.c
+++ b/tests/fd-hook.c
@@ -1,5 +1,5 @@
/* Hook for making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/fd-hook.h b/tests/fd-hook.h
index d6c4964d..2150460b 100644
--- a/tests/fd-hook.h
+++ b/tests/fd-hook.h
@@ -1,5 +1,5 @@
/* Hook for making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/fdopen.c b/tests/fdopen.c
index f1c5dff1..5a8cd535 100644
--- a/tests/fdopen.c
+++ b/tests/fdopen.c
@@ -1,5 +1,5 @@
/* Open a stream with a given file descriptor.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/filename.h b/tests/filename.h
index ab77ca2d..4f0f0fbc 100644
--- a/tests/filename.h
+++ b/tests/filename.h
@@ -1,5 +1,5 @@
/* Basic filename support macros.
- Copyright (C) 2001-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2024 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
diff --git a/tests/fstat.c b/tests/fstat.c
index 3928c860..205d5aab 100644
--- a/tests/fstat.c
+++ b/tests/fstat.c
@@ -1,5 +1,5 @@
/* fstat() replacement.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/ftruncate.c b/tests/ftruncate.c
index 4a9279b7..63947257 100644
--- a/tests/ftruncate.c
+++ b/tests/ftruncate.c
@@ -1,5 +1,5 @@
/* ftruncate emulations for native Windows.
- Copyright (C) 1992-2022 Free Software Foundation, Inc.
+ Copyright (C) 1992-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/getcwd-lgpl.c b/tests/getcwd-lgpl.c
index f449ac85..67ed2878 100644
--- a/tests/getcwd-lgpl.c
+++ b/tests/getcwd-lgpl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is part of gnulib.
This file is free software: you can redistribute it and/or modify
@@ -45,12 +45,12 @@ typedef int dummy;
char *
rpl_getcwd (char *buf, size_t size)
{
- char *ptr;
char *result;
/* Handle single size operations. */
if (buf)
{
+ /* Check SIZE argument. */
if (!size)
{
errno = EINVAL;
@@ -79,7 +79,7 @@ rpl_getcwd (char *buf, size_t size)
{
char tmp[4032];
size = sizeof tmp;
- ptr = getcwd (tmp, size);
+ char *ptr = getcwd (tmp, size);
if (ptr)
{
result = strdup (ptr);
@@ -95,7 +95,7 @@ rpl_getcwd (char *buf, size_t size)
do
{
size <<= 1;
- ptr = realloc (buf, size);
+ char *ptr = realloc (buf, size);
if (ptr == NULL)
{
free (buf);
diff --git a/tests/getdtablesize.c b/tests/getdtablesize.c
index 793e0f88..762c100b 100644
--- a/tests/getdtablesize.c
+++ b/tests/getdtablesize.c
@@ -1,5 +1,5 @@
/* getdtablesize() function: Return maximum possible file descriptor value + 1.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/getpagesize.c b/tests/getpagesize.c
index a19669f6..d2031553 100644
--- a/tests/getpagesize.c
+++ b/tests/getpagesize.c
@@ -1,6 +1,6 @@
/* getpagesize emulation for systems where it cannot be done in a C macro.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/getprogname.c b/tests/getprogname.c
index 62a48004..392a9a2f 100644
--- a/tests/getprogname.c
+++ b/tests/getprogname.c
@@ -1,5 +1,5 @@
/* Program name management.
- Copyright (C) 2016-2022 Free Software Foundation, Inc.
+ Copyright (C) 2016-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -16,11 +16,10 @@
#include <config.h>
-/* Specification. */
-#include "getprogname.h"
+/* Specification. Also get __argv declaration. */
+#include <stdlib.h>
#include <errno.h> /* get program_invocation_name declaration */
-#include <stdlib.h> /* get __argv declaration */
#ifdef _AIX
# include <unistd.h>
@@ -53,13 +52,12 @@
#if defined __SCO_VERSION__ || defined __sysv5__
# include <fcntl.h>
-# include <stdlib.h>
# include <string.h>
#endif
#include "basename-lgpl.h"
-#ifndef HAVE_GETPROGNAME /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */
+#ifndef HAVE_GETPROGNAME /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Solaris >= 11, Cygwin, Android API level >= 21 */
char const *
getprogname (void)
{
@@ -214,7 +212,19 @@ getprogname (void)
{
char *s = strdup (last_component (buf.ps_pathptr));
if (s)
- p = s;
+ {
+# if defined __XPLINK__ && __CHARSET_LIB == 1
+ /* The compiler option -qascii is in use.
+ https://makingdeveloperslivesbetter.wordpress.com/2022/01/07/is-z-os-ascii-or-ebcdic-yes/
+ https://www.ibm.com/docs/en/zos/2.5.0?topic=features-macros-related-compiler-option-settings
+ So, convert the result from EBCDIC to ASCII.
+ https://www.ibm.com/docs/en/zos/2.5.0?topic=functions-e2a-s-convert-string-from-ebcdic-ascii */
+ if (__e2a_s (s) == (size_t)-1)
+ free (s);
+ else
+# endif
+ p = s;
+ }
break;
}
}
diff --git a/tests/getprogname.h b/tests/getprogname.h
index 9a35e584..bee1c1a2 100644
--- a/tests/getprogname.h
+++ b/tests/getprogname.h
@@ -1,5 +1,5 @@
/* Program name management.
- Copyright (C) 2016-2022 Free Software Foundation, Inc.
+ Copyright (C) 2016-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -19,22 +19,8 @@
#include <stdlib.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Return the base name of the executing program.
- On native Windows this will usually end in ".exe" or ".EXE". */
-#ifndef HAVE_GETPROGNAME
-extern char const *getprogname (void)
-# ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
- _GL_ATTRIBUTE_PURE
-# endif
- ;
-#endif
-
-#ifdef __cplusplus
-}
+#if __GNUC__ || (__clang_major__ >= 4)
+# warning "The include file getprogname.h is deprecated. Use <stdlib.h> instead."
#endif
#endif
diff --git a/tests/gettext.h b/tests/gettext.h
index b3577a04..39d5ae4d 100644
--- a/tests/gettext.h
+++ b/tests/gettext.h
@@ -1,5 +1,5 @@
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2022 Free Software
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/gettimeofday.c b/tests/gettimeofday.c
index 36c7920a..8dd26f73 100644
--- a/tests/gettimeofday.c
+++ b/tests/gettimeofday.c
@@ -1,6 +1,6 @@
/* Provide gettimeofday for systems that don't have it or for which it's broken.
- Copyright (C) 2001-2003, 2005-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -113,8 +113,10 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
ULONGLONG since_1970 =
since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000;
ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10;
- tv->tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000;
- tv->tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000;
+ *tv = (struct timeval) {
+ .tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000,
+ .tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000
+ };
return 0;
@@ -127,10 +129,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
struct timeval otv;
int result = gettimeofday (&otv, (struct timezone *) tz);
if (result == 0)
- {
- tv->tv_sec = otv.tv_sec;
- tv->tv_usec = otv.tv_usec;
- }
+ *tv = otv;
# else
int result = gettimeofday (tv, (struct timezone *) tz);
# endif
@@ -143,8 +142,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
# error "Only 1-second nominal clock resolution found. Is that intended?" \
"If so, compile with the -DOK_TO_USE_1S_CLOCK option."
# endif
- tv->tv_sec = time (NULL);
- tv->tv_usec = 0;
+ *tv = (struct timeval) { .tv_sec = time (NULL), .tv_usec = 0 };
return 0;
diff --git a/tests/glthread/thread.c b/tests/glthread/thread.c
index 0b923c04..9c8c3035 100644
--- a/tests/glthread/thread.c
+++ b/tests/glthread/thread.c
@@ -1,5 +1,5 @@
/* Creating and controlling threads.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -139,9 +139,11 @@ gl_thread_self (void)
/* Memory allocation failed. There is not much we can do. Have to
busy-loop, waiting for the availability of memory. */
{
- struct timespec ts;
- ts.tv_sec = 1;
- ts.tv_nsec = 0;
+ struct timespec ts =
+ {
+ .tv_sec = 1,
+ .tv_nsec = 0
+ };
thrd_sleep (&ts, NULL);
}
}
diff --git a/tests/glthread/thread.h b/tests/glthread/thread.h
index 6d98f2d6..748bb045 100644
--- a/tests/glthread/thread.h
+++ b/tests/glthread/thread.h
@@ -1,5 +1,5 @@
/* Creating and controlling threads.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -70,6 +70,11 @@
#ifndef _GLTHREAD_THREAD_H
#define _GLTHREAD_THREAD_H
+/* This file uses _Noreturn, HAVE_THREADS_H, HAVE_PTHREAD_ATFORK. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <errno.h>
#include <stdlib.h>
@@ -125,6 +130,9 @@ extern _Noreturn void gl_thread_exit (void *return_value);
# include <pthread.h>
+/* Get intptr_t. */
+# include <stdint.h>
+
/* On IRIX, pthread_atfork is declared in <unistd.h>, not in <pthread.h>. */
# if defined __sgi
# include <unistd.h>
@@ -228,7 +236,7 @@ extern const gl_thread_t gl_null_thread;
# define gl_thread_self() \
(pthread_in_use () ? pthread_self () : (pthread_t) 0)
# define gl_thread_self_pointer() \
- (pthread_in_use () ? (void *) pthread_self () : NULL)
+ (pthread_in_use () ? (void *) (intptr_t) (pthread_t) pthread_self () : NULL)
# endif
# define gl_thread_exit(RETVAL) \
(void) (pthread_in_use () ? (pthread_exit (RETVAL), 0) : 0)
diff --git a/tests/glthread/yield.h b/tests/glthread/yield.h
index f74267ea..29105cc2 100644
--- a/tests/glthread/yield.h
+++ b/tests/glthread/yield.h
@@ -1,5 +1,5 @@
/* Yielding the processor to other threads and processes.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/ialloc.c b/tests/ialloc.c
index 43c10433..8564a15b 100644
--- a/tests/ialloc.c
+++ b/tests/ialloc.c
@@ -1,6 +1,6 @@
/* malloc with idx_t rather than size_t
- Copyright 2021-2022 Free Software Foundation, Inc.
+ Copyright 2021-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/ialloc.h b/tests/ialloc.h
index 37cf4bfb..2aa94ae7 100644
--- a/tests/ialloc.h
+++ b/tests/ialloc.h
@@ -1,6 +1,6 @@
/* ialloc.h -- malloc with idx_t rather than size_t
- Copyright 2021-2022 Free Software Foundation, Inc.
+ Copyright 2021-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,15 +18,21 @@
#ifndef IALLOC_H_
#define IALLOC_H_
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_ATTRIBUTE_COLD,
+ _GL_ATTRIBUTE_MALLOC. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include "idx.h"
#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
-
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
+#if defined __CHERI_PURE_CAPABILITY__
+# include <cheri.h>
#endif
+
_GL_INLINE_HEADER_BEGIN
#ifndef IALLOC_INLINE
# define IALLOC_INLINE _GL_INLINE
@@ -43,6 +49,9 @@ _gl_alloc_nomem (void)
return NULL;
}
+/* imalloc (size) is like malloc (size).
+ It returns a non-NULL pointer to size bytes of memory.
+ Upon failure, it returns NULL with errno set. */
IALLOC_INLINE
_GL_ATTRIBUTE_MALLOC /*_GL_ATTRIBUTE_DEALLOC_FREE*/
void *
@@ -51,16 +60,32 @@ imalloc (idx_t s)
return s <= SIZE_MAX ? malloc (s) : _gl_alloc_nomem ();
}
+/* irealloc (ptr, size) is like realloc (ptr, size).
+ It returns a non-NULL pointer to size bytes of memory.
+ Upon failure, it returns NULL with errno set. */
IALLOC_INLINE
/*_GL_ATTRIBUTE_DEALLOC_FREE*/
void *
irealloc (void *p, idx_t s)
{
- /* Work around GNU realloc glitch by treating a zero size as if it
- were 1, so that returning NULL is equivalent to failing. */
- return s <= SIZE_MAX ? realloc (p, s | !s) : _gl_alloc_nomem ();
+ if (s <= SIZE_MAX)
+ {
+ /* Work around GNU realloc glitch by treating a zero size as if it
+ were 1, so that returning NULL is equivalent to failing. */
+ p = realloc (p, s | !s);
+#if defined __CHERI_PURE_CAPABILITY__
+ if (p != NULL)
+ p = cheri_bounds_set (p, s);
+#endif
+ return p;
+ }
+ else
+ return _gl_alloc_nomem ();
}
+/* icalloc (num, size) is like calloc (num, size).
+ It returns a non-NULL pointer to num * size bytes of memory.
+ Upon failure, it returns NULL with errno set. */
IALLOC_INLINE
_GL_ATTRIBUTE_MALLOC /*_GL_ATTRIBUTE_DEALLOC_FREE*/
void *
@@ -81,20 +106,35 @@ icalloc (idx_t n, idx_t s)
return calloc (n, s);
}
+/* ireallocarray (ptr, num, size) is like reallocarray (ptr, num, size).
+ It returns a non-NULL pointer to num * size bytes of memory.
+ Upon failure, it returns NULL with errno set. */
IALLOC_INLINE void *
ireallocarray (void *p, idx_t n, idx_t s)
{
- /* Work around GNU reallocarray glitch by treating a zero size as if
- it were 1, so that returning NULL is equivalent to failing. */
- if (n == 0 || s == 0)
- n = s = 1;
- return (n <= SIZE_MAX && s <= SIZE_MAX
- ? reallocarray (p, n, s)
- : _gl_alloc_nomem ());
+ if (n <= SIZE_MAX && s <= SIZE_MAX)
+ {
+ /* Work around GNU reallocarray glitch by treating a zero size as if
+ it were 1, so that returning NULL is equivalent to failing. */
+ size_t nx = n;
+ size_t sx = s;
+ if (n == 0 || s == 0)
+ nx = sx = 1;
+ p = reallocarray (p, nx, sx);
+#if defined __CHERI_PURE_CAPABILITY__
+ if (p != NULL && (n == 0 || s == 0))
+ p = cheri_bounds_set (p, 0);
+#endif
+ return p;
+ }
+ else
+ return _gl_alloc_nomem ();
}
#ifdef __cplusplus
}
#endif
+_GL_INLINE_HEADER_END
+
#endif
diff --git a/tests/iconvsupport.c b/tests/iconvsupport.c
index ee2af0dd..e887eb0d 100644
--- a/tests/iconvsupport.c
+++ b/tests/iconvsupport.c
@@ -1,5 +1,5 @@
/* Test iconv support.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/ignore-value.h b/tests/ignore-value.h
index 173b63f5..de4a240c 100644
--- a/tests/ignore-value.h
+++ b/tests/ignore-value.h
@@ -1,6 +1,6 @@
/* ignore a function return without a compiler warning. -*- coding: utf-8 -*-
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/inet_pton.c b/tests/inet_pton.c
index a239b7d1..2d29608d 100644
--- a/tests/inet_pton.c
+++ b/tests/inet_pton.c
@@ -1,6 +1,6 @@
/* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form
- Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/infinity.h b/tests/infinity.h
index 6f68f368..40e663ff 100644
--- a/tests/infinity.h
+++ b/tests/infinity.h
@@ -1,5 +1,5 @@
/* Macros for infinity.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/init.sh b/tests/init.sh
index d5d37c98..c5ec5cfd 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -1,6 +1,6 @@
# source this file; set up for tests
-# Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -434,15 +434,15 @@ setup_ ()
# Remove relative and non-accessible directories from PATH, including '.'
# and Zero-length entries.
- saved_IFS="$IFS"
- IFS=:
+ saved_IFS="$IFS"; IFS="$PATH_SEPARATOR"
new_PATH=
- sep_=
for dir in $PATH; do
+ IFS="$saved_IFS"
case "$dir" in
- /*) test -d "$dir/." || continue
- new_PATH="${new_PATH}${sep_}${dir}"
- sep_=':';;
+ [\\/]* | ?:[\\/]*)
+ test -d "$dir/." || continue
+ new_PATH="${new_PATH}${new_PATH:+$PATH_SEPARATOR}${dir}"
+ ;;
esac
done
IFS="$saved_IFS"
@@ -646,18 +646,19 @@ compare_dev_null_ ()
for diff_opt_ in -u -U3 -c '' no; do
test "$diff_opt_" != no &&
- diff_out_=`exec 2>/dev/null; diff $diff_opt_ "$0" "$0" < /dev/null` &&
+ diff_out_=`exec 2>/dev/null
+ LC_ALL=C diff $diff_opt_ "$0" "$0" < /dev/null` &&
break
done
if test "$diff_opt_" != no; then
if test -z "$diff_out_"; then
- compare_ () { diff $diff_opt_ "$@"; }
+ compare_ () { LC_ALL=C diff $diff_opt_ "$@"; }
else
compare_ ()
{
# If no differences were found, AIX and HP-UX 'diff' produce output
# like "No differences encountered". Hide this output.
- diff $diff_opt_ "$@" > diff.out
+ LC_ALL=C diff $diff_opt_ "$@" > diff.out
diff_status_=$?
test $diff_status_ -eq 0 || cat diff.out || diff_status_=2
rm -f diff.out || diff_status_=2
@@ -702,4 +703,4 @@ test -f "$srcdir/init.cfg" \
setup_ "$@"
# This trap is here, rather than in the setup_ function, because some
# shells run the exit trap at shell function exit, rather than script exit.
-trap remove_tmp_ 0
+trap remove_tmp_ EXIT
diff --git a/tests/intprops-internal.h b/tests/intprops-internal.h
index f6455f78..c8a87d2b 100644
--- a/tests/intprops-internal.h
+++ b/tests/intprops-internal.h
@@ -1,6 +1,6 @@
/* intprops-internal.h -- properties of integer types not visible to users
- Copyright (C) 2001-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -20,6 +20,11 @@
#include <limits.h>
+/* Pacify GCC 13.2 in some calls to _GL_EXPR_SIGNED. */
+#if defined __GNUC__ && 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
/* Return a value with the common real type of E and V and the value of V.
Do not evaluate E. */
#define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v))
diff --git a/tests/intprops.h b/tests/intprops.h
index f182ddc1..43734f34 100644
--- a/tests/intprops.h
+++ b/tests/intprops.h
@@ -1,6 +1,6 @@
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2022 Free Software Foundation, Inc.
+ Copyright (C) 2001-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/tests/ioctl.c b/tests/ioctl.c
index b1c7b2ee..3ee63fd8 100644
--- a/tests/ioctl.c
+++ b/tests/ioctl.c
@@ -1,6 +1,6 @@
/* ioctl.c --- wrappers for Windows ioctl function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/isblank.c b/tests/isblank.c
index e3545593..d16450aa 100644
--- a/tests/isblank.c
+++ b/tests/isblank.c
@@ -1,6 +1,6 @@
/* Test whether a character is a blank.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/libc-config.h b/tests/libc-config.h
new file mode 100644
index 00000000..70114608
--- /dev/null
+++ b/tests/libc-config.h
@@ -0,0 +1,204 @@
+/* System definitions for code taken from the GNU C Library
+
+ Copyright 2017-2024 Free Software Foundation, Inc.
+
+ This program 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.
+
+ This program 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 this program; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert. */
+
+/* This is intended to be a good-enough substitute for glibc system
+ macros like those defined in <sys/cdefs.h>, so that Gnulib code
+ shared with glibc can do this as the first #include:
+
+ #ifndef _LIBC
+ # include <libc-config.h>
+ #endif
+
+ When compiled as part of glibc this is a no-op; when compiled as
+ part of Gnulib this includes Gnulib's <config.h> and defines macros
+ that glibc library code would normally assume.
+
+ Note: This header file MUST NOT be included by public header files
+ of Gnulib. */
+
+#include <config.h>
+
+/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
+ _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 and
+ DragonFlyBSD 5.9 it includes <sys/cdefs.h> which defines __nonnull.
+ Elsewhere it is harmless. */
+#include <errno.h>
+
+/* From glibc <errno.h>. */
+#ifndef __set_errno
+# define __set_errno(val) (errno = (val))
+#endif
+
+/* From glibc <features.h>. */
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+# define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__))
+# else
+# define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __glibc_clang_prereq
+# if defined __clang_major__ && defined __clang_minor__
+# ifdef __apple_build_version__
+/* Apple for some reason renumbers __clang_major__ and __clang_minor__.
+ Gnulib code uses only __glibc_clang_prereq (3, 5); map it to
+ 6000000 <= __apple_build_version__. Support for other calls to
+ __glibc_clang_prereq can be added here as needed. */
+# define __glibc_clang_prereq(maj, min) \
+ ((maj) == 3 && (min) == 5 ? 6000000 <= __apple_build_version__ : 0)
+# else
+# define __glibc_clang_prereq(maj, min) \
+ ((maj) < __clang_major__ + ((min) <= __clang_minor__))
+# endif
+# else
+# define __glibc_clang_prereq(maj, min) 0
+# endif
+#endif
+
+#ifndef __attribute_nonnull__
+/* <sys/cdefs.h> either does not exist, or is too old for Gnulib.
+ Prepare to include <cdefs.h>, which is Gnulib's version of a
+ more-recent glibc <sys/cdefs.h>. */
+
+/* Define _FEATURES_H so that <cdefs.h> does not include <features.h>. */
+# ifndef _FEATURES_H
+# define _FEATURES_H 1
+# endif
+/* Define __GNULIB_CDEFS so that <cdefs.h> does not attempt to include
+ nonexistent files. */
+# define __GNULIB_CDEFS
+/* Undef the macros unconditionally defined by our copy of glibc
+ <sys/cdefs.h>, so that they do not clash with any system-defined
+ versions. */
+# undef _SYS_CDEFS_H
+# undef __ASMNAME
+# undef __ASMNAME2
+# undef __BEGIN_DECLS
+# undef __CONCAT
+# undef __END_DECLS
+# undef __HAVE_GENERIC_SELECTION
+# undef __LDBL_COMPAT
+# undef __LDBL_REDIR
+# undef __LDBL_REDIR1
+# undef __LDBL_REDIR1_DECL
+# undef __LDBL_REDIR1_NTH
+# undef __LDBL_REDIR2_DECL
+# undef __LDBL_REDIR_DECL
+# undef __LDBL_REDIR_NTH
+# undef __LEAF
+# undef __LEAF_ATTR
+# undef __NTH
+# undef __NTHNL
+# undef __REDIRECT
+# undef __REDIRECT_LDBL
+# undef __REDIRECT_NTH
+# undef __REDIRECT_NTHNL
+# undef __REDIRECT_NTH_LDBL
+# undef __STRING
+# undef __THROW
+# undef __THROWNL
+# undef __attr_access
+# undef __attr_access_none
+# undef __attr_dealloc
+# undef __attr_dealloc_free
+# undef __attribute__
+# undef __attribute_alloc_align__
+# undef __attribute_alloc_size__
+# undef __attribute_artificial__
+# undef __attribute_const__
+# undef __attribute_deprecated__
+# undef __attribute_deprecated_msg__
+# undef __attribute_format_arg__
+# undef __attribute_format_strfmon__
+# undef __attribute_malloc__
+# undef __attribute_maybe_unused__
+# undef __attribute_noinline__
+# undef __attribute_nonstring__
+# undef __attribute_pure__
+# undef __attribute_returns_twice__
+# undef __attribute_used__
+# undef __attribute_warn_unused_result__
+# undef __errordecl
+# undef __extension__
+# undef __extern_always_inline
+# undef __extern_inline
+# undef __flexarr
+# undef __fortified_attr_access
+# undef __fortify_function
+# undef __glibc_c99_flexarr_available
+# undef __glibc_has_attribute
+# undef __glibc_has_builtin
+# undef __glibc_has_extension
+# undef __glibc_likely
+# undef __glibc_macro_warning
+# undef __glibc_macro_warning1
+# undef __glibc_unlikely
+# undef __inline
+# undef __ptr_t
+# undef __restrict
+# undef __restrict_arr
+# undef __va_arg_pack
+# undef __va_arg_pack_len
+# undef __warnattr
+# undef __wur
+# ifndef __GNULIB_CDEFS
+# undef __bos
+# undef __bos0
+# undef __glibc_fortify
+# undef __glibc_fortify_n
+# undef __glibc_objsize
+# undef __glibc_objsize0
+# undef __glibc_safe_len_cond
+# undef __glibc_safe_or_unknown_len
+# undef __glibc_unsafe_len
+# undef __glibc_unsigned_or_positive
+# endif
+
+/* Include our copy of glibc <sys/cdefs.h>. */
+# include <cdefs.h>
+
+/* <cdefs.h> __inline is too pessimistic for non-GCC. */
+# undef __inline
+# ifndef HAVE___INLINE
+# if 199901 <= __STDC_VERSION__ || defined inline
+# define __inline inline
+# else
+# define __inline
+# endif
+# endif
+
+#endif /* defined __glibc_likely */
+
+
+/* A substitute for glibc <libc-symbols.h>, good enough for Gnulib. */
+#define attribute_hidden
+#define libc_hidden_proto(name)
+#define libc_hidden_def(name)
+#define libc_hidden_weak(name)
+#define libc_hidden_ver(local, name)
+#define strong_alias(name, aliasname)
+#define weak_alias(name, aliasname)
+
+/* A substitute for glibc <shlib-compat.h>, good enough for Gnulib. */
+#define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+#define compat_symbol(lib, local, symbol, version) extern int dummy
+#define versioned_symbol(lib, local, symbol, version) extern int dummy
diff --git a/tests/listen.c b/tests/listen.c
index e67bdc9e..785b1319 100644
--- a/tests/listen.c
+++ b/tests/listen.c
@@ -1,6 +1,6 @@
/* listen.c --- wrappers for Windows listen function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/locale.c b/tests/locale.c
index d7ae6103..bd2bc00e 100644
--- a/tests/locale.c
+++ b/tests/locale.c
@@ -1,5 +1,5 @@
/* Program that prints the names of the categories of the current locale.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/lstat.c b/tests/lstat.c
index 472bfbce..7c09957e 100644
--- a/tests/lstat.c
+++ b/tests/lstat.c
@@ -1,6 +1,6 @@
/* Work around a bug of lstat on some systems
- Copyright (C) 1997-2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 1997-2006, 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/macros.h b/tests/macros.h
index 7f5eb2de..d182cd6f 100644
--- a/tests/macros.h
+++ b/tests/macros.h
@@ -1,5 +1,5 @@
/* Common macros used by gnulib tests.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/malloc.c b/tests/malloc.c
index f334dd6e..2a7867a1 100644
--- a/tests/malloc.c
+++ b/tests/malloc.c
@@ -1,6 +1,6 @@
/* malloc() function that is glibc compatible.
- Copyright (C) 1997-1998, 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2006-2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/mbtowc-impl.h b/tests/mbtowc-impl.h
index 2b27bafd..92efb4a7 100644
--- a/tests/mbtowc-impl.h
+++ b/tests/mbtowc-impl.h
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
@@ -30,7 +30,7 @@ mbtowc (wchar_t *pwc, const char *s, size_t n)
wchar_t wc;
size_t result;
- memset (&state, 0, sizeof (mbstate_t));
+ mbszero (&state);
result = mbrtowc (&wc, s, n, &state);
if (result == (size_t)-1 || result == (size_t)-2)
{
diff --git a/tests/mbtowc.c b/tests/mbtowc.c
index a9a79951..31a2d635 100644
--- a/tests/mbtowc.c
+++ b/tests/mbtowc.c
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/minus-zero.h b/tests/minus-zero.h
index d43d8e32..73a388f6 100644
--- a/tests/minus-zero.h
+++ b/tests/minus-zero.h
@@ -1,5 +1,5 @@
/* Macros for floating-point negative zero.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/msvc-inval.c b/tests/msvc-inval.c
index d6651caa..da3fc86a 100644
--- a/tests/msvc-inval.c
+++ b/tests/msvc-inval.c
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/msvc-inval.h b/tests/msvc-inval.h
index 1230b899..7aee6e5d 100644
--- a/tests/msvc-inval.h
+++ b/tests/msvc-inval.h
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -52,6 +52,11 @@
AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING])
*/
+/* This file uses HAVE_MSVC_INVALID_PARAMETER_HANDLER. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#define DEFAULT_HANDLING 0
#define HAIRY_LIBRARY_HANDLING 1
#define SANE_LIBRARY_HANDLING 2
diff --git a/tests/msvc-nothrow.c b/tests/msvc-nothrow.c
index aa069643..06b35a61 100644
--- a/tests/msvc-nothrow.c
+++ b/tests/msvc-nothrow.c
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/msvc-nothrow.h b/tests/msvc-nothrow.h
index 53451557..dc6dd35d 100644
--- a/tests/msvc-nothrow.h
+++ b/tests/msvc-nothrow.h
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -25,6 +25,11 @@
This file defines wrappers that turn such an invalid parameter notification
into an error code. */
+/* This file uses HAVE_MSVC_INVALID_PARAMETER_HANDLER. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if defined _WIN32 && ! defined __CYGWIN__
/* Get original declaration of _get_osfhandle. */
diff --git a/tests/nan.h b/tests/nan.h
index 6a3a239a..d540a0bb 100644
--- a/tests/nan.h
+++ b/tests/nan.h
@@ -1,5 +1,5 @@
-/* Macros for not-a-number.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+/* Macros for quiet not-a-number.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,6 +14,9 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
+#ifndef _GL_NAN_H
+#define _GL_NAN_H
+
/* IBM z/OS supports both hexadecimal and IEEE floating-point formats. The
former does not support NaN and its isnan() implementation returns zero
@@ -26,14 +29,15 @@
/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
on the expression 0.0 / 0.0. The IBM XL C compiler on z/OS complains.
- PGI 16.10 complains. */
+ PGI 16.10 complains. clang 13 on mips64 does incorrect constant-folding. */
#if (defined __DECC || defined _MSC_VER \
- || (defined __MVS__ && defined __IBMC__) \
- || defined __PGI)
+ || (defined __MVS__ && defined __IBMC__) \
+ || defined __PGI \
+ || defined __mips__)
static float
NaNf ()
{
- static float zero = 0.0f;
+ static float volatile zero = 0.0f;
return zero / zero;
}
#else
@@ -45,14 +49,15 @@ NaNf ()
/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
on the expression 0.0 / 0.0. The IBM XL C compiler on z/OS complains.
- PGI 16.10 complains. */
+ PGI 16.10 complains. clang 13 on mips64 does incorrect constant-folding. */
#if (defined __DECC || defined _MSC_VER \
- || (defined __MVS__ && defined __IBMC__) \
- || defined __PGI)
+ || (defined __MVS__ && defined __IBMC__) \
+ || defined __PGI \
+ || defined __mips__)
static double
NaNd ()
{
- static double zero = 0.0;
+ static double volatile zero = 0.0;
return zero / zero;
}
#else
@@ -66,20 +71,27 @@ NaNd ()
runtime type conversion.
The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L.
The IBM XL C compiler on z/OS complains.
- PGI 16.10 complains. */
+ PGI 16.10 complains.
+ Avoid possible incorrect constant-folding on mips. */
#ifdef __sgi
static long double NaNl ()
{
double zero = 0.0;
return zero / zero;
}
-#elif defined _MSC_VER || (defined __MVS__ && defined __IBMC__) || defined __PGI
+#elif (defined _MSC_VER \
+ || (defined __MVS__ && defined __IBMC__) \
+ || defined __PGI \
+ || defined __mips__)
static long double
NaNl ()
{
- static long double zero = 0.0L;
+ static long double volatile zero = 0.0L;
return zero / zero;
}
#else
# define NaNl() (0.0L / 0.0L)
#endif
+
+
+#endif /* _GL_NAN_H */
diff --git a/tests/nanosleep.c b/tests/nanosleep.c
index 55d6fa65..c6a76ec0 100644
--- a/tests/nanosleep.c
+++ b/tests/nanosleep.c
@@ -1,6 +1,6 @@
/* Provide a replacement for the POSIX nanosleep function.
- Copyright (C) 1999-2000, 2002, 2004-2022 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002, 2004-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -60,8 +60,7 @@ nanosleep (const struct timespec *requested_delay,
static_assert (TYPE_MAXIMUM (time_t) / 24 / 24 / 60 / 60);
const time_t limit = 24 * 24 * 60 * 60;
time_t seconds = requested_delay->tv_sec;
- struct timespec intermediate;
- intermediate.tv_nsec = requested_delay->tv_nsec;
+ struct timespec intermediate = *requested_delay;
while (limit < seconds)
{
diff --git a/tests/nap.h b/tests/nap.h
index 37f8009c..cf7d998b 100644
--- a/tests/nap.h
+++ b/tests/nap.h
@@ -1,5 +1,5 @@
/* Assist in file system timestamp tests.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/netinet_in.in.h b/tests/netinet_in.in.h
index e23807ca..4e9f6f2d 100644
--- a/tests/netinet_in.in.h
+++ b/tests/netinet_in.in.h
@@ -1,5 +1,5 @@
/* Substitute for <netinet/in.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/open.c b/tests/open.c
index 170bff10..e690c9ea 100644
--- a/tests/open.c
+++ b/tests/open.c
@@ -1,5 +1,5 @@
/* Open a descriptor to a file.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -38,9 +38,13 @@ orig_open (const char *filename, int flags, mode_t mode)
}
/* Specification. */
+#ifdef __osf__
/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates
this include because of the preliminary #include <fcntl.h> above. */
-#include "fcntl.h"
+# include "fcntl.h"
+#else
+# include <fcntl.h>
+#endif
#include "cloexec.h"
diff --git a/tests/pathmax.h b/tests/pathmax.h
index 19b93d7e..d6512c6f 100644
--- a/tests/pathmax.h
+++ b/tests/pathmax.h
@@ -1,5 +1,5 @@
/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2022 Free Software
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
@@ -39,6 +39,11 @@
#endif
*/
+/* This file uses HAVE_SYS_PARAM_H. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <unistd.h>
# include <limits.h>
diff --git a/tests/perror.c b/tests/perror.c
index 977a9a55..f29cd031 100644
--- a/tests/perror.c
+++ b/tests/perror.c
@@ -1,5 +1,5 @@
/* Print a message describing error code.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/pipe.c b/tests/pipe.c
index ce909b9f..fa6db541 100644
--- a/tests/pipe.c
+++ b/tests/pipe.c
@@ -1,5 +1,5 @@
/* Create a pipe.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/pselect.c b/tests/pselect.c
index a1eca0c6..54732e5c 100644
--- a/tests/pselect.c
+++ b/tests/pselect.c
@@ -1,6 +1,6 @@
/* pselect - synchronous I/O multiplexing
- Copyright 2011-2022 Free Software Foundation, Inc.
+ Copyright 2011-2024 Free Software Foundation, Inc.
This file is part of gnulib.
@@ -45,6 +45,12 @@ pselect (int nfds, fd_set *restrict rfds,
sigset_t origmask;
struct timeval tv, *tvp;
+ if (nfds < 0 || nfds > FD_SETSIZE)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
if (timeout)
{
if (! (0 <= timeout->tv_nsec && timeout->tv_nsec < 1000000000))
@@ -53,8 +59,10 @@ pselect (int nfds, fd_set *restrict rfds,
return -1;
}
- tv.tv_sec = timeout->tv_sec;
- tv.tv_usec = (timeout->tv_nsec + 999) / 1000;
+ tv = (struct timeval) {
+ .tv_sec = timeout->tv_sec,
+ .tv_usec = (timeout->tv_nsec + 999) / 1000
+ };
tvp = &tv;
}
else
diff --git a/tests/pthread-thread.c b/tests/pthread-thread.c
index a5f07fb2..b81748d1 100644
--- a/tests/pthread-thread.c
+++ b/tests/pthread-thread.c
@@ -1,5 +1,5 @@
/* Creating and controlling POSIX threads.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/pthread.in.h b/tests/pthread.in.h
index cf9ca3a4..cd705fbd 100644
--- a/tests/pthread.in.h
+++ b/tests/pthread.in.h
@@ -1,6 +1,6 @@
/* Implement the most essential subset of POSIX 1003.1-2008 pthread.h.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -51,6 +51,12 @@
#ifndef _@GUARD_PREFIX@_PTHREAD_H_
#define _@GUARD_PREFIX@_PTHREAD_H_
+/* This file uses _Noreturn, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#define __need_system_stdlib_h
#include <stdlib.h>
#undef __need_system_stdlib_h
@@ -409,7 +415,21 @@ typedef pthread_mutex_t pthread_spinlock_t;
# define PTHREAD_PROCESS_PRIVATE 0
# define PTHREAD_PROCESS_SHARED 1
#else
-# if !@HAVE_PTHREAD_SPINLOCK_T@
+# if @HAVE_PTHREAD_SPINLOCK_T@
+/* <pthread.h> exists and defines pthread_spinlock_t. */
+# if !(((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) \
+ || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 1)) \
+ || (((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) \
+ && !defined __ANDROID__) \
+ || __clang_major__ >= 3)) \
+ && !defined __ibmxl__)
+/* We can't use GCC built-ins. Approximate spinlocks with mutexes. */
+# if !GNULIB_defined_pthread_spin_types
+# define pthread_spinlock_t pthread_mutex_t
+# define GNULIB_defined_pthread_spin_types 1
+# endif
+# endif
+# else
/* Approximate spinlocks with mutexes. */
# if !GNULIB_defined_pthread_spin_types
typedef pthread_mutex_t pthread_spinlock_t;
diff --git a/tests/pthread_sigmask.c b/tests/pthread_sigmask.c
index cd4eb807..3b6e6e45 100644
--- a/tests/pthread_sigmask.c
+++ b/tests/pthread_sigmask.c
@@ -1,5 +1,5 @@
/* POSIX compatible signal blocking for threads.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/putenv.c b/tests/putenv.c
index b0d27e2f..2ab6f248 100644
--- a/tests/putenv.c
+++ b/tests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2022 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2024 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/tests/raise.c b/tests/raise.c
index 385ddd38..891f355a 100644
--- a/tests/raise.c
+++ b/tests/raise.c
@@ -1,6 +1,6 @@
/* Provide a non-threads replacement for the POSIX raise function.
- Copyright (C) 2002-2003, 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/random.c b/tests/random.c
new file mode 100644
index 00000000..97ba1691
--- /dev/null
+++ b/tests/random.c
@@ -0,0 +1,317 @@
+/* Copyright (C) 1995-2024 Free Software Foundation, Inc.
+
+ This file 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 3 of the
+ License, or (at your option) any later version.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/*
+ * This is derived from the Berkeley source:
+ * @(#)random.c 5.5 (Berkeley) 7/6/88
+ * It was reworked for the GNU C Library by Roland McGrath.
+ * Rewritten to use reentrant functions by Ulrich Drepper, 1995.
+ */
+
+/*
+ Copyright (C) 1983 Regents of the University of California.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.*/
+
+#ifndef _LIBC
+# include <libc-config.h>
+# define __srandom srandom
+# define __initstate initstate
+# define __setstate setstate
+# define __random random
+# define __srandom_r srandom_r
+# define __initstate_r initstate_r
+# define __setstate_r setstate_r
+# define __random_r random_r
+#endif
+
+/* Specification. */
+#include <stdlib.h>
+
+#ifdef _LIBC
+# include <libc-lock.h>
+#else
+# include "glthread/lock.h"
+# define __libc_lock_define_initialized gl_lock_define_initialized
+# define __libc_lock_lock gl_lock_lock
+# define __libc_lock_unlock gl_lock_unlock
+#endif
+
+/* An improved random number generation package. In addition to the standard
+ rand()/srand() like interface, this package also has a special state info
+ interface. The initstate() routine is called with a seed, an array of
+ bytes, and a count of how many bytes are being passed in; this array is
+ then initialized to contain information for random number generation with
+ that much state information. Good sizes for the amount of state
+ information are 32, 64, 128, and 256 bytes. The state can be switched by
+ calling the setstate() function with the same array as was initialized
+ with initstate(). By default, the package runs with 128 bytes of state
+ information and generates far better random numbers than a linear
+ congruential generator. If the amount of state information is less than
+ 32 bytes, a simple linear congruential R.N.G. is used. Internally, the
+ state information is treated as an array of longs; the zeroth element of
+ the array is the type of R.N.G. being used (small integer); the remainder
+ of the array is the state information for the R.N.G. Thus, 32 bytes of
+ state information will give 7 longs worth of state information, which will
+ allow a degree seven polynomial. (Note: The zeroth word of state
+ information also has some other information stored in it; see setstate
+ for details). The random number generation technique is a linear feedback
+ shift register approach, employing trinomials (since there are fewer terms
+ to sum up that way). In this approach, the least significant bit of all
+ the numbers in the state table will act as a linear feedback shift register,
+ and will have period 2^deg - 1 (where deg is the degree of the polynomial
+ being used, assuming that the polynomial is irreducible and primitive).
+ The higher order bits will have longer periods, since their values are
+ also influenced by pseudo-random carries out of the lower bits. The
+ total period of the generator is approximately deg*(2**deg - 1); thus
+ doubling the amount of state information has a vast influence on the
+ period of the generator. Note: The deg*(2**deg - 1) is an approximation
+ only good for large deg, when the period of the shift register is the
+ dominant factor. With deg equal to seven, the period is actually much
+ longer than the 7*(2**7 - 1) predicted by this formula. */
+
+
+
+/* For each of the currently supported random number generators, we have a
+ break value on the amount of state information (you need at least this many
+ bytes of state info to support this random number generator), a degree for
+ the polynomial (actually a trinomial) that the R.N.G. is based on, and
+ separation between the two lower order coefficients of the trinomial. */
+
+/* Linear congruential. */
+#define TYPE_0 0
+#define BREAK_0 8
+#define DEG_0 0
+#define SEP_0 0
+
+/* x**7 + x**3 + 1. */
+#define TYPE_1 1
+#define BREAK_1 32
+#define DEG_1 7
+#define SEP_1 3
+
+/* x**15 + x + 1. */
+#define TYPE_2 2
+#define BREAK_2 64
+#define DEG_2 15
+#define SEP_2 1
+
+/* x**31 + x**3 + 1. */
+#define TYPE_3 3
+#define BREAK_3 128
+#define DEG_3 31
+#define SEP_3 3
+
+/* x**63 + x + 1. */
+#define TYPE_4 4
+#define BREAK_4 256
+#define DEG_4 63
+#define SEP_4 1
+
+
+/* Array versions of the above information to make code run faster.
+ Relies on fact that TYPE_i == i. */
+
+#define MAX_TYPES 5 /* Max number of types above. */
+
+
+/* Initially, everything is set up as if from:
+ initstate(1, randtbl, 128);
+ Note that this initialization takes advantage of the fact that srandom
+ advances the front and rear pointers 10*rand_deg times, and hence the
+ rear pointer which starts at 0 will also end up at zero; thus the zeroth
+ element of the state information, which contains info about the current
+ position of the rear pointer is just
+ (MAX_TYPES * (rptr - state)) + TYPE_3 == TYPE_3. */
+
+static int32_t randtbl[DEG_3 + 1] =
+ {
+ TYPE_3,
+
+ -1726662223, 379960547, 1735697613, 1040273694, 1313901226,
+ 1627687941, -179304937, -2073333483, 1780058412, -1989503057,
+ -615974602, 344556628, 939512070, -1249116260, 1507946756,
+ -812545463, 154635395, 1388815473, -1926676823, 525320961,
+ -1009028674, 968117788, -123449607, 1284210865, 435012392,
+ -2017506339, -911064859, -370259173, 1132637927, 1398500161,
+ -205601318,
+ };
+
+
+static struct random_data unsafe_state =
+ {
+/* FPTR and RPTR are two pointers into the state info, a front and a rear
+ pointer. These two pointers are always rand_sep places apart, as they
+ cycle through the state information. (Yes, this does mean we could get
+ away with just one pointer, but the code for random is more efficient
+ this way). The pointers are left positioned as they would be from the call:
+ initstate(1, randtbl, 128);
+ (The position of the rear pointer, rptr, is really 0 (as explained above
+ in the initialization of randtbl) because the state table pointer is set
+ to point to randtbl[1] (as explained below).) */
+
+ .fptr = &randtbl[SEP_3 + 1],
+ .rptr = &randtbl[1],
+
+/* The following things are the pointer to the state information table,
+ the type of the current generator, the degree of the current polynomial
+ being used, and the separation between the two pointers.
+ Note that for efficiency of random, we remember the first location of
+ the state information, not the zeroth. Hence it is valid to access
+ state[-1], which is used to store the type of the R.N.G.
+ Also, we remember the last location, since this is more efficient than
+ indexing every time to find the address of the last element to see if
+ the front and rear pointers have wrapped. */
+
+ .state = &randtbl[1],
+
+ .rand_type = TYPE_3,
+ .rand_deg = DEG_3,
+ .rand_sep = SEP_3,
+
+ .end_ptr = &randtbl[sizeof (randtbl) / sizeof (randtbl[0])]
+};
+
+/* POSIX.1c requires that there is mutual exclusion for the 'rand' and
+ 'srand' functions to prevent concurrent calls from modifying common
+ data. */
+__libc_lock_define_initialized (static, lock)
+
+/* Initialize the random number generator based on the given seed. If the
+ type is the trivial no-state-information type, just remember the seed.
+ Otherwise, initializes state[] based on the given "seed" via a linear
+ congruential generator. Then, the pointers are set to known locations
+ that are exactly rand_sep places apart. Lastly, it cycles the state
+ information a given number of times to get rid of any initial dependencies
+ introduced by the L.C.R.N.G. Note that the initialization of randtbl[]
+ for default usage relies on values produced by this routine. */
+void
+__srandom (unsigned int x)
+{
+ __libc_lock_lock (lock);
+ (void) __srandom_r (x, &unsafe_state);
+ __libc_lock_unlock (lock);
+}
+
+weak_alias (__srandom, srandom)
+weak_alias (__srandom, srand)
+
+/* Initialize the state information in the given array of N bytes for
+ future random number generation. Based on the number of bytes we
+ are given, and the break values for the different R.N.G.'s, we choose
+ the best (largest) one we can and set things up for it. srandom is
+ then called to initialize the state information. Note that on return
+ from srandom, we set state[-1] to be the type multiplexed with the current
+ value of the rear pointer; this is so successive calls to initstate won't
+ lose this information and will be able to restart with setstate.
+ Note: The first thing we do is save the current state, if any, just like
+ setstate so that it doesn't matter when initstate is called.
+ Returns a pointer to the old state. */
+char *
+__initstate (unsigned int seed, char *arg_state, size_t n)
+{
+ int32_t *ostate;
+ int ret;
+
+ __libc_lock_lock (lock);
+
+ ostate = &unsafe_state.state[-1];
+
+ ret = __initstate_r (seed, arg_state, n, &unsafe_state);
+
+ __libc_lock_unlock (lock);
+
+ return ret == -1 ? NULL : (char *) ostate;
+}
+
+weak_alias (__initstate, initstate)
+
+/* Restore the state from the given state array.
+ Note: It is important that we also remember the locations of the pointers
+ in the current state information, and restore the locations of the pointers
+ from the old state information. This is done by multiplexing the pointer
+ location into the zeroth word of the state information. Note that due
+ to the order in which things are done, it is OK to call setstate with the
+ same state as the current state
+ Returns a pointer to the old state information. */
+char *
+__setstate (char *arg_state)
+{
+ int32_t *ostate;
+
+ __libc_lock_lock (lock);
+
+ ostate = &unsafe_state.state[-1];
+
+ if (__setstate_r (arg_state, &unsafe_state) < 0)
+ ostate = NULL;
+
+ __libc_lock_unlock (lock);
+
+ return (char *) ostate;
+}
+
+weak_alias (__setstate, setstate)
+
+/* If we are using the trivial TYPE_0 R.N.G., just do the old linear
+ congruential bit. Otherwise, we do our fancy trinomial stuff, which is the
+ same in all the other cases due to all the global variables that have been
+ set up. The basic operation is to add the number at the rear pointer into
+ the one at the front pointer. Then both pointers are advanced to the next
+ location cyclically in the table. The value returned is the sum generated,
+ reduced to 31 bits by throwing away the "least random" low bit.
+ Note: The code takes advantage of the fact that both the front and
+ rear pointers can't wrap on the same call by not testing the rear
+ pointer if the front one has wrapped. Returns a 31-bit random number. */
+
+long int
+__random (void)
+{
+ int32_t retval;
+
+ __libc_lock_lock (lock);
+
+ (void) __random_r (&unsafe_state, &retval);
+
+ __libc_lock_unlock (lock);
+
+ return retval;
+}
+
+weak_alias (__random, random)
diff --git a/tests/random_r.c b/tests/random_r.c
new file mode 100644
index 00000000..b0ab81ac
--- /dev/null
+++ b/tests/random_r.c
@@ -0,0 +1,430 @@
+/*
+ Copyright (C) 1995-2024 Free Software Foundation, Inc.
+
+ 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, see
+ <https://www.gnu.org/licenses/>. */
+
+/*
+ Copyright (C) 1983 Regents of the University of California.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.*/
+
+/*
+ * This is derived from the Berkeley source:
+ * @(#)random.c 5.5 (Berkeley) 7/6/88
+ * It was reworked for the GNU C Library by Roland McGrath.
+ * Rewritten to be reentrant by Ulrich Drepper, 1995
+ */
+
+#ifndef _LIBC
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the buf == NULL, arg_state == NULL, result == NULL tests
+ below. */
+# define _GL_ARG_NONNULL(params)
+
+# include <libc-config.h>
+# define __srandom_r srandom_r
+# define __initstate_r initstate_r
+# define __setstate_r setstate_r
+# define __random_r random_r
+#endif
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <errno.h>
+#include <stddef.h>
+#include <string.h>
+
+
+/* An improved random number generation package. In addition to the standard
+ rand()/srand() like interface, this package also has a special state info
+ interface. The initstate() routine is called with a seed, an array of
+ bytes, and a count of how many bytes are being passed in; this array is
+ then initialized to contain information for random number generation with
+ that much state information. Good sizes for the amount of state
+ information are 32, 64, 128, and 256 bytes. The state can be switched by
+ calling the setstate() function with the same array as was initialized
+ with initstate(). By default, the package runs with 128 bytes of state
+ information and generates far better random numbers than a linear
+ congruential generator. If the amount of state information is less than
+ 32 bytes, a simple linear congruential R.N.G. is used. Internally, the
+ state information is treated as an array of longs; the zeroth element of
+ the array is the type of R.N.G. being used (small integer); the remainder
+ of the array is the state information for the R.N.G. Thus, 32 bytes of
+ state information will give 7 longs worth of state information, which will
+ allow a degree seven polynomial. (Note: The zeroth word of state
+ information also has some other information stored in it; see setstate
+ for details). The random number generation technique is a linear feedback
+ shift register approach, employing trinomials (since there are fewer terms
+ to sum up that way). In this approach, the least significant bit of all
+ the numbers in the state table will act as a linear feedback shift register,
+ and will have period 2^deg - 1 (where deg is the degree of the polynomial
+ being used, assuming that the polynomial is irreducible and primitive).
+ The higher order bits will have longer periods, since their values are
+ also influenced by pseudo-random carries out of the lower bits. The
+ total period of the generator is approximately deg*(2**deg - 1); thus
+ doubling the amount of state information has a vast influence on the
+ period of the generator. Note: The deg*(2**deg - 1) is an approximation
+ only good for large deg, when the period of the shift register is the
+ dominant factor. With deg equal to seven, the period is actually much
+ longer than the 7*(2**7 - 1) predicted by this formula. */
+
+
+
+/* For each of the currently supported random number generators, we have a
+ break value on the amount of state information (you need at least this many
+ bytes of state info to support this random number generator), a degree for
+ the polynomial (actually a trinomial) that the R.N.G. is based on, and
+ separation between the two lower order coefficients of the trinomial. */
+
+/* Linear congruential. */
+#define TYPE_0 0
+#define BREAK_0 8
+#define DEG_0 0
+#define SEP_0 0
+
+/* x**7 + x**3 + 1. */
+#define TYPE_1 1
+#define BREAK_1 32
+#define DEG_1 7
+#define SEP_1 3
+
+/* x**15 + x + 1. */
+#define TYPE_2 2
+#define BREAK_2 64
+#define DEG_2 15
+#define SEP_2 1
+
+/* x**31 + x**3 + 1. */
+#define TYPE_3 3
+#define BREAK_3 128
+#define DEG_3 31
+#define SEP_3 3
+
+/* x**63 + x + 1. */
+#define TYPE_4 4
+#define BREAK_4 256
+#define DEG_4 63
+#define SEP_4 1
+
+
+/* Array versions of the above information to make code run faster.
+ Relies on fact that TYPE_i == i. */
+
+#define MAX_TYPES 5 /* Max number of types above. */
+
+struct random_poly_info
+{
+ int seps[MAX_TYPES];
+ int degrees[MAX_TYPES];
+};
+
+static const struct random_poly_info random_poly_info =
+{
+ { SEP_0, SEP_1, SEP_2, SEP_3, SEP_4 },
+ { DEG_0, DEG_1, DEG_2, DEG_3, DEG_4 }
+};
+
+static int32_t
+get_int32 (void *p)
+{
+ int32_t v;
+ memcpy (&v, p, sizeof v);
+ return v;
+}
+
+static void
+set_int32 (void *p, int32_t v)
+{
+ memcpy (p, &v, sizeof v);
+}
+
+
+/* Initialize the random number generator based on the given seed. If the
+ type is the trivial no-state-information type, just remember the seed.
+ Otherwise, initializes state[] based on the given "seed" via a linear
+ congruential generator. Then, the pointers are set to known locations
+ that are exactly rand_sep places apart. Lastly, it cycles the state
+ information a given number of times to get rid of any initial dependencies
+ introduced by the L.C.R.N.G. Note that the initialization of randtbl[]
+ for default usage relies on values produced by this routine. */
+int
+__srandom_r (unsigned int seed, struct random_data *buf)
+{
+ int type;
+ int32_t *state;
+ long int i;
+ int32_t word;
+ int32_t *dst;
+ int kc;
+
+ if (buf == NULL)
+ goto fail;
+ type = buf->rand_type;
+ if ((unsigned int) type >= MAX_TYPES)
+ goto fail;
+
+ state = buf->state;
+ /* We must make sure the seed is not 0. Take arbitrarily 1 in this case. */
+ if (seed == 0)
+ seed = 1;
+ set_int32 (&state[0], seed);
+ if (type == TYPE_0)
+ goto done;
+
+ dst = state;
+ word = seed;
+ kc = buf->rand_deg;
+ for (i = 1; i < kc; ++i)
+ {
+ /* This does:
+ state[i] = (16807 * state[i - 1]) % 2147483647;
+ but avoids overflowing 31 bits. */
+ long int hi = word / 127773;
+ long int lo = word % 127773;
+ word = 16807 * lo - 2836 * hi;
+ if (word < 0)
+ word += 2147483647;
+ set_int32 (++dst, word);
+ }
+
+ buf->fptr = &state[buf->rand_sep];
+ buf->rptr = &state[0];
+ kc *= 10;
+ while (--kc >= 0)
+ {
+ int32_t discard;
+ (void) __random_r (buf, &discard);
+ }
+
+ done:
+ return 0;
+
+ fail:
+ return -1;
+}
+
+weak_alias (__srandom_r, srandom_r)
+
+/* Initialize the state information in the given array of N bytes for
+ future random number generation. Based on the number of bytes we
+ are given, and the break values for the different R.N.G.'s, we choose
+ the best (largest) one we can and set things up for it. srandom is
+ then called to initialize the state information. Note that on return
+ from srandom, we set state[-1] to be the type multiplexed with the current
+ value of the rear pointer; this is so successive calls to initstate won't
+ lose this information and will be able to restart with setstate.
+ Note: The first thing we do is save the current state, if any, just like
+ setstate so that it doesn't matter when initstate is called.
+ Returns 0 on success, non-zero on failure. */
+int
+__initstate_r (unsigned int seed, char *arg_state, size_t n,
+ struct random_data *buf)
+{
+ if (buf == NULL)
+ goto fail;
+
+ int32_t *old_state = buf->state;
+ if (old_state != NULL)
+ {
+ int old_type = buf->rand_type;
+ set_int32 (&old_state[-1],
+ (old_type == TYPE_0
+ ? TYPE_0
+ : (MAX_TYPES * (buf->rptr - old_state)) + old_type));
+ }
+
+ int type;
+ if (n >= BREAK_3)
+ type = n < BREAK_4 ? TYPE_3 : TYPE_4;
+ else if (n < BREAK_1)
+ {
+ if (n < BREAK_0)
+ goto fail;
+
+ type = TYPE_0;
+ }
+ else
+ type = n < BREAK_2 ? TYPE_1 : TYPE_2;
+
+ int degree = random_poly_info.degrees[type];
+ int separation = random_poly_info.seps[type];
+
+ buf->rand_type = type;
+ buf->rand_sep = separation;
+ buf->rand_deg = degree;
+ int32_t *state = &((int32_t *) arg_state)[1]; /* First location. */
+ /* Must set END_PTR before srandom. */
+ buf->end_ptr = &state[degree];
+
+ buf->state = state;
+
+ __srandom_r (seed, buf);
+
+ set_int32 (&state[-1],
+ type == TYPE_0 ? TYPE_0 : (buf->rptr - state) * MAX_TYPES + type);
+
+ return 0;
+
+ fail:
+ __set_errno (EINVAL);
+ return -1;
+}
+
+weak_alias (__initstate_r, initstate_r)
+
+/* Restore the state from the given state array.
+ Note: It is important that we also remember the locations of the pointers
+ in the current state information, and restore the locations of the pointers
+ from the old state information. This is done by multiplexing the pointer
+ location into the zeroth word of the state information. Note that due
+ to the order in which things are done, it is OK to call setstate with the
+ same state as the current state
+ Returns 0 on success, non-zero on failure. */
+int
+__setstate_r (char *arg_state, struct random_data *buf)
+{
+ int32_t *new_state = 1 + (int32_t *) arg_state;
+ int type;
+ int old_type;
+ int32_t *old_state;
+ int degree;
+ int separation;
+
+ if (arg_state == NULL || buf == NULL)
+ goto fail;
+
+ old_type = buf->rand_type;
+ old_state = buf->state;
+ set_int32 (&old_state[-1],
+ (old_type == TYPE_0
+ ? TYPE_0
+ : (MAX_TYPES * (buf->rptr - old_state)) + old_type));
+
+ type = get_int32 (&new_state[-1]) % MAX_TYPES;
+ if (type < TYPE_0 || type > TYPE_4)
+ goto fail;
+
+ buf->rand_deg = degree = random_poly_info.degrees[type];
+ buf->rand_sep = separation = random_poly_info.seps[type];
+ buf->rand_type = type;
+
+ if (type != TYPE_0)
+ {
+ int rear = get_int32 (&new_state[-1]) / MAX_TYPES;
+ buf->rptr = &new_state[rear];
+ buf->fptr = &new_state[(rear + separation) % degree];
+ }
+ buf->state = new_state;
+ /* Set end_ptr too. */
+ buf->end_ptr = &new_state[degree];
+
+ return 0;
+
+ fail:
+ __set_errno (EINVAL);
+ return -1;
+}
+
+weak_alias (__setstate_r, setstate_r)
+
+/* If we are using the trivial TYPE_0 R.N.G., just do the old linear
+ congruential bit. Otherwise, we do our fancy trinomial stuff, which is the
+ same in all the other cases due to all the global variables that have been
+ set up. The basic operation is to add the number at the rear pointer into
+ the one at the front pointer. Then both pointers are advanced to the next
+ location cyclically in the table. The value returned is the sum generated,
+ reduced to 31 bits by throwing away the "least random" low bit.
+ Note: The code takes advantage of the fact that both the front and
+ rear pointers can't wrap on the same call by not testing the rear
+ pointer if the front one has wrapped. Returns a 31-bit random number. */
+
+int
+__random_r (struct random_data *buf, int32_t *result)
+{
+ int32_t *state;
+
+ if (buf == NULL || result == NULL)
+ goto fail;
+
+ state = buf->state;
+
+ if (buf->rand_type == TYPE_0)
+ {
+ int32_t val = (((get_int32 (&state[0]) * 1103515245U) + 12345U)
+ & 0x7fffffff);
+ set_int32 (&state[0], val);
+ *result = val;
+ }
+ else
+ {
+ int32_t *fptr = buf->fptr;
+ int32_t *rptr = buf->rptr;
+ int32_t *end_ptr = buf->end_ptr;
+ /* F and R are unsigned int, not uint32_t, to avoid undefined
+ overflow behavior on platforms where INT_MAX == UINT32_MAX. */
+ unsigned int f = get_int32 (fptr);
+ unsigned int r = get_int32 (rptr);
+ uint32_t val = f + r;
+ set_int32 (fptr, val);
+ /* Chucking least random bit. */
+ *result = val >> 1;
+ ++fptr;
+ if (fptr >= end_ptr)
+ {
+ fptr = state;
+ ++rptr;
+ }
+ else
+ {
+ ++rptr;
+ if (rptr >= end_ptr)
+ rptr = state;
+ }
+ buf->fptr = fptr;
+ buf->rptr = rptr;
+ }
+ return 0;
+
+ fail:
+ __set_errno (EINVAL);
+ return -1;
+}
+
+weak_alias (__random_r, random_r)
diff --git a/tests/randomd.c b/tests/randomd.c
index 87e8faef..df2edbf3 100644
--- a/tests/randomd.c
+++ b/tests/randomd.c
@@ -1,5 +1,5 @@
/* Some random 'double' numbers used by gnulib tests.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/randoml.c b/tests/randoml.c
index 8feab2a9..7a52f8a2 100644
--- a/tests/randoml.c
+++ b/tests/randoml.c
@@ -1,5 +1,5 @@
/* Some random 'long double' numbers used by gnulib tests.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/realloc.c b/tests/realloc.c
index c8783815..05731396 100644
--- a/tests/realloc.c
+++ b/tests/realloc.c
@@ -1,6 +1,6 @@
/* realloc() function that is glibc compatible.
- Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2022 Free Software
+ Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2024 Free Software
Foundation, Inc.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/reallocarray.c b/tests/reallocarray.c
index 70c1b478..09711a0e 100644
--- a/tests/reallocarray.c
+++ b/tests/reallocarray.c
@@ -1,6 +1,6 @@
/* reallocarray function that is glibc compatible.
- Copyright (C) 2017-2022 Free Software Foundation, Inc.
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/same-inode.c b/tests/same-inode.c
new file mode 100644
index 00000000..08c66a25
--- /dev/null
+++ b/tests/same-inode.c
@@ -0,0 +1,3 @@
+#include <config.h>
+#define SAME_INODE_INLINE _GL_EXTERN_INLINE
+#include "same-inode.h"
diff --git a/tests/same-inode.h b/tests/same-inode.h
index f65f3d03..62dd088e 100644
--- a/tests/same-inode.h
+++ b/tests/same-inode.h
@@ -1,6 +1,6 @@
/* Determine whether two stat buffers are known to refer to the same file.
- Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -16,32 +16,70 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */
#ifndef SAME_INODE_H
-# define SAME_INODE_H 1
-
-# include <sys/types.h>
-
-# if defined __VMS && __CRTL_VER < 80200000
-# define SAME_INODE(a, b) \
- ((a).st_ino[0] == (b).st_ino[0] \
- && (a).st_ino[1] == (b).st_ino[1] \
- && (a).st_ino[2] == (b).st_ino[2] \
- && (a).st_dev == (b).st_dev)
-# elif defined _WIN32 && ! defined __CYGWIN__
- /* Native Windows. */
-# if _GL_WINDOWS_STAT_INODES
- /* stat() and fstat() set st_dev and st_ino to 0 if information about
- the inode is not available. */
-# define SAME_INODE(a, b) \
- (!((a).st_ino == 0 && (a).st_dev == 0) \
- && (a).st_ino == (b).st_ino && (a).st_dev == (b).st_dev)
+#define SAME_INODE_H 1
+
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#include <sys/stat.h>
+
+_GL_INLINE_HEADER_BEGIN
+#ifndef SAME_INODE_INLINE
+# define SAME_INODE_INLINE _GL_INLINE
+#endif
+
+/* True if A and B point to structs with st_dev and st_ino members
+ that are known to represent the same file.
+
+ Use | and ^ to shorten generated code, and to lessen the
+ probability of screwups if st_ino is an array. */
+
+#if defined __VMS && __CRTL_VER < 80200000
+# define PSAME_INODE(a, b) (! (((a)->st_dev ^ (b)->st_dev) \
+ | ((a)->st_ino[0] ^ (b)->st_ino[0]) \
+ | ((a)->st_ino[1] ^ (b)->st_ino[1]) \
+ | ((a)->st_ino[2] ^ (b)->st_ino[2])))
+#elif defined _WIN32 && ! defined __CYGWIN__
+ /* Native Windows. */
+# if _GL_WINDOWS_STAT_INODES
+ /* stat() and fstat() set st_dev and st_ino to 0 if information about
+ the inode is not available. */
+# if _GL_WINDOWS_STAT_INODES == 2
+# define PSAME_INODE(a, b) \
+ (! (! ((a)->st_dev | (a)->st_ino._gl_ino[0] | (a)->st_ino._gl_ino[1]) \
+ | ((a)->st_dev ^ (b)->st_dev) \
+ | ((a)->st_ino._gl_ino[0] ^ (b)->st_ino._gl_ino[0]) \
+ | ((a)->st_ino._gl_ino[1] ^ (b)->st_ino._gl_ino[1])))
# else
- /* stat() and fstat() set st_ino to 0 always. */
-# define SAME_INODE(a, b) 0
+# define PSAME_INODE(a, b) (! (! ((a)->st_dev | (a)->st_ino) \
+ | ((a)->st_dev ^ (b)->st_dev) \
+ | ((a)->st_ino ^ (b)->st_ino)))
# endif
# else
-# define SAME_INODE(a, b) \
- ((a).st_ino == (b).st_ino \
- && (a).st_dev == (b).st_dev)
+ /* stat() and fstat() set st_ino to 0 always. */
+# define PSAME_INODE(a, b) 0
# endif
+#else
+ /* POSIX. */
+# define PSAME_INODE(a, b) (! (((a)->st_dev ^ (b)->st_dev) \
+ | ((a)->st_ino ^ (b)->st_ino)))
+#endif
+
+/* True if struct objects A and B are known to represent the same file. */
+
+#define SAME_INODE(a, b) PSAME_INODE (&(a), &(b))
+
+/* True if *A and *B represent the same file. Unlike PSAME_INODE,
+ args are evaluated once and must point to struct stat. */
+
+SAME_INODE_INLINE bool
+psame_inode (struct stat const *a, struct stat const *b)
+{
+ return PSAME_INODE (a, b);
+}
+
+_GL_INLINE_HEADER_END
#endif
diff --git a/tests/sched.in.h b/tests/sched.in.h
index d19c5022..838fb12b 100644
--- a/tests/sched.in.h
+++ b/tests/sched.in.h
@@ -1,5 +1,5 @@
/* A GNU-like <sched.h>.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -21,6 +21,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_SCHED_H@
# if @HAVE_SYS_CDEFS_H@
@@ -32,6 +39,11 @@
#ifndef _@GUARD_PREFIX@_SCHED_H
#define _@GUARD_PREFIX@_SCHED_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get pid_t.
This is needed on glibc 2.11 (see
glibc bug <https://sourceware.org/bugzilla/show_bug.cgi?id=13198>)
diff --git a/tests/sched_yield.c b/tests/sched_yield.c
index 255de34e..72928b72 100644
--- a/tests/sched_yield.c
+++ b/tests/sched_yield.c
@@ -1,5 +1,5 @@
/* Schedule other threads to run.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/select.c b/tests/select.c
index c2424982..5f7a5d00 100644
--- a/tests/select.c
+++ b/tests/select.c
@@ -1,7 +1,7 @@
/* Emulation for select(2)
Contributed by Paolo Bonzini.
- Copyright 2008-2022 Free Software Foundation, Inc.
+ Copyright 2008-2024 Free Software Foundation, Inc.
This file is part of gnulib.
@@ -279,8 +279,11 @@ rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *xfds,
int i, fd, rc;
clock_t tend;
- if (nfds > FD_SETSIZE)
- nfds = FD_SETSIZE;
+ if (nfds < 0 || nfds > FD_SETSIZE)
+ {
+ errno = EINVAL;
+ return -1;
+ }
if (!timeout)
wait_timeout = INFINITE;
diff --git a/tests/setenv.c b/tests/setenv.c
index ebfd4e55..9e2e9e2f 100644
--- a/tests/setenv.c
+++ b/tests/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2022 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This file is free software: you can redistribute it and/or modify
@@ -82,6 +82,7 @@ typedef int (*compar_fn_t) (const void *, const void *);
static void *known_values;
# define KNOWN_VALUE(Str) \
+ __extension__ \
({ \
void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \
value != NULL ? *(char **) value : NULL; \
@@ -375,6 +376,11 @@ rpl_setenv (const char *name, const char *value, int replace)
int saved_errno;
size_t len = strlen (value);
tmp = malloca (len + 2);
+ if (tmp == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
/* Since leading '=' is eaten, double it up. */
*tmp = '=';
memcpy (tmp + 1, value, len + 1);
diff --git a/tests/setlocale.c b/tests/setlocale.c
index b9a29ee6..eb263617 100644
--- a/tests/setlocale.c
+++ b/tests/setlocale.c
@@ -1,5 +1,5 @@
/* Set the current locale. -*- coding: utf-8 -*-
- Copyright (C) 2009, 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -1574,7 +1574,7 @@ setlocale_improved (int category, const char *locale)
For LC_COLLATE, the application should use the locale
properties kCFLocaleCollationIdentifier,
kCFLocaleCollatorIdentifier.
- For LC_MONETARY, the applicationshould use the locale
+ For LC_MONETARY, the application should use the locale
properties kCFLocaleCurrencySymbol,
kCFLocaleCurrencyCode.
But since most applications don't have macOS specific
diff --git a/tests/setsockopt.c b/tests/setsockopt.c
index 2811c19a..42cc3dcc 100644
--- a/tests/setsockopt.c
+++ b/tests/setsockopt.c
@@ -1,6 +1,6 @@
/* setsockopt.c --- wrappers for Windows setsockopt function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/signal.in.h b/tests/signal.in.h
index c0d4848d..107226e3 100644
--- a/tests/signal.in.h
+++ b/tests/signal.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <signal.h>.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -55,6 +55,11 @@
#ifndef _@GUARD_PREFIX@_SIGNAL_H
#define _@GUARD_PREFIX@_SIGNAL_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* For testing the OpenBSD version. */
#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
&& defined __OpenBSD__
diff --git a/tests/signature.h b/tests/signature.h
index 7a8ef91a..d2a24622 100644
--- a/tests/signature.h
+++ b/tests/signature.h
@@ -1,5 +1,5 @@
/* Macro for checking that a function declaration is compliant.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/signed-nan.h b/tests/signed-nan.h
new file mode 100644
index 00000000..18a550a7
--- /dev/null
+++ b/tests/signed-nan.h
@@ -0,0 +1,88 @@
+/* Macros for quiet not-a-number.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _SIGNED_NAN_H
+#define _SIGNED_NAN_H
+
+#include <math.h>
+
+#include "nan.h"
+
+
+/* Returns a quiet 'float' NaN with sign bit == 0. */
+_GL_UNUSED static float
+positive_NaNf ()
+{
+ /* 'volatile' works around a GCC bug:
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111655> */
+ float volatile nan = NaNf ();
+ return (signbit (nan) ? - nan : nan);
+}
+
+/* Returns a quiet 'float' NaN with sign bit == 1. */
+_GL_UNUSED static float
+negative_NaNf ()
+{
+ /* 'volatile' works around a GCC bug:
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111655> */
+ float volatile nan = NaNf ();
+ return (signbit (nan) ? nan : - nan);
+}
+
+
+/* Returns a quiet 'double' NaN with sign bit == 0. */
+_GL_UNUSED static double
+positive_NaNd ()
+{
+ /* 'volatile' works around a GCC bug:
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111655> */
+ double volatile nan = NaNd ();
+ return (signbit (nan) ? - nan : nan);
+}
+
+/* Returns a quiet 'double' NaN with sign bit == 1. */
+_GL_UNUSED static double
+negative_NaNd ()
+{
+ /* 'volatile' works around a GCC bug:
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111655> */
+ double volatile nan = NaNd ();
+ return (signbit (nan) ? nan : - nan);
+}
+
+
+/* Returns a quiet 'long double' NaN with sign bit == 0. */
+_GL_UNUSED static long double
+positive_NaNl ()
+{
+ /* 'volatile' works around a GCC bug:
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111655> */
+ long double volatile nan = NaNl ();
+ return (signbit (nan) ? - nan : nan);
+}
+
+/* Returns a quiet 'long double' NaN with sign bit == 1. */
+_GL_UNUSED static long double
+negative_NaNl ()
+{
+ /* 'volatile' works around a GCC bug:
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111655> */
+ long double volatile nan = NaNl ();
+ return (signbit (nan) ? nan : - nan);
+}
+
+
+#endif /* _SIGNED_NAN_H */
diff --git a/tests/signed-snan.h b/tests/signed-snan.h
new file mode 100644
index 00000000..7e6483a7
--- /dev/null
+++ b/tests/signed-snan.h
@@ -0,0 +1,142 @@
+/* Macros for signalling not-a-number.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _SIGNED_SNAN_H
+#define _SIGNED_SNAN_H
+
+#include "signed-nan.h"
+#include "snan.h"
+
+
+#if HAVE_SNANF
+
+/* Returns a signalling 'float' NaN with sign bit == 0 in memory. */
+_GL_UNUSED static memory_float
+memory_positive_SNaNf ()
+{
+ return construct_memory_SNaNf (positive_NaNf ());
+}
+
+/* Returns a signalling 'float' NaN with sign bit == 1 in memory. */
+_GL_UNUSED static memory_float
+memory_negative_SNaNf ()
+{
+ return construct_memory_SNaNf (negative_NaNf ());
+}
+
+/* Note: On 32-bit x86 processors, as well as on x86_64 processors with
+ CC="gcc -mfpmath=387", the following functions may return a quiet NaN
+ instead. Use the functions with 'memory_' prefix if you need to avoid this.
+ See <https://lists.gnu.org/archive/html/bug-gnulib/2023-10/msg00060.html>
+ for details. */
+
+/* Returns a signalling 'float' NaN with sign bit == 0. */
+_GL_UNUSED static float
+positive_SNaNf ()
+{
+ return memory_positive_SNaNf ().value;
+}
+
+/* Returns a signalling 'float' NaN with sign bit == 1. */
+_GL_UNUSED static float
+negative_SNaNf ()
+{
+ return memory_negative_SNaNf ().value;
+}
+
+#endif
+
+
+#if HAVE_SNAND
+
+/* Returns a signalling 'double' NaN with sign bit == 0 in memory. */
+_GL_UNUSED static memory_double
+memory_positive_SNaNd ()
+{
+ return construct_memory_SNaNd (positive_NaNd ());
+}
+
+/* Returns a signalling 'double' NaN with sign bit == 1 in memory. */
+_GL_UNUSED static memory_double
+memory_negative_SNaNd ()
+{
+ return construct_memory_SNaNd (negative_NaNd ());
+}
+
+/* Note: On 32-bit x86 processors, as well as on x86_64 processors with
+ CC="gcc -mfpmath=387", the following functions may return a quiet NaN
+ instead. Use the functions with 'memory_' prefix if you need to avoid this.
+ See <https://lists.gnu.org/archive/html/bug-gnulib/2023-10/msg00060.html>
+ for details. */
+
+/* Returns a signalling 'double' NaN with sign bit == 0. */
+_GL_UNUSED static double
+positive_SNaNd ()
+{
+ return memory_positive_SNaNd ().value;
+}
+
+/* Returns a signalling 'double' NaN with sign bit == 1. */
+_GL_UNUSED static double
+negative_SNaNd ()
+{
+ return memory_negative_SNaNd ().value;
+}
+
+#endif
+
+
+#if HAVE_SNANL
+
+/* Returns a signalling 'long double' NaN with sign bit == 0 in memory. */
+_GL_UNUSED static memory_long_double
+memory_positive_SNaNl ()
+{
+ return construct_memory_SNaNl (positive_NaNl ());
+}
+
+/* Returns a signalling 'long double' NaN with sign bit == 1 in memory. */
+_GL_UNUSED static memory_long_double
+memory_negative_SNaNl ()
+{
+ return construct_memory_SNaNl (negative_NaNl ());
+}
+
+/* Note: On 32-bit x86 processors, as well as on x86_64 processors with
+ CC="gcc -mfpmath=387", if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE is 1, the
+ following functions may return a quiet NaN instead. Use the functions
+ with 'memory_' prefix if you need to avoid this. See
+ <https://lists.gnu.org/archive/html/bug-gnulib/2023-10/msg00060.html>
+ for details. */
+
+/* Returns a signalling 'long double' NaN with sign bit == 0. */
+_GL_UNUSED static long double
+positive_SNaNl ()
+{
+ return memory_positive_SNaNl ().value;
+}
+
+/* Returns a signalling 'long double' NaN with sign bit == 1. */
+_GL_UNUSED static long double
+negative_SNaNl ()
+{
+ return memory_negative_SNaNl ().value;
+}
+
+#endif
+
+
+#endif /* _SIGNED_SNAN_H */
diff --git a/tests/sigprocmask.c b/tests/sigprocmask.c
index a805da66..3df69b51 100644
--- a/tests/sigprocmask.c
+++ b/tests/sigprocmask.c
@@ -1,5 +1,5 @@
/* POSIX compatible signal blocking.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/sleep.c b/tests/sleep.c
index 80431c10..1cab9aa6 100644
--- a/tests/sleep.c
+++ b/tests/sleep.c
@@ -1,5 +1,5 @@
/* Pausing execution of the current thread.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/snan.h b/tests/snan.h
new file mode 100644
index 00000000..95235040
--- /dev/null
+++ b/tests/snan.h
@@ -0,0 +1,276 @@
+/* Macros for signalling not-a-number.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _SNAN_H
+#define _SNAN_H
+
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+
+#include "nan.h"
+
+
+/* The bit that distinguishes a quiet NaN from a signalling NaN is, according to
+ <https://en.wikipedia.org/wiki/NaN#Encoding>, the most significant bit of the
+ mantissa field.
+ According to <https://en.wikipedia.org/wiki/IEEE_754#Formats>, this is the
+ next bit, right below the bit 0 of the exponent.
+ This bit is
+ * == 0 to indicate a quiet NaN or Infinity,
+ == 1 to indicate a signalling NaN,
+ on these CPUs: hppa, mips (*), sh4.
+ * == 1 to indicate a quiet NaN,
+ == 0 to indicate a signalling NaN or Infinity,
+ on all other CPUs.
+ On these platforms, additionally a signalling NaN must have some other
+ mantissa bit == 1, because when all exponent bits are == 1 and all
+ mantissa bits are == 0, the number denotes ±Infinity.
+ This NaN encoding is specified by IEEE 754-2008 § 6.2.1.
+
+ (*) On mips CPUs, it depends on the CPU model. The classical behaviour is
+ as indicated above. On some newer models, it's like on the other CPUs.
+ On some (but not all!) models this meta-info can be determined from two
+ special CPU registers: If the "Floating Point Implementation Register" (fir)
+ bit 23, also known as Has2008 bit, is set, the "Floating Point Control and
+ Status Register" (fcsr) bit 18, also known as the NAN2008 bit, has the value
+ - 0 for the classical behaviour,
+ - 1 for like on the other CPUs.
+ Both of these bits are read-only.
+ This module has determined the behaviour at configure time and defines the
+ C macros MIPS_NAN2008_FLOAT, MIPS_NAN2008_DOUBLE, MIPS_NAN2008_LONG_DOUBLE
+ accordingly. */
+
+
+/* 'float' = IEEE 754 single-precision
+ <https://en.wikipedia.org/wiki/Single-precision_floating-point_format> */
+
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+
+# define HAVE_SNANF 1
+
+_GL_UNUSED static memory_float
+construct_memory_SNaNf (float quiet_value)
+{
+ memory_float m;
+ m.value = quiet_value;
+ /* Turn the quiet NaN into a signalling NaN. */
+ #if FLT_EXPBIT0_BIT > 0
+ m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
+ #else
+ m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ #endif
+ /* Set some arbitrary mantissa bit. */
+ if (FLT_EXPBIT0_WORD < NWORDS / 2) /* NWORDS > 1 and big endian */
+ m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
+ else /* NWORDS == 1 or little endian */
+ m.word[0] |= (unsigned int) 1;
+ return m;
+}
+
+/* Returns a signalling 'float' NaN in memory. */
+_GL_UNUSED static memory_float
+memory_SNaNf ()
+{
+ return construct_memory_SNaNf (NaNf ());
+}
+
+_GL_UNUSED static float
+construct_SNaNf (float quiet_value)
+{
+ return construct_memory_SNaNf (quiet_value).value;
+}
+
+/* Returns a signalling 'float' NaN.
+ Note: On 32-bit x86 processors, as well as on x86_64 processors with
+ CC="gcc -mfpmath=387", this function may return a quiet NaN instead.
+ Use memory_SNaNf() if you need to avoid this. See
+ <https://lists.gnu.org/archive/html/bug-gnulib/2023-10/msg00060.html>
+ for details. */
+_GL_UNUSED static float
+SNaNf ()
+{
+ return memory_SNaNf ().value;
+}
+
+#endif
+
+#undef NWORDS
+
+
+/* 'double' = IEEE 754 double-precision
+ <https://en.wikipedia.org/wiki/Double-precision_floating-point_format> */
+
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+
+#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+
+# define HAVE_SNAND 1
+
+_GL_UNUSED static memory_double
+construct_memory_SNaNd (double quiet_value)
+{
+ memory_double m;
+ m.value = quiet_value;
+ /* Turn the quiet NaN into a signalling NaN. */
+ #if DBL_EXPBIT0_BIT > 0
+ m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
+ #else
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ #endif
+ /* Set some arbitrary mantissa bit. */
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
+ return m;
+}
+
+/* Returns a signalling 'double' NaN in memory. */
+_GL_UNUSED static memory_double
+memory_SNaNd ()
+{
+ return construct_memory_SNaNd (NaNd ());
+}
+
+_GL_UNUSED static double
+construct_SNaNd (double quiet_value)
+{
+ return construct_memory_SNaNd (quiet_value).value;
+}
+
+/* Returns a signalling 'double' NaN.
+ Note: On 32-bit x86 processors, as well as on x86_64 processors with
+ CC="gcc -mfpmath=387", this function may return a quiet NaN instead.
+ Use memory_SNaNf() if you need to avoid this. See
+ <https://lists.gnu.org/archive/html/bug-gnulib/2023-10/msg00060.html>
+ for details. */
+_GL_UNUSED static double
+SNaNd ()
+{
+ return memory_SNaNd ().value;
+}
+
+#endif
+
+#undef NWORDS
+
+
+/* 'long double' =
+ * if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE:
+ IEEE 754 double-precision
+ <https://en.wikipedia.org/wiki/Double-precision_floating-point_format>
+ * Otherwise:
+ - On i386, x86_64, ia64:
+ 80-bits extended-precision
+ <https://en.wikipedia.org/wiki/Extended_precision#x86_extended_precision_format>
+ - On alpha, arm64, loongarch64, mips64, riscv64, s390x, sparc64:
+ IEEE 754 quadruple-precision
+ <https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format#IEEE_754_quadruple-precision_binary_floating-point_format:_binary128>
+ - On powerpc, powerpc64, powerpc64le:
+ 2x64-bits double-double
+ <https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format#Double-double_arithmetic>
+ - On m68k:
+ 80-bits extended-precision, padded to 96 bits, with non-IEEE exponent
+ */
+
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+
+#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+
+# define HAVE_SNANL 1
+
+_GL_UNUSED static memory_long_double
+construct_memory_SNaNl (long double quiet_value)
+{
+ memory_long_double m;
+ m.value = quiet_value;
+ #if defined __powerpc__ && LDBL_MANT_DIG == 106
+ /* This is PowerPC "double double", a pair of two doubles. Inf and NaN are
+ represented as the corresponding 64-bit IEEE values in the first double;
+ the second is ignored. Manipulate only the first double. */
+ #define HNWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ #else
+ #define HNWORDS NWORDS
+ #endif
+ /* Turn the quiet NaN into a signalling NaN. */
+ #if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+ /* In this representation, the leading 1 of the mantissa is explicitly
+ stored. */
+ #if LDBL_EXPBIT0_BIT > 1
+ m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 2);
+ #else
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < HNWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 2);
+ #endif
+ #else
+ /* In this representation, the leading 1 of the mantissa is implicit. */
+ #if LDBL_EXPBIT0_BIT > 0
+ m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
+ #else
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < HNWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ #endif
+ #endif
+ /* Set some arbitrary mantissa bit. */
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < HNWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
+ #undef HNWORDS
+ return m;
+}
+
+/* Returns a signalling 'long double' NaN in memory. */
+_GL_UNUSED static memory_long_double
+memory_SNaNl ()
+{
+ return construct_memory_SNaNl (NaNl ());
+}
+
+_GL_UNUSED static long double
+construct_SNaNl (long double quiet_value)
+{
+ return construct_memory_SNaNl (quiet_value).value;
+}
+
+/* Returns a signalling 'long double' NaN.
+ Note: On 32-bit x86 processors, as well as on x86_64 processors with
+ CC="gcc -mfpmath=387", if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE is 1, this
+ function may return a quiet NaN instead. Use memory_SNaNf() if you
+ need to avoid this. See
+ <https://lists.gnu.org/archive/html/bug-gnulib/2023-10/msg00060.html>
+ for details. */
+_GL_UNUSED static long double
+SNaNl ()
+{
+ return memory_SNaNl ().value;
+}
+
+#endif
+
+#undef NWORDS
+
+
+#endif /* _SNAN_H */
diff --git a/tests/socket.c b/tests/socket.c
index 49e013c7..6061a3fb 100644
--- a/tests/socket.c
+++ b/tests/socket.c
@@ -1,6 +1,6 @@
/* socket.c --- wrappers for Windows socket function
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/sockets.c b/tests/sockets.c
index 31b43029..92beb7d3 100644
--- a/tests/sockets.c
+++ b/tests/sockets.c
@@ -1,6 +1,6 @@
/* sockets.c --- wrappers for Windows socket functions
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/sockets.h b/tests/sockets.h
index 75e49fce..99d6efca 100644
--- a/tests/sockets.h
+++ b/tests/sockets.h
@@ -1,6 +1,6 @@
/* sockets.h - wrappers for Windows socket functions
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,6 +20,11 @@
#ifndef SOCKETS_H
#define SOCKETS_H 1
+/* This file uses _GL_ATTRIBUTE_CONST. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#define SOCKETS_1_0 0x0001
#define SOCKETS_1_1 0x0101
#define SOCKETS_2_0 0x0002
diff --git a/tests/stat-time.c b/tests/stat-time.c
index 3d48a2b5..1ab01f53 100644
--- a/tests/stat-time.c
+++ b/tests/stat-time.c
@@ -1,6 +1,6 @@
/* stat-related time functions.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/stat-time.h b/tests/stat-time.h
index b661196e..3cd8478f 100644
--- a/tests/stat-time.h
+++ b/tests/stat-time.h
@@ -1,6 +1,6 @@
/* stat-related time functions.
- Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,15 +20,18 @@
#ifndef STAT_TIME_H
#define STAT_TIME_H 1
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_UNUSED,
+ _GL_ATTRIBUTE_PURE, HAVE_STRUCT_STAT_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <errno.h>
#include <stdckdint.h>
#include <stddef.h>
#include <sys/stat.h>
#include <time.h>
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_STAT_TIME_INLINE
# define _GL_STAT_TIME_INLINE _GL_INLINE
@@ -49,11 +52,13 @@ extern "C" {
#if _GL_WINDOWS_STAT_TIMESPEC || defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
# if _GL_WINDOWS_STAT_TIMESPEC || defined TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim)
+# define STAT_TIMESPEC_OFFSETOF(st_xtim) offsetof (struct stat, st_xtim)
# else
# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.tv_nsec)
# endif
#elif defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim##espec)
+# define STAT_TIMESPEC_OFFSETOF(st_xtim) offsetof (struct stat, st_xtim##espec)
#elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC
# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim##ensec)
#elif defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
@@ -119,10 +124,8 @@ get_stat_atime (struct stat const *st)
#ifdef STAT_TIMESPEC
return STAT_TIMESPEC (st, st_atim);
#else
- struct timespec t;
- t.tv_sec = st->st_atime;
- t.tv_nsec = get_stat_atime_ns (st);
- return t;
+ return (struct timespec) { .tv_sec = st->st_atime,
+ .tv_nsec = get_stat_atime_ns (st) };
#endif
}
@@ -133,10 +136,8 @@ get_stat_ctime (struct stat const *st)
#ifdef STAT_TIMESPEC
return STAT_TIMESPEC (st, st_ctim);
#else
- struct timespec t;
- t.tv_sec = st->st_ctime;
- t.tv_nsec = get_stat_ctime_ns (st);
- return t;
+ return (struct timespec) { .tv_sec = st->st_ctime,
+ .tv_nsec = get_stat_ctime_ns (st) };
#endif
}
@@ -147,10 +148,8 @@ get_stat_mtime (struct stat const *st)
#ifdef STAT_TIMESPEC
return STAT_TIMESPEC (st, st_mtim);
#else
- struct timespec t;
- t.tv_sec = st->st_mtime;
- t.tv_nsec = get_stat_mtime_ns (st);
- return t;
+ return (struct timespec) { .tv_sec = st->st_mtime,
+ .tv_nsec = get_stat_mtime_ns (st) };
#endif
}
@@ -165,8 +164,8 @@ get_stat_birthtime (_GL_UNUSED struct stat const *st)
|| defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC)
t = STAT_TIMESPEC (st, st_birthtim);
#elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
- t.tv_sec = st->st_birthtime;
- t.tv_nsec = st->st_birthtimensec;
+ t = (struct timespec) { .tv_sec = st->st_birthtime,
+ .tv_nsec = st->st_birthtimensec };
#elif defined _WIN32 && ! defined __CYGWIN__
/* Native Windows platforms (but not Cygwin) put the "file creation
time" in st_ctime (!). See
@@ -174,13 +173,11 @@ get_stat_birthtime (_GL_UNUSED struct stat const *st)
# if _GL_WINDOWS_STAT_TIMESPEC
t = st->st_ctim;
# else
- t.tv_sec = st->st_ctime;
- t.tv_nsec = 0;
+ t = (struct timespec) { .tv_sec = st->st_ctime };
# endif
#else
/* Birth time is not supported. */
- t.tv_sec = -1;
- t.tv_nsec = -1;
+ t = (struct timespec) { .tv_sec = -1, .tv_nsec = -1 };
#endif
#if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
@@ -192,30 +189,28 @@ get_stat_birthtime (_GL_UNUSED struct stat const *st)
sometimes returns junk in the birth time fields; work around this
bug if it is detected. */
if (! (t.tv_sec && 0 <= t.tv_nsec && t.tv_nsec < 1000000000))
- {
- t.tv_sec = -1;
- t.tv_nsec = -1;
- }
+ t = (struct timespec) { .tv_sec = -1, .tv_nsec = -1 };
#endif
return t;
}
/* If a stat-like function returned RESULT, normalize the timestamps
- in *ST, in case this platform suffers from the Solaris 11 bug where
+ in *ST, if this platform suffers from a macOS and Solaris bug where
tv_nsec might be negative. Return the adjusted RESULT, setting
errno to EOVERFLOW if normalization overflowed. This function
is intended to be private to this .h file. */
_GL_STAT_TIME_INLINE int
stat_time_normalize (int result, _GL_UNUSED struct stat *st)
{
-#if defined __sun && defined STAT_TIMESPEC
+#if (((defined __APPLE__ && defined __MACH__) || defined __sun) \
+ && defined STAT_TIMESPEC_OFFSETOF)
if (result == 0)
{
long int timespec_hz = 1000000000;
- short int const ts_off[] = { offsetof (struct stat, st_atim),
- offsetof (struct stat, st_mtim),
- offsetof (struct stat, st_ctim) };
+ short int const ts_off[] = { STAT_TIMESPEC_OFFSETOF (st_atim),
+ STAT_TIMESPEC_OFFSETOF (st_mtim),
+ STAT_TIMESPEC_OFFSETOF (st_ctim) };
int i;
for (i = 0; i < sizeof ts_off / sizeof *ts_off; i++)
{
@@ -229,8 +224,7 @@ stat_time_normalize (int result, _GL_UNUSED struct stat *st)
}
ts->tv_nsec = r;
/* Overflow is possible, as Solaris 11 stat can yield
- tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000.
- INT_ADD_WRAPV is OK, since time_t is signed on Solaris. */
+ tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000. */
if (ckd_add (&ts->tv_sec, q, ts->tv_sec))
{
errno = EOVERFLOW;
diff --git a/tests/stat-w32.c b/tests/stat-w32.c
index e61b75c6..ddd6f598 100644
--- a/tests/stat-w32.c
+++ b/tests/stat-w32.c
@@ -1,5 +1,5 @@
/* Core of implementation of fstat and stat for native Windows.
- Copyright (C) 2017-2022 Free Software Foundation, Inc.
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/stat-w32.h b/tests/stat-w32.h
index 0f79d614..392faed1 100644
--- a/tests/stat-w32.h
+++ b/tests/stat-w32.h
@@ -1,5 +1,5 @@
/* Core of implementation of fstat and stat for native Windows.
- Copyright (C) 2017-2022 Free Software Foundation, Inc.
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/stat.c b/tests/stat.c
index adb61233..ecf9f9bb 100644
--- a/tests/stat.c
+++ b/tests/stat.c
@@ -1,5 +1,5 @@
/* Work around platform bugs in stat.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/stdalign.in.h b/tests/stdalign.in.h
deleted file mode 100644
index 58fd245c..00000000
--- a/tests/stdalign.in.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* A substitute for ISO C11 <stdalign.h>.
-
- Copyright 2011-2022 Free Software Foundation, Inc.
-
- This file 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.
-
- This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert and Bruno Haible. */
-
-#ifndef _GL_STDALIGN_H
-#define _GL_STDALIGN_H
-
-/* ISO C11 <stdalign.h> for platforms that lack it.
-
- References:
- ISO C11 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>)
- sections 6.5.3.4, 6.7.5, 7.15.
- C++11 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
- section 18.10. */
-
-/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
- requirement of a structure member (i.e., slot or field) that is of
- type TYPE, as an integer constant expression.
-
- This differs from GCC's and clang's __alignof__ operator, which can
- yield a better-performing alignment for an object of that type. For
- example, on x86 with GCC and on Linux/x86 with clang,
- __alignof__ (double) and __alignof__ (long long) are 8, whereas
- alignof (double) and alignof (long long) are 4 unless the option
- '-malign-double' is used.
-
- The result cannot be used as a value for an 'enum' constant, if you
- want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
-
-/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
- standard headers, defines conflicting implementations of _Alignas
- and _Alignof that are no better than ours; override them. */
-#undef _Alignas
-#undef _Alignof
-
-/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
- clang versions < 8.0.0 have the same bug. */
-#if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
- || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
- && !defined __clang__) \
- || (defined __clang__ && __clang_major__ < 8))
-# ifdef __cplusplus
-# if (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignof(type) alignof (type)
-# else
- template <class __t> struct __alignof_helper { char __a; __t __b; };
-# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
-# define _GL_STDALIGN_NEEDS_STDDEF 1
-# endif
-# else
-# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
-# define _GL_STDALIGN_NEEDS_STDDEF 1
-# endif
-#endif
-#if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
-# define alignof _Alignof
-#endif
-#define __alignof_is_defined 1
-
-/* alignas (A), also known as _Alignas (A), aligns a variable or type
- to the alignment A, where A is an integer constant expression. For
- example:
-
- int alignas (8) foo;
- struct s { int a; int alignas (8) bar; };
-
- aligns the address of FOO and the offset of BAR to be multiples of 8.
-
- A should be a power of two that is at least the type's alignment
- and at most the implementation's alignment limit. This limit is
- 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
- to MSVC through at least version 10.0, A should be an integer
- constant, as MSVC does not support expressions such as 1 << 3.
- To be portable to Sun C 5.11, do not align auto variables to
- anything stricter than their default alignment.
-
- The following C11 requirements are not supported here:
-
- - If A is zero, alignas has no effect.
- - alignas can be used multiple times; the strictest one wins.
- - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
-
- */
-
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
-# if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
-# define _Alignas(a) alignas (a)
-# elif (!defined __attribute__ \
- && ((defined __APPLE__ && defined __MACH__ \
- ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
- : __GNUC__ && !defined __ibmxl__) \
- || (4 <= __clang_major__) \
- || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
- || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-# elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
-# endif
-#endif
-#if ((defined _Alignas \
- && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \
- || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# define alignas _Alignas
-#endif
-#if (defined alignas \
- || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)))
-# define __alignas_is_defined 1
-#endif
-
-/* Include <stddef.h> if needed for offsetof. */
-#if _GL_STDALIGN_NEEDS_STDDEF
-# include <stddef.h>
-#endif
-
-#endif /* _GL_STDALIGN_H */
diff --git a/tests/stdio-read.c b/tests/stdio-read.c
index 85efa0d4..253b8aa4 100644
--- a/tests/stdio-read.c
+++ b/tests/stdio-read.c
@@ -1,5 +1,5 @@
/* POSIX compatible FILE stream read function.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/stdio-write.c b/tests/stdio-write.c
index 82facf54..ca6aa00c 100644
--- a/tests/stdio-write.c
+++ b/tests/stdio-write.c
@@ -1,5 +1,5 @@
/* POSIX compatible FILE stream write function.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/stdio.in.h b/tests/stdio.in.h
index 7b36dac2..4947307e 100644
--- a/tests/stdio.in.h
+++ b/tests/stdio.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdio.h>.
- Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -36,6 +36,18 @@
#ifndef _@GUARD_PREFIX@_STDIO_H
+/* Suppress macOS deprecation warnings for sprintf and vsprintf. */
+#if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE
+# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+# include <AvailabilityMacros.h>
+# endif
+# if (defined MAC_OS_X_VERSION_MIN_REQUIRED \
+ && 130000 <= MAC_OS_X_VERSION_MIN_REQUIRED)
+# define _POSIX_C_SOURCE 200809L
+# define _GL_DEFINED__POSIX_C_SOURCE
+# endif
+#endif
+
#define _GL_ALREADY_INCLUDING_STDIO_H
/* The include_next requires a split double-inclusion guard. */
@@ -43,9 +55,21 @@
#undef _GL_ALREADY_INCLUDING_STDIO_H
+#ifdef _GL_DEFINED__POSIX_C_SOURCE
+# undef _GL_DEFINED__POSIX_C_SOURCE
+# undef _POSIX_C_SOURCE
+#endif
+
#ifndef _@GUARD_PREFIX@_STDIO_H
#define _@GUARD_PREFIX@_STDIO_H
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_FORMAT,
+ _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Get va_list. Needed on many systems, including glibc 2.8. */
#include <stdarg.h>
@@ -116,6 +140,38 @@
# endif
#endif
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+ allocated memory. */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+# define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
+#endif
+
/* An __attribute__ __format__ specifier for a function that takes a format
string and arguments, where the format string directives are the ones
standardized by ISO C99 and POSIX.
@@ -193,6 +249,36 @@
# undef putc_unlocked
#endif
+
+/* Maximum number of characters produced by printing a NaN value. */
+#ifndef _PRINTF_NAN_LEN_MAX
+# if defined __FreeBSD__ || defined __DragonFly__ \
+ || defined __NetBSD__ \
+ || (defined __APPLE__ && defined __MACH__)
+/* On BSD systems, a NaN value prints as just "nan", without a sign. */
+# define _PRINTF_NAN_LEN_MAX 3
+# elif (__GLIBC__ >= 2) || MUSL_LIBC || defined __OpenBSD__ || defined __sun || defined __CYGWIN__
+/* glibc, musl libc, OpenBSD, Solaris libc, and Cygwin produce "[-]nan". */
+# define _PRINTF_NAN_LEN_MAX 4
+# elif defined _AIX
+/* AIX produces "[-]NaNQ". */
+# define _PRINTF_NAN_LEN_MAX 5
+# elif defined _WIN32 && !defined __CYGWIN__
+/* On native Windows, the output can be:
+ - with MSVC ucrt: "[-]nan" or "[-]nan(ind)" or "[-]nan(snan)",
+ - with mingw: "[-]1.#IND" or "[-]1.#QNAN". */
+# define _PRINTF_NAN_LEN_MAX 10
+# elif defined __sgi
+/* On IRIX, the output typically is "[-]nan0xNNNNNNNN" with 8 hexadecimal
+ digits. */
+# define _PRINTF_NAN_LEN_MAX 14
+# else
+/* We don't know, but 32 should be a safe maximum. */
+# define _PRINTF_NAN_LEN_MAX 32
+# endif
+#endif
+
+
#if @GNULIB_DPRINTF@
# if @REPLACE_DPRINTF@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -210,7 +296,9 @@ _GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *restrict format, ...)
# endif
_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *restrict format, ...));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (dprintf);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef dprintf
# if HAVE_RAW_DECL_DPRINTF
@@ -273,7 +361,8 @@ _GL_CXXALIASWARN (fcloseall);
# endif
_GL_FUNCDECL_RPL (fdopen, FILE *,
(int fd, const char *mode)
- _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
# elif defined _WIN32 && !defined __CYGWIN__
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -284,9 +373,18 @@ _GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode));
# else
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
_GL_FUNCDECL_SYS (fdopen, FILE *,
(int fd, const char *mode)
- _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
+# else
+_GL_FUNCDECL_SYS (fdopen, FILE *,
+ (int fd, const char *mode)
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
+# endif
# endif
_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
# endif
@@ -294,9 +392,18 @@ _GL_CXXALIASWARN (fdopen);
#else
# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fdopen
/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (fdopen, FILE *,
+ (int fd, const char *mode)
+ _GL_ATTRIBUTE_NOTHROW
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
+# else
_GL_FUNCDECL_SYS (fdopen, FILE *,
(int fd, const char *mode)
- _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef fdopen
@@ -407,7 +514,8 @@ _GL_CXXALIASWARN (fileno);
# endif
_GL_FUNCDECL_RPL (fopen, FILE *,
(const char *restrict filename, const char *restrict mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (fopen, FILE *,
(const char *restrict filename, const char *restrict mode));
# else
@@ -882,7 +990,9 @@ _GL_CXXALIAS_SYS (getdelim, ssize_t,
int delimiter,
FILE *restrict stream));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getdelim);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getdelim
# if HAVE_RAW_DECL_GETDELIM
@@ -921,7 +1031,7 @@ _GL_CXXALIAS_SYS (getline, ssize_t,
(char **restrict lineptr, size_t *restrict linesize,
FILE *restrict stream));
# endif
-# if @HAVE_DECL_GETLINE@
+# if __GLIBC__ >= 2 && @HAVE_DECL_GETLINE@
_GL_CXXALIASWARN (getline);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -951,9 +1061,17 @@ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
# endif
_GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream));
# else
+# if @HAVE_DECL_GETW@
+# if defined __APPLE__ && defined __MACH__
+/* The presence of the declaration depends on _POSIX_C_SOURCE. */
+_GL_FUNCDECL_SYS (getw, int, (FILE *restrict stream));
+# endif
_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream));
+# endif
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getw);
+# endif
#endif
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
@@ -1052,13 +1170,15 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
# endif
_GL_FUNCDECL_RPL (popen, FILE *,
(const char *cmd, const char *mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
# else
# if !@HAVE_POPEN@ || __GNUC__ >= 11
_GL_FUNCDECL_SYS (popen, FILE *,
(const char *cmd, const char *mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
_GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
# endif
@@ -1068,7 +1188,8 @@ _GL_CXXALIASWARN (popen);
/* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose. */
_GL_FUNCDECL_SYS (popen, FILE *,
(const char *cmd, const char *mode)
- _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1));
+ _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
# if defined GNULIB_POSIXCHECK
# undef popen
@@ -1190,9 +1311,17 @@ _GL_CXXALIASWARN (puts);
# endif
_GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream));
# else
+# if @HAVE_DECL_PUTW@
+# if defined __APPLE__ && defined __MACH__
+/* The presence of the declaration depends on _POSIX_C_SOURCE. */
+_GL_FUNCDECL_SYS (putw, int, (int w, FILE *restrict stream));
+# endif
_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream));
+# endif
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (putw);
+# endif
#endif
#if @GNULIB_REMOVE@
@@ -1398,13 +1527,15 @@ _GL_CXXALIASWARN (tempnam);
# define tmpfile rpl_tmpfile
# endif
_GL_FUNCDECL_RPL (tmpfile, FILE *, (void)
- _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
_GL_CXXALIAS_RPL (tmpfile, FILE *, (void));
# else
# if __GNUC__ >= 11
/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */
_GL_FUNCDECL_SYS (tmpfile, FILE *, (void)
- _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
_GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
# endif
@@ -1415,7 +1546,8 @@ _GL_CXXALIASWARN (tmpfile);
# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile
/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */
_GL_FUNCDECL_SYS (tmpfile, FILE *, (void)
- _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+ _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+ _GL_ATTRIBUTE_MALLOC);
# endif
# if defined GNULIB_POSIXCHECK
# undef tmpfile
diff --git a/tests/strerror-override.c b/tests/strerror-override.c
index 6be1afdc..b9c1c7ab 100644
--- a/tests/strerror-override.c
+++ b/tests/strerror-override.c
@@ -1,6 +1,6 @@
/* strerror-override.c --- POSIX compatible system error routine
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/strerror-override.h b/tests/strerror-override.h
index d010d27c..872fa7d6 100644
--- a/tests/strerror-override.h
+++ b/tests/strerror-override.h
@@ -1,6 +1,6 @@
/* strerror-override.h --- POSIX compatible system error routine
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,6 +18,11 @@
#ifndef _GL_STRERROR_OVERRIDE_H
# define _GL_STRERROR_OVERRIDE_H
+/* This file uses _GL_ATTRIBUTE_CONST. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
# include <errno.h>
# include <stddef.h>
diff --git a/tests/strerror.c b/tests/strerror.c
index 1019fe9e..6b760ff4 100644
--- a/tests/strerror.c
+++ b/tests/strerror.c
@@ -1,6 +1,6 @@
/* strerror.c --- POSIX compatible system error routine
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/strerror_r.c b/tests/strerror_r.c
index b154c292..0cd28ade 100644
--- a/tests/strerror_r.c
+++ b/tests/strerror_r.c
@@ -1,6 +1,6 @@
/* strerror_r.c --- POSIX compatible system error routine
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/symlink.c b/tests/symlink.c
index 26310af7..6ba83666 100644
--- a/tests/symlink.c
+++ b/tests/symlink.c
@@ -1,5 +1,5 @@
/* Stub for symlink().
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/sys_ioctl.in.h b/tests/sys_ioctl.in.h
index 7f1cdc86..787d35f7 100644
--- a/tests/sys_ioctl.in.h
+++ b/tests/sys_ioctl.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <sys/ioctl.h>.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -29,6 +29,11 @@
#ifndef _@GUARD_PREFIX@_SYS_IOCTL_H
#define _@GUARD_PREFIX@_SYS_IOCTL_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* AIX 5.1 and Solaris 10 declare ioctl() in <unistd.h> and in <stropts.h>,
but not in <sys/ioctl.h>.
Haiku declares ioctl() in <unistd.h>, but not in <sys/ioctl.h>.
@@ -62,7 +67,9 @@ _GL_FUNCDECL_SYS (ioctl, int,
_GL_CXXALIAS_SYS (ioctl, int,
(int fd, int request, ... /* {void *,char *} arg */));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (ioctl);
+# endif
#elif @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
# undef ioctl
# define ioctl ioctl_used_without_requesting_gnulib_module_ioctl
diff --git a/tests/sys_select.in.h b/tests/sys_select.in.h
index 860e957f..de29c779 100644
--- a/tests/sys_select.in.h
+++ b/tests/sys_select.in.h
@@ -1,5 +1,5 @@
/* Substitute for <sys/select.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -19,6 +19,13 @@
# endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On OSF/1 and Solaris 2.6, <sys/types.h> and <sys/time.h>
both include <sys/select.h>.
On Cygwin and OpenBSD, <sys/time.h> includes <sys/select.h>.
@@ -71,6 +78,11 @@
#ifndef _@GUARD_PREFIX@_SYS_SELECT_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On many platforms, <sys/select.h> assumes prior inclusion of
<sys/types.h>. Also, mingw defines sigset_t there, instead of
in <signal.h> where it belongs. */
diff --git a/tests/sys_socket.c b/tests/sys_socket.c
index 0bfd60f2..672d3aac 100644
--- a/tests/sys_socket.c
+++ b/tests/sys_socket.c
@@ -1,6 +1,6 @@
/* Inline functions for <sys/socket.h>.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -18,5 +18,5 @@
#include <config.h>
#define _GL_SYS_SOCKET_INLINE _GL_EXTERN_INLINE
-#include "sys/socket.h"
+#include <sys/socket.h>
typedef int dummy;
diff --git a/tests/sys_socket.in.h b/tests/sys_socket.in.h
index 637a248d..13833c0f 100644
--- a/tests/sys_socket.in.h
+++ b/tests/sys_socket.in.h
@@ -1,6 +1,6 @@
/* Provide a sys/socket header file for systems lacking it (read: MinGW)
and for systems where it is incomplete.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
Written by Simon Josefsson.
This file is free software: you can redistribute it and/or modify
@@ -63,9 +63,12 @@
#ifndef _@GUARD_PREFIX@_SYS_SOCKET_H
#define _@GUARD_PREFIX@_SYS_SOCKET_H
-#ifndef _GL_INLINE_HEADER_BEGIN
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*, alignof. */
+#if !_GL_CONFIG_H_INCLUDED
#error "Please include config.h first."
#endif
+
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_SYS_SOCKET_INLINE
# define _GL_SYS_SOCKET_INLINE _GL_INLINE
@@ -355,7 +358,9 @@ _GL_CXXALIAS_SYS_CAST (accept, int,
struct sockaddr *restrict addr,
socklen_t *restrict addrlen));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (accept);
+# endif
#elif @HAVE_WINSOCK2_H@
# undef accept
# define accept accept_used_without_requesting_gnulib_module_accept
@@ -417,7 +422,9 @@ _GL_CXXALIAS_SYS_CAST (getpeername, int,
(int fd, struct sockaddr *restrict addr,
socklen_t *restrict addrlen));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getpeername);
+# endif
#elif @HAVE_WINSOCK2_H@
# undef getpeername
# define getpeername getpeername_used_without_requesting_gnulib_module_getpeername
@@ -449,7 +456,9 @@ _GL_CXXALIAS_SYS_CAST (getsockname, int,
(int fd, struct sockaddr *restrict addr,
socklen_t *restrict addrlen));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (getsockname);
+# endif
#elif @HAVE_WINSOCK2_H@
# undef getsockname
# define getsockname getsockname_used_without_requesting_gnulib_module_getsockname
@@ -596,7 +605,9 @@ _GL_CXXALIAS_SYS_CAST (recvfrom, ssize_t,
struct sockaddr *restrict from,
socklen_t *restrict fromlen));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (recvfrom);
+# endif
#elif @HAVE_WINSOCK2_H@
# undef recvfrom
# define recvfrom recvfrom_used_without_requesting_gnulib_module_recvfrom
diff --git a/tests/sys_stat.in.h b/tests/sys_stat.in.h
index 0ec320f5..bf08f335 100644
--- a/tests/sys_stat.in.h
+++ b/tests/sys_stat.in.h
@@ -1,5 +1,5 @@
/* Provide a more complete sys/stat.h header file.
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -25,6 +25,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if defined __need_system_sys_stat_h
/* Special invocation convention. */
@@ -48,12 +55,41 @@
#ifndef _@GUARD_PREFIX@_SYS_STAT_H
#define _@GUARD_PREFIX@_SYS_STAT_H
+/* This file uses _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+# if __cplusplus >= 201103L
+# define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+# else
+# define _GL_ATTRIBUTE_NOTHROW throw ()
+# endif
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# else
+# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+# else
+# define _GL_ATTRIBUTE_NOTHROW
+# endif
+# endif
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_ARG_NONNULL is copied here. */
/* The definition of _GL_WARN_ON_USE is copied here. */
+
/* Before doing "#define mknod rpl_mknod" below, we need to include all
headers that may declare mknod(). OS/2 kLIBC declares mknod() in
<unistd.h>, not in <sys/stat.h>. */
@@ -549,7 +585,7 @@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2]));
# endif
_GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2]));
# endif
-# if @HAVE_FUTIMENS@
+# if __GLIBC__ >= 2 && @HAVE_FUTIMENS@
_GL_CXXALIASWARN (futimens);
# endif
#elif defined GNULIB_POSIXCHECK
@@ -563,7 +599,11 @@ _GL_WARN_ON_USE (futimens, "futimens is not portable - "
#if @GNULIB_GETUMASK@
# if !@HAVE_GETUMASK@
+# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (getumask, mode_t, (void) _GL_ATTRIBUTE_NOTHROW);
+# else
_GL_FUNCDECL_SYS (getumask, mode_t, (void));
+# endif
# endif
_GL_CXXALIAS_SYS (getumask, mode_t, (void));
# if @HAVE_GETUMASK@
@@ -716,7 +756,9 @@ _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)
# endif
_GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mkfifoat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef mkfifoat
# if HAVE_RAW_DECL_MKFIFOAT
@@ -773,7 +815,9 @@ _GL_FUNCDECL_SYS (mknodat, int,
_GL_CXXALIAS_SYS (mknodat, int,
(int fd, char const *file, mode_t mode, dev_t dev));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mknodat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef mknodat
# if HAVE_RAW_DECL_MKNODAT
@@ -937,7 +981,7 @@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name,
_GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name,
struct timespec const times[2], int flag));
# endif
-# if @HAVE_UTIMENSAT@
+# if __GLIBC__ >= 2 && @HAVE_UTIMENSAT@
_GL_CXXALIASWARN (utimensat);
# endif
#elif defined GNULIB_POSIXCHECK
diff --git a/tests/sys_time.in.h b/tests/sys_time.in.h
index 87db1a88..4a301c48 100644
--- a/tests/sys_time.in.h
+++ b/tests/sys_time.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/time.h.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -24,6 +24,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* On Cygwin and on many BSDish systems, <sys/time.h> includes itself
recursively via <sys/select.h>.
Simply delegate to the system's header in this case; it is a no-op.
@@ -41,6 +48,11 @@
#ifndef _@GUARD_PREFIX@_SYS_TIME_H
#define _@GUARD_PREFIX@_SYS_TIME_H
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#if ! @HAVE_SYS_TIME_H@
# include <time.h>
#endif
diff --git a/tests/sys_uio.in.h b/tests/sys_uio.in.h
index 788d461f..5e71859d 100644
--- a/tests/sys_uio.in.h
+++ b/tests/sys_uio.in.h
@@ -1,5 +1,5 @@
/* Substitute for <sys/uio.h>.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/test-accept.c b/tests/test-accept.c
index 234de641..ed02450b 100644
--- a/tests/test-accept.c
+++ b/tests/test-accept.c
@@ -1,5 +1,5 @@
/* Test accepting a connection to a server socket.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stdalign.c b/tests/test-alignasof.c
index a9355545..1cc75b0f 100644
--- a/tests/test-stdalign.c
+++ b/tests/test-alignasof.c
@@ -1,5 +1,5 @@
-/* Test of <stdalign.h>.
- Copyright 2009-2022 Free Software Foundation, Inc.
+/* Test of alignasof module.
+ Copyright 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -35,6 +35,7 @@ typedef struct { char a[4]; } struct4;
limit the test to 8 for now. */
# define TEST_ALIGNMENT 8
#else
+# undef alignas
# define alignas(alignment)
# define TEST_ALIGNMENT 1
#endif
diff --git a/tests/test-alloca-opt.c b/tests/test-alloca-opt.c
index a64ed82a..3f20779c 100644
--- a/tests/test-alloca-opt.c
+++ b/tests/test-alloca-opt.c
@@ -1,5 +1,5 @@
/* Test of optional automatic memory allocation.
- Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-arpa_inet.c b/tests/test-arpa_inet.c
index cfe4a7a2..77222638 100644
--- a/tests/test-arpa_inet.c
+++ b/tests/test-arpa_inet.c
@@ -1,5 +1,5 @@
/* Test of <arpa/inet.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-array-mergesort.c b/tests/test-array-mergesort.c
index 5996bc31..71639d12 100644
--- a/tests/test-array-mergesort.c
+++ b/tests/test-array-mergesort.c
@@ -1,5 +1,5 @@
/* Test of stable-sorting of an array using mergesort.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/tests/test-assert.c b/tests/test-assert.c
index 45b0c0f4..771eec34 100644
--- a/tests/test-assert.c
+++ b/tests/test-assert.c
@@ -1,5 +1,5 @@
/* Test assert.h and static_assert.
- Copyright 2022 Free Software Foundation, Inc.
+ Copyright 2022-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -65,6 +65,7 @@ int
main (void)
{
STATIC_ASSERT_TESTS;
+ f ("");
g ();
h ();
return 0;
diff --git a/tests/test-binary-io.c b/tests/test-binary-io.c
index 2d71ae9c..32de2fe4 100644
--- a/tests/test-binary-io.c
+++ b/tests/test-binary-io.c
@@ -1,5 +1,5 @@
/* Test of binary mode I/O.
- Copyright (C) 2005, 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@
#include "macros.h"
int
-main (int argc, char *argv[])
+main (_GL_UNUSED int argc, char *argv[])
{
/* Test the O_BINARY macro. */
{
diff --git a/tests/test-binary-io.sh b/tests/test-binary-io.sh
index a177d947..7bc5aa07 100755
--- a/tests/test-binary-io.sh
+++ b/tests/test-binary-io.sh
@@ -1,7 +1,7 @@
#!/bin/sh
tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
+trap 'rm -fr $tmpfiles' HUP INT QUIT TERM
tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp"
${CHECKER} ./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1
diff --git a/tests/test-bind.c b/tests/test-bind.c
index 17063bf7..0f8e783a 100644
--- a/tests/test-bind.c
+++ b/tests/test-bind.c
@@ -1,5 +1,5 @@
/* Test binding a server socket to a port.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-btoc32-1.sh b/tests/test-btoc32-1.sh
new file mode 100755
index 00000000..25caea64
--- /dev/null
+++ b/tests/test-btoc32-1.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Test whether the POSIX locale has encoding errors.
+LC_ALL=C \
+${CHECKER} ./test-btoc32${EXEEXT} 1 || exit 1
+LC_ALL=POSIX \
+${CHECKER} ./test-btoc32${EXEEXT} 1 || exit 1
+
+exit 0
diff --git a/tests/test-mbrtowc1.sh b/tests/test-btoc32-2.sh
index 2b6eaf99..ba52767b 100755
--- a/tests/test-mbrtowc1.sh
+++ b/tests/test-btoc32-2.sh
@@ -12,4 +12,4 @@ if test $LOCALE_FR = none; then
fi
LC_ALL=$LOCALE_FR \
-${CHECKER} ./test-mbrtowc${EXEEXT} 1
+${CHECKER} ./test-btoc32${EXEEXT} 2
diff --git a/tests/test-mbrtowc2.sh b/tests/test-btoc32-3.sh
index 6868e863..8c6b1803 100755
--- a/tests/test-mbrtowc2.sh
+++ b/tests/test-btoc32-3.sh
@@ -12,4 +12,4 @@ if test $LOCALE_FR_UTF8 = none; then
fi
LC_ALL=$LOCALE_FR_UTF8 \
-${CHECKER} ./test-mbrtowc${EXEEXT} 2
+${CHECKER} ./test-btoc32${EXEEXT} 3
diff --git a/tests/test-btoc32.c b/tests/test-btoc32.c
new file mode 100644
index 00000000..7e15dcce
--- /dev/null
+++ b/tests/test-btoc32.c
@@ -0,0 +1,94 @@
+/* Test of conversion of unibyte character to 32-bit wide character.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (btoc32, wint_t, (int));
+
+#include <locale.h>
+#include <stdio.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+int
+main (int argc, char *argv[])
+{
+ int c;
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ ASSERT (btoc32 (EOF) == WEOF);
+
+#ifdef __ANDROID__
+ /* On Android ≥ 5.0, the default locale is the "C.UTF-8" locale, not the
+ "C" locale. Furthermore, when you attempt to set the "C" or "POSIX"
+ locale via setlocale(), what you get is a "C" locale with UTF-8 encoding,
+ that is, effectively the "C.UTF-8" locale. */
+ if (argc > 1 && strcmp (argv[1], "1") == 0 && MB_CUR_MAX > 1)
+ argv[1] = "3";
+#endif
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '1':
+ /* C or POSIX locale. */
+ for (c = 0; c < 0x100; c++)
+ if (c != 0)
+ {
+ /* We are testing all nonnull bytes. */
+ wint_t wc = btoc32 (c);
+ /* POSIX:2018 says regarding btowc: "In the POSIX locale, btowc()
+ shall not return WEOF if c has a value in the range 0 to 255
+ inclusive." It is reasonable to expect btoc32 to behave in
+ the same way. */
+ if (c < 0x80)
+ /* c is an ASCII character. */
+ ASSERT (wc == c);
+ else
+ /* On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF.
+ But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */
+ ASSERT (wc == c || wc == 0xDF00 + c);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ for (c = 0; c < 0x80; c++)
+ ASSERT (btoc32 (c) == c);
+ for (c = 0xA0; c < 0x100; c++)
+ ASSERT (btoc32 (c) != WEOF);
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ for (c = 0; c < 0x80; c++)
+ ASSERT (btoc32 (c) == c);
+ for (c = 0x80; c < 0x100; c++)
+ ASSERT (btoc32 (c) == WEOF);
+ return 0;
+ }
+
+ return 1;
+}
diff --git a/tests/test-btowc-1.sh b/tests/test-btowc-1.sh
new file mode 100755
index 00000000..d6776565
--- /dev/null
+++ b/tests/test-btowc-1.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Test whether the POSIX locale has encoding errors.
+LC_ALL=C \
+${CHECKER} ./test-btowc${EXEEXT} 1 || exit 1
+LC_ALL=POSIX \
+${CHECKER} ./test-btowc${EXEEXT} 1 || exit 1
+
+exit 0
diff --git a/tests/test-btowc1.sh b/tests/test-btowc-2.sh
index e51e1c5c..9f939d6c 100755
--- a/tests/test-btowc1.sh
+++ b/tests/test-btowc-2.sh
@@ -12,4 +12,4 @@ if test $LOCALE_FR = none; then
fi
LC_ALL=$LOCALE_FR \
-${CHECKER} ./test-btowc${EXEEXT} 1
+${CHECKER} ./test-btowc${EXEEXT} 2
diff --git a/tests/test-btowc2.sh b/tests/test-btowc-3.sh
index 9f38f4e8..41244765 100755
--- a/tests/test-btowc2.sh
+++ b/tests/test-btowc-3.sh
@@ -12,4 +12,4 @@ if test $LOCALE_FR_UTF8 = none; then
fi
LC_ALL=$LOCALE_FR_UTF8 \
-${CHECKER} ./test-btowc${EXEEXT} 2
+${CHECKER} ./test-btowc${EXEEXT} 3
diff --git a/tests/test-btowc.c b/tests/test-btowc.c
index 32806f07..aeac4bbf 100644
--- a/tests/test-btowc.c
+++ b/tests/test-btowc.c
@@ -1,5 +1,5 @@
/* Test of conversion of unibyte character to wide character.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -39,10 +39,38 @@ main (int argc, char *argv[])
ASSERT (btowc (EOF) == WEOF);
+#ifdef __ANDROID__
+ /* On Android ≥ 5.0, the default locale is the "C.UTF-8" locale, not the
+ "C" locale. Furthermore, when you attempt to set the "C" or "POSIX"
+ locale via setlocale(), what you get is a "C" locale with UTF-8 encoding,
+ that is, effectively the "C.UTF-8" locale. */
+ if (argc > 1 && strcmp (argv[1], "1") == 0 && MB_CUR_MAX > 1)
+ argv[1] = "3";
+#endif
+
if (argc > 1)
switch (argv[1][0])
{
case '1':
+ /* C or POSIX locale. */
+ for (c = 0; c < 0x100; c++)
+ if (c != 0)
+ {
+ /* We are testing all nonnull bytes. */
+ wint_t wc = btowc (c);
+ /* POSIX:2018 says: "In the POSIX locale, btowc() shall not return
+ WEOF if c has a value in the range 0 to 255 inclusive." */
+ if (c < 0x80)
+ /* c is an ASCII character. */
+ ASSERT (wc == c);
+ else
+ /* On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF.
+ But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */
+ ASSERT (wc == c || wc == 0xDF00 + c);
+ }
+ return 0;
+
+ case '2':
/* Locale encoding is ISO-8859-1 or ISO-8859-15. */
for (c = 0; c < 0x80; c++)
ASSERT (btowc (c) == c);
@@ -50,7 +78,7 @@ main (int argc, char *argv[])
ASSERT (btowc (c) != WEOF);
return 0;
- case '2':
+ case '3':
/* Locale encoding is UTF-8. */
for (c = 0; c < 0x80; c++)
ASSERT (btowc (c) == c);
diff --git a/tests/test-c-ctype.c b/tests/test-c-ctype.c
index 9870520d..8414a31d 100644
--- a/tests/test-c-ctype.c
+++ b/tests/test-c-ctype.c
@@ -1,5 +1,5 @@
/* Test of character handling in C locale.
- Copyright (C) 2005, 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c-strcasecmp.c b/tests/test-c-strcasecmp.c
index 1bb518da..fd07e009 100644
--- a/tests/test-c-strcasecmp.c
+++ b/tests/test-c-strcasecmp.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c-strncasecmp.c b/tests/test-c-strncasecmp.c
index 734eb87b..a8bb3358 100644
--- a/tests/test-c-strncasecmp.c
+++ b/tests/test-c-strncasecmp.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c32isalnum.c b/tests/test-c32isalnum.c
new file mode 100644
index 00000000..4f75e0f4
--- /dev/null
+++ b/tests/test-c32isalnum.c
@@ -0,0 +1,261 @@
+/* Test of c32isalnum() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isalnum, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isalnum for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isalnum (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isalnum (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the alphanumeric characters include the uppercase and
+ lowercase characters and digits and, consequently, include the A ... Z
+ and a ... z and 0 ... 9 characters.
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the alphanumeric characters include only the ASCII A ... Z and a ... z
+ and 0 ... 9 characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\327", 1);
+ ASSERT (is == 0);
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\330", 1);
+ ASSERT (is != 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\241\337", 2);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\217\251\254", 3);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\217\251\250", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is == 0);
+ #if defined __GLIBC__
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\243\355", 2);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\303\227", 2);
+ ASSERT (is == 0);
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\303\230", 2);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\305\201", 2);
+ ASSERT (is != 0);
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\343\200\201", 3);
+ ASSERT (is == 0);
+ #if defined __GLIBC__
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\357\274\221", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\357\275\215", 3);
+ ASSERT (is != 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10330 GOTHIC LETTER AHSA */
+ is = for_character ("\360\220\214\260", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
+ is = for_character ("\360\235\204\200", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\363\240\201\241", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\241\301", 2);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\201\060\211\061", 4);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\201\060\221\071", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is == 0);
+ #if defined __GLIBC__
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !defined __DragonFly__
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\243\355", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10330 GOTHIC LETTER AHSA */
+ is = for_character ("\220\060\322\066", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
+ is = for_character ("\224\062\273\064", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\323\066\237\065", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isalnum.sh b/tests/test-c32isalnum.sh
new file mode 100755
index 00000000..df94aade
--- /dev/null
+++ b/tests/test-c32isalnum.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isalnum${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isalnum${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isalnum${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isalnum${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isalnum${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isalnum${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isalpha.c b/tests/test-c32isalpha.c
new file mode 100644
index 00000000..14c78d7d
--- /dev/null
+++ b/tests/test-c32isalpha.c
@@ -0,0 +1,259 @@
+/* Test of c32isalpha() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isalpha, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isalpha for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isalpha (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isalpha (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the alphabetic characters include the uppercase and
+ lowercase characters and, consequently, include the A ... Z and a ... z
+ characters.
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the alphabetic characters include only the ASCII A ... Z and a ... z
+ characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\327", 1);
+ ASSERT (is == 0);
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\330", 1);
+ ASSERT (is != 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\241\337", 2);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\217\251\254", 3);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\217\251\250", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__)
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\243\355", 2);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\303\227", 2);
+ ASSERT (is == 0);
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\303\230", 2);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\305\201", 2);
+ ASSERT (is != 0);
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\343\200\201", 3);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__)
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\357\274\221", 3);
+ ASSERT (is == 0);
+ #endif
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\357\275\215", 3);
+ ASSERT (is != 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10330 GOTHIC LETTER AHSA */
+ is = for_character ("\360\220\214\260", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
+ is = for_character ("\360\235\204\200", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\363\240\201\241", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\241\301", 2);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\201\060\211\061", 4);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\201\060\221\071", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ #endif
+ #if !defined __DragonFly__
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\243\355", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10330 GOTHIC LETTER AHSA */
+ is = for_character ("\220\060\322\066", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
+ is = for_character ("\224\062\273\064", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\323\066\237\065", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isalpha.sh b/tests/test-c32isalpha.sh
new file mode 100755
index 00000000..11c896fa
--- /dev/null
+++ b/tests/test-c32isalpha.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isalpha${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isalpha${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isalpha${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isalpha${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isalpha${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isalpha${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isblank.c b/tests/test-c32isblank.c
new file mode 100644
index 00000000..0e722b25
--- /dev/null
+++ b/tests/test-c32isblank.c
@@ -0,0 +1,205 @@
+/* Test of c32isblank() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isblank, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isblank for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isblank (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isblank (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the blank characters include the <space> and <tab>
+ characters,
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the blank characters include only the ASCII <space> and <tab>
+ characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t':
+ #if !(defined __FreeBSD__ || defined __NetBSD__)
+ case '\v':
+ #endif
+ case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ if (c == '\t' || c == ' ')
+ ASSERT (is != 0);
+ else
+ ASSERT (is == 0);
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ #if defined __GLIBC__
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\240", 1);
+ ASSERT (is == 0);
+ #endif
+ /* U+00B7 MIDDLE DOT */
+ is = for_character ("\267", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+3002 IDEOGRAPHIC FULL STOP */
+ is = for_character ("\241\243", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ #if defined __GLIBC__
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\302\240", 2);
+ ASSERT (is == 0);
+ #endif
+ /* U+00B7 MIDDLE DOT */
+ is = for_character ("\302\267", 2);
+ ASSERT (is == 0);
+ #if defined __GLIBC__
+ /* U+202F NARROW NO-BREAK SPACE */
+ is = for_character ("\342\200\257", 3);
+ ASSERT (is == 0);
+ #endif
+ /* U+3002 IDEOGRAPHIC FULL STOP */
+ is = for_character ("\343\200\202", 3);
+ ASSERT (is == 0);
+ /* U+1D13D MUSICAL SYMBOL QUARTER REST */
+ is = for_character ("\360\235\204\275", 4);
+ ASSERT (is == 0);
+ /* U+E0020 TAG SPACE */
+ is = for_character ("\363\240\200\240", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ #if defined __GLIBC__
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\201\060\204\062", 4);
+ ASSERT (is == 0);
+ #endif
+ /* U+00B7 MIDDLE DOT */
+ is = for_character ("\241\244", 2);
+ ASSERT (is == 0);
+ #if defined __GLIBC__
+ /* U+202F NARROW NO-BREAK SPACE */
+ is = for_character ("\201\066\247\062", 4);
+ ASSERT (is == 0);
+ #endif
+ /* U+3002 IDEOGRAPHIC FULL STOP */
+ is = for_character ("\241\243", 2);
+ ASSERT (is == 0);
+ /* U+1D13D MUSICAL SYMBOL QUARTER REST */
+ is = for_character ("\224\062\301\065", 4);
+ ASSERT (is == 0);
+ /* U+E0020 TAG SPACE */
+ is = for_character ("\323\066\231\060", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isblank.sh b/tests/test-c32isblank.sh
new file mode 100755
index 00000000..fe5f9b86
--- /dev/null
+++ b/tests/test-c32isblank.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isblank${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isblank${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isblank${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isblank${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isblank${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isblank${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32iscntrl.c b/tests/test-c32iscntrl.c
new file mode 100644
index 00000000..674c5804
--- /dev/null
+++ b/tests/test-c32iscntrl.c
@@ -0,0 +1,212 @@
+/* Test of c32iscntrl() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32iscntrl, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32iscntrl for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32iscntrl (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32iscntrl (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ no explicit list of control characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is != 0);
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\240", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is != 0);
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is != 0);
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\302\240", 2);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__)
+ /* U+202E RIGHT-TO-LEFT OVERRIDE */
+ is = for_character ("\342\200\256", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\343\200\200", 3);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__)
+ /* U+FEFF ZERO WIDTH NO-BREAK SPACE */
+ is = for_character ("\357\273\277", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+20000 <CJK Ideograph> */
+ is = for_character ("\360\240\200\200", 4);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+E0001 LANGUAGE TAG */
+ is = for_character ("\363\240\200\201", 4);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is != 0);
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\201\060\204\062", 4);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+202E RIGHT-TO-LEFT OVERRIDE */
+ is = for_character ("\201\066\247\061", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+FEFF ZERO WIDTH NO-BREAK SPACE */
+ is = for_character ("\204\061\225\063", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+20000 <CJK Ideograph> */
+ is = for_character ("\225\062\202\066", 4);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+E0001 LANGUAGE TAG */
+ is = for_character ("\323\066\225\071", 4);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32iscntrl.sh b/tests/test-c32iscntrl.sh
new file mode 100755
index 00000000..b27747c7
--- /dev/null
+++ b/tests/test-c32iscntrl.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32iscntrl${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32iscntrl${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32iscntrl${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32iscntrl${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32iscntrl${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32iscntrl${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isdigit.c b/tests/test-c32isdigit.c
new file mode 100644
index 00000000..82b77015
--- /dev/null
+++ b/tests/test-c32isdigit.c
@@ -0,0 +1,236 @@
+/* Test of c32isdigit() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isdigit, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isdigit for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isdigit (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isdigit (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ ISO C 99 sections 7.25.2.1.5 and 5.2.1 specify that the decimal digits
+ include only the ASCII 0 ... 9 characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\262", 1);
+ ASSERT (is == 0);
+ /* U+00B3 SUPERSCRIPT THREE */
+ is = for_character ("\263", 1);
+ ASSERT (is == 0);
+ /* U+00B9 SUPERSCRIPT ONE */
+ is = for_character ("\271", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\302\262", 2);
+ ASSERT (is == 0);
+ /* U+00B3 SUPERSCRIPT THREE */
+ is = for_character ("\302\263", 2);
+ ASSERT (is == 0);
+ /* U+00B9 SUPERSCRIPT ONE */
+ is = for_character ("\302\271", 2);
+ ASSERT (is == 0);
+ /* U+0663 ARABIC-INDIC DIGIT THREE */
+ is = for_character ("\331\243", 2);
+ ASSERT (is == 0);
+ /* U+2070 SUPERSCRIPT ZERO */
+ is = for_character ("\342\201\260", 3);
+ ASSERT (is == 0);
+ /* U+2079 SUPERSCRIPT NINE */
+ is = for_character ("\342\201\271", 3);
+ ASSERT (is == 0);
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\357\274\221", 3);
+ ASSERT (is == 0);
+ /* U+1D7D1 MATHEMATICAL BOLD DIGIT THREE */
+ is = for_character ("\360\235\237\221", 4);
+ ASSERT (is == 0);
+ /* U+1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE */
+ is = for_character ("\360\235\237\233", 4);
+ ASSERT (is == 0);
+ /* U+1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE */
+ is = for_character ("\360\235\237\245", 4);
+ ASSERT (is == 0);
+ /* U+1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE */
+ is = for_character ("\360\235\237\257", 4);
+ ASSERT (is == 0);
+ /* U+1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE */
+ is = for_character ("\360\235\237\271", 4);
+ ASSERT (is == 0);
+ /* U+E0033 TAG DIGIT THREE */
+ is = for_character ("\363\240\200\263", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\201\060\205\065", 4);
+ ASSERT (is == 0);
+ /* U+00B3 SUPERSCRIPT THREE */
+ is = for_character ("\201\060\205\066", 4);
+ ASSERT (is == 0);
+ /* U+00B9 SUPERSCRIPT ONE */
+ is = for_character ("\201\060\206\061", 4);
+ ASSERT (is == 0);
+ /* U+0663 ARABIC-INDIC DIGIT THREE */
+ is = for_character ("\201\061\211\071", 4);
+ ASSERT (is == 0);
+ /* U+2070 SUPERSCRIPT ZERO */
+ is = for_character ("\201\066\255\062", 4);
+ ASSERT (is == 0);
+ /* U+2079 SUPERSCRIPT NINE */
+ is = for_character ("\201\066\256\061", 4);
+ ASSERT (is == 0);
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ /* U+1D7D1 MATHEMATICAL BOLD DIGIT THREE */
+ is = for_character ("\224\063\353\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE */
+ is = for_character ("\224\063\354\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE */
+ is = for_character ("\224\063\355\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE */
+ is = for_character ("\224\063\356\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE */
+ is = for_character ("\224\063\357\071", 4);
+ ASSERT (is == 0);
+ /* U+E0033 TAG DIGIT THREE */
+ is = for_character ("\323\066\232\071", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isdigit.sh b/tests/test-c32isdigit.sh
new file mode 100755
index 00000000..158d3628
--- /dev/null
+++ b/tests/test-c32isdigit.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isdigit${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isdigit${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isdigit${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isdigit${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isdigit${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isdigit${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isgraph.c b/tests/test-c32isgraph.c
new file mode 100644
index 00000000..fb993bbb
--- /dev/null
+++ b/tests/test-c32isgraph.c
@@ -0,0 +1,247 @@
+/* Test of c32isgraph() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isgraph, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isgraph for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isgraph (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isgraph (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ no explicit list of graphic characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ':
+ ASSERT (is == 0);
+ break;
+ default:
+ ASSERT (is != 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sgi || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\240", 1);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00B8 CEDILLA */
+ is = for_character ("\270", 1);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00B8 CEDILLA */
+ is = for_character ("\217\242\261", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\302\240", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+00B8 CEDILLA */
+ is = for_character ("\302\270", 2);
+ ASSERT (is != 0);
+ /* U+2002 EN SPACE */
+ is = for_character ("\342\200\202", 3);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__)
+ /* U+202E RIGHT-TO-LEFT OVERRIDE */
+ is = for_character ("\342\200\256", 3);
+ ASSERT (is == 0);
+ #endif
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\343\200\200", 3);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__)
+ /* U+FEFF ZERO WIDTH NO-BREAK SPACE */
+ is = for_character ("\357\273\277", 3);
+ ASSERT (is == 0);
+ #endif
+ #if !defined __sun
+ /* U+20000 <CJK Ideograph> */
+ is = for_character ("\360\240\200\200", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+E0001 LANGUAGE TAG */
+ is = for_character ("\363\240\200\201", 4);
+ ASSERT (is == 0);
+ #endif
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\201\060\204\062", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00B8 CEDILLA */
+ is = for_character ("\201\060\206\060", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+2002 EN SPACE */
+ is = for_character ("\201\066\243\070", 4);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+202E RIGHT-TO-LEFT OVERRIDE */
+ is = for_character ("\201\066\247\061", 4);
+ ASSERT (is == 0);
+ #endif
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+FEFF ZERO WIDTH NO-BREAK SPACE */
+ is = for_character ("\204\061\225\063", 4);
+ ASSERT (is == 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+20000 <CJK Ideograph> */
+ is = for_character ("\225\062\202\066", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+E0001 LANGUAGE TAG */
+ is = for_character ("\323\066\225\071", 4);
+ ASSERT (is == 0);
+ #endif
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isgraph.sh b/tests/test-c32isgraph.sh
new file mode 100755
index 00000000..be760fb2
--- /dev/null
+++ b/tests/test-c32isgraph.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isgraph${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isgraph${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isgraph${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isgraph${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isgraph${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isgraph${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32islower.c b/tests/test-c32islower.c
new file mode 100644
index 00000000..3b799677
--- /dev/null
+++ b/tests/test-c32islower.c
@@ -0,0 +1,354 @@
+/* Test of c32islower() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32islower, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32islower for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32islower (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32islower (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the lowercase characters include the a ... z
+ characters,
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the lowercase characters include only the ASCII a ... z characters.
+ */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\262", 1);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+00B5 MICRO SIGN */
+ is = for_character ("\265", 1);
+ ASSERT (is == 0);
+ #endif
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\311", 1);
+ ASSERT (is == 0);
+ #if !defined __CYGWIN__
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\337", 1);
+ ASSERT (is != 0);
+ #endif
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\351", 1);
+ ASSERT (is != 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\377", 1);
+ ASSERT (is != 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\217\252\261", 3);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __CYGWIN__)
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\217\251\316", 3);
+ ASSERT (is != 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\217\253\261", 3);
+ ASSERT (is != 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\217\253\363", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\217\251\250", 3);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ is = for_character ("\217\251\310", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ is = for_character ("\247\273", 2);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ is = for_character ("\247\353", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+3073 HIRAGANA LETTER BI */
+ is = for_character ("\244\323", 2);
+ ASSERT (is == 0);
+ #if !defined __DragonFly__
+ /* U+FF47 FULLWIDTH LATIN SMALL LETTER G */
+ is = for_character ("\243\347", 2);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\302\262", 2);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+00B5 MICRO SIGN */
+ is = for_character ("\302\265", 2);
+ ASSERT (is == 0);
+ #endif
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\303\211", 2);
+ ASSERT (is == 0);
+ #if !defined __CYGWIN__
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\303\237", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\303\251", 2);
+ ASSERT (is != 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\303\277", 2);
+ ASSERT (is != 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\305\201", 2);
+ ASSERT (is == 0);
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ is = for_character ("\305\202", 2);
+ ASSERT (is != 0);
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ is = for_character ("\320\251", 2);
+ ASSERT (is == 0);
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ is = for_character ("\321\211", 2);
+ ASSERT (is != 0);
+ /* U+05D5 HEBREW LETTER VAV */
+ is = for_character ("\327\225", 2);
+ ASSERT (is == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ is = for_character ("\343\201\263", 3);
+ ASSERT (is == 0);
+ /* U+3162 HANGUL LETTER YI */
+ is = for_character ("\343\205\242", 3);
+ ASSERT (is == 0);
+ /* U+FF47 FULLWIDTH LATIN SMALL LETTER G */
+ is = for_character ("\357\275\207", 3);
+ ASSERT (is != 0);
+ /* U+FFDB HALFWIDTH HANGUL LETTER YI */
+ is = for_character ("\357\277\233", 3);
+ ASSERT (is == 0);
+ /* U+10419 DESERET CAPITAL LETTER EF */
+ is = for_character ("\360\220\220\231", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+10441 DESERET SMALL LETTER EF */
+ is = for_character ("\360\220\221\201", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ is = for_character ("\363\240\201\201", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\363\240\201\241", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\201\060\205\065", 4);
+ ASSERT (is == 0);
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__)
+ /* U+00B5 MICRO SIGN */
+ is = for_character ("\201\060\205\070", 4);
+ ASSERT (is == 0);
+ #endif
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\201\060\207\067", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\201\060\211\070", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !defined __DragonFly__
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\250\246", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\201\060\213\067", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\201\060\221\071", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ is = for_character ("\201\060\222\060", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ is = for_character ("\247\273", 2);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ is = for_character ("\247\353", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+05D5 HEBREW LETTER VAV */
+ is = for_character ("\201\060\371\067", 4);
+ ASSERT (is == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ is = for_character ("\244\323", 2);
+ ASSERT (is == 0);
+ /* U+3162 HANGUL LETTER YI */
+ is = for_character ("\201\071\256\062", 4);
+ ASSERT (is == 0);
+ #if !defined __DragonFly__
+ /* U+FF47 FULLWIDTH LATIN SMALL LETTER G */
+ is = for_character ("\243\347", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+FFDB HALFWIDTH HANGUL LETTER YI */
+ is = for_character ("\204\061\241\071", 4);
+ ASSERT (is == 0);
+ /* U+10419 DESERET CAPITAL LETTER EF */
+ is = for_character ("\220\060\351\071", 4);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10441 DESERET SMALL LETTER EF */
+ is = for_character ("\220\060\355\071", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ is = for_character ("\323\066\234\063", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\323\066\237\065", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32islower.sh b/tests/test-c32islower.sh
new file mode 100755
index 00000000..f8b9840c
--- /dev/null
+++ b/tests/test-c32islower.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32islower${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32islower${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32islower${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32islower${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32islower${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32islower${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isprint.c b/tests/test-c32isprint.c
new file mode 100644
index 00000000..d28eb492
--- /dev/null
+++ b/tests/test-c32isprint.c
@@ -0,0 +1,250 @@
+/* Test of c32isprint() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isprint, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isprint for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isprint (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isprint (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ no explicit list of printable characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ ASSERT (is == 0);
+ break;
+ default:
+ ASSERT (is != 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sgi || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\240", 1);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00B8 CEDILLA */
+ is = for_character ("\270", 1);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00B8 CEDILLA */
+ is = for_character ("\217\242\261", 3);
+ ASSERT (is != 0);
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\302\240", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+00B8 CEDILLA */
+ is = for_character ("\302\270", 2);
+ ASSERT (is != 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+2002 EN SPACE */
+ is = for_character ("\342\200\202", 3);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__)
+ /* U+202E RIGHT-TO-LEFT OVERRIDE */
+ is = for_character ("\342\200\256", 3);
+ ASSERT (is == 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\343\200\200", 3);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+FEFF ZERO WIDTH NO-BREAK SPACE */
+ is = for_character ("\357\273\277", 3);
+ ASSERT (is == 0);
+ #endif
+ #if !defined __sun
+ /* U+20000 <CJK Ideograph> */
+ is = for_character ("\360\240\200\200", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+E0001 LANGUAGE TAG */
+ is = for_character ("\363\240\200\201", 4);
+ ASSERT (is == 0);
+ #endif
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+007F <control> */
+ is = for_character ("\177", 1);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00A0 NO-BREAK SPACE */
+ is = for_character ("\201\060\204\062", 4);
+ ASSERT (is != 0);
+ /* U+00B8 CEDILLA */
+ is = for_character ("\201\060\206\060", 4);
+ ASSERT (is != 0);
+ /* U+2002 EN SPACE */
+ is = for_character ("\201\066\243\070", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+202E RIGHT-TO-LEFT OVERRIDE */
+ is = for_character ("\201\066\247\061", 4);
+ ASSERT (is == 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+FEFF ZERO WIDTH NO-BREAK SPACE */
+ is = for_character ("\204\061\225\063", 4);
+ ASSERT (is == 0);
+ #endif
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+20000 <CJK Ideograph> */
+ is = for_character ("\225\062\202\066", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+E0001 LANGUAGE TAG */
+ is = for_character ("\323\066\225\071", 4);
+ ASSERT (is == 0);
+ #endif
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isprint.sh b/tests/test-c32isprint.sh
new file mode 100755
index 00000000..d455413b
--- /dev/null
+++ b/tests/test-c32isprint.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isprint${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isprint${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isprint${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isprint${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isprint${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isprint${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32ispunct.c b/tests/test-c32ispunct.c
new file mode 100644
index 00000000..1b9f8e3b
--- /dev/null
+++ b/tests/test-c32ispunct.c
@@ -0,0 +1,330 @@
+/* Test of c32ispunct() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32ispunct, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32ispunct for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32ispunct (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32ispunct (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ no explicit list of punctuation or symbol characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case ' ':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ /* c is an alphanumeric or space character. */
+ ASSERT (is == 0);
+ break;
+ case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case '[': case '\\': case ']': case '^': case '_':
+ case '{': case '|': case '}': case '~':
+ /* These characters are usually expected to be punctuation or
+ symbol characters. */
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ /* These characters are not in the ISO C "basic character set", but
+ are nevertheless usually expected to be punctuation or symbol
+ characters. */
+ is = for_character ("$", 1);
+ ASSERT (is != 0);
+ is = for_character ("@", 1);
+ ASSERT (is != 0);
+ is = for_character ("`", 1);
+ ASSERT (is != 0);
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00BF INVERTED QUESTION MARK */
+ is = for_character ("\277", 1);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\327", 1);
+ ASSERT (is != 0);
+ #endif
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\330", 1);
+ ASSERT (is == 0);
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\337", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+00BF INVERTED QUESTION MARK */
+ is = for_character ("\217\242\304", 3);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\241\337", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\217\251\254", 3);
+ ASSERT (is == 0);
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\217\251\316", 3);
+ ASSERT (is == 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\217\251\250", 3);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+2192 RIGHTWARDS ARROW */
+ is = for_character ("\242\252", 2);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\243\355", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00BF INVERTED QUESTION MARK */
+ is = for_character ("\302\277", 2);
+ ASSERT (is != 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\303\227", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\303\230", 2);
+ ASSERT (is == 0);
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\303\237", 2);
+ ASSERT (is == 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\305\201", 2);
+ ASSERT (is == 0);
+ /* U+05F3 HEBREW PUNCTUATION GERESH */
+ is = for_character ("\327\263", 2);
+ ASSERT (is != 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+2192 RIGHTWARDS ARROW */
+ is = for_character ("\342\206\222", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\343\200\201", 3);
+ ASSERT (is != 0);
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\357\274\221", 3);
+ ASSERT (is == 0);
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\357\275\215", 3);
+ ASSERT (is == 0);
+ /* U+10330 GOTHIC LETTER AHSA */
+ is = for_character ("\360\220\214\260", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
+ is = for_character ("\360\235\204\200", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ /* U+E003A TAG COLON */
+ is = for_character ("\363\240\200\272", 4);
+ ASSERT (is == 0);
+ #endif
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00BF INVERTED QUESTION MARK */
+ is = for_character ("\201\060\206\067", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+00D7 MULTIPLICATION SIGN */
+ is = for_character ("\241\301", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+ is = for_character ("\201\060\211\061", 4);
+ ASSERT (is == 0);
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\201\060\211\070", 4);
+ ASSERT (is == 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\201\060\221\071", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+05F3 HEBREW PUNCTUATION GERESH */
+ is = for_character ("\201\060\374\067", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+2192 RIGHTWARDS ARROW */
+ is = for_character ("\241\372", 2);
+ ASSERT (is != 0);
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ /* U+FF4D FULLWIDTH LATIN SMALL LETTER M */
+ is = for_character ("\243\355", 2);
+ ASSERT (is == 0);
+ /* U+10330 GOTHIC LETTER AHSA */
+ is = for_character ("\220\060\322\066", 4);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
+ is = for_character ("\224\062\273\064", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__)
+ /* U+E003A TAG COLON */
+ is = for_character ("\323\066\233\066", 4);
+ ASSERT (is == 0);
+ #endif
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32ispunct.sh b/tests/test-c32ispunct.sh
new file mode 100755
index 00000000..d818bcf7
--- /dev/null
+++ b/tests/test-c32ispunct.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32ispunct${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32ispunct${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32ispunct${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32ispunct${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32ispunct${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32ispunct${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isspace.c b/tests/test-c32isspace.c
new file mode 100644
index 00000000..15cf387d
--- /dev/null
+++ b/tests/test-c32isspace.c
@@ -0,0 +1,198 @@
+/* Test of c32isspace() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isspace, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isspace for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isspace (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isspace (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the white-space characters include the <space>,
+ <form-feed>, <newline>, <carriage-return>, <tab>, <vertical-tab>
+ characters,
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the white-space characters include only the ASCII <space>, <form-feed>,
+ <newline>, <carriage-return>, <tab>, <vertical-tab> characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\f': case '\n': case '\r': case '\t': case '\v':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set" or one of the explicitly
+ mentioned white-space characters. */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case ' ': case '\f': case '\n': case '\r': case '\t': case '\v':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00B7 MIDDLE DOT */
+ is = for_character ("\267", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00B7 MIDDLE DOT */
+ is = for_character ("\302\267", 2);
+ ASSERT (is == 0);
+ /* U+2002 EN SPACE */
+ is = for_character ("\342\200\202", 3);
+ ASSERT (is != 0);
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\343\200\200", 3);
+ ASSERT (is != 0);
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\343\200\201", 3);
+ ASSERT (is == 0);
+ /* U+E0020 TAG SPACE */
+ is = for_character ("\363\240\200\240", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00B7 MIDDLE DOT */
+ is = for_character ("\241\244", 2);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+2002 EN SPACE */
+ is = for_character ("\201\066\243\070", 4);
+ ASSERT (is != 0);
+ #endif
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+3000 IDEOGRAPHIC SPACE */
+ is = for_character ("\241\241", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+3001 IDEOGRAPHIC COMMA */
+ is = for_character ("\241\242", 2);
+ ASSERT (is == 0);
+ /* U+E0020 TAG SPACE */
+ is = for_character ("\323\066\231\060", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isspace.sh b/tests/test-c32isspace.sh
new file mode 100755
index 00000000..a704d86b
--- /dev/null
+++ b/tests/test-c32isspace.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isspace${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isspace${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isspace${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isspace${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isspace${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isspace${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isupper.c b/tests/test-c32isupper.c
new file mode 100644
index 00000000..178b0d19
--- /dev/null
+++ b/tests/test-c32isupper.c
@@ -0,0 +1,340 @@
+/* Test of c32isupper() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isupper, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isupper for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isupper (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isupper (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the uppercase characters include the A ... Z
+ characters,
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the uppercase characters include only the ASCII A ... Z characters.
+ */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\262", 1);
+ ASSERT (is == 0);
+ /* U+00B5 MICRO SIGN */
+ is = for_character ("\265", 1);
+ ASSERT (is == 0);
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\311", 1);
+ ASSERT (is != 0);
+ #if !defined __hpux
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\337", 1);
+ ASSERT (is == 0);
+ #endif
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\351", 1);
+ ASSERT (is == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\377", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\217\252\261", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\217\251\316", 3);
+ ASSERT (is == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\217\253\261", 3);
+ ASSERT (is == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\217\253\363", 3);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\217\251\250", 3);
+ ASSERT (is != 0);
+ #endif
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ is = for_character ("\217\251\310", 3);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ is = for_character ("\247\273", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ is = for_character ("\247\353", 2);
+ ASSERT (is == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ is = for_character ("\244\323", 2);
+ ASSERT (is == 0);
+ #if !defined __DragonFly__
+ /* U+FF27 FULLWIDTH LATIN CAPITAL LETTER G */
+ is = for_character ("\243\307", 2);
+ ASSERT (is != 0);
+ #endif
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\302\262", 2);
+ ASSERT (is == 0);
+ /* U+00B5 MICRO SIGN */
+ is = for_character ("\302\265", 2);
+ ASSERT (is == 0);
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\303\211", 2);
+ ASSERT (is != 0);
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\303\237", 2);
+ ASSERT (is == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\303\251", 2);
+ ASSERT (is == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\303\277", 2);
+ ASSERT (is == 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\305\201", 2);
+ ASSERT (is != 0);
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ is = for_character ("\305\202", 2);
+ ASSERT (is == 0);
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ is = for_character ("\320\251", 2);
+ ASSERT (is != 0);
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ is = for_character ("\321\211", 2);
+ ASSERT (is == 0);
+ /* U+05D5 HEBREW LETTER VAV */
+ is = for_character ("\327\225", 2);
+ ASSERT (is == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ is = for_character ("\343\201\263", 3);
+ ASSERT (is == 0);
+ /* U+3162 HANGUL LETTER YI */
+ is = for_character ("\343\205\242", 3);
+ ASSERT (is == 0);
+ /* U+FF27 FULLWIDTH LATIN CAPITAL LETTER G */
+ is = for_character ("\357\274\247", 3);
+ ASSERT (is != 0);
+ /* U+FFDB HALFWIDTH HANGUL LETTER YI */
+ is = for_character ("\357\277\233", 3);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+10419 DESERET CAPITAL LETTER EF */
+ is = for_character ("\360\220\220\231", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+10441 DESERET SMALL LETTER EF */
+ is = for_character ("\360\220\221\201", 4);
+ ASSERT (is == 0);
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ is = for_character ("\363\240\201\201", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\363\240\201\241", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\201\060\205\065", 4);
+ ASSERT (is == 0);
+ /* U+00B5 MICRO SIGN */
+ is = for_character ("\201\060\205\070", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ is = for_character ("\201\060\207\067", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ is = for_character ("\201\060\211\070", 4);
+ ASSERT (is == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ is = for_character ("\250\246", 2);
+ ASSERT (is == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ is = for_character ("\201\060\213\067", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ is = for_character ("\201\060\221\071", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ is = for_character ("\201\060\222\060", 4);
+ ASSERT (is == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ is = for_character ("\247\273", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ is = for_character ("\247\353", 2);
+ ASSERT (is == 0);
+ /* U+05D5 HEBREW LETTER VAV */
+ is = for_character ("\201\060\371\067", 4);
+ ASSERT (is == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ is = for_character ("\244\323", 2);
+ ASSERT (is == 0);
+ /* U+3162 HANGUL LETTER YI */
+ is = for_character ("\201\071\256\062", 4);
+ ASSERT (is == 0);
+ #if !defined __DragonFly__
+ /* U+FF27 FULLWIDTH LATIN CAPITAL LETTER G */
+ is = for_character ("\243\307", 2);
+ ASSERT (is != 0);
+ #endif
+ /* U+FFDB HALFWIDTH HANGUL LETTER YI */
+ is = for_character ("\204\061\241\071", 4);
+ ASSERT (is == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10419 DESERET CAPITAL LETTER EF */
+ is = for_character ("\220\060\351\071", 4);
+ ASSERT (is != 0);
+ #endif
+ /* U+10441 DESERET SMALL LETTER EF */
+ is = for_character ("\220\060\355\071", 4);
+ ASSERT (is == 0);
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ is = for_character ("\323\066\234\063", 4);
+ ASSERT (is == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ is = for_character ("\323\066\237\065", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isupper.sh b/tests/test-c32isupper.sh
new file mode 100755
index 00000000..ea3efcb8
--- /dev/null
+++ b/tests/test-c32isupper.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isupper${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isupper${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isupper${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isupper${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isupper${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isupper${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32isxdigit.c b/tests/test-c32isxdigit.c
new file mode 100644
index 00000000..0c266f47
--- /dev/null
+++ b/tests/test-c32isxdigit.c
@@ -0,0 +1,262 @@
+/* Test of c32isxdigit() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32isxdigit, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of c32isxdigit for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ return c32isxdigit (wc);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = c32isxdigit (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ ISO C 99 sections 7.25.2.1.12 and 6.4.4.1 specify that the hexadecimal
+ digits include only the ASCII 0 ... 9 A ... F a ... f characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\262", 1);
+ ASSERT (is == 0);
+ /* U+00B3 SUPERSCRIPT THREE */
+ is = for_character ("\263", 1);
+ ASSERT (is == 0);
+ /* U+00B9 SUPERSCRIPT ONE */
+ is = for_character ("\271", 1);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ /* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */
+ is = for_character ("\243\301", 2);
+ ASSERT (is == 0);
+ /* U+FF41 FULLWIDTH LATIN SMALL LETTER A */
+ is = for_character ("\243\341", 2);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\302\262", 2);
+ ASSERT (is == 0);
+ /* U+00B3 SUPERSCRIPT THREE */
+ is = for_character ("\302\263", 2);
+ ASSERT (is == 0);
+ /* U+00B9 SUPERSCRIPT ONE */
+ is = for_character ("\302\271", 2);
+ ASSERT (is == 0);
+ /* U+0663 ARABIC-INDIC DIGIT THREE */
+ is = for_character ("\331\243", 2);
+ ASSERT (is == 0);
+ /* U+2070 SUPERSCRIPT ZERO */
+ is = for_character ("\342\201\260", 3);
+ ASSERT (is == 0);
+ /* U+2079 SUPERSCRIPT NINE */
+ is = for_character ("\342\201\271", 3);
+ ASSERT (is == 0);
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\357\274\221", 3);
+ ASSERT (is == 0);
+ /* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */
+ is = for_character ("\357\274\241", 3);
+ ASSERT (is == 0);
+ /* U+FF41 FULLWIDTH LATIN SMALL LETTER A */
+ is = for_character ("\357\275\201", 3);
+ ASSERT (is == 0);
+ /* U+1D7D1 MATHEMATICAL BOLD DIGIT THREE */
+ is = for_character ("\360\235\237\221", 4);
+ ASSERT (is == 0);
+ /* U+1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE */
+ is = for_character ("\360\235\237\233", 4);
+ ASSERT (is == 0);
+ /* U+1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE */
+ is = for_character ("\360\235\237\245", 4);
+ ASSERT (is == 0);
+ /* U+1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE */
+ is = for_character ("\360\235\237\257", 4);
+ ASSERT (is == 0);
+ /* U+1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE */
+ is = for_character ("\360\235\237\271", 4);
+ ASSERT (is == 0);
+ /* U+E0033 TAG DIGIT THREE */
+ is = for_character ("\363\240\200\263", 4);
+ ASSERT (is == 0);
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ is = for_character ("\363\240\201\201", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ is = for_character ("\201\060\205\065", 4);
+ ASSERT (is == 0);
+ /* U+00B3 SUPERSCRIPT THREE */
+ is = for_character ("\201\060\205\066", 4);
+ ASSERT (is == 0);
+ /* U+00B9 SUPERSCRIPT ONE */
+ is = for_character ("\201\060\206\061", 4);
+ ASSERT (is == 0);
+ /* U+0663 ARABIC-INDIC DIGIT THREE */
+ is = for_character ("\201\061\211\071", 4);
+ ASSERT (is == 0);
+ /* U+2070 SUPERSCRIPT ZERO */
+ is = for_character ("\201\066\255\062", 4);
+ ASSERT (is == 0);
+ /* U+2079 SUPERSCRIPT NINE */
+ is = for_character ("\201\066\256\061", 4);
+ ASSERT (is == 0);
+ /* U+FF11 FULLWIDTH DIGIT ONE */
+ is = for_character ("\243\261", 2);
+ ASSERT (is == 0);
+ /* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */
+ is = for_character ("\243\301", 2);
+ ASSERT (is == 0);
+ /* U+FF41 FULLWIDTH LATIN SMALL LETTER A */
+ is = for_character ("\243\341", 2);
+ ASSERT (is == 0);
+ /* U+1D7D1 MATHEMATICAL BOLD DIGIT THREE */
+ is = for_character ("\224\063\353\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE */
+ is = for_character ("\224\063\354\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE */
+ is = for_character ("\224\063\355\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE */
+ is = for_character ("\224\063\356\071", 4);
+ ASSERT (is == 0);
+ /* U+1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE */
+ is = for_character ("\224\063\357\071", 4);
+ ASSERT (is == 0);
+ /* U+E0033 TAG DIGIT THREE */
+ is = for_character ("\323\066\232\071", 4);
+ ASSERT (is == 0);
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ is = for_character ("\323\066\234\063", 4);
+ ASSERT (is == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32isxdigit.sh b/tests/test-c32isxdigit.sh
new file mode 100755
index 00000000..48f8efa7
--- /dev/null
+++ b/tests/test-c32isxdigit.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32isxdigit${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32isxdigit${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32isxdigit${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32isxdigit${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32isxdigit${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32isxdigit${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32rtomb-w32-2.sh b/tests/test-c32rtomb-w32-2.sh
new file mode 100755
index 00000000..e797d0e5
--- /dev/null
+++ b/tests/test-c32rtomb-w32-2.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP1252 locale.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} French_France 1252
diff --git a/tests/test-c32rtomb-w32-3.sh b/tests/test-c32rtomb-w32-3.sh
new file mode 100755
index 00000000..1b63d472
--- /dev/null
+++ b/tests/test-c32rtomb-w32-3.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP1256 locale.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
diff --git a/tests/test-c32rtomb-w32-4.sh b/tests/test-c32rtomb-w32-4.sh
new file mode 100755
index 00000000..3c0f3db4
--- /dev/null
+++ b/tests/test-c32rtomb-w32-4.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test some UTF-8 locales.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
diff --git a/tests/test-c32rtomb-w32-5.sh b/tests/test-c32rtomb-w32-5.sh
new file mode 100755
index 00000000..ff59a872
--- /dev/null
+++ b/tests/test-c32rtomb-w32-5.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP932 locale.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} Japanese_Japan 932
diff --git a/tests/test-c32rtomb-w32-6.sh b/tests/test-c32rtomb-w32-6.sh
new file mode 100755
index 00000000..3cf34065
--- /dev/null
+++ b/tests/test-c32rtomb-w32-6.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP950 locale.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} Chinese_Taiwan 950
diff --git a/tests/test-c32rtomb-w32-7.sh b/tests/test-c32rtomb-w32-7.sh
new file mode 100755
index 00000000..2174c0b5
--- /dev/null
+++ b/tests/test-c32rtomb-w32-7.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP936 locale.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} Chinese_China 936
diff --git a/tests/test-c32rtomb-w32-8.sh b/tests/test-c32rtomb-w32-8.sh
new file mode 100755
index 00000000..b7e77b28
--- /dev/null
+++ b/tests/test-c32rtomb-w32-8.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a GB18030 locale.
+${CHECKER} ./test-c32rtomb-w32${EXEEXT} Chinese_China 54936
diff --git a/tests/test-c32rtomb-w32.c b/tests/test-c32rtomb-w32.c
new file mode 100644
index 00000000..3e089d11
--- /dev/null
+++ b/tests/test-c32rtomb-w32.c
@@ -0,0 +1,349 @@
+/* Test of conversion of wide character to multibyte character.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "localcharset.h"
+#include "macros.h"
+
+#if defined _WIN32 && !defined __CYGWIN__
+
+static int
+test_one_locale (const char *name, int codepage)
+{
+ char buf[64];
+ size_t ret;
+
+# if 1
+ /* Portable code to set the locale. */
+ {
+ char name_with_codepage[1024];
+
+ sprintf (name_with_codepage, "%s.%d", name, codepage);
+
+ /* Set the locale. */
+ if (setlocale (LC_ALL, name_with_codepage) == NULL)
+ return 77;
+ }
+# else
+ /* Hacky way to set a locale.codepage combination that setlocale() refuses
+ to set. */
+ {
+ /* Codepage of the current locale, set with setlocale().
+ Not necessarily the same as GetACP(). */
+ extern __declspec(dllimport) unsigned int __lc_codepage;
+
+ /* Set the locale. */
+ if (setlocale (LC_ALL, name) == NULL)
+ return 77;
+
+ /* Clobber the codepage and MB_CUR_MAX, both set by setlocale(). */
+ __lc_codepage = codepage;
+ switch (codepage)
+ {
+ case 1252:
+ case 1256:
+ MB_CUR_MAX = 1;
+ break;
+ case 932:
+ case 950:
+ case 936:
+ MB_CUR_MAX = 2;
+ break;
+ case 54936:
+ case 65001:
+ MB_CUR_MAX = 4;
+ break;
+ }
+
+ /* Test whether the codepage is really available. */
+ {
+ mbstate_t state;
+ wchar_t wc;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtowc (&wc, " ", 1, &state) == (size_t)(-1))
+ return 77;
+ }
+ }
+# endif
+
+ /* Test NUL character. */
+ {
+ buf[0] = 'x';
+ ret = c32rtomb (buf, 0, NULL);
+ ASSERT (ret == 1);
+ ASSERT (buf[0] == '\0');
+ }
+
+ /* Test single bytes. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ ret = c32rtomb (buf, btoc32 (c), NULL);
+ ASSERT (ret == 1);
+ ASSERT (buf[0] == (char) c);
+ break;
+ }
+ }
+
+ /* Test special calling convention, passing a NULL pointer. */
+ {
+ ret = c32rtomb (NULL, '\0', NULL);
+ ASSERT (ret == 1);
+ ret = c32rtomb (NULL, btoc32 ('x'), NULL);
+ ASSERT (ret == 1);
+ }
+
+ switch (codepage)
+ {
+ case 1252:
+ /* Locale encoding is CP1252, an extension of ISO-8859-1. */
+ {
+ /* Convert "B\374\337er": "Büßer" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x00FC, NULL);
+ ASSERT (ret == 1);
+ ASSERT (memcmp (buf, "\374", 1) == 0);
+ ASSERT (buf[1] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x00DF, NULL);
+ ASSERT (ret == 1);
+ ASSERT (memcmp (buf, "\337", 1) == 0);
+ ASSERT (buf[1] == 'x');
+ }
+ return 0;
+
+ case 1256:
+ /* Locale encoding is CP1256, not the same as ISO-8859-6. */
+ {
+ /* Convert "x\302\341\346y": "xآلوy" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x0622, NULL);
+ ASSERT (ret == 1);
+ ASSERT (memcmp (buf, "\302", 1) == 0);
+ ASSERT (buf[1] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x0644, NULL);
+ ASSERT (ret == 1);
+ ASSERT (memcmp (buf, "\341", 1) == 0);
+ ASSERT (buf[1] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x0648, NULL);
+ ASSERT (ret == 1);
+ ASSERT (memcmp (buf, "\346", 1) == 0);
+ ASSERT (buf[1] == 'x');
+ }
+ return 0;
+
+ case 65001:
+ /* Locale encoding is CP65001 = UTF-8. */
+ if (strcmp (locale_charset (), "UTF-8") != 0)
+ return 77;
+ {
+ /* Convert "s\303\274\303\237\360\237\230\213!"; "süß😋!" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x00FC, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\303\274", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x00DF, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\303\237", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x1F60B, NULL);
+ ASSERT (ret == 4);
+ ASSERT (memcmp (buf, "\360\237\230\213", 4) == 0);
+ ASSERT (buf[4] == 'x');
+ }
+ return 0;
+
+ case 932:
+ /* Locale encoding is CP932, similar to Shift_JIS. */
+ {
+ /* Convert "<\223\372\226\173\214\352>": "<日本語>" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x65E5, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\223\372", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x672C, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\226\173", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x8A9E, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\214\352", 2) == 0);
+ ASSERT (buf[2] == 'x');
+ }
+ return 0;
+
+ case 950:
+ /* Locale encoding is CP950, similar to Big5. */
+ {
+ /* Convert "<\244\351\245\273\273\171>": "<日本語>" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x65E5, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\244\351", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x672C, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\245\273", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x8A9E, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\273\171", 2) == 0);
+ ASSERT (buf[2] == 'x');
+ }
+ return 0;
+
+ case 936:
+ /* Locale encoding is CP936 = GBK, an extension of GB2312. */
+ {
+ /* Convert "<\310\325\261\276\325\132>": "<日本語>" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x65E5, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\310\325", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x672C, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\261\276", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x8A9E, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\325\132", 2) == 0);
+ ASSERT (buf[2] == 'x');
+ }
+ return 0;
+
+ case 54936:
+ /* Locale encoding is CP54936 = GB18030. */
+ if (strcmp (locale_charset (), "GB18030") != 0)
+ return 77;
+ {
+ /* Convert "s\250\271\201\060\211\070\224\071\375\067!"; "süß😋!" */
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x00FC, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\250\271", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x00DF, NULL);
+ ASSERT (ret == 4);
+ ASSERT (memcmp (buf, "\201\060\211\070", 4) == 0);
+ ASSERT (buf[4] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = c32rtomb (buf, 0x1F60B, NULL);
+ ASSERT (ret == 4);
+ ASSERT (memcmp (buf, "\224\071\375\067", 4) == 0);
+ ASSERT (buf[4] == 'x');
+ }
+ return 0;
+
+ default:
+ return 1;
+ }
+}
+
+int
+main (int argc, char *argv[])
+{
+ int codepage = atoi (argv[argc - 1]);
+ int result;
+ int i;
+
+ result = 77;
+ for (i = 1; i < argc - 1; i++)
+ {
+ int ret = test_one_locale (argv[i], codepage);
+
+ if (ret != 77)
+ result = ret;
+ }
+
+ if (result == 77)
+ {
+ fprintf (stderr, "Skipping test: found no locale with codepage %d\n",
+ codepage);
+ }
+ return result;
+}
+
+#else
+
+int
+main (int argc, char *argv[])
+{
+ fputs ("Skipping test: not a native Windows system\n", stderr);
+ return 77;
+}
+
+#endif
diff --git a/tests/test-c32rtomb.c b/tests/test-c32rtomb.c
new file mode 100644
index 00000000..c33d08d3
--- /dev/null
+++ b/tests/test-c32rtomb.c
@@ -0,0 +1,174 @@
+/* Test of conversion of wide character to multibyte character.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32rtomb, size_t, (char *, char32_t, mbstate_t *));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "macros.h"
+
+/* Check the multibyte character s[0..n-1]. */
+static void
+check_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ char buf[64];
+ int iret;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ iret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (iret == n);
+
+ ret = c32rtomb (buf, wc, NULL);
+ ASSERT (ret == n);
+ ASSERT (memcmp (buf, s, n) == 0);
+
+ /* Test special calling convention, passing a NULL pointer. */
+ ret = c32rtomb (NULL, wc, NULL);
+ ASSERT (ret == 1);
+}
+
+int
+main (int argc, char *argv[])
+{
+ char buf[64];
+ size_t ret;
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test NUL character. */
+ {
+ buf[0] = 'x';
+ ret = c32rtomb (buf, 0, NULL);
+ ASSERT (ret == 1);
+ ASSERT (buf[0] == '\0');
+ }
+
+ /* Test single bytes. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ ret = c32rtomb (buf, btoc32 (c), NULL);
+ ASSERT (ret == 1);
+ ASSERT (buf[0] == (char) c);
+ break;
+ }
+ }
+
+ /* Test special calling convention, passing a NULL pointer. */
+ {
+ ret = c32rtomb (NULL, '\0', NULL);
+ ASSERT (ret == 1);
+ ret = c32rtomb (NULL, btoc32 ('x'), NULL);
+ ASSERT (ret == 1);
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '1':
+ /* C locale; tested above. */
+ return 0;
+
+ case '2':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ const char input[] = "B\374\337er"; /* "Büßer" */
+
+ check_character (input + 1, 1);
+ check_character (input + 2, 1);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ const char input[] = "s\303\274\303\237\360\237\230\213!"; /* "süß😋!" */
+
+ check_character (input + 1, 2);
+ check_character (input + 3, 2);
+ check_character (input + 5, 4);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is EUC-JP. */
+ {
+ const char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */
+
+ check_character (input + 1, 2);
+ check_character (input + 3, 2);
+ check_character (input + 5, 2);
+ }
+ return 0;
+
+ case '5':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ const char input[] = "s\250\271\201\060\211\070\224\071\375\067!"; /* "süß😋!" */
+
+ check_character (input + 1, 2);
+ check_character (input + 3, 4);
+ check_character (input + 7, 4);
+ }
+ return 0;
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32rtomb.sh b/tests/test-c32rtomb.sh
new file mode 100755
index 00000000..e5236c97
--- /dev/null
+++ b/tests/test-c32rtomb.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32rtomb${EXEEXT} 1 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32rtomb${EXEEXT} 1 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32rtomb${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32rtomb${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32rtomb${EXEEXT} 4 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32rtomb${EXEEXT} 5
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32tolower.c b/tests/test-c32tolower.c
new file mode 100644
index 00000000..681191b4
--- /dev/null
+++ b/tests/test-c32tolower.c
@@ -0,0 +1,440 @@
+/* Test of c32tolower() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32tolower, wint_t, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Representation of a multibyte character. */
+#define MBCHAR_BUF_SIZE 6
+struct multibyte
+{
+ size_t nbytes; /* number of bytes of current character, > 0 */
+ char buf[MBCHAR_BUF_SIZE]; /* room for the bytes */
+};
+
+/* Returns the value of c32tolower for the multibyte character s[0..n-1],
+ as a multibyte character. */
+static struct multibyte
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+ struct multibyte result;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, s, n, &state);
+ ASSERT (ret == n);
+
+ wc = c32tolower (wc);
+ ASSERT (wc != WEOF);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ ret = c32rtomb (result.buf, wc, &state);
+ ASSERT (ret != 0);
+ if (ret == (size_t)(-1))
+ /* wc cannot be converted back to multibyte. */
+ result.nbytes = 0;
+ else
+ {
+ ASSERT (ret <= MBCHAR_BUF_SIZE);
+ result.nbytes = ret;
+ }
+ return result;
+}
+
+int
+main (int argc, char *argv[])
+{
+ wint_t wc;
+ struct multibyte mb;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ wc = c32tolower (WEOF);
+ ASSERT (wc == WEOF);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ that
+ - in all locales, the uppercase characters include the A ... Z
+ characters, and the corresponding characters a ... z (if not in a
+ Turkish locale) are lowercase,
+ - in the "POSIX" locale (which is usually the same as the "C" locale),
+ the uppercase characters include only the ASCII A ... Z characters,
+ and the corresponding characters a ... z are lowercase.
+ */
+#if defined __NetBSD__
+ /* towlower is broken in the zh_CN.GB18030 locale on NetBSD 9.0.
+ See <https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57339>. */
+ if (!(argc > 1 && argv[1][0] == '4'))
+#endif
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ mb = for_character (buf, 1);
+ switch (c)
+ {
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ ASSERT (mb.nbytes == 1);
+ ASSERT ((unsigned char) mb.buf[0] == (unsigned char) c - 'A' + 'a');
+ break;
+ default:
+ ASSERT (mb.nbytes == 1);
+ ASSERT ((unsigned char) mb.buf[0] == c);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ return 0;
+
+ case '1':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ mb = for_character ("\262", 1);
+ ASSERT (mb.nbytes == 1);
+ ASSERT (memcmp (mb.buf, "\262", 1) == 0);
+ /* U+00B5 MICRO SIGN */
+ mb = for_character ("\265", 1);
+ ASSERT (mb.nbytes == 1);
+ ASSERT (memcmp (mb.buf, "\265", 1) == 0);
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ mb = for_character ("\311", 1);
+ ASSERT (mb.nbytes == 1);
+ ASSERT (memcmp (mb.buf, "\351", 1) == 0);
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ mb = for_character ("\337", 1);
+ ASSERT (mb.nbytes == 1);
+ ASSERT (memcmp (mb.buf, "\337", 1) == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ mb = for_character ("\351", 1);
+ ASSERT (mb.nbytes == 1);
+ ASSERT (memcmp (mb.buf, "\351", 1) == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ mb = for_character ("\377", 1);
+ ASSERT (mb.nbytes == 1);
+ ASSERT (memcmp (mb.buf, "\377", 1) == 0);
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is EUC-JP. */
+ {
+ #if !((defined __APPLE__ && defined __MACH__) || defined __DragonFly__)
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ mb = for_character ("\217\252\261", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\217\253\261", 3) == 0);
+ #endif
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ mb = for_character ("\217\251\316", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\217\251\316", 3) == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ mb = for_character ("\217\253\261", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\217\253\261", 3) == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ mb = for_character ("\217\253\363", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\217\253\363", 3) == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __DragonFly__)
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ mb = for_character ("\217\251\250", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\217\251\310", 3) == 0);
+ #endif
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ mb = for_character ("\217\251\310", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\217\251\310", 3) == 0);
+ #if !defined __DragonFly__
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ mb = for_character ("\247\273", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\247\353", 2) == 0);
+ #endif
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ mb = for_character ("\247\353", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\247\353", 2) == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ mb = for_character ("\244\323", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\244\323", 2) == 0);
+ #if !defined __DragonFly__
+ /* U+FF27 FULLWIDTH LATIN CAPITAL LETTER G */
+ mb = for_character ("\243\307", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\243\347", 2) == 0);
+ #endif
+ /* U+FF47 FULLWIDTH LATIN SMALL LETTER G */
+ mb = for_character ("\243\347", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\243\347", 2) == 0);
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ mb = for_character ("\302\262", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\302\262", 2) == 0);
+ /* U+00B5 MICRO SIGN */
+ mb = for_character ("\302\265", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\302\265", 2) == 0);
+ #if !(defined _WIN32 && !defined __CYGWIN__)
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ mb = for_character ("\303\211", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\303\251", 2) == 0);
+ #endif
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ mb = for_character ("\303\237", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\303\237", 2) == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ mb = for_character ("\303\251", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\303\251", 2) == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ mb = for_character ("\303\277", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\303\277", 2) == 0);
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ mb = for_character ("\305\201", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\305\202", 2) == 0);
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ mb = for_character ("\305\202", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\305\202", 2) == 0);
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ mb = for_character ("\320\251", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\321\211", 2) == 0);
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ mb = for_character ("\321\211", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\321\211", 2) == 0);
+ /* U+05D5 HEBREW LETTER VAV */
+ mb = for_character ("\327\225", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\327\225", 2) == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ mb = for_character ("\343\201\263", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\343\201\263", 3) == 0);
+ /* U+3162 HANGUL LETTER YI */
+ mb = for_character ("\343\205\242", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\343\205\242", 3) == 0);
+ /* U+FF27 FULLWIDTH LATIN CAPITAL LETTER G */
+ mb = for_character ("\357\274\247", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\357\275\207", 3) == 0);
+ /* U+FF47 FULLWIDTH LATIN SMALL LETTER G */
+ mb = for_character ("\357\275\207", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\357\275\207", 3) == 0);
+ /* U+FFDB HALFWIDTH HANGUL LETTER YI */
+ mb = for_character ("\357\277\233", 3);
+ ASSERT (mb.nbytes == 3);
+ ASSERT (memcmp (mb.buf, "\357\277\233", 3) == 0);
+ #if !(defined __DragonFly__ || defined __sun)
+ /* U+10419 DESERET CAPITAL LETTER EF */
+ mb = for_character ("\360\220\220\231", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\360\220\221\201", 4) == 0);
+ #endif
+ /* U+10441 DESERET SMALL LETTER EF */
+ mb = for_character ("\360\220\221\201", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\360\220\221\201", 4) == 0);
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ mb = for_character ("\363\240\201\201", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\363\240\201\201", 4) == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ mb = for_character ("\363\240\201\241", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\363\240\201\241", 4) == 0);
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ /* U+00B2 SUPERSCRIPT TWO */
+ mb = for_character ("\201\060\205\065", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\205\065", 4) == 0);
+ /* U+00B5 MICRO SIGN */
+ mb = for_character ("\201\060\205\070", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\205\070", 4) == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+ mb = for_character ("\201\060\207\067", 4);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\250\246", 2) == 0);
+ #endif
+ /* U+00DF LATIN SMALL LETTER SHARP S */
+ mb = for_character ("\201\060\211\070", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\211\070", 4) == 0);
+ /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+ mb = for_character ("\250\246", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\250\246", 2) == 0);
+ /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+ mb = for_character ("\201\060\213\067", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\213\067", 4) == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+ mb = for_character ("\201\060\221\071", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\222\060", 4) == 0);
+ #endif
+ /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+ mb = for_character ("\201\060\222\060", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\222\060", 4) == 0);
+ #if !(defined __FreeBSD__ || defined __DragonFly__)
+ /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+ mb = for_character ("\247\273", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\247\353", 2) == 0);
+ #endif
+ /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+ mb = for_character ("\247\353", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\247\353", 2) == 0);
+ /* U+05D5 HEBREW LETTER VAV */
+ mb = for_character ("\201\060\371\067", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\060\371\067", 4) == 0);
+ /* U+3073 HIRAGANA LETTER BI */
+ mb = for_character ("\244\323", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\244\323", 2) == 0);
+ /* U+3162 HANGUL LETTER YI */
+ mb = for_character ("\201\071\256\062", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\201\071\256\062", 4) == 0);
+ #if !defined __DragonFly__
+ /* U+FF27 FULLWIDTH LATIN CAPITAL LETTER G */
+ mb = for_character ("\243\307", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\243\347", 2) == 0);
+ #endif
+ /* U+FF47 FULLWIDTH LATIN SMALL LETTER G */
+ mb = for_character ("\243\347", 2);
+ ASSERT (mb.nbytes == 2);
+ ASSERT (memcmp (mb.buf, "\243\347", 2) == 0);
+ /* U+FFDB HALFWIDTH HANGUL LETTER YI */
+ mb = for_character ("\204\061\241\071", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\204\061\241\071", 4) == 0);
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun)
+ /* U+10419 DESERET CAPITAL LETTER EF */
+ mb = for_character ("\220\060\351\071", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\220\060\355\071", 4) == 0);
+ #endif
+ /* U+10441 DESERET SMALL LETTER EF */
+ mb = for_character ("\220\060\355\071", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\220\060\355\071", 4) == 0);
+ /* U+E0041 TAG LATIN CAPITAL LETTER A */
+ mb = for_character ("\323\066\234\063", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\323\066\234\063", 4) == 0);
+ /* U+E0061 TAG LATIN SMALL LETTER A */
+ mb = for_character ("\323\066\237\065", 4);
+ ASSERT (mb.nbytes == 4);
+ ASSERT (memcmp (mb.buf, "\323\066\237\065", 4) == 0);
+ }
+ return 0;
+
+ }
+
+ return 1;
+}
diff --git a/tests/test-c32tolower.sh b/tests/test-c32tolower.sh
new file mode 100755
index 00000000..02f3e5f6
--- /dev/null
+++ b/tests/test-c32tolower.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# Allow distinguishing the various invocations in the .log file.
+set -x
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-c32tolower${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-c32tolower${EXEEXT} 0 || exit 1
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR \
+ ${CHECKER} ./test-c32tolower${EXEEXT} 1 \
+ || exit 1
+fi
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA \
+ ${CHECKER} ./test-c32tolower${EXEEXT} 2 \
+ || exit 1
+fi
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 \
+ ${CHECKER} ./test-c32tolower${EXEEXT} 3 \
+ || exit 1
+fi
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN \
+ ${CHECKER} ./test-c32tolower${EXEEXT} 4
+ case $? in
+ 0 | 77) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+exit 0
diff --git a/tests/test-c32width.c b/tests/test-c32width.c
new file mode 100644
index 00000000..4ebc1afa
--- /dev/null
+++ b/tests/test-c32width.c
@@ -0,0 +1,104 @@
+/* Test of c32width() function.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (c32width, int, (char32_t));
+
+#include <locale.h>
+#include <string.h>
+
+#include "c-ctype.h"
+#include "localcharset.h"
+#include "macros.h"
+
+int
+main ()
+{
+ char32_t wc;
+
+#if !GNULIB_WCHAR_SINGLE_LOCALE
+# ifdef C_CTYPE_ASCII
+ /* Test width of ASCII characters. */
+ for (wc = 0x20; wc < 0x7F; wc++)
+ ASSERT (c32width (wc) == 1);
+# endif
+#endif
+
+ /* Switch to an UTF-8 locale. */
+ if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL
+ /* Check whether it's really an UTF-8 locale.
+ On OpenBSD 4.0, the setlocale call succeeds only for the LC_CTYPE
+ category and therefore returns "C/fr_FR.UTF-8/C/C/C/C", but the
+ LC_CTYPE category is effectively set to an ASCII LC_CTYPE category;
+ in particular, locale_charset() returns "ASCII". */
+ && strcmp (locale_charset (), "UTF-8") == 0)
+ {
+ /* Test width of ASCII characters. */
+ for (wc = 0x20; wc < 0x7F; wc++)
+ ASSERT (c32width (wc) == 1);
+
+ /* Test width of some non-spacing characters. */
+ ASSERT (c32width (0x0301) == 0);
+ ASSERT (c32width (0x05B0) == 0);
+
+ /* Test width of some format control characters. */
+ ASSERT (c32width (0x200E) <= 0);
+ ASSERT (c32width (0x2060) <= 0);
+ ASSERT (c32width (0xE0001) <= 0);
+ ASSERT (c32width (0xE0044) <= 0);
+
+ /* Test width of some zero width characters. */
+ /* While it is desirable that U+200B, U+200C, U+200D have width 0,
+ because this makes wcswidth work better on strings that contain these
+ characters, it is acceptable if an implementation treats these
+ characters like control characters. */
+ ASSERT (c32width (0x200B) <= 0);
+ ASSERT (c32width (0xFEFF) <= 0);
+
+ /* Test width of some math symbols.
+ U+2202 is marked as having ambiguous width (A) in EastAsianWidth.txt
+ (see <https://www.unicode.org/Public/12.0.0/ucd/EastAsianWidth.txt>).
+ The Unicode Standard Annex 11
+ <https://www.unicode.org/reports/tr11/tr11-36.html>
+ says
+ "Ambiguous characters behave like wide or narrow characters
+ depending on the context (language tag, script identification,
+ associated font, source of data, or explicit markup; all can
+ provide the context). If the context cannot be established
+ reliably, they should be treated as narrow characters by default."
+ For c32width(), the only available context information is the locale.
+ "fr_FR.UTF-8" is a Western locale, not an East Asian locale, therefore
+ U+2202 should be treated like a narrow character. */
+ ASSERT (c32width (0x2202) == 1);
+
+ /* Test width of some CJK characters. */
+ ASSERT (c32width (0x3000) == 2);
+ ASSERT (c32width (0xB250) == 2);
+ ASSERT (c32width (0xFF1A) == 2);
+ #if !(defined __FreeBSD__ && __FreeBSD__ < 13 && !defined __GLIBC__)
+ ASSERT (c32width (0x20369) == 2);
+ ASSERT (c32width (0x2F876) == 2);
+ #endif
+ }
+
+ return 0;
+}
diff --git a/tests/test-calloc-gnu.c b/tests/test-calloc-gnu.c
index 4a7b7745..cf8c564a 100644
--- a/tests/test-calloc-gnu.c
+++ b/tests/test-calloc-gnu.c
@@ -1,5 +1,5 @@
/* Test of calloc function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -63,7 +63,7 @@ main ()
ASSERT (p == NULL);
ASSERT (errno == ENOMEM);
- p = calloc (SIZE_MAX / n + 1, identity (n));
+ p = calloc (SIZE_MAX / n + 1, identity (n));
ASSERT (p == NULL);
ASSERT (errno == ENOMEM);
}
diff --git a/tests/test-cloexec.c b/tests/test-cloexec.c
index 6069e537..76480bb6 100644
--- a/tests/test-cloexec.c
+++ b/tests/test-cloexec.c
@@ -1,5 +1,5 @@
/* Test duplicating non-inheritable file descriptors.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -62,8 +62,12 @@ is_inheritable (int fd)
}
#if !O_BINARY
-# define set_binary_mode(f,m) zero ()
-static int zero (void) { return 0; }
+# define set_binary_mode my_set_binary_mode
+static int
+set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
+{
+ return 0;
+}
#endif
/* Return non-zero if FD is open in the given MODE, which is either
diff --git a/tests/test-close.c b/tests/test-close.c
index db25aab0..47b3aa45 100644
--- a/tests/test-close.c
+++ b/tests/test-close.c
@@ -1,5 +1,5 @@
/* Test closing a file or socket.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-connect.c b/tests/test-connect.c
index 2a93d01f..ea4b66ed 100644
--- a/tests/test-connect.c
+++ b/tests/test-connect.c
@@ -1,5 +1,5 @@
/* Test connecting a client socket.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-ctype.c b/tests/test-ctype.c
index 93c4e32b..d7a9e415 100644
--- a/tests/test-ctype.c
+++ b/tests/test-ctype.c
@@ -1,5 +1,5 @@
/* Test of <ctype.h> substitute.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-dup2.c b/tests/test-dup2.c
index e4ec1c25..55f31940 100644
--- a/tests/test-dup2.c
+++ b/tests/test-dup2.c
@@ -1,5 +1,5 @@
/* Test duplicating file descriptors.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -50,6 +50,12 @@ SIGNATURE_CHECK (dup2, int, (int, int));
#include "macros.h"
+/* Tell GCC not to warn about the specific edge cases tested here. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-leak"
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-use-without-check"
+#endif
+
/* Return non-zero if FD is open. */
static int
is_open (int fd)
@@ -92,8 +98,12 @@ is_inheritable (int fd)
#endif /* GNULIB_TEST_CLOEXEC */
#if !O_BINARY
-# define set_binary_mode(f,m) zero ()
-static int zero (void) { return 0; }
+# define set_binary_mode my_set_binary_mode
+static int
+set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
+{
+ return 0;
+}
#endif
/* Return non-zero if FD is open in the given MODE, which is either
diff --git a/tests/test-environ.c b/tests/test-environ.c
index 6242205f..fdd944f6 100644
--- a/tests/test-environ.c
+++ b/tests/test-environ.c
@@ -1,5 +1,5 @@
/* Test of environ variable.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-errno.c b/tests/test-errno.c
index bbfd5da6..99600add 100644
--- a/tests/test-errno.c
+++ b/tests/test-errno.c
@@ -1,5 +1,5 @@
/* Test of <errno.h> substitute.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-error.c b/tests/test-error.c
new file mode 100644
index 00000000..02704d7c
--- /dev/null
+++ b/tests/test-error.c
@@ -0,0 +1,89 @@
+/* Test of error.h functions.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+/* Specification. */
+#include <error.h>
+
+#include <errno.h>
+
+#include "macros.h"
+
+/* Custom function to not show the program name in error messages. */
+static void
+print_no_progname (void)
+{
+}
+
+int
+main ()
+{
+ /* Test error() function with zero STATUS and zero ERRNUM. */
+ error (0, 0, "bummer");
+ /* With format string arguments. */
+ errno = EINVAL; /* should be ignored */
+ error (0, 0, "Zonk %d%d%d is too large", 1, 2, 3);
+ /* With non-ASCII characters. */
+ error (0, 0, "Pokémon started");
+ /* Verify error_message_count. */
+ ASSERT (error_message_count == 3);
+
+ /* Test error_at_line() function with zero STATUS and zero ERRNUM. */
+ error_at_line (0, 0, "d1/foo.c", 10, "invalid blub");
+ error_at_line (0, 0, "d1/foo.c", 10, "invalid blarn");
+ /* Verify error_message_count. */
+ ASSERT (error_message_count == 5);
+
+ /* Test error_one_per_line. */
+ error_one_per_line = 1;
+ error_at_line (0, 0, "d1/foo.c", 10, "unsupported glink");
+ /* Another line number. */
+ error_at_line (0, 0, "d1/foo.c", 13, "invalid brump");
+ /* Another file name. */
+ error_at_line (0, 0, "d2/foo.c", 13, "unsupported flinge");
+ /* Same file name and same line number => message not shown. */
+ error_at_line (0, 0, "d2/foo.c", 13, "invalid bark");
+ /* Verify error_message_count. */
+ ASSERT (error_message_count == 8);
+ error_one_per_line = 0;
+
+ /* Test error_print_progname. */
+ error_print_progname = print_no_progname;
+ error (0, 0, "hammer");
+ error (0, 0, "boing %d%d%d is too large", 1, 2, 3);
+ #if 0
+ /* The documentation does not describe the output if the file name is NULL. */
+ error_at_line (0, 0, NULL, 42, "drummer too loud");
+ #endif
+ error_at_line (0, 0, "d2/bar.c", 11, "bark too loud");
+ /* Verify error_message_count. */
+ ASSERT (error_message_count == 11);
+ error_print_progname = NULL;
+
+ /* Test error() function with nonzero ERRNUM. */
+ errno = EINVAL; /* should be ignored */
+ error (0, EACCES, "can't steal");
+ /* Verify error_message_count. */
+ ASSERT (error_message_count == 12);
+
+ /* Test error() function with nonzero STATUS. */
+ error (4, 0, "fatal error");
+
+ return 0;
+}
diff --git a/tests/test-error.sh b/tests/test-error.sh
new file mode 100755
index 00000000..d173e183
--- /dev/null
+++ b/tests/test-error.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+# Test of the 'error' module.
+
+. "${srcdir=.}/init.sh"; path_prepend_ .
+
+${CHECKER} test-error${EXEEXT} > out 2> err
+# Verify the exit code.
+case $? in
+ 4) ;;
+ *) Exit 1;;
+esac
+
+# Normalize the stderr output on Windows platforms.
+tr -d '\015' < err | sed 's,.*test-error[.ex]*:,test-error:,' > err2 || Exit 1
+
+# Verify the stderr output.
+compare - err2 <<\EOF || Exit 1
+test-error: bummer
+test-error: Zonk 123 is too large
+test-error: Pokémon started
+test-error:d1/foo.c:10: invalid blub
+test-error:d1/foo.c:10: invalid blarn
+test-error:d1/foo.c:10: unsupported glink
+test-error:d1/foo.c:13: invalid brump
+test-error:d2/foo.c:13: unsupported flinge
+hammer
+boing 123 is too large
+d2/bar.c:11: bark too loud
+test-error: can't steal: Permission denied
+test-error: fatal error
+EOF
+
+# Verify the stdout output.
+test -s out && Exit 1
+
+Exit 0
diff --git a/tests/test-fcntl-h.c b/tests/test-fcntl-h.c
index 15019792..d6331672 100644
--- a/tests/test-fcntl-h.c
+++ b/tests/test-fcntl-h.c
@@ -1,5 +1,5 @@
/* Test of <fcntl.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fcntl.c b/tests/test-fcntl.c
index 77ca3479..0eb24a9f 100644
--- a/tests/test-fcntl.c
+++ b/tests/test-fcntl.c
@@ -1,5 +1,5 @@
/* Test of fcntl(2).
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,9 +44,19 @@ SIGNATURE_CHECK (fcntl, int, (int, int, ...));
#include "binary-io.h"
#include "macros.h"
+/* Tell GCC not to warn about the specific edge cases tested here. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-leak"
+# pragma GCC diagnostic ignored "-Wanalyzer-va-arg-type-mismatch"
+#endif
+
#if !O_BINARY
-# define set_binary_mode(f,m) zero ()
-static int zero (void) { return 0; }
+# define set_binary_mode my_set_binary_mode
+static int
+set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
+{
+ return 0;
+}
#endif
/* Return true if FD is open. */
@@ -211,7 +221,7 @@ check_flags (void)
}
int
-main (int argc, char *argv[])
+main (int argc, _GL_UNUSED char *argv[])
{
if (argc > 1)
/* child process */
diff --git a/tests/test-fdopen.c b/tests/test-fdopen.c
index d67beedd..e5aa6442 100644
--- a/tests/test-fdopen.c
+++ b/tests/test-fdopen.c
@@ -1,5 +1,5 @@
/* Test opening a stream with a file descriptor.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,9 +33,14 @@ main (void)
failure, since the behavior is not well-defined on invalid file
descriptors, so try fdopen 1000 times and if that's not enough to
fail due to EMFILE, so be it. */
+ #if defined __ANDROID__ /* fdsan */
+ #define COUNT 1
+ #else
+ #define COUNT 1000
+ #endif
int i;
- for (i = 0; i < 1000; i++)
+ for (i = 0; i < COUNT; i++)
{
errno = 0;
if (! fdopen (STDOUT_FILENO, "w"))
diff --git a/tests/test-fgetc.c b/tests/test-fgetc.c
index 2b289dc1..0d617980 100644
--- a/tests/test-fgetc.c
+++ b/tests/test-fgetc.c
@@ -1,5 +1,5 @@
/* Test of fgetc() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ SIGNATURE_CHECK (fgetc, int, (FILE *));
#include "macros.h"
int
-main (int argc, char **argv)
+main ()
{
const char *filename = "test-fgetc.txt";
@@ -54,6 +54,7 @@ main (int argc, char **argv)
/* Test that fgetc() sets errno if someone else closes the stream
fd behind the back of stdio. */
+ #if !defined __ANDROID__ /* fdsan */
{
FILE *fp = fopen (filename, "r");
ASSERT (fp != NULL);
@@ -64,6 +65,7 @@ main (int argc, char **argv)
ASSERT (ferror (fp));
fclose (fp);
}
+ #endif
/* Test that fgetc() sets errno if the stream was constructed with
an invalid file descriptor. */
diff --git a/tests/test-float.c b/tests/test-float.c
index 986f7da8..e9dc4609 100644
--- a/tests/test-float.c
+++ b/tests/test-float.c
@@ -1,5 +1,5 @@
/* Test of <float.h> substitute.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,12 +20,48 @@
#include <float.h>
-#include "fpucw.h"
-#include "macros.h"
-
/* Check that FLT_RADIX is a constant expression. */
int a[] = { FLT_RADIX };
+/* ----------------------- Check macros for 'float' ----------------------- */
+
+/* Check that the FLT_* macros expand to constant expressions. */
+int fb[] =
+ {
+ FLT_MANT_DIG, FLT_MIN_EXP, FLT_MAX_EXP,
+ FLT_DIG, FLT_MIN_10_EXP, FLT_MAX_10_EXP
+ };
+float fc[] = { FLT_EPSILON, FLT_MIN, FLT_MAX };
+
+/* ----------------------- Check macros for 'double' ----------------------- */
+
+/* Check that the DBL_* macros expand to constant expressions. */
+int db[] =
+ {
+ DBL_MANT_DIG, DBL_MIN_EXP, DBL_MAX_EXP,
+ DBL_DIG, DBL_MIN_10_EXP, DBL_MAX_10_EXP
+ };
+double dc[] = { DBL_EPSILON, DBL_MIN, DBL_MAX };
+
+/* -------------------- Check macros for 'long double' -------------------- */
+
+/* Check that the LDBL_* macros expand to constant expressions. */
+int lb[] =
+ {
+ LDBL_MANT_DIG, LDBL_MIN_EXP, LDBL_MAX_EXP,
+ LDBL_DIG, LDBL_MIN_10_EXP, LDBL_MAX_10_EXP
+ };
+long double lc1 = LDBL_EPSILON;
+long double lc2 = LDBL_MIN;
+#if 0 /* LDBL_MAX is not a constant expression on some platforms. */
+long double lc3 = LDBL_MAX;
+#endif
+
+/* ------------------------------------------------------------------------- */
+
+#include "fpucw.h"
+#include "macros.h"
+
#if FLT_RADIX == 2
/* Return 2^n. */
@@ -117,14 +153,6 @@ pow2l (int n)
/* ----------------------- Check macros for 'float' ----------------------- */
-/* Check that the FLT_* macros expand to constant expressions. */
-int fb[] =
- {
- FLT_MANT_DIG, FLT_MIN_EXP, FLT_MAX_EXP,
- FLT_DIG, FLT_MIN_10_EXP, FLT_MAX_10_EXP
- };
-float fc[] = { FLT_EPSILON, FLT_MIN, FLT_MAX };
-
static void
test_float (void)
{
@@ -196,14 +224,6 @@ test_float (void)
/* ----------------------- Check macros for 'double' ----------------------- */
-/* Check that the DBL_* macros expand to constant expressions. */
-int db[] =
- {
- DBL_MANT_DIG, DBL_MIN_EXP, DBL_MAX_EXP,
- DBL_DIG, DBL_MIN_10_EXP, DBL_MAX_10_EXP
- };
-double dc[] = { DBL_EPSILON, DBL_MIN, DBL_MAX };
-
static void
test_double (void)
{
@@ -275,18 +295,6 @@ test_double (void)
/* -------------------- Check macros for 'long double' -------------------- */
-/* Check that the LDBL_* macros expand to constant expressions. */
-int lb[] =
- {
- LDBL_MANT_DIG, LDBL_MIN_EXP, LDBL_MAX_EXP,
- LDBL_DIG, LDBL_MIN_10_EXP, LDBL_MAX_10_EXP
- };
-long double lc1 = LDBL_EPSILON;
-long double lc2 = LDBL_MIN;
-#if 0 /* LDBL_MAX is not a constant expression on some platforms. */
-long double lc3 = LDBL_MAX;
-#endif
-
static void
test_long_double (void)
{
diff --git a/tests/test-fputc.c b/tests/test-fputc.c
index 34f4cf53..0d48a92f 100644
--- a/tests/test-fputc.c
+++ b/tests/test-fputc.c
@@ -1,5 +1,5 @@
/* Test of fputc() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ SIGNATURE_CHECK (fputc, int, (int, FILE *));
#include "macros.h"
int
-main (int argc, char **argv)
+main ()
{
const char *filename = "test-fputc.txt";
@@ -45,6 +45,7 @@ main (int argc, char **argv)
/* Test that fputc() on an unbuffered stream sets errno if someone else
closes the stream fd behind the back of stdio. */
+ #if !defined __ANDROID__ /* fdsan */
{
FILE *fp = fopen (filename, "w");
ASSERT (fp != NULL);
@@ -56,6 +57,7 @@ main (int argc, char **argv)
ASSERT (ferror (fp));
fclose (fp);
}
+ #endif
/* Test that fputc() on an unbuffered stream sets errno if the stream
was constructed with an invalid file descriptor. */
diff --git a/tests/test-fread.c b/tests/test-fread.c
index e85ce052..ac6bdecf 100644
--- a/tests/test-fread.c
+++ b/tests/test-fread.c
@@ -1,5 +1,5 @@
/* Test of fread() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *));
#include "macros.h"
int
-main (int argc, char **argv)
+main ()
{
const char *filename = "test-fread.txt";
@@ -54,6 +54,7 @@ main (int argc, char **argv)
/* Test that fread() sets errno if someone else closes the stream
fd behind the back of stdio. */
+ #if !defined __ANDROID__ /* fdsan */
{
FILE *fp = fopen (filename, "r");
char buf[5];
@@ -65,6 +66,7 @@ main (int argc, char **argv)
ASSERT (ferror (fp));
fclose (fp);
}
+ #endif
/* Test that fread() sets errno if the stream was constructed with
an invalid file descriptor. */
diff --git a/tests/test-free.c b/tests/test-free.c
index 9248712b..703c550e 100644
--- a/tests/test-free.c
+++ b/tests/test-free.c
@@ -1,5 +1,5 @@
/* Test of free() function.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-frexp.c b/tests/test-frexp.c
index db7d2079..3d6bc300 100644
--- a/tests/test-frexp.c
+++ b/tests/test-frexp.c
@@ -1,5 +1,5 @@
/* Test of splitting a double into fraction and mantissa.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-frexp.h b/tests/test-frexp.h
index cdc6ea3e..439c44ef 100644
--- a/tests/test-frexp.h
+++ b/tests/test-frexp.h
@@ -1,5 +1,5 @@
/* Test of splitting a double into fraction and mantissa.
- Copyright (C) 2012-2022 Free Software Foundation, Inc.
+ Copyright (C) 2012-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-frexpl.c b/tests/test-frexpl.c
index d469234d..ea4e9728 100644
--- a/tests/test-frexpl.c
+++ b/tests/test-frexpl.c
@@ -1,5 +1,5 @@
/* Test of splitting a 'long double' into fraction and mantissa.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fseterr.c b/tests/test-fseterr.c
index de28326d..61584a41 100644
--- a/tests/test-fseterr.c
+++ b/tests/test-fseterr.c
@@ -1,5 +1,5 @@
/* Test setting the error indicator of a stream.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fstat.c b/tests/test-fstat.c
index f2cb2137..7a361b86 100644
--- a/tests/test-fstat.c
+++ b/tests/test-fstat.c
@@ -1,5 +1,5 @@
/* Tests of fstat() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ SIGNATURE_CHECK (fstat, int, (int, struct stat *));
#include "macros.h"
int
-main (int argc, char *argv[])
+main ()
{
/* Test behaviour for invalid file descriptors. */
{
diff --git a/tests/test-ftruncate.c b/tests/test-ftruncate.c
index 64e1152a..e9daf1bd 100644
--- a/tests/test-ftruncate.c
+++ b/tests/test-ftruncate.c
@@ -1,5 +1,5 @@
/* Test truncating a file.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ SIGNATURE_CHECK (ftruncate, int, (int, off_t));
#include "macros.h"
int
-main (int argc, char *argv[])
+main (_GL_UNUSED int argc, char *argv[])
{
const char *filename = argv[1];
diff --git a/tests/test-fwrite.c b/tests/test-fwrite.c
index d362c40b..f00f35ca 100644
--- a/tests/test-fwrite.c
+++ b/tests/test-fwrite.c
@@ -1,5 +1,5 @@
/* Test of fwrite() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *));
#include "macros.h"
int
-main (int argc, char **argv)
+main ()
{
const char *filename = "test-fwrite.txt";
@@ -45,6 +45,7 @@ main (int argc, char **argv)
/* Test that fwrite() on an unbuffered stream sets errno if someone else
closes the stream fd behind the back of stdio. */
+ #if !defined __ANDROID__ /* fdsan */
{
FILE *fp = fopen (filename, "w");
char buf[5] = "world";
@@ -57,6 +58,7 @@ main (int argc, char **argv)
ASSERT (ferror (fp));
fclose (fp);
}
+ #endif
/* Test that fwrite() on an unbuffered stream sets errno if the stream
was constructed with an invalid file descriptor. */
diff --git a/tests/test-getcwd-lgpl.c b/tests/test-getcwd-lgpl.c
index 73fad473..1e7238a0 100644
--- a/tests/test-getcwd-lgpl.c
+++ b/tests/test-getcwd-lgpl.c
@@ -1,5 +1,5 @@
/* Test of getcwd() function.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -92,7 +92,7 @@ main (int argc, char **argv)
/* Validate a POSIX requirement on size. */
errno = 0;
- ASSERT (getcwd(pwd2, 0) == NULL);
+ ASSERT (getcwd (pwd2, 0) == NULL);
ASSERT (errno == EINVAL);
free (pwd1);
diff --git a/tests/test-getdtablesize.c b/tests/test-getdtablesize.c
index 48164279..401fe901 100644
--- a/tests/test-getdtablesize.c
+++ b/tests/test-getdtablesize.c
@@ -1,5 +1,5 @@
/* Test of getdtablesize() function.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,8 +25,13 @@ SIGNATURE_CHECK (getdtablesize, int, (void));
#include "macros.h"
+/* Tell GCC not to warn about the specific edge cases tested here. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-leak"
+#endif
+
int
-main (int argc, char *argv[])
+main ()
{
ASSERT (getdtablesize () >= 3);
ASSERT (dup2 (0, getdtablesize() - 1) == getdtablesize () - 1);
diff --git a/tests/test-getprogname.c b/tests/test-getprogname.c
index 8503f3c3..f26696db 100644
--- a/tests/test-getprogname.c
+++ b/tests/test-getprogname.c
@@ -1,5 +1,5 @@
/* Test the gnulib getprogname module.
- Copyright (C) 2016-2022 Free Software Foundation, Inc.
+ Copyright (C) 2016-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,7 +16,8 @@
#include <config.h>
-#include "getprogname.h"
+#include <stdlib.h>
+
#include <string.h>
#include <assert.h>
diff --git a/tests/test-gettimeofday.c b/tests/test-gettimeofday.c
index 47a5b58f..ea810bd5 100644
--- a/tests/test-gettimeofday.c
+++ b/tests/test-gettimeofday.c
@@ -1,6 +1,5 @@
/*
- * Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc.
- * Written by Jim Meyering.
+ * Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,6 +14,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. */
+/* Written by Jim Meyering and Bruno Haible. */
+
#include <config.h>
#include <sys/time.h>
@@ -26,10 +27,13 @@ SIGNATURE_CHECK (gettimeofday, int,
#include <time.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-int
-main (void)
+#include "macros.h"
+
+static void
+test_clobber ()
{
time_t t = 0;
struct tm *lt;
@@ -41,7 +45,44 @@ main (void)
if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
{
fprintf (stderr, "gettimeofday still clobbers the localtime buffer!\n");
- return 1;
+ exit (1);
}
+}
+
+static void
+test_consistency ()
+{
+ struct timeval tv1;
+ time_t tt2;
+ struct timeval tv3;
+ time_t tt4;
+
+ ASSERT (gettimeofday (&tv1, NULL) == 0);
+ tt2 = time (NULL);
+ ASSERT (gettimeofday (&tv3, NULL) == 0);
+ tt4 = time (NULL);
+
+ /* Verify monotonicity of gettimeofday(). */
+ ASSERT (tv1.tv_sec < tv3.tv_sec
+ || (tv1.tv_sec == tv3.tv_sec && tv1.tv_usec <= tv3.tv_usec));
+
+ /* Verify monotonicity of time(). */
+ ASSERT (tt2 <= tt4);
+
+ /* Verify that the tv_sec field of the result is the same as time(NULL). */
+ /* Note: It's here that the dependency to the 'time' module is needed.
+ Without it, this assertion would sometimes fail on glibc systems, see
+ https://sourceware.org/bugzilla/show_bug.cgi?id=30200 */
+ ASSERT (tv1.tv_sec <= tt2);
+ ASSERT (tt2 <= tv3.tv_sec);
+ ASSERT (tv3.tv_sec <= tt4);
+}
+
+int
+main (void)
+{
+ test_clobber ();
+ test_consistency ();
+
return 0;
}
diff --git a/tests/test-hard-locale.c b/tests/test-hard-locale.c
index 8570bc61..151843ca 100644
--- a/tests/test-hard-locale.c
+++ b/tests/test-hard-locale.c
@@ -1,5 +1,5 @@
/* Test of determination whether a locale is different from the "C" locale.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,8 +38,10 @@ test_one (const char *name, int failure_bitmask)
/* musl libc has special code for the C.UTF-8 locale; other than that,
all locale names are accepted and all locales are trivial.
OpenBSD returns the locale name that was set, but we don't know how it
- behaves under the hood. Likewise for Haiku. */
-#if defined MUSL_LIBC || defined __OpenBSD__ || defined __HAIKU__
+ behaves under the hood. Likewise for Haiku.
+ On Android >= 5.0, the "C" locale may have UTF-8 encoding, and we don't
+ know how it will behave in the future. */
+#if defined MUSL_LIBC || defined __OpenBSD__ || defined __HAIKU__ || defined __ANDROID__
expected = true;
#else
expected = !all_trivial;
@@ -57,12 +59,14 @@ test_one (const char *name, int failure_bitmask)
/* On NetBSD 7.0, some locales such as de_DE.ISO8859-1 and de_DE.UTF-8
have the LC_COLLATE category set to "C".
- Similarly, on musl libc, with the C.UTF-8 locale. */
+ Similarly, on musl libc, with the C.UTF-8 locale.
+ On Android >= 5.0, the "C" locale may have UTF-8 encoding, and we don't
+ know how it will behave in the future. */
#if defined __NetBSD__
expected = false;
#elif defined MUSL_LIBC
expected = strcmp (name, "C.UTF-8") != 0;
-#elif (defined __OpenBSD__ && HAVE_DUPLOCALE) || defined __HAIKU__ /* OpenBSD >= 6.2, Haiku */
+#elif (defined __OpenBSD__ && HAVE_DUPLOCALE) || defined __HAIKU__ || defined __ANDROID__ /* OpenBSD >= 6.2, Haiku, Android */
expected = true;
#else
expected = !all_trivial;
@@ -86,12 +90,16 @@ main ()
{
int fail = 0;
- /* The initial locale is the "C" or "POSIX" locale. */
+ /* The initial locale is the "C" or "POSIX" locale.
+ On Android >= 5.0, it is equivalent to the "C.UTF-8" locale, cf.
+ <https://lists.gnu.org/archive/html/bug-gnulib/2023-01/msg00141.html>. */
+#if ! defined __ANDROID__
if (hard_locale (LC_CTYPE) || hard_locale (LC_COLLATE))
{
fprintf (stderr, "The initial locale should not be hard!\n");
fail |= 1;
}
+#endif
all_trivial = (setlocale (LC_ALL, "foobar") != NULL);
diff --git a/tests/test-iconv-h.c b/tests/test-iconv-h.c
index 32bba5e8..ba1534d3 100644
--- a/tests/test-iconv-h.c
+++ b/tests/test-iconv-h.c
@@ -1,5 +1,5 @@
/* Test of <iconv.h> substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-iconv.c b/tests/test-iconv.c
index c92ac8aa..78bf7a2e 100644
--- a/tests/test-iconv.c
+++ b/tests/test-iconv.c
@@ -1,5 +1,5 @@
/* Test of character set conversion.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-ignore-value.c b/tests/test-ignore-value.c
index d35314b3..32edfb45 100644
--- a/tests/test-ignore-value.c
+++ b/tests/test-ignore-value.c
@@ -1,6 +1,6 @@
/* Test the "ignore-value" module.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-inet_pton.c b/tests/test-inet_pton.c
index 9ea0218f..6598d5a0 100644
--- a/tests/test-inet_pton.c
+++ b/tests/test-inet_pton.c
@@ -1,5 +1,5 @@
/* Test of inet_pton function.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-init.sh b/tests/test-init.sh
index cac46f71..8f20fe61 100755
--- a/tests/test-init.sh
+++ b/tests/test-init.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Unit tests for init.sh
-# Copyright (C) 2011-2022 Free Software Foundation, Inc.
+# Copyright (C) 2011-2024 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-intprops.c b/tests/test-intprops.c
index a54d5812..e0d63d47 100644
--- a/tests/test-intprops.c
+++ b/tests/test-intprops.c
@@ -1,5 +1,5 @@
/* Test intprops.h.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -173,7 +173,7 @@ main (void)
INT_<op>_OVERFLOW tests, so define macros to do both. OP is the
operation, OPNAME its symbolic name, A and B its operands, T the
result type, V the overflow flag, and VRES the result if V and if
- two's complement. CHECK_BINOP is for most binary operatinos,
+ two's complement. CHECK_BINOP is for most binary operations,
CHECK_SBINOP for binary +, -, * when the result type is signed,
and CHECK_UNOP for unary operations. */
#define CHECK_BINOP(op, opname, a, b, t, v, vres) \
diff --git a/tests/test-inttypes.c b/tests/test-inttypes.c
index 161b19c8..036ca510 100644
--- a/tests/test-inttypes.c
+++ b/tests/test-inttypes.c
@@ -1,5 +1,5 @@
/* Test of <inttypes.h> substitute.
- Copyright (C) 2006-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
#include <inttypes.h>
-#include <stddef.h>
-
/* Tests for macros supposed to be defined in inttypes.h. */
const char *k = /* implicit string concatenation */
diff --git a/tests/test-ioctl.c b/tests/test-ioctl.c
index 0db59c74..1fef85b4 100644
--- a/tests/test-ioctl.c
+++ b/tests/test-ioctl.c
@@ -1,5 +1,5 @@
/* Test of ioctl() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-isblank.c b/tests/test-isblank.c
index 2af87f42..8e13bae1 100644
--- a/tests/test-isblank.c
+++ b/tests/test-isblank.c
@@ -1,5 +1,5 @@
/* Test of isblank() function.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ SIGNATURE_CHECK (isblank, int, (int));
#include "macros.h"
int
-main (int argc, char *argv[])
+main ()
{
unsigned int c;
diff --git a/tests/test-isnand-nolibm.c b/tests/test-isnand-nolibm.c
index 6c3831c7..7b251aa9 100644
--- a/tests/test-isnand-nolibm.c
+++ b/tests/test-isnand-nolibm.c
@@ -1,5 +1,5 @@
/* Test of isnand() substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-isnand.h b/tests/test-isnand.h
index ef758608..5369e336 100644
--- a/tests/test-isnand.h
+++ b/tests/test-isnand.h
@@ -1,5 +1,5 @@
/* Test of isnand() substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,6 +21,7 @@
#include "minus-zero.h"
#include "infinity.h"
#include "nan.h"
+#include "snan.h"
#include "macros.h"
int
@@ -40,24 +41,9 @@ main ()
ASSERT (!isnand (- Infinityd ()));
/* Quiet NaN. */
ASSERT (isnand (NaNd ()));
-#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+#if HAVE_SNAND
/* Signalling NaN. */
- {
- #define NWORDS \
- ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
- typedef union { double value; unsigned int word[NWORDS]; } memory_double;
- memory_double m;
- m.value = NaNd ();
-# if DBL_EXPBIT0_BIT > 0
- m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
-# else
- m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
- m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
- ASSERT (isnand (m.value));
- }
+ ASSERT (isnand (SNaNd ()));
#endif
return 0;
}
diff --git a/tests/test-isnanf-nolibm.c b/tests/test-isnanf-nolibm.c
index c651a413..bd39f06f 100644
--- a/tests/test-isnanf-nolibm.c
+++ b/tests/test-isnanf-nolibm.c
@@ -1,5 +1,5 @@
/* Test of isnanf() substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-isnanf.h b/tests/test-isnanf.h
index 0855a031..6f138016 100644
--- a/tests/test-isnanf.h
+++ b/tests/test-isnanf.h
@@ -1,5 +1,5 @@
/* Test of isnanf() substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,6 +21,7 @@
#include "minus-zero.h"
#include "infinity.h"
#include "nan.h"
+#include "snan.h"
#include "macros.h"
int
@@ -40,26 +41,9 @@ main ()
ASSERT (!isnanf (- Infinityf ()));
/* Quiet NaN. */
ASSERT (isnanf (NaNf ()));
-#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+#if HAVE_SNANF
/* Signalling NaN. */
- {
- #define NWORDS \
- ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
- typedef union { float value; unsigned int word[NWORDS]; } memory_float;
- memory_float m;
- m.value = NaNf ();
-# if FLT_EXPBIT0_BIT > 0
- m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
-# else
- m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
- if (FLT_EXPBIT0_WORD < NWORDS / 2)
- m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
- else
- m.word[0] |= (unsigned int) 1;
- ASSERT (isnanf (m.value));
- }
+ ASSERT (isnanf (SNaNf ()));
#endif
return 0;
}
diff --git a/tests/test-isnanl-nolibm.c b/tests/test-isnanl-nolibm.c
index 3c3f5d7d..caed43e0 100644
--- a/tests/test-isnanl-nolibm.c
+++ b/tests/test-isnanl-nolibm.c
@@ -1,5 +1,5 @@
/* Test of isnanl() substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-isnanl.h b/tests/test-isnanl.h
index 37f986ed..ff42ee54 100644
--- a/tests/test-isnanl.h
+++ b/tests/test-isnanl.h
@@ -1,5 +1,5 @@
/* Test of isnanl() substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,16 +22,12 @@
#include "minus-zero.h"
#include "infinity.h"
#include "nan.h"
+#include "snan.h"
#include "macros.h"
int
main ()
{
- #define NWORDS \
- ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
- typedef union { unsigned int word[NWORDS]; long double value; }
- memory_long_double;
-
/* Finite values. */
ASSERT (!isnanl (3.141L));
ASSERT (!isnanl (3.141e30L));
@@ -46,32 +42,9 @@ main ()
ASSERT (!isnanl (- Infinityl ()));
/* Quiet NaN. */
ASSERT (isnanl (NaNl ()));
-
-#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
- /* A bit pattern that is different from a Quiet NaN. With a bit of luck,
- it's a Signalling NaN. */
- {
-#if defined __powerpc__ && LDBL_MANT_DIG == 106
- /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are
- represented as the corresponding 64-bit IEEE values in the first double;
- the second is ignored. Manipulate only the first double. */
- #undef NWORDS
- #define NWORDS \
- ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-#endif
-
- memory_long_double m;
- m.value = NaNl ();
-# if LDBL_EXPBIT0_BIT > 0
- m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
-# else
- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
- ASSERT (isnanl (m.value));
- }
+#if HAVE_SNANL
+ /* Signalling NaN. */
+ ASSERT (isnanl (SNaNl ()));
#endif
#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
@@ -89,41 +62,42 @@ main ()
# endif
{ /* Quiet NaN. */
static memory_long_double x =
- { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ { .word = LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
ASSERT (isnanl (x.value));
}
{
/* Signalling NaN. */
static memory_long_double x =
- { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ { .word = LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
ASSERT (isnanl (x.value));
}
/* isnanl should return something for noncanonical values. */
{ /* Pseudo-NaN. */
static memory_long_double x =
- { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ { .word = LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
ASSERT (isnanl (x.value) || !isnanl (x.value));
}
{ /* Pseudo-Infinity. */
static memory_long_double x =
- { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ { .word = LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
ASSERT (isnanl (x.value) || !isnanl (x.value));
}
{ /* Pseudo-Zero. */
static memory_long_double x =
- { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ { .word = LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
ASSERT (isnanl (x.value) || !isnanl (x.value));
}
{ /* Unnormalized number. */
static memory_long_double x =
- { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ { .word = LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
ASSERT (isnanl (x.value) || !isnanl (x.value));
}
{ /* Pseudo-Denormal. */
static memory_long_double x =
- { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ { .word = LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
ASSERT (isnanl (x.value) || !isnanl (x.value));
}
+ #undef NWORDS
#endif
return 0;
diff --git a/tests/test-iswblank.c b/tests/test-iswblank.c
index fe9a9a1f..e5925179 100644
--- a/tests/test-iswblank.c
+++ b/tests/test-iswblank.c
@@ -1,5 +1,5 @@
/* Test of iswblank() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,5 +31,10 @@ main (void)
/* Check that the isw* functions map WEOF to 0. */
ASSERT (!iswblank (e));
+ /* Sanity check for the iswblank function. */
+ ASSERT (iswblank (L' '));
+ ASSERT (iswblank (L'\t'));
+ ASSERT (!iswblank (L'\n'));
+
return 0;
}
diff --git a/tests/test-iswdigit.c b/tests/test-iswdigit.c
index ef024dc6..a5bcc4ff 100644
--- a/tests/test-iswdigit.c
+++ b/tests/test-iswdigit.c
@@ -1,5 +1,5 @@
/* Test of iswdigit() function.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-iswpunct.c b/tests/test-iswpunct.c
new file mode 100644
index 00000000..c0bbd168
--- /dev/null
+++ b/tests/test-iswpunct.c
@@ -0,0 +1,153 @@
+/* Test of iswpunct() function.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <wctype.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (iswpunct, int, (wint_t));
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+/* Returns the value of iswpunct for the multibyte character s[0..n-1]. */
+static int
+for_character (const char *s, size_t n)
+{
+ mbstate_t state;
+ wchar_t wc;
+ size_t ret;
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, s, n, &state);
+ if (ret == n)
+ return iswpunct (wc);
+ else
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ int is;
+ char buf[4];
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test WEOF. */
+ is = iswpunct (WEOF);
+ ASSERT (is == 0);
+
+ /* Test single-byte characters.
+ POSIX specifies in
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html>
+ no explicit list of punctuation or symbol characters. */
+ {
+ int c;
+
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = (unsigned char) c;
+ is = for_character (buf, 1);
+ switch (c)
+ {
+ case ' ':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ /* c is an alphanumeric or space character. */
+ ASSERT (is == 0);
+ break;
+ case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case '[': case '\\': case ']': case '^': case '_':
+ case '{': case '|': case '}': case '~':
+ /* These characters are usually expected to be punctuation or
+ symbol characters. */
+ ASSERT (is != 0);
+ break;
+ default:
+ ASSERT (is == 0);
+ break;
+ }
+ break;
+ }
+ }
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '0':
+ /* C locale; tested above. */
+ /* These characters are not in the ISO C "basic character set", but
+ are nevertheless usually expected to be punctuation or symbol
+ characters. */
+ is = for_character ("$", 1);
+ ASSERT (is != 0);
+ is = for_character ("@", 1);
+ ASSERT (is != 0);
+ is = for_character ("`", 1);
+ ASSERT (is != 0);
+ return 0;
+ }
+
+ return 1;
+}
diff --git a/tests/test-iswpunct.sh b/tests/test-iswpunct.sh
new file mode 100755
index 00000000..366e1859
--- /dev/null
+++ b/tests/test-iswpunct.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-iswpunct${EXEEXT} 0 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-iswpunct${EXEEXT} 0 || exit 1
+
+exit 0
diff --git a/tests/test-iswxdigit.c b/tests/test-iswxdigit.c
index 96e578b0..f4aeb493 100644
--- a/tests/test-iswxdigit.c
+++ b/tests/test-iswxdigit.c
@@ -1,5 +1,5 @@
/* Test of iswxdigit() function.
- Copyright (C) 2020-2022 Free Software Foundation, Inc.
+ Copyright (C) 2020-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-langinfo.c b/tests/test-langinfo.c
index 1a909b16..9561793b 100644
--- a/tests/test-langinfo.c
+++ b/tests/test-langinfo.c
@@ -1,5 +1,5 @@
/* Test of <langinfo.h> substitute.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-largefile.c b/tests/test-largefile.c
new file mode 100644
index 00000000..d2d6a157
--- /dev/null
+++ b/tests/test-largefile.c
@@ -0,0 +1,51 @@
+/* Test of largefile module.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+/* This test may fail if AC_SYS_LARGEFILE could not arrange for a 64-bit off_t.
+ This should be rare, though: only very old systems don't have support for
+ files larger than 2 GiB. */
+
+#include <config.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "intprops.h"
+
+/* Although these tests could be done with static_assert, the test
+ harness prefers dynamic checking. */
+
+int
+main (void)
+{
+ int result = 0;
+
+ /* Check the range of off_t.
+ With MSVC, this test succeeds only thanks to the 'sys_types' module. */
+ if (TYPE_MAXIMUM (off_t) >> 31 >> 31 == 0)
+ result |= 1;
+
+ /* Check the size of the 'struct stat' field 'st_size'.
+ With MSVC, this test succeeds only thanks to the 'sys_stat' module. */
+ {
+ struct stat st;
+ if (sizeof st.st_size != sizeof (off_t))
+ result |= 2;
+ }
+
+ return result;
+}
diff --git a/tests/test-limits-h.c b/tests/test-limits-h.c
index ddcb5d56..6f574c88 100644
--- a/tests/test-limits-h.c
+++ b/tests/test-limits-h.c
@@ -1,5 +1,5 @@
/* Test of <limits.h> substitute.
- Copyright 2016-2022 Free Software Foundation, Inc.
+ Copyright 2016-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -94,7 +94,11 @@ unsigned long long limits11[] = { ULLONG_MAX };
static_assert (TYPE_MINIMUM (unsigned long long int) == 0);
static_assert (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX);
-/* Macros specified by ISO/IEC TS 18661-1:2014. */
+/* Specified by POSIX, not by ISO C. */
+
+long long limits12[] = { SSIZE_MAX };
+
+/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */
verify_width (CHAR_WIDTH, CHAR_MIN, CHAR_MAX);
verify_width (SCHAR_WIDTH, SCHAR_MIN, SCHAR_MAX);
@@ -108,10 +112,19 @@ verify_width (ULONG_WIDTH, 0, ULONG_MAX);
verify_width (LLONG_WIDTH, LLONG_MIN, LLONG_MAX);
verify_width (ULLONG_WIDTH, 0, ULLONG_MAX);
-/* Macros specified by C2x. */
+/* Macros specified by C23. */
int bool_attrs[] = { BOOL_MAX, BOOL_WIDTH };
-static_assert (BOOL_MAX == (((1U << (BOOL_WIDTH - 1)) - 1) * 2) + 1);
+static_assert (BOOL_MAX == 1);
+
+static_assert (0 < MB_LEN_MAX);
+
+/* Get ssize_t, size_t. */
+#include <sys/types.h>
+
+static_assert (TYPE_MAXIMUM (ssize_t) == SSIZE_MAX);
+/* Verify that ssize_t has the same width as size_t. */
+static_assert (TYPE_MAXIMUM (size_t) / 2 == SSIZE_MAX);
int
main (void)
diff --git a/tests/test-listen.c b/tests/test-listen.c
index e9d34568..21fc7a2b 100644
--- a/tests/test-listen.c
+++ b/tests/test-listen.c
@@ -1,5 +1,5 @@
/* Test listen() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,6 +27,11 @@ SIGNATURE_CHECK (listen, int, (int, int));
#include "sockets.h"
#include "macros.h"
+/* Tell GCC not to warn about the specific edge cases tested here. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-use-without-check"
+#endif
+
int
main (void)
{
diff --git a/tests/test-localcharset.c b/tests/test-localcharset.c
index 9d6f941c..da6cbf6d 100644
--- a/tests/test-localcharset.c
+++ b/tests/test-localcharset.c
@@ -1,5 +1,5 @@
/* Manual test of localcharset() function.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-locale.c b/tests/test-locale.c
index 3aad7d85..e4e61aad 100644
--- a/tests/test-locale.c
+++ b/tests/test-locale.c
@@ -1,5 +1,5 @@
/* Test of <locale.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-localename.c b/tests/test-localename.c
index 9ba388f3..03b70527 100644
--- a/tests/test-localename.c
+++ b/tests/test-localename.c
@@ -1,5 +1,5 @@
/* Test of gl_locale_name function and its variants.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,6 +30,35 @@
# define HAVE_GOOD_USELOCALE 1
#endif
+#ifdef __HAIKU__
+/* Work around Haiku bug <https://dev.haiku-os.org/ticket/18344>. */
+# define freelocale(loc) ((void) (loc))
+#endif
+
+/* Suppress GCC false positive. */
+#if __GNUC__ >= 12
+# pragma GCC diagnostic ignored "-Wanalyzer-use-of-uninitialized-value"
+#endif
+
+/* The name that setlocale(,NULL) returns for the "C" locale. */
+#ifdef __HAIKU__
+# define C_CANONICALIZED "POSIX"
+#else
+# define C_CANONICALIZED "C"
+#endif
+
+static int
+is_default (const char *name)
+{
+ return strcmp (name, gl_locale_name_default ()) == 0
+ || (strcmp (name, C_CANONICALIZED) == 0
+ && strcmp (gl_locale_name_default (), "C") == 0)
+#if MUSL_LIBC
+ || (strcmp (name, "C.UTF-8") == 0
+ && strcmp (gl_locale_name_default (), "C") == 0)
+#endif
+ ;
+}
#if HAVE_GOOD_USELOCALE
@@ -101,10 +130,8 @@ test_locale_name (void)
unsetenv ("LC_TELEPHONE");
ret = setlocale (LC_ALL, "");
ASSERT (ret != NULL);
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
- gl_locale_name_default ()) == 0);
- ASSERT (strcmp (gl_locale_name (LC_NUMERIC, "LC_NUMERIC"),
- gl_locale_name_default ()) == 0);
+ ASSERT (is_default (gl_locale_name (LC_MESSAGES, "LC_MESSAGES")));
+ ASSERT (is_default (gl_locale_name (LC_NUMERIC, "LC_NUMERIC")));
/* Check that an empty environment variable is treated like an unset
environment variable. */
@@ -114,32 +141,28 @@ test_locale_name (void)
unsetenv ("LC_MESSAGES");
unsetenv ("LANG");
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
- gl_locale_name_default ()) == 0);
+ ASSERT (is_default (gl_locale_name (LC_MESSAGES, "LC_MESSAGES")));
unsetenv ("LC_ALL");
setenv ("LC_CTYPE", "", 1);
unsetenv ("LC_MESSAGES");
unsetenv ("LANG");
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
- gl_locale_name_default ()) == 0);
+ ASSERT (is_default (gl_locale_name (LC_MESSAGES, "LC_MESSAGES")));
unsetenv ("LC_ALL");
unsetenv ("LC_CTYPE");
setenv ("LC_MESSAGES", "", 1);
unsetenv ("LANG");
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
- gl_locale_name_default ()) == 0);
+ ASSERT (is_default (gl_locale_name (LC_MESSAGES, "LC_MESSAGES")));
unsetenv ("LC_ALL");
unsetenv ("LC_CTYPE");
unsetenv ("LC_MESSAGES");
setenv ("LANG", "", 1);
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
- gl_locale_name_default ()) == 0);
+ ASSERT (is_default (gl_locale_name (LC_MESSAGES, "LC_MESSAGES")));
/* Check that LC_ALL overrides the others, and LANG is overridden by the
others. */
@@ -149,21 +172,24 @@ test_locale_name (void)
unsetenv ("LC_MESSAGES");
unsetenv ("LANG");
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ C_CANONICALIZED) == 0);
unsetenv ("LC_ALL");
setenv ("LC_CTYPE", "C", 1);
setenv ("LC_MESSAGES", "C", 1);
unsetenv ("LANG");
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ C_CANONICALIZED) == 0);
unsetenv ("LC_ALL");
unsetenv ("LC_CTYPE");
unsetenv ("LC_MESSAGES");
setenv ("LANG", "C", 1);
setlocale (LC_ALL, "");
- ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ C_CANONICALIZED) == 0);
/* Check mixed situations. */
@@ -195,7 +221,7 @@ test_locale_name (void)
if (setlocale (LC_ALL, "") != NULL)
{
name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
- ASSERT (strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (is_default (name));
name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
}
@@ -543,9 +569,9 @@ test_locale_name_posix (void)
ret = setlocale (LC_ALL, "");
ASSERT (ret != NULL);
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
name = gl_locale_name_posix (LC_NUMERIC, "LC_NUMERIC");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
/* Check that an empty environment variable is treated like an unset
environment variable. */
@@ -556,7 +582,7 @@ test_locale_name_posix (void)
unsetenv ("LANG");
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
unsetenv ("LC_ALL");
setenv ("LC_CTYPE", "", 1);
@@ -564,7 +590,7 @@ test_locale_name_posix (void)
unsetenv ("LANG");
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
unsetenv ("LC_ALL");
unsetenv ("LC_CTYPE");
@@ -572,7 +598,7 @@ test_locale_name_posix (void)
unsetenv ("LANG");
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
unsetenv ("LC_ALL");
unsetenv ("LC_CTYPE");
@@ -580,7 +606,7 @@ test_locale_name_posix (void)
setenv ("LANG", "", 1);
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
/* Check that LC_ALL overrides the others, and LANG is overridden by the
others. */
@@ -591,7 +617,7 @@ test_locale_name_posix (void)
unsetenv ("LANG");
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (strcmp (name, "C") == 0);
+ ASSERT (strcmp (name, C_CANONICALIZED) == 0);
unsetenv ("LC_ALL");
setenv ("LC_CTYPE", "C", 1);
@@ -599,7 +625,7 @@ test_locale_name_posix (void)
unsetenv ("LANG");
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (strcmp (name, "C") == 0);
+ ASSERT (strcmp (name, C_CANONICALIZED) == 0);
unsetenv ("LC_ALL");
unsetenv ("LC_CTYPE");
@@ -607,7 +633,7 @@ test_locale_name_posix (void)
setenv ("LANG", "C", 1);
setlocale (LC_ALL, "");
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (strcmp (name, "C") == 0);
+ ASSERT (strcmp (name, C_CANONICALIZED) == 0);
/* Check mixed situations. */
@@ -634,7 +660,7 @@ test_locale_name_posix (void)
if (setlocale (LC_ALL, "") != NULL)
{
name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE");
- ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ ASSERT (name == NULL || is_default (name));
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
}
@@ -652,7 +678,7 @@ test_locale_name_posix (void)
setlocale (LC_ALL, "");
uselocale (locale);
name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
- ASSERT (strcmp (name, "C") == 0);
+ ASSERT (strcmp (name, C_CANONICALIZED) == 0);
uselocale (LC_GLOBAL_LOCALE);
freelocale (locale);
}
diff --git a/tests/test-lock.c b/tests/test-lock.c
index a8fb32f8..b5a5240f 100644
--- a/tests/test-lock.c
+++ b/tests/test-lock.c
@@ -1,5 +1,5 @@
/* Test of locking in multithreaded situations.
- Copyright (C) 2005, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -118,7 +118,7 @@ static int account[ACCOUNT_COUNT];
static int
random_account (void)
{
- return ((unsigned int) rand () >> 3) % ACCOUNT_COUNT;
+ return ((unsigned long) random () >> 3) % ACCOUNT_COUNT;
}
static void
@@ -143,7 +143,7 @@ check_accounts (void)
gl_lock_define_initialized(static, my_lock)
static void *
-lock_mutator_thread (void *arg)
+lock_mutator_thread (_GL_UNUSED void *arg)
{
int repeat;
@@ -157,7 +157,7 @@ lock_mutator_thread (void *arg)
i1 = random_account ();
i2 = random_account ();
- value = ((unsigned int) rand () >> 3) % 10;
+ value = ((unsigned long) random () >> 3) % 10;
account[i1] += value;
account[i2] -= value;
@@ -181,7 +181,7 @@ lock_mutator_thread (void *arg)
static struct atomic_int lock_checker_done;
static void *
-lock_checker_thread (void *arg)
+lock_checker_thread (_GL_UNUSED void *arg)
{
while (get_atomic_int_value (&lock_checker_done) == 0)
{
@@ -234,7 +234,7 @@ test_lock (void)
gl_rwlock_define_initialized(static, my_rwlock)
static void *
-rwlock_mutator_thread (void *arg)
+rwlock_mutator_thread (_GL_UNUSED void *arg)
{
int repeat;
@@ -248,7 +248,7 @@ rwlock_mutator_thread (void *arg)
i1 = random_account ();
i2 = random_account ();
- value = ((unsigned int) rand () >> 3) % 10;
+ value = ((unsigned long) random () >> 3) % 10;
account[i1] += value;
account[i2] -= value;
@@ -266,7 +266,7 @@ rwlock_mutator_thread (void *arg)
static struct atomic_int rwlock_checker_done;
static void *
-rwlock_checker_thread (void *arg)
+rwlock_checker_thread (_GL_UNUSED void *arg)
{
while (get_atomic_int_value (&rwlock_checker_done) == 0)
{
@@ -331,12 +331,12 @@ recshuffle (void)
i1 = random_account ();
i2 = random_account ();
- value = ((unsigned int) rand () >> 3) % 10;
+ value = ((unsigned long) random () >> 3) % 10;
account[i1] += value;
account[i2] -= value;
/* Recursive with probability 0.5. */
- if (((unsigned int) rand () >> 3) % 2)
+ if (((unsigned long) random () >> 3) % 2)
recshuffle ();
dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
@@ -345,7 +345,7 @@ recshuffle (void)
}
static void *
-reclock_mutator_thread (void *arg)
+reclock_mutator_thread (_GL_UNUSED void *arg)
{
int repeat;
@@ -369,7 +369,7 @@ reclock_mutator_thread (void *arg)
static struct atomic_int reclock_checker_done;
static void *
-reclock_checker_thread (void *arg)
+reclock_checker_thread (_GL_UNUSED void *arg)
{
while (get_atomic_int_value (&reclock_checker_done) == 0)
{
diff --git a/tests/test-lstat.c b/tests/test-lstat.c
index c35d41cb..3a2d61ec 100644
--- a/tests/test-lstat.c
+++ b/tests/test-lstat.c
@@ -1,5 +1,5 @@
/* Test of lstat() function.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-lstat.h b/tests/test-lstat.h
index 3982d160..31476132 100644
--- a/tests/test-lstat.h
+++ b/tests/test-lstat.h
@@ -1,5 +1,5 @@
/* Test of lstat() function.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,14 +32,14 @@ test_lstat_func (int (*func) (char const *, struct stat *), bool print)
ASSERT (func (".", &st1) == 0);
ASSERT (func ("./", &st2) == 0);
#if !(defined _WIN32 && !defined __CYGWIN__ && !_GL_WINDOWS_STAT_INODES)
- ASSERT (SAME_INODE (st1, st2));
+ ASSERT (psame_inode (&st1, &st2));
#endif
ASSERT (S_ISDIR (st1.st_mode));
ASSERT (S_ISDIR (st2.st_mode));
ASSERT (func ("/", &st1) == 0);
ASSERT (func ("///", &st2) == 0);
#if !(defined _WIN32 && !defined __CYGWIN__ && !_GL_WINDOWS_STAT_INODES)
- ASSERT (SAME_INODE (st1, st2));
+ ASSERT (psame_inode (&st1, &st2));
#endif
ASSERT (S_ISDIR (st1.st_mode));
ASSERT (S_ISDIR (st2.st_mode));
@@ -90,7 +90,7 @@ test_lstat_func (int (*func) (char const *, struct stat *), bool print)
ASSERT (S_ISDIR (st1.st_mode));
ASSERT (S_ISDIR (st2.st_mode));
#if !(defined _WIN32 && !defined __CYGWIN__ && !_GL_WINDOWS_STAT_INODES)
- ASSERT (SAME_INODE (st1, st2));
+ ASSERT (psame_inode (&st1, &st2));
#endif
ASSERT (func (BASE "link2", &st1) == 0);
diff --git a/tests/test-malloc-gnu.c b/tests/test-malloc-gnu.c
index 8873eb89..490efb01 100644
--- a/tests/test-malloc-gnu.c
+++ b/tests/test-malloc-gnu.c
@@ -1,5 +1,5 @@
/* Test of malloc function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
#include "macros.h"
int
-main (int argc, char **argv)
+main (int argc, _GL_UNUSED char **argv)
{
/* Check that malloc (0) is not a NULL pointer. */
void *volatile p = malloc (0);
diff --git a/tests/test-malloca.c b/tests/test-malloca.c
index 8665f465..9d46cd42 100644
--- a/tests/test-malloca.c
+++ b/tests/test-malloca.c
@@ -1,5 +1,5 @@
/* Test of safe automatic memory allocation.
- Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-math.c b/tests/test-math.c
index 7089e8d6..d853f2a8 100644
--- a/tests/test-math.c
+++ b/tests/test-math.c
@@ -1,5 +1,5 @@
/* Test of <math.h> substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -50,15 +50,15 @@ choke me
choke me
#endif
-#include <limits.h>
-
-#include "macros.h"
-
#if 0
/* Check that NAN expands into a constant expression. */
static float n = NAN;
#endif
+#include <limits.h>
+
+#include "macros.h"
+
/* Compare two numbers with ==.
This is a separate function because IRIX 6.5 "cc -O" miscompiles an
'x == x' test. */
diff --git a/tests/test-mbrtoc32-1.sh b/tests/test-mbrtoc32-1.sh
new file mode 100755
index 00000000..85abbdad
--- /dev/null
+++ b/tests/test-mbrtoc32-1.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Test whether the POSIX locale has encoding errors.
+LC_ALL=C \
+${CHECKER} ./test-mbrtoc32${EXEEXT} 1 || exit 1
+LC_ALL=POSIX \
+${CHECKER} ./test-mbrtoc32${EXEEXT} 1 || exit 1
+
+exit 0
diff --git a/tests/test-mbrtoc32-2.sh b/tests/test-mbrtoc32-2.sh
new file mode 100755
index 00000000..1d44338a
--- /dev/null
+++ b/tests/test-mbrtoc32-2.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no traditional french locale is installed"
+ else
+ echo "Skipping test: no traditional french locale is supported"
+ fi
+ exit 77
+fi
+
+LC_ALL=$LOCALE_FR \
+${CHECKER} ./test-mbrtoc32${EXEEXT} 2
diff --git a/tests/test-mbrtoc32-3.sh b/tests/test-mbrtoc32-3.sh
new file mode 100755
index 00000000..082bad84
--- /dev/null
+++ b/tests/test-mbrtoc32-3.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no french Unicode locale is installed"
+ else
+ echo "Skipping test: no french Unicode locale is supported"
+ fi
+ exit 77
+fi
+
+LC_ALL=$LOCALE_FR_UTF8 \
+${CHECKER} ./test-mbrtoc32${EXEEXT} 3
diff --git a/tests/test-mbrtoc32-4.sh b/tests/test-mbrtoc32-4.sh
new file mode 100755
index 00000000..b23a3272
--- /dev/null
+++ b/tests/test-mbrtoc32-4.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Test whether a specific EUC-JP locale is installed.
+: "${LOCALE_JA=ja_JP}"
+if test $LOCALE_JA = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no traditional japanese locale is installed"
+ else
+ echo "Skipping test: no traditional japanese locale is supported"
+ fi
+ exit 77
+fi
+
+LC_ALL=$LOCALE_JA \
+${CHECKER} ./test-mbrtoc32${EXEEXT} 4
diff --git a/tests/test-mbrtoc32-5.sh b/tests/test-mbrtoc32-5.sh
new file mode 100755
index 00000000..734a959e
--- /dev/null
+++ b/tests/test-mbrtoc32-5.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Test whether a specific GB18030 locale is installed.
+: "${LOCALE_ZH_CN=zh_CN.GB18030}"
+if test $LOCALE_ZH_CN = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no transitional chinese locale is installed"
+ else
+ echo "Skipping test: no transitional chinese locale is supported"
+ fi
+ exit 77
+fi
+
+LC_ALL=$LOCALE_ZH_CN \
+${CHECKER} ./test-mbrtoc32${EXEEXT} 5
diff --git a/tests/test-mbrtoc32-w32-2.sh b/tests/test-mbrtoc32-w32-2.sh
new file mode 100755
index 00000000..bf6b61ce
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-2.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP1252 locale.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} French_France 1252
diff --git a/tests/test-mbrtoc32-w32-3.sh b/tests/test-mbrtoc32-w32-3.sh
new file mode 100755
index 00000000..dd96b17f
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-3.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP1256 locale.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
diff --git a/tests/test-mbrtoc32-w32-4.sh b/tests/test-mbrtoc32-w32-4.sh
new file mode 100755
index 00000000..b2b889b6
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-4.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test some UTF-8 locales.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
diff --git a/tests/test-mbrtoc32-w32-5.sh b/tests/test-mbrtoc32-w32-5.sh
new file mode 100755
index 00000000..21a826b5
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-5.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP932 locale.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} Japanese_Japan 932
diff --git a/tests/test-mbrtoc32-w32-6.sh b/tests/test-mbrtoc32-w32-6.sh
new file mode 100755
index 00000000..4e261dbd
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-6.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP950 locale.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} Chinese_Taiwan 950
diff --git a/tests/test-mbrtoc32-w32-7.sh b/tests/test-mbrtoc32-w32-7.sh
new file mode 100755
index 00000000..200c248c
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-7.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a CP936 locale.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} Chinese_China 936
diff --git a/tests/test-mbrtoc32-w32-8.sh b/tests/test-mbrtoc32-w32-8.sh
new file mode 100755
index 00000000..a763e9fe
--- /dev/null
+++ b/tests/test-mbrtoc32-w32-8.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a GB18030 locale.
+${CHECKER} ./test-mbrtoc32-w32${EXEEXT} Chinese_China 54936
diff --git a/tests/test-mbrtoc32-w32.c b/tests/test-mbrtoc32-w32.c
new file mode 100644
index 00000000..93196d48
--- /dev/null
+++ b/tests/test-mbrtoc32-w32.c
@@ -0,0 +1,750 @@
+/* Test of conversion of multibyte character to 32-bit wide character.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include <errno.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "localcharset.h"
+#include "macros.h"
+
+#if defined _WIN32 && !defined __CYGWIN__
+
+static int
+test_one_locale (const char *name, int codepage)
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+# if 1
+ /* Portable code to set the locale. */
+ {
+ char name_with_codepage[1024];
+
+ sprintf (name_with_codepage, "%s.%d", name, codepage);
+
+ /* Set the locale. */
+ if (setlocale (LC_ALL, name_with_codepage) == NULL)
+ return 77;
+ }
+# else
+ /* Hacky way to set a locale.codepage combination that setlocale() refuses
+ to set. */
+ {
+ /* Codepage of the current locale, set with setlocale().
+ Not necessarily the same as GetACP(). */
+ extern __declspec(dllimport) unsigned int __lc_codepage;
+
+ /* Set the locale. */
+ if (setlocale (LC_ALL, name) == NULL)
+ return 77;
+
+ /* Clobber the codepage and MB_CUR_MAX, both set by setlocale(). */
+ __lc_codepage = codepage;
+ switch (codepage)
+ {
+ case 1252:
+ case 1256:
+ MB_CUR_MAX = 1;
+ break;
+ case 932:
+ case 950:
+ case 936:
+ MB_CUR_MAX = 2;
+ break;
+ case 54936:
+ case 65001:
+ MB_CUR_MAX = 4;
+ break;
+ }
+
+ /* Test whether the codepage is really available. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ if (mbrtoc32 (&wc, " ", 1, &state) == (size_t)(-1))
+ return 77;
+ }
+# endif
+
+ /* Test zero-length input. */
+ {
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "x", 0, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (mbsinit (&state));
+ }
+
+ /* Test NUL byte input. */
+ {
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "", 1, &state);
+ ASSERT (ret == 0);
+ ASSERT (wc == 0);
+ ASSERT (mbsinit (&state));
+ ret = mbrtoc32 (NULL, "", 1, &state);
+ ASSERT (ret == 0);
+ ASSERT (mbsinit (&state));
+ }
+
+ /* Test single-byte input. */
+ {
+ int c;
+ char buf[1];
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ buf[0] = c;
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, buf, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == c);
+ ASSERT (mbsinit (&state));
+ ret = mbrtoc32 (NULL, buf, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+ break;
+ }
+ }
+
+ /* Test special calling convention, passing a NULL pointer. */
+ {
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, NULL, 5, &state);
+ ASSERT (ret == 0);
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (mbsinit (&state));
+ }
+
+ switch (codepage)
+ {
+ case 1252:
+ /* Locale encoding is CP1252, an extension of ISO-8859-1. */
+ {
+ char input[] = "B\374\337er"; /* "Büßer" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'B');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\374');
+ ASSERT (wc == 0x00FC); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 2, 3, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 3, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\337');
+ ASSERT (wc == 0x00DF); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 2, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'e');
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'r');
+ ASSERT (mbsinit (&state));
+ }
+ return 0;
+
+ case 1256:
+ /* Locale encoding is CP1256, not the same as ISO-8859-6. */
+ {
+ char input[] = "x\302\341\346y"; /* "xآلوy" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'x');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\302');
+ ASSERT (wc == 0x0622); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 2, 3, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 3, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\341');
+ ASSERT (wc == 0x0644); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 2, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\346');
+ ASSERT (wc == 0x0648); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'y');
+ ASSERT (mbsinit (&state));
+ }
+ return 0;
+
+ case 65001:
+ /* Locale encoding is CP65001 = UTF-8. */
+ if (strcmp (locale_charset (), "UTF-8") != 0)
+ return 77;
+ {
+ char input[] = "s\303\274\303\237\360\237\230\213!"; /* "süß😋!" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 's');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[1] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 7, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x00FC); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 3, 6, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 6, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x00DF); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+ input[4] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 5, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 5, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x1F60B); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+ input[6] = '\0';
+ input[7] = '\0';
+ input[8] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 9, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '!');
+ ASSERT (mbsinit (&state));
+
+ /* Test some invalid input. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\377", 1, &state); /* 0xFF */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\303\300", 2, &state); /* 0xC3 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\343\300", 2, &state); /* 0xE3 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\343\300\200", 3, &state); /* 0xE3 0xC0 0x80 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\343\200\300", 3, &state); /* 0xE3 0x80 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\363\300", 2, &state); /* 0xF3 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\363\300\200\200", 4, &state); /* 0xF3 0xC0 0x80 0x80 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\363\200\300", 3, &state); /* 0xF3 0x80 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\363\200\300\200", 4, &state); /* 0xF3 0x80 0xC0 0x80 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\363\200\200\300", 4, &state); /* 0xF3 0x80 0x80 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+ }
+ return 0;
+
+ case 932:
+ /* Locale encoding is CP932, similar to Shift_JIS. */
+ {
+ char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '<');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 2, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x65E5); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 4, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x672C); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[4] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x8A9E); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+ input[6] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 7, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '>');
+ ASSERT (mbsinit (&state));
+
+ /* Test some invalid input. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\377", 1, &state); /* 0xFF */
+ ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || ret == (size_t)-2);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\225\377", 2, &state); /* 0x95 0xFF */
+ ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || (ret == 2 && wc == 0x30FB));
+ }
+ return 0;
+
+ case 950:
+ /* Locale encoding is CP950, similar to Big5. */
+ {
+ char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '<');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 2, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x65E5); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 4, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x672C); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[4] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x8A9E); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+ input[6] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 7, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '>');
+ ASSERT (mbsinit (&state));
+
+ /* Test some invalid input. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\377", 1, &state); /* 0xFF */
+ ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || ret == (size_t)-2);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\225\377", 2, &state); /* 0x95 0xFF */
+ ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || (ret == 2 && wc == '?'));
+ }
+ return 0;
+
+ case 936:
+ /* Locale encoding is CP936 = GBK, an extension of GB2312. */
+ {
+ char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '<');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 2, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x65E5); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 4, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x672C); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[4] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x8A9E); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+ input[6] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 7, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '>');
+ ASSERT (mbsinit (&state));
+
+ /* Test some invalid input. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\377", 1, &state); /* 0xFF */
+ ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || ret == (size_t)-2);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\225\377", 2, &state); /* 0x95 0xFF */
+ ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || (ret == 2 && wc == '?'));
+ }
+ return 0;
+
+ case 54936:
+ /* Locale encoding is CP54936 = GB18030. */
+ if (strcmp (locale_charset (), "GB18030") != 0)
+ return 77;
+ {
+ char input[] = "s\250\271\201\060\211\070\224\071\375\067!"; /* "süß😋!" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 's');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[1] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 9, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x00FC); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 3, 8, &state);
+ ASSERT (ret == 4);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 8, &state);
+ ASSERT (ret == 4);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x00DF); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+ input[4] = '\0';
+ input[5] = '\0';
+ input[6] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 7, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 7, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x1F60B); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[7] = '\0';
+ input[8] = '\0';
+ input[9] = '\0';
+ input[10] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 11, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '!');
+ ASSERT (mbsinit (&state));
+
+ /* Test some invalid input. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\377", 1, &state); /* 0xFF */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\225\377", 2, &state); /* 0x95 0xFF */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\201\045", 2, &state); /* 0x81 0x25 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\201\060\377", 3, &state); /* 0x81 0x30 0xFF */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\201\060\377\064", 4, &state); /* 0x81 0x30 0xFF 0x34 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "\201\060\211\072", 4, &state); /* 0x81 0x30 0x89 0x3A */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+ }
+ return 0;
+
+ default:
+ return 1;
+ }
+}
+
+int
+main (int argc, char *argv[])
+{
+ int codepage = atoi (argv[argc - 1]);
+ int result;
+ int i;
+
+ result = 77;
+ for (i = 1; i < argc - 1; i++)
+ {
+ int ret = test_one_locale (argv[i], codepage);
+
+ if (ret != 77)
+ result = ret;
+ }
+
+ if (result == 77)
+ {
+ fprintf (stderr, "Skipping test: found no locale with codepage %d\n",
+ codepage);
+ }
+ return result;
+}
+
+#else
+
+int
+main (int argc, char *argv[])
+{
+ fputs ("Skipping test: not a native Windows system\n", stderr);
+ return 77;
+}
+
+#endif
diff --git a/tests/test-mbrtoc32.c b/tests/test-mbrtoc32.c
new file mode 100644
index 00000000..6fffb2a7
--- /dev/null
+++ b/tests/test-mbrtoc32.c
@@ -0,0 +1,441 @@
+/* Test of conversion of multibyte character to 32-bit wide character.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (mbrtoc32, size_t,
+ (char32_t *, const char *, size_t, mbstate_t *));
+
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#include "macros.h"
+
+int
+main (int argc, char *argv[])
+{
+ mbstate_t state;
+ char32_t wc;
+ size_t ret;
+
+ /* configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ /* Test zero-length input. */
+ {
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "x", 0, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (mbsinit (&state));
+ }
+
+ /* Test NUL byte input. */
+ {
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, "", 1, &state);
+ ASSERT (ret == 0);
+ ASSERT (wc == 0);
+ ASSERT (mbsinit (&state));
+ ret = mbrtoc32 (NULL, "", 1, &state);
+ ASSERT (ret == 0);
+ ASSERT (mbsinit (&state));
+ }
+
+ /* Test single-byte input. */
+ {
+ int c;
+ char buf[1];
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ for (c = 0; c < 0x100; c++)
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ /* c is in the ISO C "basic character set". */
+ ASSERT (c < 0x80);
+ /* c is an ASCII character. */
+ buf[0] = c;
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, buf, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == c);
+ ASSERT (mbsinit (&state));
+
+ ret = mbrtoc32 (NULL, buf, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+
+ break;
+ default:
+ break;
+ }
+ }
+
+ /* Test special calling convention, passing a NULL pointer. */
+ {
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, NULL, 5, &state);
+ ASSERT (ret == 0);
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (mbsinit (&state));
+ }
+
+#ifdef __ANDROID__
+ /* On Android ≥ 5.0, the default locale is the "C.UTF-8" locale, not the
+ "C" locale. Furthermore, when you attempt to set the "C" or "POSIX"
+ locale via setlocale(), what you get is a "C" locale with UTF-8 encoding,
+ that is, effectively the "C.UTF-8" locale. */
+ if (argc > 1 && strcmp (argv[1], "1") == 0 && MB_CUR_MAX > 1)
+ argv[1] = "3";
+#endif
+
+ if (argc > 1)
+ switch (argv[1][0])
+ {
+ case '1':
+ /* C or POSIX locale. */
+ {
+ int c;
+ char buf[1];
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ for (c = 0; c < 0x100; c++)
+ if (c != 0)
+ {
+ /* We are testing all nonnull bytes. */
+ buf[0] = c;
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, buf, 1, &state);
+ /* POSIX:2018 says regarding mbrtowc: "In the POSIX locale an
+ [EILSEQ] error cannot occur since all byte values are valid
+ characters." It is reasonable to expect mbrtoc32 to behave
+ in the same way. */
+ ASSERT (ret == 1);
+ if (c < 0x80)
+ /* c is an ASCII character. */
+ ASSERT (wc == c);
+ else
+ /* On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF.
+ But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */
+ ASSERT (wc == (btoc32 (c) == 0xDF00 + c ? btoc32 (c) : c));
+ ASSERT (mbsinit (&state));
+
+ ret = mbrtoc32 (NULL, buf, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+ }
+ }
+ return 0;
+
+ case '2':
+ /* Locale encoding is ISO-8859-1 or ISO-8859-15. */
+ {
+ char input[] = "B\374\337er"; /* "Büßer" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'B');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\374');
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x00FC); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 2, 3, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 3, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == (unsigned char) '\337');
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x00DF); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 2, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'e');
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'r');
+ ASSERT (mbsinit (&state));
+ }
+ return 0;
+
+ case '3':
+ /* Locale encoding is UTF-8. */
+ {
+ char input[] = "s\303\274\303\237\360\237\230\213!"; /* "süß😋!" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 's');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[1] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 7, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x00FC); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 3, 6, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 6, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x00DF); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+ input[4] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 5, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 5, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (c32tob (wc) == EOF);
+ ASSERT (wc == 0x1F60B); /* expect Unicode encoding */
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+ input[6] = '\0';
+ input[7] = '\0';
+ input[8] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 9, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '!');
+ ASSERT (mbsinit (&state));
+ }
+ return 0;
+
+ case '4':
+ /* Locale encoding is EUC-JP. */
+ {
+ char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '<');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 2, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x65E5); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[1] = '\0';
+ input[2] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[3] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 4, 4, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x672C); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[4] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 5, 3, &state);
+ ASSERT (ret == 2);
+ ASSERT (c32tob (wc) == EOF);
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x8A9E); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+ input[6] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 7, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '>');
+ ASSERT (mbsinit (&state));
+ }
+ return 0;
+
+ case '5':
+ /* Locale encoding is GB18030. */
+ #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
+ fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
+ return 77;
+ #endif
+ {
+ char input[] = "s\250\271\201\060\211\070\224\071\375\067!"; /* "süß😋!" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 's');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 1, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (char32_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[1] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 2, 9, &state);
+ ASSERT (ret == 1);
+ ASSERT (c32tob (wc) == EOF);
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x00FC); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 3, 8, &state);
+ ASSERT (ret == 4);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 3, 8, &state);
+ ASSERT (ret == 4);
+ ASSERT (c32tob (wc) == EOF);
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x00DF); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+ input[4] = '\0';
+ input[5] = '\0';
+ input[6] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtoc32 (NULL, input + 7, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (mbsinit (&state));
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 7, 4, &state);
+ ASSERT (ret == 4);
+ ASSERT (c32tob (wc) == EOF);
+ #if GL_CHAR32_T_IS_UNICODE
+ ASSERT (wc == 0x1F60B); /* expect Unicode encoding */
+ #endif
+ ASSERT (mbsinit (&state));
+ input[7] = '\0';
+ input[8] = '\0';
+ input[9] = '\0';
+ input[10] = '\0';
+
+ wc = (char32_t) 0xBADFACE;
+ ret = mbrtoc32 (&wc, input + 11, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == '!');
+ ASSERT (mbsinit (&state));
+ }
+ return 0;
+ }
+
+ return 1;
+}
diff --git a/tests/test-mbrtowc-1.sh b/tests/test-mbrtowc-1.sh
new file mode 100755
index 00000000..f0a1feda
--- /dev/null
+++ b/tests/test-mbrtowc-1.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Test whether the POSIX locale has encoding errors.
+LC_ALL=C \
+${CHECKER} ./test-mbrtowc${EXEEXT} 1 || exit 1
+LC_ALL=POSIX \
+${CHECKER} ./test-mbrtowc${EXEEXT} 1 || exit 1
+
+exit 0
diff --git a/tests/test-mbrtowc-2.sh b/tests/test-mbrtowc-2.sh
new file mode 100755
index 00000000..30662926
--- /dev/null
+++ b/tests/test-mbrtowc-2.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Test in an ISO-8859-1 or ISO-8859-15 locale.
+: "${LOCALE_FR=fr_FR}"
+if test $LOCALE_FR = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no traditional french locale is installed"
+ else
+ echo "Skipping test: no traditional french locale is supported"
+ fi
+ exit 77
+fi
+
+LC_ALL=$LOCALE_FR \
+${CHECKER} ./test-mbrtowc${EXEEXT} 2
diff --git a/tests/test-mbrtowc-3.sh b/tests/test-mbrtowc-3.sh
new file mode 100755
index 00000000..36b0023c
--- /dev/null
+++ b/tests/test-mbrtowc-3.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Test whether a specific UTF-8 locale is installed.
+: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
+if test $LOCALE_FR_UTF8 = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no french Unicode locale is installed"
+ else
+ echo "Skipping test: no french Unicode locale is supported"
+ fi
+ exit 77
+fi
+
+LC_ALL=$LOCALE_FR_UTF8 \
+${CHECKER} ./test-mbrtowc${EXEEXT} 3
diff --git a/tests/test-mbrtowc3.sh b/tests/test-mbrtowc-4.sh
index eca8d648..1c5943ea 100755
--- a/tests/test-mbrtowc3.sh
+++ b/tests/test-mbrtowc-4.sh
@@ -12,4 +12,4 @@ if test $LOCALE_JA = none; then
fi
LC_ALL=$LOCALE_JA \
-${CHECKER} ./test-mbrtowc${EXEEXT} 3
+${CHECKER} ./test-mbrtowc${EXEEXT} 4
diff --git a/tests/test-mbrtowc4.sh b/tests/test-mbrtowc-5.sh
index 7da23a3c..8690bbef 100755
--- a/tests/test-mbrtowc4.sh
+++ b/tests/test-mbrtowc-5.sh
@@ -12,4 +12,4 @@ if test $LOCALE_ZH_CN = none; then
fi
LC_ALL=$LOCALE_ZH_CN \
-${CHECKER} ./test-mbrtowc${EXEEXT} 4
+${CHECKER} ./test-mbrtowc${EXEEXT} 5
diff --git a/tests/test-mbrtowc-w32-1.sh b/tests/test-mbrtowc-w32-1.sh
deleted file mode 100755
index fec9eadf..00000000
--- a/tests/test-mbrtowc-w32-1.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Test a CP1252 locale.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} French_France 1252
diff --git a/tests/test-mbrtowc-w32-2.sh b/tests/test-mbrtowc-w32-2.sh
index c55a0ec0..fec9eadf 100755
--- a/tests/test-mbrtowc-w32-2.sh
+++ b/tests/test-mbrtowc-w32-2.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP1256 locale.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
+# Test a CP1252 locale.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} French_France 1252
diff --git a/tests/test-mbrtowc-w32-3.sh b/tests/test-mbrtowc-w32-3.sh
index c49f4bdf..c55a0ec0 100755
--- a/tests/test-mbrtowc-w32-3.sh
+++ b/tests/test-mbrtowc-w32-3.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP932 locale.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} Japanese_Japan 932
+# Test a CP1256 locale.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
diff --git a/tests/test-mbrtowc-w32-4.sh b/tests/test-mbrtowc-w32-4.sh
index 3e786150..2c5d555f 100755
--- a/tests/test-mbrtowc-w32-4.sh
+++ b/tests/test-mbrtowc-w32-4.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP950 locale.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_Taiwan 950
+# Test some UTF-8 locales.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
diff --git a/tests/test-mbrtowc-w32-5.sh b/tests/test-mbrtowc-w32-5.sh
index c6ba2226..c49f4bdf 100755
--- a/tests/test-mbrtowc-w32-5.sh
+++ b/tests/test-mbrtowc-w32-5.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP936 locale.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_China 936
+# Test a CP932 locale.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Japanese_Japan 932
diff --git a/tests/test-mbrtowc-w32-6.sh b/tests/test-mbrtowc-w32-6.sh
index c2e8dfe0..3e786150 100755
--- a/tests/test-mbrtowc-w32-6.sh
+++ b/tests/test-mbrtowc-w32-6.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a GB18030 locale.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_China 54936
+# Test a CP950 locale.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_Taiwan 950
diff --git a/tests/test-mbrtowc-w32-7.sh b/tests/test-mbrtowc-w32-7.sh
index 2c5d555f..c6ba2226 100755
--- a/tests/test-mbrtowc-w32-7.sh
+++ b/tests/test-mbrtowc-w32-7.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test some UTF-8 locales.
-${CHECKER} ./test-mbrtowc-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
+# Test a CP936 locale.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_China 936
diff --git a/tests/test-mbrtowc-w32-8.sh b/tests/test-mbrtowc-w32-8.sh
new file mode 100755
index 00000000..c2e8dfe0
--- /dev/null
+++ b/tests/test-mbrtowc-w32-8.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a GB18030 locale.
+${CHECKER} ./test-mbrtowc-w32${EXEEXT} Chinese_China 54936
diff --git a/tests/test-mbrtowc-w32.c b/tests/test-mbrtowc-w32.c
index 04287e98..2071ddeb 100644
--- a/tests/test-mbrtowc-w32.c
+++ b/tests/test-mbrtowc-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -265,6 +265,126 @@ test_one_locale (const char *name, int codepage)
}
return 0;
+ case 65001:
+ /* Locale encoding is CP65001 = UTF-8. */
+ if (strcmp (locale_charset (), "UTF-8") != 0)
+ return 77;
+ {
+ char input[] = "B\303\274\303\237er"; /* "Büßer" */
+ memset (&state, '\0', sizeof (mbstate_t));
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, input, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'B');
+ ASSERT (mbsinit (&state));
+ input[0] = '\0';
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, input + 1, 1, &state);
+ ASSERT (ret == (size_t)(-2));
+ ASSERT (wc == (wchar_t) 0xBADFACE);
+ ASSERT (!mbsinit (&state));
+ input[1] = '\0';
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, input + 2, 5, &state);
+ ASSERT (ret == 1);
+ ASSERT (wctob (wc) == EOF);
+ ASSERT (wc == 0x00FC);
+ ASSERT (mbsinit (&state));
+ input[2] = '\0';
+
+ /* Test support of NULL first argument. */
+ ret = mbrtowc (NULL, input + 3, 4, &state);
+ ASSERT (ret == 2);
+ ASSERT (mbsinit (&state));
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, input + 3, 4, &state);
+ ASSERT (ret == 2);
+ ASSERT (wctob (wc) == EOF);
+ ASSERT (wc == 0x00DF);
+ ASSERT (mbsinit (&state));
+ input[3] = '\0';
+ input[4] = '\0';
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, input + 5, 2, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'e');
+ ASSERT (mbsinit (&state));
+ input[5] = '\0';
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, input + 6, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (wc == 'r');
+ ASSERT (mbsinit (&state));
+
+ /* Test some invalid input. */
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\303\300", 2, &state); /* 0xC3 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\343\300", 2, &state); /* 0xE3 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\343\300\200", 3, &state); /* 0xE3 0xC0 0x80 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\343\200\300", 3, &state); /* 0xE3 0x80 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\363\300", 2, &state); /* 0xF3 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\363\300\200\200", 4, &state); /* 0xF3 0xC0 0x80 0x80 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\363\200\300", 3, &state); /* 0xF3 0x80 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\363\200\300\200", 4, &state); /* 0xF3 0x80 0xC0 0x80 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, "\363\200\200\300", 4, &state); /* 0xF3 0x80 0x80 0xC0 */
+ ASSERT (ret == (size_t)-1);
+ ASSERT (errno == EILSEQ);
+ }
+ return 0;
+
case 932:
/* Locale encoding is CP932, similar to Shift_JIS. */
{
@@ -573,126 +693,6 @@ test_one_locale (const char *name, int codepage)
}
return 0;
- case 65001:
- /* Locale encoding is CP65001 = UTF-8. */
- if (strcmp (locale_charset (), "UTF-8") != 0)
- return 77;
- {
- char input[] = "B\303\274\303\237er"; /* "Büßer" */
- memset (&state, '\0', sizeof (mbstate_t));
-
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, input, 1, &state);
- ASSERT (ret == 1);
- ASSERT (wc == 'B');
- ASSERT (mbsinit (&state));
- input[0] = '\0';
-
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, input + 1, 1, &state);
- ASSERT (ret == (size_t)(-2));
- ASSERT (wc == (wchar_t) 0xBADFACE);
- ASSERT (!mbsinit (&state));
- input[1] = '\0';
-
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, input + 2, 5, &state);
- ASSERT (ret == 1);
- ASSERT (wctob (wc) == EOF);
- ASSERT (wc == 0x00FC);
- ASSERT (mbsinit (&state));
- input[2] = '\0';
-
- /* Test support of NULL first argument. */
- ret = mbrtowc (NULL, input + 3, 4, &state);
- ASSERT (ret == 2);
- ASSERT (mbsinit (&state));
-
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, input + 3, 4, &state);
- ASSERT (ret == 2);
- ASSERT (wctob (wc) == EOF);
- ASSERT (wc == 0x00DF);
- ASSERT (mbsinit (&state));
- input[3] = '\0';
- input[4] = '\0';
-
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, input + 5, 2, &state);
- ASSERT (ret == 1);
- ASSERT (wc == 'e');
- ASSERT (mbsinit (&state));
- input[5] = '\0';
-
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, input + 6, 1, &state);
- ASSERT (ret == 1);
- ASSERT (wc == 'r');
- ASSERT (mbsinit (&state));
-
- /* Test some invalid input. */
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\303\300", 2, &state); /* 0xC3 0xC0 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\343\300", 2, &state); /* 0xE3 0xC0 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\343\300\200", 3, &state); /* 0xE3 0xC0 0x80 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\343\200\300", 3, &state); /* 0xE3 0x80 0xC0 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\363\300", 2, &state); /* 0xF3 0xC0 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\363\300\200\200", 4, &state); /* 0xF3 0xC0 0x80 0x80 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\363\200\300", 3, &state); /* 0xF3 0x80 0xC0 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\363\200\300\200", 4, &state); /* 0xF3 0x80 0xC0 0x80 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- ret = mbrtowc (&wc, "\363\200\200\300", 4, &state); /* 0xF3 0x80 0x80 0xC0 */
- ASSERT (ret == (size_t)-1);
- ASSERT (errno == EILSEQ);
- }
- return 0;
-
default:
return 1;
}
diff --git a/tests/test-mbrtowc.c b/tests/test-mbrtowc.c
index 0e86bd49..f45f90e4 100644
--- a/tests/test-mbrtowc.c
+++ b/tests/test-mbrtowc.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,6 +26,7 @@ SIGNATURE_CHECK (mbrtowc, size_t, (wchar_t *, char const *, size_t,
#include <locale.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include "macros.h"
@@ -72,10 +73,6 @@ main (int argc, char *argv[])
for (c = 0; c < 0x100; c++)
switch (c)
{
- default:
- if (! (c && 1 < argc && argv[1][0] == '5'))
- break;
- FALLTHROUGH;
case '\t': case '\v': case '\f':
case ' ': case '!': case '"': case '#': case '%':
case '&': case '\'': case '(': case ')': case '*':
@@ -97,25 +94,23 @@ main (int argc, char *argv[])
case 'p': case 'q': case 'r': case 's': case 't':
case 'u': case 'v': case 'w': case 'x': case 'y':
case 'z': case '{': case '|': case '}': case '~':
- /* c is in the ISO C "basic character set", or argv[1] starts
- with '5' so we are testing all nonnull bytes. */
+ /* c is in the ISO C "basic character set". */
+ ASSERT (c < 0x80);
+ /* c is an ASCII character. */
buf[0] = c;
+
wc = (wchar_t) 0xBADFACE;
ret = mbrtowc (&wc, buf, 1, &state);
ASSERT (ret == 1);
- if (c < 0x80)
- /* c is an ASCII character. */
- ASSERT (wc == c);
- else
- /* argv[1] starts with '5', that is, we are testing the C or POSIX
- locale.
- On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF.
- But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */
- ASSERT (wc == (btowc (c) == 0xDF00 + c ? btowc (c) : c));
+ ASSERT (wc == c);
ASSERT (mbsinit (&state));
+
ret = mbrtowc (NULL, buf, 1, &state);
ASSERT (ret == 1);
ASSERT (mbsinit (&state));
+
+ break;
+ default:
break;
}
}
@@ -130,10 +125,53 @@ main (int argc, char *argv[])
ASSERT (mbsinit (&state));
}
+#ifdef __ANDROID__
+ /* On Android ≥ 5.0, the default locale is the "C.UTF-8" locale, not the
+ "C" locale. Furthermore, when you attempt to set the "C" or "POSIX"
+ locale via setlocale(), what you get is a "C" locale with UTF-8 encoding,
+ that is, effectively the "C.UTF-8" locale. */
+ if (argc > 1 && strcmp (argv[1], "1") == 0 && MB_CUR_MAX > 1)
+ argv[1] = "3";
+#endif
+
if (argc > 1)
switch (argv[1][0])
{
case '1':
+ /* C or POSIX locale. */
+ {
+ int c;
+ char buf[1];
+
+ memset (&state, '\0', sizeof (mbstate_t));
+ for (c = 0; c < 0x100; c++)
+ if (c != 0)
+ {
+ /* We are testing all nonnull bytes. */
+ buf[0] = c;
+
+ wc = (wchar_t) 0xBADFACE;
+ ret = mbrtowc (&wc, buf, 1, &state);
+ /* POSIX:2018 says: "In the POSIX locale an [EILSEQ] error
+ cannot occur since all byte values are valid characters." */
+ ASSERT (ret == 1);
+ if (c < 0x80)
+ /* c is an ASCII character. */
+ ASSERT (wc == c);
+ else
+ /* On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF.
+ But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */
+ ASSERT (wc == (btowc (c) == 0xDF00 + c ? btowc (c) : c));
+ ASSERT (mbsinit (&state));
+
+ ret = mbrtowc (NULL, buf, 1, &state);
+ ASSERT (ret == 1);
+ ASSERT (mbsinit (&state));
+ }
+ }
+ return 0;
+
+ case '2':
/* Locale encoding is ISO-8859-1 or ISO-8859-15. */
{
char input[] = "B\374\337er"; /* "Büßer" */
@@ -180,7 +218,7 @@ main (int argc, char *argv[])
}
return 0;
- case '2':
+ case '3':
/* Locale encoding is UTF-8. */
{
char input[] = "B\303\274\303\237er"; /* "Büßer" */
@@ -235,7 +273,7 @@ main (int argc, char *argv[])
}
return 0;
- case '3':
+ case '4':
/* Locale encoding is EUC-JP. */
{
char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */
@@ -291,7 +329,7 @@ main (int argc, char *argv[])
}
return 0;
- case '4':
+ case '5':
/* Locale encoding is GB18030. */
{
char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
@@ -347,10 +385,6 @@ main (int argc, char *argv[])
ASSERT (mbsinit (&state));
}
return 0;
-
- case '5':
- /* C locale; tested above. */
- return 0;
}
return 1;
diff --git a/tests/test-mbrtowc5.sh b/tests/test-mbrtowc5.sh
deleted file mode 100755
index 490496de..00000000
--- a/tests/test-mbrtowc5.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Test whether the POSIX locale has encoding errors.
-LC_ALL=C \
-${CHECKER} ./test-mbrtowc${EXEEXT} 5 || exit
-LC_ALL=POSIX \
-${CHECKER} ./test-mbrtowc${EXEEXT} 5
diff --git a/tests/test-mbsinit.c b/tests/test-mbsinit.c
index 699701eb..0250894d 100644
--- a/tests/test-mbsinit.c
+++ b/tests/test-mbsinit.c
@@ -1,5 +1,5 @@
/* Test of test for initial conversion state.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-memchr.c b/tests/test-memchr.c
index 8a2d3de4..c43ce9ff 100644
--- a/tests/test-memchr.c
+++ b/tests/test-memchr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2024 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-nanosleep.c b/tests/test-nanosleep.c
index c2081615..c3953843 100644
--- a/tests/test-nanosleep.c
+++ b/tests/test-nanosleep.c
@@ -1,5 +1,5 @@
/* Test of nanosleep() function.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-netinet_in.c b/tests/test-netinet_in.c
index 3bc110e5..6842821e 100644
--- a/tests/test-netinet_in.c
+++ b/tests/test-netinet_in.c
@@ -1,5 +1,5 @@
/* Test of <netinet/in.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-once.c b/tests/test-once.c
index 5efe7c4a..70f54c02 100644
--- a/tests/test-once.c
+++ b/tests/test-once.c
@@ -1,5 +1,5 @@
/* Test of once-only execution in multithreaded situations.
- Copyright (C) 2018-2022 Free Software Foundation, Inc.
+ Copyright (C) 2018-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-open.c b/tests/test-open.c
index d7c5a086..52e72be9 100644
--- a/tests/test-open.c
+++ b/tests/test-open.c
@@ -1,5 +1,5 @@
/* Test of opening a file descriptor.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-open.h b/tests/test-open.h
index 0da20a17..05764356 100644
--- a/tests/test-open.h
+++ b/tests/test-open.h
@@ -1,5 +1,5 @@
/* Test of opening a file descriptor.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,6 +16,11 @@
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+/* Tell GCC not to warn about the specific edge cases tested here. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-leak"
+#endif
+
/* Make test_open always inline if we're using Fortify, which defines
__always_inline to do that. Do nothing otherwise. This works
around a glibc bug whereby 'open' cannot be used as a function
diff --git a/tests/test-pathmax.c b/tests/test-pathmax.c
index 5f1f9cc2..a80ee065 100644
--- a/tests/test-pathmax.c
+++ b/tests/test-pathmax.c
@@ -1,5 +1,5 @@
/* Test of "pathmax.h".
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-perror.c b/tests/test-perror.c
index e1ab3d6b..aba12fa1 100644
--- a/tests/test-perror.c
+++ b/tests/test-perror.c
@@ -1,5 +1,5 @@
/* Test of perror() function.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-perror2.c b/tests/test-perror2.c
index f1eb5110..edf1d15f 100644
--- a/tests/test-perror2.c
+++ b/tests/test-perror2.c
@@ -1,5 +1,5 @@
/* Test of perror() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,6 +22,11 @@
#include <string.h>
#include <unistd.h>
+/* Tell GCC not to warn about myerr being leaked. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-leak"
+#endif
+
/* This test intentionally parses stderr. So, we arrange to have fd 10
(outside the range of interesting fd's during the test) set up to
duplicate the original stderr. */
diff --git a/tests/test-pipe.c b/tests/test-pipe.c
index 0525f7d4..e9ebe162 100644
--- a/tests/test-pipe.c
+++ b/tests/test-pipe.c
@@ -1,5 +1,5 @@
/* Test of pipe.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-printf-frexp.c b/tests/test-printf-frexp.c
index 01b34a51..e3aa7caf 100644
--- a/tests/test-printf-frexp.c
+++ b/tests/test-printf-frexp.c
@@ -1,5 +1,5 @@
/* Test of splitting a double into fraction and mantissa.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-printf-frexpl.c b/tests/test-printf-frexpl.c
index bc30fd1b..dd39fe84 100644
--- a/tests/test-printf-frexpl.c
+++ b/tests/test-printf-frexpl.c
@@ -1,5 +1,5 @@
/* Test of splitting a 'long double' into fraction and mantissa.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-pselect.c b/tests/test-pselect.c
index 898578be..2f239ddf 100644
--- a/tests/test-pselect.c
+++ b/tests/test-pselect.c
@@ -1,5 +1,5 @@
/* Test of pselect() substitute.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@ SIGNATURE_CHECK (pselect, int,
(int, fd_set *restrict, fd_set *restrict, fd_set *restrict,
struct timespec const *restrict, const sigset_t *restrict));
+#define TEST_PORT 12347
#include "test-select.h"
static int
diff --git a/tests/test-pthread-thread.c b/tests/test-pthread-thread.c
index 3c08084d..f0a19793 100644
--- a/tests/test-pthread-thread.c
+++ b/tests/test-pthread-thread.c
@@ -1,5 +1,5 @@
/* Test of pthread_create () function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ static pthread_t worker_thread;
static volatile int work_done;
static void *
-worker_thread_func (void *arg)
+worker_thread_func (_GL_UNUSED void *arg)
{
work_done = 1;
return MAGIC;
diff --git a/tests/test-pthread.c b/tests/test-pthread.c
index 2fef5924..f7e89c66 100644
--- a/tests/test-pthread.c
+++ b/tests/test-pthread.c
@@ -1,5 +1,5 @@
/* Test of <pthread.h> substitute.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-pthread_sigmask1.c b/tests/test-pthread_sigmask1.c
index a7816b5e..a4f9ba6d 100644
--- a/tests/test-pthread_sigmask1.c
+++ b/tests/test-pthread_sigmask1.c
@@ -1,5 +1,5 @@
/* Test of pthread_sigmask in a single-threaded program.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@
SIGNATURE_CHECK (pthread_sigmask, int, (int, const sigset_t *, sigset_t *));
#include <errno.h>
+#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -35,16 +36,16 @@ SIGNATURE_CHECK (pthread_sigmask, int, (int, const sigset_t *, sigset_t *));
static volatile int sigint_occurred;
static void
-sigint_handler (int sig)
+sigint_handler (_GL_UNUSED int sig)
{
sigint_occurred++;
}
int
-main (int argc, char *argv[])
+main ()
{
sigset_t set;
- int pid = getpid ();
+ intmax_t pid = getpid ();
char command[80];
signal (SIGINT, sigint_handler);
@@ -59,7 +60,7 @@ main (int argc, char *argv[])
ASSERT (pthread_sigmask (SIG_BLOCK, &set, NULL) == 0);
/* Request a SIGINT signal from outside. */
- sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+ sprintf (command, "sh -c 'sleep 1; kill -INT %"PRIdMAX"' &", pid);
ASSERT (system (command) == 0);
/* Wait. */
diff --git a/tests/test-pthread_sigmask2.c b/tests/test-pthread_sigmask2.c
index 20349fe0..d527eb8d 100644
--- a/tests/test-pthread_sigmask2.c
+++ b/tests/test-pthread_sigmask2.c
@@ -1,5 +1,5 @@
/* Test of pthread_sigmask in a multi-threaded program.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ static pthread_t main_thread;
static pthread_t killer_thread;
static void *
-killer_thread_func (void *arg)
+killer_thread_func (_GL_UNUSED void *arg)
{
sleep (1);
pthread_kill (main_thread, SIGINT);
@@ -43,13 +43,13 @@ killer_thread_func (void *arg)
static volatile int sigint_occurred;
static void
-sigint_handler (int sig)
+sigint_handler (_GL_UNUSED int sig)
{
sigint_occurred++;
}
int
-main (int argc, char *argv[])
+main ()
{
sigset_t set;
diff --git a/tests/test-raise.c b/tests/test-raise.c
index b1a3c8a4..39ffdc30 100644
--- a/tests/test-raise.c
+++ b/tests/test-raise.c
@@ -1,5 +1,5 @@
/* Test raising a signal.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,11 +26,11 @@ SIGNATURE_CHECK (raise, int, (int));
#include "macros.h"
-/* It is safe to use _Noreturn here: exit() never returns, and GCC knows that
- exit() is a non-returning function, even on platforms where its declaration
- in <stdlib.h> does not have the 'noreturn' attribute. */
+/* It is safe to use _Noreturn here: _exit() never returns, and GCC knows that
+ _exit() is a non-returning function, even on platforms where its declaration
+ in <unistd.h> does not have the 'noreturn' attribute. */
static _Noreturn void
-handler (int sig)
+handler (_GL_UNUSED int sig)
{
_exit (0);
}
diff --git a/tests/test-random-mt.c b/tests/test-random-mt.c
new file mode 100644
index 00000000..4e2f2d37
--- /dev/null
+++ b/tests/test-random-mt.c
@@ -0,0 +1,169 @@
+/* Multithread-safety test for random().
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+#if USE_ISOC_THREADS || USE_POSIX_THREADS || USE_ISOC_AND_POSIX_THREADS || USE_WINDOWS_THREADS
+
+/* Whether to help the scheduler through explicit yield().
+ Uncomment this to see if the operating system has a fair scheduler. */
+#define EXPLICIT_YIELD 1
+
+/* Number of simultaneous threads. */
+#define THREAD_COUNT 4
+
+/* Number of random() invocations operations performed in each thread.
+ This value is chosen so that the unit test terminates quickly.
+ To reliably determine whether a random() implementation is multithread-safe,
+ set REPEAT_COUNT to 1000000 and run the test 100 times:
+ $ for i in `seq 100`; do ./test-random-mt; done
+ */
+#define REPEAT_COUNT 100000
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <stdio.h>
+
+#if EXPLICIT_YIELD
+# include <sched.h>
+#endif
+
+#include "glthread/thread.h"
+#include "xalloc.h"
+
+#if EXPLICIT_YIELD
+# define yield() sched_yield ()
+#else
+# define yield()
+#endif
+
+/* This test runs REPEAT_COUNT invocations of random() in each thread and stores
+ the result, then compares the first REPEAT_COUNT among these
+ THREAD_COUNT * REPEAT_COUNT
+ random numbers against a precomputed sequence with the same seed. */
+
+static void *
+random_invocator_thread (void *arg)
+{
+ long *storage = (long *) arg;
+ int repeat;
+
+ for (repeat = 0; repeat < REPEAT_COUNT; repeat++)
+ {
+ storage[repeat] = random ();
+ yield ();
+ }
+
+ return NULL;
+}
+
+int
+main ()
+{
+ unsigned int seed = 19891109;
+
+ /* First, get the expected sequence of random() results. */
+ srandom (seed);
+ long *expected = XNMALLOC (REPEAT_COUNT, long);
+ {
+ int repeat;
+ for (repeat = 0; repeat < REPEAT_COUNT; repeat++)
+ expected[repeat] = random ();
+ }
+
+ /* Then, run REPEAT_COUNT invocations of random() each, in THREAD_COUNT
+ separate threads. */
+ gl_thread_t threads[THREAD_COUNT];
+ long *thread_results[THREAD_COUNT];
+ srandom (seed);
+ {
+ int i;
+ for (i = 0; i < THREAD_COUNT; i++)
+ thread_results[i] = XNMALLOC (REPEAT_COUNT, long);
+ for (i = 0; i < THREAD_COUNT; i++)
+ threads[i] =
+ gl_thread_create (random_invocator_thread, thread_results[i]);
+ }
+
+ /* Wait for the threads to terminate. */
+ {
+ int i;
+ for (i = 0; i < THREAD_COUNT; i++)
+ gl_thread_join (threads[i], NULL);
+ }
+
+ /* Finally, determine whether the threads produced the same sequence of
+ random() results. */
+ {
+ int expected_index;
+ int result_index[THREAD_COUNT];
+ int i;
+
+ for (i = 0; i < THREAD_COUNT; i++)
+ result_index[i] = 0;
+
+ for (expected_index = 0; expected_index < REPEAT_COUNT; expected_index++)
+ {
+ long expected_value = expected[expected_index];
+
+ for (i = 0; i < THREAD_COUNT; i++)
+ {
+ if (thread_results[i][result_index[i]] == expected_value)
+ {
+ result_index[i]++;
+ break;
+ }
+ }
+ if (i == THREAD_COUNT)
+ {
+ if (expected_index == 0)
+ {
+ /* This occurs on platforms like OpenBSD, where srandom() has no
+ effect and random() always return non-deterministic values.
+ Mark the test as SKIP. */
+ fprintf (stderr, "Skipping test: random() is non-deterministic.\n");
+ return 77;
+ }
+ else
+ {
+ fprintf (stderr, "Expected value #%d not found in multithreaded results.\n",
+ expected_index);
+ return 1;
+ }
+ }
+ }
+ }
+
+ return 0;
+}
+
+#else
+
+/* No multithreading available. */
+
+#include <stdio.h>
+
+int
+main ()
+{
+ fputs ("Skipping test: multithreading not enabled\n", stderr);
+ return 77;
+}
+
+#endif
diff --git a/tests/test-random.c b/tests/test-random.c
new file mode 100644
index 00000000..4bfc1b84
--- /dev/null
+++ b/tests/test-random.c
@@ -0,0 +1,49 @@
+/* Test random.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (srandom, void, (unsigned int));
+SIGNATURE_CHECK (initstate, char *, (unsigned int, char *, size_t));
+SIGNATURE_CHECK (setstate, char *, (char *));
+SIGNATURE_CHECK (random, long, (void));
+
+#include <time.h>
+
+#include "macros.h"
+
+int
+main ()
+{
+ char buf[128];
+ unsigned int i;
+ unsigned int n_big = 0;
+
+ initstate (time (NULL), buf, sizeof buf);
+ for (i = 0; i < 1000; i++)
+ {
+ long r = random ();
+ ASSERT (0 <= r);
+ if (RAND_MAX / 2 < r)
+ ++n_big;
+ }
+
+ /* Fail if none of the numbers were larger than RAND_MAX / 2. */
+ return !n_big;
+}
diff --git a/tests/test-random_r.c b/tests/test-random_r.c
new file mode 100644
index 00000000..19f570d7
--- /dev/null
+++ b/tests/test-random_r.c
@@ -0,0 +1,68 @@
+/* Test random_r.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (srandom_r, int, (unsigned int, struct random_data *));
+SIGNATURE_CHECK (initstate_r, int, (unsigned int, char *, size_t,
+ struct random_data *));
+SIGNATURE_CHECK (setstate_r, int, (char *, struct random_data *));
+SIGNATURE_CHECK (random_r, int, (struct random_data *, int32_t *));
+
+#include <time.h>
+
+#include "macros.h"
+
+/* Note: This test crashes on glibc/SPARC systems.
+ Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=30584>. */
+
+static int
+test_failed (int alignment)
+{
+ struct random_data rand_state;
+ char buf[128 + sizeof (int32_t)];
+ unsigned int i;
+ unsigned int n_big = 0;
+
+ rand_state.state = NULL;
+ if (initstate_r (time (NULL), buf + alignment, sizeof buf - alignment,
+ &rand_state))
+ return 1;
+ for (i = 0; i < 1000; i++)
+ {
+ int32_t r;
+ ASSERT (random_r (&rand_state, &r) == 0);
+ ASSERT (0 <= r);
+ if (RAND_MAX / 2 < r)
+ ++n_big;
+ }
+
+ /* Fail if none of the numbers were larger than RAND_MAX / 2. */
+ return !n_big;
+}
+
+int
+main ()
+{
+ int alignment;
+ for (alignment = 0; alignment < sizeof (int32_t); alignment++)
+ if (test_failed (alignment))
+ return 1;
+ return 0;
+}
diff --git a/tests/test-realloc-gnu.c b/tests/test-realloc-gnu.c
index c3bca67a..54832ee8 100644
--- a/tests/test-realloc-gnu.c
+++ b/tests/test-realloc-gnu.c
@@ -1,5 +1,5 @@
/* Test of realloc function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
#include "macros.h"
int
-main (int argc, char **argv)
+main (int argc, _GL_UNUSED char **argv)
{
/* Check that realloc (NULL, 0) is not a NULL pointer. */
void *volatile p = realloc (NULL, 0);
diff --git a/tests/test-reallocarray.c b/tests/test-reallocarray.c
index b830361d..fb9171ce 100644
--- a/tests/test-reallocarray.c
+++ b/tests/test-reallocarray.c
@@ -1,5 +1,5 @@
/* Test of reallocarray function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-rwlock1.c b/tests/test-rwlock1.c
index a9c0aa53..4275382c 100644
--- a/tests/test-rwlock1.c
+++ b/tests/test-rwlock1.c
@@ -1,5 +1,5 @@
/* Test of glthread_rwlock_rdlock function.
- Copyright (C) 2017-2022 Free Software Foundation, Inc.
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -73,7 +73,7 @@ static gl_thread_t timer;
static gl_lock_t baton;
static void *
-timer_func (void *ignored)
+timer_func (_GL_UNUSED void *ignored)
{
/* Step 13 (can be before or after step 12):
The timer thread takes the baton, then waits a moment to make sure
@@ -87,7 +87,7 @@ timer_func (void *ignored)
}
static void *
-reader2_func (void *ignored)
+reader2_func (_GL_UNUSED void *ignored)
{
int err;
@@ -113,7 +113,7 @@ reader2_func (void *ignored)
}
static void *
-writer_func (void *ignored)
+writer_func (_GL_UNUSED void *ignored)
{
/* Step 4: Take the baton, so that the second reader thread does not go ahead
too early. */
diff --git a/tests/test-sched.c b/tests/test-sched.c
index 1326815b..afefc7d5 100644
--- a/tests/test-sched.c
+++ b/tests/test-sched.c
@@ -1,5 +1,5 @@
/* Test of <sched.h> substitute.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-select-fd.c b/tests/test-select-fd.c
index 90699867..b94addd5 100644
--- a/tests/test-select-fd.c
+++ b/tests/test-select-fd.c
@@ -1,5 +1,5 @@
/* Test of select() substitute, reading or writing from a given file descriptor.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-select-in.sh b/tests/test-select-in.sh
index 68176d30..ad86ea25 100755
--- a/tests/test-select-in.sh
+++ b/tests/test-select-in.sh
@@ -5,7 +5,7 @@
# of /dev/null.
tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
+trap 'rm -fr $tmpfiles' HUP INT QUIT TERM
tmpfiles="$tmpfiles t-select-in.tmp"
diff --git a/tests/test-select-out.sh b/tests/test-select-out.sh
index dbeace50..cfa5e179 100755
--- a/tests/test-select-out.sh
+++ b/tests/test-select-out.sh
@@ -2,7 +2,7 @@
# Test select() on file descriptors opened for writing.
tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
+trap 'rm -fr $tmpfiles' HUP INT QUIT TERM
tmpfiles="$tmpfiles t-select-out.out t-select-out.tmp"
diff --git a/tests/test-select-stdin.c b/tests/test-select-stdin.c
index bf7e82b3..2f8f08aa 100644
--- a/tests/test-select-stdin.c
+++ b/tests/test-select-stdin.c
@@ -1,5 +1,5 @@
/* Test of select() substitute, reading from stdin.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-select.c b/tests/test-select.c
index 7cca5517..a75c9244 100644
--- a/tests/test-select.c
+++ b/tests/test-select.c
@@ -1,5 +1,5 @@
/* Test of select() substitute.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,6 +25,7 @@
SIGNATURE_CHECK (select, int, (int, fd_set *, fd_set *, fd_set *,
struct timeval *));
+#define TEST_PORT 12346
#include "test-select.h"
int
diff --git a/tests/test-select.h b/tests/test-select.h
index 86a79ad8..4896b674 100644
--- a/tests/test-select.h
+++ b/tests/test-select.h
@@ -1,5 +1,5 @@
/* Test of select() substitute.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -37,8 +37,10 @@
# include <sys/wait.h>
#endif
-#define TEST_PORT 12345
-
+/* Tell GCC not to warn about the specific edge cases tested here. */
+#if __GNUC__ >= 13
+# pragma GCC diagnostic ignored "-Wanalyzer-fd-use-without-check"
+#endif
typedef int (*select_fn) (int, fd_set *, fd_set *, fd_set *, struct timeval *);
diff --git a/tests/test-setenv.c b/tests/test-setenv.c
index 2362c2e1..3b2850e4 100644
--- a/tests/test-setenv.c
+++ b/tests/test-setenv.c
@@ -1,5 +1,5 @@
/* Tests of setenv.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale1.c b/tests/test-setlocale1.c
index 6e50e657..329991b3 100644
--- a/tests/test-setlocale1.c
+++ b/tests/test-setlocale1.c
@@ -1,5 +1,5 @@
/* Test of setting the current locale.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale2.c b/tests/test-setlocale2.c
index 905c1939..b64b64ca 100644
--- a/tests/test-setlocale2.c
+++ b/tests/test-setlocale2.c
@@ -1,5 +1,5 @@
/* Test of setting the current locale.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale_null-mt-all.c b/tests/test-setlocale_null-mt-all.c
index 2739f111..d565aa03 100644
--- a/tests/test-setlocale_null-mt-all.c
+++ b/tests/test-setlocale_null-mt-all.c
@@ -1,5 +1,5 @@
/* Multithread-safety test for setlocale_null_r (LC_ALL, ...).
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -166,7 +166,7 @@ Solaris 11.0 OK
Solaris 11.4 OK
Solaris OpenIndiana OK
Haiku crash < 1 sec
-Cygwin crash < 1 sec
+Cygwin < 3.4.6 crash < 1 sec
mingw OK
MSVC OK (assuming compiler option /MD !)
*/
diff --git a/tests/test-setlocale_null-mt-one.c b/tests/test-setlocale_null-mt-one.c
index 9320efd6..cbd057f9 100644
--- a/tests/test-setlocale_null-mt-one.c
+++ b/tests/test-setlocale_null-mt-one.c
@@ -1,5 +1,5 @@
/* Multithread-safety test for setlocale_null_r (LC_xxx, ...).
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale_null-unlocked.c b/tests/test-setlocale_null-unlocked.c
new file mode 100644
index 00000000..d06dec60
--- /dev/null
+++ b/tests/test-setlocale_null-unlocked.c
@@ -0,0 +1,35 @@
+/* Test of setlocale_null_r_unlocked function.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
+
+#include <config.h>
+
+/* Specification. */
+#include "setlocale_null.h"
+
+#include <locale.h>
+
+/* Check that SETLOCALE_NULL_ALL_MAX is a constant expression. */
+static char buf[SETLOCALE_NULL_ALL_MAX];
+
+int
+main ()
+{
+ /* Check that setlocale_null_r_unlocked() can be used without any
+ libraries. */
+ return setlocale_null_r_unlocked (LC_ALL, buf, sizeof (buf)) != 0;
+}
diff --git a/tests/test-setlocale_null.c b/tests/test-setlocale_null.c
index 9b8a663a..72352348 100644
--- a/tests/test-setlocale_null.c
+++ b/tests/test-setlocale_null.c
@@ -1,5 +1,5 @@
/* Test of setlocale_null_r function.
- Copyright (C) 2019-2022 Free Software Foundation, Inc.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,6 +27,6 @@ static char buf[SETLOCALE_NULL_ALL_MAX];
int
main ()
{
- /* Check that setlocale_null_r() can be used with $(LIB_SETLOCALE_NULL). */
+ /* Check that setlocale_null_r() can be used with $(SETLOCALE_NULL_LIB). */
return setlocale_null_r (LC_ALL, buf, sizeof (buf)) != 0;
}
diff --git a/tests/test-setsockopt.c b/tests/test-setsockopt.c
index 03376848..75493810 100644
--- a/tests/test-setsockopt.c
+++ b/tests/test-setsockopt.c
@@ -1,5 +1,5 @@
/* Test setsockopt() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-signal-h.c b/tests/test-signal-h.c
index 06c97274..c4b32207 100644
--- a/tests/test-signal-h.c
+++ b/tests/test-signal-h.c
@@ -1,5 +1,5 @@
/* Test of <signal.h> substitute.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-signbit.c b/tests/test-signbit.c
index d1305ce0..da5b7981 100644
--- a/tests/test-signbit.c
+++ b/tests/test-signbit.c
@@ -1,5 +1,5 @@
/* Test of signbit() substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,6 +30,8 @@
#include "minus-zero.h"
#include "infinity.h"
+#include "signed-nan.h"
+#include "signed-snan.h"
#include "macros.h"
float zerof = 0.0f;
@@ -56,28 +58,12 @@ test_signbitf ()
ASSERT (!signbit (Infinityf ()));
ASSERT (signbit (- Infinityf ()));
/* Quiet NaN. */
- (void) signbit (zerof / zerof);
-#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ ASSERT (!signbit (positive_NaNf ()));
+ ASSERT (signbit (negative_NaNf ()));
+#if HAVE_SNANF
/* Signalling NaN. */
- {
- #define NWORDS \
- ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
- typedef union { float value; unsigned int word[NWORDS]; } memory_float;
- memory_float m;
- m.value = zerof / zerof;
-# if FLT_EXPBIT0_BIT > 0
- m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
-# else
- m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
- if (FLT_EXPBIT0_WORD < NWORDS / 2)
- m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
- else
- m.word[0] |= (unsigned int) 1;
- (void) signbit (m.value);
- #undef NWORDS
- }
+ ASSERT (!signbit (positive_SNaNf ()));
+ ASSERT (signbit (negative_SNaNf ()));
#endif
}
@@ -101,26 +87,12 @@ test_signbitd ()
ASSERT (!signbit (Infinityd ()));
ASSERT (signbit (- Infinityd ()));
/* Quiet NaN. */
- (void) signbit (zerod / zerod);
-#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+ ASSERT (!signbit (positive_NaNd ()));
+ ASSERT (signbit (negative_NaNd ()));
+#if HAVE_SNAND
/* Signalling NaN. */
- {
- #define NWORDS \
- ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
- typedef union { double value; unsigned int word[NWORDS]; } memory_double;
- memory_double m;
- m.value = zerod / zerod;
-# if DBL_EXPBIT0_BIT > 0
- m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
-# else
- m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
- m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
- (void) signbit (m.value);
- #undef NWORDS
- }
+ ASSERT (!signbit (positive_SNaNd ()));
+ ASSERT (signbit (negative_SNaNd ()));
#endif
}
@@ -144,36 +116,12 @@ test_signbitl ()
ASSERT (!signbit (Infinityl ()));
ASSERT (signbit (- Infinityl ()));
/* Quiet NaN. */
- (void) signbit (zerol / zerol);
-#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+ ASSERT (!signbit (positive_NaNl ()));
+ ASSERT (signbit (negative_NaNl ()));
+#if HAVE_SNANL
/* Signalling NaN. */
- {
- #define NWORDS \
- ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
- typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double;
-
-#if defined __powerpc__ && LDBL_MANT_DIG == 106
- /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are
- represented as the corresponding 64-bit IEEE values in the first double;
- the second is ignored. Manipulate only the first double. */
- #undef NWORDS
- #define NWORDS \
- ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-#endif
-
- memory_long_double m;
- m.value = zerol / zerol;
-# if LDBL_EXPBIT0_BIT > 0
- m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
-# else
- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
- m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
- |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
- (void) signbit (m.value);
- #undef NWORDS
- }
+ ASSERT (!signbit (positive_SNaNl ()));
+ ASSERT (signbit (negative_SNaNl ()));
#endif
}
diff --git a/tests/test-sigprocmask.c b/tests/test-sigprocmask.c
index 4bab4c1c..c712d77d 100644
--- a/tests/test-sigprocmask.c
+++ b/tests/test-sigprocmask.c
@@ -1,5 +1,5 @@
/* Test of sigprocmask.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@
SIGNATURE_CHECK (sigprocmask, int, (int, const sigset_t *, sigset_t *));
#include <errno.h>
+#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -35,24 +36,18 @@ SIGNATURE_CHECK (sigprocmask, int, (int, const sigset_t *, sigset_t *));
static volatile int sigint_occurred;
static void
-sigint_handler (int sig)
+sigint_handler (_GL_UNUSED int sig)
{
sigint_occurred++;
}
int
-main (int argc, char *argv[])
+main ()
{
sigset_t set;
- pid_t pid = getpid ();
+ intmax_t pid = getpid ();
char command[80];
- if (sizeof (int) < sizeof pid && 0x7fffffff < pid)
- {
- fputs ("Skipping test: pid too large\n", stderr);
- return 77;
- }
-
signal (SIGINT, sigint_handler);
sigemptyset (&set);
@@ -66,7 +61,7 @@ main (int argc, char *argv[])
ASSERT (sigprocmask (SIG_BLOCK, &set, NULL) == 0);
/* Request a SIGINT signal from outside. */
- sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, (int) pid);
+ sprintf (command, "sh -c 'sleep 1; kill -INT %"PRIdMAX"' &", pid);
ASSERT (system (command) == 0);
/* Wait. */
diff --git a/tests/test-sleep.c b/tests/test-sleep.c
index 37af3525..b0896f2e 100644
--- a/tests/test-sleep.c
+++ b/tests/test-sleep.c
@@ -1,5 +1,5 @@
/* Test of sleep() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sockets.c b/tests/test-sockets.c
index 714da6c0..5917e4dd 100644
--- a/tests/test-sockets.c
+++ b/tests/test-sockets.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2024 Free Software Foundation, Inc.
* Written by Simon Josefsson.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-stat-time.c b/tests/test-stat-time.c
index 7e961f2f..f28b6c46 100644
--- a/tests/test-stat-time.c
+++ b/tests/test-stat-time.c
@@ -1,5 +1,5 @@
/* Test of <stat-time.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stat.c b/tests/test-stat.c
index c8a4b984..53ff77d9 100644
--- a/tests/test-stat.c
+++ b/tests/test-stat.c
@@ -1,5 +1,5 @@
/* Tests of stat.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stat.h b/tests/test-stat.h
index 82f88970..a76f38f9 100644
--- a/tests/test-stat.h
+++ b/tests/test-stat.h
@@ -1,5 +1,5 @@
/* Tests of stat.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,16 +33,16 @@ test_stat_func (int (*func) (char const *, struct stat *), bool print)
ASSERT (func (".", &st1) == 0);
ASSERT (func ("./", &st2) == 0);
#if !(defined _WIN32 && !defined __CYGWIN__ && !_GL_WINDOWS_STAT_INODES)
- ASSERT (SAME_INODE (st1, st2));
+ ASSERT (psame_inode (&st1, &st2));
#endif
ASSERT (func (cwd, &st2) == 0);
#if !(defined _WIN32 && !defined __CYGWIN__ && !_GL_WINDOWS_STAT_INODES)
- ASSERT (SAME_INODE (st1, st2));
+ ASSERT (psame_inode (&st1, &st2));
#endif
ASSERT (func ("/", &st1) == 0);
ASSERT (func ("///", &st2) == 0);
#if !(defined _WIN32 && !defined __CYGWIN__ && !_GL_WINDOWS_STAT_INODES)
- ASSERT (SAME_INODE (st1, st2));
+ ASSERT (psame_inode (&st1, &st2));
#endif
errno = 0;
diff --git a/tests/test-stdbool.c b/tests/test-stdbool.c
index 923a2cd3..9322b500 100644
--- a/tests/test-stdbool.c
+++ b/tests/test-stdbool.c
@@ -1,5 +1,5 @@
/* Test bool.
- Copyright (C) 2002-2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2002-2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@
least, not for all compilers and compiler options. */
#if ((HAVE_C_BOOL || defined __cplusplus \
|| HAVE_STDBOOL_H || 3 <= __GNUC__ || 4 <= __clang_major__) \
- && !defined _MSC_VER)
+ && !(defined _MSC_VER || defined __SUNPRO_C))
# define WORKING_BOOL 1
#else
# define WORKING_BOOL 0
diff --git a/tests/test-stdckdint.c b/tests/test-stdckdint.c
index c1952551..f0a576f6 100644
--- a/tests/test-stdckdint.c
+++ b/tests/test-stdckdint.c
@@ -1,5 +1,5 @@
/* Test <stdckdint.h>.
- Copyright 2022 Free Software Foundation, Inc.
+ Copyright 2022-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stddef.c b/tests/test-stddef.c
index 470c7a6b..5bceb18a 100644
--- a/tests/test-stddef.c
+++ b/tests/test-stddef.c
@@ -1,5 +1,5 @@
/* Test of <stddef.h> substitute.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,14 +19,12 @@
#include <config.h>
#include <stddef.h>
-#include <limits.h>
-#include <stdalign.h>
/* Check that appropriate types are defined. */
wchar_t a = 'c';
ptrdiff_t b = 1;
size_t c = 2;
-max_align_t x;
+max_align_t mat;
/* Check that NULL can be passed through varargs as a pointer type,
per POSIX 2008. */
@@ -45,10 +43,6 @@ struct d
static_assert (sizeof (offsetof (struct d, e)) == sizeof (size_t));
static_assert (offsetof (struct d, f) == 1);
-/* offsetof promotes to an unsigned integer if and only if sizes do
- not fit in int. */
-static_assert ((offsetof (struct d, e) < -1) == (INT_MAX < (size_t) -1));
-
/* Check max_align_t's alignment. */
static_assert (alignof (double) <= alignof (max_align_t));
static_assert (alignof (int) <= alignof (max_align_t));
@@ -69,6 +63,36 @@ static_assert (__alignof__ (wchar_t) <= __alignof__ (max_align_t));
static_assert (__alignof__ (struct d) <= __alignof__ (max_align_t));
#endif
+int test_unreachable_optimization (int x);
+_Noreturn void test_unreachable_noreturn (void);
+
+int
+test_unreachable_optimization (int x)
+{
+ /* Check that the compiler uses 'unreachable' for optimization.
+ This function, when compiled with optimization, should have code
+ equivalent to
+ return x + 3;
+ Use 'objdump --disassemble test-stddef.o' to verify this. */
+ if (x < 4)
+ unreachable ();
+ return (x > 1 ? x + 3 : 2 * x + 10);
+}
+
+_Noreturn void
+test_unreachable_noreturn (void)
+{
+ /* Check that the compiler's data-flow analysis recognizes 'unreachable ()'.
+ This function should not elicit a warning. */
+ unreachable ();
+}
+
+#include <limits.h> /* INT_MAX */
+
+/* offsetof promotes to an unsigned integer if and only if sizes do
+ not fit in int. */
+static_assert ((offsetof (struct d, e) < -1) == (INT_MAX < (size_t) -1));
+
int
main (void)
{
diff --git a/tests/test-stdint.c b/tests/test-stdint.c
index 7d71f687..47bedc89 100644
--- a/tests/test-stdint.c
+++ b/tests/test-stdint.c
@@ -1,5 +1,5 @@
/* Test of <stdint.h> substitute.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -216,22 +216,24 @@ err or;
/* 7.18.1.4. Integer types capable of holding object pointers */
/* 7.18.2.4. Limits of integer types capable of holding object pointers */
+#ifdef INTPTR_MAX
intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX };
verify (sizeof (void *) <= sizeof (intptr_t));
+# ifndef __CHERI_PURE_CAPABILITY__
verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN);
verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX);
+# endif
verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0);
verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0);
+#endif
+#ifdef UINTPTR_MAX
uintptr_t h[2] = { 17, UINTPTR_MAX };
verify (sizeof (void *) <= sizeof (uintptr_t));
+# ifndef __CHERI_PURE_CAPABILITY__
verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX);
+# endif
verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0);
-
-#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX
-/* ok */
-#else
-err or;
#endif
/* 7.18.1.5. Greatest-width integer types */
@@ -408,8 +410,14 @@ verify_width (INT_FAST32_WIDTH, INT_FAST32_MIN, INT_FAST32_MAX);
verify_width (UINT_FAST32_WIDTH, 0, UINT_FAST32_MAX);
verify_width (INT_FAST64_WIDTH, INT_FAST64_MIN, INT_FAST64_MAX);
verify_width (UINT_FAST64_WIDTH, 0, UINT_FAST64_MAX);
+#ifndef __CHERI_PURE_CAPABILITY__
+# ifdef INTPTR_WIDTH
verify_width (INTPTR_WIDTH, INTPTR_MIN, INTPTR_MAX);
+# endif
+# ifdef UINTPTR_WIDTH
verify_width (UINTPTR_WIDTH, 0, UINTPTR_MAX);
+# endif
+#endif
verify_width (INTMAX_WIDTH, INTMAX_MIN, INTMAX_MAX);
verify_width (UINTMAX_WIDTH, 0, UINTMAX_MAX);
verify_width (PTRDIFF_WIDTH, PTRDIFF_MIN, PTRDIFF_MAX);
diff --git a/tests/test-stdio.c b/tests/test-stdio.c
index 1908da35..49969520 100644
--- a/tests/test-stdio.c
+++ b/tests/test-stdio.c
@@ -1,5 +1,5 @@
/* Test of <stdio.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,6 +23,9 @@
/* Check that the various SEEK_* macros are defined. */
int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
+/* Check that the _PRINTF_NAN_LEN_MAX macro is defined. */
+int pnlm[] = { _PRINTF_NAN_LEN_MAX };
+
/* Check that NULL can be passed through varargs as a pointer type,
per POSIX 2008. */
static_assert (sizeof NULL == sizeof (void *));
@@ -34,8 +37,57 @@ size_t t3;
ssize_t t4;
va_list t5;
+#include <string.h>
+
+#include "signed-nan.h"
+#include "signed-snan.h"
+#include "macros.h"
+
int
main (void)
{
+ {
+ double value1;
+ char buf[64];
+
+ value1 = positive_NaNd();
+ sprintf (buf, "%g", value1);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+
+ value1 = negative_NaNd();
+ sprintf (buf, "%g", value1);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+ }
+#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+ /* Check the value of _PRINTF_NAN_LEN_MAX. */
+ {
+ double value1;
+ memory_double value2;
+ char buf[64];
+
+ value1 = positive_SNaNd();
+ sprintf (buf, "%g", value1);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+
+ value1 = negative_SNaNd();
+ sprintf (buf, "%g", value1);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+
+ value2.value = positive_NaNd ();
+ #if DBL_EXPBIT0_BIT == 20
+ value2.word[DBL_EXPBIT0_WORD] ^= 0x54321;
+ #endif
+ sprintf (buf, "%g", value2.value);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+
+ value2.value = negative_NaNd ();
+ #if DBL_EXPBIT0_BIT == 20
+ value2.word[DBL_EXPBIT0_WORD] ^= 0x54321;
+ #endif
+ sprintf (buf, "%g", value2.value);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+ }
+#endif
+
return 0;
}
diff --git a/tests/test-stdlib.c b/tests/test-stdlib.c
index 4fdafc99..cb6db802 100644
--- a/tests/test-stdlib.c
+++ b/tests/test-stdlib.c
@@ -1,5 +1,5 @@
/* Test of <stdlib.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -45,8 +45,19 @@ static_assert (sizeof NULL == sizeof (void *));
int
main (void)
{
- if (test_sys_wait_macros ())
+ /* POSIX:2018 says:
+ "In the POSIX locale the value of MB_CUR_MAX shall be 1." */
+ /* On Android ≥ 5.0, the default locale is the "C.UTF-8" locale, not the
+ "C" locale. Furthermore, when you attempt to set the "C" or "POSIX"
+ locale via setlocale(), what you get is a "C" locale with UTF-8 encoding,
+ that is, effectively the "C.UTF-8" locale. */
+#ifndef __ANDROID__
+ if (MB_CUR_MAX != 1)
return 1;
+#endif
+
+ if (test_sys_wait_macros ())
+ return 2;
return exitcode;
}
diff --git a/tests/test-strerror.c b/tests/test-strerror.c
index b9ec040a..3074b5cd 100644
--- a/tests/test-strerror.c
+++ b/tests/test-strerror.c
@@ -1,5 +1,5 @@
/* Test of strerror() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-strerror_r.c b/tests/test-strerror_r.c
index 916ce3fc..4b4e27f4 100644
--- a/tests/test-strerror_r.c
+++ b/tests/test-strerror_r.c
@@ -1,5 +1,5 @@
/* Test of strerror_r() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-striconveh.c b/tests/test-striconveh.c
index 15627f3d..71dfc3f7 100644
--- a/tests/test-striconveh.c
+++ b/tests/test-striconveh.c
@@ -1,5 +1,5 @@
/* Test of character set conversion with error handling.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ main ()
iconv_t cd_88592_to_utf8 = iconv_open ("UTF-8", "ISO-8859-2");
iconv_t cd_utf8_to_88592 = iconv_open ("ISO-8859-2", "UTF-8");
iconv_t cd_utf7_to_utf8 = iconv_open ("UTF-8", "UTF-7");
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
iconv_t cd_ascii_to_gb18030 = iconv_open ("GB18030", "ASCII");
iconv_t cd_utf8_to_gb18030 = iconv_open ("GB18030", "UTF-8");
iconv_t cd_88591_to_gb18030 = iconv_open ("GB18030", "ISO-8859-1");
@@ -82,7 +82,7 @@ main ()
iconveh_t cdeh_88591_to_utf8;
iconveh_t cdeh_utf8_to_88591;
iconveh_t cdeh_utf7_to_utf8;
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
iconveh_t cdeh_ascii_to_gb18030;
iconveh_t cdeh_88591_to_gb18030;
iconveh_t cdeh_utf7_to_gb18030;
@@ -93,7 +93,7 @@ main ()
ASSERT (cd_utf8_to_88591 != (iconv_t)(-1));
ASSERT (cd_88592_to_utf8 != (iconv_t)(-1));
ASSERT (cd_utf8_to_88592 != (iconv_t)(-1));
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
ASSERT (cd_ascii_to_gb18030 != (iconv_t)(-1));
ASSERT (cd_utf8_to_gb18030 != (iconv_t)(-1));
# endif
@@ -130,7 +130,7 @@ main ()
cdeh_utf7_to_utf8.cd1 = cd_utf7_to_utf8;
cdeh_utf7_to_utf8.cd2 = (iconv_t)(-1);
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
cdeh_ascii_to_gb18030.cd = cd_ascii_to_gb18030;
cdeh_ascii_to_gb18030.cd1 = cd_ascii_to_utf8;
cdeh_ascii_to_gb18030.cd2 = cd_utf8_to_gb18030;
@@ -330,7 +330,7 @@ main ()
}
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
/* Test conversion from ISO-8859-1 to GB18030 with no errors. */
for (h = 0; h < SIZEOF (handlers); h++)
{
@@ -462,8 +462,10 @@ main ()
}
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
- /* Test conversion from ASCII to GB18030 with invalid input (EILSEQ). */
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || ((__GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2) && !defined __UCLIBC__)
+ /* Test conversion from ASCII to GB18030 with invalid input (EILSEQ).
+ Note: glibc's GB18030 converter was buggy in glibc-2.15; fixed by
+ Andreas Schwab on 2012-02-06. */
for (h = 0; h < SIZEOF (handlers); h++)
{
enum iconv_ilseq_handler handler = handlers[h];
@@ -646,7 +648,7 @@ main ()
free (result);
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
/* Test conversion from UTF-7 to GB18030 with EINVAL. */
for (h = 0; h < SIZEOF (handlers); h++)
{
@@ -746,8 +748,10 @@ main ()
}
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
- /* Test conversion from UTF-7 to GB18030 with EILSEQ. */
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || ((__GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2) && !defined __UCLIBC__)
+ /* Test conversion from UTF-7 to GB18030 with EILSEQ.
+ Note: glibc's GB18030 converter was buggy in glibc-2.15; fixed by
+ Andreas Schwab on 2012-02-06. */
for (h = 0; h < SIZEOF (handlers); h++)
{
enum iconv_ilseq_handler handler = handlers[h];
@@ -922,7 +926,7 @@ main ()
free (result);
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
/* Test conversion from ISO-8859-1 to GB18030 with no errors. */
for (h = 0; h < SIZEOF (handlers); h++)
{
@@ -985,8 +989,10 @@ main ()
}
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
- /* Test conversion from ASCII to GB18030 with invalid input (EILSEQ). */
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || ((__GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2) && !defined __UCLIBC__)
+ /* Test conversion from ASCII to GB18030 with invalid input (EILSEQ).
+ Note: glibc's GB18030 converter was buggy in glibc-2.15; fixed by
+ Andreas Schwab on 2012-02-06. */
for (h = 0; h < SIZEOF (handlers); h++)
{
enum iconv_ilseq_handler handler = handlers[h];
@@ -1201,7 +1207,7 @@ main ()
}
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
/* Test conversion from ISO-8859-1 to GB18030 with no errors. */
for (h = 0; h < SIZEOF (handlers); h++)
{
@@ -1421,7 +1427,7 @@ main ()
free (result);
}
-# if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) || (defined __GLIBC__ && !defined __UCLIBC__)
/* Test conversion from ISO-8859-1 to GB18030 with no errors. */
for (h = 0; h < SIZEOF (handlers); h++)
{
diff --git a/tests/test-striconveha.c b/tests/test-striconveha.c
index 6f6e8843..376f3cb6 100644
--- a/tests/test-striconveha.c
+++ b/tests/test-striconveha.c
@@ -1,5 +1,5 @@
/* Test of character set conversion with error handling and autodetection.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -308,7 +308,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-8. */
@@ -405,7 +406,7 @@ main ()
}
# endif
-# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) && !defined __UCLIBC__) || _LIBICONV_VERSION >= 0x0105
+# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) && !defined __UCLIBC__) || (_LIBICONV_VERSION >= 0x0105 && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__))
/* Test conversion from UTF-8 to ISO-8859-1 with transliteration. */
for (h = 0; h < SIZEOF (handlers); h++)
{
@@ -547,7 +548,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-8. */
@@ -584,7 +586,7 @@ main ()
}
# endif
-# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) && !defined __UCLIBC__) || _LIBICONV_VERSION >= 0x0105
+# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) && !defined __UCLIBC__) || (_LIBICONV_VERSION >= 0x0105 && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__))
/* Test conversion from UTF-8 to ISO-8859-1 with transliteration. */
for (h = 0; h < SIZEOF (handlers); h++)
{
diff --git a/tests/test-string.c b/tests/test-string.c
index 94688726..053c2e4a 100644
--- a/tests/test-string.c
+++ b/tests/test-string.c
@@ -1,5 +1,5 @@
/* Test of <string.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-strncat.c b/tests/test-strncat.c
index c25890cb..c2050513 100644
--- a/tests/test-strncat.c
+++ b/tests/test-strncat.c
@@ -1,5 +1,5 @@
/* Test of strncat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-strstr.c b/tests/test-strstr.c
index f59dda67..5822a2e6 100644
--- a/tests/test-strstr.c
+++ b/tests/test-strstr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2007-2024 Free Software Foundation, Inc.
* Written by Bruno Haible and Eric Blake
*
* This program is free software: you can redistribute it and/or modify
@@ -275,6 +275,14 @@ main (int argc, char *argv[])
free (haystack);
}
+ /* Test case from Yves Bastide.
+ <https://www.openwall.com/lists/musl/2014/04/18/2> */
+ {
+ const char input[] = "playing play play play always";
+ const char *result = strstr (input, "play play play");
+ ASSERT (result == input + 8);
+ }
+
/* Test long needles. */
{
size_t m = 1024;
diff --git a/tests/test-symlink.c b/tests/test-symlink.c
index 3dbd60a0..04c3e7a8 100644
--- a/tests/test-symlink.c
+++ b/tests/test-symlink.c
@@ -1,5 +1,5 @@
/* Tests of symlink.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-symlink.h b/tests/test-symlink.h
index 0ce5ad4a..a63faed7 100644
--- a/tests/test-symlink.h
+++ b/tests/test-symlink.h
@@ -1,5 +1,5 @@
/* Tests of symlink.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_ioctl.c b/tests/test-sys_ioctl.c
index 72c9d49a..4cecce18 100644
--- a/tests/test-sys_ioctl.c
+++ b/tests/test-sys_ioctl.c
@@ -1,5 +1,5 @@
/* Test of <sys/ioctl.h> substitute.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_select.c b/tests/test-sys_select.c
index c895fe2b..db791de1 100644
--- a/tests/test-sys_select.c
+++ b/tests/test-sys_select.c
@@ -1,5 +1,5 @@
/* Test of <sys/select.h> substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,16 @@
#include <sys/select.h>
+/* Check that the 'struct timeval' type is defined. */
+struct timeval a;
+
+/* Check that a.tv_sec is wide enough to hold a time_t, ignoring
+ signedness issues. */
+typedef int verify_tv_sec_type[sizeof (time_t) <= sizeof (a.tv_sec) ? 1 : -1];
+
+/* Check that sigset_t is defined. */
+sigset_t t2;
+
#include "signature.h"
/* The following may be macros without underlying functions, so only
@@ -37,16 +47,6 @@ SIGNATURE_CHECK (FD_SET, int, (int, fd_set *));
SIGNATURE_CHECK (FD_ZERO, void, (fd_set *));
#endif
-/* Check that the 'struct timeval' type is defined. */
-struct timeval a;
-
-/* Check that a.tv_sec is wide enough to hold a time_t, ignoring
- signedness issues. */
-typedef int verify_tv_sec_type[sizeof (time_t) <= sizeof (a.tv_sec) ? 1 : -1];
-
-/* Check that sigset_t is defined. */
-sigset_t t2;
-
int
main (void)
{
diff --git a/tests/test-sys_socket.c b/tests/test-sys_socket.c
index f230d5b4..4e0f9ad4 100644
--- a/tests/test-sys_socket.c
+++ b/tests/test-sys_socket.c
@@ -1,5 +1,5 @@
/* Test of <sys/socket.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
#include <sys/socket.h>
-#include <errno.h>
-
#if HAVE_SHUTDOWN
/* Check some integer constant expressions. */
int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };
@@ -40,6 +38,8 @@ struct iovec io;
/* Check that a minimal set of 'struct msghdr' is defined. */
struct msghdr msg;
+#include <errno.h>
+
int
main (void)
{
diff --git a/tests/test-sys_stat.c b/tests/test-sys_stat.c
index b404d9f2..7c4ec1fe 100644
--- a/tests/test-sys_stat.c
+++ b/tests/test-sys_stat.c
@@ -1,5 +1,5 @@
/* Test of <sys/stat.h> substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_time.c b/tests/test-sys_time.c
index b952243e..5db5c2c0 100644
--- a/tests/test-sys_time.c
+++ b/tests/test-sys_time.c
@@ -1,5 +1,5 @@
/* Test of <sys/time.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_types.c b/tests/test-sys_types.c
index 290bd0d5..f661a921 100644
--- a/tests/test-sys_types.c
+++ b/tests/test-sys_types.c
@@ -1,5 +1,5 @@
/* Test of <sys/types.h> substitute.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_uio.c b/tests/test-sys_uio.c
index f4f7b7ac..d371471f 100644
--- a/tests/test-sys_uio.c
+++ b/tests/test-sys_uio.c
@@ -1,5 +1,5 @@
/* Test of <sys/uio.h> substitute.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_wait.h b/tests/test-sys_wait.h
index 9becf28e..5f2eec54 100644
--- a/tests/test-sys_wait.h
+++ b/tests/test-sys_wait.h
@@ -1,5 +1,5 @@
/* Test of macros shared between <sys/wait.h> and <stdlib.h>.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-thread_create.c b/tests/test-thread_create.c
index 17e6942b..89dc1c9e 100644
--- a/tests/test-thread_create.c
+++ b/tests/test-thread_create.c
@@ -1,5 +1,5 @@
/* Test of gl_thread_create () macro.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ static int dummy;
static volatile int work_done;
static void *
-worker_thread_func (void *arg)
+worker_thread_func (_GL_UNUSED void *arg)
{
work_done = 1;
return &dummy;
diff --git a/tests/test-thread_self.c b/tests/test-thread_self.c
index 30d46380..e494613b 100644
--- a/tests/test-thread_self.c
+++ b/tests/test-thread_self.c
@@ -1,5 +1,5 @@
/* Test of gl_thread_self () macro.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-time-h.c b/tests/test-time-h.c
new file mode 100644
index 00000000..01f9fff8
--- /dev/null
+++ b/tests/test-time-h.c
@@ -0,0 +1,43 @@
+/* Test of <time.h> substitute.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <time.h>
+
+/* Check that the types are all defined. */
+struct timespec t1;
+#if 0
+/* POSIX:2008 does not require pid_t in <time.h> unconditionally, and indeed
+ it's missing on Mac OS X 10.5, FreeBSD 6.4, OpenBSD 4.9, mingw. */
+pid_t t2;
+#endif
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+static_assert (sizeof NULL == sizeof (void *));
+
+/* Check that TIME_UTC is defined and a positive integer. */
+int t3 = TIME_UTC;
+static_assert (TIME_UTC > 0);
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/tests/test-time.c b/tests/test-time.c
index 6b69f3d5..752d4c0f 100644
--- a/tests/test-time.c
+++ b/tests/test-time.c
@@ -1,5 +1,5 @@
-/* Test of <time.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+/* Test of time() function.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,30 +14,36 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+/* Written by Bruno Haible. */
#include <config.h>
#include <time.h>
-/* Check that the types are all defined. */
-struct timespec t1;
-#if 0
-/* POSIX:2008 does not require pid_t in <time.h> unconditionally, and indeed
- it's missing on Mac OS X 10.5, FreeBSD 6.4, OpenBSD 4.9, mingw. */
-pid_t t2;
-#endif
+#include "signature.h"
+SIGNATURE_CHECK (time, time_t, (time_t *));
-/* Check that NULL can be passed through varargs as a pointer type,
- per POSIX 2008. */
-static_assert (sizeof NULL == sizeof (void *));
+#include <sys/time.h>
-/* Check that TIME_UTC is defined and a positive integer. */
-int t3 = TIME_UTC;
-static_assert (TIME_UTC > 0);
+#include "macros.h"
int
main (void)
{
+ /* Check consistency of time() with gettimeofday().tv_sec. */
+ struct timeval tv1;
+ struct timeval tv2;
+ time_t tt3;
+
+ /* Wait until gettimeofday() reports an increase in tv_sec. */
+ ASSERT (gettimeofday (&tv1, NULL) == 0);
+ do
+ ASSERT (gettimeofday (&tv2, NULL) == 0);
+ while (tv2.tv_sec == tv1.tv_sec);
+ /* We are now at the beginning of a second. Test whether time() reports
+ the new second or the previous one. */
+ tt3 = time (NULL);
+ ASSERT (tt3 >= tv2.tv_sec);
+
return 0;
}
diff --git a/tests/test-uchar.c b/tests/test-uchar.c
new file mode 100644
index 00000000..dfb368e0
--- /dev/null
+++ b/tests/test-uchar.c
@@ -0,0 +1,57 @@
+/* Test of <uchar.h> substitute.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+/* Check that the types are defined. */
+mbstate_t a = { 0 };
+size_t b = 5;
+char8_t c = 'x';
+char16_t d = 'y';
+char32_t e = 'z';
+
+/* Check that char8_t, char16_t, and char32_t are unsigned types. */
+static_assert ((char8_t)(-1) >= 0);
+static_assert ((char16_t)(-1) >= 0);
+#if !defined __HP_cc
+static_assert ((char32_t)(-1) >= 0);
+#endif
+
+/* Check that char8_t is at least 8 bits wide. */
+static_assert ((char8_t)0xFF != (char8_t)0x7F);
+
+/* Check that char16_t is at least 16 bits wide. */
+static_assert ((char16_t)0xFFFF != (char16_t)0x7FFF);
+
+/* Check that char32_t is at least 31 bits wide. */
+static_assert ((char32_t)0x7FFFFFFF != (char32_t)0x3FFFFFFF);
+
+/* Check that _GL_SMALL_WCHAR_T is correctly defined. */
+#if _GL_SMALL_WCHAR_T
+static_assert (sizeof (wchar_t) < sizeof (char32_t));
+#else
+static_assert (sizeof (wchar_t) == sizeof (char32_t));
+#endif
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/tests/test-unistd.c b/tests/test-unistd.c
index a59af1e3..931d65e4 100644
--- a/tests/test-unistd.c
+++ b/tests/test-unistd.c
@@ -1,5 +1,5 @@
/* Test of <unistd.h> substitute.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-unsetenv.c b/tests/test-unsetenv.c
index 61dbc81a..4e6a19ad 100644
--- a/tests/test-unsetenv.c
+++ b/tests/test-unsetenv.c
@@ -1,5 +1,5 @@
/* Tests of unsetenv.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,7 +32,8 @@ SIGNATURE_CHECK (unsetenv, int, (char const *));
int
main (void)
{
- char entry[] = "b=2";
+ /* Static to pacify gcc -Wanalyzer-putenv-of-auto-var. */
+ static char entry[] = "b=2";
/* Test removal when multiple entries present. */
ASSERT (putenv ((char *) "a=1") == 0);
diff --git a/tests/test-usleep.c b/tests/test-usleep.c
index e1133dd6..ba82a162 100644
--- a/tests/test-usleep.c
+++ b/tests/test-usleep.c
@@ -1,5 +1,5 @@
/* Test of usleep() function.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-verify-try.c b/tests/test-verify-try.c
index 2456133d..d16fb938 100644
--- a/tests/test-verify-try.c
+++ b/tests/test-verify-try.c
@@ -1,6 +1,6 @@
/* Test the "verify" module.
- Copyright (C) 2017-2022 Free Software Foundation, Inc.
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-verify.c b/tests/test-verify.c
index 4ba89c03..1d8f43c7 100644
--- a/tests/test-verify.c
+++ b/tests/test-verify.c
@@ -1,6 +1,6 @@
/* Test the "verify" module.
- Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wchar.c b/tests/test-wchar.c
index af7c9486..663a5a4e 100644
--- a/tests/test-wchar.c
+++ b/tests/test-wchar.c
@@ -1,5 +1,5 @@
/* Test of <wchar.h> substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wcrtomb-w32-1.sh b/tests/test-wcrtomb-w32-1.sh
deleted file mode 100755
index b01c5436..00000000
--- a/tests/test-wcrtomb-w32-1.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Test a CP1252 locale.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} French_France 1252
diff --git a/tests/test-wcrtomb-w32-2.sh b/tests/test-wcrtomb-w32-2.sh
index 5481634d..b01c5436 100755
--- a/tests/test-wcrtomb-w32-2.sh
+++ b/tests/test-wcrtomb-w32-2.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP1256 locale.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
+# Test a CP1252 locale.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} French_France 1252
diff --git a/tests/test-wcrtomb-w32-3.sh b/tests/test-wcrtomb-w32-3.sh
index f35879da..5481634d 100755
--- a/tests/test-wcrtomb-w32-3.sh
+++ b/tests/test-wcrtomb-w32-3.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP932 locale.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} Japanese_Japan 932
+# Test a CP1256 locale.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256
diff --git a/tests/test-wcrtomb-w32-4.sh b/tests/test-wcrtomb-w32-4.sh
index 8eec6cbc..fb04e583 100755
--- a/tests/test-wcrtomb-w32-4.sh
+++ b/tests/test-wcrtomb-w32-4.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP950 locale.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_Taiwan 950
+# Test some UTF-8 locales.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
diff --git a/tests/test-wcrtomb-w32-5.sh b/tests/test-wcrtomb-w32-5.sh
index fd47d6fa..f35879da 100755
--- a/tests/test-wcrtomb-w32-5.sh
+++ b/tests/test-wcrtomb-w32-5.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a CP936 locale.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_China 936
+# Test a CP932 locale.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Japanese_Japan 932
diff --git a/tests/test-wcrtomb-w32-6.sh b/tests/test-wcrtomb-w32-6.sh
index 802237d1..8eec6cbc 100755
--- a/tests/test-wcrtomb-w32-6.sh
+++ b/tests/test-wcrtomb-w32-6.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test a GB18030 locale.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_China 54936
+# Test a CP950 locale.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_Taiwan 950
diff --git a/tests/test-wcrtomb-w32-7.sh b/tests/test-wcrtomb-w32-7.sh
index fb04e583..fd47d6fa 100755
--- a/tests/test-wcrtomb-w32-7.sh
+++ b/tests/test-wcrtomb-w32-7.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-# Test some UTF-8 locales.
-${CHECKER} ./test-wcrtomb-w32${EXEEXT} French_France Japanese_Japan Chinese_Taiwan Chinese_China 65001
+# Test a CP936 locale.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_China 936
diff --git a/tests/test-wcrtomb-w32-8.sh b/tests/test-wcrtomb-w32-8.sh
new file mode 100755
index 00000000..802237d1
--- /dev/null
+++ b/tests/test-wcrtomb-w32-8.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Test a GB18030 locale.
+${CHECKER} ./test-wcrtomb-w32${EXEEXT} Chinese_China 54936
diff --git a/tests/test-wcrtomb-w32.c b/tests/test-wcrtomb-w32.c
index 67fa5a31..4be9a0df 100644
--- a/tests/test-wcrtomb-w32.c
+++ b/tests/test-wcrtomb-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of wide character to multibyte character.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -184,6 +184,26 @@ test_one_locale (const char *name, int codepage)
}
return 0;
+ case 65001:
+ /* Locale encoding is CP65001 = UTF-8. */
+ if (strcmp (locale_charset (), "UTF-8") != 0)
+ return 77;
+ {
+ /* Convert "B\303\274\303\237er": "Büßer" */
+ memset (buf, 'x', 8);
+ ret = wcrtomb (buf, 0x00FC, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\303\274", 2) == 0);
+ ASSERT (buf[2] == 'x');
+
+ memset (buf, 'x', 8);
+ ret = wcrtomb (buf, 0x00DF, NULL);
+ ASSERT (ret == 2);
+ ASSERT (memcmp (buf, "\303\237", 2) == 0);
+ ASSERT (buf[2] == 'x');
+ }
+ return 0;
+
case 932:
/* Locale encoding is CP932, similar to Shift_JIS. */
{
@@ -276,26 +296,6 @@ test_one_locale (const char *name, int codepage)
}
return 0;
- case 65001:
- /* Locale encoding is CP65001 = UTF-8. */
- if (strcmp (locale_charset (), "UTF-8") != 0)
- return 77;
- {
- /* Convert "B\303\274\303\237er": "Büßer" */
- memset (buf, 'x', 8);
- ret = wcrtomb (buf, 0x00FC, NULL);
- ASSERT (ret == 2);
- ASSERT (memcmp (buf, "\303\274", 2) == 0);
- ASSERT (buf[2] == 'x');
-
- memset (buf, 'x', 8);
- ret = wcrtomb (buf, 0x00DF, NULL);
- ASSERT (ret == 2);
- ASSERT (memcmp (buf, "\303\237", 2) == 0);
- ASSERT (buf[2] == 'x');
- }
- return 0;
-
default:
return 1;
}
diff --git a/tests/test-wcrtomb.c b/tests/test-wcrtomb.c
index 71d0faf3..640d6d9c 100644
--- a/tests/test-wcrtomb.c
+++ b/tests/test-wcrtomb.c
@@ -1,5 +1,5 @@
/* Test of conversion of wide character to multibyte character.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -117,6 +117,10 @@ main (int argc, char *argv[])
switch (argv[1][0])
{
case '1':
+ /* C locale; tested above. */
+ return 0;
+
+ case '2':
/* Locale encoding is ISO-8859-1 or ISO-8859-15. */
{
const char input[] = "B\374\337er"; /* "Büßer" */
@@ -126,7 +130,7 @@ main (int argc, char *argv[])
}
return 0;
- case '2':
+ case '3':
/* Locale encoding is UTF-8. */
{
const char input[] = "B\303\274\303\237er"; /* "Büßer" */
@@ -136,7 +140,7 @@ main (int argc, char *argv[])
}
return 0;
- case '3':
+ case '4':
/* Locale encoding is EUC-JP. */
{
const char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */
@@ -147,7 +151,7 @@ main (int argc, char *argv[])
}
return 0;
- case '4':
+ case '5':
/* Locale encoding is GB18030. */
{
const char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
@@ -156,10 +160,6 @@ main (int argc, char *argv[])
check_character (input + 3, 4);
}
return 0;
-
- case '5':
- /* C locale; tested above. */
- return 0;
}
return 1;
diff --git a/tests/test-wcrtomb.sh b/tests/test-wcrtomb.sh
index 01d8d53b..b4604612 100755
--- a/tests/test-wcrtomb.sh
+++ b/tests/test-wcrtomb.sh
@@ -1,10 +1,14 @@
#!/bin/sh
+# Test in the POSIX locale.
+LC_ALL=C ${CHECKER} ./test-wcrtomb${EXEEXT} 1 || exit 1
+LC_ALL=POSIX ${CHECKER} ./test-wcrtomb${EXEEXT} 1 || exit 1
+
# Test in an ISO-8859-1 or ISO-8859-15 locale.
: "${LOCALE_FR=fr_FR}"
if test $LOCALE_FR != none; then
LC_ALL=$LOCALE_FR \
- ${CHECKER} ./test-wcrtomb${EXEEXT} 1 \
+ ${CHECKER} ./test-wcrtomb${EXEEXT} 2 \
|| exit 1
fi
@@ -12,7 +16,7 @@ fi
: "${LOCALE_FR_UTF8=fr_FR.UTF-8}"
if test $LOCALE_FR_UTF8 != none; then
LC_ALL=$LOCALE_FR_UTF8 \
- ${CHECKER} ./test-wcrtomb${EXEEXT} 2 \
+ ${CHECKER} ./test-wcrtomb${EXEEXT} 3 \
|| exit 1
fi
@@ -20,7 +24,7 @@ fi
: "${LOCALE_JA=ja_JP}"
if test $LOCALE_JA != none; then
LC_ALL=$LOCALE_JA \
- ${CHECKER} ./test-wcrtomb${EXEEXT} 3 \
+ ${CHECKER} ./test-wcrtomb${EXEEXT} 4 \
|| exit 1
fi
@@ -28,12 +32,8 @@ fi
: "${LOCALE_ZH_CN=zh_CN.GB18030}"
if test $LOCALE_ZH_CN != none; then
LC_ALL=$LOCALE_ZH_CN \
- ${CHECKER} ./test-wcrtomb${EXEEXT} 4 \
+ ${CHECKER} ./test-wcrtomb${EXEEXT} 5 \
|| exit 1
fi
-# Test in the POSIX locale.
-LC_ALL=C ${CHECKER} ./test-wcrtomb${EXEEXT} 5 || exit 1
-LC_ALL=POSIX ${CHECKER} ./test-wcrtomb${EXEEXT} 5 || exit 1
-
exit 0
diff --git a/tests/test-wctype-h.c b/tests/test-wctype-h.c
index 08da56b5..016fd8fc 100644
--- a/tests/test-wctype-h.c
+++ b/tests/test-wctype-h.c
@@ -1,5 +1,5 @@
/* Test of <wctype.h> substitute.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
#include <wctype.h>
-#include "macros.h"
-
/* Check that the type wint_t is defined. */
wint_t a = 'x';
/* Check that WEOF is defined. */
@@ -33,6 +31,8 @@ wctype_t p;
/* Check that the type wctrans_t is defined. */
wctrans_t q;
+#include "macros.h"
+
int
main (void)
{
@@ -62,6 +62,43 @@ main (void)
ASSERT (!iswupper (e));
ASSERT (!iswxdigit (e));
+ /* Sanity check for the iswprint function. */
+ ASSERT (iswprint (L' '));
+ ASSERT (!iswprint (L'\t'));
+ ASSERT (!iswprint (L'\n'));
+
+ /* Sanity check for the iswpunct function.
+ These characters are usually expected to be punctuation or symbol
+ characters. */
+ ASSERT (iswpunct (L'!'));
+ ASSERT (iswpunct (L'"'));
+ ASSERT (iswpunct (L'#'));
+ ASSERT (iswpunct (L'%'));
+ ASSERT (iswpunct (L'&'));
+ ASSERT (iswpunct (L'\''));
+ ASSERT (iswpunct (L'('));
+ ASSERT (iswpunct (L')'));
+ ASSERT (iswpunct (L'*'));
+ ASSERT (iswpunct (L','));
+ ASSERT (iswpunct (L'-'));
+ ASSERT (iswpunct (L'.'));
+ ASSERT (iswpunct (L'/'));
+ ASSERT (iswpunct (L':'));
+ ASSERT (iswpunct (L';'));
+ ASSERT (iswpunct (L'?'));
+ ASSERT (iswpunct (L'@'));
+ ASSERT (iswpunct (L'['));
+ ASSERT (iswpunct (L'\\'));
+ ASSERT (iswpunct (L']'));
+ ASSERT (iswpunct (L'_'));
+ ASSERT (iswpunct (L'{'));
+ ASSERT (iswpunct (L'}'));
+ ASSERT (!iswpunct (L'5'));
+ ASSERT (!iswpunct (L'F'));
+ ASSERT (!iswpunct (L' '));
+ ASSERT (!iswpunct (L'\t'));
+ ASSERT (!iswpunct (L'\n'));
+
/* Check that the tow* functions exist as functions or as macros. */
(void) towlower (0);
(void) towupper (0);
diff --git a/tests/test-wcwidth.c b/tests/test-wcwidth.c
index 7e522eec..79556a24 100644
--- a/tests/test-wcwidth.c
+++ b/tests/test-wcwidth.c
@@ -1,5 +1,5 @@
/* Test of wcwidth() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-xalloc-die.c b/tests/test-xalloc-die.c
index 78781306..d4565434 100644
--- a/tests/test-xalloc-die.c
+++ b/tests/test-xalloc-die.c
@@ -1,5 +1,5 @@
/* Test of xalloc_die() function.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
#include "xalloc.h"
int
-main (_GL_UNUSED int argc, char **argv)
+main ()
{
xalloc_die ();
return 0;
diff --git a/tests/test-xalloc-die.sh b/tests/test-xalloc-die.sh
index 2a891110..dedc132c 100755
--- a/tests/test-xalloc-die.sh
+++ b/tests/test-xalloc-die.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Test suite for xalloc_die.
-# Copyright (C) 2009-2022 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/tests/time.c b/tests/time.c
new file mode 100644
index 00000000..573199c2
--- /dev/null
+++ b/tests/time.c
@@ -0,0 +1,41 @@
+/* Provide time() for systems for which it's broken.
+ Copyright (C) 2023-2024 Free Software Foundation, Inc.
+
+ This file 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.
+
+ This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible. */
+
+#include <config.h>
+
+/* Specification. */
+#include <time.h>
+
+#include <stdlib.h>
+#include <sys/time.h>
+
+time_t
+time (time_t *tp)
+{
+ struct timeval tv;
+ time_t tt;
+
+ if (gettimeofday (&tv, NULL) < 0)
+ abort ();
+ tt = tv.tv_sec;
+
+ if (tp)
+ *tp = tt;
+
+ return tt;
+}
diff --git a/tests/time.in.h b/tests/time.in.h
index 6aa67498..df99c8ab 100644
--- a/tests/time.in.h
+++ b/tests/time.in.h
@@ -1,6 +1,6 @@
/* A more-standard <time.h>.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,6 +20,13 @@
#endif
@PRAGMA_COLUMNS@
+/* This file uses #include_next of a system file that defines time_t.
+ For the 'year2038' module to work right, <config.h> needs to have been
+ included before. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
/* Don't get in the way of glibc when it includes time.h merely to
declare a few standard symbols, rather than to declare all the
symbols. (However, skip this for MinGW as it treats __need_time_t
@@ -45,6 +52,12 @@
# @INCLUDE_NEXT@ @NEXT_TIME_H@
+/* This file uses _GL_ATTRIBUTE_DEPRECATED, GNULIB_POSIXCHECK,
+ HAVE_RAW_DECL_*. */
+# if !_GL_CONFIG_H_INCLUDED
+# error "Please include config.h first."
+# endif
+
/* NetBSD 5.0 mis-defines NULL. */
# include <stddef.h>
@@ -112,23 +125,79 @@ struct __time_t_must_be_integral {
/* Set *TS to the current time, and return BASE.
Upon failure, return 0. */
# if @GNULIB_TIMESPEC_GET@
-# if ! @HAVE_TIMESPEC_GET@
+# if @REPLACE_TIMESPEC_GET@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef timespec_get
+# define timespec_get rpl_timespec_get
+# endif
+_GL_FUNCDECL_RPL (timespec_get, int, (struct timespec *ts, int base)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (timespec_get, int, (struct timespec *ts, int base));
+# else
+# if !@HAVE_TIMESPEC_GET@
_GL_FUNCDECL_SYS (timespec_get, int, (struct timespec *ts, int base)
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (timespec_get, int, (struct timespec *ts, int base));
+# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (timespec_get);
+# endif
+# elif defined GNULIB_POSIXCHECK
+# undef timespec_get
+# if HAVE_RAW_DECL_TIMESPEC_GET
+_GL_WARN_ON_USE (timespec_get, "timespec_get is unportable - "
+ "use gnulib module timespec_get for portability");
+# endif
# endif
/* Set *TS to the current time resolution, and return BASE.
Upon failure, return 0. */
# if @GNULIB_TIMESPEC_GETRES@
-# if ! @HAVE_TIMESPEC_GETRES@
+# if @REPLACE_TIMESPEC_GETRES@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef timespec_getres
+# define timespec_getres rpl_timespec_getres
+# endif
+_GL_FUNCDECL_RPL (timespec_getres, int, (struct timespec *ts, int base)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (timespec_getres, int, (struct timespec *ts, int base));
+# else
+# if !@HAVE_TIMESPEC_GETRES@
_GL_FUNCDECL_SYS (timespec_getres, int, (struct timespec *ts, int base)
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (timespec_getres, int, (struct timespec *ts, int base));
+# endif
_GL_CXXALIASWARN (timespec_getres);
+# elif defined GNULIB_POSIXCHECK
+# undef timespec_getres
+# if HAVE_RAW_DECL_TIMESPEC_GETRES
+_GL_WARN_ON_USE (timespec_getres, "timespec_getres is unportable - "
+ "use gnulib module timespec_getres for portability");
+# endif
+# endif
+
+/* Return the number of seconds that have elapsed since the Epoch. */
+# if @GNULIB_TIME@
+# if @REPLACE_TIME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define time rpl_time
+# endif
+_GL_FUNCDECL_RPL (time, time_t, (time_t *__tp));
+_GL_CXXALIAS_RPL (time, time_t, (time_t *__tp));
+# else
+_GL_CXXALIAS_SYS (time, time_t, (time_t *__tp));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (time);
+# endif
+# elif defined GNULIB_POSIXCHECK
+# undef time
+# if HAVE_RAW_DECL_TIME
+_GL_WARN_ON_USE (time, "time has consistency problems - "
+ "use gnulib module time for portability");
+# endif
# endif
/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
@@ -154,6 +223,12 @@ _GL_CXXALIAS_SYS (nanosleep, int,
(struct timespec const *__rqtp, struct timespec *__rmtp));
# endif
_GL_CXXALIASWARN (nanosleep);
+# elif defined GNULIB_POSIXCHECK
+# undef nanosleep
+# if HAVE_RAW_DECL_NANOSLEEP
+_GL_WARN_ON_USE (nanosleep, "nanosleep is unportable - "
+ "use gnulib module nanosleep for portability");
+# endif
# endif
/* Initialize time conversion information. */
@@ -189,6 +264,12 @@ _GL_CXXALIAS_MDA (tzset, void, (void));
_GL_CXXALIAS_SYS (tzset, void, (void));
# endif
_GL_CXXALIASWARN (tzset);
+# elif defined GNULIB_POSIXCHECK
+# undef tzset
+# if HAVE_RAW_DECL_TZSET
+_GL_WARN_ON_USE (tzset, "tzset has portability problems - "
+ "use gnulib module tzset for portability");
+# endif
# endif
/* Return the 'time_t' representation of TP and normalize TP. */
@@ -205,6 +286,12 @@ _GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp));
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (mktime);
# endif
+# elif defined GNULIB_POSIXCHECK
+# undef mktime
+# if HAVE_RAW_DECL_MKTIME
+_GL_WARN_ON_USE (mktime, "mktime has portability problems - "
+ "use gnulib module mktime for portability");
+# endif
# endif
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
@@ -255,6 +342,17 @@ _GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
# if @HAVE_DECL_LOCALTIME_R@
_GL_CXXALIASWARN (gmtime_r);
# endif
+# elif defined GNULIB_POSIXCHECK
+# undef localtime_r
+# if HAVE_RAW_DECL_LOCALTIME_R
+_GL_WARN_ON_USE (localtime_r, "localtime_r is unportable - "
+ "use gnulib module time_r for portability");
+# endif
+# undef gmtime_r
+# if HAVE_RAW_DECL_GMTIME_R
+_GL_WARN_ON_USE (gmtime_r, "gmtime_r is unportable - "
+ "use gnulib module time_r for portability");
+# endif
# endif
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
@@ -275,6 +373,12 @@ _GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (localtime);
# endif
+# elif defined GNULIB_POSIXCHECK
+# undef localtime
+# if HAVE_RAW_DECL_LOCALTIME
+_GL_WARN_ON_USE (localtime, "localtime has portability problems - "
+ "use gnulib module localtime for portability");
+# endif
# endif
# if 0 || @REPLACE_GMTIME@
@@ -306,6 +410,12 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
char const *restrict __format,
struct tm *restrict __tm));
_GL_CXXALIASWARN (strptime);
+# elif defined GNULIB_POSIXCHECK
+# undef strptime
+# if HAVE_RAW_DECL_STRPTIME
+_GL_WARN_ON_USE (strptime, "strptime is unportable - "
+ "use gnulib module strptime for portability");
+# endif
# endif
/* Convert *TP to a date and time string. See
@@ -315,6 +425,9 @@ _GL_CXXALIASWARN (strptime);
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# define ctime rpl_ctime
# endif
+# ifndef __cplusplus
+_GL_ATTRIBUTE_DEPRECATED
+# endif
_GL_FUNCDECL_RPL (ctime, char *, (time_t const *__tp)
_GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (ctime, char *, (time_t const *__tp));
@@ -324,6 +437,8 @@ _GL_CXXALIAS_SYS (ctime, char *, (time_t const *__tp));
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (ctime);
# endif
+# elif defined GNULIB_POSIXCHECK
+/* No need to warn about portability, as a more serious warning is below. */
# endif
/* Convert *TP to a date and time string. See
@@ -348,6 +463,12 @@ _GL_CXXALIAS_SYS (strftime, size_t,
# if __GLIBC__ >= 2
_GL_CXXALIASWARN (strftime);
# endif
+# elif defined GNULIB_POSIXCHECK
+# undef strftime
+# if HAVE_RAW_DECL_STRFTIME
+_GL_WARN_ON_USE (strftime, "strftime has portability problems - "
+ "use gnulib module strftime-fixes for portability");
+# endif
# endif
# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@
@@ -422,7 +543,15 @@ _GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
# endif
_GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm));
# endif
+# if __GLIBC__ >= 2
_GL_CXXALIASWARN (timegm);
+# endif
+# elif defined GNULIB_POSIXCHECK
+# undef timegm
+# if HAVE_RAW_DECL_TIMEGM
+_GL_WARN_ON_USE (timegm, "timegm is unportable - "
+ "use gnulib module timegm for portability");
+# endif
# endif
/* Encourage applications to avoid unsafe functions that can overrun
@@ -430,8 +559,10 @@ _GL_CXXALIASWARN (timegm);
applications should use strftime (or even sprintf) instead. */
# if defined GNULIB_POSIXCHECK
# undef asctime
+# if HAVE_RAW_DECL_ASCTIME
_GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
"better use strftime (or even sprintf) instead");
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef asctime_r
@@ -442,8 +573,10 @@ _GL_WARN_ON_USE (asctime_r, "asctime_r can overrun buffers in some cases - "
# endif
# if defined GNULIB_POSIXCHECK
# undef ctime
+# if HAVE_RAW_DECL_CTIME
_GL_WARN_ON_USE (ctime, "ctime can overrun buffers in some cases - "
"better use strftime (or even sprintf) instead");
+# endif
# endif
# if defined GNULIB_POSIXCHECK
# undef ctime_r
diff --git a/tests/unicase/test-casecmp.h b/tests/unicase/test-casecmp.h
index a2f90aca..a13599ea 100644
--- a/tests/unicase/test-casecmp.h
+++ b/tests/unicase/test-casecmp.h
@@ -1,5 +1,5 @@
/* Test of case and normalization insensitive comparison of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-cased.c b/tests/unicase/test-cased.c
index 477cd1c5..712ed14f 100644
--- a/tests/unicase/test-cased.c
+++ b/tests/unicase/test-cased.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unicase/test-ignorable.c b/tests/unicase/test-ignorable.c
index d4dc8498..b330dd70 100644
--- a/tests/unicase/test-ignorable.c
+++ b/tests/unicase/test-ignorable.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unicase/test-is-cased.h b/tests/unicase/test-is-cased.h
index db5c07ec..022be134 100644
--- a/tests/unicase/test-is-cased.h
+++ b/tests/unicase/test-is-cased.h
@@ -1,5 +1,5 @@
/* Test of test whether case matters for a Unicode string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-is-casefolded.h b/tests/unicase/test-is-casefolded.h
index 37019777..eb45404d 100644
--- a/tests/unicase/test-is-casefolded.h
+++ b/tests/unicase/test-is-casefolded.h
@@ -1,5 +1,5 @@
/* Test of test whether a Unicode string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-is-lowercase.h b/tests/unicase/test-is-lowercase.h
index df91eb1e..16853bdc 100644
--- a/tests/unicase/test-is-lowercase.h
+++ b/tests/unicase/test-is-lowercase.h
@@ -1,5 +1,5 @@
/* Test of test whether a Unicode string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-is-titlecase.h b/tests/unicase/test-is-titlecase.h
index c96a59d6..abbc3a5f 100644
--- a/tests/unicase/test-is-titlecase.h
+++ b/tests/unicase/test-is-titlecase.h
@@ -1,5 +1,5 @@
/* Test of test whether a Unicode string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-is-uppercase.h b/tests/unicase/test-is-uppercase.h
index c58c545c..1dacd079 100644
--- a/tests/unicase/test-is-uppercase.h
+++ b/tests/unicase/test-is-uppercase.h
@@ -1,5 +1,5 @@
/* Test of test whether a Unicode string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-locale-language.c b/tests/unicase/test-locale-language.c
index dfc1b39b..ed6adeb8 100644
--- a/tests/unicase/test-locale-language.c
+++ b/tests/unicase/test-locale-language.c
@@ -1,5 +1,5 @@
/* Test of language code determination.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-mapping-part1.h b/tests/unicase/test-mapping-part1.h
index 7bd02d13..562195a5 100644
--- a/tests/unicase/test-mapping-part1.h
+++ b/tests/unicase/test-mapping-part1.h
@@ -1,5 +1,5 @@
/* Test of single character case mapping functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-mapping-part2.h b/tests/unicase/test-mapping-part2.h
index aafe1a56..ed489482 100644
--- a/tests/unicase/test-mapping-part2.h
+++ b/tests/unicase/test-mapping-part2.h
@@ -1,5 +1,5 @@
/* Test of single character case mapping functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-predicate-part1.h b/tests/unicase/test-predicate-part1.h
index c0b9131b..a63f06cb 100644
--- a/tests/unicase/test-predicate-part1.h
+++ b/tests/unicase/test-predicate-part1.h
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-predicate-part2.h b/tests/unicase/test-predicate-part2.h
index a3e2c0ff..0b58545b 100644
--- a/tests/unicase/test-predicate-part2.h
+++ b/tests/unicase/test-predicate-part2.h
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-casecmp.c b/tests/unicase/test-u16-casecmp.c
index 6bb4cbf6..a85abbbd 100644
--- a/tests/unicase/test-u16-casecmp.c
+++ b/tests/unicase/test-u16-casecmp.c
@@ -1,5 +1,5 @@
/* Test of case and normalization insensitive comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-casecoll.c b/tests/unicase/test-u16-casecoll.c
index 2eebdff6..ade96bfb 100644
--- a/tests/unicase/test-u16-casecoll.c
+++ b/tests/unicase/test-u16-casecoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, case and normalization insensitive comparison of
UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-casefold.c b/tests/unicase/test-u16-casefold.c
index cb61f992..23e94eff 100644
--- a/tests/unicase/test-u16-casefold.c
+++ b/tests/unicase/test-u16-casefold.c
@@ -1,5 +1,5 @@
/* Test of casefolding mapping for UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-is-cased.c b/tests/unicase/test-u16-is-cased.c
index 9ce5ff3a..dafba78e 100644
--- a/tests/unicase/test-u16-is-cased.c
+++ b/tests/unicase/test-u16-is-cased.c
@@ -1,5 +1,5 @@
/* Test of test whether case matters for an UTF-16 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-is-casefolded.c b/tests/unicase/test-u16-is-casefolded.c
index 33a0724d..6072535a 100644
--- a/tests/unicase/test-u16-is-casefolded.c
+++ b/tests/unicase/test-u16-is-casefolded.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-16 string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-is-lowercase.c b/tests/unicase/test-u16-is-lowercase.c
index e9726e95..5b4e095e 100644
--- a/tests/unicase/test-u16-is-lowercase.c
+++ b/tests/unicase/test-u16-is-lowercase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-16 string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-is-titlecase.c b/tests/unicase/test-u16-is-titlecase.c
index 27a4feef..4e60c4ac 100644
--- a/tests/unicase/test-u16-is-titlecase.c
+++ b/tests/unicase/test-u16-is-titlecase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-16 string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-is-uppercase.c b/tests/unicase/test-u16-is-uppercase.c
index 2c5be2d8..354c9052 100644
--- a/tests/unicase/test-u16-is-uppercase.c
+++ b/tests/unicase/test-u16-is-uppercase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-16 string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-tolower.c b/tests/unicase/test-u16-tolower.c
index 7c20502d..86ed522f 100644
--- a/tests/unicase/test-u16-tolower.c
+++ b/tests/unicase/test-u16-tolower.c
@@ -1,5 +1,5 @@
/* Test of lowercase mapping for UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-totitle.c b/tests/unicase/test-u16-totitle.c
index 98b489df..be653df1 100644
--- a/tests/unicase/test-u16-totitle.c
+++ b/tests/unicase/test-u16-totitle.c
@@ -1,5 +1,5 @@
/* Test of titlecase mapping for UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u16-toupper.c b/tests/unicase/test-u16-toupper.c
index e4e6ae3c..5bbc10ac 100644
--- a/tests/unicase/test-u16-toupper.c
+++ b/tests/unicase/test-u16-toupper.c
@@ -1,5 +1,5 @@
/* Test of uppercase mapping for UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-casecmp.c b/tests/unicase/test-u32-casecmp.c
index 0080ac01..aca59a88 100644
--- a/tests/unicase/test-u32-casecmp.c
+++ b/tests/unicase/test-u32-casecmp.c
@@ -1,5 +1,5 @@
/* Test of case and normalization insensitive comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-casecoll.c b/tests/unicase/test-u32-casecoll.c
index 62746c8a..7ad01630 100644
--- a/tests/unicase/test-u32-casecoll.c
+++ b/tests/unicase/test-u32-casecoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, case and normalization insensitive comparison of
UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-casefold.c b/tests/unicase/test-u32-casefold.c
index 26f8960d..c31245e1 100644
--- a/tests/unicase/test-u32-casefold.c
+++ b/tests/unicase/test-u32-casefold.c
@@ -1,5 +1,5 @@
/* Test of casefolding mapping for UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-is-cased.c b/tests/unicase/test-u32-is-cased.c
index a92c2671..5f663dd8 100644
--- a/tests/unicase/test-u32-is-cased.c
+++ b/tests/unicase/test-u32-is-cased.c
@@ -1,5 +1,5 @@
/* Test of test whether case matters for an UTF-32 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-is-casefolded.c b/tests/unicase/test-u32-is-casefolded.c
index 701f4533..1798f310 100644
--- a/tests/unicase/test-u32-is-casefolded.c
+++ b/tests/unicase/test-u32-is-casefolded.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-32 string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-is-lowercase.c b/tests/unicase/test-u32-is-lowercase.c
index 2f7c4c20..3c1bf91e 100644
--- a/tests/unicase/test-u32-is-lowercase.c
+++ b/tests/unicase/test-u32-is-lowercase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-32 string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-is-titlecase.c b/tests/unicase/test-u32-is-titlecase.c
index a860867c..3aedb6c8 100644
--- a/tests/unicase/test-u32-is-titlecase.c
+++ b/tests/unicase/test-u32-is-titlecase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-32 string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-is-uppercase.c b/tests/unicase/test-u32-is-uppercase.c
index 0cd34b8d..cf500991 100644
--- a/tests/unicase/test-u32-is-uppercase.c
+++ b/tests/unicase/test-u32-is-uppercase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-32 string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-tolower.c b/tests/unicase/test-u32-tolower.c
index 5044bc08..47c9e1ee 100644
--- a/tests/unicase/test-u32-tolower.c
+++ b/tests/unicase/test-u32-tolower.c
@@ -1,5 +1,5 @@
/* Test of lowercase mapping for UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-totitle.c b/tests/unicase/test-u32-totitle.c
index 08d2e61a..948f48db 100644
--- a/tests/unicase/test-u32-totitle.c
+++ b/tests/unicase/test-u32-totitle.c
@@ -1,5 +1,5 @@
/* Test of titlecase mapping for UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u32-toupper.c b/tests/unicase/test-u32-toupper.c
index ddc7ca2c..098c56ce 100644
--- a/tests/unicase/test-u32-toupper.c
+++ b/tests/unicase/test-u32-toupper.c
@@ -1,5 +1,5 @@
/* Test of uppercase mapping for UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-casecmp.c b/tests/unicase/test-u8-casecmp.c
index d76b8758..904c9284 100644
--- a/tests/unicase/test-u8-casecmp.c
+++ b/tests/unicase/test-u8-casecmp.c
@@ -1,5 +1,5 @@
/* Test of case and normalization insensitive comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-casecoll.c b/tests/unicase/test-u8-casecoll.c
index e8a19690..a3e6d95f 100644
--- a/tests/unicase/test-u8-casecoll.c
+++ b/tests/unicase/test-u8-casecoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, case and normalization insensitive comparison of
UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-casefold.c b/tests/unicase/test-u8-casefold.c
index 5fd42844..d1fc8967 100644
--- a/tests/unicase/test-u8-casefold.c
+++ b/tests/unicase/test-u8-casefold.c
@@ -1,5 +1,5 @@
/* Test of casefolding mapping for UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-is-cased.c b/tests/unicase/test-u8-is-cased.c
index dc523836..b8f0b2bf 100644
--- a/tests/unicase/test-u8-is-cased.c
+++ b/tests/unicase/test-u8-is-cased.c
@@ -1,5 +1,5 @@
/* Test of test whether case matters for an UTF-8 string.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-is-casefolded.c b/tests/unicase/test-u8-is-casefolded.c
index 6adf2888..a7cc49be 100644
--- a/tests/unicase/test-u8-is-casefolded.c
+++ b/tests/unicase/test-u8-is-casefolded.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-8 string is already case-folded.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-is-lowercase.c b/tests/unicase/test-u8-is-lowercase.c
index 82a4c8d8..c78b9df0 100644
--- a/tests/unicase/test-u8-is-lowercase.c
+++ b/tests/unicase/test-u8-is-lowercase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-8 string is entirely lower case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-is-titlecase.c b/tests/unicase/test-u8-is-titlecase.c
index e91b878a..5416ab59 100644
--- a/tests/unicase/test-u8-is-titlecase.c
+++ b/tests/unicase/test-u8-is-titlecase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-8 string is entirely title case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-is-uppercase.c b/tests/unicase/test-u8-is-uppercase.c
index 33294fa9..279f30cc 100644
--- a/tests/unicase/test-u8-is-uppercase.c
+++ b/tests/unicase/test-u8-is-uppercase.c
@@ -1,5 +1,5 @@
/* Test of test whether an UTF-8 string is entirely upper case.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-tolower.c b/tests/unicase/test-u8-tolower.c
index 73d9fca8..1e33148e 100644
--- a/tests/unicase/test-u8-tolower.c
+++ b/tests/unicase/test-u8-tolower.c
@@ -1,5 +1,5 @@
/* Test of lowercase mapping for UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-totitle.c b/tests/unicase/test-u8-totitle.c
index 3a6cc10e..676456e0 100644
--- a/tests/unicase/test-u8-totitle.c
+++ b/tests/unicase/test-u8-totitle.c
@@ -1,5 +1,5 @@
/* Test of titlecase mapping for UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-u8-toupper.c b/tests/unicase/test-u8-toupper.c
index ce0d3529..a954dedd 100644
--- a/tests/unicase/test-u8-toupper.c
+++ b/tests/unicase/test-u8-toupper.c
@@ -1,5 +1,5 @@
/* Test of uppercase mapping for UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-uc_tolower.c b/tests/unicase/test-uc_tolower.c
index 83942037..885476d0 100644
--- a/tests/unicase/test-uc_tolower.c
+++ b/tests/unicase/test-uc_tolower.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character mapping functions.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
#include "test-mapping-part1.h"
diff --git a/tests/unicase/test-uc_totitle.c b/tests/unicase/test-uc_totitle.c
index 03145bce..b9422ba0 100644
--- a/tests/unicase/test-uc_totitle.c
+++ b/tests/unicase/test-uc_totitle.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character mapping functions.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
#include "test-mapping-part1.h"
diff --git a/tests/unicase/test-uc_toupper.c b/tests/unicase/test-uc_toupper.c
index c5594053..2aff0758 100644
--- a/tests/unicase/test-uc_toupper.c
+++ b/tests/unicase/test-uc_toupper.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character mapping functions.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
#include "test-mapping-part1.h"
diff --git a/tests/unicase/test-ulc-casecmp.c b/tests/unicase/test-ulc-casecmp.c
index 81534f04..4aaf9830 100644
--- a/tests/unicase/test-ulc-casecmp.c
+++ b/tests/unicase/test-ulc-casecmp.c
@@ -1,5 +1,5 @@
/* Test of case and normalization insensitive comparison of strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unicase/test-ulc-casecoll.c b/tests/unicase/test-ulc-casecoll.c
index 07bc2dc4..fa720e04 100644
--- a/tests/unicase/test-ulc-casecoll.c
+++ b/tests/unicase/test-ulc-casecoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, case and normalization insensitive comparison of
strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniconv/test-u16-conv-from-enc.c b/tests/uniconv/test-u16-conv-from-enc.c
index 82f0091c..48c7fd77 100644
--- a/tests/uniconv/test-u16-conv-from-enc.c
+++ b/tests/uniconv/test-u16-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-16 from legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -117,7 +117,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-16. */
diff --git a/tests/uniconv/test-u16-conv-to-enc.c b/tests/uniconv/test-u16-conv-to-enc.c
index b423e10c..eeb51c3d 100644
--- a/tests/uniconv/test-u16-conv-to-enc.c
+++ b/tests/uniconv/test-u16-conv-to-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion from UTF-16 to legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniconv/test-u16-strconv-from-enc.c b/tests/uniconv/test-u16-strconv-from-enc.c
index e34399ad..b1cb1a88 100644
--- a/tests/uniconv/test-u16-strconv-from-enc.c
+++ b/tests/uniconv/test-u16-strconv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-16 from legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -71,7 +71,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-16. */
diff --git a/tests/uniconv/test-u16-strconv-to-enc.c b/tests/uniconv/test-u16-strconv-to-enc.c
index bfdc6623..7d3f596e 100644
--- a/tests/uniconv/test-u16-strconv-to-enc.c
+++ b/tests/uniconv/test-u16-strconv-to-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion from UTF-16 to legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniconv/test-u32-conv-from-enc.c b/tests/uniconv/test-u32-conv-from-enc.c
index 723a56b3..994bfb49 100644
--- a/tests/uniconv/test-u32-conv-from-enc.c
+++ b/tests/uniconv/test-u32-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-32 from legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -117,7 +117,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-16. */
diff --git a/tests/uniconv/test-u32-conv-to-enc.c b/tests/uniconv/test-u32-conv-to-enc.c
index ca51aa08..5ce1d610 100644
--- a/tests/uniconv/test-u32-conv-to-enc.c
+++ b/tests/uniconv/test-u32-conv-to-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion from UTF-32 to legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniconv/test-u32-strconv-from-enc.c b/tests/uniconv/test-u32-strconv-from-enc.c
index bdd88347..320bc185 100644
--- a/tests/uniconv/test-u32-strconv-from-enc.c
+++ b/tests/uniconv/test-u32-strconv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-32 from legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -71,7 +71,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-16. */
diff --git a/tests/uniconv/test-u32-strconv-to-enc.c b/tests/uniconv/test-u32-strconv-to-enc.c
index bca05f86..8ce00786 100644
--- a/tests/uniconv/test-u32-strconv-to-enc.c
+++ b/tests/uniconv/test-u32-strconv-to-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion from UTF-32 to legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniconv/test-u8-conv-from-enc.c b/tests/uniconv/test-u8-conv-from-enc.c
index 80a136f6..641200f2 100644
--- a/tests/uniconv/test-u8-conv-from-enc.c
+++ b/tests/uniconv/test-u8-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-8 from legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -112,7 +112,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-8. */
diff --git a/tests/uniconv/test-u8-conv-to-enc.c b/tests/uniconv/test-u8-conv-to-enc.c
index 97dc82a6..cd898033 100644
--- a/tests/uniconv/test-u8-conv-to-enc.c
+++ b/tests/uniconv/test-u8-conv-to-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion from UTF-8 to legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniconv/test-u8-strconv-from-enc.c b/tests/uniconv/test-u8-strconv-from-enc.c
index 1ea836ac..61e3230b 100644
--- a/tests/uniconv/test-u8-strconv-from-enc.c
+++ b/tests/uniconv/test-u8-strconv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-8 from legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -62,7 +62,8 @@ main ()
}
/* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */
-# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
+# if (defined _LIBICONV_VERSION && !(_LIBICONV_VERSION == 0x10b && defined __APPLE__)) \
+ || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun)
if (iconv_supports_encoding ("ISO-2022-JP-2"))
{
/* Test conversions from autodetect_jp to UTF-8. */
diff --git a/tests/uniconv/test-u8-strconv-to-enc.c b/tests/uniconv/test-u8-strconv-to-enc.c
index e02f2056..68639f9e 100644
--- a/tests/uniconv/test-u8-strconv-to-enc.c
+++ b/tests/uniconv/test-u8-strconv-to-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion from UTF-8 to legacy encodings.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-bidi_byname.c b/tests/unictype/test-bidi_byname.c
index 78ca589c..96d9f173 100644
--- a/tests/unictype/test-bidi_byname.c
+++ b/tests/unictype/test-bidi_byname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-bidi_longname.c b/tests/unictype/test-bidi_longname.c
index a36b81a2..fcd7255f 100644
--- a/tests/unictype/test-bidi_longname.c
+++ b/tests/unictype/test-bidi_longname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-bidi_name.c b/tests/unictype/test-bidi_name.c
index c2dd49eb..4c4024d2 100644
--- a/tests/unictype/test-bidi_name.c
+++ b/tests/unictype/test-bidi_name.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-bidi_of.c b/tests/unictype/test-bidi_of.c
index 786f6e9c..bc158324 100644
--- a/tests/unictype/test-bidi_of.c
+++ b/tests/unictype/test-bidi_of.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-bidi_test.c b/tests/unictype/test-bidi_test.c
index 34349a88..fd3f2930 100644
--- a/tests/unictype/test-bidi_test.c
+++ b/tests/unictype/test-bidi_test.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-block_list.c b/tests/unictype/test-block_list.c
index 623f62e8..267d5456 100644
--- a/tests/unictype/test-block_list.c
+++ b/tests/unictype/test-block_list.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-block_of.c b/tests/unictype/test-block_of.c
index aea21e65..60345188 100644
--- a/tests/unictype/test-block_of.c
+++ b/tests/unictype/test-block_of.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-block_test.c b/tests/unictype/test-block_test.c
index 974bba89..be7e4417 100644
--- a/tests/unictype/test-block_test.c
+++ b/tests/unictype/test-block_test.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_C.c b/tests/unictype/test-categ_C.c
index 09277e39..e6a0903b 100644
--- a/tests/unictype/test-categ_C.c
+++ b/tests/unictype/test-categ_C.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -294,13 +294,12 @@
{ 0x2E9A, 0x2E9A },
{ 0x2EF4, 0x2EFF },
{ 0x2FD6, 0x2FEF },
- { 0x2FFC, 0x2FFF },
{ 0x3040, 0x3040 },
{ 0x3097, 0x3098 },
{ 0x3100, 0x3104 },
{ 0x3130, 0x3130 },
{ 0x318F, 0x318F },
- { 0x31E4, 0x31EF },
+ { 0x31E4, 0x31EE },
{ 0x321F, 0x321F },
{ 0xA48D, 0xA48F },
{ 0xA4C7, 0xA4CF },
@@ -724,7 +723,8 @@
{ 0x2B73A, 0x2B73F },
{ 0x2B81E, 0x2B81F },
{ 0x2CEA2, 0x2CEAF },
- { 0x2EBE1, 0x2F7FF },
+ { 0x2EBE1, 0x2EBEF },
+ { 0x2EE5E, 0x2F7FF },
{ 0x2FA1E, 0x2FFFF },
{ 0x3134B, 0x3134F },
{ 0x323B0, 0xE00FF },
diff --git a/tests/unictype/test-categ_Cc.c b/tests/unictype/test-categ_Cc.c
index cfdbb48d..3051fa97 100644
--- a/tests/unictype/test-categ_Cc.c
+++ b/tests/unictype/test-categ_Cc.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Cf.c b/tests/unictype/test-categ_Cf.c
index e026f091..c1ab10f2 100644
--- a/tests/unictype/test-categ_Cf.c
+++ b/tests/unictype/test-categ_Cf.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Cn.c b/tests/unictype/test-categ_Cn.c
index b173d392..c12c0816 100644
--- a/tests/unictype/test-categ_Cn.c
+++ b/tests/unictype/test-categ_Cn.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -286,13 +286,12 @@
{ 0x2E9A, 0x2E9A },
{ 0x2EF4, 0x2EFF },
{ 0x2FD6, 0x2FEF },
- { 0x2FFC, 0x2FFF },
{ 0x3040, 0x3040 },
{ 0x3097, 0x3098 },
{ 0x3100, 0x3104 },
{ 0x3130, 0x3130 },
{ 0x318F, 0x318F },
- { 0x31E4, 0x31EF },
+ { 0x31E4, 0x31EE },
{ 0x321F, 0x321F },
{ 0xA48D, 0xA48F },
{ 0xA4C7, 0xA4CF },
@@ -715,7 +714,8 @@
{ 0x2B73A, 0x2B73F },
{ 0x2B81E, 0x2B81F },
{ 0x2CEA2, 0x2CEAF },
- { 0x2EBE1, 0x2F7FF },
+ { 0x2EBE1, 0x2EBEF },
+ { 0x2EE5E, 0x2F7FF },
{ 0x2FA1E, 0x2FFFF },
{ 0x3134B, 0x3134F },
{ 0x323B0, 0xE0000 },
diff --git a/tests/unictype/test-categ_Co.c b/tests/unictype/test-categ_Co.c
index 0878bab5..ab327d77 100644
--- a/tests/unictype/test-categ_Co.c
+++ b/tests/unictype/test-categ_Co.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Cs.c b/tests/unictype/test-categ_Cs.c
index 16d90395..76f7dc12 100644
--- a/tests/unictype/test-categ_Cs.c
+++ b/tests/unictype/test-categ_Cs.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_L.c b/tests/unictype/test-categ_L.c
index a72b6f99..2e9b7be4 100644
--- a/tests/unictype/test-categ_L.c
+++ b/tests/unictype/test-categ_L.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -673,6 +673,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-categ_LC.c b/tests/unictype/test-categ_LC.c
index 166df6c8..16e61763 100644
--- a/tests/unictype/test-categ_LC.c
+++ b/tests/unictype/test-categ_LC.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Ll.c b/tests/unictype/test-categ_Ll.c
index 7feba488..c3d12127 100644
--- a/tests/unictype/test-categ_Ll.c
+++ b/tests/unictype/test-categ_Ll.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Lm.c b/tests/unictype/test-categ_Lm.c
index c7a5b595..06464574 100644
--- a/tests/unictype/test-categ_Lm.c
+++ b/tests/unictype/test-categ_Lm.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Lo.c b/tests/unictype/test-categ_Lo.c
index 37009f81..e778c7c6 100644
--- a/tests/unictype/test-categ_Lo.c
+++ b/tests/unictype/test-categ_Lo.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -524,6 +524,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-categ_Lt.c b/tests/unictype/test-categ_Lt.c
index 96c0cce7..32808303 100644
--- a/tests/unictype/test-categ_Lt.c
+++ b/tests/unictype/test-categ_Lt.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Lu.c b/tests/unictype/test-categ_Lu.c
index 14c15058..89bb6575 100644
--- a/tests/unictype/test-categ_Lu.c
+++ b/tests/unictype/test-categ_Lu.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_M.c b/tests/unictype/test-categ_M.c
index e872f50c..4b2c4f85 100644
--- a/tests/unictype/test-categ_M.c
+++ b/tests/unictype/test-categ_M.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Mc.c b/tests/unictype/test-categ_Mc.c
index 1b2b50cf..bfa9ce15 100644
--- a/tests/unictype/test-categ_Mc.c
+++ b/tests/unictype/test-categ_Mc.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Me.c b/tests/unictype/test-categ_Me.c
index d0ad5427..c58d2972 100644
--- a/tests/unictype/test-categ_Me.c
+++ b/tests/unictype/test-categ_Me.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Mn.c b/tests/unictype/test-categ_Mn.c
index cff7fde2..ee067b33 100644
--- a/tests/unictype/test-categ_Mn.c
+++ b/tests/unictype/test-categ_Mn.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_N.c b/tests/unictype/test-categ_N.c
index ae8945c1..f7ee20ae 100644
--- a/tests/unictype/test-categ_N.c
+++ b/tests/unictype/test-categ_N.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Nd.c b/tests/unictype/test-categ_Nd.c
index 470c54e4..032ab3eb 100644
--- a/tests/unictype/test-categ_Nd.c
+++ b/tests/unictype/test-categ_Nd.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Nl.c b/tests/unictype/test-categ_Nl.c
index 55dc61bb..0ce75df2 100644
--- a/tests/unictype/test-categ_Nl.c
+++ b/tests/unictype/test-categ_Nl.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_No.c b/tests/unictype/test-categ_No.c
index 4d368b91..0c1e8e59 100644
--- a/tests/unictype/test-categ_No.c
+++ b/tests/unictype/test-categ_No.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_P.c b/tests/unictype/test-categ_P.c
index f2e8532b..c2a2a92f 100644
--- a/tests/unictype/test-categ_P.c
+++ b/tests/unictype/test-categ_P.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Pc.c b/tests/unictype/test-categ_Pc.c
index 9d0ae7dc..98b32745 100644
--- a/tests/unictype/test-categ_Pc.c
+++ b/tests/unictype/test-categ_Pc.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Pd.c b/tests/unictype/test-categ_Pd.c
index d27a409a..28f2b27d 100644
--- a/tests/unictype/test-categ_Pd.c
+++ b/tests/unictype/test-categ_Pd.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Pe.c b/tests/unictype/test-categ_Pe.c
index 7dda519b..d1ae40ea 100644
--- a/tests/unictype/test-categ_Pe.c
+++ b/tests/unictype/test-categ_Pe.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Pf.c b/tests/unictype/test-categ_Pf.c
index 68cdb407..6746b530 100644
--- a/tests/unictype/test-categ_Pf.c
+++ b/tests/unictype/test-categ_Pf.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Pi.c b/tests/unictype/test-categ_Pi.c
index bd8d5ebe..ee16d684 100644
--- a/tests/unictype/test-categ_Pi.c
+++ b/tests/unictype/test-categ_Pi.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Po.c b/tests/unictype/test-categ_Po.c
index 53a782f5..27389e40 100644
--- a/tests/unictype/test-categ_Po.c
+++ b/tests/unictype/test-categ_Po.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Ps.c b/tests/unictype/test-categ_Ps.c
index e423e409..78bebac2 100644
--- a/tests/unictype/test-categ_Ps.c
+++ b/tests/unictype/test-categ_Ps.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_S.c b/tests/unictype/test-categ_S.c
index d1312da5..48863da0 100644
--- a/tests/unictype/test-categ_S.c
+++ b/tests/unictype/test-categ_S.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -124,7 +124,7 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
+ { 0x2FF0, 0x2FFF },
{ 0x3004, 0x3004 },
{ 0x3012, 0x3013 },
{ 0x3020, 0x3020 },
@@ -134,6 +134,7 @@
{ 0x3190, 0x3191 },
{ 0x3196, 0x319F },
{ 0x31C0, 0x31E3 },
+ { 0x31EF, 0x31EF },
{ 0x3200, 0x321E },
{ 0x322A, 0x3247 },
{ 0x3250, 0x3250 },
diff --git a/tests/unictype/test-categ_Sc.c b/tests/unictype/test-categ_Sc.c
index 9057fa9f..4c30fbf1 100644
--- a/tests/unictype/test-categ_Sc.c
+++ b/tests/unictype/test-categ_Sc.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Sk.c b/tests/unictype/test-categ_Sk.c
index cf8f781d..efffb564 100644
--- a/tests/unictype/test-categ_Sk.c
+++ b/tests/unictype/test-categ_Sk.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Sm.c b/tests/unictype/test-categ_Sm.c
index 02a70194..ae3d01c3 100644
--- a/tests/unictype/test-categ_Sm.c
+++ b/tests/unictype/test-categ_Sm.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_So.c b/tests/unictype/test-categ_So.c
index 4f9b3eae..98f774f7 100644
--- a/tests/unictype/test-categ_So.c
+++ b/tests/unictype/test-categ_So.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -103,7 +103,7 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
+ { 0x2FF0, 0x2FFF },
{ 0x3004, 0x3004 },
{ 0x3012, 0x3013 },
{ 0x3020, 0x3020 },
@@ -112,6 +112,7 @@
{ 0x3190, 0x3191 },
{ 0x3196, 0x319F },
{ 0x31C0, 0x31E3 },
+ { 0x31EF, 0x31EF },
{ 0x3200, 0x321E },
{ 0x322A, 0x3247 },
{ 0x3250, 0x3250 },
diff --git a/tests/unictype/test-categ_Z.c b/tests/unictype/test-categ_Z.c
index 3e0ec555..20301158 100644
--- a/tests/unictype/test-categ_Z.c
+++ b/tests/unictype/test-categ_Z.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Zl.c b/tests/unictype/test-categ_Zl.c
index 92725a57..25047987 100644
--- a/tests/unictype/test-categ_Zl.c
+++ b/tests/unictype/test-categ_Zl.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Zp.c b/tests/unictype/test-categ_Zp.c
index 2c69c6cc..520cf39e 100644
--- a/tests/unictype/test-categ_Zp.c
+++ b/tests/unictype/test-categ_Zp.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_Zs.c b/tests/unictype/test-categ_Zs.c
index da8a54b5..9a218493 100644
--- a/tests/unictype/test-categ_Zs.c
+++ b/tests/unictype/test-categ_Zs.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-categ_and.c b/tests/unictype/test-categ_and.c
index ace3ccb8..e2ded585 100644
--- a/tests/unictype/test-categ_and.c
+++ b/tests/unictype/test-categ_and.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_and_not.c b/tests/unictype/test-categ_and_not.c
index 74c75aee..07420d53 100644
--- a/tests/unictype/test-categ_and_not.c
+++ b/tests/unictype/test-categ_and_not.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,15 +25,36 @@
int
main ()
{
- uc_general_category_t ct =
- uc_general_category_and_not (
- uc_general_category_or (UC_LETTER, UC_NUMBER),
- uc_general_category_or (UC_UPPERCASE_LETTER, UC_DECIMAL_DIGIT_NUMBER));
-
- ASSERT (!uc_is_general_category ('A', ct));
- ASSERT (uc_is_general_category ('a', ct));
- ASSERT (!uc_is_general_category ('7', ct));
- ASSERT (uc_is_general_category (0x00B2, ct));
+ { /* A case where the result's bit mask is 0. */
+ uc_general_category_t ct =
+ uc_general_category_and_not (UC_UPPERCASE_LETTER, UC_LETTER);
+
+ ASSERT (!uc_is_general_category ('A', ct));
+ ASSERT (!uc_is_general_category ('a', ct));
+ }
+ { /* A case where the result's bit mask is the same as the first argument. */
+ uc_general_category_t ct =
+ uc_general_category_and_not (
+ uc_general_category_or (UC_LETTER, UC_NUMBER),
+ UC_CONTROL);
+
+ ASSERT (uc_is_general_category ('A', ct));
+ ASSERT (uc_is_general_category ('a', ct));
+ ASSERT (uc_is_general_category ('7', ct));
+ ASSERT (uc_is_general_category (0x00B2, ct));
+ }
+ { /* The general case, where the result's bit mask is neither 0 nor the first
+ argument. */
+ uc_general_category_t ct =
+ uc_general_category_and_not (
+ uc_general_category_or (UC_LETTER, UC_NUMBER),
+ uc_general_category_or (UC_UPPERCASE_LETTER, UC_DECIMAL_DIGIT_NUMBER));
+
+ ASSERT (!uc_is_general_category ('A', ct));
+ ASSERT (uc_is_general_category ('a', ct));
+ ASSERT (!uc_is_general_category ('7', ct));
+ ASSERT (uc_is_general_category (0x00B2, ct));
+ }
return 0;
}
diff --git a/tests/unictype/test-categ_byname.c b/tests/unictype/test-categ_byname.c
index 2489caaa..8cf94f4a 100644
--- a/tests/unictype/test-categ_byname.c
+++ b/tests/unictype/test-categ_byname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -206,8 +206,6 @@ main ()
ASSERT (category_equals (uc_general_category_byname ("UNASSIGNED"), UC_CATEGORY_Cn));
ASSERT (category_equals (uc_general_category_byname ("Unassigned"), UC_CATEGORY_Cn));
- uc_general_category_byname ("Nl");
-
{
uc_general_category_t ct = uc_general_category_byname ("Nd");
unsigned int c;
@@ -219,6 +217,16 @@ main ()
}
{
+ uc_general_category_t ct = uc_general_category_byname ("Nl");
+ unsigned int c;
+
+ for (c = 0x2160; c < 0x2180; c++)
+ ASSERT (uc_is_general_category (c, ct));
+ ASSERT (!uc_is_general_category (0x0BF1, ct));
+ ASSERT (!uc_is_general_category (0x0D71, ct));
+ }
+
+ {
uc_general_category_t ct = uc_general_category_byname ("Foo");
unsigned int c;
diff --git a/tests/unictype/test-categ_longname.c b/tests/unictype/test-categ_longname.c
index d332b280..9c725486 100644
--- a/tests/unictype/test-categ_longname.c
+++ b/tests/unictype/test-categ_longname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_name.c b/tests/unictype/test-categ_name.c
index 4e5143bb..f8f4889e 100644
--- a/tests/unictype/test-categ_name.c
+++ b/tests/unictype/test-categ_name.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_none.c b/tests/unictype/test-categ_none.c
index 913011a5..ae10a439 100644
--- a/tests/unictype/test-categ_none.c
+++ b/tests/unictype/test-categ_none.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_of.c b/tests/unictype/test-categ_of.c
index d19a510c..276994eb 100644
--- a/tests/unictype/test-categ_of.c
+++ b/tests/unictype/test-categ_of.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_or.c b/tests/unictype/test-categ_or.c
index 3fd9bd5a..3ed5d2b0 100644
--- a/tests/unictype/test-categ_or.c
+++ b/tests/unictype/test-categ_or.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-categ_test_withtable.c b/tests/unictype/test-categ_test_withtable.c
index df25cb87..fbd265a5 100644
--- a/tests/unictype/test-categ_test_withtable.c
+++ b/tests/unictype/test-categ_test_withtable.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-combiningclass.c b/tests/unictype/test-combiningclass.c
index 92348feb..0e71d022 100644
--- a/tests/unictype/test-combiningclass.c
+++ b/tests/unictype/test-combiningclass.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-combiningclass_byname.c b/tests/unictype/test-combiningclass_byname.c
index 0d56ca34..895b2ad1 100644
--- a/tests/unictype/test-combiningclass_byname.c
+++ b/tests/unictype/test-combiningclass_byname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining group functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-combiningclass_longname.c b/tests/unictype/test-combiningclass_longname.c
index 29164624..351467b8 100644
--- a/tests/unictype/test-combiningclass_longname.c
+++ b/tests/unictype/test-combiningclass_longname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-combiningclass_name.c b/tests/unictype/test-combiningclass_name.c
index 6521976a..7ccefbf2 100644
--- a/tests/unictype/test-combiningclass_name.c
+++ b/tests/unictype/test-combiningclass_name.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-ctype_alnum.c b/tests/unictype/test-ctype_alnum.c
index 7947a92b..f6f9b6b2 100644
--- a/tests/unictype/test-ctype_alnum.c
+++ b/tests/unictype/test-ctype_alnum.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -730,6 +730,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-ctype_alpha.c b/tests/unictype/test-ctype_alpha.c
index 284d964e..cb52a4c1 100644
--- a/tests/unictype/test-ctype_alpha.c
+++ b/tests/unictype/test-ctype_alpha.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -729,6 +729,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-ctype_blank.c b/tests/unictype/test-ctype_blank.c
index 4824fe73..a95128bc 100644
--- a/tests/unictype/test-ctype_blank.c
+++ b/tests/unictype/test-ctype_blank.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-ctype_cntrl.c b/tests/unictype/test-ctype_cntrl.c
index d32c701d..9c23169a 100644
--- a/tests/unictype/test-ctype_cntrl.c
+++ b/tests/unictype/test-ctype_cntrl.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-ctype_digit.c b/tests/unictype/test-ctype_digit.c
index ccda557f..53d40121 100644
--- a/tests/unictype/test-ctype_digit.c
+++ b/tests/unictype/test-ctype_digit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-ctype_graph.c b/tests/unictype/test-ctype_graph.c
index 16ab878a..bdd12a07 100644
--- a/tests/unictype/test-ctype_graph.c
+++ b/tests/unictype/test-ctype_graph.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -291,14 +291,14 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
+ { 0x2FF0, 0x2FFF },
{ 0x3001, 0x303F },
{ 0x3041, 0x3096 },
{ 0x3099, 0x30FF },
{ 0x3105, 0x312F },
{ 0x3131, 0x318E },
{ 0x3190, 0x31E3 },
- { 0x31F0, 0x321E },
+ { 0x31EF, 0x321E },
{ 0x3220, 0xA48C },
{ 0xA490, 0xA4C6 },
{ 0xA4D0, 0xA62B },
@@ -721,6 +721,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF },
diff --git a/tests/unictype/test-ctype_lower.c b/tests/unictype/test-ctype_lower.c
index f8fceb33..5bc56a9b 100644
--- a/tests/unictype/test-ctype_lower.c
+++ b/tests/unictype/test-ctype_lower.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-ctype_print.c b/tests/unictype/test-ctype_print.c
index dad6b07b..a7ae3cd9 100644
--- a/tests/unictype/test-ctype_print.c
+++ b/tests/unictype/test-ctype_print.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -288,14 +288,13 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
- { 0x3000, 0x303F },
+ { 0x2FF0, 0x303F },
{ 0x3041, 0x3096 },
{ 0x3099, 0x30FF },
{ 0x3105, 0x312F },
{ 0x3131, 0x318E },
{ 0x3190, 0x31E3 },
- { 0x31F0, 0x321E },
+ { 0x31EF, 0x321E },
{ 0x3220, 0xA48C },
{ 0xA490, 0xA4C6 },
{ 0xA4D0, 0xA62B },
@@ -718,6 +717,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF },
diff --git a/tests/unictype/test-ctype_punct.c b/tests/unictype/test-ctype_punct.c
index 1cd20e2a..1bebda2c 100644
--- a/tests/unictype/test-ctype_punct.c
+++ b/tests/unictype/test-ctype_punct.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -265,7 +265,7 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
+ { 0x2FF0, 0x2FFF },
{ 0x3001, 0x3004 },
{ 0x3008, 0x3020 },
{ 0x302A, 0x3030 },
@@ -276,6 +276,7 @@
{ 0x30FB, 0x30FB },
{ 0x3190, 0x319F },
{ 0x31C0, 0x31E3 },
+ { 0x31EF, 0x31EF },
{ 0x3200, 0x321E },
{ 0x3220, 0x33FF },
{ 0x4DC0, 0x4DFF },
diff --git a/tests/unictype/test-ctype_space.c b/tests/unictype/test-ctype_space.c
index da37cf74..2029e960 100644
--- a/tests/unictype/test-ctype_space.c
+++ b/tests/unictype/test-ctype_space.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-ctype_upper.c b/tests/unictype/test-ctype_upper.c
index 724d4c7c..c8e45155 100644
--- a/tests/unictype/test-ctype_upper.c
+++ b/tests/unictype/test-ctype_upper.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-ctype_xdigit.c b/tests/unictype/test-ctype_xdigit.c
index 3de8ce98..cbc618fc 100644
--- a/tests/unictype/test-ctype_xdigit.c
+++ b/tests/unictype/test-ctype_xdigit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-decdigit.c b/tests/unictype/test-decdigit.c
index 67a3f60c..e3b70470 100644
--- a/tests/unictype/test-decdigit.c
+++ b/tests/unictype/test-decdigit.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-decdigit.h b/tests/unictype/test-decdigit.h
index f54ff1e1..c0a46e6c 100644
--- a/tests/unictype/test-decdigit.h
+++ b/tests/unictype/test-decdigit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decimal digit values of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-digit.c b/tests/unictype/test-digit.c
index 67258a43..12fa387d 100644
--- a/tests/unictype/test-digit.c
+++ b/tests/unictype/test-digit.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-digit.h b/tests/unictype/test-digit.h
index 02819012..503b2f41 100644
--- a/tests/unictype/test-digit.h
+++ b/tests/unictype/test-digit.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Digit values of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-incb_byname.c b/tests/unictype/test-incb_byname.c
new file mode 100644
index 00000000..5031d313
--- /dev/null
+++ b/tests/unictype/test-incb_byname.c
@@ -0,0 +1,43 @@
+/* Test the Indic_Conjunct_Break value functions.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This program 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 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include <string.h>
+
+#include "macros.h"
+
+int
+main ()
+{
+ ASSERT (uc_indic_conjunct_break_byname ("NONE") == UC_INDIC_CONJUNCT_BREAK_NONE);
+ ASSERT (uc_indic_conjunct_break_byname ("None") == UC_INDIC_CONJUNCT_BREAK_NONE);
+ ASSERT (uc_indic_conjunct_break_byname ("CONSONANT") == UC_INDIC_CONJUNCT_BREAK_CONSONANT);
+ ASSERT (uc_indic_conjunct_break_byname ("Consonant") == UC_INDIC_CONJUNCT_BREAK_CONSONANT);
+ ASSERT (uc_indic_conjunct_break_byname ("LINKER") == UC_INDIC_CONJUNCT_BREAK_LINKER);
+ ASSERT (uc_indic_conjunct_break_byname ("Linker") == UC_INDIC_CONJUNCT_BREAK_LINKER);
+ ASSERT (uc_indic_conjunct_break_byname ("EXTEND") == UC_INDIC_CONJUNCT_BREAK_EXTEND);
+ ASSERT (uc_indic_conjunct_break_byname ("Extend") == UC_INDIC_CONJUNCT_BREAK_EXTEND);
+ ASSERT (uc_indic_conjunct_break_byname ("VOWEL") < 0);
+ ASSERT (uc_indic_conjunct_break_byname ("X") < 0);
+ ASSERT (uc_indic_conjunct_break_byname ("") < 0);
+
+ return 0;
+}
diff --git a/tests/unictype/test-incb_name.c b/tests/unictype/test-incb_name.c
new file mode 100644
index 00000000..25f53c28
--- /dev/null
+++ b/tests/unictype/test-incb_name.c
@@ -0,0 +1,37 @@
+/* Test the Indic_Conjunct_Break value functions.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This program 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 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include <string.h>
+
+#include "macros.h"
+
+int
+main ()
+{
+ ASSERT (strcmp (uc_indic_conjunct_break_name (UC_INDIC_CONJUNCT_BREAK_NONE), "None") == 0);
+ ASSERT (strcmp (uc_indic_conjunct_break_name (UC_INDIC_CONJUNCT_BREAK_CONSONANT), "Consonant") == 0);
+ ASSERT (strcmp (uc_indic_conjunct_break_name (UC_INDIC_CONJUNCT_BREAK_LINKER), "Linker") == 0);
+ ASSERT (strcmp (uc_indic_conjunct_break_name (UC_INDIC_CONJUNCT_BREAK_EXTEND), "Extend") == 0);
+ ASSERT (uc_indic_conjunct_break_name (-1) == NULL);
+
+ return 0;
+}
diff --git a/tests/unictype/test-incb_of.c b/tests/unictype/test-incb_of.c
new file mode 100644
index 00000000..d2adeb5c
--- /dev/null
+++ b/tests/unictype/test-incb_of.c
@@ -0,0 +1,52 @@
+/* Test the Unicode character Indic_Conjunct_Break attribute functions.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+ This program 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 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include <string.h>
+
+#include "macros.h"
+
+typedef struct { ucs4_t ch; int value; } pair_t;
+
+static const pair_t mapping[] =
+ {
+#include "test-incb_of.h"
+ };
+
+int
+main ()
+{
+ unsigned int c;
+ size_t i;
+
+ c = 0;
+ for (i = 0; i < SIZEOF (mapping); i++)
+ {
+ for (; c < mapping[i].ch; c++)
+ ASSERT (uc_indic_conjunct_break (c) == UC_INDIC_CONJUNCT_BREAK_NONE);
+ ASSERT (uc_indic_conjunct_break (c) == mapping[i].value);
+ c++;
+ }
+ for (; c < 0x110000; c++)
+ ASSERT (uc_indic_conjunct_break (c) == UC_INDIC_CONJUNCT_BREAK_NONE);
+
+ return 0;
+}
diff --git a/tests/unictype/test-incb_of.h b/tests/unictype/test-incb_of.h
new file mode 100644
index 00000000..0eb99aaf
--- /dev/null
+++ b/tests/unictype/test-incb_of.h
@@ -0,0 +1,1149 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Indic_Conjunct_Break attribute of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
+
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ This file 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+ { 0x0300, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0301, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0302, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0303, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0304, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0305, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0306, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0307, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0308, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0309, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x030A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x030B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x030C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x030D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x030E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x030F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0310, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0311, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0312, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0313, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0314, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0315, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0316, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0317, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0318, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0319, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x031A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x031B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x031C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x031D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x031E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x031F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0320, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0321, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0322, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0323, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0324, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0325, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0326, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0327, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0328, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0329, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x032A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x032B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x032C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x032D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x032E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x032F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0330, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0331, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0332, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0333, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0334, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0335, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0336, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0337, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0338, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0339, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x033A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x033B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x033C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x033D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x033E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x033F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0340, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0341, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0342, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0343, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0344, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0345, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0346, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0347, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0348, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0349, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x034A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x034B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x034C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x034D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x034E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0350, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0351, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0352, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0353, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0354, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0355, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0356, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0357, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0358, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0359, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x035A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x035B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x035C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x035D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x035E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x035F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0360, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0361, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0362, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0363, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0364, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0365, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0366, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0367, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0368, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0369, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x036A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x036B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x036C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x036D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x036E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x036F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0483, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0484, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0485, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0486, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0487, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0591, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0592, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0593, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0594, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0595, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0596, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0597, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0598, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0599, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x059A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x059B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x059C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x059D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x059E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x059F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05A9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05AA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05AB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05AC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05AD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05AE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05AF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05B9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05BA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05BB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05BC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05BD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05BF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05C1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05C2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05C4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05C5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x05C7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0610, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0611, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0612, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0613, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0614, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0615, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0616, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0617, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0618, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0619, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x061A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x064B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x064C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x064D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x064E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x064F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0650, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0651, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0652, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0653, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0654, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0655, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0656, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0657, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0658, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0659, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x065A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x065B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x065C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x065D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x065E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x065F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0670, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06D6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06D7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06D8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06D9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06DA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06DB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06DC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06DF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06E8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06EA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06EB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x06ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0711, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0730, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0731, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0732, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0733, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0734, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0735, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0736, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0737, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0738, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0739, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x073A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x073B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x073C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x073D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x073E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x073F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0740, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0741, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0742, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0743, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0744, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0745, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0746, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0747, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0748, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0749, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x074A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07EB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07EE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07EF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07F0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07F1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07F2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07F3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x07FD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0816, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0817, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0818, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0819, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x081B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x081C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x081D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x081E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x081F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0820, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0821, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0822, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0823, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0825, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0826, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0827, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0829, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x082A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x082B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x082C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x082D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0859, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x085A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x085B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0898, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0899, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x089A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x089B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x089C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x089D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x089E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x089F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08CA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08CB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08CC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08CD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08CE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08CF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08D9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08DA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08DB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08DC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08DD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08DE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08DF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08E9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08EA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08EB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08EE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08EF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08F9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08FA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08FB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08FC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08FD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08FE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x08FF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0915, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0916, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0917, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0918, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0919, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x091A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x091B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x091C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x091D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x091E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x091F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0920, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0921, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0922, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0923, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0924, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0925, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0926, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0927, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0928, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0929, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x092A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x092B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x092C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x092D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x092E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x092F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0930, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0931, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0932, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0933, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0934, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0935, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0936, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0937, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0938, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0939, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x093C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x094D, UC_INDIC_CONJUNCT_BREAK_LINKER },
+ { 0x0951, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0952, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0953, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0954, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0958, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0959, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x095A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x095B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x095C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x095D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x095E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x095F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0978, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0979, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x097A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x097B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x097C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x097D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x097E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x097F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0995, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0996, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0997, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0998, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0999, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x099A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x099B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x099C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x099D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x099E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x099F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A0, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A1, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A2, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A3, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A4, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A5, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A6, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A7, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09A8, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09AA, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09AB, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09AC, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09AD, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09AE, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09AF, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09B0, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09B2, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09B6, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09B7, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09B8, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09B9, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09BC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x09CD, UC_INDIC_CONJUNCT_BREAK_LINKER },
+ { 0x09DC, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09DD, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09DF, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09F0, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09F1, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x09FE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0A3C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0A95, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A96, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A97, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A98, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A99, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A9A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A9B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A9C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A9D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A9E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0A9F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA0, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA1, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA2, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA3, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA4, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA5, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA6, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA7, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AA8, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AAA, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AAB, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AAC, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AAD, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AAE, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AAF, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB0, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB2, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB3, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB5, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB6, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB7, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB8, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0AB9, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0ABC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0ACD, UC_INDIC_CONJUNCT_BREAK_LINKER },
+ { 0x0AF9, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B15, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B16, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B17, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B18, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B19, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B1A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B1B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B1C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B1D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B1E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B1F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B20, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B21, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B22, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B23, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B24, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B25, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B26, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B27, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B28, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B2A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B2B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B2C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B2D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B2E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B2F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B30, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B32, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B33, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B35, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B36, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B37, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B38, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B39, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B3C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0B4D, UC_INDIC_CONJUNCT_BREAK_LINKER },
+ { 0x0B5C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B5D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B5F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0B71, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C15, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C16, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C17, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C18, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C19, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C1A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C1B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C1C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C1D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C1E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C1F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C20, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C21, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C22, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C23, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C24, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C25, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C26, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C27, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C28, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C2A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C2B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C2C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C2D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C2E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C2F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C30, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C31, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C32, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C33, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C34, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C35, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C36, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C37, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C38, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C39, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C3C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0C4D, UC_INDIC_CONJUNCT_BREAK_LINKER },
+ { 0x0C55, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0C56, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0C58, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C59, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0C5A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0CBC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0D15, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D16, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D17, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D18, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D19, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D1A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D1B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D1C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D1D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D1E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D1F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D20, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D21, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D22, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D23, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D24, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D25, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D26, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D27, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D28, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D29, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D2A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D2B, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D2C, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D2D, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D2E, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D2F, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D30, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D31, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D32, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D33, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D34, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D35, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D36, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D37, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D38, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D39, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D3A, UC_INDIC_CONJUNCT_BREAK_CONSONANT },
+ { 0x0D3B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0D3C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0D4D, UC_INDIC_CONJUNCT_BREAK_LINKER },
+ { 0x0E38, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0E39, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0E3A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0E48, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0E49, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0E4A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0E4B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0EB8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0EB9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0EBA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0EC8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0EC9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0ECA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0ECB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F18, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F19, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F35, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F37, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F39, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F71, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F72, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F74, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F7A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F7B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F7C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F7D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F80, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F82, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F83, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F84, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F86, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0F87, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x0FC6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1037, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1039, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x103A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x108D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x135D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x135E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x135F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1714, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x17D2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x17DD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x18A9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1939, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x193A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x193B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A17, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A18, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A60, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A75, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A76, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A77, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A78, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A79, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A7A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A7B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A7C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1A7F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AB9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ABA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ABB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ABC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ABD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ABF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1AC9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ACA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ACB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ACC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ACD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1ACE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B34, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B6B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B6C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B6D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B6E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B6F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B70, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B71, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B72, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1B73, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1BAB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1BE6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1C37, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CD9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CDA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CDB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CDC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CDD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CDE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CDF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CE8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CF4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CF8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1CF9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DC9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DCA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DCB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DCC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DCD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DCE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DCF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DD9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DDA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DDB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DDC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DDD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DDE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DDF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DE9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DEA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DEB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DEC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DEE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DEF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DF9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DFA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DFB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DFC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DFD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DFE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1DFF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x200D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20D9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20DA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20DB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20DC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20E1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20E5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20E6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20E7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20E8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20E9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20EA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20EB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20EE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20EF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x20F0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2CEF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2CF0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2CF1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2D7F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DE9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DEA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DEB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DEC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DEE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DEF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DF9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DFA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DFB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DFC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DFD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DFE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x2DFF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x302A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x302B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x302C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x302D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x302E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x302F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x3099, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x309A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA66F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA674, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA675, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA676, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA677, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA678, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA679, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA67A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA67B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA67C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA67D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA69E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA69F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA6F0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA6F1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA82C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8E9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8EA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8EB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8EE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8EF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8F0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA8F1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA92B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA92C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA92D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xA9B3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAB0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAB2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAB3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAB4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAB7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAB8, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAABE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAABF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAC1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xAAF6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xABED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFB1E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE20, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE21, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE22, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE23, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE24, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE25, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE26, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE27, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE28, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE29, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE2A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE2B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE2C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE2D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE2E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0xFE2F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x101FD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x102E0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10376, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10377, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10378, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10379, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1037A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10A0D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10A0F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10A38, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10A39, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10A3A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10A3F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10AE5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10AE6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10D24, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10D25, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10D26, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10D27, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10EAB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10EAC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10EFD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10EFE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10EFF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F46, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F47, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F48, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F49, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F4A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F4B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F4C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F4D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F4E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F4F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F50, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F82, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F83, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F84, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x10F85, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11070, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1107F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x110BA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11100, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11101, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11102, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11133, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11134, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11173, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x111CA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11236, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x112E9, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x112EA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1133B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1133C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11366, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11367, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11368, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11369, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1136A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1136B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1136C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11370, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11371, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11372, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11373, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11374, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11446, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1145E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x114C3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x115C0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x116B7, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1172B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1183A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1193E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11943, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11A34, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11A47, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11A99, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11D42, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11D44, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11D45, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11D97, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x11F42, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16AF0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16AF1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16AF2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16AF3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16AF4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B30, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B31, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B32, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B33, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B34, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B35, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x16B36, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1BC9E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D165, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D167, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D168, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D169, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D16E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D16F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D170, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D171, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D172, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D17B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D17C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D17D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D17E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D17F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D180, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D181, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D182, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D185, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D186, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D187, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D188, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D189, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D18A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D18B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D1AA, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D1AB, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D1AC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D1AD, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D242, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D243, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1D244, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E000, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E001, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E002, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E003, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E004, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E005, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E006, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E008, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E009, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E00A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E00B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E00C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E00D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E00E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E00F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E010, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E011, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E012, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E013, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E014, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E015, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E016, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E017, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E018, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E01B, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E01C, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E01D, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E01E, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E01F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E020, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E021, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E023, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E024, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E026, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E027, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E028, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E029, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E02A, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E08F, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E130, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E131, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E132, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E133, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E134, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E135, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E136, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E2AE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E2EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E2ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E2EE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E2EF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E4EC, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E4ED, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E4EE, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E4EF, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D0, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D1, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D2, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D3, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D4, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D5, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E8D6, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E944, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E945, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E946, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E947, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E948, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E949, UC_INDIC_CONJUNCT_BREAK_EXTEND },
+ { 0x1E94A, UC_INDIC_CONJUNCT_BREAK_EXTEND }
diff --git a/tests/unictype/test-joininggroup_byname.c b/tests/unictype/test-joininggroup_byname.c
index 6329a994..24d5c19d 100644
--- a/tests/unictype/test-joininggroup_byname.c
+++ b/tests/unictype/test-joininggroup_byname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining group functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joininggroup_name.c b/tests/unictype/test-joininggroup_name.c
index 7ff2eb98..9e4ef511 100644
--- a/tests/unictype/test-joininggroup_name.c
+++ b/tests/unictype/test-joininggroup_name.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining group functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joininggroup_of.c b/tests/unictype/test-joininggroup_of.c
index 792b5e37..65a70d5f 100644
--- a/tests/unictype/test-joininggroup_of.c
+++ b/tests/unictype/test-joininggroup_of.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining group functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joininggroup_of.h b/tests/unictype/test-joininggroup_of.h
index cbcad6bc..1ee9c058 100644
--- a/tests/unictype/test-joininggroup_of.h
+++ b/tests/unictype/test-joininggroup_of.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Arabic joining group of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-joiningtype_byname.c b/tests/unictype/test-joiningtype_byname.c
index 0134bde1..ecde322e 100644
--- a/tests/unictype/test-joiningtype_byname.c
+++ b/tests/unictype/test-joiningtype_byname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joiningtype_longname.c b/tests/unictype/test-joiningtype_longname.c
index 06c737d4..3d18ae2f 100644
--- a/tests/unictype/test-joiningtype_longname.c
+++ b/tests/unictype/test-joiningtype_longname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joiningtype_name.c b/tests/unictype/test-joiningtype_name.c
index f83468cb..0b2ca424 100644
--- a/tests/unictype/test-joiningtype_name.c
+++ b/tests/unictype/test-joiningtype_name.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joiningtype_of.c b/tests/unictype/test-joiningtype_of.c
index 6396f0d3..f0760b91 100644
--- a/tests/unictype/test-joiningtype_of.c
+++ b/tests/unictype/test-joiningtype_of.c
@@ -1,5 +1,5 @@
/* Test the Unicode character Arabic joining type functions.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify it
diff --git a/tests/unictype/test-joiningtype_of.h b/tests/unictype/test-joiningtype_of.h
index acea2865..7b1e072a 100644
--- a/tests/unictype/test-joiningtype_of.h
+++ b/tests/unictype/test-joiningtype_of.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Arabic joining type of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-mirror.c b/tests/unictype/test-mirror.c
index b09541cc..5494e197 100644
--- a/tests/unictype/test-mirror.c
+++ b/tests/unictype/test-mirror.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-numeric.c b/tests/unictype/test-numeric.c
index 5596b561..86718bf2 100644
--- a/tests/unictype/test-numeric.c
+++ b/tests/unictype/test-numeric.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-numeric.h b/tests/unictype/test-numeric.h
index cb2f3314..b8a7f809 100644
--- a/tests/unictype/test-numeric.h
+++ b/tests/unictype/test-numeric.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Numeric values of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_alphabetic.c b/tests/unictype/test-pr_alphabetic.c
index 6efcd5bd..027b3a01 100644
--- a/tests/unictype/test-pr_alphabetic.c
+++ b/tests/unictype/test-pr_alphabetic.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -746,6 +746,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-pr_ascii_hex_digit.c b/tests/unictype/test-pr_ascii_hex_digit.c
index 31eb2b79..bc48da86 100644
--- a/tests/unictype/test-pr_ascii_hex_digit.c
+++ b/tests/unictype/test-pr_ascii_hex_digit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_arabic_digit.c b/tests/unictype/test-pr_bidi_arabic_digit.c
index fde69de6..10e6bf03 100644
--- a/tests/unictype/test-pr_bidi_arabic_digit.c
+++ b/tests/unictype/test-pr_bidi_arabic_digit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_arabic_right_to_left.c b/tests/unictype/test-pr_bidi_arabic_right_to_left.c
index e0cde250..d97eb529 100644
--- a/tests/unictype/test-pr_bidi_arabic_right_to_left.c
+++ b/tests/unictype/test-pr_bidi_arabic_right_to_left.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_block_separator.c b/tests/unictype/test-pr_bidi_block_separator.c
index b348d689..50eade74 100644
--- a/tests/unictype/test-pr_bidi_block_separator.c
+++ b/tests/unictype/test-pr_bidi_block_separator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_boundary_neutral.c b/tests/unictype/test-pr_bidi_boundary_neutral.c
index 778d8247..8925fb22 100644
--- a/tests/unictype/test-pr_bidi_boundary_neutral.c
+++ b/tests/unictype/test-pr_bidi_boundary_neutral.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_common_separator.c b/tests/unictype/test-pr_bidi_common_separator.c
index 75e54c7f..7f73de79 100644
--- a/tests/unictype/test-pr_bidi_common_separator.c
+++ b/tests/unictype/test-pr_bidi_common_separator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_control.c b/tests/unictype/test-pr_bidi_control.c
index 60f1354e..5855b93c 100644
--- a/tests/unictype/test-pr_bidi_control.c
+++ b/tests/unictype/test-pr_bidi_control.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_embedding_or_override.c b/tests/unictype/test-pr_bidi_embedding_or_override.c
index 3fec8c05..e717b92a 100644
--- a/tests/unictype/test-pr_bidi_embedding_or_override.c
+++ b/tests/unictype/test-pr_bidi_embedding_or_override.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_eur_num_separator.c b/tests/unictype/test-pr_bidi_eur_num_separator.c
index 2a096694..c7a602f2 100644
--- a/tests/unictype/test-pr_bidi_eur_num_separator.c
+++ b/tests/unictype/test-pr_bidi_eur_num_separator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_eur_num_terminator.c b/tests/unictype/test-pr_bidi_eur_num_terminator.c
index 326d6fa0..0ed7ebb0 100644
--- a/tests/unictype/test-pr_bidi_eur_num_terminator.c
+++ b/tests/unictype/test-pr_bidi_eur_num_terminator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_european_digit.c b/tests/unictype/test-pr_bidi_european_digit.c
index b59bc8cb..3f72d04c 100644
--- a/tests/unictype/test-pr_bidi_european_digit.c
+++ b/tests/unictype/test-pr_bidi_european_digit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_hebrew_right_to_left.c b/tests/unictype/test-pr_bidi_hebrew_right_to_left.c
index 90dfa1e6..f6b97339 100644
--- a/tests/unictype/test-pr_bidi_hebrew_right_to_left.c
+++ b/tests/unictype/test-pr_bidi_hebrew_right_to_left.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_left_to_right.c b/tests/unictype/test-pr_bidi_left_to_right.c
index ce6dc5d7..3a81b5ec 100644
--- a/tests/unictype/test-pr_bidi_left_to_right.c
+++ b/tests/unictype/test-pr_bidi_left_to_right.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -233,7 +233,6 @@
{ 0x2E9A, 0x2E9A },
{ 0x2EF4, 0x2EFF },
{ 0x2FD6, 0x2FEF },
- { 0x2FFC, 0x2FFF },
{ 0x3005, 0x3007 },
{ 0x3021, 0x3029 },
{ 0x302E, 0x302F },
@@ -243,7 +242,8 @@
{ 0x309D, 0x309F },
{ 0x30A1, 0x30FA },
{ 0x30FC, 0x31BF },
- { 0x31E4, 0x321C },
+ { 0x31E4, 0x31EE },
+ { 0x31F0, 0x321C },
{ 0x321F, 0x324F },
{ 0x3260, 0x327B },
{ 0x327F, 0x32B0 },
diff --git a/tests/unictype/test-pr_bidi_non_spacing_mark.c b/tests/unictype/test-pr_bidi_non_spacing_mark.c
index 6cc88022..813373ac 100644
--- a/tests/unictype/test-pr_bidi_non_spacing_mark.c
+++ b/tests/unictype/test-pr_bidi_non_spacing_mark.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_other_neutral.c b/tests/unictype/test-pr_bidi_other_neutral.c
index 5d72a797..0c968235 100644
--- a/tests/unictype/test-pr_bidi_other_neutral.c
+++ b/tests/unictype/test-pr_bidi_other_neutral.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -102,7 +102,7 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
+ { 0x2FF0, 0x2FFF },
{ 0x3001, 0x3004 },
{ 0x3008, 0x3020 },
{ 0x3030, 0x3030 },
@@ -112,6 +112,7 @@
{ 0x30A0, 0x30A0 },
{ 0x30FB, 0x30FB },
{ 0x31C0, 0x31E3 },
+ { 0x31EF, 0x31EF },
{ 0x321D, 0x321E },
{ 0x3250, 0x325F },
{ 0x327C, 0x327E },
diff --git a/tests/unictype/test-pr_bidi_pdf.c b/tests/unictype/test-pr_bidi_pdf.c
index 60e45477..eabf3f29 100644
--- a/tests/unictype/test-pr_bidi_pdf.c
+++ b/tests/unictype/test-pr_bidi_pdf.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_segment_separator.c b/tests/unictype/test-pr_bidi_segment_separator.c
index 5f6e1e20..8e4da46a 100644
--- a/tests/unictype/test-pr_bidi_segment_separator.c
+++ b/tests/unictype/test-pr_bidi_segment_separator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_bidi_whitespace.c b/tests/unictype/test-pr_bidi_whitespace.c
index 3c165aa3..d4a47fd9 100644
--- a/tests/unictype/test-pr_bidi_whitespace.c
+++ b/tests/unictype/test-pr_bidi_whitespace.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_byname.c b/tests/unictype/test-pr_byname.c
index 6cdfb9d5..a3435e26 100644
--- a/tests/unictype/test-pr_byname.c
+++ b/tests/unictype/test-pr_byname.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-pr_case_ignorable.c b/tests/unictype/test-pr_case_ignorable.c
index 558694d0..b0f33ab9 100644
--- a/tests/unictype/test-pr_case_ignorable.c
+++ b/tests/unictype/test-pr_case_ignorable.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_cased.c b/tests/unictype/test-pr_cased.c
index 1d060fca..d1966ad7 100644
--- a/tests/unictype/test-pr_cased.c
+++ b/tests/unictype/test-pr_cased.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_changes_when_casefolded.c b/tests/unictype/test-pr_changes_when_casefolded.c
index f0da0167..7c7c5cea 100644
--- a/tests/unictype/test-pr_changes_when_casefolded.c
+++ b/tests/unictype/test-pr_changes_when_casefolded.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_changes_when_casemapped.c b/tests/unictype/test-pr_changes_when_casemapped.c
index 42bfa219..c8e508b2 100644
--- a/tests/unictype/test-pr_changes_when_casemapped.c
+++ b/tests/unictype/test-pr_changes_when_casemapped.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_changes_when_lowercased.c b/tests/unictype/test-pr_changes_when_lowercased.c
index 87607ec2..95a4b888 100644
--- a/tests/unictype/test-pr_changes_when_lowercased.c
+++ b/tests/unictype/test-pr_changes_when_lowercased.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_changes_when_titlecased.c b/tests/unictype/test-pr_changes_when_titlecased.c
index 55f12684..2ce0e2bb 100644
--- a/tests/unictype/test-pr_changes_when_titlecased.c
+++ b/tests/unictype/test-pr_changes_when_titlecased.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_changes_when_uppercased.c b/tests/unictype/test-pr_changes_when_uppercased.c
index 4b830f3e..ebbe3cf9 100644
--- a/tests/unictype/test-pr_changes_when_uppercased.c
+++ b/tests/unictype/test-pr_changes_when_uppercased.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_combining.c b/tests/unictype/test-pr_combining.c
index 31b8df04..bccf27d3 100644
--- a/tests/unictype/test-pr_combining.c
+++ b/tests/unictype/test-pr_combining.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_composite.c b/tests/unictype/test-pr_composite.c
index 4cccc8e8..054b7fc9 100644
--- a/tests/unictype/test-pr_composite.c
+++ b/tests/unictype/test-pr_composite.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_currency_symbol.c b/tests/unictype/test-pr_currency_symbol.c
index 4a59165f..7db0104a 100644
--- a/tests/unictype/test-pr_currency_symbol.c
+++ b/tests/unictype/test-pr_currency_symbol.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_dash.c b/tests/unictype/test-pr_dash.c
index 7ac4b3e8..5788ddbb 100644
--- a/tests/unictype/test-pr_dash.c
+++ b/tests/unictype/test-pr_dash.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_decimal_digit.c b/tests/unictype/test-pr_decimal_digit.c
index 45d5a6d4..aedacc94 100644
--- a/tests/unictype/test-pr_decimal_digit.c
+++ b/tests/unictype/test-pr_decimal_digit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_default_ignorable_code_point.c b/tests/unictype/test-pr_default_ignorable_code_point.c
index e536671b..194dc915 100644
--- a/tests/unictype/test-pr_default_ignorable_code_point.c
+++ b/tests/unictype/test-pr_default_ignorable_code_point.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_deprecated.c b/tests/unictype/test-pr_deprecated.c
index 1df2bc59..ba1cbd2c 100644
--- a/tests/unictype/test-pr_deprecated.c
+++ b/tests/unictype/test-pr_deprecated.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_diacritic.c b/tests/unictype/test-pr_diacritic.c
index f5dc0a67..d4c20042 100644
--- a/tests/unictype/test-pr_diacritic.c
+++ b/tests/unictype/test-pr_diacritic.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_emoji.c b/tests/unictype/test-pr_emoji.c
index 8df689a2..f6b7859d 100644
--- a/tests/unictype/test-pr_emoji.c
+++ b/tests/unictype/test-pr_emoji.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_emoji_component.c b/tests/unictype/test-pr_emoji_component.c
index 38009fe3..af70bf48 100644
--- a/tests/unictype/test-pr_emoji_component.c
+++ b/tests/unictype/test-pr_emoji_component.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_emoji_modifier.c b/tests/unictype/test-pr_emoji_modifier.c
index d298af72..1a60de9e 100644
--- a/tests/unictype/test-pr_emoji_modifier.c
+++ b/tests/unictype/test-pr_emoji_modifier.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_emoji_modifier_base.c b/tests/unictype/test-pr_emoji_modifier_base.c
index 90430d38..e38058bb 100644
--- a/tests/unictype/test-pr_emoji_modifier_base.c
+++ b/tests/unictype/test-pr_emoji_modifier_base.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_emoji_presentation.c b/tests/unictype/test-pr_emoji_presentation.c
index fd1b3043..fe6b3a20 100644
--- a/tests/unictype/test-pr_emoji_presentation.c
+++ b/tests/unictype/test-pr_emoji_presentation.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_extended_pictographic.c b/tests/unictype/test-pr_extended_pictographic.c
index 9fa0b3af..add58454 100644
--- a/tests/unictype/test-pr_extended_pictographic.c
+++ b/tests/unictype/test-pr_extended_pictographic.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_extender.c b/tests/unictype/test-pr_extender.c
index c2ec203b..886710f0 100644
--- a/tests/unictype/test-pr_extender.c
+++ b/tests/unictype/test-pr_extender.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_format_control.c b/tests/unictype/test-pr_format_control.c
index 0c2045a8..9a734c56 100644
--- a/tests/unictype/test-pr_format_control.c
+++ b/tests/unictype/test-pr_format_control.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_grapheme_base.c b/tests/unictype/test-pr_grapheme_base.c
index 3d908500..aeb6af9b 100644
--- a/tests/unictype/test-pr_grapheme_base.c
+++ b/tests/unictype/test-pr_grapheme_base.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -369,15 +369,14 @@
{ 0x2E80, 0x2E99 },
{ 0x2E9B, 0x2EF3 },
{ 0x2F00, 0x2FD5 },
- { 0x2FF0, 0x2FFB },
- { 0x3000, 0x3029 },
+ { 0x2FF0, 0x3029 },
{ 0x3030, 0x303F },
{ 0x3041, 0x3096 },
{ 0x309B, 0x30FF },
{ 0x3105, 0x312F },
{ 0x3131, 0x318E },
{ 0x3190, 0x31E3 },
- { 0x31F0, 0x321E },
+ { 0x31EF, 0x321E },
{ 0x3220, 0xA48C },
{ 0xA490, 0xA4C6 },
{ 0xA4D0, 0xA62B },
@@ -889,6 +888,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-pr_grapheme_extend.c b/tests/unictype/test-pr_grapheme_extend.c
index fb8e068d..d168a4ce 100644
--- a/tests/unictype/test-pr_grapheme_extend.c
+++ b/tests/unictype/test-pr_grapheme_extend.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_grapheme_link.c b/tests/unictype/test-pr_grapheme_link.c
index ce5c9039..3b741be4 100644
--- a/tests/unictype/test-pr_grapheme_link.c
+++ b/tests/unictype/test-pr_grapheme_link.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_hex_digit.c b/tests/unictype/test-pr_hex_digit.c
index 4c3d48c7..578b7c97 100644
--- a/tests/unictype/test-pr_hex_digit.c
+++ b/tests/unictype/test-pr_hex_digit.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_hyphen.c b/tests/unictype/test-pr_hyphen.c
index 351e98a7..b8a3238d 100644
--- a/tests/unictype/test-pr_hyphen.c
+++ b/tests/unictype/test-pr_hyphen.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_id_compat_math_continue.c b/tests/unictype/test-pr_id_compat_math_continue.c
new file mode 100644
index 00000000..c5ff0f34
--- /dev/null
+++ b/tests/unictype/test-pr_id_compat_math_continue.c
@@ -0,0 +1,40 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ This file 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include "test-predicate-part1.h"
+
+ { 0x00B2, 0x00B3 },
+ { 0x00B9, 0x00B9 },
+ { 0x2070, 0x2070 },
+ { 0x2074, 0x207E },
+ { 0x2080, 0x208E },
+ { 0x2202, 0x2202 },
+ { 0x2207, 0x2207 },
+ { 0x221E, 0x221E },
+ { 0x1D6C1, 0x1D6C1 },
+ { 0x1D6DB, 0x1D6DB },
+ { 0x1D6FB, 0x1D6FB },
+ { 0x1D715, 0x1D715 },
+ { 0x1D735, 0x1D735 },
+ { 0x1D74F, 0x1D74F },
+ { 0x1D76F, 0x1D76F },
+ { 0x1D789, 0x1D789 },
+ { 0x1D7A9, 0x1D7A9 },
+ { 0x1D7C3, 0x1D7C3 }
+
+#define PREDICATE(c) uc_is_property_id_compat_math_continue (c)
+#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_id_compat_math_start.c b/tests/unictype/test-pr_id_compat_math_start.c
new file mode 100644
index 00000000..58848243
--- /dev/null
+++ b/tests/unictype/test-pr_id_compat_math_start.c
@@ -0,0 +1,35 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ This file 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include "test-predicate-part1.h"
+
+ { 0x2202, 0x2202 },
+ { 0x2207, 0x2207 },
+ { 0x221E, 0x221E },
+ { 0x1D6C1, 0x1D6C1 },
+ { 0x1D6DB, 0x1D6DB },
+ { 0x1D6FB, 0x1D6FB },
+ { 0x1D715, 0x1D715 },
+ { 0x1D735, 0x1D735 },
+ { 0x1D74F, 0x1D74F },
+ { 0x1D76F, 0x1D76F },
+ { 0x1D789, 0x1D789 },
+ { 0x1D7A9, 0x1D7A9 },
+ { 0x1D7C3, 0x1D7C3 }
+
+#define PREDICATE(c) uc_is_property_id_compat_math_start (c)
+#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_id_continue.c b/tests/unictype/test-pr_id_continue.c
index d72084de..39675ef1 100644
--- a/tests/unictype/test-pr_id_continue.c
+++ b/tests/unictype/test-pr_id_continue.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -317,6 +317,7 @@
{ 0x1FE0, 0x1FEC },
{ 0x1FF2, 0x1FF4 },
{ 0x1FF6, 0x1FFC },
+ { 0x200C, 0x200D },
{ 0x203F, 0x2040 },
{ 0x2054, 0x2054 },
{ 0x2071, 0x2071 },
@@ -361,8 +362,7 @@
{ 0x3038, 0x303C },
{ 0x3041, 0x3096 },
{ 0x3099, 0x309F },
- { 0x30A1, 0x30FA },
- { 0x30FC, 0x30FF },
+ { 0x30A1, 0x30FF },
{ 0x3105, 0x312F },
{ 0x3131, 0x318E },
{ 0x31A0, 0x31BF },
@@ -440,7 +440,7 @@
{ 0xFF21, 0xFF3A },
{ 0xFF3F, 0xFF3F },
{ 0xFF41, 0xFF5A },
- { 0xFF66, 0xFFBE },
+ { 0xFF65, 0xFFBE },
{ 0xFFC2, 0xFFC7 },
{ 0xFFCA, 0xFFCF },
{ 0xFFD2, 0xFFD7 },
@@ -781,6 +781,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF },
diff --git a/tests/unictype/test-pr_id_start.c b/tests/unictype/test-pr_id_start.c
index e8ccdf56..62bfc045 100644
--- a/tests/unictype/test-pr_id_start.c
+++ b/tests/unictype/test-pr_id_start.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -673,6 +673,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-pr_ideographic.c b/tests/unictype/test-pr_ideographic.c
index 8221e37b..0d71c94c 100644
--- a/tests/unictype/test-pr_ideographic.c
+++ b/tests/unictype/test-pr_ideographic.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -34,6 +34,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-pr_ids_binary_operator.c b/tests/unictype/test-pr_ids_binary_operator.c
index 50722c30..49383cc0 100644
--- a/tests/unictype/test-pr_ids_binary_operator.c
+++ b/tests/unictype/test-pr_ids_binary_operator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -18,7 +18,8 @@
#include "test-predicate-part1.h"
{ 0x2FF0, 0x2FF1 },
- { 0x2FF4, 0x2FFB }
+ { 0x2FF4, 0x2FFD },
+ { 0x31EF, 0x31EF }
#define PREDICATE(c) uc_is_property_ids_binary_operator (c)
#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_ids_trinary_operator.c b/tests/unictype/test-pr_ids_trinary_operator.c
index bce8bc4a..36e455cb 100644
--- a/tests/unictype/test-pr_ids_trinary_operator.c
+++ b/tests/unictype/test-pr_ids_trinary_operator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_ids_unary_operator.c b/tests/unictype/test-pr_ids_unary_operator.c
new file mode 100644
index 00000000..ec4b0e32
--- /dev/null
+++ b/tests/unictype/test-pr_ids_unary_operator.c
@@ -0,0 +1,23 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ This file 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include "test-predicate-part1.h"
+
+ { 0x2FFE, 0x2FFF }
+
+#define PREDICATE(c) uc_is_property_ids_unary_operator (c)
+#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_ignorable_control.c b/tests/unictype/test-pr_ignorable_control.c
index f37e657a..1903d5a5 100644
--- a/tests/unictype/test-pr_ignorable_control.c
+++ b/tests/unictype/test-pr_ignorable_control.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_iso_control.c b/tests/unictype/test-pr_iso_control.c
index 725e220a..c033d15c 100644
--- a/tests/unictype/test-pr_iso_control.c
+++ b/tests/unictype/test-pr_iso_control.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_join_control.c b/tests/unictype/test-pr_join_control.c
index 71e11fc3..299d3a80 100644
--- a/tests/unictype/test-pr_join_control.c
+++ b/tests/unictype/test-pr_join_control.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_left_of_pair.c b/tests/unictype/test-pr_left_of_pair.c
index b35a7248..162571ae 100644
--- a/tests/unictype/test-pr_left_of_pair.c
+++ b/tests/unictype/test-pr_left_of_pair.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_line_separator.c b/tests/unictype/test-pr_line_separator.c
index 80ebf303..76f9291c 100644
--- a/tests/unictype/test-pr_line_separator.c
+++ b/tests/unictype/test-pr_line_separator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_logical_order_exception.c b/tests/unictype/test-pr_logical_order_exception.c
index a24f4688..99a11123 100644
--- a/tests/unictype/test-pr_logical_order_exception.c
+++ b/tests/unictype/test-pr_logical_order_exception.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_lowercase.c b/tests/unictype/test-pr_lowercase.c
index 226f6371..ec16470f 100644
--- a/tests/unictype/test-pr_lowercase.c
+++ b/tests/unictype/test-pr_lowercase.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_math.c b/tests/unictype/test-pr_math.c
index fb6e4d56..98daf24f 100644
--- a/tests/unictype/test-pr_math.c
+++ b/tests/unictype/test-pr_math.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_non_break.c b/tests/unictype/test-pr_non_break.c
index 9dd2fccb..9b607060 100644
--- a/tests/unictype/test-pr_non_break.c
+++ b/tests/unictype/test-pr_non_break.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_not_a_character.c b/tests/unictype/test-pr_not_a_character.c
index 259416dd..477c1837 100644
--- a/tests/unictype/test-pr_not_a_character.c
+++ b/tests/unictype/test-pr_not_a_character.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_numeric.c b/tests/unictype/test-pr_numeric.c
index c86261cb..746abd28 100644
--- a/tests/unictype/test-pr_numeric.c
+++ b/tests/unictype/test-pr_numeric.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_alphabetic.c b/tests/unictype/test-pr_other_alphabetic.c
index cf0476e5..d0ff062f 100644
--- a/tests/unictype/test-pr_other_alphabetic.c
+++ b/tests/unictype/test-pr_other_alphabetic.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_default_ignorable_code_point.c b/tests/unictype/test-pr_other_default_ignorable_code_point.c
index b51db935..3fd52fbd 100644
--- a/tests/unictype/test-pr_other_default_ignorable_code_point.c
+++ b/tests/unictype/test-pr_other_default_ignorable_code_point.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_grapheme_extend.c b/tests/unictype/test-pr_other_grapheme_extend.c
index 50bc89c2..960fb927 100644
--- a/tests/unictype/test-pr_other_grapheme_extend.c
+++ b/tests/unictype/test-pr_other_grapheme_extend.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_id_continue.c b/tests/unictype/test-pr_other_id_continue.c
index ce4bcaeb..e1e2fdda 100644
--- a/tests/unictype/test-pr_other_id_continue.c
+++ b/tests/unictype/test-pr_other_id_continue.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -20,7 +20,10 @@
{ 0x00B7, 0x00B7 },
{ 0x0387, 0x0387 },
{ 0x1369, 0x1371 },
- { 0x19DA, 0x19DA }
+ { 0x19DA, 0x19DA },
+ { 0x200C, 0x200D },
+ { 0x30FB, 0x30FB },
+ { 0xFF65, 0xFF65 }
#define PREDICATE(c) uc_is_property_other_id_continue (c)
#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_other_id_start.c b/tests/unictype/test-pr_other_id_start.c
index c9b8efc5..dfbceb84 100644
--- a/tests/unictype/test-pr_other_id_start.c
+++ b/tests/unictype/test-pr_other_id_start.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_lowercase.c b/tests/unictype/test-pr_other_lowercase.c
index 3d7ba197..09b0dae4 100644
--- a/tests/unictype/test-pr_other_lowercase.c
+++ b/tests/unictype/test-pr_other_lowercase.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_math.c b/tests/unictype/test-pr_other_math.c
index b0715985..61306135 100644
--- a/tests/unictype/test-pr_other_math.c
+++ b/tests/unictype/test-pr_other_math.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_other_uppercase.c b/tests/unictype/test-pr_other_uppercase.c
index 6f5063f3..5a4541c3 100644
--- a/tests/unictype/test-pr_other_uppercase.c
+++ b/tests/unictype/test-pr_other_uppercase.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_paired_punctuation.c b/tests/unictype/test-pr_paired_punctuation.c
index a2f6671f..27565faf 100644
--- a/tests/unictype/test-pr_paired_punctuation.c
+++ b/tests/unictype/test-pr_paired_punctuation.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_paragraph_separator.c b/tests/unictype/test-pr_paragraph_separator.c
index 7cc3de9e..77d00fbd 100644
--- a/tests/unictype/test-pr_paragraph_separator.c
+++ b/tests/unictype/test-pr_paragraph_separator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_pattern_syntax.c b/tests/unictype/test-pr_pattern_syntax.c
index d265854b..ccc38488 100644
--- a/tests/unictype/test-pr_pattern_syntax.c
+++ b/tests/unictype/test-pr_pattern_syntax.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_pattern_white_space.c b/tests/unictype/test-pr_pattern_white_space.c
index b95978dd..e45e9ca9 100644
--- a/tests/unictype/test-pr_pattern_white_space.c
+++ b/tests/unictype/test-pr_pattern_white_space.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_prepended_concatenation_mark.c b/tests/unictype/test-pr_prepended_concatenation_mark.c
new file mode 100644
index 00000000..5a86b2c5
--- /dev/null
+++ b/tests/unictype/test-pr_prepended_concatenation_mark.c
@@ -0,0 +1,29 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ This file 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include "test-predicate-part1.h"
+
+ { 0x0600, 0x0605 },
+ { 0x06DD, 0x06DD },
+ { 0x070F, 0x070F },
+ { 0x0890, 0x0891 },
+ { 0x08E2, 0x08E2 },
+ { 0x110BD, 0x110BD },
+ { 0x110CD, 0x110CD }
+
+#define PREDICATE(c) uc_is_property_prepended_concatenation_mark (c)
+#include "test-predicate-part2.h"
diff --git a/tests/unictype/test-pr_private_use.c b/tests/unictype/test-pr_private_use.c
index c5c96c0e..167dd4e0 100644
--- a/tests/unictype/test-pr_private_use.c
+++ b/tests/unictype/test-pr_private_use.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_punctuation.c b/tests/unictype/test-pr_punctuation.c
index 3d0d45bf..29748f58 100644
--- a/tests/unictype/test-pr_punctuation.c
+++ b/tests/unictype/test-pr_punctuation.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_quotation_mark.c b/tests/unictype/test-pr_quotation_mark.c
index b0fc20ff..4db6b6f6 100644
--- a/tests/unictype/test-pr_quotation_mark.c
+++ b/tests/unictype/test-pr_quotation_mark.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_radical.c b/tests/unictype/test-pr_radical.c
index d732588a..c9a2bdd5 100644
--- a/tests/unictype/test-pr_radical.c
+++ b/tests/unictype/test-pr_radical.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_regional_indicator.c b/tests/unictype/test-pr_regional_indicator.c
index 2f912578..ecee1925 100644
--- a/tests/unictype/test-pr_regional_indicator.c
+++ b/tests/unictype/test-pr_regional_indicator.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_sentence_terminal.c b/tests/unictype/test-pr_sentence_terminal.c
index e2d1d3fd..100b7650 100644
--- a/tests/unictype/test-pr_sentence_terminal.c
+++ b/tests/unictype/test-pr_sentence_terminal.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -34,6 +34,7 @@
{ 0x1367, 0x1368 },
{ 0x166E, 0x166E },
{ 0x1735, 0x1736 },
+ { 0x17D4, 0x17D5 },
{ 0x1803, 0x1803 },
{ 0x1809, 0x1809 },
{ 0x1944, 0x1945 },
diff --git a/tests/unictype/test-pr_soft_dotted.c b/tests/unictype/test-pr_soft_dotted.c
index a4b9212c..6a3677da 100644
--- a/tests/unictype/test-pr_soft_dotted.c
+++ b/tests/unictype/test-pr_soft_dotted.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_space.c b/tests/unictype/test-pr_space.c
index 6530990b..a1795c4e 100644
--- a/tests/unictype/test-pr_space.c
+++ b/tests/unictype/test-pr_space.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_terminal_punctuation.c b/tests/unictype/test-pr_terminal_punctuation.c
index 65ccbc8e..b41adece 100644
--- a/tests/unictype/test-pr_terminal_punctuation.c
+++ b/tests/unictype/test-pr_terminal_punctuation.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_test.c b/tests/unictype/test-pr_test.c
index c08c32c8..e479123c 100644
--- a/tests/unictype/test-pr_test.c
+++ b/tests/unictype/test-pr_test.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-pr_titlecase.c b/tests/unictype/test-pr_titlecase.c
index e9e26b22..779bd919 100644
--- a/tests/unictype/test-pr_titlecase.c
+++ b/tests/unictype/test-pr_titlecase.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_unassigned_code_value.c b/tests/unictype/test-pr_unassigned_code_value.c
index 607e938d..be826822 100644
--- a/tests/unictype/test-pr_unassigned_code_value.c
+++ b/tests/unictype/test-pr_unassigned_code_value.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -286,13 +286,12 @@
{ 0x2E9A, 0x2E9A },
{ 0x2EF4, 0x2EFF },
{ 0x2FD6, 0x2FEF },
- { 0x2FFC, 0x2FFF },
{ 0x3040, 0x3040 },
{ 0x3097, 0x3098 },
{ 0x3100, 0x3104 },
{ 0x3130, 0x3130 },
{ 0x318F, 0x318F },
- { 0x31E4, 0x31EF },
+ { 0x31E4, 0x31EE },
{ 0x321F, 0x321F },
{ 0xA48D, 0xA48F },
{ 0xA4C7, 0xA4CF },
@@ -713,7 +712,8 @@
{ 0x2B73A, 0x2B73F },
{ 0x2B81E, 0x2B81F },
{ 0x2CEA2, 0x2CEAF },
- { 0x2EBE1, 0x2F7FF },
+ { 0x2EBE1, 0x2EBEF },
+ { 0x2EE5E, 0x2F7FF },
{ 0x2FA1E, 0x2FFFD },
{ 0x3134B, 0x3134F },
{ 0x323B0, 0x3FFFD },
diff --git a/tests/unictype/test-pr_unified_ideograph.c b/tests/unictype/test-pr_unified_ideograph.c
index 234014a7..9ecdb7fb 100644
--- a/tests/unictype/test-pr_unified_ideograph.c
+++ b/tests/unictype/test-pr_unified_ideograph.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -31,6 +31,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-pr_uppercase.c b/tests/unictype/test-pr_uppercase.c
index 03a6b490..826eb210 100644
--- a/tests/unictype/test-pr_uppercase.c
+++ b/tests/unictype/test-pr_uppercase.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_variation_selector.c b/tests/unictype/test-pr_variation_selector.c
index 98f81fef..0a2e37e5 100644
--- a/tests/unictype/test-pr_variation_selector.c
+++ b/tests/unictype/test-pr_variation_selector.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_white_space.c b/tests/unictype/test-pr_white_space.c
index 91367da2..c39d3def 100644
--- a/tests/unictype/test-pr_white_space.c
+++ b/tests/unictype/test-pr_white_space.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-pr_xid_continue.c b/tests/unictype/test-pr_xid_continue.c
index 34d4708b..91371e8f 100644
--- a/tests/unictype/test-pr_xid_continue.c
+++ b/tests/unictype/test-pr_xid_continue.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -317,6 +317,7 @@
{ 0x1FE0, 0x1FEC },
{ 0x1FF2, 0x1FF4 },
{ 0x1FF6, 0x1FFC },
+ { 0x200C, 0x200D },
{ 0x203F, 0x2040 },
{ 0x2054, 0x2054 },
{ 0x2071, 0x2071 },
@@ -362,8 +363,7 @@
{ 0x3041, 0x3096 },
{ 0x3099, 0x309A },
{ 0x309D, 0x309F },
- { 0x30A1, 0x30FA },
- { 0x30FC, 0x30FF },
+ { 0x30A1, 0x30FF },
{ 0x3105, 0x312F },
{ 0x3131, 0x318E },
{ 0x31A0, 0x31BF },
@@ -447,7 +447,7 @@
{ 0xFF21, 0xFF3A },
{ 0xFF3F, 0xFF3F },
{ 0xFF41, 0xFF5A },
- { 0xFF66, 0xFFBE },
+ { 0xFF65, 0xFFBE },
{ 0xFFC2, 0xFFC7 },
{ 0xFFCA, 0xFFCF },
{ 0xFFD2, 0xFFD7 },
@@ -788,6 +788,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF },
diff --git a/tests/unictype/test-pr_xid_start.c b/tests/unictype/test-pr_xid_start.c
index 0e4f7d31..09ce3db1 100644
--- a/tests/unictype/test-pr_xid_start.c
+++ b/tests/unictype/test-pr_xid_start.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -680,6 +680,7 @@
{ 0x2B740, 0x2B81D },
{ 0x2B820, 0x2CEA1 },
{ 0x2CEB0, 0x2EBE0 },
+ { 0x2EBF0, 0x2EE5D },
{ 0x2F800, 0x2FA1D },
{ 0x30000, 0x3134A },
{ 0x31350, 0x323AF }
diff --git a/tests/unictype/test-pr_zero_width.c b/tests/unictype/test-pr_zero_width.c
index a8eef5ec..6767de44 100644
--- a/tests/unictype/test-pr_zero_width.c
+++ b/tests/unictype/test-pr_zero_width.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-predicate-part1.h b/tests/unictype/test-predicate-part1.h
index 76de3a78..10eb668b 100644
--- a/tests/unictype/test-predicate-part1.h
+++ b/tests/unictype/test-predicate-part1.h
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-predicate-part2.h b/tests/unictype/test-predicate-part2.h
index d42921ab..aecd5f5a 100644
--- a/tests/unictype/test-predicate-part2.h
+++ b/tests/unictype/test-predicate-part2.h
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-scripts.c b/tests/unictype/test-scripts.c
index 059006e1..6f51b631 100644
--- a/tests/unictype/test-scripts.c
+++ b/tests/unictype/test-scripts.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-sy_c_ident.c b/tests/unictype/test-sy_c_ident.c
index baf8b106..87022732 100644
--- a/tests/unictype/test-sy_c_ident.c
+++ b/tests/unictype/test-sy_c_ident.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-sy_c_whitespace.c b/tests/unictype/test-sy_c_whitespace.c
index 1d047752..88daee7a 100644
--- a/tests/unictype/test-sy_c_whitespace.c
+++ b/tests/unictype/test-sy_c_whitespace.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unictype/test-sy_java_ident.c b/tests/unictype/test-sy_java_ident.c
index 206d3940..d3075b17 100644
--- a/tests/unictype/test-sy_java_ident.c
+++ b/tests/unictype/test-sy_java_ident.c
@@ -1,5 +1,5 @@
/* Test the Unicode character type functions.
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unictype/test-sy_java_whitespace.c b/tests/unictype/test-sy_java_whitespace.c
index 4ce5982a..8c974f07 100644
--- a/tests/unictype/test-sy_java_whitespace.c
+++ b/tests/unictype/test-sy_java_whitespace.c
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode character type functions.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unigbrk/GraphemeBreakTest.txt b/tests/unigbrk/GraphemeBreakTest.txt
index 3c73f97b..d9c7b066 100644
--- a/tests/unigbrk/GraphemeBreakTest.txt
+++ b/tests/unigbrk/GraphemeBreakTest.txt
@@ -1,6 +1,46 @@
-# GraphemeBreakTest-15.0.0.txt
-# Date: 2022-02-26, 00:38:37 GMT
-# © 2022 Unicode®, Inc.
+# UNICODE LICENSE V3
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright © 1991-2024 Unicode, Inc.
+#
+# NOTICE TO USER: Carefully read the following legal agreement. BY
+# DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
+# SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+# TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
+# DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of data files and any associated documentation (the "Data Files") or
+# software and any associated documentation (the "Software") to deal in the
+# Data Files or Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, and/or sell
+# copies of the Data Files or Software, and to permit persons to whom the
+# Data Files or Software are furnished to do so, provided that either (a)
+# this copyright and permission notice appear with all copies of the Data
+# Files or Software, or (b) this copyright and permission notice appear in
+# associated Documentation.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+# THIRD PARTY RIGHTS.
+#
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+# BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
+# FILES OR SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder shall
+# not be used in advertising or otherwise to promote the sale, use or other
+# dealings in these Data Files or Software without prior written
+# authorization of the copyright holder.
+
+# GraphemeBreakTest-15.1.0.txt
+# Date: 2023-08-07, 15:52:55 GMT
+# © 2023 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
@@ -36,8 +76,8 @@
÷ 0020 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 0020 ÷ 0600 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 0020 × 0308 ÷ 0600 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0020 × 0903 ÷ # ÷ [0.2] SPACE (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0020 × 0308 × 0903 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0020 × 0A03 ÷ # ÷ [0.2] SPACE (Other) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0020 × 0308 × 0A03 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 0020 ÷ 1100 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0020 × 0308 ÷ 1100 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0020 ÷ 1160 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -48,10 +88,24 @@
÷ 0020 × 0308 ÷ AC00 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 0020 ÷ AC01 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 0020 × 0308 ÷ AC01 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0020 × 0900 ÷ # ÷ [0.2] SPACE (Other) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 × 0308 × 0900 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 × 0903 ÷ # ÷ [0.2] SPACE (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 × 0308 × 0903 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 ÷ 0904 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 × 0308 ÷ 0904 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 ÷ 0D4E ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 × 0308 ÷ 0D4E ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0020 ÷ 0915 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0020 × 0308 ÷ 0915 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 0020 ÷ 231A ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0020 × 0308 ÷ 231A ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0020 × 0300 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 0020 × 0308 × 0300 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0020 × 093C ÷ # ÷ [0.2] SPACE (Other) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0020 × 0308 × 093C ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0020 × 094D ÷ # ÷ [0.2] SPACE (Other) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0020 × 0308 × 094D ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 0020 × 200D ÷ # ÷ [0.2] SPACE (Other) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0020 × 0308 × 200D ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0020 ÷ 0378 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -70,8 +124,8 @@
÷ 000D ÷ 0308 ÷ 1F1E6 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 000D ÷ 0600 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 000D ÷ 0308 ÷ 0600 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 000D ÷ 0903 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 000D ÷ 0308 × 0903 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 000D ÷ 0A03 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 000D ÷ 0308 × 0A03 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 000D ÷ 1100 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 000D ÷ 0308 ÷ 1100 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 000D ÷ 1160 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -82,10 +136,24 @@
÷ 000D ÷ 0308 ÷ AC00 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 000D ÷ AC01 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 000D ÷ 0308 ÷ AC01 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 000D ÷ 0900 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0308 × 0900 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0903 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0308 × 0903 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0904 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 0904 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0D4E ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 0D4E ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000D ÷ 0915 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 0915 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 000D ÷ 231A ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] WATCH (ExtPict) ÷ [0.3]
÷ 000D ÷ 0308 ÷ 231A ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 000D ÷ 0300 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 000D ÷ 0308 × 0300 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 000D ÷ 093C ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 000D ÷ 0308 × 093C ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 000D ÷ 094D ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 000D ÷ 0308 × 094D ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 000D ÷ 200D ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 000D ÷ 0308 × 200D ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 000D ÷ 0378 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -104,8 +172,8 @@
÷ 000A ÷ 0308 ÷ 1F1E6 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 000A ÷ 0600 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 000A ÷ 0308 ÷ 0600 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 000A ÷ 0903 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 000A ÷ 0308 × 0903 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 000A ÷ 0A03 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 000A ÷ 0308 × 0A03 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 000A ÷ 1100 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 000A ÷ 0308 ÷ 1100 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 000A ÷ 1160 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -116,10 +184,24 @@
÷ 000A ÷ 0308 ÷ AC00 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 000A ÷ AC01 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 000A ÷ 0308 ÷ AC01 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 000A ÷ 0900 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0308 × 0900 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0903 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0308 × 0903 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0904 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 0904 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0D4E ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 0D4E ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 000A ÷ 0915 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 0915 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 000A ÷ 231A ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] WATCH (ExtPict) ÷ [0.3]
÷ 000A ÷ 0308 ÷ 231A ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 000A ÷ 0300 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 000A ÷ 0308 × 0300 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 000A ÷ 093C ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 000A ÷ 0308 × 093C ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 000A ÷ 094D ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 000A ÷ 0308 × 094D ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 000A ÷ 200D ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 000A ÷ 0308 × 200D ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 000A ÷ 0378 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -138,8 +220,8 @@
÷ 0001 ÷ 0308 ÷ 1F1E6 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 0001 ÷ 0600 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 0001 ÷ 0308 ÷ 0600 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0001 ÷ 0903 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0001 ÷ 0308 × 0903 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0001 ÷ 0A03 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0001 ÷ 0308 × 0A03 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 0001 ÷ 1100 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0001 ÷ 0308 ÷ 1100 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0001 ÷ 1160 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -150,10 +232,24 @@
÷ 0001 ÷ 0308 ÷ AC00 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 0001 ÷ AC01 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 0001 ÷ 0308 ÷ AC01 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0001 ÷ 0900 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0308 × 0900 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0903 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0308 × 0903 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0904 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ 0904 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0D4E ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ 0D4E ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0001 ÷ 0915 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ 0915 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 0001 ÷ 231A ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] WATCH (ExtPict) ÷ [0.3]
÷ 0001 ÷ 0308 ÷ 231A ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0001 ÷ 0300 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 0001 ÷ 0308 × 0300 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0001 ÷ 093C ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0001 ÷ 0308 × 093C ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0001 ÷ 094D ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0001 ÷ 0308 × 094D ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 0001 ÷ 200D ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0001 ÷ 0308 × 200D ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0001 ÷ 0378 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -172,8 +268,8 @@
÷ 034F × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 034F ÷ 0600 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 034F × 0308 ÷ 0600 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 034F × 0903 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 034F × 0308 × 0903 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 034F × 0A03 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 034F × 0308 × 0A03 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 034F ÷ 1100 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 034F × 0308 ÷ 1100 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 034F ÷ 1160 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -184,10 +280,24 @@
÷ 034F × 0308 ÷ AC00 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 034F ÷ AC01 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 034F × 0308 ÷ AC01 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 034F × 0900 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F × 0308 × 0900 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F × 0903 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F × 0308 × 0903 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F ÷ 0904 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F × 0308 ÷ 0904 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F ÷ 0D4E ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F × 0308 ÷ 0D4E ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 034F ÷ 0915 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 034F × 0308 ÷ 0915 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 034F ÷ 231A ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 034F × 0308 ÷ 231A ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 034F × 0300 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 034F × 0308 × 0300 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 034F × 093C ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 034F × 0308 × 093C ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 034F × 094D ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 034F × 0308 × 094D ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 034F × 200D ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 034F × 0308 × 200D ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 034F ÷ 0378 ÷ # ÷ [0.2] COMBINING GRAPHEME JOINER (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -206,8 +316,8 @@
÷ 1F1E6 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 1F1E6 ÷ 0600 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 1F1E6 × 0308 ÷ 0600 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 1F1E6 × 0903 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1F1E6 × 0308 × 0903 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1F1E6 × 0A03 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1F1E6 × 0308 × 0A03 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 1F1E6 ÷ 1100 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 1F1E6 × 0308 ÷ 1100 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 1F1E6 ÷ 1160 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -218,10 +328,24 @@
÷ 1F1E6 × 0308 ÷ AC00 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 1F1E6 ÷ AC01 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 1F1E6 × 0308 ÷ AC01 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1F1E6 × 0900 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 × 0308 × 0900 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 × 0903 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 × 0308 × 0903 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 ÷ 0904 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 0904 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 ÷ 0D4E ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 0D4E ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1F1E6 ÷ 0915 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 0915 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 1F1E6 ÷ 231A ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 1F1E6 × 0308 ÷ 231A ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 1F1E6 × 0300 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 1F1E6 × 0308 × 0300 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 1F1E6 × 093C ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 1F1E6 × 0308 × 093C ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 1F1E6 × 094D ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 1F1E6 × 0308 × 094D ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 1F1E6 × 200D ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 1F1E6 × 0308 × 200D ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 1F1E6 ÷ 0378 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -240,8 +364,8 @@
÷ 0600 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 0600 × 0600 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 0600 × 0308 ÷ 0600 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0600 × 0903 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0600 × 0308 × 0903 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0600 × 0A03 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0600 × 0308 × 0A03 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 0600 × 1100 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0600 × 0308 ÷ 1100 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0600 × 1160 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -252,48 +376,76 @@
÷ 0600 × 0308 ÷ AC00 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 0600 × AC01 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 0600 × 0308 ÷ AC01 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0600 × 0900 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0308 × 0900 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0903 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0308 × 0903 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0904 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0308 ÷ 0904 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0D4E ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0308 ÷ 0D4E ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0600 × 0915 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0600 × 0308 ÷ 0915 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 0600 × 231A ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] WATCH (ExtPict) ÷ [0.3]
÷ 0600 × 0308 ÷ 231A ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0600 × 0300 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 0600 × 0308 × 0300 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0600 × 093C ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0600 × 0308 × 093C ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0600 × 094D ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0600 × 0308 × 094D ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 0600 × 200D ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0600 × 0308 × 200D ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0600 × 0378 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] <reserved-0378> (Other) ÷ [0.3]
÷ 0600 × 0308 ÷ 0378 ÷ # ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
-÷ 0903 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0903 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0903 × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0903 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0903 × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0903 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0903 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
-÷ 0903 × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
-÷ 0903 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
-÷ 0903 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
-÷ 0903 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0903 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0903 × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0903 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0903 × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0903 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0903 × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0903 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0903 × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0903 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0903 × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0903 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0903 × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0903 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
-÷ 0903 × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
-÷ 0903 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
-÷ 0903 × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
-÷ 0903 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
-÷ 0903 × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
-÷ 0903 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0A03 ÷ 0020 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0020 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0A03 ÷ 000D ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 000D ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0A03 ÷ 000A ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 000A ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0A03 ÷ 0001 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0001 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0A03 × 034F ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0A03 × 0308 × 034F ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0A03 ÷ 1F1E6 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0A03 ÷ 0600 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0600 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0A03 × 0A03 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0A03 × 0308 × 0A03 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0A03 ÷ 1100 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 1100 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0A03 ÷ 1160 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 1160 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0A03 ÷ 11A8 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 11A8 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0A03 ÷ AC00 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0A03 × 0308 ÷ AC00 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0A03 ÷ AC01 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0A03 × 0308 ÷ AC01 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0A03 × 0900 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 × 0308 × 0900 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 × 0903 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 × 0308 × 0903 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 ÷ 0904 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0904 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 ÷ 0D4E ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0D4E ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0A03 ÷ 0915 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0915 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0A03 ÷ 231A ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 231A ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0A03 × 0300 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 0308 × 0300 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 093C ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 0308 × 093C ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 094D ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 0308 × 094D ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 200D ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0A03 × 0308 × 200D ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0A03 ÷ 0378 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0A03 × 0308 ÷ 0378 ÷ # ÷ [0.2] GURMUKHI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
÷ 1100 ÷ 0020 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] SPACE (Other) ÷ [0.3]
÷ 1100 × 0308 ÷ 0020 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
÷ 1100 ÷ 000D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -308,8 +460,8 @@
÷ 1100 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 1100 ÷ 0600 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 1100 × 0308 ÷ 0600 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 1100 × 0903 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1100 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1100 × 0A03 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1100 × 0308 × 0A03 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 1100 × 1100 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 1100 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 1100 × 1160 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -320,10 +472,24 @@
÷ 1100 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 1100 × AC01 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 1100 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1100 × 0900 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 × 0308 × 0900 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 × 0903 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 ÷ 0904 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 × 0308 ÷ 0904 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 ÷ 0D4E ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 × 0308 ÷ 0D4E ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1100 ÷ 0915 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 1100 × 0308 ÷ 0915 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 1100 ÷ 231A ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 1100 × 0308 ÷ 231A ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 1100 × 0300 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 1100 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 1100 × 093C ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 1100 × 0308 × 093C ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 1100 × 094D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 1100 × 0308 × 094D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 1100 × 200D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 1100 × 0308 × 200D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 1100 ÷ 0378 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -342,8 +508,8 @@
÷ 1160 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 1160 ÷ 0600 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 1160 × 0308 ÷ 0600 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 1160 × 0903 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1160 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1160 × 0A03 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1160 × 0308 × 0A03 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 1160 ÷ 1100 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 1160 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 1160 × 1160 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [7.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -354,10 +520,24 @@
÷ 1160 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 1160 ÷ AC01 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 1160 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1160 × 0900 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 × 0308 × 0900 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 × 0903 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 ÷ 0904 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 × 0308 ÷ 0904 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 ÷ 0D4E ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 × 0308 ÷ 0D4E ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 1160 ÷ 0915 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 1160 × 0308 ÷ 0915 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 1160 ÷ 231A ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 1160 × 0308 ÷ 231A ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 1160 × 0300 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 1160 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 1160 × 093C ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 1160 × 0308 × 093C ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 1160 × 094D ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 1160 × 0308 × 094D ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 1160 × 200D ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 1160 × 0308 × 200D ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 1160 ÷ 0378 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -376,8 +556,8 @@
÷ 11A8 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 11A8 ÷ 0600 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 11A8 × 0308 ÷ 0600 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 11A8 × 0903 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 11A8 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 11A8 × 0A03 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 11A8 × 0308 × 0A03 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 11A8 ÷ 1100 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 11A8 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 11A8 ÷ 1160 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -388,10 +568,24 @@
÷ 11A8 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 11A8 ÷ AC01 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 11A8 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 11A8 × 0900 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 × 0308 × 0900 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 × 0903 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 ÷ 0904 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 × 0308 ÷ 0904 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 ÷ 0D4E ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 × 0308 ÷ 0D4E ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 11A8 ÷ 0915 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 11A8 × 0308 ÷ 0915 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 11A8 ÷ 231A ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 11A8 × 0308 ÷ 231A ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 11A8 × 0300 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 11A8 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 11A8 × 093C ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 11A8 × 0308 × 093C ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 11A8 × 094D ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 11A8 × 0308 × 094D ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 11A8 × 200D ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 11A8 × 0308 × 200D ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 11A8 ÷ 0378 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -410,8 +604,8 @@
÷ AC00 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ AC00 ÷ 0600 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ AC00 × 0308 ÷ 0600 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ AC00 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ AC00 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ AC00 × 0A03 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ AC00 × 0308 × 0A03 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ AC00 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ AC00 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ AC00 × 1160 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [7.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -422,10 +616,24 @@
÷ AC00 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ AC00 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ AC00 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ AC00 × 0900 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 × 0308 × 0900 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 ÷ 0904 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 × 0308 ÷ 0904 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 ÷ 0D4E ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 × 0308 ÷ 0D4E ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC00 ÷ 0915 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ AC00 × 0308 ÷ 0915 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ AC00 ÷ 231A ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ AC00 × 0308 ÷ 231A ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ AC00 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ AC00 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ AC00 × 093C ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ AC00 × 0308 × 093C ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ AC00 × 094D ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ AC00 × 0308 × 094D ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ AC00 × 200D ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ AC00 × 0308 × 200D ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ AC00 ÷ 0378 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -444,8 +652,8 @@
÷ AC01 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ AC01 ÷ 0600 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ AC01 × 0308 ÷ 0600 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ AC01 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ AC01 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ AC01 × 0A03 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ AC01 × 0308 × 0A03 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ AC01 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ AC01 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ AC01 ÷ 1160 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -456,14 +664,268 @@
÷ AC01 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ AC01 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ AC01 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ AC01 × 0900 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 × 0308 × 0900 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 ÷ 0904 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 × 0308 ÷ 0904 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 ÷ 0D4E ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 × 0308 ÷ 0D4E ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ AC01 ÷ 0915 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ AC01 × 0308 ÷ 0915 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ AC01 ÷ 231A ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ AC01 × 0308 ÷ 231A ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ AC01 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ AC01 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ AC01 × 093C ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ AC01 × 0308 × 093C ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ AC01 × 094D ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ AC01 × 0308 × 094D ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ AC01 × 200D ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ AC01 × 0308 × 200D ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ AC01 ÷ 0378 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
÷ AC01 × 0308 ÷ 0378 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0900 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0900 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0900 × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0900 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0900 × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0900 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0900 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0900 × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0900 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0900 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0900 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0900 × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0900 × 0308 × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0900 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0900 × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0900 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0900 × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0900 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0900 × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0900 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0900 × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0900 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0900 × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0900 × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 × 0308 × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0900 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0900 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0900 × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0900 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 0308 × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 0308 × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0900 × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0900 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0900 × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0903 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0903 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0903 × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0903 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0903 × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0903 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0903 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0903 × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0903 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0903 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0903 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0903 × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0903 × 0308 × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0903 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0903 × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0903 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0903 × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0903 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0903 × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0903 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0903 × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0903 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0903 × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0903 × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 × 0308 × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0903 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0903 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0903 × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0903 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 0308 × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 0308 × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0903 × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0903 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0904 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0904 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0904 × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0904 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0904 × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0904 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0904 × 034F ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0904 × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0904 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0904 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0904 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0904 × 0A03 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0904 × 0308 × 0A03 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0904 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0904 × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0904 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0904 × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0904 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0904 × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0904 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0904 × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0904 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0904 × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0904 × 0900 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 × 0308 × 0900 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 × 0903 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0904 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0904 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0904 × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0904 × 0300 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 093C ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 0308 × 093C ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 094D ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 0308 × 094D ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 200D ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0904 × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0904 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0904 × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0D4E × 0020 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] SPACE (Other) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0020 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0D4E ÷ 000D ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 000D ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0D4E ÷ 000A ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 000A ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0D4E ÷ 0001 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0001 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0D4E × 034F ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0D4E × 0308 × 034F ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0D4E × 1F1E6 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0D4E × 0600 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0600 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0D4E × 0A03 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0D4E × 0308 × 0A03 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0D4E × 1100 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 1100 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0D4E × 1160 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 1160 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0D4E × 11A8 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 11A8 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0D4E × AC00 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0D4E × 0308 ÷ AC00 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0D4E × AC01 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0D4E × 0308 ÷ AC01 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0D4E × 0900 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0308 × 0900 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0903 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0308 × 0903 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0904 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0904 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0D4E ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0D4E ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0D4E × 0915 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0915 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0D4E × 231A ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] WATCH (ExtPict) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 231A ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0D4E × 0300 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 0308 × 0300 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 093C ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 0308 × 093C ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 094D ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 0308 × 094D ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 200D ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 0308 × 200D ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0D4E × 0378 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.2] <reserved-0378> (Other) ÷ [0.3]
+÷ 0D4E × 0308 ÷ 0378 ÷ # ÷ [0.2] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0915 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0915 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0915 × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0915 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0915 × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0915 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0915 × 034F ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0915 × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 0915 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0915 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 0915 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 0915 × 0A03 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0915 × 0308 × 0A03 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0915 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0915 × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0915 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0915 × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0915 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0915 × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0915 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0915 × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0915 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0915 × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0915 × 0900 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 × 0308 × 0900 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 × 0903 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0915 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0915 × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 0915 × 0300 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 093C ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 0308 × 093C ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 094D ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 0308 × 094D ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 200D ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0915 × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 0915 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0915 × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
÷ 231A ÷ 0020 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] SPACE (Other) ÷ [0.3]
÷ 231A × 0308 ÷ 0020 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
÷ 231A ÷ 000D ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -478,8 +940,8 @@
÷ 231A × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 231A ÷ 0600 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 231A × 0308 ÷ 0600 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 231A × 0903 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 231A × 0308 × 0903 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 231A × 0A03 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 231A × 0308 × 0A03 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 231A ÷ 1100 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 231A × 0308 ÷ 1100 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 231A ÷ 1160 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -490,10 +952,24 @@
÷ 231A × 0308 ÷ AC00 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 231A ÷ AC01 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 231A × 0308 ÷ AC01 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 231A × 0900 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A × 0308 × 0900 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A × 0903 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A × 0308 × 0903 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A ÷ 0904 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A × 0308 ÷ 0904 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A ÷ 0D4E ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A × 0308 ÷ 0D4E ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 231A ÷ 0915 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 231A × 0308 ÷ 0915 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 231A ÷ 231A ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 231A × 0308 ÷ 231A ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 231A × 0300 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 231A × 0308 × 0300 ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 231A × 093C ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 231A × 0308 × 093C ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 231A × 094D ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 231A × 0308 × 094D ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 231A × 200D ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 231A × 0308 × 200D ÷ # ÷ [0.2] WATCH (ExtPict) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 231A ÷ 0378 ÷ # ÷ [0.2] WATCH (ExtPict) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -512,8 +988,8 @@
÷ 0300 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 0300 ÷ 0600 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 0300 × 0308 ÷ 0600 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0300 × 0903 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0300 × 0308 × 0903 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0300 × 0A03 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0300 × 0308 × 0A03 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 0300 ÷ 1100 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0300 × 0308 ÷ 1100 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0300 ÷ 1160 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -524,14 +1000,124 @@
÷ 0300 × 0308 ÷ AC00 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 0300 ÷ AC01 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 0300 × 0308 ÷ AC01 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0300 × 0900 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 × 0308 × 0900 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 × 0903 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 × 0308 × 0903 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 ÷ 0904 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 × 0308 ÷ 0904 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 ÷ 0D4E ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 × 0308 ÷ 0D4E ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0300 ÷ 0915 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0300 × 0308 ÷ 0915 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 0300 ÷ 231A ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0300 × 0308 ÷ 231A ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0300 × 0300 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 0300 × 0308 × 0300 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0300 × 093C ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0300 × 0308 × 093C ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0300 × 094D ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0300 × 0308 × 094D ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 0300 × 200D ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0300 × 0308 × 200D ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0300 ÷ 0378 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
÷ 0300 × 0308 ÷ 0378 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 093C ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 093C × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 093C ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 093C × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 093C ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 093C × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 093C ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 093C × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 093C × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 093C × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 093C ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 093C × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 093C ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 093C × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 093C × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 093C × 0308 × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 093C ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 093C × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 093C ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 093C × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 093C ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 093C × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 093C ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 093C × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 093C ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 093C × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 093C × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C × 0308 × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C × 0308 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C × 0308 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 093C ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 093C × 0308 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 093C ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 093C × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 093C × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 093C × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 093C × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 093C × 0308 × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 093C × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 093C × 0308 × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 093C × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 093C × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 093C ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 093C × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 094D ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 094D × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 094D ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 094D × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 094D ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 094D × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 094D ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 094D × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 094D × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 094D × 0308 × 034F ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAPHEME JOINER (Extend) ÷ [0.3]
+÷ 094D ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 094D × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 094D ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 094D × 0308 ÷ 0600 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 094D × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 094D × 0308 × 0A03 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 094D ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 094D × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 094D ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 094D × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 094D ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 094D × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 094D ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 094D × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 094D ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 094D × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 094D × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D × 0308 × 0900 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D × 0308 ÷ 0904 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D × 0308 ÷ 0D4E ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 094D ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 094D × 0308 ÷ 0915 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 094D ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 094D × 0308 ÷ 231A ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
+÷ 094D × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 094D × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 094D × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 094D × 0308 × 093C ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 094D × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 094D × 0308 × 094D ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 094D × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 094D × 0308 × 200D ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
+÷ 094D ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 094D × 0308 ÷ 0378 ÷ # ÷ [0.2] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
÷ 200D ÷ 0020 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
÷ 200D × 0308 ÷ 0020 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
÷ 200D ÷ 000D ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -546,8 +1132,8 @@
÷ 200D × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 200D ÷ 0600 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 200D × 0308 ÷ 0600 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 200D × 0903 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 200D × 0308 × 0903 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 200D × 0A03 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 200D × 0308 × 0A03 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 200D ÷ 1100 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 200D × 0308 ÷ 1100 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 200D ÷ 1160 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -558,10 +1144,24 @@
÷ 200D × 0308 ÷ AC00 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 200D ÷ AC01 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 200D × 0308 ÷ AC01 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 200D × 0900 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D × 0308 × 0900 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D × 0903 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D × 0308 × 0903 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D ÷ 0904 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D × 0308 ÷ 0904 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D ÷ 0D4E ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D × 0308 ÷ 0D4E ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 200D ÷ 0915 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 200D × 0308 ÷ 0915 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 200D ÷ 231A ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 200D × 0308 ÷ 231A ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 200D × 0300 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 200D × 0308 × 0300 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 200D × 093C ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 200D × 0308 × 093C ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 200D × 094D ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 200D × 0308 × 094D ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 200D × 200D ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 200D × 0308 × 200D ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 200D ÷ 0378 ÷ # ÷ [0.2] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -580,8 +1180,8 @@
÷ 0378 × 0308 ÷ 1F1E6 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
÷ 0378 ÷ 0600 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
÷ 0378 × 0308 ÷ 0600 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 0378 × 0903 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0378 × 0308 × 0903 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0378 × 0A03 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0378 × 0308 × 0A03 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] GURMUKHI SIGN VISARGA (SpacingMark) ÷ [0.3]
÷ 0378 ÷ 1100 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0378 × 0308 ÷ 1100 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
÷ 0378 ÷ 1160 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
@@ -592,10 +1192,24 @@
÷ 0378 × 0308 ÷ AC00 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
÷ 0378 ÷ AC01 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
÷ 0378 × 0308 ÷ AC01 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0378 × 0900 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 × 0308 × 0900 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN INVERTED CANDRABINDU (Extend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 × 0903 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 × 0308 × 0903 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 ÷ 0904 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 × 0308 ÷ 0904 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER SHORT A (ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 ÷ 0D4E ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 × 0308 ÷ 0D4E ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] MALAYALAM LETTER DOT REPH (Prepend_ConjunctLinkingScripts) ÷ [0.3]
+÷ 0378 ÷ 0915 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0378 × 0308 ÷ 0915 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
÷ 0378 ÷ 231A ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0378 × 0308 ÷ 231A ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] WATCH (ExtPict) ÷ [0.3]
÷ 0378 × 0300 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
÷ 0378 × 0308 × 0300 ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] COMBINING GRAVE ACCENT (Extend_ExtCccZwj) ÷ [0.3]
+÷ 0378 × 093C ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0378 × 0308 × 093C ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) ÷ [0.3]
+÷ 0378 × 094D ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
+÷ 0378 × 0308 × 094D ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [0.3]
÷ 0378 × 200D ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0378 × 0308 × 200D ÷ # ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0378 ÷ 0378 ÷ # ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -614,7 +1228,7 @@
÷ 0061 ÷ 1F1E6 × 1F1E7 ÷ 1F1E8 × 1F1E9 ÷ 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [13.0] REGIONAL INDICATOR SYMBOL LETTER B (RI) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER C (RI) × [13.0] REGIONAL INDICATOR SYMBOL LETTER D (RI) ÷ [999.0] LATIN SMALL LETTER B (Other) ÷ [0.3]
÷ 0061 × 200D ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [0.3]
÷ 0061 × 0308 ÷ 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.0] COMBINING DIAERESIS (Extend_ExtCccZwj) ÷ [999.0] LATIN SMALL LETTER B (Other) ÷ [0.3]
-÷ 0061 × 0903 ÷ 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] LATIN SMALL LETTER B (Other) ÷ [0.3]
+÷ 0061 × 0903 ÷ 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark_ConjunctLinkingScripts) ÷ [999.0] LATIN SMALL LETTER B (Other) ÷ [0.3]
÷ 0061 ÷ 0600 × 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) × [9.2] LATIN SMALL LETTER B (Other) ÷ [0.3]
÷ 1F476 × 1F3FF ÷ 1F476 ÷ # ÷ [0.2] BABY (ExtPict) × [9.0] EMOJI MODIFIER FITZPATRICK TYPE-6 (Extend) ÷ [999.0] BABY (ExtPict) ÷ [0.3]
÷ 0061 × 1F3FF ÷ 1F476 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.0] EMOJI MODIFIER FITZPATRICK TYPE-6 (Extend) ÷ [999.0] BABY (ExtPict) ÷ [0.3]
@@ -624,7 +1238,18 @@
÷ 0061 × 200D ÷ 1F6D1 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] OCTAGONAL SIGN (ExtPict) ÷ [0.3]
÷ 2701 × 200D × 2701 ÷ # ÷ [0.2] UPPER BLADE SCISSORS (Other) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [11.0] UPPER BLADE SCISSORS (Other) ÷ [0.3]
÷ 0061 × 200D ÷ 2701 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) ÷ [999.0] UPPER BLADE SCISSORS (Other) ÷ [0.3]
+÷ 0915 ÷ 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) ÷ [999.0] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 094D × 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 094D × 094D × 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 094D × 200D × 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 093C × 200D × 094D × 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 093C × 094D × 200D × 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN NUKTA (Extend_ConjunctLinkingScripts_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] ZERO WIDTH JOINER (ZWJ_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 094D × 0924 × 094D × 092F ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.3] DEVANAGARI LETTER YA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 094D ÷ 0061 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] LATIN SMALL LETTER A (Other) ÷ [0.3]
+÷ 0061 × 094D ÷ 0924 ÷ # ÷ [0.2] LATIN SMALL LETTER A (Other) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 003F × 094D ÷ 0924 ÷ # ÷ [0.2] QUESTION MARK (Other) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) ÷ [999.0] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
+÷ 0915 × 094D × 094D × 0924 ÷ # ÷ [0.2] DEVANAGARI LETTER KA (ConjunctLinkingScripts_LinkingConsonant) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.0] DEVANAGARI SIGN VIRAMA (Extend_ConjunctLinkingScripts_ConjunctLinker_ExtCccZwj) × [9.3] DEVANAGARI LETTER TA (ConjunctLinkingScripts_LinkingConsonant) ÷ [0.3]
#
-# Lines: 602
+# Lines: 1187
#
# EOF
diff --git a/tests/unigbrk/test-u16-grapheme-breaks.c b/tests/unigbrk/test-u16-grapheme-breaks.c
index a1cb80da..79360508 100644
--- a/tests/unigbrk/test-u16-grapheme-breaks.c
+++ b/tests/unigbrk/test-u16-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -61,19 +61,20 @@ test_u16_grapheme_breaks (const char *expected, ...)
fprintf (stderr, " input:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %02x", s[j]);
+ fprintf (stderr, " %04X", s[j]);
putc ('\n', stderr);
fprintf (stderr, "expected:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %d", expected[j] == '#');
+ fprintf (stderr, " %d", expected[j] == '#');
putc ('\n', stderr);
fprintf (stderr, " actual:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %d", breaks[j]);
+ fprintf (stderr, " %d", breaks[j]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u16-grapheme-next.c b/tests/unigbrk/test-u16-grapheme-next.c
index bb7aba65..45a7ac0a 100644
--- a/tests/unigbrk/test-u16-grapheme-next.c
+++ b/tests/unigbrk/test-u16-grapheme-next.c
@@ -1,5 +1,5 @@
/* Next grapheme cluster length test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -57,11 +57,12 @@ test_u16_grapheme_next (size_t len, ...)
if (next == NULL)
fputs ("u16_grapheme_next returned NULL", stderr);
else
- fprintf (stderr, "u16_grapheme_next skipped %zu units", next - s);
+ fprintf (stderr, "u16_grapheme_next skipped %tu units", next - s);
fprintf (stderr, ", expected %zu:\n", len);
for (i = 0; i < n; i++)
fprintf (stderr, " %04x", s[i]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u16-grapheme-prev.c b/tests/unigbrk/test-u16-grapheme-prev.c
index 986b5ddf..8ba01c2e 100644
--- a/tests/unigbrk/test-u16-grapheme-prev.c
+++ b/tests/unigbrk/test-u16-grapheme-prev.c
@@ -1,5 +1,5 @@
/* Previous grapheme cluster test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -59,11 +59,12 @@ test_u16_grapheme_prev (size_t len, ...)
if (prev == NULL)
fputs ("u16_grapheme_prev returned NULL", stderr);
else
- fprintf (stderr, "u16_grapheme_prev skipped %zu units", end - prev);
+ fprintf (stderr, "u16_grapheme_prev skipped %tu units", end - prev);
fprintf (stderr, ", expected %zu:\n", len);
for (i = 0; i < n; i++)
fprintf (stderr, " %04x", s[i]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u32-grapheme-breaks.c b/tests/unigbrk/test-u32-grapheme-breaks.c
index 7af266e8..996555cc 100644
--- a/tests/unigbrk/test-u32-grapheme-breaks.c
+++ b/tests/unigbrk/test-u32-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -61,19 +61,20 @@ test_u32_grapheme_breaks (const char *expected, ...)
fprintf (stderr, " input:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %02x", s[j]);
+ fprintf (stderr, " %04X", s[j]);
putc ('\n', stderr);
fprintf (stderr, "expected:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %d", expected[j] == '#');
+ fprintf (stderr, " %d", expected[j] == '#');
putc ('\n', stderr);
fprintf (stderr, " actual:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %d", breaks[j]);
+ fprintf (stderr, " %d", breaks[j]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u32-grapheme-next.c b/tests/unigbrk/test-u32-grapheme-next.c
index 1762378c..2681d674 100644
--- a/tests/unigbrk/test-u32-grapheme-next.c
+++ b/tests/unigbrk/test-u32-grapheme-next.c
@@ -1,5 +1,5 @@
/* Next grapheme cluster length test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -57,11 +57,12 @@ test_u32_grapheme_next (size_t len, ...)
if (next == NULL)
fputs ("u32_grapheme_next returned NULL", stderr);
else
- fprintf (stderr, "u32_grapheme_next skipped %zu units", next - s);
+ fprintf (stderr, "u32_grapheme_next skipped %tu units", next - s);
fprintf (stderr, ", expected %zu:\n", len);
for (i = 0; i < n; i++)
fprintf (stderr, " %04x", s[i]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u32-grapheme-prev.c b/tests/unigbrk/test-u32-grapheme-prev.c
index d3838f52..2c8006ae 100644
--- a/tests/unigbrk/test-u32-grapheme-prev.c
+++ b/tests/unigbrk/test-u32-grapheme-prev.c
@@ -1,5 +1,5 @@
/* Previous grapheme cluster test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -59,11 +59,12 @@ test_u32_grapheme_prev (size_t len, ...)
if (prev == NULL)
fputs ("u32_grapheme_prev returned NULL", stderr);
else
- fprintf (stderr, "u32_grapheme_prev skipped %zu units", end - prev);
+ fprintf (stderr, "u32_grapheme_prev skipped %tu units", end - prev);
fprintf (stderr, ", expected %zu:\n", len);
for (i = 0; i < n; i++)
fprintf (stderr, " %04x", s[i]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u8-grapheme-breaks.c b/tests/unigbrk/test-u8-grapheme-breaks.c
index fdc0d505..1ccdd601 100644
--- a/tests/unigbrk/test-u8-grapheme-breaks.c
+++ b/tests/unigbrk/test-u8-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -50,7 +50,7 @@ test_u8_grapheme_breaks (const char *input, const char *expected)
fprintf (stderr, " input:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %02x", s[j]);
+ fprintf (stderr, " %02X", s[j]);
putc ('\n', stderr);
fprintf (stderr, "expected:");
@@ -63,6 +63,7 @@ test_u8_grapheme_breaks (const char *input, const char *expected)
fprintf (stderr, " %d", breaks[j]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
diff --git a/tests/unigbrk/test-u8-grapheme-next.c b/tests/unigbrk/test-u8-grapheme-next.c
index 5c61d847..10dea9d0 100644
--- a/tests/unigbrk/test-u8-grapheme-next.c
+++ b/tests/unigbrk/test-u8-grapheme-next.c
@@ -1,5 +1,5 @@
/* Next grapheme cluster length test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -38,11 +38,12 @@ test_u8_grapheme_next (const char *input, size_t n, size_t len)
if (next == NULL)
fputs ("u8_grapheme_next returned NULL", stderr);
else
- fprintf (stderr, "u8_grapheme_next skipped %zu bytes", next - s);
+ fprintf (stderr, "u8_grapheme_next skipped %tu bytes", next - s);
fprintf (stderr, ", expected %zu:\n", len);
for (i = 0; i < n; i++)
fprintf (stderr, " %02x", s[i]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-u8-grapheme-prev.c b/tests/unigbrk/test-u8-grapheme-prev.c
index a59e264d..e3642367 100644
--- a/tests/unigbrk/test-u8-grapheme-prev.c
+++ b/tests/unigbrk/test-u8-grapheme-prev.c
@@ -1,5 +1,5 @@
/* Previous grapheme cluster test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -39,11 +39,12 @@ test_u8_grapheme_prev (const char *input, size_t n, size_t len)
if (prev == NULL)
fputs ("u8_grapheme_prev returned NULL", stderr);
else
- fprintf (stderr, "u8_grapheme_prev skipped %zu bytes", end - prev);
+ fprintf (stderr, "u8_grapheme_prev skipped %tu bytes", end - prev);
fprintf (stderr, ", expected %zu:\n", len);
for (i = 0; i < n; i++)
fprintf (stderr, " %02x", s[i]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-uc-gbrk-prop.c b/tests/unigbrk/test-uc-gbrk-prop.c
index 605d83dc..65b91d24 100644
--- a/tests/unigbrk/test-uc-gbrk-prop.c
+++ b/tests/unigbrk/test-uc-gbrk-prop.c
@@ -1,5 +1,5 @@
/* Test the Unicode grapheme break property function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unigbrk/test-uc-gbrk-prop.h b/tests/unigbrk/test-uc-gbrk-prop.h
index d975a1e4..3949a191 100644
--- a/tests/unigbrk/test-uc-gbrk-prop.h
+++ b/tests/unigbrk/test-uc-gbrk-prop.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test the Unicode grapheme break property functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
diff --git a/tests/unigbrk/test-uc-grapheme-breaks.c b/tests/unigbrk/test-uc-grapheme-breaks.c
index 1e3b1ee8..afaab06b 100644
--- a/tests/unigbrk/test-uc-grapheme-breaks.c
+++ b/tests/unigbrk/test-uc-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster break function test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -27,7 +27,7 @@
#include "macros.h"
-static const char *
+_GL_UNUSED static const char *
graphemebreakproperty_to_string (int gbp)
{
printf ("%d\n", gbp);
@@ -75,19 +75,20 @@ test_uc_grapheme_breaks (const char *expected, ucs4_t *s, size_t n,
fprintf (stderr, " input:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %02x", s[j]);
+ fprintf (stderr, " %04X", s[j]);
putc ('\n', stderr);
fprintf (stderr, "expected:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %d", expected[j] == '#');
+ fprintf (stderr, " %d", expected[j] == '#');
putc ('\n', stderr);
fprintf (stderr, " actual:");
for (j = 0; j < n; j++)
- fprintf (stderr, " %d", breaks[j]);
+ fprintf (stderr, " %d", breaks[j]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unigbrk/test-uc-is-grapheme-break.c b/tests/unigbrk/test-uc-is-grapheme-break.c
index 433ba686..92674a07 100644
--- a/tests/unigbrk/test-uc-is-grapheme-break.c
+++ b/tests/unigbrk/test-uc-is-grapheme-break.c
@@ -1,5 +1,5 @@
/* Grapheme cluster break function test.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -30,7 +30,6 @@
const char *
graphemebreakproperty_to_string (int gbp)
{
- printf ("%d\n", gbp);
switch (gbp)
{
#define CASE(VALUE) case GBP_##VALUE: return #VALUE;
@@ -89,6 +88,9 @@ main (int argc, char *argv[])
const char *p;
ucs4_t prev;
int last_char_prop;
+ bool incb_consonant_extended;
+ bool incb_consonant_extended_linker;
+ bool incb_consonant_extended_linker_extended;
bool emoji_modifier_sequence;
bool emoji_modifier_sequence_before_last_char;
size_t ri_count;
@@ -102,6 +104,9 @@ main (int argc, char *argv[])
continue;
last_char_prop = -1;
+ incb_consonant_extended = false;
+ incb_consonant_extended_linker = false;
+ incb_consonant_extended_linker_extended = false;
emoji_modifier_sequence = false;
emoji_modifier_sequence_before_last_char = false;
ri_count = 0;
@@ -150,10 +155,17 @@ main (int argc, char *argv[])
next = next_int;
}
+ int incb = uc_indic_conjunct_break (next);
+
/* Skip unsupported rules involving 3 or more characters. */
- if (last_char_prop == GBP_ZWJ
- && emoji_modifier_sequence_before_last_char
- && uc_is_property_extended_pictographic (next))
+ if (incb_consonant_extended_linker_extended
+ && incb == UC_INDIC_CONJUNCT_BREAK_CONSONANT)
+ fprintf (stderr, "%s:%d: skipping GB9c: should join U+%04X "
+ "and U+%04X\n",
+ filename, lineno, prev, next);
+ else if (last_char_prop == GBP_ZWJ
+ && emoji_modifier_sequence_before_last_char
+ && uc_is_property_extended_pictographic (next))
{
int prev_gbp = uc_graphemeclusterbreak_property (prev);
int next_gbp = uc_graphemeclusterbreak_property (next);
@@ -190,6 +202,17 @@ main (int argc, char *argv[])
p += strspn (p, " \t\r\n");
prev = next;
+ incb_consonant_extended_linker =
+ incb_consonant_extended && incb == UC_INDIC_CONJUNCT_BREAK_LINKER;
+ incb_consonant_extended_linker_extended =
+ (incb_consonant_extended_linker
+ || (incb_consonant_extended_linker_extended
+ && incb >= UC_INDIC_CONJUNCT_BREAK_LINKER));
+ incb_consonant_extended =
+ (incb == UC_INDIC_CONJUNCT_BREAK_CONSONANT
+ || (incb_consonant_extended
+ && incb >= UC_INDIC_CONJUNCT_BREAK_LINKER));
+
emoji_modifier_sequence_before_last_char = emoji_modifier_sequence;
emoji_modifier_sequence =
(emoji_modifier_sequence
diff --git a/tests/unigbrk/test-ulc-grapheme-breaks.c b/tests/unigbrk/test-ulc-grapheme-breaks.c
index 8ef608fe..519be6fe 100644
--- a/tests/unigbrk/test-ulc-grapheme-breaks.c
+++ b/tests/unigbrk/test-ulc-grapheme-breaks.c
@@ -1,5 +1,5 @@
/* Grapheme cluster breaks test.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -64,7 +64,7 @@ main ()
fprintf (stderr, " input:");
for (j = 0; j < LENGTH; j++)
- fprintf (stderr, " %02x", (unsigned char) s[j]);
+ fprintf (stderr, " %02X", (unsigned char) s[j]);
putc ('\n', stderr);
fprintf (stderr, "expected:");
@@ -77,6 +77,7 @@ main ()
fprintf (stderr, " %d", p[j]);
putc ('\n', stderr);
+ fflush (stderr);
abort ();
}
}
diff --git a/tests/unilbrk/test-u16-possible-linebreaks.c b/tests/unilbrk/test-u16-possible-linebreaks.c
index 0156d455..877367e7 100644
--- a/tests/unilbrk/test-u16-possible-linebreaks.c
+++ b/tests/unilbrk/test-u16-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-16 strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -255,8 +255,10 @@ int
main ()
{
test_function (u16_possible_linebreaks, 2);
-#undef u16_possible_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef u16_possible_linebreaks
test_function (u16_possible_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-u16-width-linebreaks.c b/tests/unilbrk/test-u16-width-linebreaks.c
index c9605447..fb337873 100644
--- a/tests/unilbrk/test-u16-width-linebreaks.c
+++ b/tests/unilbrk/test-u16-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-16 strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -76,8 +76,10 @@ int
main ()
{
test_function (u16_width_linebreaks, 2);
-#undef u16_width_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef u16_width_linebreaks
test_function (u16_width_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-u32-possible-linebreaks.c b/tests/unilbrk/test-u32-possible-linebreaks.c
index 5c08c974..84b0e3c0 100644
--- a/tests/unilbrk/test-u32-possible-linebreaks.c
+++ b/tests/unilbrk/test-u32-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-32 strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -255,8 +255,10 @@ int
main ()
{
test_function (u32_possible_linebreaks, 2);
-#undef u32_possible_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef u32_possible_linebreaks
test_function (u32_possible_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-u32-width-linebreaks.c b/tests/unilbrk/test-u32-width-linebreaks.c
index fa9c09b6..b59405cd 100644
--- a/tests/unilbrk/test-u32-width-linebreaks.c
+++ b/tests/unilbrk/test-u32-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-32 strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -76,8 +76,10 @@ int
main ()
{
test_function (u32_width_linebreaks, 2);
-#undef u32_width_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef u32_width_linebreaks
test_function (u32_width_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-u8-possible-linebreaks.c b/tests/unilbrk/test-u8-possible-linebreaks.c
index 37f27067..90768d20 100644
--- a/tests/unilbrk/test-u8-possible-linebreaks.c
+++ b/tests/unilbrk/test-u8-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-8 strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -238,8 +238,10 @@ int
main ()
{
test_function (u8_possible_linebreaks, 2);
-#undef u8_possible_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef u8_possible_linebreaks
test_function (u8_possible_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-u8-width-linebreaks.c b/tests/unilbrk/test-u8-width-linebreaks.c
index e9552350..a84ee0db 100644
--- a/tests/unilbrk/test-u8-width-linebreaks.c
+++ b/tests/unilbrk/test-u8-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-8 strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -70,8 +70,10 @@ int
main ()
{
test_function (u8_width_linebreaks, 2);
-#undef u8_width_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef u8_width_linebreaks
test_function (u8_width_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-ulc-possible-linebreaks.c b/tests/unilbrk/test-ulc-possible-linebreaks.c
index e6859277..21ec0b5e 100644
--- a/tests/unilbrk/test-ulc-possible-linebreaks.c
+++ b/tests/unilbrk/test-ulc-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -71,8 +71,10 @@ int
main ()
{
test_function (ulc_possible_linebreaks, 2);
-#undef ulc_possible_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef ulc_possible_linebreaks
test_function (ulc_possible_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unilbrk/test-ulc-width-linebreaks.c b/tests/unilbrk/test-ulc-width-linebreaks.c
index 0fffe3ae..65e125e5 100644
--- a/tests/unilbrk/test-ulc-width-linebreaks.c
+++ b/tests/unilbrk/test-ulc-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of strings.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -55,8 +55,10 @@ int
main ()
{
test_function (ulc_width_linebreaks, 2);
-#undef ulc_width_linebreaks
+#ifdef IN_LIBUNISTRING_GNULIB_TESTS
+# undef ulc_width_linebreaks
test_function (ulc_width_linebreaks, 1);
+#endif
return 0;
}
diff --git a/tests/unimetadata/test-u-version.c b/tests/unimetadata/test-u-version.c
new file mode 100644
index 00000000..6dc48ad3
--- /dev/null
+++ b/tests/unimetadata/test-u-version.c
@@ -0,0 +1,39 @@
+/* Test of supported Unicode version.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2024. */
+
+#include <config.h>
+
+#include "unimetadata.h"
+
+#include "macros.h"
+
+#if !(((defined _WIN32 || defined __CYGWIN__) && (HAVE_LIBUNISTRING || WOE32DLL)) || defined __ANDROID__)
+/* Check that _libunistring_unicode_version is defined and links. */
+int const *vp = &_libunistring_unicode_version;
+#endif
+
+int
+main ()
+{
+ /* Check that _libunistring_unicode_version is defined and links. */
+ volatile int v = _libunistring_unicode_version;
+ ASSERT (v >= (15 << 8));
+ ASSERT (v < (100 << 8));
+
+ return 0;
+}
diff --git a/tests/uniname/HangulSyllableNames.txt b/tests/uniname/HangulSyllableNames.txt
index 341c178d..5491f661 100644
--- a/tests/uniname/HangulSyllableNames.txt
+++ b/tests/uniname/HangulSyllableNames.txt
@@ -1,5 +1,7 @@
# Auxiliary tables for Hangul syllable names, see the Unicode 3.0 book,
-# sections 3.11 and 4.4.
+# sections 3.11 and 4.4. This table was automatically generated.
+
+# This file is in the public domain.
AC00;HANGUL SYLLABLE GA;Lo;0;L;;;;;N;;;;;
AC01;HANGUL SYLLABLE GAG;Lo;0;L;;;;;N;;;;;
diff --git a/tests/uniname/NameAliases.txt b/tests/uniname/NameAliases.txt
index db3a863a..487cdb8c 100644
--- a/tests/uniname/NameAliases.txt
+++ b/tests/uniname/NameAliases.txt
@@ -1,6 +1,46 @@
-# NameAliases-15.0.0.txt
-# Date: 2022-07-26, 20:13:00 GMT [KW]
-# © 2022 Unicode®, Inc.
+# UNICODE LICENSE V3
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright © 1991-2024 Unicode, Inc.
+#
+# NOTICE TO USER: Carefully read the following legal agreement. BY
+# DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
+# SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+# TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
+# DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of data files and any associated documentation (the "Data Files") or
+# software and any associated documentation (the "Software") to deal in the
+# Data Files or Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, and/or sell
+# copies of the Data Files or Software, and to permit persons to whom the
+# Data Files or Software are furnished to do so, provided that either (a)
+# this copyright and permission notice appear with all copies of the Data
+# Files or Software, or (b) this copyright and permission notice appear in
+# associated Documentation.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+# THIRD PARTY RIGHTS.
+#
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+# BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
+# FILES OR SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder shall
+# not be used in advertising or otherwise to promote the sale, use or other
+# dealings in these Data Files or Software without prior written
+# authorization of the copyright holder.
+
+# NameAliases-15.1.0.txt
+# Date: 2023-01-05
+# © 2023 Unicode®, Inc.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
diff --git a/tests/uniname/UnicodeData.txt b/tests/uniname/UnicodeData.txt
index ea963a71..152ebe66 100644
--- a/tests/uniname/UnicodeData.txt
+++ b/tests/uniname/UnicodeData.txt
@@ -1,3 +1,43 @@
+# UNICODE LICENSE V3
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright © 1991-2024 Unicode, Inc.
+#
+# NOTICE TO USER: Carefully read the following legal agreement. BY
+# DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
+# SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+# TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
+# DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of data files and any associated documentation (the "Data Files") or
+# software and any associated documentation (the "Software") to deal in the
+# Data Files or Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, and/or sell
+# copies of the Data Files or Software, and to permit persons to whom the
+# Data Files or Software are furnished to do so, provided that either (a)
+# this copyright and permission notice appear with all copies of the Data
+# Files or Software, or (b) this copyright and permission notice appear in
+# associated Documentation.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+# THIRD PARTY RIGHTS.
+#
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+# BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
+# FILES OR SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder shall
+# not be used in advertising or otherwise to promote the sale, use or other
+# dealings in these Data Files or Software without prior written
+# authorization of the copyright holder.
+
0000;<control>;Cc;0;BN;;;;;N;NULL;;;;
0001;<control>;Cc;0;BN;;;;;N;START OF HEADING;;;;
0002;<control>;Cc;0;BN;;;;;N;START OF TEXT;;;;
@@ -11231,6 +11271,10 @@
2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;;
2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;;
2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;;
+2FFC;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM RIGHT;So;0;ON;;;;;N;;;;;
+2FFD;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER RIGHT;So;0;ON;;;;;N;;;;;
+2FFE;IDEOGRAPHIC DESCRIPTION CHARACTER HORIZONTAL REFLECTION;So;0;ON;;;;;N;;;;;
+2FFF;IDEOGRAPHIC DESCRIPTION CHARACTER ROTATION;So;0;ON;;;;;N;;;;;
3000;IDEOGRAPHIC SPACE;Zs;0;WS;<wide> 0020;;;;N;;;;;
3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;;
3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;;
@@ -11705,6 +11749,7 @@
31E1;CJK STROKE HZZZG;So;0;ON;;;;;N;;;;;
31E2;CJK STROKE PG;So;0;ON;;;;;N;;;;;
31E3;CJK STROKE Q;So;0;ON;;;;;N;;;;;
+31EF;IDEOGRAPHIC DESCRIPTION CHARACTER SUBTRACTION;So;0;ON;;;;;N;;;;;
31F0;KATAKANA LETTER SMALL KU;Lo;0;L;;;;;N;;;;;
31F1;KATAKANA LETTER SMALL SI;Lo;0;L;;;;;N;;;;;
31F2;KATAKANA LETTER SMALL SU;Lo;0;L;;;;;N;;;;;
@@ -34035,6 +34080,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
2CEA1;<CJK Ideograph Extension E, Last>;Lo;0;L;;;;;N;;;;;
2CEB0;<CJK Ideograph Extension F, First>;Lo;0;L;;;;;N;;;;;
2EBE0;<CJK Ideograph Extension F, Last>;Lo;0;L;;;;;N;;;;;
+2EBF0;<CJK Ideograph Extension I, First>;Lo;0;L;;;;;N;;;;;
+2EE5D;<CJK Ideograph Extension I, Last>;Lo;0;L;;;;;N;;;;;
2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;;
2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;;
2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;;
diff --git a/tests/uniname/test-uninames.c b/tests/uniname/test-uninames.c
index c85c9af6..72e198ed 100644
--- a/tests/uniname/test-uninames.c
+++ b/tests/uniname/test-uninames.c
@@ -1,5 +1,5 @@
/* Test the Unicode character name functions.
- Copyright (C) 2000-2003, 2005, 2007, 2009-2022 Free Software Foundation,
+ Copyright (C) 2000-2003, 2005, 2007, 2009-2024 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/uninorm/NormalizationTest.txt b/tests/uninorm/NormalizationTest.txt
index e75b4801..e1644a61 100644
--- a/tests/uninorm/NormalizationTest.txt
+++ b/tests/uninorm/NormalizationTest.txt
@@ -1,6 +1,46 @@
-# NormalizationTest-15.0.0.txt
-# Date: 2022-04-02, 01:29:09 GMT
-# © 2022 Unicode®, Inc.
+# UNICODE LICENSE V3
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright © 1991-2024 Unicode, Inc.
+#
+# NOTICE TO USER: Carefully read the following legal agreement. BY
+# DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
+# SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+# TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
+# DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of data files and any associated documentation (the "Data Files") or
+# software and any associated documentation (the "Software") to deal in the
+# Data Files or Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, and/or sell
+# copies of the Data Files or Software, and to permit persons to whom the
+# Data Files or Software are furnished to do so, provided that either (a)
+# this copyright and permission notice appear with all copies of the Data
+# Files or Software, or (b) this copyright and permission notice appear in
+# associated Documentation.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+# THIRD PARTY RIGHTS.
+#
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+# BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
+# FILES OR SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder shall
+# not be used in advertising or otherwise to promote the sale, use or other
+# dealings in these Data Files or Software without prior written
+# authorization of the copyright holder.
+
+# NormalizationTest-15.1.0.txt
+# Date: 2023-01-05, 20:34:44 GMT
+# © 2023 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
diff --git a/tests/uninorm/test-canonical-decomposition.c b/tests/uninorm/test-canonical-decomposition.c
index 0e3fdbf4..6ebac8e5 100644
--- a/tests/uninorm/test-canonical-decomposition.c
+++ b/tests/uninorm/test-canonical-decomposition.c
@@ -1,5 +1,5 @@
/* Test of canonical decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-compat-decomposition.c b/tests/uninorm/test-compat-decomposition.c
index c0221310..d4252cbc 100644
--- a/tests/uninorm/test-compat-decomposition.c
+++ b/tests/uninorm/test-compat-decomposition.c
@@ -1,5 +1,5 @@
/* Test of compatibility decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-composition.c b/tests/uninorm/test-composition.c
index e6bdc970..4f90cfcb 100644
--- a/tests/uninorm/test-composition.c
+++ b/tests/uninorm/test-composition.c
@@ -1,5 +1,5 @@
/* Test of canonical composition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-decomposing-form.c b/tests/uninorm/test-decomposing-form.c
index 17ad3bdb..d56cd28c 100644
--- a/tests/uninorm/test-decomposing-form.c
+++ b/tests/uninorm/test-decomposing-form.c
@@ -1,5 +1,5 @@
/* Test of decomposing variant of a normalization form.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-decomposition.c b/tests/uninorm/test-decomposition.c
index d0e53e54..7da46143 100644
--- a/tests/uninorm/test-decomposition.c
+++ b/tests/uninorm/test-decomposition.c
@@ -1,5 +1,5 @@
/* Test of decomposition of Unicode characters.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-nfc.c b/tests/uninorm/test-nfc.c
index db5b45d8..f1459ed3 100644
--- a/tests/uninorm/test-nfc.c
+++ b/tests/uninorm/test-nfc.c
@@ -1,5 +1,5 @@
/* Test of canonical normalization of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-nfd.c b/tests/uninorm/test-nfd.c
index 7d562e72..17df0f0e 100644
--- a/tests/uninorm/test-nfd.c
+++ b/tests/uninorm/test-nfd.c
@@ -1,5 +1,5 @@
/* Test of canonical decomposition of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-nfkc.c b/tests/uninorm/test-nfkc.c
index 56a43e76..640066c3 100644
--- a/tests/uninorm/test-nfkc.c
+++ b/tests/uninorm/test-nfkc.c
@@ -1,5 +1,5 @@
/* Test of compatibility normalization of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-nfkd.c b/tests/uninorm/test-nfkd.c
index 88ca6b50..8d5ff836 100644
--- a/tests/uninorm/test-nfkd.c
+++ b/tests/uninorm/test-nfkd.c
@@ -1,5 +1,5 @@
/* Test of compatibility decomposition of Unicode strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-nfc.c b/tests/uninorm/test-u16-nfc.c
index fa3ebfcd..36cbf979 100644
--- a/tests/uninorm/test-u16-nfc.c
+++ b/tests/uninorm/test-u16-nfc.c
@@ -1,5 +1,5 @@
/* Test of canonical normalization of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-nfd.c b/tests/uninorm/test-u16-nfd.c
index 08b5c004..0be54c21 100644
--- a/tests/uninorm/test-u16-nfd.c
+++ b/tests/uninorm/test-u16-nfd.c
@@ -1,5 +1,5 @@
/* Test of canonical decomposition of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-nfkc.c b/tests/uninorm/test-u16-nfkc.c
index 7924d822..c6bedaf8 100644
--- a/tests/uninorm/test-u16-nfkc.c
+++ b/tests/uninorm/test-u16-nfkc.c
@@ -1,5 +1,5 @@
/* Test of compatibility normalization of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-nfkd.c b/tests/uninorm/test-u16-nfkd.c
index 1d78701d..f9a198c4 100644
--- a/tests/uninorm/test-u16-nfkd.c
+++ b/tests/uninorm/test-u16-nfkd.c
@@ -1,5 +1,5 @@
/* Test of compatibility decomposition of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-normcmp.c b/tests/uninorm/test-u16-normcmp.c
index 9ebb94b2..96ca0716 100644
--- a/tests/uninorm/test-u16-normcmp.c
+++ b/tests/uninorm/test-u16-normcmp.c
@@ -1,5 +1,5 @@
/* Test of normalization insensitive comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-normcmp.h b/tests/uninorm/test-u16-normcmp.h
index 0c7ce100..09d5ba41 100644
--- a/tests/uninorm/test-u16-normcmp.h
+++ b/tests/uninorm/test-u16-normcmp.h
@@ -1,5 +1,5 @@
/* Test of normalization insensitive comparison of UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u16-normcoll.c b/tests/uninorm/test-u16-normcoll.c
index e0689a30..fe08a15d 100644
--- a/tests/uninorm/test-u16-normcoll.c
+++ b/tests/uninorm/test-u16-normcoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, normalization insensitive comparison of
UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfc-big.c b/tests/uninorm/test-u32-nfc-big.c
index b9f35e56..317607a1 100644
--- a/tests/uninorm/test-u32-nfc-big.c
+++ b/tests/uninorm/test-u32-nfc-big.c
@@ -1,5 +1,5 @@
/* Test of Unicode compliance of canonical normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfc.c b/tests/uninorm/test-u32-nfc.c
index 57b6a194..d6589c51 100644
--- a/tests/uninorm/test-u32-nfc.c
+++ b/tests/uninorm/test-u32-nfc.c
@@ -1,5 +1,5 @@
/* Test of canonical normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfd-big.c b/tests/uninorm/test-u32-nfd-big.c
index 683c768b..8a35cd03 100644
--- a/tests/uninorm/test-u32-nfd-big.c
+++ b/tests/uninorm/test-u32-nfd-big.c
@@ -1,5 +1,5 @@
/* Test of Unicode compliance of canonical decomposition of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfd.c b/tests/uninorm/test-u32-nfd.c
index 33f2c97d..6b787724 100644
--- a/tests/uninorm/test-u32-nfd.c
+++ b/tests/uninorm/test-u32-nfd.c
@@ -1,5 +1,5 @@
/* Test of canonical decomposition of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfkc-big.c b/tests/uninorm/test-u32-nfkc-big.c
index 84491129..4195b97e 100644
--- a/tests/uninorm/test-u32-nfkc-big.c
+++ b/tests/uninorm/test-u32-nfkc-big.c
@@ -1,5 +1,5 @@
/* Test of Unicode compliance of compatibility normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfkc.c b/tests/uninorm/test-u32-nfkc.c
index 7f8d472a..2b310def 100644
--- a/tests/uninorm/test-u32-nfkc.c
+++ b/tests/uninorm/test-u32-nfkc.c
@@ -1,5 +1,5 @@
/* Test of compatibility normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfkd-big.c b/tests/uninorm/test-u32-nfkd-big.c
index a2ca4673..f9c264d3 100644
--- a/tests/uninorm/test-u32-nfkd-big.c
+++ b/tests/uninorm/test-u32-nfkd-big.c
@@ -1,5 +1,5 @@
/* Test of Unicode compliance of compatibility decomposition of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-nfkd.c b/tests/uninorm/test-u32-nfkd.c
index 3cbb5f7b..5093127c 100644
--- a/tests/uninorm/test-u32-nfkd.c
+++ b/tests/uninorm/test-u32-nfkd.c
@@ -1,5 +1,5 @@
/* Test of compatibility decomposition of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-normalize-big.c b/tests/uninorm/test-u32-normalize-big.c
index 40ef55cc..20282cab 100644
--- a/tests/uninorm/test-u32-normalize-big.c
+++ b/tests/uninorm/test-u32-normalize-big.c
@@ -1,5 +1,5 @@
/* Test of Unicode compliance of normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-normalize-big.h b/tests/uninorm/test-u32-normalize-big.h
index 79b16264..ae4a16bd 100644
--- a/tests/uninorm/test-u32-normalize-big.h
+++ b/tests/uninorm/test-u32-normalize-big.h
@@ -1,5 +1,5 @@
/* Test of Unicode compliance of normalization of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-normcmp.c b/tests/uninorm/test-u32-normcmp.c
index 577edf6b..5052a237 100644
--- a/tests/uninorm/test-u32-normcmp.c
+++ b/tests/uninorm/test-u32-normcmp.c
@@ -1,5 +1,5 @@
/* Test of normalization insensitive comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-normcmp.h b/tests/uninorm/test-u32-normcmp.h
index 1597c88e..f5979f1e 100644
--- a/tests/uninorm/test-u32-normcmp.h
+++ b/tests/uninorm/test-u32-normcmp.h
@@ -1,5 +1,5 @@
/* Test of normalization insensitive comparison of UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u32-normcoll.c b/tests/uninorm/test-u32-normcoll.c
index 492475cc..e5cce080 100644
--- a/tests/uninorm/test-u32-normcoll.c
+++ b/tests/uninorm/test-u32-normcoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, normalization insensitive comparison of
UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-nfc.c b/tests/uninorm/test-u8-nfc.c
index bfc56240..1aedcd85 100644
--- a/tests/uninorm/test-u8-nfc.c
+++ b/tests/uninorm/test-u8-nfc.c
@@ -1,5 +1,5 @@
/* Test of canonical normalization of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-nfd.c b/tests/uninorm/test-u8-nfd.c
index e5e3ac69..a6a5686b 100644
--- a/tests/uninorm/test-u8-nfd.c
+++ b/tests/uninorm/test-u8-nfd.c
@@ -1,5 +1,5 @@
/* Test of canonical decomposition of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-nfkc.c b/tests/uninorm/test-u8-nfkc.c
index f59bc036..c2a17839 100644
--- a/tests/uninorm/test-u8-nfkc.c
+++ b/tests/uninorm/test-u8-nfkc.c
@@ -1,5 +1,5 @@
/* Test of compatibility normalization of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-nfkd.c b/tests/uninorm/test-u8-nfkd.c
index 4fb89a5b..0a70a477 100644
--- a/tests/uninorm/test-u8-nfkd.c
+++ b/tests/uninorm/test-u8-nfkd.c
@@ -1,5 +1,5 @@
/* Test of compatibility decomposition of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-normcmp.c b/tests/uninorm/test-u8-normcmp.c
index 9d665e63..6b9f68d4 100644
--- a/tests/uninorm/test-u8-normcmp.c
+++ b/tests/uninorm/test-u8-normcmp.c
@@ -1,5 +1,5 @@
/* Test of normalization insensitive comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-normcmp.h b/tests/uninorm/test-u8-normcmp.h
index c853c4a9..867cd2ce 100644
--- a/tests/uninorm/test-u8-normcmp.h
+++ b/tests/uninorm/test-u8-normcmp.h
@@ -1,5 +1,5 @@
/* Test of normalization insensitive comparison of UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-u8-normcoll.c b/tests/uninorm/test-u8-normcoll.c
index a113b4f5..e8d30949 100644
--- a/tests/uninorm/test-u8-normcoll.c
+++ b/tests/uninorm/test-u8-normcoll.c
@@ -1,6 +1,6 @@
/* Test of locale dependent, normalization insensitive comparison of
UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uninorm/test-uninorm-filter-nfc.c b/tests/uninorm/test-uninorm-filter-nfc.c
index ea9cdc0a..2e2ca2aa 100644
--- a/tests/uninorm/test-uninorm-filter-nfc.c
+++ b/tests/uninorm/test-uninorm-filter-nfc.c
@@ -1,5 +1,5 @@
/* Test of canonical normalization of streams.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-asnprintf1.c b/tests/unistdio/test-u16-asnprintf1.c
index a95e6bfc..67ce490a 100644
--- a/tests/unistdio/test-u16-asnprintf1.c
+++ b/tests/unistdio/test-u16-asnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u16_asnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-asnprintf1.h b/tests/unistdio/test-u16-asnprintf1.h
index 4145ae87..4ec31a43 100644
--- a/tests/unistdio/test-u16-asnprintf1.h
+++ b/tests/unistdio/test-u16-asnprintf1.h
@@ -1,5 +1,5 @@
/* Test of u16_[v]asnprintf() function.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-printf1.h b/tests/unistdio/test-u16-printf1.h
index 7690978d..e501c9e4 100644
--- a/tests/unistdio/test-u16-printf1.h
+++ b/tests/unistdio/test-u16-printf1.h
@@ -1,5 +1,5 @@
/* Test of u16_v[a]s[n]printf() function.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -83,6 +83,24 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
ASSERT (u16_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*U %d", 10, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*U %d", -10, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55);
@@ -123,6 +141,24 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
ASSERT (u16_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*lU %d", 10, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*lU %d", -10, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55);
@@ -163,6 +199,24 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
ASSERT (u16_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*llU %d", 10, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*llU %d", -10, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55);
@@ -211,6 +265,32 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("Mr. %*s %d", 20, "Ronald Reagan", 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'M', 'r', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', 'R', 'o', 'n', 'a', 'l', 'd', ' ', 'R', 'e',
+ 'a', 'g', 'a', 'n', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("Mr. %*s %d", -20, "Ronald Reagan", 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'M', 'r', '.', ' ', 'R', 'o', 'n', 'a', 'l', 'd',
+ ' ', 'R', 'e', 'a', 'g', 'a', 'n', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55);
@@ -278,6 +358,44 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*a %d", 10, 1.75, 33, 44, 55);
+ static const uint16_t expected1[] =
+ { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 };
+ static const uint16_t expected2[] =
+ { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 };
+ static const uint16_t expected3[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 };
+ static const uint16_t expected4[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected1) == 0
+ || u16_strcmp (result, expected2) == 0
+ || u16_strcmp (result, expected3) == 0
+ || u16_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*a %d", -10, 1.75, 33, 44, 55);
+ static const uint16_t expected1[] =
+ { '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint16_t expected2[] =
+ { '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint16_t expected3[] =
+ { '0', 'x', '7', 'p', '-', '2', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint16_t expected4[] =
+ { '0', 'x', 'e', 'p', '-', '3', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected1) == 0
+ || u16_strcmp (result, expected2) == 0
+ || u16_strcmp (result, expected3) == 0
+ || u16_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
{ /* Small precision. */
uint16_t *result =
my_xasprintf ("%.10a %d", 1.75, 33, 44, 55);
@@ -402,6 +520,44 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*La %d", 10, 1.75L, 33, 44, 55);
+ static const uint16_t expected1[] =
+ { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 };
+ static const uint16_t expected2[] =
+ { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 };
+ static const uint16_t expected3[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 };
+ static const uint16_t expected4[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected1) == 0
+ || u16_strcmp (result, expected2) == 0
+ || u16_strcmp (result, expected3) == 0
+ || u16_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*La %d", -10, 1.75L, 33, 44, 55);
+ static const uint16_t expected1[] =
+ { '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint16_t expected2[] =
+ { '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint16_t expected3[] =
+ { '0', 'x', '7', 'p', '-', '2', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint16_t expected4[] =
+ { '0', 'x', 'e', 'p', '-', '3', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected1) == 0
+ || u16_strcmp (result, expected2) == 0
+ || u16_strcmp (result, expected3) == 0
+ || u16_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
{ /* Small precision. */
uint16_t *result =
my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55);
@@ -502,6 +658,26 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*f %d", 10, 1.75, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*f %d", -10, 1.75, 33, 44, 55);
+ static const uint16_t expected[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint16_t *result =
my_xasprintf ("%.f %d", 1234.0, 33, 44, 55);
@@ -532,6 +708,26 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*Lf %d", 10, 1.75L, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*Lf %d", -10, 1.75L, 33, 44, 55);
+ static const uint16_t expected[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint16_t *result =
my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55);
@@ -620,6 +816,40 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*e %d", 15, 1.75, 33, 44, 55);
+ static const uint16_t expected1[] =
+ { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0',
+ '0', 'e', '+', '0', '0', ' ', '3', '3', 0
+ };
+ static const uint16_t expected2[] =
+ { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0',
+ 'e', '+', '0', '0', '0', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected1) == 0
+ || u16_strcmp (result, expected2) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*e %d", -15, 1.75, 33, 44, 55);
+ static const uint16_t expected1[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', 'e', '+',
+ '0', '0', ' ', ' ', ' ', ' ', '3', '3', 0
+ };
+ static const uint16_t expected2[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', 'e', '+',
+ '0', '0', '0', ' ', ' ', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected1) == 0
+ || u16_strcmp (result, expected2) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint16_t *result =
my_xasprintf ("%.e %d", 1234.0, 33, 44, 55);
@@ -657,6 +887,30 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*Le %d", 15, 1.75L, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0',
+ '0', 'e', '+', '0', '0', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*Le %d", -15, 1.75L, 33, 44, 55);
+ static const uint16_t expected[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', 'e', '+',
+ '0', '0', ' ', ' ', ' ', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint16_t *result =
my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55);
@@ -689,6 +943,26 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*g %d", 10, 1.75, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*g %d", -10, 1.75, 33, 44, 55);
+ static const uint16_t expected[] =
+ { '1', '.', '7', '5', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint16_t *result =
my_xasprintf ("%.g %d", 1234.0, 33, 44, 55);
@@ -722,6 +996,26 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*Lg %d", 10, 1.75L, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*Lg %d", -10, 1.75L, 33, 44, 55);
+ static const uint16_t expected[] =
+ { '1', '.', '7', '5', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint16_t *result =
my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55);
@@ -738,12 +1032,16 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
int count = -1;
uint16_t *result =
my_xasprintf ("%d %n", 123, &count, 33, 44, 55);
+#if NEED_PRINTF_WITH_N_DIRECTIVE
static const uint16_t expected[] =
{ '1', '2', '3', ' ', 0 };
ASSERT (result != NULL);
ASSERT (u16_strcmp (result, expected) == 0);
ASSERT (count == 4);
free (result);
+#else
+ ASSERT (result == NULL);
+#endif
}
/* Test the support of the POSIX/XSI format strings with positions. */
@@ -795,6 +1093,30 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
ASSERT (u16_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*U %d", 20, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ',
+ 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*U %d", -20, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z',
+ 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("%-20U %d", unicode_string, 33, 44, 55);
@@ -850,6 +1172,30 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
ASSERT (u16_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*lU %d", 20, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ',
+ 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*lU %d", -20, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z',
+ 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("%-20lU %d", unicode_string, 33, 44, 55);
@@ -905,6 +1251,30 @@ test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
ASSERT (u16_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint16_t *result =
+ my_xasprintf ("%*llU %d", 20, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ',
+ 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint16_t *result =
+ my_xasprintf ("%*llU %d", -20, unicode_string, 33, 44, 55);
+ static const uint16_t expected[] =
+ { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z',
+ 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u16_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint16_t *result =
my_xasprintf ("%-20llU %d", unicode_string, 33, 44, 55);
diff --git a/tests/unistdio/test-u16-vasnprintf1.c b/tests/unistdio/test-u16-vasnprintf1.c
index de705ae6..e39495c9 100644
--- a/tests/unistdio/test-u16-vasnprintf1.c
+++ b/tests/unistdio/test-u16-vasnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u16_vasnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-vasnprintf2.c b/tests/unistdio/test-u16-vasnprintf2.c
index ec5d790e..aee67584 100644
--- a/tests/unistdio/test-u16-vasnprintf2.c
+++ b/tests/unistdio/test-u16-vasnprintf2.c
@@ -1,5 +1,5 @@
/* Test of u16_vasnprintf() function in an ISO-8859-1 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-vasnprintf3.c b/tests/unistdio/test-u16-vasnprintf3.c
index 97f3c69d..0efe1984 100644
--- a/tests/unistdio/test-u16-vasnprintf3.c
+++ b/tests/unistdio/test-u16-vasnprintf3.c
@@ -1,5 +1,5 @@
/* Test of u16_vasnprintf() function in an UTF-8 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-vasprintf1.c b/tests/unistdio/test-u16-vasprintf1.c
index 1d00ec93..203d2edf 100644
--- a/tests/unistdio/test-u16-vasprintf1.c
+++ b/tests/unistdio/test-u16-vasprintf1.c
@@ -1,5 +1,5 @@
/* Test of u16_vasprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-vsnprintf1.c b/tests/unistdio/test-u16-vsnprintf1.c
index 27f3871a..6859468a 100644
--- a/tests/unistdio/test-u16-vsnprintf1.c
+++ b/tests/unistdio/test-u16-vsnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u16_vsnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u16-vsprintf1.c b/tests/unistdio/test-u16-vsprintf1.c
index ab4d9d57..b39a3056 100644
--- a/tests/unistdio/test-u16-vsprintf1.c
+++ b/tests/unistdio/test-u16-vsprintf1.c
@@ -1,5 +1,5 @@
/* Test of u16_vsprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-asnprintf1.c b/tests/unistdio/test-u32-asnprintf1.c
index aebc798e..5a16094b 100644
--- a/tests/unistdio/test-u32-asnprintf1.c
+++ b/tests/unistdio/test-u32-asnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u32_asnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-asnprintf1.h b/tests/unistdio/test-u32-asnprintf1.h
index b654c59a..85fa2cf0 100644
--- a/tests/unistdio/test-u32-asnprintf1.h
+++ b/tests/unistdio/test-u32-asnprintf1.h
@@ -1,5 +1,5 @@
/* Test of u32_[v]asnprintf() function.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-printf1.h b/tests/unistdio/test-u32-printf1.h
index d3e10e92..ae0edc6a 100644
--- a/tests/unistdio/test-u32-printf1.h
+++ b/tests/unistdio/test-u32-printf1.h
@@ -1,5 +1,5 @@
/* Test of u32_v[a]s[n]printf() function.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -83,6 +83,24 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
ASSERT (u32_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*U %d", 10, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*U %d", -10, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55);
@@ -123,6 +141,24 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
ASSERT (u32_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*lU %d", 10, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*lU %d", -10, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55);
@@ -163,6 +199,24 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
ASSERT (u32_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*llU %d", 10, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*llU %d", -10, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'H', 'e', 'l', 'l', 'o', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55);
@@ -211,6 +265,32 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("Mr. %*s %d", 20, "Ronald Reagan", 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'M', 'r', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', 'R', 'o', 'n', 'a', 'l', 'd', ' ', 'R', 'e',
+ 'a', 'g', 'a', 'n', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("Mr. %*s %d", -20, "Ronald Reagan", 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'M', 'r', '.', ' ', 'R', 'o', 'n', 'a', 'l', 'd',
+ ' ', 'R', 'e', 'a', 'g', 'a', 'n', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55);
@@ -278,6 +358,44 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*a %d", 10, 1.75, 33, 44, 55);
+ static const uint32_t expected1[] =
+ { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 };
+ static const uint32_t expected2[] =
+ { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 };
+ static const uint32_t expected3[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 };
+ static const uint32_t expected4[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected1) == 0
+ || u32_strcmp (result, expected2) == 0
+ || u32_strcmp (result, expected3) == 0
+ || u32_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*a %d", -10, 1.75, 33, 44, 55);
+ static const uint32_t expected1[] =
+ { '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint32_t expected2[] =
+ { '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint32_t expected3[] =
+ { '0', 'x', '7', 'p', '-', '2', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint32_t expected4[] =
+ { '0', 'x', 'e', 'p', '-', '3', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected1) == 0
+ || u32_strcmp (result, expected2) == 0
+ || u32_strcmp (result, expected3) == 0
+ || u32_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
{ /* Small precision. */
uint32_t *result =
my_xasprintf ("%.10a %d", 1.75, 33, 44, 55);
@@ -402,6 +520,44 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*La %d", 10, 1.75L, 33, 44, 55);
+ static const uint32_t expected1[] =
+ { ' ', ' ', '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', '3', '3', 0 };
+ static const uint32_t expected2[] =
+ { ' ', ' ', '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', '3', '3', 0 };
+ static const uint32_t expected3[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', '7', 'p', '-', '2', ' ', '3', '3', 0 };
+ static const uint32_t expected4[] =
+ { ' ', ' ', ' ', ' ', '0', 'x', 'e', 'p', '-', '3', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected1) == 0
+ || u32_strcmp (result, expected2) == 0
+ || u32_strcmp (result, expected3) == 0
+ || u32_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*La %d", -10, 1.75L, 33, 44, 55);
+ static const uint32_t expected1[] =
+ { '0', 'x', '1', '.', 'c', 'p', '+', '0', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint32_t expected2[] =
+ { '0', 'x', '3', '.', '8', 'p', '-', '1', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint32_t expected3[] =
+ { '0', 'x', '7', 'p', '-', '2', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ static const uint32_t expected4[] =
+ { '0', 'x', 'e', 'p', '-', '3', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected1) == 0
+ || u32_strcmp (result, expected2) == 0
+ || u32_strcmp (result, expected3) == 0
+ || u32_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
{ /* Small precision. */
uint32_t *result =
my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55);
@@ -502,6 +658,26 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*f %d", 10, 1.75, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*f %d", -10, 1.75, 33, 44, 55);
+ static const uint32_t expected[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint32_t *result =
my_xasprintf ("%.f %d", 1234.0, 33, 44, 55);
@@ -532,6 +708,26 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*Lf %d", 10, 1.75L, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*Lf %d", -10, 1.75L, 33, 44, 55);
+ static const uint32_t expected[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint32_t *result =
my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55);
@@ -620,6 +816,40 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*e %d", 15, 1.75, 33, 44, 55);
+ static const uint32_t expected1[] =
+ { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0',
+ '0', 'e', '+', '0', '0', ' ', '3', '3', 0
+ };
+ static const uint32_t expected2[] =
+ { ' ', ' ', '1', '.', '7', '5', '0', '0', '0', '0',
+ 'e', '+', '0', '0', '0', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected1) == 0
+ || u32_strcmp (result, expected2) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*e %d", -15, 1.75, 33, 44, 55);
+ static const uint32_t expected1[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', 'e', '+',
+ '0', '0', ' ', ' ', ' ', ' ', '3', '3', 0
+ };
+ static const uint32_t expected2[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', 'e', '+',
+ '0', '0', '0', ' ', ' ', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected1) == 0
+ || u32_strcmp (result, expected2) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint32_t *result =
my_xasprintf ("%.e %d", 1234.0, 33, 44, 55);
@@ -657,6 +887,30 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*Le %d", 15, 1.75L, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', '1', '.', '7', '5', '0', '0', '0',
+ '0', 'e', '+', '0', '0', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*Le %d", -15, 1.75L, 33, 44, 55);
+ static const uint32_t expected[] =
+ { '1', '.', '7', '5', '0', '0', '0', '0', 'e', '+',
+ '0', '0', ' ', ' ', ' ', ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint32_t *result =
my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55);
@@ -689,6 +943,26 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*g %d", 10, 1.75, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*g %d", -10, 1.75, 33, 44, 55);
+ static const uint32_t expected[] =
+ { '1', '.', '7', '5', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint32_t *result =
my_xasprintf ("%.g %d", 1234.0, 33, 44, 55);
@@ -722,6 +996,26 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*Lg %d", 10, 1.75L, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', ' ', ' ', '1', '.', '7', '5', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*Lg %d", -10, 1.75L, 33, 44, 55);
+ static const uint32_t expected[] =
+ { '1', '.', '7', '5', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '3', '3', 0 };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint32_t *result =
my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55);
@@ -738,12 +1032,16 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
int count = -1;
uint32_t *result =
my_xasprintf ("%d %n", 123, &count, 33, 44, 55);
+#if NEED_PRINTF_WITH_N_DIRECTIVE
static const uint32_t expected[] =
{ '1', '2', '3', ' ', 0 };
ASSERT (result != NULL);
ASSERT (u32_strcmp (result, expected) == 0);
ASSERT (count == 4);
free (result);
+#else
+ ASSERT (result == NULL);
+#endif
}
/* Test the support of the POSIX/XSI format strings with positions. */
@@ -795,6 +1093,30 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
ASSERT (u32_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*U %d", 20, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ',
+ 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*U %d", -20, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z',
+ 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("%-20U %d", unicode_string, 33, 44, 55);
@@ -850,6 +1172,30 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
ASSERT (u32_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*lU %d", 20, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ',
+ 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*lU %d", -20, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z',
+ 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("%-20lU %d", unicode_string, 33, 44, 55);
@@ -905,6 +1251,30 @@ test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
ASSERT (u32_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint32_t *result =
+ my_xasprintf ("%*llU %d", 20, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { ' ', ' ', ' ', ' ', 'R', 'a', 'f', 'a', 0x0142, ' ',
+ 'M', 'a', 's', 'z', 'k', 'o', 'w', 's', 'k', 'i',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint32_t *result =
+ my_xasprintf ("%*llU %d", -20, unicode_string, 33, 44, 55);
+ static const uint32_t expected[] =
+ { 'R', 'a', 'f', 'a', 0x0142, ' ', 'M', 'a', 's', 'z',
+ 'k', 'o', 'w', 's', 'k', 'i', ' ', ' ', ' ', ' ',
+ ' ', '3', '3', 0
+ };
+ ASSERT (result != NULL);
+ ASSERT (u32_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint32_t *result =
my_xasprintf ("%-20llU %d", unicode_string, 33, 44, 55);
diff --git a/tests/unistdio/test-u32-vasnprintf1.c b/tests/unistdio/test-u32-vasnprintf1.c
index 553ee2d5..43c115cf 100644
--- a/tests/unistdio/test-u32-vasnprintf1.c
+++ b/tests/unistdio/test-u32-vasnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u32_vasnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-vasnprintf2.c b/tests/unistdio/test-u32-vasnprintf2.c
index 7d82cfc6..1ddab53f 100644
--- a/tests/unistdio/test-u32-vasnprintf2.c
+++ b/tests/unistdio/test-u32-vasnprintf2.c
@@ -1,5 +1,5 @@
/* Test of u32_vasnprintf() function in an ISO-8859-1 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-vasnprintf3.c b/tests/unistdio/test-u32-vasnprintf3.c
index 3509f6ff..cfc4674c 100644
--- a/tests/unistdio/test-u32-vasnprintf3.c
+++ b/tests/unistdio/test-u32-vasnprintf3.c
@@ -1,5 +1,5 @@
/* Test of u32_vasnprintf() function in an UTF-8 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-vasprintf1.c b/tests/unistdio/test-u32-vasprintf1.c
index 41084b6d..3ab5e89c 100644
--- a/tests/unistdio/test-u32-vasprintf1.c
+++ b/tests/unistdio/test-u32-vasprintf1.c
@@ -1,5 +1,5 @@
/* Test of u32_vasprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-vsnprintf1.c b/tests/unistdio/test-u32-vsnprintf1.c
index bae3adca..fa38f8db 100644
--- a/tests/unistdio/test-u32-vsnprintf1.c
+++ b/tests/unistdio/test-u32-vsnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u32_vsnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u32-vsprintf1.c b/tests/unistdio/test-u32-vsprintf1.c
index 27b0065c..c857ca71 100644
--- a/tests/unistdio/test-u32-vsprintf1.c
+++ b/tests/unistdio/test-u32-vsprintf1.c
@@ -1,5 +1,5 @@
/* Test of u32_vsprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-asnprintf1.c b/tests/unistdio/test-u8-asnprintf1.c
index 058b7714..d5d256aa 100644
--- a/tests/unistdio/test-u8-asnprintf1.c
+++ b/tests/unistdio/test-u8-asnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u8_asnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-asnprintf1.h b/tests/unistdio/test-u8-asnprintf1.h
index 6aeeae31..f48e2365 100644
--- a/tests/unistdio/test-u8-asnprintf1.h
+++ b/tests/unistdio/test-u8-asnprintf1.h
@@ -1,5 +1,5 @@
/* Test of u8_[v]asnprintf() function.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-printf1.h b/tests/unistdio/test-u8-printf1.h
index 5a820148..3e8999b6 100644
--- a/tests/unistdio/test-u8-printf1.h
+++ b/tests/unistdio/test-u8-printf1.h
@@ -1,5 +1,5 @@
/* Test of u8_v[a]s[n]printf() function.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -77,6 +77,22 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
ASSERT (u8_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*U %d", 10, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = " Hello 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*U %d", -10, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = "Hello 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55);
@@ -113,6 +129,22 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
ASSERT (u8_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*lU %d", 10, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = " Hello 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*lU %d", -10, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = "Hello 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55);
@@ -149,6 +181,22 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
ASSERT (u8_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*llU %d", 10, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = " Hello 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*llU %d", -10, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = "Hello 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55);
@@ -187,6 +235,24 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("Mr. %*s %d", 20, "Ronald Reagan", 33, 44, 55);
+ static const uint8_t expected[] = "Mr. Ronald Reagan 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("Mr. %*s %d", -20, "Ronald Reagan", 33, 44, 55);
+ static const uint8_t expected[] = "Mr. Ronald Reagan 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55);
@@ -238,6 +304,36 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*a %d", 10, 1.75, 33, 44, 55);
+ static const uint8_t expected1[] = " 0x1.cp+0 33";
+ static const uint8_t expected2[] = " 0x3.8p-1 33";
+ static const uint8_t expected3[] = " 0x7p-2 33";
+ static const uint8_t expected4[] = " 0xep-3 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected1) == 0
+ || u8_strcmp (result, expected2) == 0
+ || u8_strcmp (result, expected3) == 0
+ || u8_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*a %d", -10, 1.75, 33, 44, 55);
+ static const uint8_t expected1[] = "0x1.cp+0 33";
+ static const uint8_t expected2[] = "0x3.8p-1 33";
+ static const uint8_t expected3[] = "0x7p-2 33";
+ static const uint8_t expected4[] = "0xep-3 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected1) == 0
+ || u8_strcmp (result, expected2) == 0
+ || u8_strcmp (result, expected3) == 0
+ || u8_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
{ /* Small precision. */
uint8_t *result =
my_xasprintf ("%.10a %d", 1.75, 33, 44, 55);
@@ -298,6 +394,36 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*La %d", 10, 1.75L, 33, 44, 55);
+ static const uint8_t expected1[] = " 0x1.cp+0 33";
+ static const uint8_t expected2[] = " 0x3.8p-1 33";
+ static const uint8_t expected3[] = " 0x7p-2 33";
+ static const uint8_t expected4[] = " 0xep-3 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected1) == 0
+ || u8_strcmp (result, expected2) == 0
+ || u8_strcmp (result, expected3) == 0
+ || u8_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*La %d", -10, 1.75L, 33, 44, 55);
+ static const uint8_t expected1[] = "0x1.cp+0 33";
+ static const uint8_t expected2[] = "0x3.8p-1 33";
+ static const uint8_t expected3[] = "0x7p-2 33";
+ static const uint8_t expected4[] = "0xep-3 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected1) == 0
+ || u8_strcmp (result, expected2) == 0
+ || u8_strcmp (result, expected3) == 0
+ || u8_strcmp (result, expected4) == 0);
+ free (result);
+ }
+
{ /* Small precision. */
uint8_t *result =
my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55);
@@ -348,6 +474,24 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*f %d", 10, 1.75, 33, 44, 55);
+ static const uint8_t expected[] = " 1.750000 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*f %d", -10, 1.75, 33, 44, 55);
+ static const uint8_t expected[] = "1.750000 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint8_t *result =
my_xasprintf ("%.f %d", 1234.0, 33, 44, 55);
@@ -375,6 +519,24 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*Lf %d", 10, 1.75L, 33, 44, 55);
+ static const uint8_t expected[] = " 1.750000 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*Lf %d", -10, 1.75L, 33, 44, 55);
+ static const uint8_t expected[] = "1.750000 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint8_t *result =
my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55);
@@ -446,6 +608,28 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*e %d", 15, 1.75, 33, 44, 55);
+ static const uint8_t expected1[] = " 1.750000e+00 33";
+ static const uint8_t expected2[] = " 1.750000e+000 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected1) == 0
+ || u8_strcmp (result, expected2) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*e %d", -15, 1.75, 33, 44, 55);
+ static const uint8_t expected1[] = "1.750000e+00 33";
+ static const uint8_t expected2[] = "1.750000e+000 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected1) == 0
+ || u8_strcmp (result, expected2) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint8_t *result =
my_xasprintf ("%.e %d", 1234.0, 33, 44, 55);
@@ -475,6 +659,24 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*Le %d", 15, 1.75L, 33, 44, 55);
+ static const uint8_t expected[] = " 1.750000e+00 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*Le %d", -15, 1.75L, 33, 44, 55);
+ static const uint8_t expected[] = "1.750000e+00 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint8_t *result =
my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55);
@@ -504,6 +706,24 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*g %d", 10, 1.75, 33, 44, 55);
+ static const uint8_t expected[] = " 1.75 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*g %d", -10, 1.75, 33, 44, 55);
+ static const uint8_t expected[] = "1.75 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint8_t *result =
my_xasprintf ("%.g %d", 1234.0, 33, 44, 55);
@@ -533,6 +753,24 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*Lg %d", 10, 1.75L, 33, 44, 55);
+ static const uint8_t expected[] = " 1.75 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*Lg %d", -10, 1.75L, 33, 44, 55);
+ static const uint8_t expected[] = "1.75 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+
{ /* Precision. */
uint8_t *result =
my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55);
@@ -548,11 +786,15 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
int count = -1;
uint8_t *result =
my_xasprintf ("%d %n", 123, &count, 33, 44, 55);
+#if NEED_PRINTF_WITH_N_DIRECTIVE
static const uint8_t expected[] = "123 ";
ASSERT (result != NULL);
ASSERT (u8_strcmp (result, expected) == 0);
ASSERT (count == 4);
free (result);
+#else
+ ASSERT (result == NULL);
+#endif
}
/* Test the support of the POSIX/XSI format strings with positions. */
@@ -596,6 +838,22 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
ASSERT (u8_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*U %d", 20, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*U %d", -20, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("%-20U %d", unicode_string, 33, 44, 55);
@@ -636,6 +894,22 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
ASSERT (u8_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*lU %d", 20, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*lU %d", -20, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("%-20lU %d", unicode_string, 33, 44, 55);
@@ -676,6 +950,22 @@ test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
ASSERT (u8_strcmp (result, expected) == 0);
free (result);
}
+ { /* Width given as argument. */
+ uint8_t *result =
+ my_xasprintf ("%*llU %d", 20, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = " Rafa\305\202 Maszkowski 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ uint8_t *result =
+ my_xasprintf ("%*llU %d", -20, unicode_string, 33, 44, 55);
+ static const uint8_t expected[] = "Rafa\305\202 Maszkowski 33";
+ ASSERT (result != NULL);
+ ASSERT (u8_strcmp (result, expected) == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
uint8_t *result =
my_xasprintf ("%-20llU %d", unicode_string, 33, 44, 55);
diff --git a/tests/unistdio/test-u8-vasnprintf1.c b/tests/unistdio/test-u8-vasnprintf1.c
index 94b9c8d7..895faa93 100644
--- a/tests/unistdio/test-u8-vasnprintf1.c
+++ b/tests/unistdio/test-u8-vasnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u8_vasnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-vasnprintf2.c b/tests/unistdio/test-u8-vasnprintf2.c
index 745550b1..30289688 100644
--- a/tests/unistdio/test-u8-vasnprintf2.c
+++ b/tests/unistdio/test-u8-vasnprintf2.c
@@ -1,5 +1,5 @@
/* Test of u8_vasnprintf() function in an ISO-8859-1 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-vasnprintf3.c b/tests/unistdio/test-u8-vasnprintf3.c
index 5f601abd..b5dc9ab6 100644
--- a/tests/unistdio/test-u8-vasnprintf3.c
+++ b/tests/unistdio/test-u8-vasnprintf3.c
@@ -1,5 +1,5 @@
/* Test of u8_vasnprintf() function in an UTF-8 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-vasprintf1.c b/tests/unistdio/test-u8-vasprintf1.c
index ec7e773f..611f1395 100644
--- a/tests/unistdio/test-u8-vasprintf1.c
+++ b/tests/unistdio/test-u8-vasprintf1.c
@@ -1,5 +1,5 @@
/* Test of u8_vasprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-vsnprintf1.c b/tests/unistdio/test-u8-vsnprintf1.c
index 89274aa0..5de57fb1 100644
--- a/tests/unistdio/test-u8-vsnprintf1.c
+++ b/tests/unistdio/test-u8-vsnprintf1.c
@@ -1,5 +1,5 @@
/* Test of u8_vsnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-u8-vsprintf1.c b/tests/unistdio/test-u8-vsprintf1.c
index 821880be..542cce32 100644
--- a/tests/unistdio/test-u8-vsprintf1.c
+++ b/tests/unistdio/test-u8-vsprintf1.c
@@ -1,5 +1,5 @@
/* Test of u8_vsprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-asnprintf1.c b/tests/unistdio/test-ulc-asnprintf1.c
index 4cad53d5..236cd3b2 100644
--- a/tests/unistdio/test-ulc-asnprintf1.c
+++ b/tests/unistdio/test-ulc-asnprintf1.c
@@ -1,5 +1,5 @@
/* Test of ulc_asnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-asnprintf1.h b/tests/unistdio/test-ulc-asnprintf1.h
index 3631c26e..9e11f314 100644
--- a/tests/unistdio/test-ulc-asnprintf1.h
+++ b/tests/unistdio/test-ulc-asnprintf1.h
@@ -1,5 +1,5 @@
/* Test of ulc_[v]asnprintf() functions.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-printf1.h b/tests/unistdio/test-ulc-printf1.h
index a15effbb..49089c1b 100644
--- a/tests/unistdio/test-ulc-printf1.h
+++ b/tests/unistdio/test-ulc-printf1.h
@@ -1,5 +1,5 @@
/* Test of ulc_v[a]s[n]printf() functions.
- Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -71,6 +71,20 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
ASSERT (strcmp (result, " Hello 33") == 0);
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*U %d", 10, unicode_string, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " Hello 33") == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*U %d", -10, unicode_string, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "Hello 33") == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
char *result =
my_xasprintf ("%-10U %d", unicode_string, 33, 44, 55);
@@ -103,6 +117,20 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
ASSERT (strcmp (result, " Hello 33") == 0);
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*lU %d", 10, unicode_string, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " Hello 33") == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*lU %d", -10, unicode_string, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "Hello 33") == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
char *result =
my_xasprintf ("%-10lU %d", unicode_string, 33, 44, 55);
@@ -135,6 +163,20 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
ASSERT (strcmp (result, " Hello 33") == 0);
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*llU %d", 10, unicode_string, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " Hello 33") == 0);
+ free (result);
+ }
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*llU %d", -10, unicode_string, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "Hello 33") == 0);
+ free (result);
+ }
{ /* FLAG_LEFT. */
char *result =
my_xasprintf ("%-10llU %d", unicode_string, 33, 44, 55);
@@ -169,6 +211,22 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("Mr. %*s %d", 20, "Ronald Reagan", 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "Mr. Ronald Reagan 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("Mr. %*s %d", -20, "Ronald Reagan", 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "Mr. Ronald Reagan 33") == 0);
+ free (result);
+ }
+
{ /* FLAG_LEFT. */
char *result =
my_xasprintf ("Mr. %-20s %d", "Ronald Reagan", 33, 44, 55);
@@ -210,6 +268,28 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*a %d", 10, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 0x1.cp+0 33") == 0
+ || strcmp (result, " 0x3.8p-1 33") == 0
+ || strcmp (result, " 0x7p-2 33") == 0
+ || strcmp (result, " 0xep-3 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*a %d", -10, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "0x1.cp+0 33") == 0
+ || strcmp (result, "0x3.8p-1 33") == 0
+ || strcmp (result, "0x7p-2 33") == 0
+ || strcmp (result, "0xep-3 33") == 0);
+ free (result);
+ }
+
{ /* Small precision. */
char *result =
my_xasprintf ("%.10a %d", 1.75, 33, 44, 55);
@@ -254,6 +334,28 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*La %d", 10, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 0x1.cp+0 33") == 0
+ || strcmp (result, " 0x3.8p-1 33") == 0
+ || strcmp (result, " 0x7p-2 33") == 0
+ || strcmp (result, " 0xep-3 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*La %d", -10, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "0x1.cp+0 33") == 0
+ || strcmp (result, "0x3.8p-1 33") == 0
+ || strcmp (result, "0x7p-2 33") == 0
+ || strcmp (result, "0xep-3 33") == 0);
+ free (result);
+ }
+
{ /* Small precision. */
char *result =
my_xasprintf ("%.10La %d", 1.75L, 33, 44, 55);
@@ -294,6 +396,22 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*f %d", 10, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 1.750000 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*f %d", -10, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "1.750000 33") == 0);
+ free (result);
+ }
+
{ /* Precision. */
char *result =
my_xasprintf ("%.f %d", 1234.0, 33, 44, 55);
@@ -318,6 +436,22 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*Lf %d", 10, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 1.750000 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*Lf %d", -10, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "1.750000 33") == 0);
+ free (result);
+ }
+
{ /* Precision. */
char *result =
my_xasprintf ("%.Lf %d", 1234.0L, 33, 44, 55);
@@ -380,6 +514,24 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*e %d", 15, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 1.750000e+00 33") == 0
+ || strcmp (result, " 1.750000e+000 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*e %d", -15, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "1.750000e+00 33") == 0
+ || strcmp (result, "1.750000e+000 33") == 0);
+ free (result);
+ }
+
{ /* Precision. */
char *result =
my_xasprintf ("%.e %d", 1234.0, 33, 44, 55);
@@ -405,6 +557,22 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*Le %d", 15, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 1.750000e+00 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*Le %d", -15, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "1.750000e+00 33") == 0);
+ free (result);
+ }
+
{ /* Precision. */
char *result =
my_xasprintf ("%.Le %d", 1234.0L, 33, 44, 55);
@@ -431,6 +599,22 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*g %d", 10, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 1.75 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*g %d", -10, 1.75, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "1.75 33") == 0);
+ free (result);
+ }
+
{ /* Precision. */
char *result =
my_xasprintf ("%.g %d", 1234.0, 33, 44, 55);
@@ -456,6 +640,22 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
free (result);
}
+ { /* Width given as argument. */
+ char *result =
+ my_xasprintf ("%*Lg %d", 10, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, " 1.75 33") == 0);
+ free (result);
+ }
+
+ { /* Negative width given as argument (cf. FLAG_LEFT below). */
+ char *result =
+ my_xasprintf ("%*Lg %d", -10, 1.75L, 33, 44, 55);
+ ASSERT (result != NULL);
+ ASSERT (strcmp (result, "1.75 33") == 0);
+ free (result);
+ }
+
{ /* Precision. */
char *result =
my_xasprintf ("%.Lg %d", 1234.0L, 33, 44, 55);
@@ -470,10 +670,14 @@ test_xfunction (char * (*my_xasprintf) (const char *, ...))
int count = -1;
char *result =
my_xasprintf ("%d %n", 123, &count, 33, 44, 55);
+#if NEED_PRINTF_WITH_N_DIRECTIVE
ASSERT (result != NULL);
ASSERT (strcmp (result, "123 ") == 0);
ASSERT (count == 4);
free (result);
+#else
+ ASSERT (result == NULL);
+#endif
}
/* Test the support of the POSIX/XSI format strings with positions. */
diff --git a/tests/unistdio/test-ulc-vasnprintf1.c b/tests/unistdio/test-ulc-vasnprintf1.c
index d6ea67dd..d0d6f858 100644
--- a/tests/unistdio/test-ulc-vasnprintf1.c
+++ b/tests/unistdio/test-ulc-vasnprintf1.c
@@ -1,5 +1,5 @@
/* Test of ulc_vasnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-vasnprintf2.c b/tests/unistdio/test-ulc-vasnprintf2.c
index f53ff50f..458ce4aa 100644
--- a/tests/unistdio/test-ulc-vasnprintf2.c
+++ b/tests/unistdio/test-ulc-vasnprintf2.c
@@ -1,5 +1,5 @@
/* Test of ulc_vasnprintf() function in an ISO-8859-1 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-vasnprintf3.c b/tests/unistdio/test-ulc-vasnprintf3.c
index 6bc2c9b5..717e9850 100644
--- a/tests/unistdio/test-ulc-vasnprintf3.c
+++ b/tests/unistdio/test-ulc-vasnprintf3.c
@@ -1,5 +1,5 @@
/* Test of ulc_vasnprintf() function in an UTF-8 locale.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-vasprintf1.c b/tests/unistdio/test-ulc-vasprintf1.c
index ec523ff4..c97909cc 100644
--- a/tests/unistdio/test-ulc-vasprintf1.c
+++ b/tests/unistdio/test-ulc-vasprintf1.c
@@ -1,5 +1,5 @@
/* Test of ulc_vasprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-vsnprintf1.c b/tests/unistdio/test-ulc-vsnprintf1.c
index c282ff99..899ad10b 100644
--- a/tests/unistdio/test-ulc-vsnprintf1.c
+++ b/tests/unistdio/test-ulc-vsnprintf1.c
@@ -1,5 +1,5 @@
/* Test of ulc_vsnprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistdio/test-ulc-vsprintf1.c b/tests/unistdio/test-ulc-vsprintf1.c
index 9e9af160..123397d7 100644
--- a/tests/unistdio/test-ulc-vsprintf1.c
+++ b/tests/unistdio/test-ulc-vsprintf1.c
@@ -1,5 +1,5 @@
/* Test of ulc_vsprintf() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-chr.h b/tests/unistr/test-chr.h
index f8f87015..f7bfc2ba 100644
--- a/tests/unistr/test-chr.h
+++ b/tests/unistr/test-chr.h
@@ -1,5 +1,5 @@
/* Test of uN_chr() functions.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@ int
main (void)
{
size_t size = 0x100000;
- size_t i;
size_t length;
UNIT *input;
uint32_t *input32 = (uint32_t *) malloc (size * sizeof (uint32_t));
@@ -29,7 +28,7 @@ main (void)
input32[0] = 'a';
input32[1] = 'b';
u32_set (input32 + 2, 'c', 1024);
- for (i = 1026; i < size - 2; i += 63)
+ for (size_t i = 1026; i < size - 2; i += 63)
{
size_t last = i + 63 < size - 2 ? i + 63 : size - 2;
ucs4_t uc = 'd' | (i - 1026);
@@ -48,9 +47,11 @@ main (void)
ASSERT (U_CHR (input, length, 'a') == input);
ASSERT (U_CHR (input, 0, 'a') == NULL);
- void *page_boundary = zerosize_ptr ();
- if (page_boundary)
- ASSERT (U_CHR (page_boundary, 0, 'a') == NULL);
+ {
+ void *page_boundary = zerosize_ptr ();
+ if (page_boundary != NULL)
+ ASSERT (U_CHR (page_boundary, 0, 'a') == NULL);
+ }
ASSERT (U_CHR (input, length, 'b') == input + 1);
ASSERT (U_CHR (input, length, 'c') == input + 2);
@@ -59,7 +60,7 @@ main (void)
{
UNIT *exp = input + 1026;
UNIT *prev = input + 1;
- for (i = 1026; i < size - 2; i += 63)
+ for (size_t i = 1026; i < size - 2; i += 63)
{
UNIT c[6];
size_t n;
@@ -108,14 +109,14 @@ main (void)
/* Check that uN_chr() does not read past the first occurrence of the
byte being searched. */
{
- char *page_boundary = (char *) zerosize_ptr ();
+ UNIT *page_boundary = zerosize_ptr ();
size_t n;
if (page_boundary != NULL)
{
for (n = 1; n <= 500 / sizeof (UNIT); n++)
{
- UNIT *mem = (UNIT *) (page_boundary - n * sizeof (UNIT));
+ UNIT *mem = page_boundary - n;
U_SET (mem, 'X', n);
ASSERT (U_CHR (mem, n, 'U') == NULL);
diff --git a/tests/unistr/test-cmp.h b/tests/unistr/test-cmp.h
index c7c92434..3eb1be32 100644
--- a/tests/unistr/test-cmp.h
+++ b/tests/unistr/test-cmp.h
@@ -1,5 +1,5 @@
/* Test of uN_cmp() functions.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-cmp2.h b/tests/unistr/test-cmp2.h
index 8fe88c54..3b9f7568 100644
--- a/tests/unistr/test-cmp2.h
+++ b/tests/unistr/test-cmp2.h
@@ -1,5 +1,5 @@
/* Test of uN_cmp2() functions.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-cpy-alloc.h b/tests/unistr/test-cpy-alloc.h
index 5fa46a74..37b07350 100644
--- a/tests/unistr/test-cpy-alloc.h
+++ b/tests/unistr/test-cpy-alloc.h
@@ -1,5 +1,5 @@
/* Test of uN_cpy_alloc() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-cpy.h b/tests/unistr/test-cpy.h
index 12379bb2..05f1f5a8 100644
--- a/tests/unistr/test-cpy.h
+++ b/tests/unistr/test-cpy.h
@@ -1,5 +1,5 @@
/* Test of uN_cpy() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-move.h b/tests/unistr/test-move.h
index fd13b4cc..80784937 100644
--- a/tests/unistr/test-move.h
+++ b/tests/unistr/test-move.h
@@ -1,5 +1,5 @@
/* Test of uN_move() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-pcpy.h b/tests/unistr/test-pcpy.h
new file mode 100644
index 00000000..92ae0d0e
--- /dev/null
+++ b/tests/unistr/test-pcpy.h
@@ -0,0 +1,44 @@
+/* Test of uN_pcpy() functions.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+int
+main ()
+{
+ /* Test small copying operations. */
+ {
+ static const UNIT src[] = { 'c', 'l', 'i', 'm', 'a', 't', 'e' };
+ size_t n;
+
+ for (n = 0; n <= SIZEOF (src); n++)
+ {
+ UNIT dest[1 + SIZEOF (src) + 1] =
+ { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
+ UNIT *ret;
+ size_t i;
+
+ ret = U_PCPY (dest + 1, src, n);
+ ASSERT (ret == dest + 1 + n);
+ ASSERT (dest[0] == MAGIC);
+ for (i = 0; i < n; i++)
+ ASSERT (dest[1 + i] == src[i]);
+ ASSERT (dest[1 + n] == MAGIC);
+ }
+ }
+
+ return 0;
+}
diff --git a/tests/unistr/test-set.h b/tests/unistr/test-set.h
index 24330260..c1966675 100644
--- a/tests/unistr/test-set.h
+++ b/tests/unistr/test-set.h
@@ -1,5 +1,5 @@
/* Test of uN_set() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-stpcpy.h b/tests/unistr/test-stpcpy.h
index 5b1d6615..e3fe8e5b 100644
--- a/tests/unistr/test-stpcpy.h
+++ b/tests/unistr/test-stpcpy.h
@@ -1,5 +1,5 @@
/* Test of uN_stpcpy() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-stpncpy.h b/tests/unistr/test-stpncpy.h
index 34503bd2..3fc03d51 100644
--- a/tests/unistr/test-stpncpy.h
+++ b/tests/unistr/test-stpncpy.h
@@ -1,5 +1,5 @@
/* Test of uN_stpncpy() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strcat.h b/tests/unistr/test-strcat.h
index 906528ff..12440c43 100644
--- a/tests/unistr/test-strcat.h
+++ b/tests/unistr/test-strcat.h
@@ -1,5 +1,5 @@
/* Test of uN_strcat() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strchr.h b/tests/unistr/test-strchr.h
index 52768a4b..ad102c2e 100644
--- a/tests/unistr/test-strchr.h
+++ b/tests/unistr/test-strchr.h
@@ -1,5 +1,5 @@
/* Test of uN_strchr() functions.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,7 +22,6 @@ test_strchr (void)
{
size_t size = 0x100000;
size_t length;
- size_t i;
UNIT *input;
uint32_t *input32 = (uint32_t *) malloc ((size + 1) * sizeof (uint32_t));
ASSERT (input32);
@@ -30,7 +29,7 @@ test_strchr (void)
input32[0] = 'a';
input32[1] = 'b';
u32_set (input32 + 2, 'c', 1024);
- for (i = 1026; i < size - 2; i += 63)
+ for (size_t i = 1026; i < size - 2; i += 63)
{
size_t last = i + 63 < size - 2 ? i + 63 : size - 2;
ucs4_t uc = 'd' | (i - 1026);
@@ -54,7 +53,7 @@ test_strchr (void)
UNIT *exp = input + 1026;
UNIT *prev = input + 2;
- for (i = 1026; i < size - 2; i += 63)
+ for (size_t i = 1026; i < size - 2; i += 63)
{
UNIT c[6];
size_t n;
diff --git a/tests/unistr/test-strcmp.h b/tests/unistr/test-strcmp.h
index aeba3549..ea8c1321 100644
--- a/tests/unistr/test-strcmp.h
+++ b/tests/unistr/test-strcmp.h
@@ -1,5 +1,5 @@
/* Test of uN_strcmp() and uN_strcoll() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strcpy.h b/tests/unistr/test-strcpy.h
index 1f145032..9ff1f992 100644
--- a/tests/unistr/test-strcpy.h
+++ b/tests/unistr/test-strcpy.h
@@ -1,5 +1,5 @@
/* Test of uN_strcpy() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strdup.h b/tests/unistr/test-strdup.h
index 298a0459..af19c4d6 100644
--- a/tests/unistr/test-strdup.h
+++ b/tests/unistr/test-strdup.h
@@ -1,5 +1,5 @@
/* Test of uN_strdup() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strncat.h b/tests/unistr/test-strncat.h
index c66583ec..c505fc26 100644
--- a/tests/unistr/test-strncat.h
+++ b/tests/unistr/test-strncat.h
@@ -1,5 +1,5 @@
/* Test of uN_strncat() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strncmp.h b/tests/unistr/test-strncmp.h
index 8fdc4d99..64fecebb 100644
--- a/tests/unistr/test-strncmp.h
+++ b/tests/unistr/test-strncmp.h
@@ -1,5 +1,5 @@
/* Test of uN_strncmp() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strncpy.h b/tests/unistr/test-strncpy.h
index f2774fb0..c3ad19c6 100644
--- a/tests/unistr/test-strncpy.h
+++ b/tests/unistr/test-strncpy.h
@@ -1,5 +1,5 @@
/* Test of uN_strncpy() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-strnlen.h b/tests/unistr/test-strnlen.h
index ba3c0cfd..abc83fb9 100644
--- a/tests/unistr/test-strnlen.h
+++ b/tests/unistr/test-strnlen.h
@@ -1,5 +1,5 @@
/* Test of uN_strnlen() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u-strstr.h b/tests/unistr/test-u-strstr.h
index d53183e1..36783cdf 100644
--- a/tests/unistr/test-u-strstr.h
+++ b/tests/unistr/test-u-strstr.h
@@ -1,5 +1,5 @@
/* Test of uN_strstr() functions.
- Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -207,4 +207,42 @@ test_u_strstr (void)
free (needle);
free (haystack);
}
+
+ /* Test case from Yves Bastide.
+ <https://www.openwall.com/lists/musl/2014/04/18/2> */
+ {
+ const UNIT input[] =
+ { 'p', 'l', 'a', 'y', 'i', 'n', 'g', ' ', 'p', 'l', 'a', 'y', ' ', 'p',
+ 'l', 'a', 'y', ' ', 'p', 'l', 'a', 'y', ' ', 'a', 'l', 'w', 'a', 'y',
+ 's', 0
+ };
+ const UNIT needle[] =
+ { 'p', 'l', 'a', 'y', ' ', 'p', 'l', 'a', 'y', ' ', 'p', 'l', 'a', 'y',
+ 0
+ };
+ const UNIT *result = U_STRSTR (input, needle);
+ ASSERT (result == input + 8);
+ }
+
+ /* Test long needles. */
+ {
+ size_t m = 1024;
+ UNIT *haystack = (UNIT *) malloc ((2 * m + 1) * sizeof (UNIT));
+ UNIT *needle = (UNIT *) malloc ((m + 1) * sizeof (UNIT));
+ if (haystack != NULL && needle != NULL)
+ {
+ const UNIT *p;
+ haystack[0] = 'x';
+ U_SET (haystack + 1, ' ', m - 1);
+ U_SET (haystack + m, 'x', m);
+ haystack[2 * m] = '\0';
+ U_SET (needle, 'x', m);
+ needle[m] = '\0';
+ p = U_STRSTR (haystack, needle);
+ ASSERT (p);
+ ASSERT (p - haystack == m);
+ }
+ free (needle);
+ free (haystack);
+ }
}
diff --git a/tests/unistr/test-u-strtok.h b/tests/unistr/test-u-strtok.h
index 15389ac1..74272d3b 100644
--- a/tests/unistr/test-u-strtok.h
+++ b/tests/unistr/test-u-strtok.h
@@ -1,5 +1,5 @@
/* Test of uN_strtok() functions.
- Copyright (C) 2015-2022 Free Software Foundation, Inc.
+ Copyright (C) 2015-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -50,10 +50,12 @@ test_u_strtok (void)
'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'B', 'D', 'E', 0
};
ucs4_t u_delim[] = { 0x3000, 0x3001, 0 };
- size_t input_len = 6 * SIZEOF (u_input);
- UNIT *input = (UNIT *) malloc (input_len);
- size_t delim_len = 6 * SIZEOF (u_delim);
- UNIT *delim = (UNIT *) malloc (delim_len);
+ /* Convert ucs4_t[] to UNIT[].
+ Every ucs4_t yields at most 4 / sizeof (UNIT) units. */
+ size_t input_len = SIZEOF (u_input) * (4 / sizeof (UNIT));
+ UNIT *input = (UNIT *) malloc (input_len * sizeof (UNIT));
+ size_t delim_len = SIZEOF (u_delim) * (4 / sizeof (UNIT));
+ UNIT *delim = (UNIT *) malloc (delim_len * sizeof (UNIT));
UNIT *state;
const UNIT *result;
UNIT *ptr, *first_ptr, *second_ptr;
diff --git a/tests/unistr/test-u16-check.c b/tests/unistr/test-u16-check.c
index eb7b9988..0d83d6ac 100644
--- a/tests/unistr/test-u16-check.c
+++ b/tests/unistr/test-u16-check.c
@@ -1,5 +1,5 @@
/* Test of u16_check() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-chr.c b/tests/unistr/test-u16-chr.c
index 6e6e1069..5f0b16e5 100644
--- a/tests/unistr/test-u16-chr.c
+++ b/tests/unistr/test-u16-chr.c
@@ -1,5 +1,5 @@
/* Test of u16_chr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-cmp.c b/tests/unistr/test-u16-cmp.c
index 393fa9d7..03d6b4cd 100644
--- a/tests/unistr/test-u16-cmp.c
+++ b/tests/unistr/test-u16-cmp.c
@@ -1,5 +1,5 @@
/* Test of u16_cmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-cmp2.c b/tests/unistr/test-u16-cmp2.c
index e25fe1a6..2eb0dbd0 100644
--- a/tests/unistr/test-u16-cmp2.c
+++ b/tests/unistr/test-u16-cmp2.c
@@ -1,5 +1,5 @@
/* Test of u16_cmp2() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-cpy-alloc.c b/tests/unistr/test-u16-cpy-alloc.c
index 80e8999d..bbc16456 100644
--- a/tests/unistr/test-u16-cpy-alloc.c
+++ b/tests/unistr/test-u16-cpy-alloc.c
@@ -1,5 +1,5 @@
/* Test of u16_cpy_alloc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-cpy.c b/tests/unistr/test-u16-cpy.c
index be7f11aa..cf9993fa 100644
--- a/tests/unistr/test-u16-cpy.c
+++ b/tests/unistr/test-u16-cpy.c
@@ -1,5 +1,5 @@
/* Test of u16_cpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-mblen.c b/tests/unistr/test-u16-mblen.c
index 603cfe1f..a81a79a3 100644
--- a/tests/unistr/test-u16-mblen.c
+++ b/tests/unistr/test-u16-mblen.c
@@ -1,5 +1,5 @@
/* Test of u16_mblen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-mbsnlen.c b/tests/unistr/test-u16-mbsnlen.c
index 02bf2030..f3a249f9 100644
--- a/tests/unistr/test-u16-mbsnlen.c
+++ b/tests/unistr/test-u16-mbsnlen.c
@@ -1,5 +1,5 @@
/* Test of u16_mbsnlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-mbtouc-unsafe.c b/tests/unistr/test-u16-mbtouc-unsafe.c
index 06d4e428..7fd02f27 100644
--- a/tests/unistr/test-u16-mbtouc-unsafe.c
+++ b/tests/unistr/test-u16-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Test of u16_mbtouc_unsafe() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-mbtouc.c b/tests/unistr/test-u16-mbtouc.c
index 57a2b663..b7a3e47c 100644
--- a/tests/unistr/test-u16-mbtouc.c
+++ b/tests/unistr/test-u16-mbtouc.c
@@ -1,5 +1,5 @@
/* Test of u16_mbtouc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-mbtouc.h b/tests/unistr/test-u16-mbtouc.h
index a44a998d..5c33948a 100644
--- a/tests/unistr/test-u16-mbtouc.h
+++ b/tests/unistr/test-u16-mbtouc.h
@@ -1,5 +1,5 @@
/* Test of u16_mbtouc() and u16_mbtouc_unsafe() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-mbtoucr.c b/tests/unistr/test-u16-mbtoucr.c
index dfdab67d..167a77e0 100644
--- a/tests/unistr/test-u16-mbtoucr.c
+++ b/tests/unistr/test-u16-mbtoucr.c
@@ -1,5 +1,5 @@
/* Test of u16_mbtoucr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-move.c b/tests/unistr/test-u16-move.c
index 8e050d44..887912b3 100644
--- a/tests/unistr/test-u16-move.c
+++ b/tests/unistr/test-u16-move.c
@@ -1,5 +1,5 @@
/* Test of u16_move() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-next.c b/tests/unistr/test-u16-next.c
index e2022898..4d116e25 100644
--- a/tests/unistr/test-u16-next.c
+++ b/tests/unistr/test-u16-next.c
@@ -1,5 +1,5 @@
/* Test of u16_next() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-pcpy.c b/tests/unistr/test-u16-pcpy.c
new file mode 100644
index 00000000..b20741e2
--- /dev/null
+++ b/tests/unistr/test-u16-pcpy.c
@@ -0,0 +1,28 @@
+/* Test of u16_pcpy() function.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+#include "unistr.h"
+
+#include "macros.h"
+
+#define UNIT uint16_t
+#define U_PCPY u16_pcpy
+#define MAGIC 0xBADE
+#include "test-pcpy.h"
diff --git a/tests/unistr/test-u16-prev.c b/tests/unistr/test-u16-prev.c
index c7400dc5..bf05ea05 100644
--- a/tests/unistr/test-u16-prev.c
+++ b/tests/unistr/test-u16-prev.c
@@ -1,5 +1,5 @@
/* Test of u16_prev() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-set.c b/tests/unistr/test-u16-set.c
index a5270d10..7a6597dd 100644
--- a/tests/unistr/test-u16-set.c
+++ b/tests/unistr/test-u16-set.c
@@ -1,5 +1,5 @@
/* Test of u16_set() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-stpcpy.c b/tests/unistr/test-u16-stpcpy.c
index 5f18e011..616041d2 100644
--- a/tests/unistr/test-u16-stpcpy.c
+++ b/tests/unistr/test-u16-stpcpy.c
@@ -1,5 +1,5 @@
/* Test of u16_stpcpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-stpncpy.c b/tests/unistr/test-u16-stpncpy.c
index 104ea16c..35dd20d5 100644
--- a/tests/unistr/test-u16-stpncpy.c
+++ b/tests/unistr/test-u16-stpncpy.c
@@ -1,5 +1,5 @@
/* Test of u16_stpncpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strcat.c b/tests/unistr/test-u16-strcat.c
index de5448b2..8ec36d4c 100644
--- a/tests/unistr/test-u16-strcat.c
+++ b/tests/unistr/test-u16-strcat.c
@@ -1,5 +1,5 @@
/* Test of u16_strcat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strchr.c b/tests/unistr/test-u16-strchr.c
index f4ec6881..e23df8c2 100644
--- a/tests/unistr/test-u16-strchr.c
+++ b/tests/unistr/test-u16-strchr.c
@@ -1,5 +1,5 @@
/* Test of u16_strchr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strcmp.c b/tests/unistr/test-u16-strcmp.c
index 7ab3e831..4ee85078 100644
--- a/tests/unistr/test-u16-strcmp.c
+++ b/tests/unistr/test-u16-strcmp.c
@@ -1,5 +1,5 @@
/* Test of u16_strcmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strcmp.h b/tests/unistr/test-u16-strcmp.h
index 84b8d511..3a0f3b18 100644
--- a/tests/unistr/test-u16-strcmp.h
+++ b/tests/unistr/test-u16-strcmp.h
@@ -1,5 +1,5 @@
/* Test of u16_strcmp() and u16_strcoll() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strcoll.c b/tests/unistr/test-u16-strcoll.c
index 9ea43bca..b49f4b66 100644
--- a/tests/unistr/test-u16-strcoll.c
+++ b/tests/unistr/test-u16-strcoll.c
@@ -1,5 +1,5 @@
/* Test of u16_strcoll() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strcpy.c b/tests/unistr/test-u16-strcpy.c
index 7f0e01e6..9d2f475d 100644
--- a/tests/unistr/test-u16-strcpy.c
+++ b/tests/unistr/test-u16-strcpy.c
@@ -1,5 +1,5 @@
/* Test of u16_strcpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strdup.c b/tests/unistr/test-u16-strdup.c
index 798831e1..936bddcb 100644
--- a/tests/unistr/test-u16-strdup.c
+++ b/tests/unistr/test-u16-strdup.c
@@ -1,5 +1,5 @@
/* Test of u16_strdup() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strlen.c b/tests/unistr/test-u16-strlen.c
index 68198a41..e9348b81 100644
--- a/tests/unistr/test-u16-strlen.c
+++ b/tests/unistr/test-u16-strlen.c
@@ -1,5 +1,5 @@
/* Test of u16_strlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strmblen.c b/tests/unistr/test-u16-strmblen.c
index f31d824c..88dd0f27 100644
--- a/tests/unistr/test-u16-strmblen.c
+++ b/tests/unistr/test-u16-strmblen.c
@@ -1,5 +1,5 @@
/* Test of u16_strmblen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strmbtouc.c b/tests/unistr/test-u16-strmbtouc.c
index bb7a5ca9..c4c76ca5 100644
--- a/tests/unistr/test-u16-strmbtouc.c
+++ b/tests/unistr/test-u16-strmbtouc.c
@@ -1,5 +1,5 @@
/* Test of u16_strmbtouc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strncat.c b/tests/unistr/test-u16-strncat.c
index 9eda6e15..6079cb71 100644
--- a/tests/unistr/test-u16-strncat.c
+++ b/tests/unistr/test-u16-strncat.c
@@ -1,5 +1,5 @@
/* Test of u16_strncat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strncmp.c b/tests/unistr/test-u16-strncmp.c
index 3d03a7a2..45bc9fab 100644
--- a/tests/unistr/test-u16-strncmp.c
+++ b/tests/unistr/test-u16-strncmp.c
@@ -1,5 +1,5 @@
/* Test of u16_strncmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strncpy.c b/tests/unistr/test-u16-strncpy.c
index 184c6311..837dac9c 100644
--- a/tests/unistr/test-u16-strncpy.c
+++ b/tests/unistr/test-u16-strncpy.c
@@ -1,5 +1,5 @@
/* Test of u16_strncpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strnlen.c b/tests/unistr/test-u16-strnlen.c
index 9258b965..48604fee 100644
--- a/tests/unistr/test-u16-strnlen.c
+++ b/tests/unistr/test-u16-strnlen.c
@@ -1,5 +1,5 @@
/* Test of u16_strnlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-strstr.c b/tests/unistr/test-u16-strstr.c
index bbad6c61..4906a96f 100644
--- a/tests/unistr/test-u16-strstr.c
+++ b/tests/unistr/test-u16-strstr.c
@@ -1,5 +1,5 @@
/* Test of u16_strstr() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
#define UNIT uint16_t
#define U_STRSTR u16_strstr
+#define U_SET u16_set
#include "test-u-strstr.h"
int
diff --git a/tests/unistr/test-u16-strtok.c b/tests/unistr/test-u16-strtok.c
index e226393d..ef9ffbb5 100644
--- a/tests/unistr/test-u16-strtok.c
+++ b/tests/unistr/test-u16-strtok.c
@@ -1,5 +1,5 @@
/* Test of u16_strtok() function.
- Copyright (C) 2015-2022 Free Software Foundation, Inc.
+ Copyright (C) 2015-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-to-u32.c b/tests/unistr/test-u16-to-u32.c
index de19d5a6..5b340451 100644
--- a/tests/unistr/test-u16-to-u32.c
+++ b/tests/unistr/test-u16-to-u32.c
@@ -1,5 +1,5 @@
/* Test of u16_to_u32() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-to-u8.c b/tests/unistr/test-u16-to-u8.c
index acbad8ac..71b9a02e 100644
--- a/tests/unistr/test-u16-to-u8.c
+++ b/tests/unistr/test-u16-to-u8.c
@@ -1,5 +1,5 @@
/* Test of u16_to_u8() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u16-uctomb.c b/tests/unistr/test-u16-uctomb.c
index 3408cba3..14338d63 100644
--- a/tests/unistr/test-u16-uctomb.c
+++ b/tests/unistr/test-u16-uctomb.c
@@ -1,5 +1,5 @@
/* Test of u16_uctomb() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-check.c b/tests/unistr/test-u32-check.c
index 9b43b03e..fab64b23 100644
--- a/tests/unistr/test-u32-check.c
+++ b/tests/unistr/test-u32-check.c
@@ -1,5 +1,5 @@
/* Test of u32_check() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-chr.c b/tests/unistr/test-u32-chr.c
index 7cd3912d..474681ff 100644
--- a/tests/unistr/test-u32-chr.c
+++ b/tests/unistr/test-u32-chr.c
@@ -1,5 +1,5 @@
/* Test of u32_chr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-cmp.c b/tests/unistr/test-u32-cmp.c
index d76024a2..57579eda 100644
--- a/tests/unistr/test-u32-cmp.c
+++ b/tests/unistr/test-u32-cmp.c
@@ -1,5 +1,5 @@
/* Test of u32_cmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-cmp2.c b/tests/unistr/test-u32-cmp2.c
index b3d249da..0fbb8c0a 100644
--- a/tests/unistr/test-u32-cmp2.c
+++ b/tests/unistr/test-u32-cmp2.c
@@ -1,5 +1,5 @@
/* Test of u32_cmp2() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-cpy-alloc.c b/tests/unistr/test-u32-cpy-alloc.c
index f9123115..f3f9d106 100644
--- a/tests/unistr/test-u32-cpy-alloc.c
+++ b/tests/unistr/test-u32-cpy-alloc.c
@@ -1,5 +1,5 @@
/* Test of u32_cpy_alloc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-cpy.c b/tests/unistr/test-u32-cpy.c
index b4f8f90a..0ba5f8b4 100644
--- a/tests/unistr/test-u32-cpy.c
+++ b/tests/unistr/test-u32-cpy.c
@@ -1,5 +1,5 @@
/* Test of u32_cpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-mblen.c b/tests/unistr/test-u32-mblen.c
index 6cfb22a2..5e8e0e29 100644
--- a/tests/unistr/test-u32-mblen.c
+++ b/tests/unistr/test-u32-mblen.c
@@ -1,5 +1,5 @@
/* Test of u32_mblen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-mbsnlen.c b/tests/unistr/test-u32-mbsnlen.c
index 4ef6e316..e8f5c5da 100644
--- a/tests/unistr/test-u32-mbsnlen.c
+++ b/tests/unistr/test-u32-mbsnlen.c
@@ -1,5 +1,5 @@
/* Test of u32_mbsnlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-mbtouc-unsafe.c b/tests/unistr/test-u32-mbtouc-unsafe.c
index cfe0c4ca..111768db 100644
--- a/tests/unistr/test-u32-mbtouc-unsafe.c
+++ b/tests/unistr/test-u32-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Test of u32_mbtouc_unsafe() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-mbtouc.c b/tests/unistr/test-u32-mbtouc.c
index b45e61e2..0804d8e4 100644
--- a/tests/unistr/test-u32-mbtouc.c
+++ b/tests/unistr/test-u32-mbtouc.c
@@ -1,5 +1,5 @@
/* Test of u32_mbtouc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-mbtouc.h b/tests/unistr/test-u32-mbtouc.h
index 1b226a16..37e6342f 100644
--- a/tests/unistr/test-u32-mbtouc.h
+++ b/tests/unistr/test-u32-mbtouc.h
@@ -1,5 +1,5 @@
/* Test of u32_mbtouc() and u32_mbtouc_unsafe() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-mbtoucr.c b/tests/unistr/test-u32-mbtoucr.c
index 30c3ca29..7d74a87a 100644
--- a/tests/unistr/test-u32-mbtoucr.c
+++ b/tests/unistr/test-u32-mbtoucr.c
@@ -1,5 +1,5 @@
/* Test of u32_mbtoucr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-move.c b/tests/unistr/test-u32-move.c
index 26b730bd..82c9a379 100644
--- a/tests/unistr/test-u32-move.c
+++ b/tests/unistr/test-u32-move.c
@@ -1,5 +1,5 @@
/* Test of u32_move() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-next.c b/tests/unistr/test-u32-next.c
index 42103347..320d520e 100644
--- a/tests/unistr/test-u32-next.c
+++ b/tests/unistr/test-u32-next.c
@@ -1,5 +1,5 @@
/* Test of u32_next() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-pcpy.c b/tests/unistr/test-u32-pcpy.c
new file mode 100644
index 00000000..af77cc25
--- /dev/null
+++ b/tests/unistr/test-u32-pcpy.c
@@ -0,0 +1,28 @@
+/* Test of u32_pcpy() function.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+#include "unistr.h"
+
+#include "macros.h"
+
+#define UNIT uint32_t
+#define U_PCPY u32_pcpy
+#define MAGIC 0xBADFACE
+#include "test-pcpy.h"
diff --git a/tests/unistr/test-u32-prev.c b/tests/unistr/test-u32-prev.c
index 5dd61f27..7e648dd1 100644
--- a/tests/unistr/test-u32-prev.c
+++ b/tests/unistr/test-u32-prev.c
@@ -1,5 +1,5 @@
/* Test of u32_prev() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-set.c b/tests/unistr/test-u32-set.c
index 6551c9d5..99e644dc 100644
--- a/tests/unistr/test-u32-set.c
+++ b/tests/unistr/test-u32-set.c
@@ -1,5 +1,5 @@
/* Test of u32_set() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-stpcpy.c b/tests/unistr/test-u32-stpcpy.c
index 9bb5adfc..c6ac1751 100644
--- a/tests/unistr/test-u32-stpcpy.c
+++ b/tests/unistr/test-u32-stpcpy.c
@@ -1,5 +1,5 @@
/* Test of u32_stpcpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-stpncpy.c b/tests/unistr/test-u32-stpncpy.c
index 667fb221..a417fe0c 100644
--- a/tests/unistr/test-u32-stpncpy.c
+++ b/tests/unistr/test-u32-stpncpy.c
@@ -1,5 +1,5 @@
/* Test of u32_stpncpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strcat.c b/tests/unistr/test-u32-strcat.c
index cf6ed7fe..64e1b5cc 100644
--- a/tests/unistr/test-u32-strcat.c
+++ b/tests/unistr/test-u32-strcat.c
@@ -1,5 +1,5 @@
/* Test of u32_strcat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strchr.c b/tests/unistr/test-u32-strchr.c
index 1359e1a4..075d1d66 100644
--- a/tests/unistr/test-u32-strchr.c
+++ b/tests/unistr/test-u32-strchr.c
@@ -1,5 +1,5 @@
/* Test of u32_strchr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strcmp.c b/tests/unistr/test-u32-strcmp.c
index e59bb93e..71fd0b1e 100644
--- a/tests/unistr/test-u32-strcmp.c
+++ b/tests/unistr/test-u32-strcmp.c
@@ -1,5 +1,5 @@
/* Test of u32_strcmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strcmp.h b/tests/unistr/test-u32-strcmp.h
index d32b8e04..4b149103 100644
--- a/tests/unistr/test-u32-strcmp.h
+++ b/tests/unistr/test-u32-strcmp.h
@@ -1,5 +1,5 @@
/* Test of u32_strcmp() and u32_strcoll() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strcoll.c b/tests/unistr/test-u32-strcoll.c
index 73fa65ae..bd3180e1 100644
--- a/tests/unistr/test-u32-strcoll.c
+++ b/tests/unistr/test-u32-strcoll.c
@@ -1,5 +1,5 @@
/* Test of u32_strcoll() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strcpy.c b/tests/unistr/test-u32-strcpy.c
index caf5d4af..22a6e70e 100644
--- a/tests/unistr/test-u32-strcpy.c
+++ b/tests/unistr/test-u32-strcpy.c
@@ -1,5 +1,5 @@
/* Test of u32_strcpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strdup.c b/tests/unistr/test-u32-strdup.c
index 753e50c1..f81701fe 100644
--- a/tests/unistr/test-u32-strdup.c
+++ b/tests/unistr/test-u32-strdup.c
@@ -1,5 +1,5 @@
/* Test of u32_strdup() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strlen.c b/tests/unistr/test-u32-strlen.c
index 6eeb00c0..6186fbdb 100644
--- a/tests/unistr/test-u32-strlen.c
+++ b/tests/unistr/test-u32-strlen.c
@@ -1,5 +1,5 @@
/* Test of u32_strlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strmblen.c b/tests/unistr/test-u32-strmblen.c
index e1ced4e1..62a5a0b0 100644
--- a/tests/unistr/test-u32-strmblen.c
+++ b/tests/unistr/test-u32-strmblen.c
@@ -1,5 +1,5 @@
/* Test of u32_strmblen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strmbtouc.c b/tests/unistr/test-u32-strmbtouc.c
index 29f18316..19003098 100644
--- a/tests/unistr/test-u32-strmbtouc.c
+++ b/tests/unistr/test-u32-strmbtouc.c
@@ -1,5 +1,5 @@
/* Test of u32_strmbtouc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strncat.c b/tests/unistr/test-u32-strncat.c
index eac5119c..10b736d3 100644
--- a/tests/unistr/test-u32-strncat.c
+++ b/tests/unistr/test-u32-strncat.c
@@ -1,5 +1,5 @@
/* Test of u32_strncat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strncmp.c b/tests/unistr/test-u32-strncmp.c
index 33b8d69e..e304a595 100644
--- a/tests/unistr/test-u32-strncmp.c
+++ b/tests/unistr/test-u32-strncmp.c
@@ -1,5 +1,5 @@
/* Test of u32_strncmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strncpy.c b/tests/unistr/test-u32-strncpy.c
index d65074dd..e78f0b25 100644
--- a/tests/unistr/test-u32-strncpy.c
+++ b/tests/unistr/test-u32-strncpy.c
@@ -1,5 +1,5 @@
/* Test of u32_strncpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strnlen.c b/tests/unistr/test-u32-strnlen.c
index 8138efe6..31b69409 100644
--- a/tests/unistr/test-u32-strnlen.c
+++ b/tests/unistr/test-u32-strnlen.c
@@ -1,5 +1,5 @@
/* Test of u32_strnlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-strstr.c b/tests/unistr/test-u32-strstr.c
index 6d29a69d..21caa784 100644
--- a/tests/unistr/test-u32-strstr.c
+++ b/tests/unistr/test-u32-strstr.c
@@ -1,5 +1,5 @@
/* Test of u32_strstr() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
#define UNIT uint32_t
#define U_STRSTR u32_strstr
+#define U_SET u32_set
#include "test-u-strstr.h"
int
diff --git a/tests/unistr/test-u32-strtok.c b/tests/unistr/test-u32-strtok.c
index 442bc1a2..90aed3d6 100644
--- a/tests/unistr/test-u32-strtok.c
+++ b/tests/unistr/test-u32-strtok.c
@@ -1,5 +1,5 @@
/* Test of u32_strtok() function.
- Copyright (C) 2015-2022 Free Software Foundation, Inc.
+ Copyright (C) 2015-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-to-u16.c b/tests/unistr/test-u32-to-u16.c
index ac850089..fbf1a03a 100644
--- a/tests/unistr/test-u32-to-u16.c
+++ b/tests/unistr/test-u32-to-u16.c
@@ -1,5 +1,5 @@
/* Test of u32_to_u16() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-to-u8.c b/tests/unistr/test-u32-to-u8.c
index 1a02f795..83144921 100644
--- a/tests/unistr/test-u32-to-u8.c
+++ b/tests/unistr/test-u32-to-u8.c
@@ -1,5 +1,5 @@
/* Test of u32_to_u8() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u32-uctomb.c b/tests/unistr/test-u32-uctomb.c
index d3b1bb65..913398c8 100644
--- a/tests/unistr/test-u32-uctomb.c
+++ b/tests/unistr/test-u32-uctomb.c
@@ -1,5 +1,5 @@
/* Test of u32_uctomb() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-check.c b/tests/unistr/test-u8-check.c
index 8e361cc8..d05c0fcb 100644
--- a/tests/unistr/test-u8-check.c
+++ b/tests/unistr/test-u8-check.c
@@ -1,5 +1,5 @@
/* Test of u8_check() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-chr.c b/tests/unistr/test-u8-chr.c
index a0a46d95..c0827063 100644
--- a/tests/unistr/test-u8-chr.c
+++ b/tests/unistr/test-u8-chr.c
@@ -1,5 +1,5 @@
/* Test of u8_chr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-cmp.c b/tests/unistr/test-u8-cmp.c
index 528e691e..47b0f215 100644
--- a/tests/unistr/test-u8-cmp.c
+++ b/tests/unistr/test-u8-cmp.c
@@ -1,5 +1,5 @@
/* Test of u8_cmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-cmp2.c b/tests/unistr/test-u8-cmp2.c
index 9a3b99cf..b5063784 100644
--- a/tests/unistr/test-u8-cmp2.c
+++ b/tests/unistr/test-u8-cmp2.c
@@ -1,5 +1,5 @@
/* Test of u8_cmp2() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-cpy-alloc.c b/tests/unistr/test-u8-cpy-alloc.c
index 726148e8..d0e11542 100644
--- a/tests/unistr/test-u8-cpy-alloc.c
+++ b/tests/unistr/test-u8-cpy-alloc.c
@@ -1,5 +1,5 @@
/* Test of u8_cpy_alloc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-cpy.c b/tests/unistr/test-u8-cpy.c
index 58cc5f81..33987177 100644
--- a/tests/unistr/test-u8-cpy.c
+++ b/tests/unistr/test-u8-cpy.c
@@ -1,5 +1,5 @@
/* Test of u8_cpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-mblen.c b/tests/unistr/test-u8-mblen.c
index 54dbd4b5..69ac7e55 100644
--- a/tests/unistr/test-u8-mblen.c
+++ b/tests/unistr/test-u8-mblen.c
@@ -1,5 +1,5 @@
/* Test of u8_mblen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-mbsnlen.c b/tests/unistr/test-u8-mbsnlen.c
index 7b8f0292..ca31d856 100644
--- a/tests/unistr/test-u8-mbsnlen.c
+++ b/tests/unistr/test-u8-mbsnlen.c
@@ -1,5 +1,5 @@
/* Test of u8_mbsnlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -61,9 +61,18 @@ main ()
that a "malformed sequence" is interpreted in the same way as
"a character that is outside the adopted subset".
Reference:
+ ISO 10646-1 amendment 2
+ <https://www.cl.cam.ac.uk/~mgk25/ucs/ISO-10646-UTF-8.html>
Markus Kuhn: UTF-8 decoder capability and stress test
<https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt>
<https://www.w3.org/2001/06/utf-8-wrong/UTF-8-test.html>
+ These old specifications (from ca. 2000) were a bit ambiguous, and the
+ definition of UTF-8 has changed a bit as well. The newer specification
+ we obey is the Unicode Standard, version 15.
+ Reference:
+ Unicode Standard 15.0.0, section 3.9
+ <https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf>
+ pages 124..129, especially table 3-7.
*/
/* 3.1. Test that each unexpected continuation byte is signalled as a
malformed sequence of its own. */
@@ -97,9 +106,14 @@ main ()
}
/* 3.3.2. 3-byte sequence with last byte missing. */
{
- static const uint8_t input[] = { '"', 0xE0, 0x80, '"' };
+ static const uint8_t input[] = { '"', 0xE0, 0xA0, '"' };
ASSERT (u8_mbsnlen (input, 4) == 3);
}
+ {
+ /* Outdated example: 0xE0 0x80 is an ill-formed sequence. */
+ static const uint8_t input[] = { '"', 0xE0, 0x80, '"' };
+ ASSERT (u8_mbsnlen (input, 4) == 4);
+ }
/* 3.3.7. 3-byte sequence with last byte missing. */
{
static const uint8_t input[] = { '"', 0xEF, 0xBF, '"' };
@@ -107,14 +121,24 @@ main ()
}
/* 3.3.3. 4-byte sequence with last byte missing. */
{
- static const uint8_t input[] = { '"', 0xF0, 0x80, 0x80, '"' };
+ static const uint8_t input[] = { '"', 0xF0, 0x90, 0x80, '"' };
ASSERT (u8_mbsnlen (input, 5) == 3);
}
+ {
+ /* Outdated example: 0xF0 0x80 is an ill-formed sequence. */
+ static const uint8_t input[] = { '"', 0xF0, 0x80, 0x80, '"' };
+ ASSERT (u8_mbsnlen (input, 5) == 5);
+ }
/* 3.3.8. 4-byte sequence with last byte missing. */
{
- static const uint8_t input[] = { '"', 0xF7, 0xBF, 0xBF, '"' };
+ static const uint8_t input[] = { '"', 0xF3, 0xBF, 0xBF, '"' };
ASSERT (u8_mbsnlen (input, 5) == 3);
}
+ {
+ /* Outdated example: 0xF7 is an invalid first byte. */
+ static const uint8_t input[] = { '"', 0xF7, 0xBF, 0xBF, '"' };
+ ASSERT (u8_mbsnlen (input, 5) == 5);
+ }
return 0;
}
diff --git a/tests/unistr/test-u8-mbtouc-unsafe.c b/tests/unistr/test-u8-mbtouc-unsafe.c
index 1e29f8bc..8b471ea4 100644
--- a/tests/unistr/test-u8-mbtouc-unsafe.c
+++ b/tests/unistr/test-u8-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Test of u8_mbtouc_unsafe() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-mbtouc.c b/tests/unistr/test-u8-mbtouc.c
index 39bcaef9..c063c9ab 100644
--- a/tests/unistr/test-u8-mbtouc.c
+++ b/tests/unistr/test-u8-mbtouc.c
@@ -1,5 +1,5 @@
/* Test of u8_mbtouc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -34,9 +34,18 @@ test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *, size_t))
that a "malformed sequence" is interpreted in the same way as
"a character that is outside the adopted subset".
Reference:
+ ISO 10646-1 amendment 2
+ <https://www.cl.cam.ac.uk/~mgk25/ucs/ISO-10646-UTF-8.html>
Markus Kuhn: UTF-8 decoder capability and stress test
<https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt>
<https://www.w3.org/2001/06/utf-8-wrong/UTF-8-test.html>
+ These old specifications (from ca. 2000) were a bit ambiguous, and the
+ definition of UTF-8 has changed a bit as well. The newer specification
+ we obey is the Unicode Standard, version 15.
+ Reference:
+ Unicode Standard 15.0.0, section 3.9
+ <https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf>
+ pages 124..129, especially table 3-7.
*/
/* 3.1. Test that each unexpected continuation byte is signalled as a
malformed sequence of its own. */
@@ -118,7 +127,7 @@ test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *, size_t))
}
/* 3.3.2. 3-byte sequence with last byte missing. */
{
- static const uint8_t input[] = { '"', 0xE0, 0x80, '"' };
+ static const uint8_t input[] = { '"', 0xE0, 0xA0, '"' };
uc = 0xBADFACE;
ret = my_u8_mbtouc (&uc, input, 4);
ASSERT (ret == 1);
@@ -132,6 +141,26 @@ test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *, size_t))
ASSERT (ret == 1);
ASSERT (uc == 0x0022);
}
+ {
+ /* Outdated example: 0xE0 0x80 is an ill-formed sequence. */
+ static const uint8_t input[] = { '"', 0xE0, 0x80, '"' };
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input, 4);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0x0022);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 1, 3);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 2, 2);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 3, 1);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0x0022);
+ }
/* 3.3.7. 3-byte sequence with last byte missing. */
{
static const uint8_t input[] = { '"', 0xEF, 0xBF, '"' };
@@ -150,7 +179,7 @@ test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *, size_t))
}
/* 3.3.3. 4-byte sequence with last byte missing. */
{
- static const uint8_t input[] = { '"', 0xF0, 0x80, 0x80, '"' };
+ static const uint8_t input[] = { '"', 0xF0, 0x90, 0x80, '"' };
uc = 0xBADFACE;
ret = my_u8_mbtouc (&uc, input, 5);
ASSERT (ret == 1);
@@ -164,9 +193,33 @@ test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *, size_t))
ASSERT (ret == 1);
ASSERT (uc == 0x0022);
}
+ {
+ /* Outdated example: 0xF0 0x80 is an ill-formed sequence. */
+ static const uint8_t input[] = { '"', 0xF0, 0x80, 0x80, '"' };
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input, 5);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0x0022);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 1, 4);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 2, 3);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 3, 2);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 4, 1);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0x0022);
+ }
/* 3.3.8. 4-byte sequence with last byte missing. */
{
- static const uint8_t input[] = { '"', 0xF7, 0xBF, 0xBF, '"' };
+ static const uint8_t input[] = { '"', 0xF3, 0xBF, 0xBF, '"' };
uc = 0xBADFACE;
ret = my_u8_mbtouc (&uc, input, 5);
ASSERT (ret == 1);
@@ -180,6 +233,30 @@ test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *, size_t))
ASSERT (ret == 1);
ASSERT (uc == 0x0022);
}
+ {
+ /* Outdated example: 0xF7 is an invalid first byte. */
+ static const uint8_t input[] = { '"', 0xF7, 0xBF, 0xBF, '"' };
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input, 5);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0x0022);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 1, 4);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 2, 3);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 3, 2);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0xFFFD);
+ uc = 0xBADFACE;
+ ret = my_u8_mbtouc (&uc, input + 4, 1);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0x0022);
+ }
}
int
diff --git a/tests/unistr/test-u8-mbtouc.h b/tests/unistr/test-u8-mbtouc.h
index fcfe3df8..dfe70be3 100644
--- a/tests/unistr/test-u8-mbtouc.h
+++ b/tests/unistr/test-u8-mbtouc.h
@@ -1,5 +1,5 @@
/* Test of u8_mbtouc() and u8_mbtouc_unsafe() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-mbtoucr.c b/tests/unistr/test-u8-mbtoucr.c
index e6102603..6a4a74a2 100644
--- a/tests/unistr/test-u8-mbtoucr.c
+++ b/tests/unistr/test-u8-mbtoucr.c
@@ -1,5 +1,5 @@
/* Test of u8_mbtoucr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-move.c b/tests/unistr/test-u8-move.c
index baf074ec..a0c7ad79 100644
--- a/tests/unistr/test-u8-move.c
+++ b/tests/unistr/test-u8-move.c
@@ -1,5 +1,5 @@
/* Test of u8_move() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-next.c b/tests/unistr/test-u8-next.c
index e3e43121..cdc1f763 100644
--- a/tests/unistr/test-u8-next.c
+++ b/tests/unistr/test-u8-next.c
@@ -1,5 +1,5 @@
/* Test of u8_next() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-pcpy.c b/tests/unistr/test-u8-pcpy.c
new file mode 100644
index 00000000..dbd83ad5
--- /dev/null
+++ b/tests/unistr/test-u8-pcpy.c
@@ -0,0 +1,28 @@
+/* Test of u8_pcpy() function.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2023. */
+
+#include <config.h>
+
+#include "unistr.h"
+
+#include "macros.h"
+
+#define UNIT uint8_t
+#define U_PCPY u8_pcpy
+#define MAGIC 0xBA
+#include "test-pcpy.h"
diff --git a/tests/unistr/test-u8-prev.c b/tests/unistr/test-u8-prev.c
index 8b21ce29..5bbb5ce1 100644
--- a/tests/unistr/test-u8-prev.c
+++ b/tests/unistr/test-u8-prev.c
@@ -1,5 +1,5 @@
/* Test of u8_prev() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-set.c b/tests/unistr/test-u8-set.c
index 223a5127..d06e0e0b 100644
--- a/tests/unistr/test-u8-set.c
+++ b/tests/unistr/test-u8-set.c
@@ -1,5 +1,5 @@
/* Test of u8_set() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-stpcpy.c b/tests/unistr/test-u8-stpcpy.c
index daeb6ae9..6cdb850c 100644
--- a/tests/unistr/test-u8-stpcpy.c
+++ b/tests/unistr/test-u8-stpcpy.c
@@ -1,5 +1,5 @@
/* Test of u8_stpcpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-stpncpy.c b/tests/unistr/test-u8-stpncpy.c
index a7987c31..873b1abd 100644
--- a/tests/unistr/test-u8-stpncpy.c
+++ b/tests/unistr/test-u8-stpncpy.c
@@ -1,5 +1,5 @@
/* Test of u8_stpncpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strcat.c b/tests/unistr/test-u8-strcat.c
index 9dde531d..2a999f66 100644
--- a/tests/unistr/test-u8-strcat.c
+++ b/tests/unistr/test-u8-strcat.c
@@ -1,5 +1,5 @@
/* Test of u8_strcat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strchr.c b/tests/unistr/test-u8-strchr.c
index cfd40779..69e21a66 100644
--- a/tests/unistr/test-u8-strchr.c
+++ b/tests/unistr/test-u8-strchr.c
@@ -1,5 +1,5 @@
/* Test of u8_strchr() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strcmp.c b/tests/unistr/test-u8-strcmp.c
index 447c6162..a0d3d7fc 100644
--- a/tests/unistr/test-u8-strcmp.c
+++ b/tests/unistr/test-u8-strcmp.c
@@ -1,5 +1,5 @@
/* Test of u8_strcmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strcmp.h b/tests/unistr/test-u8-strcmp.h
index 7eaf2887..177d4bfc 100644
--- a/tests/unistr/test-u8-strcmp.h
+++ b/tests/unistr/test-u8-strcmp.h
@@ -1,5 +1,5 @@
/* Test of u8_strcmp() and u8_strcoll() functions.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strcoll.c b/tests/unistr/test-u8-strcoll.c
index 7949e1a6..b86ea403 100644
--- a/tests/unistr/test-u8-strcoll.c
+++ b/tests/unistr/test-u8-strcoll.c
@@ -1,5 +1,5 @@
/* Test of u8_strcoll() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strcpy.c b/tests/unistr/test-u8-strcpy.c
index dd9b40bf..9cf181b1 100644
--- a/tests/unistr/test-u8-strcpy.c
+++ b/tests/unistr/test-u8-strcpy.c
@@ -1,5 +1,5 @@
/* Test of u8_strcpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strdup.c b/tests/unistr/test-u8-strdup.c
index 84a35053..fdb76026 100644
--- a/tests/unistr/test-u8-strdup.c
+++ b/tests/unistr/test-u8-strdup.c
@@ -1,5 +1,5 @@
/* Test of u8_strdup() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strlen.c b/tests/unistr/test-u8-strlen.c
index 91a59663..a13a24fd 100644
--- a/tests/unistr/test-u8-strlen.c
+++ b/tests/unistr/test-u8-strlen.c
@@ -1,5 +1,5 @@
/* Test of u8_strlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strmblen.c b/tests/unistr/test-u8-strmblen.c
index 735dd905..2fdef5cf 100644
--- a/tests/unistr/test-u8-strmblen.c
+++ b/tests/unistr/test-u8-strmblen.c
@@ -1,5 +1,5 @@
/* Test of u8_strmblen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strmbtouc.c b/tests/unistr/test-u8-strmbtouc.c
index 74a96c1b..a9db79fa 100644
--- a/tests/unistr/test-u8-strmbtouc.c
+++ b/tests/unistr/test-u8-strmbtouc.c
@@ -1,5 +1,5 @@
/* Test of u8_strmbtouc() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strncat.c b/tests/unistr/test-u8-strncat.c
index d0c854c4..166952a2 100644
--- a/tests/unistr/test-u8-strncat.c
+++ b/tests/unistr/test-u8-strncat.c
@@ -1,5 +1,5 @@
/* Test of u8_strncat() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strncmp.c b/tests/unistr/test-u8-strncmp.c
index ada859ef..78aac0c9 100644
--- a/tests/unistr/test-u8-strncmp.c
+++ b/tests/unistr/test-u8-strncmp.c
@@ -1,5 +1,5 @@
/* Test of u8_strncmp() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strncpy.c b/tests/unistr/test-u8-strncpy.c
index 824b85df..22bb35a4 100644
--- a/tests/unistr/test-u8-strncpy.c
+++ b/tests/unistr/test-u8-strncpy.c
@@ -1,5 +1,5 @@
/* Test of u8_strncpy() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strnlen.c b/tests/unistr/test-u8-strnlen.c
index 1a740d0d..c409fc90 100644
--- a/tests/unistr/test-u8-strnlen.c
+++ b/tests/unistr/test-u8-strnlen.c
@@ -1,5 +1,5 @@
/* Test of u8_strnlen() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-strstr.c b/tests/unistr/test-u8-strstr.c
index b3610e46..791e1c97 100644
--- a/tests/unistr/test-u8-strstr.c
+++ b/tests/unistr/test-u8-strstr.c
@@ -1,5 +1,5 @@
/* Test of u8_strstr() function.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
#define UNIT uint8_t
#define U_STRSTR u8_strstr
+#define U_SET u8_set
#include "test-u-strstr.h"
int
diff --git a/tests/unistr/test-u8-strtok.c b/tests/unistr/test-u8-strtok.c
index 11c364e8..8d425c40 100644
--- a/tests/unistr/test-u8-strtok.c
+++ b/tests/unistr/test-u8-strtok.c
@@ -1,5 +1,5 @@
/* Test of u8_strtok() function.
- Copyright (C) 2015-2022 Free Software Foundation, Inc.
+ Copyright (C) 2015-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-to-u16.c b/tests/unistr/test-u8-to-u16.c
index 377cf38d..ec104ace 100644
--- a/tests/unistr/test-u8-to-u16.c
+++ b/tests/unistr/test-u8-to-u16.c
@@ -1,5 +1,5 @@
/* Test of u8_to_u16() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-to-u32.c b/tests/unistr/test-u8-to-u32.c
index 384c9dc9..5ab9752c 100644
--- a/tests/unistr/test-u8-to-u32.c
+++ b/tests/unistr/test-u8-to-u32.c
@@ -1,5 +1,5 @@
/* Test of u8_to_u32() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/unistr/test-u8-uctomb.c b/tests/unistr/test-u8-uctomb.c
index cf37cb9b..2948eb09 100644
--- a/tests/unistr/test-u8-uctomb.c
+++ b/tests/unistr/test-u8-uctomb.c
@@ -1,5 +1,5 @@
/* Test of u8_uctomb() function.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwbrk/WordBreakTest.txt b/tests/uniwbrk/WordBreakTest.txt
index 27f64bfe..e4a41120 100644
--- a/tests/uniwbrk/WordBreakTest.txt
+++ b/tests/uniwbrk/WordBreakTest.txt
@@ -1,6 +1,46 @@
-# WordBreakTest-15.0.0.txt
-# Date: 2022-02-26, 00:39:00 GMT
-# © 2022 Unicode®, Inc.
+# UNICODE LICENSE V3
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright © 1991-2024 Unicode, Inc.
+#
+# NOTICE TO USER: Carefully read the following legal agreement. BY
+# DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
+# SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+# TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
+# DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of data files and any associated documentation (the "Data Files") or
+# software and any associated documentation (the "Software") to deal in the
+# Data Files or Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, and/or sell
+# copies of the Data Files or Software, and to permit persons to whom the
+# Data Files or Software are furnished to do so, provided that either (a)
+# this copyright and permission notice appear with all copies of the Data
+# Files or Software, or (b) this copyright and permission notice appear in
+# associated Documentation.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+# THIRD PARTY RIGHTS.
+#
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+# BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
+# FILES OR SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder shall
+# not be used in advertising or otherwise to promote the sale, use or other
+# dealings in these Data Files or Software without prior written
+# authorization of the copyright holder.
+
+# WordBreakTest-15.1.0.txt
+# Date: 2023-03-31, 14:30:32 GMT
+# © 2023 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
@@ -1708,6 +1748,9 @@
÷ 0061 × 0308 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [0.3]
÷ 0020 × 200D ÷ 0646 ÷ # ÷ [0.2] SPACE (WSegSpace) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) ÷ [999.0] ARABIC LETTER NOON (ALetter) ÷ [0.3]
÷ 0646 × 200D ÷ 0020 ÷ # ÷ [0.2] ARABIC LETTER NOON (ALetter) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) ÷ [999.0] SPACE (WSegSpace) ÷ [0.3]
+÷ 0671 × 0644 × 0631 × 064E × 0651 × 062D × 0650 × 064A × 0645 × 0650 ÷ 0020 ÷ 06DD × 0661 ÷ # ÷ [0.2] ARABIC LETTER ALEF WASLA (ALetter) × [5.0] ARABIC LETTER LAM (ALetter) × [5.0] ARABIC LETTER REH (ALetter) × [4.0] ARABIC FATHA (Extend_FE) × [4.0] ARABIC SHADDA (Extend_FE) × [5.0] ARABIC LETTER HAH (ALetter) × [4.0] ARABIC KASRA (Extend_FE) × [5.0] ARABIC LETTER YEH (ALetter) × [5.0] ARABIC LETTER MEEM (ALetter) × [4.0] ARABIC KASRA (Extend_FE) ÷ [999.0] SPACE (WSegSpace) ÷ [999.0] ARABIC END OF AYAH (Numeric) × [8.0] ARABIC-INDIC DIGIT ONE (Numeric) ÷ [0.3]
+÷ 0721 × 0719 × 0721 × 0718 × 072A × 0710 ÷ 0020 ÷ 070F × 071D × 0717 ÷ # ÷ [0.2] SYRIAC LETTER MIM (ALetter) × [5.0] SYRIAC LETTER ZAIN (ALetter) × [5.0] SYRIAC LETTER MIM (ALetter) × [5.0] SYRIAC LETTER WAW (ALetter) × [5.0] SYRIAC LETTER RISH (ALetter) × [5.0] SYRIAC LETTER ALAPH (ALetter) ÷ [999.0] SPACE (WSegSpace) ÷ [999.0] SYRIAC ABBREVIATION MARK (ALetter) × [5.0] SYRIAC LETTER YUDH (ALetter) × [5.0] SYRIAC LETTER HE (ALetter) ÷ [0.3]
+÷ 072C × 070F × 072B × 0712 × 0718 ÷ # ÷ [0.2] SYRIAC LETTER TAW (ALetter) × [5.0] SYRIAC ABBREVIATION MARK (ALetter) × [5.0] SYRIAC LETTER SHIN (ALetter) × [5.0] SYRIAC LETTER BETH (ALetter) × [5.0] SYRIAC LETTER WAW (ALetter) ÷ [0.3]
÷ 0041 × 0041 × 0041 ÷ # ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
÷ 0041 × 003A × 0041 ÷ # ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [6.0] COLON (MidLetter) × [7.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
÷ 0041 ÷ 003A ÷ 003A ÷ 0041 ÷ # ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
@@ -1846,6 +1889,6 @@
÷ 0061 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
÷ 0061 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3]
#
-# Lines: 1823
+# Lines: 1826
#
# EOF
diff --git a/tests/uniwbrk/test-u16-wordbreaks.c b/tests/uniwbrk/test-u16-wordbreaks.c
index 8ee67f6d..002668c3 100644
--- a/tests/uniwbrk/test-u16-wordbreaks.c
+++ b/tests/uniwbrk/test-u16-wordbreaks.c
@@ -1,5 +1,5 @@
/* Test of word breaks in UTF-16 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwbrk/test-u32-wordbreaks.c b/tests/uniwbrk/test-u32-wordbreaks.c
index 57c37639..ac9c1e36 100644
--- a/tests/uniwbrk/test-u32-wordbreaks.c
+++ b/tests/uniwbrk/test-u32-wordbreaks.c
@@ -1,5 +1,5 @@
/* Test of word breaks in UTF-32 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwbrk/test-u8-wordbreaks.c b/tests/uniwbrk/test-u8-wordbreaks.c
index 74c546b0..2aaa0e92 100644
--- a/tests/uniwbrk/test-u8-wordbreaks.c
+++ b/tests/uniwbrk/test-u8-wordbreaks.c
@@ -1,5 +1,5 @@
/* Test of word breaks in UTF-8 strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwbrk/test-uc-wordbreaks.c b/tests/uniwbrk/test-uc-wordbreaks.c
index 3bf1ff58..8213446f 100644
--- a/tests/uniwbrk/test-uc-wordbreaks.c
+++ b/tests/uniwbrk/test-uc-wordbreaks.c
@@ -1,5 +1,5 @@
/* Word break function test, using test data from UCD.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/tests/uniwbrk/test-ulc-wordbreaks.c b/tests/uniwbrk/test-ulc-wordbreaks.c
index 6f3203fe..bb4b3343 100644
--- a/tests/uniwbrk/test-ulc-wordbreaks.c
+++ b/tests/uniwbrk/test-ulc-wordbreaks.c
@@ -1,5 +1,5 @@
/* Test of word breaks in strings.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-u16-strwidth.c b/tests/uniwidth/test-u16-strwidth.c
index a41d47c0..ecf7f178 100644
--- a/tests/uniwidth/test-u16-strwidth.c
+++ b/tests/uniwidth/test-u16-strwidth.c
@@ -1,5 +1,5 @@
/* Test of u16_strwidth() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-u16-width.c b/tests/uniwidth/test-u16-width.c
index c8dc1ad9..8b25ccf8 100644
--- a/tests/uniwidth/test-u16-width.c
+++ b/tests/uniwidth/test-u16-width.c
@@ -1,5 +1,5 @@
/* Test of u16_width() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-u32-strwidth.c b/tests/uniwidth/test-u32-strwidth.c
index 6e627a4b..e3f2d027 100644
--- a/tests/uniwidth/test-u32-strwidth.c
+++ b/tests/uniwidth/test-u32-strwidth.c
@@ -1,5 +1,5 @@
/* Test of u32_strwidth() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-u32-width.c b/tests/uniwidth/test-u32-width.c
index 4c92c852..caa35ca9 100644
--- a/tests/uniwidth/test-u32-width.c
+++ b/tests/uniwidth/test-u32-width.c
@@ -1,5 +1,5 @@
/* Test of u32_width() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-u8-strwidth.c b/tests/uniwidth/test-u8-strwidth.c
index 90fa4369..8f54953f 100644
--- a/tests/uniwidth/test-u8-strwidth.c
+++ b/tests/uniwidth/test-u8-strwidth.c
@@ -1,5 +1,5 @@
/* Test of u8_strwidth() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-u8-width.c b/tests/uniwidth/test-u8-width.c
index eb56bc00..75ce8e82 100644
--- a/tests/uniwidth/test-u8-width.c
+++ b/tests/uniwidth/test-u8-width.c
@@ -1,5 +1,5 @@
/* Test of u8_width() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-uc_width.c b/tests/uniwidth/test-uc_width.c
index 86389b26..5f0e793f 100644
--- a/tests/uniwidth/test-uc_width.c
+++ b/tests/uniwidth/test-uc_width.c
@@ -1,5 +1,5 @@
/* Test of uc_width() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-uc_width2.c b/tests/uniwidth/test-uc_width2.c
index d088cf39..a07a11f8 100644
--- a/tests/uniwidth/test-uc_width2.c
+++ b/tests/uniwidth/test-uc_width2.c
@@ -1,5 +1,5 @@
/* Test of uc_width() function.
- Copyright (C) 2007-2022 Free Software Foundation, Inc.
+ Copyright (C) 2007-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/uniwidth/test-uc_width2.sh b/tests/uniwidth/test-uc_width2.sh
index 2833aef1..c46b3d07 100755
--- a/tests/uniwidth/test-uc_width2.sh
+++ b/tests/uniwidth/test-uc_width2.sh
@@ -1,7 +1,7 @@
#!/bin/sh
tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
+trap 'rm -fr $tmpfiles' HUP INT QUIT TERM
tmpfiles="$tmpfiles uc_width.out"
${CHECKER} ./test-uc_width2${EXEEXT} | LC_ALL=C tr -d '\r' > uc_width.out
@@ -27,9 +27,7 @@ cat > uc_width.ok <<\EOF
05C4..05C5 0
05C6 A
05C7 0
-05C8..05FF A
-0600..0605 0
-0606..060F A
+05C8..060F A
0610..061A 0
061B A
061C 0
@@ -38,16 +36,14 @@ cat > uc_width.ok <<\EOF
0660..066F A
0670 0
0671..06D5 A
-06D6..06DD 0
-06DE A
+06D6..06DC 0
+06DD..06DE A
06DF..06E4 0
06E5..06E6 A
06E7..06E8 0
06E9 A
06EA..06ED 0
-06EE..070E A
-070F 0
-0710 A
+06EE..0710 A
0711 0
0712..072F A
0730..074A 0
@@ -67,12 +63,12 @@ cat > uc_width.ok <<\EOF
0829..082D 0
082E..0858 A
0859..085B 0
-085C..088F A
-0890..0891 0
-0892..0897 A
+085C..0897 A
0898..089F 0
08A0..08C9 A
-08CA..0902 0
+08CA..08E1 0
+08E2 A
+08E3..0902 0
0903..0939 A
093A 0
093B A
@@ -580,13 +576,9 @@ FFFC..101FC 1
110B3..110B6 0
110B7..110B8 1
110B9..110BA 0
-110BB..110BC 1
-110BD 0
-110BE..110C1 1
+110BB..110C1 1
110C2 0
-110C3..110CC 1
-110CD 0
-110CE..110FF 1
+110C3..110FF 1
11100..11102 0
11103..11126 1
11127..1112B 0
diff --git a/tests/unsetenv.c b/tests/unsetenv.c
index 07eac6fd..d8ada2aa 100644
--- a/tests/unsetenv.c
+++ b/tests/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2022 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/usleep.c b/tests/usleep.c
index e4289c4a..4d325016 100644
--- a/tests/usleep.c
+++ b/tests/usleep.c
@@ -1,5 +1,5 @@
/* Pausing execution of the current thread.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
Written by Eric Blake <ebb9@byu.net>, 2009.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/verify.h b/tests/verify.h
index 99af8029..08268c24 100644
--- a/tests/verify.h
+++ b/tests/verify.h
@@ -1,6 +1,6 @@
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -37,7 +37,7 @@
&& (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__)))
# define _GL_HAVE__STATIC_ASSERT 1
# endif
-# if (202000 <= __STDC_VERSION__ \
+# if (202311 <= __STDC_VERSION__ \
|| (!defined __STRICT_ANSI__ && 9 <= __GNUC__))
# define _GL_HAVE__STATIC_ASSERT1 1
# endif
@@ -188,9 +188,9 @@ template <int w>
_gl_verify_type<(R) ? 1 : -1>
#elif defined _GL_HAVE__STATIC_ASSERT
# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
- struct { \
- _Static_assert (R, DIAGNOSTIC); \
- int _gl_dummy; \
+ struct { \
+ _Static_assert (R, DIAGNOSTIC); \
+ int _gl_dummy; \
}
#else
# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
@@ -212,8 +212,8 @@ template <int w>
#elif defined _GL_HAVE__STATIC_ASSERT
# define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
#else
-# define _GL_VERIFY(R, DIAGNOSTIC, ...) \
- extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
+# define _GL_VERIFY(R, DIAGNOSTIC, ...) \
+ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
[_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
# if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
# pragma GCC diagnostic ignored "-Wnested-externs"
@@ -222,28 +222,57 @@ template <int w>
/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
#ifdef _GL_STATIC_ASSERT_H
-# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
-# define _Static_assert(R, ...) \
- _GL_VERIFY ((R), "static assertion failed", -)
+/* Define _Static_assert if needed. */
+/* With clang ≥ 3.8.0 in C++ mode, _Static_assert already works and accepts
+ 1 or 2 arguments. We better don't override it, because clang's standard
+ C++ library uses static_assert inside classes in several places, and our
+ replacement via _GL_VERIFY does not work in these contexts. */
+# if (defined __cplusplus && defined __clang__ \
+ && (4 <= __clang_major__ + (8 <= __clang_minor__)))
+# if 5 <= __clang_major__
+/* Avoid "warning: 'static_assert' with no message is a C++17 extension". */
+# pragma clang diagnostic ignored "-Wc++17-extensions"
+# else
+/* Avoid "warning: static_assert with no message is a C++1z extension". */
+# pragma clang diagnostic ignored "-Wc++1z-extensions"
+# endif
+# elif !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
+# if !defined _MSC_VER || defined __clang__
+# define _Static_assert(...) \
+ _GL_VERIFY (__VA_ARGS__, "static assertion failed", -)
+# else
+# if defined __cplusplus && _MSC_VER >= 1910
+ /* In MSVC 14.1 or newer, static_assert accepts one or two arguments,
+ but _Static_assert is not defined. */
+# define _Static_assert static_assert
+# else
+ /* Work around MSVC preprocessor incompatibility with ISO C; see
+ <https://stackoverflow.com/questions/5134523/>. */
+# define _Static_assert(R, ...) \
+ _GL_VERIFY ((R), "static assertion failed", -)
+# endif
+# endif
# endif
+/* Define static_assert if needed. */
# if (!defined static_assert \
&& __STDC_VERSION__ < 202311 \
&& (!defined __cplusplus \
|| (__cpp_static_assert < 201411 \
- && __GNUG__ < 6 && __clang_major__ < 6)))
+ && __GNUG__ < 6 && __clang_major__ < 6 && _MSC_VER < 1910)))
# if defined __cplusplus && _MSC_VER >= 1900 && !defined __clang__
/* MSVC 14 in C++ mode supports the two-arguments static_assert but not
the one-argument static_assert, and it does not support _Static_assert.
We have to play preprocessor tricks to distinguish the two cases.
- Since the MSVC preprocessor is not ISO C compliant (cf.
- <https://stackoverflow.com/questions/5134523/>), the solution is specific
- to MSVC. */
+ Since the MSVC preprocessor is not ISO C compliant (see above),.
+ the solution is specific to MSVC. */
# define _GL_EXPAND(x) x
# define _GL_SA1(a1) static_assert ((a1), "static assertion failed")
# define _GL_SA2 static_assert
# define _GL_SA3 static_assert
# define _GL_SA_PICK(x1,x2,x3,x4,...) x4
# define static_assert(...) _GL_EXPAND(_GL_SA_PICK(__VA_ARGS__,_GL_SA3,_GL_SA2,_GL_SA1)) (__VA_ARGS__)
+/* Avoid "fatal error C1189: #error: The C++ Standard Library forbids macroizing keywords." */
+# define _ALLOW_KEYWORD_MACROS 1
# else
# define static_assert _Static_assert /* C11 requires this #define. */
# endif
@@ -252,7 +281,9 @@ template <int w>
/* @assert.h omit start@ */
-#if 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
+#if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_TRAP 0
+#elif 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
# define _GL_HAS_BUILTIN_TRAP 1
#elif defined __has_builtin
# define _GL_HAS_BUILTIN_TRAP __has_builtin (__builtin_trap)
@@ -260,12 +291,16 @@ template <int w>
# define _GL_HAS_BUILTIN_TRAP 0
#endif
-#if 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
-# define _GL_HAS_BUILTIN_UNREACHABLE 1
-#elif defined __has_builtin
-# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
-#else
-# define _GL_HAS_BUILTIN_UNREACHABLE 0
+#ifndef _GL_HAS_BUILTIN_UNREACHABLE
+# if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+# define _GL_HAS_BUILTIN_UNREACHABLE 1
+# elif defined __has_builtin
+# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+# else
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+# endif
#endif
/* Each of these macros verifies that its argument R is nonzero. To
diff --git a/tests/w32sock.h b/tests/w32sock.h
index 17db3f12..166a5f77 100644
--- a/tests/w32sock.h
+++ b/tests/w32sock.h
@@ -1,6 +1,6 @@
/* w32sock.h --- internal auxiliary functions for Windows socket functions
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/warn-on-use.h b/tests/warn-on-use.h
index 94f5b920..701013a0 100644
--- a/tests/warn-on-use.h
+++ b/tests/warn-on-use.h
@@ -1,5 +1,5 @@
/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2010-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -32,6 +32,10 @@
_GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
linkage.
+ _GL_WARN_ON_USE should not be used more than once for a given function
+ in a given compilation unit (because this may generate a warning even
+ if the function is never called).
+
However, one of the reasons that a function is a portability trap is
if it has the wrong signature. Declaring FUNCTION with a different
signature in C is a compilation error, so this macro must use the
diff --git a/tests/wcrtomb.c b/tests/wcrtomb.c
index e14d8022..197b020e 100644
--- a/tests/wcrtomb.c
+++ b/tests/wcrtomb.c
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@ wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
#undef wcrtomb
{
/* This implementation of wcrtomb supports only stateless encodings.
- ps must be in the initial state. */
+ ps must be in an initial state. */
if (ps != NULL && !mbsinit (ps))
{
errno = EINVAL;
diff --git a/tests/wctob.c b/tests/wctob.c
index 806d0fca..e1f27404 100644
--- a/tests/wctob.c
+++ b/tests/wctob.c
@@ -1,5 +1,5 @@
/* Convert wide character to unibyte character.
- Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/wctomb-impl.h b/tests/wctomb-impl.h
index 7a0995a0..ccec9ce0 100644
--- a/tests/wctomb-impl.h
+++ b/tests/wctomb-impl.h
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
@@ -25,7 +25,7 @@ wctomb (char *s, wchar_t wc)
mbstate_t state;
size_t result;
- memset (&state, 0, sizeof (mbstate_t));
+ mbszero (&state);
result = wcrtomb (s, wc, &state);
if (result == (size_t)-1)
return -1;
diff --git a/tests/wctomb.c b/tests/wctomb.c
index bbaf2e0e..694c95ca 100644
--- a/tests/wctomb.c
+++ b/tests/wctomb.c
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2011-2022 Free Software Foundation, Inc.
+ Copyright (C) 2011-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This file is free software: you can redistribute it and/or modify
diff --git a/tests/windows-thread.c b/tests/windows-thread.c
index 5ae1e144..6a47a31f 100644
--- a/tests/windows-thread.c
+++ b/tests/windows-thread.c
@@ -1,5 +1,5 @@
/* Creating and controlling threads (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/windows-thread.h b/tests/windows-thread.h
index 76069771..154bdfae 100644
--- a/tests/windows-thread.h
+++ b/tests/windows-thread.h
@@ -1,5 +1,5 @@
/* Creating and controlling threads (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -20,6 +20,11 @@
#ifndef _WINDOWS_THREAD_H
#define _WINDOWS_THREAD_H
+/* This file uses _Noreturn. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#define WIN32_LEAN_AND_MEAN /* avoid including junk */
#include <windows.h>
diff --git a/tests/windows-tls.c b/tests/windows-tls.c
index b24a7d55..6b73074d 100644
--- a/tests/windows-tls.c
+++ b/tests/windows-tls.c
@@ -1,5 +1,5 @@
/* Thread-local storage (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/windows-tls.h b/tests/windows-tls.h
index 0d2de560..d9393fe9 100644
--- a/tests/windows-tls.h
+++ b/tests/windows-tls.h
@@ -1,5 +1,5 @@
/* Thread-local storage (native Windows implementation).
- Copyright (C) 2005-2022 Free Software Foundation, Inc.
+ Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tests/xalloc-die.c b/tests/xalloc-die.c
index 5b947f10..c053c7a8 100644
--- a/tests/xalloc-die.c
+++ b/tests/xalloc-die.c
@@ -1,6 +1,6 @@
/* Report a memory allocation failure and exit.
- Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2022 Free Software
+ Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2024 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -22,7 +22,7 @@
#include <stdlib.h>
-#include "error.h"
+#include <error.h>
#include "exitfail.h"
#include "gettext.h"
diff --git a/tests/xalloc.h b/tests/xalloc.h
index 01a9eec8..75a5db30 100644
--- a/tests/xalloc.h
+++ b/tests/xalloc.h
@@ -1,6 +1,6 @@
/* xalloc.h -- malloc with out-of-memory checking
- Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2003-2004, 2006-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -18,6 +18,13 @@
#ifndef XALLOC_H_
#define XALLOC_H_
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _Noreturn,
+ _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_MALLOC,
+ _GL_ATTRIBUTE_RETURNS_NONNULL. */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
#include <stddef.h>
#include <stdlib.h>
@@ -25,9 +32,6 @@
# include "idx.h"
#endif
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
_GL_INLINE_HEADER_BEGIN
#ifndef XALLOC_INLINE
# define XALLOC_INLINE _GL_INLINE
@@ -46,7 +50,7 @@ extern "C" {
or by using gnulib's xalloc-die module. This is the
function to call when one wants the program to die because of a
memory allocation failure. */
-/*extern*/ _Noreturn void xalloc_die (void);
+_Noreturn void xalloc_die (void);
#endif /* GNULIB_XALLOC_DIE */
diff --git a/tests/xmalloc.c b/tests/xmalloc.c
index 84cdf1f2..82e54ef1 100644
--- a/tests/xmalloc.c
+++ b/tests/xmalloc.c
@@ -1,6 +1,6 @@
/* xmalloc.c -- malloc with out of memory checking
- Copyright (C) 1990-2000, 2002-2006, 2008-2022 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2002-2006, 2008-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/zerosize-ptr.h b/tests/zerosize-ptr.h
index 990b51cf..90ab26f9 100644
--- a/tests/zerosize-ptr.h
+++ b/tests/zerosize-ptr.h
@@ -1,5 +1,5 @@
/* Return a pointer to a zero-size object in memory.
- Copyright (C) 2009-2022 Free Software Foundation, Inc.
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/version.sh b/version.sh
index 8c26d198..40baf556 100644
--- a/version.sh
+++ b/version.sh
@@ -1,6 +1,6 @@
# Version number and release date.
-VERSION_NUMBER=1.1
-RELEASE_DATE=2022-10-16 # in "date +%Y-%m-%d" format
+VERSION_NUMBER=1.2
+RELEASE_DATE=2024-02-24 # in "date +%Y-%m-%d" format
# Version of gnulib that was used in this release.
-GNULIB_GIT_COMMIT=2118e7cf12997850652002b3af3c44511c98f4bc
+GNULIB_GIT_COMMIT=5828723e285945975dbb3d2e89cd8854d5b7a075
diff --git a/woe32dll/export.h b/woe32dll/export.h
index b17d9d3d..999b21b8 100644
--- a/woe32dll/export.h
+++ b/woe32dll/export.h
@@ -1,5 +1,5 @@
-/* Exporting symbols from Cygwin shared libraries.
- Copyright (C) 2006, 2011-2020 Free Software Foundation, Inc.
+/* Exporting symbols from Windows shared libraries.
+ Copyright (C) 2006, 2011-2023 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or
@@ -24,7 +24,7 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-/* There are four ways to build shared libraries on Cygwin:
+/* There are four ways to build shared libraries on Windows:
- Export only functions, no variables.
This has the drawback of severely affecting the programming style in use.
@@ -62,13 +62,13 @@
2. the library sources are contained in one directory, making it easy
to define a -DBUILDING_LIBXYZ flag for the library.
Example:
- #ifdef BUILDING_LIBASPRINTF
- #define LIBASPRINTF_DLL_EXPORTED __declspec(dllexport)
+ #ifdef BUILDING_LIBICONV
+ #define LIBICONV_SHLIB_EXPORTED __declspec(dllexport)
#else
- #define LIBASPRINTF_DLL_EXPORTED __declspec(dllimport)
+ #define LIBICONV_SHLIB_EXPORTED __declspec(dllimport)
#endif
- We use this technique for the libintl and the libasprintf libraries.
+ We use this technique for the libintl and the libiconv libraries.
- Define a macro that expands to __declspec(dllimport) always, and use
it in all header files of the library. Use an explicit export list for
diff --git a/woe32dll/unistring-exports.c b/woe32dll/unistring-exports.c
index b7feb5d8..50d5b4b6 100644
--- a/woe32dll/unistring-exports.c
+++ b/woe32dll/unistring-exports.c
@@ -1,5 +1,5 @@
/* List of exported symbols of libunistring on Cygwin.
- Copyright (C) 2006-2022 Free Software Foundation, Inc.
+ Copyright (C) 2006-2024 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or
@@ -34,6 +34,7 @@ VARIABLE(UC_CATEGORY_Cn)
VARIABLE(UC_CATEGORY_Co)
VARIABLE(UC_CATEGORY_Cs)
VARIABLE(UC_CATEGORY_L)
+VARIABLE(UC_CATEGORY_LC)
VARIABLE(UC_CATEGORY_Ll)
VARIABLE(UC_CATEGORY_Lm)
VARIABLE(UC_CATEGORY_Lo)
@@ -83,6 +84,13 @@ VARIABLE(UC_PROPERTY_BIDI_OTHER_NEUTRAL)
VARIABLE(UC_PROPERTY_BIDI_PDF)
VARIABLE(UC_PROPERTY_BIDI_SEGMENT_SEPARATOR)
VARIABLE(UC_PROPERTY_BIDI_WHITESPACE)
+VARIABLE(UC_PROPERTY_CASED)
+VARIABLE(UC_PROPERTY_CASE_IGNORABLE)
+VARIABLE(UC_PROPERTY_CHANGES_WHEN_CASEFOLDED)
+VARIABLE(UC_PROPERTY_CHANGES_WHEN_CASEMAPPED)
+VARIABLE(UC_PROPERTY_CHANGES_WHEN_LOWERCASED)
+VARIABLE(UC_PROPERTY_CHANGES_WHEN_TITLECASED)
+VARIABLE(UC_PROPERTY_CHANGES_WHEN_UPPERCASED)
VARIABLE(UC_PROPERTY_COMBINING)
VARIABLE(UC_PROPERTY_COMPOSITE)
VARIABLE(UC_PROPERTY_CURRENCY_SYMBOL)
@@ -158,5 +166,7 @@ VARIABLE(uninorm_nfkd)
/* Variables declared in unicase.h */
VARIABLE(unicase_empty_prefix_context)
VARIABLE(unicase_empty_suffix_context)
+/* Variables declared in unimetadata.h */
+VARIABLE(_libunistring_unicode_version)
/* Variables declared in unistring/version.h */
VARIABLE(_libunistring_version)